From f24858d16223271e3169071d78a9acb7b6dc06ec Mon Sep 17 00:00:00 2001 From: Aaron Fischer Date: Sun, 3 Feb 2019 16:12:19 +0100 Subject: [PATCH] Move all dependencies to the repository This step seems bold, but is saves us so much hassle. Even better, we have a reliable codebase, with all the dependencies (and their versions) we need in order to build the project. If a library got an update, we can replace it inplace if the code is still compatible. --- firmware/config.h | 3 +- firmware/firmware.ino | 31 +- firmware/influxdb.ino | 1 - .../Adafruit_APDS9960.cpp | 577 + .../Adafruit_APDS9960.h | 558 + .../examples/color_sensor/color_sensor.ino | 59 + .../gesture_sensor/gesture_sensor.ino | 47 + .../proximity_sensor/proximity_sensor.ino | 56 + .../library.properties | 9 + .../Adafruit_BME280.cpp | 530 + .../Adafruit_BME280_Library/Adafruit_BME280.h | 300 + .../Adafruit_BME280_Library/README.md | 59 + .../advancedsettings/advancedsettings.ino | 157 + .../examples/bme280test/bme280test.ino | 82 + .../library.properties | 9 + .../Adafruit_Unified_Sensor/Adafruit_Sensor.h | 154 + .../Adafruit_Unified_Sensor/README.md | 218 + .../library.properties | 9 + .../ESP8266Influxdb/ESP8266Influxdb.cpp | 176 + .../ESP8266Influxdb/ESP8266Influxdb.h | 72 + firmware/libraries/ESP8266Influxdb/README.md | 1 + .../influxdb_write/influxdb_write.ino | 63 + .../libraries/ESP8266Influxdb/keywords.txt | 24 + firmware/libraries/WiFi/README.adoc | 27 + .../ConnectNoEncryption.ino | 127 + .../ConnectWithWEP/ConnectWithWEP.ino | 132 + .../ConnectWithWPA/ConnectWithWPA.ino | 122 + .../examples/ScanNetworks/ScanNetworks.ino | 119 + .../SimpleWebServerWiFi.ino | 132 + .../WiFiChatServer/WiFiChatServer.ino | 117 + .../WiFiUdpNtpClient/WiFiUdpNtpClient.ino | 182 + .../WiFiUdpSendReceiveString.ino | 118 + .../examples/WiFiWebClient/WiFiWebClient.ino | 126 + .../WiFiWebClientRepeating.ino | 131 + .../examples/WiFiWebServer/WiFiWebServer.ino | 138 + .../libraries/WiFi/extras/binary/wifiHD.elf | Bin 0 -> 724331 bytes .../libraries/WiFi/extras/binary/wifiHD.hex | 16358 +++++++++++++ .../WiFi/extras/binary/wifiHD_2_1.elf | Bin 0 -> 1308530 bytes .../WiFi/extras/binary/wifi_dnld.elf | Bin 0 -> 182489 bytes .../WiFi/extras/binary/wifi_dnld.hex | 10470 +++++++++ .../WiFi/extras/binary/wifi_dnld_2_1.elf | Bin 0 -> 182264 bytes .../scripts/ArduinoWifiShield_upgrade.sh | 121 + .../libraries/WiFi/extras/wifiHD/.cproject | 4045 ++++ .../libraries/WiFi/extras/wifiHD/.project | 77 + .../WiFi/extras/wifiHD/Release/wifiHD.elf | Bin 0 -> 724331 bytes .../WiFi/extras/wifiHD/Release/wifiHD.hex | 16358 +++++++++++++ .../extras/wifiHD/src/CONFIG/conf_access.h | 170 + .../extras/wifiHD/src/CONFIG/conf_at45dbx.h | 83 + .../WiFi/extras/wifiHD/src/CONFIG/conf_ebi.h | 108 + .../wifiHD/src/CONFIG/conf_sd_mmc_spi.h | 73 + .../src/SOFTWARE_FRAMEWORK/ASM/trampoline.x | 74 + .../BOARDS/ARDUINO/arduino.h | 237 + .../SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c | 346 + .../SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h | 191 + .../BOARDS/EVK1105/evk1105.h | 433 + .../SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c | 346 + .../SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h | 187 + .../src/SOFTWARE_FRAMEWORK/BOARDS/board.h | 120 + .../src/SOFTWARE_FRAMEWORK/BOARDS/board.h.my | 120 + .../MEMORY/DATA_FLASH/AT45DBX/at45dbx.c | 653 + .../MEMORY/DATA_FLASH/AT45DBX/at45dbx.h | 270 + .../MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c | 234 + .../MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h | 164 + .../v2.7.0/UCR1/GCC/lib_ucr1_hd_sdio_v2.7.0.a | Bin 0 -> 11978 bytes .../v2.7.0/UCR1/GCC/lib_ucr1_hd_spi_v2.7.0.a | Bin 0 -> 13134 bytes .../GCC/lib_ucr1_hd_wl_sta_intwpa_v2.7.0.a | Bin 0 -> 1007102 bytes .../v2.7.0/UCR2/GCC/lib_ucr2_hd_sdio_v2.7.0.a | Bin 0 -> 11946 bytes .../v2.7.0/UCR2/GCC/lib_ucr2_hd_spi_v2.7.0.a | Bin 0 -> 13110 bytes .../GCC/lib_ucr2_hd_wl_sta_intwpa_v2.7.0.a | Bin 0 -> 1004426 bytes .../COMPONENTS/WIFI/HD/v2.7.0/revision.txt | 1 + .../COMPONENTS/WIFI/HD/wl_api.h | 1687 ++ .../COMPONENTS/WIFI/HD/wl_fw.h | 19287 ++++++++++++++++ .../COMPONENTS/WIFI/HD/wl_os.h | 35 + .../COMPONENTS/WIFI/HD/wl_sdio.h | 172 + .../COMPONENTS/WIFI/HD/wl_spi.h | 185 + .../COMPONENTS/WIFI/HD/wlap_api.h | 154 + .../DRIVERS/CPU/CYCLE_COUNTER/cycle_counter.h | 309 + .../SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.c | 995 + .../SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.h | 68 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.c | 183 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.h | 275 + .../DRIVERS/FLASHC/flashc.c | 1117 + .../DRIVERS/FLASHC/flashc.h | 1002 + .../SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c | 458 + .../SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h | 583 + .../DRIVERS/INTC/exception.x | 239 + .../SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c | 214 + .../SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h | 100 + .../SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.c | 296 + .../SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.h | 251 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c | 546 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h | 493 + .../DRIVERS/PM/pm_conf_clocks.c | 268 + .../DRIVERS/PM/power_clocks_lib.c | 566 + .../DRIVERS/PM/power_clocks_lib.h | 379 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.c | 213 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.h | 191 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c | 443 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h | 342 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.c | 314 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.h | 591 + .../SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c | 914 + .../SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h | 889 + .../SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.c | 87 + .../SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.h | 80 + .../SERVICES/LWIP/lwip-1.3.2/src/core/dhcp.c | 1724 ++ .../SERVICES/LWIP/lwip-1.3.2/src/core/dns.c | 982 + .../SERVICES/LWIP/lwip-1.3.2/src/core/init.c | 276 + .../LWIP/lwip-1.3.2/src/core/ipv4/autoip.c | 499 + .../LWIP/lwip-1.3.2/src/core/ipv4/icmp.c | 333 + .../LWIP/lwip-1.3.2/src/core/ipv4/igmp.c | 759 + .../LWIP/lwip-1.3.2/src/core/ipv4/inet.c | 280 + .../lwip-1.3.2/src/core/ipv4/inet_chksum.c | 440 + .../LWIP/lwip-1.3.2/src/core/ipv4/ip.c | 725 + .../LWIP/lwip-1.3.2/src/core/ipv4/ip_addr.c | 86 + .../LWIP/lwip-1.3.2/src/core/ipv4/ip_frag.c | 794 + .../SERVICES/LWIP/lwip-1.3.2/src/core/mem.c | 635 + .../SERVICES/LWIP/lwip-1.3.2/src/core/memp.c | 388 + .../SERVICES/LWIP/lwip-1.3.2/src/core/netif.c | 683 + .../SERVICES/LWIP/lwip-1.3.2/src/core/pbuf.c | 931 + .../SERVICES/LWIP/lwip-1.3.2/src/core/raw.c | 355 + .../SERVICES/LWIP/lwip-1.3.2/src/core/stats.c | 151 + .../SERVICES/LWIP/lwip-1.3.2/src/core/tcp.c | 1463 ++ .../LWIP/lwip-1.3.2/src/core/tcp_in.c | 1508 ++ .../LWIP/lwip-1.3.2/src/core/tcp_out.c | 1071 + .../SERVICES/LWIP/lwip-1.3.2/src/core/udp.c | 843 + .../lwip-1.3.2/src/include/ipv4/lwip/autoip.h | 118 + .../lwip-1.3.2/src/include/ipv4/lwip/icmp.h | 113 + .../lwip-1.3.2/src/include/ipv4/lwip/igmp.h | 164 + .../lwip-1.3.2/src/include/ipv4/lwip/inet.h | 105 + .../src/include/ipv4/lwip/inet_chksum.h | 62 + .../lwip-1.3.2/src/include/ipv4/lwip/ip.h | 200 + .../src/include/ipv4/lwip/ip_addr.h | 175 + .../src/include/ipv4/lwip/ip_frag.h | 78 + .../LWIP/lwip-1.3.2/src/include/lwip/api.h | 224 + .../lwip-1.3.2/src/include/lwip/api_msg.h | 164 + .../LWIP/lwip-1.3.2/src/include/lwip/arch.h | 235 + .../LWIP/lwip-1.3.2/src/include/lwip/debug.h | 100 + .../LWIP/lwip-1.3.2/src/include/lwip/def.h | 49 + .../LWIP/lwip-1.3.2/src/include/lwip/dhcp.h | 248 + .../LWIP/lwip-1.3.2/src/include/lwip/dns.h | 99 + .../LWIP/lwip-1.3.2/src/include/lwip/err.h | 89 + .../LWIP/lwip-1.3.2/src/include/lwip/init.h | 74 + .../LWIP/lwip-1.3.2/src/include/lwip/mem.h | 109 + .../LWIP/lwip-1.3.2/src/include/lwip/memp.h | 118 + .../lwip-1.3.2/src/include/lwip/memp_std.h | 104 + .../LWIP/lwip-1.3.2/src/include/lwip/netbuf.h | 88 + .../LWIP/lwip-1.3.2/src/include/lwip/netdb.h | 113 + .../LWIP/lwip-1.3.2/src/include/lwip/netif.h | 265 + .../lwip-1.3.2/src/include/lwip/netifapi.h | 107 + .../LWIP/lwip-1.3.2/src/include/lwip/opt.h | 1842 ++ .../LWIP/lwip-1.3.2/src/include/lwip/pbuf.h | 122 + .../LWIP/lwip-1.3.2/src/include/lwip/raw.h | 99 + .../LWIP/lwip-1.3.2/src/include/lwip/sio.h | 143 + .../LWIP/lwip-1.3.2/src/include/lwip/snmp.h | 366 + .../lwip-1.3.2/src/include/lwip/snmp_asn1.h | 103 + .../lwip-1.3.2/src/include/lwip/snmp_msg.h | 313 + .../src/include/lwip/snmp_structs.h | 264 + .../lwip-1.3.2/src/include/lwip/sockets.h | 359 + .../LWIP/lwip-1.3.2/src/include/lwip/stats.h | 285 + .../LWIP/lwip-1.3.2/src/include/lwip/sys.h | 245 + .../LWIP/lwip-1.3.2/src/include/lwip/tcp.h | 709 + .../LWIP/lwip-1.3.2/src/include/lwip/tcpip.h | 143 + .../LWIP/lwip-1.3.2/src/include/lwip/udp.h | 155 + .../lwip-1.3.2/src/include/netif/etharp.h | 194 + .../lwip-1.3.2/src/include/netif/loopif.h | 55 + .../lwip-1.3.2/src/include/netif/ppp_oe.h | 163 + .../lwip-1.3.2/src/include/netif/slipif.h | 53 + .../LWIP/lwip-1.3.2/src/netif/etharp.c | 1224 + .../LWIP/lwip-1.3.2/src/netif/loopif.c | 68 + .../lwip-port-1.3.2/HD/if/include/arch/cc.h | 79 + .../lwip-port-1.3.2/HD/if/include/arch/perf.h | 7 + .../lwip-port-1.3.2/HD/if/include/lwipopts.h | 426 + .../HD/if/include/netif/wlif.h | 10 + .../LWIP/lwip-port-1.3.2/HD/if/netif/wlif.c | 386 + .../LWIP/lwip-port-1.3.2/HD/readme.txt | 1 + .../SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c | 571 + .../SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h | 369 + .../SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c | 133 + .../SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h | 116 + .../UTILS/DEBUG/print_funcs.c | 215 + .../UTILS/DEBUG/print_funcs.h | 294 + .../LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h | 63 + .../NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h | 120 + .../NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h | 82 + .../LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h | 174 + .../LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h | 208 + .../libnewlib_addons-at32ucr2-speed_opt.a | Bin 0 -> 25540 bytes .../AT32UC3A/0512/GCC/link_uc3a0512.lds | 266 + .../AT32UC3A/1256/GCC/link_uc3a1256.lds | 266 + .../UTILS/PREPROCESSOR/mrepeat.h | 328 + .../UTILS/PREPROCESSOR/preprocessor.h | 55 + .../UTILS/PREPROCESSOR/stringz.h | 75 + .../UTILS/PREPROCESSOR/tpaste.h | 95 + .../UTILS/STARTUP_FILES/GCC/crt0.x | 121 + .../src/SOFTWARE_FRAMEWORK/UTILS/compiler.h | 1145 + .../src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h | 136 + .../src/SOFTWARE_FRAMEWORK/UTILS/parts.h | 203 + .../WiFi/extras/wifiHD/src/ard_spi.c | 1969 ++ .../WiFi/extras/wifiHD/src/ard_spi.h | 88 + .../WiFi/extras/wifiHD/src/ard_tcp.c | 987 + .../WiFi/extras/wifiHD/src/ard_tcp.h | 124 + .../WiFi/extras/wifiHD/src/ard_utils.c | 347 + .../WiFi/extras/wifiHD/src/ard_utils.h | 295 + .../WiFi/extras/wifiHD/src/avr32_spi.c | 394 + .../WiFi/extras/wifiHD/src/board_init.c | 297 + .../WiFi/extras/wifiHD/src/board_init.h | 313 + .../libraries/WiFi/extras/wifiHD/src/cmd_wl.c | 731 + .../libraries/WiFi/extras/wifiHD/src/cmd_wl.h | 66 + .../WiFi/extras/wifiHD/src/console.c | 212 + .../WiFi/extras/wifiHD/src/console.h | 46 + .../libraries/WiFi/extras/wifiHD/src/debug.h | 191 + .../WiFi/extras/wifiHD/src/fw_download.h | 38 + .../extras/wifiHD/src/fw_download_extflash.c | 82 + .../WiFi/extras/wifiHD/src/license.txt | 42 + .../WiFi/extras/wifiHD/src/lwip_setup.c | 145 + .../WiFi/extras/wifiHD/src/lwip_setup.h | 30 + .../WiFi/extras/wifiHD/src/lwipopts.h | 450 + .../libraries/WiFi/extras/wifiHD/src/main.c | 454 + .../libraries/WiFi/extras/wifiHD/src/nvram.c | 153 + .../libraries/WiFi/extras/wifiHD/src/nvram.h | 10 + .../libraries/WiFi/extras/wifiHD/src/owl_os.c | 140 + .../libraries/WiFi/extras/wifiHD/src/ping.c | 340 + .../libraries/WiFi/extras/wifiHD/src/ping.h | 45 + .../WiFi/extras/wifiHD/src/printf-stdarg.c | 323 + .../WiFi/extras/wifiHD/src/printf-stdarg.h | 34 + .../libraries/WiFi/extras/wifiHD/src/timer.c | 232 + .../libraries/WiFi/extras/wifiHD/src/timer.h | 51 + .../WiFi/extras/wifiHD/src/top_defs.h | 120 + .../libraries/WiFi/extras/wifiHD/src/trace.h | 44 + .../libraries/WiFi/extras/wifiHD/src/util.c | 260 + .../libraries/WiFi/extras/wifiHD/src/util.h | 71 + .../WiFi/extras/wifiHD/src/wifi_spi.h | 160 + .../libraries/WiFi/extras/wifiHD/src/wl_cm.c | 431 + .../libraries/WiFi/extras/wifiHD/src/wl_cm.h | 51 + .../WiFi/extras/wifiHD/src/wl_definitions.h | 39 + .../libraries/WiFi/extras/wifiHD/wifiHD.cproj | 1291 ++ .../libraries/WiFi/extras/wifi_dnld/.cproject | 1281 + .../libraries/WiFi/extras/wifi_dnld/.project | 70 + .../extras/wifi_dnld/Release/wifi_dnld.elf | Bin 0 -> 182489 bytes .../extras/wifi_dnld/src/CONFIG/conf_access.h | 170 + .../wifi_dnld/src/CONFIG/conf_at45dbx.h | 83 + .../src/Doc/SPB104 product brief.pdf | Bin 0 -> 760252 bytes .../wifi_dnld/src/Doc/gettingstarted.pdf | Bin 0 -> 701930 bytes .../src/SOFTWARE_FRAMEWORK/ASM/trampoline.x | 74 + .../BOARDS/ARDUINO/arduino.h | 234 + .../SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c | 346 + .../SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h | 191 + .../BOARDS/EVK1105/evk1105.h | 433 + .../SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c | 346 + .../SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h | 187 + .../src/SOFTWARE_FRAMEWORK/BOARDS/board.h | 120 + .../src/SOFTWARE_FRAMEWORK/BOARDS/board.h.ori | 121 + .../MEMORY/DATA_FLASH/AT45DBX/at45dbx.c | 672 + .../MEMORY/DATA_FLASH/AT45DBX/at45dbx.h | 269 + .../MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c | 234 + .../MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h | 164 + .../DRIVERS/FLASHC/flashc.c | 1117 + .../DRIVERS/FLASHC/flashc.h | 1002 + .../SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c | 458 + .../SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h | 583 + .../DRIVERS/INTC/exception.x | 239 + .../SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c | 214 + .../SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h | 100 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c | 546 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h | 493 + .../DRIVERS/PM/pm_conf_clocks.c | 268 + .../DRIVERS/PM/power_clocks_lib.c | 566 + .../DRIVERS/PM/power_clocks_lib.h | 379 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c | 443 + .../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h | 342 + .../SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c | 914 + .../SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h | 889 + .../SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c | 571 + .../SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h | 369 + .../SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c | 119 + .../SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h | 116 + .../UTILS/DEBUG/print_funcs.c | 215 + .../UTILS/DEBUG/print_funcs.h | 294 + .../LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h | 63 + .../NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h | 120 + .../NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h | 82 + .../LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h | 174 + .../LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h | 208 + .../libnewlib_addons-at32ucr2-speed_opt.a | Bin 0 -> 25540 bytes .../AT32UC3A/0512/GCC/link_uc3a0512.lds | 266 + .../AT32UC3A/1256/GCC/link_uc3a1256.lds | 266 + .../UTILS/PREPROCESSOR/mrepeat.h | 328 + .../UTILS/PREPROCESSOR/preprocessor.h | 55 + .../UTILS/PREPROCESSOR/stringz.h | 75 + .../UTILS/PREPROCESSOR/tpaste.h | 95 + .../UTILS/STARTUP_FILES/GCC/crt0.x | 121 + .../src/SOFTWARE_FRAMEWORK/UTILS/compiler.h | 1145 + .../src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h | 136 + .../src/SOFTWARE_FRAMEWORK/UTILS/parts.h | 203 + .../WiFi/extras/wifi_dnld/src/clocks.c | 101 + .../WiFi/extras/wifi_dnld/src/clocks.h | 78 + .../WiFi/extras/wifi_dnld/src/flash_fw.c | 125 + .../WiFi/extras/wifi_dnld/src/license.txt | 42 + .../WiFi/extras/wifi_dnld/src/nor_flash.c | 99 + .../WiFi/extras/wifi_dnld/src/nor_flash.h | 41 + .../WiFi/extras/wifi_dnld/src/printf-stdarg.c | 323 + .../WiFi/extras/wifi_dnld/src/printf-stdarg.h | 36 + .../WiFi/extras/wifi_dnld/src/startup.c | 75 + .../WiFi/extras/wifi_dnld/src/startup.h | 35 + .../WiFi/extras/wifi_dnld/src/wl_fw.h | 19287 ++++++++++++++++ .../WiFi/extras/wifi_dnld/wifi_dnld.cproj | 495 + .../libraries/WiFi/extras/wifishield.atsln | 36 + firmware/libraries/WiFi/keywords.txt | 59 + firmware/libraries/WiFi/library.properties | 9 + firmware/libraries/WiFi/src/WiFi.cpp | 248 + firmware/libraries/WiFi/src/WiFi.h | 246 + firmware/libraries/WiFi/src/WiFiClient.cpp | 199 + firmware/libraries/WiFi/src/WiFiClient.h | 59 + firmware/libraries/WiFi/src/WiFiServer.cpp | 108 + firmware/libraries/WiFi/src/WiFiServer.h | 46 + firmware/libraries/WiFi/src/WiFiUdp.cpp | 180 + firmware/libraries/WiFi/src/WiFiUdp.h | 80 + firmware/libraries/WiFi/src/utility/debug.h | 95 + .../libraries/WiFi/src/utility/server_drv.cpp | 327 + .../libraries/WiFi/src/utility/server_drv.h | 60 + .../libraries/WiFi/src/utility/spi_drv.cpp | 496 + firmware/libraries/WiFi/src/utility/spi_drv.h | 106 + .../libraries/WiFi/src/utility/wifi_drv.cpp | 579 + .../libraries/WiFi/src/utility/wifi_drv.h | 267 + .../libraries/WiFi/src/utility/wifi_spi.h | 173 + .../WiFi/src/utility/wl_definitions.h | 72 + .../libraries/WiFi/src/utility/wl_types.h | 49 + firmware/libraries/WiFiManager/LICENSE | 22 + firmware/libraries/WiFiManager/README.md | 374 + .../libraries/WiFiManager/WiFiManager.cpp | 804 + firmware/libraries/WiFiManager/WiFiManager.h | 203 + .../examples/AutoConnect/AutoConnect.ino | 38 + .../AutoConnectWithFSParameters.ino | 156 + ...AutoConnectWithFSParametersAndCustomIP.ino | 188 + .../AutoConnectWithFeedback.ino | 47 + .../AutoConnectWithFeedbackLED.ino | 68 + .../AutoConnectWithReset.ino | 49 + .../AutoConnectWithStaticIP.ino | 80 + .../AutoConnectWithTimeout.ino | 45 + .../OnDemandConfigPortal.ino | 60 + .../extras/WiFiManager.template.html | 80 + .../libraries/WiFiManager/extras/parse.js | 60 + .../libraries/WiFiManager/extras/template.h | 12 + firmware/libraries/WiFiManager/keywords.txt | 39 + firmware/libraries/WiFiManager/library.json | 13 + .../libraries/WiFiManager/library.properties | 9 + .../libraries/WiFiManager/travis/common.sh | 51 + firmware/webUpdater.ino | 4 +- 349 files changed, 177093 insertions(+), 12 deletions(-) mode change 100755 => 100644 firmware/config.h mode change 100755 => 100644 firmware/firmware.ino mode change 100755 => 100644 firmware/influxdb.ino create mode 100644 firmware/libraries/Adafruit_APDS9960_Library/Adafruit_APDS9960.cpp create mode 100644 firmware/libraries/Adafruit_APDS9960_Library/Adafruit_APDS9960.h create mode 100644 firmware/libraries/Adafruit_APDS9960_Library/examples/color_sensor/color_sensor.ino create mode 100644 firmware/libraries/Adafruit_APDS9960_Library/examples/gesture_sensor/gesture_sensor.ino create mode 100644 firmware/libraries/Adafruit_APDS9960_Library/examples/proximity_sensor/proximity_sensor.ino create mode 100644 firmware/libraries/Adafruit_APDS9960_Library/library.properties create mode 100644 firmware/libraries/Adafruit_BME280_Library/Adafruit_BME280.cpp create mode 100644 firmware/libraries/Adafruit_BME280_Library/Adafruit_BME280.h create mode 100644 firmware/libraries/Adafruit_BME280_Library/README.md create mode 100644 firmware/libraries/Adafruit_BME280_Library/examples/advancedsettings/advancedsettings.ino create mode 100644 firmware/libraries/Adafruit_BME280_Library/examples/bme280test/bme280test.ino create mode 100644 firmware/libraries/Adafruit_BME280_Library/library.properties create mode 100644 firmware/libraries/Adafruit_Unified_Sensor/Adafruit_Sensor.h create mode 100644 firmware/libraries/Adafruit_Unified_Sensor/README.md create mode 100644 firmware/libraries/Adafruit_Unified_Sensor/library.properties create mode 100644 firmware/libraries/ESP8266Influxdb/ESP8266Influxdb.cpp create mode 100644 firmware/libraries/ESP8266Influxdb/ESP8266Influxdb.h create mode 100644 firmware/libraries/ESP8266Influxdb/README.md create mode 100644 firmware/libraries/ESP8266Influxdb/examples/influxdb_write/influxdb_write.ino create mode 100644 firmware/libraries/ESP8266Influxdb/keywords.txt create mode 100644 firmware/libraries/WiFi/README.adoc create mode 100644 firmware/libraries/WiFi/examples/ConnectNoEncryption/ConnectNoEncryption.ino create mode 100644 firmware/libraries/WiFi/examples/ConnectWithWEP/ConnectWithWEP.ino create mode 100644 firmware/libraries/WiFi/examples/ConnectWithWPA/ConnectWithWPA.ino create mode 100644 firmware/libraries/WiFi/examples/ScanNetworks/ScanNetworks.ino create mode 100644 firmware/libraries/WiFi/examples/SimpleWebServerWiFi/SimpleWebServerWiFi.ino create mode 100644 firmware/libraries/WiFi/examples/WiFiChatServer/WiFiChatServer.ino create mode 100644 firmware/libraries/WiFi/examples/WiFiUdpNtpClient/WiFiUdpNtpClient.ino create mode 100644 firmware/libraries/WiFi/examples/WiFiUdpSendReceiveString/WiFiUdpSendReceiveString.ino create mode 100644 firmware/libraries/WiFi/examples/WiFiWebClient/WiFiWebClient.ino create mode 100644 firmware/libraries/WiFi/examples/WiFiWebClientRepeating/WiFiWebClientRepeating.ino create mode 100644 firmware/libraries/WiFi/examples/WiFiWebServer/WiFiWebServer.ino create mode 100644 firmware/libraries/WiFi/extras/binary/wifiHD.elf create mode 100644 firmware/libraries/WiFi/extras/binary/wifiHD.hex create mode 100644 firmware/libraries/WiFi/extras/binary/wifiHD_2_1.elf create mode 100644 firmware/libraries/WiFi/extras/binary/wifi_dnld.elf create mode 100644 firmware/libraries/WiFi/extras/binary/wifi_dnld.hex create mode 100644 firmware/libraries/WiFi/extras/binary/wifi_dnld_2_1.elf create mode 100644 firmware/libraries/WiFi/extras/scripts/ArduinoWifiShield_upgrade.sh create mode 100644 firmware/libraries/WiFi/extras/wifiHD/.cproject create mode 100644 firmware/libraries/WiFi/extras/wifiHD/.project create mode 100644 firmware/libraries/WiFi/extras/wifiHD/Release/wifiHD.elf create mode 100644 firmware/libraries/WiFi/extras/wifiHD/Release/wifiHD.hex create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_access.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_at45dbx.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_ebi.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_sd_mmc_spi.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/ASM/trampoline.x create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/evk1105.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/board.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/board.h.my create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR1/GCC/lib_ucr1_hd_sdio_v2.7.0.a create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR1/GCC/lib_ucr1_hd_spi_v2.7.0.a create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR1/GCC/lib_ucr1_hd_wl_sta_intwpa_v2.7.0.a create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC/lib_ucr2_hd_sdio_v2.7.0.a create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC/lib_ucr2_hd_spi_v2.7.0.a create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC/lib_ucr2_hd_wl_sta_intwpa_v2.7.0.a create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/revision.txt create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_api.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_fw.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_os.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_sdio.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_spi.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wlap_api.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER/cycle_counter.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/exception.x create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm_conf_clocks.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/dhcp.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/dns.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/init.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/autoip.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/icmp.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/igmp.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/inet.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/inet_chksum.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip_addr.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip_frag.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/mem.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/memp.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/netif.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/pbuf.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/raw.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/stats.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp_in.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp_out.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/udp.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/autoip.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/icmp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/igmp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/inet.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/inet_chksum.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip_addr.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip_frag.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/api.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/api_msg.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/arch.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/debug.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/def.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/dhcp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/dns.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/err.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/init.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/mem.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/memp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/memp_std.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netbuf.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netdb.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netif.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netifapi.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/opt.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/pbuf.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/raw.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sio.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_asn1.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_msg.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_structs.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sockets.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/stats.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sys.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/tcp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/tcpip.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/udp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/etharp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/loopif.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/ppp_oe.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/slipif.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/netif/etharp.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/netif/loopif.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/arch/cc.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/arch/perf.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/lwipopts.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/netif/wlif.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/netif/wlif.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/readme.txt create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/libnewlib_addons-at32ucr2-speed_opt.a create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/0512/GCC/link_uc3a0512.lds create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/mrepeat.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/preprocessor.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/stringz.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/tpaste.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/STARTUP_FILES/GCC/crt0.x create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/compiler.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/parts.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/ard_spi.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/ard_spi.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/ard_tcp.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/ard_tcp.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/ard_utils.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/ard_utils.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/avr32_spi.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/board_init.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/board_init.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/cmd_wl.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/cmd_wl.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/console.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/console.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/debug.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/fw_download.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/fw_download_extflash.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/license.txt create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/lwip_setup.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/lwip_setup.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/lwipopts.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/main.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/nvram.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/nvram.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/owl_os.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/ping.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/ping.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/printf-stdarg.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/printf-stdarg.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/timer.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/timer.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/top_defs.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/trace.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/util.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/util.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/wifi_spi.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/wl_cm.c create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/wl_cm.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/src/wl_definitions.h create mode 100644 firmware/libraries/WiFi/extras/wifiHD/wifiHD.cproj create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/.cproject create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/.project create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/Release/wifi_dnld.elf create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/CONFIG/conf_access.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/CONFIG/conf_at45dbx.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/Doc/SPB104 product brief.pdf create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/Doc/gettingstarted.pdf create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/ASM/trampoline.x create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/evk1105.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/board.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/board.h.ori create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/exception.x create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm_conf_clocks.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/libnewlib_addons-at32ucr2-speed_opt.a create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/0512/GCC/link_uc3a0512.lds create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/mrepeat.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/preprocessor.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/stringz.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/tpaste.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/STARTUP_FILES/GCC/crt0.x create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/compiler.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/parts.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/clocks.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/clocks.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/flash_fw.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/license.txt create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/nor_flash.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/nor_flash.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/printf-stdarg.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/printf-stdarg.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/startup.c create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/startup.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/src/wl_fw.h create mode 100644 firmware/libraries/WiFi/extras/wifi_dnld/wifi_dnld.cproj create mode 100644 firmware/libraries/WiFi/extras/wifishield.atsln create mode 100644 firmware/libraries/WiFi/keywords.txt create mode 100644 firmware/libraries/WiFi/library.properties create mode 100644 firmware/libraries/WiFi/src/WiFi.cpp create mode 100644 firmware/libraries/WiFi/src/WiFi.h create mode 100644 firmware/libraries/WiFi/src/WiFiClient.cpp create mode 100644 firmware/libraries/WiFi/src/WiFiClient.h create mode 100644 firmware/libraries/WiFi/src/WiFiServer.cpp create mode 100644 firmware/libraries/WiFi/src/WiFiServer.h create mode 100644 firmware/libraries/WiFi/src/WiFiUdp.cpp create mode 100644 firmware/libraries/WiFi/src/WiFiUdp.h create mode 100644 firmware/libraries/WiFi/src/utility/debug.h create mode 100644 firmware/libraries/WiFi/src/utility/server_drv.cpp create mode 100644 firmware/libraries/WiFi/src/utility/server_drv.h create mode 100644 firmware/libraries/WiFi/src/utility/spi_drv.cpp create mode 100644 firmware/libraries/WiFi/src/utility/spi_drv.h create mode 100644 firmware/libraries/WiFi/src/utility/wifi_drv.cpp create mode 100644 firmware/libraries/WiFi/src/utility/wifi_drv.h create mode 100644 firmware/libraries/WiFi/src/utility/wifi_spi.h create mode 100644 firmware/libraries/WiFi/src/utility/wl_definitions.h create mode 100644 firmware/libraries/WiFi/src/utility/wl_types.h create mode 100644 firmware/libraries/WiFiManager/LICENSE create mode 100644 firmware/libraries/WiFiManager/README.md create mode 100644 firmware/libraries/WiFiManager/WiFiManager.cpp create mode 100644 firmware/libraries/WiFiManager/WiFiManager.h create mode 100644 firmware/libraries/WiFiManager/examples/AutoConnect/AutoConnect.ino create mode 100644 firmware/libraries/WiFiManager/examples/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino create mode 100644 firmware/libraries/WiFiManager/examples/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino create mode 100644 firmware/libraries/WiFiManager/examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino create mode 100644 firmware/libraries/WiFiManager/examples/AutoConnectWithFeedbackLED/AutoConnectWithFeedbackLED.ino create mode 100644 firmware/libraries/WiFiManager/examples/AutoConnectWithReset/AutoConnectWithReset.ino create mode 100644 firmware/libraries/WiFiManager/examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino create mode 100644 firmware/libraries/WiFiManager/examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino create mode 100644 firmware/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino create mode 100644 firmware/libraries/WiFiManager/extras/WiFiManager.template.html create mode 100644 firmware/libraries/WiFiManager/extras/parse.js create mode 100644 firmware/libraries/WiFiManager/extras/template.h create mode 100644 firmware/libraries/WiFiManager/keywords.txt create mode 100644 firmware/libraries/WiFiManager/library.json create mode 100644 firmware/libraries/WiFiManager/library.properties create mode 100644 firmware/libraries/WiFiManager/travis/common.sh diff --git a/firmware/config.h b/firmware/config.h old mode 100755 new mode 100644 index 75f1f61..2703b24 --- a/firmware/config.h +++ b/firmware/config.h @@ -1,4 +1,3 @@ - #ifndef __CONFIG_H__ #define __CONFIG_H__ @@ -44,4 +43,4 @@ #define INITIAL_WEBSERVER_TIME 20 -#endif +#endif diff --git a/firmware/firmware.ino b/firmware/firmware.ino old mode 100755 new mode 100644 index 615067b..14481da --- a/firmware/firmware.ino +++ b/firmware/firmware.ino @@ -1,16 +1,33 @@ -#include +// Standard ESP8266 libs #include #include #include #include #include -#include // WiFiManager -#include // https://github.com/hwwong/ESP8266Influxdb auchecken und den ordner in das arduino\library verzeichnis kopieren -#include // Package Adafruit Unified Sensor -#include // Adafruit APDS9960 - https://www.makerfabs.com/index.php?route=product/product&product_id=281 -#include // BME280 - https://www.roboter-bausatz.de/1704/bmp280-barometer-luftdrucksensor?gclid=EAIaIQobChMIlpumj8Hp2wIVFWYbCh01PgmFEAQYAyABEgIwBvD_BwE +// External libs +// We decided to put these libs inside the project folder, because we have a lot +// of issues with finding the right libs (some libs need a specific version, some +// libs have no unique name, some libs are broken, ...). This is not a fine +// software engineering practice, but it was too much of a hassle to get this right, +// so we decided to put everything in version control. This way, we also can control +// the version of the lib, which makes the build process of this project more +// robust to changes. +// IMPORTANT: You need to set the sketch location of your Arduino IDE to the firmware +// folder in order to use the libs. (File -> Preferences -> Sketchbook Location) +#include // WiFiClient +#include // WiFiManager +#include // https://github.com/hwwong/ESP8266Influxdb auchecken und den ordner in das arduino\library verzeichnis kopieren +#include // Package Adafruit Unified Sensor +#include // Adafruit APDS9960 - https://www.makerfabs.com/index.php?route=product/product&product_id=281 +#include // BME280 - https://www.roboter-bausatz.de/1704/bmp280-barometer-luftdrucksensor?gclid=EAIaIQobChMIlpumj8Hp2wIVFWYbCh01PgmFEAQYAyABEgIwBvD_BwE + +// Project includes #include "config.h" + +// IMPORTANT: If you compile the sourcecode and it can't find this file, this is +// indended :) You need to create a config_user.h with your own settings. Use the +// config_user.h.example as a starting point. #include "config_user.h" //*************************************************************************// @@ -246,4 +263,4 @@ void _loop() { } -//*************************************************************************// +//*************************************************************************// diff --git a/firmware/influxdb.ino b/firmware/influxdb.ino old mode 100755 new mode 100644 index a2a3e70..d63e166 --- a/firmware/influxdb.ino +++ b/firmware/influxdb.ino @@ -1,4 +1,3 @@ - void pushToInfluxDB(String device, float sensorValues[]) { uint8_t tries = 0; diff --git a/firmware/libraries/Adafruit_APDS9960_Library/Adafruit_APDS9960.cpp b/firmware/libraries/Adafruit_APDS9960_Library/Adafruit_APDS9960.cpp new file mode 100644 index 0000000..61eadff --- /dev/null +++ b/firmware/libraries/Adafruit_APDS9960_Library/Adafruit_APDS9960.cpp @@ -0,0 +1,577 @@ +/**************************************************************************/ +/*! + @file Adafruit_APDS9960.cpp + @author Ladyada, Dean Miller (Adafruit Industries) + + @section LICENSE + + Software License Agreement (BSD License) + + Copyright (c) 2017, Adafruit Industries + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holders nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +/**************************************************************************/ + +#ifdef __AVR + #include +#elif defined(ESP8266) + #include +#endif +#include +#include + +#include "Adafruit_APDS9960.h" + +/*========================================================================*/ +/* PRIVATE FUNCTIONS */ +/*========================================================================*/ + +/**************************************************************************/ +/*! + @brief Implements missing powf function +*/ +/**************************************************************************/ +float powf(const float x, const float y) +{ + return (float)(pow((double)x, (double)y)); +} + +/**************************************************************************/ +/*! + Enables the device + Disables the device (putting it in lower power sleep mode) +*/ +/**************************************************************************/ +void Adafruit_APDS9960::enable(boolean en) +{ + _enable.PON = en; + this->write8(APDS9960_ENABLE, _enable.get()); +} + +/*========================================================================*/ +/* PUBLIC FUNCTIONS */ +/*========================================================================*/ + +/**************************************************************************/ +/*! + Initializes I2C and configures the sensor (call this function before + doing anything else) +*/ +/**************************************************************************/ +boolean Adafruit_APDS9960::begin(uint16_t iTimeMS, apds9960AGain_t aGain, uint8_t addr) +{ + _i2c_init(); + _i2caddr = addr; + + /* Make sure we're actually connected */ + uint8_t x = read8(APDS9960_ID); + if (x != 0xAB) + { + return false; + } + + /* Set default integration time and gain */ + setADCIntegrationTime(iTimeMS); + setADCGain(aGain); + + // disable everything to start + enableGesture(false); + enableProximity(false); + enableColor(false); + + disableColorInterrupt(); + disableProximityInterrupt(); + clearInterrupt(); + + /* Note: by default, the device is in power down mode on bootup */ + enable(false); + delay(10); + enable(true); + delay(10); + + //default to all gesture dimensions + setGestureDimensions(APDS9960_DIMENSIONS_ALL); + setGestureFIFOThreshold(APDS9960_GFIFO_4); + setGestureGain(APDS9960_GGAIN_4); + setGestureProximityThreshold(50); + resetCounts(); + + _gpulse.GPLEN = APDS9960_GPULSE_32US; + _gpulse.GPULSE = 9; //10 pulses + this->write8(APDS9960_GPULSE, _gpulse.get()); + + return true; +} + +/**************************************************************************/ +/*! + Sets the integration time for the ADC of the APDS9960, in millis +*/ +/**************************************************************************/ +void Adafruit_APDS9960::setADCIntegrationTime(uint16_t iTimeMS) +{ + float temp; + + // convert ms into 2.78ms increments + temp = iTimeMS; + temp /= 2.78; + temp = 256 - temp; + if (temp > 255) temp = 255; + if (temp < 0) temp = 0; + + /* Update the timing register */ + write8(APDS9960_ATIME, (uint8_t)temp); +} + +float Adafruit_APDS9960::getADCIntegrationTime(void) +{ + float temp; + + temp = read8(APDS9960_ATIME); + + // convert to units of 2.78 ms + temp = 256 - temp; + temp *= 2.78; + return temp; +} + +/**************************************************************************/ +/*! + Adjusts the color/ALS gain on the APDS9960 (adjusts the sensitivity to light) +*/ +/**************************************************************************/ +void Adafruit_APDS9960::setADCGain(apds9960AGain_t aGain) +{ + _control.AGAIN = aGain; + + /* Update the timing register */ + write8(APDS9960_CONTROL, _control.get()); +} + +apds9960AGain_t Adafruit_APDS9960::getADCGain(void) +{ + return (apds9960AGain_t) ( read8(APDS9960_CONTROL) & 0x03 ); +} + + +/**************************************************************************/ +/*! + Adjusts the Proximity gain on the APDS9960 +*/ +/**************************************************************************/ +void Adafruit_APDS9960::setProxGain(apds9960PGain_t pGain) +{ + _control.PGAIN = pGain; + + /* Update the timing register */ + write8(APDS9960_CONTROL, _control.get()); +} + +apds9960PGain_t Adafruit_APDS9960::getProxGain(void) +{ + return (apds9960PGain_t) ( read8(APDS9960_CONTROL) & 0x0C ); +} + +void Adafruit_APDS9960::setProxPulse(apds9960PPulseLen_t pLen, uint8_t pulses) { + if (pulses < 1) pulses = 1; + if (pulses > 64) pulses = 64; + pulses--; + + _ppulse.PPLEN = pLen; + _ppulse.PPULSE = pulses; + + write8(APDS9960_PPULSE, _ppulse.get()); +} + +/**************************************************************************/ +/*! + Enable proximity readings on APDS9960 +*/ +/**************************************************************************/ +void Adafruit_APDS9960::enableProximity(boolean en) +{ + _enable.PEN = en; + + write8(APDS9960_ENABLE, _enable.get()); +} + +void Adafruit_APDS9960::enableProximityInterrupt() { + _enable.PIEN = 1; + write8(APDS9960_ENABLE, _enable.get()); + clearInterrupt(); +} + +void Adafruit_APDS9960::disableProximityInterrupt() { + _enable.PIEN = 0; + write8(APDS9960_ENABLE, _enable.get()); +} + +void Adafruit_APDS9960::setProximityInterruptThreshold(uint8_t low, uint8_t high, uint8_t persistance){ + write8(APDS9960_PILT, low); + write8(APDS9960_PIHT, high); + + if (persistance > 7) persistance = 7; + _pers.PPERS = persistance; + write8(APDS9960_PERS,_pers.get()); +} + +bool Adafruit_APDS9960::getProximityInterrupt() +{ + _status.set(this->read8(APDS9960_STATUS)); + return _status.PINT; +}; + +/**************************************************************************/ +/*! + Read proximity data +*/ +/**************************************************************************/ +uint8_t Adafruit_APDS9960::readProximity(void) +{ + return read8(APDS9960_PDATA); +} + + +bool Adafruit_APDS9960::gestureValid() +{ + _gstatus.set(this->read8(APDS9960_GSTATUS)); + return _gstatus.GVALID; +} + +void Adafruit_APDS9960::setGestureDimensions(uint8_t dims) +{ + _gconf3.GDIMS = dims; + this->write8(APDS9960_GCONF3, _gconf3.get()); +} + +void Adafruit_APDS9960::setGestureFIFOThreshold(uint8_t thresh) +{ + _gconf1.GFIFOTH = thresh; + this->write8(APDS9960_GCONF1, _gconf1.get()); +} + +void Adafruit_APDS9960::setGestureGain(uint8_t gain) +{ + _gconf2.GGAIN = gain; + this->write8(APDS9960_GCONF2, _gconf2.get()); +} + +void Adafruit_APDS9960::setGestureProximityThreshold(uint8_t thresh) +{ + this->write8(APDS9960_GPENTH, thresh); +} + +void Adafruit_APDS9960::setGestureOffset(uint8_t offset_up, uint8_t offset_down, uint8_t offset_left, uint8_t offset_right) +{ + this->write8(APDS9960_GOFFSET_U, offset_up); + this->write8(APDS9960_GOFFSET_D, offset_down); + this->write8(APDS9960_GOFFSET_L, offset_left); + this->write8(APDS9960_GOFFSET_R, offset_right); +} + +/**************************************************************************/ +/*! + Enable gesture readings on APDS9960 +*/ +/**************************************************************************/ +void Adafruit_APDS9960::enableGesture(boolean en) +{ + if(!en){ + _gconf4.GMODE = 0; + write8(APDS9960_GCONF4, _gconf4.get()); + } + _enable.GEN = en; + write8(APDS9960_ENABLE, _enable.get()); + resetCounts(); +} + +void Adafruit_APDS9960::resetCounts() +{ + gestCnt = 0; + UCount = 0; + DCount = 0; + LCount = 0; + RCount = 0; +} + +uint8_t Adafruit_APDS9960::readGesture(void) +{ + uint8_t toRead, bytesRead; + uint8_t buf[256]; + unsigned long t; + uint8_t gestureReceived; + while(1){ + int up_down_diff = 0; + int left_right_diff = 0; + gestureReceived = 0; + if(!gestureValid()) return 0; + + delay(30); + toRead = this->read8(APDS9960_GFLVL); + + bytesRead = this->read(APDS9960_GFIFO_U, buf, toRead); + + if(abs((int)buf[0] - (int)buf[1]) > 13) + up_down_diff += (int)buf[0] - (int)buf[1]; + + if(abs((int)buf[2] - (int)buf[3]) > 13) + left_right_diff += (int)buf[2] - (int)buf[3]; + + if(up_down_diff != 0){ + if(up_down_diff < 0){ + if( DCount > 0){ + gestureReceived = APDS9960_UP; + } + else UCount++; + } + else if(up_down_diff > 0){ + if( UCount > 0){ + gestureReceived = APDS9960_DOWN; + } + else DCount++; + } + } + + if(left_right_diff != 0){ + if(left_right_diff < 0){ + if( RCount > 0){ + gestureReceived = APDS9960_LEFT; + } + else LCount++; + } + else if(left_right_diff > 0){ + if( LCount > 0){ + gestureReceived = APDS9960_RIGHT; + } + else RCount++; + } + } + + if(up_down_diff != 0 || left_right_diff != 0) t = millis(); + + if(gestureReceived || millis() - t > 300){ + resetCounts(); + return gestureReceived; + } + } +} + +/**************************************************************************/ +/*! + Set LED brightness for proximity/gesture +*/ +/**************************************************************************/ +void Adafruit_APDS9960::setLED(apds9960LedDrive_t drive, apds9960LedBoost_t boost) { + // set BOOST + _config2.LED_BOOST = boost; + write8(APDS9960_CONFIG2, _config2.get()); + + _control.LDRIVE = drive; + write8(APDS9960_CONTROL, _control.get()); +} + +/**************************************************************************/ +/*! + Enable proximity readings on APDS9960 +*/ +/**************************************************************************/ +void Adafruit_APDS9960::enableColor(boolean en) +{ + _enable.AEN = en; + write8(APDS9960_ENABLE, _enable.get()); +} + +bool Adafruit_APDS9960::colorDataReady() +{ + _status.set(this->read8(APDS9960_STATUS)); + return _status.AVALID; +} + +/**************************************************************************/ +/*! + @brief Reads the raw red, green, blue and clear channel values +*/ +/**************************************************************************/ +void Adafruit_APDS9960::getColorData (uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *c) +{ + + *c = read16R(APDS9960_CDATAL); + *r = read16R(APDS9960_RDATAL); + *g = read16R(APDS9960_GDATAL); + *b = read16R(APDS9960_BDATAL); + +} + +/**************************************************************************/ +/*! + @brief Converts the raw R/G/B values to color temperature in degrees + Kelvin +*/ +/**************************************************************************/ +uint16_t Adafruit_APDS9960::calculateColorTemperature(uint16_t r, uint16_t g, uint16_t b) +{ + float X, Y, Z; /* RGB to XYZ correlation */ + float xc, yc; /* Chromaticity co-ordinates */ + float n; /* McCamy's formula */ + float cct; + + /* 1. Map RGB values to their XYZ counterparts. */ + /* Based on 6500K fluorescent, 3000K fluorescent */ + /* and 60W incandescent values for a wide range. */ + /* Note: Y = Illuminance or lux */ + X = (-0.14282F * r) + (1.54924F * g) + (-0.95641F * b); + Y = (-0.32466F * r) + (1.57837F * g) + (-0.73191F * b); + Z = (-0.68202F * r) + (0.77073F * g) + ( 0.56332F * b); + + /* 2. Calculate the chromaticity co-ordinates */ + xc = (X) / (X + Y + Z); + yc = (Y) / (X + Y + Z); + + /* 3. Use McCamy's formula to determine the CCT */ + n = (xc - 0.3320F) / (0.1858F - yc); + + /* Calculate the final CCT */ + cct = (449.0F * powf(n, 3)) + (3525.0F * powf(n, 2)) + (6823.3F * n) + 5520.33F; + + /* Return the results in degrees Kelvin */ + return (uint16_t)cct; +} + +/**************************************************************************/ +/*! + @brief Calculate ambient light values +*/ +/**************************************************************************/ + +uint16_t Adafruit_APDS9960::calculateLux(uint16_t r, uint16_t g, uint16_t b) +{ + float illuminance; + + /* This only uses RGB ... how can we integrate clear or calculate lux */ + /* based exclusively on clear since this might be more reliable? */ + illuminance = (-0.32466F * r) + (1.57837F * g) + (-0.73191F * b); + + return (uint16_t)illuminance; +} + +void Adafruit_APDS9960::enableColorInterrupt() { + _enable.AIEN = 1; + write8(APDS9960_ENABLE, _enable.get()); +} + +void Adafruit_APDS9960::disableColorInterrupt() { + _enable.AIEN = 0; + write8(APDS9960_ENABLE, _enable.get()); +} + +void Adafruit_APDS9960::clearInterrupt(void) { + this->write(APDS9960_AICLEAR, NULL, 0); +} + + +void Adafruit_APDS9960::setIntLimits(uint16_t low, uint16_t high) { + write8(APDS9960_AILTIL, low & 0xFF); + write8(APDS9960_AILTH, low >> 8); + write8(APDS9960_AIHTL, high & 0xFF); + write8(APDS9960_AIHTH, high >> 8); +} + +void Adafruit_APDS9960::write8(byte reg, byte value) +{ + this->write(reg, &value, 1); +} + +uint8_t Adafruit_APDS9960::read8(byte reg) +{ + uint8_t ret; + this->read(reg, &ret, 1); + + return ret; +} + +uint32_t Adafruit_APDS9960::read32(uint8_t reg) +{ + uint8_t ret[4]; + this->read(reg, ret, 4); + + return (ret[0] << 24) | (ret[1] << 16) | (ret[2] << 8) | ret[3]; +} + +uint16_t Adafruit_APDS9960::read16(uint8_t reg) +{ + uint8_t ret[2]; + this->read(reg, ret, 2); + + return (ret[0] << 8) | ret[1]; +} + +uint16_t Adafruit_APDS9960::read16R(uint8_t reg) +{ + uint8_t ret[2]; + this->read(reg, ret, 2); + + return (ret[1] << 8) | ret[0]; +} + +void Adafruit_APDS9960::_i2c_init() +{ + Wire.begin(); +} + +uint8_t Adafruit_APDS9960::read(uint8_t reg, uint8_t *buf, uint8_t num) +{ + uint8_t value; + uint8_t pos = 0; + bool eof = false; + + //on arduino we need to read in 32 byte chunks + while(pos < num && !eof){ + + uint8_t read_now = min(32, num - pos); + Wire.beginTransmission((uint8_t)_i2caddr); + Wire.write((uint8_t)reg + pos); + Wire.endTransmission(); + + Wire.requestFrom((uint8_t)_i2caddr, read_now); + + for(int i=0; i +#include + +#define I2CDEBUG + +/*========================================================================= + I2C ADDRESS/BITS + -----------------------------------------------------------------------*/ + #define APDS9960_ADDRESS (0x39) +/*=========================================================================*/ + +/*========================================================================= + REGISTERS + -----------------------------------------------------------------------*/ + + enum + { + APDS9960_RAM = 0x00, + APDS9960_ENABLE = 0x80, + APDS9960_ATIME = 0x81, + APDS9960_WTIME = 0x83, + APDS9960_AILTIL = 0x84, + APDS9960_AILTH = 0x85, + APDS9960_AIHTL = 0x86, + APDS9960_AIHTH = 0x87, + APDS9960_PILT = 0x89, + APDS9960_PIHT = 0x8B, + APDS9960_PERS = 0x8C, + APDS9960_CONFIG1 = 0x8D, + APDS9960_PPULSE = 0x8E, + APDS9960_CONTROL = 0x8F, + APDS9960_CONFIG2 = 0x90, + APDS9960_ID = 0x92, + APDS9960_STATUS = 0x93, + APDS9960_CDATAL = 0x94, + APDS9960_CDATAH = 0x95, + APDS9960_RDATAL = 0x96, + APDS9960_RDATAH = 0x97, + APDS9960_GDATAL = 0x98, + APDS9960_GDATAH = 0x99, + APDS9960_BDATAL = 0x9A, + APDS9960_BDATAH = 0x9B, + APDS9960_PDATA = 0x9C, + APDS9960_POFFSET_UR = 0x9D, + APDS9960_POFFSET_DL = 0x9E, + APDS9960_CONFIG3 = 0x9F, + APDS9960_GPENTH = 0xA0, + APDS9960_GEXTH = 0xA1, + APDS9960_GCONF1 = 0xA2, + APDS9960_GCONF2 = 0xA3, + APDS9960_GOFFSET_U = 0xA4, + APDS9960_GOFFSET_D = 0xA5, + APDS9960_GOFFSET_L = 0xA7, + APDS9960_GOFFSET_R = 0xA9, + APDS9960_GPULSE = 0xA6, + APDS9960_GCONF3 = 0xAA, + APDS9960_GCONF4 = 0xAB, + APDS9960_GFLVL = 0xAE, + APDS9960_GSTATUS = 0xAF, + APDS9960_IFORCE = 0xE4, + APDS9960_PICLEAR = 0xE5, + APDS9960_CICLEAR = 0xE6, + APDS9960_AICLEAR = 0xE7, + APDS9960_GFIFO_U = 0xFC, + APDS9960_GFIFO_D = 0xFD, + APDS9960_GFIFO_L = 0xFE, + APDS9960_GFIFO_R = 0xFF, + }; + + +/*=========================================================================*/ + +typedef enum +{ + APDS9960_AGAIN_1X = 0x00, /**< No gain */ + APDS9960_AGAIN_4X = 0x01, /**< 2x gain */ + APDS9960_AGAIN_16X = 0x02, /**< 16x gain */ + APDS9960_AGAIN_64X = 0x03 /**< 64x gain */ +} +apds9960AGain_t; + + +typedef enum +{ + APDS9960_PGAIN_1X = 0x00, /**< 1x gain */ + APDS9960_PGAIN_2X = 0x04, /**< 2x gain */ + APDS9960_PGAIN_4X = 0x08, /**< 4x gain */ + APDS9960_PGAIN_8X = 0x0C /**< 8x gain */ +} +apds9960PGain_t; + + +typedef enum +{ + APDS9960_PPULSELEN_4US = 0x00, /**< 4uS */ + APDS9960_PPULSELEN_8US = 0x40, /**< 8uS */ + APDS9960_PPULSELEN_16US = 0x80, /**< 16uS */ + APDS9960_PPULSELEN_32US = 0xC0 /**< 32uS */ +} +apds9960PPulseLen_t; + + +typedef enum +{ + APDS9960_LEDDRIVE_100MA = 0x00, /**< 100mA */ + APDS9960_LEDDRIVE_50MA = 0x40, /**< 50mA */ + APDS9960_LEDDRIVE_25MA = 0x80, /**< 25mA */ + APDS9960_LEDDRIVE_12MA = 0xC0 /**< 12.5mA */ +} +apds9960LedDrive_t; + + +typedef enum +{ + APDS9960_LEDBOOST_100PCNT = 0x00, /**< 100% */ + APDS9960_LEDBOOST_150PCNT = 0x10, /**< 150% */ + APDS9960_LEDBOOST_200PCNT = 0x20, /**< 200% */ + APDS9960_LEDBOOST_300PCNT = 0x30 /**< 300% */ +} +apds9960LedBoost_t; + +enum +{ + APDS9960_DIMENSIONS_ALL = 0x00, + APDS9960_DIMENSIONS_UP_DOWM = 0x01, + APGS9960_DIMENSIONS_LEFT_RIGHT = 0x02, +}; + +enum +{ + APDS9960_GFIFO_1 = 0x00, + APDS9960_GFIFO_4 = 0x01, + APDS9960_GFIFO_8 = 0x02, + APDS9960_GFIFO_16 = 0x03, +}; + +enum +{ + APDS9960_GGAIN_1 = 0x00, + APDS9960_GGAIN_2 = 0x01, + APDS9960_GGAIN_4 = 0x02, + APDS9960_GGAIN_8 = 0x03, +}; + +enum +{ + APDS9960_GPULSE_4US = 0x00, + APDS9960_GPULSE_8US = 0x01, + APDS9960_GPULSE_16US = 0x02, + APDS9960_GPULSE_32US = 0x03, +}; + +#define APDS9960_TIME_MULT 2.78 //millisec + +#define APDS9960_UP 0x01 +#define APDS9960_DOWN 0x02 +#define APDS9960_LEFT 0x03 +#define APDS9960_RIGHT 0x04 + +class Adafruit_APDS9960 { + public: + Adafruit_APDS9960(void) {}; + ~Adafruit_APDS9960(void) {}; + + boolean begin(uint16_t iTimeMS = 10, apds9960AGain_t = APDS9960_AGAIN_4X, uint8_t addr = APDS9960_ADDRESS); + void setADCIntegrationTime(uint16_t iTimeMS); + float getADCIntegrationTime(void); + void setADCGain(apds9960AGain_t gain); + apds9960AGain_t getADCGain(void); + void setLED(apds9960LedDrive_t drive, apds9960LedBoost_t boost); + + // proximity + void enableProximity(boolean en = true); + void setProxGain(apds9960PGain_t gain); + apds9960PGain_t getProxGain(void); + void setProxPulse(apds9960PPulseLen_t pLen, uint8_t pulses); + void enableProximityInterrupt(); + void disableProximityInterrupt(); + uint8_t readProximity(void); + void setProximityInterruptThreshold(uint8_t low, uint8_t high, uint8_t persistance = 4); + bool getProximityInterrupt(); + + // gesture + void enableGesture(boolean en = true); + bool gestureValid(); + void setGestureDimensions(uint8_t dims); + void setGestureFIFOThreshold(uint8_t thresh); + void setGestureGain(uint8_t gain); + void setGestureProximityThreshold(uint8_t thresh); + void setGestureOffset(uint8_t offset_up, uint8_t offset_down, uint8_t offset_left, uint8_t offset_right); + uint8_t readGesture(void); + void resetCounts(); + + // light & color + void enableColor(boolean en = true); + bool colorDataReady(); + void getColorData(uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *c); + uint16_t calculateColorTemperature(uint16_t r, uint16_t g, uint16_t b); + uint16_t calculateLux(uint16_t r, uint16_t g, uint16_t b); + void enableColorInterrupt(); + void disableColorInterrupt(); + void clearInterrupt(void); + void setIntLimits(uint16_t l, uint16_t h); + + // turn on/off elements + void enable(boolean en = true); + + + private: + uint8_t _i2caddr; + + uint32_t read32(uint8_t reg); + uint16_t read16(uint8_t reg); + uint16_t read16R(uint8_t reg); + + void write8(byte reg, byte value); + uint8_t read8(byte reg); + + uint8_t gestCnt; + + uint8_t UCount; + uint8_t DCount; + + uint8_t LCount; + uint8_t RCount; + + uint8_t read(uint8_t reg, uint8_t *buf, uint8_t num); + void write(uint8_t reg, uint8_t *buf, uint8_t num); + void _i2c_init(); + + struct enable { + + //power on + uint8_t PON : 1; + + //ALS enable + uint8_t AEN : 1; + + //Proximity detect enable + uint8_t PEN : 1; + + //wait timer enable + uint8_t WEN : 1; + + //ALS interrupt enable + uint8_t AIEN : 1; + + //proximity interrupt enable + uint8_t PIEN : 1; + + //gesture enable + uint8_t GEN : 1; + + uint8_t get() { + return (GEN << 6) | (PIEN << 5) | (AIEN << 4) | (WEN << 3) | (PEN << 2) | (AEN << 1) | PON; + }; + }; + struct enable _enable; + + struct pers { + //ALS Interrupt Persistence. Controls rate of Clear channel interrupt to the host processor + uint8_t APERS : 4; + + //proximity interrupt persistence, controls rate of prox interrupt to host processor + uint8_t PPERS : 4; + + uint8_t get(){ + return (PPERS << 4) | APERS; + }; + }; + pers _pers; + + struct config1 { + uint8_t WLONG : 1; + + uint8_t get(){ + return WLONG << 1; + }; + }; + config1 _config1; + + struct ppulse { + + /*Proximity Pulse Count. Specifies the number of proximity pulses to be generated on LDR. + Number of pulses is set by PPULSE value plus 1. + */ + uint8_t PPULSE : 6; + + //Proximity Pulse Length. Sets the LED-ON pulse width during a proximity LDR pulse. + uint8_t PPLEN : 2; + + uint8_t get(){ + return (PPLEN << 6) | PPULSE; + } + }; + ppulse _ppulse; + + struct control { + //ALS and Color gain control + uint8_t AGAIN : 2; + + //proximity gain control + uint8_t PGAIN : 2; + + //led drive strength + uint8_t LDRIVE : 2; + + uint8_t get(){ + return (LDRIVE << 6) | (PGAIN << 2) | AGAIN; + } + }; + control _control; + + struct config2 { + /* Additional LDR current during proximity and gesture LED pulses. Current value, set by LDRIVE, + is increased by the percentage of LED_BOOST. + */ + uint8_t LED_BOOST : 2; + + //clear photodiode saturation int enable + uint8_t CPSIEN : 1; + + //proximity saturation interrupt enable + uint8_t PSIEN : 1; + + uint8_t get(){ + return (PSIEN << 7) | (CPSIEN << 6) | (LED_BOOST << 4) | 1; + } + }; + config2 _config2; + + struct status { + /* ALS Valid. Indicates that an ALS cycle has completed since AEN was asserted or since a read + from any of the ALS/Color data registers. + */ + uint8_t AVALID : 1; + + /* Proximity Valid. Indicates that a proximity cycle has completed since PEN was asserted or since + PDATA was last read. A read of PDATA automatically clears PVALID. + */ + uint8_t PVALID : 1; + + /* Gesture Interrupt. GINT is asserted when GFVLV becomes greater than GFIFOTH or if GVALID + has become asserted when GMODE transitioned to zero. The bit is reset when FIFO is + completely emptied (read). + */ + uint8_t GINT : 1; + + //ALS Interrupt. This bit triggers an interrupt if AIEN in ENABLE is set. + uint8_t AINT : 1; + + //Proximity Interrupt. This bit triggers an interrupt if PIEN in ENABLE is set. + uint8_t PINT : 1; + + /* Indicates that an analog saturation event occurred during a previous proximity or gesture + cycle. Once set, this bit remains set until cleared by clear proximity interrupt special function + command (0xE5 PICLEAR) or by disabling Prox (PEN=0). This bit triggers an interrupt if PSIEN + is set. + */ + uint8_t PGSAT : 1; + + /* Clear Photodiode Saturation. When asserted, the analog sensor was at the upper end of its + dynamic range. The bit can be de-asserted by sending a Clear channel interrupt command + (0xE6 CICLEAR) or by disabling the ADC (AEN=0). This bit triggers an interrupt if CPSIEN is set. + */ + uint8_t CPSAT : 1; + + void set(uint8_t data){ + AVALID = data & 0x01; + PVALID = (data >> 1) & 0x01; + GINT = (data >> 2) & 0x01; + AINT = (data >> 4) & 0x01; + PINT = (data >> 5) & 0x01; + PGSAT = (data >> 6) & 0x01; + CPSAT = (data >> 7) & 0x01; + } + }; + status _status; + + struct config3 { + //proximity mask + uint8_t PMASK_R : 1; + uint8_t PMASK_L : 1; + uint8_t PMASK_D : 1; + uint8_t PMASK_U : 1; + + /* Sleep After Interrupt. When enabled, the device will automatically enter low power mode + when the INT pin is asserted and the state machine has progressed to the SAI decision block. + Normal operation is resumed when INT pin is cleared over I2C. + */ + uint8_t SAI : 1; + + /* Proximity Gain Compensation Enable. This bit provides gain compensation when proximity + photodiode signal is reduced as a result of sensor masking. If only one diode of the diode pair + is contributing, then only half of the signal is available at the ADC; this results in a maximum + ADC value of 127. Enabling PCMP enables an additional gain of 2X, resulting in a maximum + ADC value of 255. + */ + uint8_t PCMP : 1; + + uint8_t get(){ + return (PCMP << 5) | (SAI << 4) | (PMASK_U << 3) | (PMASK_D << 2) | (PMASK_L << 1) | PMASK_R; + } + }; + config3 _config3; + + struct gconf1 { + /* Gesture Exit Persistence. When a number of consecutive “gesture end” occurrences become + equal or greater to the GEPERS value, the Gesture state machine is exited. + */ + uint8_t GEXPERS : 2; + + /* Gesture Exit Mask. Controls which of the gesture detector photodiodes (UDLR) will be included + to determine a “gesture end” and subsequent exit of the gesture state machine. Unmasked + UDLR data will be compared with the value in GTHR_OUT. Field value bits correspond to UDLR + detectors. + */ + uint8_t GEXMSK : 4; + + /* Gesture FIFO Threshold. This value is compared with the FIFO Level (i.e. the number of UDLR + datasets) to generate an interrupt (if enabled). + */ + uint8_t GFIFOTH : 2; + + uint8_t get(){ + return (GFIFOTH << 6) | (GEXMSK << 2) | GEXPERS; + } + }; + gconf1 _gconf1; + + struct gconf2 { + /* Gesture Wait Time. The GWTIME controls the amount of time in a low power mode between + gesture detection cycles. + */ + uint8_t GWTIME : 3; + + //Gesture LED Drive Strength. Sets LED Drive Strength in gesture mode. + uint8_t GLDRIVE : 2; + + //Gesture Gain Control. Sets the gain of the proximity receiver in gesture mode. + uint8_t GGAIN : 2; + + uint8_t get(){ + return (GGAIN << 5) | (GLDRIVE << 3) | GWTIME; + } + }; + gconf2 _gconf2; + + struct gpulse { + /* Number of Gesture Pulses. Specifies the number of pulses to be generated on LDR. + Number of pulses is set by GPULSE value plus 1. + */ + uint8_t GPULSE : 6; + + //Gesture Pulse Length. Sets the LED_ON pulse width during a Gesture LDR Pulse. + uint8_t GPLEN : 2; + + uint8_t get(){ + return (GPLEN << 6) | GPULSE; + } + }; + gpulse _gpulse; + + struct gconf3 { + /* Gesture Dimension Select. Selects which gesture photodiode pairs are enabled to gather + results during gesture. + */ + uint8_t GDIMS : 2; + + uint8_t get(){ + return GDIMS; + } + }; + gconf3 _gconf3; + + struct gconf4 { + /* Gesture Mode. Reading this bit reports if the gesture state machine is actively running, 1 + = Gesture, 0= ALS, Proximity, Color. Writing a 1 to this bit causes immediate entry in to the + gesture state machine (as if GPENTH had been exceeded). Writing a 0 to this bit causes exit of + gesture when current analog conversion has finished (as if GEXTH had been exceeded). + */ + uint8_t GMODE : 1; + + /* Gesture interrupt enable. Gesture Interrupt Enable. When asserted, all gesture related + interrupts are unmasked. + */ + uint8_t GIEN : 2; + + uint8_t get(){ + return (GIEN << 1) | GMODE; + } + void set(uint8_t data){ + GIEN = (data >> 1) & 0x01; + GMODE = data & 0x01; + } + }; + gconf4 _gconf4; + + struct gstatus { + /* Gesture FIFO Data. GVALID bit is sent when GFLVL becomes greater than GFIFOTH (i.e. FIFO has + enough data to set GINT). GFIFOD is reset when GMODE = 0 and the GFLVL=0 (i.e. All FIFO data + has been read). + */ + uint8_t GVALID : 1; + + /* Gesture FIFO Overflow. A setting of 1 indicates that the FIFO has filled to capacity and that new + gesture detector data has been lost. + */ + uint8_t GFOV : 1; + + void set(uint8_t data){ + GFOV = (data >> 1) & 0x01; + GVALID = data & 0x01; + } + }; + gstatus _gstatus; + +}; + +#endif diff --git a/firmware/libraries/Adafruit_APDS9960_Library/examples/color_sensor/color_sensor.ino b/firmware/libraries/Adafruit_APDS9960_Library/examples/color_sensor/color_sensor.ino new file mode 100644 index 0000000..938394f --- /dev/null +++ b/firmware/libraries/Adafruit_APDS9960_Library/examples/color_sensor/color_sensor.ino @@ -0,0 +1,59 @@ +/*************************************************************************** + This is a library for the APDS9960 digital proximity, ambient light, RGB, and gesture sensor + + This sketch puts the sensor in color mode and reads the RGB and clear values. + + Designed specifically to work with the Adafruit APDS9960 breakout + ----> http://www.adafruit.com/products/3595 + + These sensors use I2C to communicate. The device's I2C address is 0x39 + + Adafruit invests time and resources providing this open source code, + please support Adafruit andopen-source hardware by purchasing products + from Adafruit! + + Written by Dean Miller for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ***************************************************************************/ + +#include "Adafruit_APDS9960.h" +Adafruit_APDS9960 apds; + +void setup() { + Serial.begin(115200); + + if(!apds.begin()){ + Serial.println("failed to initialize device! Please check your wiring."); + } + else Serial.println("Device initialized!"); + + //enable color sensign mode + apds.enableColor(true); +} + +void loop() { + //create some variables to store the color data in + uint16_t r, g, b, c; + + //wait for color data to be ready + while(!apds.colorDataReady()){ + delay(5); + } + + //get the data and print the different channels + apds.getColorData(&r, &g, &b, &c); + Serial.print("red: "); + Serial.print(r); + + Serial.print(" green: "); + Serial.print(g); + + Serial.print(" blue: "); + Serial.print(b); + + Serial.print(" clear: "); + Serial.println(c); + Serial.println(); + + delay(500); +} \ No newline at end of file diff --git a/firmware/libraries/Adafruit_APDS9960_Library/examples/gesture_sensor/gesture_sensor.ino b/firmware/libraries/Adafruit_APDS9960_Library/examples/gesture_sensor/gesture_sensor.ino new file mode 100644 index 0000000..fcbfa1e --- /dev/null +++ b/firmware/libraries/Adafruit_APDS9960_Library/examples/gesture_sensor/gesture_sensor.ino @@ -0,0 +1,47 @@ +/*************************************************************************** + This is a library for the APDS9960 digital proximity, ambient light, RGB, and gesture sensor + + This sketch puts the sensor in gesture mode and decodes gestures. + To use this, first put your hand close to the sensor to enable gesture mode. + Then move your hand about 6" from the sensor in the up -> down, down -> up, + left -> right, or right -> left direction. + + Designed specifically to work with the Adafruit APDS9960 breakout + ----> http://www.adafruit.com/products/3595 + + These sensors use I2C to communicate. The device's I2C address is 0x39 + + Adafruit invests time and resources providing this open source code, + please support Adafruit andopen-source hardware by purchasing products + from Adafruit! + + Written by Dean Miller for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ***************************************************************************/ + +#include "Adafruit_APDS9960.h" +Adafruit_APDS9960 apds; + +// the setup function runs once when you press reset or power the board +void setup() { + Serial.begin(115200); + + if(!apds.begin()){ + Serial.println("failed to initialize device! Please check your wiring."); + } + else Serial.println("Device initialized!"); + + //gesture mode will be entered once proximity mode senses something close + apds.enableProximity(true); + apds.enableGesture(true); +} + +// the loop function runs over and over again forever +void loop() { + //read a gesture from the device + uint8_t gesture = apds.readGesture(); + if(gesture == APDS9960_DOWN) Serial.println("v"); + if(gesture == APDS9960_UP) Serial.println("^"); + if(gesture == APDS9960_LEFT) Serial.println("<"); + if(gesture == APDS9960_RIGHT) Serial.println(">"); +} \ No newline at end of file diff --git a/firmware/libraries/Adafruit_APDS9960_Library/examples/proximity_sensor/proximity_sensor.ino b/firmware/libraries/Adafruit_APDS9960_Library/examples/proximity_sensor/proximity_sensor.ino new file mode 100644 index 0000000..61cbadd --- /dev/null +++ b/firmware/libraries/Adafruit_APDS9960_Library/examples/proximity_sensor/proximity_sensor.ino @@ -0,0 +1,56 @@ +/*************************************************************************** + This is a library for the APDS9960 digital proximity, ambient light, RGB, and gesture sensor + + This sketch puts the sensor in proximity mode and enables the interrupt + to fire when proximity goes over a set value + + Designed specifically to work with the Adafruit APDS9960 breakout + ----> http://www.adafruit.com/products/3595 + + These sensors use I2C to communicate. The device's I2C address is 0x39 + + Adafruit invests time and resources providing this open source code, + please support Adafruit andopen-source hardware by purchasing products + from Adafruit! + + Written by Dean Miller for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ***************************************************************************/ + +#include "Adafruit_APDS9960.h" + +//the pin that the interrupt is attached to +#define INT_PIN 3 + +//create the APDS9960 object +Adafruit_APDS9960 apds; + +void setup() { + Serial.begin(115200); + pinMode(INT_PIN, INPUT_PULLUP); + + if(!apds.begin()){ + Serial.println("failed to initialize device! Please check your wiring."); + } + else Serial.println("Device initialized!"); + + //enable proximity mode + apds.enableProximity(true); + + //set the interrupt threshold to fire when proximity reading goes above 175 + apds.setProximityInterruptThreshold(0, 175); + + //enable the proximity interrupt + apds.enableProximityInterrupt(); +} + +void loop() { + + //print the proximity reading when the interrupt pin goes low + if(!digitalRead(INT_PIN)){ + Serial.println(apds.readProximity()); + + //clear the interrupt + apds.clearInterrupt(); + } +} \ No newline at end of file diff --git a/firmware/libraries/Adafruit_APDS9960_Library/library.properties b/firmware/libraries/Adafruit_APDS9960_Library/library.properties new file mode 100644 index 0000000..87306de --- /dev/null +++ b/firmware/libraries/Adafruit_APDS9960_Library/library.properties @@ -0,0 +1,9 @@ +name=Adafruit APDS9960 Library +version=1.0.5 +author=Adafruit +maintainer=Adafruit +sentence=This is a library for the Adafruit APDS9960 gesture/proximity/color/light sensor. +paragraph=This is a library for the Adafruit APDS9960 gesture/proximity/color/light sensor. +category=Sensors +url=https://github.com/adafruit/Adafruit_APDS9960 +architectures=* diff --git a/firmware/libraries/Adafruit_BME280_Library/Adafruit_BME280.cpp b/firmware/libraries/Adafruit_BME280_Library/Adafruit_BME280.cpp new file mode 100644 index 0000000..373b5a7 --- /dev/null +++ b/firmware/libraries/Adafruit_BME280_Library/Adafruit_BME280.cpp @@ -0,0 +1,530 @@ +/*************************************************************************** + This is a library for the BME280 humidity, temperature & pressure sensor + + Designed specifically to work with the Adafruit BME280 Breakout + ----> http://www.adafruit.com/products/2650 + + These sensors use I2C or SPI to communicate, 2 or 4 pins are required + to interface. + + Adafruit invests time and resources providing this open source code, + please support Adafruit andopen-source hardware by purchasing products + from Adafruit! + + Written by Limor Fried & Kevin Townsend for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ***************************************************************************/ +#include "Arduino.h" +#include +#include +#include "Adafruit_BME280.h" + +/*************************************************************************** + PRIVATE FUNCTIONS + ***************************************************************************/ +Adafruit_BME280::Adafruit_BME280() + : _cs(-1), _mosi(-1), _miso(-1), _sck(-1) +{ } + +Adafruit_BME280::Adafruit_BME280(int8_t cspin) + : _cs(cspin), _mosi(-1), _miso(-1), _sck(-1) +{ } + +Adafruit_BME280::Adafruit_BME280(int8_t cspin, int8_t mosipin, int8_t misopin, int8_t sckpin) + : _cs(cspin), _mosi(mosipin), _miso(misopin), _sck(sckpin) +{ } + + +/**************************************************************************/ +/*! + @brief Initialise sensor with given parameters / settings +*/ +/**************************************************************************/ +bool Adafruit_BME280::begin(TwoWire *theWire) +{ + _wire = theWire; + _i2caddr = BME280_ADDRESS; + return init(); +} + +bool Adafruit_BME280::begin(uint8_t addr) +{ + _i2caddr = addr; + _wire = &Wire; + return init(); +} + +bool Adafruit_BME280::begin(uint8_t addr, TwoWire *theWire) +{ + _i2caddr = addr; + _wire = theWire; + return init(); +} + +bool Adafruit_BME280::begin(void) +{ + _i2caddr = BME280_ADDRESS; + _wire = &Wire; + return init(); +} + +bool Adafruit_BME280::init() +{ + // init I2C or SPI sensor interface + if (_cs == -1) { + // I2C + _wire -> begin(); + } else { + digitalWrite(_cs, HIGH); + pinMode(_cs, OUTPUT); + if (_sck == -1) { + // hardware SPI + SPI.begin(); + } else { + // software SPI + pinMode(_sck, OUTPUT); + pinMode(_mosi, OUTPUT); + pinMode(_miso, INPUT); + } + } + + // check if sensor, i.e. the chip ID is correct + if (read8(BME280_REGISTER_CHIPID) != 0x60) + return false; + + // reset the device using soft-reset + // this makes sure the IIR is off, etc. + write8(BME280_REGISTER_SOFTRESET, 0xB6); + + // wait for chip to wake up. + delay(300); + + // if chip is still reading calibration, delay + while (isReadingCalibration()) + delay(100); + + readCoefficients(); // read trimming parameters, see DS 4.2.2 + + setSampling(); // use defaults + + delay(100); + + return true; +} + +/**************************************************************************/ +/*! + @brief setup sensor with given parameters / settings + + This is simply a overload to the normal begin()-function, so SPI users + don't get confused about the library requiring an address. +*/ +/**************************************************************************/ + + +void Adafruit_BME280::setSampling(sensor_mode mode, + sensor_sampling tempSampling, + sensor_sampling pressSampling, + sensor_sampling humSampling, + sensor_filter filter, + standby_duration duration) { + _measReg.mode = mode; + _measReg.osrs_t = tempSampling; + _measReg.osrs_p = pressSampling; + + + _humReg.osrs_h = humSampling; + _configReg.filter = filter; + _configReg.t_sb = duration; + + + // you must make sure to also set REGISTER_CONTROL after setting the + // CONTROLHUMID register, otherwise the values won't be applied (see DS 5.4.3) + write8(BME280_REGISTER_CONTROLHUMID, _humReg.get()); + write8(BME280_REGISTER_CONFIG, _configReg.get()); + write8(BME280_REGISTER_CONTROL, _measReg.get()); +} + + +/**************************************************************************/ +/*! + @brief Encapsulate hardware and software SPI transfer into one function +*/ +/**************************************************************************/ +uint8_t Adafruit_BME280::spixfer(uint8_t x) { + // hardware SPI + if (_sck == -1) + return SPI.transfer(x); + + // software SPI + uint8_t reply = 0; + for (int i=7; i>=0; i--) { + reply <<= 1; + digitalWrite(_sck, LOW); + digitalWrite(_mosi, x & (1< beginTransmission((uint8_t)_i2caddr); + _wire -> write((uint8_t)reg); + _wire -> write((uint8_t)value); + _wire -> endTransmission(); + } else { + if (_sck == -1) + SPI.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0)); + digitalWrite(_cs, LOW); + spixfer(reg & ~0x80); // write, bit 7 low + spixfer(value); + digitalWrite(_cs, HIGH); + if (_sck == -1) + SPI.endTransaction(); // release the SPI bus + } +} + + +/**************************************************************************/ +/*! + @brief Reads an 8 bit value over I2C or SPI +*/ +/**************************************************************************/ +uint8_t Adafruit_BME280::read8(byte reg) { + uint8_t value; + + if (_cs == -1) { + _wire -> beginTransmission((uint8_t)_i2caddr); + _wire -> write((uint8_t)reg); + _wire -> endTransmission(); + _wire -> requestFrom((uint8_t)_i2caddr, (byte)1); + value = _wire -> read(); + } else { + if (_sck == -1) + SPI.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0)); + digitalWrite(_cs, LOW); + spixfer(reg | 0x80); // read, bit 7 high + value = spixfer(0); + digitalWrite(_cs, HIGH); + if (_sck == -1) + SPI.endTransaction(); // release the SPI bus + } + return value; +} + + +/**************************************************************************/ +/*! + @brief Reads a 16 bit value over I2C or SPI +*/ +/**************************************************************************/ +uint16_t Adafruit_BME280::read16(byte reg) +{ + uint16_t value; + + if (_cs == -1) { + _wire -> beginTransmission((uint8_t)_i2caddr); + _wire -> write((uint8_t)reg); + _wire -> endTransmission(); + _wire -> requestFrom((uint8_t)_i2caddr, (byte)2); + value = (_wire -> read() << 8) | _wire -> read(); + } else { + if (_sck == -1) + SPI.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0)); + digitalWrite(_cs, LOW); + spixfer(reg | 0x80); // read, bit 7 high + value = (spixfer(0) << 8) | spixfer(0); + digitalWrite(_cs, HIGH); + if (_sck == -1) + SPI.endTransaction(); // release the SPI bus + } + + return value; +} + + +/**************************************************************************/ +/*! + +*/ +/**************************************************************************/ +uint16_t Adafruit_BME280::read16_LE(byte reg) { + uint16_t temp = read16(reg); + return (temp >> 8) | (temp << 8); +} + + +/**************************************************************************/ +/*! + @brief Reads a signed 16 bit value over I2C or SPI +*/ +/**************************************************************************/ +int16_t Adafruit_BME280::readS16(byte reg) +{ + return (int16_t)read16(reg); +} + + +/**************************************************************************/ +/*! + +*/ +/**************************************************************************/ +int16_t Adafruit_BME280::readS16_LE(byte reg) +{ + return (int16_t)read16_LE(reg); +} + + +/**************************************************************************/ +/*! + @brief Reads a 24 bit value over I2C +*/ +/**************************************************************************/ +uint32_t Adafruit_BME280::read24(byte reg) +{ + uint32_t value; + + if (_cs == -1) { + _wire -> beginTransmission((uint8_t)_i2caddr); + _wire -> write((uint8_t)reg); + _wire -> endTransmission(); + _wire -> requestFrom((uint8_t)_i2caddr, (byte)3); + + value = _wire -> read(); + value <<= 8; + value |= _wire -> read(); + value <<= 8; + value |= _wire -> read(); + } else { + if (_sck == -1) + SPI.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0)); + digitalWrite(_cs, LOW); + spixfer(reg | 0x80); // read, bit 7 high + + value = spixfer(0); + value <<= 8; + value |= spixfer(0); + value <<= 8; + value |= spixfer(0); + + digitalWrite(_cs, HIGH); + if (_sck == -1) + SPI.endTransaction(); // release the SPI bus + } + + return value; +} + + +/**************************************************************************/ +/*! + @brief Take a new measurement (only possible in forced mode) +*/ +/**************************************************************************/ +void Adafruit_BME280::takeForcedMeasurement() +{ + // If we are in forced mode, the BME sensor goes back to sleep after each + // measurement and we need to set it to forced mode once at this point, so + // it will take the next measurement and then return to sleep again. + // In normal mode simply does new measurements periodically. + if (_measReg.mode == MODE_FORCED) { + // set to forced mode, i.e. "take next measurement" + write8(BME280_REGISTER_CONTROL, _measReg.get()); + // wait until measurement has been completed, otherwise we would read + // the values from the last measurement + while (read8(BME280_REGISTER_STATUS) & 0x08) + delay(1); + } +} + + +/**************************************************************************/ +/*! + @brief Reads the factory-set coefficients +*/ +/**************************************************************************/ +void Adafruit_BME280::readCoefficients(void) +{ + _bme280_calib.dig_T1 = read16_LE(BME280_REGISTER_DIG_T1); + _bme280_calib.dig_T2 = readS16_LE(BME280_REGISTER_DIG_T2); + _bme280_calib.dig_T3 = readS16_LE(BME280_REGISTER_DIG_T3); + + _bme280_calib.dig_P1 = read16_LE(BME280_REGISTER_DIG_P1); + _bme280_calib.dig_P2 = readS16_LE(BME280_REGISTER_DIG_P2); + _bme280_calib.dig_P3 = readS16_LE(BME280_REGISTER_DIG_P3); + _bme280_calib.dig_P4 = readS16_LE(BME280_REGISTER_DIG_P4); + _bme280_calib.dig_P5 = readS16_LE(BME280_REGISTER_DIG_P5); + _bme280_calib.dig_P6 = readS16_LE(BME280_REGISTER_DIG_P6); + _bme280_calib.dig_P7 = readS16_LE(BME280_REGISTER_DIG_P7); + _bme280_calib.dig_P8 = readS16_LE(BME280_REGISTER_DIG_P8); + _bme280_calib.dig_P9 = readS16_LE(BME280_REGISTER_DIG_P9); + + _bme280_calib.dig_H1 = read8(BME280_REGISTER_DIG_H1); + _bme280_calib.dig_H2 = readS16_LE(BME280_REGISTER_DIG_H2); + _bme280_calib.dig_H3 = read8(BME280_REGISTER_DIG_H3); + _bme280_calib.dig_H4 = (read8(BME280_REGISTER_DIG_H4) << 4) | (read8(BME280_REGISTER_DIG_H4+1) & 0xF); + _bme280_calib.dig_H5 = (read8(BME280_REGISTER_DIG_H5+1) << 4) | (read8(BME280_REGISTER_DIG_H5) >> 4); + _bme280_calib.dig_H6 = (int8_t)read8(BME280_REGISTER_DIG_H6); +} + +/**************************************************************************/ +/*! + @brief return true if chip is busy reading cal data +*/ +/**************************************************************************/ +bool Adafruit_BME280::isReadingCalibration(void) +{ + uint8_t const rStatus = read8(BME280_REGISTER_STATUS); + + return (rStatus & (1 << 0)) != 0; +} + + +/**************************************************************************/ +/*! + @brief Returns the temperature from the sensor +*/ +/**************************************************************************/ +float Adafruit_BME280::readTemperature(void) +{ + int32_t var1, var2; + + int32_t adc_T = read24(BME280_REGISTER_TEMPDATA); + if (adc_T == 0x800000) // value in case temp measurement was disabled + return NAN; + adc_T >>= 4; + + var1 = ((((adc_T>>3) - ((int32_t)_bme280_calib.dig_T1 <<1))) * + ((int32_t)_bme280_calib.dig_T2)) >> 11; + + var2 = (((((adc_T>>4) - ((int32_t)_bme280_calib.dig_T1)) * + ((adc_T>>4) - ((int32_t)_bme280_calib.dig_T1))) >> 12) * + ((int32_t)_bme280_calib.dig_T3)) >> 14; + + t_fine = var1 + var2; + + float T = (t_fine * 5 + 128) >> 8; + return T/100; +} + + +/**************************************************************************/ +/*! + @brief Returns the temperature from the sensor +*/ +/**************************************************************************/ +float Adafruit_BME280::readPressure(void) { + int64_t var1, var2, p; + + readTemperature(); // must be done first to get t_fine + + int32_t adc_P = read24(BME280_REGISTER_PRESSUREDATA); + if (adc_P == 0x800000) // value in case pressure measurement was disabled + return NAN; + adc_P >>= 4; + + var1 = ((int64_t)t_fine) - 128000; + var2 = var1 * var1 * (int64_t)_bme280_calib.dig_P6; + var2 = var2 + ((var1*(int64_t)_bme280_calib.dig_P5)<<17); + var2 = var2 + (((int64_t)_bme280_calib.dig_P4)<<35); + var1 = ((var1 * var1 * (int64_t)_bme280_calib.dig_P3)>>8) + + ((var1 * (int64_t)_bme280_calib.dig_P2)<<12); + var1 = (((((int64_t)1)<<47)+var1))*((int64_t)_bme280_calib.dig_P1)>>33; + + if (var1 == 0) { + return 0; // avoid exception caused by division by zero + } + p = 1048576 - adc_P; + p = (((p<<31) - var2)*3125) / var1; + var1 = (((int64_t)_bme280_calib.dig_P9) * (p>>13) * (p>>13)) >> 25; + var2 = (((int64_t)_bme280_calib.dig_P8) * p) >> 19; + + p = ((p + var1 + var2) >> 8) + (((int64_t)_bme280_calib.dig_P7)<<4); + return (float)p/256; +} + + +/**************************************************************************/ +/*! + @brief Returns the humidity from the sensor +*/ +/**************************************************************************/ +float Adafruit_BME280::readHumidity(void) { + readTemperature(); // must be done first to get t_fine + + int32_t adc_H = read16(BME280_REGISTER_HUMIDDATA); + if (adc_H == 0x8000) // value in case humidity measurement was disabled + return NAN; + + int32_t v_x1_u32r; + + v_x1_u32r = (t_fine - ((int32_t)76800)); + + v_x1_u32r = (((((adc_H << 14) - (((int32_t)_bme280_calib.dig_H4) << 20) - + (((int32_t)_bme280_calib.dig_H5) * v_x1_u32r)) + ((int32_t)16384)) >> 15) * + (((((((v_x1_u32r * ((int32_t)_bme280_calib.dig_H6)) >> 10) * + (((v_x1_u32r * ((int32_t)_bme280_calib.dig_H3)) >> 11) + ((int32_t)32768))) >> 10) + + ((int32_t)2097152)) * ((int32_t)_bme280_calib.dig_H2) + 8192) >> 14)); + + v_x1_u32r = (v_x1_u32r - (((((v_x1_u32r >> 15) * (v_x1_u32r >> 15)) >> 7) * + ((int32_t)_bme280_calib.dig_H1)) >> 4)); + + v_x1_u32r = (v_x1_u32r < 0) ? 0 : v_x1_u32r; + v_x1_u32r = (v_x1_u32r > 419430400) ? 419430400 : v_x1_u32r; + float h = (v_x1_u32r>>12); + return h / 1024.0; +} + + +/**************************************************************************/ +/*! + Calculates the altitude (in meters) from the specified atmospheric + pressure (in hPa), and sea-level pressure (in hPa). + + @param seaLevel Sea-level pressure in hPa + @param atmospheric Atmospheric pressure in hPa +*/ +/**************************************************************************/ +float Adafruit_BME280::readAltitude(float seaLevel) +{ + // Equation taken from BMP180 datasheet (page 16): + // http://www.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf + + // Note that using the equation from wikipedia can give bad results + // at high altitude. See this thread for more information: + // http://forums.adafruit.com/viewtopic.php?f=22&t=58064 + + float atmospheric = readPressure() / 100.0F; + return 44330.0 * (1.0 - pow(atmospheric / seaLevel, 0.1903)); +} + + +/**************************************************************************/ +/*! + Calculates the pressure at sea level (in hPa) from the specified altitude + (in meters), and atmospheric pressure (in hPa). + @param altitude Altitude in meters + @param atmospheric Atmospheric pressure in hPa +*/ +/**************************************************************************/ +float Adafruit_BME280::seaLevelForAltitude(float altitude, float atmospheric) +{ + // Equation taken from BMP180 datasheet (page 17): + // http://www.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf + + // Note that using the equation from wikipedia can give bad results + // at high altitude. See this thread for more information: + // http://forums.adafruit.com/viewtopic.php?f=22&t=58064 + + return atmospheric / pow(1.0 - (altitude/44330.0), 5.255); +} diff --git a/firmware/libraries/Adafruit_BME280_Library/Adafruit_BME280.h b/firmware/libraries/Adafruit_BME280_Library/Adafruit_BME280.h new file mode 100644 index 0000000..61aeeed --- /dev/null +++ b/firmware/libraries/Adafruit_BME280_Library/Adafruit_BME280.h @@ -0,0 +1,300 @@ +/*************************************************************************** + This is a library for the BME280 humidity, temperature & pressure sensor + + Designed specifically to work with the Adafruit BME280 Breakout + ----> http://www.adafruit.com/products/2650 + + These sensors use I2C or SPI to communicate, 2 or 4 pins are required + to interface. + + Adafruit invests time and resources providing this open source code, + please support Adafruit andopen-source hardware by purchasing products + from Adafruit! + + Written by Limor Fried & Kevin Townsend for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ***************************************************************************/ +#ifndef __BME280_H__ +#define __BME280_H__ + +#if (ARDUINO >= 100) + #include "Arduino.h" +#else + #include "WProgram.h" +#endif + +#include +#include + +/*========================================================================= + I2C ADDRESS/BITS + -----------------------------------------------------------------------*/ + #define BME280_ADDRESS (0x77) +/*=========================================================================*/ + +/*========================================================================= + REGISTERS + -----------------------------------------------------------------------*/ + enum + { + BME280_REGISTER_DIG_T1 = 0x88, + BME280_REGISTER_DIG_T2 = 0x8A, + BME280_REGISTER_DIG_T3 = 0x8C, + + BME280_REGISTER_DIG_P1 = 0x8E, + BME280_REGISTER_DIG_P2 = 0x90, + BME280_REGISTER_DIG_P3 = 0x92, + BME280_REGISTER_DIG_P4 = 0x94, + BME280_REGISTER_DIG_P5 = 0x96, + BME280_REGISTER_DIG_P6 = 0x98, + BME280_REGISTER_DIG_P7 = 0x9A, + BME280_REGISTER_DIG_P8 = 0x9C, + BME280_REGISTER_DIG_P9 = 0x9E, + + BME280_REGISTER_DIG_H1 = 0xA1, + BME280_REGISTER_DIG_H2 = 0xE1, + BME280_REGISTER_DIG_H3 = 0xE3, + BME280_REGISTER_DIG_H4 = 0xE4, + BME280_REGISTER_DIG_H5 = 0xE5, + BME280_REGISTER_DIG_H6 = 0xE7, + + BME280_REGISTER_CHIPID = 0xD0, + BME280_REGISTER_VERSION = 0xD1, + BME280_REGISTER_SOFTRESET = 0xE0, + + BME280_REGISTER_CAL26 = 0xE1, // R calibration stored in 0xE1-0xF0 + + BME280_REGISTER_CONTROLHUMID = 0xF2, + BME280_REGISTER_STATUS = 0XF3, + BME280_REGISTER_CONTROL = 0xF4, + BME280_REGISTER_CONFIG = 0xF5, + BME280_REGISTER_PRESSUREDATA = 0xF7, + BME280_REGISTER_TEMPDATA = 0xFA, + BME280_REGISTER_HUMIDDATA = 0xFD + }; + +/*=========================================================================*/ + +/*========================================================================= + CALIBRATION DATA + -----------------------------------------------------------------------*/ + typedef struct + { + uint16_t dig_T1; + int16_t dig_T2; + int16_t dig_T3; + + uint16_t dig_P1; + int16_t dig_P2; + int16_t dig_P3; + int16_t dig_P4; + int16_t dig_P5; + int16_t dig_P6; + int16_t dig_P7; + int16_t dig_P8; + int16_t dig_P9; + + uint8_t dig_H1; + int16_t dig_H2; + uint8_t dig_H3; + int16_t dig_H4; + int16_t dig_H5; + int8_t dig_H6; + } bme280_calib_data; +/*=========================================================================*/ + +/* +class Adafruit_BME280_Unified : public Adafruit_Sensor +{ + public: + Adafruit_BME280_Unified(int32_t sensorID = -1); + + bool begin(uint8_t addr = BME280_ADDRESS); + void getTemperature(float *temp); + void getPressure(float *pressure); + float pressureToAltitude(float seaLevel, float atmospheric, float temp); + float seaLevelForAltitude(float altitude, float atmospheric, float temp); + void getEvent(sensors_event_t*); + void getSensor(sensor_t*); + + private: + uint8_t _i2c_addr; + int32_t _sensorID; +}; + +*/ + +class Adafruit_BME280 { + public: + enum sensor_sampling { + SAMPLING_NONE = 0b000, + SAMPLING_X1 = 0b001, + SAMPLING_X2 = 0b010, + SAMPLING_X4 = 0b011, + SAMPLING_X8 = 0b100, + SAMPLING_X16 = 0b101 + }; + + enum sensor_mode { + MODE_SLEEP = 0b00, + MODE_FORCED = 0b01, + MODE_NORMAL = 0b11 + }; + + enum sensor_filter { + FILTER_OFF = 0b000, + FILTER_X2 = 0b001, + FILTER_X4 = 0b010, + FILTER_X8 = 0b011, + FILTER_X16 = 0b100 + }; + + // standby durations in ms + enum standby_duration { + STANDBY_MS_0_5 = 0b000, + STANDBY_MS_10 = 0b110, + STANDBY_MS_20 = 0b111, + STANDBY_MS_62_5 = 0b001, + STANDBY_MS_125 = 0b010, + STANDBY_MS_250 = 0b011, + STANDBY_MS_500 = 0b100, + STANDBY_MS_1000 = 0b101 + }; + + // constructors + Adafruit_BME280(void); + Adafruit_BME280(int8_t cspin); + Adafruit_BME280(int8_t cspin, int8_t mosipin, int8_t misopin, int8_t sckpin); + + bool begin(void); + bool begin(TwoWire *theWire); + bool begin(uint8_t addr); + bool begin(uint8_t addr, TwoWire *theWire); + bool init(); + + void setSampling(sensor_mode mode = MODE_NORMAL, + sensor_sampling tempSampling = SAMPLING_X16, + sensor_sampling pressSampling = SAMPLING_X16, + sensor_sampling humSampling = SAMPLING_X16, + sensor_filter filter = FILTER_OFF, + standby_duration duration = STANDBY_MS_0_5 + ); + + void takeForcedMeasurement(); + float readTemperature(void); + float readPressure(void); + float readHumidity(void); + + float readAltitude(float seaLevel); + float seaLevelForAltitude(float altitude, float pressure); + + + private: + TwoWire *_wire; + void readCoefficients(void); + bool isReadingCalibration(void); + uint8_t spixfer(uint8_t x); + + void write8(byte reg, byte value); + uint8_t read8(byte reg); + uint16_t read16(byte reg); + uint32_t read24(byte reg); + int16_t readS16(byte reg); + uint16_t read16_LE(byte reg); // little endian + int16_t readS16_LE(byte reg); // little endian + + uint8_t _i2caddr; + int32_t _sensorID; + int32_t t_fine; + + int8_t _cs, _mosi, _miso, _sck; + + bme280_calib_data _bme280_calib; + + // The config register + struct config { + // inactive duration (standby time) in normal mode + // 000 = 0.5 ms + // 001 = 62.5 ms + // 010 = 125 ms + // 011 = 250 ms + // 100 = 500 ms + // 101 = 1000 ms + // 110 = 10 ms + // 111 = 20 ms + unsigned int t_sb : 3; + + // filter settings + // 000 = filter off + // 001 = 2x filter + // 010 = 4x filter + // 011 = 8x filter + // 100 and above = 16x filter + unsigned int filter : 3; + + // unused - don't set + unsigned int none : 1; + unsigned int spi3w_en : 1; + + unsigned int get() { + return (t_sb << 5) | (filter << 3) | spi3w_en; + } + }; + config _configReg; + + + // The ctrl_meas register + struct ctrl_meas { + // temperature oversampling + // 000 = skipped + // 001 = x1 + // 010 = x2 + // 011 = x4 + // 100 = x8 + // 101 and above = x16 + unsigned int osrs_t : 3; + + // pressure oversampling + // 000 = skipped + // 001 = x1 + // 010 = x2 + // 011 = x4 + // 100 = x8 + // 101 and above = x16 + unsigned int osrs_p : 3; + + // device mode + // 00 = sleep + // 01 or 10 = forced + // 11 = normal + unsigned int mode : 2; + + unsigned int get() { + return (osrs_t << 5) | (osrs_p << 3) | mode; + } + }; + ctrl_meas _measReg; + + + // The ctrl_hum register + struct ctrl_hum { + // unused - don't set + unsigned int none : 5; + + // pressure oversampling + // 000 = skipped + // 001 = x1 + // 010 = x2 + // 011 = x4 + // 100 = x8 + // 101 and above = x16 + unsigned int osrs_h : 3; + + unsigned int get() { + return (osrs_h); + } + }; + ctrl_hum _humReg; +}; + +#endif diff --git a/firmware/libraries/Adafruit_BME280_Library/README.md b/firmware/libraries/Adafruit_BME280_Library/README.md new file mode 100644 index 0000000..ed49542 --- /dev/null +++ b/firmware/libraries/Adafruit_BME280_Library/README.md @@ -0,0 +1,59 @@ +This is a library for the Adafruit BME280 Humidity, Barometric Pressure + Temp sensor + +Designed specifically to work with the Adafruit BME280 Breakout + * http://www.adafruit.com/products/2652 + +These sensors use I2C or SPI to communicate, up to 4 pins are required to interface + +Use of this library also requires [Adafruit_Sensor](https://github.com/adafruit/Adafruit_Sensor) +to be installed on your local system. + +Adafruit invests time and resources providing this open source code, +please support Adafruit and open-source hardware by purchasing +products from Adafruit! + +Check out the links above for our tutorials and wiring diagrams + +Written by Limor Fried/Ladyada for Adafruit Industries. +BSD license, all text above must be included in any redistribution + +To download. click the DOWNLOAD ZIP button, rename the uncompressed folder Adafruit_BME280. +Check that the Adafruit_BME280 folder contains Adafruit_BME280.cpp and Adafruit_BME280.h + +Place the Adafruit_BME280 library folder your arduinosketchfolder/libraries/ folder. +You may need to create the libraries subfolder if its your first library. Restart the IDE. + +We also have a great tutorial on Arduino library installation at: +http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use + + +## Compatibility + +MCU | Tested Works | Doesn't Work | Not Tested | Notes +------------------ | :----------: | :----------: | :---------: | ----- +Atmega328 @ 16MHz | X | | | +Atmega328 @ 12MHz | X | | | +Atmega32u4 @ 16MHz | X | | | Use SDA/SCL on pins D2 & D3 +Atmega32u4 @ 8MHz | X | | | Use SDA/SCL on pins D2 & D3 +ESP8266 | X | | | I2C: just works, SPI: SDA/SCL default to pins 4 & 5 but any two pins can be assigned as SDA/SCL using Wire.begin(SDA,SCL) +ESP32 | X | | | I2C: just works, SPI: SDA/SCL default to pins 4 & 5 but any two pins can be assigned as SDA/SCL using Wire.begin(SDA,SCL) +Atmega2560 @ 16MHz | X | | | Use SDA/SCL on pins 20 & 21 +ATSAM3X8E | X | | | Use SDA/SCL on pins 20 & 21 +ATSAM21D | X | | | +ATtiny85 @ 16MHz | | X | | +ATtiny85 @ 8MHz | | X | | +Intel Curie @ 32MHz | | | X | +STM32F2 | | | X | + + * ATmega328 @ 16MHz : Arduino UNO, Adafruit Pro Trinket 5V, Adafruit Metro 328, Adafruit Metro Mini + * ATmega328 @ 12MHz : Adafruit Pro Trinket 3V + * ATmega32u4 @ 16MHz : Arduino Leonardo, Arduino Micro, Arduino Yun, Teensy 2.0 + * ATmega32u4 @ 8MHz : Adafruit Flora, Bluefruit Micro + * ESP8266 : Adafruit Huzzah + * ATmega2560 @ 16MHz : Arduino Mega + * ATSAM3X8E : Arduino Due + * ATSAM21D : Arduino Zero, M0 Pro + * ATtiny85 @ 16MHz : Adafruit Trinket 5V + * ATtiny85 @ 8MHz : Adafruit Gemma, Arduino Gemma, Adafruit Trinket 3V + + diff --git a/firmware/libraries/Adafruit_BME280_Library/examples/advancedsettings/advancedsettings.ino b/firmware/libraries/Adafruit_BME280_Library/examples/advancedsettings/advancedsettings.ino new file mode 100644 index 0000000..68b22b9 --- /dev/null +++ b/firmware/libraries/Adafruit_BME280_Library/examples/advancedsettings/advancedsettings.ino @@ -0,0 +1,157 @@ +/*************************************************************************** + This is a library for the BME280 humidity, temperature & pressure sensor + + Designed specifically to work with the Adafruit BME280 Breakout + ----> http://www.adafruit.com/products/2650 + + These sensors use I2C or SPI to communicate, 2 or 4 pins are required + to interface. The device's I2C address is either 0x76 or 0x77. + + Adafruit invests time and resources providing this open source code, + please support Adafruit andopen-source hardware by purchasing products + from Adafruit! + + Written by Limor Fried & Kevin Townsend for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ***************************************************************************/ + +#include +#include +#include +#include + +#define BME_SCK 13 +#define BME_MISO 12 +#define BME_MOSI 11 +#define BME_CS 10 + +#define SEALEVELPRESSURE_HPA (1013.25) + +Adafruit_BME280 bme; // I2C +//Adafruit_BME280 bme(BME_CS); // hardware SPI +//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI + +unsigned long delayTime; + +void setup() { + Serial.begin(9600); + Serial.println(F("BME280 test")); + + if (! bme.begin(&Wire1)) { + Serial.println("Could not find a valid BME280 sensor, check wiring!"); + while (1); + } + + Serial.println("-- Default Test --"); + Serial.println("normal mode, 16x oversampling for all, filter off,"); + Serial.println("0.5ms standby period"); + delayTime = 5000; + + + // For more details on the following scenarious, see chapter + // 3.5 "Recommended modes of operation" in the datasheet + +/* + // weather monitoring + Serial.println("-- Weather Station Scenario --"); + Serial.println("forced mode, 1x temperature / 1x humidity / 1x pressure oversampling,"); + Serial.println("filter off"); + bme.setSampling(Adafruit_BME280::MODE_FORCED, + Adafruit_BME280::SAMPLING_X1, // temperature + Adafruit_BME280::SAMPLING_X1, // pressure + Adafruit_BME280::SAMPLING_X1, // humidity + Adafruit_BME280::FILTER_OFF ); + + // suggested rate is 1/60Hz (1m) + delayTime = 60000; // in milliseconds +*/ + +/* + // humidity sensing + Serial.println("-- Humidity Sensing Scenario --"); + Serial.println("forced mode, 1x temperature / 1x humidity / 0x pressure oversampling"); + Serial.println("= pressure off, filter off"); + bme.setSampling(Adafruit_BME280::MODE_FORCED, + Adafruit_BME280::SAMPLING_X1, // temperature + Adafruit_BME280::SAMPLING_NONE, // pressure + Adafruit_BME280::SAMPLING_X1, // humidity + Adafruit_BME280::FILTER_OFF ); + + // suggested rate is 1Hz (1s) + delayTime = 1000; // in milliseconds +*/ + +/* + // indoor navigation + Serial.println("-- Indoor Navigation Scenario --"); + Serial.println("normal mode, 16x pressure / 2x temperature / 1x humidity oversampling,"); + Serial.println("0.5ms standby period, filter 16x"); + bme.setSampling(Adafruit_BME280::MODE_NORMAL, + Adafruit_BME280::SAMPLING_X2, // temperature + Adafruit_BME280::SAMPLING_X16, // pressure + Adafruit_BME280::SAMPLING_X1, // humidity + Adafruit_BME280::FILTER_X16, + Adafruit_BME280::STANDBY_MS_0_5 ); + + // suggested rate is 25Hz + // 1 + (2 * T_ovs) + (2 * P_ovs + 0.5) + (2 * H_ovs + 0.5) + // T_ovs = 2 + // P_ovs = 16 + // H_ovs = 1 + // = 40ms (25Hz) + // with standby time that should really be 24.16913... Hz + delayTime = 41; + + /* + // gaming + Serial.println("-- Gaming Scenario --"); + Serial.println("normal mode, 4x pressure / 1x temperature / 0x humidity oversampling,"); + Serial.println("= humidity off, 0.5ms standby period, filter 16x"); + bme.setSampling(Adafruit_BME280::MODE_NORMAL, + Adafruit_BME280::SAMPLING_X1, // temperature + Adafruit_BME280::SAMPLING_X4, // pressure + Adafruit_BME280::SAMPLING_NONE, // humidity + Adafruit_BME280::FILTER_X16, + Adafruit_BME280::STANDBY_MS_0_5 ); + + // Suggested rate is 83Hz + // 1 + (2 * T_ovs) + (2 * P_ovs + 0.5) + // T_ovs = 1 + // P_ovs = 4 + // = 11.5ms + 0.5ms standby + delayTime = 12; +*/ + + Serial.println(); +} + + +void loop() { + // Only needed in forced mode! In normal mode, you can remove the next line. + bme.takeForcedMeasurement(); // has no effect in normal mode + + printValues(); + delay(delayTime); +} + + +void printValues() { + Serial.print("Temperature = "); + Serial.print(bme.readTemperature()); + Serial.println(" *C"); + + Serial.print("Pressure = "); + + Serial.print(bme.readPressure() / 100.0F); + Serial.println(" hPa"); + + Serial.print("Approx. Altitude = "); + Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); + Serial.println(" m"); + + Serial.print("Humidity = "); + Serial.print(bme.readHumidity()); + Serial.println(" %"); + + Serial.println(); +} \ No newline at end of file diff --git a/firmware/libraries/Adafruit_BME280_Library/examples/bme280test/bme280test.ino b/firmware/libraries/Adafruit_BME280_Library/examples/bme280test/bme280test.ino new file mode 100644 index 0000000..e8b5563 --- /dev/null +++ b/firmware/libraries/Adafruit_BME280_Library/examples/bme280test/bme280test.ino @@ -0,0 +1,82 @@ +/*************************************************************************** + This is a library for the BME280 humidity, temperature & pressure sensor + + Designed specifically to work with the Adafruit BME280 Breakout + ----> http://www.adafruit.com/products/2650 + + These sensors use I2C or SPI to communicate, 2 or 4 pins are required + to interface. The device's I2C address is either 0x76 or 0x77. + + Adafruit invests time and resources providing this open source code, + please support Adafruit andopen-source hardware by purchasing products + from Adafruit! + + Written by Limor Fried & Kevin Townsend for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ***************************************************************************/ + +#include +#include +#include +#include + +#define BME_SCK 13 +#define BME_MISO 12 +#define BME_MOSI 11 +#define BME_CS 10 + +#define SEALEVELPRESSURE_HPA (1013.25) + +Adafruit_BME280 bme; // I2C +//Adafruit_BME280 bme(BME_CS); // hardware SPI +//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI + +unsigned long delayTime; + +void setup() { + Serial.begin(9600); + Serial.println(F("BME280 test")); + + bool status; + + // default settings + // (you can also pass in a Wire library object like &Wire2) + status = bme.begin(); + if (!status) { + Serial.println("Could not find a valid BME280 sensor, check wiring!"); + while (1); + } + + Serial.println("-- Default Test --"); + delayTime = 1000; + + Serial.println(); +} + + +void loop() { + printValues(); + delay(delayTime); +} + + +void printValues() { + Serial.print("Temperature = "); + Serial.print(bme.readTemperature()); + Serial.println(" *C"); + + Serial.print("Pressure = "); + + Serial.print(bme.readPressure() / 100.0F); + Serial.println(" hPa"); + + Serial.print("Approx. Altitude = "); + Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); + Serial.println(" m"); + + Serial.print("Humidity = "); + Serial.print(bme.readHumidity()); + Serial.println(" %"); + + Serial.println(); +} \ No newline at end of file diff --git a/firmware/libraries/Adafruit_BME280_Library/library.properties b/firmware/libraries/Adafruit_BME280_Library/library.properties new file mode 100644 index 0000000..189c369 --- /dev/null +++ b/firmware/libraries/Adafruit_BME280_Library/library.properties @@ -0,0 +1,9 @@ +name=Adafruit BME280 Library +version=1.0.7 +author=Adafruit +maintainer=Adafruit +sentence=Arduino library for BME280 sensors. +paragraph=Arduino library for BME280 humidity and pressure sensors. +category=Sensors +url=https://github.com/adafruit/Adafruit_BME280_Library +architectures=* diff --git a/firmware/libraries/Adafruit_Unified_Sensor/Adafruit_Sensor.h b/firmware/libraries/Adafruit_Unified_Sensor/Adafruit_Sensor.h new file mode 100644 index 0000000..7742afc --- /dev/null +++ b/firmware/libraries/Adafruit_Unified_Sensor/Adafruit_Sensor.h @@ -0,0 +1,154 @@ +/* +* Copyright (C) 2008 The Android Open Source Project +* +* 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< /span> +* 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. +*/ + +/* Update by K. Townsend (Adafruit Industries) for lighter typedefs, and + * extended sensor support to include color, voltage and current */ + +#ifndef _ADAFRUIT_SENSOR_H +#define _ADAFRUIT_SENSOR_H + +#if ARDUINO >= 100 + #include "Arduino.h" + #include "Print.h" +#else + #include "WProgram.h" +#endif + +/* Intentionally modeled after sensors.h in the Android API: + * https://github.com/android/platform_hardware_libhardware/blob/master/include/hardware/sensors.h */ + +/* Constants */ +#define SENSORS_GRAVITY_EARTH (9.80665F) /**< Earth's gravity in m/s^2 */ +#define SENSORS_GRAVITY_MOON (1.6F) /**< The moon's gravity in m/s^2 */ +#define SENSORS_GRAVITY_SUN (275.0F) /**< The sun's gravity in m/s^2 */ +#define SENSORS_GRAVITY_STANDARD (SENSORS_GRAVITY_EARTH) +#define SENSORS_MAGFIELD_EARTH_MAX (60.0F) /**< Maximum magnetic field on Earth's surface */ +#define SENSORS_MAGFIELD_EARTH_MIN (30.0F) /**< Minimum magnetic field on Earth's surface */ +#define SENSORS_PRESSURE_SEALEVELHPA (1013.25F) /**< Average sea level pressure is 1013.25 hPa */ +#define SENSORS_DPS_TO_RADS (0.017453293F) /**< Degrees/s to rad/s multiplier */ +#define SENSORS_GAUSS_TO_MICROTESLA (100) /**< Gauss to micro-Tesla multiplier */ + +/** Sensor types */ +typedef enum +{ + SENSOR_TYPE_ACCELEROMETER = (1), /**< Gravity + linear acceleration */ + SENSOR_TYPE_MAGNETIC_FIELD = (2), + SENSOR_TYPE_ORIENTATION = (3), + SENSOR_TYPE_GYROSCOPE = (4), + SENSOR_TYPE_LIGHT = (5), + SENSOR_TYPE_PRESSURE = (6), + SENSOR_TYPE_PROXIMITY = (8), + SENSOR_TYPE_GRAVITY = (9), + SENSOR_TYPE_LINEAR_ACCELERATION = (10), /**< Acceleration not including gravity */ + SENSOR_TYPE_ROTATION_VECTOR = (11), + SENSOR_TYPE_RELATIVE_HUMIDITY = (12), + SENSOR_TYPE_AMBIENT_TEMPERATURE = (13), + SENSOR_TYPE_VOLTAGE = (15), + SENSOR_TYPE_CURRENT = (16), + SENSOR_TYPE_COLOR = (17) +} sensors_type_t; + +/** struct sensors_vec_s is used to return a vector in a common format. */ +typedef struct { + union { + float v[3]; + struct { + float x; + float y; + float z; + }; + /* Orientation sensors */ + struct { + float roll; /**< Rotation around the longitudinal axis (the plane body, 'X axis'). Roll is positive and increasing when moving downward. -90°<=roll<=90° */ + float pitch; /**< Rotation around the lateral axis (the wing span, 'Y axis'). Pitch is positive and increasing when moving upwards. -180°<=pitch<=180°) */ + float heading; /**< Angle between the longitudinal axis (the plane body) and magnetic north, measured clockwise when viewing from the top of the device. 0-359° */ + }; + }; + int8_t status; + uint8_t reserved[3]; +} sensors_vec_t; + +/** struct sensors_color_s is used to return color data in a common format. */ +typedef struct { + union { + float c[3]; + /* RGB color space */ + struct { + float r; /**< Red component */ + float g; /**< Green component */ + float b; /**< Blue component */ + }; + }; + uint32_t rgba; /**< 24-bit RGBA value */ +} sensors_color_t; + +/* Sensor event (36 bytes) */ +/** struct sensor_event_s is used to provide a single sensor event in a common format. */ +typedef struct +{ + int32_t version; /**< must be sizeof(struct sensors_event_t) */ + int32_t sensor_id; /**< unique sensor identifier */ + int32_t type; /**< sensor type */ + int32_t reserved0; /**< reserved */ + int32_t timestamp; /**< time is in milliseconds */ + union + { + float data[4]; + sensors_vec_t acceleration; /**< acceleration values are in meter per second per second (m/s^2) */ + sensors_vec_t magnetic; /**< magnetic vector values are in micro-Tesla (uT) */ + sensors_vec_t orientation; /**< orientation values are in degrees */ + sensors_vec_t gyro; /**< gyroscope values are in rad/s */ + float temperature; /**< temperature is in degrees centigrade (Celsius) */ + float distance; /**< distance in centimeters */ + float light; /**< light in SI lux units */ + float pressure; /**< pressure in hectopascal (hPa) */ + float relative_humidity; /**< relative humidity in percent */ + float current; /**< current in milliamps (mA) */ + float voltage; /**< voltage in volts (V) */ + sensors_color_t color; /**< color in RGB component values */ + }; +} sensors_event_t; + +/* Sensor details (40 bytes) */ +/** struct sensor_s is used to describe basic information about a specific sensor. */ +typedef struct +{ + char name[12]; /**< sensor name */ + int32_t version; /**< version of the hardware + driver */ + int32_t sensor_id; /**< unique sensor identifier */ + int32_t type; /**< this sensor's type (ex. SENSOR_TYPE_LIGHT) */ + float max_value; /**< maximum value of this sensor's value in SI units */ + float min_value; /**< minimum value of this sensor's value in SI units */ + float resolution; /**< smallest difference between two values reported by this sensor */ + int32_t min_delay; /**< min delay in microseconds between events. zero = not a constant rate */ +} sensor_t; + +class Adafruit_Sensor { + public: + // Constructor(s) + Adafruit_Sensor() {} + virtual ~Adafruit_Sensor() {} + + // These must be defined by the subclass + virtual void enableAutoRange(bool enabled) {}; + virtual bool getEvent(sensors_event_t*) = 0; + virtual void getSensor(sensor_t*) = 0; + + private: + bool _autoRange; +}; + +#endif diff --git a/firmware/libraries/Adafruit_Unified_Sensor/README.md b/firmware/libraries/Adafruit_Unified_Sensor/README.md new file mode 100644 index 0000000..8388b12 --- /dev/null +++ b/firmware/libraries/Adafruit_Unified_Sensor/README.md @@ -0,0 +1,218 @@ +# Adafruit Unified Sensor Driver # + +Many small embedded systems exist to collect data from sensors, analyse the data, and either take an appropriate action or send that sensor data to another system for processing. + +One of the many challenges of embedded systems design is the fact that parts you used today may be out of production tomorrow, or system requirements may change and you may need to choose a different sensor down the road. + +Creating new drivers is a relatively easy task, but integrating them into existing systems is both error prone and time consuming since sensors rarely use the exact same units of measurement. + +By reducing all data to a single **sensors\_event\_t** 'type' and settling on specific, **standardised SI units** for each sensor family the same sensor types return values that are comparable with any other similar sensor. This enables you to switch sensor models with very little impact on the rest of the system, which can help mitigate some of the risks and problems of sensor availability and code reuse. + +The unified sensor abstraction layer is also useful for data-logging and data-transmission since you only have one well-known type to log or transmit over the air or wire. + +## Unified Sensor Drivers ## + +The following drivers are based on the Adafruit Unified Sensor Driver: + +**Accelerometers** + - [Adafruit\_ADXL345](https://github.com/adafruit/Adafruit_ADXL345) + - [Adafruit\_LSM303DLHC](https://github.com/adafruit/Adafruit_LSM303DLHC) + - [Adafruit\_MMA8451\_Library](https://github.com/adafruit/Adafruit_MMA8451_Library) + +**Gyroscope** + - [Adafruit\_L3GD20\_U](https://github.com/adafruit/Adafruit_L3GD20_U) + +**Light** + - [Adafruit\_TSL2561](https://github.com/adafruit/Adafruit_TSL2561) + - [Adafruit\_TSL2591\_Library](https://github.com/adafruit/Adafruit_TSL2591_Library) + +**Magnetometers** + - [Adafruit\_LSM303DLHC](https://github.com/adafruit/Adafruit_LSM303DLHC) + - [Adafruit\_HMC5883\_Unified](https://github.com/adafruit/Adafruit_HMC5883_Unified) + +**Barometric Pressure** + - [Adafruit\_BMP085\_Unified](https://github.com/adafruit/Adafruit_BMP085_Unified) + - [Adafruit\_BMP183\_Unified\_Library](https://github.com/adafruit/Adafruit_BMP183_Unified_Library) + +**Humidity & Temperature** + - [Adafruit\_DHT\_Unified](https://github.com/adafruit/Adafruit_DHT_Unified) + +## How Does it Work? ## + +Any driver that supports the Adafruit unified sensor abstraction layer will implement the Adafruit\_Sensor base class. There are two main typedefs and one enum defined in Adafruit_Sensor.h that are used to 'abstract' away the sensor details and values: + +**Sensor Types (sensors\_type\_t)** + +These pre-defined sensor types are used to properly handle the two related typedefs below, and allows us determine what types of units the sensor uses, etc. + +``` +/** Sensor types */ +typedef enum +{ + SENSOR_TYPE_ACCELEROMETER = (1), + SENSOR_TYPE_MAGNETIC_FIELD = (2), + SENSOR_TYPE_ORIENTATION = (3), + SENSOR_TYPE_GYROSCOPE = (4), + SENSOR_TYPE_LIGHT = (5), + SENSOR_TYPE_PRESSURE = (6), + SENSOR_TYPE_PROXIMITY = (8), + SENSOR_TYPE_GRAVITY = (9), + SENSOR_TYPE_LINEAR_ACCELERATION = (10), + SENSOR_TYPE_ROTATION_VECTOR = (11), + SENSOR_TYPE_RELATIVE_HUMIDITY = (12), + SENSOR_TYPE_AMBIENT_TEMPERATURE = (13), + SENSOR_TYPE_VOLTAGE = (15), + SENSOR_TYPE_CURRENT = (16), + SENSOR_TYPE_COLOR = (17) +} sensors_type_t; +``` + +**Sensor Details (sensor\_t)** + +This typedef describes the specific capabilities of this sensor, and allows us to know what sensor we are using beneath the abstraction layer. + +``` +/* Sensor details (40 bytes) */ +/** struct sensor_s is used to describe basic information about a specific sensor. */ +typedef struct +{ + char name[12]; + int32_t version; + int32_t sensor_id; + int32_t type; + float max_value; + float min_value; + float resolution; + int32_t min_delay; +} sensor_t; +``` + +The individual fields are intended to be used as follows: + +- **name**: The sensor name or ID, up to a maximum of twelve characters (ex. "MPL115A2") +- **version**: The version of the sensor HW and the driver to allow us to differentiate versions of the board or driver +- **sensor\_id**: A unique sensor identifier that is used to differentiate this specific sensor instance from any others that are present on the system or in the sensor network +- **type**: The sensor type, based on **sensors\_type\_t** in sensors.h +- **max\_value**: The maximum value that this sensor can return (in the appropriate SI unit) +- **min\_value**: The minimum value that this sensor can return (in the appropriate SI unit) +- **resolution**: The smallest difference between two values that this sensor can report (in the appropriate SI unit) +- **min\_delay**: The minimum delay in microseconds between two sensor events, or '0' if there is no constant sensor rate + +**Sensor Data/Events (sensors\_event\_t)** + +This typedef is used to return sensor data from any sensor supported by the abstraction layer, using standard SI units and scales. + +``` +/* Sensor event (36 bytes) */ +/** struct sensor_event_s is used to provide a single sensor event in a common format. */ +typedef struct +{ + int32_t version; + int32_t sensor_id; + int32_t type; + int32_t reserved0; + int32_t timestamp; + union + { + float data[4]; + sensors_vec_t acceleration; + sensors_vec_t magnetic; + sensors_vec_t orientation; + sensors_vec_t gyro; + float temperature; + float distance; + float light; + float pressure; + float relative_humidity; + float current; + float voltage; + sensors_color_t color; + }; +} sensors_event_t; +``` +It includes the following fields: + +- **version**: Contain 'sizeof(sensors\_event\_t)' to identify which version of the API we're using in case this changes in the future +- **sensor\_id**: A unique sensor identifier that is used to differentiate this specific sensor instance from any others that are present on the system or in the sensor network (must match the sensor\_id value in the corresponding sensor\_t enum above!) +- **type**: the sensor type, based on **sensors\_type\_t** in sensors.h +- **timestamp**: time in milliseconds when the sensor value was read +- **data[4]**: An array of four 32-bit values that allows us to encapsulate any type of sensor data via a simple union (further described below) + +**Required Functions** + +In addition to the two standard types and the sensor type enum, all drivers based on Adafruit_Sensor must also implement the following two functions: + +``` +bool getEvent(sensors_event_t*); +``` +Calling this function will populate the supplied sensors\_event\_t reference with the latest available sensor data. You should call this function as often as you want to update your data. + +``` +void getSensor(sensor_t*); +``` +Calling this function will provide some basic information about the sensor (the sensor name, driver version, min and max values, etc. + +**Standardised SI values for sensors\_event\_t** + +A key part of the abstraction layer is the standardisation of values on SI units of a particular scale, which is accomplished via the data[4] union in sensors\_event\_t above. This 16 byte union includes fields for each main sensor type, and uses the following SI units and scales: + +- **acceleration**: values are in **meter per second per second** (m/s^2) +- **magnetic**: values are in **micro-Tesla** (uT) +- **orientation**: values are in **degrees** +- **gyro**: values are in **rad/s** +- **temperature**: values in **degrees centigrade** (Celsius) +- **distance**: values are in **centimeters** +- **light**: values are in **SI lux** units +- **pressure**: values are in **hectopascal** (hPa) +- **relative\_humidity**: values are in **percent** +- **current**: values are in **milliamps** (mA) +- **voltage**: values are in **volts** (V) +- **color**: values are in 0..1.0 RGB channel luminosity and 32-bit RGBA format + +## The Unified Driver Abstraction Layer in Practice ## + +Using the unified sensor abstraction layer is relatively easy once a compliant driver has been created. + +Every compliant sensor can now be read using a single, well-known 'type' (sensors\_event\_t), and there is a standardised way of interrogating a sensor about its specific capabilities (via sensor\_t). + +An example of reading the [TSL2561](https://github.com/adafruit/Adafruit_TSL2561) light sensor can be seen below: + +``` + Adafruit_TSL2561 tsl = Adafruit_TSL2561(TSL2561_ADDR_FLOAT, 12345); + ... + /* Get a new sensor event */ + sensors_event_t event; + tsl.getEvent(&event); + + /* Display the results (light is measured in lux) */ + if (event.light) + { + Serial.print(event.light); Serial.println(" lux"); + } + else + { + /* If event.light = 0 lux the sensor is probably saturated + and no reliable data could be generated! */ + Serial.println("Sensor overload"); + } +``` + +Similarly, we can get the basic technical capabilities of this sensor with the following code: + +``` + sensor_t sensor; + + sensor_t sensor; + tsl.getSensor(&sensor); + + /* Display the sensor details */ + Serial.println("------------------------------------"); + Serial.print ("Sensor: "); Serial.println(sensor.name); + Serial.print ("Driver Ver: "); Serial.println(sensor.version); + Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); + Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" lux"); + Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" lux"); + Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" lux"); + Serial.println("------------------------------------"); + Serial.println(""); +``` diff --git a/firmware/libraries/Adafruit_Unified_Sensor/library.properties b/firmware/libraries/Adafruit_Unified_Sensor/library.properties new file mode 100644 index 0000000..fa7eefa --- /dev/null +++ b/firmware/libraries/Adafruit_Unified_Sensor/library.properties @@ -0,0 +1,9 @@ +name=Adafruit Unified Sensor +version=1.0.2 +author=Adafruit +maintainer=Adafruit +sentence=Required for all Adafruit Unified Sensor based libraries. +paragraph=A unified sensor abstraction layer used by many Adafruit sensor libraries. +category=Sensors +url=https://github.com/adafruit/Adafruit_Sensor +architectures=* diff --git a/firmware/libraries/ESP8266Influxdb/ESP8266Influxdb.cpp b/firmware/libraries/ESP8266Influxdb/ESP8266Influxdb.cpp new file mode 100644 index 0000000..caf16bc --- /dev/null +++ b/firmware/libraries/ESP8266Influxdb/ESP8266Influxdb.cpp @@ -0,0 +1,176 @@ +#include "Arduino.h" +#include "ESP8266Influxdb.h" +#include + +#define DEBUG_PRINT // comment this line to disable debug print + +#ifndef DEBUG_PRINT +#define DEBUG_PRINT(a) +#else +#define DEBUG_PRINT(a) (Serial.println(String(F("[Debug]: "))+(a))) +#define _DEBUG +#endif + +Influxdb::Influxdb(const char *host, uint16_t port) : WiFiClient() { + _port = port; + _host = host; +} + +DB_RESPONSE Influxdb::opendb(String db, String user, String password) { + _db = "db=" + db + "&u=" + user + "&p=" + password; +} + +DB_RESPONSE Influxdb::opendb(String db) { + _db = "db=" + db; + +} + +DB_RESPONSE Influxdb::write(FIELD data) { + return write(data.postString()); +} + +DB_RESPONSE Influxdb::write(String data) { + if (!connect(_host, _port)) { + DEBUG_PRINT("connection failed"); + _response = DB_CONNECT_FAILED; + return _response; + } + String postHead = "POST /write?" + _db + " HTTP/1.1\r\n"; + postHead += "Host: " + String(_host) + ":" + String(_port) + "\r\n"; + // postHead += "Content-Type: application/x-www-form-urlencoded\r\n"; + postHead += "Content-Length: " + String(data.length()) + "\r\n\r\n"; + + DEBUG_PRINT("Writing data to " + String(_host) + ":" + String(_port)); + print(postHead + data); + DEBUG_PRINT(postHead + data); + + uint8_t t = 0; + // Check the reply whether writing is success or not + while (!available() && t < 200) { + delay(10); + t++; + } + if (t==200) {_response = DB_ERROR; return DB_ERROR; } // Return error if time out. + +#if !defined _DEBUG + if (available()) { + _response = (findUntil("204", "\r")) ? DB_SUCCESS : DB_ERROR; + return _response; + } +#else + _response=DB_ERROR; + while (available()) { + String line = readStringUntil('\n'); + if (line.substring(9,12)=="204") + _response = DB_SUCCESS; + DEBUG_PRINT("(Responsed): " + line); + } + return _response; +#endif + return DB_ERROR; +} + +DB_RESPONSE Influxdb::query(String sql) { + + if (!connect(_host, _port)) { + DEBUG_PRINT("connection failed"); + _response = DB_CONNECT_FAILED; + return _response; + } + + String url = "/query?"; +#if defined _DEBUG + url += "pretty=true&"; +#endif + url += _db; + url += "&q=" + URLEncode(sql); + DEBUG_PRINT("Requesting URL: "); + DEBUG_PRINT(url); + + // This will send the request to the server + print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + _host + + ":" + _port + "\r\n" + "Connection: close\r\n\r\n"); + + // Read all the lines of the reply from server and print them to Serial + uint8_t t = 0; + while (!available() && t < 200) { + delay(10); + t++; + } + if (t==200) {_response = DB_ERROR; return DB_ERROR; } // Return error if time out. + + DEBUG_PRINT("Receiving...."); + uint8_t i=0; + String line = readStringUntil('\n'); + DEBUG_PRINT("[HEAD] " + line); + + if (line.substring(9,12) == "200") { + while (available()) { + line = readStringUntil('\n'); + DEBUG_PRINT("(HEAD) " + line); + if (i < 6 ) i++; else return _response; + } + _response = DB_SUCCESS; + } + else{ + _response = DB_ERROR; +#if defined _DEBUG + while (available()) { + line = readStringUntil('\n'); + DEBUG_PRINT("[HEAD] " + line); + } +#endif + } + + return _response; +} + +DB_RESPONSE Influxdb::response() { + return _response; +} + +/* -----------------------------------------------*/ +// Field object +/* -----------------------------------------------*/ +FIELD::FIELD(String m) { + measurement = m; +} + +void FIELD::empty() { + _data = ""; + _tag = ""; +} + +void FIELD::addTag(String key, String value) { + _tag += "," + key + "=" + value; +} + +void FIELD::addField(String key, float value) { + _data = (_data == "") ? (" ") : (_data += ","); + _data += key + "=" + String(value); +} + +String FIELD::postString() { + // uint32_t utc = 1448114561 + millis() /1000; + return measurement + _tag + _data; +} + +// URL Encode with Arduino String object +String URLEncode(String msg) { + const char *hex = "0123456789abcdef"; + String encodedMsg = ""; + + uint16_t i; + for (i = 0; i < msg.length(); i++) { + if (('a' <= msg.charAt(i) && msg.charAt(i) <= 'z') || + ('A' <= msg.charAt(i) && msg.charAt(i) <= 'Z') || + ('0' <= msg.charAt(i) && msg.charAt(i) <= '9')) { + encodedMsg += msg.charAt(i); + } else { + encodedMsg += '%'; + encodedMsg += hex[msg.charAt(i) >> 4]; + encodedMsg += hex[msg.charAt(i) & 15]; + } + } + return encodedMsg; +} diff --git a/firmware/libraries/ESP8266Influxdb/ESP8266Influxdb.h b/firmware/libraries/ESP8266Influxdb/ESP8266Influxdb.h new file mode 100644 index 0000000..4b0f78e --- /dev/null +++ b/firmware/libraries/ESP8266Influxdb/ESP8266Influxdb.h @@ -0,0 +1,72 @@ +/* Influxdb library + + MIT license + Written by HW Wong + */ + +#ifndef INFLUXDB_H +#define INFLUXDB_H +#include "Arduino.h" +#include + +enum DB_RESPONSE {DB_SUCCESS, DB_ERROR, DB_CONNECT_FAILED}; + +// Url encode function +String URLEncode(String msg); + +class FIELD +{ +public: + FIELD(String m); + + String measurement; + + void addField(String key, float value); + void addTag(String key, String value); + void empty(); + String postString(); + +private: + String _data; + String _tag; + +}; + +class Influxdb : private WiFiClient +{ +public: + Influxdb(const char* host, uint16_t port); + + DB_RESPONSE opendb(String db); + DB_RESPONSE opendb(String db, String user, String password); + DB_RESPONSE write(FIELD data); + DB_RESPONSE write(String data); + DB_RESPONSE query(String sql); + //uint8_t createDatabase(char *dbname); + DB_RESPONSE response(); + + using WiFiClient::available; + using WiFiClient::read; + using WiFiClient::flush; + using WiFiClient::find; + using WiFiClient::findUntil; + using WiFiClient::peek; + using WiFiClient::readBytes; + using WiFiClient::readBytesUntil; + using WiFiClient::readString; + using WiFiClient::readStringUntil; + using WiFiClient::parseInt; + using WiFiClient::setTimeout; + +private: + uint16_t _port; + const char* _host; + String _db; + DB_RESPONSE _response; + +}; + + + + +#endif diff --git a/firmware/libraries/ESP8266Influxdb/README.md b/firmware/libraries/ESP8266Influxdb/README.md new file mode 100644 index 0000000..99ad2ec --- /dev/null +++ b/firmware/libraries/ESP8266Influxdb/README.md @@ -0,0 +1 @@ +# ESP8266Influxdb diff --git a/firmware/libraries/ESP8266Influxdb/examples/influxdb_write/influxdb_write.ino b/firmware/libraries/ESP8266Influxdb/examples/influxdb_write/influxdb_write.ino new file mode 100644 index 0000000..c89fc0b --- /dev/null +++ b/firmware/libraries/ESP8266Influxdb/examples/influxdb_write/influxdb_write.ino @@ -0,0 +1,63 @@ + +#include +#include +#include +#include + +const char *INFLUXDB_HOST = "host_or_ip"; +const uint16_t INFLUXDB_PORT = 8086; + +const char *DATABASE = "dbname"; +const char *DB_USER = "dbuser"; +const char *DB_PASSWORD = "dbpassword"; + +ESP8266WiFiMulti WiFiMulti; +Influxdb influxdb(INFLUXDB_HOST, INFLUXDB_PORT); + +void setup() { + Serial.begin(115200); + WiFiMulti.addAP("SSID", "PASSWORD"); + while (WiFiMulti.run() != WL_CONNECTED) { + delay(100); + } + Serial.println("Ready"); + influxdb.opendb(DATABASE, DB_USER, DB_PASSWORD); +} + +void loop() { + // Writing data with influxdb HTTP API + // https://influxdb.com/docs/v0.9/guides/writing_data.html + Serial.println("Writing data to host " + String(INFLUXDB_HOST) + ":" + + INFLUXDB_PORT + "'s database=" + DATABASE); + String data = "analog_read,method=HTTP_API,pin=A0 value=" + String(analogRead(A0)); + influxdb.write(data); + Serial.println(influxdb.response() == DB_SUCCESS ? "HTTP write success" + : "Writing failed"); + + // Writing data using FIELD object + // Create field object with measurment name=analog_read + FIELD dataObj("analog_read"); + dataObj.addTag("method", "Field_object"); // Add method tag + dataObj.addTag("pin", "A0"); // Add pin tag + dataObj.addField("value", analogRead(A0)); // Add value field + Serial.println(influxdb.write(dataObj) == DB_SUCCESS ? "Object write success" + : "Writing failed"); + + // Empty field object. + dataObj.empty(); + + // Querying Data + // https://influxdb.com/docs/v0.9/query_language/query_syntax.html + Serial.println("Querying data ........"); + + String sql = "select * from analog_read order by time desc limit 2"; + if (influxdb.query(sql) == DB_SUCCESS) { + while (influxdb.available()) { + String line = influxdb.readStringUntil('\n'); + Serial.println(line); + } + } + else + Serial.println("Query Failed"); + delay(30000); +} diff --git a/firmware/libraries/ESP8266Influxdb/keywords.txt b/firmware/libraries/ESP8266Influxdb/keywords.txt new file mode 100644 index 0000000..6b493f8 --- /dev/null +++ b/firmware/libraries/ESP8266Influxdb/keywords.txt @@ -0,0 +1,24 @@ +################################################## +# Syntax Coloring Map For ESP8266 Influxdb library +################################################## + +################################################## +# Datatypes (KEYWORD1) +################################################## + +Influxdb KEYWORD1 +FIELD KEYWORD1 +DB_RESPOND KEYWORD1 + +################################################## +# Methods and Functions (KEYWORD2) +################################################## + +addField KEYWORD2 +addTag KEYWORD2 +empty KEYWORD2 +opendb KEYWORD2 +write KEYWORD2 +query KEYWORD2 +postString KEYWORD2 +response KEYWORD2 diff --git a/firmware/libraries/WiFi/README.adoc b/firmware/libraries/WiFi/README.adoc new file mode 100644 index 0000000..82a56c2 --- /dev/null +++ b/firmware/libraries/WiFi/README.adoc @@ -0,0 +1,27 @@ += WiFi Library for Arduino = + +With the Arduino WiFi Shield, this library allows an Arduino board to connect to the internet. + +For more information about this library please visit us at +http://www.arduino.cc/en/Reference/WiFi + +== License == + +Copyright (c) 2011-2014 Arduino LLC. All right reserved. +Copyright (C) 2006-2008, Atmel Corporation All rights reserved. +Copyright (c) 2001-2004 Swedish Institute of Computer Science. +Copyright (c) 2009-2010, H&D Wireless AB All rights reserved. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/firmware/libraries/WiFi/examples/ConnectNoEncryption/ConnectNoEncryption.ino b/firmware/libraries/WiFi/examples/ConnectNoEncryption/ConnectNoEncryption.ino new file mode 100644 index 0000000..e12dfe3 --- /dev/null +++ b/firmware/libraries/WiFi/examples/ConnectNoEncryption/ConnectNoEncryption.ino @@ -0,0 +1,127 @@ +/* + + This example connects to an unencrypted Wifi network. + Then it prints the MAC address of the Wifi shield, + the IP address obtained, and other network details. + + Circuit: + * WiFi shield attached + + created 13 July 2010 + by dlf (Metodo2 srl) + modified 31 May 2012 + by Tom Igoe + */ +#include +#include + +char ssid[] = "yourNetwork"; // the name of your network +int status = WL_IDLE_STATUS; // the Wifi radio's status + +void setup() { + //Initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to open SSID: "); + Serial.println(ssid); + status = WiFi.begin(ssid); + + // wait 10 seconds for connection: + delay(10000); + } + + // you're connected now, so print out the data: + Serial.print("You're connected to the network"); + printCurrentNet(); + printWifiData(); +} + +void loop() { + // check the network connection once every 10 seconds: + delay(10000); + printCurrentNet(); +} + +void printWifiData() { + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + Serial.println(ip); + + // print your MAC address: + byte mac[6]; + WiFi.macAddress(mac); + Serial.print("MAC address: "); + Serial.print(mac[5], HEX); + Serial.print(":"); + Serial.print(mac[4], HEX); + Serial.print(":"); + Serial.print(mac[3], HEX); + Serial.print(":"); + Serial.print(mac[2], HEX); + Serial.print(":"); + Serial.print(mac[1], HEX); + Serial.print(":"); + Serial.println(mac[0], HEX); + + // print your subnet mask: + IPAddress subnet = WiFi.subnetMask(); + Serial.print("NetMask: "); + Serial.println(subnet); + + // print your gateway address: + IPAddress gateway = WiFi.gatewayIP(); + Serial.print("Gateway: "); + Serial.println(gateway); +} + +void printCurrentNet() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print the MAC address of the router you're attached to: + byte bssid[6]; + WiFi.BSSID(bssid); + Serial.print("BSSID: "); + Serial.print(bssid[5], HEX); + Serial.print(":"); + Serial.print(bssid[4], HEX); + Serial.print(":"); + Serial.print(bssid[3], HEX); + Serial.print(":"); + Serial.print(bssid[2], HEX); + Serial.print(":"); + Serial.print(bssid[1], HEX); + Serial.print(":"); + Serial.println(bssid[0], HEX); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.println(rssi); + + // print the encryption type: + byte encryption = WiFi.encryptionType(); + Serial.print("Encryption Type:"); + Serial.println(encryption, HEX); +} + diff --git a/firmware/libraries/WiFi/examples/ConnectWithWEP/ConnectWithWEP.ino b/firmware/libraries/WiFi/examples/ConnectWithWEP/ConnectWithWEP.ino new file mode 100644 index 0000000..93070f5 --- /dev/null +++ b/firmware/libraries/WiFi/examples/ConnectWithWEP/ConnectWithWEP.ino @@ -0,0 +1,132 @@ +/* + + This example connects to a WEP-encrypted Wifi network. + Then it prints the MAC address of the Wifi shield, + the IP address obtained, and other network details. + + If you use 40-bit WEP, you need a key that is 10 characters long, + and the characters must be hexadecimal (0-9 or A-F). + e.g. for 40-bit, ABBADEAF01 will work, but ABBADEAF won't work + (too short) and ABBAISDEAF won't work (I and S are not + hexadecimal characters). + + For 128-bit, you need a string that is 26 characters long. + D0D0DEADF00DABBADEAFBEADED will work because it's 26 characters, + all in the 0-9, A-F range. + + Circuit: + * WiFi shield attached + + created 13 July 2010 + by dlf (Metodo2 srl) + modified 31 May 2012 + by Tom Igoe + */ +#include +#include + +char ssid[] = "yourNetwork"; // your network SSID (name) +char key[] = "D0D0DEADF00DABBADEAFBEADED"; // your network key +int keyIndex = 0; // your network key Index number +int status = WL_IDLE_STATUS; // the Wifi radio's status + +void setup() { + //Initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to WEP network, SSID: "); + Serial.println(ssid); + status = WiFi.begin(ssid, keyIndex, key); + + // wait 10 seconds for connection: + delay(10000); + } + + // once you are connected : + Serial.print("You're connected to the network"); + printCurrentNet(); + printWifiData(); +} + +void loop() { + // check the network connection once every 10 seconds: + delay(10000); + printCurrentNet(); +} + +void printWifiData() { + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + Serial.println(ip); + + // print your MAC address: + byte mac[6]; + WiFi.macAddress(mac); + Serial.print("MAC address: "); + Serial.print(mac[5], HEX); + Serial.print(":"); + Serial.print(mac[4], HEX); + Serial.print(":"); + Serial.print(mac[3], HEX); + Serial.print(":"); + Serial.print(mac[2], HEX); + Serial.print(":"); + Serial.print(mac[1], HEX); + Serial.print(":"); + Serial.println(mac[0], HEX); +} + +void printCurrentNet() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print the MAC address of the router you're attached to: + byte bssid[6]; + WiFi.BSSID(bssid); + Serial.print("BSSID: "); + Serial.print(bssid[5], HEX); + Serial.print(":"); + Serial.print(bssid[4], HEX); + Serial.print(":"); + Serial.print(bssid[3], HEX); + Serial.print(":"); + Serial.print(bssid[2], HEX); + Serial.print(":"); + Serial.print(bssid[1], HEX); + Serial.print(":"); + Serial.println(bssid[0], HEX); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.println(rssi); + + // print the encryption type: + byte encryption = WiFi.encryptionType(); + Serial.print("Encryption Type:"); + Serial.println(encryption, HEX); + Serial.println(); +} + + + diff --git a/firmware/libraries/WiFi/examples/ConnectWithWPA/ConnectWithWPA.ino b/firmware/libraries/WiFi/examples/ConnectWithWPA/ConnectWithWPA.ino new file mode 100644 index 0000000..56ae372 --- /dev/null +++ b/firmware/libraries/WiFi/examples/ConnectWithWPA/ConnectWithWPA.ino @@ -0,0 +1,122 @@ +/* + + This example connects to an unencrypted Wifi network. + Then it prints the MAC address of the Wifi shield, + the IP address obtained, and other network details. + + Circuit: + * WiFi shield attached + + created 13 July 2010 + by dlf (Metodo2 srl) + modified 31 May 2012 + by Tom Igoe + */ +#include +#include + +char ssid[] = "yourNetwork"; // your network SSID (name) +char pass[] = "secretPassword"; // your network password +int status = WL_IDLE_STATUS; // the Wifi radio's status + +void setup() { + //Initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to WPA SSID: "); + Serial.println(ssid); + // Connect to WPA/WPA2 network: + status = WiFi.begin(ssid, pass); + + // wait 10 seconds for connection: + delay(10000); + } + + // you're connected now, so print out the data: + Serial.print("You're connected to the network"); + printCurrentNet(); + printWifiData(); + +} + +void loop() { + // check the network connection once every 10 seconds: + delay(10000); + printCurrentNet(); +} + +void printWifiData() { + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + Serial.println(ip); + + // print your MAC address: + byte mac[6]; + WiFi.macAddress(mac); + Serial.print("MAC address: "); + Serial.print(mac[5], HEX); + Serial.print(":"); + Serial.print(mac[4], HEX); + Serial.print(":"); + Serial.print(mac[3], HEX); + Serial.print(":"); + Serial.print(mac[2], HEX); + Serial.print(":"); + Serial.print(mac[1], HEX); + Serial.print(":"); + Serial.println(mac[0], HEX); + +} + +void printCurrentNet() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print the MAC address of the router you're attached to: + byte bssid[6]; + WiFi.BSSID(bssid); + Serial.print("BSSID: "); + Serial.print(bssid[5], HEX); + Serial.print(":"); + Serial.print(bssid[4], HEX); + Serial.print(":"); + Serial.print(bssid[3], HEX); + Serial.print(":"); + Serial.print(bssid[2], HEX); + Serial.print(":"); + Serial.print(bssid[1], HEX); + Serial.print(":"); + Serial.println(bssid[0], HEX); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.println(rssi); + + // print the encryption type: + byte encryption = WiFi.encryptionType(); + Serial.print("Encryption Type:"); + Serial.println(encryption, HEX); + Serial.println(); +} + diff --git a/firmware/libraries/WiFi/examples/ScanNetworks/ScanNetworks.ino b/firmware/libraries/WiFi/examples/ScanNetworks/ScanNetworks.ino new file mode 100644 index 0000000..7203207 --- /dev/null +++ b/firmware/libraries/WiFi/examples/ScanNetworks/ScanNetworks.ino @@ -0,0 +1,119 @@ +/* + + This example prints the Wifi shield's MAC address, and + scans for available Wifi networks using the Wifi shield. + Every ten seconds, it scans again. It doesn't actually + connect to any network, so no encryption scheme is specified. + + Circuit: + * WiFi shield attached + + created 13 July 2010 + by dlf (Metodo2 srl) + modified 21 Junn 2012 + by Tom Igoe and Jaymes Dec + */ + + +#include +#include + +void setup() { + //Initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // Print WiFi MAC address: + printMacAddress(); +} + +void loop() { + // scan for existing networks: + Serial.println("Scanning available networks..."); + listNetworks(); + delay(10000); +} + +void printMacAddress() { + // the MAC address of your Wifi shield + byte mac[6]; + + // print your MAC address: + WiFi.macAddress(mac); + Serial.print("MAC: "); + Serial.print(mac[5], HEX); + Serial.print(":"); + Serial.print(mac[4], HEX); + Serial.print(":"); + Serial.print(mac[3], HEX); + Serial.print(":"); + Serial.print(mac[2], HEX); + Serial.print(":"); + Serial.print(mac[1], HEX); + Serial.print(":"); + Serial.println(mac[0], HEX); +} + +void listNetworks() { + // scan for nearby networks: + Serial.println("** Scan Networks **"); + int numSsid = WiFi.scanNetworks(); + if (numSsid == -1) { + Serial.println("Couldn't get a wifi connection"); + while (true); + } + + // print the list of networks seen: + Serial.print("number of available networks:"); + Serial.println(numSsid); + + // print the network number and name for each network found: + for (int thisNet = 0; thisNet < numSsid; thisNet++) { + Serial.print(thisNet); + Serial.print(") "); + Serial.print(WiFi.SSID(thisNet)); + Serial.print("\tSignal: "); + Serial.print(WiFi.RSSI(thisNet)); + Serial.print(" dBm"); + Serial.print("\tEncryption: "); + printEncryptionType(WiFi.encryptionType(thisNet)); + } +} + +void printEncryptionType(int thisType) { + // read the encryption type and print out the name: + switch (thisType) { + case ENC_TYPE_WEP: + Serial.println("WEP"); + break; + case ENC_TYPE_TKIP: + Serial.println("WPA"); + break; + case ENC_TYPE_CCMP: + Serial.println("WPA2"); + break; + case ENC_TYPE_NONE: + Serial.println("None"); + break; + case ENC_TYPE_AUTO: + Serial.println("Auto"); + break; + } +} + + + diff --git a/firmware/libraries/WiFi/examples/SimpleWebServerWiFi/SimpleWebServerWiFi.ino b/firmware/libraries/WiFi/examples/SimpleWebServerWiFi/SimpleWebServerWiFi.ino new file mode 100644 index 0000000..c9cc5a6 --- /dev/null +++ b/firmware/libraries/WiFi/examples/SimpleWebServerWiFi/SimpleWebServerWiFi.ino @@ -0,0 +1,132 @@ +/* + WiFi Web Server LED Blink + + A simple web server that lets you blink an LED via the web. + This sketch will print the IP address of your WiFi Shield (once connected) + to the Serial monitor. From there, you can open that address in a web browser + to turn on and off the LED on pin 9. + + If the IP address of your shield is yourAddress: + http://yourAddress/H turns the LED on + http://yourAddress/L turns it off + + This example is written for a network using WPA encryption. For + WEP or WPA, change the Wifi.begin() call accordingly. + + Circuit: + * WiFi shield attached + * LED attached to pin 9 + + created 25 Nov 2012 + by Tom Igoe + */ +#include +#include + +char ssid[] = "yourNetwork"; // your network SSID (name) +char pass[] = "secretPassword"; // your network password +int keyIndex = 0; // your network key Index number (needed only for WEP) + +int status = WL_IDLE_STATUS; +WiFiServer server(80); + +void setup() { + Serial.begin(9600); // initialize serial communication + pinMode(9, OUTPUT); // set the LED pin mode + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + while (true); // don't continue + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to Network named: "); + Serial.println(ssid); // print the network name (SSID); + + // Connect to WPA/WPA2 network. Change this line if using open or WEP network: + status = WiFi.begin(ssid, pass); + // wait 10 seconds for connection: + delay(10000); + } + server.begin(); // start the web server on port 80 + printWifiStatus(); // you're connected now, so print out the status +} + + +void loop() { + WiFiClient client = server.available(); // listen for incoming clients + + if (client) { // if you get a client, + Serial.println("new client"); // print a message out the serial port + String currentLine = ""; // make a String to hold incoming data from the client + while (client.connected()) { // loop while the client's connected + if (client.available()) { // if there's bytes to read from the client, + char c = client.read(); // read a byte, then + Serial.write(c); // print it out the serial monitor + if (c == '\n') { // if the byte is a newline character + + // if the current line is blank, you got two newline characters in a row. + // that's the end of the client HTTP request, so send a response: + if (currentLine.length() == 0) { + // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK) + // and a content-type so the client knows what's coming, then a blank line: + client.println("HTTP/1.1 200 OK"); + client.println("Content-type:text/html"); + client.println(); + + // the content of the HTTP response follows the header: + client.print("Click here turn the LED on pin 9 on
"); + client.print("Click here turn the LED on pin 9 off
"); + + // The HTTP response ends with another blank line: + client.println(); + // break out of the while loop: + break; + } else { // if you got a newline, then clear currentLine: + currentLine = ""; + } + } else if (c != '\r') { // if you got anything else but a carriage return character, + currentLine += c; // add it to the end of the currentLine + } + + // Check to see if the client request was "GET /H" or "GET /L": + if (currentLine.endsWith("GET /H")) { + digitalWrite(9, HIGH); // GET /H turns the LED on + } + if (currentLine.endsWith("GET /L")) { + digitalWrite(9, LOW); // GET /L turns the LED off + } + } + } + // close the connection: + client.stop(); + Serial.println("client disonnected"); + } +} + +void printWifiStatus() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.print(rssi); + Serial.println(" dBm"); + // print where to go in a browser: + Serial.print("To see this page in action, open a browser to http://"); + Serial.println(ip); +} diff --git a/firmware/libraries/WiFi/examples/WiFiChatServer/WiFiChatServer.ino b/firmware/libraries/WiFi/examples/WiFiChatServer/WiFiChatServer.ino new file mode 100644 index 0000000..11b3268 --- /dev/null +++ b/firmware/libraries/WiFi/examples/WiFiChatServer/WiFiChatServer.ino @@ -0,0 +1,117 @@ +/* + Chat Server + + A simple server that distributes any incoming messages to all + connected clients. To use telnet to your device's IP address and type. + You can see the client's input in the serial monitor as well. + + This example is written for a network using WPA encryption. For + WEP or WPA, change the Wifi.begin() call accordingly. + + + Circuit: + * WiFi shield attached + + created 18 Dec 2009 + by David A. Mellis + modified 31 May 2012 + by Tom Igoe + + */ + +#include +#include + +char ssid[] = "yourNetwork"; // your network SSID (name) +char pass[] = "secretPassword"; // your network password (use for WPA, or use as key for WEP) + +int keyIndex = 0; // your network key Index number (needed only for WEP) + +int status = WL_IDLE_STATUS; + +WiFiServer server(23); + +boolean alreadyConnected = false; // whether or not the client was connected previously + +void setup() { + //Initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to SSID: "); + Serial.println(ssid); + // Connect to WPA/WPA2 network. Change this line if using open or WEP network: + status = WiFi.begin(ssid, pass); + + // wait 10 seconds for connection: + delay(10000); + } + + // start the server: + server.begin(); + // you're connected now, so print out the status: + printWifiStatus(); +} + + +void loop() { + // wait for a new client: + WiFiClient client = server.available(); + + + // when the client sends the first byte, say hello: + if (client) { + if (!alreadyConnected) { + // clead out the input buffer: + client.flush(); + Serial.println("We have a new client"); + client.println("Hello, client!"); + alreadyConnected = true; + } + + if (client.available() > 0) { + // read the bytes incoming from the client: + char thisChar = client.read(); + // echo the bytes back to the client: + server.write(thisChar); + // echo the bytes to the server as well: + Serial.write(thisChar); + } + } +} + + +void printWifiStatus() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.print(rssi); + Serial.println(" dBm"); +} + + diff --git a/firmware/libraries/WiFi/examples/WiFiUdpNtpClient/WiFiUdpNtpClient.ino b/firmware/libraries/WiFi/examples/WiFiUdpNtpClient/WiFiUdpNtpClient.ino new file mode 100644 index 0000000..118279d --- /dev/null +++ b/firmware/libraries/WiFi/examples/WiFiUdpNtpClient/WiFiUdpNtpClient.ino @@ -0,0 +1,182 @@ +/* + + Udp NTP Client + + Get the time from a Network Time Protocol (NTP) time server + Demonstrates use of UDP sendPacket and ReceivePacket + For more on NTP time servers and the messages needed to communicate with them, + see http://en.wikipedia.org/wiki/Network_Time_Protocol + + created 4 Sep 2010 + by Michael Margolis + modified 9 Apr 2012 + by Tom Igoe + + This code is in the public domain. + + */ + +#include +#include +#include + +int status = WL_IDLE_STATUS; +char ssid[] = "mynetwork"; // your network SSID (name) +char pass[] = "mypassword"; // your network password +int keyIndex = 0; // your network key Index number (needed only for WEP) + +unsigned int localPort = 2390; // local port to listen for UDP packets + +IPAddress timeServer(129, 6, 15, 28); // time.nist.gov NTP server + +const int NTP_PACKET_SIZE = 48; // NTP time stamp is in the first 48 bytes of the message + +byte packetBuffer[ NTP_PACKET_SIZE]; //buffer to hold incoming and outgoing packets + +// A UDP instance to let us send and receive packets over UDP +WiFiUDP Udp; + +void setup() { + // Open serial communications and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to SSID: "); + Serial.println(ssid); + // Connect to WPA/WPA2 network. Change this line if using open or WEP network: + status = WiFi.begin(ssid, pass); + + // wait 10 seconds for connection: + delay(10000); + } + + Serial.println("Connected to wifi"); + printWifiStatus(); + + Serial.println("\nStarting connection to server..."); + Udp.begin(localPort); +} + +void loop() { + sendNTPpacket(timeServer); // send an NTP packet to a time server + // wait to see if a reply is available + delay(1000); + if (Udp.parsePacket()) { + Serial.println("packet received"); + // We've received a packet, read the data from it + Udp.read(packetBuffer, NTP_PACKET_SIZE); // read the packet into the buffer + + //the timestamp starts at byte 40 of the received packet and is four bytes, + // or two words, long. First, esxtract the two words: + + unsigned long highWord = word(packetBuffer[40], packetBuffer[41]); + unsigned long lowWord = word(packetBuffer[42], packetBuffer[43]); + // combine the four bytes (two words) into a long integer + // this is NTP time (seconds since Jan 1 1900): + unsigned long secsSince1900 = highWord << 16 | lowWord; + Serial.print("Seconds since Jan 1 1900 = "); + Serial.println(secsSince1900); + + // now convert NTP time into everyday time: + Serial.print("Unix time = "); + // Unix time starts on Jan 1 1970. In seconds, that's 2208988800: + const unsigned long seventyYears = 2208988800UL; + // subtract seventy years: + unsigned long epoch = secsSince1900 - seventyYears; + // print Unix time: + Serial.println(epoch); + + + // print the hour, minute and second: + Serial.print("The UTC time is "); // UTC is the time at Greenwich Meridian (GMT) + Serial.print((epoch % 86400L) / 3600); // print the hour (86400 equals secs per day) + Serial.print(':'); + if (((epoch % 3600) / 60) < 10) { + // In the first 10 minutes of each hour, we'll want a leading '0' + Serial.print('0'); + } + Serial.print((epoch % 3600) / 60); // print the minute (3600 equals secs per minute) + Serial.print(':'); + if ((epoch % 60) < 10) { + // In the first 10 seconds of each minute, we'll want a leading '0' + Serial.print('0'); + } + Serial.println(epoch % 60); // print the second + } + // wait ten seconds before asking for the time again + delay(10000); +} + +// send an NTP request to the time server at the given address +unsigned long sendNTPpacket(IPAddress& address) { + //Serial.println("1"); + // set all bytes in the buffer to 0 + memset(packetBuffer, 0, NTP_PACKET_SIZE); + // Initialize values needed to form NTP request + // (see URL above for details on the packets) + //Serial.println("2"); + packetBuffer[0] = 0b11100011; // LI, Version, Mode + packetBuffer[1] = 0; // Stratum, or type of clock + packetBuffer[2] = 6; // Polling Interval + packetBuffer[3] = 0xEC; // Peer Clock Precision + // 8 bytes of zero for Root Delay & Root Dispersion + packetBuffer[12] = 49; + packetBuffer[13] = 0x4E; + packetBuffer[14] = 49; + packetBuffer[15] = 52; + + //Serial.println("3"); + + // all NTP fields have been given values, now + // you can send a packet requesting a timestamp: + Udp.beginPacket(address, 123); //NTP requests are to port 123 + //Serial.println("4"); + Udp.write(packetBuffer, NTP_PACKET_SIZE); + //Serial.println("5"); + Udp.endPacket(); + //Serial.println("6"); +} + + +void printWifiStatus() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.print(rssi); + Serial.println(" dBm"); +} + + + + + + + + + + diff --git a/firmware/libraries/WiFi/examples/WiFiUdpSendReceiveString/WiFiUdpSendReceiveString.ino b/firmware/libraries/WiFi/examples/WiFiUdpSendReceiveString/WiFiUdpSendReceiveString.ino new file mode 100644 index 0000000..1cd384b --- /dev/null +++ b/firmware/libraries/WiFi/examples/WiFiUdpSendReceiveString/WiFiUdpSendReceiveString.ino @@ -0,0 +1,118 @@ + +/* + WiFi UDP Send and Receive String + + This sketch wait an UDP packet on localPort using a WiFi shield. + When a packet is received an Acknowledge packet is sent to the client on port remotePort + + Circuit: + * WiFi shield attached + + created 30 December 2012 + by dlf (Metodo2 srl) + + */ + + +#include +#include +#include + +int status = WL_IDLE_STATUS; +char ssid[] = "yourNetwork"; // your network SSID (name) +char pass[] = "secretPassword"; // your network password (use for WPA, or use as key for WEP) +int keyIndex = 0; // your network key Index number (needed only for WEP) + +unsigned int localPort = 2390; // local port to listen on + +char packetBuffer[255]; //buffer to hold incoming packet +char ReplyBuffer[] = "acknowledged"; // a string to send back + +WiFiUDP Udp; + +void setup() { + //Initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to SSID: "); + Serial.println(ssid); + // Connect to WPA/WPA2 network. Change this line if using open or WEP network: + status = WiFi.begin(ssid); + + // wait 10 seconds for connection: + delay(10000); + } + Serial.println("Connected to wifi"); + printWifiStatus(); + + Serial.println("\nStarting connection to server..."); + // if you get a connection, report back via serial: + Udp.begin(localPort); +} + +void loop() { + + // if there's data available, read a packet + int packetSize = Udp.parsePacket(); + if (packetSize) { + Serial.print("Received packet of size "); + Serial.println(packetSize); + Serial.print("From "); + IPAddress remoteIp = Udp.remoteIP(); + Serial.print(remoteIp); + Serial.print(", port "); + Serial.println(Udp.remotePort()); + + // read the packet into packetBufffer + int len = Udp.read(packetBuffer, 255); + if (len > 0) { + packetBuffer[len] = 0; + } + Serial.println("Contents:"); + Serial.println(packetBuffer); + + // send a reply, to the IP address and port that sent us the packet we received + Udp.beginPacket(Udp.remoteIP(), Udp.remotePort()); + Udp.write(ReplyBuffer); + Udp.endPacket(); + } +} + + +void printWifiStatus() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.print(rssi); + Serial.println(" dBm"); +} + + + + diff --git a/firmware/libraries/WiFi/examples/WiFiWebClient/WiFiWebClient.ino b/firmware/libraries/WiFi/examples/WiFiWebClient/WiFiWebClient.ino new file mode 100644 index 0000000..33285c1 --- /dev/null +++ b/firmware/libraries/WiFi/examples/WiFiWebClient/WiFiWebClient.ino @@ -0,0 +1,126 @@ + +/* + Web client + + This sketch connects to a website (http://www.google.com) + using a WiFi shield. + + This example is written for a network using WPA encryption. For + WEP or WPA, change the Wifi.begin() call accordingly. + + This example is written for a network using WPA encryption. For + WEP or WPA, change the Wifi.begin() call accordingly. + + Circuit: + * WiFi shield attached + + created 13 July 2010 + by dlf (Metodo2 srl) + modified 31 May 2012 + by Tom Igoe + */ + + +#include +#include + +char ssid[] = "yourNetwork"; // your network SSID (name) +char pass[] = "secretPassword"; // your network password (use for WPA, or use as key for WEP) +int keyIndex = 0; // your network key Index number (needed only for WEP) + +int status = WL_IDLE_STATUS; +// if you don't want to use DNS (and reduce your sketch size) +// use the numeric IP instead of the name for the server: +//IPAddress server(74,125,232,128); // numeric IP for Google (no DNS) +char server[] = "www.google.com"; // name address for Google (using DNS) + +// Initialize the Ethernet client library +// with the IP address and port of the server +// that you want to connect to (port 80 is default for HTTP): +WiFiClient client; + +void setup() { + //Initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to SSID: "); + Serial.println(ssid); + // Connect to WPA/WPA2 network. Change this line if using open or WEP network: + status = WiFi.begin(ssid, pass); + + // wait 10 seconds for connection: + delay(10000); + } + Serial.println("Connected to wifi"); + printWifiStatus(); + + Serial.println("\nStarting connection to server..."); + // if you get a connection, report back via serial: + if (client.connect(server, 80)) { + Serial.println("connected to server"); + // Make a HTTP request: + client.println("GET /search?q=arduino HTTP/1.1"); + client.println("Host: www.google.com"); + client.println("Connection: close"); + client.println(); + } +} + +void loop() { + // if there are incoming bytes available + // from the server, read them and print them: + while (client.available()) { + char c = client.read(); + Serial.write(c); + } + + // if the server's disconnected, stop the client: + if (!client.connected()) { + Serial.println(); + Serial.println("disconnecting from server."); + client.stop(); + + // do nothing forevermore: + while (true); + } +} + + +void printWifiStatus() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.print(rssi); + Serial.println(" dBm"); +} + + + + + diff --git a/firmware/libraries/WiFi/examples/WiFiWebClientRepeating/WiFiWebClientRepeating.ino b/firmware/libraries/WiFi/examples/WiFiWebClientRepeating/WiFiWebClientRepeating.ino new file mode 100644 index 0000000..9953824 --- /dev/null +++ b/firmware/libraries/WiFi/examples/WiFiWebClientRepeating/WiFiWebClientRepeating.ino @@ -0,0 +1,131 @@ +/* + Repeating Wifi Web Client + + This sketch connects to a a web server and makes a request + using an Arduino Wifi shield. + + Circuit: + * WiFi shield attached to pins SPI pins and pin 7 + + created 23 April 2012 + modified 31 May 2012 + by Tom Igoe + modified 13 Jan 2014 + by Federico Vanzati + + http://www.arduino.cc/en/Tutorial/WifiWebClientRepeating + This code is in the public domain. + */ + +#include +#include + +char ssid[] = "yourNetwork"; // your network SSID (name) +char pass[] = "secretPassword"; // your network password +int keyIndex = 0; // your network key Index number (needed only for WEP) + +int status = WL_IDLE_STATUS; + +// Initialize the Wifi client library +WiFiClient client; + +// server address: +char server[] = "www.arduino.cc"; +//IPAddress server(64,131,82,241); + +unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds +const unsigned long postingInterval = 10L * 1000L; // delay between updates, in milliseconds + +void setup() { + //Initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to SSID: "); + Serial.println(ssid); + // Connect to WPA/WPA2 network. Change this line if using open or WEP network: + status = WiFi.begin(ssid, pass); + + // wait 10 seconds for connection: + delay(10000); + } + // you're connected now, so print out the status: + printWifiStatus(); +} + +void loop() { + // if there's incoming data from the net connection. + // send it out the serial port. This is for debugging + // purposes only: + while (client.available()) { + char c = client.read(); + Serial.write(c); + } + + // if ten seconds have passed since your last connection, + // then connect again and send data: + if (millis() - lastConnectionTime > postingInterval) { + httpRequest(); + } + +} + +// this method makes a HTTP connection to the server: +void httpRequest() { + // close any connection before send a new request. + // This will free the socket on the WiFi shield + client.stop(); + + // if there's a successful connection: + if (client.connect(server, 80)) { + Serial.println("connecting..."); + // send the HTTP PUT request: + client.println("GET /latest.txt HTTP/1.1"); + client.println("Host: www.arduino.cc"); + client.println("User-Agent: ArduinoWiFi/1.1"); + client.println("Connection: close"); + client.println(); + + // note the time that the connection was made: + lastConnectionTime = millis(); + } else { + // if you couldn't make a connection: + Serial.println("connection failed"); + } +} + + +void printWifiStatus() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.print(rssi); + Serial.println(" dBm"); +} + + diff --git a/firmware/libraries/WiFi/examples/WiFiWebServer/WiFiWebServer.ino b/firmware/libraries/WiFi/examples/WiFiWebServer/WiFiWebServer.ino new file mode 100644 index 0000000..c777d23 --- /dev/null +++ b/firmware/libraries/WiFi/examples/WiFiWebServer/WiFiWebServer.ino @@ -0,0 +1,138 @@ +/* + WiFi Web Server + + A simple web server that shows the value of the analog input pins. + using a WiFi shield. + + This example is written for a network using WPA encryption. For + WEP or WPA, change the Wifi.begin() call accordingly. + + Circuit: + * WiFi shield attached + * Analog inputs attached to pins A0 through A5 (optional) + + created 13 July 2010 + by dlf (Metodo2 srl) + modified 31 May 2012 + by Tom Igoe + + */ + +#include +#include + + +char ssid[] = "yourNetwork"; // your network SSID (name) +char pass[] = "secretPassword"; // your network password +int keyIndex = 0; // your network key Index number (needed only for WEP) + +int status = WL_IDLE_STATUS; + +WiFiServer server(80); + +void setup() { + //Initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for native USB port only + } + + // check for the presence of the shield: + if (WiFi.status() == WL_NO_SHIELD) { + Serial.println("WiFi shield not present"); + // don't continue: + while (true); + } + + String fv = WiFi.firmwareVersion(); + if (fv != "1.1.0") { + Serial.println("Please upgrade the firmware"); + } + + // attempt to connect to Wifi network: + while (status != WL_CONNECTED) { + Serial.print("Attempting to connect to SSID: "); + Serial.println(ssid); + // Connect to WPA/WPA2 network. Change this line if using open or WEP network: + status = WiFi.begin(ssid, pass); + + // wait 10 seconds for connection: + delay(10000); + } + server.begin(); + // you're connected now, so print out the status: + printWifiStatus(); +} + + +void loop() { + // listen for incoming clients + WiFiClient client = server.available(); + if (client) { + Serial.println("new client"); + // an http request ends with a blank line + boolean currentLineIsBlank = true; + while (client.connected()) { + if (client.available()) { + char c = client.read(); + Serial.write(c); + // if you've gotten to the end of the line (received a newline + // character) and the line is blank, the http request has ended, + // so you can send a reply + if (c == '\n' && currentLineIsBlank) { + // send a standard http response header + client.println("HTTP/1.1 200 OK"); + client.println("Content-Type: text/html"); + client.println("Connection: close"); // the connection will be closed after completion of the response + client.println("Refresh: 5"); // refresh the page automatically every 5 sec + client.println(); + client.println(""); + client.println(""); + // output the value of each analog input pin + for (int analogChannel = 0; analogChannel < 6; analogChannel++) { + int sensorReading = analogRead(analogChannel); + client.print("analog input "); + client.print(analogChannel); + client.print(" is "); + client.print(sensorReading); + client.println("
"); + } + client.println(""); + break; + } + if (c == '\n') { + // you're starting a new line + currentLineIsBlank = true; + } else if (c != '\r') { + // you've gotten a character on the current line + currentLineIsBlank = false; + } + } + } + // give the web browser time to receive the data + delay(1); + + // close the connection: + client.stop(); + Serial.println("client disonnected"); + } +} + + +void printWifiStatus() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); + + // print the received signal strength: + long rssi = WiFi.RSSI(); + Serial.print("signal strength (RSSI):"); + Serial.print(rssi); + Serial.println(" dBm"); +} + diff --git a/firmware/libraries/WiFi/extras/binary/wifiHD.elf b/firmware/libraries/WiFi/extras/binary/wifiHD.elf new file mode 100644 index 0000000000000000000000000000000000000000..d4a8bde55f5e9f4440ca6881789df6174559b9f5 GIT binary patch literal 724331 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

m@+A`c*P=h+aD^p|e)CJn= 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

    )*zjJmVvhk@c*XvfgZeFo=x7(G) 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Πxs2zu|BTUC%4e~V2WB~AOff!V|WO%g4bodX5 z&qL;K$J+U%M8zgND|&xu$KN@tJ#Kb;u6x{HA?2G1{uVrI!2urB=A|`3+AphoEvi=e ze1hZ5?Nb?PD_#vA@mS1TnGiw8D&Lie7;4i30;@nHybDR6n&13&4|cfwl=DFK7XLua zh_UUZMf8ooK2Cp4wA;~f7Kq1}2f3P` z;eQpo*n81sW2u7m9p|wud&aKrG;5Vdl03+r!}35L@r?`dv;j(%tX+Sj}-;K(0$rmot%PQn~BHcbObzglkAJ@6YhEop-VXd;j ztD-~KD)pqTdWqem>d7`JcH7~^Rzo(miyC2URvIS8s52vdtJR+AdsO1i4rY7T<9|h8 z#y7_fHY*jXvKz{M)5f6V+yKt84mcyisnRbN=ezaC4Q#WrGXurChR3CrxDcF?m6;A$&`*{JoQ* zI(}%M3g8fL#swLrAz zuYu39B%TLfoqqrukpFb^)%JC4^<8ZiD2}OlS$5rH&B}$x;M>pt{Q7aqAt$$b+uG=u z{~^2MECz>6AkIb5bNCwI_qLD4_B|-@8fx<&`P=bblF@*(7n`it@5b9 zCZ`WuxorIm&8apZDVC06-{BkA-`%V%H0QjpyB)^c%)oc-2+Fnwj)MceoF4ga%RX)n zf1&`tNBG}6pYbr>oqzTIHUUtpeN%;Lw0&Etbhf5>`(}OhEBUt-(?~#PGv|4}+C!4- zN70u3S+@3xW@XV7KJ_c!cT2m(aM4((HW#74zYkn^zhtf1%Z`m*e5pi^bvv7ti+YiR z=hK)=y2TjLZ)BOZdCrww5|_$yHjB@Wa~Pa^y7!e6Ey^{-w#TAor7@0NpK`gne*X!- z;wvMzKCrL2vG`bA{dArq8=Z?SR!nq|mA-JCec-He+ZEr{=c}CYy*d}y^z$|kGxny= zLce*mr~jX~8gj$@FVTNJazF1N`X6@vhr9R(@5hdi1+1u#uBfke{fBX4JJ8$cJb#2T z6SKw2tCQ8ecGp50opQbyO&Zx&E^10jiEIvm0Xm>u2 z-;i8CxRWd5eW|}uXEcBCDBooymg2|V{G~?TU38eq1Y-VkTkG{Lt(VudUWOHOdp{0j z*@lOkl_hhLom{Obd%EN5CR#wcWyfe}x1I8V_IB;-{B#x1UO;;Dk4xqt9r&Bc)4u?} z#n(?|r^-~Krwh1vg9XB(@tkmuFFsDWqz~F{8E#sSiTA(|wldz`VtRrpB~ zZSa^rt0dP;i6Iqo-)`fSPnZ?bku+;#B~}fdOMI|?S<2t)ymna#Fj%1FW-_^heZ96F zY9iWmI!5nui*J^Tb;@muaSxqtSkSEe$U@rLm?1X%b%S!rIN%lqpYhOkFd2ppczYXs zCj5R!F`f$#zc9RI`?x&Ru5-Iz=yrnTW7h6Rm(s40ctz59oX29IuJ{ zz402|P5&F`!0QNQ#%s|>(hsq)sMgU)XfA7S<4D*y@}YC)m~V%l!?Jznj&;TU!WK8) z*R1^5C{&Hko{D71;TyR$8|84*_dcOm?r+bpdi!0Jk02}GYS>wMbM=neopbis&uaxb zFI#4~37s5nwq{^P`Z;_D@cAY1-9|Hko36L*xulDFMi*<-u)-se{L^7)i^JOBBSe`xpe z1JteJr>)-PhS}rplGi;#-F~Mzct=h%$g_MWb@yP?7J~xokvy+hM)@w{N3-(A>g}~R z&DnY0o6o=FX?M=u!;fCufu1JYD;}my7{N#8y2=4QWc^pLz2Og;-x_{ypB#U60l#Qp z=xv@)`yJq!bxxJSzg}j%R(%;EwVKA6PLCoNr~$Gav9l zpSR(!9ci1K)?VN(wkSM%iwu(wVvD2TnXa_+>w76rCNh-x|IeAv*|C`a(23X3&~>x& z<7PwZTI$QL(edZ-`yXEh?nt|zN7_q`RzU~&{oDcIb})xTyO~S}plR_s^kc-!Wyssv zbtB;Kraa0QT`Vx}ti5^89p~M7{+_1+fu9HCqFu4c*2loHBiL^%dpoZ* zy%zD`>$$!sy{2qOtkc%?W`1(~j1 zN_*mTjPKaN=>F6pWI9kXFO=APY9qLIJd6M67_aTUjr2O$IMy%D>zkF;gOnTmN3U2v zfL=_YF?>)T>qeu_WA#PX*sg?G*J(^`gx(s;_*U?{Yg=&8-EoeBv!k`24F1#D#Gil9 z=h%kufBGPB{M>EDLn7B2*SYLn*@13RwnHU$^ZI7x8hHD2btU}~+Y>WmfAl1D?{3LA z*4D?WV|~LcU5tN2GF}teiXB_rHyw94Iu@UI*jdYER#~-6N_7LS|iC&=(ewMZ^@qTz(-wGcIY{^Ub zkta6(_>$wW$-zwsyJWZIO6v$dOVwbl0zCd+OtAUS4#9(Q*Fp=Be63lzc7U?wfN8Fh z`XO?+)Vb_NfMaRmKP6-1)}7Gb30|02Znd%<$Yx_BUeC|3!9PMdj16yZwo9(Bo5OWa zj?Z5^BE4qiI>Sw`hYHtgxHh{xfAF_cPWWH9E4`*{N0@6(p6m8=U5IZ{59}Cy7aop( zH~8ey#W^6hN!Kvg*4nHYrcEI~aQGY_ahju~NwGY6Ld>YYv<8&D6)|pNgxA?i)ShpbYfq`TW z$lDyC4fE&RbY0_Znw51YsI&YbpEm-0-1^?;Y4~^ub6UXcm~{S&B7bnruH#MW4lvk} zyCpOQIo2D^jox-aY@65Zq|W-6=CKZ4jqV28Rrg{??s1lwe}8>!d3_Dvbr`O19I;Wn znqH_?=GDhW`sNJRS8Lm0v1n~P44)=^#AHVueB`z7(Ro|k8J{WSS^$53ZnLtfm%6&u zhwEjO8_D$;W$T~3{t#uuK}Tr~gq|W?gPi4&Jt2y~S*`83pgL*oF zJ{oB6BkEEf%&9H0Fz4|Qc<5^LMH)uS`eVobX5}Wcb;!~D+U|G6Ysz-mHN1E1_bXx` zy2oSySV>>+Fx%RJZq}Fa8abU-UXQHBcocC_BF)_*e3AEw*6GlTaPsQ5eE|A$2YJ*@ zBk*M&i@t$e4xa%25H>G0ICY`@X0ua&(!Qbg{#zD<9diEOfO8LRZS1x4;FrUhL~#T& zQ_gFP@iJLE<=6DZZKKwJW2D`Fv2J%FZ`$TW!FSN{w$Wx~%SPy>^9DjW+~ilxnV;_* zajSh*eSUc6ETt{Ho)~|;u34FEK%>~#^qtY4+?{2WV`=nu9kz8uB#RcXWJC? zPkP+!pN^Yr>Pz`?Mef%q6`?<(ZOFTrz81f+a(nenwViX`eBK@B-}$sXb9dDH{hlUd zeeRC z`q7XLZMnPWe0wy&EDotC*R3|j*td-#b6OA^Tz4X=^tZ)42ohez@h{Q~>!)~KtcQ0C|2d~|&6tby`ja?^K_YyO&oR?; zd8alh++t(CUUGP|a_b@FS(L<+6n|j{c#5COL_fB~ey@Yaz3><;)X^_*B-_|dmB0Hl zJunU8^FY*h@(Gu)+apiCa;>~V8}?bFy^t8c;scX_+ir+kaL z=JFn;{gnGKdFS;0cXvIfdA8di)D?9}WtoY((enOyy^Z^#&4Zu4emiyPS|OEDzC4{T zHRKzw-$@(hDT^a{cjQ~&mODhdnGb-I#}7VQyRy%s2+b{iM7(ML9Jcw1=lX4Qo;eOW zhQ3(sbcRdlbizr;7Ym*^k9UFx-+6-ty6s*3x!X7>S({ATB*~W=iLIE62p4`Ir)9e` z9S3*$yw}q*bklmvxtOv#)=#S6(&5`O&c<5%)w;^o*im-sJ!iYBJ`YUh41R%UxQ{P3 z%yrZjTzt%JeYNBA&}|uRv+{;rG~HL2ukBaqeb*v9CsLBr-g&H9`FVWOV!h?Cer@C7 z%IGUxaL~_Q_Xf% zb_|iS6Te$xNy>}*yzOmkC^z$K{@P)*(9>kS?L^2aN)rn3Qo4)t>t>}nNEvxr>cO?K z8gPp6q)x8lNvunE8$=(ff zS@>&5y2r#Aa2oaw(hUV)GTcU}KS`M}9g?K!MAL8rjoa5y9%CG}45Fm|C}sQZL9yO# z->kgpnbfc3f9U@=t)WaF)iP(M{S@*SlmAV7!HvGi^}+O-vK?06nC>^r)fW!c@2(a% z!_)q-JU1Qmp-LSprXK^#U*KyF?!P~ z?x*KUE;#bKQOZ;0x_e)y{o9btcb=dPv7>ZM1-iQ?!NJeUd~nx(>QcHv&t2x5%psVy zC(kp0#CZOe`IK#MFwd_8ueS^V-|ap+5_7(O$@-QDsC&d|F3N2;Rv(<``$|hg3pJ;yf*5d_u;Q!V~fHVKM#QRY93&_z{*N|+#Fh$)x9qbt5 z|L$JH@ipn<(kUR=Za4l|S><}R?mGoJ_6$I0V?oBC@16tHk#EMm8FjvczFJn8q z=bqPNCo9Kmvo}2A^$=xi51!K-rhK>Cv$xcqjez$!c=%N58a&|a-3iX24*lnPHY;zl z7?#F7hH#y@11qOR? zYX@&>+t!`^+%VmyIdp;d>?fze-~kqX#al?A%pop{;;Rw@5;>q6364at&EJ( z?tFTIz0H;N`QgV4gMHt95IlSkZ(5jl(WJ#7P%%^Vt9L(6*j}#E9sM=^%pPNH-+bV9tWId8@N^xX!pA${7sf)QKM>-t@j_;k z>7bQ~J7K=zqjcAr@6Q{-X#Ood&cS+a7jJWjHX}ve(0UYjYA=_yS@|`KTie_5f9)V} zf<>AS8U0@~KcsWw+?>;~{vYYmAK3Ywynpr{tZj8D{D^G{-Xy@th-355j z2k75-LEDcyXUgwdfD8vHvwxfF;P5AaHxnHK{(Fu8?gWl5k!}yZnkF%69pk@a9X4pM zYgP`;g%`2ErEZbrJ~TufzTCDxNqJf>)+P^hr)XO$D|P#+>m-l$H~rc|)9nJ>j@18M zj%MZ8`D?jQOPjoIjJokc-Kpr^OPf+#!pr=+gI@20ZksKG9Pe92-HC!6UI*Nc4m97- z*!1{RV&nJk>eB9Tm%0Z!)d9DolPr&QuDi?nphLU6mUXFH)1_`_m%6*C>)?BLb=0p} zxyy9u(6_(Q)0y9I40ma_y-S_R*}*QqVZPo;mM1#5`#_^}yAPP3mC^)mM+aFx(Ckuo zs7u|kPIbWTDDpeS*!#dEwCT{V|JBAQ|Ga=Joj|b{N+m+)w?Q!u*ogJx<*aeDlPDOPl|V?uTqlbkOBP<6Y`@ zQ&)_SIn4*D8!YG<>ORchPBHSsW7KW$(C#>O_mtP&ZL&;ssC%5cvGTg#wEpN+cQc2pss`7AF;k0E|>o!<_{g}J~~KU2Yw&j zM_q@$`{@0h>pnJzx*jvGQThYfOk!u+9w9G^H; zQkT~y%8?>8&IvkG{rp8~hzSiw#W_0{i~Eyy+5lj$#R<>&Lyr>4N^;CG*T zfI6E;QvHi-okdyZzdr4Tc<+2a~4?r}k#HA4F{itjz#to$J~^JnPad)P6xCZ7l0{M!1^WXP|X z-->I;Scie*c%WT`6C>h2K?+af@V5d_{W+y`I`CAt65onCSpOI1;8<4@Kit0NH>GvK z)N@dB_54OFa2}C_g7c7chTzl=#XvSt>SUQ>OL;&tNjVcReUFoBiQNwW0W6p8iVaLs9P*v ze{zKK1DaFPrBL;K_E|&Nn12V{Kix_B?h@QR39ii__}HHffXfDO+a6Quw-#sfduEN$ z&TP4+!`^w0^91%;&;cj#|E$eV!^m2kCkU`go(ivuqEi?s?jpdSlQmh(y!4pR+4sTmg5i1vm8J=SHmE zsri3y3cOZZb1TC~)`Iv>PmuL<54GX4A?|Wc;|BhJJ_PPKK99cnFw%GpRMW9RpS8>@ zPJ{M#>~4(>q7inSQyS>nLL>E+bRJ3DbmM#Y9Pf2w30HAL^fDC zhxFc6Ne=hHNo&M0m;VgFcy0G#@qrIcLTfi=z6BNYGRFgc7&x|4JFbsWZY0+yDMKUH zKS3G0aCT;A5b}ee;0xm!|jjws8fJBh_`HWGtop3%P%^K^weT z`O62OT?RjCJQH7a`pt@e>$nWw=zzbh1Ke~iqca6Ol_%AkeroIEb5f69yW!iBKJ|}u zum9pmw|eUA=tBRChr8GR&v_l{dlDbt=ebgEK83e@b|m#_TMq(jq9nuFy|!CR)EZr+KIL;aiJld{@Qe%>Y!7Oa|oQt4mjRt&B~Y1-@f70 z!(K>fp9MX?WO}gHVUFW@0#B6Z00}VxI!{o>4s&?&V^8HOd!tqLy^{CK%cwtC5__(x z_ph}VFB{X}U$U6^<%hr@P5Ls(`>^Q^ooG)U+OY>0cqxktjvVg+%J-yr*S6vXz5Zqw zc+Haj3-w>YFDk^?@-g46e07xeW&Rr4fAyXY^}#<*f@gh{uMN41bI{4%l-DHjFX(pi z5o9{(eYU-{&z8#O|BLq3o%BEN9#>nFnp$NK&#^AAAF1+a$SBoX^uTYK+I|glR#~Q& z`-OeqdHdGB;VbL?*VLEt74^}2f5>No-hbDCmd$s(YnHlx+1}GfdBX1RCcxjp|B}4s zqr=qOTwq;1FU$P;ag}vV*$(P#>{$Jy=6$_|v4gLFbl4C%(y^Ym=?7kHQ{r@B)CIi%Jx-atv?E@_=z(Jgd1UFcpE)hVJJPAos4MD%y*_rR zS^36p>adO3&#w}aDSa7XyEqCC()NSlp`{3Z7OIQNJi zBc^0~_>aB)dcVrLrfkP{{(HS&#a#E}=cY_e5M|~))(5@u{ZsIqwvC%K#|dq| zX+4Ckt&NRO|2z`?Wo^DW1iKyHU%bVprFhFc9%%pLz0gSWq{V9gj}NjpZGJdZf2dkY zfOboT`_JZk#J{*+WsS^okcd9)4?6N`4PJTTi}}NS3)x!$nWMz6pO|P?{`m>&EQd!& zzwctWHh&^Yv`euqGJoQ(X2qIT{vUU516$RVC2F2~uQ9Hab7PD{2oU1QbLY`%nz(2` z#+^ZV6y>-a+C^N%A#NUzi+{0+|H{6097IL;MJR(ZOopaWhRL7^l~5E#D8n#J#7ol= zor%)C2t_mxMRZ<@5aLjVxClj4#DFpLt+n-cugms|oMTWiSh`&q#KHPU!G=f|u*?#5nYKoc-TSK|{GF1I_R?#n4e`^z8%{+dbtYTlf<6Z#D}Pr# zVeV9ZA#zEVhV$az;XJU(L%xjP51FfZA2RK{fHFaSOjvfKLofDivh`ooADOb~fMfu`TdF&a~-@q&3 z`pzbDRd=a?D;%4$^wr<*GB)4#|J8Z7{|?G$<|W3^e*xX~_22Kp_J^S1Cvu(>(9M3l z*_=-!Sr_xdFsqkWdFz!w`_40^v1P!&Ue`?p{uW(qpt4WGDt_Rfi7MWTr+wEVjGw@d zjw2azh>w2VksRjYEPqF@wS?u;g5aG^+AI3Sq}_Ei5mydBLXvT*^dxjy`?}`^D$_4} zl$`irW?4tiLC4$DQ{O}X{Py%|<&)5z?$dTcr)`8abyJ;J%Es;H|6cd__~ppf{s57~ z&~AQFNZym4y;`G~wh4K14QZQ$*sQoPy(aq_-tRB{oyPG>wYZ!+i@m4G*xar<%kRJN zxpA8D!R?7P{VUZeUFO1M>93|HW^Ee0V;%Ej|^^ z!>(!bhw_78HVM9Z5`5hx_@+tl5{D<~Nxj%6D}L)F_?_UFg~lm1{D*nSISIbq`XiXP z9qk9ppt0|ju@N5kQtk%_p@sD-HF-Zc0)9V{WWu>^d%V0NzEt0iFLTe%oDJ`iHZsu! zbAXTE0zSOvQ9L-gCh!|NZSJApMc2D_L))c3T^@E7^MzFOhh@;iZE@v(xC}h&30$x& ztz5Cm{oyG7$$AMDyTfY-N@=_e{4ARcSI6DRl5fM%oT@Z8_vzFj=PBrr{&#WCM)B>? z+qGZIbPC0m(&o76M(m;=s>lDNMLreTub;Q)30#H#l1-)l)k9^xy)xci8BbQm2P)&6 zs~457h*#Ie8R*2uI!LP|RP2llEUK!CSMz5jE8{i%ZG2^1++6k^QfGnq_TJmPW`r!!mijDFueK;b*xsWBeAdkJ$@&$LAPeo_QbeJhGC=Xrc zfz0}YJoHjWXIzQCGnSGsWy}Qw&g2KWHmN_Pe+P#8|EP4@;LDGGsPk=k*7sSkqt7SL z`NHRa+O~H5j(z>a@lPAWWr;aKS;eQKg}cN~>2V;aD~wk=!Yda#q}efxkNl(bom{eJ zqA>UoG4VyqB?C5#JRF4_*#xc1Kw8uLAErdFYi}nVD6zjkPLcwRU{0>fal|UJG}$ zPX72vGA_cY-$;E$-PE_8vf~9oaMAWaKNdMb49skY@C{lK{eF`FN1(NWPet#A6v61} zy76nPGR!$btkS=4s+1jGYel?WcX-_u@nqGaVt#0fZ?VC~9~ud4n;L8^a%YL{hyj>C z8Mv$J0!`XPoq^7NnQh?9b>8Uq)s*#?%KI=2&6hU{P1c6~Uclk+D+V974LbcJy4|-7 z{8nOPMLZP?2Z~JFF&6(*F}!lskLcH=fnCKw9vnznZKBzLm*MJZ6 z$+NADIZMlTf|uU`54BD4TPDHp2G2MOkCC7avKIFz&ZW!3!x3!I z2XmGJhx?$+%Fd|*ze|08>G<&C^$6BG6)WR5W8oxA{qc6UGvUBOJ>p6+4g~2=wbW#`1Rl!;DOKhc+pLK%pat#o(BfO??LCV!l3*% z&)))^np}?u#R6g9tu|XcSZeQBGL$F0D;bNF$15u0Rr)J(%PJIJ5no1+RfX{Gmnlj_ z9(8a&qz=b~s?RU0*XfOC<*=_x=B({y}x~s$&FJfe^ zBmG*^4ovI_>TcD)8b|$gc5>!yS#kzG)V=zg9b{N|7TD;DAR`62_`OMMU50WZzy+ch#>V@P7J zd|wx;lwe)y%Iw6>URoRY0ebfb@^Wm)q*6qE0cO>0v;6IH@N*~B3A2BAQ)c!3YpJh- z`dCVik7vI6rr!ybO=9$8ezsCR8cJ_)x&B;m3V3&@PlV=d_oqqVuO!I^)_k$(}{Qy&-$cW7tLPp{)FD!Wi~FwXQt8LB^B{2k%Nje&50bRJ>fM+mO1_Sl~nY20szAD46 zlnZFsocc!ra&>2UmemvI$Bzk>#n6=(xvh7= zOI?B7wdfoAUK*v*apL>#Cw3$I6f_CSv_bO!gRGfEZ$JMK@FOH_rSxiG#$FI#$p*A- zz|1dc?M2p!-NMAhygwn{7CX6zps$}~PREC&?xpA;e=8XHkje(X6ns?{*-q!BTc9)E z($4t9df{Ue=2YT?*0~p-$CwPs?9c6rjZc2RNa9u2XOm9<$A{4a`vm$s{J)iUh4HTL ze_Me}+9lzCVkn@D<6DN^BRRLx(beoV|+Rh6Fv|6xX- zcl+OLZHUj~EmnTefSD6MWJ{SR%FT9Ze$p8#!_U)ElKJzk(uMZVKuUo&*JsFMC=+&R7`eLF}tQU2!-oxf-E$izk(&}cdDW*;wAk0BFFs}<6VFK6*42;I)=-$j&*0JpNZUKS;m`d z`_GO+564J+Sla%xOW-SleikXg7+zThoK2>y^C{uY7Q3}hA#x!*=xe{+GVrxobj>ms z{j>O?T<-bVKQBl{pW2y`e=Q@wD}e#etr@>i=Lo< zd`kJxfVa7wXX5rPWxjIFUV<$(U&P|6I1F5lf7MdpJK=Zrt`d7@oRLVqtM*TVKbnDO zd@27K?3AazoaOID+WD5Xyeze>X^}Tzd&qcoRlJ5D-&`AC7G86Ttfz;lgZU$EO`-aN zmn%F^;OkPRwirBRP+_5e93yKKrPV>JR$AIKQ>E>NCSxZwKPq0@S%wa{a6lTp>Mv?o@s(6-<9<9F9Fk*ATRzcc_-_ceZb2mku?l0kL1g`0vwXPTI5uW z(^pHo!+9AS@euuOgQb3H$Le><&k6aUkC(9#wz-cNeeks)1~~k)_(bM2A(8*=+H81m za{fOI{e%ZW~GBTHmZ~MQ+=;Spgp&iZedvuaMX_0crHD;Cg!$Quf zS<&+qQTMXjypa7<8XqS7Jy~G;3UteOcR=ddfW2kS8t7eY^>5e>p0zn)U%%6y_Py{{ z<7q9$4TwuDo2n+RUt`hN<+GA}v%QM9T4J$1`fKhyuB()(fwVJyu=wx9^N+7s7ym-$iG@P< zJk1{l7GLo5($6L1`JOyri68XaS7H~r@Q*Y16jx-y^#~4*liF zO2~?RgLZ6D|Khg@#-AApi?3U6J1}E~@io4_#GInH4Ds)K&t3V1aqlGY%C(~peP!Li z5+V2|rHGdpDKh%RMvR4EEW7sgjeuvKPK!aA{fw>89ZE&}%i)!?KV)jY37EBQAk)Vm z178)w(_Z0!9=iKo`7AMkGT2J^URX%%z^_Xx;s>*=tD>#(Lp;PgOgcjPkaRS%f+ZMR zp7oREzYqcW~6?febrw*R3PnwwuVzlOZbBmRC3d;De(IJul(DqoMw z(@xDN$u9`mfxc4wZt&PA?JNhB*j4F+z~Ol-i=IPOQhwdxTepA?|(W(nc<8$RBW_ud!da?;%koQe-{0_HU1|jJaT2cNFA?YBmG7Ie`k}W z4&N+i^7q$kIq-5qW=rFRNEJO-uVh)WSv-`I#v5^4}NkN zQCdd!L$1FxUmVT@%N5WqJ0*GSuJzGRvOZ0VQ}ns7f7%{j@w8L=IXo};_*(Gc{XiBU zxzJAeCio~Lu~qW}zv*d5eQNw~KB6n-;}|)7Rl3$a?v^uf z(eZDkm3401uaocJ;?838VnNW#E$@rRQk>2{;#`{o0kzA zqp3KW6!V0XKYF1w&V|B!{+Z)-_Y*B*TWS9;+Nfvw%j4zYHcAx|D~0EOYXx2#%z5$- zPMnwNMNQ6Nd05Rf!B5O+5n20bnGea*UWQz7PQYJJVj12Eus5^yJVkh4FM;=%@|ODR z^J>0xt%IRb4a_1}-_M-4DqhNS@>TINeP+(zt4OVwMCDupuF0^4&@+9c*z+#3UjN^h zK_hn0=3Ti7zsG^!2+wZukMEgVE{YB1dW=N-FYcur{XUcZKRvKF%WtnLyXY;v|A*N3 ztt@&w`u+mwhjmXfFKy{sY~}YKgFc|Kd?4HW66kkD$L97)=NG5@|5<^&Vby*Aq`a=~ z0}=}+n~Ta!zXRAp-m`#hTNZiA`1VM2*&_bxcbhy+=hAWlaDAxd_{*%!`8oPhyt`H+ zMSJj0qO0%!qCW4amdo-@be2Qw_46`oTjJ~a8EANkTfU7Vb=vN|S@evqi@z1&`Q1up zXnn1JZ-k%TeJg?|uHk#?)qoA$k(cRj42?@i!OJD{Ws&4l(Szdm#I+zMDIa+8CwOEI zQocjLd7=Cfg9G}p4Ejm(b;c9ayNvv7llOlw1eUSs4>qy^ZQE^V!&zv>CiC5Dns#WC zy_0M2f6S43LT5WZ9zRbzL&N{1-TzU1YcJy>BQ`a~m-40+VVAu!zoJbbu2l?gSAnUP z->sw|7yj(GKSCUIF`g$#5|#8X1lc|38?Ud6*lvQ3#*#MY`TSy&(ur+)PufJ(4f@vE z{yprZu{3->>eJqWM!%%ZMfix=;_v8xeZDnuAW(?Q>2r7hm{<_h>*FOhhVjKF_wQTj zx4{YX63kq#>=Ds9KvS-I8wK@z*thF~lVsAt$8 zj;2kZ@@5c!zlhjKjg|d>j(OhQ$2DH0viyx|Eb^{}m6O9P*zc$!XStmC@YqS_ z$t~~`u{0MWM#*bTRypLlP@!r$NlFnMDdF^~^k0f%daR1?j#e(3Cvs^<^oj|VRj{FBKcUS^d) z8UJMUPKGa;ME+#_;d+S&LA%(qq{Yvo5G`EhPVgn^u`Q^BwSPFiUR{=oo{(6yFoai~ zz<&rH{xqF3{S@AjA#+nXCkSGZpo&AZos-1r{16ZGgsck!d9nuz=aH9|ck7XWU)ttB zzhw>!@B=nwX0AU2I&nB-Z$m{~3qmpmHCDcrWo>1=VLQk?$euNb>-1MpS4KYu_>BGv z@ZtUn*OBQf#i2U(Ptu;S9`sdUt1y0dx*r63Bs2OpY~NP(|JHaOua#E0ckP)QgR+}- z9aIgFoeueV zDSkj)m-sY5uCNcT&Gh4yaX$2iSpE!Nc*AYR=4oTGB4pcA)pPyCwFP^Ers{aB{%qEI zX86{4lj^db`CTgDDh|mxI?0-O>p0KdvW}VLY`2M%Tb2`*oYF?O$ogWPAUN#R$@O4l zlRPeZ7##DaF!7C^SnLh*+UA3@;ffw5t14Rd!*Oo+Hc4i@!f$WxN=5&30c|;hJ=21M zwNL4nfZ5k)eW#Ok+Ra_ixnld&mf6p^l`j=NdDwjqBrHN)-nY793DGt@Yli0C5zI4J~+_mM@9^_uRO`Gqej;$IG(!TA1RQBQ_J@#Px zEPs=teBm|{C(`^pBqMTI^$gC4$ItVS64sN7ayXCH*CxW{JuRPQAD*GB+2i~9PO7{t z??oXm(@*m`c31{pE?fVRPeuQEXGY$CFK$7I|1dVewf!yfTK~hW(HCtL7lnA!W88S1 zVSHJLe^}d4nk9A|jF;(Qz8rGdRU9fOYc`&#;H`4zPwdXQbDlp`-!Ol9Xg(_$*C#Uj zHvSdXdt{OrFmGIzcM5+FPj1q(5IwR@<92OYs0r&xJPy{Up}Hg6bu4yI7>k*{QtCyb zoJIdLF)6x({+Z!LW<;VhqOlpVoEbUOW=zYSkvo0H^t>7IA1uFny4gKb2Kq$z8%duv z%!tcrkc<=Xsp#hmfo1LD^F!Pkx2)4XRo^B|Y=t%#@ss-RGvi9O>90fYhz9V`ndUn8-r!XetJqcGni+yuy z;NJ#+*uM0S;`e6YGs`c8Z#(6gi*opF^4s|ck|y?n)N?!){f*3<58tMLg>NJk9eNSI z$8W<&e4ADbANtt4h!ft?h)g5i4SfvV#Xrp-^Ya<})H|&k{^QWY_Q|vZV`Un1=g<&h zkE@?7xQ(A6j4M+H{y6RPRP>vp(0F!zM?Oq@a|(0uTsiVkGrJ}>jDA#_Qa>@sfTury(%akweIfMLtl$%4!LZ9xXqQC8iR+xoO ze@!ojz6ILt`U_i6uYzwkd}ZjDt?}9F-b@+sg;`nZM)&Ew|MOdUpY7o+bkXf_Dtd7t zwC~ex5WWidD(+A>+LK58yT}?@|90k1+Cv}Z5&te8qRejXquJStP3QxuYfCEnt;E`O zljuiV^P~^tx?Ox{+~hI-za<7o%5~h7e($&u*_637jBJ_zCz})Kj~|Gw<#J;^$lDpf zI6X7ZT97jV=&9)M@_@tn;*5NGM!qH^-)QovW4AVIe<+_6;<_DQ zxcz~AD<;pUm|lvr%Fir!yL_fy|G&uN4{Em|+O{n05260g7Ax?*AL9R)7qE}Qk1$Ea z_xc{bFJ*pTMP01#v&D_bLB~VC&l*H7@2}i_8^N(ycYOcdRq=zQLwD=R?Y_ICpMqm| zs<;{iL`NN>5+*(^dv|n`D zrC|T^!)iA^ZWmYZo4dE9V)^ji!yHKeZppb#|EffM^lm>MhGjFB1N_?Cj7j`1;FEbb z+rZ77uaM1On8x(G6iq5S`y7vM!Z&Xonuc}Dl!p%S&G1RQ8@fXsh#m3$sn`R>l*yNr zvAzzJGhgPz((w4skVReh%!4lppNm79?+@pJbmheVKaE-hxZWJqh1ileES0{CAr@FY?AD zJehJC!!xQ|NZNZOc}I!#X)J*MF#JvA^Aty3h+LAVUxWP8N&1y`2RyfHH?eSLId!!o_aw5G$7`~M z&}u3BFi#48CFbzUO>N znw!m5_vWW!kI0!oHh;r6?qyzkWHA;KRSSmS zvKyqx5JiVs$b&eP$&qv%B3Oh(-*Oy+&?4QL9P(5vk{e><@1mqO{C`gf zao~4{Iyrl^Qib?m)_L3M(K;I*nLqDP@76u=@4Hiec;(u12mG1ik~Tarn2NPkQ~plJ z2L3XCHf07V^9U(ZCbpc<`nPu(L%rwrI@z1At5}&8B@y}cO+S@JrXkTN`;z!%t8a6aGdcCb(J;~yrR#Bni*}l%Uu1*^9 z3u)6Ye&jts7*HF}A*u7+MO(LpVpiQZ&=ve`?tFDa`}H1xHg z<@1fwHU0JNec%(limY#H@)AAGy?yP;#B*MvtEHv4nHEWx)VEu?=No%_l3g7Qy}rnn z_WBJ}^L$U6R?yX0-=1viXf|#t9cW96of^CP)HunGL`PHo3!;|@LYyzCr>xvdSOG85 z*q=mgFVU%bRX_EUze=on;wR6ndiu%LPb6x=TjLUyPgXzSB{noCn<$xR?&+Z_siKXt zsGVr(>%=XwR8#=MS2^9X8ggPCtcIo z{5)>u-vApQ?M*fbsy^A(CjHZanN8ic-X>8l(M!j)bjpxGgO={D-UQgj_O9M$PYQu+ z?`nKbkbTyPG_|)GQPSqtu0C2Kd9?*{GcaPy@fv>W_h!0;-% zv8(I3Haw%H4JS=(sPE{gS3dxvvzySbqr1mdEkdL#eHn-h`COv6sjaE4vkk4=dJ~NU z^=Q)A-dx|=*NvL>olS|(<^hN}ggB|RZh6}V9ZDVb16q|d?}cV!05zcPbBXqPu~%<% zv-m3_#C4QO`!MlLH33EGc(M7j(K}=)w~0%%byD>CMsa0d?e>P2-nLD&me`VLMXI#C z``^&i#=f4O=FViI5&brF^@#UkQ6z&Lr_wj|QsntY9U;Eh=8oo`4b7d6luGofzrqIZ zf8B_m+^tM1jzz!p(^s^lxxE<&(KZh=e&+hy_-C>j}EX7 z#oAD76#uqiXW*2nq~abmp(xbVoy1+*@C2D!Bn!mkHN{j@Y5%1pQ@=%JhiIgiB(Uo{3)TS ztEZ_sTxp`CK1ryhLi2NzhyNv;dx)x-4Kh}%@97ndpKopMX}0M?HReCjb&7kwDFN40Gnc=FY{^zQBlHXJ1F6v#S&4ULiDk ztDdNRX4T5XlPk?qVe!y@{>+oBo^X`5j_$sm<^O zL3bp&iSexs?a%dk{cSQ`VeID4dK|lh^$!-avES9+lxU`t8)WkEIvUzKMO^|(qM?Vp zi6aEVBT~HjXVQU41(%fbpsc%Pbgro@;JObToH(eLlb7tjci>%$)+QrD(D% zNuNnc0)9`jt!cn(>1CNhGa9=Hw6sK5Tz*4)+By=+R>F8IE%EvsYj^#IW@1br*^kju zs;#r7%bCQ5KPRha+%}$=MVcE(sP9jN6rg9B`kH(;lk;42b9ZBx&ecw$wz;968Cp7` zwaKGhjUC-n=mru@9yO`B0YFDrKTGE3&JD@dKSDJkoqAZ1B>KDBnmpDr229n+vY0F_ zVsU9L(p9GK*y5#$u7-{H!4x)6S6&?=n<|4Y*AWrq`Z_f~bq&=@S&7MjrCJB+1nqS+ z%9;-+>}DtqByE;<98A-_-R-QHI#_MngsybBF`EoscT+4(n?#Uipmlq!aC$rjc~e_U z3+t(=YLLZ5@pzf9$x9H zV`wS|x-@sO)F&uTu?C%O-HgJd=#c33Gtx=Pp2pUxn{(XAFsagB#CN|SBd}D)W9bw& zOM{BZr=qDdmoK-euiF{`fX#5lzHSWmN2w?w-q_fMrKVmyVbjwZLaDC?=!&b6?)%Yp4(u^nD z*

    rxwh^E8)G)h8xl<%Sajgka$?k%e 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 OIX(+#DCueSWB(skxo>~~ literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/binary/wifiHD.hex b/firmware/libraries/WiFi/extras/binary/wifiHD.hex new file mode 100644 index 0000000..0122587 --- /dev/null +++ b/firmware/libraries/WiFi/extras/binary/wifiHD.hex @@ -0,0 +1,16358 @@ +:0200000480007A +:10000000E08F100000000000000000000000000071 +:1000100000000000000000000000000000000000E0 +:1000200000000000000000000000000000000000D0 +:1000300000000000000000000000000000000000C0 +:1000400000000000000000000000000000000000B0 +:1000500000000000000000000000000000000000A0 +:100060000000000000000000000000000000000090 +:100070000000000000000000000000000000000080 +:100080000000000000000000000000000000000070 +:100090000000000000000000000000000000000060 +:1000A0000000000000000000000000000000000050 +:1000B0000000000000000000000000000000000040 +:1000C0000000000000000000000000000000000030 +:1000D0000000000000000000000000000000000020 +:1000E0000000000000000000000000000000000010 +:1000F0000000000000000000000000000000000000 +:1001000000000000000000000000000000000000EF +:1001100000000000000000000000000000000000DF +:1001200000000000000000000000000000000000CF +:1001300000000000000000000000000000000000BF +:1001400000000000000000000000000000000000AF +:10015000000000000000000000000000000000009F +:10016000000000000000000000000000000000008F +:10017000000000000000000000000000000000007F +:10018000000000000000000000000000000000006F +:10019000000000000000000000000000000000005F +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:1001C000000000000000000000000000000000002F +:1001D000000000000000000000000000000000001F +:1001E000000000000000000000000000000000000F +:1001F00000000000000000000000000000000000FF +:1002000000000000000000000000000000000000EE +:1002100000000000000000000000000000000000DE +:1002200000000000000000000000000000000000CE +:1002300000000000000000000000000000000000BE +:1002400000000000000000000000000000000000AE +:10025000000000000000000000000000000000009E +:10026000000000000000000000000000000000008E +:10027000000000000000000000000000000000007E +:10028000000000000000000000000000000000006E +:10029000000000000000000000000000000000005E +:1002A000000000000000000000000000000000004E +:1002B000000000000000000000000000000000003E +:1002C000000000000000000000000000000000002E +:1002D000000000000000000000000000000000001E +:1002E000000000000000000000000000000000000E +:1002F00000000000000000000000000000000000FE +:1003000000000000000000000000000000000000ED +:1003100000000000000000000000000000000000DD +:1003200000000000000000000000000000000000CD +:1003300000000000000000000000000000000000BD +:1003400000000000000000000000000000000000AD +:10035000000000000000000000000000000000009D +:10036000000000000000000000000000000000008D +:10037000000000000000000000000000000000007D +:10038000000000000000000000000000000000006D +:10039000000000000000000000000000000000005D +:1003A000000000000000000000000000000000004D +:1003B000000000000000000000000000000000003D +:1003C000000000000000000000000000000000002D +:1003D000000000000000000000000000000000001D +:1003E000000000000000000000000000000000000D +:1003F00000000000000000000000000000000000FD +:1004000000000000000000000000000000000000EC +:1004100000000000000000000000000000000000DC +:1004200000000000000000000000000000000000CC +:1004300000000000000000000000000000000000BC +:1004400000000000000000000000000000000000AC +:10045000000000000000000000000000000000009C +:10046000000000000000000000000000000000008C +:10047000000000000000000000000000000000007C +:10048000000000000000000000000000000000006C +:10049000000000000000000000000000000000005C +:1004A000000000000000000000000000000000004C +:1004B000000000000000000000000000000000003C +:1004C000000000000000000000000000000000002C +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F00000000000000000000000000000000000FC +:1005000000000000000000000000000000000000EB +:1005100000000000000000000000000000000000DB +:1005200000000000000000000000000000000000CB +:1005300000000000000000000000000000000000BB +:1005400000000000000000000000000000000000AB +:10055000000000000000000000000000000000009B +:10056000000000000000000000000000000000008B +:10057000000000000000000000000000000000007B +:10058000000000000000000000000000000000006B +:10059000000000000000000000000000000000005B +:1005A000000000000000000000000000000000004B +:1005B000000000000000000000000000000000003B +:1005C000000000000000000000000000000000002B +:1005D000000000000000000000000000000000001B +:1005E000000000000000000000000000000000000B +:1005F00000000000000000000000000000000000FB +:1006000000000000000000000000000000000000EA +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C0000000000000000000000000000000000029 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:1008000000000000000000000000000000000000E8 +:1008100000000000000000000000000000000000D8 +:1008200000000000000000000000000000000000C8 +:1008300000000000000000000000000000000000B8 +:1008400000000000000000000000000000000000A8 +:100850000000000000000000000000000000000098 +:100860000000000000000000000000000000000088 +:100870000000000000000000000000000000000078 +:100880000000000000000000000000000000000068 +:100890000000000000000000000000000000000058 +:1008A0000000000000000000000000000000000048 +:1008B0000000000000000000000000000000000038 +:1008C0000000000000000000000000000000000028 +:1008D0000000000000000000000000000000000018 +:1008E0000000000000000000000000000000000008 +:1008F00000000000000000000000000000000000F8 +:1009000000000000000000000000000000000000E7 +:1009100000000000000000000000000000000000D7 +:1009200000000000000000000000000000000000C7 +:1009300000000000000000000000000000000000B7 +:1009400000000000000000000000000000000000A7 +:100950000000000000000000000000000000000097 +:100960000000000000000000000000000000000087 +:100970000000000000000000000000000000000077 +:100980000000000000000000000000000000000067 +:100990000000000000000000000000000000000057 +:1009A0000000000000000000000000000000000047 +:1009B0000000000000000000000000000000000037 +:1009C0000000000000000000000000000000000027 +:1009D0000000000000000000000000000000000017 +:1009E0000000000000000000000000000000000007 +:1009F00000000000000000000000000000000000F7 +:100A000000000000000000000000000000000000E6 +:100A100000000000000000000000000000000000D6 +:100A200000000000000000000000000000000000C6 +:100A300000000000000000000000000000000000B6 +:100A400000000000000000000000000000000000A6 +:100A50000000000000000000000000000000000096 +:100A60000000000000000000000000000000000086 +:100A70000000000000000000000000000000000076 +:100A80000000000000000000000000000000000066 +:100A90000000000000000000000000000000000056 +:100AA0000000000000000000000000000000000046 +:100AB0000000000000000000000000000000000036 +:100AC0000000000000000000000000000000000026 +:100AD0000000000000000000000000000000000016 +:100AE0000000000000000000000000000000000006 +:100AF00000000000000000000000000000000000F6 +:100B000000000000000000000000000000000000E5 +:100B100000000000000000000000000000000000D5 +:100B200000000000000000000000000000000000C5 +:100B300000000000000000000000000000000000B5 +:100B400000000000000000000000000000000000A5 +:100B50000000000000000000000000000000000095 +:100B60000000000000000000000000000000000085 +:100B70000000000000000000000000000000000075 +:100B80000000000000000000000000000000000065 +:100B90000000000000000000000000000000000055 +:100BA0000000000000000000000000000000000045 +:100BB0000000000000000000000000000000000035 +:100BC0000000000000000000000000000000000025 +:100BD0000000000000000000000000000000000015 +:100BE0000000000000000000000000000000000005 +:100BF00000000000000000000000000000000000F5 +:100C000000000000000000000000000000000000E4 +:100C100000000000000000000000000000000000D4 +:100C200000000000000000000000000000000000C4 +:100C300000000000000000000000000000000000B4 +:100C400000000000000000000000000000000000A4 +:100C50000000000000000000000000000000000094 +:100C60000000000000000000000000000000000084 +:100C70000000000000000000000000000000000074 +:100C80000000000000000000000000000000000064 +:100C90000000000000000000000000000000000054 +:100CA0000000000000000000000000000000000044 +:100CB0000000000000000000000000000000000034 +:100CC0000000000000000000000000000000000024 +:100CD0000000000000000000000000000000000014 +:100CE0000000000000000000000000000000000004 +:100CF00000000000000000000000000000000000F4 +:100D000000000000000000000000000000000000E3 +:100D100000000000000000000000000000000000D3 +:100D200000000000000000000000000000000000C3 +:100D300000000000000000000000000000000000B3 +:100D400000000000000000000000000000000000A3 +:100D50000000000000000000000000000000000093 +:100D60000000000000000000000000000000000083 +:100D70000000000000000000000000000000000073 +:100D80000000000000000000000000000000000063 +:100D90000000000000000000000000000000000053 +:100DA0000000000000000000000000000000000043 +:100DB0000000000000000000000000000000000033 +:100DC0000000000000000000000000000000000023 +:100DD0000000000000000000000000000000000013 +:100DE0000000000000000000000000000000000003 +:100DF00000000000000000000000000000000000F3 +:100E000000000000000000000000000000000000E2 +:100E100000000000000000000000000000000000D2 +:100E200000000000000000000000000000000000C2 +:100E300000000000000000000000000000000000B2 +:100E400000000000000000000000000000000000A2 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:1010000000000000000000000000000000000000E0 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:1010400000000000000000000000000000000000A0 +:101050000000000000000000000000000000000090 +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:08200000481F000080013E04AE +:102008003038F00C19005EBC5C7C4848F00C003994 +:10201800F00C093BB22A5EFC000011C0F80815015B +:102028003039F20C1800E08800035EFDF00B000B5D +:102038004828F00B032C5EFC00007B08580CC0D02D +:1020480048787829F00900293008720A143CC060E1 +:102058002FF82F895848CFA13FF85EF800007B0879 +:102068003038F00C18005EBCF60C001C30094838FB +:10207800F00C09295EFC000000007B085EFFD70316 +:10208800D4011988301EB6881998B6BEEA18FFFF21 +:10209800E818FF80B6AEB698580AC0301588C0A8B0 +:1020A80048981188F4081800C0303038C03848788B +:1020B80011B8B6C83EE8B6D83008B6E8302C306853 +:1020C800B208D802000016AB00000008D40130188E +:1020D800198EB68E199CB6A8EA1CFFFFE81CFF8073 +:1020E800B6B8B69C580AC0A0158CE06A00FFF00C80 +:1020F8001800F4081710F9B80001B6C83EE8B6D8B9 +:102108003008B6E8302C3068B208D802D421202D27 +:102118004AAA189E1698129674075807C071FACAE8 +:10212800FFF814F7F01F0026C4681989B6891999B1 +:10213800EA19FFFFE819FF80B6993039B0A9740988 +:102148007219F20C1618B0F9B0CCF9D9C108F3D944 +:10215800C208B0ECB0D9304BB0BB74097229F20C8C +:102168001618F169000CF16C0009F9D9C108F3D906 +:10217800C208F16C000BF16B0008F169000A7409E0 +:10218800300A7239F16A00133EEAF16A0012F20A63 +:102198001618F1690011F16A000EF16B000DF5D9FE +:1021A800C108F3D9C208F16A0010F169000F302C98 +:1021B8003138AC082FEDD8220000152C800020D42F +:1021C8003038F00C18005EBCF60C001B48F8F00B19 +:1021D800032858085E0C704958195E1C7029581954 +:1021E800C09148B8F00C003C9828B42878089508A5 +:1021F8005EFC71E85808F0091700F1F91001F1F8D0 +:10220800120A9509B4285EFC00007B08000011C082 +:10221800D4314BC8300A10941499910A1893301A83 +:102228004B984BA7910A3EE14B921296C0280A9907 +:10223800E0682710C0485808C5602018664AE21AA6 +:102248000201E04A0201CF81C4F8F2C5FFFFE20AA9 +:102258001800CEE10F9BF7DBC0C15825E0890005C7 +:102268003038300AC2E80FAA3038C148580BC0A02D +:10227800EE08070EEE08000CA96E2FE8199C1C0842 +:10228800C058F0CCFFFFEE080708201AF80800082D +:102298005C5A10395F9CEC0A18005F9EFDEC000C3C +:1022A800EC0C1800CE4110395F09F9DAC008EC0CC3 +:1022B80018005F0CF9E90009EC091800C020D83AA9 +:1022C800840C3009F20C1900CB34201D5C6A1ADB2F +:1022D8001AD849081ADA490C1AD51AD8F01F000F6B +:1022E8002FADCA6BDA3A662A68085C5A2FF8EE09ED +:1022F8000B0A8908E0480063FE9AFFA9305CD832CF +:10230800000014B0000011B8000014B8000016A2B4 +:102318008003792C80037AB0800094C4D431202DB6 +:102328004C68149570081896169712945808C0713E +:10233800FACAFFF814F8F01F0042CC38198830198F +:10234800B6881998B6A9EA18FFFFE818FF80B6986A +:102358004BC89088EDB80002C171189330023EE175 +:102368000788201D4B8C1AD8F01F00382FF22FED4C +:102378000788E2081800C0502FF3E0420400CF118C +:102388004B3CF01F00320DC83099F2081800E08865 +:1023980000114B09920A3009F20A1900E0840091F1 +:1023A8001AD84AD84ADC1AD8F01F00282FEDC88856 +:1023B800E0450032C290A3684A99E0450033C5D091 +:1023C800129B7209F2080309EECAFFFCF3360020DB +:1023D8003009AEB6C088760CF808030CF809070C6B +:1023E8002FF914CCEC091900CF7349A99289EDB9DA +:1023F8000004C5F149A97209F2080308499C1AD8D2 +:1024080049581AD8C538304BA368495A7409F20894 +:10241800030972C9AEBBF20B1618AEC9AEFBF7D9E9 +:10242800C108F3D9C208AEDBAEE948A99289EDB973 +:102438000004C1903046C3D80000152C800020D479 +:10244800000016A080037AF0800094C4800384D42E +:10245800000016A28003785880037AF8000015203F +:1024680080037B187409F208030870C8496C1AD8ED +:10247800304649681AD8C1A8301AAEBA720AF408A8 +:10248800030AF53A0038AECA491A948AEDBA00042C +:10249800C0303016C0E87209F2080308F138003875 +:1024A80048CC1AD8301648981AD8F01F000B2FEDD0 +:1024B8003EE80C07AEC83008AED82FB6A806302CB8 +:1024C8002FEDD83280037B2880037858000016A2AD +:1024D80080037B38800094C4D421204D4A981897F3 +:1024E800118A580AC0313FF6C0D84A7811BC118EFB +:1024F800119611A8B166EDEE1186EDE81086F9E6A1 +:1025080010064A289088EDB80002C0E14A08201D4C +:102518004A0C1ADA1AD61AD8505B5049F01F001E16 +:102528002FCD4009401B49D870085808C081FACA05 +:10253800FFF00E9C14F8F01F001AC2080F88B68826 +:102548000F98EA18FFFFE818FF80B6983018B6A869 +:102558003048B6B8F1D6C108B6E83EE8EC0A161815 +:10256800B6F6F7680008B6CA3008EDD6C208F768AC +:102578000009B6D63098302CB2082FCDD8220000EA +:102588000000152800007B28000016A28003782090 +:1025980080037B48800094C40000152C800020D460 +:1025A800D401580BC0313FF8C0C8178A17B917981B +:1025B800B168F1EA118817AAF1EA1088F3E810085F +:1025C800F00A161848E9B28AF5D8C208B2B8B29A21 +:1025D800F5D8C108B2AA48B99289EDB90002C0A1DC +:1025E800201D1AD848881ADC488C1AD8F01F000811 +:1025F8002FCD30194878B089D802000000007B2818 +:10260800000016A28003799C80037B74800094C428 +:1026180000001528D431204D4AE8189570081697FF +:1026280012965808C071FACAFFF014F8F01F002A71 +:10263800C4D84AA89088EDB80002C1711894300334 +:102648003EE20988201D4A6C1AD8F01F00262FF395 +:102658002FED0988E4081800C0502FF4E043040067 +:10266800CF114A1CF01F001F0B880BCCAE880B98AB +:10267800EA18FFFFE818FF80AE983004BA445014F7 +:102688003025FACAFFFCAEA5301BF01F0018304AEF +:10269800EF64000CEF6500084018F0091618AEF852 +:1026A800AEC99A49AEBAF5D8C108F1D8C208EF69DF +:1026B800000AAED8AEEA3EE8F3D9C108EF68000BCD +:1026C800EF69000930C8302CAC082FCDD832000093 +:1026D8000000152C800020D4000016A080037AF09A +:1026E800800094C4800384D4800021C8D40148A801 +:1026F8009088EDB80002C0E148887008201D1AD8FB +:10270800487811881AD84878487C1AD8F01F0007EA +:102718002FCDDA0A000016A200000008000016AB50 +:10272800800379E480037BA8800094C4D42148E620 +:10273800189E30076C0C580CC0A02FF72EC6E04727 +:102748000024CF91489CF01F000ADC2A4866EE0757 +:102758000027EC070027EF680010AECE8F0B8F2AFA +:102768008F39D822000011E080037BC4800094C414 +:10277800D4214C8618970C9A302830094C6B310CB0 +:10278800F01F00460C9A302830094C5B311CF01FB2 +:1027980000430C9A302830094C2B312CF01F003F95 +:1027A8000E990C9A30284C0B314CF01F003C0E99B6 +:1027B8000C9A30284BDB315CF01F00383018300998 +:1027C8004BBA4BCB320CF01F003530184BA73009F1 +:1027D8000E9B4BAA321CF01F00310E9B301830099B +:1027E8004B7A322CF01F002D4B6532390A9A0E9B1A +:1027F8003018129CF01F002932490A9A0E9B301893 +:10280800129CF01F002632590A9A0E9B3018129C0F +:10281800F01F00220A9A32690E9B3018129CF01F92 +:10282800001F0C9A302830094A7B336CF01F001BBC +:102838000E9B301830094A5A327CF01F00180C9A47 +:10284800302830094A2B330CF01F00144A1533394D +:102858000A9A0E9B3018129CF01F001033190A9A1E +:102868000E9B3018129CF01F000D0A9A33290E9BFC +:102878003018129CF01F00090C9A30283009496B57 +:10288800334CF01F00060E9B30183009493AC278C5 +:10289800800020D48000427C8000273480004118CA +:1028A8008000433080003FD080003EA88000208810 +:1028B800800026F48000208480002114800035ECFC +:1028C80080003514800034A480004B5480003740C9 +:1028D8008000232480003678800024E0335CF01FD9 +:1028E80000370C9A302830094B5B328CF01F0033CC +:1028F8000C9A302830094B3B32DCF01F00300C9A20 +:10290800302830094B0B32ECF01F002C0E9B30188E +:1029180030094AEA329CF01F00290E9B3018300912 +:102928004ABA32CCF01F00250E9B301830094A9A5B +:1029380032BCF01F00220C9A304830094A6B344CE4 +:10294800F01F001E0E9B301830094A4A32ACF01FA7 +:10295800001B0E9B301830094A1A345CF01F001710 +:102968000E9B3018300949FA32FCF01F00140E9BF8 +:102978003018300949CA337CF01F00100E9B3018FC +:10298800300949AA338CF01F000D0C9A30483009E1 +:10299800497B346CF01F00090C9A30283009495BD8 +:1029A800339CF01F00060E9B30183009492A33ACBF +:1029B800F01F0002D82200008000273480003D88E4 +:1029C80080003AC8800038B4800033FC800030D4DE +:1029D800800032848000375C800032088000300438 +:1029E8008000332880002F8C80002EC4800038841B +:1029F800800037CC8000261CD4013038580B5F1972 +:102A0800F00C18005F88F3E80008C060F40C0019A7 +:102A180048D8F009092B48D89088EDB80001C111B1 +:102A280048B848C9580AF20A1700F00A171048A807 +:102A38001ADA1ADB1ADC489C1AD8F01F00092FCDC5 +:102A4800D802000000007B08000016A280037BDC8F +:102A580080037BE4800378C080037BF0800094C40B +:102A6800D401580BF60A1700F7FA180BF01F0002EA +:102A7800D802000080002A00D401320A300B483CFA +:102A8800F01F0003D802000000007B088002E8BCA9 +:102A9800D421206D3087FAC6FFF00E9A4C6B18953A +:102AA8000C9CF01F0046304B0C9CF01F0045300872 +:102AB800FB68000DBA88FB680009FB68000BFB681F +:102AC800000CEE784240501830480E9BFB67000817 +:102AD800FB68000A300AFE7C2400F01F003A1897B1 +:102AE800C0F04B989088EDB80002C0814B78201D4B +:102AF8004B7C1AD8F01F00372FED301CC5A8E06AB0 +:102B0800F980EA1A03371A9BFE7C2400F01F003272 +:102B1800582CC0D14AC89008EE081900C0844AB899 +:102B2800201D4AEC1AD8F01F002B2FEDD303300AD2 +:102B3800E06B01204AACF01F002BD503E1B8000080 +:102B4800EE180001F5D8C201C020D303FE78240096 +:102B58003019705BF7D9D001915B705BF7D9D0C1A0 +:102B6800915B705BF7D9D081915B580AC020D5037F +:102B7800FE7C2400F01F001C0A9CF01F001C364A33 +:102B8800300B49BCF01F001BE06A0400300B49AC55 +:102B9800F01F0018E06A0400300B498CF01F001584 +:102BA800F01F0017497830079107F01F00170E9C97 +:102BB8002FADD822800382078002E7368000A280EA +:102BC8008000A618000016A2800379BC80037C0848 +:102BD800800094C48000A73C80037C2880002C10CF +:102BE8008000A3A08000A7EC80002778000014B81C +:102BF8008002E8BC00000DB8000009B880002A80F7 +:102C0800000000088000751CD401E1B80000EE182F +:102C18000001F5D8C201C020D303FE782400301982 +:102C2800706BF7D9D001916B706BF7D9D0C1916BEC +:102C3800706BF7D9D081916B580AC020D503FE7C00 +:102C480024007848EDB80000C0F1F01F0016C0C19C +:102C5800319CF01F0015495890092FF9B009301917 +:102C68004938B089C1B8E1B80000EE180001F5D8BC +:102C7800C201C020D303FE7824003019705BF7D955 +:102C8800D001915B705BF7D9D0C1915B705BF7D9CC +:102C9800D081915B580AC020D503D402D603000026 +:102CA800800022188000A2E6000014B40000151C61 +:102CB800D4313006189714931694950618983E093F +:102CC800C2C81095118A2FF8F20A1800C251580686 +:102CD800C21049E890093008F0091900C064089B3F +:102CE8000E9C5C7BF01F001A49A890093008F00977 +:102CF8001900C1040C070F98201D1AD849681AD466 +:102D08001AD690881AD84958495C1AD8F01F001565 +:102D18002FAD8706C1882FF60836CD4548D89009CB +:102D28003008F0091900C0353005C0D8201D48A862 +:102D38001AD690881AD8489848BC1AD83005F01F77 +:102D480000092FCD0A9CD832000016A680013DB498 +:102D5800000016A2000014B4800378D080037C48D9 +:102D6800800094C480037C6CD42118971696F01FB9 +:102D780000325F080E3C5F191895F1E91009C03060 +:102D88005808C5710B893E08F0091800C5210B9930 +:102D98003008F0091800C4D5E2190040C0E1EACAB9 +:102DA800FFFD0BAC1298C068158B2FF92FFB160A84 +:102DB80016081839CFA5C2384A089088EDB800021D +:102DC800C0D149F8201D49FC1AD8F01F001FF7D6BA +:102DD800C0100E9CF01F001D2FED3009EACAFFFD40 +:102DE8000BAC1298C0A81587159B2FF9F7E7108B25 +:102DF8002FEB160AF60800081839CF6510053EE9CA +:102E08000BB8F2081800C021DA2A4919920A3009C9 +:102E1800F20A1900C0E4201D1AD848E890881AD888 +:102E2800487848DC1AD8F01F0008300C2FCDD8227B +:102E3800D82A000080002CB8000016A080037974FE +:102E480080037C84800094C480013DB4000016A2F5 +:102E5800000014B480037C8CD4014918581CC0713C +:102E68003039334C9109F01F000FC0683049334C9A +:102E78009109F01F000D48D89088EDB80002C0D124 +:102E880048787008201D1AD848981AD8489848AC2D +:102E98001AD8F01F000A2FCDD80200000000000841 +:102EA8008000A2E68000A300000016A280037A3CFE +:102EB8008003821080037CB0800094C4D421FACDB2 +:102EC80001004AC81697700512965805C071FACACB +:102ED800FF0014F5F01F0028C4A81989301AB68914 +:102EE8001999B6AAEA19FFFFE819FF80B69919B926 +:102EF800F4091800C20119C53FF8F0051800C1B05F +:102F0800E06A00FF300B1A9CF01F001C1A9430086E +:102F1800C048E8080B082FF80A38CFC51A94AEB590 +:102F2800EEC8FFFCFA050009C038093A10CA123485 +:102F3800CFD1C15849256A0CF01F00120A98EECA71 +:102F4800FFFCEBDCC0083009AEB5C068700BF609B1 +:102F5800070B2FF914CBEA091900CF933EE80A07AB +:102F6800AEC83008AED82FB5302CAC052C0DD82201 +:102F78000000152C800020D48002E8BC0000011459 +:102F88008002EDD0D421202D49981697700E129604 +:102F9800580EC071FACAFFF814FEF01F0016C25886 +:102FA8001989B6891998EA18FFFFE818FF80B698BA +:102FB80030184915B6A86A0CF01F0010EEC9FFFCBE +:102FC8005C5C3008AEBCC0686A0AF408070A2FF8CF +:102FD80012CAF8081900CF933EE818072FBCAEC8EC +:102FE8003008AED8AC0C302C2FEDD8220000152CB0 +:102FF800800020D4000001148002EDD0D421202DBF +:103008004AE818967008169712955808C071FACAB7 +:10301800FFF814F8F01F002AC4D84AA811D4303891 +:10302800F0041800E08B0046FACAFFFC1A9B089CC3 +:10303800F01F00250D88C300AE880D98EA18FFFF21 +:10304800E818FF80AE983018AEA81BC8AEB89A280A +:10305800AEC83008C0B8F3D8C010400BF1DAB010D1 +:10306800EE09000AF6090709B4D9F0CAFFFF9A2940 +:10307800F2081900CF13F1D9C010EE0800083EEA93 +:10308800B0DA9AA82FA910073008AEE8AA09089C58 +:10309800F01F000EC0E8AE880D98EA18FFFFE81888 +:1030A800FF80AECCAE98AEAC3EE8AEB83048AA08C9 +:1030B800302C2FEDD82200000000152C800020D4E1 +:1030C80000000DB880006BF480006FBCD431202D57 +:1030D8004C5818967008169712955808C071BAE897 +:1030E800FACAFFFAF01F0041C728F8C8FFFDC3C09D +:1030F80011842FF4F0040004C37009893018F00912 +:103108001800C67109993EE8F0091800C6214B88D5 +:1031180090093008F0091900C5C44B681AD44B6CE3 +:103128001AD8F01F00362FEDC548099309A9F3E313 +:1031380010835C83C54809893018F0091800C1510B +:1031480009993EE8F0091800C1014A989009300829 +:10315800F0091900C0A44A781AD44A7C1AD8F01F7A +:1031680000272FEDC02830030DB43018F0041800E4 +:10317800C2D10DCC3038F00C1800E08B0028F5D304 +:10318800C008FACBFFF9F01F001E0D88C120AE88D9 +:103198000D98EA18FFFFE818FF80AEB4AE98AEA409 +:1031A8001BF8AEC83EE8AED83008AEE83068C0D8E4 +:1031B800AE880D98EA18FFFFE818FF80AE983EE841 +:1031C800AECCAEB8AEAC3048AA08302C2FEDD83211 +:1031D80009883029F2081800CA9030032FF8100423 +:1031E800CAB1CC3B0000152C800020D4000016A2E8 +:1031F8008003780C80037CBC800094C480006FE05E +:10320800D421202D49A81697700E1296580EC07119 +:10321800FACAFFF814FEF01F0017C2681989301A9D +:10322800B6891999B6AAEA19FFFFE819FF80B69975 +:1032380019B9F4091800C0D119C83039F2081800B2 +:10324800E08B000848C9F208033CF01F000CC028B6 +:10325800300C3018AEB83EE8AECCAED83008AEE888 +:10326800302C3068AC082FEDD82200000000152C57 +:10327800800020D400007B0880004D78D421202DC8 +:103288004A181697700E1296580EC071FACAFFF8AF +:1032980014FEF01F001EC3481989301AB6891999FF +:1032A800B6AAEA19FFFFE819FF80B69919B9F40917 +:1032B8001800C0B119CC3038F00C1800E08B0006AB +:1032C800F01F00135C8CC028300C3028AEB83EE8E4 +:1032D800AECCAEE85C7CF8081608AED83008AEF87C +:1032E8003078AC0848B89088EDB80002C08148A88A +:1032F8001ADC48AC1AD8F01F000A2FED302C2FED3D +:10330800D82200000000152C800020D480006D38E1 +:10331800000016A8800378A880037CD8800094C495 +:10332800D421202D4AA81697700512965805C07109 +:10333800FACAFFF814F5F01F0027C4781989301A63 +:10334800B6891999B6AAEA19FFFFE819FF80B69954 +:10335800303819B919C5F40918005F09F0051800C3 +:103368005F881268C19049C8F00503345804C060EA +:10337800089C301BF01F0019C10849989009E809FA +:103388001900C0A449781AD5497C1AD8F01F00172B +:10339800089C2FEDC028300C3018AEB83EE8AECCF3 +:1033A800AED83008AEE83068AC0849189088EDB857 +:1033B8000002C0A148B8201D1ADC48EC1AD51AD85A +:1033C800F01F000A2FCD302C2FEDD8220000152C2D +:1033D800800020D400007B0880004F1C000016A647 +:1033E8008003794080037CEC800094C4000016A818 +:1033F80080037D10D421202D4A181697700E12963E +:10340800580EC071FACAFFF814FEF01F001EC34818 +:103418001989301AB6891999B6AAEA19FFFFE81965 +:10342800FF80B69919B9F4091800C0F119C83039E4 +:10343800F2081800E08B000A4939F2080038300B0E +:10344800701CF01F0012C028300C3018AEB83EE8CF +:10345800AECCAED83008AEE83068AC0848C8908822 +:10346800EDB80002C08148B81ADC48BC1AD8F01F71 +:10347800000B2FED302C2FEDD82200000000152C6A +:10348800800020D400007B0880004F1C000016A894 +:1034980080037A6480037D28800094C4D40149584D +:1034A8009088EDB80002C08149381ADC493C1AD826 +:1034B800F01F00132FED49383009118AF20A18005D +:1034C800C021DC0AB089F01F0010581CC1004898C0 +:1034D80090093008F0091900C025DA0A48681ADC92 +:1034E80048AC1AD8F01F0006301C2FEDD802000097 +:1034F800000016A28003798480037D38800094C47C +:10350800000016AA80019EF880037D54D421202D46 +:103518004B281496700E16971295580EC071FACA59 +:10352800FFF814FEF01F002EC5681989B68919988E +:10353800EA18FFFFE818FF803014B698B6A4F01F09 +:103548000029C3E0E0460025C260E0460026C3200B +:10355800EEC9FFFCE0460024C0F0129AF9380020BA +:103568003009AEB8C058F809070B2FF914CBF00989 +:103578001900CFA3C28830682DACAEB8306A3008C5 +:10358800198B12CB2FF8201C5C88F4081900CF91F6 +:103598003068C19878C8F0091618AEF93049AEC835 +:1035A800AEB9F3D8C108F1D8C208AED9AEE83048F0 +:1035B800C0A8AEB4F9380038AEC83018C048AEB4A8 +:1035C800AECC18983EE91007AEC93009AED92FB86D +:1035D800302CAA082FEDD8220000152C800020D40A +:1035E8008001997CD421202D49F8189670081697E7 +:1035F80012955808C041FACAFFF8C1881988B688D8 +:103608001998EA18FFFFE818FF803019B698306853 +:10361800B6A9B6B81A9CF01F0015581CC0B00A9974 +:103628000E9B0C9CFACAFFF8300814F8F01F001023 +:10363800C1881BD8AEC81BC8AED81BB8AEE81BA83B +:10364800AEF81B98EF6800081B88EF6800093EE891 +:10365800EF68000A3008EF68000B302C30B8AA0871 +:103668002FEDD8220000152C80019128800020D44D +:10367800D421FACD010016961A971A9C173AF01F12 +:103688000025FAC9FF000D88F20800083009F16921 +:10369800FF004A189088EDB80002C08149F81AD78F +:1036A80049FC1AD8F01F001F2FED300849E749FAE6 +:1036B800AE88AE98AEA8AEB8B488109949CA0E9B29 +:1036C8001A9C1A96F01F001B5C5CC040E06C00FF5F +:1036D800C1E849189088EDB80002C1510F8A0FB9A6 +:1036E8000F98B168F1EA11880FAAF1EA1088F3E897 +:1036F8001008201D1AD848981AD648FC1AD8F01F66 +:1037080000092FCD30194898301CB0892C0DD822CB +:103718008002E736000016A280037A7C80037D646D +:10372800800094C400007B2800001528800025A88C +:103738008000C4C080037D84D401F01F0006E068C7 +:1037480000FF581CF00C1710F9BC0001D80200004B +:10375800800199CCD42118971696335CF01F001677 +:103768005827C1F10D980D89F1E910893018F00931 +:103778001900C1710DA80DBA0DC9303BF608180023 +:10378800E0880004300CC04848CBF608033CA96A1E +:10379800ECCBFFFB120A5C7AF01F00091897C028CF +:1037A8003FF7335CF01F0007E06C00FF5817F9BCC7 +:1037B8000001D8228000A30000007B08800053C0CD +:1037C8008000A2E6D421202D581CC4211789F809AD +:1037D8001800C3E1F6C8FFFE1796C170118AF20AF5 +:1037E8001800C131119A3EE9F20A1800C0E149B93E +:1037F800920A3009F20A1900C0841AD84988499CEB +:103808001AD8F01F00192FED3008FACAFFF8300B4C +:1038180014E80C9CF01F00159A3A18973038F006F7 +:103828001800E0880004300CC0484918F006033C32 +:103838005C7A0E9BF01F000F18950C9CF01F000E71 +:103848000E9CF01F000E5815C0310A9CC038E06C61 +:1038580000FF2FEDD8220000000016A28003795C3B +:1038680080037CBC800094C4800072DC00007B086C +:103878008000514080006E188002E28CD401582CE0 +:10388800C13117981789F1E910893018F009190022 +:10389800C0B117C817BA17ACA96A2FBBF00A000A3B +:1038A8005C7AF01F0002DA0A80007380D421581C69 +:1038B800C391580BC0311697C1E81788F80818004B +:1038C800C3411797C33817893018F0091800C13158 +:1038D80017993EE8F0091800C0E1497890093008C6 +:1038E800F0091900C08449581ADB495C1AD8F01F3E +:1038F80000152FED49089088EDB80002C08148F8FE +:103908001AD7491C1AD8F01F000F2FED3038F007CE +:103918001800E08B000848D8F007033CF01F000CA3 +:10392800DA2AE06C00FFD82230072FF8100BCCC140 +:10393800CE2B0000000016A2800379F880037CBC1F +:10394800800094C480037DA800007B088000599CF7 +:10395800D421202D4B981896169414971295908878 +:10396800EDB80002C1314B694B685805F2081700E1 +:10397800201D1AD816985C781ADA1AD84B281ADC3F +:103988004B2C1AD8F01F00322FAD3038F007180032 +:10399800E0880005E06C00FFC8584AE8F0070338E3 +:1039A80050085808C1504A59920A3009F20A1900B9 +:1039B800C0841AD84A484A8C1AD8F01F00252FED1F +:1039C800400CF01F002630094A28F00709391A9CD4 +:1039D800E06A04005016300B1ADC14981AD75C748D +:1039E8001ADB16991AD5089C1ADA169A1AD6F01FF5 +:1039F800001C49282FAD580CC3819088EDB80002EF +:103A0800C1511AD71AD41AD6403850461AD848D8AD +:103A180048B95805F2051700F005171048A81AD537 +:103A2800490C1AD8F01F000A2FAD0E9C400BF01F4E +:103A3800000E301CC3780000000016A280037DC869 +:103A480080037DC4800379C480037DCC800094C446 +:103A580000007B0880037DF88000599C80005D642D +:103A680080037E2480002A689088EDB80002C15146 +:103A78001AD71AD41AD6403850461AD848B848C95E +:103A88005805F2051700F005171048A81AD548ACD4 +:103A98001AD8F01F000A2FAD300948983FFCF007EC +:103AA80009392FEDD822000080037DC480037DC82A +:103AB800800379C480037E50800094C400007B0892 +:103AC800D431584CE081008E580BC2A01785F805F8 +:103AD8001800E081008A179817A7B167EFE81187E7 +:103AE80017B8EFE8108717C8F1E71007C7E80B8980 +:103AF8003018F0091800C7E10B993EE8F0091800E2 +:103B0800C7914C2890093008F0091900C7344C08AF +:103B18001AD54C0C1AD8F01F00402FEDC6B81697CE +:103B28003006C1F80B960BA8F1E610865C86C688AD +:103B380007893018F0091800C72107993EE8F009ED +:103B48001800C6D14B1890093008F0091900C6743E +:103B58004AF81AD34AFC1AD8F01F002F2FEDC5F8DF +:103B68003005C1B80795C61809893018F00918003A +:103B7800C61109993EE8F0091800C5C14A389009EC +:103B88003008F0091900C5644A181AD44A1C1AD812 +:103B9800F01F00212FEDC4E83003C1A80993C50820 +:103BA80009893018F0091800C13109993EE8F0096F +:103BB8001800C0E1495890093008F0091900C0847C +:103BC80049381AD4493C1AD8F01F00132FED06992A +:103BD8000A9AF7D6C0100E9CF01F0010581CC0306F +:103BE800E06C00FFD83230072FF5F6050005C80154 +:103BF800C98B0B833028F0031800C95030062FF307 +:103C0800EA030003C961CADB000016A280037A98A0 +:103C180080037CBC800094C4800039580784301825 +:103C2800F0041800CA0030052FF4E6040004C9D1D6 +:103C3800CB4B09883019F2081800CB1030032FF845 +:103C48001004CAF1CC5B0000D421202D3038169620 +:103C58001494F00B1800E08B0072300750074BA843 +:103C68001188EE081800C0B04B889008EE081900BB +:103C7800C654201D4B684B7C1AD8C0F84B69138971 +:103C8800F0091800C0E14B589008EE081900C56407 +:103C9800201D4AF84B2C1AD8F01F00322FEDC4E82B +:103CA8001A9AE0690400501712981ADAEBDCC0106F +:103CB8001ADB0E9A1AD70E9B1AD40A9C1AD93019F5 +:103CC8001AD7F01F00294A182FAD580CC1B1908897 +:103CD800EDB80002C1114A584A595804F2041700B5 +:103CE800F004171049A81AD64A2C1AD51AD41AD88B +:103CF800F01F001C2FCD0C9C400BF01F001F301C28 +:103D0800C1F89008EE081900C11449884989580477 +:103D1800F2041700F004171048D81AD6497C1AD5AF +:103D28001AD41AD8F01F000F2FCDA17630092FF61C +:103D380049383FFCF0060929C038E06C00FF2FED38 +:103D4800D822000000007B07000016A280037A102A +:103D580080037E80000016AB000016A680037EA0BC +:103D6800800094C480005D6480037DC480037DC8A6 +:103D780080037EB880002A6880037EDC00007B0810 +:103D8800D421583CC661580BC24017843028F0042F +:103D98001800C621179717A8F1E710875C87C5D8C0 +:103DA80009893018F0091800C5D109993EE8F009C9 +:103DB8001800C5814B6890093008F0091900C5241E +:103DC8004B481AD44B4C1AD8F01F00342FEDC4A816 +:103DD80016973006C1B80996C4B80B893018F0098F +:103DE8001800C4B10B993EE8F0091800C4614A886C +:103DF80090093008F0091900C4044A681AD54A6CB9 +:103E08001AD8F01F00262FEDC3883004C1A80B94E0 +:103E1800C3A80B893018F0091800C1310B993EE886 +:103E2800F0091800C0E149A890093008F009190004 +:103E3800C08449881AD5498C1AD8F01F00182FED6C +:103E48000E9C089A0C9B5C7CF01F0015581CC03017 +:103E5800E06C00FFD82230072FF4F6040004CA11E2 +:103E6800CB9B09853018F0051800CB6030062FF57C +:103E7800E8050005CB31CCAB0B883019F2081800E7 +:103E8800CC7030042FF81005CC51CDBB000016A221 +:103E98008003791480037CBC800094C480003C506B +:103EA800D431204D1495740A501A18961788301971 +:103EB800F2081800C771F6C7FFFE1794C1700F8982 +:103EC800F0091800C1310F993EE8F0091800C0E167 +:103ED8004B7890093008F0091900C0844B581AD75C +:103EE8004B5C1AD8F01F00352FED4B189088EDB8B1 +:103EF8000002C0A14AF81AD44B1C1AD61AD51AD8EF +:103F0800F01F002E2FCD3028F0041800E08B004B56 +:103F18003006304030114A624A63C3E80F88E0082F +:103F28001800C4010F990FA8B168F1E911880FB9F9 +:103F3800F1E910880FC92FB7F3E810085807C170C6 +:103F48000F89E2091800C1310F993EEAF4091800F7 +:103F5800C0E18409300AF4091900C0941AD7496CE1 +:103F68001AD35028F01F00152FED400850388489C7 +:103F7800EDB90002C0A11AD84029492C1AD91AD67D +:103F88001AD3F01F000E2FCDF9D6C008FACBFFF4D4 +:103F98002FF6F01F000D0836CC253008301CAAC8B3 +:103FA800C038E06C00FF2FCDD8320000000016A208 +:103FB80080037A4C80037CBC800094C480037F0813 +:103FC80080037F308000C19CD431203D3019149487 +:103FD800189674051788F2081800E0810085F6C75E +:103FE800FFFE1792C1700F89F0091800C1310F99AF +:103FF8003EE8F0091800C0E14BD890093008F009F4 +:104008001900C0844BB81AD74BBC1AD8F01F003B14 +:104018002FED4B789088EDB80002C0A14B581AD20A +:104028004B7C1AD61AD41AD8F01F00342FCD30384A +:10403800F0021800E08B005830064AD04AD1FAC383 +:10404800FFF8C4B80F88304AF4081800C4C10F99A3 +:104058000FA8B168F1E911880FB9F1E910880FC903 +:104068002FB7F3E810085807C1800F89301AF409F0 +:104078001800C1310F993EEAF4091800C0E180091F +:10408800300AF4091900C0941AD749BC1AD150282B +:10409800F01F001A2FED400850288089EDB9000262 +:1040A800C0911AD8497C1AD51AD61AD1F01F001314 +:1040B8002FCD5816C0805826C0B0069B0A9CF01F0A +:1040C8000012C0A8069B0A9CF01F0010C058069B4F +:1040D8000A9CF01F000F2FF60436CB553008301C11 +:1040E800A8C8C038E06C00FF2FDDD832000016A247 +:1040F800800378F080037CBC800094C480037F0830 +:1041080080037F308000CBC88000CA748000CA92C8 +:10411800D421FACD00884C6816979088EDB8000233 +:10412800C0B14C48201D1ADC1AD84C384C3C1AD85F +:10413800F01F00432FCD344A300BFAC6FFFC0C9C0D +:10414800F01F0040306AE06B00FFFACCFFDBF01F85 +:10415800003D0F8A31F8F00A1800E08B008930889A +:10416800EECBFFFFFB68003C0C9CF01F00370F896B +:10417800FB6900244AE89088EDB80002C0A14AE82B +:10418800201D4B2C1AD91AD61AD8F01F002D2FCD66 +:104198000F882FF8FAC6FFB810070C9C0E9B173A29 +:1041A800F01F002BFAC9FF780F88F20800083009C1 +:1041B800F169FFC049E89088EDB80002C0B10F88E6 +:1041C800201D1AD849C81AD64A2C1AD8F01F001C24 +:1041D8002FCD0F8A3018FAC7FFFC3089FACBFFB809 +:1041E8000E9CF01F001D581CC0C0491890093008CB +:1041F800F0091900C3C44908498C1AD81AD8C0E86C +:10420800497CF01F000F0E9C300BF01F001618970A +:10421800581CC080201D1ADC493CF01F00092FEDF6 +:10422800C268492CF01F00060E9CC238000016A276 +:1042380080037A248003787080037F50800094C4C0 +:104248008002E8BC8002E73680037CB08002EE0C76 +:1042580080037F648001908480037F7880037FA03F +:10426800800099A880037FB880037FC0E06C00FFBE +:104278002DEDD822D42120AD4A461697178A31F859 +:10428800F00A1800E08B002FFAC5FFF92FFB0A9CF3 +:10429800F01F001F0F88FAC9FFD8FB680027100914 +:1042A8003008F368FFDF8C88EDB80002C0814998B8 +:1042B8001AD5499C1AD8F01F00192FED300BFACCEB +:1042C800FFF9F01F00171897581CC1B048F890095B +:1042D8003008F0091900C1541ADC48E8491C1AD8FA +:1042E800C0D88C093008F0091900C0353FF7C098CC +:1042F800201D488848CC1AD83FF7F01F00082FED3A +:104308000E9C2F6DD8220000000016A28002E7360E +:10431800800378E080037B18800094C4800099A80B +:1043280080037D5480037FC4D431216D4D281697B6 +:104338009088EDB80002C0B14D08201D1ADC1AD8CB +:104348004CF84D0C1AD8F01F00502FCD321AFAC66F +:10435800FFFD300B0C9CF01F004D0F8A31F8F00A5E +:104368001800E08B0085EECBFFFF0C9CF01F004887 +:104378000F88FB6800234C089088EDB80002C081C4 +:104388004BF81AD64C3C1AD8F01F003F2FED0F8679 +:104398002FF6EE060006FAC7FFAC0C9B0E9C173AE8 +:1043A800F01F003D0D88FAC9FFA8F20800080E9C0E +:1043B8003003F163FFFCF01F00393038EFDCC00830 +:1043C8000D89F00718005FB53018F00918005F185C +:1043D80010450A94E6051800C4A1ECCBFFFDFAC30A +:1043E800FFDC2FE6069C0D8AF01F002B0D88FAC90A +:1043F800FFA8F2080008069BF165FFCCFAC5FFC0CC +:104408000A9CF01F002730D81896F00C18005F1986 +:104418003058F00C18005F18F3E80008E808180096 +:10442800C261FAC4FFB2306AE06B00FF089CF01F5B +:1044380000170C9B08990A9A0E9CF01F001A0E9CF4 +:10444800F01F0019300BFACCFFFDF01F0018581CA4 +:10445800C100489890093008F0091900C0844888BC +:104468001ADC493C1AD8F01F00082FEDE06C00FF59 +:104478002EADD832000016A280037888800379AC6C +:1044880080037F50800094C48002E8BC8002E73635 +:1044980080037FE48002EE0C8002DC2C80009868A8 +:1044A8008001927080019258800099A880037D5401 +:1044B800D401319CF01F0010E06B00EFFE7C280057 +:1044C800F01F000E581CC060FE7C2800F01F000C76 +:1044D800CFC0319CF01F000B48B890093008F00994 +:1044E8001900C0844898201D489C1AD8F01F00095C +:1044F8002FEDD8028000A3008000A7FA8000A7F261 +:104508008000A2E6000016A28003790880037FF0ED +:10451800800094C4D431202D3008FAC7FFF81696CD +:10452800189514930EE81694098B0A9C2FF4F01F23 +:104538000009581CC0B00E9B0A9CF01F0007089881 +:104548000C18E6081900CF13300C2FEDD8320000F4 +:104558008000A7FA8000A816D421202D30081496D0 +:10456800F80C002C129AFAC9FFF812E84A88F00CE5 +:10457800002C169578280C9B0A9C5D184A583049DF +:10458800319C9109F01F00249ABA0C9BFE7C2400F0 +:10459800F01F00221897319CF01F00214A189088BC +:1045A800EDB80002C0414A0CF01F002049D890889D +:1045B800EDB80002C0D149E8201D49EC1AD8F01F17 +:1045C800001B49D80A9C908BF01F001C2FED4958FE +:1045D8009088EDB80002C041499CF01F00144918AA +:1045E8009088EDB80002C0C14918201D491C1AD88E +:1045F800F01F000E9AFB0C9CF01F00102FED9A394B +:1046080049080E9CB0092FEDD8220000000011E0E7 +:10461800000011B88000A3008000451C8000A2E6BD +:10462800000016A080038008800094C480037800EE +:1046380080037C84000011BE80013DB48003800C9F +:10464800000011BCD431202D4BC43048E8C3FFF022 +:10465800BAF81897199616910C90F8C2FFFD2FC456 +:104668003005E21000400988EC081800C4B107883A +:104678003029F2081800C1F10A9C4B08EA05002508 +:10468800029AF00500240E9BE8C5FFF46839F01F74 +:10469800002CC030301CC4E868086A0A049B0FACC0 +:1046A8005D18BAFCE216004030181BF9F009180032 +:1046B800C3C1C3D85800E00A1700F9BA0100E8F8E6 +:1046C800FFFC049B0FAC5D18BAFC30190788F20890 +:1046D8001800C0B10A9C4998EA050025029AF0051D +:1046E80000250E9B6A39C0A83049F2081800C0A1FD +:1046F800029A0E9B0A9CFAC9FFF9F01F0011C170BB +:10470800C1882FF52EC42EC3E0450024CAD148D84D +:1047180090093008F0091900C08448B81AD648BC76 +:104728001AD8F01F000B2FED302CC048304CC02891 +:10473800300C2FEDD8320000000011E080004560F9 +:10474800000016A28003789880038010800094C42B +:10475800D421202D4BD8910C30094BD8118AF20A5C +:104768001800E08000DAB08930085018E1B800007D +:10477800EE180001F5D8C201C020D303FE7824004A +:104788003019706BF7D9D001916B706BF7D9D0C124 +:10479800916B706BF7D9D081916B580AC020D50303 +:1047A8004AC7FACAFFFC6E0B4ABCF01F002C1896C9 +:1047B800C6E04AB8303A6E09910A401B4A98161961 +:1047C800B009E06A03FFF4091900E0880005E06910 +:1047D8000400B0094A064A37EC0B000B4A2C8E8AB3 +:1047E800F01F002230084A2BAC8849FCF01F00213A +:1047F800584CC2204A089088EDB80002C0C149F858 +:10480800201D49FC1AD8F01F001F8E8B496CF01F21 +:10481800001E2FED49889088EDB80002C0D1497874 +:10482800201D497C1AD8F01F00174988490C908B25 +:10483800F01F00152FED4879300893084899B20801 +:1048480048799308C46800000000152C0000151C66 +:10485800000014B0000014B880002D70000011B8DA +:10486800000011BE00000DB88002E736000009B84C +:104878008000464C000016A0800379D880037C8411 +:10488800800094C480013DB4000011BCF01F0024D6 +:104898004A489008EC081900C0A44A3890881AD8E9 +:1048A8004A284A3C1AD8F01F00232FED4A289009BD +:1048B8003008F0091900C0644A084A1C909BF01F90 +:1048C80000214A19300893084A09B20849C9B28830 +:1048D800E06B0120FE7C0D80F01F001DE1B8000098 +:1048E800EE180001F5D8C201C020D303FE782400D9 +:1048F8003019705BF7D9D001915B705BF7D9D0C1E3 +:10490800915B705BF7D9D081915B580AC020D503C1 +:10491800319CF01F00102FEDD8220000800044B811 +:10492800000016A2000014B4800379D88003802CFC +:10493800800094C4000016A6000014B0000014B84B +:1049480080013DB4000011B8000011BE8000A20033 +:104958008000A300D431207D4B6730054B664B782F +:104968001188EA081800EC081710EE0817004B4CDD +:104978001AD8F01F00344B481188EA081800EC07D1 +:1049880017104B2C50074B2230074B23F01F002DDC +:104998000E942FED4B01CBD86A005800E08000B28E +:1049A80080286009201D1AD95028F01F002C602A81 +:1049B8002FFD580AE60A1700E20A171040185C781B +:1049C80060491AD84A681ADC1ADA4A6A5809F40996 +:1049D8001700F00917104A4C1AD91AD01AD61AD744 +:1049E800F01F001860482F8D5808C431E0C9FFBC7B +:1049F800720A580AC0E0744B201D49CC1ADB1ADA37 +:104A08001AD850595048F01F000F2FCD40084019B0 +:104A18002FF82FC95848CED161585808C610704988 +:104A2800493C1AD91AD8F01F00072FEDC598000085 +:104A3800800380548003805C000016AB8003806094 +:104A4800800094C400007B078003807400007B080A +:104A580080037BE480037BDC800096A880037DC410 +:104A680080037DC880038088800380B8800380D05D +:104A780061E85808C350F11900127008201D1AD8AF +:104A8800507850395028F01F002761EA2FFDF53B78 +:104A9800001040291AD940281AD81ADC4A2C1ADBE7 +:104AA8001ADA50B8F01F0021FACAFFE00C9B5084B4 +:104AB800FB5400240E9CF01F001E2FBD40305050A8 +:104AC8001AD0FB1800145028F01F00162FFD4018AC +:104AD8001AD81AD01ADC497CF01F00142FCD0E9C6E +:104AE800F01F001549594968580CF2081710201D85 +:104AF800494C1AD8F01F000D493CF01F000C2FED4F +:104B08002FF62FC55826FE91FF492FF75847C0505A +:104B1800E40700353006C41BF01F000C2FADD83257 +:104B2800800096A8800380E8800094C4800021C893 +:104B380080038114800070788003812C8003812891 +:104B480080038130800381408000D680D431204D9D +:104B58004BE812911896169711895809C1A119881E +:104B6800B6881998EA18FFFFE818FF80B6C9B69802 +:104B7800B6A93EE8B6B83048A2084B589088EDB8B8 +:104B88000002E08100E7201D4B284B3C1AD8C228C0 +:104B9800FACCFFF4F01F0031403366105800C1E131 +:104BA8000D88AE880D98EA18FFFFE818FF80AEA0C0 +:104BB800AE9830093EE8AEC9AEB83048A2084A48B7 +:104BC8009088EDB80002E08100C5201D4A184A4CC3 +:104BD8001AD8F01F00242FEDCBC858B0F9B0020A3C +:104BE80030044A12C0786408F004032C2FF4F01F34 +:104BF800001F641849C51034CF736A0C3004F01FC5 +:104C0800001B8B14661B580BC460A36B301CF01F71 +:104C180000188B0CC3A1497CC1486608F002030B3D +:104C28006A080408501B5008F01F00134008910C34 +:104C3800401B6A082FF4F002030C580CC20148FC10 +:104C4800F01F0008C2880000000016AA000016A283 +:104C58008003783C8003816080018F048003817C1D +:104C6800800094C4000015208002E28C8002DC3CA5 +:104C7800800381988002E2A4800381C0344AF01F37 +:104C880000376A182FF88B18E8021502344C66189A +:104C98001034CC430D88AE880D98EA18FFFFE81849 +:104CA800FF803005AE98AEA030364AD20A984AD96D +:104CB8000E93640AEA0B1502F40B030AF537002079 +:104CC800F4070B08ECCCFFFF2FF7E60C000C5C5741 +:104CD800300AE6060B07C0886404E80B0304E80AF8 +:104CE80007042FFA18C40E9EEE0A1900CF630E9A15 +:104CF8002FFAF4060006928A5C56EDBA0002C1D17A +:104D0800640A202DF40B0304503950281A9C306A89 +:104D1800E8CBFFDFF01F001168CA1ADAE93A003859 +:104D28001ADA491A1AD7491C1AD41AD51ADAF01FEE +:104D380000102F8D400840192FF50035CBB53EE8FF +:104D4800E6060B08069730080C07AE982FF6A20661 +:104D5800302C2FCDD83200008002E7360000152015 +:104D6800000016A28003783C800381E4800094C48C +:104D780048781188580CC0215EFF5C68100C300818 +:104D8800F9390015F00918005F1C5EFC00001530A9 +:104D9800D4211897580CC2A04968F129000030089E +:104DA800F2CA0004F00900065836F5D8E9062FF8CB +:104DB800EE06002C791C163CC17148F89088EDB8B5 +:104DC8000001C0A148D81ADB48DC1AD61AD71AD86D +:104DD800F01F000C2FCDF9D6C00830082F06EE06BC +:104DE80000278F18D8225848CDE1E06C00FFD82260 +:104DF80000001530000016A2800382688003830437 +:104E0800800094C4D42118971695580CC2B04978DC +:104E1800F12900003008F2CB0004F00900065836EA +:104E2800F7D8E9062FF8EE06002A751A580AC03096 +:104E38000A3AC16148E89088EDB80001C0A148D895 +:104E48001AD548DC1AD61AD71AD8F01F000C2FCD5D +:104E5800EE060027F9D6C008EF450044D822584886 +:104E6800CDD1E06C00FFD82200001530000016A25A +:104E780080038CF080038304800094C4D4211897A5 +:104E8800580CC2A049E8F12A00003008F4CC00040C +:104E9800F00A00065836F9D8E9062FF8EE06002978 +:104EA80073195809C170580BC0F049689088EDB85B +:104EB8000001C0A149481AD9494C1AD61AD71AD89C +:104EC800F01F00132FCDEE06002748D8B0866F1CC0 +:104ED800D8225848CDE1580BC10048A8900930089D +:104EE800F0091900C0A448881AD748AC1AD8F01F8E +:104EF8000008300C2FEDD822D82A00000000153009 +:104F0800000016A280038CB880038304800094C438 +:104F180080038324D4214CB816951188189730063D +:104F2800EC081800E08000B6300BF01F004718941A +:104F38005807E0800097580C5F19EC0518005F08C7 +:104F4800F3E81008EC081800E080008C4BF8908813 +:104F5800EDB80002C3314BE811894BE89088EDB8F1 +:104F68000001C2C15C69EE09002871185808C041E7 +:104F7800109E1096C098EE09000AF53E0015F2CA78 +:104F8800FFF8EE0A03266F5A201D580AF40C170082 +:104F9800F5FC10045808F00B1700F1FB10041ADE9A +:104FA8001AD61ADC1ADA1ADB1AD84AB81AD74ABC3F +:104FB8001AD91AD8F01F002A2F6D5805C3D068488F +:104FC80058485F1958085F181268C3304A08118991 +:104FD8004A089088EDB80001C2C15C69EE09002852 +:104FE80071185808C04110951096C098EE09000A2B +:104FF800F5350015F2CAFFF8EE0A03266F5A201D90 +:10500800580AF40C1700F5FC10045808F00B1700A8 +:10501800F1FB10041AD51AD61ADC1ADA1ADB1AD8D8 +:1050280048D81AD748DC1AD91AD8F01F000D2F6DA6 +:10503800E93C0013D8226F58F13C0013D822000035 +:10504800000016AB80004E84000016A80000153042 +:10505800000016A28003828C80038348800094C4D9 +:1050680048D890093008F0091900C1345807EE08EB +:105078001700EE041700EFF810151AD848781AD45C +:10508800487C1AD71AD8F01F0007300C2FCDD82229 +:10509800D82A0000000016A88003828C8003838C25 +:1050A800800094C4D421580CC25049D8F12900007A +:1050B8003008F2CA0004F00900075837F5D8E907A4 +:1050C8002FF8F807002E7D1E163EC12149589088FA +:1050D800EDB80001C0A149481ADB1AD71ADC493CCF +:1050E8001AD8F01F00132FCD0E9C5C5CD8225848AC +:1050F800CE31490890093008F0091900C045E06C24 +:1051080000FFD8224888201D1ADB1ADC48AC1AD8C0 +:10511800F01F0007E06C00FF2FCDD82200001530EB +:10512800000016A6800382BC80038304800094C418 +:10513800000016A2800383C0D421580C5F18580BB6 +:105148005F1918961695F3E800081494C590580A44 +:10515800C5704AC89088EDB80001C0C114985C7841 +:10516800201D1AD84A881ADB4A8C1AD8F01F002842 +:105178002FCD4A889088EDB80001C0D14A28201D5B +:105188004A5C1AD8F01F0022089B0A9C5C7BF01F1F +:1051980000232FED300A5C74149C089BF01F00203C +:1051A8001897C0E149789008F8081900C29449682E +:1051B8001AD649CC1AD8F01F00162FEDC1C8089A84 +:1051C8000A9B781CF01F00180E9B6DECF01F00174F +:1051D8005C5CC12048B890093008F0091900C08407 +:1051E80048981AD6492C1AD8F01F00092FED0E9CA2 +:1051F800F01F0010DC2A0E9CF01F000EDA2ADC2AB1 +:10520800000016A280038CE4800383E8800094C425 +:10521800000016A080037C8480013DB48000D31870 +:10522800800383FC8002E7368001153880038428D8 +:105238008000D13CD421149518971696580CC0417B +:10524800E06C00F6D822F01F00163FF8E9DCC00831 +:10525800F0041800C041E06C00FFD822491890887B +:10526800EDB80001C0E16C48201D1AD848E85C651B +:1052780048EC1AD51AD61AD71AD8F01F000D2FAD38 +:105288006C4858485F0948B8B0893008EE040004F3 +:10529800E9680068F01F00088F7CD82A800050ACAD +:1052A800000016A280038D1080038450800094C4EF +:1052B80000007B0780009504D43118971695F01FDD +:1052C80000353FF8EDDCC008F0061800C5E0EE0632 +:1052D80000083009F1690015ECC8FFF8EE0803244E +:1052E8005804C5304AC89088EDB80001C0A14AB832 +:1052F800201D4ABC1AD41AD41AD8F01F002A2FCD60 +:10530800EB1800726EF91238F20817B00838F0047A +:1053180017804A589088EDB80001C051F01F00234B +:105328004A38910CECC8FFEA3019EE08032B089AAA +:105338000A9C5C7AF01F001FE7DCC008C19049A8EE +:105348009088EDB80001C0F16A48201DF3D3B00879 +:105358001AD91AD41AD849181AD5497C1AD8F01F5C +:1053680000112FAD0C073008EF680015C10830197F +:10537800ECC8FFF8EE060006ED690015EE080329F3 +:105388000819EE080929C038E06300FF069CD832E6 +:10539800800050AC000016A680038C7880038474CB +:1053A800800094C4000016A2800095040000153403 +:1053B800800109C08003848CD43116941493189703 +:1053C800580CC1014AB89008F8081900E08400D3C5 +:1053D8004A98201D4A9C1AD8F01F00293FFC2FED3F +:1053E800D832300BF01F0027189B18960E9CF01F20 +:1053F80000263FF8EBDCC008F0051800E08000BB91 +:105408004A289088EDB80001C0E1F1D3C010201DF2 +:105418001AD849981AD449EC1AD61AD71AD8F01FAC +:1054280000182FAD49B89088EDB80001C0D14928BF +:10543800201D499C1AD8F01F0012F7D3C010089CF1 +:10544800F01F00162FED49189088EDB80001C4B17F +:105458004938118948789088EDB80001C4415C69E1 +:10546800EE09002871185808C1C11092109EC21880 +:10547800000016A280038D20800384C0800094C49D +:1054880080004E84800050AC000016A6800384D8AB +:10549800000016A080037C8480013DB40000153014 +:1054A800EE09000AF5320015F2CAFFF8EE0A032EDB +:1054B8006F5A201D580AF40C1700F5FC1004580800 +:1054C800F00B1700F1FB10041AD21ADE1ADC1ADAF4 +:1054D8001ADB1AD84A881AD74A8C1AD91AD8F01F50 +:1054E80000282F6D5806C46058045F183009F2036D +:1054F80019005F1AF5E80008F2081800C3B0EAC8F6 +:10550800FFEAEE08032C580CC3506C4858785F0B20 +:1055180058485F0AF7EA100AF20A1800C0515828DA +:10552800C0305838C2715C73089B069AF01F00158A +:10553800EAC9FFEA300AEE090328F0030B0A4928F2 +:105548009088EDB80001C0A1EE0903281AD848A830 +:1055580048EC1AD8F01F000A2FED48DB0C9C2F8569 +:10556800EE050923F01F000B0C9B0E9CF01F000A90 +:10557800DA3ADC3A80038D2080038348800094C4A3 +:105588008002E736000016A6800384FC800055A040 +:105598008000D662800052C0D431149518971696B0 +:1055A800580CC041E06C00F6D832F01F001D3FF8DF +:1055B800E9DCC008F0041800C041E06C00FFD832F4 +:1055C8003009EE040008F16900683019F169001526 +:1055D80049489088EDB80001C171E8C8FFF8EE08A5 +:1055E8000323F01F00114918201D1AD37008F8086A +:1055F80001081AD848E85C7548EC1AD51AD61AD8A2 +:10560800F01F000D2FAD2F84EE04032C580CC06042 +:105618000C9B0E9CF01F0009300CD832800050AC57 +:10562800000016A2800095040000153480038D50F8 +:1056380080038508800094C4800052C0D421189744 +:10564800580CC1C0F01F000E18965BFCC060EF3B01 +:10565800000B5C5CF01F000B48B89088EDB80001A7 +:10566800C0A148A8201D48AC1AD61AD71AD8F01FCE +:1056780000092FCD30094888B089D82280002044FD +:1056880080002068000016A280038D3C80038538C6 +:10569800800094C400007B07D4314898189711897A +:1056A80048889088EDB80001C3015C69F8090028B2 +:1056B80071185808C08110951096C0D80000153090 +:1056C800000016A2F809000AF5350015F2CAFFF81D +:1056D800F80A03266F5A201D580AF40C1700F5FC27 +:1056E80010045808F00B1700F1FB10041AD51AD64D +:1056F8001ADC1ADA1ADB1AD84C281AD74C2C1AD901 +:105708001AD8F01F00422F6D0E9C3005F01F004084 +:10571800EEC6FFBC0A924BF34BA45C5CF01F003E44 +:105728006C08300B2FF5109C5808C1D0F01F003BB7 +:105738006C0C300BF01F003A6C0C300BF01F00396A +:105748006C0C300BF01F00388688EDB80001C0B132 +:10575800201D1AD26C0870484B4C1AD81AD4F01F66 +:10576800002B2FCD2FC65845CDC16F5C580CC1D02A +:10577800300BF01F002A300B6F5CF01F002D6F5CA0 +:10578800F01F002C4A385C5C9088EDB80001C0D14D +:10579800201D5C6C1ADC6F5870481AD849984A6CFE +:1057A8001AD8F01F001A2FCD6FEC580CC060F01FEC +:1057B80000236FECF01F00224A28F1260000495808 +:1057C8009088EDB80001C0E1ECC8FFEAEE080328B4 +:1057D800201D1AD848B81AD649BC1AD8F01F000B91 +:1057E8002FCD2EA6EE06032C580CC060F01F001714 +:1057F8003008EE0609280E9CF01F0014D83200006D +:1058080080038CC880038348800094C480002044AF +:10581800000016A280006F288000D6588000D6624B +:105828008000D65C8000D668800385608000D66ED4 +:105838008000E50480038588800111C88001122852 +:1058480000001530800385B08002E28CD4211897BF +:10585800580CE080007EF01F00413FF8EDDCC008E6 +:10586800F0061800C750EE0600287114089CF01FB7 +:10587800003CEBDCC008C0D10A9B089CF01F003933 +:105888000A9B089CF01F00380A9B089CF01F0037F1 +:105898004B789088EDB80001C0D1F1D5B0081AD87E +:1058A80068481AD84B381AD44B3C1AD8F01F003322 +:1058B8002FCD4AF43FF8F0051800C1718809300867 +:1058C800F0091900C0D4EE0600287118201D1AD856 +:1058D8004AB81AD64ABC1AD8F01F00282FCD0C0790 +:1058E8003018EF68006CC368EE0600083009F169EB +:1058F800006CEE0600280E9C711BF01F00238888A0 +:10590800EDB80001C0E1ECC8FFEAEE080328201D4D +:105918001AD849B81AD649DC1AD8F01F00182FCD62 +:105928002EA6EE06032C580CC060F01F0019300894 +:10593800EE06092848E89088EDB80001C0B149088A +:10594800201D494C1AD8F01F000D2FEDC038E06516 +:1059580000FF0A9CD8220000800050AC8000E504BB +:105968008000D6588000D6628000D65C000016A25F +:1059780080038D2C800385CC800094C480038CD850 +:10598800800385F880004D98800385B08002E28C02 +:1059980080038624D4211897580CC0E14BE890085E +:1059A800F8081900C7744BD8201D4BDC1AD8F01F13 +:1059B800003D2FEDD82278264BB85806C121F12595 +:1059C8000000F01F003A0E9CEF34000BF01F003867 +:1059D800089B5C5CF01F00370A07EF660068D82256 +:1059E80011894AD89088EDB80001C2C15C69F809EC +:1059F800002871185808C04110951096C098F809E9 +:105A0800000AF5350015F2CAFFF8F80A03266F5A9E +:105A1800201D580AF40C1700F5FC10045808F00B68 +:105A28001700F1FB10041AD51AD61ADC1ADA1ADB99 +:105A38001AD849A81AD74A0C1AD91AD8F01F001927 +:105A48002F6D4998F1260000ECC5FFF0EE05002502 +:105A58006A1C580CC1F078485898C1C05808C1A0B1 +:105A6800F01F001648C85C5C9088EDB80001C0C102 +:105A7800201D5C6C1ADC6A181AD84888490C1AD898 +:105A8800F01F00082FCDEE0600260E9C6D1BF01FA0 +:105A9800000DD822000016A2800382988003864455 +:105AA800800094C400001530800056A08000204477 +:105AB800800020688003834880010CEC8003865CAA +:105AC80080005854D4214B0818979009169630082E +:105AD800F0091900C0F44AD8F12800001AD8F1DBFF +:105AE800B0081AD84AA81ADC4AAC1AD8F01F002AFB +:105AF8002FCD4AA811893008F0091800C0414A8CF6 +:105B0800F01F00253FB8F0061800C3C15807C110A0 +:105B180049E830091188F2081800C0B53039F20890 +:105B28001800E08900075C68EE080028711BC0288F +:105B3800300B0E9CF01F001B49389088EDB800010F +:105B4800C1114928F1280000201DF0C9FFEAEE091B +:105B580003291AD91AD848E8493C1AD8F01F000E68 +:105B68002FCD48A6ED2800002EA8EE08032C580CCF +:105B7800C090F01F000EED28000030092EA8EE0896 +:105B88000929D822000016A200001530800382A837 +:105B980080038680800094C4000016AB800386B41E +:105BA80080004D98800385B08002E28CD42118973C +:105BB8001696580CC4E04A8890093008F009190074 +:105BC800C0C4F1DBB0081ADC1AD84A481ADC4A4CBF +:105BD8001AD8F01F00242FCD4A3811893008F0094F +:105BE8001800C0414A1CF01F001F3FB8F0061800FB +:105BF800C301499890093008F0091900C084497810 +:105C08001AD749BC1AD8F01F00172FED0E9CF01FA9 +:105C180000194998F126000048F89088EDB800016D +:105C2800C0E1ECC8FFEAEE080328201D1AD848B8DE +:105C38001AD6492C1AD8F01F000B2FCD2EA6EE0627 +:105C4800032C580CC060F01F000E3008EE0609281F +:105C5800D8220000000016A2800382D0800386C8E4 +:105C6800800094C4000016AB800386B4800386F8D5 +:105C78008000564400001530800385B08002E28C15 +:105C8800D4311897149678CC94CAF80A000A8FCAA7 +:105C98001093169512946E385808C1504A5CF01F3C +:105CA8000026EF18001A3509F0090D083008F00928 +:105CB8001900C0414A1CF01F0020EF08001A2FF8F5 +:105CC800EF58001A49E89088EDB80001C171202DFD +:105CD800304A1A9C089BF01F001BF01F001BEF386E +:105CE8000014F3D3C01050091ADC1AD849781AD610 +:105CF800497C1AD8F01F00102FAD0A9AEF3B001408 +:105D08000C9CF01F001409890998B168F1E9118801 +:105D180009A9F1E9108809BBEF3C0014F5D3C010BC +:105D2800104BF01F000D0C9CF01F000CD832000027 +:105D380080037FB4800094C4800384D4000016A23A +:105D48008002E736800096A88003827C800387184B +:105D580080007130800020088000D13CD431204D73 +:105D6800502C503BFAC4FFCC10916800681268238D +:105D780068386846129568545819E088000E4B58E0 +:105D880090093008F0091900E08402B0201D4B2862 +:105D98004B2C1AD8C2F85801C0C14AE89008E2084A +:105DA8001900E08402A3201D4AB84ADC1AD8C22888 +:105DB8005802C0C14A789008E4081900E0840296A5 +:105DC800201D4A584A7C1AD8C158501A500837CB57 +:105DD800301CF01F0025401A18974008C10149D807 +:105DE8009008F8081900E0840281201D49A849FCA0 +:105DF8001AD8F01F001F2FEDE08F0278402999383C +:105E0800B829300840395C729900B831992599DA77 +:105E180099E999F29943F9480050F9480044F9483A +:105E28000048F948004C5803E080008C3058F95875 +:105E38000074F01F0010EF4C00784865580CC1D171 +:105E48008A08F8081900E084020C1AD748A8C8582C +:105E5800000016A280038CA880038744800387640F +:105E6800800387848002DC3C800387A8800094C478 +:105E780080011200800382F88A88EDB80001C131E0 +:105E88006E08201D8EA51AD8F01F00366FE8500541 +:105E98001ADC1AD84B481AD84B484B5C1AD8F01F52 +:105EA80000352FAD6E258EAA6FEC5805C1210E9BCB +:105EB800F01F00315C5CC2504B089008EA081900DA +:105EC800E08401CF1AD74A984ADC1AD8E08F0175C6 +:105ED8004ACBF01F002DF5DCC008C0E04A789009D5 +:105EE8003008F0091900E08401BC201D5C6A49F8FB +:105EF8001ADA1AD7C499EF3C0014149BF01F002338 +:105F08006FEC0E9A4A2BF01F002349C8908CE21CB4 +:105F18000002E08001A76FE8F11900141AD970197E +:105F28001AD9F11900121AD970081AD848E81AD8DB +:105F380048E8499C1AD8F01F000F2FADE08F018F59 +:105F4800F01F00161892C2F148C89008F808190006 +:105F5800E08401871AD749281AD8492CC2D90000E9 +:105F6800800096A88003825C800382F88003880CF6 +:105F7800800094C480011320000016A280038824A6 +:105F88008003B409800112608000200880005C88CA +:105F9800800111F8800388848000E34080038C6CC2 +:105FA800800387E04B880E9BB083F01F0038EF63B7 +:105FB800006FEF63006CEF63006DEF63006E6E2897 +:105FC8004B355808E08100BD049B0E9CF01F003142 +:105FD800E7DCB0086EFCF01F0030E6C8FFEAEE0808 +:105FE800092C8A88EDB80001C0A14AC8201D1ADC16 +:105FF8004ABC1AD31AD8F01F002B2FCD2EA34A451E +:10600800EE0303285808C0B18A09F0091900E08492 +:1060180001281AD74A184A4C1AD8CCE84A3B049C9B +:10602800F01F00234A3B049CF01F00234A3B049CBA +:10603800F01F0023304A4A3B049CF01F00234A38D3 +:106048003009B0898A88EDB80001C0C1EE03032881 +:10605800201D1AD849181AD249DC1AD8F01F001185 +:106068002FCD4898118948A89088EDB80001C5310E +:106078005C69EE09002871185808C2B11093109590 +:10608800C3080000000015308000D658000016A292 +:1060980080004E0C8002E2A480038C6C800388A8E8 +:1060A800800094C4800388C480005BB48000D668F4 +:1060B800800069888000D65C800055A08000D66288 +:1060C800800067B48000D67200007B07800388F4E4 +:1060D800EE09000AF5330015F2CAFFF8EE0A0325A7 +:1060E800201D5808F00B1700F1FB10046F5A580ACE +:1060F800F40C1700F5FC10041AD31AD51ADC1ADAB6 +:106108001ADB1AD84B681AD74B6C1AD91AD8F01F51 +:1061180000362F6D049C4B598EAA0E9BF01F00343D +:106128005C5CE080009F4B3890093008F00919004A +:10613800E08400971AD74AA84AFC1AD8C3D88A8894 +:10614800EDB80001C0F1301B0E9CF01F002C6F58F9 +:106158001ADC1AD84A281AD74A9C1AD8F01F0022E3 +:106168002FCD8EAA4A7B049CF01F00275C5CC120BF +:106178004A0890093008F0091900C724201D5C6CF2 +:1061880049781ADC1AD71AD84A0CF01F00172FCDF5 +:10619800C678049CE06B00FFF01F001DEF4C005414 +:1061A8004945580CC0D18A08F8081900C5941AD76F +:1061B80048B8498C1AD8F01F000C2FEDC5188A88EA +:1061C8004959E21800021389C4505C69EE09002895 +:1061D80071185808C2211095109BC27880038C6CE6 +:1061E80080038348800094C48000523C8000E350C0 +:1061F800000016A28003891080004E84800389382D +:106208008003B4098000D7708003884C8000DC04C8 +:106218008003896400001530EE09000AF535001581 +:10622800F2CAFFF8EE0A032B7843201D5808F00A3B +:106238001700F1FA10041AD51ADB1AD31ADC1ADA85 +:106248001AD84AC81AD74ACC1AD91AD8F01F002B1C +:106258002F6D4ABB6F5CF01F002B300CC0283FFC31 +:106268004A95580CC0E08A093008F0091900C3A4FF +:106278004A68201D4A6C1AD8F01F00202FEDC32849 +:106288008A88EDB80001C2914A284A396E204A31FD +:106298005800F2001700F00017108E226E484A09C5 +:1062A8006EF35808F20117108E355818C0316FEC8C +:1062B800C058301B0E9CF01F001B49481AD05C7256 +:1062C8001AD15C751AD21AD31AD51ADC496C1AD7A6 +:1062D8001AD8F01F000A2F8D8907EF660014300CBA +:1062E800C0580E9CF01F00113FFC2FCDD832000083 +:1062F80080038C6C80038348800094C480006434DD +:106308008000D66E000016A280038CA880038988BE +:1063180080037BDC80037BE480037DC880037DC42D +:1063280080004E84800389A8800056A0D431203D87 +:10633800300730194B38E06504001892169191091E +:10634800E06007D00A9350070E964AF4C22826CC7C +:1063580058ACE08B001F4ADEFC0C032F3016C198A6 +:106368003006C178680CF01F002AE7DCB010C118AD +:1063780030185008C0E8680CF01F0025EBDCB0109E +:10638800C0883017C068680CF01F0021E1DCB0102D +:106398004A0A029B049CF01F00205BFCCD91580622 +:1063A800C161498870080438C0A4E208032BFACCFC +:1063B800FFF8F01F001A402B580BC0A14988201D78 +:1063C800498C1AD8F01F00182FEDC198300B502BAC +:1063D800F1D5C0100C99FAC5FFFC300650161AD535 +:1063E8001AD6402E5C731ADEF9D0C0101AD70C9A50 +:1063F8001AD31ADB0C9BF01F000D2FAD2FDDD83AF6 +:1064080000007AB800007AC0800382208002DC2C69 +:10641800800389E08002E278800098FC0000000C8C +:10642800800389EC800094C480005D64D4211897AF +:106438001696580CC041E06C00F6D8224C1890888B +:10644800EDB80001C0A14C08201D1ADB1ADC4BFC7A +:106458001AD8F01F003F2FCD4BA89088EDB8000147 +:10646800C0F16C481AD8ED1800241AD8ED18001C91 +:106478001AD84B584B7C1AD8F01F00352FCD0C9BDF +:106488000E9CF01F0035EDDCB008ECC8FFEAEE0802 +:1064980003285808C0804B18201D4B1C1AD8F01F21 +:1064A800002C2FED6EFCF01F002FECC8FFEAEE0861 +:1064B800092C4A489088EDB80001C0A14A28201D3F +:1064C8001ADC4A9C1AD61AD8F01F00212FCDECC826 +:1064D800FFEAEE0803285808C10149A99209F00902 +:1064E8001900C08449881AD74A0C1AD8F01F001816 +:1064F8002FEDE06C00FFD8220E9B2F06EE0600263B +:106508006C1CF01F001B49BB6C1CF01F001B49BB17 +:106518006C1CF01F001B6C1C304A49ABF01F001AA2 +:106528000E9CF01F001A583CE08B00075C5C300A98 +:106538000E9BF01F0017F01F00178F7CD82A000051 +:10654800000016A2800382E8800389F0800094C4CA +:1065580080038A1480004E0C80038A3880039DC013 +:106568008002E2A4800388A8800388C48000D658EB +:10657800800069888000D65C80005ACC8000D6688C +:106588008000659C8000D6728000204480002A002C +:1065980080009504D43118971695580CC041E06CCA +:1065A80000F6D832F01F00473FF8EDDCC008F006CF +:1065B8001800C041E06C00FFD832ECC8FFF8EE08C4 +:1065C80003285808EFD6E108F1F91868F7B901FF70 +:1065D800F1F91E68EE0600083049F1380068F20843 +:1065E8001800E088001E4B89920A3009F20A190047 +:1065F800C0A41AD84B581AD74B5C1AD51AD8F01F12 +:1066080000352FCD0C070A9C3006301BEF6600685A +:10661800F01F0031E06C00FBEF66006CD8325805C3 +:10662800C1504AE89088EDB80001C101EAF800A815 +:106638001AD8EAF8009C1AD8EB3800AD1AD84A38AC +:106648004A7C1AD8F01F00232FCDECC8FFF8EE08BB +:1066580003245804C1D049C89088EDB80001C1810D +:10666800EE060008301BF1330068F132006C0E9C16 +:10667800F01F001C4958201D1AD41AD21AD31AD751 +:106688001AD51ADC498C1AD8F01F00122F8D0A9BD4 +:106698000E9CF01F0016EE0600033002E738006C6F +:1066A800E4081800C7100A9CF01F00113FF8E9DC45 +:1066B800C008F0041800C1D13018E768006CC4A8FD +:1066C800800050AC000016A280038C8C80038A4C9A +:1066D800800094C48000E124000016A880038A7C0E +:1066E80080004E8480038AB0800052C08000E50498 +:1066F800EE060028E762006C711B0E9CF01F002359 +:106708004A389088EDB80001C0E1ECC8FFEAEE080D +:106718000328201D1AD849F81AD649FC1AD8F01FA0 +:10672800001F2FCDECC3FFEAEE03032C580CC0600A +:10673800F01F001B3008EE03092849589088EDB86F +:106748000001C0814938201D496C1AD8F01F001378 +:106758002FED48F89088EDB80001C1610E9C301B00 +:106768000C07EF37006CF01F001048A81AD65C64BD +:106778001AD41AD71ADC48DC1AD51AD8F01F000721 +:10678800300C2FADD832D83A80004D98000016A2B0 +:1067980080038C8C800385B0800094C48002E28CD6 +:1067A8008003862480004E8480038AF0D4311897B1 +:1067B8001695580CC041E06C00F6D832F01F003E28 +:1067C8003FF8EDDCC008F0061800C041E06C00FF9F +:1067D800D8324BA89088EDB80001C1A1EE06000898 +:1067E800F1340068F133006C4B58301B11820E9C59 +:1067F800F01F00344B48201D1AD21AD31AD41AD7C6 +:106808001AD51ADC4B1C1AD8F01F00312F8DEE0652 +:1068180000083009F13A006CF20A1800C060F1393A +:1068280000682FF9F1690068EE060008F134006885 +:106838003088F0041800E08800224A68900930087F +:10684800F0091900C104301B0E9CF01F001E49E816 +:10685800201D1AD41AD71ADC49FC1AD51AD8F01FE9 +:10686800001C2FAD30080C070A9CEF680068301B2D +:10687800F01F001AE06C00FBD83249181189300863 +:10688800F0091800C0500A9B0E9CF01F0015EE0678 +:1068980000043008E939006CF0091800C6100A9C99 +:1068A800F01F00103FF8F00C1800C1D13018E9684B +:1068B800006CC3E8800050AC000016A800007B07FD +:1068C80080004E848003824C80038B2C800094C40B +:1068D800000016A280038B6C8000E124800052C067 +:1068E8008000E5040E9CF01F001F49F89088EDB861 +:1068F8000001C0E1ECC8FFEAEE080328201D1AD801 +:1069080049A81AD649AC1AD8F01F001A2FCDECC4E2 +:10691800FFEAEE04032C580CC060F01F0017300883 +:10692800EE040928EE0600083009F169006C48E811 +:106938009088EDB80001C1410E9C301BEE060006A0 +:10694800ED37006CF01F000D48881AD71ADC48CCC8 +:106958001AD51AD8F01F0007300C2FCDD832D83AE4 +:1069680080005644000016A28003824C800385B044 +:10697800800094C48002E28C80004E8480038B984F +:10698800D4311294580A5F1830091497F204180089 +:106998005F0318961695E7E80008F2081800C55036 +:1069A800335CF01F00406CC98EC8F20800088DC81F +:1069B8006C385808C0614BC89088EDB80001C231E6 +:1069C8004BA89088EDB80001C0918EC81AD84B88A2 +:1069D8004B8C1AD8F01F00382FED4B889088EDB8F3 +:1069E8000001C0C14B28201D4B5C1AD8F01F003293 +:1069F8008ECB6E1CF01F00332FEDED08001A2FF818 +:106A0800ED58001A0A9AED3B00140E9CF01F002E58 +:106A18004A689088EDB80001C1218EC8201D1AD897 +:106A28001ADCED38001430091AD91AD71AD51AD831 +:106A380049F84A6C1AD8F01F00202F8D0E9CF01FC1 +:106A48000024335CF01F002358075F081063C160FF +:106A580049689088EDB80001C0C1201D1AD5ED38ED +:106A680000141AD8492849CC1AD8F01F00132FCD82 +:106A78000A9B0C9CF01F0019C1385804C11048B873 +:106A880090093008F0091900C0B44898201D5C64CA +:106A98001AD7493C1AD41AD8F01F00072FCDD83A74 +:106AA8008000A300000016A6000016A280038C98A0 +:106AB80080038BC8800094C4000016A080037C84E7 +:106AC80080013DB48000713080038BD88000D13CB8 +:106AD8008000A2E680038C108000585480038C3C10 +:106AE800D42148C8189716969088EDB80001C0A11F +:106AF8004898201D1ADB1ADC488C1AD8F01F0008A9 +:106B08002FCDF7D6C0100E9CF01F0006D82200002B +:106B1800000016A280038D0480038C50800094C46A +:106B28008000D984D4213007C1B80C9C0E9B2FF665 +:106B3800F01F000D1895C0F078485808C0C1F01F24 +:106B4800000B0A9CEB35000BF01F00090A9B5C5CEC +:106B5800F01F00085846CEA12FF75827C03030063E +:106B6800CE5BD82280002024800056A080002044DC +:106B780080002068D4214978F00C07085808C071B3 +:106B88004959F20C070AF00A1800C1F04929F20C19 +:106B9800070AF4081800C1904909F80C001CF0080D +:106BA8000017A567EE0C0027120748D99289EDB99E +:106BB8000004C0C11AD848B81ADA48BC1AD71AD87B +:106BC800F01F000A2FCDC02830070E9CD8220000E5 +:106BD8000000153C0000153800007B2C000016A6AC +:106BE8008003901080038DE0800094C4D421169710 +:106BF8001496F01F0005C0609828AC087808301C6F +:106C08008F08D82280006B7CD43149B849B91092DA +:106C1800F00C0708F20C070718961AD7498C1AD8EF +:106C2800EC060014F01F001749732FEDA36431E53B +:106C3800EE070018A568E8080008E60800087009CB +:106C48005809C0C090BA90AB1ADB1AD9702848FC12 +:106C58001AD81ADAF01F000B2FCD2FF7E406070811 +:106C68005C57EE051800F9B70000EE081800CE11C1 +:106C7800D8320000000015380000153C80038DF460 +:106C8800800094C400007B2C80038E0CD431201D1E +:106C98004A181896F00C07073005F80C001849F048 +:106CA800A36849F149F231E349F4EE070019A569EF +:106CB800F0090009E0090009720A580AC1D0923B9C +:106CC800922A8289F40B010CE2190010F8050005DC +:106CD8005C855809C1105C7B5C7AF3D5C010201D17 +:106CE800492C1AD91ADB1ADA1AD61AD25068F01FA8 +:106CF80000102FAD40082FF7E80607095C57EE0390 +:106D08001800F9B70000EE091800CD010A9C2FFD04 +:106D1800D83200000000153C00007B2C000016A6AD +:106D280080038DA00000153880038E28800094C44D +:106D3800D421F01F000B48B8EFDCB0109088EDB8F4 +:106D48000004C0A10E985C781AD84878487C1AD8F4 +:106D5800F01F00072FED0E9CD822000080006C94D5 +:106D6800000016A680038D7080038E4C800094C4AA +:106D7800D4214A181897169631D9F20C1800E088D1 +:106D8800000F90093008F0091900C33449B81ADC1B +:106D980049BC1AD8F01F001B2FEDD822F60B001A99 +:106DA8009088F80C0019E2180010A569F20A002969 +:106DB800495AF40903055808C0A04908201D1ADCDF +:106DC800492C1AD51AD8F01F000F2FCD0A9CF01F96 +:106DD80000103008EC060016EE07001748A9A56752 +:106DE800EE060026F20600068D288D08AC28AC3881 +:106DF800D8220000000016A280038DD080038E6880 +:106E0800800094C400007B2C80038E888002E28C72 +:106E1800D4314948F80C00121896F00C0707A36201 +:106E2800491331E44915EE070018A568E40800087D +:106E3800E60803085808C0500E9C0C9BF01F000C75 +:106E48002FF7EA0607085C57EE041800F9B70000A8 +:106E5800EE081800CE914839300CF2060B08D832EB +:106E68000000153C00007B2C0000153880006D7870 +:106E7800D4211897580CC0E14A189008F80819004E +:106E8800C3C44A08201D4A0C1AD8F01F00202FED51 +:106E9800D82249FAF40B070CF8CEFFFFF80C001CB7 +:106EA800A56CF40B0B0E3008F60B0019F809002935 +:106EB800498CF809000993289308B228B23831E9B7 +:106EC800F20E1800C031F40B0B0848D89088EDB8C2 +:106ED8000004C10148E8F00B07081AD848E8F00B8D +:106EE80007081AD848781AD748CC1AD8F01F0007CC +:106EF8002FCD0E9CF01F000AD8220000000016A219 +:106F080080038D8480038E98800094C40000153C13 +:106F180000007B2C0000153880038DE08002E28C95 +:106F2800D42118970E9CF01F0005C060780C0E9BAA +:106F3800F01F0003CF8BD82280006B7C80006E7816 +:106F4800D421496818971696149512949088EDB82C +:106F58000001C0C14928201D1AD91ADA1ADB1ADC27 +:106F6800490C1AD8F01F00102FAD301B0A9CF01FD7 +:106F7800000FC080301B0A9CF01F000C784858088E +:106F8800C0510C9B0E9CF01F000A5804C0500A9B6D +:106F9800089CF01F0008D822000016A280038D600C +:106FA80080038EAC800094C48000202480006AE8AE +:106FB80080006E78D4211897F01F00061898C02119 +:106FC800D8220E9A782C700990ABF01F0003DA2AA9 +:106FD80080006B7C80006F48D42116961494189515 +:106FE800F01F001E1897C021D8229838982B7809CE +:106FF800F6081900C2B2F5D8C0105804C050F20AF9 +:107008000708AC88C068F20A0709AC892FF8B838B5 +:1070180049389088EDB80004C0D10D881AD86E0898 +:107028001AD88EB81AD848F848FC1AD8F01F000F9A +:107038002FCD8E3B8E28F6081900C0710A9A5C7B0A +:107048006E2C6E09F01F000ADA2A0A9A5C7B782CEB +:10705800F01F0007D82A000080006B7C000016A6ED +:1070680080038D9080038ED4800094C480006F4884 +:10707800D4211897F01F00231896C021D8224A2837 +:107088009088EDB80004C0D178081AD898A81AD802 +:107098008CB81AD849D849EC1AD8F01F001E2FCD41 +:1070A8008C398C28F0091900C020DA2A49A8908860 +:1070B800EDB80004C1614998201DF0070709498807 +:1070C8001AD9F00707081AD8F20818005F191AD950 +:1070D8006C081AD848D8493C1AD8F01F000E2FADB2 +:1070E8006C2C6C090E9A8CABF01F000F48C8F00787 +:1070F800070948A8F0070708F00918005F1CD822FC +:1071080080006B7C000016A680038DBC80038EE88F +:10711800800094C4000016A2000015380000153C39 +:1071280080038F0080006F48D43118951697149308 +:10713800580CC0311894CBD8F60B001A4A58F00BEB +:107148000708F0080019A569F20A00294A2AF40973 +:1071580003095809C1604A1A940B300AF40B190044 +:10716800C0A4201D1AD849E81AD949EC1AD8F01F2A +:10717800001E2FCD49780E9BF007070CF01F001B4F +:10718800301B8ACCF01F001A18961894E0800092E1 +:10719800189B30098ACA0A9CF01F00168A485C8C22 +:1071A800F00C1900C2C048D9920A3009F20A190035 +:1071B800C0B45C781AD848A81AD648FC1AD51AD888 +:1071C800F01F00092FCD0C9C3004F01F000CC718CD +:1071D8000000153800007B2C000016A280039004E4 +:1071E80080038F2C800094C480006D788002DC3C82 +:1071F8008000CEC480038F548002E28C4AE9F207F3 +:10720800070AF4CBFFFFF40A001AA56AEE07001874 +:10721800F2070B0BF40800284A8AF4080008300A21 +:107228009123B02C9106B03A31E8F00B1800C03128 +:10723800F2070B0A4A084A29F0070708F207070964 +:10724800F0091800C1C149F9920A3009F20A190077 +:10725800C0A4201D1AD81AD849B849CC1AD8F01F8A +:10726800001C2FCD4948F00707095809F9BA01FF52 +:10727800F3DAE109F9B9001DF0070B0949189088FC +:10728800EDB80004C1618AC848DAF407070A201D6E +:107298000D891ADA488AF407070A1ADA1AD91AD8A5 +:1072A80048981AD648BC1AD71AD8F01F00092F8D4B +:1072B800089CD8320000153800007B2C0000153CD3 +:1072C800000016A28003900480038F90800094C46D +:1072D80080038FBCD431203D1690502A1895F01F9A +:1072E8000021301BE5DCB010F9D2C010F01F001EE1 +:1072F8001896C2C049D8EA050019F0050707A3691E +:10730800189431E849A1189349ABEE070016A56611 +:10731800F2060006F60600066C0B580BC0B0089C77 +:107328008CAA50095018F01F00148CAA4018140495 +:1073380040092FF7E205070A5C57EE081800F9B76D +:107348000000EE0A1800CE110696402A5800E1F611 +:107358001A00580AF5F21C000C9C2FDDD8320000E8 +:1073680080006C948002DC3C0000153C000015385D +:1073780000007B2C8002E736D431303818971693FA +:107388001494F00C1800E088001B48989009300805 +:10739800F0091900C0353005CA2848681ADC3005DC +:1073A8001AD8485CF01F00052FEDC998000016A2F6 +:1073B80080038DB080038FE0800094C4F80C001A1D +:1073C8004C88F00C0708F0080019A569F20A002992 +:1073D8004C5AF40903095809C1604C4A940B300A05 +:1073E800F40B1900C0A4201D1AD84C181AD94C1C2B +:1073F8001AD8F01F00412FCD4BA80E9BF007070CA1 +:10740800F01F003E0892301B5C72049CF01F003C89 +:1074180018961895C640049A069BF01F003AEE0786 +:1074280000184B03E6070702E4020012A562E4080D +:1074380000224AD83001F0020002300B8506A4244D +:10744800A4310E9CF01F0030852CE60707082FF8A2 +:10745800E6070B0831E9F2081800C031E6070B010E +:107468004A084AA9F0070708F2070709F0091800AF +:10747800C1C149E9920A3009F20A1900C0A4201DC5 +:107488001AD81AD849A84A2C1AD8F01F001B2FCD91 +:107498004948F00707095809F9BA01FFF3DAE10981 +:1074A800F9B9001DF0070B0949089088EDB80004E8 +:1074B800C1610D884959F2070709201D1AD9489951 +:1074C800F20707091AD91AD848985C74491C1AD4C3 +:1074D8001AD61AD71AD8F01F00082F8D0A9CD8324E +:1074E8000000153800007B2C000016A280038DB028 +:1074F80080038F2C800094C480006D788002DC3C6F +:107508008002E736800020240000153C80038F901D +:1075180080038FBCD401E06A05A0300B482CF01F13 +:107528000003D80200007B2C8002E8BCD421202D67 +:10753800FE782800501C500B3FF7109E301CC308E3 +:10754800300B7049EDB90001CFD17049EDB9000990 +:10755800CFD140195809C0B01396F2C5FFFE138960 +:107568005015EDE91089F7D9D010C038F7D7D010E9 +:10757800913B7049EDB90000CFD17C2B40095C8B61 +:107588005809C080B29BF7DBC108B28B40092FE9CC +:107598005009F80A1900E0880006202A5C8A580A6F +:1075A800CD01FE78280070482FEDD822580CC06015 +:1075B800FE782800300A7019C058FE78280030FA82 +:1075C8007019F3DAD20491195EFC202D3008E069B5 +:1075D80013885018F8090249C058401A2FF82FFA92 +:1075E800501A1238CFB12FED5EFCD703D401303CCE +:1075F800F01F0005C060303CF01F0004F01F0004BD +:10760800D402D6038000A3708000A38880014014B0 +:10761800D401580CC060300B303CF01F0004D80275 +:10762800303CF01F0003D8028000A31A8000A35C3E +:10763800D401202D3008B888303CF01F0022303C9F +:10764800F01F0021309CF01F001F307CF01F001D30 +:107658003008501840192FF950192FF8E04861A840 +:10766800CFA1309CF01F00193008501840192FF98D +:1076780050192FF8E05886A0CFA1307CF01F0013D6 +:10768800340B300A492CF01F0013FE782800302AEA +:1076980070C9F3DAD108308A91C970C9F3DAD08495 +:1076A800301A91C970C9F3DAD06191C970C9F3DA97 +:1076B800D001303C91C9F01F00082FEDD80A000016 +:1076C8008000A2A88000A2BE8000A2E6800075F417 +:1076D8008000A3A08000A388D42120AD4C68E3B823 +:1076E8000001D5533017FE6810007109F3D7D20294 +:1076F800303AF1490040E06B1B00EA1B00B7FE7C02 +:107708000C00F01F003E310A201D30081ADA0E99CD +:10771800109B308AFE7C0C00F01F003930080E994F +:107728000E9A109BFE7C0C00F01F0036300BFE7C7E +:107738000C00F01F0035FE7C0C00F01F0034300CEC +:107748001ADC18981899189A1ADC189BFE7C0C00F9 +:10775800F01F002F0E9CF01F002F302BFE7C0C001A +:10776800F01F002DF01F002DD503304AFAC7FFD0B7 +:107778004ABB0E9CF01F002B302B0E9CF01F002ADA +:10778800FAC8FFDC4A99722C109B912CE06AF980A8 +:10779800EA1A0337F2E40000FE7C1800F0E5000066 +:1077A800F01F0023308A4A3B0E9CF01F001E310A4E +:1077B800FAC6FFEC300B0C9CF01F001F3018304B42 +:1077C800FB68002149DCF01F00180C9BFE7C280098 +:1077D800F01F001B3009FE7C2800129B129AF01F34 +:1077E80000190E9C0E96304BF01F000F2FCDFAC7D4 +:1077F800FFD8C2D8800376008000A5088000A4B016 +:107808008000A4CE8000A4E68000A4F48000A470C8 +:107818008000A2228000A4FE8000A3D080039038BC +:107828008002E7368000A2808003901C8000AA1C9A +:10783800800390308002E8BC800390288000A66214 +:107848008000A69C0D8C2FE6F01F000F0E36CFB1DE +:10785800FACBFFFCFE7C2800F01F000C3009FE7CF0 +:107868002800129A129BF01F000AFE7C2800F01FC5 +:107878000009302CF01F0008FE7C2800F01F0005CE +:107888002F6DD8228000A2BE8000A6628000A69C30 +:107898008000A7EC8000A2E6D42130A81896F00C4E +:1078A8001800C0C1E067271020175BF7C13030DB34 +:1078B800FE7C1800F01F0008CF81E0672710201712 +:1078C8005BF7C0800C9BFE7C1800F01F0003CF8183 +:1078D800D822DC2A8000A9AED401178A17B91798D4 +:1078E800B168F1EA118817AAF1EA1088F3E81008DC +:1078F8001AD81ADC483CF01F00042FEDD80200000B +:1079080080039064800094C4D421202D4AB811D9F2 +:10791800BAD97009500911C8BAC81A961895169498 +:10792800581CE08900064A6CF01F0026C448761CE3 +:10793800F01F0025201DEFDCC0084A4C1AD7F01FA5 +:1079480000212FED5825C2A0682CF01F001F201D14 +:10795800EDDCC00849EC1AD6F01F001A30182FEDDC +:10796800F0061800C111305A49AB0E9CF01F001ADE +:1079780030AA49AB0E9CF01F00180E9C308A498B28 +:10798800F01F0015C1883028F0061800C141300AE0 +:107998000E9C149BF01F0013C0E83038F007180045 +:1079A800E08B000A300B0E9CF01F000F1A9B306A08 +:1079B800F01F000E2FEDD82A800396B88003909808 +:1079C800800094C48002DC2C800390C4800390D093 +:1079D800800390E480007380800390EC800390F82B +:1079E800800072DC8000202480005140D421189649 +:1079F8001695582CC45176174B3B0E9CF01F00333C +:107A08001896C1014B2CF01F00334B38FE798000CB +:107A1800B0094B28B0064B28B0064B28B006E08FBB +:107A280001C44B1B0E9CF01F0029C1D14AA89088A5 +:107A3800201D4AEC1AD8F01F00274A8890884ACCA3 +:107A48005008F01F00244A6890884AAC5008F01F7C +:107A580000214A4890884A8C5008F01F001E2FEDDC +:107A6800E08F01A30E9C4A5BF01F0018C0C14A4C6E +:107A7800F01F0018E06900FF4978E08F0195582C45 +:107A8800E089000749FCF01F0013E08F018E762C77 +:107A9800F01F001D18975836E08101876A1649BB08 +:107AA8000C9CF01F000AC53148B85807E08A000846 +:107AB8009009A1A9B0095817C2A1C3089009A1C982 +:107AC800B009C2C8800391048002ECC88003910801 +:107AD800800094C4000016A2000016A6000016A09C +:107AE800000016A8800391148003911C8003913430 +:107AF8008003914C800391648003E18C8003917C26 +:107B0800800391888002DC2C800392144B799208C0 +:107B1800A1A8B2085827C071C0D84B499208A1C87B +:107B2800B208C0884B299208A1A8B2085837C0717A +:107B3800C0A84AF99208A1C8B208C0584AD9920800 +:107B4800A1A8CAC84AB99208A1C8CA884AAB0C9C5D +:107B5800F01F002AC2F14AA85807E08A00089009D5 +:107B6800A3A9B0095817C061C0C89009A3C9B00932 +:107B7800C08849E99208A3A8B2085827C071C0D89C +:107B880049A99208A3C8B208C08849999208A3A82D +:107B9800B2085837C071C0A849599208A3C8B2089A +:107BA800C05849499208A3A8C79849299208A3C868 +:107BB800C758494B0C9CF01F0011C3E149085807EE +:107BC800E08A00089009A1B9B0095817C061C1B886 +:107BD8009009A1D9B009C17848499208A1B8B2085A +:107BE8005827C161C1C80000000016A6000016A0F1 +:107BF800000016A88003921C8002ECC8000016A2A0 +:107C0800800392204B699208A1D8B208C0884B59CA +:107C18009208A1B8B2085837C071C0A84B19920889 +:107C2800A1D8B208C0584B099208A1B8C3784AE94C +:107C38009208A1D8C3384ADB0C9CF01F002DC30161 +:107C48004AC85807E08A00089009A3B9B00958172C +:107C5800C061C0C89009A3D9B009C0884A09920870 +:107C6800A3B8B2085827C071C0D849D99208A3D878 +:107C7800B208C08849B99208A3B8B2085837C07189 +:107C8800C0A849899208A3D8B208C058496992087F +:107C9800A3B8C04849499208A3D8B208C858496B44 +:107CA8000C9CF01F0013C3D149285807E08A00082C +:107CB8009009A5A9B0095817C061C0C89009A5C9FD +:107CC800B009C08848699208A5A8B2085827C151C8 +:107CD800C1B848399208A5C8B208C168000016A6FC +:107CE800000016A0000016A8800392248002ECC8A9 +:107CF800000016A2800392284AC99208A5A8B208D3 +:107D08005837C071C0A84A999208A5C8B208C05887 +:107D18004A799208A5A8CC2B4A599208A5C8CBEB5A +:107D28000C9C4A4BF01F0024C3F14A485807E08ACC +:107D3800000B9009EA19FFFFE8198000B0095817ED +:107D4800C071C1089009F3D9C00FB009C0B849C9BA +:107D58009208EA18FFFFE8188000B2085827C08187 +:107D6800C11849789009F3D9C00FB009C0B848F9CB +:107D78009208EA18FFFFE8188000B2085837C08157 +:107D8800C0E848A89009F3D9C00FB009C08848894D +:107D98009208EA18FFFFE8188000C80B48489009C5 +:107DA800F3D9C00FB009D82A000016A0000016A801 +:107DB800800392308002ECC8000016A2000016A6CC +:107DC800D421582CC2717617495B0E9CF01F001500 +:107DD800C1211897494CF01F0015201D494C1AD78E +:107DE800F01F00120E9C2FF7F01F00122FED5847BE +:107DF800CF51C1380E9CF01F0010201DEFDCC008C9 +:107E080048BC1AD7F01F00090E9CF01F000A2FED7E +:107E1800C04848ACF01F0005D82A000080039238FB +:107E28008002ECC88003923C800094C4800390C414 +:107E380080006C108002DC2C80039250D421207DBD +:107E4800306A18951696FAC7FFEAE06B00FF0E9C99 +:107E5800F01F00385825C1B16C1C4B7BF01F003750 +:107E68001896C4B14B6CF01F00370E9B0C9CF01F8A +:107E780000360E9B301CF01F00340E9B0A9CF01F2E +:107E880000320E9B303CF01F0030C5085825E08AB0 +:107E980000356C1CF01F002D6C2B1897500B169C8E +:107EA800F01F002B58DC5F04585C5F08E9E81008F5 +:107EB800ECC5FFFC109418963008FACCFFF8400B7C +:107EC800F0041800C0500C9AF01F0022C238F01FAE +:107ED800002258375F98580C5F091896F3E8100885 +:107EE800E8081800C0A15807C085C0916A08118920 +:107EF8003308F0091800C030498CC098585C5F18E6 +:107F080058DC5F19F3E80008C050495CF01F000D09 +:107F1800C0D85C570C9BFAC9FFEAFACAFFF80E9C56 +:107F2800F01F00100E9CF01F00102F9DD82A000093 +:107F38008002E8BC800392808002ECC880039288AB +:107F4800800094C48001921C8002DC2C8002EDD059 +:107F58008002EE0C800098688003929C800392DC7B +:107F68008001927080019258D421204D4ABC149609 +:107F7800F01F002B1A9CF01F002B581CC0504AAC55 +:107F8800F01F0027C0A81A9CF01F0028201D1ADC2B +:107F98004A7CF01F00232FEDF01F002618974A6C2B +:107FA800F01F001F5807C0514A4CF01F001DC04861 +:107FB8000E9CF01F00234A376E0CF01F0023C1F0FF +:107FC8006E087018201D1AD8F01F0020500C4A0C9B +:107FD800F01F00136E0870285008F01F001C500C8A +:107FE80049CCF01F000F6E0870385008F01F0017BA +:107FF800500C499CF01F000A2FEDC048497CF01F27 +:108008000008497CF01F00060DC93018F009180057 +:10801800C2A1494CC298000080039314800094C404 +:10802800800191288003932C8000967080039348E8 +:108038008001997C80039358800393A880009784DB +:10804800000080D08000CAE4800096A8800393686E +:10805800800393788003938880039398800393B078 +:10806800800393B8493CF01F0014FACCFFF4300B9E +:10807800F01F0012301B4037FACCFFF8F01F000F3A +:10808800201D1AD750574047F01F000D500C48DCF0 +:10809800F01F000950075047F01F0009500C48AC6A +:1080A800F01F0005F01F0009300C2FED2FCDD8224E +:1080B800800393C4800094C48000C1EC800096A81B +:1080C800800393D080039DC08000495CD421202D7B +:1080D8001695584CE089000649ECF01F001FC3684C +:1080E800FACCFFFC761BF01F001D6A2C4014F01F11 +:1080F800001C18976A3CF01F001A18966A4CF01F6B +:108108000018501418951ADC496C1AD61AD71AD4C4 +:10811800F01F0011089CF3D5C008F5D6C0080E9BC7 +:108128005C7BF01F00112FCD5BFCC10148F8900962 +:108138003008F0091900C0A448D81AD548DC1AD666 +:108148001AD71AD8F01F00042FCD2FEDD82A000017 +:10815800800393DC800094C4800098FC8002DC2CAF +:108168008003941480003958000016A280039054AC +:1081780080039448D4211695583CE089000649CCE0 +:10818800F01F001CC338761CF01F001B18976A2CC0 +:10819800F01F001918966A3CF01F00174978201D37 +:1081A80018941AD649651AD7580CF0051710495C67 +:1081B8001AD5F01F0010089AF7D6C0085C5A0E9C12 +:1081C8005C7CF01F00112FCD5BFCC10148F89009C1 +:1081D8003008F0091900C0A448D81AD648DC1AD7C4 +:1081E8001AD51AD8F01F00032FCDD82A80039488F7 +:1081F800800094C48002DC2C80037DC480037DC889 +:10820800800394B880003C50000016A28003969C1E +:10821800800394DCD421206D1697582CE089000641 +:108228004A4CF01F0025C438761CF01F00246E2B22 +:10823800F8C700011A9CF01F0022304A1A9BFAC6A0 +:10824800FFEC0C9CF01F001F201D40681AD8F01F7F +:10825800001E1ADC49DC1AD7F01F00170C9B0E9C75 +:108268005C5CF01F001BFACCFFE0300BF01F00191C +:10827800301B4087FACCFFE4F01F00162FDD505763 +:108288001AD74056F01F00101AD71ADC492C50870D +:10829800F01F00092FDD50461AD6F01F000B1AD622 +:1082A8001ADC48EC5076F01F00042FCD2FADD82AE9 +:1082B80080039510800094C48002DC2C800098FC18 +:1082C8008002E736800096A8800395388000C19C1C +:1082D8008000C1EC8003955480039564D421FACDC5 +:1082E8000108581CE0890006491CF01F0012C1D87B +:1082F800F6C9FFFCF8CA0001FAC7FFFCE06B0100F1 +:108308000E9CF01F000DC110300948CAFACBFEFCC4 +:108318000E9CF01F000B5C5CC0814418489C1AD866 +:108328001AD7F01F00042FED2BEDD82A800395747F +:10833800800094C480009710800078E08000C4C05A +:1083480080039064D43121AD18961695582CE08995 +:1083580000064A1CF01F0021C3B8FAC7FFFC344AC4 +:10836800300B0E9CF01F001E306AE06B00FFFACC49 +:10837800FFDBF01F001BFAC4FFB8EAC9FFFCECCA18 +:108388000002320B089CF01F00171893C210189AAD +:10839800089B0E9CF01F00143088FB6300242016F5 +:1083A800EA060326FB68003C0C9CF01F00100C9B9F +:1083B800189A30180E9C3089F01F000D581CC08088 +:1083C80048C8201D48CC1AD8F01F00042FED2E6D88 +:1083D800D83A000080039590800094C48002E8BCDD +:1083E800800097108002E7368002EDD080019084EB +:1083F80080039048800395B4D42121AD1696582C5B +:10840800C05049BCF01F001BC308FAC7FFFC344A20 +:10841800300B0E9CF01F0018306AE06B00FFFACC9E +:10842800FFDBF01F0015ECC9FFFC301AFAC6FFB8D5 +:10843800320B0C9CF01F00111895C170189A0C9BF8 +:108448000E9CF01F000F3088FB6500240E9CFB6813 +:10845800003CF01F000C581CC08048B8201D48BCC8 +:108468001AD8F01F00042FED2E6DD82A800395D45A +:10847800800094C48002E8BC800097108002E73630 +:1084880080018FF8800396AC800395ECD431204DA1 +:108498001493189516947406582CC091761C304A7B +:1084A8004A7BF01F0028C0513018C458584CC0806F +:1084B8004A5CF01F00264A6CF01F0024C3D8761BC4 +:1084C8001A9CF01F00240A9A1A9BFACCFFF4F01F9A +:1084D80000224A289088EDB80002C0B1201D40480B +:1084E8001AD849F81AD649FC1AD8F01F00182FCD07 +:1084F800FAC7FFF40C9C0E9BF01F001B682B1A9CFC +:10850800F01F0014304A1A9B0E9CF01F00130E9B9C +:108518000C9CF01F0016683B1A9CF01F000E304A96 +:108528001A9B0E9CF01F000C0E9B0C9CF01F001059 +:108538001A953008A6C82FCDD83A0000800392803B +:108548008002EDE680039610800094C48003964074 +:10855800800098FC8002E736000016A28003903C59 +:10856800800396688000CBC88000CA928000CA74D5 +:10857800D421212D581CE0890006491CF01F001148 +:10858800C1C8F6C9FFFCF8CA0001FAC7FFD8320B08 +:108598000E9CF01F000D1896C1000E9B189AFAC782 +:1085A800FFF90E9CF01F0009300BFB6600270E9C9C +:1085B800F01F0007F01F00072EEDD82A80039684CD +:1085C800800094C4800097108002E736800099A844 +:1085D8008000998CD401F01F0003F01F0003D80A13 +:1085E80080019EF880009820D40148BE1898300970 +:1085F8007C0C580CC0A1F2090019487EFC0900291E +:10860800932A9318930BD8022FF92F4E58F9CF11AC +:10861800DC0A000000001544D401484CF01F000497 +:1086280030194848B089D802800396C0800094C4A5 +:10863800000015F8D4314B68169570065806C050DE +:108648005816E08100BAC938580CE08000B5F01F10 +:1086580000314B18910C1897580CE08000AD19891F +:10866800EC091800C0415805C460C4284AB44AC37C +:108678008906C188EC060018E60800287012049CD8 +:108688005802C0E0F01F002718910E9CF01F00252B +:108698000E9BE20C0D4A049CF01F0023C3102FF61A +:1086A8008906680649D258E6FE98FFE658F6C28160 +:1086B8005805C210049749DCF01F001D3008498690 +:1086C8008508C128F0080018EC0800287009580926 +:1086D800C0807018201D497C1AD8F01F00152FED96 +:1086E8006E082FF88F086E0858E8FE98FFED492CA1 +:1086F800F01F000F4888700CF01F0010C5C80E9CB2 +:1087080048FB49074906F01F0011C2C8000016407F +:108718008002ED8400001644000015400000154456 +:108728008002EDD08002EDE6800396C8800094C4F4 +:10873800800396E0800396C48002E28C80039364F1 +:10874800000015FC000016008002EEB86E08EC0868 +:10875800092C2FF88F085908C070498B300CF01F6E +:108768000018580CCF41301949689109496949786E +:108778007008F0080018F20800284959702A720C8D +:108788007008494B5D18581CC1705805C040492CE9 +:10879800F01F001248E83007340A0E9B910748DCA6 +:1087A800F01F000F48F8700CF01F000F4858301CDD +:1087B8009107D832D83ADA3A800393648002EEB847 +:1087C800000016400000154400001540000015FC8C +:1087D80000001600800396C4800094C48002E8BCA0 +:1087E800000016448002E28CD421202D1897FACB81 +:1087F800FFFCFE7C1800F01F0012583CC080584C4B +:10880800C081E0690100FE7818009109301CC15848 +:10881800401C58DCC03130ACC0B8588CC081F01F47 +:108828000009320CF01F00071BFCC0285C5CF01F1D +:1088380000054018300CAE882FEDD8228000A9C260 +:10884800800078A0D431202D30A1FAC0FFF930D2B1 +:10885800308349B749B630043005009CF01F001A30 +:10886800C2A11BF8E20818005F0AE40818005F09B3 +:10887800124AF80A1800C0904929491A1298740B2C +:10888800950CF20B0B0CC188E6081800C0916E0815 +:108898002018F00C17708F0CEC0C0B04C0686E09D4 +:1088A800EC090B082FF98F096E08E0480050CD61DC +:1088B8008F05CD4B3008109C2FEDD832000016489C +:1088C8000000164C800087F0D401F01F0004301B14 +:1088D800F01F0003D80200008000884C8000863C0E +:1088E800D4314974169714951293580BC0B1680C7B +:1088F800580CC0311896C2181696F01F0012890736 +:10890800C1C868085808C0C1E06C0200F01F000E1A +:10891800890CC061189648DCF01F000DC0E80A9C5D +:10892800E066020048650C33E60617806A0B0C9A6D +:10893800F01F00086A088F080C9CD8320000169CAB +:108948008002E28C8002E2A4800396E8800094C44E +:10895800800090B4D401F01F0002D80A800091086A +:10896800D4213008FAC4FFEC19C9F0091800F9B885 +:108978000100E9F81A01E9F81A02E9F81A004A1898 +:108988001AD84A1818971AD8089B3008E8C9FFF867 +:10899800E8CAFFFC780CF01F001D8F0C2FED580C57 +:1089A800C021DC2AF01F001A300949AA301BE06CEC +:1089B8001388F01F00193009498A301BE06C00FA4F +:1089C800F01F00153009496A301BE06C01F4F01FF4 +:1089D80000123009493A301BE06CEA60F01F000EC3 +:1089E8003009491A301BE06C03E8F01F000B30090E +:1089F80048EA301BE06C03E8F01F0007DA2A0000A1 +:108A08008001365C80013C948000CCA88000CAB00C +:108A180080008A708000956C80008A6480008A5883 +:108A280080008A4C80008A4080008A34D401F01F7C +:108A38000002D8028000C664D401F01F0002D802E8 +:108A480080012984D401F01F0002D8028000B8B048 +:108A5800D401F01F0002D8028000C074D401F01FB6 +:108A68000002D8028000E68CD401F01F0002D80270 +:108A78008001326430194828B0895EFC000016AACB +:108A8800D401319CF01F0003319CF01F0003D80271 +:108A98008000A2D28000A2E6D421204D3FF819C957 +:108AA8001897F0091800F9B80001EFF80E0430081B +:108AB800201D1AD850581AD81AD850685058F01F84 +:108AC800001C49CB6E0CF01F001C0E9949BA49CB0B +:108AD80049CCF01F001D2FCD581CC08049B8201D5F +:108AE80049BC1AD8F01F001B2FEDF01F001BF01F08 +:108AF800001B0E9CF01F001AC0F049A8900930080E +:108B0800F0091900C0F44988201D498C1AD8F01FB3 +:108B180000112FEDC07830194958319CB089F01FE9 +:108B280000153018EF6800082FCDD822800089681A +:108B380080008C5C8000CAEE80008B7C80008BDC1F +:108B480080008A7C80009A188003973C80039DC02F +:108B5800800094C48000998C80019EF880002A9837 +:108B6800000016A28003972880039758000016A4D7 +:108B78008000A300D4211897333CF01F000F300663 +:108B88000FD8EC081800C0C048CCF01F000D6E0CC0 +:108B9800F01F000C6E0CF01F000CAED6C07848BC5D +:108BA800F01F00076E0CF01F000A3FFCF01F0009C1 +:108BB800D82200008000A2E680039774800094C445 +:108BC8008000B1D88000AE50800397908000CABC66 +:108BD80080002E60D42116971896333CF01F00149D +:108BE8000C9CF01F0014201D1ADC493CF01F0013D8 +:108BF80030182FED0FC6F0061800C121490CF01FE0 +:108C0800000F6E0CF01F000F48F849095C5CF20C6D +:108C18001700F00C1710F01F0009AED6C0486E0CF4 +:108C2800F01F000BF01F000BD82200008000A300EB +:108C3800800096E48003979C800094C4800397B8D2 +:108C48008000B950800397D080037FC08000CB8814 +:108C58008000C690D42149471896F01F0014189533 +:108C6800C110301CF01F00126C18201D1AD8F01FFC +:108C78000011500C490CF01F001130182FEDAE8870 +:108C8800D822AE8CF01F000E48E89008EA081900B8 +:108C9800C08448D8201D48DC1AD8F01F00082FEDE2 +:108CA800D8220000000016AB8000CAE480002E60C5 +:108CB800800096A8800397D8800094C480006B2C0D +:108CC800000016A28003995C800397E8D4211897C6 +:108CD800F01F0027300A4A7B4A7CF01F0028300A20 +:108CE8004A7B4A8CF01F00254A7B300A4A7CF01FD9 +:108CF80000230E9A4A6B4A7CF01F0020300A4A6B08 +:108D08004A6CF01F001E4A6B300A4A6CF01F001BA9 +:108D18000E9A4A5B4A5CF01F0019300A4A4B4A5CBB +:108D2800F01F0016300A4A4B4A4CF01F0014300A54 +:108D38004A3B4A4CF01F0011300A4A3B4A3CF01F9C +:108D4800000F300A4A2B4A3CF01F000C300A4A2B0D +:108D58004A2CF01F000A300A4A1B4A2CF01F000751 +:108D6800300A4A1B4A1CF01F0005D82280008620C2 +:108D7800800085DC80039804800085F08000857879 +:108D88008003980C80007E448003981480007F70D4 +:108D98008003981C800079F48003982480007DC8A3 +:108DA8008003982C80008494800398348000633476 +:108DB800800398408000834C80039848800084009A +:108DC80080039850800082E4800398588000821CB9 +:108DD800800398608000817C80039868800080D43C +:108DE800800398748000791080039880D4211897A4 +:108DF800F01F000BF01F000BF01F000BF01F000B03 +:108E08006E0CF01F000B48B811893008F0091800E3 +:108E1800C0406E0CF01F0008D82200008000951496 +:108E2800800088D080009504800193A080013BBC1D +:108E3800000016A480004758D421202D3029EE7850 +:108E48000000F1D9D1A23019F1D9D0033007501858 +:108E58000E9B5007337CF01F000F1A9BFE7C3800D6 +:108E6800F01F000D0E9BE06A01A4FE7C3800F01F85 +:108E7800000B0E9BE06A0348FE7C3800F01F0008D8 +:108E88000E9BFE7C3800F01F00072FEDD822000053 +:108E98008000A2308000A8388000A8F08000A926B1 +:108EA8008000A8D4D401333CF01F0009334CF01FD4 +:108EB8000008335CF01F0006333CF01F0006334CFB +:108EC800F01F0004335CF01F0003D8028000A2A842 +:108ED8008000A2E6D421202DF01F0034F01F0034BA +:108EE800F01F0034F01F0034E06C1B00EA1C00B7D0 +:108EF800F01F00324B28201D4B2C1AD8F01F0032CF +:108F080030CB301CF01F00312FED1897580CC08162 +:108F18004AF8201D4AFC1AD8F01F002B2FED344BBD +:108F2800301CF01F002A8F0CC0814A98201D4A9CD3 +:108F38001AD8F01F00252FED3FF80E9CAEC8F01F81 +:108F48000026300B169CF01F0025F01F0025F01F8F +:108F58000025C0804A48201D49EC1AD8F01F001A85 +:108F68002FEDFACAFFFC0E9B4A0CF01F0021581C7B +:108F7800C0C1401A49FB0E9CF01F001F581CC0516D +:108F88000E9CF01F001ECFDB58CCC04058DCC061DF +:108F9800C03849BCC04849BCC02849BCF01F000AB9 +:108FA800F01F001ACFEB000080008A88800076E06E +:108FB80080008EAC80008E408000AAE88003970C69 +:108FC80080039888800094C48002DC3C800398A8C1 +:108FD80080039DC080008CD4800095C88000C8E4C0 +:108FE8008000895C800398B8800088E880013E880A +:108FF80080008AA0800193BC80008DF4800398E4EF +:109008008003990C8003993080009514D4314A1458 +:1090180058095F081296189716951493A888E06067 +:109028000100E06100FFC2E88920A868E203190096 +:10903800E069FFFFE7D9E828E9F88A02E06901005A +:1090480088E8F2080108682989151039E9F8BA0290 +:10905800EE021608049CF01F0010301CF01F000FD1 +:10906800F01F000F5806C090049CF01F000E301C23 +:10907800F01F000DF01F000D6828101310071005D1 +:109088005C83F1D7C0085803CD01069CD832000094 +:10909800000016AC8000A0408000A19880009ED4FB +:1090A80080009F5C8000A17080009E94D4013009EC +:1090B8005C7AF01F0002D80280009014D40148584E +:1090C80090E9701B120C702AF01F0003D8020000F0 +:1090D800000016AC8002E736D4014888189B118A34 +:1090E8003009F20A1800C07090E9701C120B702A3F +:1090F800F01F0003D8020000000016AC8002E7361B +:10910800D421208D48D8F0E60008FAE70008F0EAF4 +:109118000000FAC8FFF0FAEB0000F0E70008F0EBF7 +:109128000000E06CF980EA1C0337F01F0005300CE2 +:109138002FCD2FCDD82200008003996C8000A1C0CC +:10914800D401FAC9FFFCF01F0002D80280031C1CDE +:10915800D401F01F0002D8028002EE88D401F01F6B +:109168000002D8028002ECACD401F01F0002D80241 +:109178008002F0ECD401F01F0002D8028002E71050 +:10918800D401F01F0002D8028002EE2CD401F01F97 +:109198000002D8028002ED84D401F01F0002D80238 +:1091A8008002ECC8D401F01F0002D8028002EE0C45 +:1091B800D401F01F0002D8028002EDD0D401F01FC4 +:1091C8000002D8028002E87ED401F01F0002D80213 +:1091D8008002E8BCD401F01F0002D8028002E73602 +:1091E800D401F01F0002D8028002E28CD401F01FE3 +:1091F8000002D8028002E8D0D401F01F0002D80291 +:109208008002E2A4D401580CC0707808B08B7808AA +:109218002FF89908D802F9DBC008F01F0002D8021D +:10922800800078A0D431189616971495580AE08AC9 +:1092380000153008109AC0282FF8EE08070BF40B19 +:109248001800CFB10A38F9B50400EBD8E515EDB927 +:109258000001C0313303C0283203E9D9C001C090EE +:109268003004C1082FF42015069B0C9CF01F000D3C +:109278005805FE99FFF9C0682FF42FF70C9CF01FD2 +:1092880000090F8B580BCF91C0782FF42015069B3F +:109298000C9CF01F00045805FE99FFF9089CD83271 +:1092A8008000920CD431204DFAC4FFCC109368177B +:1092B800189568041698580BC0B13308BADB08999A +:1092C800069ABAC8FACBFFFCF01F001FC3985809CA +:1092D8005F1B58AA5F09F7E90009C0605808C04435 +:1092E8005C383016C0283006EECB003A3009FAC791 +:1092F800FFF00EF9C0B8F00A0D00029912985898BC +:10930800F1DBE9082D080EF800985808CF515806E7 +:10931800C1005803C0B0EDB40001C08132DB0A9C23 +:109328002013F01F000A3016C04832D830060EF855 +:109338000899069A0E9B0A9CF01F00030C0C2FCD6F +:10934800D83200008000922C8000920CD431203D4D +:109358003007500A18951696325432D3330230919A +:109368003730C978E8081800E081008E2FF60D889C +:109378005808E0800093E8081800E0800085E608B7 +:109388001800F9B90100F7B600FFF9B90001C038B3 +:109398002FF6A1B90D88E4081800CFB03008C048EE +:1093A800F80E00182FF60D8AF008002EF4CC0030C5 +:1093B800F4CB0030E20B1800FE98FFF4E00A180026 +:1093C800C0A1109A4008110B50084B98580BF00B8D +:1093D8001700C548364BF60A1800C0A1361B400ACC +:1093E8001ADB1AD93019740B2FCA502AC358370BF5 +:1093F800F60A1800C121361A40091ADAF2CAFFFC27 +:10940800501A308A1ADA720B3009310A0A9CF01F96 +:1094180000292FED1807C3C8378BF60A1800C0417A +:10942800400A361BC078358BF60A1800C091400AEE +:10943800341B1ADB1AD9740B2FCA502ACE6B375B30 +:10944800F60A1800C0B1361B400A1ADB1AD93009CF +:10945800740B2FCA502A30AACDAB363BF60A180037 +:10946800C171109A4008700B2FC8FB6B0008500898 +:10947800FACBFFF83008FB6800090A9CF01F000EC1 +:109488001807C0682FF70D8B0A9CF01F000C2FF6E9 +:109498000D885808FE91FF685805EBF81000F9B9D7 +:1094A8000100F1F91E000E9C2FDDD8328003997C53 +:1094B800800092AC8000922C8000920CD401189B02 +:1094C800FACAFFFC300CF01F0002D8028000935447 +:1094D800D40148A972082FF89308F2F800CC58086C +:1094E800C040F2FC00D45D18FE780D003019918957 +:1094F8007078D402D6030000000001184838F0F94B +:1095080000D0700CB33C5EFC00000118D431495601 +:1095180030020C9730152F46EEC1FF2C0E930E9497 +:109528000D88E4081800C18166086E291039E08B9F +:1095380000146C185808C0306C2C5D180D98EA0897 +:109548001800E9F80000EFF90001F3D8E008EFF897 +:109558000A02EDF51E002EC62EC70236CE21D832DD +:1095680000000118D431300E189830A5494C1C96CB +:109578002FCCFCC3FFFF1897F9340008EC0418003F +:10958800C071FDD3C0082ECCEA0E1800CF311C9C48 +:1095980048B530030A96FC0E002EEAF500D0F00517 +:1095A8000D048F040D08EF630008EC0E0026080870 +:1095B800EF6B00098F188D498D3AD83200000118D9 +:1095C800D421300A16971896328B495CF01F001583 +:1095D800300AFE7C0D00149BF01F00134935FE7CF9 +:1095E8000D00EAFB00D0F60B1073A19BF01F0010D2 +:1095F800FE7C0D00F01F000FFE7C0D00F01F000E1A +:10960800EAC9FF2CEB4600CCEB4700D430182F45B5 +:10961800AA882EC51235CFD1D8220000800094D850 +:109628008000A3A08000A594000001188000A580F8 +:109638008000A57A8000A562D401306AF01F00027C +:109648005F0CD8028002E710D401F93A0020F738FD +:109658000020F4081800C020D80AF01F00035F0C8F +:10966800D80200008002E710D42119D919881AD924 +:1096780019C91AD919B91AD919A91AD91999486732 +:109688001AD9486A1AD8312B0E9CF01F00050E9C77 +:109698002FADD822000016E0800399848002EC40A8 +:1096A800D4214058F5D8C008F00916181ADAF5D8A8 +:1096B800C108F1D8C2081ADA48671AD8486A1AD90C +:1096C800310B0E9CF01F00050E9C2FCDD8220000F8 +:1096D800000016F4800399A48002EC40D421488746 +:1096E8001896321A300B0E9CF01F00060C9BED3AB0 +:1096F80000200E9CF01F00040E9CD822000016BC0F +:109708008002E8BC8002E736D431300318971696F9 +:109718001491129218950694C1D805002FF4009C54 +:10972800F01F0012F80300030C33E0880009201D25 +:1097380048FC1AD6F01F000F2FEDC108201DEE05BA +:10974800010B1AD00A9C0C0B48BAF01F000C2FED25 +:1097580018050234CE350E35C021D83A30080AF83B +:10976800EA07010CD83200008002EDD0800399B4DA +:10977800800094C4800399CC8002EC40D4211897CF +:109788002DFCF01F001B201D1ADC49ACF01F001A2D +:109798000E9CF01F001A500C499CF01F00176EC851 +:1097A800498C5008F01F00146EF82FED5818C0416E +:1097B800495CF01F0011EF3800383049F2081800F2 +:1097C800C0E03059F2081800C0603029F2081800CB +:1097D800C091C03848DCC04848DCC02848DCF01FCD +:1097E800000648DCF01F0004D822000080009670B4 +:1097F800800399CC800094C4800096E4800399D0BB +:10980800800399D8800399E8800399F480039A0823 +:1098180080039A1C800384D4D421202DFACCFFFC29 +:10982800F01F000C401870185808C04148ACF01FD1 +:10983800000B3007C0887008F007032CF01F0008E1 +:109848002FF75C57401870191237CF632FEDD822C5 +:1098580080018F0480039A40800094C4800097841C +:10986800D431202D300818921696BAE8169CF01FAD +:10987800001DEDBC0000C04149BCF01F001C3007B2 +:109888002FF649B30E94FAC5FFFCC208660BF6081A +:109898000709E2190044C210E04700405F9C0D8AA6 +:1098A800F60A0709E21900445F09F9E91009E8090D +:1098B8001800C131BADABAC8310A300B0A9C2FE64F +:1098C800F01F000CE4070B0C2FF7ED38FFFF5808CA +:1098D800CDE10E9C5C5CC028300C2FEDD832000026 +:1098E8008002EDD080039A50800094C40000049C4C +:1098F8008002F0ECD421204D1A981AD8FAC8FFF843 +:109908001AD8FAC8FFF01AD8FAC8FFE818971AD870 +:10991800169C49BBF01F001B2FCD584CC221403864 +:10992800E04800FFE08B001E402B580BC1A5E04B20 +:1099380000FFE089001740195809C135E04900FFC8 +:10994800E0890010400A580AC0C5E04A00FFE089D3 +:109958000009B16BF7E811881448F1E91088C028AC +:109968003008F0091618AEB8AE890E9CF3D8C208B4 +:10997800F1D8C108AE99AEA82FCDD82280039A603D +:109988008002EBF4486870085808F9BC00FFF9B980 +:109998000101F1F91E10F9BC01015EFC0000170479 +:1099A800D4214988169770085808C021DC2A580C19 +:1099B800C080189B321AF0CCFFEFF01F0013C0389C +:1099C800F16C003148F85807C080700C0E9B306A63 +:1099D8002CECF01F000DC088700C306A2CECE06B8A +:1099E80000FFF01F000A48787008F139003130088C +:1099F800F0091800C021DA2AF01F0005DA2A000051 +:109A0800000017048002E7368002E8BC80019EF857 +:109A1800D4314A241896169714951292680358035D +:109A2800C3B1338B301CF01F001E890C189BC0B1CA +:109A380049C89088EDB80003C2F1201D49A849BC67 +:109A48001AD8C10849ACF01F001B49691891581C65 +:109A5800C0E09288EDB80003C1F1201D4928496C87 +:109A68001AD8F01F00163FFC2FEDD8326808913243 +:109A7800F16300109106911791259288EDB80003C3 +:109A8800C020D8324888201D48DC1AD8F01F000BA7 +:109A9800029C2FEDD832DC3A000017048002DC3C2F +:109AA800000016A280039A8080039AE080009AC87A +:109AB80080018F2480039AF8800094C480039B203F +:109AC800D431202D1697581CC290C083582CC670CC +:109AD8004A78583CE08101A8C998F01F00264A48F6 +:109AE80018969088EDB80003C0A1F01F00234A38EB +:109AF8001ADC4A3C1AD8F01F00232FED333CF01F24 +:109B08000022334CF01F00216E185808E08001979E +:109B18006E3B0C9C5D18E08F019249589088EDB817 +:109B28000003C08149A8201D49AC1AD8F01F0015B0 +:109B38002FED334CF01F0014333CF01F0014EF39A5 +:109B480000103008F0091800E0800179F01F0012B9 +:109B5800581CE080017448689088EDB80003E081E3 +:109B6800016E201D48A848DC1AD8C659000016A264 +:109B78008001997C800096E480039AC880039B3812 +:109B8800800094C48000A3008000A2E680039CE8C3 +:109B980080039B5480019EF880039B784B589088E3 +:109BA800EDB80003C0814B48201D4B4C1AD8F01F5C +:109BB80000342FED4AF89088EDB80003C0814B18A7 +:109BC800201D4B1C1AD8F01F002E2FED333CF01F20 +:109BD800002F6E285808C0306E3C5D18EF39001011 +:109BE8003008F0091800E080012AF01F0029581CED +:109BF800E080012549F89088EDB80003E081011F55 +:109C0800201D4A084A3C1AD8C1699088EDB800035B +:109C1800C0814A18201D4A1C1AD8F01F00192FEDC0 +:109C28006E085808C0306E3C5D18EF3900103008D7 +:109C3800F0091800E0800103EF390031F00918003D +:109C4800E08000FDF01F00161894FACCFFFCF01F0E +:109C58000015581CC591401870185808C550300593 +:109C6800EEC1FFEFEEC3FFCE0A960A92C488000049 +:109C7800000016A280039ABC80039BAC800094C4A9 +:109C880080039A9880039BC48000A2E680019EF816 +:109C980080039BE880039AA880039C1C8001997C20 +:109CA80080018F04EF390031E4091800C080700882 +:109CB800029CF005032BF01F0041C1F0306A4C0BE9 +:109CC800069CF01F0040C0A040187008069CF005D4 +:109CD800032B2DFBF01F003CC1005806C0A0401804 +:109CE8006CC97008F005032870C81039E0890006AF +:109CF80040187008F00503262FF55C5540187019B8 +:109D08001235CD13C02830060C34C0415804E08108 +:109D1800009658065F1858045F19F1E90009C20057 +:109D2800089B0C9CF01F0025C1D068C8FE58FFC0D6 +:109D3800E08400856CCAF0C9FFF71439E084007F1D +:109D48004A299289EDB90003C0D1201D1ADA1AD820 +:109D580049F84A0C1AD8F01F00202FCDC0385808EF +:109D6800C0C0202DECCBFFDF306A1A9CF01F001B0F +:109D7800F01F001B2FEDC17849489088EDB800030B +:109D8800C0C1EECCFFEFF01F001749181ADC496C70 +:109D98001AD8F01F00112FEDEECCFFEFEF3B00318A +:109DA800F01F0012588CC060589CC2F0581CC21199 +:109DB800C458F01F000FC4288000965080039C38B8 +:109DC8008002EDE680009640000016A280039A8C7F +:109DD80080039C40800094C48002E73680019DDCAB +:109DE800800096E480039C6880019EA0800199CC45 +:109DF80049489088EDB80003C0814938201D493C86 +:109E08001AD8F01F00132FEDF01F0012581CC16064 +:109E180048C89088EDB80003C111201D48A848EC37 +:109E28001AD8C0989088EDB80003C081201D48B8A2 +:109E380048BC1AD8F01F00062FED2FEDD8320000CD +:109E4800000016A280039A8C80039C94800094C41E +:109E580080019EF880039CB080039ABC80039CCC50 +:109E6800D4012FEC580BC080F7DCC008FE7C28001A +:109E7800F01F0005D802F7DCC008FE7C2800F01FA0 +:109E88000003D8028000A6C68000A716D42148C7C0 +:109E9800C098300BFE7C2800F01F000A6E082FF8CF +:109EA8008F086E0CF7DCC008CF51F9DCC288F01FB0 +:109EB800000630194858B089D82200000000170859 +:109EC8008000A7FA80009E680000170CD40148683B +:109ED800300B700CF9DCC288F01F000430094848C8 +:109EE800B089D8020000170880009E680000170C8F +:109EF800D421202D4948301B700CF9DCC288F01F92 +:109F08000013E06B00D7FE7C2800F01F0011FAC791 +:109F1800FFFAE06B00FFFE7C2800F01F000D0E9B8F +:109F2800FE7C2800F01F000B9AB8EDB80007CF217F +:109F38004858300B700CF9DCC288F01F00042FED74 +:109F4800D82200000000170880009E688000A7FA49 +:109F58008000A816D421202D49B8A96C910C49B8C5 +:109F680011893008F0091800C030F01F00193009B5 +:109F780049684957B0896E0C301BF9DCC288F01F5C +:109F88000015E06B0082FE7C2800F01F00136E08AD +:109F9800F3D8C008FAC7FFF8F7D8C10CFE7C280030 +:109FA800F3EB109B0EDBB18BF01F000B0FABFE7CAD +:109FB8002800F01F00090FBBFE7C2800F01F0006D8 +:109FC8002FEDDA2A000017080000170C80009EF811 +:109FD80080009E688000A7FAD42149381897118913 +:109FE8003008F0091800C0604908700CA98CF01FEF +:109FF8000010EEC6FF000F3BFE7C2800F01F000D8E +:10A008000C37CFA14898300B700CF8CCFF00910C9E +:10A01800F9DCC288F01F000830194838301CB089B4 +:10A02800D82200000000170C0000170880009F5C71 +:10A038008000A7FA80009E68D421202D4A78A96C58 +:10A04800910C4A7811893008F0091800C030F01FC7 +:10A05800002530094A284A17B0896E0C301BF9DCF4 +:10A06800C288F01F0021E06B00D2FE7C2800F01FA0 +:10A07800001F6E08F3D8C008FAC7FFF8F7D8C10C5C +:10A08800FE7C2800F3EB109B0EDBB18BF01F001752 +:10A098000FABFE7C2800F01F00150FBBFE7C2800CC +:10A0A800F01F0012E06B00FFFE7C2800F01F000F7D +:10A0B800E06B00FFFE7C2800F01F000CE06B00FF47 +:10A0C800FE7C2800F01F0009E06B00FFFE7C2800E2 +:10A0D800F01F00062FEDDA2A000017080000170C01 +:10A0E80080009EF880009E688000A7FAD421202D69 +:10A0F800498818973009118AF20A1800C070B08987 +:10A108004958700CA98CF01F0015FAC5FFFAEEC665 +:10A11800FF00E06B00FFFE7C2800F01F00110A9B87 +:10A12800FE7C2800F01F000F9A380EC80C37CF218C +:10A138004898300B700CF8CCFF00910CF9DCC28801 +:10A14800F01F000930194838301CB0892FEDD8228B +:10A158000000170C000017088000A0408000A7FA34 +:10A168008000A81680009E68D4211897C088F01F28 +:10A178000006486CF01F000620175C87483C58070B +:10A18800CF71DA2A800090C40000171080009FE089 +:10A19800D4211897C088F01F0006486CF01F0006ED +:10A1A80020175C87483C5807CF71DA2A8000A0F452 +:10A1B80000001710800090E0D4213027FAC4FFEC8B +:10A1C8001896A887C0C80C9A089BFE7C2800F01F28 +:10A1D8000009C020D82A09882FF8A8880988EE081D +:10A1E8001800FE98FFF230094838301CB089D82290 +:10A1F8008000A73C0000170CE1B80000EE18000131 +:10A20800F1D8C201C020D3033019F20B094B994B86 +:10A21800783958085E0CD5035EFCFE681400700996 +:10A22800F3DCD0C191095EFCF8081605A968E0289E +:10A23800F000581BC0D0C063582BC0F0583BC12059 +:10A248005EFF3019F20C0949916991A9C108F60C11 +:10A25800094B915B91ABC0B83019F20C094991696F +:10A26800C0583019F20C0949915991993019F20CDA +:10A27800094C912C5EFDD703D4213007189616940B +:10A288000E95C0880D9B0D8C2FF72FE6F01F00044C +:10A2980018450837CF830A9CD82200008000A230D6 +:10A2A8003018F00C0948A59CA96CE02CF000F9487E +:10A2B800004899185EFC3018F00C0948A59CA96C58 +:10A2C800E02CF000F94800745EFC3018F00C0948E6 +:10A2D800A59CA96CE02CF000F94800785EFC3018C9 +:10A2E800F00C0948A59CA96CE02CF000F948005432 +:10A2F800F948004499185EFC3018F00C0948A59CF0 +:10A30800A96CE02CF000F9480058F9480044991865 +:10A318005EFC301AF8081605F40C0949A968E0280B +:10A32800F000F14900C4143BC080C043582BC0F171 +:10A33800C098F14900A8C038F14900A4F14900B813 +:10A34800C078F14900A8F14900B4C0285EFAF14983 +:10A3580000945EFD3018F00C0948A59CA96CE02C0F +:10A36800F000F94800985EFCF8081605A968E0288E +:10A37800F000F0F800D0F00C0A4CF9DCC0015EFCEB +:10A388003018F00C0948A59CA96CE02CF000F9489D +:10A3980000D85EFCC008D703F3DBC0054898A59B2E +:10A3A800F00B00387018F009092C4878F5DAC0026B +:10A3B800F00A0329FE780800F00B09295EFC00006A +:10A3C80080039CFC8003773CD42148F8E3B8000163 +:10A3D80048E848F9700E48FC3008FE7B0800C0E8E1 +:10A3E8007216EC0A00262FFA8D0C0E3ACFA3F60847 +:10A3F800092E2F892FF85948C0407207300ACF6BB1 +:10A40800D8220000800376008003773C80039CFC00 +:10A418008000A39CE0680083FE790800F00C010C22 +:10A42800F20C0328F0CAFFC0F20A032C580C5E0C89 +:10A438004869F80C1200F2080038F80C111F70185F +:10A44800F00C032C5EFC000080039CFC78C83019DB +:10A45800F1D9D10399C85EFC78C83019F1D9D00177 +:10A46800F1DBD20399C85EFCD421FAC4FFEC68176B +:10A47800680EEFD7C003FDDEC0013004E9D7D00372 +:10A48800E9DED0E1E9D7D103E9DED1E1E9DAD203A7 +:10A49800E9DBD2E1E9D8D303E9D9D3E199147958B2 +:10A4A800EDB80005CFD1D822D4213007405E2F8BDC +:10A4B800EFD8D021EFD9D104EFDAD204EFDED306FA +:10A4C800F80B0927D822F5E910192F8BF3E8102883 +:10A4D800F80B0329F3D8D043F80B09295EFC2F8B1E +:10A4E800F80B0328A1A8F80B09285EFC7958EDB8E9 +:10A4F8000000CFD15EFC7808F1DBD00299085EFC41 +:10A50800EC5BBB9FE08B0004304BC138E068C6BFF2 +:10A51800EA18002D103BE08B0004305BC0A8E0680F +:10A528001200EA18007A103BF9BB0306F9BB0207D0 +:10A5380078A8F1DBD00399A878A8F1DAD10399A813 +:10A548007808A3A899087958EDB80007CFD17808FA +:10A558003019F1D9D00299085EFC7808EDB80004EA +:10A56800CFD07808A1A899087808EDB80004CFD012 +:10A578005EFC301899485EFC7808EDB80004CFD02E +:10A58800992B7808EDB80004CFD05EFCD42130F8C0 +:10A5980014951697F00A18005FBA30181896F00B41 +:10A5A80018005FB9F5E91009C020D82AF00B180087 +:10A5B800C0A1FE7C0C00F01F0015300BFE7C0C00C7 +:10A5C800F01F00136C08EDB80004CFD0A377B1A733 +:10A5D800EFE510878D076C08EDB80004CFD06C0844 +:10A5E800E2180010CFD18D186C08EDB80004CFD058 +:10A5F8006C08EDB80004CFD03FF88D286C08EDB892 +:10A608000004CFD0DA2A00008000A4548000A4609F +:10A618003038F00A18005FB93078F00B18005F88FE +:10A62800F3E81008C1913108F00B1800E08B001511 +:10A63800E06800809908208BF4081601F5DAC0015B +:10A64800F1EB104B580AF9BA0100F9BA0002F7EA1F +:10A65800100A99CA5EFD302C5EFCD4013019189896 +:10A66800F73B000DF20B1800E0880004302CD802EC +:10A67800300AE06900809909301E7019149CF3DED5 +:10A68800D001F3DBD081F3DAD0E130FAF3DAD20487 +:10A698009119D802D4013018F00B18005FBEF00AE7 +:10A6A80018005FB81C48C030302CD8027818F1DB8D +:10A6B800D021F1DAD041F1D9D3089918D80A7819FC +:10A6C8001898EA19000F9919781CE21C0004C100B7 +:10A6D80030E9F20B1800E08B001A7019B16B300CDE +:10A6E800EA1BFFF0E81BFFFF126B911B5EFC303981 +:10A6F800F20B1800E08B000B70192F0B301AF40BBB +:10A70800094B5CDB126B911B5EFC302C5EFCE06835 +:10A718002710C0585808C0215EFF20187849EDB9A5 +:10A728000009CF917818EA18000F9918FC18010051 +:10A7380099085EFDD4313036F737000CEC07180065 +:10A74800E08B0050F733000B301EFC031800E08B41 +:10A758000049F73800083079F2081800E08800420C +:10A768003109F2081800E08B003D7619F205160150 +:10A77800F4050005EA090D04E8C90001E04900FEF6 +:10A78800E08B0030F0CA00080E923008EC1200018D +:10A79800A197F1D7D001F1D2D021F1D3D061F1DA6C +:10A7A800D084F73A0009F1D4D1081789F1DAD20830 +:10A7B800F73A000AF1DAD308FC091800C0C0C093C0 +:10A7C800302AF4091800C090EC091800C0A1C0781C +:10A7D80099C8C06899D8C04899E8C02899F8D83A63 +:10A7E800302CD832301899085EFC784CF9DCC0213E +:10A7F8005EFCE0682710C0585808C0215EFF20188A +:10A808007849EDB90001CF915C7B993B5EFDE0682A +:10A818002710C0585808C0215EFF20187849E2194F +:10A828000201E0490201CF717828300CB6085EFCBD +:10A8380076095829E08800035EFE7618A769109B00 +:10A84800E61BC000120CF3D8C003AFB91649109B21 +:10A85800E61B30001649109BE61B0C001649109B9E +:10A86800E61B03001649109BE61B00C01649109B07 +:10A87800E61B00301649109BE61B000C1649109B7E +:10A88800E61B00031649109BE21B60001649109B4B +:10A89800E21B10001649109BE21B0C001649109B86 +:10A8A800E21B03002FCC1649109BE21B0080109A74 +:10A8B8001649E21A0008109BE2180030E21B00401B +:10A8C8001649F3E81008144899085EFDF6081506BD +:10A8D800582BF9BC0BFFF9D8E80CF9B80805F9F8BA +:10A8E8008A00F9BC08005EFC582BE08800035EFE75 +:10A8F800F6081506F80800082FC87008EDB8000F0C +:10A90800C0C1A76BF3DAC010160C2ECC7808E0187B +:10A918000000F3E810089908F9DAC0105EFC582B1B +:10A92800E08800035EFEA76B160C7818EDB8000FE0 +:10A93800C0A12E4CF3DAC0107808E0180000F3E844 +:10A9480010089908F9DAC0105EFCD401F60E150457 +:10A958001C3AF9BE0210F9BE0308FC0B024BF608BC +:10A968001601F00A003AF40B0D0AF4091603F2C8AE +:10A978000001E048FFFEE0880003DA0A7818E86B77 +:10A988000000E418FFF7E018FECF590EF60E171076 +:10A99800F9BE0000FDE810089918F5DAC003F3EADB +:10A9A80011099989D80A7858EDB80001C030302CBF +:10A9B8005EFCF7DBC009997B5EFD7858E21800E081 +:10A9C800C030304C5EFC7859EDB90000F9BC010389 +:10A9D800F9F90006F00C1700E06A01FFF3DAE02845 +:10A9E800F7F80A005EFCE1B80000EE180001F1D8A3 +:10A9F800C201C020D3033FF9993978595808C020BB +:10AA0800D50330089918999899A8EA68610C9908AB +:10AA18005EFCD703D421201D500A16961897F01F04 +:10AA2800002F400A5806C5500DC83049F2081800D2 +:10AA3800E08800503095EA081800E08B004B0DD9EB +:10AA48003078F0091800E08B00458C39E068010186 +:10AA5800F0091900E08B003EED3900083038F009A4 +:10AA68001800E08B00376C0B0E9CF01F001D581C63 +:10AA7800C3000DC8EA081800C0416E18B1B8C05824 +:10AA880020586E19F3E810688F186E19ED3A00080F +:10AA98000DD8A978F1EA10E812488F18302A8C38B6 +:10AAA800F3D8C010F4081900E08800086E18ADB893 +:10AAB8008F1820298FA9C0586E18F1E910C98F196D +:10AAC8006E18E018FFF08F18300C35088F08C02872 +:10AAD800301C2FFDD82200008000A9EE8000A9526A +:10AAE8004828910C5EFC0000000018E8D431189842 +:10AAF800783E580EC620F90600105806C5E0300901 +:10AB08003FF3129A3344C1780E91E8071800C0A1A8 +:10AB1800F2CAFFFEF4C9FFFF5C7A5C89FC0A070AE7 +:10AB2800C0A8F6071800C4A05C75FC050709E4096D +:10AB380000095C89EC091900C0F2F2C5FFFFF9D9D8 +:10AB4800C0105C85FC0C000CEAC2FFFF19870E914F +:10AB5800E6071800CDA1580AC3003019F20A1800F8 +:10AB6800C0617028E06900802948C0C87028302971 +:10AB7800F20A1800C0412D483409C0482D48E06940 +:10AB880000C0300C3FF7C0D8F60A1800C1705C7ED0 +:10AB9800F00E070CEC0C000C5C8CF20C1900C0D207 +:10ABA800F8CEFFFF5C7C5C8EF00C000CFCC6FFFF4F +:10ABB800198AEE0A1800CE91300CD832D401F9085F +:10ABC800001CF3D8C010F2CEFFFE140EE04E004475 +:10ABD800E088000F48F8201D1AD8E06804E31AD866 +:10ABE80048D848EC1AD8F01F000E2FCDC008786E50 +:10ABF800FC090009F36B00F02FF8786BF3D8C0104C +:10AC0800F6090009F36A00F02FF8F958001CD80279 +:10AC180080039DC480039E0880039D9C800094C48B +:10AC2800D4013439F908001CF2081900E088000F33 +:10AC380048C8201D1AD8E06804EE1AD848A848BCAD +:10AC48001AD8F01F000B2FCDC008786AF3D8C010AF +:10AC5800F4090009F36B00F02FF8F958001CD8022A +:10AC680080039DC480039E5080039D9C800094C4F3 +:10AC7800D401580CC0E14B18201D1AD8E068062BE7 +:10AC88001AD84AF84AFC1AD8F01F002F2FCDC0084E +:10AC9800786A580AC0E14A98201D1AD8E068062C3C +:10ACA8001AD84AA84A7C1AD8F01F00272FCDC00806 +:10ACB800F908001C3439F2081900E088000F49F837 +:10ACC800201D1AD8E068062D1AD84A1849DC1AD867 +:10ACD800F01F001D2FCDC008F7D8C010160A3FFB83 +:10ACE800F56B00F02FF8129B5C88300AF958001CAD +:10ACF800C1584928201D1AD8E06806321AD8494890 +:10AD0800490C1AD8F01F00102FCDC008F1DEB01082 +:10AD1800786EFC090009F36A00F0F0CEFFFFF3D863 +:10AD2800C010F6081900FE98FFF3F958001CF3D973 +:10AD3800C002CE01D802000080039DC480039E8C0F +:10AD480080039D9C800094C480039EB080039EDC99 +:10AD5800D401F908001CF3D8C010F2CAFFFEE04A7B +:10AD68000044E088000F4918201D1AD8E06804F54F +:10AD78001AD848F848FC1AD8F01F000F2FCDC00881 +:10AD8800786AF4090009F5DBC108F36A00F02FF8C6 +:10AD9800786AF3D8C010F4090009F36B00F02FF8B3 +:10ADA800F958001CD802000080039DC480039F1C32 +:10ADB80080039D9C800094C4D401F908001CF3D83A +:10ADC800C010F2CAFFFCE04A0044E088000F49B80E +:10ADD800201D1AD8E06804FD1AD84998499C1AD849 +:10ADE800F01F00192FCDC008786AF4090009F60A87 +:10ADF8001618F36A00F0786A2FF8F3D8C010F4092F +:10AE08000009F5DBC208F36A00F0786A2FF8F3D876 +:10AE1800C010F4090009F5DBC108F36A00F02FF847 +:10AE2800786AF3D8C010F4090009F36B00F02FF822 +:10AE3800F958001CD802000080039DC480039F605D +:10AE480080039D9C800094C4D421F9380035A3D890 +:10AE5800F9680035189678A75807C2406E1C580C38 +:10AE6800C050F01F001130088F186E285808C09184 +:10AE78006E355805C061EF090010EA091900C0E0F5 +:10AE880048A8201D1AD8E06804C51AD84888489CE4 +:10AE98001AD8F01F00092FCDC0080E9CF01F00071C +:10AEA8008DA5D8228001122880039DC480039FA00D +:10AEB80080039D9C800094C48002E28CD421189762 +:10AEC800782C580CC050F01F000830088F286E3CB2 +:10AED800580CC070F01F00043008EF5800108F386D +:10AEE800D82200008002E28CD4211896580CC0E1C8 +:10AEF8004AE8201D1AD8E06805D11AD84AC84ADCA1 +:10AF08001AD8F01F002D2FCDC00878A75807C0E128 +:10AF18004A68201D1AD8E06805D31AD84A784A5CCE +:10AF28001AD8F01F00252FCDC0086E585808C0E069 +:10AF380049E8201D1AD8E06805D41AD84A0849DC1F +:10AF48001AD8F01F001D2FCDC0086E655805C0E047 +:10AF58004968201D1AD8E06805D51AD84998495C6F +:10AF68001AD8F01F00152FCDC0080A9AE06B0134DB +:10AF78000A9CF01F00158F5CC041E06C00FFD822CE +:10AF88009859E0680133F0091900E08B00214878EE +:10AF9800201D1AD8E06805DD1AD848C8485C1AD8B8 +:10AFA800F01F00052FCDC00880039DC480039FB407 +:10AFB80080039D9C800094C480039FD880039FFCDD +:10AFC8008003A0288000D3188003A054EF38001312 +:10AFD800EA081800C0514D3870092FF991097818FE +:10AFE800301B8F684CF9720A8F0AB09BB08B306B9C +:10AFF800B0ABF40B1618B0CBF7DAC2083009B0FAC8 +:10B00800B0DBF5DAC108305BB0B9F1690008F16965 +:10B018000009F169000AF169000BF169000CF16996 +:10B02800000DF169000EF169000FB0EAEF3A001265 +:10B03800F60A18005F0C30ABF60A18005F0BF9EB44 +:10B04800100BF20B1800C0513049F20A1800C0D199 +:10B058000DC9F169000C0DD9F169000D0DE9F1690F +:10B06800000E0DF9F169000F3009ECCAFFD1F16942 +:10B078000010F1690011F1690012F1690013F1691A +:10B088000014F1690015F1690016F1690017F169FA +:10B098000018F1690019F169001AF169001BF0CB79 +:10B0A800FFE4ED35002E3106EA091900F9BC02006B +:10B0B800F5FC380016CC2FF92FFA5C89EC09190039 +:10B0C800CF413009F0CAFFD4129C340B14CC2FF9AD +:10B0D8005C89F6091900CFB13009F0CAFF94129CB7 +:10B0E800E06B008014CC2FF95C89F6091900CFB108 +:10B0F8003639F16900EFF16900EC3829F16900EDA2 +:10B108003539F16900EE344A3009F0C8FF10EF59BB +:10B11800001C10C92FF95C89F4091900CFB1D82A8D +:10B12800000001F0D421580CC0E14A28201D1AD88B +:10B13800E06806141AD84A084A0C1AD8F01F0020EA +:10B148002FCDC00878A75807C0E149A8201D1AD8F4 +:10B15800E06806161AD849B8498C1AD8F01F0018A2 +:10B168002FCDC0086E5C580CC0E14928201D1AD8A4 +:10B17800E06806171AD84948490C1AD8F01F001079 +:10B188002FCDC0086E685808C0E148A8201D1AD8FD +:10B19800E06806181AD848D8488C1AD8F01F000852 +:10B1A8002FCDC008F01F000A30088F688F58D822AA +:10B1B80080039DC48003A09880039D9C800094C454 +:10B1C8008003A0BC8003A0E08003A10C8000D13CD8 +:10B1D800D42130D878A7EF390012F0091800EFF819 +:10B1E8001E12F9B80100EFF81E13300818968FE800 +:10B1F8008F988FB88FA88FD88FC8EF48004CEF482A +:10B208000048EF480044F01F0029EBDCC008C201E9 +:10B21800301A335B0E9CF01F0026307B0E9CF01F0B +:10B2280000250E9CF01F00246E5CEF0B001CF6CB73 +:10B23800FF105C7BF01F00210C983439EECAFFDC4C +:10B248006E5B6E1CF01F001E0C9CF01F001EEF387A +:10B2580000132FF85C58EF6800133099F2081800B3 +:10B26800E0880005E0692710C058E06903E8F009A4 +:10B2780002495C79E06801F4F2C9FE0DF2080C0895 +:10B288000C9CEF58001EF01F00100C9C48FBF01F90 +:10B2980000100C9C48DBF01F000F0C9C48BBF01FF3 +:10B2A800000E0A9CD82200008000AEF08000ABC4DB +:10B2B8008000AC288000AC788000D2108001139008 +:10B2C8008000B12C8000CABC8003B4098000CBC8C0 +:10B2D8008000CA748000CA92D421305878A7EF3908 +:10B2E8000012F0091800EFF81E12F9B80100EFF883 +:10B2F8001E131896F01F0026EBDCC008C2A1301AF6 +:10B30800335B0E9CF01F0023303B0E9CF01F002285 +:10B31800302A339B0E9CF01F001FED1B002C0E9C47 +:10B32800F01F001E0E9CF01F001E6E5CEF0B001C31 +:10B33800F6CBFF105C7BF01F001B0C983439EECA6B +:10B34800FFDC6E5B6E1CF01F00180C9CF01F0017D2 +:10B35800EF3800132FF85C58EF6800133099F208A3 +:10B368001800E0880005E0694E20C058E06907D061 +:10B37800F00902495C790A9CF2C9FE0DE06801F403 +:10B38800F2080C08EF58001ED82200008000AEF02A +:10B398008000ABC48000AC288000AD588000AC7839 +:10B3A8008000D210800113908000B12CD42118960F +:10B3B800580CC0E14AF8201D1AD8E06802F51AD8DE +:10B3C8004AD84AEC1AD8F01F002E2FCDC00878A70B +:10B3D8005807C4E0EF3900123088F0091800C4811A +:10B3E80017B8178A1799B169F3EA118917AAF3EA06 +:10B3F8001089F1E910096EA81039C3A130C8EF68A7 +:10B4080000123008EF680013F01F001E5C5CC28158 +:10B41800301A335B0E9CF01F001C304B0E9CF01F43 +:10B42800001B304A332B0E9CF01F00176EAB0E9C8E +:10B43800F01F00170E9CF01F00176E5CEF0B001C2E +:10B44800F6CBFF105C7BF01F00140C983439493A96 +:10B458006E5B6E1CF01F00120C9CF01F0012EF3880 +:10B4680000132FF8EF6800133148EF58001ED82258 +:10B4780080039DC48003A13880039D9C800094C4F0 +:10B488008000AEF08000ABC48000AC288000ADC066 +:10B498008000AC788000D2108003B405800113903E +:10B4A8008000B12CD421303878A7EF390012F00988 +:10B4B8001800EFF81E12F9B80100EFF81E131896DD +:10B4C800F01F002AEBDCC008C321301A335B0E9C46 +:10B4D800F01F0027303B0E9CF01F0026302A339BBC +:10B4E8000E9CF01F0023E06B02400E9CF01F002210 +:10B4F800304A332B0E9CF01F001E6EAB0E9CF01FC3 +:10B50800001F0E9CF01F001E6E5CEF0B001CF6CB9C +:10B51800FF105C7BF01F001B0C98343949AA6E5B46 +:10B528006E1CF01F001A0C9CF01F0019EF38001356 +:10B538002FF85C58EF6800133099F2081800E0887B +:10B548000005E0692710C058E06903E8F0090249DE +:10B558005C790A9CF2C9FE0DE06801F4F2080C0857 +:10B56800EF58001ED82200008000AEF08000ABC467 +:10B578008000AC288000AD588000ADC08000AC7859 +:10B588008000D2108003B405800113908000B12C94 +:10B59800D4214BD811B9118B119A11A8B16AF5EBC6 +:10B5A800118AF5E81088F3E8100878A78FA8EF3912 +:10B5B80000123068F0091800EFF81E12F9B80100FF +:10B5C800EFF81E131896F01F0031EBDCC008C3E13A +:10B5D800301A335B0E9CF01F002E301B0E9CF01FA0 +:10B5E800002D302A339B0E9CF01F0029ED1B002CE8 +:10B5F8000E9CF01F0029304A337B0E9CF01F00245C +:10B60800301B0E9CF01F0023303B0E9CF01F0021C6 +:10B6180031CB0E9CF01F001F306B0E9CF01F001DDD +:10B628000E9CF01F001E6E5CEF0B001CF6CBFF108B +:10B638005C7BF01F001B0C98343949AA6E5B6E1CAA +:10B64800F01F00190C9CF01F0019EF3800132FF899 +:10B658005C58EF6800133059F2081800E0880005BC +:10B66800FE79EA60C058E06903E8F20809495C79A4 +:10B678000A9CF2C9FE0DE06801F4F2080C08EF58C4 +:10B68800001ED8228003B4098000AEF08000ABC44D +:10B698008000AC288000AD588000AC788000D210C3 +:10B6A8008003B405800113908000B12CD421301898 +:10B6B80078A7EF390012F0091800EFF81E12F9B850 +:10B6C8000100EFF81E131896F01F0039EBDCC008D4 +:10B6D800C501301A335B0E9CF01F0036303B0E9CC0 +:10B6E800F01F0035302A339B0E9CF01F0032ED1BF3 +:10B6F800002C0E9CF01F0031304A332B0E9CF01F9B +:10B70800002D6EAB0E9CF01F002E304A336B0E9C42 +:10B71800F01F00286E9B0E9CF01F0029304A337BD7 +:10B728000E9CF01F0024301B0E9CF01F0023303BA2 +:10B738000E9CF01F002131CB0E9CF01F001F306BB8 +:10B748000E9CF01F001D0E9CF01F001E6E5CEF0B80 +:10B75800001CF6CBFF105C7BF01F001B0C983439E3 +:10B7680049AA6E5B6E1CF01F001A0C9CF01F001992 +:10B77800EF3800132FF85C58EF6800133059F208BF +:10B788001800E0880005FE79EA60C058E06903E81F +:10B79800F20809495C790A9CF2C9FE0DE06801F4D7 +:10B7A800F2080C08EF58001ED82200008000AEF006 +:10B7B8008000ABC48000AC288000AD588000ADC0CC +:10B7C8008000AC788000D2108003B405800113900B +:10B7D8008000B12CD421304878A7EF390012F00945 +:10B7E8001800EFF81E12F9B80100EFF81E131896AA +:10B7F800F01F0025EBDCC008C291301A335B0E9CA9 +:10B80800F01F0022303B0E9CF01F0021302A339B92 +:10B818000E9CF01F001EED1B002C0E9CF01F001D3F +:10B828000E9CF01F001D6E5CEF0B001CF6CBFF108A +:10B838005C7BF01F001A0C983439499A6E5B6E1CB9 +:10B84800F01F00180C9CF01F0018EF3800132FF899 +:10B858005C58EF6800133099F2081800E08800057A +:10B86800E0692710C058E06903E8F00902495C79EB +:10B878000A9CF2C9FE0DE06801F4F2080C08EF58C2 +:10B88800001ED8228000AEF08000ABC48000AC2837 +:10B898008000AD588000AC788000D2108003B405D9 +:10B8A800800113908000B12CD4314A5830167007AB +:10B8B80030A20C9330043055C3E86EA85808C3A0D2 +:10B8C800F1090022F2CA0001F15A0022EC0919001C +:10B8D800C151F1380012E40818005F0AE6081800A0 +:10B8E8005F09F5E91009E8091800C041EA081800DD +:10B8F800C2110E9CF01F0013C1D8F1090020F2CA32 +:10B908000001F15A0020EC091900C141F138001278 +:10B91800E40818005F0AE60818005F09F5E910094D +:10B92800E8091800C041EA081800C0410E9CF01F41 +:10B9380000066E075807CC21D8320000000080CCE2 +:10B948008000B7DC8000B2E0D4211896580CC0E122 +:10B958004C08201D1AD8E068024E1AD84BE84BFC58 +:10B968001AD8F01F003F2FCDC008F9380035A3D8EA +:10B97800F968003578A7F909002CE068023FF0095A +:10B988001900E088008B5807C091350CF01F00356E +:10B998001897E08000838DACC2E86E1C580CC0304C +:10B9A800F01F00316E585808C0E04AA8201D1AD868 +:10B9B800E068026C1AD84AD84A8C1AD8F01F0028B6 +:10B9C8002FCDC0086E285808C0916E385808C0613D +:10B9D800EF090010F0091900C0E049E8201D1AD845 +:10B9E800E068026E1AD84A2849CC1AD8F01F001C01 +:10B9F8002FCDC008350A300B0E9CF01F001EF01F1B +:10BA0800001E8F1C1895C0610E9CF01F001C8DA590 +:10BA1800C178344A49ABF01F001B499B343A6E1C6D +:10BA2800F01F00190C9A499B6E1CF01F00190C9C02 +:10BA3800F01F00185C5CC0700C9CF01F0017E06CD5 +:10BA480000FFD822ED380035A3B8ED680035D822BC +:10BA580080039DC48003A13880039D9C800094C40A +:10BA68008002E2A4800112288003A14880039FA0DD +:10BA78008002E8BC800112008002E28C8003B409D5 +:10BA880080011260800113208000BBBC800111F886 +:10BA98008000B5988000AE50E06C00FFD82200000E +:10BAA800D421202D1896580CC0E14BA8201D1AD877 +:10BAB800E06803781AD84B884B8C1AD8F01F0038E6 +:10BAC8002FCDC00878A75807C0E14B28201D1AD8E9 +:10BAD800E068037A1AD84B384B0C1AD8F01F00309C +:10BAE8002FCDC0086F295BF9C1102E2933C8E06A31 +:10BAF800FFFFF2080D081438F40817B0EF580020BB +:10BB08005808F9B80001EFF80C106F395BF9C1104B +:10BB18002E2933C8E06AFFFFF2080D081438F4082C +:10BB280017B0EF5800225808F9B80001EFF80C11C7 +:10BB38006EB850185808C041FC18FF0050186EC85D +:10BB480050085808C0716EA84019F3E80008A1A869 +:10BB58005008EECBFFD80C9CF01F0013FACBFFFC6B +:10BB68000C9CF01F00121A9B0C9CF01F00110C9CDF +:10BB7800F01F0010EF39001230A8F0091800EFF894 +:10BB88001E12F9B80100EFF81E132FEDD82200009D +:10BB980080039DC48003A16080039D9C800094C4A1 +:10BBA8008003A17C8000CBC88000CA928000CA7440 +:10BBB8008000CB88D43178A71896149574186E290C +:10BBC8005809C0916E395809C061EF0B0010F20B8B +:10BBD8001900C0E04BE8201D1AD8E06805651AD89E +:10BBE8004BC84BDC1AD8F01F003D2FCDC0088A5B2C +:10BBF80032BAF40B1900E088020F118B302AF40BCB +:10BC08001800E0810209F93C002EECCBFFD1F0CA04 +:10BC1800FFE4C0982FF917345C59153EFC0418004E +:10BC2800E08101FAF8091800CF6311FA11CB11D994 +:10BC380011E8B169F3EB1189F3E810896E08F5E9A9 +:10BC480010091039E08101E80E9CF01F00258A4C8C +:10BC5800E06800F0F00C1900E088000FF8CC00F064 +:10BC6800EF5C00105C7CF01F001F8F3CC051EF5C44 +:10BC78000010E08F01D1E06C00F0F01F001A8F2C4B +:10BC88001894C0C16E3C580CE08001C6F01F001625 +:10BC9800EF5400108F34E08F01BF189B3009E06A21 +:10BCA80000F00A9CF01F0011E06800F0F00C190089 +:10BCB800C2004878201D1AD8E068052E1AD848C84E +:10BCC800485C1AD8F01F00052FCDC00880039DC41A +:10BCD80080039FA080039D9C800094C48000AEC414 +:10BCE8008002E2A48002E28C8000CEC48003A1948A +:10BCF8006E3B580BE08001B2E06900F0EF1A0010CB +:10BD08000A9CF01F0036EF080010F8081900E080C0 +:10BD180001A54B38201D1AD8E06805351AD84B18EC +:10BD28004B1C1AD8F01F00312FCDC00819A8305A63 +:10BD3800F4081800E0810100EF3800123019F20809 +:10BD48001800E08100EC30086CA4333B89D889B82E +:10BD580089C8089CF01F0026C0F0F8C8FFFC19AB82 +:10BD6800119919BA1188B16AF5EB118AF5E81088AA +:10BD78001248E948004433AB089CF01F001DC0E09E +:10BD8800F8C8FFFC19AB119919BA1188B16AF5EB1B +:10BD9800118AF5E810881248C0386918A198E9484E +:10BDA800004833BB089CF01F0012C0E0F8C8FFFC35 +:10BDB80019AB119919BA1188B16AF5EB118AF5E82E +:10BDC80010881248C0286918E948004C6828F0C94A +:10BDD800FFF0C0F11298C1C88000CEC480039DC492 +:10BDE8008003A1C880039D9C800094C48000AAF4AD +:10BDF800F1390013F13B0010F13A0011F13800124B +:10BE0800B16AF5EB118AF5E81088F3E8100889A8FB +:10BE1800301B089CF01F0084C0E0F8C8FFFC19AB79 +:10BE2800119919BA1188B16AF5EB118AF5E81088E9 +:10BE3800124889B8303B089CF01F007BC0E0F8C866 +:10BE4800FFFC19AB119919BA1188B16AF5EB118A7F +:10BE5800F5E81088124889C831CB089CF01F007299 +:10BE6800C0E0F8C8FFFC19AB119919BA1188B16A7A +:10BE7800F5EB118AF5E81088124889D8306B089CD0 +:10BE8800F01F00691892C2E01998A38889E8582819 +:10BE9800F9B80B02E9F8BA0E3003C1D8E608150262 +:10BEA800E6C9FFF22FE8E8090029E4080008113E76 +:10BEB800113AB16AF5EE118A118EF5EE108A1191D8 +:10BEC800069CF5E11001F2CBFFFC93112FF3F01F54 +:10BED80000575C5368E81033CE23069C4D4BF01F87 +:10BEE80000536CA43008E93A00123089EF58001E5C +:10BEF800F20A1800E9F91E12E9F81E130C9C300A20 +:10BF0800E8CBFFD8F01F004BE93800132FF8E96899 +:10BF180000133018E958001EC7E820383029F20805 +:10BF28001800E08B007930080C9CEF58001EF01FB9 +:10BF38000042C7183069F2081800C3513019EF38A9 +:10BF48000012F20818005F0B3039F20818005F0978 +:10BF5800F7E91009C0813049F2081800C040F40818 +:10BF68001800C5916CA40C9C3003EF53001EF01F01 +:10BF780000330C9C4AEBF01F00320C9C4ACBF01F9C +:10BF880000310C9C4AABF01F0030E939001230C870 +:10BF98000C9CF0091800E9F31E13E9F81E12F01FB3 +:10BFA800002BC398302AF4081800C351EF38001248 +:10BFB800F2081800C30130086CA4EF58001E336B58 +:10BFC800089CF01F0019C270F8C8FFFC19AB119942 +:10BFD80019BA1188B16AF5EB118AF5E81088124888 +:10BFE80089986828F0C9FFF0C0311298C108F13962 +:10BFF8000013F13B0010F13A0011F1380012B16A58 +:10C00800F5EB118AF5E81088F3E8100889A80C9C6C +:10C01800F01F000F0E9CF01F000F0A9CF01F000E6F +:10C02800D83200008000AAF48000C19C8003B409C3 +:10C038008001384C8000BAA88000CABC8000CBC8F8 +:10C048008000CA748000CA928000B5988000B6B497 +:10C058008000AEC48000D13C335B0E9CF01F00030F +:10C06800FE91FE66CD8B00008000AAF4D4314C18F6 +:10C07800301370073002069430813050C7686EA6BE +:10C088005806C720ED05001EE6051900E0880006E1 +:10C098002015ED55001EC688E6051900C651ED3875 +:10C0A8000012306AED52001EF40818005F0A30C909 +:10C0B800F20818005F09F5E91009300AF4091800B8 +:10C0C800C501E8081800C0B1ED380013E0081800F1 +:10C0D800E08B00360E9CF01F0028C468E2081800A8 +:10C0E800C191ED380013E8081800E08B0010300A01 +:10C0F800ECCBFFD80E9CF01F0021ED380013ED5556 +:10C10800001E2FF8ED680013C2F80E9CF01F001CEB +:10C11800C2B8E0081800C0510E9CF01F001AC248AF +:10C128003049F2081800C0F1ED380013E208180091 +:10C13800E08B00060E9CF01F0014C1680E9CF01FD7 +:10C148000013C0F83039F2081800C0E1ED380013C8 +:10C15800E8081800E08B00060E9CF01F000DC04890 +:10C168000E9CF01F000C6E075807C8A1D8320000BB +:10C17800000080CC8000B6B48001384C8000BAA89A +:10C188008000B2E08000B7DC8000B1D88000B4AC99 +:10C198008000B598D4013019F20C1800E08B001D0E +:10C1A800580B5F1A48D9720958095F19F5E900094F +:10C1B800C13017B9178E179A17A8B16AF5EE118A08 +:10C1C800F5E81088F3E81008C0704858304AF00CB9 +:10C1D800002CF01F0004D80200001D5800001D505C +:10C1E8008002E736D42130181897F00B1800E08B3E +:10C1F80000074868304AF00B002BC038304A484BDB +:10C20800F01F00040E9CD82200001D508003B409C2 +:10C218008002E736D4313013189516911492E60C43 +:10C228001800E088000F4BB8201D1AD8E0680246B5 +:10C238001AD84B984B9C1AD8F01F00392FCDC0083C +:10C248004B89F20C0028F20C072B11BA119911A88E +:10C25800B169F3EB1189F3E81088F5E81008C0E13B +:10C268004AC8201D1AD8E06802471AD84AE84ABCCA +:10C278001AD8F01F002B2FCDC008300AE06B011030 +:10C28800149CF01F002A1897C041E06600FFC758A9 +:10C2980078045804C0E049F8201D1AD8E068024D17 +:10C2A8001AD84A3849DC1AD8F01F001D2FCDC0080B +:10C2B800781630CA089B0C9CF01F001EECC9FFF4CE +:10C2C800AC92ACD3E5D2C110ACA3ACC42011AC8203 +:10C2D80032EC2FF1F2C8FFFF300AC05810CBF5D26C +:10C2E800C0082FF1038BF4C2FFFFE80B18005F139F +:10C2F800F80B18005F16E7E60006E8061800CEF10E +:10C30800B28A0389E8091800C1601099CE3B000081 +:10C318008003A1E48003A22880039D9C800094C42C +:10C3280000001D508003A2408000D3188003A2643F +:10C338008002E8BCF0CBFFFB10C9B089B0A9301966 +:10C34800B099B0B96E180E9C101B5C7BF01F000CE6 +:10C3580048C848D6F0050025335A6C0C0A9BF01FD4 +:10C36800000B6C0C0A9A33590E9BF01F0009EDDC88 +:10C37800C0080E9CF01F00070C9CD8328000D21019 +:10C3880000001D5000001D5880011320800114F08A +:10C398008000D13CD421189A303CF80A1800E08873 +:10C3A800000F4BE8201D1AD8E068028A1AD84BC83B +:10C3B8004BCC1AD8F01F003C2FCDC0084BB8E06713 +:10C3C8000118F4070247F007000730180F8B169979 +:10C3D800F00B1800C0A0C603302BF6091800C0F0F7 +:10C3E800F8091800C4C1C4383008AEABAEB8AE986E +:10C3F800EECBFFF43028300CAE88C3680FA92019A3 +:10C408005C59AEA9C4910FBB2FFB5C5BAEBB0F9C04 +:10C41800304EFC0B1800C251F20C1800C1214A4AD8 +:10C4280015FB15CE15DC15EAB16CF9EE118CF9EA9D +:10C43800108AF7EA100AC050AEB9AEA8AE98D82252 +:10C44800EEF801105808C070EEFA0114300BEECC6B +:10C45800FFF45D183008AE883008EF480110D82284 +:10C46800AEABEECBFFF4F01F0013D8226E282018D5 +:10C478008F28C121EF480110AE88D8224878201DA6 +:10C488001AD8E06802C61AD848B8486C1AD8F01FFB +:10C4980000062FCDC008D8228003A1E48003A28023 +:10C4A80080039D9C800094C4000018F000001D507B +:10C4B8008000C21C8003A29CD431580B5F081292E2 +:10C4C80016974BB914967209189558095F04F1E448 +:10C4D8001004E08100B6580CE08000B31989E8091F +:10C4E8001800E08000AEF01F0033E04C00FFE08B46 +:10C4F80000A84B1B0A9CF01F0031C08137F8AEA47E +:10C50800AE88AE9C3018AEB8D8320A9CF01F002C0A +:10C51800F8081618AE88F1DCC208AEBCAE98F1DC9B +:10C52800C108AEA85BFCE081008F4A63300430305C +:10C5380006910788E0081800C171E80400280A9CE1 +:10C54800F00B1503101B2FFBE20B003B2FCBF01F4A +:10C55800001BC0A1E0680118B13449A8F004000428 +:10C56800E8F8010CC0782FF4E6C3FEE85844CE2161 +:10C578003FF8F0091618AE89F3D8C208AEB8AE99DC +:10C58800F3D8C108AEA95BF8C5E1300748E848DB35 +:10C59800118A0E9C0E9930313043F2C0FFFF178488 +:10C5A80016985804C1211297C358000000001D585E +:10C5B8008002EDD08003A2BC8002ECC880011E106E +:10C5C800000018F0000018ECE2041800C0C117C8F9 +:10C5D800F4080104F40801081838E08A0005F9D4C1 +:10C5E800C0081297F3D0C008F6CBFEE8E609180099 +:10C5F800CD513039F2071800E08B0027494BE0682D +:10C608000118EE080248F6080008118BF20B180012 +:10C61800C1B1F4C9FFFFB0CAF1460110301AF142A6 +:10C628000114B08AF0CCFFF448A80A9BB089F01F27 +:10C63800000A0E9CF01F0009E06C00F2D832E06C92 +:10C6480000F7D832D83AE06C00FFD832000018F072 +:10C65800000018EC8002ED708000C39CD40148985B +:10C6680070085808C0D0300CF01F0007301CF01FAD +:10C678000006302CF01F0004303CF01F0003D802E5 +:10C6880000001D588000C39CD421494C4946F01F26 +:10C6980000156C0518975805C1E1F01F00138D0CA3 +:10C6A800C1A0492B0A9AF01F00120A9A491B6C0C68 +:10C6B800F01F00116C085808C0E05807C0C0EE0908 +:10C6C800161848E8B0B7B089F3D7C208EFD7C10841 +:10C6D800B099B0A7D82200008003A2C800001D5856 +:10C6E80080011E10800112008003B40980011260CD +:10C6F8008000C704800111F800001D50D431E068A3 +:10C7080002001496944AF00A1900E08B00E331986D +:10C71800F00A1900E08800DE4DF75C7A30090E9BBC +:10C728000C9CF01F005E8C48F8081900E08100D2CC +:10C738000F993038F0091800E08B00CCE06501183B +:10C74800AB394D75120530290B8AF20A1800E081C1 +:10C7580000C1AA880FBAF5DAC004AADA0FD80FCB3D +:10C76800F1EB108B0FF80FEC5C8BF1EC108C3009AF +:10C778005C8C0FA8F2081800E084009DF20A1800EB +:10C788005F18301AF40B18005F1AF5E81008F20861 +:10C798001800E0810090EAC4FFF42F4708980F8939 +:10C7A800129AE21A00C0E04A00C0C1502FF7C098A0 +:10C7B800F3DBC0082FF7118BF40B1800C7B12FF863 +:10C7C800F2CB00010F8A5809CF41F20A1800C03095 +:10C7D8002FF8CE6B4B0B30082F4B1739129AE21AF1 +:10C7E80000C0E04A00C0C060120B1789F0091800A9 +:10C7F800CF51F1DCC0082FBB300E301A3047C58846 +:10C808001739129CE21C00C0E04C00C0C060120B3B +:10C818001789FC091800CF512FFB17CC17D9B1691C +:10C82800F3EC118917ECF7330008F3EC108917A221 +:10C8380017FC1781F9E91009F73C0009F9E3108C96 +:10C8480017B35C8CE7E2108317925C83E5E11082F2 +:10C85800F4021900C281F4031900C251EE0C190048 +:10C86800C2218B29E8593A80E0880005E8783A80A7 +:10C878008B28EAC7FEF42F6B304A0E9CF01F000984 +:10C88800EAF801105808C250EAFA01140E9B089CF5 +:10C898005D18C1F800001D5C8000CEC4000018F0CF +:10C8A8008002E7365C7C20182F6C5C58180B5808FF +:10C8B800CA81EAF801105808C070EAFA0114300B6E +:10C8C800EACCFFF45D183008AA883008EB4801105C +:10C8D8000C9CF01F0002D8328000D13CD401F01F1C +:10C8E8000003F01F0003D8028000C8F88000C6903B +:10C8F800D42149A949ABF2CCFEC4F2C8FF54300A8E +:10C90800F2C9FF50910A930AB22A172EF14EFFFC82 +:10C918002F092F081838CF71492949382FD9149C65 +:10C92800E019FFFCF0C6FFDC48D7490E910CEE0A6F +:10C938000405189BC098700493042FFB9109FC0A06 +:10C9480005045C8B0809EA0B1900CF632FC82FEA8E +:10C958000C38CED1D8220000000080D48003A2D8A1 +:10C9680000001F5C000072E88003A394D401580BF8 +:10C97800C200F1DBC002C0E048F8201D1AD8E06808 +:10C98800016B1AD848D848EC1AD8F01F000E2FCDE2 +:10C99800C00848D8F00C03299709F00C092B48B8AF +:10C9A800A56CF00C000CF8CCFF54780820189908F6 +:10C9B800D80200008003A2EC8003A33080039D9C72 +:10C9C800800094C4000072E8000080D4D421189834 +:10C9D800588CE088000F49F8201D1AD8E068013DFE +:10C9E8001AD849D849DC1AD8F01F001D2FCDC00825 +:10C9F80049CE49D9FC0C032CF0CAFFF5580CC230BB +:10CA0800A56AF00B15047807F20B000BFC08092740 +:10CA1800F6CBFF5414097608720A2FF8103AF3F887 +:10CA28003A009708F1DCC002C13048A8201D1AD886 +:10CA3800E068014F1AD848D8488C1AD8F01F000867 +:10CA48002FCDC008A56A140992282FF8B228D82239 +:10CA58008003A2EC8003A35080039D9C800094C4B3 +:10CA6800000072E8000080D48003A370580BC0C097 +:10CA780017B8178A179917ABB169F3EA1189F3EB5D +:10CA8800108BF1EB100B993B5EFC580BC0C017B82C +:10CA9800178A179917ABB169F3EA1189F3EB108B71 +:10CAA800F1EB100B992B5EFC4828910C5EFC000002 +:10CAB800000080D0D4211897F9380035EDB800006F +:10CAC800C0D1A1C8F968003578885808C0205D1819 +:10CAD8006E785808C0300E9C5D18D822F93C003595 +:10CAE800F9DCC0015EFC580CF9FB1A075EFCD703A1 +:10CAF800D421300A18971696302C96CBF01F001ABE +:10CB08001895C041E06600FFC2B80C9BF01F0017E3 +:10CB1800EDDCC008C0500A9CF01F0015C2180A9826 +:10CB280070095809C0301298CFCB6EF95809C15016 +:10CB38006F095809C0E148F8201D1AD8E068025367 +:10CB48001AD848D848DC1AD8F01F000D2FCDC008D5 +:10CB58009305EF480040C048EF4800408FF50C9C13 +:10CB6800D82200008000D3188000CF988000D13CE4 +:10CB78008003A3A88003A44480039D9C800094C4E0 +:10CB8800D4211897F9380035EDB80000C170A1A874 +:10CB9800F968003578885808C0205D186E785808FC +:10CBA800C0300E9C5D18EF380035EDB80005C06147 +:10CBB8000E9CEECBFFFCF01F0002D8228001370C40 +:10CBC800D42117881799B169F3E8118917A8F3E8F0 +:10CBD800108917B81697F1E91009189678181039BE +:10CBE800C27049A8700CC0A8780978356C1810393B +:10CBF800C041301BF01F00160A9C580CCF614958E1 +:10CC08007008C14870095809C1006C1A1439C0D19C +:10CC18000F8A0F99B169F3EA11890FAAF3EA10890B +:10CC28000FBAF5E91009910970385808CEC10F8A72 +:10CC38000FB90F98B168F1EA11880FAAF1EA1088C4 +:10CC4800F3E810088D18D8220000820C8000E12437 +:10CC580000008214D421149712961895F01F001022 +:10CC68005807C0C00FB80F8A0F990FA7B169F3EA28 +:10CC78001189F3E71087F1E710078B275806C0C022 +:10CC88000DB80D8A0D990DA6B169F3EA1189F3E67D +:10CC98001086F1E610068B36D82200008000CBC83B +:10CCA800D4213006999899169926993699A6997695 +:10CCB800998699F6F94600404908FAC4FFEC681EBF +:10CCC8006804F96600351185F96500382FF5B085D7 +:10CCD8001897994EF01F000A0E9C5D145C5C4898EA +:10CCE800580CEC071710F1F90000EFF90A00F1F7FA +:10CCF8000A000E9CD82200000000730C8000CC5C57 +:10CD0800000080CC1898300CC0482FFC70085C5C80 +:10CD18005808CFC15EFC580CF9F81207F9B901019F +:10CD2800F1D9E108F9F81C075EFCD703D401580CC7 +:10CD38005F08580B5F09F3E81008C1304978201DD7 +:10CD48001AD8E068028F1AD84958496C1AD8F01FC7 +:10CD580000162FCDC008964AF4080008B848129C5F +:10CD6800984878095809CF819859F0091900C0E006 +:10CD780048A8201D1AD8E06802971AD848B8489CD5 +:10CD88001AD8F01F00092FCDC0089649990BF20850 +:10CD98000008B848D80200008003A4708003A4B437 +:10CDA80080039D9C800094C48003A4ECD421169732 +:10CDB800F01F00065807EFF81207F9B90101F1D979 +:10CDC800E108EFF81C07D8228000CD34D421580C94 +:10CDD800C0E14B58201D1AD8E06801B01AD84B386A +:10CDE8004B3C1AD8F01F00332FCDC008580BC03168 +:10CDF800169CD8223008F00B1900C154F60911000E +:10CE080098585C89F2081900C0F24A78201D1AD88F +:10CE1800E06801B71AD84A884A5C1AD8F01F00257A +:10CE28002FCDC0081699F93E000C300A3037F40EA1 +:10CE380019005F08EE0E19005F061497104678185F +:10CE4800F4061800C0A0F00B01099919F8CAFFF000 +:10CE58001439C2029918DA2A201E3017EE0E19006A +:10CE6800E08B000CF40B1900C1D4985AF20A19008F +:10CE7800C19316189918C0E848B8201D1AD8E06858 +:10CE880001E61AD848D848AC1AD8F01F000A2FCDA6 +:10CE9800C00898581608B8589848F00B000BB84BBB +:10CEA800D82ADA2A8003A47080039EA480039D9C5C +:10CEB800800094C48003A51C8003A53CD43116913E +:10CEC8001497580CC0E14AD8201D1AD8E068033ED0 +:10CED8001AD84AB84ABC1AD8F01F002B2FCDC00860 +:10CEE800580BC070300518960A920A930A90C388A6 +:10CEF8004A28201D1AD8E068033F1AD84A384A1C25 +:10CF08001AD8F01F00212FCDC0085809C0A08C588E +:10CF1800F208010AF0091900C043F3DAB010C1F8A9 +:10CF2800F1D9C0108C54E8090109EE091900EE097D +:10CF380017B06C1BE9D9B010F9D5C010100BE20C72 +:10CF4800000C089A5C7AF01F0012E8030003081727 +:10CF5800E80500055C835C855C8730096C0658062B +:10CF68005F1AE40719005F18F5E80008E0081800E0 +:10CF7800CCD1069CD83200008003A4708003A5B0F1 +:10CF880080039D9C800094C48003A5D08002E7366E +:10CF9800D431580C5F08580B5F0918961697F3E8B8 +:10CFA8001008C06198499648F0091900C0E24C7809 +:10CFB800201D1AD8E06802FE1AD84C584C5C1AD8C2 +:10CFC800F01F00452FCDC00830050A945806C0E16F +:10CFD8004BE8201D1AD8E06803031AD84BF84BDC3D +:10CFE8001AD8F01F003D2FCDC0088C5808995C79DD +:10CFF8008E53F5D8C010F7D3C010121AF3D5C0104D +:10D00800F6090109123AE7D5E413E8091750F1D9EE +:10D01800E51308985C786C1C100CF1D5C0105C8383 +:10D028006E1BF5D3C010100BF01F002DE604000492 +:10D038008C585C84F0041900E088000F4A38201DE1 +:10D048001AD8E068030F1AD84A684A2C1AD8F01F71 +:10D0580000222FCDC008F0041900EDF60000F9B445 +:10D068000000E60500058E585C85F0051900E0888B +:10D07800000F4968201D1AD8E06803151AD849A876 +:10D08800494C1AD8F01F00142FCDC008F00519001C +:10D09800EFF72000F9B502005807C2908E598E4864 +:10D0A800F0091900C2416E085808C2104878201DBE +:10D0B8001AD8E068031F1AD848C8486C1AD8F01F55 +:10D0C80000062FCDC00800008003A4708003A5F4DB +:10D0D80080039D9C800094C48003A6248002E736C8 +:10D0E8008003A6348003A64C8003A6685806C16056 +:10D0F8008C598C48F0091900C1116C085808C0E017 +:10D108004898201D1AD8E06803241AD84878488C13 +:10D118001AD8F01F00082FCDC0085807FE91FF58F5 +:10D128000E9CD8328003A4708003A66880039D9C5F +:10D13800800094C4D421189B580CC0E14AB8201D23 +:10D148001AD8E068021C1AD84A984AAC1AD8F01FB4 +:10D15800002A2FCDC008F939000C3038F009180022 +:10D16800E088000F4A18201D1AD8E06802281AD84B +:10D178004A284A0C1AD8F01F00202FCDC0083007C3 +:10D18800303530169679F2C800015C885809C0E13C +:10D198004968201D1AD8E06802351AD84988495CC0 +:10D1A8001AD8F01F00152FCDC008B6785808C1B19D +:10D1B800F738000C169CF0C900017604EA0819003B +:10D1C800C031308CC068EC091900E08B0006307C57 +:10D1D800F01F000CC038F01F000C2FF7089B5C579D +:10D1E8005804CD110E9CD8228003A47080039EA4FD +:10D1F80080039D9C800094C48003A6948003A6AC01 +:10D208008000C9748002E28CD421580CC0E14B988C +:10D21800201D1AD8E068015F1AD84B784B7C1AD8C1 +:10D22800F01F00372FCDC0083019F938000CF2086C +:10D2380018005F1A3039F20818005F19F5E900097B +:10D24800C1405808C1203029F2081800C0E04A98A7 +:10D25800201D1AD8E06801631AD84AA84A7C1AD84F +:10D26800F01F00272FCDC0089848F00B1900C3F213 +:10D27800F3D8C0101897F1DBB0105C7B121BC27892 +:10D28800E04BFFFEE08A000F49A8201D1AD8E0688D +:10D2980001771AD849C8499C1AD8F01F00192FCD10 +:10D2A800C0088E481608AE486E075807C0E14918EE +:10D2B800201D1AD8E068017B1AD8494848FC1AD8BA +:10D2C800F01F000F2FCDC008F1DAB0108E59F00909 +:10D2D800010AF2081900FE9BFFD5AE48AE586E0C45 +:10D2E800580CC030F01F000A30088F08D822000000 +:10D2F8008003A4708003A70080039D9C800094C4D1 +:10D308008003A7188003A7348003A7488000D13C76 +:10D31800D431202D16971495581CC0B0C083582CB2 +:10D32800C040583CC0B1C1783004C0583144C0280E +:10D3380030042EC42E445C84C0F84C08201D1AD832 +:10D34800E06800D11AD84BE84BEC1AD8F01F003E21 +:10D358002FCDC00830045825E08B00065815E08210 +:10D3680000DDCBF85835E08100E6308CF01F00373F +:10D378001896E08000F25C740E99E8C8FFFD5C79AD +:10D38800E018FFFCB847E06A02443000F4080108DE +:10D39800F8040004F0090D472ED4E014FFFCAC5744 +:10D3A8009914F965000C99005C77F8C3FDAC0E047C +:10D3B8000833C0E24A18201D1AD8E06800EB1AD8D2 +:10D3C8004A384A0C1AD8F01F00202FCDC008580838 +:10D3D800E089000F4998201D1AD8E06800ED1AD896 +:10D3E80049C8498C1AD8F01F00182FCDC008F20779 +:10D3F800010700980A9918943015E0610243B8753E +:10D40800E0620244C6A850195008308CF01F000F83 +:10D418000E9B189A5C8BF4CEFFF0F6011900F60CFF +:10D428001720E40C173040194008580AC1610C9CB9 +:10D438001496F01F0009C9088003A4708003A76030 +:10D4480080039D9C800094C48000C9D48003A77C7D +:10D458008003A7B08000D13C9508890AF569000CC3 +:10D46800F560000DE047FFFFC0E14BD8201D1AD83A +:10D47800E06801071AD84BB84BBC1AD8F01F003B1C +:10D488002FCDC008951EB45CB44BFDDEC002C0E0D1 +:10D498004B38201D1AD8E068010D1AD84B484B2C80 +:10D4A8001AD8F01F00322FCDC0085C7C8CDB18170F +:10D4B80014946C1CF80B000B1633C0E24A88201D2C +:10D4C8001AD8E06801101AD84AA84A7C1AD8F01F5E +:10D4D80000272FCDC008B4755807FE99FF96C3786A +:10D4E8000E985C782FD8E018FFFC5C74E8CCFFED50 +:10D4F800E01CFFFC100CF01F00201896C2D030086A +:10D50800F8040004AC572ED4B847E014FFFCF968BF +:10D51800000C99149908C1B8307CF01F00181896AF +:10D52800C1B03008AC57F965000CB847990899188C +:10D53800C0E848B8201D1AD8E068013D1AD8490843 +:10D54800489C1AD8F01F00092FCDC0083018AC78B5 +:10D558003008ED68000D0C9C2FEDD8328003A470C4 +:10D568008003A7E480039D9C800094C48003A7F8EF +:10D578008003A77C8002E2A48000C9D48003A82885 +:10D58800D43149B8781918951094300CF2C2FFF4C8 +:10D59800F3310009700718961893C1E8EF380010A6 +:10D5A8000238C1716E585808C1400A9A0E9B6E6CB9 +:10D5B80004995D18C0E05806C0410C95301CC0A8FD +:10D5C8006E388D3868088F388907301C3005C028B8 +:10D5D800300C0E966E37E60C18005F0858075F1976 +:10D5E800F3E80008E6081800CDA1D832000073104F +:10D5F800E06C00FB5EFCD421E067040078A8F90B1E +:10D60800002C78C9F5DBC010F90E003C100AEE0EAC +:10D618001900E0880005E06E0400C0285C7EF4096B +:10D628000107EE0E010EC076F95B002E78CCF40CE3 +:10D63800010CD822F009010A580AE08A00063008CD +:10D64800F958002ED82AF2080108F958002ED82ACD +:10D65800996B5EFCF94B008C5EFCF94B00885EFC14 +:10D66800F94B00985EFC998B5EFCF96A0039F94B1E +:10D6780000945EFC5EFC5EFC48A87008C028703808 +:10D688005808CFE148887008C02870385808CFE19A +:10D6980048687008C02870385808CFE15EFC000060 +:10D6A8000000820C0000821400008220D4014A6825 +:10D6B8007008C30870495809C0E14A48201D1AD8A3 +:10D6C800E06805AC1AD84A284A2C1AD8F01F00225C +:10D6D8002FCDC0085819C0E149C8201D1AD8E068E4 +:10D6E80005AD1AD849D849BC1AD8F01F001B2FCD50 +:10D6F800C00858A9C0E14958201D1AD8E06805AEED +:10D708001AD84978493C1AD8F01F00132FCDC00801 +:10D7180070385808CD0149387008C128704958A98F +:10D72800C0E048A8201D1AD8E06805B11AD848E812 +:10D73800488C1AD8F01F00082FCDC0087038580838 +:10D74800CEE1DA0A0000820C8003A8688003A8AC46 +:10D7580080039D9C800094C48003A8D88003A904FA +:10D76800000082208003A934D43118961497784891 +:10D778005808C0E04C48201D1AD8E068011A1AD889 +:10D788004C284C3C1AD8F01F00432FCDC008580A2B +:10D79800C3514C19720C4C19720A4C19109E9207FD +:10D7A8004C08E069100070052FF70A985C87EE0EA8 +:10D7B8001900F2071790C088F104001C0E93EE04BC +:10D7C8001900CF3070385808CF811898C088F104F4 +:10D7D800001C0E93EE041900CE8070385808CF81D3 +:10D7E8001498C088F104001C0E93EE041900CDD0E3 +:10D7F80070385808CF814AA8B0074A887008C1F81D +:10D80800F109001C0E93EE091900C181700A580A2B +:10D81800E0800099580BE0800096178C1799B16941 +:10D82800F3EC118917ACF3EC108917BCF9E910096E +:10D83800E0800089123AE080008670385808CE11DE +:10D8480049887008C1A8F109001CEE091900C141F6 +:10D85800700A580AC770580BC750178C1799B169C6 +:10D86800F3EC118917ACF3EC108917BCF9E910092E +:10D87800C690123AC67070385808CE6148A870052C +:10D888000A98C2D88003A8688003A96080039D9C79 +:10D89800800094C40000822000008214000001F877 +:10D8A8000000820C0000821CF109001C0E93EE0996 +:10D8B8001900C141700A580AC450580BC430178C5B +:10D8C8001799B169F3EC118917ACF3EC108917BCFF +:10D8D800F9E91009C370123AC35070385808CE518C +:10D8E80049A87008C158F109001CEE091900C0F1D7 +:10D8F800178A1799B169F3EA118917AAF3EA108907 +:10D9080017BAF5E91009700A123AC1C070385808F8 +:10D91800CEB1580BC11017891798B168F1E9118871 +:10D9280017A9F1E9108817B9F3E81008C050304A70 +:10D938000C9CF01F00078D354868ED57001C9106B8 +:10D94800D83AE06C00F5D832000082208002E73631 +:10D958000000821CD4211897169CF01F0008C0B044 +:10D96800F908002C5808C0702288EE081900F00742 +:10D9780017305C870E9CD82280012228D421F90810 +:10D98800002C1897F3D8C010E06CFFFFF5DBC0102F +:10D99800F8090109123AE08A000F4948201D1AD8EF +:10D9A800E06801BD1AD84928492C1AD8F01F00127E +:10D9B8002FCDC008100BE0680800EF5B002CF00BBF +:10D9C8001900EFF8BC160E9CF01F000CE04C01FF8C +:10D9D800E08A000AEF380026A1B80E9CEF680026FE +:10D9E800F01F0007D82200008003A8688003A988D8 +:10D9F80080039D9C800094C48000D5FE80010CECBF +:10DA0800D4211896304CF01F000A1897C0E0ECE8B3 +:10DA18000000F8E90000ECE80008F8E900086C48A4 +:10DA28009948781CF01F00030E9CD8228000C9D4A6 +:10DA38008000CD1ED4211896580CC0311897C0B854 +:10DA4800781C580CC030F01F000518970C9B304C00 +:10DA5800F01F00030E9CD8228000D13C8000C974BE +:10DA6800D42130071896C0880C9C6C06F01F00055E +:10DA7800F80700075C575806CF810E9CD822000093 +:10DA88008000DA3CD4217848189758A85F1A5808BB +:10DA98005F19F5E90009C2005818C1E0F8FC0084D4 +:10DAA800580CC060F01F000D3008EF4800843FF8A4 +:10DAB800EEFC0080EF58003AF01F000930066FECCA +:10DAC800EF460080F01F00066FFCF01F0005EF46D0 +:10DAD800007CEF460078D8228000D13C8000DA68CC +:10DAE800D421169778081638C04176389908C11895 +:10DAF8004B899308C0A870390E39C0614B599308F7 +:10DB08006E399139C06812985808CF614B1993083B +:10DB180030060E9C8F36F01F00306E4858A85F19EB +:10DB280058185F181268EC081800C0C0EF380026B3 +:10DB3800EDB80000C071A1B80E9CEF680026F01F78 +:10DB480000276E485818C3206FE85808C0E04A48B4 +:10DB5800201D1AD8E06804F91AD84A284A2C1AD87D +:10DB6800F01F00222FCDC0086FF85808C0E049C840 +:10DB7800201D1AD8E06804FA1AD849D849AC1AD82E +:10DB8800F01F001A2FCDC008EEF800805808C0E03A +:10DB98004938201D1AD8E06804FC1AD84958492C7D +:10DBA8001AD8F01F00122FCDC00830088F48F01F78 +:10DBB8000012C0E148A8201D1AD8E06805021AD84A +:10DBC80048E8489C1AD8F01F00092FCDC008D82271 +:10DBD800000082188000DA8C80010CEC8003A868B1 +:10DBE8008003A9AC80039D9C800094C48003A9C4D1 +:10DBF8008003A9E08000D6B48003A9F8D42118973F +:10DC080078485808C0E04A68201D1AD8E0680175AD +:10DC18001AD84A484A4C1AD8F01F00242FCDC008F9 +:10DC2800303CF01F00231896C380EF08001CF958F9 +:10DC3800001C6E6899688E48A1B8B8483018994891 +:10DC4800EF38000BF968000BEF38000AF968000A92 +:10DC58006E089908497972080E38C0316E38C108C3 +:10DC680049599308C0A870390E39C06149299308E9 +:10DC78006E399139C06812985808CF6148E99308FD +:10DC880030080E9B8F38302CF01F000C48C948D83C +:10DC98008D8970098D3991060C9CD8228003A8685B +:10DCA8008003AA1880039D9C800094C48000C9D476 +:10DCB8000000821C000082188000C9748000D5F81A +:10DCC80000008214D431204D4B583005700910964D +:10DCD8002FF90A9491090A934B2830627007E08F54 +:10DCE800019E6E485808C0E14AF8201D1AD8E0681D +:10DCF80002571AD84AD84AEC1AD8F01F002E2FCD4E +:10DD0800C0085818C0E14A88201D1AD8E06802588F +:10DD18001AD84A984A6C1AD8F01F00262FCDC00886 +:10DD280058A8C0E14A08201D1AD8E06802591AD834 +:10DD38004A2849FC1AD8F01F001F2FCDC0085828C0 +:10DD4800C071EF38004EE4081800E0800081EF3819 +:10DD5800004E30CAF4081800C7A0EF3800AC10997C +:10DD6800E8081800C300EEF900A82FF9EF4900A849 +:10DD7800493A100AF53AFFFF1439C6B33009EF499A +:10DD880000A8E4081800F9B90801F1D9E808EFF883 +:10DD98008EAC0E9CF01F000BC5C80000000082105E +:10DDA8000000820C8003A8688003AA3C80039D9C25 +:10DDB800800094C48003AA688003AA948003AC38C6 +:10DDC80080010A20EF08003AE6081900F9B90401B1 +:10DDD800F1D9E408EFF84C1D6FF85808C3A0EF0913 +:10DDE800003AEF08004CF0091900C3356E4858286E +:10DDF800C100EF09004AEF0800484CD1A3581208A7 +:10DE0800EF39004EE2090709F0090948EF58004CBC +:10DE1800EF080060EF090056F0091900F00917B083 +:10DE2800EF08003CF3D9C02FEF590058F00A15014C +:10DE3800F0091900EFFA3C2CEF08003CEF53003AC8 +:10DE4800EF5800560E9CF01F003BC0383018C02811 +:10DE580030086E495869C0B16C0B6EDAF60A010ACF +:10DE6800E04A0028E08800042FF85C588ECAEDBA12 +:10DE78000003C39158495F0A58795F091449E809B2 +:10DE88001800C3106C0AEEFC00A0EEF100A4F80123 +:10DE980002416ED9EEFB009CF4090109E20B000E69 +:10DEA800E06A01F4FC0A0D00FAE100080039E08894 +:10DEB80000062FF830115C58C178EF3100ADE20C44 +:10DEC800034BF60A0D0A1439E088000E50180E9C10 +:10DED800F01F0019EF3900AD30012FF9EF6900ADDF +:10DEE8004018C0283001EEFC0080580CC1106ED9D3 +:10DEF8006C0A121AEF09004CF2091006123AC08394 +:10DF08005018F01F000E30004018EF4000806E4996 +:10DF18005839C1516C0A6ED9F4090109E049002841 +:10DF2800E08800182FF85C58C14800008003A85802 +:10DF3800800110608001109C8000DA685899C091B7 +:10DF48006C0A6ED9F4090109E04900F0E08B00047D +:10DF58005808C4900E9CF01F00434C385805C14027 +:10DF680070081037C0E14C18201D1AD8E06802E488 +:10DF78001AD84BF84BFC1AD8F01F003F2FCDC00819 +:10DF88006E388B38C13870090E39C0E04B78201DC7 +:10DF98001AD8E06802E81AD84B884B6C1AD8F01FD8 +:10DFA80000362FCDC0086E399109EEF80098580850 +:10DFB800C0403FBB6E6C5D185801C0F0EF180024DC +:10DFC800201DEEC9FFFC1AD80E9AEF18001C6EAB84 +:10DFD8006F7CF01F002B2FED0E9B302C6E37F01F3F +:10DFE8000029C1C8EF3900382FF9EF690038EF3A36 +:10DFF8000039F20A1800E08B0010EF680038EEF8DC +:10E0080000945808C0600E9B6E6C5D185C5CC04143 +:10E018000E9CF01F001D0E956E375807FE91FE638B +:10E0280049A849B410957006C6086C4858A8C0E0BD +:10E0380048E8201D1AD8E068030C1AD8495848DC6B +:10E048001AD8F01F000D2FCDC00868096CD8F20847 +:10E058000108E04800F0E08B004C0C976C36C4587F +:10E068008000DA8C0000820C8003A8688003AAC4B0 +:10E0780080039D9C800094C48003AAF08001023430 +:10E088008000C97480010CEC00008220000082101E +:10E098008003AB1C6A081036C0E149A8201D1AD8B5 +:10E0A800E068031B1AD84988498C1AD8F01F001851 +:10E0B8002FCDC0086C388F38C1386A080C38C0E0DA +:10E0C8004908201D1AD8E068031F1AD8491848FCC7 +:10E0D8001AD8F01F000F2FCDC0086C388B080C9B86 +:10E0E800302C6C36F01F000C5806CA01C0780C9C06 +:10E0F800F01F000A5807CCF1CE1B2FCDD8320000F4 +:10E108008003A8688003AB4C80039D9C800094C466 +:10E118008003AB748000C9748000DA8CD431202D60 +:10E1280018951691784858A8C0A1189B4A2CF01F3A +:10E1380000230A9B302CF01F0022C3B8780850082F +:10E148007818F903001C5018F9020024797778A68A +:10E15800F8F400987860189B49ACF01F00186BFC25 +:10E16800580CC030F01F00186BEC580CC030F01F72 +:10E178000016EAFC0080580CC030F01F00130A9B00 +:10E18800302CF01F000F5804C040009C3FBB5D14AA +:10E198005801C0F0201D5C72F1D3C0101AD20C9B3C +:10E1A800FAC9FFF4FACAFFF80E9CF01F00082FED19 +:10E1B8002FEDD832000082208000DAE88000C97490 +:10E1C8000000820C8000DA6880010234D42118969D +:10E1D800302CF01F00511897C5114D084D0A189999 +:10E1E8007008740BC0A870DAF60A010A123AF4092A +:10E1F8001720F00C172070385808CF61580CC04011 +:10E20800301BF01F0048302CF01F00431897C30143 +:10E218004C584C3A18997008740E37FBC178F13A8B +:10E228000014EC0A1800E08B000DF60A1800E08BC9 +:10E23800000970D7FC0701071237C033109CC0389B +:10E24800169A12977038149B0E995808CE91580C4C +:10E25800C040301BF01F0033302CF01F002F1897E0 +:10E26800C5704B28F10900D42019F15900D44AF897 +:10E27800F10900D42019F15900D4E06A00B0300B3C +:10E288000E9CF01F002B3408EF6800143FF8EF686D +:10E29800000B4A384A7A70097408F2080008950891 +:10E2A800EF48006CEF480068EF48005CEF4800500A +:10E2B8003008EF6800ADEF680038E0680800EF58F4 +:10E2C800002EEF58002C3068EF58004AEF58004CE9 +:10E2D800E0681000EF580072E0680200EF58003C58 +:10E2E8003FF8EF58003A3018EF5800564928EF48E1 +:10E2F800008CE068DD00EA18006DEF48009CE078CB +:10E3080024F88FD9EF4800A03098EF4800A40E9C5D +:10E31800D82200008000C9D40000822000008210AA +:10E328008000E1240000820C000080D48002E8BC58 +:10E33800000001F48000E5ECD401340CF01F000269 +:10E34800D80200008000E1D4D431189714961293B3 +:10E35800169578445804C0E04C98201D1AD8E068F7 +:10E36800020A1AD84C784C8C1AD8F01F00482FCDC6 +:10E37800C008580BC041E06600F7CB78304A140C4F +:10E38800F01F0043EF560024EF08001CE8081900AE +:10E39800C34110944BF84C0970064C08720B700C72 +:10E3A8004BF9E06A100092082FF80C995C88F00489 +:10E3B8001900F4081790C078F30E001CF00E19002D +:10E3C800CF4072395809CF911899C078F30E001CC4 +:10E3D800F00E1900CEA072395809CF911699C0785D +:10E3E800F30E001CF00E1900CE0072395809CF91B7 +:10E3F8004AB9B208EF58001C4AA84AB9700A72080C +:10E40800F40800089308EF48005CF0C90001E068D0 +:10E418000800EF580060EF58002CEF58002E300825 +:10E428008FC88FA8E0680200EF49006CEF490050E0 +:10E43800EF58003C0A9BE06C0200F01F001C5C8C4B +:10E44800F808100AEF5800583018EF430090EF58BA +:10E458000056EF5C003C30288F48495972080E3846 +:10E46800C0316E38C2C849399308C26870390E394C +:10E47800C221490993086E399139C2288003A868D6 +:10E488008003AB9C80039D9C800094C48002E73687 +:10E498000000820C0000821400008220000001F8B5 +:10E4A80000008210000001F48000D95C0000821C8A +:10E4B8000000821812985808CDA148D9930848D866 +:10E4C80070098F3991073019201D30081AD9109A10 +:10E4D8003029109B0E9CF01F00082FEDEDDCC008C2 +:10E4E800C0410E9CF01F00050C9CD8320000821819 +:10E4F8000000820C8001035080010CECD421189795 +:10E5080078465826C390E08B00075806C0C05816B6 +:10E51800C071C2785846C370C3635876C3C030060A +:10E528000C97C4184A8972081838C0317838C1085D +:10E538004A699308C0A870390E39C0614A399308EE +:10E548006E399139C06812985808CF6149F9930813 +:10E5580030080E9B8F38302C1097F01F001DC0A874 +:10E56800189B49CCF01F001C0E9B303CF01F001874 +:10E5780030070E96C188189B498CF01F00170E9B18 +:10E588000C9CCF5B301BF01F0016EDDCC008C0B13F +:10E598003058C088301BF01F0012EDDCC008C031B5 +:10E5A80030988F4858075F193008F00618005F0A3E +:10E5B800F5E90009F0091800C0400E9CF01F000999 +:10E5C8000C9CD8220000821C000082188000C974AC +:10E5D800000082148000DAE80000820C80010A0042 +:10E5E80080010CECD421169C1497580AC08094CB57 +:10E5F800F01F00070E9CF01F0007D82A5809C030EA +:10E60800149CD822F01F00045C5CD8228000D984B6 +:10E618008000D13C8000E504D42149887007C2A855 +:10E62800EEFB0084580BC140169AEEF8008C58088F +:10E63800C06030090E9B6E6C5D18C078169A1099F0 +:10E648000E9B109CF01F000E5C5CEFFC0A21EF385B +:10E658000026EDB80000C0D1A1B80E9CEF680026D6 +:10E66800F01F0008EF380026E018FFFCEF680026CE +:10E678006E375807CD61D8220000820C8000E5EC87 +:10E6880080010CECD401F01F0007487913882FF89B +:10E698005C58B288EDB80000C031F01F0004D80201 +:10E6A8008000E620000073148000DCCCD4314A6876 +:10E6B80070063058ED3E000C2EC6A58EF00E1900DF +:10E6C800E0880040205E3008A36E30175C8E302151 +:10E6D8003042E7DEC010E06401FFE0650200C2E8F6 +:10E6E800F5D8C010EC0A070BEE0B1800C080C293D7 +:10E6F800EC0A0009E20B1800C1B1C0382FF8C1D8E4 +:10E70800139BE40B1800C1D12FDA063AC1A413BA3F +:10E718002FC813A95C88F5E910895C89F2CA000141 +:10E72800E80A1900EA0917B0F959003CC0781399AA +:10E738005809C070F20800085C88FC081900CD135D +:10E74800D832000000007318D4217848189616971C +:10E75800F138000DEDB80000C1C1169C3007F01F5C +:10E768000020C368F138000DEDB80000C0E16C4826 +:10E77800F13A000CF139000DF3EA1089A1A9F16909 +:10E78800000DA989F169000C6E07F01F0016C0285A +:10E7980049555807C1D06E4811C411DBB16BF7E475 +:10E7A800118B11E48EEEF7E4108B6A0A8CE911F4F0 +:10E7B8000E9CE9EB100B16191409F20E010ECD3759 +:10E7C800C098141B6C1CAC6B5C7BF01F00088D0799 +:10E7D800D8225809FE99FFF7CFBB00008000DA68FD +:10E7E8008000DA3C0000731C8000D210D4314C58F1 +:10E7F80018971188EDB80004E081020C79994C282B +:10E80800F90C006070086FAAF208010BC186103974 +:10E81800C0614BE87008F4080108C1164BB87008CD +:10E82800103AC2914BA87008F139000FF138000E68 +:10E83800F3E81088F8081900E088001E4B487009B2 +:10E84800F338000FF339000EF1E910884AE972092C +:10E858005C88EF490064EF5800604AC97209EF49C3 +:10E8680000685808C080EF3900AC3008F00918007B +:10E87800EFF81EAC4A586F497008F009010B580BA5 +:10E88800E089004C3006EF5600704A2B960BEC0BD3 +:10E898001900C3215C7CEF160060F80A000A6FAC0F +:10E8A800EC0C000C143CC281EF0A003AF60A19007D +:10E8B800C2351039C211EF3800542FF85C58EF6890 +:10E8C80000543039F2081800E088000FEF090056AC +:10E8D800EF08003C12085C88F2081900E088014A39 +:10E8E800EF580056C469F2081800E08101430E9CF5 +:10E8F800F01F0009C3E93008EF680054C3A90000FD +:10E90800000073280000731C0000732400007318B3 +:10E91800000073208001016A5CD91009E08600D1EB +:10E928006F7912185808E08900CCEF380026EDB846 +:10E938000002C081A3C8EF680026EF080058EF580E +:10E948000056300A4D39EF6A004E720BEF6A0054D8 +:10E9580072096F48EF490050F6080108EF09007284 +:10E96800EF580070F2080008EF09004AEF580072EB +:10E97800EF080048A358F2080008EF58004C6E480A +:10E988005838E0880066EF080056EF090058F0098B +:10E998001900E0880006EF09003C1009C0A8EF192B +:10E9A800003CB339F7D8C010F20B0C0AF408000980 +:10E9B8005C89F0091900E088004CEF590056C488BA +:10E9C8006C08EF030074EF48007C6C1CF01F0032E9 +:10E9D800F8031900C0E24B18201D1AD8E06803B3E9 +:10E9E8001AD84AF84AFC1AD8F01F002F2FCDC008B1 +:10E9F800EF0800705808C09020186C49F339000DD2 +:10EA0800EDB90000EFF80C38EF0300746C1CF01F30 +:10EA1800002218130C9CEF530074F01F0024EF0819 +:10EA28000074EA081900C1606FF85808C1316FE82E +:10EA38005808C1014998201D1AD8E06803BF1AD8A0 +:10EA480049B8498C1AD8F01F00182FCDC0084914AE +:10EA580030056FF65806C2D06C4811CBF139000D5D +:10EA6800F3D9C0025F1A11D9B169F3EB118911EB1F +:10EA7800F3EB108911F81248680912188CE9F409A7 +:10EA8800000912085808FE9AFF9DE08F045F0000F5 +:10EA9800000073248000CD0C8003AC608003ACA818 +:10EAA80080039D9C800094C48000DA3C8003ACD035 +:10EAB8003FF8EF58003A3008EF680038C5A830082A +:10EAC800EF580070C5686C08EF030074EF480078D1 +:10EAD8006C1CF01F0021F8031900C0E249F8201D42 +:10EAE8001AD8E06803E01AD849D849EC1AD8F01FB8 +:10EAF800001E2FCDC008EF0800705808C0902018DD +:10EB08006C49F339000DEDB90000EFF80C38EF034C +:10EB180000746C1CF01F001018130C9CEF53007449 +:10EB2800F01F0012EF080074EA081900C2406FF8DD +:10EB38005808C2116FE85808C1E14888201D1AD842 +:10EB4800E06803EA1AD848A8486C1AD8F01F0006EB +:10EB58002FCDC0088000CD0C8003AC608003ACA82A +:10EB680080039D9C800094C48000DA3C8003ACD074 +:10EB78004C5430056FE65806C2106C4811CCF13978 +:10EB8800000D11DAF3D9C002B16AF5EC118A11EC63 +:10EB980011F858095F1B6809F5EC108AF1EA100AA8 +:10EBA8008CE8F20A010AF6080008F4080108C066B1 +:10EBB8006F7810195809FE9AFF886F085808C29094 +:10EBC8004B196F1A7209F4090109C2374AFB760B0F +:10EBD800EF0A0048F6080108F40B140316185C88BD +:10EBE800F00A000A5C8AEF09004AF40B14035C4837 +:10EBF800EF5A0048F20A14021419F2080008F6083D +:10EC08000009EF58004AEF59004C3008EF4800401F +:10EC180049F84A09900A6EA8580AE0800381720BE5 +:10EC2800F60911FF1009E08600B15C7AF0C9FFFF10 +:10EC38001619F20A010A580AE08900A849697216E9 +:10EC48005806C0E14958201D1AD8E06804461AD869 +:10EC58004938494C1AD8F01F00142FCDC008F00BC2 +:10EC6800010BE04B7FFEE08A002348C8201D1AD81C +:10EC7800E06804471AD848D848AC1AD8F01F000AE8 +:10EC88002FCDC008000073240000821000007320FC +:10EC98000000731C000073348003AC608003ACF088 +:10ECA80080039D9C800094C48003AD008CD81638E6 +:10ECB800C3148C48F3D8C0101639C0E44AB8201DD4 +:10ECC8001AD8E06804491AD84A984AAC1AD8F01FEA +:10ECD800002A2FCDC0081618300A5C88C058AC48E6 +:10ECE800AC5A121B6C068CD91639CFA55C3B0C9C10 +:10ECF8005C8BF01F0022C21049C8201D1AD8E0689A +:10ED080004561AD849E849BC1AD8F01F001B2FCD61 +:10ED1800C0085C3B0C9C5C8BF01F0018C0E04938B5 +:10ED2800201D1AD8E068045B1AD84958491C1AD81B +:10ED3800F01F00112FCDC0086C1A4929932A492ABF +:10ED48006EA8740B926C9508F80B000A101AB26A38 +:10ED5800F00A16187249B2F8B2CAF5D8C208F1D842 +:10ED6800C108B2DAB2E8C1B88003AC608003AD1064 +:10ED780080039D9C800094C48000CDD48003AD2086 +:10ED8800000073340000731C101BC097EF38002676 +:10ED9800A1B80E9CEF680026F01F00424C256EA912 +:10EDA8006A08F009010AE08602B7F0CAFFFFEF1B04 +:10EDB800002C121A161A580AE08902AE1039E0819E +:10EDC80001F54BA8906A7048F139000DF3D9C002DB +:10EDD8005F19F40900094B6AB409EF0A002CF20A1A +:10EDE8001900C462F13A000CF139000DF3EA1089F8 +:10EDF8005C89EDB90000C081E219FFFEF169000DE0 +:10EE0800A989F169000C4A98EF0A002CB06A704988 +:10EE1800F339000DEDB90001C031201AB06A4A3645 +:10EE28008CEB6C1CF01F00238C696C48F138000DCA +:10EE3800F1D8C0025F18F208000849D9B20849A9F8 +:10EE480072095C78EF1A002C12086EA9F4090009FF +:10EE58001238C0E04988201D1AD8E068048B1AD8F7 +:10EE68004968497C1AD8F01F00172FCDC008EEF664 +:10EE780000805806E08000BE48C46848F138000D9C +:10EE8800EDB80000C080C4B8109C7008EF4800803E +:10EE9800F01F000DEEF800805808CF71CAA80000D6 +:10EEA80080010CEC0000731C000073340000732018 +:10EEB8008000D2108003AC608003AD3480039D9C39 +:10EEC800800094C48000DA3CF138000DEDB80000F1 +:10EED800C1F16848F139000DF13A000CF3EA108AE3 +:10EEE8005C8A1499A1A95C79F20B1608EDBA0001A5 +:10EEF800C0F0F169000DF16B000C68488869F138C1 +:10EF0800000DF1D8C0025F18F2080008A6086C05C9 +:10EF18000A96F01F00455805C041C6984C324C432C +:10EF28006C4811C5868A11D9B169F3E5118911E5D3 +:10EF38008CEBF3E510890C9C11F5EBE91009F40949 +:10EF48000109640A1409F20B010BCBF7E08F0201E7 +:10EF58004B89EEF80080704811FB11C511DC11E8EF +:10EF6800B16CF9E5118CF9E81088F7E81008F00A97 +:10EF7800010A5C8AB26A7248F138000DEDB80001E6 +:10EF8800C031201AB26A4AB58AEB6A1CF01F002AFF +:10EF98008A696A48F138000DF1D8C0025F18F20892 +:10EFA80000084A39B2085C784A097209F009000A6F +:10EFB800EEF80080704811FB11CC11D911E8B16945 +:10EFC800F3EC1189F3E81089F7E91009123AC0E067 +:10EFD80049A8201D1AD8E06804C31AD84988499C52 +:10EFE8001AD8F01F00192FCDC0080C95EF450080E6 +:10EFF80048F848E9908A7209F40900098FA990082D +:10F00800EF09002CF0091900C22248C8201D1AD89F +:10F01800E06804CD1AD848D848AC1AD8F01F000ABE +:10F028002FCDC0088000DA3C0000731C000073205C +:10F03800000073348000D2108003AC608003AD6C94 +:10F0480080039D9C800094C48003ADA810190E9C79 +:10F05800EF59002CF01F004A4CA8300A7019924B47 +:10F06800F40B1900C0504C8A9509300991194C5875 +:10F078007048F138000DEDB80000C5B14C3913885F +:10F08800A5B8B288C56881098CEAF13B000DF7DBA9 +:10F09800C0025F1BF60A000A14098FA9EF0A002CA8 +:10F0A800F138000D8C69F1D8C002F7D9C0105808A2 +:10F0B8005F1EF9DAC010FC0B000B163CC0E44B488D +:10F0C800201D1AD8E06804F21AD84B284B2C1AD8FD +:10F0D800F01F00322FCDC008F409010958085F1845 +:10F0E800F20801080E9CEF58002CF01F00256C1B3D +:10F0F8009648E2081900C090680C580CC040F01FF0 +:10F108000028C028890B8D126C48F138000DEDB825 +:10F118000000C0810B88A5B8AA886E485848EFF34C +:10F128000A046C080C9CEF480080F01F001EC07891 +:10F1380049D030014944300249453073EEF6008029 +:10F148005806C1006C4811CB11D9B169F3EB11898C +:10F1580011EB6EAAF3EB108911FBF7E910091439CA +:10F16800C930EF380026EDB80000C041A1C80E9C98 +:10F17800CE68A1A8EF680026D83200008000D5FE2E +:10F18800000073340000732C000073298003AC6006 +:10F198008003ADC880039D9C800094C48000CD345A +:10F1A8008000DA3C0000731C0E9CF01F0040EEF655 +:10F1B80000805806C0714BECF01F003EEF4C0080F9 +:10F1C800D8326A093005F2CCFFFF6C4811CB11DA4E +:10F1D800B16AF5EB118A11EBF5EB108A11FBF7EA2E +:10F1E800100A1439C1214B2C8C689869F009190050 +:10F1F800E08800B4F01F002FE08000B05805EBFC59 +:10F208001A00EFFC0A20C0D85805C0D1F20A010B39 +:10F21800C4574A7CF01F0027E08000A0EF4C008014 +:10F228000C9BC3986A4B17F417C217D317EBB1633B +:10F23800E7E21183E7EB108BE9EB100B5CDB120BB9 +:10F24800C2D6F80A010B580BE0890029498CF01F37 +:10F2580000191897E08000826A4811F911CA11DB79 +:10F2680011E8B16BF7EA118BF7E8108B4928F3EB3B +:10F27800100B70088AE9101916095809E08A000964 +:10F28800F00B010B6A1CAA6B5C7BF01F000C8B0750 +:10F298000C9B0E9CF01F000AD8326C0B0C95580B77 +:10F2A800C1001696C93B000080010BF000007334C2 +:10F2B8008000DA080000731C8000D2108000E7503C +:10F2C80014195809E08A004AF138000DEDB8000019 +:10F2D800C4404A3CF01F00238D0CC3F06C4811F960 +:10F2E80011CA11DB11E8B16BF7EA118BF7E8108B43 +:10F2F80049D8F3EB100B70088CE910191609580956 +:10F30800E08A002CF00B010B6C1CAC6B5C7BF01FD3 +:10F318000017D8320E9CF01F0016D832720BF60870 +:10F328000109C0A62FFBEF19002CF60801081218D6 +:10F338005808E08A00130E9CEF380026A1B8EF6841 +:10F348000026F01F000CD8323008FE9FFBB4580985 +:10F35800FE99FE00FE9FFE4BD83200000000733479 +:10F368008000DA080000731C8000D21080010BF0C6 +:10F3780080010CECD4314B86ED0800922FF87819F7 +:10F388004B65ED5800928B091388F1D8C004F20838 +:10F39800002818971693109C4B148908F01F003109 +:10F3A8006A080E9C118BF7DBC004A36B5C3BF01F53 +:10F3B800002EC0718E493138F0091900E08B000B1E +:10F3C8004A580E9CF109009A2FF9F159009AE08FDA +:10F3D80003026A0C069B2F0CF01F0024C0B16A0AB6 +:10F3E800FC19E000F5380010B968E618F00012388A +:10F3F800C0A149980E9CF10900A02FF9F15900A06D +:10F40800E08F02E9F4CBFFF48EC830692F0A0E9C16 +:10F41800F01F00175C8CC080ED0800980E9C2FF838 +:10F42800ED580098C11868080E9CF13B000CA58B9C +:10F43800F60B10FCF01F000CC1C0ED08009A0E9CE2 +:10F448002FF8ED58009AED0800962FF8ED58009621 +:10F45800E08F02C6000080D40000733000007318EB +:10F468008000D67C8000CDD48001255880011E2CD8 +:10F47800680811CA11D9B169F3EA118911EAF3EAE6 +:10F48800108911FAF5E91009F20A1618B0CAF5D967 +:10F49800C208B0F9B0DAF5D9C108B0EA4B28910929 +:10F4A8006808F1390008F13A0009B16AF5E9118AEA +:10F4B800F139000AF5E9108AF139000BF3EA100A6C +:10F4C800F4091618F1690008F3DAC208F16A000BAA +:10F4D800F1690009F3DAC108F169000A4A386804D9 +:10F4E800910AE938000DF5D8C002F1D8C0064A0BD8 +:10F4F800B6884A086A09580A5F1A8E4514055C8559 +:10F50800B00549D87006CA586C485808C0E149B8CF +:10F51800201D1AD8E06800B71AD84998499C1AD80B +:10F52800F01F00192FCDC00858A8C0E14938201D88 +:10F538001AD8E06800B81AD84948492C1AD8F01FD8 +:10F5480000122FCDC0085818C24148C8201D1AD82B +:10F55800E06800B91AD848E848AC1AD8F01F000A81 +:10F568002FCDC0080000731C00007324000073280E +:10F57800000073200000820C8003AC608003ADF0B3 +:10F5880080039D9C800094C48003AE188003AE4421 +:10F59800098A0998F1EA1088ED0A0024F00A19008E +:10F5A800C56109AA09B8F1EA1088ED0A001CF00A39 +:10F5B8001900C4D1F33A000CF338000DB168F1EA30 +:10F5C8001188F33A000EF1EA1088F33A000FF5E8D3 +:10F5D80010086C1A103AC3B1F33A0010F33800114E +:10F5E800B168F1EA1188F33A0012F1EA1088F33AA7 +:10F5F8000013F5E810086C0A103AC2916C380C3800 +:10F60800C0E14CA8201D1AD8E06800C21AD84C885E +:10F618004C8C1AD8F01F00482FCDC008580CC06079 +:10F6280099384C6870098D3991066C380C38E0812E +:10F6380001A14BE8201D1AD8E06800C81AD84C0868 +:10F648004BCC1AD8F01F003C2FCDC0080C9C6C3650 +:10F658005806FE91FF5BE08F05296C4858A8C0E06A +:10F668004B28201D1AD8E06800D21AD84B584B1CDA +:10F678001AD8F01F00312FCDC008098B0998ED0A60 +:10F688000024F1EB1088F00A1900C77109AC09BB16 +:10F69800ED08001CF7EC108BF6081900C6E1F33CE6 +:10F6A800000CF33B000DB16BF7EC118BF33C000E33 +:10F6B800F7EC108BF33C000FF9EB100B6C1C163CAD +:10F6C800C5C1F33C0010F33B0011B16BF7EC118B93 +:10F6D800F33C0012F7EC108BF33C0013F9EB100B22 +:10F6E8006C0C163CC4A1498B178CEDBC0002E08061 +:10F6F800013AEDBC0001C2D1494B6CAC760BF60C5B +:10F70800010CC2D6ED14002C081C580CE089002806 +:10F718005C7A201D5C751ADA48DCEA0B000B5C7811 +:10F72800F2CAFFF0780CC7688003AC608003AE6C47 +:10F7380080039D9C800094C40000820C8003AE98D6 +:10F748008003AEC4000073280000731C00007324FB +:10F75800EDBC0000C0414CC870088DD84CB8900969 +:10F768003008F0091900E08000FEED3800260C9CF6 +:10F77800A1B8ED680026CF486C365806FE91FF6F99 +:10F788004C3870050C98CF286A0A580AC130F33CE7 +:10F798000010F33B0011B16BF7EC118BF33C001236 +:10F7A800F7EC108BF33C0013F9EB100B163AE081E1 +:10F7B80000DC09AB09BAF5EB108AEB0B001CF40B63 +:10F7C8001900E08100D25808C0706A3991394B0895 +:10F7D80070098B3991054AF81188EDB80004C1F118 +:10F7E8004AD8700913AB139A13B8201D1389F1EB8B +:10F7F8001088F5E910894A5B1AD9968C4A794A8BA0 +:10F808007209760BF2CAFFF0F80B000B4A5C780C11 +:10F818002FFC2F49F01F00242FEDCA48EDB8000136 +:10F82800E08100A1EB3C0014F01F00201896C08175 +:10F8380049F8F109009C2FF9F159009CC938497819 +:10F848007008F0C9FFF0C0311298C108F1390013EF +:10F85800F13B0010F13A0011F1380012B16AF5EBF2 +:10F86800118AF5E81088F3E810088D08EB08001CE9 +:10F87800ED58001C48987008F0C9FFF4C1A112980F +:10F88800C27800000000821000007320000082147B +:10F898000000732800007318000073300000731C08 +:10F8A80000007324800102348000E1D4000080D479 +:10F8B800F139000FF13B000CF13A000DF138000E60 +:10F8C800B16AF5EB118AF5E81088F3E810088D188D +:10F8D8004C587008118B1199F3EB1089ED590024DD +:10F8E80030398D494C197209F2CBFFFF8DCB8DABA6 +:10F8F800F13B000FF138000EF7E81088ED5800587A +:10F90800ED5800608A48E2180199AC486A684B8A49 +:10F918002019740C8D688D3C6A889506ED49006441 +:10F928008D880C9CF01F0033ECCBFFFCED1C003CD9 +:10F93800F01F00313019ED5C003C201D30081AD949 +:10F94800109A3129109B0C9CF01F002C2FED5C5C49 +:10F95800C0600C9C300BF01F002AC0480C9CF01FA4 +:10F9680000290E9CC3C80A986A355805FE91FF0EF7 +:10F9780049D56A08F13C000DF9DCC006F01F0022E9 +:10F988005806E08003504A188E4A6A09911791492F +:10F99800B06A30096E1A9109912A49D8910949D853 +:10F9A800B089ECFA0084580AC3C0ECF8008C5808F7 +:10F9B800C0500C9B6C6C5D18C06810990C9B109C17 +:10F9C800F01F00155C5CC041ED4C0084C2A80E9C81 +:10F9D8004928F10900962FF9F1590096F01F0010F7 +:10F9E800D8320000000073180000731C0000820C5D +:10F9F8008000E6B48000D95C800103508000E124D7 +:10FA080080010CEC8000D67E000073340000732C5B +:10FA1800000073298000E5EC000080D48000D13C10 +:10FA28004A9891064A981188EDB80002C3216C489B +:10FA38005828C0814A6870096D781039E081026BD6 +:10FA4800C1D84A49720A6CA9F4090109E08602631F +:10FA5800ED1A002C14195809E089025DE08F032182 +:10FA680049D8201D1AD8E06802271AD849B849CCC5 +:10FA78001AD8F01F001C2FCDC00849B91388A3B8A5 +:10FA8800B288ED380026A1C8ED680026E08F024351 +:10FA9800EDB80001C0616C4820285818E08B00A21E +:10FAA800492870088DD830080C9CED6800ADF01F0F +:10FAB80000106C4820285878E08B022D48D9F208AD +:10FAC800032F000000008224000073280000732424 +:10FAD8000000731C8003AC608003AEF480039D9C1F +:10FAE800800094C400007329000082108000E6B4EE +:10FAF8008003AC404CF811891298E218001259287A +:10FB0800C7A14CD8700A6DF8704811FB11C711DCF9 +:10FB180011E8B16CF9E7118CF9E81088F7E81008DA +:10FB28002FF8103AC681ED0800722FF8ED580072D0 +:10FB38004C287008ED4A0050F0CA00012FF88DC813 +:10FB48008DA84BF87008F139000FF138000EF3E872 +:10FB58001088ED5800603048ED4A00648D48EC0884 +:10FB6800000BED1C003CF01F00375C8CF808100AF5 +:10FB7800ED5C003CED580058ED0900563018F009CE +:10FB88001900C021A17CED5C0056ED0800745808EE +:10FB9800C0E14AD8201D1AD8E06802591AD84AB8D4 +:10FBA8004ABC1AD8F01F002B2FCDC00820186DFCB6 +:10FBB800ED5800747808ED48007C5808F9B800FF43 +:10FBC800F9B80100EDF81E4EED58003AF01F00227A +:10FBD800ECF800905808C050300A0C9B6C6C5D180B +:10FBE800ED380026A1B80C9CED680026F01F001B1C +:10FBF800E08F0191EDB90004E081018D4908700999 +:10FC080013AB139A13B8201D1389F1EB1088F5E98B +:10FC18001089493B1AD9968C4929488B7209760B69 +:10FC2800F2CAFFF0F80B000B483C780CC7980000AC +:10FC380000007328000073240000731C0000731870 +:10FC48008000D95C8003AC608003AF1480039D9C66 +:10FC5800800094C48000DA3C80010CEC0000732022 +:10FC6800000073304C281188EDB80004C5E14C1829 +:10FC7800700C6D485CD81808C3D66D78F808010870 +:10FC88005808E089003830488D486C885808C0E129 +:10FC98004B98201D1AD8E068027E1AD84B784B8CF6 +:10FCA8001AD8F01F00382FCDC008300A0C9B6C6C96 +:10FCB8005D185C5CC0700C9C301BF01F0033E08F3B +:10FCC80001A7ED0700560C9CF01F0030ED080070EE +:10FCD8005808F9B901FFF1D9E108EDF81C383019D5 +:10FCE800ED08003CF2071900C021A178ED58005634 +:10FCF800C2E84A78700913AB139A13B81389F1EB69 +:10FD08001088F5E910894A3B201D1AD94A29968797 +:10FD180072094A2BF2CAFFF0760BEE0B000B2F4943 +:10FD2800F01F001F2FEDCF68EDB80001E08100F350 +:10FD380049A870096CA820181039E08100EC0C9CC7 +:10FD4800F01F0018CE780C9CF01F0010496811882D +:10FD5800EDB80005E08100DFED380026A1B80C9C65 +:10FD6800ED680026F01F00113078CC1800007328C9 +:10FD7800000073248003AC608003AF2C80039D9C3B +:10FD8800800094C48000E1248000E7F40000731828 +:10FD980000007320000073300000731C80010234DF +:10FDA800800101000000732980010CEC0C9CF01FFD +:10FDB800003E4BE84BE91188E2180020C2D01388B6 +:10FDC800EDB80004C1F14BB870096D781039C1A1C4 +:10FDD800ED380026A1B80C9CED680026F01F00360F +:10FDE8000C9CF01F00364B6972080C38C5604B59E3 +:10FDF8009308C05870390C39C69012985808CFB17A +:10FE0800C6D8ED380026A1B80C9CED680026F01F76 +:10FE1800002A3088C6C81388EDB80004E081007B4A +:10FE28004A4870096D781039C7513068C6080C9C6B +:10FE3800F01F001D49D81188EDB80005C6B1ED388E +:10FE48000026A1B80C9CED680026F01F001B0C9C36 +:10FE5800F01F001A49A972080C38C1F04999930893 +:10FE6800C05870390C39C32012985808CFB1C368EC +:10FE78000C9CF01F000D48E81188EDB80004C4A1DF +:10FE880048C870096D781039C4510C9CF01F000BDC +:10FE980048B972080C38C0316C38C21848999308B0 +:10FEA800C1B800008000E7F400007329000073283F +:10FEB8000000732480010CEC8000DA8C0000820CB6 +:10FEC8000000821870390C39C0614C0993086C39EC +:10FED8009139C06812985808CF614BC99308300807 +:10FEE8008D384BB870098D39910630A88D48C128D6 +:10FEF8000C9CF01F00384B881188EDB80004C0A195 +:10FF08004B6870096D781039C0514B591388A5A8F2 +:10FF1800B2884B381188EDB80003C091ECF800980E +:10FF28005808C0803FAB6C6C5D18C048EDB8000441 +:10FF3800C0A10C9B4ABCF01F002C0C9B302CF01F5E +:10FF4800002BC658ED0A0070580AC090ECF80088DB +:10FF58005808C0505C7A0C9B6C6C5D184A48700855 +:10FF68005808C24049C91389EDB90003F1F9080DD1 +:10FF7800F9BA0001F3DAE039F1F90E0D49CAECF8E3 +:10FF8800008C5808C070740A30090C9B6C6C5D18A2 +:10FF9800C0781099740A0C9B109CF01F00165C5CCA +:10FFA800C05049387008ED48008448D81188EDB829 +:10FFB8000005C271ECF8008C5808C1D030090C9BC0 +:10FFC800129A6C6C5D18C1D800008218000082205B +:10FFD8008000E7F4000073280000732400007329F0 +:10FFE8000000820C8000DAE88000C9740000732CDD +:08FFF8008000E5EC10990C9B60 +:02000004800179 +:10000000109A109CF01F002E30094AE80C9C9109B0 +:10001000F01F002D30064AB891064AC76E1C580CD6 +:10002000C330F01F002B8F16C2F86A0BF738000D93 +:10003000EDB80002C2604A78F10C00A02FFCF15C20 +:1000400000A0F10C00962FFCF15C0096179C17A6FF +:1000500017B8178BF9EB108B201D49F972091ADBC1 +:1000600049EB968CF2CAFFF0F1E6108849CB2F4994 +:10007000760BF80B000B49BC780CF01F001B2FED22 +:100080000E9CF01F0013F01F0019C1714988201D3C +:100090001AD8E06801771AD84968497C1AD8F01F45 +:1000A00000172FCDC0085808FE90FCE0FE9FFCEB27 +:1000B00049387006FE9FFB67D83200008000E5ECEF +:1000C0000000822480010CEC000073348000D13CDD +:1000D000000080D400007330000073200000731C07 +:1000E00000007324800102348000D6B48003AC6029 +:1000F0008003AF4080039D9C800094C40000822058 +:10010000D42179F95809C3107208F8CEFF88F9484C +:10011000007C79E8C038109E70085808C1C0704B48 +:1001200017F617C417D5B165EBE41185724A17EBC2 +:1001300015F7EBEB108B15C5EDEB100B15D615EA8B +:10014000B166EDE51186EDEA108AEFEA100AF60ACB +:10015000010ACE2693089D093008F9480040F93875 +:10016000004E2FF8F968004ED822D42179F95809A9 +:10017000C600F9380026EDB80002C5B07208F8CE06 +:10018000FF88F948007C79E8C038109E700858084C +:10019000C1C0704B17F617C417D5B165EBE41185D4 +:1001A000724A17EB15F7EBEB108B15C5EDEB100B47 +:1001B00015D615EAB166EDE51186EDEA108AEFEA8B +:1001C000100AF60A010ACE26930830089D09F9485C +:1001D0000040F938004E2FF8F9090056F968004E32 +:1001E000F5D9C02FF9080060F7D8C02FF009190021 +:1001F000F60817B0F4081780F9580058F908003CC1 +:10020000F00915015C78A178F91A0058103AF9F94B +:100210005C2CF9380026A3A8F909003CF9680026EF +:10022000F20815011009F90800581009F95900568B +:10023000D822D703D43118941693149112921096A1 +:100240004097300A314B301CF01F00391895C6D04A +:1002500098593138F0091900E08B000F4B58201DD8 +:100260001AD8E068031F1AD84B384B4C1AD8F01F25 +:1002700000342FCDC0080E9878175C78AEB8A988E6 +:10028000AEA8E0685014EF68000DA988EF68000C74 +:10029000E8081618AEC8F1D4C208AED8E608161899 +:1002A000EF680008F1D3C208F3D6C010EF68000968 +:1002B000AE993088A9893006AEF4EF63000BAE89A1 +:1002C000EF66000FEF660012EF660013EF66001096 +:1002D000EF660011EF68000E3069049A029BE9D4C2 +:1002E000C108E7D3C108AEE4EF63000A98C8F01F65 +:1002F00000155C7CEF6C0011A98CEF6C0010201DC8 +:10030000491C30671AD70C98F9070090049A2FF708 +:10031000029BE06900FFF95700900A9CF01F000B58 +:100320000A9CF01F000B2FEDD83200008000D3187C +:100330008003AF5C8003AFA480039D9C800094C4C5 +:1003400080011E2C000080D4800122948000D13CCA +:10035000D43120BD14915098414A505A12961897A2 +:100360003009F20119005F08F20A18005F0AF1EA89 +:10037000000AF20A1800C110F3D6C002C0E14C789E +:10038000201D1AD8E06800AD1AD84C584C5C1AD819 +:10039000F01F00452FCDC008580B5F195089126817 +:1003A000C0E04BE8201D1AD8E06800AF1AD84BF81F +:1003B0004BCC1AD8F01F003C2FCDC008EF080072BC +:1003C000E2081900C0B2EF380026EA18FFFFE8186B +:1003D000FF80EF680026E08F02E34058F3D8C001A9 +:1003E000E2180002F9B8010CF009002950296FB099 +:1003F000EF02007431F8F0021900E08800144AC8D6 +:10040000F109009C2FF9F159009CE06C00FFEF38D6 +:100410000026EA18FFFFE818FF80EF680026E08F4B +:1004200002C36FF85802C2605808C1404028A38830 +:100430002FB8AD685C883003503B50A8F7D1B0109E +:10044000409A504BF5DAC001069406980695506A1A +:10045000C3796FE85808CEB14908201D1AD8E06862 +:1004600000D01AD8493848FC1AD8F01F000F2FCDF9 +:10047000C0085808C0416FE85808CD904878201D42 +:100480001AD8E06800D31AD848B8486C1AD8F01FB8 +:1004900000062FCDC00800008003AF5C8003AFD4FE +:1004A00080039D9C800094C48003B028000080D409 +:1004B0008003B0688003B0A450195008EF03003CDB +:1004C000304CF01F0042401918954008E080023C73 +:1004D000300B990B991B5809C0301894C118580853 +:1004E000C0E14BB8201D1AD8E06800EF1AD84B982D +:1004F0004B9C1AD8F01F00392FCDC008910C5C73AB +:10050000402A4069E60A010840435C73E6080D434F +:100510005C835809C3904028300AE608000B149CFD +:100520005C7BF01F002F8B1CE080020EF5D3C01007 +:10053000402B98D9F40B00081039C0E44A48201D1C +:100540001AD8E06800FF1AD84A684A3C1AD8F01F47 +:1005500000232FCDC008501AF01F0023401A18980E +:1005600040895809C0A0402B6A195008721C160C0B +:10057000403BF01F001E4008F00200026A185C8237 +:1005800070188B28C3D8406A402B149CF01F0014AD +:100590008B1CE08001D9F01F0014407AF8020002A1 +:1005A0005C82580AC2D0F7D3C010301A303CF01F1A +:1005B000000C189B6A1C580BC1C1F01F000D40694C +:1005C0008B19E08F01C100008000C9D48003AF5CAB +:1005D0008003B0D880039D9C800094C48000D31811 +:1005E0008003B0E88000CD0C8002E7368000D13C6B +:1005F000403897182FF28B285C82F01F003F320B97 +:10060000F6021900E08B01A0AA63314B6A1CF01FAF +:10061000003BC0904BA8F10900A42FF9F15900A4A8 +:10062000E08F0192EF39001C6A1870188B48B0896E +:10063000EF39001DB099EF3900246A48B0A9EF39AD +:100640000025B0B9E00916186A48B0C9F3D0C2084D +:10065000B0F0B0D9F3D0C108B0E96A48F16C00132A +:10066000F16C00126A48F13A000CF139000DF3EA1E +:100670001089E019FFC0EDE910095C79F169000DFE +:10068000A989F169000C405AEB6A000E404806182F +:100690005C88F3D3C0105048403B6A48120B503B73 +:1006A00040AA1200F139000DF3D9C006F5E910098E +:1006B0005C79F169000DA989F169000C0A98300A8A +:1006C000404BF40B19005F1B507B169A58045F09CE +:1006D000300B124AF60A1800FE91FEF0F5D2B01067 +:1006E000503A6FE05800E08000C260085808C0909F +:1006F0001090CFCB8000CD348000CDD4000080D4CA +:1007000080EA6048F139000DF3D9C0025F1B140B79 +:10071000E08000C45809E08100C1F7D6C0025F0C38 +:10072000301BF60618005F0BF9EB100BF20B1800EC +:10073000E08000B488EBEF19003C140B123BE08919 +:1007400000ADE13B000EE939000EF20B1800E0812C +:1007500000A5684911FE13FB504B11CC11DBB16BA6 +:10076000F7EC118B11ECF7EC108BFDEB100B160A6C +:1007700013CB13D8B168F1EB118813EB4049F1EBBF +:100780001088F3E81008103AE08100884028681CBF +:10079000F00B11EC5C8BF01F0037C0E04B68201DA4 +:1007A0001AD8E06801691AD84B484B5C1AD8F01F78 +:1007B00000352FCDC0086818905AF80A1900C0A15A +:1007C00070098919910C4032109C20125C82F01F34 +:1007D000002EF1D6C001681BC220580BC05188689A +:1007E000F6081900C0E04A48201D1AD8E0680177D1 +:1007F0001AD84A684A2C1AD8F01F00222FCDC008F8 +:100800006048F13A000CF139000DF3EA1089A1A912 +:10081000F169000DA989F169000CC1E8580BC050BD +:100820009659F0091900C0E14938201D1AD8E0682E +:10083000017A1AD84968492C1AD8F01F00122FCD16 +:10084000C008601CF01F001380698868F208000867 +:10085000A068680881080835E0051700E1F3020682 +:10086000089B304CF01F000CC198EF440078C16821 +:100870008000CDD48003AF5C8003B11C80039D9CBD +:10088000800094C48000D13C8003B1308003B1501B +:100890008000CD348000C97481040C98EDB600014D +:1008A000C040EDB60000C0312FF15C81EDD6C00133 +:1008B000EFF81826F9B90120F1D9E138EFF81E2632 +:1008C0006FB9F1D1C010F2080008EF520074EF4880 +:1008D000006CEF0800720218EF5800725802C14015 +:1008E0006FF85808C1116FE85808C0E14AF8201D98 +:1008F0001AD8E06801A11AD84AD84AEC1AD8F01FD1 +:10090000002E2FCDC00858055F193008F0031900DC +:100910005F1AF5E90009F0091800C4406A48580850 +:10092000C410409CE21C0002C3D1F13A000CF13922 +:10093000000DF3EA1089A3B9F169000DA989F169E5 +:10094000000CC318EF380026EA18FFFFE818FF80F4 +:10095000EF6800264998F109009C2FF9F159009C95 +:100960005804C040089CF01F0016EF0900743008BE +:10097000F0091900C1406FF85808C1116FE8580814 +:10098000C0E148A8201D1AD8E06801B41AD84888E8 +:10099000488C1AD8F01F00082FCDC008E06C00FF6B +:1009A000C028300C2F5DD8328003AF5C8003B16467 +:1009B00080039D9C800094C4000080D48000DA688D +:1009C000D421784E1298587E5F07584E5F09EFE9A0 +:1009D0001009C081582EC060583EC040E06C00F83D +:1009E000D822580AC031149CD822201D30095C7AC4 +:1009F0001AD9F01F00032FED5C5CD8228001035050 +:100A0000D4013008201D109A16991AD8149B30185A +:100A1000F01F00032FED5C5CD80200008001035042 +:100A2000D431189679F45804C05179E45804E08020 +:100A300000CE6848F133000DE7D3C001C06088697B +:100A40003008F00919005F03300A5C53301C14337E +:100A5000F9BB0114F9BB0015F01F005D1895E0808B +:100A600000B698593138F0091900E08B000F4D9805 +:100A7000201D1AD8E068040F1AD84D784D7C1AD87A +:100A8000F01F00572FCDC008684811FA11CB11D9BB +:100A900011E8B169F3EB1189F3E81089ED38001C16 +:100AA0007817F5E91009AE88EF3A000CED38001D13 +:100AB000AE98EF38000DF1EA1088ED3A0024AEAAA6 +:100AC000ED3B0025AEBBF20B1618AEF9AECBF7D955 +:100AD000C208F3D9C108AEDBAEE9ED390028EF69F1 +:100AE0000008ED390029EF690009ED39002AEF69A6 +:100AF000000AED39002BE018FFC0EF69000BA5A834 +:100B00005C88F5D8C010EF6A000DF40B1608EF6B87 +:100B1000000CED39002EEF69000EF1D8C006300947 +:100B2000E8185000ED3A002F5C78EF6A000FEF688C +:100B3000000DEF690011EF690012EF690013EF6912 +:100B40000010A988EF68000CED19002E6CA8F208BF +:100B500000088DC85803C110EF39000CEF38000DA4 +:100B6000F1E91088E018FFC0E8180011EF68000DE7 +:100B7000A988EF68000CC068682811897818F169A5 +:100B80000014ECC4FFFC8AC83069089A0C9B0A9CCC +:100B9000F01F00145C7CEF6C0011A98C4929EF6CEC +:100BA0000010F30C00902FFCF35C0090306C201DC3 +:100BB000ED39000B089A1ADC0C9B30080A9CF01FD8 +:100BC000000B0A9CF01F000A2FEDD8328000D318CA +:100BD0008003AF5C8003AFA480039D9C800094C41D +:100BE00080011E2C000080D4800122948000D13C22 +:100BF000D431300A1895314B301CF01F003918934E +:100C0000C041E06C00FED832EB380026EB39001C06 +:100C1000E018FFFCEB6800266B787817AE89EB399B +:100C2000001DAE99EB390024F00B1618AEA9F3D8CD +:100C3000C208EB3A0025AEF8F1D8C108AECBAEBA87 +:100C4000AED9AEE86AA8F0091618EF690008F3D823 +:100C5000C208E06A5010EF690009F3D8C1083004F7 +:100C6000EF68000BEF69000AF40B1608EB19002E71 +:100C7000EF6B000CEF6A000DEF69000FEF640012DC +:100C8000EF640013EF640010EF640011F20A16081D +:100C9000F2080008EF6A000E8BC8EAC6FFFC0A9B48 +:100CA0000C9A98C83069F01F000F5C7CEF6C001143 +:100CB000A98CEF6C0010306CEB38000AEB39000B9C +:100CC000201D0C9A1ADC0A9B069CF01F0007069C4C +:100CD000F01F0006089C2FEDD83200008000D318CA +:100CE00080011E2C800122948000D13CD431202D23 +:100CF0004AE8189770081838E08001A3F9080056F0 +:100D0000F9090060F0091900F20817805C785008B2 +:100D100079E6F9380026E2180002C1E05806C170F1 +:100D20008CEB6C48794911CCF609010911DBB16BE8 +:100D3000F7EC118B11FA11E8F7E81088400BF5E891 +:100D40001008F20800081638E08800070E9CF01F13 +:100D500000185C5CC7696FF55805C0B1EEC9FF8427 +:100D6000EEC2FFFC5019300349214930C2B9109539 +:100D70006A085808CFD1CF3BF13C000CF139000D87 +:100D8000F3EC108C5C8CEDBC0002C1F148B8201D66 +:100D90001AD8E06802471AD8489848AC1AD8F01F09 +:100DA000000A2FCDC00800000000822480010BF053 +:100DB000000080D4000082108003AF5C8003B18407 +:100DC00080039D9C800094C46FF95809C150EF3B8B +:100DD00000261699E2190044C0F16FE95809E08035 +:100DE0000133720E580EC081926EEF09003CF20E74 +:100DF0001900E08301296C09EF4900786E495829F0 +:100E0000C0E0A5AC5C7CF16C000DA98CF16C000C11 +:100E1000EF390026E019FFFCEF6900266EA9F20AFF +:100E20001618F16A0008F5D9C208F16A0009F5D967 +:100E3000C108F169000BF16A000AEF1A002EF16A8D +:100E4000000FF40B1608F16B000EF40900098FC9AE +:100E5000ED39000EEDB90000C061E06B0200EA1B45 +:100E60000204915BEF08003A3FF9F2081900F9B863 +:100E70000000EFF80C1D6E085808C071049CF01FAC +:100E80000075C45078188F086F085808C121600990 +:100E90006C48EF49004011F911CB11DA11E8B16A41 +:100EA000F5EB118AF5E81088F3E81008EF480044E4 +:100EB0006C1C6C4478199848985A9914E8090109EF +:100EC000121A1218B85AB84830695C78049A0E9B06 +:100ED000E9630010E9630011F01F005F30695C7C7A +:100EE000E96C0011A98CE96C0010E30800902FF860 +:100EF000201DE35800901AD9049AEF38000AEF3900 +:100F0000000B0E9B6C1CF01F00552FED6C4811FA66 +:100F1000F139000DF3D9C0025F1B11CC8CE9F60941 +:100F2000000911DB11E8B16BF7EC118BF7E81088C1 +:100F3000F5E810086F7AF2080008101AC037EF4879 +:100F4000005C5809C3B08D036FF85808C041EF46E4 +:100F5000007CC3286C4A15FE15C46A4915DBB16BC9 +:100F6000F7E4118B15E4F7E4108BFDEB100B13CEB7 +:100F700013FC13DAB16AF5EE118A13EEF5EE108A5E +:100F8000144CF60C010CC177401AC058109A700826 +:100F90005808C0E0704913C413FC13DEB16EFDE4C1 +:100FA000118E13E4FDE4108E1C4C161CCF068D0828 +:100FB0009506C0788B060C95C0480C9CF01F002845 +:100FC0006FE65806C3706C4811CC6F4A8CEB11D990 +:100FD000141BB169F3EC118911ECF3EC108911FCCD +:100FE000F9E91009F6090009400B1639FE98FEC60A +:100FF000EF3900AC3008F0091800C1C18CEB6C4827 +:10100000F60A010A11F911CC11DB11E8B16BF7EC0A +:10101000118BF7E81088F3E81008100AEF18006049 +:10102000103AF9B80B00EFF8BA2AF9B80B01EFF84B +:10103000BEACEF380026F1D8C007EF680026300CB0 +:101040002FEDD832E21B00A0FE91FED7CD2B000081 +:101050008001222880011E2C800122948000DA3C2D +:10106000D401189879FA580AC170149B7609580966 +:10107000C030129BCFCB71EC970CF1490040F14985 +:10108000007CF139004E2FF9F14A0078109CF1698B +:10109000004EF01F0002D80280010CECD431300A5F +:1010A0001896314B301CF01F00401895C7B0985966 +:1010B0003138F0091900E08B000F4BC8201D1AD8F9 +:1010C000E06803C91AD84BA84BAC1AD8F01F003AF5 +:1010D0002FCDC008ED39001C78176D78AE89ED3939 +:1010E000001DAE99ED3900242018AEA9F00B16189A +:1010F000ED3A0025F3D8C208AEF8F1D8C108AECB5E +:10110000AEBAAED9AEE86CA8F0091618EF690008BF +:10111000F3D8C208E06A5010EF690009F3D8C1089B +:101120003004EF68000BEF69000AF40B1608ED19A4 +:10113000002EEF6B000CEF6A000DEF69000FEF64FB +:101140000012EF640013EF640010EF640011F20A64 +:101150001608F2080008EF6A000E8DC8ECC3FFFC09 +:1011600098C83069069A0C9BF01F00145C7CEF6CE9 +:101170000011A98C4929EF6C0010F30C00902FFC92 +:10118000F35C0090306C201DED39000B08981ADCE0 +:10119000069A0C9B0A9CF01F000B0A9CF01F000A89 +:1011A0002FEDD8328000D3188003AF5C8003AFA44A +:1011B00080039D9C800094C480011E2C000080D47C +:1011C000800122948000D13CF9390010A3C948A8BD +:1011D000F969001011BA118B119911A8B169F3EBDB +:1011E0001189F3E81088F5E8100899183008F958C3 +:1011F00000145EFC8003B409997A996B5EFCD703F6 +:10120000D421301CF01F00071897C080320A300B21 +:10121000F01F00053FF8EF68000B0E9CD82200007D +:101220008000C9D48002E8BCD40148C9189B720868 +:101230001838C0D178389308C0C870395809C060D0 +:101240001639F7F90003F1F90A0370385808CF612D +:10125000301CF01F0003D802000082288000C974EF +:10126000D4214AB83009700E1C98C148103CC111F5 +:101270005809C0E04A78201D1AD8E06802541AD8EC +:101280004A584A6C1AD8F01F00262FCDC0083019D2 +:1012900070385808CEC1580BC0C017B817861797BA +:1012A00017ABB167EFE61187EFEB108BF1EB100B8B +:1012B000990B580AC2211C98E06A1000E0667FFF73 +:1012C0003007C0C8F10B0012F40B1900C061F6CA58 +:1012D000FFFF1C985C8AC0287038EC0A19005F1563 +:1012E00058085F1BEBEB000BEE0B1800CEC1580843 +:1012F000C040E06C00F5D822F95A00125809C0200D +:10130000D82A993E4828910C129CD82200008228A5 +:101310008003B19C8003B1E080039D9C800094C455 +:10132000D4213008169614951897F9090012F0097F +:101330001900C071300A189BF01F00145C5CC231A8 +:101340005806C0C00DB80D8A0D990DA6B169F3EA13 +:101350001189F3E61086F1E61006EF380010A3A815 +:101360008F16EF680010EF55001448987008109C15 +:10137000C0581837C021D82A783C580CCFB18F38C4 +:1013800048389107D82200008001126000008228AE +:10139000D43112971093169414911895F9090012EC +:1013A0003008F0091900C091300A189BF01F004561 +:1013B000E5DCC008E0810084308B089CF01F00420F +:1013C000C0310896C0E8300A308B301CF01F003F57 +:1013D0001896C041E06200FFC728089BF01F003C40 +:1013E0008C593078F0091900E08B000F4B98201DC4 +:1013F0001AD8E06801C51AD84B784B8C1AD8F01F60 +:1014000000382FCDC008EB3900120E986C175C78AD +:10141000AE893009EB3A0013AEB8AE9AA988AEF99E +:10142000AEE9AEA86A085808C041E6C2FFFCC10890 +:1014300066191238C0C00836C041E06200F7C3F830 +:101440000C9CE06200F7F01F0027C3980A928CC83A +:10145000F0091608AED8AEC9EB390010EDB900009E +:10146000C1403119029A049B0C9CF01F001F5C8C38 +:10147000F1DCC010AEF8A988AEE8580CF9B800FF4E +:10148000EFF80E07EFF80E0631181AD3049BEB396C +:10149000000B029A1AD80C9CEB38000AF01F0013BC +:1014A0002FEDE5DCC0080836C0400C9CF01F000D95 +:1014B00048F8F10900782FF9F1590078049CD832E6 +:1014C000800112608000CDD48000D3188000CDB49C +:1014D0008003B19C8003B1EC80039D9C800094C488 +:1014E0008000D13C80011E2C80012064000080D44B +:1014F000D421202D1897501B149C500A1296F01FCF +:10150000000C401B1898400AC0A148A8E06C00FCE1 +:10151000F10900862FF9F1590086C078F3D6C01082 +:101520000E9CF01F00055C5C2FEDD8228001222864 +:10153000000080D480011390D401F8CAFFFCF9198F +:101540000014F01F00035C5CD8020000800114F05E +:10155000D431203D4D98F109007A2FF9F159007AE4 +:10156000781716910F8818955C8898CAF3D8C0042C +:101570002FE9A369123AC0A5F1D8C004F00B1502F7 +:101580005C3BF01F004F1894C0904CC80A9CF109B6 +:1015900000822FF9F1590082C1D96A12EECCFFF016 +:1015A000029B502CF01F004705980583F1E3108340 +:1015B00005B805AE1896F1EE108E5C835C8E34484B +:1015C000F00E1900C2413438F0031900E081008B9D +:1015D00062A85808E080008770145804E0800083F7 +:1015E00068185808E0800092EF3A000CEF39000DBF +:1015F000B169F3EA1189EF3A000EF3EA1089EF3A84 +:10160000000FF5E910091238C6D1C7F84AE8089961 +:10161000700A089B1498500AC618F10C0012FC0CB2 +:101620001900C5A15806C041700C580CC1B0EF306C +:101630000010EF3C0011B16CF9E0118CEF3000129A +:10164000F9E0108CEF300013F60618005F1AE1EC99 +:10165000100C700018305F0CF5EC100CF60C180034 +:10166000C3B05804E08100D6F13C0010E21C000435 +:10167000F0041700CCE8701C580CC150EF3A000C75 +:10168000EF30000DB160E1EA11805010401AEF30E8 +:10169000000EF5E010805010EF30000F401A14409B +:1016A000003CC1A1400A10945809C0F0703893382A +:1016B000893A48589104C148000080D48000CDD4B4 +:1016C00080012558000082284C88F109008E2FF9EE +:1016D000F159008EC058109970385808C9F1580453 +:1016E000C141EF3A0010EF380011B168F1EA1188FA +:1016F000EF3A00126219F1EA1088EF3A0013F5E8A8 +:1017000010081039C6D1300405F805E9F1E9108850 +:10171000C130402A8AC83119EECBFFF40A9CF01F71 +:1017200000345C8CC0904B180A9CF10900802FF9A2 +:10173000F1590080C4F83F8B0A9CF01F002EC0E0D6 +:101740004AD8201D1AD8E06801141AD84AB84ACCE1 +:101750001AD8F01F002C2FCDC0085804C0D06866DE +:101760005806C3E0089BF1D3C010EEC9FFF40A9AF3 +:10177000687C5D16C5585806C261EF380010FC1928 +:10178000E000B968E618F0001238C1D00F8B0A9C4F +:10179000F7DBC0042FEBA36BF01F00166A180E389E +:1017A000C0E04958201D1AD8E068012F1AD84968AE +:1017B000493C1AD8F01F00132FCDC008303B0A9CBB +:1017C000F01F001248980A9CF10900882FF9F1597E +:1017D0000088F109007E2FF9F159007EC0280A9C8B +:1017E000F01F000BC1D80000000080D480011E2C27 +:1017F0008000CDD48003B19C8003B11C80039D9CEC +:10180000800094C48003B21C800118FC8000D13C8D +:10181000F10C0014E60C1900FE91FF5FC2DB2FDD16 +:10182000D8320000D431189316921494324B300AF7 +:10183000301CF01F00241897C43098593238F00932 +:101840001900E08B000F4A08201D1AD8E068012E0D +:101850001AD849E849EC1AD8F01F001E2FCDC0084D +:101860007816661531CAAC94AC823004ACC4ACD4E2 +:10187000ACE4ACF4661B781C2F8CF01F00170C9C9A +:10188000ACA4ACB48EDBF01F00155C7CACBCA98CA6 +:10189000ACAC201D492C30161AD60898F906006009 +:1018A000EACAFFF4E06900FF089B2FF6F9560060D2 +:1018B0000E9CF01F000C0E9CF01F000B2FEDD83279 +:1018C0008000D3188003B2308003B27880039D9CDF +:1018D000800094C48002E73680011F4A000080D453 +:1018E000800122948000D13CD401F5DBC00830BBDC +:1018F000F01F0002D802000080011824D401F5DB9B +:10190000C008303BF01F0002D802000080011824FC +:10191000D4314C62E50800622FF81694E558006255 +:10192000781618970D85EBD5C004A365EA0311005E +:101930005C83069BF01F003EE08101788E493038C1 +:10194000F0091900E08801726E1811893088F009D9 +:101950001800E081015DED380010ED310011B1613A +:10196000E3E81181ED380012E3E81081ED3800134F +:10197000089BF1E11001ECCCFFF0F01F002EC071CC +:10198000E611F000FC18E0001031C0914A780E9C7E +:10199000F10900742FF9F1590074C4498E49307867 +:1019A000F0091900E08801420E9CF01F00235C8CB6 +:1019B000C0A00E9CF01F0021E50800682FF8E55834 +:1019C0000068D832330B0E9CF01F0019C6E00A9B4A +:1019D0000E9CF01F0017189AC0E04998201D1AD8D5 +:1019E000E06800981AD84978497C1AD8F01F001787 +:1019F0002FCDC0088ECB302CF01F00151892E08040 +:101A0000011F98D9EAC8FFF81039C25248C8201DF2 +:101A10001AD8E06800A21AD848E848BC1AD8F01FC3 +:101A2000000B2FCDC0080000000080D48000CDD472 +:101A30008001255880011FAC8000D13C8003B2306A +:101A40008003B2A480039D9C800094C48000D318BE +:101A50008003B2D80E9BF01F00445C5CC0E04C38A1 +:101A6000201D1AD8E06800A51AD84C184C1C1AD8AA +:101A7000F01F00412FCDC008069B6416049CF01F88 +:101A8000003FC0E04B98201D1AD8E06800AB1AD880 +:101A90004BB84B8C1AD8F01F00382FCDC0080E9CC5 +:101AA0000497F01F0038C1383D0B0E9CF01F003327 +:101AB000C0E04AE8201D1AD8E06800B51AD84B08E3 +:101AC0004ACC1AD8F01F002C2FCDC008ED3A000CDC +:101AD000ED39000DB169F3EA1189ED3A000EED3BE5 +:101AE0000010F3EA1089ED3A000FF5E91009ED3A1C +:101AF0000011B16AF5EB118AED3B0012F5EB108A8B +:101B0000ED3B0013F7EA100AF40B16186E18ED6A95 +:101B1000000FED6B000CF7DAC208F5DAC108ED6AC8 +:101B2000000EF20A1618ED690013ED6A0010ED6B55 +:101B3000000DF5D9C208F3D9C108ED6A0011ED69AD +:101B40000012300911AAB08911B9F3EA1089FE7A9E +:101B5000F7FE5C89F4091900E0880016F2C9F7FF66 +:101B6000C14800008000CF988003B2308003B310DA +:101B700080039D9C800094C48000CDD48003B33842 +:101B80008000D13CF2C9F8005C79B0B9A989B0A94C +:101B9000ED380009E818FF00ED680009A988ED6834 +:101BA00000083008314BED68000BED68000A0C9C12 +:101BB000F01F00284A885C7CED6C000BA98CED6C52 +:101BC000000AF10900602FF90A9BF15900600E9C90 +:101BD000F01F00221898C0E04A18201D1AD8E068AB +:101BE00000D71AD849F84A0C1AD8F01F00202FCD78 +:101BF000C00830191AD4189A1AD9ECCBFFF4E0694E +:101C000000FF0E9CF01F001A2FEDC0B8E508007011 +:101C10002FF8E5580070E50800662FF8E5580066D3 +:101C20000E9CF01F0014D8320E9CF01F001248A822 +:101C3000F109006A2FF9F159006AD8320E9CF01FA1 +:101C4000000D4858F10900742FF9F1590074D83289 +:101C500080011F4A000080D48000CDD48003B230C0 +:101C60008003B36C80039D9C800094C48001206439 +:101C70008000D13CD431205D30951988FAC9FFF03D +:101C8000FACEFFFC5009330231033056F0C9003060 +:101C9000EA091800E08B00BAE4081800C03030A749 +:101CA000C1582FFC35891988F20818005F0A378956 +:101CB000F20818005F09F5E91009F9B70008F7BC48 +:101CC00001FFF9B70110F9F81800F8CAFFFF300951 +:101CD0003191F2070244F0C000301004F4CC00014E +:101CE000EA001800E08B0005E8C90030C1E80E9456 +:101CF000E6071800C1D1F0C400615C54EC04180080 +:101D0000E088000EF0C00041EC001800E08B0011EC +:101D1000E2041800E0880004341CC028361C2F6838 +:101D2000F00C010CF9E9104915882FFACD3B32EA85 +:101D3000F4081800C0814008103EC6701CA92FFC92 +:101D40001988CA5B5808C28030CAF40818005F1CA2 +:101D5000320AF40818005F1A146C300AF40C1800E8 +:101D6000C1B030DCF80818005F1730ACF808180074 +:101D70005F1CEFEC000CF40C1800C0E030BC309796 +:101D8000F80818005F1CEE0818005F18F9E8000852 +:101D9000F4081800C3A1FAC8FFFC101EA34E2FFEC2 +:101DA000582EC0B0E0890005580EC2F0C298583EC7 +:101DB000C0F0584EC251C168E064FFFFEA1400FF52 +:101DC0000839E08B00234018F3E81189C198E049F5 +:101DD000FFFFE08B001B4018402AB968F1EA1108A8 +:101DE000C0D8E04900FFE08B0011402A4018B968D4 +:101DF000F1EA1108403AF1EA1088F1E91009580BAC +:101E0000F7F91A00301CC028300C2FBDD832D70388 +:101E1000D401202DFACBFFFCF01F0004F9BC00FF19 +:101E2000FBFC10012FEDD80280011C74D431202D51 +:101E3000300630110C9EC4A898557812E7D5B01022 +:101E4000049430075008C0B8E92800000990202306 +:101E5000E1E810805C835C702FE40007E203190066 +:101E6000FE9BFFF40A944008E214FFFEE7D5C00190 +:101E700008023000E0031900C0400584A964080787 +:101E8000E9D7C010B187E80700070E94E0140000FE +:101E9000C060E9D7C010B187E80700075C77EBD5D1 +:101EA000C001EE0E000EEFDEC010B18EEE0E000E81 +:101EB0005805C0B0EFDEC108EC061101A96E5C56F2 +:101EC000FDDEC010EFEE100E780C580CCB615806FA +:101ED000C080F9DEC108A96EFDDEC010F9EE100E5B +:101EE00017B715BC17851796B166EDE5118617ABC8 +:101EF0001585EDEB108B5C781596EFEB100B15AAA2 +:101F0000EFDBC010B166B18BEDE511860E0BEDEA8B +:101F1000108AF9EA100AF40C1610F5DAC010F60A65 +:101F2000000A180AF4090009F2080008F00E000E71 +:101F3000F1DEC010B18EF00E000EF9DEC010B18ED1 +:101F40001C0C5CDC5C8C2FEDD832D4213008189945 +:101F5000F5DBB010301EC0B8F32600001397202A1E +:101F6000EFE610875C8A5C772FE90E08FC0A1900FF +:101F7000FE9BFFF41699E219FFFE120CEDBB000068 +:101F8000C0411989A9691208F3D8C010B188F208B4 +:101F900000081099E0190000C060F3D8C010B188A3 +:101FA000F20800085CD8F9D8B010D822D431300A31 +:101FB000301414981495C488985B7816EFDBB01031 +:101FC0000C9E3009C0B8FD2200001D932027E7E2D7 +:101FD00010835C875C732FEE06090E93E8071900E7 +:101FE000FE9BFFF3169EE21EFFFE1C06FDDBC001FA +:101FF000EA0E1900C0400D8EA96E1C09FDD9C01053 +:10200000B189FC090009129EE01E0000C060FDD9E4 +:10201000C010B189FC0900095C79F7DBC001F20846 +:102020000008F3D8C010B188F2080008580BC0B0FF +:10203000F3D8C108F40A1101A9685C5AF1D8C0109C +:10204000F3E81008780C580CCB81580AC080F3D8FC +:10205000C108A968F1D8C010F3E810085CD8F9D815 +:10206000B010D832D431201DFAC4FFD8169712937D +:102070001092681518966801580AE0800091500A7D +:10208000314BF01F0055400AC0A04D48E06C00FEE7 +:10209000F109005C2FF9F159005CCC286C148C59C3 +:1020A0003138F0091900E08B000F4CD8201D1AD8E8 +:1020B000E068022C1AD84CB84CBC1AD8F01F004B60 +:1020C0002FCDC0085C53E3E310815C71E961000926 +:1020D000A981E9610008158B1598B168F1EB1188A9 +:1020E00015ABF1EB108815BBF7E81008F00B1618CC +:1020F000E9680013E96B0010F7D8C208F1D8C108ED +:10210000E96B0011E9680012E81245005C72A892C0 +:10211000E4031608A883ED380008A8A8ED380009E4 +:102120004B39A8FCA8B8A8EC9208F7D8C010A8DBD7 +:10213000A98BA8CB2FF8B2085807C0D00F8B0FB9C6 +:102140000F98B168F1EB11880FABF1EB1088F3E851 +:102150001008C051EAC8FFFCEBF81001F00916188E +:10216000E968000FE969000CF3D8C208F1D8C1088A +:10217000E969000DE968000E3008E968000BE968BC +:10218000000A500A314B089CF01F001A5C7CE96C75 +:10219000000BA98CE96C000A400AC038781A2F0A93 +:1021A00048E8F10900482FF9F1590048158B1599B5 +:1021B000B169F3EB118915AB6A18F3EB108915BB04 +:1021C000F7E910091039C1910C9B0A9CF01F000A15 +:1021D000C26800008000CDD4000080D48003B3909A +:1021E0008003B3D880039D9C800094C40000734892 +:1021F00080011F4A8000CAF8EB08002C5808C0B0C4 +:102200008C49F0091900E08800070A9B0C9CF01F1C +:102210000006C0580C9B0A9C6A585D185C5C2FFD38 +:10222000D8320000800125A0D42149781896700783 +:10223000C1680E9CF01F0015C1100D8B0D98B16880 +:10224000F1EB11880DAB6E1AF1EB10886E290DBB06 +:10225000F7E8100814581268C1306E075807CEA16D +:1022600048B66C0C580CC040F01F0008C08148985C +:10227000F10900562FF9F1590056C0286C070E9C41 +:10228000D8220000000080CC8000CAE4000080D08A +:10229000000080D4D421204D1897503B149C502A24 +:1022A000501950084096F01F000D403B402A40193D +:1022B0004008C0A148A8E06C00FCF10900562FF9C5 +:1022C000F1590056C0881ADC0E9C1AD6F01F000582 +:1022D0002FED5C5C2FCDD82280012228000080D415 +:1022E00080012064D4314C05EB08004A2FF87817A0 +:1022F000EB58004A0F980F831694F1E31083189659 +:10230000E609160C3048F0091900C090F01F00379C +:10231000EB08005C2FF8EB58005CC2980FB8E7D3CD +:10232000C1040FA2A363F1E2108298585C82E60810 +:102330001900C0539848E4081900C0B20C9CF01F63 +:10234000002B4A98F10900522FF9F1590052C86840 +:10235000069B0E9CF01F00265C8CC0F00C9CF01FAE +:102360000023EB0800502FF8EB580050EB08004E0C +:102370002FF8EB58004ECD48F7D2C0100C9CEEC0A1 +:10238000FFF0F01F001C0895301249B10A9CF01FA5 +:10239000001BC1D0EAC8FFFCC1A06A185808C17070 +:1023A000EF3A0010EF390011B169F3EA1189EF3A01 +:1023B0000012F3EA1089EF3A0013F5E91009103919 +:1023C000C2A00A9B009CF01F000EC2515802E3F508 +:1023D0001000EBF5000030020835EBF50000580561 +:1023E000CD61C9F8000080D48000D13C80011F4A33 +:1023F0008000D210000080CC8000CAE48001255803 +:10240000EE03000307B807A9F1E910893448F00981 +:102410001900C2A0EF39000CEF38000DB168F1E9E6 +:102420001188EF39000EF1E91088EF39000FF3E859 +:102430001008C1B0089BEECCFFF4F01F003DC0A116 +:10244000EF38000CFC19E000B968E618F00012380B +:10245000C0C10C9CF01F00374B78F109004E2FF9DA +:10246000F159004EC5D808955805C0510C9CF01F75 +:102470000031C5680FE90FF8F1E91088F1D8C00EF6 +:10248000C0700C9CF01F002D1896C4A078174AC885 +:1024900091044AC8089B91070C9CF01F002BC3B104 +:1024A000EF3800095868C0B05918C0405818C11119 +:1024B000C0B8089B0C9CF01F0025C2D8089B0C9C40 +:1024C000F01F0023C288089B0C9CF01F0022C2381A +:1024D000089BEECCFFF0F01F0016C0F1EF380010A3 +:1024E000FC19E000B968E618F0001238C0608D17DA +:1024F000302B0C9CF01F00180C9CF01F000E48E8BD +:10250000F10900582FF9F1590058F109004E2FF93F +:10251000F159004E48A93008930848A99308D83AC1 +:10252000EF3800095918FE91FF77C6BB8001255886 +:102530008000D13C000080D4800129BC0000822CA6 +:10254000000082308000D588800115508000F37C27 +:1025500080011910800118FC19B9198A1998B168FD +:10256000F1EA118819AAF1EA1088F3E81008F0C915 +:1025700000015BD9E08800035EFFF7390035EDB953 +:102580000001C0E1761A1438C0B07629105A126AD8 +:10259000C0715CD9F3E8000812385F0C5EFC5EFD88 +:1025A000D431209D503B506A781B403AF519002CDD +:1025B000F2C80013502B5078214917EA17F8F1EAB6 +:1025C00010885C88109BF1D8C00DE21B2000984356 +:1025D000505B2143308B5018F20B0C0A1897F3DA3A +:1025E000B0105C8312985049A37830025C88314067 +:1025F0005088C938401B405AF1DBC00D14485008C0 +:10260000E3D3B010F1D3C01040791039E08900064F +:10261000400B4081ADBB500B300A314B302CF01FCA +:1026200000421894C3708E58313AF4081900E08BB8 +:10263000000F4BE8201D1AD8E06802C31AD84BC817 +:102640004BCC1AD8F01F003C2FCDC008314A402B8C +:10265000781CF01F003A6E19F1D0C010F208000883 +:102660006816EBD1B0108F188E58F0000100AE50F4 +:10267000C2188E52EA021900EA0217205C82C19049 +:10268000302A300B303CF01F0028C071089CF01F2E +:10269000002CE06C00FFC4586E18B842B852189B6A +:1026A00099180415089C5C85F01F00265805C02069 +:1026B0006E075805CDF1ED65000B40085C78ACF86D +:1026C000A988ACE8E2C8FFEC5C78ACB8A988314BCB +:1026D000ACA8ED65000A0C9CF01F001B5C7CED6C47 +:1026E000000BA98CED6C000A4039406A7258089BB7 +:1026F000129C5D18495BF70800302FF8089CF758CA +:102700000030F01F000F40180213404AE1D2B01011 +:1027100014085C835C8850185803FE91FF6D069C7A +:102720002F7DD8328000D3188003B4108003B45CAE +:1027300080039D9C800094C48002E7368000D13CD9 +:102740008000CD3480011F4A000080D4D40148F8B5 +:1027500070091839C04178099109C128580BC0E1A6 +:1027600048B8201D1AD8E06801341AD8489848ACF7 +:102770001AD8F01F000A2FCDC00878089708189BB8 +:10278000305CF01F0007D8020000734C8003B410C7 +:102790008003B47C80039D9C800094C48000C97435 +:1027A000D43118971696183BC0E14BC8201D1AD893 +:1027B000E06800A41AD84BA84BAC1AD8F01F003A16 +:1027C0002FCDC008580BC11076081838C0E04B3820 +:1027D000201D1AD8E06800A61AD84B484B1C1AD8FE +:1027E000F01F00312FCDC0086E156A1811CA11D91B +:1027F000F3EA1089C0303004C1D8118A1199109CB5 +:10280000B169F3EA118911AA11B8F3EA10891248E3 +:10281000314A8F18EECBFFF8F01F0025301B0A9CC1 +:10282000F01F00240A9CF01F002418940A9CF01F3B +:1028300000236E15C1486A1811B9118A119311A8A5 +:10284000B163E7EA1183E7E81083F3E31003F01FB5 +:10285000001A18040A9C0695F01F00180A9C5805D7 +:10286000CEB10C9B0E9CF01F001649689009F5D95B +:10287000C010083AC0E44898201D1AD8E06800C784 +:102880001AD84918487C1AD8F01F00072FCDC00865 +:102890000819089CB009D8328003B4108003B4989A +:1028A00080039D9C800094C48003B4A48002E7361A +:1028B000800118E88000CD0C8000D13C8001274CBD +:1028C000000073508003B4B8D431300618971692C4 +:1028D0004AB30C94300566080A9B0A9CC3E8EF3A99 +:1028E000000CEF39000DB169F3EA1189EF3A000EDF +:1028F000F3EA1089EF3A000FF5E91009705A123A1D +:10290000C1B1EF3A0010EF390011B169F3EA118952 +:10291000EF3A0012F3EA1089EF3A0013F5E91009D3 +:10292000706A123AC0910FCA0FD9F3EA1089906AFF +:10293000F20A1900C0D02FF5580CC090F13A001FD0 +:10294000F939001FF20A1800E08B0003109C70098F +:102950005809F00B171012985808CC21580CC04099 +:10296000F01F0008180658155F9804365F59F3E801 +:102970000008E8081800CAF10C9CD8320000734C1B +:10298000800127A0D42148C83007700CC108F9384D +:10299000001F7806F0C900015808C050F969001FEF +:1029A0001897C0480E9BF01F00050C9C580CCF01D7 +:1029B000D82200000000734C800127A0D431201DD4 +:1029C0004CD8F10900322FF9F159003278161895D8 +:1029D0000D835C83F3D3C004A3695949C080F10916 +:1029E00000442FF9F1590044E08F02570DF80DE132 +:1029F000F1E110810DB80DA24C07F1E21082F01F39 +:102A000000408E885C815C821894F808000858A801 +:102A1000E08A000D189B0C9CF01F003AC5708E8850 +:102A2000E808000858A8E08900524B783009700780 +:102A30005009C3D8ED39000CED38000DB168F1E94B +:102A40001188ED39000EF1E91088ED39000FF3E837 +:102A500010086E591039C291ED390010ED3800118F +:102A6000B168F1E91188ED390012F1E91088ED390A +:102A70000013F3E810086E691039C1710DC90DD843 +:102A8000F1E910888E69F0091900C0F149A8F1092F +:102A900000462FF9F15900460DE90DF8F1E91088CB +:102AA000F1D8C00DC360C3F850076E075807CC318A +:102AB000E08F021E089B0C9CF01F0012083CC065B2 +:102AC000305CF01F00121897C09148B8F109003C23 +:102AD0002FF9F159003CE08F01E0320A300B0E9CD7 +:102AE000F01F000B30394888EF69001F70098F090B +:102AF0009107C138000080D4000073508000CD0CD5 +:102B0000800128C80000734C8000C9D48002E8BC52 +:102B10008EF8F1D8C00DC070314A0C9BEECCFFF896 +:102B2000F01F004F4CF89009F20400045C84B004DC +:102B30000DE8A598EDB80000C120EF38001EE3D1E4 +:102B4000C00DE7D3C004A371E60310FCE20200024B +:102B5000A1A80602EF68001EEF52001C6A1811BB04 +:102B6000300A11AEF7EE108E118BB09AB0AAB0BA3F +:102B7000B08A1499F5DBC00411FBF40A10FC11ECC7 +:102B8000F7EC108CF9DCB00DA37CF7DCC010B0DBE7 +:102B9000A98B180EB0CB140E10935C8E3016F5DE98 +:102BA000C010B0FAA98AB0EA6E11029BC548761A25 +:102BB00015C015D2E5E010825C82E40C1900C292C7 +:102BC000F6021618B0BBB082E5DBC208F7DBC1081D +:102BD000B092B0AB5809E080008213E213FBF7E239 +:102BE000108BF60C1900E08300FF15DB15CAF7EA1D +:102BF000108AF40E1900E08B00F7EA0A1618B2B535 +:102C0000B28AF5D5C208EBD5C108B29AB2A5C6788A +:102C1000E40C1900E08000E815E015FBF7E0108BEC +:102C2000F60C1900E08300E05809C09013FB13E98B +:102C3000F7E91089E4091900F9B601001582159B1E +:102C40001499B16BF7E2118B15A215BAF7E2108B4C +:102C5000F5EB100B580BCAC1C52900008002E736FE +:102C60000000735013EB13FA11CCF5EB108A11DB53 +:102C7000F7EC108BF60A1900E088000F4BC8201DF6 +:102C80001AD8E068018E1AD84BA84BBC1AD8F01F8E +:102C9000003B2FCDC008EA0B1618B28BF7D5C2083F +:102CA000B2B5B29BEBD5C108B2A511CB11D9F3EBEC +:102CB0001089F20A1900F9B60100C1185801C0E0E4 +:102CC0004AB8201D1AD8E06801971AD84AC84AACF9 +:102CD0001AD8F01F002A2FCDC0088F15EF39001E1B +:102CE000EDB90000E08100E45806E08000E16E19D3 +:102CF000721A15CB15D9F3EB1089E08100D9118B2D +:102D000011951099B165EBEB118511AB11B8EBEB97 +:102D10001085F1E51005C1A807F86A1907EB13CC77 +:102D2000F1EB108B13D8F1EC1088F00B1900E08157 +:102D300000BF13881395B165EBE8118513A81293B2 +:102D4000EBE8108513B8F1E510055805CE61123A8D +:102D5000C1A14878201D1AD8E06801B91AD848984E +:102D6000485C1AD8F01F00052FCDC0088003B410AE +:102D70008003B4D480039D9C800094C48003B4F489 +:102D80008003B52C138A1398B168F1EA118813AA4D +:102D9000F1EA108813BAF5E81008C0E04C68201D6D +:102DA0001AD8E06801BB1AD84C484C5C1AD8F01FFE +:102DB00000452FCDC00813F813E9F1E91088EF0999 +:102DC000001C5C88F0091900C1704BB8201D1AD88E +:102DD000E06801BD1AD84BC84B9C1AD8F01F0039C7 +:102DE0002FCDC0080A9CF01F00394B9818143006EC +:102DF000B0040A9CC5982EC8EF58001C6E187016B7 +:102E00000D880D94B164E9E811840DA8E9E81084F7 +:102E10000DB8314AF1E41004EECBFFF80C9CF01F22 +:102E2000002DEF38001CACA8EF38001D0C9CED65A0 +:102E3000000BACB8ACE5ACF5ED65000A314BF01F0A +:102E400000265C7CED6C000BA98CED6C000A6E1604 +:102E5000C1586815089C3ECBF01F0020089B0C9CB5 +:102E6000F01F001F0B890BB80B94B164E9E91184C2 +:102E70000BA9E9E91084F1E410045804CEB10E9CCA +:102E8000400BF01F00180C9C49178E05F01F000F17 +:102E90001815AE05C0D849480A9CF109003630061D +:102EA0002FF9F1590036F01F0011C02830060C9C94 +:102EB0002FFDD8328003B4108003B53C80039D9C65 +:102EC000800094C48003B5608000CD0C0000735076 +:102ED0008002E73680011F4A8000CDD48000CD34C7 +:102EE0008001274C000080D48000D13C305CF01F72 +:102EF00000061897FE91FDF3FE9FFDDE5809FE9136 +:102F0000FEB3CDDA8000C9D4D4211898F937002E49 +:102F1000761E306CF8071800C0E04948201D1AD80A +:102F2000E06801B41AD84928492C1AD8F01F0012B9 +:102F30002FCDC008306C201C5C5CF20C0706FC0C2A +:102F40000007EF66000EF40C0706EF660014580C3D +:102F5000CF313089FD6C001BFD69001A109C706830 +:102F60005D185C5CD82200008003B5948003B5DC5A +:102F700080039D9C800094C4D4211897580CC0E114 +:102F800049D8201D1AD8E06800941AD849B849CC0D +:102F90001AD8F01F001C2FCDC00878185808C0E1BF +:102FA0004958201D1AD8E06800951AD84968494C3C +:102FB0001AD8F01F00142FCDC0086E186E06109C92 +:102FC0005808C0E148C8201D1AD8E06800991AD8EE +:102FD00048E848BC1AD8F01F000B2FCDC008F01FDE +:102FE000000C0E9B306C0C97F01F000A5806CE6147 +:102FF000D82200008003B5948003B62080039D9CF6 +:10300000800094C48003B62C8003B63C8000D13C81 +:103010008000C974D431201D500B1897580CC0C0C3 +:103020004D084D19118CF80815031818F2080028DE +:1030300070495829C0D030AA30094CBE129C1C924D +:10304000129B2ECE1298149314911490C1980F8A4B +:103050000F99B169F3EA11890FAA7018F3EA108980 +:103060000FBAF5E910091039CE714C08F109002E9C +:103070002FF9F159002ECE480C990A9C089B30A6D6 +:10308000EC031800C0A1FCF6FFFC5806C0611296C4 +:10309000189516941093C498FCF6FFFC5816C2417C +:1030A0005807C0F00F860F95B165EBE611850FA6A6 +:1030B000EBE610850FB6EDE5100564160C35C26021 +:1030C00064051D865805C080F2061800C2B3189525 +:1030D0001694109AC2A80C94F6061800C2331296E1 +:1030E00018951090C2285826C1D15807C1300F86B4 +:1030F0000F95B165EBE611850FA6EBE610850FB6CF +:10310000EDE5100564160C35C0514969109CB28874 +:10311000C9781D85F8051800C053129616941091B1 +:10312000C0481296189516942FF82E4E5C582E42D1 +:1031300030A9F2081800CA11F2031800C061400655 +:10314000EDB60000E081007B4005E2150002E08161 +:1031500000763098F0031800E089000A5C53C498A8 +:103160000000735200007354000080D430A8F001B6 +:103170001800C180E7D1C0084B38E60915030619CD +:10318000F00903285808C2304B08201D1AD8E068FF +:1031900001761AD84AE84AFC1AD8F01F002F2FCD22 +:1031A000C008F0001800C040E7D0C008C108E20A1B +:1031B0001800C4404A48E7DAC008E60615030616B8 +:1031C000F00600266C0CF01F00258D053098F003EA +:1031D0001800E088000F49D8201D1AD8E068018C3B +:1031E0001AD849F849BC1AD8F01F001B2FCDC008C7 +:1031F0004959E6081503300A0618F2080028F0C9F4 +:10320000FFF0930A5807C0D00F8B0FBA0F99B1691E +:10321000F3EB11890FABF3EB1089F5E91009911964 +:103220004899E60815030618F20800282F08300907 +:10323000069CB0C948B8B083C038E06C00FF2FFDD1 +:10324000D8320000000073548003B5948003B64C5C +:1032500080039D9C800094C480012F788003B66415 +:1032600000007352D431494730050E963EF42EC704 +:10327000ECC3FED40F882FF85C58AE88EEF9FFFC43 +:103280005829C061E8081800E08B0009C0F85819F7 +:10329000C0D1F2081800E088000A6C0C580CC0403D +:1032A000F01F00068D05EF45FFFC2E472E46063722 +:1032B000CE21D8320000735480012F78D431306889 +:1032C0001293189616951497F939002EF0091800E4 +:1032D000C0E04B78201D1AD8E06801DA1AD84B58A4 +:1032E0004B5C1AD8F01F00352FCDC008580BC5C055 +:1032F00017891798B168F1E9118817A9F1E91088C1 +:1033000017B9F3E81008C500189B0A9CF01F002CA1 +:103310001894C4A10B88FC19E000B968E618F00005 +:103320001238C420069B0A9CF01F00265C5CE80C47 +:103330001800C3C55C6C4A49F8081503302AF00C24 +:10334000010CF20C00289166F0C9FFF0930A0FDA25 +:10335000F16A000D0FCAF16A000C0FBAF16A000B96 +:103360000FAAF16A000A0F9A1095F16A0009ECC3DE +:10337000FFD10F8AB2C4F16A0008C0F87009701456 +:103380008B09F01F00120E99069A089B0C9CF01FE7 +:103390000010089CF01F000F6A08306C109B580842 +:1033A000CEE1109CD832E06C00F6D8328003B594A0 +:1033B0008003B67880039D9C800094C480012558CA +:1033C00080013014000073548000C97480012F08FC +:1033D0008000D13CD421189E580CC0E14958201DD2 +:1033E0001AD8E068024A1AD84938494C1AD8F01F4E +:1033F00000142FCDC008761AF4C8FFE4F137000F8F +:10340000F136000CF139000DF138000E782BB1695E +:10341000F3E61189F3E810897818EFE910091059DB +:103420001669C061F4CBFFD82ECAF01F0006D8225F +:103430008003B5948003A13880039D9C800094C4D0 +:10344000800132BCD431202D189616911495580C59 +:10345000C0E14CA8201D1AD8E068027F1AD84C8819 +:103460004C8C1AD8F01F00482FCDC00894593378DF +:10347000F0091900E08B000A4C48149CF109002265 +:103480002FF9F1590022C3087414E8C7FFE40F981C +:103490000F89F1E910893018F0091900C1E10FD83E +:1034A0000FC9F1E91089E0680604F0091900C1515B +:1034B0000FB80FA9F1E91089E0680800F0091900B8 +:1034C000C0C1E938001BE939001AF1E91089E06848 +:1034D0000806F0091900C0E04AC80A9CF109002852 +:1034E0002FF9F1590028F109001E2FF9F159001E9A +:1034F000CA184A68F109001A2FF9E8C3FFD6F15932 +:10350000001AFAC2FFFC304A069B049CF01F002000 +:10351000EF380018EF390019B169F3E81189EF3875 +:10352000001AF3E81089EF38001BF1E910096C1854 +:103530005808C0C01039C0A1049B3019E8CAFFDC8C +:103540000C9CF01F00143018C0A83009EECAFFF818 +:10355000FACBFFFC0C9CF01F000F30080FEA0FF9AC +:10356000F3EA1089301AF4091900C1503028F00923 +:103570001900C591C52800008003B5948003A138C7 +:1035800080039D9C800094C4000080D48002E736B4 +:10359000800132BC5808C4D03008AEE83028304A28 +:1035A000AEF8EECBFFF2EECCFFE8F01F0025304A7C +:1035B000069CEC0A000BF01F0022ED39002E30684B +:1035C000F0091800C0E049F8201D1AD8E06802D9B7 +:1035D0001AD849D849DC1AD8F01F001D2FCDC008D1 +:1035E000306820185C58EE080009F33B0008F36BC4 +:1035F0000012E808000AF56B000EE208070BF36BF7 +:103600000008E2080709F56900145808CEB10C9CBF +:103610006C680A9B5D18C0D80C9CFACBFFFCF01FAD +:10362000000DC07848C8F109002C2FF9F159002C81 +:103630000A9CF01F000A2FEDD83200008002E73606 +:103640008003B5948003B5DC80039D9C800094C406 +:103650008000B3B4000080D48000D13CD42178191C +:10366000F338001BF339001A1697F1E91088189601 +:10367000E0690800F2081900C070E0690806F20865 +:103680001900C231C1C8189B0E9CF01F00173E4B99 +:103690000C9CF01F0016C0E04958201D1AD8E068A5 +:1036A00004A41AD84938494C1AD8F01F00142FCD59 +:1036B000C0080E9B0C9CF01F0012C148189A169C63 +:1036C0002D1BF01F0010C0E848F8F10900282FF961 +:1036D000F1590028F109001E2FF9F159001EF01FC1 +:1036E000000BD82A800133D48000CDD48003B59458 +:1036F0008003B36C80039D9C800094C4800122E40D +:1037000080013444000080D48000D13CD431300AA0 +:1037100018941691303C338BF01F0042E8C8FFD15B +:103720001895580CC0A14C08E06700FFF10900246F +:103730002FF9F1590024C738985A3379F20A190041 +:10374000E08B000F4B98201D1AD8E06804311AD87E +:103750004B784B8C1AD8F01F00382FCDC008300999 +:103760007813E6C7FFE4AEE93019AEF93069E93AFB +:10377000002EF20A1800C0E04AC8201D1AD8E068DE +:1037800004391AD84AD84ABC1AD8F01F002B2FCDBA +:10379000C00830664AAB4ABA20165C56F006070CE1 +:1037A000EE060009F36C0008F606070CF36C001235 +:1037B000F406070CE6060009F36C000EF006070C91 +:1037C000F36C00145806CE913042EECCFFF2E802C2 +:1037D000000B049AF01F001C049A029BEECCFFE839 +:1037E000F01F00193069AED2AEC9AEB6AE863088D1 +:1037F000301AAEA8AE9AE769001BE768001A089C69 +:1038000068680A9B5D184888F10900182FF9EFDCF9 +:10381000C008F15900180A9CF01F000C0E9CD83209 +:103820008000D318000080D48003B5948003B6A034 +:1038300080039D9C800094C48003B5DC8003B71690 +:103840008003B58D8002E7368000D13CD4211694E8 +:103850001896189B1497089CF01F00541895E08147 +:1038600000DF09890998B168F1E9118809A9F1E92E +:10387000108809B9FC1AE000F3E810081099E6195D +:10388000F0001439E08000CC5808E08000C9301BFB +:10389000089CF01F00475C5CEA0C1800C0545807F5 +:1038A000E08100CBCC184C39EBDCB008EA081503FA +:1038B0000A18F20800282F0870095809F9B9000100 +:1038C000F1F90A004BB9EA0815030A18F2080028B2 +:1038D0007048F0C900015819E088000F4B68201D9E +:1038E0001AD8E06803A51AD84B484B5C1AD8F01FC9 +:1038F00000352FCDC00858185F0858075F09F3E856 +:103900001008C041E06400FFC078089B0C9CF01FC9 +:10391000002EE9DCC0085807E08000854A5AEA0911 +:1039200015030A19A369F409000870485828C0B1A2 +:103930002F890E9BF40900090C9CECCAFFD1F01FE3 +:103940000023C6B85818C6E110990E98905B904AAB +:10395000F40B1900C111700A580AC0E04968201D13 +:103960001AD8E06803C41AD84998495C1AD8F01FDD +:1039700000152FCDC008F13A000CF20A1800C05112 +:1039800070085808CE41C51890CB300A303CF01F63 +:1039900000111896C4F00E9BF01F000F5C5CC1F084 +:1039A0000C9CF01F000EC468800125588001301463 +:1039B000000073548003B5948003B6D480039D9CAB +:1039C000800094C48001370C80012F088003B6FC6E +:1039D0008000D3188000CF988000D13C306CF01F5D +:1039E000001AC170300899169908EA081503F00505 +:1039F00001054968F00500256A045804C07008985C +:103A000068045804CFD1910CC0288B0C089CD82294 +:103A10000C9CF01F000F089C5C5CD822E06C00F648 +:103A2000D822089C5C5CD8220E960E9CF01F0009E0 +:103A3000CD6B089C5C5C4888F10900242FF9F15992 +:103A40000024D8228000C9D4000073548000D13CE7 +:103A50008000CD1E000080D4D421202D169618970A +:103A6000149531CB0C9CF01F0027C0804A68E06C95 +:103A700000FE90592FF9B059C4180E9B0A9CF01FF4 +:103A80000023C3410B890B98B168F1E911880BA998 +:103A9000F1E910880BB9FC1AE000F3E8100810995E +:103AA000E619F0001439C0F13019BAA935E9BAC9DC +:103AB000F3D8C207BAF8BAD9A988BABCBAE8FAC921 +:103AC000FFFEC1586E1912586E291268C0906E38E8 +:103AD0005808C041E06C00FCC118EEC5FFF40C9A18 +:103AE0000A9B0E9CF01F000AC08848A90C9B0E9CE4 +:103AF000EECAFFD1F01F00085C5C2FEDD822000059 +:103B00008000CDD4000080D4800125588001384C3D +:103B10008003B58D80012F0878983019B0895EFC3C +:103B2000D4217897EF380024EF390025F0091800E8 +:103B3000C021D82AEE080028201D701630086C1904 +:103B40008CCA8CDB20EA1AD620EBF2CCFFF2F01FF5 +:103B500000182FED587CC0F0581CC0310C95C138AE +:103B6000EF3800242FF8F1D8C0030C9CEF68002434 +:103B7000F01F0010E06C00F4D8228ADB6A1CF01FF2 +:103B8000000E6A055805CFA1EF3800242FF8F1D8B0 +:103B9000C0030C9CEF680024F01F00064878E06C1E +:103BA00000F290092FF9B009D82200008001933467 +:103BB0008000D13C80013F7C000080D4D421204D86 +:103BC0001896F01F002D5806C5306C955805C50095 +:103BD0000B885808C4D0E0680600300ABA68E06B69 +:103BE0000600303CF01F00251897C3F03008FACBD0 +:103BF000FFF4AA88781CF01F00229A6B580BC35060 +:103C00005C7BFAC8FFF2FAC9FFFCFACAFFF86E1C27 +:103C1000F01F001C586CC2606E18402B101B40181F +:103C20005C5B0E9C100B5C7BF01F001749789019B1 +:103C30002FF9B0196E19F338001BF339001AF1E9A6 +:103C40001088E0690800F2081900C060E069080601 +:103C5000F2081900C0716C480C9B0E9C5D185C5CEE +:103C6000C0400E9CF01F000A0C9CF01F000A2FCDD4 +:103C7000D822000080013FA08000D31880013F5867 +:103C8000800192DC8000D210000080D48000D13C02 +:103C900080013B20D4211897580CC0E149B8201D61 +:103CA0001AD8E06801491AD8499849AC1AD8F01FC7 +:103CB000001A2FCDC008499899983778F9680036CE +:103CC00036C8F9680037496899584968189B996857 +:103CD000495CF01F0016496CF01F00163628EF688B +:103CE00000353068EECCFFD1EF68002EF01F0012D7 +:103CF000581CC040E06C00F4D822E06805DC300CB1 +:103D0000EF58002CD82200008003B71C8003A13894 +:103D100080039D9C800094C40000746C80013A581C +:103D200080013D5880013B1880013E6880013D388C +:103D300080018F4480019128D40116985C7A189BE9 +:103D40002F29109C5C79F01F00045C7CF9BC00FFFB +:103D5000D80200008000CEC4D42131B918977898D9 +:103D6000965AF20A1900E08B0005E06C00F4D822A4 +:103D7000F1390025F13C0024F2CAFFFFF5DAC00357 +:103D8000183AC041E06C00F2D822F16A0025F0092F +:103D90000028169C911B3F26F01F00050E9CF01F6B +:103DA0000005EC0C1800CFB0D82A00008000CD1E12 +:103DB00080013B20D42130061897E9DBC01030A5E4 +:103DC000C138EE060708201D48BC1AD8F01F000BAA +:103DD0002FED5806C080EC050C085809C041488CEE +:103DE000F01F00062FF60836CED5486CF01F0003F2 +:103DF000D822000080037AF0800094C48003B76862 +:103E0000800384D448CD48D0E3B00001D55348C0E6 +:103E100048C10230C06248C2A505A1240230CFD3F8 +:103E200048A048B10230C06230023003A122023003 +:103E3000CFE3488F000100008003760000000008F7 +:103E4000000009B88003F480000009B800008CC8A5 +:103E500080008EDCD4013018F96800087808580812 +:103E6000C030781C5D18D802D4014869930C931BAC +:103E7000F33800085808C040129CF01F0003DA0A0B +:103E80000000749880013E54D421201D1895169688 +:103E90001494300B30CA49DCF01F001D300B49DC94 +:103EA000F01F001D300B49DCF01F001D497B49DC71 +:103EB000F01F001D1897581CC0400E9C2FFDD822E3 +:103EC000F01F001A1897581CCF910C9B0A9C49862A +:103ED0008D07F01F00181897581CC04030088D0837 +:103EE000CEDB30088D08F01F00141897581CCE61E7 +:103EF000FACBFFFD302CF01F0011F9B701FFFBF8E2 +:103F00000803E9F80A00CDAB00007498800091D056 +:103F100080013F8C80018F3080013F3C80019F6099 +:103F200080013E54800144588001440C0000749488 +:103F300080018F488001443080014110D401169CDB +:103F4000580BC041F01F0004D802300B301CF01F8A +:103F50000002D80280014110D4014879F3380008EA +:103F60005808C021DC0A3008F3680008F01F00037D +:103F7000DA0A00000000749880014284D4015C7B5E +:103F8000F01F0002DA0A00008001433CD401169CB5 +:103F9000F7DAC010F01F0002D80200008001433C95 +:103FA000EBCD40C0203DF01F00164969F3380008F2 +:103FB0005808C04072085808C0402FDDE3CD80C0CB +:103FC000E0680100FAC6FFF4E06C01000CE8F01FA5 +:103FD000000E0C9B1897F01F000D9A5B580BC0A0A9 +:103FE0005C7BFAC8FFF81A99FACAFFFC0E9CF01F16 +:103FF00000080E9CF01F0007CE1B0000800140A4AB +:10400000000074988000920080013F58800192DC8B +:10401000800091E8D40148583019701CF1690009FA +:10402000700A5D1AD8020000000074A8EBCD40CCE5 +:10403000206D49A6FAC7FFF46C2E8F2EECE200002B +:10404000EEE3000016961093FACEFFF0580CC22053 +:104050007C08FC1C8000F1EC100BF4081509BBB8BF +:10406000F1E611C812481648301C9D08F01F000CDC +:104070000E9C30CA1A9BF01F000BFB38000AA68862 +:10408000FB39000B300CA699F01F00052FADE3CDD6 +:1040900080CC7C0BCE3B00008003B774800075B4ED +:1040A00080007534EBCD4080201D4987EF38000833 +:1040B000EDB80000C071EF3900093008F0091800B0 +:1040C000C0402FFDE3CD808030091A98129B129CCE +:1040D000305AF01F000F3FF91B88F2081800CF205C +:1040E0001B98EDB80001CEE13008301C109B302940 +:1040F000E06A00F0F01F000630186E1CEF6800093F +:104100006E095D19CDFB0000000074A88001402CF1 +:10411000EBCD40C0201D301AF40C1800C1B0C08394 +:104120003028F00C1800C2602FFDE3CFC0C01A97F2 +:10413000300630091A98E06A00F1129B301CF01F1B +:1041400000161B98EC081800CF51300C2FFDE3CD62 +:1041500080C018961A9730191A98E06A00F1300B4F +:10416000129CF01F000D1B98EC081800CF51300C6A +:10417000CEEB48A8F1390008F9D9C001F7FA1E00C2 +:10418000F9BC0100F9B8005AF7F80E002FFDE3CD95 +:1041900080C000008001402C000074A8EBCD406876 +:1041A00048F516961893AA4B301CF01F000E0A9C77 +:1041B000310A300BF01F000C069BF5D6C010300CF6 +:1041C000F01F0009304A300B488CF01F0007300CFC +:1041D000F01F00040C9CE3CD80680000000002107A +:1041E000800075B4800075348003B780EBCD40400B +:1041F00020ED30083009FAE90018FAE90000FAE980 +:104200000008FAE9001049BBFAC6FFD4762A8D2AC5 +:10421000F6E80000301CECE90000F01F0017320A3D +:10422000300B1A9CF01F00150C9C30CAFACBFFE033 +:10423000F01F0012300CF01F00103019FB38002A5C +:10424000F2081800C0503FFC2F2DE3CD804048C835 +:10425000F1390008F9D9C001CF8030083039304A2F +:10426000109B301CF01F00072F2DE3CF8040000073 +:104270008003B784800075B480007534000074A892 +:104280008001402CD42130094A881695F169000933 +:104290001896320BF01F00268C085CC82FE8F7D860 +:1042A000B010AA0BEFDCB010F6C90007E06805F902 +:1042B000F0091900E08B00300D890D98F208180004 +:1042C000C220F6071900C182E0640200F9D7C010CD +:1042D0005C7B181BEC0C000CE04B0200E80B17B0E9 +:1042E0005C7BF01F00138A0B0E0CEFDCB010EE0BA2 +:1042F0001900FE9BFFED48F83009118AF20A1800F8 +:10430000C0D1D8220DA8F2081800CDC10DB8F2080E +:104310001800CD813008AA08D822F5DBC010486CFF +:104320000C9BF01F0006D822000074A88001419C5D +:10433000000074A48003B76C8001447CD4314A38F7 +:1043400018921695118A3009F20A1800C3615805AF +:10435000C33049F83004F0C0FFF4E0610200C22825 +:10436000E06602000C970C93301CA006F01F0019A9 +:10437000300B497C314AF01F0018E404000C0E9AFF +:10438000300BF01F0015304A300B494CF01F001263 +:10439000300CF01F0010EA0601080604EBD8B0103C +:1043A000C0B0E2051900FE9BFFDDEDD5B010EFD6E1 +:1043B000C0100E93CDABD832F5DBC010189B488CE3 +:1043C000F01F0008CC5B0000000074A4000001FC9A +:1043D000800075B4800075348003B7808003B770A7 +:1043E0008001447CD401201D3009301C1A98E06AF9 +:1043F00000F5129BF01F0004314CF01F00042FFD4C +:10440000D80200008001402C800075D2D401F01F3A +:104410000007F01F0007C03030CCD802F01F0003A7 +:10442000F01F0003CFA1DA0A800143E4800141ECD0 +:10443000D401314CF01F0006F01F0006C03030CC14 +:10444000D802301CF01F0004DA0A0000800075D288 +:10445000800141EC80007618D4014878910C911BC2 +:10446000F0CCFFF8F01F0005F9BC010CF9BC00010D +:10447000D8020000000074A8800076385EFCD703E4 +:10448000EBCD40F849C56A096A181039C2F08B0CA7 +:10449000EAC7FFF0EAC6FFF4EEC30010EAC4FF70FB +:1044A0000F89EDB90000C091EDB90001C0616C0940 +:1044B0006A081039E08800082F072F060837CF1147 +:1044C000E3CD80F86E19300B169C5D190F883FDA2A +:1044D000F1EA0009EDB80002C0716609EEF8FFF8D4 +:1044E00012088D08CEABAE89CE8B5809CD118B1C2E +:1044F0008B0CCCFB000074B8EBCD408048CE1897F5 +:10450000300AFCCBFFF0F408150417892F88FC084B +:10451000000CEDB90000C0512FFA2F0B588ACF4183 +:104520003018F96800088F0AE3CF9080000074B853 +:104530002FFC4849A56C18091388A1D8B2885EFCE5 +:10454000000074B82FFC4848A56C30091808B089E1 +:104550005EFC0000000074B8EBCD40E0189E14979C +:104560001295587BE08B002C496AF6C8FFFFA568BE +:10457000F408000C1989EDB90001C1F0F608150422 +:104580001296F4080008A1B6F60915012FF9F409EE +:10459000093E740AB8869157FC0A000A913A5805F8 +:1045A000F9BC0001F9B90104EDD9E138F9F81E00B0 +:1045B000F9BC0101E3CD80E0E3CF80E0E3CFC0E0D0 +:1045C000000074B848387019700C121C5EFC0000B2 +:1045D000000074B85EFC300899085EFC1899780CED +:1045E000580CF9B80001F3F80A005EFC300899088D +:1045F0005EFC300899085EFC5EFC5EFC5EFC5EFCC6 +:10460000D401580BC110F80B000B300A487E7C090E +:10461000F40900092FDAF208141FB98810091019DB +:1046200018C9163CCF51D802000074B85EFD5EFF79 +:104630005EFF5EFF5EFF3FDC5EFC78082FF89908A6 +:104640005EFCD401780820189908C020D80A5D1BA8 +:10465000DA0A301899085EFCD401F01F0002D80273 +:1046600080016D6CEBCD406048784889F5DBC01067 +:104670001895189B7006720C5D160A9CF01F0004BA +:10468000E3CF906000007540000074B4800091E8B2 +:10469000D401E06A0088300B485CF01F0006F01F70 +:1046A00000064868300C9118910CD802000074B8CC +:1046B000800091D0800146C000008B545EFCD7037F +:1046C000D401F01F0011F01F0011301B4909169C86 +:1046D000490AF01F00114919491A301B303CF01FDC +:1046E000000EF01F0010300A301BE06C00F0F01FCD +:1046F000000EF01F000E300A302C149BF01F000C2F +:10470000D80A0000800148C0800147888003B79024 +:10471000800146BC800148548003B794800157A4AF +:104720008001499C800147E0800149F480014730C5 +:104730004828F00C092B5EFC00007548EBCD40E0EA +:104740004905189716966A085808C0205D1848E869 +:10475000F007032C580CC061C088F0061800C09008 +:104760002F8C19885808CFA16A085808C080C00843 +:1047700078193028F0091800FE9BFFF8E3CD80E09F +:1047800000007544000075485EFCD703EBCD40FC8B +:104790004935189630120A94EAC3FFF46A0858089B +:1047A000C0D068385808C19030185806CF805816C5 +:1047B000C0305808CF40E3CD80FC48976E28701970 +:1047C000703C700B5D196E2870296E188F29103996 +:1047D000EFF20A003008CEAB0697CF1B000084B47E +:1047E000EBCD40C018961497580BC24049789009F9 +:1047F000F6091900E088001BF60B00184949F20879 +:10480000002C781A74085808C171741E7428103E60 +:10481000C1507C283009951895099D369D07FD6B80 +:10482000001078089D18E3CD80C0307B305CF01F0D +:104830000009E3CD80C0741ECEDB306B305CF01F0E +:104840000005E3CD80C00000000002200000755C80 +:104850008001473CEBCD408049281497129E581B9D +:104860005F8A9009F80919005FB81468C130F80C24 +:10487000001AF60B0019F4CCFFFF48BB48B8F60A43 +:10488000002AF0090029952EF60C09299507E3CD99 +:104890008080302B305CF01F0006E3CD808000006C +:1048A000000002200000755C000084B48001473CD9 +:1048B000D401307B305CF01F0002D8028001473CFD +:1048C000EBCD404030084AB9B2884ABA940858083B +:1048D000C4D04AA95C784AABF00800184A9EA36885 +:1048E000300C2F88F6CAFFF4F20800082F89930CC9 +:1048F000F34AFFFCF34EFFF82F491039CF91F6CE63 +:10490000FFE84A1A49EB301C970C972A971A14981B +:10491000F4C9FED42EC8F148FFF41238CFC1F54ACD +:1049200001342F4BF4CAFEC01C3BCEF1E06A00807C +:10493000300B496CF01F00164948F0C9FF902F0852 +:10494000F148FFFC491A1238CFB130064918F54634 +:10495000007C910A9116310A0C9B48FCF01F000C58 +:1049600048E80C9C9106E3CD8040485BCC9B00005E +:1049700000007598000002200000755C000084B4FF +:10498000800148B0000082340000759C800091D006 +:1049900000007630000076200000761C4848485918 +:1049A000485A91099119913A912A5EFC000002241B +:1049B000800149D4800149EC48484859485A911926 +:1049C0009109913A912A5EFC00000224800149D4A9 +:1049D000800149EC48494858311AEA1A4000143C11 +:1049E0005E085E19800149D480014A0C481C5EFCB7 +:1049F000800149ECD4013019300A303BFC1C4000E6 +:104A0000F01F0002D8020000800186C8EBCD408074 +:104A10004B373099EA194000123CC310E088001F60 +:104A200030B9EA194000123CC2A0C4233139EA1956 +:104A30004000123CC500E069078AEA198000123C78 +:104A4000C241761CF01F0027300A4A77149B314C74 +:104A5000F01F00260E9CE3CD80803019EA1940003B +:104A6000123CC320E08800153079EA194000123C5E +:104A7000C0603089EA194000123CC0713019300A18 +:104A8000303BF01F001B49B70E9CE3CD8080FC1922 +:104A90004000123CCFA130194978300AF149004456 +:104AA000304C149BF01F00110E9CE3CD8080301918 +:104AB000300A303B30ACEA1C4000F01F000D48D7F4 +:104AC0000E9CE3CD8080302B300CF01F000C0E9C30 +:104AD000E3CD808048470E9CE3CD808080014A0C66 +:104AE0008001DA2C800149D480014658800186C8B3 +:104AF000800152F0000087F480018390D401201DD2 +:104B00001A9CF01F0008C07040085818E088000682 +:104B1000F01F00052FFDD802F01F00042FFDD80262 +:104B200080015F4480015EDC80015EB4EBCD40F823 +:104B3000201DFEF805EA189716951496103AC3A0A2 +:104B4000FEF805E0103AC610FEF805DC103AC06029 +:104B50000C970E9C2FFDE3CD80F8E068018CEA18DD +:104B60008000103CE08000F7E068078AEA188000C7 +:104B7000103CE08000ADE0680186EA188000103C3F +:104B8000CE8176170E9CF01F0169F01F0169C0915C +:104B9000FEF805A0EEEA0000F0EB00006E29912976 +:104BA0000C97FEFA0592300BFEFC0590F01F016495 +:104BB000CD1BF01F015F1894C4D1E0680184EA188E +:104BC00080001037E0800185E08B00D2E0680107AB +:104BD000EA1880001037E08001A0E0680183EA183D +:104BE00080001037CB616A170E9CF01F0156E080E1 +:104BF0000230FEF905523048F34800440E9B334C16 +:104C00000C97F01F0152CA6BFEF4053CE0680112DC +:104C1000EA188000E8F300F8103CC540E08B006320 +:104C2000E0680107EA188000103CE08000F7E068C7 +:104C3000010DEA188000103CE080010DE0680105DC +:104C4000EA188000103CC851761C1497F01F0140F0 +:104C5000C81BFEF304F2E0680188EA188000E6F45D +:104C600000F81037E08001B0E08B00ABE068018312 +:104C7000EA1880001037E080018BE0680184EA18B0 +:104C800080001037E080016EE0680107EA188000BC +:104C90001037FE91FF5F6A18303CF13B000BF01FAC +:104CA000012D3019300A303B30CCEA1C4000F01F97 +:104CB000012A300AFEF70470149B301CF01F0127F4 +:104CC000C49B761C1497F01F0126C44B6A1CF01F6E +:104CD0000125300AFEF70490149B314CF01F011F90 +:104CE000C39BE068018AEA188000103CE08000CB9A +:104CF000E068078AEA188000103CCE90E068011551 +:104D0000EA188000103CFE91FF2576150A9CF01FE2 +:104D100001170BC93048F0091800E08001BBE08B97 +:104D2000019B3008F0091800E08001BF6738301996 +:104D300011EAF20A1800E08001DD0A9CF01F010C64 +:104D4000FE90FF08300A0C97305C149BF01F0103A3 +:104D5000C01B76170E9CF01F0107F01F00F5C4F171 +:104D60000E9B33DC0C97F01F00F9CF4AE068018AF4 +:104D7000EA1880001037E08000BDE068078AEA1872 +:104D800080001037E0800099E0680188EA18800010 +:104D90001037FE91FEDF6A170E9CF01F00F7C0A0CF +:104DA000F01F00F63069FEF8039EFEF60376F14927 +:104DB00000440E9B336C0C97F01F00E4CCBAE06803 +:104DC000018EEA1880001037E08000B7E068078A9B +:104DD000EA1880001037FE90FF7BE068018AEA182D +:104DE00080001037FE91FEB66A160C9CF01F00E49E +:104DF0001897E0800114FEF7032ACACA3099FEF81A +:104E000003460C97F1490044FEFA032C300BFEFCDC +:104E10000372F01F00CBC9EA76150A9CF01F00DA76 +:104E2000302B169CF01F00D9FEF702FCF01F00C0CB +:104E30001896E08100DD0A9B337CF01F00C40C9AB9 +:104E40003019303B30ECEA1C4000F01F00C3FE9FDD +:104E5000FE8276160C9CF01F00CE302B304CFEF7F5 +:104E600002C6F01F00CAF01F00B2E08000EC30194B +:104E7000300A303B310CEA1C4000F01F00B7FE9FA7 +:104E8000FE6A76150A9CF01F00BE1897E08000BAF3 +:104E9000300A302C149BF01F00B13078E9480044F0 +:104EA000F01F00A3FE91FE560A9B0C9733BCF01F27 +:104EB00000A7FE9FFE506A1CF01F00AA089AFEF78A +:104EC00002A6089B314CF01F00A5FE9FFE446A1706 +:104ED0000E9CF01F00B0C060FEF9026C3058F34821 +:104EE00000440E9B335C0C97F01F0098FE9FFE332E +:104EF0006A170E9CF01F00A2C0803069FEF80248BD +:104F0000FEF60220F14900440E9B33BC0C97F01FC3 +:104F1000008FFE9FFE206A1B337CF01F008C089AD6 +:104F2000FEF702043019303B30ECEA1C4000F01F61 +:104F3000008AFE9FFE106938301911EAF20A180043 +:104F4000FE90FE086A1CF01F0094FE91FE03189A62 +:104F5000189BFEF70246301CF01F0080FE9FFDFBF1 +:104F60006A150A9CF01F008B1897E08000874F2A73 +:104F7000300BFEFC022AF01F00721897E08000AE92 +:104F800030580C97E7480044FE9FFDE56A150A9CDF +:104F9000F01F006C1897E08000956938301911EA0D +:104FA000F20A1800FE91FDD64E3A300B4FDCF01F8E +:104FB00000641897E08000A930480C97E748004447 +:104FC000FE9FFDC96A160C9CF01F006B1897C2600B +:104FD000F01F006A30684D37E7480044FE9FFDBB74 +:104FE000EACBFFFC301A30DCF01F005C3019300ACD +:104FF000303B30CCEA1C4000F01F0057FE9FFDAB59 +:10500000F01F004BFE90FF4E0E9A3019303B30CC13 +:10501000EA1C4000F01F0050C44B303B30CCEA1C6F +:10502000400030190E9AF01F004C0DEB304CF01F71 +:1050300000490E9A0E9B301C4BB7F01F0048FE9F94 +:10504000FD8A0C9B33ACF01F0041FE9FFD844D3662 +:10505000FE9FFDD63068F0091800FE98FE693828DA +:10506000F0091800FE91FD76300A0C97325C149B13 +:10507000F01F003AFE9FFD6F189A303B30CCEA1CBF +:1050800040003019F01F0034EB3B000D303CCD0BDD +:105090003008FACBFFFC0C9716F8301A30ECF01FF2 +:1050A000002FFE9FFD580A9CF01F003FFE90FD520E +:1050B000300A0C97306C149BF01F0028FE9FFD4BAC +:1050C0000BCB302CF01F00230E9A0E9B301C4B375D +:1050D000F01F0022FE9FFD3F189A303B30CCEA1CA7 +:1050E00040003019F01F001CEB3B000D301CCA0BB8 +:1050F00048D7F01F000FFE91FF750A9B338CF01FFD +:105100000013FE9FFD28189A303B30CCEA1C40006B +:105110003019F01F00110BCB301CC8AB800152F0CE +:10512000800151A8800156388001D9AC800185E406 +:105130000000763880018E9C8001E03C8001EF20E9 +:105140008001E88C000087F480016D6C8001E2D45E +:1051500080018390800186C8800146588001E00864 +:105160008001DA2C800149D48001E2FC80016D4A83 +:105170008001D9C88001E4D080014AFC8001E4307C +:105180008001E0D48001D9FC800183A08001D9E8AE +:105190008001E81C8001E3DC80014A0C8001E7B853 +:1051A0008001E58880016D48EBCD40C04C96189792 +:1051B0003138EA184000103CE0800087E088002485 +:1051C000E068010DEA188000103CC150E088004002 +:1051D000E0680115EA188000103CC0D0E068018A40 +:1051E000EA188000103CC070E0680112EA188000E4 +:1051F000103CC3910E9C4B7AF01F003718960C9C04 +:10520000E3CD80C03018EA184000103CC510E0889B +:10521000002E30D8EA184000103CC1003108EA18CE +:105220004000103CC3F030C8EA184000103CC1B147 +:10523000301C302BF01F00290E9C3019300A303BF7 +:10524000F01F00274A760C9CE3CD80C0E068010582 +:10525000EA188000103CCCF0E0680107EA188000F2 +:10526000103CCC900C9CE3CD80C0E04C008ACC304C +:10527000FC184000103CCF71307949B8300AF14930 +:105280000044149B302CF01F0019300A30FC149B92 +:10529000F01F0016302B300CF01F00100C9CE3CDDB +:1052A00080C0303C302BF01F000D0E9CCC7B48E9B9 +:1052B0007298ABC8300A9398149B303CF01F000BD7 +:1052C0000C9CE3CD80C048A60C9CE3CD80C00000C0 +:1052D000800151A880014B2C800183A0800186C8E9 +:1052E00080015638000087F480014658800149D477 +:1052F000D421FACD00E4FEF602E21898FEF502E0B1 +:10530000ECF700F83109EA194000123CE08000D5C2 +:10531000E08B003630A9EA194000123CE08000C260 +:10532000E088005330C9EA194000123CE08000A830 +:10533000C6A330D9EA194000123CE080011930F9C7 +:10534000EA194000123CC3D1FEFA0298300BFEFC71 +:105350000296F01F00A61896C341189BFEFA02841D +:10536000FEFC028CF01F00A1304C301BF01F00A18E +:105370000C9A0C9B301CF01F00A0C238E06901841D +:10538000EA198000123CE0880011E0690188EA19FE +:105390008000123CC100E08B00A5E0690186EA199B +:1053A0008000123CC0E1C078E0690183EA19800006 +:1053B000123CC363109CFEFA0226F01F0090189561 +:1053C0000A9C2C7DD8223079EA194000123CC7C0D3 +:1053D000E08800973089EA194000123CE08000CF55 +:1053E0003099EA194000123CCEC14FEA300BFEFC66 +:1053F000020EF01F007E1894E08000CF3048ED4888 +:105400000044CDFB4F7A300B4FECF01F0078CD916C +:10541000189A189B4FC5301CF01F0077CD2BE06900 +:105420000107EA198000123CCC60E0690115EA1915 +:105430008000123CC1203139EA194000123CCC11E5 +:10544000300A301C149BF01F006C300A304C149B47 +:105450004EE5F01F0069CB5B6F38301911EAF20A94 +:105460001800C72076160C9CF01F00690C9CF01FDA +:1054700000694E98580CF0051710CA3B303B3019A4 +:10548000300AF01F0066302B303CF01F005A300A03 +:10549000301C149BF01F00584E150A9C2C7DD822FE +:1054A0004D0A300B4DFCF01F00511897C3B0305817 +:1054B000ED480044C86B303B3019300AF01F0057EC +:1054C000302B304CCE3B6C9BE21B0040C2414C5A0F +:1054D0004D5CF01F0046C9D03028ED480044C71B82 +:1054E000E069018AEA198000123CFE90FF65E069DC +:1054F000018EEA198000123CFE91FF64C5CBFC19B5 +:105500004000123CFE91FF5E300A149B149CF01F79 +:10551000003AC57B300A4BC5149B301CF01F003687 +:10552000C50B30481A9BBAE8336CF01F00400E9A46 +:105530003019303B30ECEA1C4000F01F00384B893A +:105540004BB89119C3EB76170E9CF01F00310FC9B1 +:105550003068F0091800FE9BFF354B15F01F003531 +:10556000C2A10E9B338CF01F0031C2BB4AC530195B +:10557000300A303BF01F0029C24B49AA300B4AAC1D +:10558000F01F001ACAA1304849F5BAC81A9B334C1B +:10559000F01F0026C16B306AEECBFFE2FACCFFFCB5 +:1055A000F01F002530481A9BBA68335CF01F001FBB +:1055B000089ACBFB3019300A303B30CCEA1C400053 +:1055C000F01F00160FCB305CF01F000A300A301CB1 +:1055D000149BF01F0009CF5A000087F4800152F09D +:1055E00080018E9C8001E7548001EF208001E03C27 +:1055F000800183908001465880014B2C8001E58812 +:105600008001DA5480014A0C800149D48001E2FC17 +:1056100080016D48800151A8800186C880015638FC +:105620008001E7B88001EA8C80016D6C00000224E3 +:10563000800185E48002E736EBCD40804C9731084D +:10564000EA184000103CC6F0E088001DE068018CBC +:10565000EA188000103CC3B0E088002EE068019397 +:10566000EA188000103CC440E0680194EA18800009 +:10567000103CC2714BC7761CF01F003C0E9CE3CD62 +:10568000808030C8EA184000103CC400E088001D4B +:1056900030D8EA184000103CC21030E8EA18400048 +:1056A000103CC0F14B2A300B4B2CF01F00330E9CEA +:1056B000E3CD8080E0680186EA188000103CC0706D +:1056C0000E9CE3CD8080E04C008ACFB14A5AF01F97 +:1056D000002B18970E9CE3CD8080F01F00294A4ACA +:1056E000300B4A8CF01F00240E9CE3CD8080761C8A +:1056F000F01F0025F01F0025C0514A5B33CCF01F7E +:10570000002549970E9CE3CD80804A39731858983C +:10571000CD803098496AF3480044300B49FCF01FB3 +:105720000016CCFB49C973185888CCB03088F348B0 +:105730000044F2F900F87338301911EAF20A18003F +:10574000C0A03019300A303B30DCEA1C4000F01FAA +:105750000014CB7B486A300B492CF01F0007CB1B91 +:105760008001563880014A0C8001DA4680018E9C07 +:105770008001E03C8001EF2080014B2C80015E34F1 +:105780008001DA448001DA48800185E4000076383F +:1057900080016D6C000087F48001E0D4800186C830 +:1057A0008001E094EBCD40F84A37189416956E18B6 +:1057B0006E090E930E96C118300B301CEA1C400087 +:1057C0005D19300B6C39FC1C40005D196C388D285C +:1057D0006E186E091238C2001039C190300B301C9F +:1057E000EA1C40005D19300B6E19FC1C40005D196D +:1057F0006E188F086E296E381039CDF10A9B089CFF +:105800005D19873C6629123CCF71CE3B0A9B089CF0 +:105810005D198F1CCF0B5805C0706A085818C060FE +:105820000A9CF01F0006E3CD80F8EACCFFFCF01FD5 +:105830000004CF7B00000224800091E88001D3A8FF +:105840004878F14C00F8580CF9F81004F9B9010146 +:10585000F1D9E108F9F81A045EFC0000000087F4B1 +:10586000EBCD40C04948FAC6FFF4F0F700F4580702 +:10587000C051C1E8F8C70008C1B0EECAFFDC740827 +:10588000204D502815C9FB69000C15D8FB68000D88 +:105890006C0850080DC9BAC90DD8BAD8F01F000756 +:1058A0002FCD580CC0516E2C580CCE5118970E9C11 +:1058B000E3CD80C0000087F480018898D40149D9E5 +:1058C000F2F800F41838C0B078285808C2B0784808 +:1058D000201899482F8CF01F0018D802580CF9F89E +:1058E0001004F9BA01FFF1DAE108F9F81A043008F6 +:1058F000F34800F448FA78285808C180F0C9000835 +:10590000F54900F4CE8072482FF89348F4F900F47A +:105910005809CE10724820182F8C9348F01F0006AB +:10592000D80278385808CD41D802F54800F4CD3B6C +:10593000000087F48001F2A0D4014989F2F800F058 +:105940001838C0A078085808C240784820189948EC +:10595000F01F0013D802580CF9F81004F9BA01FF2F +:10596000F1DAE108F9F81A043008F34800F0780A8F +:10597000F34A00F0580ACED074482FF89548487979 +:10598000F2F900F05809CE50724820189348CE1B07 +:1059900078185808CDB1CDFB000087F48001F2A043 +:1059A000EBCD40801897580AC2C07858F608010815 +:1059B0001438E08800274948F0FB00F8580BC190E4 +:1059C000F8CAFFDC15D8204DFB68000D740950297A +:1059D00015C8F6CAFFDCFB68000C7408500815C92E +:1059E000BAC915D8BAD8F01F00092FCD580CC091EC +:1059F0000E9CF01F00070E9CF01F0006E3CF908066 +:105A0000E3CF8080000087F48001889880015938B6 +:105A1000800158BCD4214A141895E8F700F05807C3 +:105A2000C27079383006704AC02810976F387049B4 +:105A30001439E08A00086E080E965808CF710E9649 +:105A400010970A37C0D06A085808C0B00A9CF01FE7 +:105A500000145806C1300A9B0C9CF01F0012D8227B +:105A60006A185808CF416A482FF88B48CF3BE94C59 +:105A700000F078482FF89948D8220A9B0E9CF01F16 +:105A800000090E9CE94500F0F01F00050E9B0A9CE2 +:105A9000F01F0004D8220000000087F48001F2A06B +:105AA0008001F28CEBCD40C04A48FAC7FFF4F0F613 +:105AB00000F05806C051C3D86C065806C3A06D3814 +:105AC000707C2F4CF8E80000212DFAE90024F8EA58 +:105AD0000008FAEB002CF8E80010FAE90034F8EAC4 +:105AE0000018FAEB003CF9380020FB680044F93953 +:105AF0000021FB690045EEE80000FAE90000EEEA4B +:105B00000008FAEB0008EEE80010FAE90010EEEAEF +:105B10000018FAEB0018EF380020FB680020EF397E +:105B20000021FB690021F01F00062EED580CCC501F +:105B30000C9CE3CD80C00000000087F48001891038 +:105B4000EBCD40E0205D7608502817C9FB69000CBA +:105B500017D81697FB68000DF8CBFFE2306A18964D +:105B60001A9CF01F0034F01F00342FCD580CC05188 +:105B7000300C2FFDE3CD80E06E7C2F4CF8E8000068 +:105B8000212DFAE90024F8EA0008FAEB002CF8E8E5 +:105B90000010FAE90034F8EA0018FAEB003CF93892 +:105BA0000020FB680044F9390021FB6900456D388D +:105BB000707C2F4CF8E80000FAE90000F8EA0008D1 +:105BC000FAEB0008F8E80010FAE90010F8EA00180B +:105BD000FAEB0018F9380020FB680020F9390021A1 +:105BE000FB690021F01F00152EED580CCC20320B64 +:105BF000300CF01F00131895CBC0189A0E99491B52 +:105C0000F01F00110BF93008F0091800EDF800132F +:105C1000F1F90807EBF90E07FACCFFFC6D3818D83C +:105C20001A9CED45004CF01F0009301CCA3B0000D7 +:105C30008002E73680018898800189108001D8DCD5 +:105C40008001D3EC8001AD408001D3A8EBCD40C0F2 +:105C500049C649D86C09700A1439C05530070E9CE2 +:105C6000E3CD80C0350CF01F00191897CF906C0859 +:105C70002FF8350A8D08300BF01F0015320B300C51 +:105C8000F01F0014EF4C004C1898C16030084929EF +:105C90008F680E9CF30A017C8F28EF5A001CEF6876 +:105CA000002A8FF88F488F58EF4800408F188F08D0 +:105CB0008F38E3CD80C00E9C1097F01F0008CD0BED +:105CC000000076440000025880009200800091D0CD +:105CD0008001D8DC00000260800091E8EBCD4080BC +:105CE000189778485808E08A0004E3CD8080793816 +:105CF0005808C0402B4CF01F000648697208201855 +:105D00000E9C9308F01F0004E3CD80808001D3A88F +:105D100000007644800091E8D4014899F2FC00F834 +:105D2000580CC0A07848201899483008F34800F86B +:105D3000F01F0004D802F34C00F8D802000087F4EA +:105D400080015CDCEBCD40F84B131894E6F700F8CB +:105D50005807C060189B0E9CF01F002EC1D1E6F7BB +:105D600000F05807C4203006C1285806C0706F38AC +:105D70006D39704A7248103AC064E6F800F80E387F +:105D8000EE0617106E070E955807C0900E9C089BE4 +:105D9000F01F0020CEB00E9CE3CD80F8F01F001E57 +:105DA00058065F18580C5F0918971069EA0918001F +:105DB000C201089B306AEECCFFDCF01F0018089B84 +:105DC000306AEECCFFE2F01F00156F3A0899149C80 +:105DD000493BF01F001430080E9C8F088F18F01FED +:105DE00000120E9CE3CD80F8F01F000B1897CE2B0D +:105DF0000C9CF01F000E0C9CF01F000D0C9CF01F63 +:105E0000000DF01F00051897CD51CC6B000087F4F2 +:105E100080015B4080015C4C800091DC8001D3EC10 +:105E20008001AD4080015A1480015938800158BC6E +:105E300080015CDCEBCD40E04905EAF700F458074F +:105E4000C0D1C158F0C600080E9CF01F000D0E9C7A +:105E5000F01F000C5806C0B00C976E285808CF31C0 +:105E60000E9CF01F00070E9CF01F00063008EB4848 +:105E700000F4E3CD80E00000000087F4800158BC0E +:105E800080015CDC580CC04078185B98C110489ABF +:105E900074991298EDB90001F9BC0101F9BB001029 +:105EA000F3DBE038F5F80A09F9BC00015EFC5EFDA1 +:105EB000000087F4489A7498109CF0091604E21CBC +:105EC0000002F9BB0110F1DBE138F5F81A09F9B865 +:105ED0000101F3D8E12C5EFC000087F4489A749825 +:105EE000109CF0091604E21C0002F9BB01EFF1DB83 +:105EF000E128F5F81A09F9B80101F3D8E12C5EFCA4 +:105F0000000087F448887099129CA589E21C000261 +:105F1000F9BA0101F3DAE148F9B90101F1D9E12C4B +:105F20005EFC0000000087F418994868709CE21C31 +:105F30000002F1F8103FF3F81A00F9BC01015EFC11 +:105F4000000087F418994868709CE21C0002F1F880 +:105F50001041F3F81A00F9BC01015EFC000087F45F +:105F600018984859729CE21C0002F3F81A41F9BCD7 +:105F700001015EFC000087F44839300C7298A7C814 +:105F800093985EFC000087F44839300C7298A5D8CD +:105F900093985EFC000087F4D401E06A0100300BA6 +:105FA000482CF01F0003DA0A00007648800091D0E8 +:105FB000EBCD40C04A0A18967498109CE21C00026F +:105FC000C1D0F4F700F85807C1801099E2190020F9 +:105FD000C270A5C8A7A8F4FB00BC95983009497AFF +:105FE000E06CEA60F01F00163008F0061800C100EF +:105FF0003018F0061800C040301CE3CD80C0311CC2 +:10600000EECBFFE2306AF01F000FE3CF90C0312CDF +:10601000EECBFFE2306AF01F000BE3CF90C0A5B8D3 +:10602000F4FB00B89598E06CEA60487AF01F000431 +:10603000CDCB0000000087F480015F7880014558D7 +:106040008001465880015F88D401F01F0002D80209 +:1060500080018040D40148687098E2180002C03185 +:10606000109CD802F01F0003D8020000000087F443 +:10607000800183FCD40148687098E2180002C031A6 +:10608000109CD802F01F0003D8020000000087F423 +:10609000800183D8D431FACD0188E06A0168300BE1 +:1060A0001A9CF01F002CFAC6FE541A901A9CF01F7E +:1060B000002A581CC03029EDD832FAC5FFF8401824 +:1060C000F0081016EA0800081035C4120A97FAC43E +:1060D000FE98ECC1FFF8C09840182EA7F0081016E3 +:1060E000EA0800081037C3326C08204D50280DC94B +:1060F000FB69000C0DD80E9BFB68000D306A1A9CE2 +:10610000F01F0016F01F00162FCD580CCE60EECBFE +:10611000FFFA310AFACCFE88F01F0010E2E8000016 +:10612000310AE8E90000089BE2E20008FACCFE88A8 +:10613000E8E30008F01F000BCD01189B316A0E9CAC +:10614000F01F0004009CF01F0008CB6B29EDD83A2B +:10615000800091D0800160748002E73680018898C9 +:106160008000917C80016054D431FACD018CE06ACA +:106170000168300BFACCFFFCF01F0050FAC5FE504E +:10618000FACCFFFCF01F004E581CC03029DDD8327D +:10619000402858F8E088007FF0081016FAC1FFF494 +:1061A000E20800081031E0820087E06801685018BA +:1061B000EACBFFF8FAC6FFF002973004FAC0FE946B +:1061C000500BC0C85804C36040282EA7F008101612 +:1061D0002EA6E20800081037C4926A08204D502805 +:1061E0000BC9FB69000C0BD80E9BFB68000D306AD5 +:1061F0001A9CF01F0034F01F00342FCD580CCE3005 +:10620000ECCBFFFE310AFACCFE84F01F002E400BCF +:10621000F6E80000310AE0E90000FACCFE84F6E27C +:106220000008009BE0E30008F01F0028CB005804A2 +:10623000CCC10F89E8091800CC810F98F20818002A +:10624000CC410FA9F0091800CC010FB8F2081800D2 +:10625000CBC10D89F0091800CB810FD8F2081800C6 +:10626000F9B40100EE041700CB0B5804C2400A9B9E +:10627000306A089CF01F0013EACBFFF8310AE8CC23 +:10628000FFFAF01F0010FACCFFFCF01F001129DD0F +:10629000D832F00A1110FAC1FFF4F40A1016E2081D +:1062A000000C300BF01F00053108E0690168502830 +:1062B0005019C7FB3FDCC6BB800091D080016074E1 +:1062C0008002E736800188988000917C80016054CC +:1062D000EBCD40C0208DBACBBA8A189B4968709C20 +:1062E000E21C0002C06118970E9C2F8DE3CD80C088 +:1062F0003008FAC6FFF8504850281A99FACAFFFC2D +:106300000C9CF01F000EC111189740285808C0407F +:106310000C9CF01F000B404C580CCE70F01F000975 +:106320000E9C2F8DE3CD80C00C9CF01F0007581CE5 +:106330005F07CECB000087F48001E1308001D3A855 +:10634000800091E880018E9CEBCD40C0201D491754 +:1063500018966E9CE21C0002C0412FFDE3CD80C068 +:106360001A9CF01F000DEF4600FCEEF801105808D3 +:10637000C051301C2FFDE3CD80C0EECCFEECEF3AD7 +:10638000011BEF3B011AF01F0005301CCF4B000032 +:10639000000087F4800177A4800162D0EBCD4080BB +:1063A000201DBA8C48C76E98EDB80001C0402FFD83 +:1063B000E3CF808030181A99300A308B487CF01F68 +:1063C0000008581CCF511B88EF4801202FFDE3CD5A +:1063D00080800000000087F48003B7A08001776C04 +:1063E000D401201D48B91898729CE21C0002C0E03C +:1063F000300AF368004C308BFAC9FFFC486C12F885 +:106400003018F01F0006581C5F0C2FFDD80200004A +:10641000000087F48003B7A88001776CD401203D89 +:10642000BA8C496A749CE21C0002C0312FDDD8028C +:106430001B8B3038F00B1800E089001DE06832003B +:10644000EA18312EE069352EEA19312EFAE90004F6 +:10645000F4F800F8F3DBB008300A5808F1F91A0F25 +:10646000308B30181A99FACCFFFCF01F0005581C2D +:10647000CDE03FECCDCB0000000087F48001776CCD +:10648000D421206D4A0618976C98EDB80001C040E1 +:10649000300C2FADD822584C5FB8E04C00FF5F198C +:1064A0001268C0303FECCF6B300814995028169A10 +:1064B0005008189B1A951A9CF01F0014CEA01A9C25 +:1064C000F01F0013400818945808C0401A9CF01F91 +:1064D0000011402C580CC030F01F000F5814CD9103 +:1064E0006C98EDB80007C0C15837E08B000AEE0881 +:1064F000150648A9300A1009089C930ACCBB301C29 +:10650000CC9B0000000087F48001E1A480018E9CF8 +:106510008001D3A8800091E800007648EBCD40C010 +:10652000202D496718966E98E2180002C2103FF8B5 +:10653000FACAFFFEBAF8BAA8BAB8BAC8BAD8BAE85E +:10654000300BF01F000F6E98EDB80007C0E1583611 +:10655000E08B000CEC081506300A48A9301C100925 +:10656000930A2FEDE3CD80C02FEDE3CF90C0109CB8 +:106570002FEDE3CD80C00000000087F4800164802F +:1065800000007648EBCD40C0202D49F66C9CE21C03 +:106590000002C2703FF8BAF8BAA8BAB8BAC8BAD8F6 +:1065A000BAE8ECFB00F8580BC260F6CCFFE2303AD8 +:1065B000300BF01F0016FAC7FFFE301CF01F00144E +:1065C000303B0E9A300CF01F00136C99300B129870 +:1065D000ED4B0110A3D88D98EDB90007C050301CC9 +:1065E0002FEDE3CD80C0E06A010048BCF01F000B36 +:1065F000301CCF7BFAC7FFFE303A0E9CF01F000321 +:10660000CDDB0000000087F4800162D08001651CB2 +:106610008001648000007648800091D0D43120DD74 +:10662000FB690010FB68000CFAC9FFA8FEF7023CEA +:1066300018956E981696149272307201E218000244 +:1066400072147223C041300C2F3DD832E04B002031 +:10665000E08800043FFCCF9B584CE08B002158DBC6 +:106660005FBA301BFB380010F60818005F09126A89 +:10667000C030580CC1413078FACCFFD4FB680033ED +:10668000F01F007B3008303C50785058F01F0079E4 +:1066900058D6C070E08B00315856C0303FECCD5B0F +:1066A00030683019FB680033EF49011CFACCFFCD8C +:1066B000F01F0071501C1AD31AD41AD1FB38001CD9 +:1066C00004991AD80C9AFB380043FACCFFDC0A9BD9 +:1066D000F01F006A2FCD580CC1B140585808C05067 +:1066E000FACCFFECF01F0066407C580CCAD0F01FBB +:1066F0000065300CCAAB5906C6C0E0460020CCF19C +:1067000030283029FB680033EF49011CCD0BFACC4F +:10671000FFECF01F005D500C40585808C050FACCF8 +:10672000FFECF01F0057407C580CC030F01F0055A4 +:1067300040085818C8915800EFF81009F9B9010835 +:10674000F1D9E138EFF81A093009FB380010F208E6 +:106750001800C051F9D5B008F01F004C6E98EDB884 +:106760000001C0514C18F0F800FC501840185808AF +:10677000C080FB3A0010FB3B000C089CF01F00445B +:10678000306A089BEECCFEECF01F0042301AFACBC8 +:10679000FFF4EECCFEE6F01F003FEECCFEE5301A33 +:1067A000FACBFFF0F01F003B3018EF480110FB68F8 +:1067B00000326E9C4AD7EDBC0001C120EDBC000741 +:1067C000C061FB38000C50285845C1E1301CC3DBC8 +:1067D00030483039FB680033EF49011CC68B300864 +:1067E0004ADB1099109A109CF01F002CC3401ADC51 +:1067F0003018FAC9FFCA300A308B4A9CF01F0029B2 +:106800006E9C2FFDCDCBEA0915064A780C9AF0094B +:106810000007049BEF650026EF560024EECCFFFC3A +:10682000F01F001C089BEF610036306AEECCFFD8E9 +:10683000F01F00185803C110069B308AEECCFFD21F +:10684000F01F001440288FF0EF68003830188F08D0 +:10685000109CCFBA6E9CCB3B069B308AEECCFFD20D +:10686000F01F0012CF0B0000000087F4800177A416 +:106870008001EF6C80017BD88001E2148001D3A8F5 +:10688000800091E880018E9C8001641C800162D0B0 +:10689000800091DC80015E8480016AF48003B798F7 +:1068A0008001773000007648800091D0EBCD40C069 +:1068B000300749A60E98A7682FF7EC08000B76085A +:1068C0005808C0F10E985847CF714957EF3C004C1B +:1068D000F01F0014EEFC0100F01F0013E3CF90C086 +:1068E00076F8F6C9FFD2F73C00261AD8F6C8FFD8CA +:1068F0001AD91AD8F7390036F6CAFFFC1AD9F73870 +:106900000038F7390027F71B0024F01F00082FCDAF +:10691000581CCD90E3CF80C000007648000087F47B +:10692000800163E0800163488001661C7808301CA8 +:10693000F80A094C201C106C5EFCD70348787008DC +:106940005808C0901838C041C078103CC05070B88A +:106950005808CFC15EFD5EFF0000778C189A48F89A +:10696000709CE21C00025E0C70A8EDB80000C03004 +:10697000305C5EFC48AC780B583BE089000D300978 +:106980004888F00B003891189109950BF6C8FFFF65 +:1069900099085EFF3FDC5EFC000087F4000077880A +:1069A0000000776848D972A8EDB80000C1313008FE +:1069B000780A99D848ABF60A003A741999E974181C +:1069C000F8C9FFCC910C7808301CF60800389119F2 +:1069D0005EFC305C5EFC0000000087F4000077681D +:1069E000EBCD40C0189778B95809C18078C893C8D2 +:1069F0006EC891096E3C580CC050F01F000B300857 +:106A00008F3833CA6EA635AB0E9CF01F00080C9B66 +:106A10000E9CF01F0007E3CF80C078C94858911939 +:106A200078B9CE7B800091E8800091D0800183B05E +:106A30000000778CEBCD40801897580CC180789877 +:106A40005D1848F972095809C051C11872B958093E +:106A5000C0E01237CFC16E785808C0B06E3C580CF9 +:106A6000C060F01F000830088F588F38E3CF908047 +:106A70000E9C301BF01F0004E3CF90800000778C49 +:106A8000800091E8800169E0EBCD4080496972A8FF +:106A9000EDB80000C040305CE3CD8080493870091B +:106AA0001839E08A001E4928F00C00376E09580991 +:106AB000C15072DA580AF3F8000EEFF80A01F3FA3F +:106AC000000DF3F8100EF5F81A0E72E8129C910AF8 +:106AD000F01F00086E095809CED1E3CF90803FCC5B +:106AE000E3CD8080000087F400007788000077689D +:106AF00080016A34EBCD40F81897169614951294DD +:106B0000109333CCF01F000CC1403008990799B89E +:106B10009938995899889996994599649973487ABA +:106B2000301899A8741999C9930CF8C8FFD495180E +:106B3000E3CD80F8800092000000778CD401202DF6 +:106B4000500A48C972A8EDB80000C040305C2FED73 +:106B5000D80248981A99F00B032A3048FA08000B1B +:106B6000F01F0006581CF9BC0001F9BC01FECF0B58 +:106B7000000087F4000077488001F1D8EBCD40C0D9 +:106B8000201D4AC618976CA8EDB80000C441580CE7 +:106B9000C3F0789B580BC3C0780A580AC3954A695A +:106BA000F20A033850085808C061C1A870D85008CC +:106BB0005808C1601037CFB1F40815036EDA580ACF +:106BC000F3D8E009EFF8000EF3F80A01EFF8100E21 +:106BD000F5F81A0E400870DA70E9930A6E9B3F9838 +:106BE0008F18580BC0300E9C5D1B6E8B581BC0500D +:106BF000582BC150580BC0516E2A1A9CF01F000F21 +:106C00000E9C301BF01F000E2FFDE3CF90C02FFD18 +:106C1000E3CF90C0305C2FFDE3CD80C0ECF801B82D +:106C20000E38CEF130094838F14901B8CEAB00003A +:106C3000000087F40000776880016B3C800169E008 +:106C4000D40148C9169E72A8F1D8C001C031305C89 +:106C5000D8024898304A76A9F00C032C1ADAF6C804 +:106C6000FFF833CAF01F00052FFD581C5F0CD80237 +:106C7000000087F4000077488001F164D431204D92 +:106C800030084931189650285018FAC5FFF4FAC256 +:106C9000FFF802901A93FAC4FFFCC098E006032A9A +:106CA000F01F000C0E9B401CF01F000B3049049B92 +:106CB0000A9AE206032CF01F0009304818970A9937 +:106CC0001A9B089C5817CEB02FCDD83200007748B9 +:106CD0008001F1D880016B7C8001F0B4EBCD40E005 +:106CE000201D49356AA8A1A8300A49298BA8149704 +:106CF000930A14984906EC08002C2FF748FA303B09 +:106D0000F01F000F581CC0F10E985887CF5148D87B +:106D1000300991189109301B1A9CF01F000B2FFDB0 +:106D2000E3CD80E06AA8A1C88BA8CF2B000087F430 +:106D300000007788000077488001692C8001F05CB2 +:106D40000000778C8001695C5EFD5EFFEBCD4080CA +:106D5000189778785808C030788C5D180E9CF01F12 +:106D60000003E3CD80800000800091E8D4314B1017 +:106D70001895169260095809C58030047258721926 +:106D80000A38F7B400FF5809CFA10891E80C1502A2 +:106D9000F01F00291893C46060075807C2303006FE +:106DA000C0486E175807C1E06E580A38CFB10E9C24 +:106DB000F01F0022E60609276E485808C0F06E1939 +:106DC0005809EFF80002E1F80A01EFF90001EFF8C5 +:106DD0001002F3F81A026E2891092FF66E17580761 +:106DE000CE415804C1A006953006C0380836C154BB +:106DF0006A07049C6E686E8B5D18491B0E9CF01F21 +:106E000000112FF62FC56E485808CF100E9C48CBA6 +:106E1000F01F000C0836CED5069CF01F000B029C1C +:106E2000D8321891029CD83212941291CB0B0000E8 +:106E300000007794800092008001463A80016D4CFA +:106E400080014642800091E8EBCD4080324CF01F3B +:106E500000081897C080324A300BF01F00060E9CC5 +:106E6000F01F00050E9CE3CD8080000080009200A2 +:106E7000800091D080014652EBCD40FC18961695CB +:106E80001494129310924077F01F000AC100995693 +:106E900099359964998799739942487A3008991875 +:106EA00074199929930CF8C8FFFC9518E3CD80FC60 +:106EB00080016E4800007794D431FACEFFDC189739 +:106EC00016901491129310927C157C04580CC26099 +:106ED00078095809C26049A66C085808C051C09882 +:106EE00070185808C0601039CFC13018109CD832C3 +:106EF000F01F0014C13099509931996399859972A6 +:106F00009944300899186C199929930CF8C8FFFC1A +:106F10008D188F0C3018109CD8323008109CD83245 +:106F200008981AD50499069A029B009CF01F000647 +:106F30002FFD580C5F188F0CCDAB0000000077942C +:106F400080016E4880016E78EBCD40404856ECCC15 +:106F5000FFF8F01F000530088D168D08E3CD804046 +:106F600000007794800145D6EBCD40807847785A71 +:106F70006E18103AE0880004E3CF8080783B6E0CF6 +:106F8000F01F000B6E285808C0406E1B6E0C5D1879 +:106F90006E3CE04C002BC050300A149BF01F0005E3 +:106FA0000E9CF01F0005E3CF90800000800091DC74 +:106FB00080014658800091E8EBCD40C0203D30086C +:106FC00018979928990814961A9C308AF01F001176 +:106FD000FACBFFF80E9CF01F00102FED580CC101EA +:106FE0006E085808C0400E9CF01F000C6E2C580C08 +:106FF000C040F01F000B300C2FFDE3CD80C05806C1 +:10700000FBF81000EDF81A002FFDE3CF90C0000050 +:107010008002E7368001DE6C8001D3A8800091E811 +:10702000EBCD40C0189778185B98C0C0783B580BE0 +:10703000C17078465806C04078685908C050E3CF00 +:1070400090C0E3CF80C0785A590AE08800153FF815 +:107050008D28ECCCFFF4F01F000CE3CF90C0784CEF +:10706000580CCEE06E685908CEB12F4CF01F0006C8 +:10707000E3CF90C06C0CF01F00056E5830198D18CE +:107080008D29CE8B8001A25C800091DCEBCD40E0AD +:10709000201D1697E04C0081E0800088E08A0027E0 +:1070A000E04C0083C2F0C2B4760A1A9C300BF01F89 +:1070B0000064E08A004F585CC490314CF01F0061BE +:1070C0004008913C4009723A580AC7A06E0830093E +:1070D000990899399919EF380008992840083149D9 +:1070E000301A91594008911AC1D8584CC4A0E04CAC +:1070F0000080C330300C2FFDE3CD80E0E04C0085F4 +:10710000CFA16E0A300B1A9CF01F004DE08A0022BE +:10711000585CC1C0EF3900084008300A9119400896 +:10712000915A301B400CF01F0048581CCE41400CB7 +:10713000F01F0046C0B0400B76785808C070300C85 +:10714000F01F0043581C5F0CCD7B2FFDE3CF90E078 +:107150003FEC2FFDE3CD80E07645760A1A9C300B9C +:10716000F01F0037FE9AFFF6585CCF005805C49117 +:1071700040089135400993550FCA4008911ACD2B0C +:107180007626760A1A9C300BF01F002DFE9AFFE23D +:10719000585CCDC05806C1914008301A913640095C +:1071A00093564008911ACBEB760A1A9C300BF01FCD +:1071B0000024FE9AFFCF585CCC900FC9CAEB3FD891 +:1071C00093184009935ACAEBECC5FFED0A9CF01FD7 +:1071D000001D4008913C1899400A743B580BC2406E +:1071E0006E080C9A93089336EECBFFF430162F0CF2 +:1071F0009316F01F00184008915540099316C92BAB +:1072000040060A9CF01F000F8D3C4009723C580C50 +:10721000C1000A9A6E5BF01F000F400891550FC91C +:1072200040089119C7FB3FD895184009935BC7AB3D +:107230003FD893184009935CC75B000080016B3C0A +:1072400080009200800169A48001693C80016C404B +:10725000800091DCEBCD40FC4C151696189476021C +:107260006A095909E088001B4BE7C15878BA580AE7 +:10727000F9F8000CEFF80A01F9F8100CF5F81A0CFF +:10728000201978C8910A8B09F01F00376A0959093B +:10729000E08800056E0C580CCEA16C2338086C36C3 +:1072A000ECCCFFCCF0041800C260F01F003018973F +:1072B000C2F0B8C464080C9A990899A6069B2CCC15 +:1072C0008F9CF01F002B3808F0041800C2303818CB +:1072D000F0041800C2B04A3B30088FB8761A8FCA43 +:1072E0009507EEC9FFD46A0897192FF8301C8B0850 +:1072F000E3CD80FC64495809CD90ECC8FFC9E01883 +:10730000FFFCF009000CF01F00191897CD31E3CDF8 +:1073100080FC318A049BEECCFFF4F01F00156E7ADE +:107320008F2A580AC1018F8ACD7BEEC6FFF4318ABD +:10733000300B0C9CF01F000F049B0C9C308AF01F3C +:10734000000CCCAB6EA82FD8E018FFFC6E9C100C84 +:107350008F8C645BF01F0006CBFB0000000077A061 +:1073600000000234800091E880009200800091DCEF +:10737000800091D0D421207D1297FACEFFD04B29E6 +:1073800018947298EDB80001C040300C2F9DD8229F +:10739000FCE800003006BB295C7A50265046FAC54E +:1073A000FFF8FAC9FFE00A9CF01F00282FED580CE7 +:1073B000C2D05807C0B08F368F5640680E9B0C9CC9 +:1073C0008F28F01F0023581CC2E11A9CF01F0021D7 +:1073D0005BBCC29040076E4C580CC070F01F001E82 +:1073E00030088F388F4840075807C0401A9CF01F5C +:1073F000001B402C580CC030F01F00175804FBF83D +:107400001006E9F81A002F9DDA2A40085808C040F3 +:107410001A9CF01F0012402C580CCB80F01F000E5D +:107420002F9DD82A40085808C0401A9CF01F000B16 +:10743000402C580CC0313FDCCAABF01F00073FDCCA +:10744000CA6B0000000087F48001DF7480016C408B +:1074500080018E9C800091E88001D3A8EBCD40E0B4 +:10746000208D149616951897308A300BF01F001354 +:1074700059F6E08800052F8DE3CF80E00A9B0C9A37 +:107480001A9CF01F000FFAC9FFE030080C09FACC73 +:107490000001F368FFE0F8C6FFFF300B30AA0C9C38 +:1074A000F01F000832EB0ECC0C9CF01F0007CF4100 +:1074B0002F8DE3CF90E00000800091D0800091DC20 +:1074C0008000917080009164D43120AD189E109599 +:1074D00014974C781292709CE21C0002C0511896CE +:1074E0000C9C2F6DD832169AFAC6FFE41C9B0C9C9C +:1074F000F01F00400C9BFAC3FFFCFACAFFDC069C9D +:10750000F01F003D1896581CCEC15807C2F10E91CD +:107510000E90069CF01F0039401818945808C0407F +:10752000069CF01F0037403C580CC030F01F00355F +:107530005BB4C4D05807C170E06B0BB8E0CCFFF46B +:10754000F01F00315BDCC3A0582CC07060285BF8D2 +:10755000C04060188508CC5B029C301B3006F01FD1 +:10756000002BCBFB40988B08CBCB3FF8310C8B0822 +:10757000F01F002718941890C280F8C8FFF4500834 +:10758000109CF01F00248907640930088919089AA3 +:1075900031094A1B109CF01F00211891C20040982D +:1075A000189B9928300CF01F001E581CCB300C9BE8 +:1075B000029C3FD6F01F001BC94B029C301BF01FE2 +:1075C000001340988B08C8DB3FD6C8BB5807CFD004 +:1075D000029C301B3FD6F01F000DC83B400CF01F33 +:1075E0000012089C3FD6F01F0007C7BB000087F4BD +:1075F0008001745C80016FB880018E9C8001D3A8EB +:10760000800091E88001A22880016B7C80009200BC +:107610008001A28C8001702080016AF480016C409E +:10762000800169E08001A27CEBCD40E0209D49F81B +:1076300018991495709CE21C0002C06118960C9C6D +:107640002F7DE3CD80E0169AFAC6FFE8129B0C9CD2 +:10765000F01F00170C9B1A97FACAFFE01A9CF01F44 +:1076600000151896581CCEC11A9CF01F0013400834 +:1076700018965808C0401A9CF01F0010402C580C57 +:10768000C030F01F000F5BB6C0313FD6CD9B300C31 +:107690008B3C8B5C40880A9B8B28F01F000A581C8F +:1076A000CCF03FD6CCDB0000000087F48001745C96 +:1076B00080016FB880018E9C8001D3A8800091E882 +:1076C00080016C40EBCD40FC1895169414921293F7 +:1076D00010974076310CF01F0012C1D099369905F1 +:1076E00099149927189A3008310948EB109CF01F1B +:1076F000000E1896C100069B049C0C9AF01F000B0C +:107700001897581CC0500C9C301BF01F00090E9C91 +:10771000E3CD80FC30070E9CE3CD80FC800092001E +:1077200080016F6880016AF480017628800169E039 +:10773000EBCD406E202D4086129310951491169A31 +:10774000189B1A9CF01F0008069B0C99FAE2000097 +:107750000A9ABB23029CF01F00052FED2FEDE3CD0D +:10776000806E00008001745C80017374EBCD406812 +:10777000202D129310961495169A189B1A9CF01FA0 +:107780000008FAE800000C9ABB29069B0A9C300905 +:10779000F01F00042FED2FEDE3CD80688001745CB5 +:1077A00080017374EBCD40401896303CF01F00040C +:1077B0007848301C8D08E3CD804000008001EF6CDC +:1077C000EBCD406048A618952F060C9CF01F0009D1 +:1077D000303CF01F0009310AF8CBFF8C0A9CF01FE7 +:1077E00000070C9CF01F0006E3CF9060000087F4B8 +:1077F000800145F88001EF6C800091DC800145FA42 +:10780000D42149461894ECC5FFF00A9CF01F0012E1 +:10781000ECF700F85807C0C06F38707B2F4B322A46 +:10782000089CF01F000E0A9CF01F000DDA2A303C65 +:10783000F01F000CC060F9380088EE081800C06026 +:10784000ECCCFFF0F01F0006D82AF8CBFF78CE8BE7 +:10785000000087F4800145F88002E736800145FA90 +:107860008001EF6CEBCD40E049061895ECC7FFF0C6 +:107870000E9CF01F000F303CF01F000EECF600F8DD +:107880005806C0C0ECCBFFE2306A0A9CF01F000A29 +:107890000E9CF01F000AE3CF90E00E9CF01F000743 +:1078A0000C9CE3CD80E00000000087F4800145F8E7 +:1078B0008001EF6C8002E736800145FAEBCD404055 +:1078C000209DE04B0020E08B001CBABB580BC1B1DF +:1078D0003FF8BAA849162F060C9CF01F0011303C47 +:1078E000F01F0010322AFACBFFFEF8CCFF78F01F11 +:1078F000000E0C9CF01F000D2F7DE3CF90402F7DDC +:10790000E3CFC0403008169ABAA8189BFACCFFFC07 +:10791000F01F0007CE0B0000000087F4800145FC3B +:107920008001EF6C8002E736800145FE800091DC2B +:10793000EBCD40E01895303CF01F000B1897C110BC +:1079400048A62F060C9CF01F000A0A9B306AEECC5A +:10795000FF56F01F00080C9CF01F0007E3CF90E0DB +:10796000E3CD80E08001EF6C000087F4800145FCEE +:10797000800091DC800145FED401F01F0002D80296 +:1079800080017930EBCD40EC202D18961697586B7E +:10799000C0503FFC2FEDE3CD80ECFACCFFF8E06364 +:1079A000312EEA13322EE0623100EA12312EB92371 +:1079B00016980C99300A308B1A9CF01F0010301C5E +:1079C000F01F000F48F81893F0C5FFF00A9CF01F55 +:1079D000000E5803C0C00E9A0C9B069CF01F000BB3 +:1079E0000A9CF01F000B2FEDE3CF90EC0A9CF01FD8 +:1079F0000008069CCD0B00008001776C8001EF6CC5 +:107A0000000087F4800145FC800091DC800145FE88 +:107A1000EBCD40E01897303CF01F0018EEC8000195 +:107A200018955818E0880004E3CF80E058175F09E4 +:107A300049366D1858385F0AF5E90009C0E1582742 +:107A40005F08F5E80008C030E3CF90E0F01F000DBC +:107A5000C0A18B47E3CF90E0F01F000B6D185838A2 +:107A60005F0ACEEB303CF01F000578485818CF2055 +:107A7000F01F0005CEFB00008001EF6C000087F4D2 +:107A800080017BC88001F340EBCD40F81696189337 +:107A900076085858E08A002A49A83064F0C5FFF0FB +:107AA00097040A9CF01F0018301CF01F001818974C +:107AB000C160202D189B089A1A9CF01F0015F01F1A +:107AC00000152FED580CC1616C0A0E9B069CF01F2F +:107AD00000120A9CF01F0011E3CF90F80A9CF01FDF +:107AE000000F0E9CE3CD80F830683FFC9708E3CD93 +:107AF00080F80A9CF01F00093FBCE3CD80F800002D +:107B0000000087F4800145F88001EF6C8002E736C1 +:107B1000800188B0800091DC800145FA0050F200BD +:107B2000000FAC003008F9480320F94803245EFC3C +:107B3000EBCD40C016971496F8FE0320FCCBFFFF58 +:107B4000F60A141FE069851FEA1951EBF60904488B +:107B5000A5591419F8FA0324F2091064121B143BF6 +:107B6000C0B0F94B0320F80E0927FCC8FF9CF808A9 +:107B70000926E3CF90C0E3CF80C0D401189EF8FC63 +:107B80000324FCF803201838C1F0F8C8FF9CFC0C53 +:107B9000032CFC08032930089709E069851FEA19BE +:107BA00051EBFCFB0324FC0B09282FFBF6090448CE +:107BB000F60A141FA5591419F2091064F6090109EF +:107BC000FD490324D802D80A4838F0F900F85809CA +:107BD0005F1C5EFC000087F43018198CF00C180054 +:107BE0005F0A3058F00C18005F09124AC0F1306883 +:107BF000F00C1800C0B03028F00C1800C080584CB1 +:107C0000F9BC0003F9BC01005EFC5EFF302C5EFC99 +:107C100048C8F0F800FC5818C0D0C0635828C0D03D +:107C20005838C0505EFF580C5F0C5EFC583C5F8CAF +:107C30005EFC581C5F8C5EFC582C5F8C5EFC000068 +:107C4000000087F4EBCD40C01897169E740A580ABE +:107C5000C0D0753A580AC0A0747A580AC0704FF85C +:107C6000F0F901045889E0880004E3CF80C04FC8D0 +:107C7000F009032F94D8EDB80004CF813008301CF0 +:107C80009D08E3CD80C0F53900C83FF8F009180021 +:107C9000CED0F51B00D2580BCE90F51C00D030266C +:107CA000F4FA00D8F40C002811B9EC091800E080AF +:107CB00000BFF8C8FFFF3009F40800280C9CF0CA88 +:107CC000FFFDC07815882FCAF8081800E08000B0C2 +:107CD0002FF91639CF85CCABF53900C83FF8F0093C +:107CE0001800CC40F51B00D2580BCC00F51C00D07E +:107CF0003016F4FA00D8F40C002811B9EC09180079 +:107D0000E08000A4F8C8FFFF3009F40800280C9CAC +:107D1000F0CAFFFDC07815882FCAF8081800E08067 +:107D200000952FF91639CF85CA1BF53900A43FF805 +:107D3000F0091800C9B0F51B00B2580BC970F51C4A +:107D400000B03026F4FA00B8F40C002811B9EC09A0 +:107D50001800C660F8C8FFFF3009F40800280C9C22 +:107D6000F0CAFFFDC06815882FCAF8081800C58042 +:107D70002FF91639CF95C7ABF53900A43FF8F009B4 +:107D80001800FE90FF74F51B00B2580BFE90FF6FB9 +:107D9000F51C00B03026F4FA00B8F40C002811B934 +:107DA000EC091800C3D0F8C8FFFF3009F408002818 +:107DB0000C9CF0CAFFFDC06815882FCAF80818008F +:107DC000C2F02FF91639CF95C51BF53900A43FF83D +:107DD000F0091800FE90FF4BF51B00B2580BFE9007 +:107DE000FF46F51C00B03016F4FA00B8F40C002879 +:107DF00011B9EC091800C220F8C8FFFF3009F408D7 +:107E000000280C9CF0CAFFFDC06815882FCAF8082E +:107E10001800C1402FF9123BFE99FFF9C27B3028B0 +:107E2000AE8830199D09129CE3CD80C03028AE8801 +:107E30003029301C9D09E3CD80C03018AE88301940 +:107E40009D09129CE3CD80C03018AE883029301CCB +:107E50009D09E3CD80C00000000087F48003B7B027 +:107E60003028F00C1800C390E088001B3048F00C5C +:107E70001800C3503058F00C1800C21030093028D8 +:107E8000F00B1800C160F00B1800E08B001B3018DD +:107E9000F00B1800C100300812385F5C5EFC30182F +:107EA000F00C1800CEC130193028F00B1800CEC1EC +:107EB0003038C02830181039CF045EFE3029CE0B80 +:107EC0003048F00B1800C0703058F00B1800CE414D +:107ED0003028CF2B3048CF0B3039CD2B3049CD0B4C +:107EE000D431307977387075B8891894581AC0D061 +:107EF000C043582AC4C0D83A7738707A94D9EDB9BB +:107F00000004E0800087DA3AEB3900A43FF8F0097A +:107F10001800CF20EB0800B03009F2081900CF405C +:107F2000149112923006307B30533060C1A8E007C4 +:107F30001800C2B03028F0071800C7A03048EE087B +:107F40001800F9BC0003F9BC0100F01F003CE9F780 +:107F50001E002FF6EB1800B00C38FE9AFFD6098BE6 +:107F6000EAF800B8F006002811B70E9CF01F0034A4 +:107F7000FE9AFFF1E20718005F08E60718005F09A4 +:107F80001248E4081800CD40301CCE0BEB3900C875 +:107F90003FF8F0091800CB00EB0800D03009F208D8 +:107FA0001900CB2012913006307B301230533060F4 +:107FB000C1A8E0071800C2B03028F0071800C3A01D +:107FC0003048EE081800F9BC0003F9BC0100F01FAE +:107FD000001BE9F71E002FF6EB1800D00C38FE9AB4 +:107FE000FF94098BEAF800D8F006002811B70E9C20 +:107FF000F01F0013FE9AFFF1E40718005F08E60780 +:1080000018005F091248E2081800CD40301CCE0B62 +:10801000307B305CF01F000AFE9AFF77301CF01FA7 +:108020000007FE90FF723058301CA888D832302CE0 +:10803000C8DB302CCCDB000080017C1080017E602E +:108040003008484A48499508951893085EFC000096 +:10805000000089EC00008C5CEBCD4080189E198BF1 +:10806000580BC130300A3017149CFC0A00092FFA53 +:1080700013982018EE080948F9E81008F9D8B0104C +:10808000163ACF45E3CD8080169CE3CD80807938C9 +:10809000707A3308F53900C8F0091800C0205EFD79 +:1080A000F51800D4E218000C5848C0E0E08A000837 +:1080B0005888C08058C8CF41310C5EFC5808CF01A9 +:1080C0005EFF304C5EFC302C5EFCD703EBCD40E015 +:1080D00030081896109A169C8D084927760E301590 +:1080E000109BC0A8F80A00082FFA11C9EE0B070868 +:1080F000A7D91039C0A01C3ACF652FFB58DBE08B05 +:10810000000E300A780ECF8B6C08EA0B0949124832 +:108110008D082FFB58DBFE98FFF6E3CF90E00000C0 +:108120008003B7F4EBCD40C030069906149EF8C723 +:10813000FFFC1799EC091800C0E00C9AF60A000839 +:1081400011A90EC978082FF899082FFA1798143832 +:10815000FE99FFF61D993008F0091800C0F0300BA9 +:10816000FC0B000811A9EE0B0B0978082FF89908F1 +:108170002FFB1D981638FE99FFF5E3CF90C0EBCD8D +:1081800040F816941897780B68065806E08A002C79 +:10819000F6C8FFFCE8C5FFFCF8080003300E2FCC42 +:1081A000EA0E070A580BE08A00130FC81458F1D8DA +:1081B000C007C1503009C078F80907081458F1D831 +:1081C000C007C0D02FF9123BFE99FFF8597BE08B16 +:1081D000000706CA6E0B2FFB8F0B68062FFE1C369E +:1081E000FE99FFE0E3CF90F8EBCD40FE1894169295 +:1081F0001497780676055805E08A0025ECC8FFFC40 +:10820000F6C3FFFCF8080001300EF4CCFFFCE60ECC +:10821000070A6E0B580BE08A00120FC81458F1D8E9 +:10822000C007C1203009C078F80907081458F1D8F0 +:10823000C007C0A02FF91639CF852FFE1C35FE9937 +:10824000FFE8E3CF90FE5976FE9BFFF902CA68066D +:108250002FF689062FFE64051C35FE99FFDACF2B19 +:10826000D42178045804E08A0027F8C7FFFC493875 +:108270000F8B700C11C6580CE08A0017F0C5FFFC7C +:10828000300EEDEB2008F1D8C007C0F00A9A300993 +:10829000C0782FFA15881658F1D8C007C0602FF99A +:1082A000123CFE99FFF8D82A2FFE2FF7083EC03463 +:1082B0000F8BCE8BDA2A00000000023CD4211897E5 +:1082C00076055805E08A0026F6C6FFFCF8CEFFFCCE +:1082D000300B1694C0482FFB0A3BC1B4EC0B070AC5 +:1082E000E80A1800CF946E0C580CE08A00120FC8F0 +:1082F0001458F1D8C007CF003009C078FC0907082E +:108300001458F1D8C007CE802FF91839CF85D82A54 +:10831000DA2A3248F00C1800C110E08800113488C5 +:10832000F00C1800C0B0E08800183608F00C1800F7 +:10833000C05036C8F00C1800C0E15EFF3128F00CC8 +:108340001800CFC03188F00C1800CF8030C8F00C76 +:108350001800CF405EFD3308F00C1800CFC1CEEB03 +:10836000EBCD40E078055805E08A0010F8C6FFFC28 +:108370003007C0380A37C0940D8C2FF72FF6F01F46 +:108380000004CF90E3CF90E0E3CF80E08001831240 +:108390004838F14B01DCF14C01D85EFC000087F459 +:1083A0004838F14B01ECF14C01E85EFC000087F429 +:1083B000EBCD40801697581BC050582BC080E3CFA0 +:1083C0008080F01F00050E9CE3CD8080F01F00022E +:1083D000E3CF9080800091E8D401580CC070486BC6 +:1083E000760AE04A0168E0880003D80AF01F00031B +:1083F000DA0A0000000089EC800091DCD401580CFE +:10840000C0A078185908E08B0007780AE04A016894 +:10841000E0880003D80A189B482CF01F0003DA0AF2 +:10842000000089EC800091DCEBCD4040350A1896C5 +:10843000F01F000330088D48E3CD8040800091DCC0 +:10844000D401306AF01F0002D8020000800091DCE5 +:10845000D401300CF01F0002DA0A000080016C7CAD +:10846000D421201D189414971296169A1095189BD3 +:108470001A9CF01F001CE08A0032585CC27058063B +:108480005F1858075F191268C241300840099338D5 +:10849000400A95584008301B9115400CF01F0012FF +:1084A000581CC100400C78785808C090189B089C54 +:1084B000F01F000E581CC0A03FDCC098301BF01FFE +:1084C000000C400C78785808CF21301C2FFDD822A2 +:1084D0004008913740099356CDEB3FEC2FFDD82251 +:1084E00080016B3C800169A480016C40800169E0DF +:1084F000EBCD40C018971696303CF01F00283DD8B1 +:108500003079AE88AE9935083F29300BAEB8AEC988 +:1085100030283019AED8EF6B0008AEABAEEBAEF939 +:1085200058065F1AF8F900BC58095F181468F60875 +:108530001800C310F8F800D05818F9B80008EFF880 +:108540000E08F8F800CC5818EFF80808F9B900043C +:10855000F1D9E038EFF80E08F8F800C85818EFF82D +:108560000808F9B90002F1D9E038EFF80E08F8F878 +:1085700000C45818EFF80808F9B90001F1D9E0383B +:10858000EFF80E08F8F900D4EF380008F1E91048C8 +:10859000EF680008E3CD80C08001EF6CEBCD404078 +:1085A0001896303C5C76F01F000E5876E088000488 +:1085B000E3CF804048B8F006032FF90C00C6E3CDA6 +:1085C0008040F90C00CAE3CD8040F90C00CEE3CD29 +:1085D0008040F90C00D2E3CD804000008001EF6CB8 +:1085E0008003B7D4D40130DCF01F0002784CD802ED +:1085F0008001EF6CEBCD40FC207D31CA1893300B2D +:108600001A9C1A92F01F001266045804E08A00189F +:10861000E6C6FFFC30070D852FF72FF60A9CF01FEA +:10862000000DC0A14008FACAFFE4F0C9FFFF100A1C +:108630005009F565FFE80E34FE99FFEF1A9B069C82 +:1086400031CAF01F00052F9DE3CD80FC800091D042 +:1086500080018312800091DCEBCD40E0207D300B67 +:10866000189731CA1A9CF01F00171A956E0B580BF9 +:10867000E08A0024300AFAC6FFFCEEC9FFFC0C9C1D +:10868000149EC0582FF9143BE08A000D2FFA13886E +:10869000FC081800CF8418C82FF96E0B143BFE9904 +:1086A000FFF7F80601061A9B50060E9C31CAF01F10 +:1086B00000062F9DE3CD80E0FAC6FFFC0C9CCF2B7B +:1086C000800091D0800091DCD421129618971695E5 +:1086D0001494580CC1205809C111314CF01F0009E5 +:1086E000C0C09907B8C599249936487A7419994930 +:1086F000930CF8C8FFF49518D822F01F0004D82274 +:1087000080009200000077A4800147E0EBCD40C0DC +:108710001896580CC110308CF01F000C1897C090A0 +:108720000C9CF01F000B8F1C1898C0A030188F08ED +:108730000E9CE3CD80C018970E9CE3CD80C00E9CAC +:108740001097F01F0004CF5B800092008001D920B9 +:10875000800091E8EBCD40C049566C075807C180B6 +:108760006E395809EFF80004EDF80A01EFF810042B +:10877000F3F81A046E4891096E2A0FCB6E0CF01FA5 +:10878000000D0E9CF01F000C6C075807CEA148B8D6 +:10879000F0C7FFEC0E9CF01F000AC071302CF01FD8 +:1087A00000090E9CF01F0008E3CD80C0000077A4F4 +:1087B000800147E0800091E8000087F4800145DCFB +:1087C0008001478C800145ECD4014848300991185C +:1087D0009109F01F0003D802000077A4800187549C +:1087E000EBCD40FE4A0618976C0816951494201895 +:1087F000E0480167E0880004E3CFC0FE580A5F1933 +:108800006C1A300B580A5F181268F6081800CF501F +:10881000183A5FB858FC5F891268F6081800CED085 +:1088200016910C92C0B82FF7641958F75F8A0E3969 +:108830005FB81468E2081800CE00EE031016306A24 +:10884000E6CCFFF80A9BEC0C000CF01F0008CEC130 +:10885000485B089C060B310A2F2BF01F00050E9C6D +:10886000E3CD80FE000089EC8000917C800091DCEB +:10887000EBCD40E018951697300C18960E9A0A9B8F +:108880002F07F01F0005C0452FF62FFCCF8B0C9C47 +:10889000E3CD80E0800187E0D401306AFACCFFFCB0 +:1088A000FACBFFF4F01F00025F0CD8028000917C2D +:1088B000EBCD4068205D3FF8FACAFFDC15D9FB68B4 +:1088C0000013FB68000EFB68000FFB680010FB68DC +:1088D0000011FB680012FAC6FFF8ACD974088D08C5 +:1088E00015C9FAC3FFFEACC93065FACBFFF20A9A8C +:1088F000069CF01F00060A9A069B0C9CF01F0004C1 +:108900005F0C2FBDE3CD80688002E7368000917C4C +:10891000D401FACBFFFCF73900241788F0091800BE +:10892000C020D80AF73A00251798F4081800CFA1FC +:10893000F6CCFFFE2DABF01F00035F0CD802000049 +:108940008000917CEBCD4040211D303CF01F001E8B +:10895000322A1896FACBFFB4FA0A000CF01F001B5B +:10896000ECC6FF78ECE80000FAE90000ECEA000849 +:10897000FAEB0008ECE80010FAE90010ECEA001845 +:10898000FAEB0018ED380020FB680020ED390021DB +:10899000FB690021FB3A00221B88F4081800C05034 +:1089A000300C2EFDE3CD80401B9AFB380023F408E9 +:1089B0001800CF71FACBFFFEFACCFFDCF01F0004E9 +:1089C0005F0CCF0B8001EF6C8002E7368000917C5A +:1089D000EBCD40E0203D4B571896EF3900943FF81F +:1089E000F0091800C3507938707C2F4CF8E800006B +:1089F000209DFAE90000F8EA0008FAEB0008F8E820 +:108A00000010FAE90010F8EA0018FAEB0018F9383B +:108A10000020FB680020F9390021FB690021F01FCC +:108A200000242F7D580CC0412FDDE3CD80E0202DA8 +:108A3000EEC7FF4A306A0E9B1A9CF01F001EF01F03 +:108A4000001E2FED580CC1C02FDDE3CF90E0F8CB16 +:108A5000FFE2306A1A9CF01F0017EECBFF4AFAC6FD +:108A6000FFFA306A0C9CF01F00130C9B1A9C306AB2 +:108A70001A95F01F00125F0C2FDDE3CD80E0ECCBE8 +:108A8000FFE2FAC5FFFA306A0A9CF01F000A0E9B4B +:108A9000306A1A9CF01F00071A9B0A9C306A1A96CB +:108AA000F01F00065F0CCC1B0000026080018944AF +:108AB0008002E736800188B08000917CD401201DBF +:108AC000500C580CC0401A9CF01F00022FFDD80219 +:108AD0008001D3A8D401201D500C580CC0401A9C12 +:108AE000F01F00022FFDD8028001D3A8EBCD40C0BB +:108AF000E06B00E41896300CF01F000A1897C0E0F5 +:108B0000E06A00E40C9BF01F0008ECC9FFF8EECA15 +:108B1000FFF8486B0E9CF01F00060E9CE3CD80C052 +:108B20008001D8DC800091DC8001D3EC8001ACA80E +:108B3000EBCD40C0E06B00EC1896300CF01F000A43 +:108B40001897C0E0E06A00EC0C9BF01F0008ECC92D +:108B5000FFF0EECAFFF0486B0E9CF01F00060E9C63 +:108B6000E3CD80C08001D8DC800091DC8001D3ECB3 +:108B70008001ACA8EBCD40FE129210914A88F0F92A +:108B800000F818933DD8733C316916977874AE8815 +:108B9000AE9930083509AEA8AEB93F283019301665 +:108BA00014954A0B303AAEC8AED9AE36EECCFFF8CB +:108BB000F01F001D069CEF65000BAE76AE66308B95 +:108BC000F01F001A8F5CC290303A496BF01F0016FC +:108BD0006E58B0B28EE86E5C303AF808002C491B33 +:108BE000F01F00116E598EE8F2080028B0B1E919A3 +:108BF00000B0E91800B21208E93900A5A3682F08EF +:108C00001039C030E3CF90FE0F9830092FE8EF59AC +:108C10000010AE98E3CF90FEE3CD80FE000087F415 +:108C200080017B1C800091DC8001D3ECD431201DBD +:108C3000314E1697330BAE9EAE8B1090FACBFFD809 +:108C40007618500818921493129176055805E08A08 +:108C50000006EA0815042EA8AE983016303AAE1673 +:108C600049E4EECCFFFCE8CBFFFCF01F001D049CA8 +:108C7000AEF3AE56AE46AE75EA0B15042F8BF01F61 +:108C800000198F4CC280303AE8CBFFFCF01F001473 +:108C90006E48B0B18EC86E4CE8CBFFFCF808002CD3 +:108CA000303AF01F000F6E498EC8F2080028B0B0AD +:108CB0003289AE695805E08A000D6E488EC98EDC97 +:108CC000EA0A1504120C400BF00C002CF01F0004F3 +:108CD0002FFDDA3A2FFDD83280017B1C800091DC19 +:108CE0008001D3ECEBCD40E0201D500B1897580CC1 +:108CF000C070169A4C4C0E9BF01F0044C6404C4668 +:108D000030080DA9F0091800C050301C2FFDE3CD2C +:108D100080E0ECCCFFE4F01F003FCF815807C2F0A9 +:108D2000301CF01F003DC3304B751A9B4B6CF01F7D +:108D3000003B1897C320F01F003A3018ED4C00CCD0 +:108D4000ACA80E9C3005400BED5500D04B07F01F32 +:108D500000351896581CC3F1EECCFFE4F01F00322A +:108D60004B28F1090142EA091900CD006E98EDB8CF +:108D7000000ECCC0F01F002E0C9CCC9B4A25EAF9BB +:108D80000320EAF803241039CCC1CD0BECCCFFE46E +:108D9000F01F0025301CCBBBECF801245818C04054 +:108DA000301CF01F0024ECCCFFE4F01F001FEAF998 +:108DB0000324EAF803201238CA90301CF01F001672 +:108DC000301CCA5B492AF50B00D2F80B1900C0A071 +:108DD0003FBCC9DBEECCFFE4AEA5F01F00133FBCE7 +:108DE000C96B3018F55800D24909F3080142F6085A +:108DF0001900CEF07498EDB8000ECEB0F01F000C44 +:108E00003FBCC85B000084CC80017B30000087F44D +:108E1000800145DC80019F3080017B7A800145C460 +:108E200080014664800145EC000002608001FBFC8B +:108E30008001A128EBCD40C01897F01F0015C1B0EC +:108E40006E4849468D186E598D2930096E2C8F2930 +:108E50006E486E3BE2180080F9B80001EDF80E0292 +:108E6000F01F000D1897581CC0803008300CACA8BB +:108E7000E3CD80C0E3CF90C0F01F00083008ED4C78 +:108E800000CCED5800D00E9CE3CD80C08001C6A080 +:108E9000000087F480014664800145C4EBCD40802A +:108EA000491A18977498EDB80001C111F4F801241B +:108EB0005818C0A07848951878599529F01F000BCC +:108EC000C091E3CD8080109CE3CD80803FBCE3CD9A +:108ED000808030086E2C6E3B8F28F01F0005E3CD9C +:108EE00080800000000087F48001C6A080018CE42F +:108EF000106104000000000040200700FFFFFFFF9A +:108F0000000000004869F2F802045828C0205EFE04 +:108F1000580CCFE0F2C8FFF099085EFF000077AC74 +:108F20005EFDD7034828912C913B5EFF000077AC93 +:108F300048384849910C930B5EFC000000007540D6 +:108F4000000074B45EFCD703D431202D500C3008DF +:108F5000FAC1FFF81690109402D84A424A43E269D7 +:108F60005A4C089A0819029B009C40085D181895F5 +:108F70005804C0B1584CF80A1780F9BA0B0449DB01 +:108F8000401CF01F001DC2E140165805C1000A97A1 +:108F90005907EE0A1780F9BA0B100C9B1417140628 +:108FA00064085C7A660C5D185807CF310A04E24405 +:108FB0005A4BFE98FFD65875E088000D4018EACC51 +:108FC000000848CBF00C000C2F8B308AF01F000AF1 +:108FD000C0913009009C129A129B40085D182FED39 +:108FE000DA3A30DC2FEDD83200007540000074B45E +:108FF00080018EF08000917CEBCD40FC49F8189404 +:10900000F0C3FDDCF0C7FFBC3072C0B8321A089B59 +:109010000A9CF01F001B1896C1D02C470637C16070 +:10902000EEC5002C5804CF316E08109C5808CF6054 +:10903000F01F00148F04EF44FFF86E185808CEE1BB +:109040008F248F322C470637CEC15804C0D0E3CFCF +:10905000C0FC6ABC580CC080F01F000A8B968BB60F +:109060006AC85808C030E3CF90FC8BD8301C3078E9 +:109070008BE8E3CD80FC0000000077AC8000917CA1 +:10908000800091E8EBCD40FE109114961895169251 +:109090001293F4C80008E0480037E08B00185859D4 +:1090A000C18049D8F0C4FE08F0C7FFE86EB8580880 +:1090B000C1300E9C321A0A9BF01F0018C1D02C47F9 +:1090C0000837CF51307CE3CD80FE30ACE3CD80FE5D +:1090D000129CE3CD80FEECCBFFFF049CF01F001040 +:1090E0000A9B8FBC8F968FD18FE30E9C321AF01F94 +:1090F000000DE3CF90FE6EBCF01F000B049CECCB88 +:10910000FFFFF01F00078FE38FBC8F968FD1E3CF57 +:1091100090FE0000000077AC8000917C8000918878 +:10912000800091DC800091E8D401487BF6F80204CD +:109130005828C020DC0AF6CBFE04306AF01F00037A +:10914000DA0A0000000077AC800091DCEBCD40FE35 +:10915000209D580B5F09580A5F08169314941069F4 +:10916000C341580BC4514A9264585808C2E03005B4 +:10917000FAC1FFFD0A970A9CC0D8ED3A0020FB38DF +:109180000023F4081800C2E00E9C64580E38E088F2 +:10919000001E64482FF7F00C03265803CEF1306A06 +:1091A000089B5804C0A0202D1A9CF01F0019F01F26 +:1091B00000192FED580CC0E05805C0506AC96CC8A2 +:1091C0001238CE350C95CE1B30050A9C2F7DE3CD91 +:1091D00080FE306A089BECCCFFDFF01F000FCD5102 +:1091E000CECB029B0C9CF01F000CCCF1CD9B189BAE +:1091F000069AFACCFFFDF01F0009FB6300234832FA +:1092000064585808CB51CE1B000077AC8002E7367B +:10921000800188B08000917C800091DCEBCD4060C3 +:10922000306A202D169618951A9CF01F0009F01F21 +:1092300000090C9A5F0B0A9CF01F00072FED581CC9 +:10924000F9BC0001F9BC01FFE3CD80608002E73684 +:10925000800188B080016480D4015C6CF01F000440 +:10926000581CF9BC0001F9BC01FFD8028001641C44 +:10927000EBCD406E202D1293189116921495300B61 +:10928000308A1A9CF01F0012306A069B1A96202D15 +:109290001A9CF01F0010F01F001030085F091AD848 +:1092A0000A9A1AD6049B1AD3029C1AD83038F01F97 +:1092B000000B2FAD5BFCC070581CF9BC01FF2FEDFB +:1092C000E3CD806E304C2FEDE3CD806E800091D0E9 +:1092D0008002E736800188B08001661CEBCD406ECD +:1092E00010911892169314951296F01F00113008E1 +:1092F0000C991AD80A9A1AD1069B049CF01F000DEB +:109300002FED583CE0890007582CC085306CE3CD28 +:10931000806E584CC070E3CFC06E5BECC050581CE0 +:10932000CFB1E3CF906E30BCE3CD806E8001A1DC85 +:109330008001F7D8EBCD4040201D10964978F0FE13 +:109340000204582EC0503FFC2FFDE3CD804030EE8C +:10935000FAC8FFFC10DE300E1A985C761ADE1AD6B8 +:10936000F01F000F2FEDFE5CFC17E0890010FE5C83 +:10937000FC16C114FE5CFB4FC070FE5CFBB4C0B0B9 +:10938000FE5CFAECCE11307CCE0B5BECC040581C7E +:10939000CDB1CDBB30BCCD9B000077AC8001F54496 +:1093A000D4014858F0F902045809C030F01F0003F6 +:1093B000D8020000000077AC80014480EBCD40E88B +:1093C0004D56189514971693E06A0218300B0C9CB2 +:1093D000F01F00524D288D05700C8D133005A36CC5 +:1093E000ED450204F01F004F8D4CC031E3CFC0E8C3 +:1093F0000A9CF01F004D581CCFA11AD5F1D7C00808 +:109400000A990A9A310B320CF01F00482FFD581CA4 +:10941000CEE1F01F0047581CCEA11AD50A980A9930 +:109420004C4A0A9B302CF01F00442FFD580CCDF005 +:1094300030670A981AD70A994BEA0A9B322CF01F18 +:10944000003E2FFD580CCD3030780A991AD84B9A2F +:109450000A980A9B323CF01F00382FFD580CCC7044 +:109460001AD50E9C0A980A994B2A0A9BF01F0032C3 +:109470002FFD580CCBC030270A981AD70A994ADA20 +:109480000A9B304CF01F002C2FFD580CCB001AD734 +:109490000A984A8A0A990A9B305CF01F00272FFD20 +:1094A000580CCA50301C0A981ADC0A994A1A0A9BAE +:1094B000F01F00212FFD580CC9A030390A981AD985 +:1094C00049CA0A990A9B31CCF01F001B2FFD580C8A +:1094D000C8E0F01F001A581CC8A1F01F0019581C42 +:1094E000FE91FF860A980C9730490C9A495B0A9CBA +:1094F000F01F0015FE90FF7C189A308B493CF01F3E +:109500000014581CFE91FF74ED4C0204EF45020C50 +:10951000E3CD80E8000077AC800091D000000258D5 +:1095200080009200800200AC8002067C8001FFB4C3 +:109530008001984C80016E788001FD8C8001A00034 +:109540008001955080016AF48003B8048001762878 +:10955000EBCD40E078185B98C031E3CFC0E078569F +:109560005866CFC1783B0C9A4985EAC7FE040E9C29 +:10957000F01F0017303A497B0E9CF01F0017C131D5 +:10958000F01F00163026EB460204F01F00150C9C5D +:10959000F01F00146A195809C14048C8700C5D19C1 +:1095A000E3CF80E037A83C49EB6801FC30E80C9B36 +:1095B0000E9CEB6901FDEB6801FEF01F000BCE1B5A +:1095C000129CE3CD80E00000000077AC800091DCCD +:1095D0008003B80C8000917C8001FD8080020290A5 +:1095E0008002023480017984EBCD40FC7875580B01 +:1095F000F9B80100F7F81A001693EB3900C83FF8E4 +:10960000F0091800C250EB0900D03008F009190029 +:10961000C4D0307430073022EE061502EAF800D8C4 +:109620000C082FF711BC089BF01F0027E08A0009E7 +:10963000EAF800D80C0811B45803E7F21A00EB1846 +:1096400000D00E38FE99FFEA089CE3CD80FCEB3891 +:1096500000A4F2081800C250EB0900B03008F0096D +:109660001900C240307430073012EE061502EAF8D5 +:1096700000B80C082FF711BC089BF01F0013E08AFC +:109680000009EAF800B80C0811B45803E7F21A0010 +:10969000EB1800B00E38FE99FFEA089CE3CD80FC81 +:1096A000787992D8EDB80004C040307CE3CD80FCDE +:1096B000307B305CF01F0004FE9AFFF9305CE3CD94 +:1096C00080FC000080017E60D431201D4D876E58E3 +:1096D0005808C0E030060C996E48F009032CF01FC2 +:1096E00000552FF66E580C990C38FE9BFFF730068C +:1096F0001A9B8F560C9CF01F00501A94400C580C6B +:10970000C0312FFDD832A36CF01F004C1890CFA0B1 +:10971000400A0C9BA36AF01F004A40085808E08AE0 +:1097200000260C950096C0782FF52FC640080A3801 +:10973000E08A001D350CF01F00418D0CCF614009FF +:109740005809E08A000F009530062FF66A0C580C75 +:10975000C040F01F003840092FC50C39FE99FFF7B3 +:10976000009CF01F00342FFDD8321A9B009CF01F84 +:1097700000324B4972084009F0090D488F585808CB +:10978000CE00300408930891A363E003000264084C +:109790006E467135344CF01F0029F9410040060631 +:1097A0008D0C6A796E48F2CBFFF2F0030306F33AB0 +:1097B000000D0C9CF01F00246A78F139000D306A0E +:1097C000ED690020ECCCFFDF640B2E2BF01F001E98 +:1097D000029B0A9CF01F001DED6C00386A498DC980 +:1097E0006A585808F9B805008DD86A79F338005ED0 +:1097F000ED6800276A7992C88DA80BF9ED59002C05 +:1098000030290BEAF20A1800E2081710F9B8000133 +:109810008DF830286E49F20309062FF4F00A18007B +:1098200008936E580838FE9BFFB1C8AB000077ACB8 +:10983000800091E88002105880009200800091D052 +:1098400000000258800091DC800195E8EBCD40C01B +:10985000201D1696582BC680E0880013586BC590C3 +:10986000587BC2D0583BC4804C076E295809C05061 +:109870004BE80C9C703B5D192FFDE3CD80C0580B6D +:10988000C0F14BA7EEF902085819C6C0EEF8020C59 +:109890003019A1D8EF690210EF48020CCE7B581B9B +:1098A000CE414B273008EEF9020C4B1AA3A9EF6802 +:1098B0000210A1D9B488EF49020CCD8B4ACA3008F6 +:1098C0001589F0091800C4C14A87EEF8020CEDB8FA +:1098D0000001CD31EF380210F2081800CCE1F01F82 +:1098E0000025F01F0025EEF8020C3016E018FFF9F5 +:1098F000EF48020CCBBBF01F002049C7EEF9020C69 +:10990000EDB90004CBA11298A5C8EF48020CCAEB30 +:1099100049673019EEF8020CEF690210A1D8300641 +:10992000EF48020CCA3B4917EEF8020CA3C81A9C78 +:10993000EF48020CF01F001140085828C050F01FDB +:10994000000DF01F000D300A4898B08AEF39021060 +:10995000F4091800C9204858F16A0210C87BB4887D +:10996000C8CB4838B089C89B000077AC000079C4E8 +:1099700080021298800196C8800177A4D401201D2E +:1099800048F9F2F802045828C0302FFDD80AF339FC +:1099900002103008F0091800C0711A9CF01F00096D +:1099A00040085828CF31F01F0008CF00F8CAFFE266 +:1099B000300B169CF01F00052FFDD802000077AC7D +:1099C000800177A4800210FC8001914CEBCD408097 +:1099D000201D4967EEF802045828C0503FFC2FFDB7 +:1099E000E3CD8080F01F0012C051302C2FFDE3CD5D +:1099F0008080EEF9020CEDB90002CF10EDB9000144 +:109A0000C031309CCEDB1A9CF01F000A4008580879 +:109A1000CED0F01F0009581CCE21EEF8020CA3A8EE +:109A2000EF48020CCDDB0000000077AC800210FC98 +:109A3000800211088001F370EBCD40C020AD189872 +:109A40001697580BC07076DC581CC0402F6DE3CDC4 +:109A500080C0109BF13A0020FAC6FFFE0C9CF01F5C +:109A6000001B0C9B209D322A1A9CF01F0019F01F2E +:109A700000192F7D580CCEB0793CFACBFFDCF01FDB +:109A8000001640985818C150C0923058F808180075 +:109A9000F9BC0003F9BC0102CDAB5828C030301C22 +:109AA000CD6B5807C0D06EC85808C0A0305CCCFB46 +:109AB0005807C0806EC85808C050304CCC8B307CE2 +:109AC000CC6B306CCC4B00008002113C8002E7363E +:109AD0008001F2BC800195E8D43120EDFEF3029CB8 +:109AE000FAC1FFA4E6F8020C18971694E2180006D3 +:109AF000C040309C2F2DD832F01F00A1C040308CC8 +:109B00002F2DD832E74C02085807C130BA8CF5D453 +:109B1000C008FAC6FFFEBA9A0E9B0C9CF01F009973 +:109B20000C9C1B9BF01F0098581CC0802F2DDC3A0A +:109B3000BA97BA87FAC6FFFECF4B029CF01F00937C +:109B40001892581CCF41029A089B0E9CF01F00905F +:109B50001890C580E6C7FFE8E6C6FE08EF3A002089 +:109B6000E1380020F4081800E08000A02C470C37F2 +:109B7000CF6130070E950E9B009CF01F0086E136EA +:109B800000381897CD40585CE08000C2E08B00B9E7 +:109B9000583CE08000B4584CC020300CF01F007ED0 +:109BA0003048F0061800E08000A83054E80618009D +:109BB000E08000983028F0061800E080009A300C11 +:109BC000F01F0076E8061800E080008F300CF01FD0 +:109BD00000745837E08B007960F85818C710301CB3 +:109BE000F01F0070300B4F0CF01F0070CA00F01F08 +:109BF0000070581CC9C1E6F8020CA1B8E748020C75 +:109C0000C7ABFAC5FFCE306A029B0A9CF01F005D0D +:109C1000FAC6FFDE0C9CF01F00673FF81AD00C9BC1 +:109C20001AD2310A1AD8204D1A9CF01F00630A9BE1 +:109C3000202D306A1A9CF01F00600499209DE6CC0C +:109C4000FDECFB380069FAEA0048FAE20050FB68D4 +:109C50000021FAEB0000FB380068FAEA0058FAE34A +:109C60000008FAE20060FAEB0010FAE30018FB6863 +:109C70000020303A0098129B4C03F01F00502EED4C +:109C80001895581CFE91FF54009BE6FC0214F01F2F +:109C9000004C5BBCC620580CC3E1189BE6FC0214C8 +:109CA000F01F00483FFCC27B0E9C009BF01F00464B +:109CB000FE91FF5E6EB55805EA071700C5DB302C34 +:109CC000F01F0038C90B5805FE90FF320A9AE13B9D +:109CD0000020009CF01F003D3018E7480208C7DB59 +:109CE000301CF01F002E301CF01F002DC73B302C05 +:109CF000F01F002AC6CB303CCFCB301CC50B586CB4 +:109D0000C080587CFE91FF4B308CC49B307CC47B60 +:109D1000305CC45B344CF01F002E089A18960E9BE2 +:109D2000F01F0018029B306AED640020ECCCFFDFCE +:109D3000F01F001400991AD60A984A6A009B31CC89 +:109D4000F01F00252FFD580CC0E0E6F8020C0A9C1D +:109D5000A1B8E748020CCCFA009BE6FC0214F01F05 +:109D60000019CC8A189BE6FC0214F01F00160C9C0C +:109D7000F01F001A3FFCCBFA000077AC800210FC09 +:109D8000800091DC800178BC800179788001914C61 +:109D900080019A3880015F60800163488001639C84 +:109DA00080017A1080018F208001FD408001F3A0A6 +:109DB000800177C08002E73680020BFC80020A70C7 +:109DC00080020B408000917C800214708000920021 +:109DD00080019E0080016E78800091E8D401202DE2 +:109DE000FACAFFF415D8BAD87409500915C8300B4F +:109DF000BAC8169CF01F00022FEDD80280019AD835 +:109E0000EBCD40E049F51697EAFC0214300BF01F49 +:109E1000001EF01F001EEEC6FFDFEF3B00200C9A75 +:109E20000E9CF01F001BC150EAF8020CA1D8202D97 +:109E30000C9BEB48020C306A1A9CEF360020F01F96 +:109E400000150C9B0E9CF01F00142FED581CC060D9 +:109E5000EAF8020CEDB80001C0600E9CF01F000F84 +:109E6000E3CD80E0301B300CF01F000D302B300CA8 +:109E7000F01F000B0E9CF01F0009E3CD80E00000F6 +:109E8000000077AC80020B40800196C88001914CA5 +:109E90008002E73680019AD8800091E88001984CD2 +:109EA000EBCD40E0202D18951697580CC0513FFC83 +:109EB0002FEDE3CD80E0580BCFB0E04B0020FE9BB0 +:109EC000FFF8FAC6FFFE306AE06B00FF0C9CF01F43 +:109ED0000008306A202D0C9B1A9CF01F00060E9B78 +:109EE0000A9CF01F00052FEDCE4B0000800091D0A2 +:109EF0008002E73680019AD8EBCD408048B7EEF873 +:109F000002045828C030E3CFC080F01F0009581C5D +:109F1000F9BC0109EFF80083F9B90010F1D9E03874 +:109F2000EFF80A83E3CD8080000077AC80020A84DA +:109F3000D40148B9F338000A104CF36C000A7218C7 +:109F40005808C0B05828C0803028726C9318301B55 +:109F500072595D19D80AD80ADA0A0000000079C8D7 +:109F60004828916B915C5EFC000079C8EBCD40C045 +:109F7000203D5CBBBA89502B109714965CC85C8856 +:109F80005807C0513FFC2FDDE3CD80C05C784959B4 +:109F90005018B28C3048FAC9FFF8300A306B492C9F +:109FA000F01F0012581CCEF11B89491A1898B48969 +:109FB000306B1A99300A48FCF01F000C581CCE3147 +:109FC00048D8300AB007306B304848CCFA0800094E +:109FD000F01F0006581CCD7148989146CD5B0000DB +:109FE00000007A288003B8108001776C0000025CC2 +:109FF0008003B8180000025E8003B820000079C812 +:10A00000EBCD40C030074A161AD78D078D17ED6784 +:10A010000008ED670009ED67000A8D378D470E983F +:10A020000E9949BA0E9B302CF01F001A2FFD580CC8 +:10A03000C0413FFCE3CD80C01AD70E980E99496A03 +:10A040000E9B304CF01F00132FFD580CCF301AD749 +:10A050000E980E99491A0E9B32ECF01F000E2FFD40 +:10A06000580CCE8031483019E06A138830AB0E9C12 +:10A07000F01F000B581CCDE10E9BECCCFFF4F01F41 +:10A080000009581CCD71CD7B000079C88001A0F07B +:10A0900080016E788001A1A08001A0A480019F6C46 +:10A0A000800144F8D401F01F000E48EA74085838C3 +:10A0B000C12030289508F539000A3008F009180049 +:10A0C000C020D8023018300B9518487C487AF01F11 +:10A0D0000008D80230089508D80200008001DA365E +:10A0E000000079C88001DA5880018E348001EF20A9 +:10A0F000EBCD408048973018EF6800086E4958094A +:10A10000C0A0308CF01F00066E4C3009485A6E3BE0 +:10A11000F01F0005E3CD8080000079C880019F30EA +:10A120008001A1CC80014558D4014989F80C11FF68 +:10A13000F338000A106CF36C000AC1E1F33800092F +:10A14000F8081800C19072185808C161F338000867 +:10A15000F8081800C06072085808C0F05818C0C04D +:10A160003018300B931848AA48ACF01F000B300B86 +:10A17000331CF01F000AD802301B485A930B488C3E +:10A18000F01F0005D8020000000079C880018E345D +:10A190008001DA588001EF2080016D6C8001DA8443 +:10A1A000EBCD404048766C3CF01F0007308CF01F30 +:10A1B000000730083009ED6800088D09E3CD8040C4 +:10A1C000000079C8800145308001A128D401308C7D +:10A1D000F01F0002D80A00008001A128EBCD4080CA +:10A1E00048E76E185828C030E3CD80806E58300B99 +:10A1F0006E6C5D18300B8F1B4899F2FA0324F2F84D +:10A2000003201438C040169CF01F0006300B332C7E +:10A21000F01F0005E3CD8080000079C8000084CCE9 +:10A2200080018CE480016D6CEBCD40C018971696D0 +:10A23000F01F0009C0C06E0C581CC0700C9B0E9C17 +:10A24000F01F0006CF91302CE3CD80C03FDCE3CD82 +:10A2500080C000008001462C80014636EBCD404096 +:10A26000301818969908F01F00040C9CF01F00038A +:10A27000E3CD80408001463280014634D401580C41 +:10A28000C030F01F0002D80280014630D4013008EF +:10A290009908F01F0002D8028001462ED401189EB2 +:10A2A000580AC0C196199688F9D9C010103CC165EA +:10A2B000F2C8FFFF973AB618D802581AC06096192C +:10A2C000F2C8FFFFB618D802969996881039C0F4E4 +:10A2D0007648F0090709B889CF3B1D897648F00C0C +:10A2E0000B099619F2C8FFFFB618D8023008973844 +:10A2F000B8889619F2C8FFFFB618D802EBCD408097 +:10A300001897580AC1D1961C9689FDDCC010FCC86C +:10A31000FFFF1238F7FA4A03F7F85004F1DEE508B8 +:10A32000EFF95801F1F95E00EFFA5800F1FA5E0119 +:10A33000F7FC5201F8C8FFFEB618E3CD8080581A2A +:10A34000C070961CF8C8FFFEB618E3CD8080969AC0 +:10A350009689F4C8FFFF1238C09476481408119902 +:10A36000B889118AB89A961CCEEB30089738B8088D +:10A37000961CF8C8FFFEB618E3CD8080EBCD408078 +:10A38000189E169C580AC0F1961B9889EFDBC010E6 +:10A39000EEC8FFFD1238C205F6C8FFFC993AB8189E +:10A3A000E3CD8080581AC070981BF6C8FFFCB8181F +:10A3B000E3CD8080969B9889F6C8FFFD1238C1C412 +:10A3C000784A160A15B8BC8815A9BC991598BCA876 +:10A3D0001589BCB9CEAB1DB8784A0E0AB4881DA940 +:10A3E000B4991D98B4A81D89B4B9981BF6C8FFFC90 +:10A3F000B818E3CD8080300899389D08981BF6C8BE +:10A40000FFFCB818E3CD8080EBCD4068189316951B +:10A410001496F01F000C0C9A0A9BE6CCFFFFF01F6D +:10A4200000090C9A0A9BE6CCFFFEF01F00060C9A6E +:10A430000A9BE6CCFFFDF01F0003E3CD806800001F +:10A440008001A29CD4211697189596141496F01F9B +:10A4500000080C9A0E9BEACCFFFEF01F00060BC80A +:10A460005808F1D4E108EFF81C01D8228001A2FCC1 +:10A470008001A408EBCD4068189316951496F01F40 +:10A4800000060C9A0A9BE6CCFFFCF01F0003E3CD0C +:10A49000806800008001A37CEBCD4068189316957E +:10A4A0001496F01F00090C9A0A9BE6CCFFFCF01FE3 +:10A4B00000070C9A0A9BE6CCFFFAF01F0004E3CDDC +:10A4C000806800008001A37C8001A2FCEBCD406885 +:10A4D000189316951496F01F000F0C9A0A9BE6CC61 +:10A4E000FFFCF01F000D0C9A0A9BE6CCFFFBF01F4F +:10A4F000000A0C9A0A9BE6CCFFFAF01F00070C9AA0 +:10A500000A9BE6CCFFF9F01F0004E3CD8068000051 +:10A510008001A37C8001A29CEBCD40681893169526 +:10A520001496F01F000C0C9A0A9BE6CCFFFCF01F5F +:10A53000000A0C9A0A9BE6CCFFFAF01F00080C9A5E +:10A540000A9BE6CCFFF9F01F0005E3CD8068000010 +:10A550008001A37C8001A2FC8001A29CEBCD40681D +:10A56000189316951496F01F00150C9A0A9BE6CCCA +:10A57000FFFCF01F00120C9A0A9BE6CCFFF8F01FBC +:10A5800000100C9A0A9BE6CCFFF6F01F000D0C9A07 +:10A590000A9BE6CCFFF4F01F00090C9A0A9BE6CC5C +:10A5A000FFF0F01F00070C9A0A9BE6CCFFEEF01FAD +:10A5B0000004E3CD806800008001A37C8001A2FC40 +:10A5C000EBCD4068189316951496F01F00090C9A6D +:10A5D0000A9BE6CCFFFCF01F00060C9A0A9BE6CC17 +:10A5E000FFF8F01F0003E3CD806800008001A37C2A +:10A5F000EBCD4068189316951496F01F00060C9A40 +:10A600000A9BE6CCFFFCF01F0003E3CD806800004E +:10A610008001A37CEBCD4068189316951496F01F2B +:10A62000000C0C9A0A9BE6CCFFFCF01F00090C9A68 +:10A630000A9BE6CCFFF8F01F00060C9A0A9BE6CCBA +:10A64000FFF4F01F0003E3CD806800008001A37CCD +:10A65000EBCD4068189316951496F01F00330C9AB2 +:10A660000A9BE6CCFFFCF01F00300C9A0A9BE6CC5C +:10A67000FFF8F01F002D0C9A0A9BE6CCFFF4F01FA8 +:10A68000002B0C9A0A9BE6CCFFF2F01F00280C9AD4 +:10A690000A9BE6CCFFF0F01F00250C9A0A9BE6CC43 +:10A6A000FFEEF01F00220C9A0A9BE6CCFFECF01F95 +:10A6B000001F0C9A0A9BE6CCFFEAF01F001C0C9AC4 +:10A6C0000A9BE6CCFFE8F01F00190C9A0A9BE6CC27 +:10A6D000FFE6F01F00160C9A0A9BE6CCFFE4F01F81 +:10A6E00000130C9A0A9BE6CCFFE2F01F00110C9AB3 +:10A6F0000A9BE6CCFFE1F01F000E0C9A0A9BE6CC09 +:10A70000FFE0F01F00090C9A0A9BE6CCFFDCF01F6B +:10A7100000060C9A0A9BE6CCFFD8F01F0005E3CD9B +:10A72000806800008001A37C8001A2FC8001A29CC3 +:10A73000EBCD4068189316951496F01F00120C9AF2 +:10A740000A9BE6CCFFFCF01F00100C9A0A9BE6CC9B +:10A75000FFFBF01F000D0C9A0A9BE6CCFFFAF01FDE +:10A76000000A0C9A0A9BE6CCFFF9F01F00070C9A2E +:10A770000A9BE6CCFFF8F01F0004E3CD80680000E0 +:10A780008001A37C8001A29CEBCD406818931695B4 +:10A790001496F01F00060C9A0A9BE6CCFFFCF01FF3 +:10A7A0000003E3CD806800008001A37CEBCD40680E +:10A7B000189316951496F01F00060C9A0A9BE6CC87 +:10A7C000FFFCF01F0003E3CD806800008001A37C44 +:10A7D000EBCD4068189316951496F01F00060C9A5E +:10A7E0000A9BE6CCFFFCF01F0003E3CD806800006D +:10A7F0008001A37CEBCD4068189316951496F01F4A +:10A8000000060C9A0A9BE6CCFFFCF01F0003E3CD88 +:10A81000806800008001A37CEBCD406818931695FA +:10A820001496F01F00060C9A0A9BE6CCFFFCF01F62 +:10A830000003E3CD806800008001A37CEBCD40687D +:10A84000189316951496F01F00060C9A0A9BE6CCF6 +:10A85000FFFCF01F0003E3CD806800008001A37CB3 +:10A86000EBCD4068189316951496F01F00060C9ACD +:10A870000A9BE6CCFFFCF01F0003E3CD80680000DC +:10A880008001A37CEBCD4068189316951496F01FB9 +:10A8900000060C9A0A9BE6CCFFFCF01F0003E3CDF8 +:10A8A000806800008001A37CEBCD4068189316956A +:10A8B0001496F01F00060C9A0A9BE6CCFFFCF01FD2 +:10A8C0000004E3CD806800008001A37C8001A650D5 +:10A8D000EBCD4068189316951496F01F00060C9A5D +:10A8E0000A9BE6CCFFFCF01F0003E3CD806800006C +:10A8F0008001A37CEBCD4068189316951496F01F49 +:10A9000000090C9A0A9BE6CCFFFCF01F00060C9A8B +:10A910000A9BE6CCFFF8F01F0003E3CD806800003F +:10A920008001A37CEBCD4068189316951496F01F18 +:10A9300000060C9A0A9BE6CCFFFCF01F0003E3CD57 +:10A94000806800008001A37CEBCD406818931695C9 +:10A950001496F01F00090C9A0A9BE6CCFFFCF01F2E +:10A9600000060C9A0A9BE6CCFFF8F01F0003E3CD2B +:10A97000806800008001A37CEBCD40681893169599 +:10A980001496F01F00090C9A0A9BE6CCFFFCF01FFE +:10A9900000060C9A0A9BE6CCFFF8F01F0003E3CDFB +:10A9A000806800008001A37CEBCD40681893169569 +:10A9B0001496F01F00060C9A0A9BE6CCFFFCF01FD1 +:10A9C0000003E3CD806800008001A37CEBCD4068EC +:10A9D000189316951496F01F00090C9A0A9BE6CC62 +:10A9E000FFFCF01F00060C9A0A9BE6CCFFF8F01F54 +:10A9F0000003E3CD806800008001A37CEBCD4068BC +:10AA0000189316951496F01F00060C9A0A9BE6CC34 +:10AA1000FFFCF01F0003E3CD806800008001A37CF1 +:10AA2000EBCD4068189316951496F01F00090C9A08 +:10AA30000A9BE6CCFFFCF01F00060C9A0A9BE6CCB2 +:10AA4000FFF8F01F0003E3CD806800008001A37CC5 +:10AA5000EBCD4068189316951496F01F00090C9AD8 +:10AA60000A9BE6CCFFFCF01F00060C9A0A9BE6CC82 +:10AA7000FFF8F01F0003E3CD806800008001A37C95 +:10AA8000EBCD4068189316951496F01F00060C9AAB +:10AA90000A9BE6CCFFFCF01F0003E3CD80680000BA +:10AAA0008001A37CEBCD4068189316951496F01F97 +:10AAB00000060C9A0A9BE6CCFFFCF01F0003E3CDD6 +:10AAC000806800008001A37CEBCD40681893169548 +:10AAD0001496F01F00060C9A0A9BE6CCFFFCF01FB0 +:10AAE0000003E3CD806800008001A37CEBCD4068CB +:10AAF000189316951496F01F00060C9A0A9BE6CC44 +:10AB0000FFFCF01F0004E3CD806800008001A37CFF +:10AB10008001A29CEBCD4068189316951496F01F07 +:10AB200000060C9A0A9BE6CCFFFCF01F0004E3CD64 +:10AB3000806800008001A37C8001D434EBCD4068A4 +:10AB4000189316951496F01F00330C9A0A9BE6CCC6 +:10AB5000FFDEF01F00310C9A0A9BE6CCFFD4F01FF9 +:10AB6000002F0C9A0A9BE6CCFFC2F01F002D0C9A16 +:10AB70000A9BE6CCFFBFF01F002B0C9A0A9BE6CC89 +:10AB8000FFBCF01F00290C9A0A9BE6CCFFB0F01F17 +:10AB900000270C9A0A9BE6CCFFACF01F00250C9A0C +:10ABA0000A9BE6CCFFA4F01F00230C9A0A9BE6CC7C +:10ABB000FF9CF01F00210C9A0A9BE6CCFF98F01F27 +:10ABC000001F0C9A0A9BE6CCFF8CF01F001D0C9A0C +:10ABD0000A9BE6CCFF72F01F001B0C9A0A9BE6CC86 +:10ABE000FF68F01F00190C9A0A9BE6CCFF44F01F87 +:10ABF00000170C9A0A9BE6CCFF50F01F00150C9A28 +:10AC00000A9BE6CCFF30F01F0013E3CD8068000004 +:10AC10008001D3448001D2DC8001D2748001CAF863 +:10AC20008001C9D88001D8608001CA688001CA9CAF +:10AC30008001CA0C8001C9A48001D4348001CDB444 +:10AC40008001CE848001D5588001D6B08001D4E443 +:10AC50008001CFFCEBCD4068189316951496F01F39 +:10AC6000000F0C9A0A9BE6CCFFFCF01F000D0C9A1B +:10AC70000A9BE6CCFFFAF01F000B0C9A0A9BE6CC6D +:10AC8000FFF9F01F00080C9A0A9BE6CCFFF8F01FB2 +:10AC90000006E3CD806800008001A37C8001A2FC57 +:10ACA0008001A29C8001AB3CEBCD406C14951296C8 +:10ACB00018921693E06A00DC129B0A9CF01F001A9F +:10ACC000ECC9FF98EACAFF98069B049CF01F001786 +:10ACD000ECC9FFBCEACAFFBC069B049CF01F001431 +:10ACE000ECC9FF68EACAFF68069B049CF01F0011CC +:10ACF000ECC9FF50EACAFF50069B049CF01F000EEF +:10AD0000ECC9FF44EACAFF44069B049CF01F000BF9 +:10AD1000ECC9FF30EACAFF30069B049CF01F000814 +:10AD2000E3CD806C8002E7368001D1588001D24C9F +:10AD30008001D1E88001D1C08001D21C8001CF9C6C +:10AD4000EBCD40EC1296F2E80000F4E90000ECE8EC +:10AD50000008F4E90008ECE20010F4E30010ECE86D +:10AD6000001814971695F4E90018E06B00E85D15DB +:10AD70008F7CC0D030CA6C7BF01F00066E7A6C7975 +:10AD8000149C0A9B2F492F4AF01F0003E3CD80EC4F +:10AD9000800091DC8001ACA8EBCD40C014971696E2 +:10ADA00074385808C160949E948AF60E00081438CE +:10ADB000F5DEE916F9B80900EFF89A03580CC090CF +:10ADC0005809C0C1189B0C9A6E4C1C0CF01F000A4D +:10ADD0008E180C08AE18E3CD80C05819CFA16E4B69 +:10ADE0000C9A1C0BF01F00048E180C08AE18E3CD53 +:10ADF00080C00000800091DCEBCD40E016971496F7 +:10AE00001895581AC0B0F01F000C0C99189B0E9A98 +:10AE10000A9CF01F000AE3CD80E09698968614996C +:10AE20001016169A0C9BF01F00053008EA060B0856 +:10AE3000E3CD80E0800091B88001AD98EBCD406813 +:10AE4000189316951496F01F00060C9A0A9BE6CCF0 +:10AE5000FFFCF01F0004E3CD806800008001A37CAC +:10AE60008001ADF8EBCD4068189316951496F01F4D +:10AE700000060C9A0A9BE6CCFFFCF01F0004E3CD11 +:10AE8000806800008001A37C8001ADF8EBCD4068B4 +:10AE9000189316951496F01F000F0C9A0A9BE6CC97 +:10AEA000FFFCF01F000C0C9A0A9BE6CCFFF8F01F89 +:10AEB00000090C9A0A9BE6CCFFF4F01F00060C99DF +:10AEC0000A9AE6CCFFF0320BF01F0003E3CD806856 +:10AED0008001A37C8001AD98EBCD40681893169556 +:10AEE0001496F01F000C0C9A0A9BE6CCFFFCF01F96 +:10AEF00000090C9A0A9BE6CCFFF8F01F00060C999B +:10AF00000A9AE6CCFFF4320BF01F0003E3CD806811 +:10AF10008001A37C8001AD98EBCD40681893169515 +:10AF20001496F01F000C0C9A0A9BE6CCFFFCF01F55 +:10AF300000090C9A0A9BE6CCFFF8F01F00070C9959 +:10AF40000A9AE6CCFFF7303BF01F0004E3CD80689F +:10AF50008001A37C8001A29C8001AD98EBCD40686C +:10AF6000189316951496F01F00180C9A0A9BE6CCBD +:10AF7000FFFCF01F00150C9A0A9BE6CCFFF8F01FAF +:10AF800000120C9A0A9BE6CCFFF4F01F000F0C9AFB +:10AF90000A9BE6CCFFF0F01F000C0C9A0A9BE6CC53 +:10AFA000FFECF01F000A0C9A0A9BE6CCFFEAF01FA8 +:10AFB00000080C990A9AE6CCFFE9303BF01F000527 +:10AFC000E3CD80688001A37C8001A2FC8001A29C6B +:10AFD0008001AD98EBCD4068189316951496F01F3C +:10AFE00000280C9A0A9BE6CCFFFCF01F00250C9A67 +:10AFF0000A9BE6CCFFF8F01F00220C9A0A9BE6CCD5 +:10B00000FFF4F01F00200C9A0A9BE6CCFFF2F01F21 +:10B01000001E0C9A0A9BE6CCFFF1F01F001B0C9A55 +:10B020000A9BE6CCFFF0F01F00180C9A0A9BE6CCB6 +:10B03000FFEFF01F00150C9A0A9BE6CCFFEEF01F05 +:10B0400000120C990A9AE6CCFFED306BF01F000F4E +:10B050000C9A0A9BE6CCFFE7F01F000B0C9A0A9BA8 +:10B06000E6CCFFE6F01F00080C990A9AE6CCFFE553 +:10B07000320BF01F0006E3CD806800008001A37C46 +:10B080008001A2FC8001A29C8001AD98EBCD4068BC +:10B09000189316951496F01F00150C9A0A9BE6CC8F +:10B0A000FFFCF01F00120C9A0A9BE6CCFFF8F01F81 +:10B0B000000F0C9A0A9BE6CCFFF4F01F000C0C9AD0 +:10B0C0000A9BE6CCFFF0F01F000A0C9A0A9BE6CC24 +:10B0D000FFEEF01F00080C990A9AE6CCFFED303B1A +:10B0E000F01F0005E3CD80688001A37C8001A2FCF5 +:10B0F0008001A29C8001AD98EBCD40681893169515 +:10B100001496F01F00120C9A0A9BE6CCFFFCF01F6D +:10B1100000100C9A0A9BE6CCFFFBF01F000D0C9967 +:10B120000A9AE6CCFFFA302BF01F000A0C9A0A9B11 +:10B13000E6CCFFF8F01F00050C9A0A9BE6CCFFF462 +:10B14000F01F0002E3CD80688001A37C8001A29CF7 +:10B150008001AD98EBCD4068189316951496F01FBA +:10B1600000120C9A0A9BE6CCFFFCF01F00100C9A10 +:10B170000A9BE6CCFFFBF01F000D0C990A9AE6CC67 +:10B18000FFFA302BF01F000A0C9A0A9BE6CCFFF85E +:10B19000F01F00050C9A0A9BE6CCFFF4F01F00029A +:10B1A000E3CD80688001A37C8001A29C8001AD98E2 +:10B1B000EBCD4068189316951496F01F000C0C9A6E +:10B1C0000A9BE6CCFFFCF01F000A0C9A0A9BE6CC17 +:10B1D000FFFBF01F00070C990A9AE6CCFFFA302B10 +:10B1E000F01F0004E3CD80688001A37C8001A29C55 +:10B1F0008001AD98EBCD4068189316951496F01F1A +:10B2000000090C9A0A9BE6CCFFFCF01F00070C9982 +:10B210000A9AE6CCFFFB303BF01F0004E3CD8068C8 +:10B220008001A37C8001A29C8001AD98EBCD406899 +:10B23000189316951496F01F00090C9A0A9BE6CCF9 +:10B24000FFFCF01F00070C990A9AE6CCFFFB303B8D +:10B25000F01F0004E3CD80688001A37C8001A29CE4 +:10B260008001AD98EBCD4068189316951496F01FA9 +:10B2700000090C9A0A9BE6CCFFFCF01F00070C9912 +:10B280000A9AE6CCFFFB303BF01F0004E3CD806858 +:10B290008001A37C8001A29C8001AD98EBCD406829 +:10B2A000189316951496F01F000C0C9A0A9BE6CC86 +:10B2B000FFFCF01F00090C9A0A9BE6CCFFF8F01F78 +:10B2C00000070C990A9AE6CCFFF7303BF01F000408 +:10B2D000E3CD80688001A37C8001A29C8001AD98B1 +:10B2E000EBCD4068189316951496F01F000C0C9A3D +:10B2F0000A9BE6CCFFFCF01F00090C9A0A9BE6CCE7 +:10B30000FFF8F01F00070C990A9AE6CCFFF7303BD4 +:10B31000F01F0004E3CD80688001A37C8001A29C23 +:10B320008001AD98EBCD4068189316951496F01FE8 +:10B33000000C0C9A0A9BE6CCFFFCF01F00090C9A4B +:10B340000A9BE6CCFFF8F01F00070C990A9AE6CC9E +:10B35000FFF7303BF01F0004E3CD80688001A37C41 +:10B360008001A29C8001AD98EBCD406818931695A2 +:10B370001496F01F000C0C9A0A9BE6CCFFFCF01F01 +:10B3800000090C9A0A9BE6CCFFF8F01F00070C9905 +:10B390000A9AE6CCFFF7303BF01F0004E3CD80684B +:10B3A0008001A37C8001A29C8001AD98EBCD406818 +:10B3B000189316951496F01F00090C9A0A9BE6CC78 +:10B3C000FFFCF01F00070C990A9AE6CCFFFB303B0C +:10B3D000F01F0004E3CD80688001A37C8001A29C63 +:10B3E0008001AD98EBCD4068169514961893F01F28 +:10B3F00000220C990A9AE6CCFFFC308BF01F001F4C +:10B400000C9A0A9BE6CCFFF4F01F001B0C9A0A9BD7 +:10B41000E6CCFFF0F01F00180C9A0A9BE6CCFFEC7C +:10B42000F01F00150C9A0A9BE6CCFFE8F01F0012F3 +:10B430000C9A0A9BE6CCFFE4F01F000F0C9A0A9BC3 +:10B44000E6CCFFE0F01F000E0C9A0A9BE6CCFFDE74 +:10B45000F01F000B0C9A0A9BE6CCFFDCF01F0008E3 +:10B460000C990A9AE6CCFFDA302BF01F0004E3CDEA +:10B47000806800008001A37C8001AD988001A2FC5F +:10B48000EBCD4068189316951496F01F00090C9A9E +:10B490000A9BE6CCFFFCF01F00070C990A9AE6CC49 +:10B4A000FFFB303BF01F0004E3CD80688001A37CEC +:10B4B0008001A29C8001AD98EBCD40681695149652 +:10B4C0001893F01F00060C990A9AE6CCFFFC308B0B +:10B4D000F01F0003E3CD80688001A37C8001AD985C +:10B4E000EBCD4068189316951496F01F00090C9A3E +:10B4F0000A9BE6CCFFFCF01F00070C990A9AE6CCE9 +:10B50000FFFB303BF01F0004E3CD80688001A37C8B +:10B510008001A29C8001AD98EBCD406818931695F0 +:10B520001496F01F00100C9A0A9BE6CCFFFCF01F4B +:10B53000000E0C990A9AE6CCFFFB306BF01F000B53 +:10B540000A9AE6CCFFF50C99306BF01F00080C9AB4 +:10B550000A9BE6CCFFEFF01F0004E3CD80680000FB +:10B560008001A37C8001A29C8001AD98EBCD406856 +:10B57000169514961893F01F000C0C990A9AE6CCB5 +:10B58000FFFC306BF01F00090C9A0A9BE6CCFFF61B +:10B59000F01F00070C9A0A9BE6CCFFF5F01F000491 +:10B5A000E3CD80688001A37C8001AD988001A29CDE +:10B5B000EBCD4068169514961893F01F000D0C996A +:10B5C0000A9AE6CCFFFC306BF01F000A0A9AE6CC20 +:10B5D000FFF60C99302BF01F00070C9A0A9BE6CC63 +:10B5E000FFF4F01F0005E3CD806800008001A37C1C +:10B5F0008001AD988001AB3CEBCD40681695149668 +:10B600001893F01F000D0C990A9AE6CCFFFC306BE2 +:10B61000F01F000A0A9AE6CCFFF60C99302BF01FB7 +:10B6200000070C9A0A9BE6CCFFF4F01F0005E3CD5F +:10B63000806800008001A37C8001AD988001AB3C54 +:10B64000EBCD4068169514961893F01F00100C99D6 +:10B650000A9AE6CCFFFC306BF01F000D0C9A0A9B97 +:10B66000E6CCFFF6F01F000B0C9A0A9BE6CCFFF429 +:10B67000F01F00080C990A9AE6CCFFF2302BF01F5D +:10B680000004E3CD806800008001A37C8001AD98B8 +:10B690008001A2FCEBCD4068169514961893F01F1C +:10B6A000000A0C990A9AE6CCFFFC306BF01F0007E9 +:10B6B0000C990A9AE6CCFFF6302BF01F0004E3CD7C +:10B6C000806800008001A37C8001AD98EBCD4068CC +:10B6D000169514961893F01F000A0C990A9AE6CC56 +:10B6E000FFFC306BF01F00070C990A9AE6CCFFF6BE +:10B6F000302BF01F0004E3CD806800008001A37CA4 +:10B700008001AD98EBCD4068189316951496F01F04 +:10B7100000220C9A0A9BE6CCFFFCF01F00200C9A3A +:10B720000A9BE6CCFFFAF01F001D0C9A0A9BE6CCA0 +:10B73000FFF8F01F001A0C990A9AE6CCFFF6306B5E +:10B74000F01F00170C9A0A9BE6CCFFF0F01F0015C3 +:10B750000C9A0A9BE6CCFFEFF01F00120C990A9A94 +:10B76000E6CCFFEE302BF01F000E0C9A0A9BE6CCC5 +:10B77000FFECF01F00090C9A0A9BE6CCFFE8F01FD3 +:10B7800000060C9A0A9BE6CCFFE4F01F0007E3CD0D +:10B79000806800008001A37C8001A2FC8001AD983C +:10B7A0008001A29C8001AB3CEBCD406816951496BD +:10B7B0001893F01F000C0C990A9AE6CCFFFC306B32 +:10B7C000F01F00090C9A0A9BE6CCFFF6F01F000759 +:10B7D0000C9A0A9BE6CCFFF5F01F0004E3CD8068CD +:10B7E0008001A37C8001AD988001A29CEBCD4068D4 +:10B7F000169514961893F01F000C0C990A9AE6CC33 +:10B80000FFFC306BF01F00090C9A0A9BE6CCFFF698 +:10B81000F01F00070C9A0A9BE6CCFFF5F01F00040E +:10B82000E3CD80688001A37C8001AD988001A29C5B +:10B83000EBCD4068189316951496F01F00120C9AE1 +:10B840000A9BE6CCFFFCF01F00100C9A0A9BE6CC8A +:10B85000FFFAF01F000D0C9A0A9BE6CCFFF8F01FD0 +:10B86000000A0A9AE6CCFFF60C99306BF01F00072D +:10B870000C9A0A9BE6CCFFF0F01F0005E3CD806830 +:10B880008001A37C8001A2FC8001AD988001AB3CCB +:10B89000EBCD4068189316951496F01F00100C9A83 +:10B8A0000A9BE6CCFFFCF01F000E0C9A0A9BE6CC2C +:10B8B000FFFAF01F000B0C990A9AE6CCFFF8306BE8 +:10B8C000F01F00080C990A9AE6CCFFF2302BF01F0B +:10B8D0000005E3CD806800008001A37C8001A2FC0C +:10B8E0008001AD98EBCD4068189316951496F01F23 +:10B8F00000090C9A0A9BE6CCFFFFF01F00060C998A +:10B900000A9AE6CCFFFE302BF01F0003E3CD8068DF +:10B910008001A29C8001AD98EBCD406816951496ED +:10B920001893F01F00130C990A9AE6CCFFFF306BB6 +:10B93000F01F00100C9A0A9BE6CCFFF9F01F000CD8 +:10B940000C9A0A9BE6CCFFF8F01F00090A9AE6CC95 +:10B95000FFF70C99306BF01F00070C9A0A9BE6CC9E +:10B96000FFF1F01F0003E3CD806800008001A29C7E +:10B970008001AD98EBCD4068189316951496F01F92 +:10B9800000060C9A0A9BE6CCFFFCF01F0004E3CDF6 +:10B99000806800008001A37C8001B918EBCD40686D +:10B9A0001696149518931499169A306BF01F000888 +:10B9B0000A9A0C9BE6CCFFFAF01F00060A9A0C9B31 +:10B9C000E6CCFFF9F01F0003E3CD80688001AD985D +:10B9D0008001A29CEBCD4068189316951496F01F39 +:10B9E00000060C9A0A9BE6CCFFFCF01F0004E3CD96 +:10B9F000806800008001A37C8001B99CEBCD406889 +:10BA0000189316951496F01F00090C9A0A9BE6CC21 +:10BA1000FFFFF01F00060C990A9AE6CCFFFE306B80 +:10BA2000F01F0003E3CD80688001A29C8001AD98E7 +:10BA3000EBCD4068189316951496F01F00060C9AEB +:10BA40000A9BE6CCFFFCF01F0004E3CD80680000F9 +:10BA50008001A37C8001B9FCD4011499169A308B23 +:10BA6000F01F0002D80200008001AD98EBCD4068C5 +:10BA7000169514961893F01F00090A9AE6CCFFFC5D +:10BA80000C99306BF01F00060C9A0A9BE6CCFFF66F +:10BA9000F01F0004E3CD80688001A37C8001AD9895 +:10BAA0008001A2FCEBCD4068189316951496F01F08 +:10BAB00000090C9A0A9BE6CCFFFCF01F00070C99CA +:10BAC0000A9AE6CCFFFB303BF01F0004E3CD806810 +:10BAD0008001A37C8001A29C8001AD98D4011499BF +:10BAE000169A320BF01F0002D80200008001AD98B8 +:10BAF000EBCD4068189316951496F01F00180C9A19 +:10BB00000A9BE6CCFFE0F01F00160C9A0A9BE6CCDD +:10BB1000FFDEF01F00140C9A0A9BE6CCFFDDF01F3D +:10BB200000110C990A9AE6CCFFDC306BF01F000E76 +:10BB30000C9A0A9BE6CCFFD6F01F000C0C9A0A9BCD +:10BB4000E6CCFFCEF01F00070C9A0A9BE6CCFFCD97 +:10BB5000F01F0004E3CD80688001BADC8001A2FC04 +:10BB60008001A29C8001AD988001BA58EBCD40685D +:10BB7000189316951496F01F00060C9A0A9BE6CCB3 +:10BB8000FFFCF01F0004E3CD806800008001A37C6F +:10BB90008001BAF0D4011499169A303BF01F0002CC +:10BBA000D80200008001AD98EBCD40E018971695C3 +:10BBB0001496F01F000D6E1C580CC0800C990A9A48 +:10BBC0006E0BF01F000AE3CD80E05816C0918A99F1 +:10BBD0006A4812088F186E098A181208AA18E3CD4D +:10BBE00080E000008001A37C8001AD98EBCD40682F +:10BBF000189316951496F01F00060C9A0A9BE6CC33 +:10BC0000FFFCF01F0004E3CD806800008001A37CEE +:10BC10008001BBA8EBCD4068189316951496F01FD1 +:10BC200000100C9A0A9BE6CCFFFCF01F000E0C994A +:10BC30000A9AE6CCFFFB303BF01F000B0A9AE6CCD9 +:10BC4000FFF80C99308BF01F00080C9A0A9BE6CC89 +:10BC5000FFF0F01F0006E3CD806800008001A37CA8 +:10BC60008001A29C8001AD988001BBA8EBCD40680B +:10BC7000169514961893F01F00090A9AE6CCFFFC5B +:10BC80000C99308BF01F00060C9A0A9BE6CCFFF44F +:10BC9000F01F0004E3CD80688001A37C8001AD9893 +:10BCA0008001BBA8EBCD40801697189B580AC0F1C5 +:10BCB0008E1C8E89FDDCC010FCC8FFF91238C285CD +:10BCC000F8C8FFF88F3AAE18E3CD8080581AC070DC +:10BCD0008E1CF8C8FFF8AE18E3CD80808E9A8E894E +:10BCE000F4C8FFF91238C2C46E48140811F9B889B3 +:10BCF00011EAB89A11D9B8A911CAB8BA11B9B8C914 +:10BD000011AAB8DA1199B8E9118AB8FACE2B17F846 +:10BD10006E4A1C0AB48817E9B49917D8B4A817C991 +:10BD2000B4B917B8B4C817A9B4D91798B4E8178923 +:10BD3000B4F98E1CF8C8FFF8AE18E3CD8080300B44 +:10BD4000308A8F3BF01F00028E1CCC4B800091D0BC +:10BD5000EBCD4068189316951496F01F000C0C9AC2 +:10BD60000A9BE6CCFFF8F01F000A0C9A0A9BE6CC6F +:10BD7000FFF6F01F00070C9A0A9BE6CCFFF4F01FB9 +:10BD80000005E3CD806800008001BCA48001A2FC16 +:10BD90008001AB3CEBCD40F8206D169714961499BA +:10BDA0001895169A306BF01F002D0C9A0E9BEACC5A +:10BDB000FFFAF01F002B0C9A0E9BEACCFFF9F01F44 +:10BDC00000280C9A0E9BEACCFFF8F01F00260C9A74 +:10BDD0000E9BEACCFFF0F01F00240C9A0E9BEACCDD +:10BDE000FFECF01F0021318A0E9B1A9CF01F001FF0 +:10BDF000EAC3FFE81A940C9A1A9B069CF01F001ADB +:10BE00005816C1801A9B0C9A6A7CF01F00199A98E8 +:10BE10008E992048F00901098B690C9A069C0E9BAB +:10BE2000F01F00116A698E181208AE182FADE3CD0D +:10BE300080F86A698E182FC81208E06B00E8BA080B +:10BE40006E5CF01F000C8B7CCF20505C1A9B0C9A10 +:10BE5000F01F0007CE3B00008001AD988001A29C3E +:10BE60008001BCA48001A37C800091DC8001BD50D6 +:10BE70008001D3ECEBCD4068189316951496F01F13 +:10BE800000120C9A0A9BE6CCFFFCF01F00100C9AE3 +:10BE90000A9BE6CCFFFAF01F000D0C9A0A9BE6CC39 +:10BEA000FFF8F01F00090C9A0A9BE6CCFFF4F01F84 +:10BEB00000060C9A0A9BE6CCFFF0F01F0005E3CDCC +:10BEC000806800008001A37C8001A2FC8001BD94F9 +:10BED000EBCD40E0189716951496F01F000B0C9AC6 +:10BEE0000A9BEECCFFFCF01F00090FD93008F009C7 +:10BEF0001800C0700C9A0A9BEECCFFF8F01F0004EB +:10BF0000E3CD80E08001A37C8001B8E48001BD9492 +:10BF1000EBCD4060202D301A18951696FACCFFFE16 +:10BF2000F01F00089A181BF92FE8F0090109AC0965 +:10BF30001BCA8B5A1BD88B482FEDE3CD80600000C5 +:10BF40008001A444EBCD40E07808975818971696E6 +:10BF50007859E049003FE0880004E3CF80E0FEF834 +:10BF6000029AF009032F78455815E0800127E04533 +:10BF70000080CF41780C301AF01F00A1E3CF90E091 +:10BF800078485808C391780C301AF01F009EE3CF10 +:10BF900090E07848F0C90005E049008FFE9BFFDF84 +:10BFA000FEF80264F009032F7848E0480081E08041 +:10BFB000010CE08A002BE0480083E0800118E08556 +:10BFC0000110E0480085CCA1780C301AF01F008FDA +:10BFD000E3CF90E0780C301AF01F008DE3CF90E0B3 +:10BFE0007848F0C90001E049009BFE9BFFB8FEF8CD +:10BFF0000222F009032FE0480081CB01780C301AAF +:10C00000F01F0085E3CF90E05848E08000E4E0486E +:10C010000080CA41781A300B780CF01F00806E0C3B +:10C020000C9B301AF01F007EE3CF90E0780C301AA2 +:10C03000F01F007CE3CF90E0780C301AF01F007AFC +:10C04000E3CF90E0780C301AF01F0078E3CF90E057 +:10C05000780C301AF01F0076E3CF90E0780C301A9D +:10C06000F01F0074E3CF90E0780C301AF01F0072DC +:10C07000E3CF90E0780C301AF01F0070E3CF90E02F +:10C08000780C301AF01F006EE3CF90E0780C301A75 +:10C09000F01F006CE3CF90E0780C301AF01F006ABC +:10C0A000E3CF90E0780C301AF01F0068E3CF90E007 +:10C0B000780C301AF01F0066E3CF90E0780C301A4D +:10C0C000F01F0064E3CF90E0780C301AF01F00629C +:10C0D000E3CF90E0780C301AF01F0060E3CF90E0DF +:10C0E000780C301AF01F005EE3CF90E0780C301A25 +:10C0F000F01F005CE3CF90E0780C301AF01F005A7C +:10C10000E3CF90E0780C301AF01F0058E3CF90E0B6 +:10C11000780C301AF01F0056E3CF90E0780C301AFC +:10C12000F01F0054E3CF90E0780C301AF01F00525B +:10C13000E3CF90E0780C301AF01F0050E3CF90E08E +:10C14000780C301AF01F004EE3CF90E0780C301AD4 +:10C15000F01F004CE3CF90E0780C301AF01F004A3B +:10C16000E3CF90E0780C301AF01F0048E3CF90E066 +:10C17000780C301AF01F0046E3CF90E0780C301AAC +:10C18000F01F0044E3CF90E0780C301AF01F00421B +:10C19000E3CF90E0780C301AF01F0040E3CF90E03E +:10C1A000780C301AF01F003EE3CF90E0780C301A84 +:10C1B000F01F003CE3CF90E0780C0A9AF01F003AA1 +:10C1C0000A9CE3CD80E0780C301AF01F0038E3CFF2 +:10C1D00090E0780C301AF01F0036E3CF90E0780C36 +:10C1E000301AF01F0034E3CF90E0780C301AF01FC3 +:10C1F0000032E3CF90E000008003B8288001AAEC71 +:10C200008001A4988003B9288001B3248001A37C15 +:10C210008003BB688001A4CC800091D08001BC1455 +:10C220008001BAA48001A4748001BA6C8001AC546E +:10C230008001AA808001AE8C8001AAC88001AAA4D6 +:10C240008001AA208001AF5C8001A9CC8001A9787F +:10C250008001A9488001A8F48001A8D08001A884A9 +:10C260008001A8608001B1548001B1B08001B1F4B7 +:10C270008001A8188001AA508001B0F88001A83C74 +:10C280008001A7F48001B4E08001B56C8001B5B0F5 +:10C290008001B5F88001B6408001BED08001B5189C +:10C2A0008001B9748001AE3C8001B3AC8001A6145A +:10C2B0008001B3688001B2E0EBCD40C012971499C1 +:10C2C0008E96109A582CC280E08A0008584CC360A1 +:10C2D000587CC190E3CF80C0580CC0A0581CCFB18F +:10C2E00058EBFE9BFFF9FEF80312F00B032F580BDF +:10C2F000CF21129C0E9BF01F00C28E98F006010CFD +:10C30000E3CD80C0202BE04B007FFE9BFFE5FEF8D5 +:10C3100002F2F00B032F582BE080015DE089001A38 +:10C32000580BC260581BCD71129C0E9BF01F00B6BB +:10C330008E98F006010CE3CD80C0580BCCC1129C46 +:10C340000E9BF01F00B28E98F006010CE3CD80C06A +:10C35000584BC170E0850148585BCBD1129C0E9BB5 +:10C36000F01F00AB8E98F006010CE3CD80C0129C4C +:10C370000E9BF01F00A88E98F006010CE3CD80C044 +:10C38000129C0E9BF01F00A48E98F006010CE3CDCA +:10C3900080C0129C0E9BF01F00A18E98F006010C2D +:10C3A000E3CD80C0129C0E9BF01F009D8E98F0067E +:10C3B000010CE3CD80C0129C0E9BF01F009A8E985A +:10C3C000F006010CE3CD80C0129C0E9BF01F00967E +:10C3D0008E98F006010CE3CD80C0129C0E9BF01FDE +:10C3E00000938E98F006010CE3CD80C0129C0E9B4A +:10C3F000F01F008F8E98F006010CE3CD80C0129CD8 +:10C400000E9BF01F008C8E98F006010CE3CD80C0CF +:10C41000129C0E9BF01F00888E98F006010CE3CD55 +:10C4200080C0129C0E9BF01F00858E98F006010CB8 +:10C43000E3CD80C0129C0E9BF01F00818E98F00609 +:10C44000010CE3CD80C0129C0E9BF01F007E8E98E5 +:10C45000F006010CE3CD80C0129C0E9BF01F007A09 +:10C460008E98F006010CE3CD80C0129C0E9BF01F4D +:10C4700000778E98F006010CE3CD80C0129C0E9BD5 +:10C48000F01F00738E98F006010CE3CD80C0129C63 +:10C490000E9BF01F00708E98F006010CE3CD80C05B +:10C4A000129C0E9BF01F006C8E98F006010CE3CDE1 +:10C4B00080C0129C0E9BF01F00698E98F006010C44 +:10C4C000E3CD80C0129C0E9BF01F00658E98F00695 +:10C4D000010CE3CD80C0129C0E9BF01F00628E9871 +:10C4E000F006010CE3CD80C0129C0E9BF01F005E95 +:10C4F0008E98F006010CE3CD80C0129C0E9BF01FBD +:10C50000005B8E98F006010CE3CD80C0129C0E9B60 +:10C51000F01F00578E98F006010CE3CD80C0129CEE +:10C520000E9BF01F00548E98F006010CE3CD80C0E6 +:10C53000129C0E9BF01F00508E98F006010CE3CD6C +:10C5400080C0129C0E9BF01F004D8E98F006010CCF +:10C55000E3CD80C0129C0E9BF01F00498E98F00620 +:10C56000010CE3CD80C0129C0E9BF01F00468E98FC +:10C57000F006010CE3CD80C0129C0E9BF01F004220 +:10C580008E98F006010CE3CD80C0129C0E9BF01F2C +:10C59000003F8E98F006010CE3CD80C0129C0E9BEC +:10C5A000F01F003B8E98F006010CE3CD80C0129C7A +:10C5B0000E9BF01F00388E98F006010CE3CD80C072 +:10C5C000129C0E9BF01F00348E98F006010CE3CDF8 +:10C5D00080C0129C0E9BF01F00318E98F006010C5B +:10C5E000E3CD80C0129C0E9BF01F002D8E98F006AC +:10C5F000010CE3CD80C000008003BDD88001A49869 +:10C600008003BE148001BC6C8001AE648001A5C0B3 +:10C610008001B4B88001A5F08001B8308001B29CDF +:10C620008001B6948001B6CC8001B9D48001BA30C3 +:10C630008001BB6C8001B7048001B7EC8001BA6C4B +:10C640008001B8908001BE748001A5188001A55CAE +:10C650008001B7A88001A7308001A7888001AE8C37 +:10C660008001AED88001A7D08001AB148001AF1843 +:10C670008001A9FC8001A9A88001AFD48001A92470 +:10C680008001B08C8001A8A88001B22C8001A7ACE9 +:10C690008001B2648001BBEC8001B4808001B3E40E +:10C6A000EBCD40FE208D306A18977853784578019D +:10C6B000FAC2FFE6300B049CF01F00384B88F139BA +:10C6C000010BE06AFFFFFB69001E300B1A9CF01F94 +:10C6D0000035302A1A9B049CF01F0033029A302840 +:10C6E0001A990A9B069CF01F00319A194B08F9D938 +:10C6F000C0101188103CF9B60200F1DCE318E06AC2 +:10C7000000FFF1DAE326EDD9E309FBF93C01F9D6A4 +:10C71000E30C1A944A78118A580AC060F4C80001E0 +:10C72000F9E80008C2918F3CF01F00238F2CC31042 +:10C730006E3A300BF01F0019FB66001F6E2BFB6377 +:10C74000001CFB65001D8E78F5D8C01020281A9CAF +:10C75000FB58001AF01F0013049C1A9B300AF01FAC +:10C7600000121A99029A0A9B069C3008F01F000FCB +:10C770002F8DE3CF90FE9A18F4C90001F9E9000962 +:10C78000F40901095C591208120CBA181206CCCB34 +:10C790002F8DE3CD80FE0000800091D0000087F453 +:10C7A0008001C7B88001A4448001C2B8000079E5C7 +:10C7B000000079E48000920030083019B838B818C9 +:10C7C000B828B80A3008994B993999285EFCD703E4 +:10C7D000EBCD4068189316951496F01F00090C9A3B +:10C7E0000A9BE6CCFFFFF01F00060C9A0A9BE6CCE2 +:10C7F000FFFEF01F0004E3CD806800008001A29CD2 +:10C800008001A2FCEBCD40681696149518931499FC +:10C81000169A303BF01F00050A9A0C9BE6CCFFFDF0 +:10C82000F01F0003E3CD80688001AD988001A29CD9 +:10C83000EBCD40681696149518931499169A303BD0 +:10C84000F01F00050A9A0C9BE6CCFFFDF01F0003C9 +:10C85000E3CD80688001AD988001A29CD431FACEEE +:10C86000FFDC189616971494129210907C157C0198 +:10C87000581AC2D0C153582AC1300D893FF8F00967 +:10C880001800C2100D98E2081900E08B0005E008BE +:10C890001900C6E23FF83009AC88AC99D83A8E1836 +:10C8A000AE383FF80D89F0091800C0D00C9C089AEA +:10C8B0000E9BF01F0034089A0E9BECCCFFFFF01F7C +:10C8C0000031CDCB3008300CAC98D83296285808BF +:10C8D000C4C0B618AE3830088B08AC983FFAAC8AA2 +:10C8E0008E198E08F2081900FE98FFEE1494ECC31E +:10C8F000FFFFC1D8E8081800EDF41E000D9A8E184D +:10C900008E89F408000B5C781019123AE089002631 +:10C91000AE1B6A082FF88B080D89E8091800CB3187 +:10C920008E198E08F2081900FE98FFCEAE39301A23 +:10C930000E9B0C9CF01F0013301A0E9B069CF01FE0 +:10C9400000110D88E4081800CD618E888E990D9A2B +:10C950001218103AE08A000E3FF83009AC88AC9902 +:10C960008E182028AE08C8AB9618B628CB4BDA3AFA +:10C970006A0A6E293018F00A094810498F29C7EB56 +:10C980008001A29CEBCD4040201D1A9E9AF65C7857 +:10C990001ADE1AD6F01F00032FED2FFDE3CD8040E5 +:10C9A0008001C85CEBCD40E0302818951AD8169667 +:10C9B00014973069F01F00072FFD580CC0700E9AB5 +:10C9C0000C9BEACCFFFEF01F0004E3CD80E00000EA +:10C9D0008001C9848001A2FCEBCD40E0301818959D +:10C9E0001AD81696149732A9F01F00072FFD580C7D +:10C9F000C0700E9A0C9BEACCFFFEF01F0004E3CD42 +:10CA000080E000008001C9848001A29CEBCD40E061 +:10CA1000305818951AD8169614973029F01F001020 +:10CA20002FFD580CC190EACCFFFE0E9A0C9BF01F14 +:10CA3000000D0E9A0C9BEACCFFFCF01F000B0E9A27 +:10CA40000C9BEACCFFFBF01F00080E9A0C9BEACC73 +:10CA5000FFFAF01F0005E3CD80E000008001C984EB +:10CA60008001A2FC8001A29CEBCD40E0301818951B +:10CA70001AD8169614973039F01F00072FFD580C5E +:10CA8000C0700E9A0C9BEACCFFFEF01F0004E3CDB1 +:10CA900080E000008001C9848001A29CEBCD40E0D1 +:10CAA000306818951AD8169614973049F01F001060 +:10CAB0002FFD580CC190EACCFFFE0E9A0C9BF01F84 +:10CAC000000D0E9A0C9BEACCFFFDF01F000A0E9A97 +:10CAD0000C9BEACCFFFCF01F00080E9A0C9BEACCE2 +:10CAE000FFFAF01F0005E3CD80E000008001C9845B +:10CAF0008001A29C8001A2FCEBCD40E0301818958B +:10CB00001AD81696149730A9F01F00072FFD580C5D +:10CB1000C0700E9A0C9BEACCFFFEF01F0004E3CD20 +:10CB200080E000008001C9848001A29CD43120BD36 +:10CB30005019500818961697581AC390C272E06898 +:10CB400000FDE06900DD1AD8300A3018F01F005CE3 +:10CB50002FFD580CC1E0300A0E9BECCCFFFEF01FFD +:10CB60000059300A0E9BECCCFFFDF01F0056300A36 +:10CB70000E9BECCCFFFCF01F0053ECCCFFFB0E9B9C +:10CB8000300AF01F0050301CC048582AC040301CEA +:10CB90002F5DD83219893FF8F0091800E080008B2A +:10CBA0009618301C2FA8B6182F5DD832761850581A +:10CBB000B1485038760A504AF6E80008F8C2FFFE3D +:10CBC000FAE90018F8C3FFFDF6EA0010F8C9FFFB08 +:10CBD000FAEB0020F8C4FFFC50293FF5FAC0FFD85B +:10CBE000E06100FDC0680D998E382FE81208AE286C +:10CBF0001AD030181AD1E06900DD109A0E9B0C9CF7 +:10CC0000F01F00312FED580CC4105805FBF5500AE9 +:10CC1000FBF8400AF9B90401F1D9E408EBD8E405BE +:10CC2000301A0E9B049CF01F0027301A0E9B069CA6 +:10CC3000F01F0024301A0E9B089CF01F00220DA844 +:10CC40003009F2081800CD010DB83509F2081800B6 +:10CC5000CCB10DC83F29F2081800CC61301A0E9BE8 +:10CC6000402CF01F00180DD84019F2081800CBC155 +:10CC70004038301CAE28F80509496E2812488F2824 +:10CC800040095809C8509305C84B4038FB58001458 +:10CC9000FAE80020EEE90010FAEA0010EEEB0000DE +:10CCA000FAE80018EEE90008AC9C3FF8AC882F5D6C +:10CCB000D8323008B898300CC6CB00008001C98447 +:10CCC0008001A29C8001C85CD431207D1895169704 +:10CCD00014961293581AC110C0B2300830290C9A19 +:10CCE0000E9B0A9CF01F0032C5712F9DD832582A26 +:10CCF000CF50301C2F9DD83276185018760AF0008D +:10CD00001410500A1A91F6E80008F8C4FFFAFAE97C +:10CD100000083FF6F6EA0010FAC2FFE8FAEB00104E +:10CD2000C1A85806FBF65006FBF84006F9B9040105 +:10CD3000F1D9E408EDD8E406301A0E9B089CF01FE8 +:10CD4000001D0BE8E6081800C1D00B998E382FE8BB +:10CD50001208AE2804983029301A0E9B0A9CF01F46 +:10CD60000014CE01BA20E2E80010EEE90010E2E87B +:10CD70000000EEE90000E2EA0008EEEB00082F9D5B +:10CD8000D83230186E29F006094AAE201449109C9A +:10CD90008F292F9DD8320B982FF8EACCFFFA0C9AE6 +:10CDA0000E9BAA98F01F0003301CCA5B8001CB2C9D +:10CDB0008001A29CEBCD40EC206D301918971693A2 +:10CDC0001495F01F002DC0412FADE3CD80ECEECCCB +:10CDD000FFF90A9A069BF01F00290A9A069BEECCDF +:10CDE000FFF8F01F00260A9A069BEECCFFF7F01F13 +:10CDF00000230A9A069BEECCFFF6F01F00210A9A48 +:10CE0000069BEECCFFF2F01F001E0A9A069BEECCAA +:10CE1000FFEEF01F001B0A9A069BEECCFFEAF01F04 +:10CE2000001858055F0858255F091248CCE06608CD +:10CE30005008661886160A9A5018EBD8B010BA1522 +:10CE4000E6E80008FAE900082026E6E20010E068BB +:10CE500000FD0A16AE961A9BFAE300100E9C1AD833 +:10CE6000E06900DD3018F01F00072FFD2FADE3CD86 +:10CE700080EC00008001CCC88001A29C8001C7D05A +:10CE80008001C984EBCD40EC206D18971693149562 +:10CE9000582AC18119893FF8F0091800F9F91801D9 +:10CEA000F7F81201F9BA0102F1DAE108F1D9E10863 +:10CEB000F7F81C01F9B80000F9F80E012FADE3CD29 +:10CEC00080EC3009F01F0019CFA0EECCFFF90A9AD0 +:10CED000069BF01F00170A9A069BEECCFFF8F01F86 +:10CEE00000145805CEC166085008661886160A9ABE +:10CEF0005018EBD8B010BA15E6E80008FAE90008B7 +:10CF00002026E6E20010E06800FD0A16AE961A9BA5 +:10CF1000FAE300100E9C1AD8E06900DD3018F01F0B +:10CF200000052FFDCCCB00008001CCC88001A29C65 +:10CF30008001C984D42112951497580A5F095805B5 +:10CF40005F08169A1248C2510B986E29F0C4FFFE72 +:10CF5000F2C800015BD8E08B0015129C089B5D1A9B +:10CF600018965806C0C06E086E192FF80809089A5E +:10CF70000A9B8F088F190C9CF01F00080C9CD8226C +:10CF8000089B5D1A300818968F2C8F188F08CEAB2F +:10CF900030060C9CD8220000800091DCEBCD40FCD8 +:10CFA00012951494580A5F0958055F0818921248A0 +:10CFB0001693C191300995296A085808E08A00162D +:10CFC00012966A270E99089A069B049CF01F000B84 +:10CFD0002FF6EEF7FFF86A085807F7B701F80C3894 +:10CFE000FE99FFF2E3CD80FCEAE80000F4E90000DE +:10CFF0006A2A892AE3CD80FC8001CF34EBCD40FC46 +:10D0000018931695581AC2C0C053582AC5E0E3CDEC +:10D0100080FC782778085808FE9AFFFB7819580991 +:10D02000FE9AFFF79698300612087649F208000437 +:10D030000F9A0E9B2FEA1414089CF01F00332FF652 +:10D04000EEF7FFF866085807F7B701F80C38FE99B5 +:10D05000FFF166198A181208AA18E3CD80FC9628F9 +:10D060005808C3C0B618F9D8B010AA3C300830121E +:10D0700087088718872810948A1C8A0E189AFC0C37 +:10D080001900C212F7DAC0106A46EC0B00081199B9 +:10D09000F2C7FFFE5827C250F1DEC0101618103735 +:10D0A000E0890020E40409496A2B2FF4F3EB00081F +:10D0B000C1C0F4070008AA18F9D8B010189AFC0CDF +:10D0C0001900CE13E3CD80FC781C580CFE9AFFA10A +:10D0D00096181808B618E3CD80FC961CB62CCC6BBD +:10D0E000AA0CFDDCB010CCBBF3EB1008069A8A99B1 +:10D0F0008B28EC090009485B6A5CF01F00058A1A5E +:10D100008A0ECD8B800091DC8001D3EC8001CF347E +:10D11000EBCD40F83FF510941697149340661388B2 +:10D12000EA081800C05130070E9CE3CD80F858047F +:10D130005F1858065F991268CF700C9B5D1718979F +:10D14000C0600C9A089BF01F0004CEFBA685A69C2D +:10D15000CECB0000800091DCEBCD40C0129EF2E807 +:10D160000000F4E9000014977C2A8F2A18961D8984 +:10D17000169C3FF8F0091800C1401D993058F0097D +:10D180001800E088000F2039E06A5556EA1A555514 +:10D19000F20B141FF20A04481619F2090019C028EC +:10D1A00030091AD9189B1C990C9C7C280E9AF01FE8 +:10D1B00000042FFD8F2CE3CD80C000008001D11032 +:10D1C000EBCD406CF2E20000F4E3000072289528F9 +:10D1D0001495722813961AD6F01F00032FFD8B2C7E +:10D1E000E3CD806C8001D110EBCD406FF2E2000006 +:10D1F000F4E30000F2E00008F4E10008F2E20010BD +:10D20000F4E300101495725813961AD6F01F000319 +:10D210002FFD8B5CE3CD806F8001D110EBCD406F93 +:10D22000F2E20000F4E30000F2E00008F4E100089C +:10D23000724895481495724813961AD6F01F000349 +:10D240002FFD8B4CE3CD806F8001D110EBCD406C76 +:10D25000F2E20000F4E30000722895281495722889 +:10D2600013961AD6F01F00032FFD8B2CE3CD806C94 +:10D270008001D110D421310418971AD41696149530 +:10D2800030183329F01F00142FFD580CC0B058057A +:10D29000C0E18C986C4C0F9A100CEECBFFFEF01F87 +:10D2A000000F0F998C181208AC18D8225815CFA16E +:10D2B0000F9AE80A1800E08800073FF83009AE88A6 +:10D2C000AE99CF0B8C986C4BEECCFFFE100BF01F81 +:10D2D0000003CE8B8001C984800091DCD4213018FA +:10D2E000189716961495308410991AD4F01F0014CC +:10D2F0002FFD580CC0B05805C0E18C986C4C0F9AAB +:10D30000100CEECBFFFEF01F000F0F998C181208C7 +:10D31000AC18D8225815CFA10F9AE80A1800E08857 +:10D3200000073FF83009AE88AE99CF0B8C986C4B54 +:10D33000EECCFFFE100BF01F0003CE8B8001C984E2 +:10D34000800091DCEBCD40E0320930081AD9189505 +:10D35000169714961099F01F00132FFD580CC0F06B +:10D360005806C0F18E986E4C0B9A100CEACBFFFE5B +:10D37000F01F000D0B998E181208AE18E3CD80E057 +:10D380005816CF918E986E4B0B9A100BEACCFFFE7D +:10D39000F01F00050B998E181208AE18CF0B000075 +:10D3A0008001C984800091ACD421201D7809189691 +:10D3B000F2C800015BD8E08B0014F2C80008C0E09E +:10D3C0001A943005C0280E98500870079105680C13 +:10D3D000F01F00068D055807CF712FFDD8223008A9 +:10D3E00099082FFDD8220000800091E8EBCD40C0C5 +:10D3F00018971696F6CCFFF8F01F000DC130EEF826 +:10D40000FFF8EEC900089908F8C7FFF8930C9916C1 +:10D410000C9AE06B00FF0E9CF01F00060E9CE3CD03 +:10D4200080C018970E9CE3CD80C000008000920061 +:10D43000800091D0EBCD40FC32E818931AD81692B8 +:10D44000149430683079F01F00232FFD580CC03140 +:10D45000E3CD80FC089A049BE6CCFFFEF01F001E83 +:10D4600007993058F0091800E088001F2039E06A59 +:10D470005556EA1A5555F20B141FF20A0448F20BDE +:10D4800001055814C18030060C972FF6662C0899B8 +:10D490000E0C049A2FD7303BF01F00100C35FE996C +:10D4A000FFF6E3CD80FC5814F9B80000E7F80A0253 +:10D4B000E3CD80FCEA050017645C0E9BF01F0008BA +:10D4C000872CCC700E9A300BF01F0006CDDB0000CD +:10D4D0008001C9848001BB948001AD988001D3ECA8 +:10D4E000800091D0D421189616951497582AC161BE +:10D4F00019893FF8F0091800F9F91801F7F8120135 +:10D50000F9BA0102F1DAE108F1D9E108F7F81C01F2 +:10D51000F9B80000F9F80E01D82230083049F01FA0 +:10D52000000CC0C00D98F0C400045817C0800E99BC +:10D530000A9A089B6C2CF01F0007D822089B6A5C93 +:10D54000F01F00058D2CCF41CF9B00008001CB2C1C +:10D550008001AD988001D3ECEBCD40FC206D189498 +:10D5600016951493582AC18119893FF8F0091800BB +:10D57000F9F91801F7F81201F9BA0102F1DAE10834 +:10D58000F1D9E108F7F81C01F9B80000F9F80E012B +:10D590002FADE3CD80FC30083019F01F0040CF9054 +:10D5A0006A1E501E6A0A500AEAE80008FAE90008F2 +:10D5B000EAEA0010FAEB0010EDDEB0105813C600D6 +:10D5C000E8C7FFFA0999ECC8FFFE12080E9CE5D8DF +:10D5D000B010069A0A9BF01F00328A18E40819005E +:10D5E000CD82069A0A9BE8CCFFF8F01F002E8A181D +:10D5F000E4081900CCE2E8CCFFF4069A0A9BF01F7D +:10D600000028685C88693008F0091900C0E01896A5 +:10D6100030070C9C2FF7069A0A9BF01F00222FC69A +:10D6200088E80E38FE99FFF78A18E4081900CB1233 +:10D63000069AE8CCFFF20A9BF01F0019685888E9A7 +:10D64000887AF009002C3008F00A1900C0E018961A +:10D6500030070C9C2FF7069A0A9BF01F00132FC669 +:10D6600088F80E38FE99FFF78A18E4081900C912E5 +:10D67000069A0A9BE8CCFFF0F01F0009C8ABE8C788 +:10D68000FFFA30EA300B0E9CF01F0008099B6A5C21 +:10D69000F01F0007895CC97B8001CB2C8001A2FCB4 +:10D6A0008001C8308001C804800091D08001D3EC93 +:10D6B000EBCD40FC206D189416951493582AC18127 +:10D6C00019893FF8F0091800F9F91801F7F8120163 +:10D6D000F9BA0102F1DAE108F1D9E108F7F81C0121 +:10D6E000F9B80000F9F80E012FADE3CD80FCE06839 +:10D6F00000FF33091AD83008F01F00532FFD580CD3 +:10D70000CF406A1E501E6A0A500AEAE80008FAE989 +:10D710000008EAEA0010FAEB0010EDDEB010581332 +:10D72000E0800085E8C7FFFE0999ECC8FFFE1208FB +:10D730000E9CE5D8B010069A0A9BF01F00448A1888 +:10D74000E4081900CD22069A0A9BE8CCFFFCF01FE2 +:10D7500000408A18E4081900CC82E8CCFFF8069A49 +:10D760000A9BF01F003A684C88493008F0091900FC +:10D77000C0E0189630070C9C2FF7069A0A9BF01F02 +:10D7800000342FC688C80E38FE99FFF78A18E408BF +:10D790001900CAB2069AE8CCFFF60A9BF01F002BCC +:10D7A000684888C9885AF009002C3008F00A190026 +:10D7B000C0E0189630070C9C2FF7069A0A9BF01FC2 +:10D7C00000252FC688D80E38FE99FFF78A18E4087E +:10D7D0001900C8B2069A0A9BE8CCFFF4F01F001BA0 +:10D7E0008A18E4081900C812069AE8CCFFF20A9BCE +:10D7F000F01F001688C988D81208684A8879F4088A +:10D80000002C3008F0091900FE90FF7018963007C0 +:10D810000C9C2FF706990A9A310BF01F000F2F0668 +:10D8200088F80E38FE99FFF6C60BE8C7FFFE30EA0F +:10D83000300B0E9CF01F0009099B6A5CF01F00086A +:10D84000894CC73B8001C9848001A2FC8001C8309B +:10D850008001C8048001AD98800091D08001D3EC94 +:10D86000EBCD40E0E06800FE18971AD816951496A4 +:10D8700030483059F01F00162FFD580CC031E3CD51 +:10D8800080E0EECCFFFE0C9A0A9BF01F00120C9A6F +:10D890000A9BEECCFFFDF01F000F0C9A0A9BEECC0A +:10D8A000FFFCF01F000C5816C0A00F9B0C990A9AA1 +:10D8B0006E2C203BF01F0008E3CD80E00F9B6A5CDC +:10D8C000203BF01F00068F2CCF11CDAB8001C98407 +:10D8D0008001A29C8001AD988001D3ECEBCD40E0AB +:10D8E00018951696F6CCFFF8F01F000CC12099167B +:10D8F00030089908F8C7FFF80C9A5805EBF71A0595 +:10D90000E06B00FF0E9CF01F00060E9CE3CD80E054 +:10D9100018970E9CE3CD80E080009200800091D0AB +:10D92000EBCD40C0201DF8C60008300C6C1BF01F6A +:10D930000014C1A0500C3007C1286C1B400CF01F14 +:10D9400000111897C1406C1AECCBFFF8EF4AFFFCAE +:10D950000E9CF01F000D6C065806C0505807CEE113 +:10D960004007CF2B400C2FFDE3CD80C01A9CF01F49 +:10D9700000070E9C2FFDE3CD80C000008001D8DCA5 +:10D980008001D3EC800091DC8001D3A8D401E06851 +:10D990000081301999489959189A7408129C11CE2F +:10D9A000F20E18005F089708D802D703486830398C +:10D9B000F0FA00F830089569985BF00B19005F0CDD +:10D9C0005EFC0000000087F419C8300A4869F2F9CB +:10D9D00000F8F4081800F9BC0001F9BC0100F3FCE0 +:10D9E0001A065EFC000087F448483009F0FA00F897 +:10D9F000301C95695EFC0000000087F448B8985A16 +:10DA0000F0FB00F83178F00A1900E08B000B3018B9 +:10DA1000F00A0948E4180080E01803FEC0205EFF09 +:10DA20003008301C97685EFC000087F478185808AE +:10DA30005F0C5EFC5EFF19C830192018F208180050 +:10DA40005FBC5EFC5EFD5EFD19C93008F009180080 +:10DA50005F0C5EFC5EFD5EFFEBCD4080308B189767 +:10DA6000991B300CF01F00078F0CC0803078E069E4 +:10DA700000818F588F49E3CF9080E3CD80800000F4 +:10DA80008001D8DCEBCD40C018971696308B991BDF +:10DA9000300CF01F00108F0CC160301830298F58E7 +:10DAA0008F4948D8B826118948C8B8E948C71189AC +:10DAB000B8F96EB899086EBC580CC0752FFC8FBCB5 +:10DAC000E3CF90C0E3CD80C0F01F0006CF9B0000E5 +:10DAD0008001D8DC00007A280000025C000087F496 +:10DAE00080018450EBCD40FE1897FACCFFE01694ED +:10DAF000781330CB14928F1B129178061095300C4E +:10DB0000F01F00118F0CC1A0307830498F588F4919 +:10DB10009905B8E6B8F1F9630008B8C4B8D248B8B6 +:10DB200048B9B084B28248B76EB899086EBC580C38 +:10DB3000C0752FFC8FBCE3CF90FEE3CD80FEF01FBD +:10DB40000006CF9B8001D8DC000079E5000079E475 +:10DB5000000087F480018450EBCD40FC1897FACC8C +:10DB6000FFE4314B781414938F1B129278061095B2 +:10DB7000300CF01F00158F0CC2003018F3D4C01009 +:10DB80008F488F589913B8429935F9560010F954B7 +:10DB9000001248E7F1D6C0100A481248F9B800FF51 +:10DBA000F9B80100B8586EB999096EBC580CC07527 +:10DBB0002FFC8FBCE3CF90FCE3CD80FCF01F000472 +:10DBC000CF9B00008001D8DC000087F480018450E6 +:10DBD000D401780A3009740B15F8129C129AF01FC0 +:10DBE0000002DA0A80018460D401780A3009740BDB +:10DBF000F538000B129C129AF01F0002DA0A00009E +:10DC000080018460D401780A3009740BF538000B68 +:10DC1000129C129AF01F0002DA0A00008001846050 +:10DC2000D401780A3009740BF538000B129C129A53 +:10DC3000F01F0002DA0A000080018460D401780A33 +:10DC40003009740BF538000B129C129AF01F000279 +:10DC5000DA0A000080018460D401780A3009740B6C +:10DC6000F538000B129C129AF01F0002DA0A00002D +:10DC700080018460D401780A3009740B15F8129C75 +:10DC8000129AF01F0002DA0A80018460EBCD40F89E +:10DC900030C618979916169414930C9B300CF01FED +:10DCA00000108F0C1895C160307831690C9A8F582C +:10DCB000089B8F49F01F000B48B66CB88B086CBCF2 +:10DCC000580CC0A52FFC8DBC301C6A088708E3CD1A +:10DCD00080F8E3CD80F8F01F0005CF6B8001D8DC21 +:10DCE000800091DC000087F480018450EBCD40F887 +:10DCF000308618979916169414930C9B300CF01FCD +:10DD000000108F0C1895C160307831490C9A8F58EB +:10DD1000089B8F49F01F000B48B66CB88B086CBC91 +:10DD2000580CC0A52FFC8DBC301C6A088708E3CDB9 +:10DD300080F8E3CD80F8F01F0005CF6B8001D8DCC0 +:10DD4000800091DC000087F480018450EBCD40F826 +:10DD500033C618979916169414930C9B300CF01F29 +:10DD600000108F0C1895C160307831390C9A8F589B +:10DD7000089B8F49F01F000B48B66CB88B086CBC31 +:10DD8000580CC0A52FFC8DBC301C6A088708E3CD59 +:10DD900080F8E3CD80F8F01F0005CF6B8001D8DC60 +:10DDA000800091DC000087F480018450EBCD40F8C6 +:10DDB000318618979916169414930C9B300CF01F0B +:10DDC00000108F0C1895C160307831190C9A8F585B +:10DDD000089B8F49F01F000B48B66CB88B086CBCD1 +:10DDE000580CC0A52FFC8DBC301C6A088708E3CDF9 +:10DDF00080F8E3CD80F8F01F0005CF6B8001D8DC00 +:10DE0000800091DC000087F480018450EBCD40F865 +:10DE1000330618979916169414930C9B300CF01F28 +:10DE200000108F0C1895C160307831090C9A8F580A +:10DE3000089B8F49F01F000B48B66CB88B086CBC70 +:10DE4000580CC0A52FFC8DBC301C6A088708E3CD98 +:10DE500080F8E3CD80F8F01F0005CF6B8001D8DC9F +:10DE6000800091DC000087F480018450D421189751 +:10DE7000169530CB991B300CF01F00128F0C1896A2 +:10DE8000FAC4FFEC580CC190302830098F588F49E4 +:10DE900048D76EB899086EBC580CC1052FFC8FBCD2 +:10DEA0005805EDF81000EBF81A00089BECCCFFFCCD +:10DEB000308AF01F0006DA2AD822F01F0005CF0BA7 +:10DEC0008001D8DC000087F4800091DC8001845060 +:10DED000EBCD40E018961695310B991B300CF01FD6 +:10DEE00000108D0C1897C1503078317A0A998D58EE +:10DEF0008D4A48CBF8CAFFFCF01F000B48B56AB842 +:10DF00008F086ABC580CC0752FFC8BBCE3CF90E027 +:10DF1000E3CD80E0F01F0006CF9B00008001D8DC3D +:10DF20008001D3EC8001D158000087F48001845037 +:10DF3000EBCD408078076E285808C0B0300C189A96 +:10DF40005C586E0B3109300CF01F0009E3CF908054 +:10DF5000310CF01F00086E189908EF390016991956 +:10DF60006E3899286E4999396E28CEAB800184604D +:10DF700080009200EBCD40FC189716931495314B1E +:10DF80001294991B300CF01F001C8F0C1896FAC2CB +:10DF9000FFE4580CC200302830198F588F495805BB +:10DFA000C1C18D455C7549576EB88D086EBC580C63 +:10DFB000C1F52FFC8FBC5804EDF81000E9F81A00E9 +:10DFC000049B308AECCCFFFCF01F000D301C8D351B +:10DFD000E3CD80FCE3CF80FC5C750A9CF01F000958 +:10DFE0008D4CCF90069B0A9AF01F0005CDDBF01FE9 +:10DFF0000006CE1B8001D8DC000087F4800091DC95 +:10E000008000920080018450EBCD40801897F93C4D +:10E01000000BF01F00084888F0F900F85809C0709C +:10E02000EECBFFFC310A313CF01F0004E3CF9080BF +:10E0300080015FB0000087F480014658D42130C8C9 +:10E040001896109B4904300CE8F500F88D18F01F65 +:10E05000000F8D0C1897C120301830D98D582FCC57 +:10E06000EACBFFE28D49F01F000A68B88F0868BC50 +:10E07000580CC0552FFC89BCDA2AD822F01F0005A5 +:10E08000CFBB0000000087F48001D8DC8001844011 +:10E0900080018450D42130CB1897991B300CF01F8D +:10E0A000000B8F0C1894C1004898301530868F559E +:10E0B0008F462FCCF0FB00F82E2BF01F00060A9C99 +:10E0C000E966000AD822D8228001D8DC000087F453 +:10E0D00080018440EBCD40E030CB1896991B300C8A +:10E0E000F01F00108D0C1897C1703018305948E59A +:10E0F0008D588D492FCCEAFB00F82E2BF01F000B1A +:10E100003028AE586AB98F096ABC580CC0752FFC0C +:10E110008BBCE3CF90E0E3CD80E0F01F0005CF9B08 +:10E120008001D8DC000087F48001844080018450A5 +:10E13000EBCD40FC30C518969915169414931292A5 +:10E140000A9B300CF01F00138D0C1897C1D03018AB +:10E150008D458D580A9A300BF01F000FEECCFFFC56 +:10E16000089BF01F000E078848D6EF68000A058953 +:10E17000EF69000B6CB88F086CBC580CC0752FFC95 +:10E180008DBCE3CF90FCE3CD80FCF01F0006CF9B5D +:10E190008001D8DC800091D080018440000087F4A9 +:10E1A00080018450EBCD40FC30C51896991516942B +:10E1B000149312920A9B300CF01F00128D0C1897CA +:10E1C000C1B0301830B98D588D490A9A300BF01F04 +:10E1D000000E306AAEC4AED3049BEE0A000CF01FF2 +:10E1E000000B48B66CB88F086CBC580CC0752FFC7F +:10E1F0008DBCE3CF90FCE3CD80FCF01F0006CF9BED +:10E200008001D8DC800091D0800091DC000087F490 +:10E2100080018450D431203D502B5018FACEFFD0CD +:10E2200033857C3499157C181896149312917C00D0 +:10E2300050087C220A9B300CF01F00228D0C18978E +:10E24000C370301830A98D580A9A8D49300BF01FD1 +:10E25000001E069A029BEECCFFFCF01F001CEF5341 +:10E2600000244028049BEF680026EF600027306AF6 +:10E27000EECCFFD8F01F00155804C1C0089B308AAF +:10E28000EECCFFD2F01F00114008EF6800364018B6 +:10E2900048F6EF6800376CB88F086CBC580CC05556 +:10E2A0002FFC8DBC2FDDDA3AF01F000ACFBB2FDD2B +:10E2B000D832089B308AEECCFFD2F01F0003CE5B31 +:10E2C0008001D8DC800091D0800091DC000087F4D0 +:10E2D00080018450D4012FCC7808202D500819C912 +:10E2E000BAC919D8BAD8F01F00052FED580CF9B8E3 +:10E2F000010DF9F81A06DA0A80015860D40148D8ED +:10E30000F8CBFFF5F0F900F8733C7808204D502861 +:10E3100019C9FB69000C19D8306AFB68000D1A9CFA +:10E32000F01F0005F01F00052FCD580C5F1CD80210 +:10E33000000087F48002E73680018898EBCD40FE2C +:10E340003007FAC5FFE0189116924A134A1466087E +:10E350000E38E08A00216A08204D50280BC9FB695D +:10E36000000C0BD8EE061504FB68000DE806000A49 +:10E3700015D8BAD87409500915C8BAC8F01F0016C4 +:10E380002FCD580CC0A12FF75907CE2118970E9CFE +:10E39000E3CD80FEEE061504E80600060A9B0C9C01 +:10E3A000F01F000EF3D2C001EE081501AC692FF882 +:10E3B000E808093166090E39FE99FFEBEEC9FFFF47 +:10E3C00048380E9C9109E3CD80FE000000008C5C73 +:10E3D00000008B5C8001889880018440EBCD4080F8 +:10E3E000300819C9F0091800C10048E8F0F700F832 +:10E3F0005807C130F01F000C0E9CF01F000C0E9C43 +:10E40000F01F000BE3CF8080486830A9F0FA00F8D5 +:10E41000301C9569E3CD80800E9CE3CD80800000A8 +:10E42000000087F480015D188001593880015CDCB0 +:10E43000EBCD40E01896F01F00224A2A0DE9F4F7D0 +:10E4400000F85809C1103018F0091800C32030280E +:10E45000F0091800C31030488F687498300CABC8AE +:10E460009598E3CD80E06F3930D8322A8F68496CB7 +:10E47000727B2F4BF01F00156F3C3FF8787BF7390C +:10E4800000C8F0091800C130202DF71600D47845D7 +:10E49000306AEECBFFE21A9CF01F000C0C9B0A9C2A +:10E4A000F01F000B301C2FEDE3CD80E0E3CF90E0B8 +:10E4B00030088F68CD3B30588F68CD0B8001F00459 +:10E4C000000087F400008C608002E7368001E33CA6 +:10E4D000EBCD40E01896F01F00284A8A0DE9F4F7CA +:10E4E00000F85809C1503018F0091800C3603028EE +:10E4F000F0091800C3906F0830492FF88F69EF4872 +:10E5000000407498300CABC89598E3CD80E06F392B +:10E5100030D8322A8F6849AC727B2F4BF01F00191C +:10E520006F3C3FF8787BF73900C8F0091800C1301C +:10E53000202DF71600D47845306AEECBFFE21A9C06 +:10E54000F01F00100C9B0A9CF01F000F301C2FEDD9 +:10E55000E3CD80E0E3CF90E06F0830092FF88F69BA +:10E56000EF480040CCFB6F0830592FF88F69EF4817 +:10E570000040CC8B8001F004000087F400008C6028 +:10E580008002E7368001E33CD421310B1896991BB9 +:10E59000300CF01F00198D0C1897C28030183049CC +:10E5A0008D588D494955302CEAF400F8F01F0014BD +:10E5B000E8CBFFE21896EECCFFF8F01F00126C38A3 +:10E5C000AE38EAF901045819C0D03008AE2830B886 +:10E5D00089686AB98F096ABC580CC0952FFC8BBC3E +:10E5E000DA2AEAF8011C5818CF20D82AF01F0006B2 +:10E5F000CF7B00008001D8DC000087F48001EF6C45 +:10E600008001844080018450EBCD40F81897169427 +:10E6100030CCF01F0046303CF01F00441895302CE1 +:10E62000F01F0042E06A00EC1896E06B00FF0E9CC1 +:10E63000F01F003FE8CBFFE2EECCFFF6F01F003DFD +:10E640006C384BD9AE289208AE483DD86939727BF8 +:10E65000F73A009AF00A1800C480F73900803DD8D4 +:10E66000F0091800C52030050A93F01F00349838CF +:10E67000AE381896F93900A83FF8F0091800C09094 +:10E68000F8C9FF58EECAFF584ADB0E9CF01F002D58 +:10E69000ED3900CC3FF8F0091800C1900E9CECC990 +:10E6A000FF34EECAFF344A6BF01F0027089CF01FAE +:10E6B0000027583CE089000C4A587099ABC99199E1 +:10E6C0003FFA301CEF6A009EE3CD80F85805CF502A +:10E6D000EECCFF62069BF01F001F49D9301C7298D8 +:10E6E000ABA89398E3CD80F8F73900A03008F00983 +:10E6F0001800CB41EAF900B85819CB01F72800A25D +:10E700001295F003161FCB2BF73900863018F0094D +:10E710001800CAA1EAFC00B8581CCA61F728008892 +:10E720001895F003161FCA2B8001EF6C800091D062 +:10E73000800184400000025E8001EFF88001D3EC8C +:10E740008001D1E88001D21C8001808E000087F416 +:10E75000800184F0D421E06800EC1897109B4924D4 +:10E76000300CE8F500F88F18F01F00108F0C189689 +:10E77000C090301830798F588F490A9BF01F000CD9 +:10E78000C021D82A0C9CF01F000B30C88B6868B9D8 +:10E790008D0968BC580CC0452FFC89BCDA2AF01FD3 +:10E7A0000006CFCB000087F48001D8DC8001E608AA +:10E7B0008001F03080018450D421E06800EC18978B +:10E7C000109B4924300CE8F500F88F18F01F00105A +:10E7D0008F0C1896C090301830698F588F490A9B5B +:10E7E000F01F000CC021D82A0C9CF01F000B30C871 +:10E7F0008B6868B98D0968BC580CC0452FFC89BC72 +:10E80000DA2AF01F0006CFCB000087F48001D8DCA5 +:10E810008001E6088001F03080018450EBCD40405B +:10E82000201D18961A9CF01F001849888C69F0FB6F +:10E8300000F85809C1203018F0091900C0B030287C +:10E84000F0091900C170770830492FF89769F74827 +:10E8500000402FFDE3CF80407738301911EA301C9B +:10E86000F20A1800F9B8000CF7F80A062FFDE3CDFC +:10E870008040770830592FF89769F74800402FFDFE +:10E88000E3CF8040800177A4000087F4D401496879 +:10E8900019C9F0FA00F85809C1803028F0091800A9 +:10E8A000C1803048F0091800C0503018F009180035 +:10E8B000C180750830492FF89569F548004019CB9B +:10E8C000302CF01F000AD80A3088301C9568D80216 +:10E8D000750830592FF89569F548004019CBCF1BC2 +:10E8E000301BCEFB000087F480018390D431215D82 +:10E8F000303C169614911290F01F00584D83F8C4C6 +:10E90000FFB0189531CA089B069CF01F0056C0A1A5 +:10E910006D3830AA707BE6CCFFE42D2BF01F005140 +:10E92000C7B06D38FAC7FFC8707B0E9CF6CAFFC827 +:10E930002D2BF01F004D089B0E9CF01F004CC0417A +:10E94000300C2EBDD83231CA0E9BFA0A0002049C4C +:10E95000F01F0047049CF01F004730080E9A500833 +:10E960001A97089B1A9CF01F00446D38707930E8A4 +:10E97000F33A005EF00A1800C670EB3A0074580AC9 +:10E98000CE006D387079EB380075F33B005EF60809 +:10E990001800C0F0EACCFF8A3009C0581938F608D0 +:10E9A0001800C0502FF9123AFE99FFFA123ACC9093 +:10E9B000049CF01F0032CC50049B1A9CF01F0030C6 +:10E9C0001A9B029CF01F002F049B009CF01F002D3F +:10E9D000089B31CA4A2CF01F00266D3830AA707B84 +:10E9E000E6CCFFE42D2BF01F00226D38312A707B1E +:10E9F000E6CCFFDA2C8BF01F001E029B304AE6CCDF +:10EA0000FFC8F01F001B009BE6CCFFC4304AF01F7C +:10EA10000018301CC97B6D38312A707BE6CCFFDAD8 +:10EA20002C8BF01F0010FE91FF7E304AE6CBFFC812 +:10EA3000029CF01F000FE6CBFFC4009C304AF01F81 +:10EA4000000C301CC7FB049CF01F000FFE90FF7AE7 +:10EA50001A9CF01F000EC92B8001EF6C000079E8B2 +:10EA60008000917C80018124800182BC800091DC47 +:10EA700080018658800181E8800182608001817E6A +:10EA8000800180CC80018360800185F4EBCD40FC67 +:10EA9000FACD0110300733095407FEF3022EE6F8D1 +:10EAA00000F854281896129B0E9C8D19F01F0088B0 +:10EAB0008D0C1895E080008A3018303C8D588D4CB4 +:10EAC000F01F0084FACBFEFC1894FACAFEF8FACCC8 +:10EAD000FEF2F01F0081442871390E9CE06B00ECBF +:10EAE0007277F01F007BC710540CE0680420B83820 +:10EAF000442B7738707992D9EDB90000C6B0EDB9E2 +:10EB00000001C06144099238A1B8B238442BE8F83A +:10EB100000B85808C0C07738707A94D9EDB90009A8 +:10EB2000C06144099238A9B8B238442BFAC2FEF148 +:10EB3000441A049CF01F006944185818E08000A58E +:10EB4000C6823079FB38010FF2081800C050440922 +:10EB50009238A5A8B238440CF01F0061049CF01F45 +:10EB600000614428E74C0100EACAFFF071390A9CB1 +:10EB70004DDBF01F005E6858AA286869AA394D3C31 +:10EB800069B85808C440442B773870793078F33A24 +:10EB90000074F00A1800C240EAC9FFF4EACAFFF89C +:10EBA000300CF01F0053581CC53030063018E748B1 +:10EBB000004444095809C0A0FACCFF00F01F004DE2 +:10EBC0000C9C2BCDE3CD80FC30060C9C2BCDE3CDF3 +:10EBD00080FC44099238A1A8B238442BC99BF8F8AC +:10EBE00001AC5808C050F8CCFE54F01F004230CBA6 +:10EBF000300CF01F0037E74C01AC189AC080442855 +:10EC0000713B76794B8B28C9F01F003B442BCC5BC2 +:10EC10005828CA51442C1A9B2E2CF01F00381A96E3 +:10EC20001AD61ADC442BFB380116FB390117EF3AD0 +:10EC300000CF169CF6CBFF34F01F003144283289F8 +:10EC4000F15900D8442CF01F00262FEDC88BE8F8AE +:10EC500000B85808C2916AB93FF8F368009A3028A2 +:10EC60003039E7480044442891694426F01F0025C4 +:10EC7000ED4C004466B88B0866BC580CC2352FFCBE +:10EC800087BC3016C94B440BEF3A00AF169CFB38DB +:10EC9000010EFB39010FF6CBFF58F01F001B440C8F +:10ECA000F01F000FC5CB44287139727A94D8EDB8A3 +:10ECB0000001CD21189B6ABCF8CCFF66F01F001341 +:10ECC000CCFBF01F0013CDDB000087F48001D8DC03 +:10ECD0008001EF6C80017C4480017EE08001F03097 +:10ECE00080017BD88001D3EC8001AD408001E8EC4D +:10ECF0008001D3A88001D1588001887080018C2CBC +:10ED0000800145C480018B74800184F080018450AF +:10ED1000D431203D189616971493303CF01F0070A4 +:10ED2000301831798D588D4930086C068F0858039A +:10ED3000EDF81805E7F81A0018950DC40898A7D83B +:10ED4000C0505898C0302FDDD83A0DD93018F0098E +:10ED50001800C1003008F0041800F9B80500EFF8F9 +:10ED60005A00F9BC0501F9BC0401EFFC4A002FDD93 +:10ED7000D832303CF01F005A6C98F93A0074F13BDD +:10ED8000005E580ACE80F9380075F6081800C0A059 +:10ED900028AC30092FF91439CDE41938F00B1800DC +:10EDA000CFA1ECC0FFF8009CF01F004E1891CD30B1 +:10EDB0006BB85808C090793870793078F33A00749D +:10EDC000F00A1800C6E0FACCFFF8F01F0047581C04 +:10EDD000C0A0F01F0046029B835C350A31DCF01FA7 +:10EDE0000044CB9B40285818CF51FACCFFFCF01FB1 +:10EDF0000041581CCEF1401820785818FE9BFFEBBC +:10EE00004BD8F0F900F85809CE501A9CF01F003B7F +:10EE1000581CCE01400820285818FE9BFFDC6C9E31 +:10EE20002F4EFCE80000212DFAE90024FCE8000840 +:10EE3000FAE9002CFCE20010FAE30034FCE80018C8 +:10EE4000FAE9003CFD3C0020FB6C0044FD38002149 +:10EE5000322AFB6800454AAB1A9CF01F002AF01FBB +:10EE6000002A2EED580CCB606C9A3FF8F53900C89B +:10EE7000F0091800CAF06008F51B00D4202D6C6C56 +:10EE8000500801C9BAC901D8BAD8F01F0020A56C32 +:10EE900049FB310A180B315CF01F00152FEDC9AB8F +:10EEA0004955EAF801AC5808C050EACCFE54F01FAE +:10EEB000001930CB300CF01F0018EB4C01AC189A45 +:10EEC00048D5580CFE90FF816338494B707928C9AA +:10EED000F01F00136A98ABB88B98C76B8001EF6C7A +:10EEE00080015D44800177A4800145C480014658BB +:10EEF00080015F44000087F480015F2800008C607F +:10EF00008002E736800189108001E33C00008B5CC1 +:10EF10008001D3A88001D8DC8001D3EC8001D158D6 +:10EF2000EBCD40E0206D300818991495502850081A +:10EF30001A9C1A965D191897C10140085808C040DC +:10EF40001A9CF01F0009402C580CC030F01F00071D +:10EF50000E9C2FADE3CD80E01A9C5D15581C5F0719 +:10EF6000CEDB00008001D3A8800091E858DCE08867 +:10EF700000035EFD49B8F00C032F49B8F0CCFFF454 +:10EF80005EFC4998F0CCFFE45EFC4978F0CCFFD4FD +:10EF90005EFC4958F0CCFFCC5EFC4938F0CCFFC495 +:10EFA0005EFC4918F0CCFF305EFC48F8F0CCFF1C4A +:10EFB0005EFC48D8F0CCFEF45EFC48B8F0CCFEBC59 +:10EFC0005EFC4898F0CCFE945EFC487C5EFC486891 +:10EFD000F0CCFFFC5EFC4848F0CCFE785EFC000004 +:10EFE0008003C01400000260483930089318930869 +:10EFF0005EFC000000008C844828700C5EFC000061 +:10F0000000008C84EBCD40C0487618976C1C580CDF +:10F01000C030F01F00060E9CF01F00058D1CE3CDD4 +:10F0200080C0000000008C8480018AD480018AECBA +:10F03000EBCD40C0487618976C0C580CC030F01FD0 +:10F0400000060E9CF01F00058D0CE3CD80C0000073 +:10F0500000008C8480018ABC80018B30D4211894FC +:10F060001696149530CCF01F00121897C1D03018A6 +:10F0700099069915F0060946EC0C1502F01F000CD4 +:10F080008F2CC0F05806E08A000B3009129A6E28C7 +:10F09000F009092A2FF91236FE99FFFB8907DA2AAF +:10F0A0000E9CF01F00043FDCD8220000800092007C +:10F0B000800091E8D4311893169214901291580C54 +:10F0C000C36078093018760CF0090945580CC390D4 +:10F0D000189468160A36C1A468075807C0606E48BD +:10F0E0000238C1B03FCCD832662CF8060327580747 +:10F0F000CF71ECC8FFFFF808002CC0582FF8190793 +:10F100005807CEE110960A38CFA5089CF01F0013CF +:10F1100030083FEC8508D832029A009C6E3BF01F05 +:10F120000010301C89166E088908D832760C580CED +:10F13000C040F01F000ADA3A66093018F0090945A4 +:10F14000308CF01F00081894C060850C30089918A6 +:10F150009908CC0BD8320000800091E8800091DC47 +:10F1600080009200D431109412907818409618952F +:10F17000169214910C9B780A089C5D181893318C98 +:10F18000F01F00131897C1F00C9CF01F00118F3C6A +:10F19000C170089B0C9AF01F000F30088F468F1229 +:10F1A0008F218F508F086A29F203002C78085808A5 +:10F1B000C0C0109970085808CFD19307DA3A0E9C56 +:10F1C000F01F00053FDCD8329907DA3A8000920040 +:10F1D000800091DC800091E8D431203D501C500B20 +:10F1E000149112921090580AC4307418009B740A3B +:10F1F000129C5D18A36C502C6228F00C0307580772 +:10F20000C3706E450A990035C3610E940E93C09881 +:10F210006E075807C2D008936E490A39C2C10E94CE +:10F220006E3B0A9A049CF01F00181896CF214019D3 +:10F230006E18930840086E2991098F1C8F2C6E3C24 +:10F24000F01F00128F468F3640296228F009000C0B +:10F2500078090E39EFF80000F9F80A00EFF810000D +:10F26000E7F81A000E9CF01F00092FDDDA3A3FEC98 +:10F270002FDDD8326E385808CFB00039CF903FCC50 +:10F280002FDDD8328000917C800091E8163C5E0C26 +:10F290007808971C990B97085808F1FB1A015EFC37 +:10F2A00078195809F9F81000F3F81A007808580886 +:10F2B000F1F91A013008990899185EFCD40149380F +:10F2C000FACEFFFC709CE21C0002C1D0209DFD3AEA +:10F2D0000021FB6A0021FCE80000FAE90000FCEADA +:10F2E0000008FAEB0008FCE80010FAE90010FCEA5C +:10F2F0000018FAEB0018FD380020FB680020F01F12 +:10F3000000042F7DD8020000000087F480015AA479 +:10F31000D4014898709CE21C0002C0C0300930CC77 +:10F32000EA1C4000303B129AF01F0004F01F00045A +:10F33000301CD802000087F4800186C88001875401 +:10F34000D4014898709CE21C0002C0C0300930DC37 +:10F35000EA1C4000303B129AF01F0004F01F00042A +:10F36000301CD802000087F4800186C880018754D1 +:10F37000D4014898709CE21C0002C0C03009310CD6 +:10F38000EA1C4000303B129AF01F0004F01F0004FA +:10F39000301CD802000087F4800186C880018754A1 +:10F3A000EBCD4080495818977098E2180002C04190 +:10F3B000109CE3CD8080F01F00126F38302911EAD5 +:10F3C000F20A1800C0D03009303B129A307CEA1C97 +:10F3D0004000F01F000CF01F000CE3CF90806E681F +:10F3E0005898CF213009303B129A30BCEA1C4000BB +:10F3F000F01F0004CF1B0000000087F4800158407C +:10F40000800186C88001875458DBE08A0012F939F0 +:10F41000000C3078F0091800E08B000C595BE08A92 +:10F420000008F939000E3AA8F0091800C0D05EFDB6 +:10F430003888F0091800CFC1F939000D38E8F00913 +:10F4400018005F0C5EFCF938000FF2081800CF01BD +:10F45000F93900103038F0091800CEA1F93900113F +:10F460003008F0091800CE41F93A0012F20A1800EB +:10F47000CDF1F9380013F4081800CDA1F9390014C2 +:10F480003888F0091800CD41F939001538E8F0093D +:10F4900018005F0C5EFCD7033019482891095EFC08 +:10F4A00000007A38EBCD40C0208D48D730088E0957 +:10F4B000F0091900C101E06AFFFF300B1A9CF01F30 +:10F4C00000091A9B302AFACCFFE8F01F00079A18AF +:10F4D0001A96AE088E0C2F8DE3CD80C000007A2ADC +:10F4E0008001C7B88001A498D401F01F00054858D6 +:10F4F000F139010B120C5C8CD80200008001F4A4DD +:10F50000000087F4EBCD4060208D306AFAC5FFE63D +:10F51000300B0A9CF01F00091A9CE06AFFFF300BB9 +:10F52000F01F00070A9C1A9B302AF01F00061A964B +:10F530009A1C2F8DE3CD8060800091D08001C7B8E8 +:10F540008001A444D43120DDFEF60234FACEFFA8B7 +:10F55000189516916C9C1494129310907C177C0251 +:10F56000E21C0002C0312F3DD832FEF802167009AD +:10F570005809C041FE7CFBB4CF7BECF8012458183D +:10F58000C041FE7CFC17CF0BECC9FFE85019129C60 +:10F59000F01F007D581CE08000E30D890D98F009F4 +:10F5A0001800E08200E6302CF01F0078E08000D2E6 +:10F5B0006CB850282FF88DB85807FBF91002EFF9F6 +:10F5C0001A00F01F0073C0E0029B0A9CF01F00713C +:10F5D000E08000C96C98EDB80006C0414E88402913 +:10F5E00091D9F01F006D6008EFDCB010F3D7C010A8 +:10F5F00050091039E08B006C0D882FF8AC880D99FC +:10F60000F0091800C061300A320C149BF01F00632F +:10F61000E8C800020E08FB58002EED38010B30043C +:10F62000FB680032400A300BFB640030FB640031A1 +:10F63000FB640033069CF01F005A069BFAC7FFF4D8 +:10F64000400A0E9CF01F0057300A0E9BFACCFFD2E6 +:10F65000F01F0055ED38010BF9D2C003BA78F01F46 +:10F660000053300CFB520028FB5C002AE041003EB6 +:10F67000E0880008EB39000C3888F0091800C2D087 +:10F680004028300A50980E9BFACCFFDCF01F00484F +:10F690004009ECCCFFE88109F01F0046F01F00464E +:10F6A0003008ED4C00CCED5800D04C49F30A014233 +:10F6B000F00A1900C0604B297298EDB8000EC031F5 +:10F6C000301CC52BF01F003E301CC4EBECCCFFE817 +:10F6D000F01F00383FFCC48BEB39000D38E8F0090F +:10F6E0001800CCF1EB39000E3018F0091800CC915D +:10F6F000EB39000F3038F0091800CC313028EB3BE3 +:10F700000012F00B18005F1A3FE8F00B18005F19A9 +:10F71000126AE80A1800CB51EB380013E218001DFA +:10F720005818CAF1EB380014E21800C85888CA917A +:10F73000189A31F9EA090708F4081800CA212FF9C4 +:10F74000E049003FCF81E0680400FB58002AC99BD4 +:10F75000401CF01F0018FE7CFAECC06BFE7CFC160F +:10F76000C03BECCCFFE8F01F00133FECCFDA401CAD +:10F77000F01F0010FE7CFB4FCF7A0000000087F4E2 +:10F7800000007A38800145DC80019F3080015F04F1 +:10F790008001F4088001F4E880014658800091D08F +:10F7A0008001C7B88001A4448001859C8001A49891 +:10F7B000800145EC800145C4000002608001FBFC33 +:10F7C000D401302CF01F0003300948389109D802C9 +:10F7D0008001A12800007A38D431FACD01385009CF +:10F7E000FACEFEA416971896FEFB031C14947C1305 +:10F7F0007C00F6F801245818C460FEFA030A749CD1 +:10F80000E21C0002C05118970E9C2B2DD832E068E4 +:10F8100000F8FAC5FEFCF5D7C0100C9B0A9C548872 +:10F82000549654A730025472F01F00B8FAC1FEE497 +:10F830000A9B029CF01F00B644C95879E08B00284F +:10F840003018F0090948E2180085C2104488FAC946 +:10F85000FFF45012502854D944D80A9B5478029C83 +:10F86000F01F00ACC1C1302744D95809CCE0FAC818 +:10F87000FFF41039CCA0FACCFECCF01F00A70E9CF0 +:10F880002B2DD83230270E9C2B2DD832448B300CA8 +:10F89000F01F00A2E08000B354DCCDFB44C9E04976 +:10F8A000003FE088000B300744B8EDB80007E08067 +:10F8B000009EF01F009BCD9BFEF80268F009032F0D +:10F8C000ECCAFFFC1588EC08000889080DD81589DA +:10F8D000400BEE0901093067F208010A970A44B8A3 +:10F8E000CE5B44B8F0C90001E0490097E088008988 +:10F8F000447CF01F008D44C8189A300944BC303B4A +:10F90000BFBCF9E8108CF01F0089F01F0085301B88 +:10F91000300CF01F008744B83027CC8B44B8E04847 +:10F920000082C090E08900A9E0480080C040E04823 +:10F930000081CEE10E9B0C9CF01F007ECE9B44B854 +:10F94000E0480082E08000C4E08900915978E080BE +:10F9500000C4E0480081CCD1029CF01F0077CD8B21 +:10F9600044B85808C7E144D65803EDF81000E7F84A +:10F970001A008C28A008FB1A0106445814088908AC +:10F98000FB190104F20A0105400A30EB95056807EE +:10F990000E9CF01F006AE08000AE4DB9F2F801D075 +:10F9A0005808E080009E0A9B0E9C5D18E08000993C +:10F9B00030270DE84D4BF768007B44B8C77B44B84F +:10F9C0005818CB90E0480080CA31CB5B447B44BCE4 +:10F9D000F01F005B44BCF8C800805818FE9BFF99DC +:10F9E000029B5C5CF01F0057C93B30084C69300B30 +:10F9F000B2A8169CF01F0054C5DB3FD7C06B4D3832 +:10FA0000F009032F029CF01F0052C82B029CF01F2C +:10FA10000051C7EB029CF01F0050C7AB029CF01FC7 +:10FA2000004FC76B029CF01F004EC72B029CF01FBB +:10FA3000004DC6EBF01F004C4B3AF54C00D4C68B82 +:10FA4000029CF01F004AC64B029CF01F0049C60BE7 +:10FA5000029CF01F0048C5CB447CF01F0047C58BBB +:10FA6000E0480081C1403027C21BF0C8008F5828F1 +:10FA7000FE9BFF40C4DBE0480084FE90FF5DFE95E6 +:10FA8000FF5BE0480085FE91FF44C55B49E91388B0 +:10FA900020185C58B28844D7C29049BB7698E218C7 +:10FAA0000040C20076D96E081039E088002944B8B9 +:10FAB000A7D854B85803F9B70003EFF81000E7F8D7 +:10FAC0001A00F9B70103FBF8104BCF0A447B32EC64 +:10FAD000F01F002AC1DB029CF01F0029C19B3047A8 +:10FAE000C69B0FD8F768007ACE3B302CF01F00255C +:10FAF000CD5BF01F0025CF403FE7C5CBF01F0023B3 +:10FB0000CD7B0000000087F48001C7B88001BF10E2 +:10FB10008001BF448001D3A88001D8DC80018754D4 +:10FB20008003C04C8001870C800186C880016A88F0 +:10FB3000800237E8800208948001F4088001708C0C +:10FB40008001725480018CE48003C14C8002084023 +:10FB50008002085880020864800208708002087CD5 +:10FB600080020888800145C48002084C8002083465 +:10FB7000800209B48001DA3480016D6C8002094092 +:10FB80008001A12880015F048001F310EBCD406863 +:10FB90003006493C1AD61AD649250C9899064929A7 +:10FBA000492A302B0A9CF01F001249231AD60C98C0 +:10FBB0001AD60699490A303BEACCFFFCF01F000C2C +:10FBC0000C981AD606991AD6EACCFFF848BA305BD8 +:10FBD000F01F0007301C2FADE3CD806800007A389D +:10FBE00000007A2C8001F4988003C3AC80016EB8C9 +:10FBF0008001F7C08003C3C48003C3E05EFCD70369 +:10FC0000EBCD40E0203D1897580CC1F07938707A60 +:10FC100094D9EDB90001C1D04C166C785828C15068 +:10FC20000E9CF01F0040C110ED3900943FF8F00920 +:10FC30001800C1405017FACAFFFC1A9BFACCFFF615 +:10FC4000F01F0039581CC180301C2FDDE3CD80E04F +:10FC50004B366C785818CE51CF8B202D306A1A9CB9 +:10FC60004AFBF6CBFF4AF01F0031F01F00312FEDA9 +:10FC7000580CCEB1CE0BFAC5FFF5400A401B0A9CCA +:10FC8000F01F002C581CCE113079FB38000BF20805 +:10FC90001800C35140187139727A94D8EDB8000435 +:10FCA000CD404A5AF4F801045818C3206DE85808AA +:10FCB000C1D1ED3B008049AA580BC2806F387079E2 +:10FCC000F5380081F33C005EF8081800C1F0F4CA72 +:10FCD000FF7E3009C0581538F8081800C0402FF9C9 +:10FCE0001639CFA516395F0CCB1B48D973F85808C5 +:10FCF000CE10F4F801AC5808CDD1CA7B0A9CF01F95 +:10FD0000000FF01F000FCA10CCDB3009CECB3059EA +:10FD1000FB38000BF2081800C981CC9B0000026080 +:10FD2000800189D080017C448002E736800188B060 +:10FD300080017EE0000087F480017BD880017C1088 +:10FD4000EBCD40E048D818961695F0F700F058072C +:10FD5000C0E00E9CF01F000AC0715806C0A00E9CA7 +:10FD60000A9B5D16C0606E075807CF41E3CF80E065 +:10FD70000E9CE3CD80E00000000087F48001FC00D1 +:10FD8000D401F01F0002D80280021500EBCD40F82C +:10FD9000204DE0683100EA18312EE069312EEA1971 +:10FDA000322E306CFAE90000F01F00631894E080F6 +:10FDB00000B9303CF01F00611896301CF01F005F46 +:10FDC000306A202D189B18951A9CF01F005DF01FBB +:10FDD000005D2FED580CE080008732B80A9C1AD8DD +:10FDE000308930084D8A306BF01F00582FFD1A9370 +:10FDF000ECFC00D8F01F0056ECFC00DCF01F0055B6 +:10FE0000ECFC00E4F01F0054ECFC00E8F01F005391 +:10FE1000ECFC00ECF01F0052ECFC00F0F01F005175 +:10FE2000ED3C00B7F01F00506DC85808F9B801014B +:10FE3000EDF81A1BED3C006FF01F004CECFC012CA0 +:10FE4000F01F004BF01F004BF01F004BF01F004B4A +:10FE5000F01F004BECF800F85808C6616D084C978D +:10FE6000EF4800D8ECFC0130F01F0047300830A903 +:10FE700032B54C6A1AD5E06B0080EECCFED8F01F8C +:10FE80000033EEC6FE58304A300B0C9CF01F004089 +:10FE900030081AD530594BFA0C9C304BF01F002B10 +:10FEA0004BD82FEDF10A01423009F20A1900C26065 +:10FEB0006E99EDB9000EC201A7B930688F9950381C +:10FEC0001A9CFAC8FFF8FAC9FFF4089A308BF01FA1 +:10FED00000331897581CC140089CF01F00312FCDEB +:10FEE000E3CF80F8189A0A991A933068308B1A9CDD +:10FEF000F01F002CC7EBF01F002C6E99CDEB089C77 +:10FF0000F01F00273009303B129A311CEA1C4000D8 +:10FF1000F01F0026F01F00260E9C2FCDE3CD80F8A9 +:10FF20002FCDE3CD80F8300A301B149CF01F002148 +:10FF3000C96B0000800092008001EF6C8002E73600 +:10FF4000800188B08003B804800176C480020594E3 +:10FF500080020538800204DC8002048080020424D0 +:10FF6000800203C8800202F880020374800202D477 +:10FF70008002078C800168AC8002017080020EFC58 +:10FF8000000087F48002031C8003C400800091D02D +:10FF90008003C40C00000260800174C8800091E8F6 +:10FFA0008001776C8001FBFC800186C8800187544A +:10FFB00080020B34EBCD406830094AF63068ACA9BA +:10FFC000AC893129314AAC988D99300530130A9BA0 +:10FFD000ED4500ECED4500E88DA58DC5ED550040E3 +:10FFE000ED550042ED55004EED4500D88DB3ECCCFB +:10FFF000FEF0F01F0022ED450124F01F0021ED5519 +:02000004800278 +:1000000000D0ED4C00CCED5500D249ECF01F001EA5 +:10001000F01F001EED4501B8F01F001DF01F001D70 +:10002000F01F001D0A9BECCCFF48F01F001C0A9B30 +:10003000ECCCFF44F01F0019069BECCCFF40F01FF6 +:100040000017069BECCCFF3CF01F0014ED4300446E +:10005000F01F0013F01F001330DCF01F0013F93CF9 +:10006000000FF01F0012F01F0006ED4C01CC069CA3 +:10007000E3CD8068000087F4800091D0800145C402 +:10008000000084CC80017B24800237D080016CDCAE +:100090008001FB8C8001EFE8800144F8800187C873 +:1000A000800205EC8001EF6C800202B8EBCD40606D +:1000B000E06A01F8300B49D518960A9CF01F001C25 +:1000C000F01F001C0C9CF01F001CEACCFFF4F01F7A +:1000D000001BEACCFFE0F01F0019EACCFFF0F01F94 +:1000E0000017EACCFFECF01F0016EACCFFE8F01F87 +:1000F0000014EACCFFE4F01F0012300930DC1AD9FA +:100100001298129A129BF01F000FF01F000FF01FA1 +:10011000000FF01F000FF01F000FF01F000F301C2A +:100120002FFDE3CD80600000000087F4800091D0B7 +:1001300080016F4880021124800145D6800145F27C +:100140008002067C80014690800149B88001804091 +:1001500080015F98800201584848300A4849911848 +:10016000910A930A5EFC000000007A3C00007A4489 +:10017000D421219D4A846808F3D8C001FB6900633B +:10018000E2180002C14030183005FB6800634A3CA9 +:10019000F01F00233018189BFAC9FF9D300A49FC54 +:1001A000F01F0020581CC2802E7DD8225809C1C0E3 +:1001B000109549D870065806CEB0EA050019FA091C +:1001C00000170C9B0E9C306A2FA72FF5F01F00170D +:1001D0006C265806CDD05905CF516808F1D8C0011A +:1001E000F0051700CD5B306AE06B00FF1A9C3015FC +:1001F000F01F000FCDFB48FCF01F0009EA050018B6 +:10020000189BA1781A99300A48ACF01F00062E7D81 +:10021000D822000000007A448003C414800091B802 +:100220008001776C00007A3C800091DC800091D0E6 +:100230008003C41CD40148697208104C930CEDBCB7 +:100240000002C021DA0AF01F0003D80200007A443D +:1002500080020170EBCD408048C76E095809C1305B +:10026000722A580AF3F80003EFF80A01F3F81003B2 +:10027000F5F81A037238129C910AF01F00056E09F6 +:100280005809CEF1E3CF908000007A3C800091E8DD +:10029000D401F01F0007581CC020D802485972082A +:1002A000EDB80002CFB0F01F0004D8028002025463 +:1002B00000007A4480020170F8C900013058F0094A +:1002C0001800E08B00054838B09C5EFF3FCC5EFC18 +:1002D000000087F4D401201DFAC9FFFC12DC1A9932 +:1002E0003048300A307B483CF01F00032FFDD80215 +:1002F0008003C43C8001776CD401201D3018BA8C77 +:100300001A99300A306B484CF01F0004581C5F0CDF +:100310002FFDD8028003C45C8001776CEBCD406870 +:10032000201D48F61893FAC5FFFC2F060AFC0C9C0A +:10033000F01F000C303CF01F000CF94301300C9C06 +:10034000F01F000A0A993018300A307B488CF01FE1 +:100350000009581C5F0C2FFDE3CD8068000087F476 +:10036000800145FC8001EF6C800145FE8003C46C78 +:100370008001776CEBCD4040201D48E6BA8C2F06FB +:100380000C9CF01F000D303CF01F000C1B88F9483E +:10039000006C0C9CF01F000A30181A99300A309B30 +:1003A000488CF01F0009581C5F0C2FFDE3CD8040E6 +:1003B000000087F4800145FC8001EF6C800145FE60 +:1003C0008003C4748001776CEBCD4068201D1898C1 +:1003D0005CB81895FAC3FFFC48D606D82F060C9CCB +:1003E000F01F000C303CF01F000CF94500F00C9C95 +:1003F000F01F000A1A993048300A309B488CF01FD1 +:100400000009581C5F0C2FFDE3CD8068000087F4C5 +:10041000800145FC8001EF6C800145FE8003C480B3 +:100420008001776CEBCD4068201D18985CB818955A +:10043000FAC3FFFC48D606D82F060C9CF01F000C10 +:10044000303CF01F000CF94500EC0C9CF01F000A3A +:100450001A993048300A309B488CF01F0009581C0C +:100460005F0C2FFDE3CD8068000087F4800145FC20 +:100470008001EF6C800145FE8003C48C8001776CA5 +:10048000EBCD4068201D18985CB81895FAC3FFFCA6 +:1004900048D606D82F060C9CF01F000C303CF01FED +:1004A000000CF94500E80C9CF01F000A1A9930482E +:1004B000300A309B488CF01F0009581C5F0C2FFD40 +:1004C000E3CD8068000087F4800145FC8001EF6C7B +:1004D000800145FE8003C4988001776CEBCD4068B5 +:1004E000201D18985CB81895FAC3FFFC48D606D8AA +:1004F0002F060C9CF01F000C303CF01F000CF9453F +:1005000000E40C9CF01F000A1A993048300A309B16 +:10051000488CF01F0009581C5F0C2FFDE3CD80684C +:10052000000087F4800145FC8001EF6C800145FEEE +:100530008003C4A48001776CEBCD4068201D18981F +:100540005CB81895FAC3FFFC48D606D82F060C9C59 +:10055000F01F000C303CF01F000CF94500DC0C9C37 +:10056000F01F000A1A993048300A309B488CF01F5F +:100570000009581C5F0C2FFDE3CD8068000087F454 +:10058000800145FC8001EF6C800145FE8003C4B012 +:100590008001776CEBCD4060201D48F5BABC2F057B +:1005A0000A9CF01F000E303CF01F000DFAC6FFFC45 +:1005B0000D78F94800D80A9CF01F000A0C993018F1 +:1005C000300A306B488CF01F0009581C5F0C2FFD5F +:1005D000E3CD8060000087F4800145FC8001EF6C72 +:1005E000800145FE8003C4BC8001776CEBCD40C028 +:1005F000206D49EC3008F939010DF93B010850082C +:1006000050281AD9F93A010C1ADAFAC7FFF8F93961 +:10061000010AF93A01090E9CF01F00152FED580C44 +:10062000C10140085808C0401A9CF01F0012402C1D +:10063000580CC040F01F0010300C2FADE3CD80C02F +:100640001A9CF01F000E400818965808C0401A9CCB +:10065000F01F0008402C580CC030F01F000758163F +:100660005F0C2FADE3CD80C0000087F48001DAE499 +:100670008001D3A8800091E880018E9CD4214C0792 +:10068000405EEF6C0108EF6B0109EF6E010D1495F0 +:100690001294109A3019F2081800C120EEF801B037 +:1006A0005808C3D05828C4C04B5CEF3B01B5338811 +:1006B000F00B1800C5403398F00B1800C440EF6AE7 +:1006C000010CF01F0030EDDCB010F01F002F0C0CFF +:1006D0005C5C5805C1E11895F01F002A1815EF65FC +:1006E000010AF01F0029EDDCB010F01F00260C0CF1 +:1006F0005C5C5804C3F11894F01F00221814EF64D6 +:10070000010B6E98EDB80001C031F01F0020DA2A0D +:10071000EA0C1800FE98FFE23FCCD822EF3901B571 +:100720003348F0091800CC11EF3901B63418F0093C +:100730001800FE98FFC630E8EF68010CCC3BEF696B +:10074000010CCC0BEF3901B63408F0091800FE9803 +:10075000FFB8301948A8F169010CCB4BF93901B643 +:100760003408F0091800FE98FFA835A8F968010CB4 +:10077000CA9BE80C1800FE9BFFD1CBFB000087F45E +:100780008001F4A48001F504800205ECEBCD40E08B +:10079000303CF01F002330CB18954A26300CF01F58 +:1007A0000022ED4C01AC1897C360303BF01F001FD6 +:1007B0008F2CECF901AC72275807C2903078300BBF +:1007C000B2883068ECFA01ACB498ECF901ACB2AB89 +:1007D000ECF801ACB0BBECF901ACB2CBECF801AC7D +:1007E000EB390075702AB489ECF801ACEB39007470 +:1007F000702AB499ECF801ACEAFB00847029B2AB22 +:10080000ECFC01ACF01F000AE3CF90E0ECCCFE540E +:10081000F01F00080E9CE3CD80E000008001EF6C2B +:10082000000087F48001D8DC8001D3EC800208D47A +:100830008001D3A8D401F01F0002DA0A8001DA5641 +:10084000D401F01F0002DA0A8001DF30D401F01F6A +:100850000002DA0A8001DBE8D401F01F0002DA0AA4 +:100860008001DC04D401F01F0002DA0A8001DC20E0 +:10087000D401F01F0002DA0A8001DC3CD401F01F31 +:100880000002DA0A8001DC58D401F01F0002DA0A03 +:100890008001DC74D401201D1A9BF01F000CC09055 +:1008A00040085808C06048AA7499EDB90000C030EB +:1008B0002FFDDA0A1298A1C831CC9598300A149B02 +:1008C000F01F00042FFDDA0A8001D98C000087F4A4 +:1008D00080014658EBCD40C0206D4958189B709C54 +:1008E000E21C0002C06118970E9C2FADE3CD80C0C2 +:1008F00030081A96502850081A9CF01F000EC1119B +:10090000189740085808C0401A9CF01F000B402C54 +:10091000580CCEB0F01F00090E9C2FADE3CD80C067 +:100920001A9C3017F01F0006CEDB0000000087F491 +:100930008001DED08001D3A8800091E880018E9CE8 +:10094000EBCD4080201D300A1A9BF01F0017C0F02D +:1009500040085808C0F149576E99EDB9000BC071B5 +:10096000EEF801A84917F1D8C001C1212FFDE3CF4E +:10097000908048E76E99EDB90000CF01A1C9300A17 +:100980008F9931CC149BF01F000A6E99CE7BEEFC40 +:1009900001ACF01F00086E98301CABD88F982FFD6B +:1009A000E3CD80808001ED10000087F4800146587F +:1009B000800208D4D401F01F0002DA0A8001DBD0E3 +:1009C000EBCD40FC206D4A5318951097169266980F +:1009D0001496109C1294E21C0002C2D05BF5C30175 +:1009E000303CF01F001F300BF3D7C010F5D4C010FF +:1009F0001AD90C981ADAF3D2C010504B502BFAC601 +:100A0000FFF8F93B00F70A9A0C9CF01F00162FED37 +:100A1000580CC1B1189740085808C0401A9CF01FE4 +:100A20000012402C580CC030F01F00100E9C2FAD4F +:100A3000E3CD80FC18970E9C2FADE3CD80FCEDB884 +:100A40000000CCF13FB7CF3B6698A1A81A9C8798CD +:100A50003017F01F0007CE0B000087F48001EF6C09 +:100A60008001DB588001D3A8800091E880018E9C32 +:100A7000D40130085C7B1099109AF01F0002D80254 +:100A8000800209C0D4013008364B1099109A109C8E +:100A9000F01F0002D8020000800209C0EBCD40E048 +:100AA00020AD3006507CFB6B00201497500650267A +:100AB0001A95FACAFFDCFACBFFE81A9CF01F00195E +:100AC000C111189640085808C0401A9CF01F001623 +:100AD000402C580CC030F01F00150C9C2F6DE3CD3E +:100AE00080E05807C09040980E9B0C9C8F28F01F08 +:100AF0000010581CC0611A9C3016F01F000ECE3B2F +:100B000040085808C0401A9CF01F0007402C580CA1 +:100B1000C0313FD6CE3BF01F00053FD6CDFB0000D5 +:100B20008001DC8C8001D3A8800091E880016C40BA +:100B300080018E9CD401F01F0002D80280020A9C22 +:100B4000EBCD40E0209D3018189A1697F00C09481C +:100B50004A5B7609F1E9000CC06118970E9C2F7D65 +:100B6000E3CD80E0F00811FF12683006507A970854 +:100B7000500650261A95FACAFFE0FACBFFE81A9CF5 +:100B8000F01F001AC1E05807C09040880E9B0C9CD3 +:100B90008F28F01F0017581CC1611A9C3017F01FD6 +:100BA000001540085808C0401A9CF01F0013402C44 +:100BB000580CCD50F01F00110E9C2F7DE3CD80E02E +:100BC0001897CF0B40085808C0401A9CF01F000A25 +:100BD000402C580CC0313FD7CC2BF01F00083FD71A +:100BE000CBEB000000007A4C8001DCEC80016C4013 +:100BF00080018E9C8001D3A8800091E8EBCD40F865 +:100C0000216DFAC6FF901897FB69000EFB68000F74 +:100C1000FB6B0010FB6A00116CF46D036D15ECCCDE +:100C2000FFD4F01F0038306ABA6CECCBFFDCFACC92 +:100C3000FFEDF01F00350D88FB6800190D99ECCB16 +:100C4000FFFEFB69001A320AFACCFFE5F01F002E06 +:100C50004AEE30097C0B301CF809094AF5EB000814 +:100C6000C0902FF95899CF9130060C9C2EADE3CD52 +:100C700080F8F7EA10089D085BF9CF705024FB63F9 +:100C8000001250195807EFF91A003006FAC7FFC4CE +:100C900050F65116FACAFFAC1A9B0E9CF01F001CAE +:100CA000C111189640F85808C0400E9CF01F00195A +:100CB000411C580CCDB0F01F00180C9C2EADE3CD9C +:100CC00080F85805C09041580A9B0C9C8B28F01F57 +:100CD0000013581CC0610E9C3016F01F0011CE3B53 +:100CE00040F85808C0400E9CF01F000A411C580CE8 +:100CF000C0313FD6CBBBF01F00083FD6CB7B0000F6 +:100D000080018058800091DC00007A4C8001DD4C2D +:100D10008001D3A8800091E880016C4080018E9C06 +:100D2000D42120DD4B0510946A0E4126F1DEC0016E +:100D3000C0B0EDBE0001C411EDBE0002C411300709 +:100D40000E9C2F3DD82210973018FB6B002A508A3A +:100D50005077FDE8100850998B08FB540028580C78 +:100D6000F9F71A001A953007FACAFFD05007502732 +:100D7000FACBFFE81A9CF01F001DC101189740082C +:100D80005808C0401A9CF01F001A402C580CCD90F7 +:100D9000F01F00180E9C2F3DD8225806C09040C866 +:100DA0000C9B0E9C8D28F01F0014581CC0C11A9C6F +:100DB0003017F01F0012CE4B30173028CC7B302775 +:100DC0003048CC4B40085808C0401A9CF01F00081F +:100DD000402C580CC0313FD7CB4BF01F00063FD7FB +:100DE000CB0B000000007A488001DDAC8001D3A865 +:100DF000800091E880016C4080018E9CEBCD40E04A +:100E0000207D300616975006189B50261A95FACA70 +:100E1000FFE81A9CF01F001AC111189640085808E4 +:100E2000C0401A9CF01F0017402C580CC030F01F17 +:100E300000160C9C2F9DE3CD80E05807C1904068C0 +:100E40000E9B0C9C8F28F01F0011581CC1104008ED +:100E50005808C0401A9CF01F000B402C580CC0D002 +:100E6000F01F000930060C9C2F9DE3CD80E01A9CFA +:100E70003016F01F0007CD3B1896CDCB8001DE0C5D +:100E80008001D3A8800091E880016C4080018E9C95 +:100E9000D40120CDFB5A0012FB590014FACAFFCC32 +:100EA000502874197408FB590016501874397428A6 +:100EB000FB59001AFB580018745974485039FB58F4 +:100EC000001C74797468FB590020FB58001E74994B +:100ED000748850A95098300974A8FB6C0022FB5B01 +:100EE0000010FB68002C74BBFB6900231A9CF01FE8 +:100EF00000032F4DD802000080020DFCEBCD40EE28 +:100F000020CD3FF94CC850A950B94CC93005303CF0 +:100F100091059305F01F004A322A18961A971A9CD9 +:100F20000A9BF01F0048FAC3FFDE306AE06B00FF47 +:100F3000069CF01F00441AD5ED38004F1AD86D28D2 +:100F40001AD86D191AD9ED1800361AD8ED190032D1 +:100F50001AD96CE81AD8ED19002E1AD9ED18002A02 +:100F60001AD8ED1900261AD9ED1800221AD86C6982 +:100F700030BB1AD9301C6D08ED1900FEED3A001F88 +:100F8000F01F0031ECFB01282F4DF6C80001581866 +:100F9000E0880045ED3100F7ECCAFF8C30153006D3 +:100FA0001AD61AD540D81AD8F4E80000206D069B4E +:100FB000FAE900081A9CF4E20008306AFAE300102B +:100FC000F01F0022EF380021209DFB680021EEE891 +:100FD0000000FAE90000EEE20008FAE30008EEE89B +:100FE0000010FAE90010EEE20018FAE30018EF38FA +:100FF0000020029BFB6800200A990C98FACCFF9015 +:10100000303AF01F00130C9A2EED0C9B40ACF01FF1 +:1010100000110A9C2F4DE3CD80EE1AD50A98FACC28 +:10102000FFD05C5B0A99FE7AFF6AF01F000B2FFD70 +:10103000CB2B000000007A4C00007A488001EF6C56 +:10104000800091D080020E908002E73680020BFC77 +:1010500080020A9C80020D20D431202D500B189163 +:101060004A1776026E9CE21C0002C350304C5011AD +:101070005801E2021700F01F001DEEF700F0189073 +:101080005807C2D030043013C0A82FF45802C1B1A1 +:101090005801F9B301FF5805C1100A9760B66E05F3 +:1010A000F01F00130C9A189B0E9CF01F0012CEE04C +:1010B0000E9CF01F00115805CF114008069C9104AA +:1010C0002FEDD83240182012110C0E9B5018F01F33 +:1010D000000BCE2B1893069C2FEDD8320E943013B4 +:1010E000CEDB0000000087F48001EF6C800145C476 +:1010F000800159A080015CDC800184284828F0FC34 +:1011000000F85EFC000087F4486871195879F9B856 +:101110000001F9F80A00F9B80100F9F81A005EFFB9 +:10112000000087F44828F14C007C5EFC000087F446 +:101130004828F14C01D05EFF000087F4EBCD40C0A1 +:1011400018971496E04A0020E088000830083FF91C +:10115000B898B889E3CF80C02FECF01F00043008A6 +:10116000AE96AE88E3CF90C0800091DCEBCD40FC22 +:10117000206D18941695F01F00431897C1A0F939F7 +:1011800000CC3FF8F0091800C3910896EF3900A889 +:101190003FF8F0091800C5414BB8F0F700F85807C0 +:1011A000C0A1EC040104301C8B042FADE3CD80FC06 +:1011B0000896CF3BE06AFFFF300B1A9CF01F00330C +:1011C0006F38302A707C1A9B2F4CF01F00311A9216 +:1011D0006A0A9A93063AC0442FADE3CFC0FC0C9B39 +:1011E0001A9C5C7AF01F00296F380606707C1A9BE7 +:1011F0002F4C300AF01F0026CD5BE06AFFFF300B5A +:101200001A9CF01F0022302AEEC2FF341A9B049C65 +:10121000F01F00201A966A0A9A93063ACDE55C7A86 +:10122000089B1A9CF01F00191A9B049C300AF01F9F +:1012300000196A08E803000606188B08CA8BE06AE2 +:10124000FFFF300B1A9CF01F0011302AEEC7FF5829 +:101250001A9B0E9CF01F00101A926A0A9A93063A83 +:10126000CBC50C9B5C7A1A9CF01F00081A9B0E9C45 +:10127000300AF01F00096A08060606188B08C8DB4A +:101280008001EFF8000087F48001C7B88001D344E3 +:101290008001D6B08001D558D401F01F0002D802D9 +:1012A00080015D18EBCD40F8FACD00803225149313 +:1012B00018941297BA85FAC6FFFF0C9CF01F001B0A +:1012C000300806063019AC85AC981A951A9A498BE5 +:1012D000089CF01F0018C0503FFC2E0DE3CD80F895 +:1012E0000E9CF01F0015E04C0040C1701AD7493A1F +:1012F000E06B00800A9CF01F00120A9A3019491B0B +:10130000089CF01F000C2FFD1897580CCE61089C0C +:10131000F01F000D0E9CCE2B0E9A089C3019489B96 +:10132000F01F0004CDB0CD9B800091DC8003C4FC95 +:1013300080023BB8800091B8800399D0800091482A +:101340008003C50480024328D421210D300B4B6655 +:10135000169CF01F00368D0CC2B078075807C2A04B +:101360006F985808C2704B283014EF4400641A95E7 +:10137000340B1AD84AFA0A9CF01F002F08990A9ACF +:101380004AEB0E9CF01F002E2FFD580CC2506C082B +:10139000700CF01F002C6C09300893086C08700961 +:1013A0004A98722A910A6C09300893486C0C2F0DE8 +:1013B000D822F01F00261897CF70F01F00254A583A +:1013C0004A59118A4A5B0E9CF01F0025C2056E29FE +:1013D00049D89109CE9B08994A2A4A3B0E9CF01F96 +:1013E0000018C1C14A18340B1AD8492A0A9CF01FA8 +:1013F000001208990A9A49EB0E9CF01F00112FFD6C +:10140000580CC0C13088EF480054CC9B0E9CF01F94 +:10141000000D6C0930089308CC7B0E9CF01F00096E +:10142000CB7B000000008C8C80023B4C8003C50805 +:10143000800399D0800091488003C4FC80023BB8AF +:1014400080024190000003FC80024F4080023B225A +:10145000000004000000042800000404800212A41C +:101460008003C5108003C5148003C5188003C538E8 +:10147000D421169849871495189B109A49740E9C8C +:10148000A888F01F00170A9B30064965EF66002008 +:10149000341A0A9CF01F001449484959EB66004071 +:1014A000700B720CF01F00131896C0C0F01F0012D2 +:1014B0000A99098A0E9B0C9CF01F00106D185808A1 +:1014C000C021D822ECCAFFDC0A9C3209341BF01F71 +:1014D000000CD8220000040400000400800091DC0D +:1014E00000000428800091AC000003FC00008C8CFC +:1014F00080023B0680023B22800212A480023A68EE +:10150000D421210D328A300B1A9CF01F00301A9C16 +:1015100030073014504750544AD5F01F002E8B0C22 +:101520001A96C4A0FAC6FFD8318A0E9B0C9CF01FF5 +:1015300000274A984A990C9B50E850A96A0CF01F62 +:1015400000281896C3B04A7CF01F00274A761AD7A5 +:10155000304B1AD70E984A694A6AEC0B000CF01F00 +:1015600000260E981AD74A591AD74A5A302B0C9C83 +:10157000F01F00210E981AD74A291AD74A2A311B80 +:10158000ECCCFFF8F01F001C0E981AD749F91AD7B7 +:1015900049FA312BECCCFFF4F01F00170E982F8D79 +:1015A000ECCCFFF01AD749B91AD749BA315BF01F12 +:1015B0000012089C2FED2F0DD8226A0CF01F001787 +:1015C0000C9C8B06CF9B0000800091D000007A50CD +:1015D00080022B4C8003C5448003C54C80022C0440 +:1015E000800216FC8002113000007A5480021670CE +:1015F0008003C55480016EB8800217408003C3ACDD +:10160000800216C48003C5708002168C8003C58CCE +:101610008002161C8003C5A480022AF8EBCD40C0CE +:1016200021AD189798E8EDB80000C181368A300BDB +:101630001A9CF01F000C306A0E9B1A9CF01F000AC7 +:101640006E2830195C3850395028488870091A962D +:101650001A9A720C306BF01F00062E6DE3CD80C01D +:10166000800091D0800091DC00007A508002792CBB +:10167000D40148587009300A720C301BF01F000367 +:10168000D802000000007A508002792CEBCD404057 +:1016900021AD368A300B1A9CF01F000830084889AB +:1016A000500872081A961A9A700C302BF01F000519 +:1016B0002E6DE3CD80400000800091D000007A5074 +:1016C0008002792CEBCD404021AD368A300B1A9C3C +:1016D000F01F000830184889500872081A961A9AA4 +:1016E000700C302BF01F00052E6DE3CD8040000004 +:1016F000800091D000007A508002792CD401487883 +:10170000700EF6C9000E189AF8CBFFFA2F2A7C0C3F +:10171000F01F0003DA0A000000007A50800224E083 +:10172000D401580CC051304CF01F0004D802304C8A +:10173000F01F0003D80200008001A12880019F3023 +:10174000EBCD40E0FACD0170FACCFE98F01F001905 +:10175000581CC22145A85818E088001FE068010005 +:10176000FACBFE901A9C16D8F01F00131A95189603 +:10177000FAC7FF00368A300B0E9CF01F0010581677 +:10178000C11048F870090E9A720C300BF01F000D52 +:101790002A4DE3CD80E0300CF01F000B2A4DE3CD45 +:1017A00080E045B85808FE9AFFEE540D5418CEABB1 +:1017B00080015F448002116C800091D000007A505B +:1017C0008002792C80021720000000000000000039 +:1017D000EBCD40C0F8F800D418971696F0F80088C2 +:1017E000F8FA00E85808C040F8FC00C45D185876C4 +:1017F000C1A058065F0858365F091248C11030185A +:10180000EF4800ECEEF900D473985808C050300B44 +:10181000EEFC00C45D18EF4600E8E3CD80C05846FA +:10182000CEF0CFABEEF800EC5808CF603008301B9C +:10183000EF4800ECEF4B00F0EEF800D47198580838 +:10184000CE81CEABD401F01F0002D802800217D0A7 +:10185000F8FC00E85EFCD401F8F800D471A8580840 +:10186000C050F8FC00C45D18D802109CD802D40106 +:10187000F8F800D471185808C050F8FC00C45D187E +:10188000D802DC0AD401F8F800D471285808C050F6 +:10189000F8FC00C45D18D802DC0AD703EBCD408009 +:1018A0003008F8F90108F94801085809C031C08822 +:1018B0000E997207129CF01F00045807CFA1E3CDC8 +:1018C00080800000800091E8D401F8FC00DCF01F6B +:1018D0000002D8028002B4A4D401F8FC0090F01FEA +:1018E0000002D80280023B8CD401F8FC0090F01F6B +:1018F0000002D80280023C84EBCD40C01696F8F777 +:1019000001085807C051C0B86E075807C080EECC18 +:10191000FFFC306A0C9BF01F0004CF710E9CE3CDDE +:1019200080C000008000917CD4011699F8F801185D +:101930005808C0A1F8F800D470285808C0C0F8FCB6 +:1019400000C45D18D802F8CBFF64306A129CF01F07 +:101950000003D80ADC0A0000800091DCEBCD40F8DF +:1019600020AD1897F8F801185808C06030070E9C91 +:101970002F6DE3CD80F8F8F800D470385808CF7098 +:10198000F8FC00C41A9B1A935D181895CF05EEF861 +:1019900001185808C431EEF800D470285808CE70E9 +:1019A000FAC4FFE0EEFC00C4089B5D18CE05EEFC17 +:1019B000009078465806C301EEF800D45808C2C01B +:1019C000700C49BBF01F001BEFFC0024F9B60001AE +:1019D000EFFC102478075807C111CCAB5806C0B0F3 +:1019E0006E885808CC50EECBFFE8306A089CF01F98 +:1019F0000012CBE06E075807CBB0EEF80194580800 +:101A0000CFA16E581035CEB16E4B0A9A1A9CF01FBA +:101A1000000ACE70CE4B3006CDEBFAC4FFE0306A40 +:101A2000EECBFF64089CF01F0005CC2B8003C65C46 +:101A3000800091A08000917C800091DCD401F01F97 +:101A40000002D8028002195CD42120AD3008FB5876 +:101A50000024508816961897F6F801845818C0404C +:101A60003FFC2F6DD82277185808CFB0F8F500B892 +:101A70005885C2205905CF512DCB0A9A1A9CF01FC8 +:101A800000171A940A9A303BEEFE00D47C5858088E +:101A9000CE801ADA1AD43009EF490104EEFC00C4F2 +:101AA00030681AD8FACAFFD430181ADA48CA7C56F5 +:101AB0005D162FCDCD7B2DCB318A1A9CF01F0007F0 +:101AC0000A9AECCBFFCCFACCFFE8F01F00041A9482 +:101AD000320A302BCDAB0000800091DC80039C38B3 +:101AE000D42118951696F01F000F1897C05078381B +:101AF0002FF89938D82A310CF01F000B1894C0F039 +:101B00000C9B306A2FCCF01F000930188938EAF995 +:101B100001088909EB4401080E9CD822DC2A000048 +:101B2000800218F880028F24800091DCEBCD40FC0D +:101B3000EDD9C010407218941693ECCCFFFC1495AC +:101B4000910CF01F00161897C190E8F800907039BA +:101B5000EC081608B893B889B8B6B8A85805C100FB +:101B60000C9A0A9BF8C6FFFC0C9CF01F000D0E9C03 +:101B70005802E5F61A00E3CD80FCE3CD80FC0C9A18 +:101B80000A9BF8C6FFFC0C9CF01F00060E9C580236 +:101B9000E5F61A00E3CD80FC80009200800091DC25 +:101BA000800091D0D401401E5C791ADEF01F000243 +:101BB0002FFDD80280021B2CEBCD40F8203DF8F819 +:101BC00000BC1493129458485F0A58285F0918976C +:101BD00016961449C0603FF70E9C2FDDE3CD80F8C8 +:101BE000F8FC00DCF01F002BC0305816CF50EEC5BB +:101BF000FF64306A4A8B0A9CF01F0028C0D1EEF8BF +:101C000000D470285808C060EEFC00C41A9B5D1810 +:101C1000C370EEC5FF043008F7D6C0081AD8F3D455 +:101C2000C010FAC8FFF4069A0E9CF01F001D2FFD8D +:101C30001896580CCD1040296E2C580CC1001298E3 +:101C40000A9B0C99E06A888EF01F001618970C9C6E +:101C5000F01F00150E9C2FDDE3CD80F8EEF800D4C8 +:101C600071845804C0B01298EEFC00C40A9B0C9911 +:101C7000E06A888E5D141897CEBB3FF7CE9B306A22 +:101C8000485B1A9CF01F0005CC501A95CC5B0000F5 +:101C900080028F78800217C88000917C80021B2C04 +:101CA00080028154800091E8EBCD40C0189EEFDAAD +:101CB000C010782C580CC0600E9AF01F0009E3CDBC +:101CC00080C0FCFA00D475865806C0700E9AFCFCE1 +:101CD00000C45D16E3CD80C0E3CFC0C08002815454 +:101CE000D421497A1894301BF01F0016300A089B43 +:101CF000495CE8C5FF64F01F0015E8F701085807C4 +:101D0000C1C03006C0680E966E0C580CC1601897A2 +:101D1000306A0A9BEECCFFFCF01F000DCF51580635 +:101D2000EFF80000E9F80A42EFF81000EDF81A00A9 +:101D30000E9CF01F0008D822D82200008003C66441 +:101D400080023A1A80023058800274008000917C30 +:101D5000800091E8D401F01F0002D80280021CE04C +:101D6000EBCD408048FA1897301BF01F000FEEF8BB +:101D700000BC5818C0F00E9B300A48CCF01F000C75 +:101D80000E9CF01F000C0E9C307BF01F000BE3CD6F +:101D900080800E9C305BF01F0008E3CD8080000047 +:101DA0008003C68880023A1A8002360080027400DE +:101DB00080021CE0800217D0EBCD4040486A1896A4 +:101DC000301BF01F00060C9B300A485CF01F00051A +:101DD000E3CD80408003C6A880023A1A8002360014 +:101DE00080027400EBCD40F81894F8FC00CC580C3D +:101DF000C360E8F800D05808E08A00321897E8C3BA +:101E0000FF643005C0A8580AC200EEC7FF64E8F8B6 +:101E100000D00A38E08A00242FF5E8F600B0306AD6 +:101E2000069B0E9CF01F0015CF115806C0E06C5A9F +:101E30006EA81438CE91EECCFFFA6C4BF01F000F59 +:101E4000C0406C5A580ACE215807C0906F5AEECB4A +:101E5000FFD4E8FC00DCF01F000AC0403FFCE3CDEB +:101E600080F8EECBFFA8E8FC00DCEEFA0080F01F63 +:101E70000005CF60CF4B00008000917C8002B58CC4 +:101E80008002B52CD4211895E06C009CF01F001B3B +:101E90001897C310EAF401185804C2A1EAF800D454 +:101EA00070C85808C250189B301AEAFC00C45D186C +:101EB0001898C1E50E9C3016E06B009CF0060D46AC +:101EC000EC0B024BF01F000E58065F09580C5F1810 +:101ED0001248E8081800F8071710EAFC00CCF01FB9 +:101EE0000009089CEB4600D0EB4700CCD8220E9CA2 +:101EF000F01F0004DC2A000080009200800091F4B2 +:101F0000800091E8EBCD40801897F01F0008C031A9 +:101F1000E3CD80800E9CF01F0006C0550E9CF01F84 +:101F20000003CF7BE3CFC08080021DE480021E84CB +:101F3000EBCD40FE208D18961697149512921091B5 +:101F4000580BC580F6FB0080580BC0E16F5B580B47 +:101F5000C3210C9CFEFA02E4303BF01F00B93FFCA9 +:101F60002F8DE3CD80FE7568EDB80001CF011A9A80 +:101F7000EECCFFA8F01F00B3CEA16B484029126839 +:101F8000CE606B3840191268CE206B584039126809 +:101F9000CDE0FEFA02B2301B0C9CF01F00A9EEC48B +:101FA000FFD4302A303BECFC00DCF01F00A8089C7A +:101FB0006F5AC4386B68EDB80000CCC1EEC4FFD4D2 +:101FC0001A9A089CF01F009FCC516B484029126858 +:101FD000CC106B3840191268CBD06B58403912685E +:101FE000CB90FEFA026A301B0C9CF01F0095301A51 +:101FF000CDAB7568E21800021A93F9B40102F9B486 +:102000000001F8FC00DC1A9BF01F0092C1F05BECB1 +:10201000C4001A9C320A300BF01F008F6B48502806 +:102020006B3950196B585038089A303BECFC00DC87 +:10203000F01F0086300C189A189BECFC00DCF01F97 +:102040000087C3602F8DE3CFC0FE402A6B49F3EABF +:102050000008C0D0401A6B39F3EA0008C110403ABA +:102060006B59F3EA0008C1B04004CDFB1AD9302BFC +:102070001ADA0C9C4FAAF01F00722FEDCCBB1AD9B4 +:10208000302B1ADA0C9C4F7AF01F006D2FEDCC2B01 +:102090004F5A302B0C9CF01F006ACBCB1AD9302B37 +:1020A0001ADA0C9C4F1AF01F00662FEDCB3B580735 +:1020B000EE0B1700F60A1700F9B80158EFD8E10B3C +:1020C000EFFA1020ECFC00DCF01F0069CBC16B487C +:1020D0004029F1E90009EDB90004C5D0EDB90003CC +:1020E000C750EDB90002E081009430484E1AED4827 +:1020F00000B8301B0C9CF01F00526B384019F1E9FE +:102100000009EDB90004C500EDB90003C7513088DE +:102110004D9AED4800B4301B0C9CF01F00496B58E1 +:102120004039F1E90009EDB90000E080007FEDB928 +:102130000001C55130284D1AED4800BC301B0C9CE5 +:10214000F01F003FECFA00BC306BECFC00DCF01F31 +:10215000003FECFA00B4304BECFC00DCF01F003B1D +:10216000ECFA00B8305BECFC00DCF01F0038029A9F +:10217000049BECFC00DCF01F00421894FE91FF640D +:102180006B57E2170002C191ECFC00DCF01F003D30 +:102190000E9CCE7A31084BCAED4800B8301B0C9C1F +:1021A000F01F0027CABB31084B8AED4800B4301B32 +:1021B0000C9CF01F0023CB4BECFC00DCEACBFFDCDB +:1021C000320AF01F0033089CCCCA30884B1AED4805 +:1021D00000B8301B0C9CF01F001AC90BEDB90004AD +:1021E000FE91FF3231084ACAED4800BC301B0C9CFE +:1021F000F01F0013CA8BEDB90000FE91FF25301BC4 +:102200004A6AED4B00B40C9CF01F000DC89BEDB961 +:102210000001FE91FF1930284A1AED4800B8301B22 +:102220000C9CF01F0007C6AB301B49EAED4B00BC0D +:102230000C9CF01F0003C87B8003C8EC80023A1A94 +:102240008002BD688003C6C08002B4D48003C6E0AB +:102250008002C04C800091D08002B58C8003C734CE +:102260008003C7788003C7008003C7BC8002B52CF9 +:102270008003C8288003C86C8003C8B08002B64CB5 +:102280008002B9EC8003C8008003C8588002B91CE2 +:102290008003C8148003C8CC8003C8808003C84072 +:1022A0008003C894EBCD40C07758EDB80003F9B86F +:1022B0000008F9F80A2FF9B80104F9F81A2F18974D +:1022C000300A1696F8FC00DC149BF01F0025300A3B +:1022D000EEFC00DC149BF01F0023300AEEFC00DC57 +:1022E000149BF01F002130183009ECCBFECCEF48D6 +:1022F00000B8EF4800B4EF4900C02FF976085858ED +:10230000E08B00225808C2512FCB5849CF71EEFA0A +:1023100000BC306BEEFC00DCF01F0014EEFA00B4E1 +:10232000304BEEFC00DCF01F0011EEFA00B8305B21 +:10233000EEFC00DCF01F000DEEFC00DCF01F000CDA +:10234000E3CD80C03048EF4800B8EF4800B4CE0B72 +:102350003028EF4800B8EF4800B4CDAB8002B58C10 +:102360008002B52C8002B5EC8002B4D480028F804C +:10237000EBCD40E0205D1897F8F600B0F8F800BC0F +:102380005828C57059085F0958485F081248C2901C +:10239000302BEEFC00E0F01F002F314A300B1A9C6E +:1023A000F01F002D1A95EEFA00BC588AC200EEF814 +:1023B00000905808C03070785028149958895F18D8 +:1023C00058195F191069ECF8017CEEFC00E01A9ACC +:1023D0000C9B50495038F01F00212FBDE3CD80E009 +:1023E000300BEEFC00E0F01F001BCD8B30085018C6 +:1023F000301B500BECF900F0F3EB0008FBFB1A016B +:10240000EDB90001C120EEF800905808C1F0EEFCD3 +:1024100000D4580CCD10780C491BF01F0012FBFCA7 +:102420000A01EEFA00BCCC4B4018A1B85018CECB34 +:10243000300BF8FC00E0F01F000C300BEEFC00E06D +:10244000F01F000AEEF800BCC9EB3089CB8B00000E +:1024500080026178800091D08002581C8003C65CA5 +:10246000800091A0800261A48002618CEBCD40E0ED +:10247000189716951496F8F800905808C0D0704830 +:102480005808C0A1F8FC00D4580CC060780C48EB88 +:10249000F01F000EC1501AD648DA1AD5301B0E9C18 +:1024A000F01F000C300A0E9B48BCF01F000C0E9968 +:1024B0000C9B0A9C3008488AF01F00092FEDE3CDE1 +:1024C00080E000008003C65C800091A08003C960AA +:1024D00080023A1A800230588002740080027474BC +:1024E000D4211295169614941897F8F900BC5849FF +:1024F000C1C0F8FA00F4580AC10158895F08581998 +:102500005F0B104BF40B1800F9BB000AF9BB014636 +:10251000F01F0019EEFA00F4F4C8FFFFEF4800F4D2 +:10252000EEF900945809C020D822306A0C9BEECCFA +:10253000FF04F01F0012EEF800BC5828C111EEF89D +:1025400000D471585808C040EEFC00C45D180A99C8 +:10255000089A0C9BEEFC00DCF01F0009D8220A99B7 +:10256000089A0C9BEEFC00E0F01F0006FE99FFDECF +:10257000CE7B00008002246C800091DC8002C3CC02 +:10258000800261FCEBCD406C1ADA18951ADB1692CA +:102590001493301B48AAF01F000B48B6300A0A9B60 +:1025A0000C9CF01F000A0A990C9A069B049C3008A8 +:1025B000F01F00072FEDE3CD806C00008003C99071 +:1025C00080023A1A8002360080027400800274741D +:1025D000D401F01F0002D80280022584EBCD40C058 +:1025E000189E1497109CFCF800BC5888C240580BE9 +:1025F000C1A0FCCAFF64FCF600D46C585808C19016 +:102600001ADC16981AD9300BFCFC00C41ADBFD4BFF +:102610000104490E0E991ADE301B6C565D162FCD43 +:10262000E3CD80C0FCF600D448BA6C585808CE916F +:10263000E3CFC0C0585CF9B80002F9B80104580BE8 +:10264000C040FD4800B4CD6BFD4800B8482ACD4BD2 +:1026500080037E2080039C38EBCD40F8FACEFFE863 +:1026600018967C35F8F400D47C037C17685C7C2ECB +:10267000580CC0F01AD51ADE300E1AD71AD3ED4E08 +:102680000104ECFC00C468565D162FCDE3CD80F844 +:10269000E3CFC0F8D42118951694F8F70104580731 +:1026A000C020D822F8F900D472585808C4C01AD7EC +:1026B000F94701041AD70E981AD74B6A1AD70E9BFE +:1026C0007256F8FC00C40E995D16EAF900D42FCDBD +:1026D00072585808C3801AD7EB4701041AD70E98CE +:1026E0001AD74ACA1AD70E9B7256EAFC00C4301990 +:1026F0005D16EAF900D42FCD72585808C2401AD797 +:10270000EB4701041AD70E981AD74A2A1AD70E9BFC +:102710007256EAFC00C430295D16EAF900D42FCDC8 +:1027200072585808C1001AD7EB4701041AD70E98FF +:102730001AD7498A1AD70E9B7256EAFC00C4303960 +:102740005D162FCD5804C200EAFA00D47458580818 +:10275000C12030091AD91AD9EB4901041AD91298A3 +:102760001AD9129B7456EAFC00C4089A5D16EAFA5C +:1027700000D42FCD75A85808C070089B3019300AB6 +:10278000EAFC00C45D183018EB480104D8220000B0 +:1027900080039C38D421204DF8F900D41897169561 +:1027A00073885808C2C11094F8C6FFEAC1C8EEFC8D +:1027B00000C45D1B1AD4189B0E984C19E06A888ED1 +:1027C0000C9CF01F00408F2C2FFD580CC111580598 +:1027D000C140189B305CF01F003CEEF900D47388B8 +:1027E0005808C0D1737B580BCE31169CCE4BEECB24 +:1027F000FFF0F01F0036C1302FCDDC2A7378580867 +:10280000C0B0EEFC00C45D18C070189B306AEECCFE +:10281000FFF0F01F002F6E2C580CCEA1EF39007A7C +:102820003008F0091800C3A1EEF800D47048580829 +:10283000C100301BEEFC00C45D18C0B4EEF800D43B +:1028400071485808C0601A9BEEFC00C45D18C214A1 +:10285000300B0E9CF01F001FEEF800D47099580941 +:10286000C070300BEEFC00C45D19EEF800D470A807 +:102870005808C050301BEEFC00C45D183018EF48FB +:1028800000C84959300C72082FF893082FCDD82270 +:102890004038F1D8C002CDD0CB0B300848891AD8C7 +:1028A000E06A888E0E98EECBFFF0EECCFF86F01F2C +:1028B00000058F3C2FFD580CCB81C9FB800224E022 +:1028C0008002819C80028F1C800281E4800091DC68 +:1028D0008002269400007A6CEBCD40E018971695A4 +:1028E000300BF01F001DEEC6FF64306A49BB0C9C24 +:1028F000F01F001BC2E0EEF801185808C1F00C9B55 +:102900000E9CF01F00183006EEFC00DC0C9BEF461E +:1029100000B0F01F00150C9A0C9BEEFC00E0F01FBD +:1029200000130C9BEEFC00E0F01F00110C9BEEFC72 +:1029300000E0F01F0010E3CD80E0EEF800D470D886 +:102940005808CDE00A9A0C9BEEFC00C45D18CD8BB4 +:102950001896CD6B800217D0800217C88000917C3A +:10296000800226948002B9D48002581C800261E85B +:10297000800261D4D401F01F0002D802800228D85E +:10298000EBCD40C01897F8F800C45808C230303B6F +:10299000F01F003DEEF800D470495809C070300BAC +:1029A000EEFC00C45D19EEF800D470A95809C0709F +:1029B000300BEEFC00C45D19EEF800D47098580896 +:1029C000C050300BEEFC00C45D18300B0E9CF01FA5 +:1029D000002F6E2C3006F01F002E8F266E3C580CF8 +:1029E000C040F01F002B8F36EEF800E45808F9B80D +:1029F0000100EFF81A39EEFC0090580CC060F01F8F +:102A000000253008EF480090EEFC008CF01F0022FB +:102A10003006EEFC00DC0C9BEF46008CF01F001F24 +:102A2000EEFC00E0F01F001EEEFC00DCEF4600E0D4 +:102A3000F01F001CEEFC00DCF01F001BEEFC00DCB5 +:102A4000F01F001A0E9CEF4600DCF01F0019EEFC90 +:102A500000CCF01F00110E9CEF4600D0EF4600CCDA +:102A6000F01F00140E9CF01F0014EEFC00C4580C64 +:102A7000C070EEF800D470785808C0205D18E3CD1F +:102A800080C00000800228D88002269480028174D1 +:102A9000800242B4800091E88002B4CC800256ECFF +:102AA00080029438800294088002C0788002189CCA +:102AB00080021DB880021CE0EBCD4080169778099B +:102AC0001639C0F1761899080E9CF01F000A0E9C6A +:102AD000F01F0009E3CF808072180E38C060109993 +:102AE0005809CFB1E3CFC0806E189318CEEB000029 +:102AF00080022980800091E8EBCD40801897580C27 +:102B0000C051C1980E9CF01F000D6E0B580BCFB139 +:102B1000F01F000BF01F000B6E4C580CC060F01F34 +:102B2000000A6E4CF01F00096E8CF01F00080E9C0E +:102B3000F01F0006E3CD808080022AB88002724C2C +:102B40008002728480028F20800091E8EBCD40C02B +:102B50001897580CC05130060C9CE3CD80C0F01F74 +:102B60000021CFA1334CF01F00201896CF606E08D3 +:102B70006E19991899296E286E89993899996E3C21 +:102B8000580CC040F01F00198D4C6E7C580CC04092 +:102B9000F01F00168D8C6E498D59495891096E5A57 +:102BA0008D6A4948910A49486E698D7991090C9C52 +:102BB000F01F0012C11130196C988DB95808EDF949 +:102BC0001A0C6C285808CC906C185808CC606C4CC7 +:102BD000F01F000BCC200C9C3006F01F000ACBDB52 +:102BE0008002720880028F24800091940000046C9F +:102BF00000007AA400007AA0800275F880028F1E7F +:102C000080022AF8D431204D580C5F08580B5F0918 +:102C1000189316971248C05030050A9C2FCDD83211 +:102C2000E06C011CF01F00C01895CF803018F948E7 +:102C3000010CFEF102F66E22620B580BC100580225 +:102C4000E0800144E2C4FFFC3006760B049CF01FD8 +:102C500000B8C0C02FF6090B580BCF810A9CF01F9B +:102C600000B50A9CF01F00B4CD8BE2060328EB48A8 +:102C700000D46E0C580CE0800122F01F00B0EB4C29 +:102C8000008CF01F00AFEB4C0090CE906E185808EF +:102C9000C0A0785CF01F00A86E1CEAF60090F01F40 +:102CA00000A78D5C6E385808C0C0EAF8009070BC70 +:102CB000F01F00A16E3CEAF60090F01F00A08DBC52 +:102CC000EAF800905808CCB06E4C580CCC80F01F3D +:102CD000009DE04C0063FE9BFFC3EAC1FFEA364A59 +:102CE0006E4B029CF01F00986E5C580CE08100F95E +:102CF0006620340CF01F008C1897CB10FEF8024CA5 +:102D00008F78FEF8024AFEF9024A8F98FEF80248D0 +:102D10008F058F458F658F898FC83006FEF4023C82 +:102D20008F168FA4FEF202388FB2EAF900907288F3 +:102D30008FD8EAF9009072988FE8EAF9009072A8AB +:102D40008FF8F01F0088EB4C00E0E08000C20C9B85 +:102D5000F01F00850C9BEAFC00E0F01F0084EAF8FD +:102D600000D470685808E08000A7029B0A9C5D1898 +:102D7000EB4C00C4FE90FF74EAF8009070BBEAF8D8 +:102D800000D470895809C0605D19FE95FF69EAF8A2 +:102D900000D471685808C0F0EAFC00C45D181897A8 +:102DA000C0A0029BF01F0062C0600E9B364A029CCE +:102DB000F01F006534CCF01F005CFE90FF514EC840 +:102DC0004EC9991899294EC84EC9993899494EC883 +:102DD0004EC9995899694EC84EC9997899894EC873 +:102DE0004EC9999899A94EC84EC999B899D94EC853 +:102DF0004EC999C899E94EC84EC9F9440040F942F4 +:102E00000044990599F8F9490048F01F0069EB4C16 +:102E100000DCFE90FF25EB39007A3008F00918003D +:102E2000C5C1300A029BF01F0063EAF80090EAFC7B +:102E300000DC707BF01F0060EAFB00E0EAFC00DCD5 +:102E4000F01F005EEAFA009074C85808C60174D8F2 +:102E50005808C52174EA580AC080302BEAFC00DC0F +:102E6000F01F0057FE91FEFC009B0A9CF01F0055CE +:102E7000FE95FEF6EACBFFF0EAFC00DCF01F005204 +:102E80003FF8EB4800E4EAF900D473485808C0D092 +:102E90001A9BEAFC00C45D18C0814038EDB80002FE +:102EA000C0413018EB4801188B0366088B18870562 +:102EB000FE9FFEB5EB4800C4CD2A6E3B6E1CF01F92 +:102EC0000043EB4C0090CFDAF94B00D4CD3A0E9C86 +:102ED000F01F0019FE9FFEC4EACAFF86CA4BF01F0E +:102EE000001958FCFE9BFEBC6E5B310AEACCFF86E3 +:102EF000F01F0015CFEA109A301BEAFC00DCF01F2F +:102F00000030FE91FEADEAFA0090CA5B109A300BD9 +:102F1000EAFC00DCF01F002AFE91FEA2EAFA009013 +:102F2000C97B000080028F2400000470800091A003 +:102F300080022980800091E88000919480021348EB +:102F4000800091B8800091AC80021D60800225DC79 +:102F500080021BB8800218C8800218E8800218D8C6 +:102F60008002609C800261E8800261D48002184483 +:102F700080021850800225D0800229748002304CD3 +:102F8000800226588002360080021A3C80021928EE +:102F900080021CA880021F0480021BA480021D5412 +:102FA0008002186E80021884800218568002C0DCED +:102FB0008002B4C08002B4B88002B4CC8002B4D421 +:102FC000800227948002B90480023B4CEBCD40E0A4 +:102FD000306A18971695F8C6FF64497B0C9CF01F61 +:102FE0000017C270EEF801185808C1800C9B0E9CA7 +:102FF000F01F00130E9CF01F00133006EEFC00DCE7 +:103000000C9BEF4600B0F01F00100C9A0C9BEEFCDE +:1030100000E0F01F000EE3CD80E0EEF800D470E891 +:103020005808CE500A9A0C9BEEFC00C45D18CDFBEC +:103030001896CDDB800217C88000917C8002269410 +:10304000800276648002B9D48002581CD401F01F3B +:103050000002D80280022FCCEBCD40C0499BF8C7BC +:10306000FF641896306A0E9CF01F0017EDFB189C49 +:10307000E06800A2EDD8E007EDFB08A20FD81AD84F +:103080000FC91AD90FB81AD80FA91AD90F9848FA28 +:103090001AD80C9C1ADB302BF01F000D0E9B0C9CD9 +:1030A000F01F000CECFC00DCF01F000B303B0C9C14 +:1030B000F01F000A30182FADED4800A8E3CD80C006 +:1030C000800217C88000917C8003C9B880023A1A38 +:1030D00080021AE08002BA1C80022FCCD431FACDD3 +:1030E00000D03007F94700A8189516941491580B92 +:1030F000E0800217F6F60084E8CCFFFA76ABF01F0A +:10310000012A1AD61ADC09D81AD809C91AD909B855 +:103110001AD809A91AD909981AD809890A9C1AD95A +:10312000FEFA0488302BF01F01220E9B306A2F8D8F +:10313000EACCFF64F01F011F306A089BEACCFF5EF7 +:10314000F01F011D0A9CF01F011D300AEAFC00DC83 +:10315000149BF01F011B635AEDBA0003C061E2F833 +:1031600001745808E08100B1301063795809C0E05B +:10317000E1D9C0011298EDB90001E08000A4EDB9D9 +:103180000002F9B80004E1D8E030EAF800D4710890 +:103190005808C060009BEAFC00C45D18635A5804DC +:1031A000C07069585808C5A0F1DAC002C6E114978A +:1031B000E2170013C5B1029B0A9CF01F0102FAC876 +:1031C000FF9453375028089B0A9CF01F00FFEAF831 +:1031D00000B45828E08001BAE089007F5818E080E8 +:1031E000017130285038EAF800B85828C7F058283C +:1031F000E08900805818E080016230285048EAF9E0 +:1032000000BC58495F0B58895F08F7E81008C78071 +:10321000E2C9FECCE2C8FF0C16963007EC1600019E +:103220005019500812931092505766095809E081BE +:1032300001122FF72FC32F025847CF81EAF900BCA4 +:103240005889C671E2F800F04059F1D8C002F3E89D +:103250001008E08101311096C5F8E8F800805808A0 +:10326000CA70F1DAC002CA40C1083509FAC8FF3095 +:1032700010D9029AFAC9FF94300B50290A9CF01F0A +:1032800000D3CA202CCDD832E2F801485808E0819A +:10329000010FEAF900B0089A300BEAFC00DCF01FDD +:1032A00000CCE080017A3509FAC8FF3010D9029AC3 +:1032B000FAC9FF94089B50290A9CF01F00C4C8401B +:1032C000CE2BA1B0C5DBE2F801785808F9B00004B4 +:1032D000F9B00105C4BB5848C8605908C831303935 +:1032E0005039EAF800B85828C83130195049C88B0D +:1032F0005848C8505908C82130395049C81B3008AF +:103300005058E2C8FECC30165018E2C8FF0C5008E6 +:103310005909E080011FEAF800D470A85808C0508D +:103320000C9BEAFC00C45D18303B0A9CF01F00A90E +:10333000354AFAC7FFE8300B0E9CF01F009E580478 +:10334000E0800126E8F8008450645098E8C8FFFA4D +:10335000507868A95089E2FA0184581AE080009EEA +:103360004029403850A950C84049433850D950B836 +:10337000EAF800BC5848E08000E7E0890088581867 +:10338000E08000A43018510A4014400350E850F087 +:10339000FACAFFAC0899069BFACCFF9C7208580841 +:1033A000C040F54BFFF0720814A82FC92F0B183A34 +:1033B000CF61E2F801445198EAF601185806E0801E +:1033C0000089FEFA0212302B0A9CF01F0079301996 +:1033D000EAF800BC5908E080008F5809E0800098A6 +:1033E000305B300A0A9CF01F007D40585808C1C06D +:1033F000EAF800D471485808C170FACBFF44EAFCDF +:1034000000C45D18C1114328EDB80001C0D1189760 +:103410004F30189268095809E08100A12FF72FC496 +:103420002F035847CF81EAF800B05808C070103118 +:10343000C050EAFC00E0F01F006BEAFC00DC029BDD +:10344000EB4100B0F01F00680A9CF01F00682CCD13 +:10345000D832EAFB00D4E2FA014476585808C13069 +:103460001AD91AD23009EB4901041AD94DC90E3ABA +:103470005F081AD94DEA76560E99301BEAFC00C453 +:103480005D162FCD30165056CD5A5888C2005908B7 +:10349000FE91FF7A3048C78BE2F901A45809FE9AE1 +:1034A000FF6140985808FBF90A09C5BB6368F1D869 +:1034B000C021CF0A50375047C2FB30085048CA0AD3 +:1034C00030085038FE9FFE913008C5EB3038C5CB30 +:1034D000EAF800D470F85808FE90FF750E9BEAFCDD +:1034E00000C45D18FE95FF6F0C99EAF800BC5908FE +:1034F000FE91FF75029B0A9CF01F003E0A9CF01F84 +:10350000003E307B0A9CF01F0033C70BEAF80090A6 +:1035100070495819F9BB000AF9BB013CC63B745B02 +:10352000744CF01F00214B5A1ADC302B0A9CF01F00 +:103530000020306A089BEACCFF5EF01F001E2FFDC2 +:10354000FE9FFE023028C20B30195039FE9FFE4DFF +:10355000029B0A9CF01F0027CDFAEAFB00D4E2FA96 +:10356000014476585808FE90FF5B1AD91AD3EB42F3 +:1035700001041AD20E3A5F081AD00E99765649CA3B +:10358000301BEAFC00C45D162FCDC49B6248507806 +:1035900062595089CE1A301BEAFC00E0F01F001877 +:1035A000FE9FFE8380023A1C8003C9F880023A1A0B +:1035B000800091D0800091DC80021DB88002B5ECC3 +:1035C000800222A48002269480021F308002938011 +:1035D000800217D08003CA6C8002246C80037E2096 +:1035E000800257488002B9D48002237080039C383F +:1035F00080021A4880021CE08003CA488002559667 +:10360000EBCD40C021AD1897F8F800AC5808C68142 +:10361000F8F6010CEEFB009076095809C061C8F875 +:1036200072095809E080008CF2F801945808CF9193 +:103630003008EF48010C76495809C670EEFC00D4FA +:10364000580CC0E04DAB780CF01F005AEFF8002486 +:10365000F1FC0A04EEFB009076485808C560EEF8CD +:1036600000E85818E088008D760AEEF800C858186F +:10367000C3F0580AC090103AC041C3981438C370C0 +:10368000740A580ACFC15826C04076485828C690B8 +:10369000580AEFFA1A32F9B80001EFF80A32EEF9D7 +:1036A00001105809C04176485818C710EEF80118A3 +:1036B0005808C4F1580AF40B1700F60A1700F5FB76 +:1036C0001004F5FA1005EEF800D470B85808C410CC +:1036D000EEFC00C45D18C3D12E6DE3CD80C0F8F6BA +:1036E000010C5806C9812E6DE3CD80C0740A580ABA +:1036F000CCB0F4F801945808CFA175885808CC4193 +:1037000076485828CF41CC0B0E9CF01F002BCE5092 +:10371000EEF800B05808EFFC0A2C0E9CF01F0027B2 +:10372000300B1A9C368AF01F00261A961A9A0E9CA5 +:10373000300BF01F00242E6DE3CD80C05806FE91A3 +:10374000FF790E9C301BF01F00202E6DE3CD80C052 +:103750000E9C300A30ABF01F001D2E6DE3CD80C0F3 +:10376000580AC1D074085808EFFA1A32F9B80001A3 +:10377000EFF80A320E9C300BF01F0015CAEB302B0D +:103780000E9CF01F0011EEFB0090C6FBEF480110ED +:10379000129A0E9C303BF01F000BC9FB30180E9C98 +:1037A000EF4800C8149BF01F0009C97B8003C65C6A +:1037B000800091A08002195C80022370800091D06B +:1037C0008002792C800217D080022584800230DCB0 +:1037D0004848300A48499118910A930A5EFF000050 +:1037E00000007A7000007A78EBCD40681695189347 +:1037F000F6CCFFEDF01F0022314A1896300BF01F77 +:1038000000210A9A8D15ECCCFFF0069BF01F001EDC +:1038100049EAF5090042AC09F50800422FF8F558CD +:10382000004249B530088D286A198D3993062F86D4 +:103830008B1649866C08F0C9FFFF8D095909E0888D +:1038400000180A936A0C782A580AF9F80003E7F876 +:103850000A01F9F81003F5F81A0320197838910ACB +:103860008D09F01F000D6C095909FE9BFFED300A10 +:10387000326C149BF01F0009E3CF90688000920027 +:10388000800091D0800091DC000087F400007A7005 +:1038900000007A78800091E880014658EBCD40E046 +:1038A00030961697305E300B33A51989F2C8003078 +:1038B000EC081800E08B0019F2CA0030580AC2C5A3 +:1038C0001999F2C80030EC081800E08B0017F2C814 +:1038D00000305808C215F1EA1048EE0B0B08585B8F +:1038E000C291E3CF80E0F2C80061FC081800E08BD1 +:1038F000000EF2CA0057CE3BF2C80061FC08180067 +:10390000E08B000DF2C80057CE5BF2C80041FC0806 +:103910001800E088000DE3CFC0E0F2C80041FC08C9 +:103920001800FE9BFFFAF2C80037CD4BF2CA0037F1 +:10393000CC6B19A8EA081800CEF12FFB586BCD20EC +:103940002FDCCB4BEBCD40E016961497580AC4C041 +:10395000300B3095305EC1B8F2CA0030580AC365EA +:103960001999F2C80030EA081800E08B0021F2C86B +:1039700000305808C2B5F1EA10485808C275EC0B7F +:103980000B082FFB1637E08800302FEC1989F2C89E +:103990000030EA081800FE98FFE1F2C80061FC0858 +:1039A0001800E08B000EF2CA0057CD9BF2C80061F0 +:1039B000FC081800E08B000DF2C80057CDBBF2C820 +:1039C0000041FC081800E088000DE3CFC0E0F2C819 +:1039D0000041FC081800FE9BFFFAF2C80037CCAB90 +:1039E000F2CA0037CBCBE3CF80E0F6CA00015E6CB1 +:1039F000F80A000913882FF85C58B2885E1CF6C8D4 +:103A00000002100CC08819882FF85C58B888201C58 +:103A100058085E1C201ACF875EFC5EFCEBCD40C0D0 +:103A200049071696189BE0460020F9B60B200E9C1D +:103A30000C9AF01F000D3008EE060B080F8858088E +:103A4000C0D00E9C35E935FA2208F2081800F9FAC0 +:103A5000BE002FFC19885808CF81482CE3CD80C0C8 +:103A600000007A7C800091DCEBCD40FE189114922E +:103A7000169C1293580BC2A0E20B00045809C20016 +:103A800002973006C0881835E08A001418070C33F6 +:103A9000E0880018E4060708E80701051AD80E9C1C +:103AA00048CA0A9B2FF6F01F000C2FFD580CCEC4FD +:103AB0003008EE01010CE968FFFFE3CD80FE0297BC +:103AC0003008EE01010CE968FFFFE3CD80FE000045 +:103AD0008003DA3080009148580CC140F8FC00D0D7 +:103AE000580CC1002FCCF8F8FFFC5808C0417809E9 +:103AF0005809C0901638C0302F8CCF6B7808143816 +:103B0000CFC15EFF5EF9780C580C5E0C7828163831 +:103B1000C0515EFC782816385E0C780C580CCFB17A +:103B20005EFC30383189F94800F0F9480058F9480E +:103B3000005431E8F949004CF94800503FF9E06879 +:103B40000576F949017CF948019C5EFCEBCD40E02B +:103B500018961695344CF01F000C1897C1103018A9 +:103B60009978993899485806C0500C9CF01F000766 +:103B70008F5C5805C0500A9CF01F00048FBC0E9C3F +:103B8000E3CD80E080028F2480009194EBCD40C093 +:103B9000169679075807C051C0C86E375807C090AD +:103BA0006E0C0C9BF01F0004CF910E9CE3CD80C0E7 +:103BB000E3CF80C0800091A0EBCD40FC1695189417 +:103BC000580C5F0B58055F081493104B1292C040BD +:103BD0003FFCE3CD80FC580ACFC048E73006C06800 +:103BE0002FF62E07E0460038CF406E0B0A9CF01FE0 +:103BF000000ACF710699049A089B0E9C6E185D18F6 +:103C0000F9BC01FFF9BC0000E0460038CE31CE1B04 +:103C10008003CC00800091A0EBCD40801897580C19 +:103C2000C0A0780CF01F00056E1CF01F00040E9C55 +:103C3000F01F0002E3CD8080800091E8D421189429 +:103C4000169579075807C1A03006C0680E966E3CDD +:103C5000580CC14018970A9B6E0CF01F0009CF71D9 +:103C60005806EFF81003EDF81A03EFF80003E9F82F +:103C70000A100E9CF01F0003D82ADC2A800091A0B5 +:103C800080023C18EBCD406016961895760BF01F1D +:103C900000056B088D38EB460040E3CD80600000E6 +:103CA00080023C3CD431202D500B129CF01F003C74 +:103CB0001890C730198A580AC670300118965011EA +:103CC000320230930294C0382FF60D8AE40A1800AD +:103CD0005F08E60A18005F091248E8081800CF518B +:103CE000580AC2C00D87E40718005F18E6071800DD +:103CF0005F191268E8081800C4505807C4300C95C2 +:103D0000C0385807C0D02FF50B87E40718005F189C +:103D1000E60718005F191268E8081800CF31AA8476 +:103D20004A0B0C9CF01F0020C171A1A15807C06074 +:103D3000EAC6FFFF0D8A580ACCA1009CF01F001BA9 +:103D40005801C2404008F141005C40195809C25175 +:103D5000129C2FEDD832496B0C9CF01F0013C03120 +:103D6000A1B1CE5B0C9C493BF01F000FF9B80004D9 +:103D7000E3D8E031FBF91001F7B901FFFBF91A01B3 +:103D8000CD6B0C95CCDBF01F0009300840093FFCDF +:103D9000F348005C2FEDD8322FEDDC3A800091948F +:103DA0008003D304800091A0800091E88003D30CAD +:103DB0008003D314EBCD40FE169CF01F00451891F4 +:103DC000C6B0198A580AC7A0189630023203309438 +:103DD000E80A18005F08E60A18005F091049300871 +:103DE000F0091800C0E0109B2FF60D8AE60A1800B3 +:103DF0005F08E80A18005F091248F6081800CF515A +:103E0000580AC4500D87E80718005F18E607180025 +:103E10005F1910693008F0091800C3705807C350C3 +:103E2000109A0C95C0385807C0D02FF50B87E607BD +:103E300018005F18E80718005F191268F4081800E6 +:103E4000CF3130084A3BAA880C9CF01F0023C0F1F8 +:103E5000A5A25807C060EAC6FFFF0D8A580ACB9199 +:103E6000029CF01F001E049CE3CD80FE49CB0C9CFD +:103E7000F01F0019C031A3B2CEDB49AB0C9CF01F80 +:103E80000016C0E1A3A2CE6B0C95CDCB029CF01F17 +:103E900000135802CE913FF2049CE3CD80FE492BE3 +:103EA0000C9CF01F000DC031A1B2CD4B0C9C48FB07 +:103EB000F01F0009C071A1A2CCDBF01F00083FF287 +:103EC000CD3B029C3FF2F01F0005CCEB80009194AB +:103ED00080039A74800091A0800091E880039A6C1E +:103EE0008003D31C8003D3248003C8E4EBCD40803F +:103EF0001697149C129BF01F00085BFCC031E3CFA7 +:103F0000C0801898E018FFE1CFB1EF4C0050109C32 +:103F1000E3CD808080023DB4EBCD40801697149CA9 +:103F2000129BF01F00085BFCC031E3CFC0801898E3 +:103F3000E018FFE6CFB1EF4C004C109CE3CD808041 +:103F400080023DB4D431201D500B129CF01F00485C +:103F50001891E080007F198A580AC6B0300218967E +:103F6000049032033094E80A18005F08E60A18004B +:103F70005F0910493008F0091800C0E0109B2FF6C7 +:103F80000D8AE60A18005F08E80A18005F0912485F +:103F9000F6081800CF51580AC2F00D87E80718003C +:103FA0005F18E60718005F1910693008F00918005B +:103FB000C3E05807C3C0109A0C95C0385807C0D04A +:103FC0002FF50B87E60718005F18E80718005F1940 +:103FD0001268F4081800CF3130084A6BAA880C9C8C +:103FE000F01F0025C161A1B25807C060EAC6FFFFFB +:103FF0000D8A580ACB91029CF01F00205802C1B0D4 +:104000004009F34200545800C241009C2FFDD832B1 +:1040100049BB0C9CF01F0018C031A1A2CE6B499B7C +:104020000C9CF01F0015C0E1A3B2CDFB0C95CD5B3D +:10403000F01F0012300840093FFCF34800542FFDE8 +:10404000D832491B0C9CF01F000CC051A3A2CCDB42 +:104050002FFDDC3A0C9C48DBF01F0007F9B800107C +:10406000E5D8E032F7B001FFCC0B0000800091945E +:104070008003C8C4800091A0800091E88003D32C05 +:104080008003D3348003C8E48003C8E0D431202DFA +:10409000500B129CF01F00391890C6D0198A580A8C +:1040A000C610300118955011320230930294C03876 +:1040B0002FF50B8AE40A18005F08E60A18005F096A +:1040C0001248E8081800CF51580AC2C00B87E4070D +:1040D00018005F18E60718005F191268E808180052 +:1040E000C3F05807C3D00A96C0385807C0D02FF67F +:1040F0000D87E40718005F18E60718005F191268BB +:10410000E8081800CF31AC8449DB0A9CF01F001D81 +:10411000C171A1A15807C060ECC5FFFF0B8A580A06 +:10412000CCA1009CF01F00185801C1E04008F141EB +:10413000005840195809C1F1129C2FEDD832493B63 +:104140000A9CF01F0010C031A1B1CE5B0A9C490B44 +:10415000F01F000CCFA040192FF95019CDCB0A96B3 +:10416000CD3BF01F0009300840093FFCF3480058E0 +:104170002FEDD8322FEDDC3A800091948003D340AC +:10418000800091A0800091E88003D3448003D3484D +:10419000EBCD40401896784CF01F00466D2CF01F78 +:1041A0000045ECFC00D0F01F00436DACF01F004157 +:1041B0006DCCF01F00406DECF01F003EECFC008069 +:1041C000F01F003CECFC0088F01F003AECFC009073 +:1041D000F01F0038ECFC0094F01F0036ECFC009857 +:1041E000F01F0034ECFC009CF01F0032ECFC00A03F +:1041F000F01F0030ECFC00A4F01F002EECFC00A827 +:10420000F01F002CECFC00ACF01F002AECFC00B00E +:10421000F01F0028ECFC00B4F01F0026ECFC00B8F6 +:10422000F01F0024ECFC00BCF01F0022ECFC00C0DE +:10423000F01F0020ECFC00C4F01F001EECFC00C8C6 +:10424000F01F001CECFC00CCF01F001AECFC00D4AA +:10425000F01F0018ECFC00D8F01F0016ECFC00DC8E +:10426000F01F0014ECFC00E0F01F0012ECFC00E872 +:10427000F01F0010ECFC00ECF01F000EECFC0150F5 +:10428000F01F000CECFC016CF01F000AECFC01803C +:10429000F01F0008ECFC018CF01F0006ECFC01A0F4 +:1042A000F01F00040C9CF01F0003E3CD80400000D1 +:1042B000800091E8EBCD40C0189678085808C031CE +:1042C000C0880E987007109CF01F00155807CFA1EA +:1042D0006D085808C031C0880E987037109CF01FC8 +:1042E00000115807CFA16C5CF01F000F6C6CF01F21 +:1042F000000E6C8CF01F000C6C9CF01F000B6CAC63 +:10430000F01F00096CBCF01F00086C1CF01F0006B9 +:104310000C9CF01F0005E3CD80C00000800241909E +:1043200080023C18800091E8EBCD4040320818969E +:104330001AD8E0691000F8C8FFDC785A784B792C5D +:10434000F01F000430182FFDED480044E3CD8040FD +:104350008002B254D421F60815011695F0C6FFFF6D +:1043600018940C9CF01F00061897C0600A99089AD0 +:104370000C9BF01F00040E9CD822000080028F24AA +:1043800080023A68EBCD40E016951896F6CCFFFD1A +:10439000F01F00091897C0C00C9B0A9A322618C655 +:1043A000F01F0006EE0500093008B296B2A80E9C78 +:1043B000E3CD80E080009200800091DCD401580CB5 +:1043C000C1D0580BC160198835E92208F2081800DD +:1043D000E08B0013129A3009C088F80907082208F8 +:1043E000F4081800E08B00092FF9123BFE9BFFF741 +:1043F000F01F0003D802F01F0003D802800243849C +:1044000080024354D4011698F6FC0140580CC06059 +:10441000189BF0CCFEDCF01F0002D802800243BCE7 +:10442000D4011698F6FC013C580CC060189BF0CCE7 +:10443000FEECF01F0002D802800243BCD4011698A3 +:10444000F6FC0138580CC060189BF0CCFEFCF01F45 +:104450000002D802800243BCD4011698F6FC013455 +:10446000580CC060189BF0CCFF0CF01F0002D80263 +:10447000800243BCEBCD40F831EC1694F01F0028CD +:104480001896C3906979F8C3FFE2EDB90000C360E4 +:104490001897EDB90001C1614A294A380C37F20872 +:1044A0001710E60701051AD84A0A0A9B0E9CF01F4E +:1044B00000202FFD580CC1C51835E08A001A1807D6 +:1044C0006979EDB90002C171496949780C37F20880 +:1044D00017100E9C1AD8E6070107496A0E9BF01FB9 +:1044E00000142FFD580CC0451837E089000530082E +:1044F000E768FFFF0C9CE3CD80F848B848EA1AD87B +:1045000031EBF01F000B2FFD580CCF2559DCFE9925 +:10451000FFF0EC0C00076979CBDB000080028F24F0 +:104520008003936480037E208003D35880009148E9 +:104530008003D3648003D350EBCD40F81894332C20 +:10454000F01F003E1896C650F8C3FFCEEDB400042D +:10455000C6301897EDB40003C1514B994B980C37F6 +:10456000F2081710E60701051AD84B7A0A9B0E9C31 +:10457000F01F00362FFD580CC4951835E08A00470F +:104580001807EDB40002C1514AD94AE80C37F208C5 +:104590001710E60701051AD84ADA0A9B0E9CF01F8D +:1045A000002B2FFD580CC3251835E08A0030180762 +:1045B000EDB40001C1514A294A280C37F2081710FE +:1045C000E60701051AD84A3A0A9B0E9CF01F001F05 +:1045D0002FFD580CC1B51835E08A00191807EDB445 +:1045E0000000C171496949780C37F20817100E9C18 +:1045F0001AD8E6070107498A0E9BF01F00142FFD09 +:10460000580CC0451837E08900053008E768FFFFFF +:104610000C9CE3CD80F848B8490A1AD8332BF01F18 +:10462000000B2FFD580CCF25E04C0031FE99FFEF19 +:10463000EC0C0007C90B000080028F2480039364F8 +:1046400080037E208003D374800091488003D37C54 +:104650008003D3888003D3908003D36CD401774C3C +:10466000F01F0002D802000080024538D401773CD8 +:10467000F01F0002D802000080024538EBCD40F860 +:10468000332C1693F01F00401896C6906759F8C453 +:10469000FFCEEDB90001C6601897EDB90000C16109 +:1046A0004BA94BB80C37F2081710E80701051AD8C8 +:1046B0004B8A0A9B0E9CF01F00382FFD580CC4C576 +:1046C0001835E08A004A18076759EDB90003C1613F +:1046D0004AE94AF80C37F2081710E80701051AD81A +:1046E0004AEA0A9B0E9CF01F002C2FFD580CC34574 +:1046F0001835E08A003218076759EDB90002C16128 +:104700004A294A380C37F2081710E80701051AD869 +:104710004A3A0A9B0E9CF01F00202FFD580CC1C581 +:104720001835E08A001A18076759EDB90004C171FD +:10473000496949780C37F20817100E9C1AD8E80717 +:104740000107498A0E9BF01F00142FFD580CC0452D +:104750001837E08900053008E968FFFF0C9CE3CDBD +:1047600080F848B8490A1AD8332BF01F000B2FFDE8 +:10477000580CCF25E04C0031FE99FFEFEC0C000700 +:104780006759C8CB80028F248003936480037E2006 +:104790008003D3A4800091488003D3B08003D390DA +:1047A0008003D3BC8003D398EBCD40C030AC1696C9 +:1047B000F01F00181897C1806D69EDB90000C17035 +:1047C000189A301BEDB90001C0F149384939580B2E +:1047D000F0091700149C1AD9EECBFFF6141B490AF6 +:1047E000F01F00102FFD0E9CE3CD80C048B848EAB2 +:1047F0001AD830ABF01F000B2FFD580CCF55589C2A +:10480000FE99FFF3EE0C000A6D69300BCDCB000072 +:1048100080028F248003936480037E208003D3D0A2 +:10482000800091488003D3C8EBCD40C01697768CAA +:10483000580CC05118960C9CE3CD80C0314CF01F31 +:1048400000101896CF90EF38001DEF3A00181AD8D4 +:10485000EF39001C1AD9EF38001B1AD8EF39001AAB +:104860001AD9EF380019314B1AD81ADA485AF01F02 +:10487000000630082FADED680013CDEB80009200EC +:104880008003DA4880009148EBCD40E078351696F9 +:10489000314CF01F000A1897C0C0EC050308488A85 +:1048A0001AD8314BF01F000730082FFDEF680013B6 +:1048B0000E9CE3CD80E00000800092008003DD6864 +:1048C00080009148EBCD40801697772C580CC09013 +:1048D000F01F0009189B6F2CF01F0008E3CD8080AB +:1048E000771C580CC060F6CCFFDC320BF01F0004C4 +:1048F000E3CD8080800091B88002438480024354DD +:10490000EBCD40807838F60800076E085808C0C024 +:10491000784C580CC0C0F60C030C189B109CF01F70 +:104920000007E3CD8080109CE3CD8080109CF01FB9 +:1049300000046E08CF3B0000800243BC800091B8A9 +:10494000EBCD40F83228169418961989F009180012 +:10495000C0A0F01F001BEBDCC001C19030070E9C13 +:10496000E3CD80F8F8C7FFFF322B0E9CF01F001537 +:10497000CF6019985808CF31B8880E9CF01F0010EE +:10498000890C0E9CF01F00101897CEABF80316018F +:10499000E6CCFFFFF01F000D1897CE200C9C069A66 +:1049A0000E9BF01F000BC051EE030B0C8903CD8B47 +:1049B0000E9C0A97F01F0007CD3B0000800091B8C5 +:1049C00080009158800091948000920080023944C8 +:1049D000800091E8D421205D18951094129C1696C1 +:1049E000F01F000F1897C1906C0A590AE08B001451 +:1049F000189B0A9CF01F000B0E9CF01F000B48BA7E +:104A00001AD4314BFACCFFFCF01F0009300C2FFDFB +:104A10002FBDD822F01F00042FBDDC2A80024940A0 +:104A2000800091DC800091E88003D3D88000914819 +:104A3000D4013038F6CCFEDCF6CBFEC0F01F00020D +:104A4000D8020000800249D4D4013028F6CCFEEC14 +:104A5000F6CBFEC4F01F0002D8020000800249D449 +:104A6000D4013018F6CCFEFCF6CBFEC8F01F0002D5 +:104A7000D8020000800249D4D4013008F6CCFF0CE3 +:104A8000F6CBFECCF01F0002D8020000800249D411 +:104A9000EBCD40F8201D18971693129C1A9BF01F1F +:104AA00000171895C2306E595809C0504008103987 +:104AB000E08B00206E695809C04040081039C133AE +:104AC0006E366E44E60600066C0CF01F000D8D0578 +:104AD0006E4C580CC0504008300CE60409082FFDFD +:104AE000E3CD80F80A9CF01F00062FFDE3CFC0F84D +:104AF000F01F00033FFCCF4B80024940800091E84B +:104B0000EBCD40FEF6F700D05807C0510E94089C3C +:104B1000E3CD80FE364CF01F00191894CF90EEC6FE +:104B2000FFFCF8C3FF9C189749514962ECFCFFFC5D +:104B3000580CC2116C0B580BC1A02F86F01F00122D +:104B4000CF600837E2081700E40817101ADCE60700 +:104B500001051AD80E9C48DA0A9BF01F000D2FEDB4 +:104B60001807580CC0451835FE99FFE23008E76871 +:104B7000FFFFCCEB6C0BCE2B80028F2480037E20BA +:104B800080039364800271BC8003D3E48000914869 +:104B9000D431205D500B129CF01F0056502CE08049 +:104BA000008E198A580AE080009B3009402650196F +:104BB000503912905049320230931294C0382FF677 +:104BC0000D8AE40A18005F08E60A18005F09124817 +:104BD000E8081800CF51580AC4E00D87E407180010 +:104BE0005F18E60718005F191268E8081800C64049 +:104BF0005807C6200C95C0385807C0D02FF50B8732 +:104C0000E40718005F18E60718005F191268E80843 +:104C10001800CF31AA842FF0403CE00B1503F01FA1 +:104C200000361891C4E040490C9CE20900060C9B38 +:104C3000F01F00328D1C6C085808C141580CC1018E +:104C400040182FF850185807C15040482F88504836 +:104C5000EAC6FFFF0D8A580AC3C05031CB3B591C2E +:104C6000C2404009F2F801782FF8F348017858075C +:104C7000CED15031E0C8FFFFF0071503402CF01FE4 +:104C800000200E9B403CF01F001CC2E0F8000039E1 +:104C90003008931893084008F14C00D04019580987 +:104CA000C0D1129C2FBDD8324009F2F801742FF800 +:104CB000F3480174CC9B0C95CAEB3FFC2FBDD83256 +:104CC000403CF01F000F402CF01F000D2FBDDC3AC0 +:104CD000E0C8FFFF5031F0071503CD1B501A308795 +:104CE000503A1490CCCB403CF01F00053FFCCE7BEB +:104CF00080009194800091F48002720C800091E811 +:104D0000D4213228129716951389F0091800C0A0F3 +:104D1000320A2DCB0E9CF01F00271896C2F03FFCE4 +:104D2000D822EEC6FFFF322B0C9CF01F0023C3C01D +:104D3000F8060107EEC80008E0480037FE9BFFF1C7 +:104D40006B2C580CC060F01F001D0E3CC2606B2C19 +:104D50003004EB440044F01F001AEECCFFFFF01FBC +:104D60000019EB4C0048CDC00C9B0E9AF01F0016AA +:104D70006B28089CF0070B04D822EF390040F80993 +:104D80001800CCE16B2CF01F000E3018EB460048E9 +:104D90000C9CEB480044D8220E9A0C9B6B2CF01F05 +:104DA000000BCD61CBEB0C9CF01F00041897CC3BA3 +:104DB0008002394480009158800091B8800091E8C9 +:104DC00080009200800091DC8000917CEBCD4080DF +:104DD0001697129C2E8BF01F0006F9BC01FFF9B844 +:104DE0000001EFF80A08E3CD808000008002389CC3 +:104DF000EBCD40C018976E38129CF00B000630AA1D +:104E0000300BF01F000C8D0C18996E585808C030EC +:104E1000103CC0956E6C580CC0401839E0890007F2 +:104E2000E3CF80C08D08E3CFC0C08D0CE3CFC0C0FE +:104E300080009170D42116941895782B580BE08A35 +:104E400000557817683E6E0C78381C38C410EECACE +:104E5000FFFC3009C058150C78381C38C3902FF966 +:104E60001639CFA52FFB0E9CA36BF01F00241896BC +:104E7000C3506A2C580CE08A003B6C08683E7039BD +:104E80001C39C355ECC8FFFC300AC0A81097700845 +:104E9000F40B15027039EEC8FFFC1C39C2052FFA5D +:104EA000143CFE99FFF5F4C8FFFFEC0A002BA36841 +:104EB0001697F80A010AEC08000CA36AF01F00100C +:104EC0008F048B166A28300C2FF88B28D82218985C +:104ED000781C580CCFD19114D822DC2AF4C8FFFFDB +:104EE000EC0B000BA368CE6B7817CBDB0C97300A6A +:104EF00030480C9BCDFB0000800091F4800091C4F1 +:104F0000D4211895781CF01F000D300C8B1C8B2CB5 +:104F10006A075807C0F0189618948F140E9B0A9CC5 +:104F2000F01F00076E07F9B605FF5807CF710C9CFC +:104F3000D8220E96CFDB0000800091E880024E342C +:104F4000D421189578095809C1E03FFAC028109972 +:104F50007228F4080C4A72085808CFA1F4C4FFFF65 +:104F60001296E06C01A8F01F000A1897C0A09924BF +:104F70005806EDFC1A00EBFC0A000A9CF01F000525 +:104F80000E9CD82212961294CEDB000080028F2451 +:104F900080024F005EFD5EFD5EFD5EFD5EFD5EFD1E +:104FA000D401584BC0E0E0880007586BC0A0587B84 +:104FB000C040D802580BC091300CF01F0005D80239 +:104FC000301CF01F0003D802D80200008002172016 +:104FD000D401581BC070300A323C149BF01F0005EE +:104FE000D80A300A322C149BF01F0002D80A0000A5 +:104FF00080014658EBCD40FE201D1094129216956C +:10500000F01F0057E8C8FFF25C7C4D69F00C000609 +:10501000F33A0109580AC060EC0A0D085809E0810A +:10502000008F3003500CE6060001029CF01F004E7A +:105030000A9B1897306A400CEE0C000CF01F004BD6 +:10504000400C306A4CAB140CEE0C000CF01F004707 +:10505000400C302A4C7B2F4CEE0C000CF01F004310 +:10506000400C089A049B2F2CEE0C000CF01F003F04 +:10507000FAC8FFFC3005114A0E991AD5EE0A000C49 +:105080001AD5EC0A010A30EBF01F003B2FED581C3B +:10509000C5914009EC090108E048003EE08B001092 +:1050A0008E085CC806085CC8AED3029B0E9CAE0896 +:1050B000F01F0032300C2FFDE3CD80FEEE09000E14 +:1050C0003888FD39000CF0091800CEB1FD39000D0B +:1050D00038E8F0091800CE51FD38000EF808180025 +:1050E000CE01FD39000F3038F0091800CDA130286D +:1050F000FD3A0012F00A18005F1B3FE8F00A1800A2 +:105100005F19126BEA0B1800CCC1FD380013E218CE +:10511000001D5818CC61FD380014E21800C85888EA +:10512000CC01FCCAFFC1FCC9FFE1C0482FF914390A +:10513000C0E01388F6081800CFA0CB3BF4090103A8 +:10514000C72B0E9CF01F000E3FFCCB6B0FC92FA985 +:10515000EE0900091388A3A8B288CA3B8001F4E8CD +:10516000000087F480009200800091DC00007AA8A3 +:105170008003D6548001F54480014664800091E8A4 +:10518000D401201D3068FACBFFFC16D81A9B486C5E +:10519000F01F00064848581CF00C1700F9BC01002D +:1051A0002FFDD80200007AA880017A88EBCD40401C +:1051B000310A1696300B0C9CF01F000630F930783F +:1051C0008D198D09300C30398D288D39E3CD804013 +:1051D000800091D0D401F01F0002D80A80016048FD +:1051E000EBCD4068206DFAC3FFEE1496069C306A42 +:1051F000F01F0010FAC5FFFE0C9B310A0A9CF01F3D +:10520000000D0A9B204D310A1A9CF01F000B069BD3 +:10521000202D306A1A9CF01F0008F01F00082FADE7 +:10522000581CF9BC01FFF9BC00002FADE3CD80682C +:10523000800091DC8002E73680016094EBCD40680D +:10524000206DFAC3FFEE1496069C306AF01F001022 +:10525000FAC5FFFE0C9B310A0A9CF01F000D0A9B49 +:10526000204D310A1A9CF01F000B069B202D306A3E +:105270001A9CF01F0008F01F00082FAD581CF9BC45 +:1052800001FFF9BC00002FADE3CD8068800091DC08 +:105290008002E73680016168D401F01F0005581CC8 +:1052A000F9BC01FFF9BC0000D80200008001F370D6 +:1052B000D401F01F0005581CF9BC01FFF9BC000027 +:1052C000D80200008001F310D401169CF01F0004E6 +:1052D000581CF9BC01FFF9BC0000D802800163E052 +:1052E000D431207DFACEFFC050287C027C387C1758 +:1052F00050087C2E501E16901894149B1293580A36 +:10530000C5C0FAC5FFEA306A0A9CF01F0031202DA3 +:10531000306A0A9B1A9CF01F002FF01F002F5802C2 +:105320005F1858075F1918912FED1268C181300678 +:105330005800C26168193018F0030948F00811FFDD +:10534000F1E9000C891C580CC365BFBC891CF01F17 +:10535000002318975817C2F02F9DDC3A5887FE9B00 +:10536000FFFDFAC6FFF2308A300B0C9CF01F001CC8 +:105370000E9A049B0C9CF01F00165800CDC04028CC +:1053800058015F091AD8069C1AD630381AD530163B +:10539000404A403B1AD6F01F00136819EC03094835 +:1053A0001248F1D8C01F189789180C9CF01F000EE6 +:1053B0002FCDCD1B2F9DD83AFAC5FFEA306AE06B9E +:1053C00000FF0A9CF01F0006CA3B0000800091DC31 +:1053D0008002E736800188B080016584800091D02A +:1053E0008001661C8001639CEBCD40C01896308C18 +:1053F000F01F00091897C0C0300899069918F01FCF +:105400000007301CF01F00060E9CE3CD80C0E3CDEA +:1054100080C0000080028F248001604880017A10E3 +:10542000EBCD4080209D1697FACCFFFEF01F0009BF +:10543000581CC0402F7DE3CFC0800E9C1BBAFACB16 +:10544000FFFCF01F00051BBC2F7DE3CD808000001A +:1054500080017800800091DCEBCD4080202D580B3E +:10546000C120FAC7FFFE306A0E9CF01F000C0E9C94 +:10547000F01F000B581CF9BC01FFF9BC00002FED18 +:10548000E3CD8080FAC7FFFE306AE06B00FF0E9C20 +:10549000F01F0004CEDB0000800091DC8001793039 +:1054A000800091D0EBCD4040485B1896F01F00057E +:1054B0000C9CF01F0005E3CD8040000080039C3869 +:1054C00080025458800091E8EBCD40C0202DFAC7EF +:1054D000FFFE16960E9CF01F0008581CC0402FEDD2 +:1054E000E3CFC0C00E9B0C9C306AF01F00042FED70 +:1054F000E3CF80C080017864800091DCEBCD40C0B8 +:1055000018977939580BC0305839C0E03018EF4837 +:1055100000BC3038EF48004C1039C0808F2830086C +:105520008F58E3CD80C0F949004C6F682FF8EEFA30 +:10553000010CEF4800586FA830098F288F59301B95 +:10554000746C7486487A5D16EEF80094EEF900905B +:105550002FF82FF9EF480094EF490090E3CD80C079 +:1055600080037E20580C5E0C580BF9FB4A19580A30 +:10557000F9FA4A225809F9F94A1A5808F9F84A1B5F +:105580005EFC580CF9F81024F9B90101F1D9E108D1 +:10559000F9F81A245EFC580C5E0C580BF9B801019E +:1055A000F9F81A45F9FB0A455EFCD703EBCD40C07C +:1055B0001897580CC04079385858C030E3CD80C097 +:1055C000F8F8010C3009706C7086488A301B5D1643 +:1055D000EEF80094EEF900902FF82FF9EF480094C0 +:1055E000EF490090E3CD80C080037E20580CF9FC89 +:1055F00010315EFC580CC0B0F8F800D45808C070E8 +:10560000F8F800D89708F8FC00D45EFC300897083A +:105610005EF8D703580CC040588BE08800035EFD4D +:1056200048D8F00B032FF8FC00E05EFCF8FC00DC2F +:105630005EFC78BC5EFCF8FC00805EFC79FC5EFCE5 +:10564000F8FC00845EFC784C5EFC797C5EFC786C37 +:105650005EFC00008003D6FC580C5E0C588B5EBCD0 +:1056600048E8F00B032FF94A00E05EFCF94A00DC41 +:105670005EFC99BA5EFCF94A00805EFCF94A007C47 +:105680005EFCF94A00845EFC994A5EFCF94A005CC3 +:105690005EFC996A5EFC00008003D720580CC05065 +:1056A000580BC031783C5EFC5EFD580C5E0C580B0C +:1056B000F9FA0A035EFCD401580CC0A0F8FC010CF6 +:1056C000580CC06078A85808C030780C5D18D80213 +:1056D000D401580CC021D80AF8FC010C580CCFC0DA +:1056E00078B85808CF90780C5D18D802EBCD408080 +:1056F0001897580CC1E0189A300B48FCF01F000FA7 +:105700000E9A300B48ECF01F000DEEFC00C0F01FAD +:10571000000DEEFC00CCF01F000CEEFC00D4F01FDE +:10572000000AEEFC010CF01F00080E9CF01F0006A2 +:10573000E3CD80808002608C800274008002602053 +:10574000800270E0800091E8D401580CC050F8FC51 +:1057500000C0F01F0002D80280026410D401580C6F +:10576000C050F8FC00C0F01F0002D802800264287C +:10577000D401189A580CC0A030583019F8FC00C059 +:10578000F548004C95C9F01F0002D802800263BAA8 +:10579000EBCD40801897580BC04079E85888C0403E +:1057A0003018EF4800BC30193088EF490044EF480A +:1057B00000788F99EEFC00C0F01F0004F9B80100DA +:1057C000EFF81A39E3CD8080800263B2EBCD40E080 +:1057D000201D189716951496580CC0513FFC2FFDAC +:1057E000E3CD80E0F8FC00C0F01F000ACF801A9BD8 +:1057F000EEFC00C0F01F0008189BCF10400C0C3CC2 +:10580000CEF30C9A0A9CF01F0005300CCE9B0000D2 +:10581000800263B2800263CE800091DCEBCD40C099 +:1058200018971496580CC1F0F94B00C4580AC1B02F +:1058300074087419F94800F8F94900FC7428F9480B +:105840000100F8FC00C0580CC0E0742BF01F0007EA +:105850006C3BEEFC00C0F01F00066C4BEEFC00C081 +:10586000F01F0004E3CD80C0800263A6800263AC19 +:1058700080026408D431FACD00A81897F8F600CC5D +:105880005806C0F0F8F800F85808C0B00DA80DB9D7 +:10589000F3E81089F8F800D02FC91039E088000427 +:1058A0002D6DD832ECC4FFFC0999500909A0F01FF6 +:1058B000006FFAC1FFF8340A029B0E9CF01F006CC7 +:1058C0001895CEF5590CE0800090580CCEA132020C +:1058D0005012EEF800E45808C7D1E8C5FFE4FAC357 +:1058E000FF68310A0A9B069CF01F0062310A300BE8 +:1058F0000A9CF01F00610DAA0DB9049BF3EA108900 +:10590000FACCFFD8EEFA00CC0A982FC9F01F005B42 +:10591000310A0A9B069CF01F005AC7614009E1E961 +:1059200010880DB9EBD8B0100DA8F3E81089320833 +:10593000F2CE002CF00519005FB9E04E00205F9A0E +:10594000124AF80A1800CAD15C751C35C630580EC8 +:10595000CA81FAC3FF88029B0A9A069CF01F004581 +:105960003018308AEF4800E4E8CBFFFDEECCFF189A +:10597000F01F0040EEFC010C78965806C0D0E93AC2 +:10598000001B0A98149B0699780CE21B0080F5DA3C +:10599000C0025D16C865E939001B3008F00918001F +:1059A000C5753018EF48011CEEF901185809C0718F +:1059B000EEF800FCEDB80000FE90FF7430188FD8B0 +:1059C000EEFC010C78785808FE90FF6C780C5D189E +:1059D000C68B308AE8CBFFFDEECCFF18F01F002805 +:1059E000FE94FF60C7BB189A029B0E9CF01F00201C +:1059F000FE91FF580A9A029BFACCFFD80A92F01F38 +:105A0000001D5015C67B069B0A9C310AF01F001929 +:105A1000C48BFAC6FFB8E8CBFFF50C9C310AF01F27 +:105A20000015049A029BFACCFFA8F01F0012FAC3DB +:105A3000FF880A9AE8CBFFD4069CF01F000E40199D +:105A40000C9A2F090A9B069CF01F000EC8AB301859 +:105A5000EF480118EEF9011C5809CB11EEF800FCD3 +:105A6000EDB80001CAC1C1DB8002575C800257CC8F +:105A7000800091DC800091D080028EF88000917CC3 +:105A800080029C38D431201D3003189730140695BD +:105A900030213040EF4500BC6F4A580AE08000C911 +:105AA0006F585808E08100C56E7C580CE08100C238 +:105AB0006EB85808E08000BE6F385828EFF41A2FEF +:105AC000EEF8010CEF41004C3009706C7086FEFA64 +:105AD000051E029B5D16EF4400548FC5EEF800983A +:105AE000EEF900902FF82FF9EF480098EF49009059 +:105AF0006E7C580CC0516EB85808E08100EC6FC83D +:105B0000EF4400705818EFF41A2F6FD85808E0814E +:105B100000F8580CE08100A76EE85808E08100A367 +:105B20006FE8F0C900015879E08B000EFEF804C45C +:105B3000F009032FEF4400BCEF410078EF4500402F +:105B4000EF4400C8EEFC00C0F01F012BE08000B560 +:105B5000EF4400BC2FF3E0430064C9D10E9A300B30 +:105B6000FEFC0498F01F012630090E98FEFA048C02 +:105B7000129B129CF01F0123EEF9010C72285808A9 +:105B8000C0E0EEF801105808C0A058185F0B3008AC +:105B90000E9CEF480110723A72285D182FFDD83222 +:105BA000EEF80088EF4400BCEF4000788F55EF45D9 +:105BB000007CEF4500C88F08CC6B6E585808E08118 +:105BC00000DF6E4B580BE08100D06E085808C161B1 +:105BD0003078EF4400BCEF480078EF440048CB3BFE +:105BE000EEF900845809E08101846FF85808E081DB +:105BF000015C6E4B580BE08100B86E685808CA30E3 +:105C00000E9CF01F0101C9FB6E485808E08100A9F5 +:105C10006E585808E08100B06E685808C9406F0897 +:105C20005808C910300B0E9CF01F00F7C8CB6E7CD3 +:105C30006EA95809C2F16F885808C2C06F38EF4585 +:105C400000605818EFF41A2FEF44004CEF4500584D +:105C5000EF4500548FC58FE4EF450118EF45011C57 +:105C6000C49B6FE8EEFC00CC5818EFF41A2FEF44F9 +:105C70000078F01F00E6EEFC00D4EF4500CCF01FEA +:105C800000E3EEFC00C0EF4500D4F01F00E18FE51B +:105C9000C5AB580CCD416EB85808CD105829C3B0CB +:105CA0005819C4706F3820185878FE9BFF26FEF9EB +:105CB0000362F208032FEEF800BC5808FE91FF4C77 +:105CC000C5CB6E585808E08100FE6ED85808E080B9 +:105CD00000FE6FC95819FE90FF1A5829FE91FF1E49 +:105CE0006FD85808FE90FF1A0E9CEF490070EF44E1 +:105CF00000BCF01F00C96E7CEF450074C0BB0E9C59 +:105D0000EF4400BCEF410070F01F00C36E7CEF4514 +:105D10000074C00B6F885828CC606F388FC45898B7 +:105D2000EFF41A2FEF4100603098EF48004CCE4A54 +:105D30006F885818CB806F3858A8EFF91A2FEEF9F2 +:105D4000010C30A88FC5EF440060EF48004CFEFA0C +:105D5000029E7286726C302B0A995D16CC0A6F080F +:105D60005808FE90FF573068EF4400BC8FF4EF48AE +:105D70000078CE9A6F085808FE90FF503038EF44F4 +:105D800000BC8F05EF440080EF480078CDCA6E69F3 +:105D90005809C0A06ED85808E0810117EEF800F845 +:105DA0005808E08100FC6E485808E08100EB6E88DE +:105DB0005808C0506ED85808E08000E46F28580892 +:105DC000C050300B0E9CF01F00956E7CC93A6F7866 +:105DD0005808C8018F88EF4400BCEF40004CEF48E2 +:105DE0000058EF4800448FF8EF4800488F98EF4480 +:105DF0000040C82A6E1B580BCE606E585808FE90A3 +:105E0000FF6A3089EF4400BCEF49004CEF44005C6E +:105E1000C73A6E2B580BC2716F696FB81039CD330A +:105E20006ED85808C2003058EF4400BCEF48004C10 +:105E30008FC4EF440110FE9FFE60580AFE91FF4B95 +:105E4000EF4A011CEF4400BCEF44004CEF4A0060F5 +:105E5000EF4A0058EF4A00548FCA8FE4EF4A011806 +:105E6000FE9FFE4B6E685808C7B16E485808C78140 +:105E70006E585808CC71580BFE91FF2D6F696FB8A2 +:105E80001039FE93FF286ED85808FE91FF24307811 +:105E90008FCBEF48004CEF4400BC6F98EF410110EE +:105EA0008F18FE9FFE2AEEF80088EF4900C8EF44E5 +:105EB00000BCEF4000788F59EF49007C8F08FE9FAF +:105EC000FE436ED85808E081008AEF4400BCEF44DE +:105ED000004CEF450060EF450058EF4500548FC57A +:105EE0008FE4EF450118EF45011CFE9FFE06305977 +:105EF000EF4400BCEF4900781A9BEEFC00C0F01F95 +:105F000000481892C290EEF8010C4009189A708669 +:105F1000706C300B5D16049CF01F003CEEF800C85E +:105F20005808EFF81028F9B90101F1D9E108EFF8A4 +:105F30001A28EFF80029F9B90001F1D9E008EFF8C3 +:105F40000A29EEF90090EEF8009C2FF92FF8EF499E +:105F50000090EF48009CEF450084FE9FFDF5EF4464 +:105F600000BCEF40004CEF450058EF4500448FF572 +:105F7000EF4500488F958F85EF440040FE9FFDBDA3 +:105F80003078EF4400BCEF48004C8FC56F98EF416C +:105F900001108F186E7CFE9FFDAEEEF800FC5808D5 +:105FA000FE91FF038FD4EEFC010C78785808C040B6 +:105FB000780C5D186E695809FE90FEF76ED8580887 +:105FC000FE90FEF36E7C3059EF4400BCEF49004C6C +:105FD0008FC4EF440110FE9FFD8E3088EF4400BC5B +:105FE000EF48004CEF44005CFE9FFD8780037E205D +:105FF0008003D744800268308002608C8002740085 +:106000008002747480025790800091E88002653CA1 +:106010008003D76480025874800254FC800263E6D7 +:10602000EBCD408076085808F9B901FFF1D9E108B5 +:10603000F7F81A0076185808F9B901FFF1D9E10804 +:10604000F7F81A0176285808F9B901FFF1D9E108E3 +:10605000F7F81A0276385808F9B901FFF1D9E108C2 +:10606000F7F81A03169718991698486A300B301CDF +:10607000F01F00050E9CF01F0005E3CD808000009E +:10608000800260208002747480025A84D401169CBD +:10609000F01F0002D802000080025A84D421203D63 +:1060A0001895E06C0120F01F00221897C38031E89A +:1060B0003039F9480088F948006833C8F949006C5C +:1060C000F9480064F945010C300430CA99A4089BD2 +:1060D0001A9CF01F00186AF850286ADA500A6AE819 +:1060E0005018EEF8010C1A99704A493B0E9CF01FAB +:1060F0000013EF4C00C01A961898C14030160E9C41 +:106100008F76F01F000F0E9C8F74F01F000D0E98FD +:1061100008990C9C48BA089BF01F000B0E9C2FDDC1 +:10612000D8220E9C1097F01F0009CF9B80028F246D +:10613000800091D0000004788002711C80025A8493 +:106140008002602080027474800091E8D401580CB1 +:10615000C090F8F800D45808C050F8F800805808EB +:10616000C020D8023018F94800809958F01F00026A +:10617000D802000080025A84D401580CC04099AB68 +:10618000F01F0002D802000080025A84D401580C8B +:10619000C060F94B00E0994BF01F0002D8020000EC +:1061A00080025A84EBCD40801897580CC090996BB0 +:1061B000F94B00DC580BC0610E9CF01F0005E3CDCD +:1061C0008080F8FC00C0F01F0003CF7B80025A845F +:1061D000800263BAD401580CC04099DBF01F000262 +:1061E000D802000080025A84D401580CC04099BBE8 +:1061F000F01F0002D802000080025A84EBCD40E07C +:10620000189714951296580CC3A0F8F8008C2FF824 +:10621000F948008C5839E08B0009F8F800A82FF8ED +:10622000F94800A8E3CF80E01588306AF94800B04B +:10623000F8CCFF4CF01F0042ECCA00040BA90BB8CD +:10624000F1E910861436E08B00130B99300CF80935 +:106250001800C4603038F0091800C130EEF800A80A +:10626000301C2FF8EF4800A8E3CD80E0EEF800AC3A +:10627000300C2FF8EF4800ACE3CD80E0E3CF80E0B6 +:10628000E046002BE088004C3FE80BCBF00B1800F9 +:106290005F0A3028F00B18005F09124AF80A18004C +:1062A000CEE13018F00B1800C3A1EEFC00CCF01FBB +:1062B00000252FC60C9CF01F0024EF4C00CCC2F030 +:1062C0000C9A0A9BF01F001E0E9CEF4600D0301661 +:1062D000EF460074F01F001D0C9CE3CD80E0EEF84B +:1062E00001145808C100300830398FC8EF48011434 +:1062F0008F29EF49004CEEFC010C78C85808C030DB +:10630000780C5D18EEFC00D4F01F000E0C9CEF46DC +:1063100000D8F01F000DEF4C00D4C031E3CF90E067 +:10632000EACBFFFCEEFA00D8F01F00050E9C3016F9 +:106330008F56F01F00060C9CE3CD80E0800091DCBE +:10634000800091E88000920080025A84EBCD40806A +:10635000189779685808C0B079BB580BC08070494D +:106360005D193008EF480058EF48006CE3CD80809D +:10637000EBCD40C01897580BC04078085878C04003 +:106380003018EF48006030786FA68F086F9C6C293A +:10639000300A305B5D196FA86F9C7029301A304B42 +:1063A0005D19E3CD80C0F94B00745EFCF94B00B081 +:1063B0005EFC580CF9FC10135EFC580CF9B8010196 +:1063C000F9F81A06F9B9010BF9F91A005EFC580C34 +:1063D000C08079485808C05079589708794C5EFCBD +:1063E000300897085EF8580CC0C0791A580AC09057 +:1063F000792897083009F9490048F94900445EFABC +:106400003008109A97085EFAF94B00C45EFCD70377 +:10641000D401580CC040483BF01F0003D8020000D4 +:106420008003D7B08002634CEBCD40801897580CA6 +:10643000C0F079A8300B7019799C5D19C0916E6815 +:106440005808C0606E2820385818E0880004E3CD52 +:1064500080806F485808F9B80101EFF81A136FA847 +:106460006F9C7029301A300B5D19EEFC00A4483A7D +:10647000302BF01F0003CECB8003D7BC80023A1A2A +:10648000EBCD40801897580BC040780858B8C040F2 +:106490003018EF4800606F4930B88F085809F9B8D4 +:1064A0000101EFF81A136FA86F9C7029301A300B96 +:1064B0005D196FA86F9C7029300A305B5D196FA859 +:1064C0006F9C301A7029304B5D19EEFC00A4484ACD +:1064D000302BF01F0004E3CD808000008003D81C27 +:1064E00080023A1AEBCD40C01897580BC04078088C +:1064F00058C8C0403018EF48006030C86FA68F08F9 +:106500006F9C6C29301A302B5D196FA86F9C702915 +:10651000300A305B5D196FA86F9C301A7029304BC0 +:106520005D19EEFC00A4484A302BF01F0004E3CDB7 +:1065300080C000008003D86080023A1AEBCD406032 +:106540001896784CF01F000B30056D1C8D45F01F20 +:1065500000096D4CED450044F01F00066DA8ED45A7 +:1065600000500A9A6D9C70290A9B5D19E3CD8060EA +:10657000800091E8EBCD40E01897580BC4F0780804 +:106580005808C4C130088F086FD95809C0B06F6867 +:106590005808C08070985808C0506FBB0E9C5D189A +:1065A000C4114A4B0E9CF01F00246FA83006301512 +:1065B0008F16EF4500408F268F666EFA70490C9B50 +:1065C0006F9C5D196FA80C9A70290C9B6F9C5D19CC +:1065D0006FA80C9A7029302B6F9C5D196F4CF01FBF +:1065E00000176FA80A9BEF460050EF46004C0C9A2C +:1065F00070296F9C5D193FF80C9A8F386FA5303B5E +:106600006F9C6A295D196FA80C9A7029304B6F9C9A +:106610005D19EF4600C0E3CD80E03018EF48006020 +:10662000CB2B6F686FBB70A90E9C5D19CBFB000074 +:106630008003D8948002634C800091E8EBCD40E069 +:10664000205D1897580BC04078085858C040301843 +:10665000EF48006030588F086F695809C4406FA830 +:10666000FACBFFF070596F9C5D19310A300B189509 +:106670001A9CF01F00256F1C6EE850086E295019F7 +:106680006E6850286F095039F01F002030086F6B7A +:10669000EF48005CEF480044EEC8FFB81A9A0A9928 +:1066A0001AD80E9C405876566FBB5D16EF4C0044CE +:1066B00040188FE82FFD5808C1616F785808C13124 +:1066C00040188F2840298F694038EF4800406F6894 +:1066D00070695809C08070785808C0506FBB0E9C14 +:1066E0005D19C0412FBDE3CD80E06F4CF01F000766 +:1066F0006F68EECAFFAC70796FBB0E9C5D19EF4CF2 +:106700000050CF1B800091D0800091E8EBCD4080FD +:106710001897580BC04078085868C0403018EF48A8 +:10672000006030686E4C8F08F01F001A6F18580810 +:10673000C2E0EEF800B05808C2216EA86F2C8F3866 +:10674000F01F00158F4CC0706F2A6F1BF01F0013D5 +:106750006F288F586FA8301A7029303B6F9C5D19D5 +:106760006FA86F9C7029300A305B5D196FA86F9C11 +:1067700070496EFA300B5D19E3CD8080310AEECBA3 +:10678000FF7CEECCFF6CF01F0005CD8B8F48CE9BBD +:10679000800091E880009200800091DCEBCD40FC0D +:1067A000201D79A81897169214931294799C700959 +:1067B0005D191896C2F06F685808C23070C8580842 +:1067C000C2000E9C1A9A6FBB5D181895C1A0400CB0 +:1067D0002FBC870CF01F0015C1D03028B892B888A4 +:1067E00030188699B8B9A9891897B8A9B8C80A9B6A +:1067F000400A2FBCF01F000E0E9C2FFDE3CD80FC45 +:106800005804C0416DCC580CC0A16DB86DA5580599 +:10681000C0A130070E9C2FFDE3CD80FC6DD81895EC +:106820005008CD6B5008CD4B80009200800091DC69 +:10683000D431209D3004F8C9FF7CF8C8FF6C18974C +:1068400050195008F8C0FFB808956FA8EF450060D0 +:10685000301B70196F9C5D19C0706FA8306B701978 +:106860006F9C5D19C2F16FA8306B70196F9C5D1938 +:10687000C140EEF800C45808C101EEF800C0E0487D +:106880000032E08A0025E0480033E080011C6F8878 +:106890005808C1003014CDAB6E085818F9B8010182 +:1068A000EFF81A18EF4500C030188F086F885808A5 +:1068B000CF216F7C580CE80C1700F9BC01012F7D2B +:1068C000D832301B0E9CF01F01EECE2B6E0958A95A +:1068D000FE9BFFDFFEF807ACF009032F30183029CC +:1068E000EF4800608F09CD4B300B0E9CF01F01E686 +:1068F000CCFB6E196EB81039C760300B0E9CF01FC0 +:1069000001E2CC6B6EA96E381039E0800137300B94 +:106910006E8E580EC1B06E685808C1806EAA6E396E +:10692000123AE08000BBEEF800B05808C0F0F2C8A0 +:10693000FFFFF1D8C008103AE08000B0F2C8FFFEB7 +:10694000F1D8C008103AE08000A96E2C582CC20083 +:106950006E985808E08001236E685828E080011F77 +:106960006EAA6E39123AE0800146EEF800B058087F +:10697000C0F0F2C8FFFFF1D8C008103AE080013B38 +:10698000F2C8FFFEF1D8C008103AE08001346E78FA +:1069900058085F1A3008F5EB0009F0091800E0818B +:1069A000010FEC1B0001F5EB0008F2081800E08075 +:1069B00001056EBB1699582BE080012A6E16580609 +:1069C000C071581BE080021B582BE08101630C3B17 +:1069D000E080014F0C995919C0F1580EC0416FE881 +:1069E0005808C0A0300B0E9CF01F01A8C51B6EEB11 +:1069F000580BFE90FF7C300B0E9CF01F01A5C48B42 +:106A00006FA8305B70196F9C5D19C7016FA8307B50 +:106A100070196F9C5D19C0506E685808FE91FF395F +:106A20006FA8300B70396F9C5D19C0516E68582883 +:106A3000FE90FF2F6FA8308B70196F9C5D19FE912F +:106A4000FF286FA8189B70396F9C5D19C0516E6844 +:106A50005828FE91FF1E6FA8307B70196F9C5D193E +:106A6000C0806E285828C0506E685808FE90FF11EC +:106A70006E185918E080025C5998FE91FF0AEEF8F2 +:106A800000805808FE90FF056E685808FE90FF01D0 +:106A90006E285848FE91FEFD300B0E9CF01F017DC4 +:106AA000CF7A6FA8306B70196F9C5D19FE90FEF164 +:106AB000EEFB00C4580BFE91FEEC0E9CF01F017023 +:106AC000CE7A3328EEFC00A4FEFA05CC1AD8302B7F +:106AD000F01F0172EEF800C0301B16080E9CEF4844 +:106AE00000C0F01F016F2FFDCD3A6FAA3038FACBEE +:106AF000FFE08F0830136F9CEF43006074595D19FD +:106B00008F95507C8F85EF4500788F758FA58FB559 +:106B10008FC58FD55F0A408B1896583B5F88104A07 +:106B2000EA0A1800C23119A919B8F1E910885068A9 +:106B3000103BC1C319988FA8EEF900B05809C09056 +:106B4000069C4019FACAFFE8FACBFFE4F01F015592 +:106B50000D893028F0091800E080011CE08B008DC1 +:106B60003018F0091800E0800123EEF800C02FF87B +:106B7000EF4800C0FE9FFE8D6E785808FE90FEC95B +:106B8000EEF800B05808C080310A400B401CF01FDE +:106B90000146FE91FEBE301BCBCA580EFE90FEF998 +:106BA0006E685808FE91FEF56E185918FE91FEDACF +:106BB000583CFE91FED7CECA6E19C0EB301830A9F2 +:106BC000EF4800608F096F1CF01F01386E485808AD +:106BD000C1A06E5CF01F0136EF4C0044FE90FE59E0 +:106BE0006E5A6E4BF01F01336E58EF480048FE9FFF +:106BF000FE50300B0E9CF01F012AFE9FFE4A30090A +:106C000050494048EF480044FE9FFE436F08580833 +:106C1000FE90FED6301830996FAA8F09EF480060B9 +:106C20007458FACBFFE86F9C5D1819A919B818962B +:106C3000F1E910885848E08B01476F1CF01F011BD9 +:106C4000305CEF450044EF4C00486EA6F01F011881 +:106C5000E08001853029B896B889EF18004AB8C994 +:106C6000B8B8A988B8A8EF4C0044FE9FFE12584C53 +:106C7000FE90FEB3CB8A3038F0091800E08000DCCB +:106C80003048F0091800FE91FF7230188F98C6EB5B +:106C900030181693EF48006030496FA8E04B00FEB3 +:106CA000EFF3000D8F096EC670096F9C5D19069A8F +:106CB0000C9BF01F0101E08100C36F1CF01F00FB63 +:106CC0006FA8EF4500446EA270096F9C5D19503C9F +:106CD000FACCFFE8F01F00F91893C9206EB8E0481D +:106CE00000FEE08101516FA8406670096F9C5D193C +:106CF00030C8505CA376EF480048ECCCFFECF01FA6 +:106D000000EC1891E080012E3FE9B892B8C9302913 +:106D1000B889F8C8FFFBB0A5B085B095F8C9FFF8F1 +:106D20003038B285B295B2A5B2B8504CF8C2FFF473 +:106D30000A96C298661A6ED81438C210405CF01FCA +:106D400000DE049AE4CBFFFC580CC1903FE814C865 +:106D50008689B4896608A988B4986609B4A907C861 +:106D6000B68886A9B6996618A988B6A86619B6B96C +:106D7000F6C2FFFC60082FF62F88810866F35803DF +:106D8000E0800099660B6EC81638CD50661ACD7B30 +:106D90006E185918FE91FEEB40685848FE98FEE7C1 +:106DA0003018EF4800780DC98FB9CE0A406A584AAA +:106DB000FE98FEDD30188F780DC98FB9E04900FECE +:106DC000FE91FED558BAFE98FED2ECC9FFFB139C8B +:106DD000138A13A8F1EA1108F1EC1088ECCBFFF844 +:106DE0008FC817AC17B81789179AF1E91188F1EA1B +:106DF0001108F1EC10888FD8CB9A6FA83089EF4B2F +:106E000000608F09FACBFFE0705A6F9C5D1AFEFAA2 +:106E100002AE302BEEFC00A4F01F00A06F1CF01F90 +:106E200000A30C99EF460044009A6EAB0E9CF01F35 +:106E300000A5C1AB30188F88FE9FFE990C9C069B65 +:106E4000F01F00A1FE90FF3B6FD85808C0906F6AFA +:106E5000580AC06074096EC81039E0800086FEFBD5 +:106E6000026A0E9C3006F01F009A6EB88F186F6C85 +:106E7000580CE08000CD5806C54078B86FBB0E9C1A +:106E80005D18EF4C006C6FB65806E08000CA6F6A60 +:106E90006ECB30188F287429FEFA02381AD91AD30B +:106EA0001ADB302BEEFC00A4F01F007C2FDDFE9FD0 +:106EB000FCF05806C4206F285C78A2B8A988A2A864 +:106EC000FE9FFEA1F0CC0004F0C20005F01F007888 +:106ED0001893FE90FEB45802C120ECCCFFFB300AA0 +:106EE00035DB1938F0C90021F6091800F9B80B5F35 +:106EF000E60A0B082FFA1432FE9BFFF53008E60273 +:106F00000B084F581AD34F5A1AD8302BEEFC00A456 +:106F1000F01F0062069CF01F00652FEDFE9FFE8FA4 +:106F200078380E9C5D18EF4C006CCAEB6FF858086F +:106F3000FE90FCAFFE9FFDAA04983FE910C9B0A6E1 +:106F4000B086B096E4C9FFFCB2B6B286B296B2A6DD +:106F50006F282F88EF480048CB0B0A9CFE9FFE85C8 +:106F60005045FE9FFE5074181033FE91FF7A7499BD +:106F70005809FE90FF766FBB0E9C5D19FE90FF7165 +:106F80003016C74B3058406CEF4800482FACF01F0C +:106F900000481896FE90FE35B89230283039B888EF +:106FA000B8C9504CF8C2FFFB50250A91C1A8661A17 +:106FB0006EB8103AC130403CF01F003FC0F0660888 +:106FC0005808C5A040285808C0913FE904C93018A6 +:106FD000502860082FF12FF8810866F35803C0602D +:106FE000660B580BCE50661ACE7B5801EFF8101284 +:106FF000E5F10E00EFF80012F7B800FFEFF80A1203 +:107000005C78ACB8A988ACA8FE9FFDFD069B6ECC51 +:10701000F01F002DEF4C0058FE90FE51C2DB6FA810 +:107020006F9C70095D196F6870291AD91AD36EC8E0 +:1070300018921AD8302B4AAAEEFC00A4F01F0017B1 +:10704000EF4600588F268F1658025F1B6EB92FDD52 +:1070500058D95F081668EC081800FE90FE30E4F876 +:1070600001605808FE91FC15E4F801685808FE908C +:10707000FE26FE9FFC0E661804C8CACB800265740B +:107080008003D7848002670C8002663C80026370B4 +:10709000800264808003D8A080023A1A800264E4EF +:1070A00080028D9C8000917C800091E8800092009D +:1070B000800091DC80023AD8800271E48003D8F02D +:1070C0008002679C800271908003D9248002634C07 +:1070D0008003D9708003D8D08003D3E48003D930F3 +:1070E000EBCD40801897580CC0E0488BF01F00088B +:1070F0000E9CF01F0008EEFC00ACF01F00070E9C79 +:10710000F01F0006E3CD80808003D9AC8002634C81 +:107110008002653C8002D298800091E8EBCD40F877 +:10712000203D1896169414931295E06C00C8F01F39 +:1071300000151897C1C033C8F946006499F8F9449E +:107140000068F94300A430CA300B1A9CF01F000EEF +:107150006A2850286A0950096A181A9C5018F01FAA +:10716000000BEF4C00AC1A961898C0500E9C2FDD07 +:10717000E3CD80F80E9C1097F01F0005CF8B000028 +:1071800080028F24800091D08002D2C4800091E8D8 +:10719000189948A8700C580CC051C0D878FC580CED +:1071A000C0A078081238CFB1781816385E0C78FC79 +:1071B000580CCF815EFD000000007AB01899489805 +:1071C000700C580CC051C0C878FC580CC09078089E +:1071D0001238CFB178181638CF81782C5EFC5EFD5E +:1071E00000007AB0189B4888700C580CC0A0189901 +:1071F000300A2FFA72F95809CFD1149897085EFC1B +:107200001898CFDB00007AB05EFDD703EBCD40E0ED +:1072100048D81896169570075807C051C0E86EF701 +:107220005807C0B06E2C0C9BF01F0008CF916E0861 +:107230008B086E1CE3CD80E030088B08109CE3CDFA +:1072400080E0000000007AB0800091A0EBCD40C04B +:1072500048B70E966E095809C0B072F88D08129C96 +:1072600072D85808C0705D186E095809CF71E3CD07 +:1072700080C0129CF01F0003CEEB000000007AB02B +:10728000800091E8EBCD40C048D66C485808C0312A +:10729000C0880E987057109CF01F000A5807CFA1A5 +:1072A0006C6CF01F000930086C3C8D68F01F000505 +:1072B0006C8CF01F0004E3CD80C0000000008C90B7 +:1072C000800091E880014544EBCD40F8495718967D +:1072D000169314946E2B12952FFB6E3CA56BF01F2A +:1072E0000012C1D06E28A568F80809066E29A569A4 +:1072F000F8090009932593146E2AF4081504F80878 +:10730000000891336E188F3C2FFA1036EFF69A0171 +:107310008F2A3018300C8FC8E3CD80F8E3CFC0F847 +:1073200000008C90800091F4EBCD404CE0634DD395 +:10733000EA1310621896F01F000DF8030648A7899B +:10734000E06A03E8F20A0248F8080109121CF20A8E +:10735000024AF80304428D1ABF5CA743E60C010CF5 +:107360008D0CE3CD804C0000800145C4EBCD408006 +:10737000202D4A076E495809C2C06E581039C29074 +:107380001A9CF01F001D6E484009700A1439C2444F +:107390007018401BF40901091618C276F00B141F6F +:1073A000E06A03E8F20A024AE0694DD3EA19106282 +:1073B000F0090448A7491619F20A000C580CE08A93 +:1073C000000E300948DA6E6BF01F000D6E488F58C2 +:1073D0002FEDE3CD80801439C030301CCF3B7018C6 +:1073E000401B103BCFB4CD7B2019F028BDC0CD7B16 +:1073F00000008C9080027328800275188001455827 +:10740000D43149A0189516931492604C580CC2B010 +:1074100030060C940C91785778480A38C09018962A +:107420000E9C5807CF91F01F0012089CD8325BF3D6 +:107430005F0A782906395F081448E2081800CF006F +:107440005BF25F0A783904395F081448E2081800D3 +:10745000CE705806E1F70A04EDF71A052FF4F01F75 +:107460000005CDFB1894CE0B00008C908002736C4D +:10747000800091E8EBCD40FC18961695149212947A +:107480001093318CF01F00211897C3A0F01F00202B +:107490006E0A6E1B0C0AEA0B000B8F0A8F1BEE5B49 +:1074A000423FE08A000B2FFAEE3B42408F0A8F1BCF +:1074B000EE5B423FFE99FFF98F248F338F423008F5 +:1074C0008F58494C78495809C1D072081438E0895E +:1074D000001A2F0CC0A8F2CCFFEC72595809C0A0BA +:1074E00072081438E0890007103ACF617218103B17 +:1074F000CF348F599907F01F0008E3CF80FCE3CF0A +:10750000C0FC2F0CCF7B000080009200800273280B +:1075100000008C908002736CEBCD40E0202D49661A +:107520001A9CF01F00166C475807C1F040096E08FE +:107530001238E089001B3005C05840096E08103928 +:10754000C1451039C0516E1940181238C0E56E5847 +:107550008D558D486E3B6E486E2C5D180E9CF01F4D +:1075600000086C475807CEA1F01F00062FEDE3CFAF +:1075700080E0000000008C9080027328800091E879 +:107580008002736CEBCD408049A76E3E580EC2B0AE +:107590006E2A580AC280E08A002B7C081838C27014 +:1075A000FCC9FFF0300BC05872082F091838C050C2 +:1075B0002FFB163AFE99FFFA143BC170201A163AB7 +:1075C000C0F0161AF60C1504A56AFC0C000C2FFB73 +:1075D000A56BFC0B000BF01F00086E2A201A301858 +:1075E0008F2A8FC8E3CD8080E3CD8080300BCE7BA7 +:1075F00000008C90800091C4EBCD406048861895C7 +:10760000334A300B0C9CF01F0007ECCCFFE88D05D3 +:10761000301BF01F0005E3CF8060000000008C905D +:10762000800091D0800144F80050F2010100000078 +:107630000000000000000000F6F800DC5808C05010 +:10764000F8F800F85808C0205EFDF6FB00D0580B93 +:10765000CFC076085808C04176185808CF602F8BE5 +:10766000CF9BD703EBCD4080300B1897F01F001352 +:10767000306A300BEECCFF64F01F0011306A300B23 +:10768000EECCFF5EF01F000E300BEEFC00E0F01FB2 +:10769000000D300BEEFC00E0F01F000BEEF800BC1C +:1076A0005828C030E3CD8080EEFC00E0300BF01FA6 +:1076B0000007E3CD80800000800217D0800091D0C9 +:1076C000800261E8800261D4800261A4EBCD408039 +:1076D0001897F8F800945808C160300BF94B0094E3 +:1076E000F8F800D470985808C040F8FC00C45D1841 +:1076F000486A302B0E9CF01F0006300A0E9C149B2B +:10770000F01F0004E3CD80808003D9D480023A1AB0 +:1077100080022584D431209D500C761558155F9831 +:107720007607169058075F1910693008F00918009D +:10773000E08000B8EEC4FFFF0989F2C6FFFE0C35F9 +:10774000E08500B010923DD33301C168E208180013 +:10775000C2800C0758155F9958075F181268E40833 +:107760001800E080009EEEC4FFFF0989F2C6FFFE0C +:107770000A36E08900960C150F88E6081800CE71CD +:10778000305AF4091800FE98FFE6EECCFFFE306A8E +:107790004DFBF01F0060C0B00F88E2081800CDA1BB +:1077A00009883019F2081800FE98FFD540080E9B92 +:1077B0000C9AF0FC00DCF01F00581897C711400A23 +:1077C000FACBFFFCF4FC00DCF01F0054C21540793A +:1077D0005809C1E040685808E0890007C19840682E +:1077E0001037C1644079EE0B1504F20B000B400911 +:1077F0003008F2FC00DC2FF71099109AF01F0048B7 +:10780000CEF14008301BF0FC00E0F01F004660465F +:10781000605558065F1958155F981069C760ECC429 +:10782000FFFF0989F2C7FFFE0E35C6F53003069249 +:107830000691C1A85802C0610D88330AF4081800E7 +:10784000C3A00E060E1558065F1858155F991268EA +:10785000E2081800C3F0ECC4FFFF0989F2C7FFFE7D +:107860000A37E08900385803CE610D883DDAF40804 +:107870001800CE113058F0091800FE98FFDD306A6C +:107880004A3BECCCFFFEF01F0023CD5140090E9A7D +:107890000C9BF2FC00DC3013F01F0023CCCB600704 +:1078A0005807CB604009300AF2FC00DC149BF01F43 +:1078B000001ACAEB09883019F2081800FE98FFC3B5 +:1078C00040080E9A0C9BF0FC00DC3012F01F0017F1 +:1078D000CB9B5803C0F05802C0B160485808C08024 +:1078E0004008049AF0FC00DC049BF01F00102F7D80 +:1078F000D83260465806CF004009300AF2FC00DC5E +:10790000149BF01F0009CE8B3002CF5B80027628DB +:107910008000917C8002B5EC8002C04C8002938094 +:10792000800255968002B58C8002B52CD431FACDF8 +:10793000009018911497586BE08B00C4FEF807482C +:10794000F00B032F580AC0A0F8F800907009739A42 +:10795000580AC0410E9BF01F01CD304B029CF01F16 +:1079600001CCE2F801185808E0810312FAC7FF942D +:10797000E2F800D470285808C4C00E9BE2FC00C492 +:107980005D18C475E2C6FF64306A0C9B0E9CF01F44 +:1079900001C1C3F0FB3800711AD8FB3900741AD941 +:1079A000FB3800771AD8FB39007A1AD9FB38007DEA +:1079B0001AD8FB390080FEFA06DE1AD9301B029C69 +:1079C000F01F01B6306A0E9B0C9CF01F01B5306AA7 +:1079D000300BE2CCFF5EF01F01B3E2FA00BC2FAD2A +:1079E000584A5F08590A5F091248C081588AE080E6 +:1079F000030C0E9B029CF01F01ACE2F80090704952 +:107A00005819E08102D5E2F800B05808E08002D0B1 +:107A1000FB3800711AD8FB3900741AD9FB3800778B +:107A20001AD8FB39007A1AD9FB38007D1AD8FB39ED +:107A30000080302B1AD9FEFA0672029CF01F0197C3 +:107A4000E2FB00B02FAD580BC040029CF01F019824 +:107A50000E9BE2FC00DCF01F0197622CF01F0196E8 +:107A6000300BE2FC00E0F01F0195300BE2FC00E07F +:107A7000F01F0193E2F800BC5828C061300BE2FC13 +:107A800000E0F01F0190301BE2FC00E0F01F018BD2 +:107A9000300BE34B00F4E2F900BC59095F0A584986 +:107AA0005F081448F6081800E0800216029CF01FD8 +:107AB0000186307B029CF01F0176029CF01F01833F +:107AC0002DCDD832580ACFD0149B7439F8FC00DC85 +:107AD000742AF01F017F2DCDD832F8FB00BC590B62 +:107AE000CF00F8F800E85858E08002355838E08BAD +:107AF0000234E2C7FF64306AFEFB05D80E9C2F8B70 +:107B0000F01F0164EE0B1710E06800A2E3D8E00B51 +:107B1000029CF01F0171E2FC00DCF01F0170FEFA14 +:107B200005BE302B029CF01F015DE2FA00BC584AF2 +:107B30005F08590A5F091248C0B1588AE08002976D +:107B400030080E9BE3480104029CF01F0157029C81 +:107B5000F01F01642DCDD832FEFA058C303BF01FAA +:107B6000014F5807E08002806E0858085F1B169A84 +:107B7000E2FC00DC301BF01F015DFACCFF94F01F2B +:107B8000015CE2F800985808E08001D541B9F2089C +:107B90000108E048003CE08A01A6E34900982DCDA9 +:107BA000D832F01F0154E08501EBE2F900907248F1 +:107BB0005828C870E2F800AC5808C831E2FA00CC86 +:107BC0001094500AE2F000D072285808E08A00A908 +:107BD000300850187218401AF00A032850585800FC +:107BE000E08A0097400530020A96C11808973003D2 +:107BF00030142FF2ECC6FF6404305F983009E9E8D6 +:107C00000008F2081800E08000970E940C9B029C7C +:107C10000C93F01F0139C05078385818FE99FFE8CE +:107C20006D585808C051ECF800805808CE004059F3 +:107C30005809CDD0ECC8FFFAECCAFFA8ECC9FFD4B4 +:107C40005048502A50394057C0486E175807CCF05A +:107C5000EEF801945808CFA16CAA6E58103ACF6183 +:107C60006E4B404CF01F010BCF116E885808E0811D +:107C700000E16F6AEDBA0001C061ECFB0080580BB7 +:107C8000E08100E3F1DAC001300AF4081800CDE029 +:107C90006D5B580BCDB0FACAFF94403CF01F011742 +:107CA000CD516F6841B91268CD106F3841C9126863 +:107CB000CCD06F4841D91268CC906F5841E9126816 +:107CC000CC5058065F04C96B149BF01F00F02DCDFB +:107CD000D832149B2EACF01F010A1896FE91FEF2CA +:107CE0006F9B580BE080012A581BFE91FEEBE34B83 +:107CF00000D8029CF01F00FB622CF01F01028326BB +:107D0000CE0A5803E08100BF0E94E2F900904018BB +:107D10002FF850187228401A103AFE95FF5DE2F8CD +:107D200001085808E0800121029CF01F00F7E2F9E9 +:107D30000090C4BB5804CE600E923006C108049770 +:107D4000089930032FF6EAC5FF640C305F98F3E81A +:107D500000083009F2081800CD500E920A9B029CD0 +:107D60000A93F01F00E5C05078385818FE99FFE9D3 +:107D700040585808CE50EACAFFFA4057506AC078B7 +:107D80006AA8103AC5006E175807CDA0EEF8019406 +:107D90005808CFA16E5A580ACF416E885808C1E1E1 +:107DA0006F5BEDBB0002C040EDBB0003CED1F1DB49 +:107DB000C002C0806B585808CE71EAF8008058089D +:107DC000CE31EEF8014C5808C110EB190088EDB91E +:107DD0000001CDA058055F09CB6B306AEECBFFE800 +:107DE0000A9CF01F00ACCD01CDCB1099EEC8FECCA3 +:107DF0002FF9700A580AC2612FC85849CFA1EDBBAC +:107E00000003C071EEF800F0F1D8C002F9BA010128 +:107E1000EB190088EDB90004C030580A5F0A580A0F +:107E2000CB30CD6B6E4B406CF01F009ACAD1CB6B40 +:107E3000306AEECBFFE80C9CF01F0096FE91FF0726 +:107E4000C19B301ACDDBFACAFF94402CF01F00AB67 +:107E5000C0306F6AC18B6F6A41B8F5E80008FE90C8 +:107E6000FF136F3841C91268FE90FF0E6F4841D969 +:107E70001268FE90FF096F5841E91268FE90FF04F6 +:107E8000C21BE2F800A85808C131306AE2CBFF6497 +:107E9000069CF01F0080C170E2F800E85838C081ED +:107EA000306AE2CBFF5E069CF01F007AC0C00E9BDA +:107EB000029CF01F007FE08100B50E9A069B029C99 +:107EC000F01F0092009A400BE2FC00DCF01F0090D3 +:107ED000FE9FFDF8169A029C30ABF01F008EFE9FAD +:107EE000FDEE3017FEFA0230303B029CE34700946F +:107EF000F01F006AE06B2710300CF01F0088E2F8DA +:107F000000D470985808C0500E9BE2FC00C45D1865 +:107F100030EB029CF01F0082300A029BFEFC020440 +:107F2000F01F0081300802994FEA109B33CCF01FFC +:107F3000007F41B9FE9FFE33E2F800D85808FE905A +:107F4000FDC1E34B00D8029C301BF01F0079FE9F5F +:107F5000FDB9582BC780E07A86A0300B029CF01F39 +:107F60000075FE9FFDC8305BE2F801105818C7206D +:107F7000029C300AF01F006FFE9FFDA4E2F9009002 +:107F800072485828FE90FD9E301BCEFBFAC7FF9426 +:107F9000E2C6FF64306A0C9B0E9CF01F0041E2F8C1 +:107FA00001185808FE91FCF8FE9FFCE4029CF01FAB +:107FB00000621896C230F8FB0194580BC1F1795851 +:107FC000E2180013C351189B029CF01F005CE2F8FA +:107FD00000B05808C0701036C050E2FC00E0F01F3E +:107FE0000058E2FC00DC0C9BE34600B0F01F00559B +:107FF000029CF01F0055FE9FFD0D029C303BF01FC0 +:108000000053FE9FFD5FE2F800B05808FE90FCF3BD +:10801000F0F800F0F1D8C002FE91FCEDFE9FFCEFFD +:10802000029C300A30ABF01F0043FE9FFD4B350928 +:10803000FAC8FF70189A10D9029CFAC9FFE4F01F21 +:108040000044CC6B4C3AF01F0015E2F800E8FE9FAC +:10805000FD4F72485818F9B80002E3F80A44F9BB1A +:108060000000C87B0E9BFE9FFD84E2F800B058081C +:10807000FE90FD68F0F800F0F1D8C002FE91FD62BC +:10808000FE9FFD678003D9B880027714800217D065 +:108090008000917C8003D9F880023A1A800091DC3C +:1080A000800091D0800226948003DA3880027638EE +:1080B0008002BA4C80028172800261E8800261D441 +:1080C000800261A480021CE080021DB88002979C9F +:1080D0008002762880021AE08002BA1C8003DAA8A7 +:1080E000800276648003DAE48002D19C80028F549F +:1080F00080021E84800218F88002BD68800091A072 +:10810000800281748002189C800230DC800298A476 +:108110008002246C8003DB0480028F1C800228D83C +:10812000800276CC800274008002747480022794EE +:10813000800225848002195C800222A480025748B4 +:108140008002B9D48002237080022FCC80021F30BD +:108150008003DA68580C5E0E5E1DD401201D3008C5 +:10816000767C3009BA881A9A7668129B5D182FFDC2 +:10817000D8025EFCEBCD40801897580CC090789CDC +:10818000580CC035F01F00040E9CF01F0004E3CD16 +:108190008080000080027584800091E8EBCD40F87B +:1081A0001896129510944063328CF01F000B1897AC +:1081B000C0F00C9B311AF01F00093FFC8F658F74D3 +:1081C0008F838F9C30090E9A485BF01F00060E9C2F +:1081D000E3CD80F880028F24800091AC8002815A28 +:1081E000800272C8D4011698306AF8CBFFEF109C59 +:1081F000F01F0002D80A0000800091DCD431213D3C +:1082000076FE511E760A503A761950497628505813 +:10821000763E506E764A507A7669508976785098D4 +:10822000768E50AE769A50BA76B950D976C850E864 +:1082300076DE189850FEF8C9FFF876EA510A7654AF +:1082400076AB500C5019E02BA44F50CB110EF8CB4D +:10825000FFF45008512E403A700340487205502BED +:10826000E069A478EA19D76AFC0900091409760ABA +:10827000E06BB756EA1BE8C7F40B000B100BF5E5F3 +:108280002008066814581009E06870DBEA182420FA +:10829000EBE3200AF20E1507FDE9139E060EFDEA38 +:1082A000000A0A5A1005140BFDE32008F606150C07 +:1082B000EDEB13461C06EDE800080658405AE0694D +:1082C000CEEEEA19C1BD14051005EDEE2008EA0B4B +:1082D0001511F7E512FB0C0BF7E800081C58120308 +:1082E0004069120310034078E6051516E0690FAFE8 +:1082F000EA19F57CEBE312A5F00900091605F7E68B +:108300002008EBE800080C581C091009EBEB2008CA +:10831000F2031507E7E913930A03E7E80008165884 +:10832000E06AC62AEA1A4787E80A000A0C0A100A15 +:10833000E7E52008F402150CE5EA13420602E5E839 +:1083400000080A58408EE0694613EA19A830FC0973 +:10835000000916091009E5E32008F2061511EDE9F8 +:1083600012F60406EDE800080658409AE06B950105 +:10837000EA1BFD46F40B000B0A0B100B40A840C98A +:10838000F60E1516FE395BB1FDEB12AEE06A98D819 +:10839000EA1A69800C0E40BBF00A000AEDE22008E0 +:1083A000FDE80008045840C1060A50C9100AE069F7 +:1083B000F7AFEA198B44FDE62008F6090009F40B33 +:1083C0001507F7EA139B1C0BF7E800080C58F7EEAB +:1083D000200A0C0104091009F206150CEDE91346F8 +:1083E0001606EDEB2008EDEA000A1C5A1401E2051E +:1083F0001511EBE112F50C05EBE80008165840DA10 +:10840000E069D7BEEA19895CF40900091C09100962 +:1084100040E8F20E1516E06A1122EA1A6B90FDE9A7 +:1084200012AEF00A000A0A0EEBE62008160AFDE872 +:10843000000840FB0C58E0697193EA19FD98100A96 +:10844000F6090009FDE52008F40B1507F7EA139B70 +:108450001C0BF7E800080A580C0910094108F2063D +:10846000150CE06A438EEA1AA679EDE91346F00A84 +:10847000000A1606F7EE2008EDE800081C580A0A64 +:10848000100A4118F4051511E0690821EA1949B4E8 +:10849000EBEA12F5F00900090C05EDEB2008EBE81A +:1084A000000816581C091009F2031516E7E912A373 +:1084B0000A03E7E520080C680A58404EE06A256286 +:1084C000EA1AF61EFC0A000A160A408B100A40D867 +:1084D000F40E1505E069B340EA19C040FDEA13BE89 +:1084E000F6090009060E403B0C09E0665A51EA16EF +:1084F000265EF0060006FDE320080A68065810090B +:10850000E062C7AAEA12E9B6F6020002F20B150908 +:10851000F7E9137B41191C0BF7EE200806681C587D +:108520000A0606021006E063E681EA13D8A1F20308 +:108530000003EC09150EF3E613291609F3EB2008E6 +:108540001C68165840CA10024078E065105DEA15B4 +:10855000D62FE0611453EA110244E8050005F40146 +:1085600000011C051601E40A1514E06EFBC8EA1EA2 +:10857000E7D3F5E212CAF00E000E120AF5E9200860 +:10858000166840BB125812031005E066CDE6EA16E5 +:1085900021E1F6060006EA0B1505F7E513BB140BFF +:1085A000F7EA2008126841091458E06507D6EA1571 +:1085B000C3371001F2050005E2091509F3E113794B +:1085C0001609F3EB20081468165810034068140EBF +:1085D0001606E60A150EE0620D87EA12F4D5F5E3F9 +:1085E000132AF0020002120AF5E92008166840ABCF +:1085F00012581205100EE06314EDEA13455AF60303 +:108600000003FC0B1514F7EE12CB140BF7EA20084D +:10861000126840F91458E061E905EA11A9E310066F +:10862000F2010001EC091505F3E613B91609F3EBA5 +:10863000200814681658100540581402E066A3F884 +:10864000EA16FCEFEA0A1509F0060006F5E5137ACA +:10865000120AF5E9200816681258409E1002160307 +:10866000E40B150EF7E2132B140BF7EA200812683F +:108670001458E06502D9EA15676F1003FC05000580 +:10868000E60E1514FDE312CE160EFDEB200814685D +:1086900016581201100140A840E91406E060F68166 +:1086A000EA108771E20A1505F0000000F5E113BA3F +:1086B0001C0AF5EE200816681C58E0624C8AEA1283 +:1086C0008D2A1006F2020002EC091509F3E613796F +:1086D0001409F3EA20081C681458160540DB10053D +:1086E0004108E434C6BEE0616122EA116D9DE80AEA +:1086F0000007F6010001E066380CEA16FDE5F00619 +:108700000006EA08150EF1E513281208F1E9200B1E +:10871000F7EA000A125A1C021402407A404E120074 +:108720001001E063CFA9EA134BDEF4030003E40A6F +:108730001514F5E212CA100AF5EB200BF5E8200833 +:10874000EE0B000BF6091504F3EB13C914091258CC +:1087500014061000F3EA200AE065EA44EA15A4BE14 +:10876000E008150BFC050005F1E01358120512088E +:10877000105A10031401F1E92009E20B1510F7E17A +:10878000130B100B1659F7E820081206EC0E1517FC +:10879000FDE6129E160E1C5810054098FDEB200AAF +:1087A000EA061504E0694B60EA19F6BBEDE513C66D +:1087B000F00900091C0616090C5AEDEE20081403F6 +:1087C00040CBE605150BEBE313550C050A58E06AA0 +:1087D000BC70EA1ABEBF1009F60A000AEBE62008D0 +:1087E000F20B1510F7E9130B0A0B16581C0A100AA6 +:1087F00040F8F40E1517E0697EC6EA19289BFDEAD9 +:10880000129EF0090009160EF7E520081C580C0905 +:1088100010094038F2061504E06A27FAEA1AEAA1BC +:10882000EDE913C6F00A000A1C06FDEB20080C58FF +:108830000A0A100A4068F405150BE0693085EA1948 +:10884000D4EFEBEA1355F00900090C05EDEE200812 +:1088500016090A58408B1009E06A1D05EA1A0488B7 +:10886000EBE62008F60A000AF20B1510F7E9130BE5 +:108870000A0B16581C0A100A40B8F40E1517E069C6 +:10888000D039EA19D9D4FDEA129EF0090009160E72 +:10889000F7E520081C580C09100940E8F2061504F9 +:1088A000E06A99E5EA1AE6DBEDE913C6F00A000A88 +:1088B0001C06FDEB20080C580A0A100A4118F405A2 +:1088C000150BE0697CF8EA191FA2EBEA1355F009D1 +:1088D00000090C05EDEE200816090A58405B100946 +:1088E000E06A5665EA1AC4ACEBE62008F60A000A0C +:1088F000F20B15101C0AF7E9130BE0692244EA1980 +:10890000F4290A0B1658100A4032F40E15171202F9 +:10891000FDEA129EEA0811FF160E409AFDE81008C3 +:10892000E069FF97EA19432A1658F40900090A0971 +:108930000C0241061002F60811FFE40A1506F5E2E2 +:1089400013AA1C0AF5E810081C58F2080005E06993 +:1089500023A7EA19AB941206FC0811FFEC0B000BDD +:10896000EA06150AEDE513661406EDE8100814583A +:10897000F6080008E069A039EA19FC93F00B150F1E +:10898000FA243942F7E8131BE80900050C0BEA0E3C +:10899000000EF40811FFF7E810080C58E06959C3FD +:1089A000EA19655BFC08000540E2EA0E15151202A3 +:1089B000FDE512BEEC0811FF160EFDE81008165872 +:1089C000E40A000AE069CC92EA198F0CF40800026C +:1089D0004068F00900090C09E40A1506F60811FFC1 +:1089E000F5E213AA1C0AF5E810081C58F208000268 +:1089F000E069F47DEA19FFEF40C1FC0811FF1201A4 +:108A0000E406150AE20B000BE0695DD1EA198584E2 +:108A1000EDE213661406EDE8100814584045F60818 +:108A200000011205E20B150FEA0E000EF7E1131B11 +:108A3000F40811FF0C0BE0697E4FEA196FA8F7E804 +:108A4000100840A30C581203E60A000AFC080005AF +:108A5000EC0811FFEA0E1515FDE512BE160EFDE835 +:108A600010081658F4080003411AF60811FFE069CF +:108A7000E6E0EA19FE2CF4090009E60A15060C09DD +:108A8000F5E313AA1C0AF5E810081C58F2080003C5 +:108A90004088E0694314EA19A301F00900091609A6 +:108AA000FC0811FF40FBE605150AEBE3136514050E +:108AB000EBE810081458F2080008E06911A1EA195F +:108AC0004E08F6090009F20E000EF006150FE069D7 +:108AD0007E82EA19F753EDE81316F40811FF0A062F +:108AE000EDE810080A58FC080001407E120EEA0862 +:108AF00011FFFC0A000AE20E1515FDE112BE0C0E74 +:108B0000FDE810080C58F40800094128F20A15067F +:108B1000F5E913AA1C0AF4080009E068F235EA181E +:108B2000BD3A990940D91009EC0811FFF205000B74 +:108B3000F5E8100840091C58720CF6080001E069BD +:108B4000D2BBEA192AD740581208E20B150AF006E0 +:108B50000009F7E1136BFC0811FF140BF7E810088C +:108B60001458F208000640B8E069D391EA19EB8680 +:108B7000F0090009F20E0008F40A11FF400EEC099A +:108B8000150FF3E613191609F20C000CF3EA100A9C +:108B9000165AF00A0006EC081515F1E612B8100C8A +:108BA0009D0C401A7408120895084028700916098F +:108BB00091092EDDD832D703EBCD40E03809764855 +:108BC000F1D8C066F608000AF56900181895F00A91 +:108BD000113F1697F6080008F0CCFFE7587AE08BB3 +:108BE0000056300BF01F002DEEC6FFE8EECCFFA8BC +:108BF0000C9B1798178917BAF3E8108917A8F1EAA0 +:108C00001088F3E8110916A9183BCF410C9B0E9C64 +:108C1000F01F0023338A300B0C9CF01F00200C9BAC +:108C2000ECCCFFC81798178917BAF3E8108917A872 +:108C3000F1EA1088F3E8110916A9183BCF416E48F4 +:108C40006E590C9B0E9CEF480050EF490054F01FEA +:108C500000140E9BEECCFFF01798178917BAF3E8B3 +:108C6000108917A8F1EA1088F3E8110916A9183B32 +:108C7000CF410E9B0A9C310AF01F000A0E9C304A1D +:108C8000300BF01F0006E3CD80E0208A300BEEC6EB +:108C9000FFE8F01F0002CC4B800091D0800281FCE5 +:108CA000800091DCEBCD40FC1493784AF40300384B +:108CB000103AF9F98005F9F9B005F7B90BFFF9F9A0 +:108CC000BA059948E608161DF20800089958189444 +:108CD0001692F1DAC066C381F8C5FFE8E043003FB1 +:108CE000E088002C3006EAC7FFC0E406000B340A17 +:108CF0000A9CF01F00290A9B1798178917BAF3E8F6 +:108D0000108917A8F1EA1088F3E8110916A90E3B9B +:108D1000CF410A9B089CF01F00212C06E6060108A3 +:108D2000E048003FFE9BFFE3E6C80040E7D8C006EE +:108D3000E018FFC02C081002069A049B0A9CF01F42 +:108D40000016E3CD80FCF00711402E88100C0E3386 +:108D5000C1D30E9AF01F0010E8C5FFE8E8CCFFA8C9 +:108D60000A9B1798178917BAF3E8108917A8F1EA30 +:108D70001088F3E8110916A9183BCF410E130E0213 +:108D80000A9B089CF01F0005CAAB069AF01F000260 +:108D9000E3CD80FC800091DC800281FCEBCD40FCC7 +:108DA000216DE0682301EA186745E06EAB89EA1E91 +:108DB000EFCD30075008501EE068DCFEEA1898BA84 +:108DC000E06E5476EA1E1032504750575028503EFD +:108DD00018931292580CC140149416951A962FF7B6 +:108DE000090A0B0B1A9CF01F00080E33FE9BFFF9BB +:108DF0001A9B049CF01F00052EADE3CD80FC1A9653 +:108E0000CF8B000080028CA480028BB8D431FACDC5 +:108E10000088501C500B14931292109142B0585A73 +:108E2000E08B0056E04B0040E08B0054FAC4FFF8A2 +:108E3000340A300B089CF01F002E400A401B089C8F +:108E40000896F01F002CFAC5FFB808970D88EC189B +:108E500000360CC80A36CFB1340851845128580363 +:108E6000C110FACCFF9CFACBFFB4300AE60E150213 +:108E7000E40A030818A8E20A030916A92FCA1C3A33 +:108E8000CF81E6CCFFFF00990A9AFAC3FFA0069BA8 +:108E9000F01F0019340A300B089CF01F0015400A1F +:108EA000401B089CF01F00130F88EC18005C0EC8D4 +:108EB0000C37CFB1310C3408513C5184519000999A +:108EC0000A9A069B5128302CF01F000B2DEDD8324A +:108ED000FAC6FF881A9A0C99FACBFFFC301CF01FD7 +:108EE0000006310850165008CA2B0000800091D0AF +:108EF000800091DC80028D9CD401202D501A5009F5 +:108F0000301A1AD8FAC9FFF8FAC8FFFCF01F00039C +:108F10002FFD2FEDD802000080028E0C5EFC5EFE5D +:108F20005EFCD703EBCD40C01896F01F00061897E3 +:108F3000C0500C9A300BF01F00040E9CE3CD80C093 +:108F400080009200800091D0D401F01F0002D80A66 +:108F500080014600D401F8CBFFFCF01F0002D80AC4 +:108F6000800145D4780C580C5E0C3008F948004C50 +:108F7000780C580CCFC15EFC580CF9FC10435EFC19 +:108F8000580CF9B80100F9F81A435EFCEBCD40E04B +:108F9000189716961495314CF01F0005F9F71A032F +:108FA000F9F61A04F9F51A02E3CD80E080028F2465 +:108FB000EBCD40E01696149578075807C160580627 +:108FC000C080306A0C9BEECCFFC0F01F000AC0A12D +:108FD0005805C0B0EECCFFFC310A0A9BF01F00051B +:108FE000C0406E075807CEC10E9CE3CD80E0000064 +:108FF0008000917CEBCD4040781820181696991887 +:10900000784B78390C9C5D190C9CF01F0003E3CD64 +:1090100080400000800091E8EBCD4080202D300A98 +:109020001897189B49BCF01F001C300A0E9B49BCC6 +:10903000F01F00196E085808C2201A9CF01F001873 +:109040006E08400A70EC0E993008141C109BF8084A +:109050000C4C490A2FFCF01F00136E2BF6FA010C82 +:10906000580AC1006E08400A712C0E99141C300871 +:1090700048AAF8080C4C109BF01F000A2FEDE3CD16 +:109080008080F6CBFEB80E9CF01F0007CF80CEBBD1 +:10909000800290E4800274008002913080028F543C +:1090A0008002747480028FB0EBCD40C01896580CCB +:1090B000C1407809300899085809C031C0880E9914 +:1090C0007207129CF01F00065807CFA10C9CF01FDE +:1090D00000050C9CF01F0002E3CD80C0800091E8E9 +:1090E00080029018EBCD4080202D18971A9CF01F1D +:1090F000000E6E0A580AC0C1C1087408149B8F087C +:10910000300A0E9CF01F00096E0A580AC06074E90C +:1091100040081039FE9AFFF30E9CF01F00052FED5A +:10912000E3CD808080028F5480028FF480029018FB +:10913000D4013008782AF548010C7829F2FC0104A2 +:10914000F01F0002D8020000800255ACD43120CDBF +:109150001096782814941293E04A00205FBAF0F930 +:109160000160189758295F18169241511448C05051 +:1091700030060C9C2F4DD832354CF01F00621890F1 +:10918000CF80089A049B2ECCF01F005F81D4FAC9CF +:10919000FFE450965083FAC5FFF84DC81AD5303A0F +:1091A000089B049C4DA65086F01F005AE0C8FFFCA7 +:1091B0000A9B5018310A109CF01F0053FACCFFD4C0 +:1091C000F01F0055E0C8FFC0502840BC6E29F2F8DF +:1091D0000150F808000881E86E2AF4FB0150F4F908 +:1091E0000154E06A851FEA1A51EBB739F20A0648C2 +:1091F000301AA599180981FAE1490048306A402CD3 +:10920000069BF01F0041E141004C2FFD6E06580601 +:10921000C2903005C0680C956C0C580CC58018962F +:10922000ECCBFFC0306A069CF01F003CCF516CD8DD +:109230000838C5505805EDF80000EFF80A00EDF8C1 +:109240001000EBF81A006E29F2F8010C0C38F9B88E +:109250000000F3F80A430C9B301A0E9CF01F0030FC +:109260006E066E1859F8E08A00155806C3200C9A4D +:1092700015088F086E28F0F90128ECCBFFC0720C9E +:1092800072F85D180C9B300A0E9CF01F00256E06CC +:109290005806C1F060EA6CE8103AC074C1A872E8E0 +:1092A0001438E089000612966C095809CF9181099B +:1092B0008D006E2C6E18400A401B2FF88F18F8F99D +:1092C00001280096720C72E85D18C54B6E06CCAB97 +:1092D00081068F000E9CF01F0013CECB089A049BD2 +:1092E000ECCCFFECF01F000DCA61310A400BECCC56 +:1092F000FFFCF01F000AC9F1009CF01F000BC3AB7C +:1093000080028F24800091DC8003DB248003DB9CBF +:109310008002B14480028F548000917C80028FF4DF +:1093200080029018800091E8EBCD4080189E78076D +:10933000580BC06116970E9CE3CD80806E075807CE +:10934000CFB06F381638CFB11AD814997C286EDA9E +:10935000F0C8FEC8EECBFFEC1C9CF01F00092FFDEF +:10936000580CF8071700EFF8100EF9F81A0EF80766 +:109370001710F9B80101F9F81A14CDEB8002914CDD +:10938000EBCD40FC1897300CEF4C010C1496129268 +:109390001094EEF50108580BC080169A189B0A9C91 +:1093A000F01F0016EF4C010C58065F13EEFC010C89 +:1093B000580C5F09F3E30008C16158045F18F3E833 +:1093C0000008C0A05803C0800C9A049B0A9CF01FA0 +:1093D000000CEF4C010C580CF9BC00FFF9BC01006B +:1093E000E3CD80FC300A0C9B0A9CF01F00045F094F +:1093F000EF4C010CCE3B000080028FB0800293281E +:109400000000000000000000EBCD4080580CC100BF +:10941000F8F901103008F94801105809C031C08826 +:109420000E997207129CF01F00045807CFA1E3CDDC +:1094300080800000800091E8EBCD40C01897580C68 +:10944000C250F8F801245808C210189B300A491C71 +:10945000F01F0011EEFC0124F01F00103006306AEE +:109460000C9BEF460124EECCFEE4F01F000DEEFC59 +:109470000114F01F000CEF460114EEFC0118580C0B +:10948000C050F01F0008EF460118E3CD80C0000077 +:109490008002996880027400800256EC800091D0AE +:1094A00080028174EBCD40F8205D189716951494D6 +:1094B000F8F601245806C0503FFC2FBDE3CD80F8DC +:1094C000F8FA012817D81AD817C91AD917B81AD80C +:1094D00017A91AD917981AD81789301B1AD9740CDA +:1094E0004C6AF01F0047EEC3FEC81AD60E984C59BE +:1094F000E06A88C7069BEEFC0140F01F0043EF4C7A +:1095000001142F9D580CC6F0EEFC0144580CC0E02D +:109510001AD6069B0E984BB9E06A88C7F01F003A2E +:10952000EF4C01182FFD580CC5E0340CF01F00372C +:109530001896C5B0EEF8012870099909EEF80128CF +:109540003019700A4B2899199928994A99374B185C +:10955000EEF9012C998899599967EEF8012871095B +:1095600099A9EEF80128711999B9F01F002BEF4C59 +:109570000124C3D0314A300B1A9CF01F0028EEF9A9 +:1095800001305804E9F8105FFBF81A03300650293F +:109590001A9A089B50165006EEFC0124F01F00207A +:1095A000306830593FFAEEFC0124149BF01F001D77 +:1095B000306A0A9BEECCFEE4F01F001B301BEEFC71 +:1095C0000124F01F001A301BEEFC0124F01F0018CC +:1095D0000C980E99497A0C9BEEFC0158F01F00166E +:1095E0000C9CC6CB3FECC6AB3FCCC68B0C9CF01F93 +:1095F00000133FDCC63B00008003DBA880023A1A60 +:1096000080029AF08002819C80028F2480029A243A +:10961000800299C48002609C800091D08002581C16 +:1096200080025564800091DC800261D4800261E890 +:109630008002996880027474800091E8EBCD40FC50 +:109640001897F8F801105808C6F0F8F801284CAA45 +:10965000700C301BF01F0049EEF801245808C0A020 +:10966000EEF801284C6A700C301BF01F0044E3CD6B +:1096700080FCEEF801605828CF41EEF80128700C0C +:1096800070295D19587CCED1EEF8016C5818CE9136 +:10969000EEF501105805C410EEC2FEB8EAC3FFFC97 +:1096A000300A069BEEFC0108F01F0036306A189461 +:1096B000069B049CF01F0034C0605804C3706948C6 +:1096C0005808C341EB3800091AD8EB3800081AD8FB +:1096D0000BF81AD80BE8EEF601281AD80BD91AD9CC +:1096E0000BC84AAA1AD8301B6C0CF01F00242FADEF +:1096F0005804C090EEF90128E8CAFFFC069B720CE2 +:1097000072E85D186A080A9CEF480110F01F0020FB +:10971000EEF501105805CC31EEF8012849DA700C4D +:10972000301BF01F0016E3CD80FCEB3800091AD87F +:10973000EB380008EEF601281AD80BF81AD80BE817 +:109740001AD80BD91AD90BC8493A1AD8301B6C0C45 +:10975000F01F000A6A08069BEEFA0134EF48011078 +:109760000E9CF01F000E0A9CF01F00092FADE3CDE8 +:1097700080FC00008003DBEC80023A1A8003DC14DA +:1097800080028FB08000917C8003DCA0800091E893 +:109790008003DCFC8003DC4C800294A4EBCD40F819 +:1097A0001695189414931297F8FB0134580BC05077 +:1097B000F6F801485808C5D15807C4C0E8F60110AA +:1097C0005806C4A03007C0680C976C0C580CC440F5 +:1097D0001896306A0A9BECCCFFFCF01F002CCF518E +:1097E0005807EDF81000EFF81A00EDF80000E9F85E +:1097F0000A44E04303E7E08A003BE8FA0110580A14 +:10980000C4006C3B74381638C065C3B8723816385B +:10981000C054129A74095809CFA18D0995061AD31C +:109820000BD80B8CE8F601281AD80BC91AD90BB83B +:109830001AD80BA91AD90B98495A1AD8301B1ADC16 +:109840006C0CF01F0014089CF01F00132F9DE3CD3B +:1098500080F8E3CD80F8310CF01F00101896C0F0AE +:10986000306A0A9BECCCFFFCF01F000D8D33CC6BF3 +:109870000A9AF8FC0108F01F000BC9FBE3CD80F841 +:109880008D0AE9460110CCCB8000917C8003DD2459 +:1098900080023A1A8002963C80028F24800091DC7C +:1098A00080029328EBCD40F8208D169414971895DC +:1098B000F8F801345808C470F01F0027EEC6000104 +:1098C000C426E068009C1A93EC080248E8080007E8 +:1098D000EAC4FEB8C0682016EEC7009C5806C3351F +:1098E000EAF901346EAA7258103ACF61724BEECC8D +:1098F000FFFAF01F001ACF01306A089B0E9CF01F80 +:109900000017CEA0EEFB0080580BCE601A9AEECC6A +:10991000FFA8F01F0013CE01189A0E9BEAFC010865 +:10992000F01F0010C13079485808CD604048EDB8AC +:109930000000CD213019E06A03E80E9B0A9CF01F5D +:10994000000ACCAB2F8DE3CD80F84048F3D8C0019E +:10995000CF3B0000800294088000917C8002BD68AB +:1099600080028FB08002979CEBCD4060F9380121D6 +:10997000F8F501281AD8F93901201AD9F938011F48 +:109980001AD8F939011E1AD9F938011D1AD8F9392E +:10999000011C489A1AD9302B18966A0CF01F000740 +:1099A0000C9CF01F00070C9CF01F00062FADE3CDB0 +:1099B000806000008003DD6C80023A1A80029438D7 +:1099C0008002963CEBCD40E0201D1897F8F801147A +:1099D0005808C0613FF60C9C2FFDE3CD80E0F8F8FD +:1099E0000128300C5C791ADC5C5B700C70D6FAC80C +:1099F000FFFC5D162FFD1895580CCED01899400825 +:109A0000E06A88C7EECBFEE4EEFC0114F01F000410 +:109A100018960A9CF01F0003CDFB000080028154C1 +:109A2000800091E8EBCD40E0208D14971896580BFC +:109A3000C2614A781AD8EEF60128EF3801211AD807 +:109A4000EF3901201AD9EF38011F1AD8EF39011E5A +:109A50001AD9EF38011D1AD8EF39011C49DA1AD981 +:109A6000302B6C0CF01F001C0E9CF01F001C0E9C79 +:109A7000F01F001B2F9D2F8DE3CD80E01A95320A39 +:109A80001A9BF01F0018C1211A9B320AEEF801340C +:109A90008F8A1AD8EEC9FEE4EEC8FEC8EEFC0108B3 +:109AA000F01F001149182FFDCC6B0C9C310A1A9B3A +:109AB000F01F000CC090EEF8012848DA700C302B33 +:109AC000F01F0005CB7B1A9B310ACE1B8003AD2C07 +:109AD0008003DE1880023A1A800294388002963C95 +:109AE000800257CC8002914C8003DDB48003DDCC32 +:109AF000EBCD40F81897169514931294F8F80124BA +:109B00005808C090F8C6FEE4306A48BB0C9CF01FB1 +:109B1000000BC031E3CD80F80C9C306A0A9BF01F2B +:109B20000007CF910899069A0A9BEEFC0124F01FCA +:109B30000004CF1B800294008000917C800261FCB5 +:109B4000EBCD40F8FACD01001293109418961697B9 +:109B5000149530081A99F2080B082FF8E048010014 +:109B6000CFB1300E1A9C1C9BEC0B0709198AFC0A1A +:109B700000081208FAC9FF00FDD8C0081C09F33814 +:109B8000FF0018C8F36AFF002FFBFAC8FF000E3B66 +:109B9000F9BB0200103CCE915805C4C0300E1C9792 +:109BA0001C9CF8C8FFFFFACAFF00F9D8C008180AC1 +:109BB000F53BFF00F60E0008FAC9FF00FDD8C0080B +:109BC0001C09F338FF00F568FF00F36BFF002FF767 +:109BD0000E35FE9BFFE85804C2A006963007F8C871 +:109BE000FFFFFACAFF00F9D8C008180AF539FF00CC +:109BF000F20E0008FACBFF00FDD8C0081C0BF738A6 +:109C0000FF00F568FF00F769FF00F538FF00100955 +:109C1000F3D9C008FACAFF00120A0D89F538FF000F +:109C200012580CC82FF70E34FE9BFFDB2C0DE3CD32 +:109C300080F80A9E0A9CCD0BD401129E16981899A2 +:109C40001C9B149C300AF01F0002D80280029B402B +:109C500000000000D431FACD0180340AFAC4FEC0FD +:109C6000510C089CF01F04BF688A516A689950A97A +:109C700068A8509868B65086684568216830416683 +:109C800050E5685250D2686A50CA687950B968087D +:109C90005158E3E8200868D50C580A586812F00AB1 +:109CA000150150F2F5E813FA517A68E868F640E5D4 +:109CB00040A9105940980C580A5802580059F00A07 +:109CC00015010459F5E813FAF20215014178E5E9A6 +:109CD00013F2519A518240C54089105968C80458FE +:109CE00040E20A58045840D6F00A15010C59F5E82C +:109CF00013FA005951AA419840B640D5416240CA72 +:109D0000F2071501EFE913F768D9105968E80E5802 +:109D1000045814580C590A59F0051501F20615019A +:109D2000EBE813F5EDE913F640B851C551B641A281 +:109D300068F940AA416504591459105941780C58E2 +:109D400040960C580A58F2021501F00A1501E5E98F +:109D500013F2F5E813FA41C851EA51D2408640A502 +:109D6000409A418910594198045868C204581458BF +:109D70000C590A59F0051501F2061501EBE813F527 +:109D8000EDE913F6408851F6520541E268DA68C5FC +:109D9000EFE220091459105941A80C5868E60C58F4 +:109DA0000A58F2021501F00A1501E5E913F2F5E887 +:109DB00013FA52124208522A41B968F668D568EA85 +:109DC000105941C804584172045814580C590A5982 +:109DD000F0051501F2061501EBE813F5EDE913F6B0 +:109DE0005245523668F84222418A417541D9045998 +:109DF0001459105941E80C5841960C580A58F2026F +:109E00001501F00A1501E5E913F2F5E813FA4248E5 +:109E1000418641A5525241F9105942080E59045841 +:109E20000C5941920A580458526AF20A1501F5E990 +:109E300013FAF0091501F3E813F9426841B641C578 +:109E400041A2527A52894219105942280C59145889 +:109E50000E590A580458F20A1501F5E913FAF009E7 +:109E60001501529AF3E813F9428852A941D641B537 +:109E700041E2423910594248145841CA0458145812 +:109E80000C5941FA0A59F0051501F2061501EBE8E3 +:109E900013F5EDE913F641D852C542A241E552B699 +:109EA00042590459145942CA105942680C58420682 +:109EB0000C580A5841F6F20E1501F0021501FDE9A1 +:109EC00013FEE5E813F2421942781458420A42257B +:109ED000125842890C581C59F00615010A59EDE830 +:109EE00013F61459F20A1501F5E913FA0C951493B7 +:109EF000423952E652FA4216424A52D24298045825 +:109F0000125842A90C580A5942261459F00A150150 +:109F1000F5E813FA0C59530A1496F2081501425A3F +:109F2000F1E913F84239109C531842B806581458F6 +:109F3000426A125842C90C591459424A1459F00A3B +:109F40001501F5E813FAF2081501F1E913F8109B71 +:109F500053384278FDEC20091059425810595019D5 +:109F60004289E5EA200812584269125840195008FF +:109F70004018A178F1E913F8400953484008A17846 +:109F8000F1E913F853584298EBEB20091059427845 +:109F9000105942A850194349E7E92009105942884D +:109FA000105940185009532A4019A179F3E813F9C0 +:109FB000400853694009A179F3E813F953794358EC +:109FC000EDE8200942B810594298105942C850197A +:109FD0004369F9E92009105942A81059401850095D +:109FE0004019A179F3E813F9400853894009A17990 +:109FF000F3E813F943785399F5E8200942B81C595E +:10A00000105950194389F7E92009129842C9045898 +:10A010001258401950084018A178F1E913F8400986 +:10A0200053A84008A178F1E913F8434953B843987D +:10A0300010590A591C59501943A94358125840192C +:10A04000065804584012A172E5E913F253C2F00217 +:10A050001501E5E813F243B84369105943780C59E8 +:10A060000A5943C50A581858065853D2F202150126 +:10A07000E5E913F2F0091501F3E813F943D853F9B0 +:10A08000438910594398145904580C5916581858B4 +:10A0900053E243F54342F20C1501F0061501F9E9CC +:10A0A00013FCEDE813F643A943B80A5918580459AC +:10A0B0001459435A145816585406436A4402F20677 +:10A0C0001501F0051501EDE913F6EBE813F543482A +:10A0D00054255416435543C904591459105943D8AB +:10A0E000F20215010C58E5E913F2437654320C588C +:10A0F0000A58F00A1501F5E813FA544A890A442966 +:10A1000043864365437A43E8125843F90C5804598F +:10A110000A584392F0061501EDE813F654568916D5 +:10A1200004591459F2051501EBE913F55465892515 +:10A13000444243AA4389F9E2200814581258F00215 +:10A140001501E5E813F25472439544090C5943B6DE +:10A1500089320C590A59F20A1501F5E913FA548AA1 +:10A16000894A43C6446943A5441812580C580A58F2 +:10A17000F0061501EDE813F6549643BA4429045944 +:10A1800043D2895604591459F2051501EBE913F528 +:10A1900054A58965448243EA43C944380458145895 +:10A1A0001258F0021501E5E813F254B243D54449C0 +:10A1B0000C5943F689720C5944080A59446A045AE6 +:10A1C000105A0C5AF2061501EDE913F654C6447BF9 +:10A1D00089860C5BF4061501EDEA13F654E6441586 +:10A1E00044A243E9445889A60A5B045818581258F7 +:10A1F000F0051501EBE813F554D58995185BF602C7 +:10A200001501E5EB13F254F289B2444A4489449BA8 +:10A210000A590C5B4405442644A804581458F3E634 +:10A22000200A0C580A5A5028E0657999EA155A8292 +:10A23000504A410644325116441AEE050009F7E22D +:10A2400020081458E062EBA1EA126ED95038507918 +:10A25000040E0C99506EE068BCDCEA188F1B0C9A57 +:10A26000100C2F8A505C512A1306511941087403AF +:10A27000720C2F485138410A2F0A514A700A41483E +:10A28000700941580A08F0090009EC081505F1E6C3 +:10A2900013B8F2080008F5E3200918691459F00909 +:10A2A000000740F80A08F00A0009F80B151EF7EC41 +:10A2B000122BF7E320080C680658F2080008EE0994 +:10A2C0001505F3E713B9EC0A151EF009000EF5E6C3 +:10A2D000122AFC091505F7EA2008F3EE13B9EFE896 +:10A2E000000816580A01EE0C151E0601F9E7122C9B +:10A2F0001001F9EA200812011C68E209150514583A +:10A30000F3E113B90A001600100040E812000A0831 +:10A31000F00A0009FC0B151EF7EE122BF7EC2008D3 +:10A3200002681858F2080008E0091505F3E013B9AF +:10A33000F009000640D80A08F00C0009E20A151ED0 +:10A34000F5E1122AF5EB200800681658F20800081B +:10A35000EC091505F3E613B9F009000E40C80A0828 +:10A36000F00B0009E00C151EF9E0122CF9EA2008A8 +:10A370000C681458F2080008FC091505F3EE13B92F +:10A38000F009000340B80A08F00A0009EC0B151E9A +:10A39000F7E6122BF7EC20081C681858F2080008A2 +:10A3A000E6091505F3E313B9F009000641680A0848 +:10A3B000F00C0009FC0A151EF5EE122AF5EB200838 +:10A3C00006681658F2080008EC091505F3E613B9FB +:10A3D000F009000E40A90A091609E60C151EF9E35A +:10A3E000122CF9EA20080C681458F2080008FC093D +:10A3F0001505F3EE13B9F009000340980A08F00AB6 +:10A400000009EC0B151EF7E6122BF7EC20081C6870 +:10A410001858F2080008E6091505F3E313B9F00926 +:10A42000000640890A091809FC0A151EF5EE122AD1 +:10A43000F5EB200806681658F2080008EC09150527 +:10A44000F3E613B9F009000E68C80A08F00B00091A +:10A45000E60C151EF9E3122CF9EA20080C681458D2 +:10A46000F2080008FC091505F3EE13B9F009000124 +:10A4700068D90A091409EC0B151EF7E6122BF7EC44 +:10A4800020081C681858F2080006E2091505F3E1D7 +:10A4900013B968E8EC0900030A08F00C0009FC0A8B +:10A4A000151EF5EE122AF5EB200802681658F20880 +:10A4B0000008E6091505F3E313B9F009000E68F981 +:10A4C0000A091609E20C151EF9E1122CF9EA200816 +:10A4D00006681458F208000BFC091505F3EE13B9D1 +:10A4E0004178F60900000A08F00A0009E606151E80 +:10A4F000EDE31226EDEC20081C681858F208000A5B +:10A50000E0091505F3E013B9F409000341890A09CC +:10A510001809FC0A151EF5EE122AF5E62008006857 +:10A520000C58F208000CE6091505F3E313B941983D +:10A53000F80900010A08F0060009E00B151EF7E013 +:10A54000122BF7EA200806681458F2080008E209FE +:10A550001505F3E113B94077F009000E1407FC0963 +:10A560001505E60A151EF3EE13B9F5E3122AF5EB0D +:10A57000200802681658EE080008F009000341A8F8 +:10A580000408F00B0009E20C151EF9E1122CF9EA9F +:10A5900020081C58F2080008E6091505F3E313B972 +:10A5A000F009000541B904091409FC0B151EF7EE6A +:10A5B000122BF7EC20080658F2080008EA091505E6 +:10A5C000F3E513B9F009000641C80408F00C0009CE +:10A5D000E60A151EF5E3122AF5EB20080A58F208E0 +:10A5E0000008EC091505F3E613B9F009000E41D98E +:10A5F00004091609EA0C151EF9E5122CF9EA2008DF +:10A600000C58F2080008FC091505F3EE13B9F0091F +:10A61000000541E80408F00A0009EC0B151EF7E6F6 +:10A62000122BF7EC20081C58F2080008EA0915055F +:10A63000F3E513B9F009000641F904091809FC0A09 +:10A64000151EF5EE122AF5EB20080A58F20800084C +:10A65000EC091505F3E613B9F009000E42080408E9 +:10A66000F00B0009EA0C151EF9E5122CF9EA200896 +:10A670000C58F2080008FC091505F3EE13B9F009AF +:10A680000005421904091409EC0B151EF7E6122BFC +:10A69000F7EC20081C58F2080008EA091505F3E554 +:10A6A00013B9F009000642280408F00C0009FC0A5E +:10A6B000151EF5EE122AF5EB20080A58F2080008DC +:10A6C000EC091505F3E613B9F009000E4239040947 +:10A6D0001609EA0C151EF9E5122CF9EA20080C58A7 +:10A6E000F2080008FC091505F3EE13B9F00900059E +:10A6F00042480408F00A0009EC0B151EF7E6122B7D +:10A70000F7EC20081C58F2080008EA091505F3E5E3 +:10A7100013B9F0090006425904091809FC0A151E6C +:10A72000F5EE122AF5EB20080A58F2080008EC09A9 +:10A730001505F3E613B9F009000E42680408F00BA2 +:10A740000009EA0C151EF9E5122CF9EA20080C584C +:10A75000F2080008FC091505F3EE13B9F00900032F +:10A76000427904091409EC0B151EF7E6122BF7ECDD +:10A7700020081C58F2080008E6091505F3E313B990 +:10A78000F0090005428904091809FC0A151EF5EEB6 +:10A79000122AF5EB20080658F2080008EA09150508 +:10A7A000F3E513B9F009000E429904091609E60C05 +:10A7B000151EF9E3122CF9EA20080A58F208000BDA +:10A7C000FC091505F3EE13B9F609000042A90409C6 +:10A7D0001409EA06151EEDE51226EDEC20081C58BA +:10A7E000F208000AE0091505F3E013B9F4090003C3 +:10A7F00042B9FC0A151E0409F5EE122A1809F5E6FD +:10A80000200800584065F208000C1405E6091505FB +:10A81000E00B151EF3E313B9F7E0122BF809000162 +:10A82000F7EA200AE2081505065AF1E113B842C911 +:10A8300004090C091409E60A151EF208000EF5E3D6 +:10A84000122AF5EB20080258EA080008E066BCDC92 +:10A85000EA168F1BFC091505F3EE13B9F009000089 +:10A8600042D80C08E20C151EF00B0002F9E1122C84 +:10A87000FDEC0008FDEC100914691049E00815050D +:10A88000F1E013B8E4090009F208000242E80C08FC +:10A89000FC0B151EF00A0005F7EE122BE1EB000889 +:10A8A000E1EB100918691049E4081505EA090009E7 +:10A8B000F1E213B8E00A151EF2080005F5E0122ACD +:10A8C00042F9E5EA00080C09F20C0003E5EA100978 +:10A8D00016691049EA081505F1E513B8E6090009FB +:10A8E000F208000343080C08E40C151EF00B0006E8 +:10A8F000F9E2122CEBEC0008EBEC1009146910499A +:10A90000E6081505EC090009F1E313B8EA0B151E7A +:10A91000F2080006F7E5122B4319E065BCDCEA15E6 +:10A920008F1BE7EB00080A09F20A000AE7EB10099F +:10A9300018691049EC081505F1E613B8F409000987 +:10A94000F208000243280A08E60A151EF00C000C63 +:10A95000F5E3122AEDEA0008EDEA1009166910493C +:10A96000E4081505F8090009F1E213B8EC0C151E0E +:10A97000F208000EF9E6122C4339E5EC00080A094A +:10A98000F20B000BE5EC100914691049FC081505E1 +:10A99000120BF1EE13B84349F6080005E40B151E3F +:10A9A000F7E2122BE062BCDCEA128F1BFDEB000821 +:10A9B0000409F20A000AFDEB100918691049EA08B7 +:10A9C0001505F1E513B8F4090009F208000643582B +:10A9D0000408FC0A151EF00C000CF5EE122AEBEA36 +:10A9E0000008EBEA100916691049EC081505F8098A +:10A9F0000009F1E613B8EA0C151EF208000EF9E59D +:10AA0000122C4369EDEC00080409F20B000BEDEC8D +:10AA1000100914691049FC081505F1EE13B8F60980 +:10AA20000009F208000543780408EC0B151EF00A33 +:10AA3000000AF7E6122BFDEB0008FDEB1009186980 +:10AA40001049EA081505F4090009F1E513B8FC0AF4 +:10AA5000151EF2080006F5EE122A4389EBEA0008FB +:10AA60000409F20C000CEBEA100916691049EC0815 +:10AA70001505F1E613B8F8090009F208000E43982D +:10AA80000408EA0C151EF00B000BF9E5122CEDEC96 +:10AA90000008EDEC100914691049FC081505F609C9 +:10AAA0000009F1EE13B8EC0B151EF2080005F7E6ED +:10AAB000122B43A9FDEB00080409F20A000AFDEB82 +:10AAC000100918691049EA081505F1E513B8F409E9 +:10AAD0000009F208000643B80408FC0A151EF00C31 +:10AAE000000CF5EE122AEBEA0008EBEA10091669F1 +:10AAF0001049EC081505F8090009F1E613B8EA0C4D +:10AB0000151EF208000EF9E5122C43C9EDEC000801 +:10AB10000409F20B000BEDEC100914691049FC0854 +:10AB20001505F1EE13B8F6090009F208000343D841 +:10AB30000408EC0B151EF00A000AF7E6122BFDEBD9 +:10AB40000008FDEB100918691049F4090009E6082E +:10AB50001505F1E313B8F208000543E90409FC0AFE +:10AB6000151EF20C000CF5EE122AE7EA0008E7EADF +:10AB7000100916691049F8090009EA081505F1E5F8 +:10AB800013B8F208000E43F90409E60C151EF20B87 +:10AB9000000BF9E3122CEBEC0008EBEC1009146944 +:10ABA00010494057FC0815051407F1EE13B8F609D3 +:10ABB000000AEA0B151EF7E5122BFDEB0009F4085D +:10ABC0000003FDEB1008E60A15051868F5E313BA53 +:10ABD0001248EE080009F20A00054409E06AC1D6ED +:10ABE000EA1ACA6214091809FC06151EEDEE1226AF +:10ABF000EDEB20080658F2080008EA091505F3E510 +:10AC000013B9F009000A4419E068C1D6EA18CA620B +:10AC100010091609E60C151EF9E3122CF9E62008B6 +:10AC20000A58F2080008F4091505F3EA13B9EA0B0B +:10AC3000151EF0090003F7E5122B4429E065C1D683 +:10AC4000EA15CA620A090C09F7EC20081458F20840 +:10AC50000008E6091505F3E313B9F009000EFC0935 +:10AC60001505F3EE13B9F406151EEDEA1226443A63 +:10AC7000EDEB20080A0A0658180A100A120A44497D +:10AC80000A091609E60C151EF9E3122CF9E620084C +:10AC90001C58F2080008F4091505F3EA13B9FC057D +:10ACA000151EF0090003EBEE1225E6091505EBEC85 +:10ACB0002008F3E313B91458E062C1D6EA12CA625D +:10ACC000445B040B0C0BF406151E100BEDEA122668 +:10ACD000120BEDE52008F60915050658F3EB13B93C +:10ACE000446A040A180A100A4478F409000E040899 +:10ACF000F0050009E60A151EF5E3122AF5E620081C +:10AD00001658F2080008FC091505F3EE13B9F0090E +:10AD10000005448904090C09F60C151EF9EB122CE8 +:10AD2000F9EA20081C58F2080008EA091505F3E5BD +:10AD300013B9F009000344980408F00A0009FC0B59 +:10AD4000151EF7EE122BF7EC20080A58F20800083F +:10AD5000E6091505F3E313B9F009000E44A9040947 +:10AD60001809EA06151EEDE51226EDEB2008065837 +:10AD7000F2080008FC091505F3EE13B9F009000507 +:10AD8000EA091505F3E513B944BAE60C151E040AE1 +:10AD9000F9E3122C160AF9E620081C58100A120AC8 +:10ADA00044C904090C09FC0B151EF7EE122BF7EC35 +:10ADB00020080A58F2080002F4091505F3EA13B94D +:10ADC00044D8E409000EE069C1D6EA19CA62120843 +:10ADD000EA06151EF00C0009EDE51226EDEB200841 +:10ADE0001458F2080008FC091505F3EE13B9F00930 +:10ADF000000CE068C1D6EA18CA62F405151EF8090D +:10AE00001505EBEA1225F3EC13B944EA100AEBE658 +:10AE10002008160A1C58100AFC02151EF40900012D +:10AE2000E5EE1222E06AC1D6EA1ACA62E5E5200818 +:10AE3000E20915051858F3E113B944FB140B404A15 +:10AE40000C0BA17A100B44B8F609000E4049F5E945 +:10AE500013FA14584459F1E9200B4438E069C1D67B +:10AE6000EA19CA6289CAF7E820074108F806151EE0 +:10AE7000120AEDEC1226700CEDE22008120C0258BA +:10AE8000FC091505F3EE13B90A0AE203151E100AB0 +:10AE9000E7E11223120AE7E62008E069C1D6EA19C1 +:10AEA000CA621C5840354030A170E1E513F0E0095A +:10AEB000000BF4091505040BF3EA13B9100B402835 +:10AEC0004021120BE065C1D6EA15CA62A171E3E820 +:10AED00013F1E2050008F0060009FC02151EE5EE7C +:10AEE0001222E5E320081458F2080008F6091505B7 +:10AEF000F3EB13B9F406151EF009000EEDEA122665 +:10AF0000EE051501410AEBE713F5EDE220080A0C06 +:10AF10001658060CFC091505100CF3EE13B9120CAB +:10AF2000950C411972081C089308F609151E412A50 +:10AF3000F3EB1229740812089508413870090C09BE +:10AF4000910989D089E189F541466C080408089C7B +:10AF50008D08340A300BF01F00042A0DD83200008F +:10AF6000800091DC800091D0EBCD40F878581494AB +:10AF7000A37AF40800099959123AF9F98006F9F907 +:10AF8000B006F7B90BFFF9F9BA06FDD8C066E808B4 +:10AF9000161DF2080008996818951693E80E000926 +:10AFA000E049003FE08B000F3006FCCCFFE4E606F2 +:10AFB000000BEA0C000CE806010AF01F0014E3CDB8 +:10AFC00080F8FC061140FCCCFFE40C9AEA0C000C63 +:10AFD000F01F000EEACBFFE40A9CF01F000DECC846 +:10AFE000FFC11034E088000FE60600070E9B0A9CA4 +:10AFF0002C07F01F00072C06ECC8FFC11034FE9B85 +:10B00000FFF7300ECD3B0000800091DC80029C54A5 +:10B01000D421202D16961895300B1A94583BF9B868 +:10B020000B14F9B80818F60911FFEC08030AF3D954 +:10B03000C002A379F4090A4AE80B0B0A2FFB588BCC +:10B04000CEE1301A49EBC038301A49EB0C9CF01FA6 +:10B05000001E6C58E21801F8E04801C0CF61308A48 +:10B060001A9B0C9CF01F00183007EE081602EE0920 +:10B0700011FFEC08032AF3D9C002A379F4090A4AA4 +:10B08000EA070B0A2FF75947CF11300B340AECCCE3 +:10B09000FFE4F01F000E0E9A300B0C9CF01F000B0B +:10B0A000ECCCFFEC308A300BF01F00081A9C308A81 +:10B0B000300BF01F00062FEDD82200008003DE5871 +:10B0C00080029C508002AF68800091D0EBCD40FCA4 +:10B0D000217DE0682301EA186745E06EAB89EA1E2E +:10B0E000EFCD5008E068DCFEEA1898BA3007501E31 +:10B0F0005028E06E5476EA1E1032E068E1F0EA185B +:10B10000C3D250675057503E504818931292580C73 +:10B11000C140149416951A962FF7090A0B0B1A9C26 +:10B12000F01F00070E33FE9BFFF91A9B049CF01FD3 +:10B1300000052E9DE3CD80FC1A96CF8B8002AF6870 +:10B140008002B010D431FACD008C501C500B1493F7 +:10B150001292109142C0585AE08B0056E04B0040CA +:10B16000E08B0054FAC4FFF8340A300B089CF01F3F +:10B17000002E400A401B089C0896F01F002CFAC5C0 +:10B18000FFB808970D88EC1800360CC80A36CFB106 +:10B190003408518451285803C110FACCFF9CFACBD3 +:10B1A000FFB4300AE60E1502E40A030818A8E20A02 +:10B1B000030916A92FCA1C3ACF81E6CCFFFF0099DC +:10B1C0000A9AFAC3FFA0069BF01F0019340A300B3D +:10B1D000089CF01F0015400A401B089CF01F00133C +:10B1E0000F88EC18005C0EC80C37CFB1314C340816 +:10B1F000513C5184519000990A9A069B5128302C59 +:10B20000F01F000B2DDDD832FAC6FF881A9A0C9970 +:10B21000FACBFFFC301CF01F0006314850165008D6 +:10B22000CA2B0000800091D0800091DC8002B0CC5D +:10B23000D401202D501A5009301A1AD8FAC9FFF833 +:10B24000FAC8FFFCF01F00032FFD2FEDD80200000D +:10B250008002B144D43121AD5009502B501A1892BC +:10B2600042395809C6D0504850593008FAC7FFAC87 +:10B270005038FAC3FFD4FAC0FFC0FAC4FFE8049CF8 +:10B28000F01F003140382FF850381AD34038518819 +:10B2900040285168FAC8FF98519830484046517884 +:10B2A000B986FB380013FAC9FFA0FB68006B189B36 +:10B2B0000E98FB66006840454046302A1891B185DB +:10B2C000049CFB650069A986FB66006AF01F001FED +:10B2D000314A069B009CF01F001E2FFD40085818A5 +:10B2E000E08A001C301608983149069A029B049C9B +:10B2F000F01F0018314A089B069CF01F0015009AA9 +:10B30000089B17381589125814C80E3ACFB12FF67A +:10B3100040080C38FE99FFE940560C985946F9B69A +:10B320000B140C180C9A5058009B404CF01F00084E +:10B3300040585808C05040480C085048CA1B2E6D51 +:10B34000D8320000800091B88002B144800091DCC6 +:10B350008002B230D43120EDFACEFFA4109530082F +:10B3600018927C14149716911296FB680036FB68AD +:10B3700000377C00149CF01F00275804C3003018CD +:10B38000FAC9FFC9508850685097FAC8FFCA505C84 +:10B3900050B6507550A950C85934E0880023300782 +:10B3A000FAC3FFECFAC6FFDCC088FB680036E8078A +:10B3B00001055935E088001CE00700080C991AD8EF +:10B3C0002EC70698304A029B049CF01F00132FFDE5 +:10B3D000FB3800362FF80E34FE9BFFE92F2DD832B4 +:10B3E00008953007FAC3FFECFAC6FFDC0C99069803 +:10B3F0001A96049C1AD6029B304AF01F00070A9A3C +:10B400000C9BE007000CF01F00052FFD2F2DD832FC +:10B41000800091B88002B144800091DC00000000FF +:10B4200000000000EBCD4080129E1097584CC26087 +:10B43000E08A0013588CC140590CC101590B5F18A8 +:10B4400058FA5FA91248C0A130689D083039300C05 +:10B450008F09E3CD8080582CC1E0E3CFC080E04B62 +:10B4600000205F1859FA5FA91248CF8130689D0803 +:10B470003029300C8F09E3CD808058DB5F1858CA23 +:10B480005FA91248CEB130099D093018129C8F086F +:10B49000E3CD8080585B5F18584A5FA91248CF40BF +:10B4A000E3CFC080580C5E0CF8F8010C5808F9B8CE +:10B4B0000100F9F81A435EFC580CF9FB1A4C5EFCCB +:10B4C000580CF9FA1A51F9FB1A505EFC580CF9FBAA +:10B4D0001A415EFC580CC080586BE08800035EFD8A +:10B4E0004928F00B032F5EFEF94A016C5EFDF94A14 +:10B4F00001685EFDF94A01645EFDF94A01605EFD86 +:10B50000580ACF20F94A01585EFDF4C80001E0480E +:10B510000063FE9BFFEAF94A01545EFD580ACE40E3 +:10B52000F94A01505EFD00008003DE5CEBCD40E097 +:10B53000189716951496580CC130F8FC0180F01F2E +:10B54000001158055F0858065F091248C0B030085E +:10B55000EF480188EF480180109CE3CD80E0E3CF05 +:10B56000C0E00C9CF01F0008EF4C0180CF900A9BBC +:10B570000C9AF01F0006300CEF460188E3CD80E006 +:10B58000800091E880009200800091DCEBCD40E0EB +:10B59000189716951496580CC130F8FC017CF01FD2 +:10B5A000001158055F0858065F091248C0B03008FE +:10B5B000EF480184EF48017C109CE3CD80E0E3CFAD +:10B5C000C0E00C9CF01F0008EF4C017CCF900A9B60 +:10B5D0000C9AF01F0006300CEF460184E3CD80E0AA +:10B5E000800091E880009200800091DCEBCD40E08B +:10B5F000189716951496580CC130F8FC0174F01F7A +:10B60000001158055F0858065F091248C0B030089D +:10B61000EF480178EF480174109CE3CD80E0E3CF60 +:10B62000C0E00C9CF01F0008EF4C0174CF900A9B07 +:10B630000C9AF01F0006300CEF460178E3CD80E055 +:10B64000800091E880009200800091DCEBCD40FE0C +:10B65000189716961493580CC031E3CFC0FE7409A6 +:10B66000F8F801605828C5E0F8F1016CF8F50168B8 +:10B67000F8F201645979FE98FFF23DD8304AB68855 +:10B68000ECCCFFFEFEFB0238F01F008E30083019B4 +:10B69000ACF8ACE9ECC4FFF85905E08000A158858E +:10B6A000E08000AA5845E08100BC0A9AFEFB02181F +:10B6B000089CF01F00843018A8C8E8C9FFFB3008B8 +:10B6C000B288E8C5FFFA5902E08000905882E08114 +:10B6D000009F304A4FDB0A9CF01F007A3018AAC83E +:10B6E000EAC9FFFB3008B2882FA55811E080008A14 +:10B6F0005821E08100A5304A4F5B0A9CF01F007181 +:10B70000EAC9FFFCEC0811FE1208AC98F206010C25 +:10B71000CA56870CEEF501745805E08000C1E3CFEE +:10B7200080FEF8F8010CF8F2016C5808F9B801280D +:10B73000F9B80016F8FA0168F8F401641039C8E3A2 +:10B7400033083009B688B6B93018B6A8F6C5FFFC7C +:10B75000590AC6F0588AE0800082584AE081009772 +:10B760004DCB0A9CF01F00573018AAC8EAC9FFFB4E +:10B770003008B2882FA55904C6B05884E081007EF5 +:10B78000304A4D5B0A9CF01F004F3018AAC8EAC926 +:10B79000FFFB3008B2882FA55812C661304A4CFB17 +:10B7A0000A9CF01F0048EAC8FFFC300AB08AB09A31 +:10B7B000EAC9FFFAEEF8010C5808CA503018B288EE +:10B7C000EAC9FFF9EACCFFF8B28A310AEEFB010CB4 +:10B7D0002FCBF01F003CEAC9FFE8C95B304A4C0B95 +:10B7E000089CF01F0038C68B304A4BDB0A9CF01FC8 +:10B7F0000035C75B304A4B5B089CF01F0032C5CB5D +:10B80000304A4B8B0A9CF01F002FC7BB5812FE9189 +:10B81000FF26304A4B4B0A9CF01F002AC60B5825C6 +:10B82000FE91FF1D304A4B1B089CF01F0026C44BA5 +:10B83000304A4AFB0A9CF01F0023C97B5901FE9144 +:10B84000FF0E304A4ABB0A9CF01F001EC5AB304AAF +:10B850004A7B0A9CF01F001BC99B304A49EB0A9C9B +:10B86000F01F0018C82B5822FE91FEF9304A4A2BCF +:10B870000A9CF01F0014C98B5814FE91FEF0304A48 +:10B8800049EB0A9CF01F000FC81B582AFE91FEE7E7 +:10B89000304A49BB0A9CF01F000BC67BF01F001901 +:10B8A000EF4C0174FE90FEDB0C9B660AF01F000556 +:10B8B00066080A9CEF480178E3CD80FE8003DE989D +:10B8C000800091DC8003DEA08003DE8C8003DE7CC0 +:10B8D0008003DE888003DE808003E1EC8003E1E406 +:10B8E0008003DE9C8003DEA48003DE948003DEB44C +:10B8F0008003DEB08003E1E88003DEA88003DE84FD +:10B9000080009200D401580CC060F8CCFEC8306AA8 +:10B91000F01F0002D8020000800091DCD4011898CA +:10B92000580CC040918AF01F0002D802800091DCC0 +:10B93000EBCD40F8208D189416971493F6C6FFF0BF +:10B94000F8F501685885C2E0E8F801645818C1604C +:10B950006EC8E8F901286E0B1AD81AD66E2849CAA3 +:10B960001AD81AD3720C72666E186E395D162FCD06 +:10B97000580CC1552F8DE3CF80F86EC9E8FA012825 +:10B980006E0B1AD91AD66E291AD91AD3740C74668A +:10B990006E3948FA5D162FCD580CCED42F8DE3CFDB +:10B9A000C0F80C9B310A1A9CF01F000A0A9AEECBD1 +:10B9B000FFD8FACCFFF0F01F00070A9AEECBFFE0A9 +:10B9C000FACCFFE81A96F01F0003CBFB80039C38EB +:10B9D000800091DCD401580CC070F94B0134F8FCA4 +:10B9E0000108F01F0002D80280028F64D401580CB5 +:10B9F000C110F8F8010C5808C08070DAF0CBFFECE9 +:10BA0000998AF01F0005D802320A109B998AF01F0C +:10BA10000003D802800091DC800091D0EBCD408003 +:10BA20001897F01F000AEEF801287029700C5D19B4 +:10BA3000585CEFF80057F9B90001F1D9E008EFF8C8 +:10BA40000A57E3CD8080000080029438EBCD40C0DF +:10BA500018971696580CC190306AF8CCFEB8F01FB3 +:10BA6000000F308A300BEECCFF10F01F000D3008B5 +:10BA700030190C9BEF4800F8EF4900EC306AEECC2F +:10BA8000FEE4F01F0008C030E3CD80C00E9CF01F24 +:10BA90000006E3CD80C00000800091DC800091D0E2 +:10BAA0008000917C80029438EBCD40C016971496AC +:10BAB000F6F8010C1838C0D0768A78D8103AC03021 +:10BAC000E3CD80C0F8CBFFEC0E9CF01F000ECF91B1 +:10BAD0003008EF48010C5806CF41320A0C9B0E9CEF +:10BAE000F01F0009EEF90128301B720C72485D1836 +:10BAF000EEF801280C9A700C70390C9B5D19CE1B66 +:10BB00008000917C800091D0D431189716941493C2 +:10BB1000300B324A069CEE040005F01F0052EEC6C0 +:10BB2000FFFF0C35E0880034E8C800013DD2EE0884 +:10BB30000004C0D8E4091800C2B01499F2C8FFFE8E +:10BB40001007EEC6FFFF0C35E08800220F89E409DC +:10BB50001800C4B10837C1B00D8A580AC180F4C8B2 +:10BB6000FFFEEE0800081035C4733308F009180012 +:10BB7000CE2187270D882FE887380D89F2C8FFFE70 +:10BB80001007EEC6FFFF0C35FE9BFFE2D83A580ABD +:10BB9000CFE03058F00A1800E08B003FEEC8FFFB02 +:10BBA0001035E08B002B14993061E2091800FE98E3 +:10BBB000FFC7EEC0FFFE304A4ABB009CF01F002BBF +:10BBC000C3900D89E2091800FE98FFBA009C304A24 +:10BBD0004A7BF01F0026C071EEC9FFFA87790D88F5 +:10BBE000204887880D89CABB0D8AF4C8FFFEEE087D +:10BBF00000081035CBB2DC3A14993138F00A18003D +:10BC0000FE98FFD4304A49BBEECCFFFEF01F001770 +:10BC1000C1900D89CCAB304A497BEECCFFFEF01FC2 +:10BC20000013C0610FE93018F0091800C1000D8A37 +:10BC3000CB6BEEC9FFFA87590D88204887680D89BC +:10BC4000C7EBEEC8FFFA87480D89C79B0FF8F808C5 +:10BC50001800CEE187070D882FE887180D89C6FBED +:10BC6000800091D08003DE788000917C8003DEAC80 +:10BC70008003DE908003DE98EBCD4080304A189739 +:10BC8000496BF01F0017C031E3CF9080304A495B09 +:10BC90000E9CF01F0013C041302CE3CD8080304A51 +:10BCA000491B0E9CF01F000EC041308CE3CD8080FC +:10BCB000304A48EB0E9CF01F000AC041310CE3CD26 +:10BCC00080800E9C304A48ABF01F0005F9BC000490 +:10BCD000F9BC0100E3CD80808003DEA88000917C68 +:10BCE0008003DE848003DE808003DEB48003DE8890 +:10BCF000EBCD4080304A1897496BF01F0017C031D8 +:10BD0000E3CF9080304A495B0E9CF01F0013C04186 +:10BD1000302CE3CD8080304A491B0E9CF01F000E72 +:10BD2000C041308CE3CD8080304A48EB0E9CF01F40 +:10BD3000000AC041310CE3CD80800E9C304A48ABF4 +:10BD4000F01F0005F9BC0004F9BC0100E3CD8080C0 +:10BD50008003DEA48000917C8003DE948003DE8C6F +:10BD60008003E1E48003DEA0EBCD40FC189416963E +:10BD70001497580BC160198B3308F00B1800C1D011 +:10BD80003008301595789548956895589505308810 +:10BD90009535952895185876E08B009BE3CFC0FC2D +:10BDA000301830898F7B8F4B8F6B8F5B9538950860 +:10BDB00095299519E3CFC0FC300531099545956566 +:10BDC000955595759529951930289508301A8F3A0B +:10BDD0005836FE98FFE51988F6081800CE01199923 +:10BDE000ECC800021039CDB119B919A8F1E91088D1 +:10BDF000F4081900CD4120465836E08A01112FC4BD +:10BE0000089CF01F008A8F2C20465816E08A010BF0 +:10BE10008F15E8CCFFFC19991988F1E91082CBF055 +:10BE2000ECC30002E40815021033CB95F8C4FFFE02 +:10BE300030056E16089CF01F007D0C4C8F1C2FC423 +:10BE400020432FF50A32FE99FFF65813E08A00E5E9 +:10BE5000300A8F3A09990988F1E91082CA00202333 +:10BE6000E40815021033C9B5E8C6FFFE14956E3418 +:10BE7000304A4EFB0C9CF01F006FE08100C430186C +:10BE800008488F382FC620432FF50A32FE99FFF15C +:10BE90005813E08A00940D990D88F1E910888F48B5 +:10BEA000E6CB0002581BE08A008AECCCFFFE199812 +:10BEB0001989F3E810898F59F6C80002A56912386C +:10BEC000C7F5F8C8FFFE300C8F68E3CD80FC1989F8 +:10BED0003DD8F0091800FE91FF631999ECC80002E3 +:10BEE0001039FE91FF5D304A4D3B2FECF01F0051A1 +:10BEF0001893FE91FF5509F909E8F1E91088EA085D +:10BF00001900FE91FF4DECCA0008583AE08A005E25 +:10BF1000E8CCFFF8F01F00498F2CECCA000C0A3A5D +:10BF2000E08A00578F13E8CCFFF419991988F1E9DA +:10BF30001082FE90FF35F4C30002E40815021033AE +:10BF4000FE95FF2EF8C4FFFE30056E16089CF01F0C +:10BF5000003B0C4C8F1C2FC420432FF50A32FE9956 +:10BF6000FFF65813E08A0042300A8F3A099909888F +:10BF7000F1E91082FE90FF142023E408150210332B +:10BF8000FE95FF0EE8C6FFFE14956E340C9C304AF9 +:10BF90004ABBF01F0028C211301808488F382FC63E +:10BFA00020432FF50A32FE99FFF25813E08A00145D +:10BFB0000D880D99F1E910888F48E3CF80FC300897 +:10BFC0008F58109CE3CD80FC580AFE99FEE9581A60 +:10BFD000FE90FEE6E3CF80FC304A49AB0C9CF01F9C +:10BFE0000015C0613028CDAB5813CF51CD8A0C9CC1 +:10BFF000304A495BF01F000FF9B80010F9B8010092 +:10C00000CCDB0C9C304A491BF01F000AF9B8000237 +:10C01000F9B80100C36B5813CD11CC1A5806FE991C +:10C02000FEBF5816CCB1CBBA8002BC788003E1ECDD +:10C030008000917C8003DE988002BCF08003DE9C4F +:10C040008003DE7C8003DEB08003E1E8D401580C7D +:10C05000C021DC0AF8F801745808CFC0169AF8FB22 +:10C060000178109CF01F0004F9BC01FEF9BC00002F +:10C07000D80200008002BD68EBCD40801897580CB4 +:10C08000C1D0F8FC0108F01F000F300A0E9B48ECED +:10C09000F01F000EEEFC0174F01F000DEEFC017CA1 +:10C0A000F01F000BEEFC0180F01F0009EEFC0128E0 +:10C0B000F01F00070E9CF01F0006E3CD80800000FB +:10C0C000800290A88002C0D080027400800091E8B5 +:10C0D000D401F01F0002D8028002963CEBCD40C094 +:10C0E0001896E06C018CF01F00131897C19030185F +:10C0F000E069A8C0F94800ECF9490150346833C937 +:10C10000F9480154F9460128F9490158189A189B31 +:10C11000489CF01F000AEF4C01081898C0400E9C84 +:10C12000E3CD80C00E9C1097F01F0005CF9B000050 +:10C1300080028F248002BAA880028F8C800091E850 +:10C14000EBCD4060149E1DD81896158CECF5012897 +:10C150001AD81DC91AD91DB81AD81DA91AD91D98DF +:10C1600048CA1AD81ADC1ADB303B6A0CF01F000AE6 +:10C17000ECF90128311B720C72585D18ECF901289A +:10C18000300A720C7238149B5D182F9DE3CD8060CD +:10C190008003DF4880023A1AEBCD40C0205D109743 +:10C1A000581BC130582BC0402FBDE3CD80C0310B90 +:10C1B0001A98F01F00091A961A9B0E9C310AF01F5C +:10C1C00000072FBDE3CD80C0310BF01F00052FBD50 +:10C1D000E3CD80C08002B230800091DC80028EF816 +:10C1E000D431201DFACEFFD81894500B149012961B +:10C1F00010917C237C077C12306A49AB129CF01FA3 +:10C20000001AC1D05803C0800698009B400C0499C6 +:10C210000E9AF01F00160C9BE8F501280498F5D142 +:10C22000C0100E996A0C6AA65D16E8FC0104F01FA6 +:10C2300000100E9CF01F000F2FFDD832E8C5FEB88D +:10C24000306A488B0A9CF01F0008CDD1E8F801281D +:10C250000A9B700C70995D19EA061740CD4B0000DF +:10C260008002B41C8000917C8002C19880025582BB +:10C27000800091E8EBCD40E0189716961495F8F8F9 +:10C2800001685848E0800081E08A00495888C780EA +:10C290005908C4F04C19EEF801645848C480584855 +:10C2A000E089004A5818C6605828C6604BB81AD9A9 +:10C2B0001AD8EEFA01280DD81AD80DC91AD90DB816 +:10C2C0001AD80DA91AD90D981AD80D89302B1AD958 +:10C2D000740C4B3AF01F0033EEF801282F8D700BD1 +:10C2E000707C300AF01F0030EEF90128720C72C821 +:10C2F0005D18EEF90128307B720C72185D18580534 +:10C30000C201EEFC010C580CC07079485808F9B80D +:10C310000100F9F81A14E3CD80E05818C33058280A +:10C32000CBA14A29EEF801645848CBA14A08CC0BAE +:10C330004A09CB2B5888C2205908CB9149D8CB8BBE +:10C34000EEF801280C9B700C71263019303A5D16FE +:10C35000301BEEFC0104F01F0018EEF8016C5828A9 +:10C36000C15030080E99495A109B301CF01F001420 +:10C37000CC9B4948C9DB48D8C9BB4938C99B492926 +:10C38000C8BB4909C89B48A9C87B301BEEFC010407 +:10C39000F01F000ECE7B00008003C6288003DF74F0 +:10C3A00080023A1A800274008003DF088003DF10E5 +:10C3B00080039A74800261D48002C0D080027474B9 +:10C3C0008003C8E480039A6C800261A4D431FACD62 +:10C3D00000DC1897169314951296E0490062E08BE2 +:10C3E000000630060C9C2C9DD832129CF01F034492 +:10C3F0001892E08000D60C9A0A9BF01F034205A910 +:10C4000005B8F1E910880599F5D8B0103038F00971 +:10C410001800C0603006049CF01F033BCE4BECC8F4 +:10C420000004EBDAC01030090A385F3AE045005EDC +:10C430005F88F5E8100CF20C1800CED13FE8E4C19B +:10C44000FFFC038AF00A18005F1B3028F00A18006E +:10C450005F19F7E90004F8041800CDD1EEFC0104DF +:10C46000F01F032A039903A8F1E91088EDD8B01052 +:10C47000FDD6C003506E1C9930182019F009190020 +:10C48000E08800043FF6CC8BEEF8016459085F0A9F +:10C490003028F00E19005F19126AE80A1800C080EF +:10C4A000EEF801685908CEF0EDB60003CEC0EEF804 +:10C4B00000F85808E08100ABE1D6C0100098E218FF +:10C4C0002080CE10009AE21A0800502ACDC12FC554 +:10C4D00000995055E21901005039C641405AE339DC +:10C4E000005DE338005E263AF1E91088F7D8B01015 +:10C4F000E9DBC010083AE0830598EEF9016058299D +:10C50000E0800550EDB00003E0810333E21000301D +:10C51000CBA140395809E08001CAEEF90128305B0F +:10C52000720C72185D18039903A8F1E91088E339B9 +:10C53000005DEBD8B010E33B005EFACAFF50F7E9AC +:10C54000108BE2CCFFA1F01F02F243185808C04044 +:10C55000EDB5000CC231EEC3FEB8EEF60134EEF8D4 +:10C56000017C5808E08004E742C95809E08004C80B +:10C57000EEFB017C580BC79042DAEEF80184103ACA +:10C58000C70042FE42EC1ADE14981ADC069A0E9C92 +:10C59000FEFB0B80F01F02E02FED3016C3DB3FF6F1 +:10C5A000C22BE2C6FFB3FAC4FF84310A0C9B089C7D +:10C5B000F01F02D440685C785048EEF800A8580894 +:10C5C000C301EEF800A45808FE90FF5E310A300B5C +:10C5D0000C9CF01F02D2049A404BEECCFFDC0C986E +:10C5E0004059F01F02CF0C9B089C310AF01F02CD6E +:10C5F000FE91FF4A308AE2CBFFFBEECCFF10F01F2A +:10C6000002C13018EF4800F8C6AB308AEECBFF10FD +:10C61000E2CCFFFBF01F02C3FE99FF503FF6CFCAEA +:10C62000402B310A0C9CF01F02BD049A404B0C9821 +:10C630004059EEC5FF9C0A9CF01F02B9310A0C9BC1 +:10C64000089CF01F02B8CBE13018EF4C00A80A9B01 +:10C65000EF4800A4340AEECCFFDCF01F02AACCBBEA +:10C66000129CF01F02B0C10142EC580CC160EEFBFD +:10C670000180580BC12042FEEEF80188103EC090A8 +:10C6800042C942DAC81B42FE42C942EC42DAC7CB79 +:10C690001C9AF01F02A4CF81EEF801605818E080C8 +:10C6A00000E6320AE2CBFFF3EECCFF34F01F029D2E +:10C6B000FE91FF7503B903C8F1E91088F3D8B010F3 +:10C6C000EEF801645888E08000CC5908E08000CA88 +:10C6D000EEF80128FAC9FF2C1AD970D6700C35F97A +:10C6E000FAC8FF24300A303B5D162FFD1896580C0F +:10C6F000FE90FF55EEF80160E06900FE5828F20850 +:10C700001710435AB48840680A99E2190200F1E907 +:10C7100010094358E8190108F20B1608B09B435A58 +:10C72000B4A9EEF801605828E0810093300843591D +:10C73000B2B8435AB4C8435C308AE2CBFFFB2FBC8B +:10C74000F01F02704358300AF16A005D4359F36AE2 +:10C75000005E4358406A2B381AD84379E068888EC7 +:10C760001AD9EECBFFDC1AD606990E9CF01F026E8A +:10C770003018EF4800EC5C752FDDEDB50006C0F118 +:10C78000FEFA09A8F4E80000FAE9007CEEF801647A +:10C790005888E08003F65908E08003D90A90E21037 +:10C7A0000200C0E0EEFA01283019740C069B7528CF +:10C7B000129A5D18301BEEFC0104F01F025DEEF8CA +:10C7C0000128306B700C70195D1943165806FE90E5 +:10C7D000FEE64328FAC4FF84F0C50002334A300B5A +:10C7E000089CF01F024EE0450020FE9BFED80D88FD +:10C7F000F1D8C00252280D89F3D9C041C050EEF8DB +:10C80000016458185F095209ECCBFFFE0A9AFACC72 +:10C81000FF74F01F023C0A9A52B50898FAC9FF7CCF +:10C820000A9BEEFC0168F01F0243FE91FEB8E2CACB +:10C83000FFC3089B0E9CF01F0240FE91FEB0009AC1 +:10C84000069B0E9C3016F01F023DFE9FFDE6435CEA +:10C85000302AE2CBFFFD2FDCF01F022AC6DB3208B4 +:10C86000F0091900FE91FE9BC34B42EB580BFE9062 +:10C87000FF1A58065F1AEEF9018058095F0814681C +:10C88000FE90FF116D68EDB80001FE91FF0C42F8BB +:10C89000069A1AD80E9C1ADBFEFB08A442F842E95D +:10C8A000F01F021D2FEDFE9FFE7AEEF90128720C9B +:10C8B00072885D18FE90FE73EEF80128305B700CF4 +:10C8C00070195D19403BFAC6FF50324A0C9CF01FAC +:10C8D0000213EEF801605828C0C1E338005DE33B65 +:10C8E000005E0C9AF7E8108BE2CCFFA1F01F020863 +:10C8F00043065806C0E0EEFC010C580CE08003D162 +:10C90000F8CBFFFC310A0C9CF01F0206E08003C04C +:10C910003005EEF8016C5818E08000D45805C0606E +:10C92000EEFB016C581BE080029BEEF800EC58080F +:10C93000E08102B5EEC8FF545008EECAFEB8EEC959 +:10C94000FF9CE2C8FFF3508AEEC6FEC850A950987B +:10C95000306A6E85408B0C9CF01F01F2E08500FB75 +:10C96000306A408BFAC0FFD0009CF01F01E60C9BA0 +:10C97000306AFACCFFCAF01F01E3320A409B400C38 +:10C98000F01F01E8E08500D0320A409BFACCFFC4DA +:10C99000F01F01DC320A400BFACCFFA4F01F01D9D2 +:10C9A000340E1ADE40BE00991ADE34C80A9BFEFA25 +:10C9B00007920E9CF01F01E4EEC5FF6CFAC3FF7CEA +:10C9C0000A9B308A069CF01F01CF0A9CEEC6FF64CA +:10C9D000308A0C9BF01F01CB069B0C9C308AF01F09 +:10C9E00001C93018EF4800A82FEDEEF50178EEF000 +:10C9F00001745800FE90FDD3EEFA0128FAC8FF2812 +:10CA0000E9D5B0101AD8E8C9FFA1740C74D6FAC8D9 +:10CA1000FF285C79300A303B5D162FFD1893580CC7 +:10CA2000FE90FDBDEEF80160E06900FE5828F208B6 +:10CA30001710436AB48843683019B0994066436858 +:10CA40005C760C9AA3BAB0AAEEF901605829C631F7 +:10CA500030084369B2B8436AB4C8436CE2CBFFFB09 +:10CA6000308A2FBCF01F01A74368F3D4C108F169D5 +:10CA7000005D43680A9AF165005E009B436C2A1CC6 +:10CA8000F01F01A0400B436C320A2F3CF01F019DA8 +:10CA9000408940AB43682B381AD8436C0C9A1ADC97 +:10CAA000E068888E1AD30E9CF01F019F40CBEECC1D +:10CAB000FF34320A3016F01F01932FDDFE9FFCADCC +:10CAC000EEFC0104580CFE90FF2B320A0E9BF01F67 +:10CAD000019FC361320A8F8AEEF8013406991AD891 +:10CAE0000E9BEEC8FEC8EEFC0108F01F0199580627 +:10CAF0005F1AEEF9010C2FFD58095F081468FE90CB +:10CB0000FF0F0C9A069BEEFC0108F01F0192FE91AC +:10CB1000FF0EC05B436C302AE2CBFFFD2FDCF01F21 +:10CB20000179C9CB400B320AFACCFFC4F01F017562 +:10CB3000320A409BFACCFFA4F01F0172C32B310ACA +:10CB40000E9BEEFC0104F01F0181E08101B4310A6B +:10CB5000CC3B0C9BFAC0FFD0306A009CF01F0169EF +:10CB6000306A408BFACCFFCAF01F0166C07B009B85 +:10CB7000E21B2000FE91FD13403A580AFE90FD0F83 +:10CB8000334AFAC0FFD0009CF01F0164EEF901287F +:10CB90007228720C5D1850BC039903A8F1E9108843 +:10CBA000E339005DE7D8B010E338005EF1E91088A2 +:10CBB000EEF90160F7D8B0105829E080011303B9ED +:10CBC00003C8F1E910895189EBDBC0100A34E08316 +:10CBD00000CB3028406EF00E1900E08001D80A9694 +:10CBE000129B0098FAC9FFC80C9AEEFC0168F01F6E +:10CBF0000151E08100B9F5D3C010F1DAC082501ABA +:10CC000050F830194068F2081900E08000C7302859 +:10CC1000406EF00E1900E08000A4401AF1DAC0C1A5 +:10CC2000C050EEF8016458185F0850D8EEF801289B +:10CC3000306B700C70195D19009BE2CAFFC30E9C2B +:10CC4000F01F013D1895FE91FCAAEEF80128FAC9E3 +:10CC5000FF2C0A9A1AD9303B700C70D635F9FAC8F5 +:10CC6000FF245D162FFD1894580CFE90FC98EEF8EA +:10CC70000160E06900FE5828F20817104066435A28 +:10CC80005C76B488E21300304358E8130300E7E60B +:10CC9000100CF80B1608B09B4359B2ACEEF80160CB +:10CCA0005828E08102234358B0B54359B2C5435CCC +:10CCB000E2CBFFFB308A2FBCF01F01124358300A31 +:10CCC000F16A005D4359F36A005E43582B381AD865 +:10CCD00043790C9A1AD9EEC6FEB81AD40C99E068BA +:10CCE000888EEECBFFDC0E9CF01F010F2FDD40B9CC +:10CCF0005879E08101F1EEF801685848E08001E6DA +:10CD0000E08901DC5818E080014B5828E08001469A +:10CD1000FEF804441AD8EEFA0128EF38014D1AD86B +:10CD2000EF39014C1AD9EF38014B1AD8EF39014AC3 +:10CD30001AD9EF3801491AD8EF390148302B1AD9DE +:10CD4000740CFEFA0416F01F0106EEF80128307B81 +:10CD5000700C701930165D192F9DFE9FFB5EF1D58A +:10CD6000C003C0A0EEF80128306B700C70193016AB +:10CD70005D19FE9FFB52E0460020FE9BFFF5EC0B89 +:10CD80001603FAC9FFC0E2CAFFA1EECCFFCCF01F28 +:10CD900000F5FE90FF44CE7B310AE2CBFFD3FAC40C +:10CDA000FF84089CF01F00D7310AEECBFFCCFACCF1 +:10CDB000FF74F01F00D4E0450020FE9BFFD5FAC6AB +:10CDC000FFC00A9AE2CBFFA10C9CF01F00CE0A988C +:10CDD0000C99089CE06A0100320BF01F00E3C1EBE4 +:10CDE0005C7BFACAFF50E2CCFFA1F01F00C94318D8 +:10CDF0005808CB90F3D3C0105019EDB9000CCB31CB +:10CE000043282028FAC9FFC8109A5188149B00981B +:10CE1000EEFC0168F01F00C7CA61431B1788F1D8F8 +:10CE2000C00250F81789F3D9C041C050EEF8016430 +:10CE300058185F0950D94328F0CA0002E04A002080 +:10CE4000FE9BFF922FEBFACCFFC0F01F00AEEEF975 +:10CE50000128306B720C72185D18CEFAEEF80128BA +:10CE600030091AD9129A700C70D6FAC8FF285D16CC +:10CE70002FFD1893580CFE90FB92EEF5012818999F +:10CE8000EECBFEB84358E06A888E6A0C6AA65D163F +:10CE9000069CF01F009DFE9FFB82EECEFF54320BDE +:10CEA000500E1C9CF01F00B1C1F1EF4C00ECFE9F36 +:10CEB000FD46EEF80128FEFA02B6700C303BF01F7A +:10CEC00000A8EEF80128FEFA02AA700C303BF01F11 +:10CED00000A4EEF8010C5808FE90FB613008EF4802 +:10CEE000010CFE9FFD1FEEF80128FEFA028A700C6D +:10CEF000303B3016F01F009AFE9FFA8F42EC580C20 +:10CF0000FE91FBB7EEF8017C5808C061EEF8018095 +:10CF10005808FE90FBC342F830091AD8069A1AD96D +:10CF20000E9C42F8FEFB0254F01F007B2FEDFE9F8B +:10CF3000FB36EEF801805808FE91FB18EEF9012847 +:10CF4000720C72B85D18FE9FFB111099303BEEF821 +:10CF500001605828C180E2CCFFC31AD9EEC8FFBCDB +:10CF6000EEFA012830691AD830181AD930091ADCBB +:10CF7000740C7466069A5D162FCDFE9FFC11302B43 +:10CF80003209CE6BFACCFF84CE9B5875FE98FEEC2E +:10CF9000EAC60008FE9FFE264F98CBDA4F98CBBA20 +:10CFA000EDB0000CFE91FAB0EEF800A45808FE9027 +:10CFB000FA6B3018406EF00E1900C490406AF20A05 +:10CFC0001900FE91FAA1F1D4C003FE91FA5DF6C8F2 +:10CFD00000085C88109550785C750A9CF01F00482A +:10CFE0001896FE90FA51E2C4FFA11899089AEA0B2C +:10CFF0001603EECCFFCCF01F005BC2310A9A0C9BEB +:10D00000089CF01F00400C9CF01F003F4078EA098C +:10D0100016085C58E369005DE368005E5C59F1E95D +:10D020001084FE9FFA711ADA1AD4EEF801284D6ABC +:10D03000700C302B3FF6F01F004A2FEDFE9FF9EDEC +:10D040000C9C3FF6F01F0030FE9FF9E7FAC6FF8404 +:10D05000310AE2CBFFD30C9CF01F002A310AEECB41 +:10D06000FFCCFACCFF74F01F00270898E2C9FFA19B +:10D070000C9CE06A0100320BF01F003BE339005DBD +:10D08000E338005EF1E91084FE9FFA3E0E9CF01F2B +:10D09000003FEEFC0104F01F003EFE9FFC480C9A8E +:10D0A000069BEEFC0108F01F002BEF4C010CFE91DB +:10D0B000FC293015FE9FFC2F5888C0A05908FE910E +:10D0C000FE294B48FE9FFE284B38FE9FFE254B381D +:10D0D000FE9FFE22401A0C9BE21A02000E9C3016A4 +:10D0E000F01F0016FE9FF999435C302AE2CBFFFD4A +:10D0F0002FDCF01F0004FE9FFDDC0000800092008A +:10D10000800091DC800091E88002575C8002BB08BF +:10D110008003E0488002C140800091D08002C19825 +:10D120008000917C8002C1E08003E1DC800261D458 +:10D130008002B4248002B9308002C2748003E0848B +:10D140008003E1788002B354800257CC8002914C76 +:10D1500080028FB08003C6288003E19080023A1AD3 +:10D160008002D8A080029B4080028F488003E0F0BC +:10D170008003E1308003E14C8003E0048003DF089A +:10D180008003C8E48003DFC88002B9EC80025770D6 +:10D1900080039A748003DF1080039A6CD431204D91 +:10D1A0001894F8F80128E8F9016416955909F9B3BB +:10D1B0000002F9B301011492700C1A9070991A9B35 +:10D1C0005D19C635E8F80128FAC9FFF8300A1AD9FE +:10D1D000303B700C70D635F9FAC8FFF05D162FFDA4 +:10D1E0001891580CC520E8F80160E06900FE402A5B +:10D1F0005828F2081710B4880697E8F800A4ABB7CF +:10D200005808C050E0680900E7E810075805E068D2 +:10D210000400EFD8E1375802F9B80108EFD8E13738 +:10D220004028F3D7C108B09940283006B0A740295C +:10D23000B2B64028308AB0C6E8C5FF04402C0A9B2D +:10D240002FBCF01F00130A9C308BF01F00124028E7 +:10D25000F166005D4029F366005E0E99E219010057 +:10D26000FBF81002F9BA014DF1DAE1091AD9404888 +:10D2700000991AD8069A1AD1089CE068888EE8CBE3 +:10D28000FFDCF01F00052FDD2FCDD832800091DCB0 +:10D29000800239EA8002C1E0EBCD40804879720813 +:10D2A000201893081897C031F01F00050E9CF01F3E +:10D2B0000005E3CD8080000000007AB48002D2F83F +:10D2C000800091E8EBCD40C048976E065806C041FB +:10D2D000F01F0008C0916E082FF8304C8F08F01F27 +:10D2E0000006E3CD80C00C9CE3CD80C000007AB482 +:10D2F0008002D30480028F24D401F01F0002D802E0 +:10D300008002D996D401F01F0002D8028002D9947D +:10D31000D4211789179A17B8F1E9118817A9F1EAEA +:10D320001108F1E91088990817CA17D8B168F1EA0D +:10D33000118817EA17F91258F1EA10889918F73A84 +:10D340000008F739000BF7380009B168F1EA1188D5 +:10D35000F73A000A1258F1EA10889928189EF73A0D +:10D36000000CF738000DF739000FF8C5FFE4B1687D +:10D37000F73C000EF1EA11883007125849B4F1EC7D +:10D38000108C49B69D3CC038149C2F05E80707084F +:10D390002F0EFCF9FFF0F3E82189EC0C0F88E2185E +:10D3A000FF001059EC0C0F98E61800FF1059EC0C18 +:10D3B0000FB8F1D8C1081059FCF8FFF4EC0C0FAB12 +:10D3C000A96BE61BFF0016599D091059FCF8FFF8E0 +:10D3D0009D1910599D29FCF8FFFCF3E8200A8B0ADF +:10D3E0002FF758A7CD21D8228003E2F08003E6FC76 +:10D3F000EBCD40FE1892F01F002F0493E4CBFF60AA +:10D40000E4C4FFFCE4C5FF5CE4C6FFF8E4C7FF58D2 +:10D41000E4CEFFF4E4CCFF54E4C1FFB06609760823 +:10D4200087089709680A6A0889088B0A6E086C09D8 +:10D430008D088F097C0A78089D08990A2F03210B13 +:10D440002F0421052F0621072F0E210C023BCE7140 +:10D45000E4C4FFF030134985498608972F046E0A0B +:10D46000EC0A0F98EA080F9EEC0A0F88EA080F9C56 +:10D47000EC0A0FB8EA080F9BEC0A0FA8F809150888 +:10D48000FC0A1510F3EC1389F5EE130A1659EA0895 +:10D490000F9BF6081518F1EB1288105914590EA9B4 +:10D4A0000E34CDE12FF358A3CD91E3CD80FE0000E3 +:10D4B0008002D3108003E2FC8003E6FCD431209D7F +:10D4C000F736000E505A178A780917B8F1EA118812 +:10D4D000179A1258F1EA210817AEF1EE208E506E1D +:10D4E000781817CA17F9105917D8F3EA2189F3E801 +:10D4F000210917EEF3EE208E507E7828F7390008C8 +:10D50000F73A000B105AF7380009F5E9218AF73984 +:10D51000000AF5E8210AF5E920827839F73A000C8B +:10D52000F738000FFEF7034412581894F1EA2188E7 +:10D53000F739000DF8CAFF60F1E92108500AF1E659 +:10D5400020800E91E0081618406AEE080326F3DAF0 +:10D55000C008F1D2C208EE090329EE080328504999 +:10D560005038407AEE0A0F9950296878684B105667 +:10D570004068EE000FACEE080FBA4079165AEE097B +:10D580000F8BF6081508F1EB1388F8091518105AD7 +:10D59000F3EC1289EE020F9C125AF8081510F1EC08 +:10D5A0001308F5E82008685E68654079EE090FBB4E +:10D5B00050884068EE020F8C1C5BEE080FAEF80836 +:10D5C0001508F1EC1388EE000F9A105BFC09151892 +:10D5D000F4081510F3EE1289F1EA1308125B407992 +:10D5E000F7E82003EE000F8BF6081508F1EB13881F +:10D5F000EE020FBCEE090FAE0A5CFC091518105CB8 +:10D60000F3EE12894068125CEE080F9B404A4048D6 +:10D61000F6091510A968F3EB1309F1EA1388F9E983 +:10D620002000105640394038B968F1E912882E04BC +:10D63000105640294028B169400AF3E81309EDE982 +:10D6400020021434C770E4081618408AF3DAC008C0 +:10D65000E208032EE2090326F1D0C208E2030F9983 +:10D66000E20803255019E2020FACE2030F8B6809B0 +:10D67000F6081508F1EB1388E20A0FBA125AF809F6 +:10D680001518105AF3EC1289E2000F9C125AF80890 +:10D690001510F1EC1308F5E82008E2030FBB506801 +:10D6A00040886819E2000F8AE2080FAC125BF408A8 +:10D6B0001508F8091518F1EA1388F3EC1289E2004D +:10D6C0000FBAE2020F9C105BF8081510125BF1EC28 +:10D6D0001308F7E8200850786829E2030FAC125AC3 +:10D6E000F8091518F3EC1289E2020F8BF6081508F9 +:10D6F000F1EB1388105A125A4089E2090F9B6839DE +:10D70000F6081510F1EB1308125EF5E82002EC099B +:10D710001508EA081518F3E61389F1E51288125E78 +:10D720004019105EB1694018F3E81309FDE92000C3 +:10D73000C0AB4089F1D3C1084CDBFDD9C008F60865 +:10D740000706E40A1618EBD0C208F60A0709F60520 +:10D750000708F60E070CF9E9118CF3D3C008F9E8B5 +:10D76000110C4088B988F608070AF6090708F3D2B1 +:10D77000C208F1EA1188F609070AF3D0C108680E59 +:10D78000F1EA1108F609070AF1EA10881C58F009B5 +:10D790001618405AB4B8B4894059F00A1610A9882E +:10D7A000B29AB2A8E6091618F609070AF3D0C0081B +:10D7B000F6090708F1EA1188408AF3DAC208F60987 +:10D7C000070AF3D2C108F1EA1108F609070A40591D +:10D7D000681EF1EA10881C58B2F8F0091618405A71 +:10D7E000B4C94059F00A1610A988B2DAB2E8E009C3 +:10D7F0001618F609070AF3D2C008F6090708F3D38A +:10D80000C208F1EA1188F609070AF1EA1108408A0C +:10D81000F3DAC108F609070A4059682EF1EA1088C0 +:10D820001C58F368000BF0091618405AF5690008F7 +:10D830004059F00A1610A988F36A0009F368000A33 +:10D840006839405AF9E6108C125CF8081618F80985 +:10D850001610F56C000FF568000CA98CF569000D29 +:10D86000F56C000E2F7DD8328003E2FC8003E1F0DE +:10D87000EBCD40C01897590BC030E3CF80C0E06CAF +:10D8800000B0F01F00061896CF900E9BF01F00040A +:10D890000C9CE3CD80C00000800092008002D3F099 +:10D8A000D431209D129714961895500B308A0C9BFA +:10D8B000FAC2FFE4049CF01F0034ECCBFFF8400AEE +:10D8C0000E9CA37AF01F00300A9C310BF01F002F32 +:10D8D0001893C57040082018EE08003840095028F9 +:10D8E0005C39400A5C59F40A00285019E9D8C0088C +:10D8F0003050FAC7FFF4FAC1FFEC40095809E08A3A +:10D90000002940251296308A049B0E9CF01F001EB1 +:10D91000FB390013E806000812580A9BFB68001345 +:10D92000308A029CF01F00180E9A0E9B069CF01F76 +:10D930000018308A0E9B049CF01F001320160A9CCE +:10D94000308A2085029BF01F00105806FE99FFDDEB +:10D95000401A2010E80A0008E9D8C0085BF0CCE1C2 +:10D96000069CF01F000C049C3A691988F208180004 +:10D97000C0812FFCFAC8FFDC103CCF812F7DD83A44 +:10D980002F7DDC3A800091DC8002D8708002D4BC0C +:10D99000800091E85EFD5EFCD4311A97202D109E28 +:10D9A000129514965809C4911638E0880057F0086B +:10D9B0001200C0D0F608094BF0091120FC08094EEE +:10D9C000F4090A49F4080946F3EB100BFC0516109C +:10D9D000F9DEC010F6050D0AEC0816101499F1EBEB +:10D9E0001108B93A103AE088000C20191C08103EC2 +:10D9F000E08B0007103AF7B90B01F1DEEB08F00AF3 +:10DA0000010BEDD6C010F6050D0AEDEB11061498CA +:10DA1000F40C024C0C3CE088000A20181C060C3E5A +:10DA2000E08B00050C3CF7B80B01F1E9110B300C51 +:10DA3000169A189B2FEDD8321639E08B0051F20C54 +:10DA40001200C53114385F8916355F381049F8095E +:10DA50001800C450301BC4585808C0513019F2087F +:10DA60000D08109EFC081200E08100911C1BFC05B3 +:10DA70001610F3DEC010301CF6050D0AEC08161067 +:10DA8000F4090243F1EB1108149B1033E088000CF9 +:10DA9000201B1C08103EE08B00071033F7BB0B0166 +:10DAA000F1DEEB08F0030103EDD6C010E6050D0230 +:10DAB000EDE311060498E40902490C39E088000AF4 +:10DAC00020181C060C3EE08B00050C39F7B80B0142 +:10DAD000F1EB110B169A189B2FEDD832300B169CD8 +:10DAE000169A189B2FEDD832F20C0945F80E11202A +:10DAF000F00C0943F40E0A46F00E0A48F60E0A4EE0 +:10DB00000A48F0011610FC010D04EEE5FFF8F60CD2 +:10DB10000949EBD8C010EDE910090896F20E16106D +:10DB2000EEF4FFF8EC05024BFDE4110E1C3BE0881F +:10DB300000072016100E1C38E088006D161EF3D961 +:10DB4000C010FC010D00F3E11109009BE005024E3D +:10DB5000123EE0880007201B10091238E0880055AB +:10DB6000F7E6110B1C19F60306420639C0935F094C +:10DB7000F40C094C043C5F38F3E80008C020201B7B +:10DB8000300C169A189B2FEDD832F6080949FC087C +:10DB9000094EF0011120FC051610F4010A42F601AD +:10DBA0000A411242E2050D00F3DEC010E406161031 +:10DBB0000093EDE11106E009024C0C3CE0880007FF +:10DBC00020131C060C3EE088002CEC0C0101F7D25F +:10DBD000C010E2050D00F7E1110B009CE0090241C5 +:10DBE0001631E088000C201C1C0B163EE08B000751 +:10DBF0001631F7BC0B01F7DEEB0BF4080946021BEC +:10DC0000F9E3110CC3AB123EF3D8EB09F7BB0B01E0 +:10DC1000CA8B1C3BF7B60B01FDD8EB0EC90B0C3CB5 +:10DC2000F7B30B01EDDEEB06CD1BD703D40130AA11 +:10DC3000300BF01F0002D8028002F0ECD4014848FB +:10DC4000169A189B700CF01F0003D802000005986C +:10DC50008002DC54D421F40B024BF01F00151897FE +:10DC6000C230F8FAFFFCE01AFFFC204AE04A002428 +:10DC7000E08B00181898593AE088000F300910A975 +:10DC800010A959BAE088000910A910A9E04A002497 +:10DC9000C03110A910A9300910A991199109C048E3 +:10DCA000300BF01F00040E9CD82200008002E2BC62 +:10DCB0008002E8BCD421300EF6C80001F60614013B +:10DCC000F808002818991897C07870046E050EA4FB +:10DCD00091052FFE20480C3ECF95F40B000B1897B2 +:10DCE000F6C80001300EF8080028A15BC078700566 +:10DCF0006E060EA591062FFE2048163ECF95F4C85D +:10DD00000001A15AF808002C3008C078780E720B78 +:10DD100012AE990B2FF8204C1438CF95D822D70388 +:10DD2000D431205D502C503816971496580C5F0B48 +:10DD300058075F0C1295F9EB100B40E33008F00B1D +:10DD40001800E081028058095F09580A5F08F3E86B +:10DD50000008F6081800E08102764BE4402B6808C2 +:10DD60001638E0840270EE08032C580CE080026B39 +:10DD70004B9BF01F003AC06168082FF88908E08FBC +:10DD8000026268085808C05130184B598908930836 +:10DD90005806C14032D90D88F20818005F0232B926 +:10DDA000F20818005F08E5E81008C0805802F9B2D0 +:10DDB0000101F9B200022FF6C0884AACF01F002A18 +:10DDC000F9B20102F9B200004A5870085818C61199 +:10DDD0005812C2B049F95822C4A0129872043001F6 +:10DDE00032DB32BA7009F2C0FFFFEE09032C580C87 +:10DDF000E080023B1989F6091800C0805803E080D2 +:10DE00000225F4091800E081022150015014492B29 +:10DE1000F01F0012C411EE04002C029B301A2FF4E4 +:10DE2000F01F0012E08F022148A87009EE090328B4 +:10DE30005808C2F0118A32DBF60A1800C2A0580353 +:10DE4000E080020832BBF60A1800E0810203C21823 +:10DE500000007AB88003EC008002ECC800007ABCB5 +:10DE60008003EC04800326948002DCB47208EE0880 +:10DE700003285808C0E0118832D9F2081800C09071 +:10DE80005803E08001E032B9F2081800E08101DBBC +:10DE90003009500950195805E08000A44BE4680887 +:10DEA000302AEE08032C4BDBF01F003DC0D0580396 +:10DEB000E08000986808EE080328118932B8F0095C +:10DEC0001800E081008F4B7468085818E081008AC0 +:10DED0004B187008302AEE08032C4B0BF01F003053 +:10DEE000F9B80002E9F80A004AB468084AD1EE0815 +:10DEF000032C620833DB100CF01F002B1893C0E1D9 +:10DF00006808EE08032CF01F002968096208EE0972 +:10DF10000323F80801081803C08868086209EE089E +:10DF20000328F8080108121850430A910C933FF493 +:10DF300030001096C4784989720849A9EE08032C6C +:10DF400072080C9A100CF01F0016C3A1620CF01F8F +:10DF500000171836C051069600944043C3C85BF4BE +:10DF6000C2E0493870085808C7C062081AD848A8E3 +:10DF700070096E08EE090329A564EA04030A1ADA97 +:10DF80001AD91AD848B8700848BB702CF01F000B7B +:10DF90002FCDC67800007AB88003EC008002E7102D +:10DFA00000007ABC8002ECAC8002EDD0000004A43A +:10DFB000000005988003EC1480031FE800942FF004 +:10DFC0002F01620B580BCB81069640435BF4C031A6 +:10DFD0000898C0A8E8081504EA0800087018C048A6 +:10DFE0003FF83003109458065F19F3E403F9C03189 +:10DFF0003006C5484BE162084BE3EE08032966088A +:10E000000C9CF208070BF01F003C1896C2D14BB8CD +:10E0100070085808C11062096608EE090329F20861 +:10E0200007081AD86E081AD84B5870084B5B702C2A +:10E03000F01F00352FED4AF8700B2FFB910B4AC9EA +:10E04000720AEE0A032CF80B070C300BF60C1800C2 +:10E05000F7BA00FFF3FA0A00F9B90001F1F90A0072 +:10E0600033F8109CC818199833A9F2081800C0306A +:10E070003008C08819A9F0091800F9B80002F9B8E9 +:10E08000010149CA49A97209EE09032974030D8ADD +:10E090002FF3F203000349D9930A5818C1505828A6 +:10E0A000C0405808C6C0C208078933D8F009180014 +:10E0B000F7B300FF4968078A3009F20A1800C10166 +:10E0C00030069106C718078933D8F0091800F7B34E +:10E0D00000FF30080789F0091800C1B048C8910353 +:10E0E0003019484891093006C5F8000000007AB898 +:10E0F00000007ABC8002ECAC000004A4000005988B +:10E100008003EC5080031FE8000004A000007AC0E8 +:10E110004C08402B70082FF81638C2954BE8700851 +:10E120005808C1C06E084BD71AD86E084BCB702C5C +:10E13000F01F003C2FFD5BF4C0906E08A5644BAB54 +:10E14000EA0403091AD9702CC0686E080D894B7B4C +:10E150001AD9702CF01F00332FFD4AE933A8720A38 +:10E16000109C2FFA930A4B299308C6D84B19EE0836 +:10E17000032A3018930A10964AF9C1584AE95BF409 +:10E18000C0D1720A2FFA930A4A2B760BEE0B032B9F +:10E19000F60A070AF00A1800C03130189308300850 +:10E1A0004A49109693085802C1B140094A285809B3 +:10E1B0005F19700858185F08F3E80008E4081800B1 +:10E1C000C0F04018ECCAFFFFEE08002C400BF01F17 +:10E1D000001B40182FF8F006000648E8C0A8496860 +:10E1E00070085818C07148B870092FF9F206000677 +:10E1F00091065BF4C240403B580BF7F41A00A5644B +:10E2000008056A3C6A285808C1E0910C300CC1B876 +:10E2100000007AB8000004A4000005988003EC70A8 +:10E2200080031FE88003EC948003EC9C000004A0B2 +:10E2300000007AC000007ABC8002DCB448C8700CD0 +:10E24000C0283FFC2FBDD83291002FF1FE9FFDCC9E +:10E25000488B97084888F2CAFFFF3019910A129C30 +:10E2600048389109CF0B48489104CECB000004A058 +:10E2700000007AC000007AB8D40130091AD9129887 +:10E28000F01F00022FFDD8028002DD20D401484893 +:10E29000189B700CF01F0003D802000000000598C6 +:10E2A0008003217CD4014848189B700CF01F0003A8 +:10E2B000D8020000000005988002E2BCD431F6C705 +:10E2C000FFF518955967F9B70810F9B80BF8EFD8AA +:10E2D000EB2716375F38F1E713F8C05030C899388C +:10E2E000E08F01F4F01F0050E04701F7E08B001CC5 +:10E2F000EE0316034CD8F003003870361036C061B8 +:10E30000ECC8FFF870361036C0C06C18E018FFFC7F +:10E310006C3AEC0800090A9C6C289528913AC4785C +:10E320002FE3C4D8EE081609C041EE031603C278E5 +:10E330005848E08B0006EE0316062C83C2085948A5 +:10E34000E08B0005F0C3FFA5C1A8E0480054E08BB6 +:10E350000006EE03160C2923C128E0480154E08B87 +:10E360000006EE03160F2893C0A8EE031612E0482D +:10E370000554E088000437E3C02828434ABAF40370 +:10E38000003A7436C1986C19E019FFFCF207010BD2 +:10E3900058FBE08A00042013C1186C38580BC0B534 +:10E3A0006C2AEC0900090A9C912A95387218A1A8D8 +:10E3B0009318CBD810961436CE712FF349BAF4CCFB +:10E3C000FFF878261836C6F06C19E019FFFCF20742 +:10E3D000010858F8E0890091993C992C5808C055DB +:10E3E000EC0900090A9CCE3BE04901FFE08B0013D9 +:10E3F000A399F4090038702B8D388D2B9736912610 +:10E40000A3497418301BF6090949F1E91009951957 +:10E41000C4A8F20816095848E08B000AF20A16064A +:10E420002C8AC2488002E8CA0000059C5948E08B4B +:10E430000005F0CAFFA5C1A8E0480054E08B000623 +:10E44000F20A160C292AC128E0480154E08B000684 +:10E45000F20A160F289AC0A8F20A1612E0480554CC +:10E46000E088000437EAC028284A4C8BF60A0034BA +:10E4700068280838C0E17619A34A301EFC0A094A08 +:10E48000F3EA100A1099971AC0A870280838C060DB +:10E49000701AE01AFFFC1439CF9370398D398D282A +:10E4A00091369326E6081402301B4B84F608094B7C +:10E4B0006818103BE08B006EF7E80009C0B1E0136C +:10E4C000FFFCA17B2FC3C0382FC3A17BF7E8000955 +:10E4D000CFC0E803003E06921C916236C2E86C1A77 +:10E4E000E01AFFFCF407010858F8E08A00156C3ABE +:10E4F0006C299529933A0E99EC070007A1A9993741 +:10E5000099278D19EE0809088F2C8F3CA1A80A9C29 +:10E510008F18C0D86C395808C0F5EC0A000A741876 +:10E52000A1A80A9C95186C2893289139F01F00180F +:10E53000ECCCFFF8D83212960236CD212FF2F1D270 +:10E54000C002C0302F81CCAB1C98F3D3C002C08175 +:10E550006819F60811FFF3E800088918C078F0C9B7 +:10E560000008201370081238CF10A17B6818103BE8 +:10E57000E08B0010580BC0D00493C0382FC3A17B90 +:10E58000F7E80009CA71CFBB0000059C8002E8CC07 +:10E5900068236612E012FFFC0E325F39E4070108BF +:10E5A00058F85FAAF5E91009E08000A24C887001D4 +:10E5B0004C882F0170080E015BF8C0402811E01153 +:10E5C000FF80029B0A9CF01F004418965BFCC6E08B +:10E5D000E6020008103CC0320833C6814BFA7409C9 +:10E5E000E209000995091036C0A1F5D6C007C0712F +:10E5F000E20200026828A1A29112C4C84B5A740B0F +:10E600005BFBC0319506C068EC0900094B3A101954 +:10E610009509F1D6C003F00911085808F20817103F +:10E62000EDD8E1062808EC0100010A9CE3D1C007FF +:10E63000F0010101029BF01F00284A885BFCEC0CF2 +:10E640001700F9B1000070090C1C8926020C120198 +:10E65000A1AC91018D1C0833C1D058F2E08B0005AC +:10E6600030188D18C238305920C2E012FFF8E60287 +:10E670000008912991196618F1D8C001E5E8100841 +:10E68000871858F2E0880007E6CBFFF80A9CF01FD5 +:10E6900000144949720A491870081438F3F8BA008E +:10E6A0004919720A1438F3F8BA0068287018E0188B +:10E6B000FFFC0E385F390E1858F85FAAF5E910090B +:10E6C000C1600A9CF01F0009D83A000000007ACC13 +:10E6D000000009A88002EBC800007AD08003217CEA +:10E6E00000007AC800007AC48002E8CC6826A1A89D +:10E6F0000E99A1A98D19EC0700070A9C89278F188C +:10E70000F01F0003ECCCFFF8D83200008002E8CC08 +:10E71000D4013008C0D8F808070EF6080709201AF7 +:10E720002FF8F20E1800C040FC09010CD802580A5C +:10E73000CF31149CD802588AC2F5F9EB1009E219BE +:10E740000003E0810097E04A0020C3B4F4081402FB +:10E75000F0091108FE09002F7669996976599959CF +:10E7600076499949763999397629992976199919E5 +:10E7700076099909F608002BF8080028E01A00032A +:10E78000F40A1104FE0A002F17A9B0A91799B0992D +:10E790001789B0895EFCF40A1109FE0A002F17F9E7 +:10E7A000B8F917E9B8E917D9B8D917C9B8C917B965 +:10E7B000B8B917A9B8A91799B8991789B8895EFC8B +:10E7C000EBCD40C01899220AB707B326B707B32686 +:10E7D000B707B326B707B326220ACF742F0AC0653E +:10E7E000B707B326B707B326210A5C3AFE0A003FF3 +:10E7F000D703D703F736000EF366000EF736000D89 +:10E80000F366000DF736000CF366000CF736000BCC +:10E81000F366000BF736000AF366000AF7360009C4 +:10E82000F3660009F7360008F3660008F7360007BC +:10E83000F3660007F7360006F3660006F7360005B4 +:10E84000F3660005F7360004F3660004F7360003AC +:10E85000F3660003F7360002F3660002F7360001A4 +:10E86000F3660001F7360000F3660000E3CD80C0D8 +:10E87000201AF60A0709F80A0B09CFB15EFCD40189 +:10E88000183BC192F60A0009123CC152F80A000B6B +:10E890003008C068F208070E201AF6080B0E201880 +:10E8A000580ACF91D802F6080709201AF8080B0970 +:10E8B0002FF8C0283008580ACF71D8021898C038ED +:10E8C00010CB201A580ACFD15EFC5EFC5EFCD70349 +:10E8D000D4014848169A189B700CF01F0003D80208 +:10E8E000000005988002E8E8D431201D16941892A3 +:10E8F000149B5804C051F01F005B1895C5B9500A0D +:10E90000F01F0059400BE8C10008F6C6FFF5621C75 +:10E910005966F9B60810F9B80BF8EDD8EB2616369B +:10E920005F38F1E613F8C05030C830058538C42987 +:10E930001890E010FFFC0C30E08401124CB8E200AB +:10E94000000970250A39C090721AA1CAF20A000A99 +:10E95000741AEDBA0000C220721AE01AFFFCF4002B +:10E9600000030A39C131ECC7FFF00E33C195E2064E +:10E9700000090C13A1A393139129049C6218089514 +:10E98000F1D8C00110468316C1390C33C0957228E6 +:10E990000297723993289139CE48300A1499EDBC08 +:10E9A0000000E080009D6207E20701076E1CE01C8A +:10E9B000FFFC5809C5E0F80000030A39C4811403BC +:10E9C000ECC9FFF01233C5556E3A6E299529933A7A +:10E9D000EEC5FFF8E0CA0004E04A0024E08B002501 +:10E9E0000A99593AE088001A09098B0909098F39EF +:10E9F000EEC9FFF059BAE0880011090B930B090921 +:10EA00008F59EEC9FFE8E04A0024C071090A930A51 +:10EA1000EEC9FFE0090A8F7A090A12AA680A930A66 +:10EA2000681A931AC0785008089B0A9CF01F0010BF +:10EA30004008EE0600090C13A1A393139129049C2E +:10EA40006E18F1D8C00110468F16CB2814030C3372 +:10EA5000C10572287239932891396E286E39C0F831 +:10EA60008002E2BC8002E8CA0000059C8002E87EC9 +:10EA7000F80000030C33C3356E396E2893289139A2 +:10EA8000E0CA0004EECCFFF8E04A0024E08B00244A +:10EA9000593AE088001A0908990809088F38EECC1D +:10EAA000FFF059BAE08800110908990809088F5841 +:10EAB000EECCFFE8E04A0024C07109089908EECCCA +:10EAC000FFE009088F78090818A8680899086818ED +:10EAD0009918C478089BF01F0039C438049CF01FB3 +:10EAE00000381895C3A06218F8C90008A1C8E20848 +:10EAF00000081039C07172130297E013FFFC000385 +:10EB0000C308E0CA0004E04A0024E08B0020089912 +:10EB10001898593AE0880014130B10AB130B10AB84 +:10EB200059BAE088000D130B10AB130B10ABE04A81 +:10EB30000024C051130A10AA130A10AA130A10AA1B +:10EB4000720A910A72199119C048089BF01F001BA4 +:10EB5000089B049CF01F001B049CC2A80093029712 +:10EB6000E60601096E1858F9E0880016F1D8C001D0 +:10EB7000EDE810088F181298A1A8EE06000BF60910 +:10EB8000000997187218A1A82F8B9318049CF01FE6 +:10EB9000000DC0B8F1D8C001E7E810088F18EE03E7 +:10EBA00000036618A1A88718049CEEC5FFF8F01FA3 +:10EBB00000060A9C2FFDD8328002E87E8002E2BC6B +:10EBC0008003217C8002E8CCD42130081897487655 +:10EBD000169C8D08F01F00065BFCC0516C0858089D +:10EBE000EFF81A03D822000000008CC48002F1E87C +:10EBF0005EFDD703D421217DE06802041697BA6830 +:10EC0000504C500CF01F000B3008512850D848A829 +:10EC100050983FF8BA784898505C501CFAC9FF9059 +:10EC20000E9A700C1A9BF01F00062E9DD822000031 +:10EC30008002EDD08002EBF00000059880030C4CC0 +:10EC4000D421217D4988FAC9FF9016977006580B88 +:10EC5000C064E068008B3FFC8D38C228580BF60872 +:10EC600017005807F9BB01FFEFDBE10850585028A7 +:10EC7000E0680208BA683FF8504C500CBA781A9B0A +:10EC80000C9CF01F000A5BFCC044E068008B8D38D0 +:10EC90005807F9B90100FBF81000F1F91E002E9D8C +:10ECA000D8220000000005988002F5685C5BC0284F +:10ECB0002FFC19885808C050F6081800CFA15EFC38 +:10ECC000580B5E0C5E1DD703F9EB100AE21A000325 +:10ECD000C341780A76095CEAC170123AC151781AC8 +:10ECE00076195CEAC110123AC0F1782A76295CEAFA +:10ECF000C0B0123AC091783A76395CEAC0502F0C15 +:10ED00002F0B123ACE70F9DAC308F7D9C3085E0C9C +:10ED1000161C5E1CF9DAC208F7D9C2085E0C161C74 +:10ED20005E1CF9DAC108F7D9C1085E0C161C5E1C1E +:10ED30005C5A5C59121A5EFA178A1989580A5E09D8 +:10ED400014195E19179A1999580A5E0914195E194F +:10ED500017AA19A9580A5E0914195E1917BA19B920 +:10ED6000580A5E0914195E192FCB2FCCCE6B000008 +:10ED70003008F6080709F8080B092FF85809CFA141 +:10ED80005EFCD703D4014848189B700CF01F0003A9 +:10ED9000D8020000000005988002ED9CD42118974D +:10EDA0001696169CF01F0008F8C5FFFF0E9C0A9BE4 +:10EDB000F01F00061897C0500A9A0C9BF01F000421 +:10EDC0000E9CD8228002EDD08002E2BC8002E736A1 +:10EDD00030091898C0282FF8118AF20A1800CFC1FC +:10EDE000F00C010C5EFC580AC0815EFA580AC0B0F3 +:10EDF0005808C0902FFC2FFB201A19881789F0099A +:10EE00001800CF50198C1788101C5EFC3008103A7F +:10EE10005E0CF6080709F8080B092FF85809CF818E +:10EE2000103A5E0CF8080B092FF8CFBBD401484804 +:10EE3000169A189B700CF01F0003D802000005986A +:10EE40008002EE44D421300816951696C0282FF67D +:10EE5000580AC060201A0D89F0091800CF910A16CF +:10EE6000ECCBFFFFF01F00071897C0800A9B0C9A9D +:10EE7000F01F00053008EE060B080E9CD82200009B +:10EE80008002E2BC8002E736D42118981696580B0F +:10EE9000C0C03007C0481897F8C8FFFF109C0C9BF3 +:10EEA000F01F0005CF91C048F01F000318970E9C7B +:10EEB000D82200008002ECACD421201D4A351897DE +:10EEC0006A04E8F600E85806C351500B350CF01FF1 +:10EED00000206A08E94C00E8F0F900E89326930660 +:10EEE0009316F0F900E893469336F0F900E893663C +:10EEF0009356F0F900E893B693A6F0F900E893D69C +:10EF000093C6F0F900E893F693E6F0F900E8F346CB +:10EF10000044F3460040F0F900E8F346004CF346A5 +:10EF20000048F0F900E8F366001CF0F800E8400B38 +:10EF30009196486870080E9CF0FA00E83019F01FAE +:10EF400000052FFDD8220000000005988002E2A4F1 +:10EF50008002EF54D421580CC041740C580CC2905C +:10EF600018981697113EC0A80C3EC0815809C030B1 +:10EF7000109CCF7B9508B889D8220F365806CF5100 +:10EF8000580EC051950E1C9CD822129810991697B5 +:10EF9000133E0F361C36C0A1580EFC091700F9BBF2 +:10EFA0000100F1FB1E009509D8225806CF31CEEBA7 +:10EFB000D822D703D431203D4CC8502C700116986C +:10EFC000113EE20E0706E2160008CFB1E04E002D1A +:10EFD000C041113E3016C058E04E002BC021113EFA +:10EFE00058095F0C59095F053007F9E51005EE0572 +:10EFF0001800C1E0E04E0030C131118535843783FF +:10F00000E80518005F04E60518005F05E9E510054E +:10F01000EE051800C050119E31092FE8C098580C19 +:10F02000C070E04E0030F9B90008F9B9010AE06C8F +:10F03000FFFFEA1C7FFF3007FC1580000E930E36A1 +:10F04000F80517000E9CEA090D0408925005E20E1F +:10F050000704E1D4C001F9B00137F9B000575010EE +:10F06000FCC500300890E2100004C0814010E9D4D3 +:10F07000C002FC0001055804C1C01235C1A4043C03 +:10F080005FBEFDE713FEE60E1800C101043C5F0EF3 +:10F0900040070E355F97EFEE000EE60E1800C061D8 +:10F0A000B33C3017EA0C000CC0283FF7113ECD0BE3 +:10F0B0005BF7C0E1E069FFFFEA197FFFFC1C8000FD +:10F0C00040205806F20C170032298139C0485806F2 +:10F0D000FBBC0100580AC0705807F9B901FFF1D90B +:10F0E000E10B950B2FDDD8320000049CD401485869 +:10F0F0001499169A189B700CF01F0003D802000098 +:10F10000000005988002EFB43028D6733FFC358BA1 +:10F11000580C5E4C482A950B5EFC000000008CC425 +:10F120003058D6733FFC358B580C5E4C482A950BF3 +:10F130005EFC000000008CC43038D6733FFC358B79 +:10F14000580C5E4C482A950B5EFC000000008CC4F5 +:10F150003048D6733FFC358B580C5E4C482A950BD3 +:10F160005EFC000000008CC430B8D6733FFC358BC9 +:10F17000580C5E4C482A950B5EFC000000008CC4C5 +:10F180003098D6733FFC358B580C5E4C482A950B53 +:10F190005EFC000000008CC4D421210D16971A9B40 +:10F1A000F01F0011C0343FFCC1C84008AE08401831 +:10F1B000AE1840288F184038AE484048AE584058E6 +:10F1C000AE684068AE7840888F4840A88FB840C885 +:10F1D0008FC840D88F5840E8300C8F7840F88F980F +:10F1E0002F0DD8228002F180D40148C87009580937 +:10F1F000C03148B99109489948AA7208F00C000C2E +:10F20000143CE08B0004930CC068F01F000730C86A +:10F2100099083FF8109CD80200007AF800008CC8CA +:10F220000000F00080031D20D431208DFAC4FFBC03 +:10F23000504B682E505812967C0B7005506E580B30 +:10F24000F40B17006803681140493008C2C92FFB4E +:10F25000325C178AF80A18005F1EF00A18005F1C5B +:10F26000FDEC000CF00C1800CF31580AE0800129A9 +:10F27000300C3FFA1890503A18941892F80C003C51 +:10F280001697507C4CDC0F3AF80A070E407C1C0C99 +:10F290004CBEFC0C070E201E500E4CAEFC0C070C96 +:10F2A000507C400C587CE08B00F84C7EFC0C032F0B +:10F2B000368BF60A1800E08000F0371BF60A1800BB +:10F2C000C07034CBF60A1800C051A3B4CE58A5B410 +:10F2D000CE380F8B36CAF40B1800C051A5B4EECB54 +:10F2E000FFFFCDB8A5A4CD88EBD5C005367CF80AC4 +:10F2F0001800E08B0027365BF60A1800C48234FB46 +:10F30000F60A1800C480E08B000C345BF60A180083 +:10F31000C3E0347BF60A1800C3A0344BC088358B99 +:10F32000F60A1800C2C0E08B0007355BF60A180029 +:10F33000C351C318363BF60A1800C2F0364BC0E87A +:10F34000370BF60A1800C250E08B000D36EBF60AB8 +:10F350001800C1F0E08B0014369BF60A1800C1E1DA +:10F36000C0E8375BF60A1800C0A0378BF60A180011 +:10F37000C060373BF60A1800C111C0B8EDB40004F4 +:10F38000C0A0EDB40005C0913020C0883040C068F6 +:10F390003030C0483010C0283000403B5BFBC040DC +:10F3A000E20B0920C7985860E08B00776C0AEACC22 +:10F3B000FFFF486EFC00032F8003EE088003ED641E +:10F3C0008003ECF88003ECAC8003ECCCF4CBFFF8CA +:10F3D0008D0BF4EA0000E605083AC0F8F4CBFFFC18 +:10F3E0008D0B740AE605093AC088F4CBFFF88D0B43 +:10F3F000F4EA0000E605083A0E9B1895C4E8620A94 +:10F400005BFAC0B150195028E06A0080300B029CB2 +:10F41000F01F004D40284019E4CC00010E9B503CE9 +:10F42000F20C0C49C3A8620A5BFAC0B1501950280B +:10F43000E06A0080300B029CF01F00434028401916 +:10F440002012300A0E9BE202092AF2020C49C2582D +:10F4500016976C0AF4CBFFFC8D0B740A0E9BE60525 +:10F46000093A2FF5C1A8F4C20030C068E4020022B6 +:10F470002FF7F40200120F8A580AC0E0230A589AA4 +:10F48000FE98FFF6C0982FF70F8A580AC050230A3B +:10F49000589AFE98FFFA0E9B407C30BAF40C180084 +:10F4A000FE91FEEE4042178C0A325F4AF00C1800C3 +:10F4B0005F1CF9EA000AF00A1800FE91FECB300842 +:10F4C000404E178AE2050021F00A1800FC091710C7 +:10F4D000E6050038069EC2A8620A583AC1E0E089F3 +:10F4E0000007581AC1A0582AC181C058585AC0C034 +:10F4F000C0B5C1386C0AF4CCFFF88D0CF4E2000002 +:10F50000F0E30000C1086C0AF4CCFFF88D0CF4E2C3 +:10F510000000F0E30000C0786C0AF4CCFFFC8D0C16 +:10F52000740A910A2FF52F882FC11235FE9AFFD643 +:10F530001C934052406E85059D0B404BE60B003CF2 +:10F540002F8DD8328002E8BCD42114977428580833 +:10F55000C0419518109CD822F01F000330088F1866 +:10F560008F28D82280032320D431FACD068850A9D1 +:10F57000169014971893580CC06078685808C031DA +:10F58000F01F004E4CE81030C0316600C0A84CD8C7 +:10F590001030C0316610C0584CB81030E7F000028F +:10F5A0008068EDB80003C04160485808C071009BF6 +:10F5B000069CF01F0046E0810B4080681099E2191C +:10F5C000001A58A9C3D18079300AF4091900C385FB +:10F5D000A1D8FB5805B86088FB4805CC60A8FB485B +:10F5E00005D4FAC8FFD4FB4805BCFB4805ACE0686D +:10F5F0000400FB4805C0FB4805B43008FB5905BAB8 +:10F600000E9A40A9FAC7FA54FB4805C4069C0E9B03 +:10F61000F01F002F506CC0950E9B069CF01F002D14 +:10F62000406EF9BE01FF506EFB0805B8EDB800064C +:10F63000E0810B058068A7A8A068E08F0B00300868 +:10F64000FAC4F9F85098FB480678409CFB480674C9 +:10F65000FB48067CFB48068050573FF8FB44067089 +:10F66000FB48052C506C1896069150204055C02838 +:10F670002FF50B88300B325AF60818005F19F40882 +:10F6800018005F181268F6081800CF314059EA09CF +:10F690000107C2E0FAF806780E088909FB480678E7 +:10F6A0008917FAF806742FF8FB4806745878E08931 +:10F6B00000132F84C1A8000080031F388003EF2CA3 +:10F6C0008003EF4C8003EF6C80031C388002F568E8 +:10F6D00080031D2CFACAF990402B029CF01F00A158 +:10F6E000E0810AA6FAC4F9F840680E0850680B8851 +:10F6F0003007EE081800E0800A8AEAC2FFFF3003F4 +:10F700005052FB6706873FFE50745043503E0690B0 +:10F71000508506920C944057C0683FFC0A97503CB5 +:10F72000C02830000F38C0281292E0480063E08003 +:10F7300001CCE0890045E0480039E0890026E04836 +:10F740000031E0840198E048002BE0800101E0896D +:10F75000000FE0480023E080008EE048002AE080AF +:10F76000008CE0480020E0810897C7B8E048002EF0 +:10F77000E08000F1E0480030E080017BE048002DAF +:10F78000E081088ACE28505750420897408540743F +:10F790001092E048004FE0800439E0890008E0481A +:10F7A0000044E081087DE08F01DEE0480055E08004 +:10F7B00005DFE0480058E0810873C428E048006F86 +:10F7C000C430E089001FE0480069C450E089000AA5 +:10F7D000E0480064C400E0480068E081085DC63984 +:10F7E000E048006CE0800163505750420897408524 +:10F7F00040741092E048006EE0810852E08F02ED04 +:10F80000E0480073E0800553E089000BE048007099 +:10F81000E08004F9E0480071E081083EC5295057B6 +:10F8200050420897408540741092E0480075E0808F +:10F8300005A0E0480078E0810833E08F06964CABE5 +:10F84000509BE08F06945057408508975042407473 +:10F85000E08F03DD50574085089750424074C83907 +:10F86000FB380687300AF4081800FE91FF5D320865 +:10F87000C6E8A1A3C58B0F89F2C800305898E08B69 +:10F88000001EEEC8FFFF300B2309F60B002BF20B16 +:10F89000001B1139F2CA0030589AFE98FFF7E04970 +:10F8A0000024FE91FF40E04B0020E08909C1201BAD +:10F8B000FAF90680123BC095C108FAF90680ECCA35 +:10F8C000FFFF1236C1F5C268FAC9F9781097F20B3A +:10F8D000003BF6F2FDA4C358FAC7F9841AD7109773 +:10F8E000FAC2FAD01AD2FAC8FBCC029C1AD8FAC8CB +:10F8F000F974FAC9FFCC40BAF01F001C2FDD780262 +:10F90000C208FACEF9781496FC040038F0F2FDA48F +:10F91000C18840A859F9E0890011F0CBFFFC50AB39 +:10F920007002FACCF978F8090038F142FDA42FF9F9 +:10F930001496FB490680C058700214962FC850A830 +:10F940005802FE94FEF15C32A3A3CEDAFB68068770 +:10F95000CEAA0F38E048002AC0A03009C7D800005E +:10F960008002F5488003EDD08002F2280F88F0C9AC +:10F9700000305899E08B001EEEC5FFFF300B2308C6 +:10F98000F60B002BF00B001B0B38F0C90030589918 +:10F99000FE98FFF7E0480024FE91FEC5E04B0020F2 +:10F9A000E0890946201BFAF80680103BC095C10883 +:10F9B000FAF90680ECCAFFFF1236C1F5C288FACA0E +:10F9C000F978F40B003BF6FBFDA4503BC3C8FAC921 +:10F9D000F9841AD9FAC8FAD01AD8FAC8FBCC029C12 +:10F9E0001AD8FAC8F974FAC9FFCC40BAF01F027AE3 +:10F9F0002FDD780C503CC278FACEF9780E95FC04D5 +:10FA000000381496F0F8FDA45038C1D840A859F930 +:10FA1000E0890014F0CBFFFC700850AB5038FACCF2 +:10FA2000F978403BF8090038F14BFDA42FF90E9509 +:10FA3000FB4906801496C07870090E952FC850397E +:10FA4000149650A840385808FE95FE690A97C6BA21 +:10FA5000F40B00190F38F209002BF0CA0030589A45 +:10FA6000FE98FFF83FFEF20E0C495039C5FAA7B3D5 +:10FA7000C5AA30092308F2090029F00900190F3836 +:10FA8000F0CA0030589AFE98FFF7E0480024FE9133 +:10FA9000FE4DE0490020E08908CBF2C4000130109F +:10FAA000FE9FFE42A7A3FE9FFE3F0F89F0091800AC +:10FAB000C0512FF7A5B3FE9FFE37A5A3FE9FFE34CE +:10FAC000A5B3FE9FFE3150575042089740854074C1 +:10FAD0000C99FAF806805800C1D01037C064FACCEF +:10FAE000F978F8070037C1D8FAC8F9841AD8FAC8E3 +:10FAF000FAD01AD8FAC8FBCC1AD8FAC8F974FAC9DD +:10FB0000FFCC0A9A0E9B029CF01F02332FDD19B81E +:10FB1000C2282FF61039C084FACBF978F6070037DF +:10FB2000EF38FDA7C18840A959F8E0890012F2CA50 +:10FB3000FFFC50AA7209FAC2F978E408003A2FF8DB +:10FB4000F549FDA4FB480680F1D9C008C04813B8A8 +:10FB50002FC950A9300EFB680648FB6E0687E08F60 +:10FB600006A7A5A30C92EDB30005C4D1FAF8068050 +:10FB70005800C1E01037C064FACCF978F8070037B4 +:10FB8000C1F8FAC8F9841AD8FAC8FAD00A9A1AD869 +:10FB9000FAC8FBCC1AD8FAC9FFCCFAC8F9740E9B84 +:10FBA000029CF01F020D2FDD781A7809C288ECC282 +:10FBB000FFFF1036C0A4FACBF978F6070037EEFA4B +:10FBC000FDA8EEF9FDA4C1B840A959F8E0890013D9 +:10FBD000F2CAFFF850AAFAC6F978721AEC08003B8C +:10FBE0007209F74AFDA8F749FDA42FF8FB480680E3 +:10FBF000C068F2C8FFF8721A50A87209049650093A +:10FC0000501ACD58EDB30004C441FAF806805800EC +:10FC1000C1D01037C064FACEF978FC070037C1E8CC +:10FC2000FAC8F9841AD8FAC8FAD00A9A1AD8FAC8BF +:10FC3000FBCC0E9B1AD8029CFAC8F974FAC9FFCC07 +:10FC4000F01F01E52FDD780AC218ECC2FFFF103665 +:10FC5000C084FACCF978F8070037EEFAFDA4C16841 +:10FC600040A959F8E0890010F2CAFFFC50AAFACB6B +:10FC7000F978720AF6080039F34AFDA42FF8FB4818 +:10FC80000680C048720A2FC950A90496501AC8D8D5 +:10FC9000EDB30006C481FAF806805800C1D01037D1 +:10FCA000C064FAC8F978F0070037C1E8FAC8F984E7 +:10FCB0001AD8FAC8FAD01AD8FAC8FBCC1AD8FAC897 +:10FCC000F974FAC9FFCC0A9A0E9B029CF01F01C27C +:10FCD0002FDD9818C238ECC2FFFF1036C084FAC678 +:10FCE000F978EC070037EF08FDA6C18840A959F85C +:10FCF000E0890012F2CAFFFC50AA7209FACEF97824 +:10FD0000FC08003A2FF8F549FDA4FB480680F1D91C +:10FD1000B010C04892182FC950A950180496BF5867 +:10FD20005008C458FAF806805800C1D01037C06493 +:10FD3000FACBF978F6070037C1E8FAC8F9841AD87F +:10FD4000FAC8FAD00A9A1AD8FAC8FBCC0E9B1AD86D +:10FD5000029CFAC8F974FAC9FFCCF01F019F2FDD8D +:10FD6000780AC218ECC2FFFF1036C084FACAF978CC +:10FD7000F4070037EEFAFDA4C16840A959F8E089FC +:10FD80000010F2CAFFFC50AAFAC6F978720AEC0811 +:10FD90000039F34AFDA42FF8FB480680C048720AD8 +:10FDA0002FC950A90496501ABF5A500AFAEA000007 +:10FDB000580A5C2BC0E43008FAEA00003009F00A67 +:10FDC000010AF20B014B32D8FAEB0000FB68068700 +:10FDD0003010E08F04E30C99EDB30005C471FAF81C +:10FDE00006805800C1D01037C064FACAF978F40709 +:10FDF0000037C1D8FAC8F9841AD8FAC8FAD00A9AD2 +:10FE00001AD8FAC8FBCC0E9B1AD8029CFAC8F9740F +:10FE1000FAC9FFCCF01F01702FDD780AC2082FF657 +:10FE20001039C084FAC9F978F2070037EEFAFDA458 +:10FE3000C16840A959F8E0890010F2CAFFFC50AA35 +:10FE4000FAC3F978720AE6080039F34AFDA42FF8DC +:10FE5000FB480680C048720A2FC950A94062049826 +:10FE60009512BF589508FE9FFC03EDB30004C441F2 +:10FE7000FAF806805800C1D01037C064FACEF9787D +:10FE8000FC070037C1D8FAC8F9841AD8FAC8FAD0E2 +:10FE90000A9A1AD8FAC8FBCC0E9B1AD8029CFAC848 +:10FEA000F974FAC9FFCCF01F014C2FDD780AC208A3 +:10FEB0002FF61039C084FACCF978F8070037EEFA3B +:10FEC000FDA4C16840A959F8E0890010F2CAFFFCFE +:10FED00050AAFACBF978720AF6080039F34AFDA461 +:10FEE0002FF8FB480680C048720A2FC950A9406904 +:10FEF0009509FE9FFBBDE2130040C440FAF806805E +:10FF00005800C1D01037C064FAC8F978F00700373C +:10FF1000C1D8FAC8F9841AD8FAC8FAD00A9A1AD8F5 +:10FF2000FAC8FBCC0E9B1AD8029CFAC8F974FAC91D +:10FF3000FFCCF01F01292FDD780AC2082FF61039F7 +:10FF4000C084FAC3F978E6070037EEFAFDA4C16869 +:10FF500040A959F8E0890010F2CAFFFC50AAFAC281 +:10FF6000F978720AE4080039F34AFDA42FF8FB4837 +:10FF70000680C048720A2FC950A9406EB40EFE9F79 +:10FF8000FB77FAF806805800C1D01037C064FACC6D +:10FF9000F978F8070037C1D8FAC8F9841AD8FAC82E +:10FFA000FAD00A9A1AD8FAC8FBCC0E9B1AD8029C2F +:10FFB000FAC8F974FAC9FFCCF01F01072FDD780ADF +:10FFC000C2082FF61039C084FACBF978F60700374B +:10FFD000EEFAFDA4C16840A959F8E0890010F2CA00 +:10FFE000FFFC50AAFAC3F978720AE6080039F34A0E +:10FFF000FDA42FF8FB480680C048720A2FC950A9FB +:02000004800377 +:1000000040629502FE9FFB34A5A30C99EDB3000559 +:10001000C571FAF806805800C2601037C0A4FACE45 +:10002000F978FC070037EEEAFDA4FAEB0000C1887E +:10003000FAC8F9841AD8FAC8FAD01AD8FAC8FBCC88 +:100040001AD8FAC8F974FAC9FFCC0A9A0E9B029C16 +:10005000F01F00E12FDDF8E80000FAE900003000B1 +:10006000E08F03992FF61039C0B4FAC8F978F00779 +:100070000037EEEAFDA4FAEB0000E08F038C40A904 +:1000800059F8E0890016F2CAFFF850AAF2EA000017 +:10009000FAEB0000FACAF978F4080039FAEA00002D +:1000A000F2EBFDA42FF8FB480680E08F0374F2EA20 +:1000B00000002F89FAEB000050A9E08F036CEDB32C +:1000C0000004C141FAF806805800C0801037C60409 +:1000D000FACAF978F4070037C7782FF61039C774D1 +:1000E000FAC9F978F2070037C6F8EDB30006C45133 +:1000F000FAF806805800C1D01037C064FACCF978FD +:10010000F8070037C1D8FAC8F9841AD8FAC8FAD063 +:100110001AD8FAC8FBCC1AD8FAC8F974FAC9FFCCB5 +:100120000A9A0E9B029CF01F00AC2FDD9818C22883 +:100130002FF61039C084FACBF978F6070037EF08AC +:10014000FDA6C18840A959F8E0890012F2CAFFFC57 +:1001500050AA7209FAC2F978E408003A2FF8F54972 +:10016000FDA4FB480680F1D9B010C04892182FC9F1 +:1001700050A95C785018C418FAF806805800C1D00D +:100180001037C064FACCF978F8070037C1D8FAC83C +:10019000F9841AD8FAC8FAD00A9A1AD8FAC8FBCC45 +:1001A0000E9B1AD8029CFAC8F974FAC9FFCCF01F4A +:1001B000008A2FDD780AC2082FF61039C084FACBE6 +:1001C000F978F6070037EEFAFDA4C16840A959F89E +:1001D000E0890010F2CAFFFC50AAFAC2F978720A4C +:1001E000E4080039F34AFDA42FF8FB480680C04814 +:1001F000720A2FC950A9501A300E500E1C90E08F71 +:1002000002CA505750420897408540740C99FAF83A +:1002100006805800C1D01037C064FACCF978F807CE +:100220000037C1D8FAC8F9841AD8FAC8FAD01AD84F +:10023000FAC8FBCC1AD8FAC9FFCCFAC8F9740A9AE2 +:100240000E9B029CF01F00642FDD7809C2182FF668 +:100250001039C084FACBF978F6070037EEF9FDA41F +:10026000C17840A959F8E0890010F2CAFFFC50AAF1 +:10027000FAC2F9787209E408003AF549FDA42FF8AA +:10028000FB480680C058F2C8FFFC50A8720933082A +:10029000300EFB6806844D1C37885019A1B3FB68EB +:1002A0000685500E509CE08F02755057300B50421F +:1002B000FB6B06870897408540740C99FAF8068016 +:1002C0005800C1D01037C064FACAF978F407003773 +:1002D000C1D8FAC8F9841AD8FAC8FAD01AD8FAC814 +:1002E000FBCC0E9B1AD80A9AFAC8F974FAC9FFCC4B +:1002F000029CF01F00392FDD7807C2082FF6103955 +:10030000C084FAC9F978F2070037EEF7FDA4C16896 +:1003100040A959F8E0890010F2CAFFFC50AA720700 +:10032000FAC2F978E4080039F347FDA42FF8FB4836 +:100330000680C04872072FC950A9403E580EC1051B +:100340001C9A300B0E9CF01F0026E08002B6F807C6 +:100350000105403C1835E08902B0E08F02AF0E9CE9 +:100360003000F01F00201895E08F02A9A5A30C997A +:10037000EDB30005C581FAF806805800C2001037B9 +:10038000C064FACBF978F6070037C208FAC8F984D6 +:100390001AD8FAC8FAD00A9A1AD80E9BFAC8FBCC17 +:1003A000029C1AD8FAC8F974FAC9FFCCF01F000AE7 +:1003B0002FDDF8EA0000FAEB0000C3282FF6103911 +:1003C000C124FACAF978F4070037EEE8FDA4FAE987 +:1003D0000000C2688002F2288003EDE4800328A4B4 +:1003E0008002EDD040A959F8E0890015F2CAFFF863 +:1003F00050AAF2EA0000FAEB0000FACAF978F40811 +:100400000039FAEA0000F2EBFDA42FF8FB48068061 +:10041000C078F2EA00002F89FAEB000050A93010F2 +:10042000E08F01B9EDB30004C141FAF8068058002D +:10043000C0801037C604FACAF978F4070037C778C5 +:100440002FF61039C774FAC9F978F2070037C6F8E1 +:10045000EDB30006C451FAF806805800C1D0103739 +:10046000C064FACCF978F8070037C1D8FAC8F98423 +:100470001AD8FAC8FAD01AD8FAC8FBCC1AD8FAC8CF +:10048000F974FAC9FFCC0A9A0E9B029CF01F0086F1 +:100490002FDD9818C2282FF61039C084FACBF978CE +:1004A000F6070037EF08FDA6C18840A959F8E08992 +:1004B0000012F2CAFFFC50AA7209FAC2F978E408E5 +:1004C000003A2FF8F549FDA4FB480680F1D9B01099 +:1004D000C04892182FC950A95C785018C418FAF86F +:1004E00006805800C1D01037C064FACCF978F807FC +:1004F0000037C1D8FAC8F9841AD8FAC8FAD00A9ACB +:100500001AD8FAC8FBCC0E9B1AD8029CFAC8F97408 +:10051000FAC9FFCCF01F00642FDD780AC2082FF65D +:100520001039C084FACBF978F6070037EEFAFDA44B +:10053000C16840A959F8E0890010F2CAFFFC50AA2E +:10054000FAC2F978720AE4080039F34AFDA42FF8D8 +:10055000FB480680C048720A2FC950A9501A300EB5 +:100560003010500EC1794D1C509CEDB30005C541B3 +:10057000FAF806805800C2201037C0A4FACBF978E8 +:10058000F6070037EEE8FDA4FAE90000CF28FAC824 +:10059000F9841AD8FAC8FAD00A9A1AD80E9BFAC85F +:1005A000FBCC029C1AD8FAC8F974FAC9FFCCF01F28 +:1005B000003E2FDDF8EA0000C0C8ECCAFFFF10368D +:1005C000C0B4FAC9F9781496F2070037EEEAFDA430 +:1005D000FAEB0000CCE840A959F8E0890016F2E6F1 +:1005E0000000F2CBFFF8FAE7000050ABFAC6F9784A +:1005F000EC080039FAE60000F2E7FDA42FF81496A3 +:10060000FB480680CB68F2E600002F89FAE700007D +:1006100050A91496CAE8EDB30004C161FAF8068047 +:100620005800C0801037C6A4FACEF978FC0700370E +:10063000C838ECCAFFFF1036E0840082FACCF978A3 +:10064000F8070037C788EDB30006C4D1FAF8068072 +:100650005800C1D01037C064FACCF978F8070037D9 +:10066000C1F8FAC8F9841AD8FAC8FAD01AD8FAC860 +:10067000FBCC1AD8FAC8F974FAC9FFCC0A9A0E9BB7 +:10068000029CF01F00092FDD9818C2A8ECCAFFFFDA +:100690001036C0D4FACBF9781496F6070037EF0875 +:1006A000FDA6C1E88002F2288003EDE440A959F8D4 +:1006B000E0890013F2CBFFFC50AB7209FAC6F9785F +:1006C000EC08003B2FF8F749FDA4FB480680149680 +:1006D000F1D9B010C058921814962FC950A95C785F +:1006E0005018C458FAF806805800C1D01037C064BA +:1006F000FACCF978F8070037C1F8FAC8F9841AD8A3 +:10070000FAC8FAD00E9B1AD8FAC8FBCC0A9A1AD8A3 +:10071000029CFAC8F974FAC9FFCCF01F00C42FDD9F +:10072000780BC248ECCAFFFF1036C094FACBF978B8 +:10073000F60700371496EEFBFDA4C18840A959F8CE +:10074000E0890011F2CBFFFC50ABFAC6F978720BCE +:10075000EC080039F34BFDA42FF81496FB480680F3 +:10076000C058720B14962FC950A9501B300E500E52 +:100770004008401C300B18485F18E7E80008F608EE +:100780001800C0703308FB620685A1B3FB680684BD +:100790003020300AFB6A068740395809C025A7D3A4 +:1007A0004038401758085F194008FAC5F9900E48BC +:1007B00030025F18F3E81008E4081800C5E03018AC +:1007C000F0001800C0603028F0001800C051C3E8E5 +:1007D0000A970690C2C80A97FAE80000F5D8C00345 +:1007E0002D0A0EFAF00B1603F20C1603F7E911DBD3 +:1007F0001899169858085C29CF21FAE90000EDB342 +:100800000000C4613309F20A1800C4200EF9C408BC +:10081000F01F008730A82D0A3009AE8AFAEA0000DE +:10082000F01F008416991498FAE90000EECC00013C +:1008300030A83009FAEA00001897589A5C2BFE9B02 +:10084000FFE91BF800932D08C2080A97FAE8000098 +:10085000F5D8C004409EFC0A070A0EFAF20B1604F3 +:10086000F00A1604F5E911CA1699149858085C297B +:10087000CF01FAE90000C0C85800C091EDB30000F4 +:10088000C061FAC7F9913308AE88C0280A970E15DF +:100890004030C14850425057407410925802E08096 +:1008A00001B6300CFB620648FB6C06873015300041 +:1008B000FAC7F9B8C03840353000069A0699E21AEE +:1008C0000002E2190084508A5079EA000C42FB3899 +:1008D0000687300BF6081800F7B201FF580AF7B286 +:1008E00001FE5809C4514048041850385808E0899E +:1008F000001DC3E8FB4C06784CFE310C890E891CA8 +:10090000FB4B0674587BE08900042F84C0B8FACAF8 +:10091000F990402B029CF01F0049E0810189FAC444 +:10092000F9F8403B210B503BFAF90678FAF80674C7 +:10093000F2CCFFF0F0CBFFFF4BFA403E590EFE9990 +:10094000FFDB1C09890AFB490678891EFB4B0674EC +:10095000587BE08900042F84C0B8FACAF990402B74 +:10096000029CF01F0036E0810163FAC4F9F8FB38FD +:100970000687300CF8081800C1F0FAF80678FAC9B2 +:10098000F9792FF88909FB4806783019FAF80674C6 +:1009900089192FF8FB4806745878E08900042F84E1 +:1009A000C0B8FACAF990402B029CF01F0024E081E5 +:1009B000013FFAC4F9F8408B580BC1F0FAF80678F9 +:1009C000FAC9F97C2FE88909FB4806783029FAF83A +:1009D000067489192FF8FB4806745878E0890004DA +:1009E0002F84C0B8FACAF990402B029CF01F001364 +:1009F000E081011EFAC4F9F8407AE04A0080C5118E +:100A00004049041950395809E0890029C4A848C848 +:100A1000310EFB4C06788908891EFB4B0674587B07 +:100A2000E08900102F84C1788002F228800373408F +:100A30008002D9988003EDF88002F5488003ECE845 +:100A4000FACAF990402B029CF01F0052E08100F09E +:100A5000FAC4F9F8403C210C503CFAF90678FAF84F +:100A60000674F2CCFFF0F0CBFFFF4CBA403E590EBB +:100A7000FE99FFCF1C09890AFB490678891EFB4BAA +:100A80000674587BE08900042F84C0B8FACAF99034 +:100A9000402B029CF01F003FE08100CAFAC4F9F825 +:100AA0000A105800E089001BC3B8FB4C0678310AD5 +:100AB0004B9C891A890CFB4B0674587BE089000417 +:100AC0002F84C0B8FACAF990402B029CF01F003165 +:100AD000E08100AEFAC4F9F82100FAF90678FAF8D4 +:100AE0000674F2CCFFF0F0CBFFFF4ABA5900FE9932 +:100AF000FFDE0009890AFB4906788910FB4B067462 +:100B0000587BE08900042F84C0B8FACAF990402BC2 +:100B1000029CF01F0020E081008BFAC4F9F8FAF87B +:100B2000067889158907F0050005FAF80674FB4573 +:100B300006782FF8FB4806745878E08900042F8463 +:100B4000C0A8FACAF990402B029CF01F0012C6F10F +:100B5000FAC4F9F8E2130004C41040470417580718 +:100B6000E089001CC3B8FB4C067889058913FB4B50 +:100B70000674587BE08900042F84C098009A402BAB +:100B8000029CF01F0004C531FAC4F9F82107C0988F +:100B90008002F5488003ECE84AB53103FAC0F990C9 +:100BA000FAF90678FAF80674F2CCFFF0F0CBFFFF02 +:100BB0004A5A5907FE99FFD90E09890A8917FB4934 +:100BC0000678FB4B0674587BE08A0009FACAF99054 +:100BD000402B029CF01F001DC2A140684049E4095F +:100BE0000C4204085068FAF806785808C080FACA1F +:100BF000F990402B029CF01F0015C1913003FAC4FC +:100C0000F9F8FB430674FE9FF53302934020FAF88F +:100C100006785808C080029CFACAF990009BF01F21 +:100C2000000BC0613008FB480674C0284020806873 +:100C3000EDB80006C0313FF25062406CFE3DF978DD +:100C4000D83200008003EDF88002F548D431FACDA7 +:100C500001E03007503C16961295507A5087505755 +:100C60000E930E905047407E1D8957795809E080B9 +:100C700007A22FFE4D5C507E780C502CF809070817 +:100C8000E2180008C1B06C185808E08900070C9BF6 +:100C9000403CF01F004FCE816C084CCBF0C9FFFFE9 +:100CA000760A1188F4080708EDB80003CDD16C1856 +:100CB0008D0920182FF08D18CE7BE0490025E081AA +:100CC000008906941091109236CA344C358E407BC0 +:100CD0001739507B364BF6091800E08000BBE08BDB +:100CE0000042F8091800E08000B4E08B0021339B3B +:100CF000F6091800E08B01D2330BF6091800E082E8 +:100D00000094325BF6091800C640E08B000B5809CE +:100D1000E080074F324BF6091800E08101BFC8A8F8 +:100D200032ABF6091800E08101B9C6D8FC091800F9 +:100D3000E08000A4E08B000C34CBF6091800C7005B +:100D400034FAF4091800E08101A9C8C835BAF409D9 +:100D50001800E0800098363AF4091800E081019EFE +:100D6000C9E836FBF6091800C7E0E08B0017369B90 +:100D7000F6091800C720E08B0008368BF60918002A +:100D8000E081018CC4F8F4091800C3F036EAF409D4 +:100D90001800E0810183C8D8373AF4091800C1303F +:100DA000E08B0008370AF4091800E0810177C7A832 +:100DB000375AF4091800C5C0378AF4091800E081D1 +:100DC000016DC5B83029C7590000049C800328BCB8 +:100DD0006C185808E08900080C9B403CF01F006428 +:100DE000E08106E0407A6C08F539FFFF118AF20ACB +:100DF0001800E08106E02FF82FF08D086C182018FD +:100E00008D18C32BA5A1C64B407B1789F409180088 +:100E1000C0512FFBA1B1507BC5BBA1A1C59BA1B106 +:100E2000C57BA3A1C55BE4020022A17223021202CA +:100E3000C4FBE0420020E08B0007E4C4000130184E +:100E40003002C46B3168403A9538E08F06ABA1A1FF +:100E50004C8930AE5089C2B84C6C300B508C505B12 +:100E6000C279A1A14C4A3089508A5059C2194C2EDE +:100E700030AC508E505CC1C94BFBA9B1508B310ACC +:100E8000C169301950085019407BFACCFFD4F01FCB +:100E9000003BA7A1507C40194008C0B9A7A1300968 +:100EA000C0894B59E81102205089310E505EC009AB +:100EB000EDB10004FE90FED9EDB10002C441580826 +:100EC000C2500E34C064FACCFE20F8040024C2786C +:100ED000FACAFED40A99F407002A0E98130B14AB31 +:100EE0002FF81034CFC4EEC9FFFFEE0811FFF0C792 +:100EF000FFFF2FE808080807EA080025F2070007A7 +:100F0000FAC8FED4F0040324C1C8E6C8FFFF0E33BC +:100F1000C094FACBFE201093F6040024E8F4FF4CB2 +:100F2000C1086A042FC559F7E089000B1093FACA6B +:100F3000FE20F40700282FF7F144FF4CC02810933F +:100F4000A800C92AEDB10000C1A15808E0800088BE +:100F50000E34C635FACAFED40A99F407002A0E9850 +:100F6000130B14AB2FF81034CFC4C678800328BC01 +:100F70008002EFB480032E6C800329ECE2110002A2 +:100F8000C4805808C2500E34C064FACCFE20F80465 +:100F90000024C278FACAFED40A99F407002A0E98EF +:100FA000130B14AB2FF81034CFC4EEC9FFFFEE08BB +:100FB00011FFF0C7FFFF2FE808080807EA0800251F +:100FC000F2070007FAC8FED4F0040324C1C8E6C83B +:100FD000FFFF0E33C094FACBFE201093F6040024DA +:100FE000E8F4FF4CC1086A042FC559F7E089000BEB +:100FF0001093FACAFE20F40700282FF7F144FF4CA3 +:10100000C0281093E008141F89108908FE9FFE2D48 +:101010005808C2500E34C064FAC9FE20F2040024FD +:10102000C278FACAFED40A99F407002A0E98130B64 +:1010300014AB2FF81034CFC4EEC9FFFFEE0811FF38 +:10104000F0C7FFFF2FE808080807EA080025F207A5 +:101050000007FAC8FED4F0040324C1C8E6C8FFFFA5 +:101060000E33C094FAC2FE201093E4040024E8F486 +:10107000FF4CC1086A042FC559F7E089000B109393 +:10108000FACEFE20FC0700282FF7F144FF4CC028C1 +:1010900010938900FE9FFDE9402CF8090709EDB97E +:1010A0000000C021A1A14C7B30AA508B505A30398E +:1010B0006C1A580AE089000C501950080C9B403CEF +:1010C000F01F004140194008E081056CEDB10006B9 +:1010D000C151C1F86C1A201A8D1A580AE08A00040E +:1010E0008D0CC0B8501950080C9B403CF01F0036C6 +:1010F00040194008E08105562FF06C0A4B3EF4CCB5 +:10110000FFFF7C0B158AF60A070AEDBA0003CE3002 +:101110005829E08001C05839E080031D5819E0804B +:10112000011B029CE21C0010502C5802F9B2000175 +:10113000E3D1C001E080009B580CC0303001C4985E +:101140005808C2500E34C064FACBFE20F6040024C6 +:10115000C278FACAFED40A99F407002A0E98130B33 +:1011600014AB2FF81034CFC4EEC9FFFFEE0811FF07 +:10117000F0C7FFFF2FE808080807EA080025F20774 +:101180000007FAC8FED4F0040324C228E6C8FFFF13 +:101190000E33C094FACAFE201093F4040024E8F43D +:1011A000FF4CC1686A042FC559F7E08900111093FC +:1011B000FAC9FE20F20700282FF7F144FF4CC0883F +:1011C0008002EFB4800328BC0000049C10930891B7 +:1011D00030044D5E7C081034E08004E46C08118912 +:1011E000FAC8FE200808F169FFCC6C1820188D1889 +:1011F0006C082FF8308A8D08300BFACCFE2CF01FCB +:10120000004B2FF4FAC8FE2C0899FACAFE54029B30 +:10121000403CF01F00475BFCE08004C4580CC061F8 +:10122000402C580CC051830CC0385BECC0B0080097 +:10123000402B2012580BF9B40100F7B100FCFBF46D +:1012400000026C185808E089000B0C9B403CF01F12 +:101250000039C0505804C050E08F04A45802CBA1FC +:10126000402A580AFE91FD01C718402E580EC1A011 +:101270006C186C090438C0F4100910128D091001A3 +:101280000C9B403CF01F002BCF405801E08101E651 +:10129000E08F0488040904188D098D180401E08F7B +:1012A00001DD5808C2500E34C064FACCFE20F804A8 +:1012B0000024C278FACAFED40A99F407002A0E98CC +:1012C000130B14AB2FF81034CFC4EEC9FFFFEE0898 +:1012D00011FFF0C7FFFF2FE808080807EA080025FC +:1012E000F2070007FAC8FED4F0040324C258E6C887 +:1012F000FFFF0E33C094FACBFE201093F6040024B7 +:10130000E8F4FF4CC1986A042FC559F7E08900142E +:101310001093FACAFE20F40700282FF7F144FF4C7F +:10132000C0B80000000009AC8002E8BC800328407F +:10133000800328BC1093049A089C0C99301BF01F62 +:1013400000C9E080042FF800000040492FF95049FF +:10135000FE9FFC8B5802F9B200FFEDB10004C261A0 +:1013600030040891C1286C188D0920188D182FF4AD +:101370000832E080008D5808E08900080C9B403C52 +:10138000F01F00B9E08100846C08FACEFE20F0C99D +:10139000FFFF1188FC080008F138FE4CE208180035 +:1013A000CE315804C741E08F04065808C2500E34AD +:1013B000C064FACCFE20F8040024C278FACAFED435 +:1013C0000A99F407002A0E98130B14AB2FF8103467 +:1013D000CFC4EEC9FFFFEE0811FFF0C7FFFF2FE8F3 +:1013E00008080807EA080025F2070007FAC8FED433 +:1013F000F0040324C1C8E6C8FFFF0E33C094FACB43 +:10140000FE201093F6040024E8F4FF4CC1086A049F +:101410002FC559F7E089000B1093FACAFE20F40794 +:1014200000282FF7F144FF4CC02810930891300892 +:10143000C1886C1A201A8D1A133A02CA8D095802F3 +:10144000C1D06C195809E089000D50080C9B403C34 +:10145000F01F00854008C0500831C101E08F03A291 +:101460006C0AFACEFE2014992012158AFC0A000A92 +:10147000F53AFE4CF00A1800CDD1E2040104E080F8 +:10148000039A404C2FFC504C3008A2880800FE9F65 +:10149000FBEC029BE21B0010502B5802F9B200FF3C +:1014A000E3D1C001E08000BC580BC050FACAFE2452 +:1014B000506AC4385808C2500E34C064FAC9FE20BD +:1014C000F2040024C278FACAFED40A99F407002A6A +:1014D0000E98130B14AB2FF81034CFC4EEC9FFFFD6 +:1014E000EE0811FFF0C7FFFF2FE808080807EA0819 +:1014F0000025F2070007FAC8FED4F0040324C1C88F +:10150000E6C8FFFF0E33C094FACEFE201093FC0411 +:101510000024E8F4FF4CC1086A042FC559F7E0899C +:10152000000B1093FACCFE20F80700282FF7F144A7 +:10153000FF4CC0281093506430014CC4C598680813 +:101540001031E080032FFAC8FE200208F169FFCCB9 +:101550006C1820188D186C082FF8308A8D08300B05 +:10156000FACCFE2CF01F00422FF1FAC8FE2C029993 +:10157000FACAFE54406B403CF01F003E5BFCE0802A +:101580000311580CC041406B970CC0385BECC23063 +:10159000406A740CF01F0038C100FAC4FE20020437 +:1015A0002354C088098B201120140C9A403CF01F52 +:1015B00000335801CF81C2C80200402920125809C7 +:1015C000F8011710FBF80006F7B800FCFBF80A0654 +:1015D000FBF100026C185808E089000B0C9B403CA2 +:1015E000F01F0021C0505801E08102DCC1186C08D6 +:1015F00058025F1A11894A2E300C7C08F00907083E +:10160000EC180008F5E80238F8081800C991402BDA +:10161000580BFE91FB2A406A950BC98A402E580E42 +:10162000C300C1086C188D0A20188D182FF10232E2 +:10163000C1405808E08900070C9B403CF01F000A9D +:10164000C0C16C0848ECF0CAFFFF78091188F208A5 +:101650000708EDB80003CE710200FE9FFB060000F4 +:10166000800320B8800328BC000009AC8002E8BCDD +:10167000800328408003274880032FF40000049C47 +:101680005808C2500E34C064FACBFE20F604002481 +:10169000C278FACAFED40A99F407002A0E98130BEE +:1016A00014AB2FF81034CFC4EEC9FFFFEE0811FFC2 +:1016B000F0C7FFFF2FE808080807EA080025F2072F +:1016C0000007FAC8FED4F0040324C1C8E6C8FFFF2F +:1016D0000E33C094FACAFE201093F4040024E8F4F8 +:1016E000FF4CC1086A042FC559F7E089000B10931D +:1016F000FAC9FE20F20700282FF7F144FF4CC0285A +:1017000010930891C1286C1920198D19113902C93B +:101710008D085802C1506C185808E08900070C9BCE +:10172000403CF01F0059C0C16C094D8E12987C0AD4 +:1017300013892012F4090709EDB90003CE51404C7A +:101740002FFC504C08103008E2000000A288FE9FD9 +:10175000FA8CE4C90001E0490026E08B0005300B5B +:10176000506BC058E4CA00273272506A3009FACE72 +:10177000FE54509950A7E8110D80502E35894057DE +:101780006C0A339C158AF80A1800E08B0015338B1D +:10179000F60A1800C4E2330BF60A1800C270E08B98 +:1017A000004532BBF60A1800C51032DBF60A1800F5 +:1017B000C7C1C4C8F20A1800C4E0E08B000AF4CB29 +:1017C0000041305EFC0B1800E08B0070C398361CA3 +:1017D000F80A1800C6A3366BF60A1800E088003134 +:1017E000378EFC0A1800C611C368029BEDB1000BCE +:1017F000C3C15807E06B0200E3DBE031F9B7000832 +:10180000EDB1000AC041E011FA7FC2F8409B406C84 +:101810002FFB580CF7BC0101FBFC1A06F7B201FFC5 +:10182000E011FC7F509BC248499EFC070417C0B8DA +:10183000497CF80704175887E0890006C36858A751 +:10184000E08A0034E011F47FC108EDB10007C2D195 +:10185000A7D1C0B8029BE21B0600E04B0200C251B8 +:10186000A9D13107E8110500402B16CA502B6C1A7C +:10187000201A8D1A580AE08A000D6C0A2FFA8D0A78 +:10188000C1180000800328BC0000049C8003EF08FE +:10189000501950080C9B403CF01F00BD40194008F7 +:1018A000C0412012FE91FF6E505740A7EDB10008D5 +:1018B000C161FAC9FE54402A123AE088000B40295F +:1018C0000C9A137B403C50085029F01F00B240088E +:1018D000FAC9FE5440221232E080016D029AE21AE7 +:1018E0000010E081014B402EBC8A50084059FACBD1 +:1018F000FE54403C40825D1202994008E2190020EB +:10190000C2A05808C1400E34C064FACEFE20FC04C8 +:101910000024C1D9FACAFED40A99F407002A0E9805 +:10192000130B14AB2FF81034CFC4CF68E6C8FFFFF9 +:101930000E33C064FACBFE20F6040024C0796A049A +:101940002FC559F7E08901151093FACAFE20F40754 +:101950000028C0A9EDB10002C4415808C2500E349D +:10196000C064FAC9FE20F2040024C278FACAFED488 +:101970000A99F407002A0E98130B14AB2FF81034B1 +:10198000CFC4EEC9FFFFEE0811FFF0C7FFFF2FE83D +:1019900008080807EA080025F2070007FAC8FED47D +:1019A000F0040324C1C8E6C8FFFF0E33C094FAC296 +:1019B000FE201093E4040024E8F4FF4CC1086A04FC +:1019C0002FC559F7E089000B1093FACEFE20FC07D3 +:1019D00000282FF7F144FF4CC0281093A80CCCA886 +:1019E000F5D1C001C2A05808C1400E34C064FACB82 +:1019F000FE20F6040024CAB8FACAFED40A99F407F5 +:101A0000002A0E98130B14AB2FF81034CFC4C8481B +:101A1000E6C8FFFF0E33C064FACAFE20F4040024B7 +:101A2000C9586A042FC559F7E08900A31093FAC971 +:101A3000FE20F2070028C988E2110002C5904D6916 +:101A400040821232C091FACBFE544059403C5008BB +:101A5000F01F0052C088FACBFE544059403C500859 +:101A6000F01F004F40085808C2500E34C064FACE30 +:101A7000FE20FC040024C278FACCFED40A99F807B0 +:101A8000002C0E98130E18AE2FF81034CFC4EEC9E8 +:101A9000FFFFEE0811FFF0C7FFFF2FE80808080757 +:101AA000EA080025F2070007FAC8FED4F004032470 +:101AB000C1C8E6C8FFFF0E33C094FACCFE201093D5 +:101AC000F8040024E8F4FF4CC1086A042FC559F754 +:101AD000E089000B1093FAC9FE20F20700282FF7C7 +:101AE000F144FF4CC0281093891A890BC438580858 +:101AF000C2500E34C064FAC8FE20F0040024C2783C +:101B0000FACAFED40A99F407002A0E98130B14ABF4 +:101B10002FF81034CFC4EEC9FFFFEE0811FFF0C755 +:101B2000FFFF2FE808080807EA080025F20700076A +:101B3000FAC8FED4F0040324C1C8E6C8FFFF0E3380 +:101B4000C094FAC2FE20E40400241093E8F4FF4C91 +:101B5000C1086A042FC559F7E089000B1093FACE2B +:101B6000FE20FC070028F144FF4C2FF7C0281093FB +:101B7000890C404C2FFC504CFAC8FE54409B10106E +:101B8000402A1600F4000000FE9FF86F800328BC76 +:101B900080032FF480032E6C80032CE480032B340D +:101BA00040495809C0508C68EDB80006C0313FF874 +:101BB0005048404C288DD832D421217D1497189656 +:101BC000129A5807C064E068008B99383FFCC2281D +:101BD0005807EE0C1700F9B901FFEFD9E10C109985 +:101BE000E0680208BA683FF8504B505C500B502C2C +:101BF000BA781A9B0C9CF01F00095BFCC044E0689B +:101C0000008B8D385807F9B90100FBF81000F1F985 +:101C10001E002E9DD82200008002F568D401129883 +:101C20001499169A189B483C780CF01F0003D802B0 +:101C30000000059880031BB8D4214B3818961697DE +:101C4000700C580CC06078685808C031F01F002F25 +:101C50004AF81037C0514AC870087007C0E84AD81F +:101C60001037C0514A8870087017C0784AA81037DA +:101C7000C0414A58700870278E68EDB80003C1E073 +:101C8000EDB80004C3E1EDB80002C1516EDB580BA2 +:101C9000C0A0EEC8FFBC103BC0400C9CF01F001F52 +:101CA00030088FD88E68E018FFDBAE6830088F18D8 +:101CB0006E488F088E68A3B8AE686E485808C0B1E9 +:101CC0008E68E2180280E0480200C0500C9C0E9B17 +:101CD000F01F00138E69F1D9C001C07030088F2841 +:101CE0006E585C388F68C068EDB90001EFF81005D8 +:101CF0008F286E485808C0618E68EDB80007C02173 +:101D0000DC2AD82A0000059880031F388003EF2CB6 +:101D10008003EF4C8003EF6C8003217C8003276CF1 +:101D20004828700C2F4C5EFC00000598D4211697B3 +:101D3000189676485808C7D0580CC060786858087C +:101D4000C031F01F003D4BD81037C0316C07C0A820 +:101D50004BB81037C0316C17C0584BA81037EDF78F +:101D600000028E6A1498EDBA0003C420ABBAAE6AC2 +:101D70006E185808E08900066F085808E08A005A73 +:101D80006EB85808C560E21A1000C0306F55C0F830 +:101D900030196E8B0C9C5D1818955BFCC0816C38FB +:101DA00059D8C4708E68A7A8AE68D8228E68EDB8DE +:101DB0000002C0916E1810156ED85808EFF8101078 +:101DC000EBD8E1156EB80C9C30090A9A6E8B5D1841 +:101DD0008E680A3CC261ABD8300C6E49AE688F1C6D +:101DE0008F09EDB8000CC251EF450054D8226E4562 +:101DF0005805C1F06E04F5DAC0028F05F9B801008C +:101E0000EFF800050A148F28C11808990A9A6EA8DD +:101E10006E8B0C9C5D181814580CE08900078E68B6 +:101E2000A7A83FFCAE68D82218055804FE99FFEF1A +:101E3000D82A000080031F388003EF2C8003EF4C6A +:101E40008003EF6CD401189B580CC0714868487B24 +:101E5000700CF01F0007D8024868700CF01F0003D8 +:101E6000D80200008003ECA880031D2C800325E825 +:101E7000000005985EFC5EFCD401483BF01F0003A7 +:101E8000D80200008003629080032640D42116957A +:101E9000F606105CECCBFFF4F01F00071897C0901B +:101EA0009915300B2F4C0C9A8F2C8F0BF01F0003C1 +:101EB0000E9CD8228002E2BC8002E8BCD42149C832 +:101EC000189670076E685808C0410E9CF01F0019E4 +:101ED000EEC7FF2830056E2C6E18C0689869EA09B5 +:101EE0001900C1202A4C2018CFA76E085808C071CD +:101EF000304B0C9CF01F00108F0CC0306E07CECB07 +:101F000030C88D38D8223008F948004C99089928F3 +:101F1000991899489958996899D899E8F9480048C2 +:101F20003FF8B8783018B868D82200008003ECA8D1 +:101F300080031F3880031E8CD421189678675807B9 +:101F4000C4714A48301599A8F94700D8F94700DC10 +:101F5000F94700E09965F01F00208D0C0C9CF01FE4 +:101F6000001E8D1C0C9CF01F001C6C093048930750 +:101F7000B268931793276C18B27793479357936778 +:101F80009389910791179127494E495B939E93AB93 +:101F9000494A495493BA93C43099B069B07591C411 +:101FA0009147915791679188919E91AB91BA8D2CF1 +:101FB00031289907B868991799273028B87899C4B3 +:101FC0009967999E99AB99BA99479957998CD82254 +:101FD00080031E7880031EBC80032B1080032AD848 +:101FE00080032AAC80032A9CD4014858169AFAC967 +:101FF000FFFC189B700CF01F0003D802000005982E +:1020000080033424D43114901291169310971895AC +:10201000F20A02425802C0310491C418580CC06040 +:1020200078685808C031F01F001F49F81037C031D8 +:102030006A07C0A849D81037C0316A17C05849C8C4 +:102040001037EBF700026E185808C03430088F18AC +:102050000496C148F01F00176E08080308160E9B6F +:10206000F00400040A9C8F04F01F0013C070E40603 +:102070000109F2000D081091C1286E146E08069C2B +:10208000089A109B0836FE9BFFE70C9AF01F000988 +:102090006E080C088F086E180C188F18029CD83226 +:1020A00080031F388003EF2C8003EF4C8003EF6C1C +:1020B0008002E736800328BCD40112981499169A3E +:1020C000189B483C780CF01F0003D80200000598CC +:1020D00080032004D42116951897F01F00234A345A +:1020E00068287016E016FFFCECC8FF91F0050105AA +:1020F000E015FF80EAC50080E045007FE08A00230C +:10210000300B0E9CF01F001A68280C08103CC1A16F +:10211000EA0B11000E9CF01F00165BFCC171300B26 +:102120000E9CF01F00136828F808010958F9E08A8E +:10213000000AA1A9911948F8700948F8F80901099D +:1021400091090E9CF01F000DD82A68280A16A1A636 +:102150009116489870090A190E9C9109F01F000702 +:10216000DA2A00008002E8CA0000059C8002EBC861 +:10217000000009A800007AD08002E8CCD42116968D +:102180001897580BE08000CAF01F004E20864CEADA +:102190006C18742EF9D8C001A1C8EC080009721B94 +:1021A000E01BFFFC1C39C1D1F6080008580CC081A7 +:1021B0006C09121612086C3B6C299729933B1099F5 +:1021C0009526A1A98D194C1972091238C0634C08C3 +:1021D0000E9C700BF01F003F0E9CF01F003FD8229A +:1021E000931B580CC030300CC1086C0EF4C5FFF8BE +:1021F0001C161C086C2E0A3EF9BC0001EDF51003FC +:10220000EBFE1A02FDF51A03F20B000E7C1EEDBE6A +:102210000000C1301608580CC0C14ABE722B2F8E68 +:102220001C3BC071973697268D2B8D3B301CC058B8 +:10223000722B7239932B97391099EC080908A1A9D0 +:102240008D19580CC671E04801FFE08B0013A3986C +:10225000F4080039722B8D398D2B97369326A348BD +:102260007419301BF6080948F3E810089518C528BA +:10227000F00916095849E08B0006F00B16062C8B66 +:10228000C2D85949E08B0005F2CBFFA5C278E049DE +:102290000054E08B0006F00B160C292BC1F8E04926 +:1022A0000154E08B0006F00B160F289BC178F00B51 +:1022B0001612E0490554E088001137EBC0F8000021 +:1022C0008002E8CA0000059C000009A400007ACC46 +:1022D000800320D48002E8CC284BF40B003C782902 +:1022E0001839C0E17418A34B301CF80B094BF1EB03 +:1022F000100B1298951BC0A872291839C060721A69 +:10230000E01AFFFC1438CF9372388D388D2993363C +:1023100091260E9CF01F0002D82200008002E8CC1B +:10232000D431203D14941895169774285808E080ED +:10233000014A9668EDB80003C04176485808C0C10C +:102340000E9B0A9CF01F00A1C0708E68A7A8AE6803 +:1023500030988B38C3598E6368000696E2160002E7 +:10236000C2103003E06204000696C04860036016A5 +:102370002F805806CFC0E0460400EC091780E4091E +:1023800017B0069A6EA86E8B0A9C5D181816580C2A +:10239000E08A0114682818188928E08001141803BD +:1023A000CE9BE7D3C001C07050060C930C91501522 +:1023B0000892CA0806960891C048600360162F80EC +:1023C0005806CFC08E686E241099E2190200C570BD +:1023D0000836C4531099E2190480C4106E4B6E097C +:1023E000161950096E59109CF209001A3028F40889 +:1023F0000C08FAE9000410944009E21C04002FF9CB +:102400000C091238F2041730580CC110089B0A9CB2 +:10241000F01F006F1892C150400A6E4BF01F006D04 +:102420008E68E018FB7FA7B8AE68C0E8089A0A9CDF +:10243000F01F00691892C0816E4B0A9CF01F006764 +:1024400030C88B38CBA8400A4009E80A010AE409E1 +:1024500000088F548F2A8F088F420C940836EC04A2 +:102460001730069B089A6E0CF01F005D6E08080876 +:102470008F086E2808180C948F28C30808365FBA96 +:102480006E0C6E48103C5FB8F5E80008F2081800C2 +:10249000C0E0069B089AF01F00526E0808080E9BC9 +:1024A0008F080A9CF01F004FC190C8786E591236F1 +:1024B000C0A36EA8069A6E8B0A9C5D181894E089DA +:1024C000000EC7B80C9A069BF01F00456E080C085A +:1024D0000C948F086E280C188F28622808188328FF +:1024E000C71008160803C6DB6003601130082F8090 +:1024F00050085801CFA0400A580AC181029A30AB57 +:10250000069CF01F0039F9B80101F9D8E106EDD3B6 +:10251000E116F9B90101FBF91A00F9B80001E3D895 +:10252000E006F9B80001FBF80A000236EC04178057 +:10253000E20417B06E596E25F20500050A345F9A61 +:102540006E0C6E48103C5FB8F5E80008300AF408DD +:102550001800C0E0069B0A9AF01F00216E080A08C6 +:102560000E9B8F08401CF01F001FC180C2681234F0 +:10257000C0A56EA8069A6E8B401C5D181895E08960 +:10258000000EC1B8089A069BF01F00156E080808D7 +:1025900008958F086E2808188F280A16C0710E9BA0 +:1025A000401CF01F0010C091500664280A188528AE +:1025B000C0900A110A03C9EB8E68A7A8AE683FFC59 +:1025C000C028300C2FDDD83280031C388002E2BCDA +:1025D0008002E7368002E8E88003217C8002E87E02 +:1025E00080031D2C800328A4D43130051893169045 +:1025F0000A91F01F00123FF2E6C7FF28C1786E264D +:102600006E142F46C0D88C08E2081900C0808C18C0 +:10261000E4081900C040069C5D1018452A462014A5 +:10262000ECCB000C5804CF046E075807CE91F01F76 +:1026300000040A9CD832000080031E7480031E76BA +:10264000D43130051691F8C7FF280A92F01F001008 +:102650003FF3C1686E266E142F46C0C88C08E4088C +:102660001900C0708C18E6081900C0305D111845BB +:102670002A462014ECCC000C5804CF146E075807DF +:10268000CEA1F01F00040A9CD832000080031E7403 +:1026900080031E76D401201D4848189B1A9A700C9E +:1026A000F01F00032FFDD80200000598800326B01C +:1026B000D431169414921895F01F00204A08700720 +:1026C0005807C050300633DA0C98C0780A9CF01FC7 +:1026D000001D0E9CD8322FF6E8060709F0091800F5 +:1026E0005F1BF40918005F191669F0091800CF4143 +:1026F000C1A8029C0C9A089BF01F0013C1216E0117 +:102700000C010388E6081800C0C148D870080A9C6C +:102710001017A3478507F01F000BE2CCFFFFD8324C +:102720002FC7C02833D36E015801CE410A9CF01F39 +:102730000005029CD8320000800361BC000009B093 +:10274000800361BE8002EDE6E04C00FFE0880003FC +:102750005EFD48487008F00C070CE21C00085EFCA7 +:102760000000049C481C5EFC8003EF8CD42120FDFB +:10277000966816971896E2180002C3C1967BF00B74 +:102780001900C0551A9AF01F002AC0F48E650A98E5 +:10279000ABB8E2150080AE683004E0680400F9B51B +:1027A0000140F0051700C1B84018E218F000E048F9 +:1027B00020005F04E0488000C0D16EB949D81039CC +:1027C000C0918E68E0650400ABA8EF450050AE688C +:1027D000C0688E68E0650400ABB8AE680A9B0C9CCC +:1027E000F01F00158E68C0D1EDB80009C1E0A1B896 +:1027F000AE68EEC8FFB98F488F0830188F58C1589F +:10280000A7B88F4CAE688F5548C88F0C8DA8580458 +:10281000C0C08E7CF01F000AEFF81206F9B9010162 +:10282000F1D9E138EFF81C062F1DD822800362A8E9 +:1028300080032AAC8002E2BC80031E788002F1682B +:10284000D42118971096580AC041149B3019486A31 +:10285000F01F00065BFCC06130088D08E068008A4C +:102860008F38D82280037E208003286C201D5809D1 +:102870005F09580BFA0B1700580A5F18F3E80008B5 +:102880003009F2081800C0303FECC0B8580AC03117 +:10289000149CC078158997091589F00918005F1CE8 +:1028A0002FFD5EFCF7DBC008C068201A19881638B7 +:1028B0005E0C2FFC580ACFA15EFAD703D4211697DD +:1028C0001896580CC06078685808C031F01F00385E +:1028D0004B881037C0316C07C0A84B781037C03117 +:1028E0006C17C0584B581037EDF7000230088F189E +:1028F0008E68EDB80005C590EDB80002C1A0EDB836 +:102900000004C060A7A8AE6830988D38C4D8EDB870 +:102910000003C0B10E9B0C9CF01F0029C4618E689F +:102920008F6CA3D88F2CAE688E68A3A8AE68C14800 +:102930006EDB580BC110EEC8FFBC103BC0400C9CB6 +:10294000F01F0020300C6F088FDC8F185808C04033 +:102950006EF88F08D8226E485808C0510E9B0C9C08 +:10296000F01F00198E68F1D8C002C0604978498B09 +:10297000700CF01F00186E4A6E980C9C8F0A6E59EE +:102980006E8B5D188E688F1CADD8AE68580CE08ACF +:102990000003D82A580CC041A5B8AE68C058A7A8F3 +:1029A000AE6830088F18DC2ADC2A000080031F384C +:1029B0008003EF2C8003EF4C8003EF6C80031D2C11 +:1029C0008003217C8003276C8003ECA8800329D43A +:1029D00080032640D4019868E21800095898C02066 +:1029E000D80AF01F0002D80280031E44D431189E7A +:1029F0001738E048005EC030300AC0381738301A47 +:102A00003009FC090B0A2FF9E0490100CFB1580841 +:102A1000C041F6CC0001D832149632D4EC16000135 +:102A2000300735D5C0381498129BFC080B06F6C940 +:102A3000FFFF178A129CE80A1800C090EA0A1800E3 +:102A4000C1E0EE0A1800CF01169CD832138C103C5E +:102A50005F53E04C005D5F0AE7EA100AEE0A1800D7 +:102A6000C03032D8CE2BF0CAFFFFFC0A000A14C6D1 +:102A70002FF81838CFD52FEB2FE9CDCBD8321498BB +:102A8000F5DBC01FF00C1100104CFC187FF0F5ECCA +:102A900013FCF00C010CBF9C5EFCD703D401967BA9 +:102AA000F01F0002D8020000800353E0D4211697E3 +:102AB000967BF01F00098E681099ADC95BFCEFF999 +:102AC0000C06EFFC1A15E0691000F1D9E138EFF8B7 +:102AD0001C06D822800362D4D421966816971495D8 +:102AE0001294E21801001896C0603029300A967BD3 +:102AF000F01F00068E68ADC808990A9A8E7B0C9C60 +:102B0000AE68F01F0003D822800362D4800353B460 +:102B1000D4211697967BF01F0007C0656F581808E0 +:102B2000EF480054D8228E68ADC8AE68D8220000A5 +:102B30008003694CD431208D4DB8500B7008507C07 +:102B4000502A1295501816970F36401AF4060704AB +:102B5000E2140008CFA1E046002DC0410F3630142A +:102B6000C058E046002BC0210F3658055F085905B4 +:102B70005F0A3009F1EA100AF20A1800C1D0E046F3 +:102B80000030C1210F8A358B378CF60A18005F0B95 +:102B9000F80A18005F0A144BF20B1800C0500F9689 +:102BA00031052FE7C0985808C070E0460030F9B5ED +:102BB0000008F9B5010A5804C0713FF0E061FFFF59 +:102BC000EA117FFFC0483000FC118000EA03141FA7 +:102BD0000A980699009A029BF01F00340699505AF1 +:102BE0000A98009A029BF01F0032069C14981699CE +:102BF000300A30003001149E109212934019F206F0 +:102C0000070BF3DBC001F9B90137F9B90057506977 +:102C1000ECC80030EDBB0002C0804069F7DBC002A9 +:102C2000EC090108580BC2D00A38C2B40430E601DE +:102C300013005FB9F3EA13FAFC0A1800C1F104307B +:102C4000E60113005F09405A14385F9AF5E900095C +:102C5000FC091800C131E005064AEA010249504862 +:102C6000F8000349BF58F20B000B5038FAE0000C93 +:102C70001400E20B0041301AC0283FFA0F36CBFB9C +:102C80005BFAC1715804C0713FF0E061FFFFEA11C7 +:102C90007FFFC0483000FC11800032284079933813 +:102CA000C10800000000049C800373408002D99892 +:102CB0005804C07030083009F0000100F2010141F1 +:102CC00040285808C0B0580AF9B801FFEFD8E10A07 +:102CD000FBFA1A00402940089308009A029B2F8DA6 +:102CE000D8320000D431209D4DE816927008508CE7 +:102CF000505A1295504816970F36404EFC0607035F +:102D0000E2130008CFA1E046002DC0410F3630137A +:102D1000C058E046002BC0210F3658055F08590502 +:102D20005F0A3009F1EA100AF20A1800C1D0E04641 +:102D30000030C1210F8A358B378CF60A18005F0BE3 +:102D4000F80A18005F0A144BF20B1800C0500F96D7 +:102D500031052FE7C0985808C070E0460030F9B53B +:102D60000008F9B5010AEA04141F0A9808993FFA05 +:102D70003FFBF01F003D0899502B503A0A983FFA4C +:102D80003FFBF01F003A300B300830094041E206AB +:102D9000070EE1DEC001ECCC00305800F9B101377C +:102DA000F9B100571C90E2100004C061EC01010C65 +:102DB000FDDEC002C3700A3CC354FAE000080038CC +:102DC000E20913005FBE3000FDEB13FBE00B1800BF +:102DD000C261FAE00008143C5F9E0038E20913006B +:102DE0005F0B3000FDEB000BE00B1800C181F0051C +:102DF0000640EA09024BFAE10000E808034BF6013D +:102E00000001507C5001BF5CFAE00000506C301BA8 +:102E1000FAE800180008F2010049C0283FFB0F360D +:102E2000CB6B5BFBC071322840803FF981383FF8A3 +:102E3000C0985803C07030043005E8080108EA095A +:102E40000149405E580EC080580BF9BA01FFEFDA15 +:102E5000E102405A9502109A129B2F7DD832000051 +:102E60000000049C8002D99880037340D431203D37 +:102E70004C48502C70011698113EE20E0705E215E1 +:102E80000008CFB1E04E002DC041113E3015C058B2 +:102E9000E04E002BC021113E58095F0C59095F0616 +:102EA0003007F9E61006EE061800C1E0E04E0030EB +:102EB000C131118635843783E80618005F04E606C1 +:102EC00018005F06E9E61006EE061800C050119ED5 +:102ED00031092FE8C098580CC070E04E0030F9B9A5 +:102EE0000008F9B9010A3FF3E6090D023007500363 +:102EF0000E9C0E93E20E0704E1D4C001F9B0013735 +:102F0000F9B000575010FCC600300890E2100004E1 +:102F1000C0814010E9D4C002FC0001065804C1C0C1 +:102F20001236C1A4043C5FBEFDE713FEE60E180096 +:102F3000C101043C5F0E40070E365F97EFEE000EB6 +:102F4000E60E1800C061B33C3017EC0C000CC02832 +:102F50003FF7113ECD0B5BF7C061322940200E9C3C +:102F60008139C0485805FBBC0100580AC070580799 +:102F7000F9B901FFF1D9E10B950B2FDDD832000033 +:102F80000000049CD421169776DBEEC8FFBC103BF2 +:102F9000C171E06B0400F01F0015C250E06804002E +:102FA0008FDC8FE8EF380046F8CCFC03B8A8EF3888 +:102FB0000045B898EF380044B8888F0CC1386EE5EA +:102FC000EA041501089AF01F000A1896C0C00A9A70 +:102FD000189BF80500050A9CF01F00068FE48F057A +:102FE0008FD6D82ADC2A00008002E2BC8002E8E802 +:102FF0008002E736D4211697149618955BFBC650CD +:10300000580CC06078685808C031F01F00314B1868 +:103010001036C0316A06C0A84AF81036C0316A16A8 +:10302000C0584AE81036EBF600028C68A5D8AC68A8 +:10303000EDB80002C140EDB80004C461EDB8000372 +:10304000C0B10C9B0A9CF01F0026C3E18C688D6CFC +:10305000A3D88D2CAC688C68A3A8AC680E946CD8EF +:103060005C545808C1006C196CE81039C0650A9CA2 +:103070000C9BF01F001CC2816C0820188D08B084C6 +:103080000897C0C86C495809C0C06C081238E0885D +:10309000000911770837C0518D086C182FF8C12826 +:1030A0006C18ED4800406C088DF8ECC8FFBC8DD85A +:1030B00030388DE8ECC8FFBAED6400468D080897FB +:1030C00030188D18C0283FF70E9CD82280031F3877 +:1030D0008003EF2C8003EF4C8003EF6C80031D2CEA +:1030E00080032F84D431208DFAC4FFBC504B682E4E +:1030F000505812967C0B7005506E580BF40B17004D +:103100006803681140493008C2C92FFB325C178A36 +:10311000F80A18005F1EF00A18005F1CFDEC000C96 +:10312000F00C1800CF31580AE0800129300C3FFA2A +:103130001890503A18941892F80C003C1697507C4E +:103140004CDC0F3AF80A070E407C1C0C4CBEFC0C01 +:10315000070E201E500E4CAEFC0C070C507C400C91 +:10316000587CE08B00F84C7EFC0C032F368BF60A63 +:103170001800E08000F0371BF60A1800C07034CB4E +:10318000F60A1800C051A3B4CE58A5B4CE380F8BA0 +:1031900036CAF40B1800C051A5B4EECBFFFFCDB872 +:1031A000A5A4CD88EBD5C005367CF80A1800E08BC5 +:1031B0000027365BF60A1800C48234FBF60A1800B2 +:1031C000C480E08B000C345BF60A1800C3E0347B4B +:1031D000F60A1800C3A0344BC088358BF60A1800D5 +:1031E000C2C0E08B0007355BF60A1800C351C31854 +:1031F000363BF60A1800C2F0364BC0E8370BF60A29 +:103200001800C250E08B000D36EBF60A1800C1F032 +:10321000E08B0014369BF60A1800C1E1C0E8375B6A +:10322000F60A1800C0A0378BF60A1800C060373BBA +:10323000F60A1800C111C0B8EDB40004C0A0EDB486 +:103240000005C0913020C0883040C0683030C04890 +:103250003010C0283000403B5BFBC040E20B09202F +:10326000C7985860E08B00776C0AEACCFFFF486E85 +:10327000FC00032F8003F2708003F1D48003F16817 +:103280008003EFC88003EFE8F4CBFFF88D0BF4EA7E +:103290000000E605083AC0F8F4CBFFFC8D0B740A79 +:1032A000E605093AC088F4CBFFF88D0BF4EA00007C +:1032B000E605083A0E9B1895C4E8620A5BFAC0B1AD +:1032C00050195028E06A0080300B029CF01F004D1E +:1032D00040284019E4CC00010E9B503CF20C0C49F4 +:1032E000C3A8620A5BFAC0B150195028E06A008096 +:1032F000300B029CF01F0043402840192012300A76 +:103300000E9BE202092AF2020C49C25816976C0A77 +:10331000F4CBFFFC8D0B740A0E9BE605093A2FF5E2 +:10332000C1A8F4C20030C068E40200222FF7F40202 +:1033300000120F8A580AC0E0230A589AFE98FFF636 +:10334000C0982FF70F8A580AC050230A589AFE983F +:10335000FFFA0E9B407C30BAF40C1800FE91FEEE92 +:103360004042178C0A325F4AF00C18005F1CF9EAE1 +:10337000000AF00A1800FE91FECB3008404E178A72 +:10338000E2050021F00A1800FC091710E6050038D4 +:10339000069EC2A8620A583AC1E0E0890007581A9E +:1033A000C1A0582AC181C058585AC0C0C0B5C13840 +:1033B0006C0AF4CCFFF88D0CF4E20000F0E300009E +:1033C000C1086C0AF4CCFFF88D0CF4E20000F0E3C5 +:1033D0000000C0786C0AF4CCFFFC8D0C740A910AD2 +:1033E0002FF52F882FC11235FE9AFFD61C9340521D +:1033F000406E85059D0B404BE60B003C2F8DD8326F +:103400008002E8BCD421149774285808C04195184C +:10341000109CD822F01F000330088F188F28D82264 +:1034200080032320D431FACD06BC5109169114979C +:103430001895F01F0056780C50CC5805C0706A687B +:103440005808C0410A9CF01F00524D281031C0316D +:103450006A01C0A84D081031C0316A11C0584CF83B +:103460001031EBF100028268EDB80003C041624800 +:103470005808C071029B0A9CF01F0049E0810F941C +:1034800082681099E219001A58A9C3D18279300ACA +:10349000F4091900C385A1D8FB5805D06288FB4800 +:1034A00005E462A8FB4805ECFAC8FFBCFB4805D45C +:1034B000FB4805C4E0680400FB4805D8FB4805CC80 +:1034C0003008FB5905D20E9A4109FAC7FA3CFB486D +:1034D00005DC0A9C0E9BF01F003350BCC0950E9B70 +:1034E0000A9CF01F003140BEF9BE01FF50BEFB0830 +:1034F00005D0EDB80006E0810F598268A7A8A26840 +:10350000E08F0F543008FB4806B4FB480690FB4898 +:10351000068CFB4806B03008300950A75078FAC432 +:10352000F9E03FF85059FB440688FB480544129CDB +:10353000506950D950E950B9129740A2325A300818 +:10354000C0282FF20589F00918005F1BF409180044 +:103550005F19F3EB000BF00B1800CF4140ABE40B0D +:103560000106C300FAF806900C08890BFB48069088 +:103570008916FAF8068C2FF8FB48068C5878E089F3 +:1035800000152F84C1C800008003276480031F3802 +:103590008003EF2C8003EF4C8003EF6C80031C381A +:1035A0008003342480031D2CFACAF978029B0A9CFC +:1035B000F01F0071E0810EF4FAC4F9E040BA0C0A81 +:1035C00050BA05893008F0091800E0800ED930099A +:1035D000FB6806BB0E96E4C8FFFF3FFE50945041C7 +:1035E0000E940491508950A8502E50391293129085 +:1035F00010970A92C0783FFC0A97502CC038300BC5 +:10360000503B0F38C0281290F0C90020E049005804 +:10361000E08B0A4A4D9AF409032F50A750800C976B +:103620000495089602924D6940941090404150D9FB +:10363000E08F08AA3008FB3906BBF0091800CE213C +:103640003208C6E8A1A3CDEB0F89F2C80030589824 +:10365000E08B001DEEC8FFFF300B2309F60B002B9B +:10366000F20B001B1139F2CA0030589AFE98FFF78E +:10367000E0490024CC51E04B0020E0890E90201B53 +:10368000FAF906B4123BC095C108FAF906B4ECCABF +:10369000FFFF1236C1F5C268FACEF9441097FC0B51 +:1036A000003BF6F0FD88C3581097FAC8F9501AD8B5 +:1036B000FAC8FAB81AD8FAC8FBB4029A1AD8049C05 +:1036C000FAC8F940FAC9FFB4F01F002E2FDD7800C8 +:1036D000C208FACCF9441496F8040038F0F0FD88DA +:1036E000C188410859F9E0890011F0CBFFFC510B6A +:1036F0007000FACBF944F6090038F140FD882FF943 +:103700001496FB4906B4C058700014962FC851088F +:103710005800FE94FF785C30A3A3C74B32B8FB6817 +:1037200006BBC70B0F38E048002AC0303009C80874 +:103730000F88F0C900305899E08B0026EEC5FFFFD6 +:10374000300B2308F60B002BF00B001B0B38F0C9D5 +:1037500000305899FE98FFF7E0480024FE91FF5191 +:10376000E04B0020E0890E1B201BFAF806B4103B4A +:10377000C115C188800334048003F0048003EDD0B8 +:10378000800330E4FAFA06B4ECC9FFFF1436C1F541 +:10379000C288FACAF944F40B003BF6FBFD88502BB3 +:1037A000C3C8FAC8F9501AD8FAC8FAB81AD8FAC869 +:1037B000FBB4029A1AD8049CFAC8F940FAC9FFB4BB +:1037C000F01F017B2FDD780C502CC27812960E95DD +:1037D000FAC9F944F2040038F0F8FD885028C1D83D +:1037E000410859FAE0890014F0CBFFFC7008510B36 +:1037F0005028FAC6F944402EEC0A0038F14EFD88F4 +:103800002FFA0E95FB4A06B41296C078700C0E95EE +:103810002FC8502C12965108402B580BFE95FEEDE8 +:103820000A97CF0AF20900290F38F4090019F0CAE3 +:103830000030589AFE98FFF83FFAF20A0C495029D6 +:10384000CE4AA7B3CDFA30092308F2090029F009BE +:1038500000190F38F0CA0030589AFE98FFF7E04878 +:103860000024FE91FED2E0490020E0890D98F2C4C8 +:10387000000130195039CC6AA3B3CC4AA7A3CC2A93 +:103880000F8836CEFC081800C0412FF7A5B3CBAA8D +:10389000A5A3CB8AA5B3CB6A50A750800C971090F4 +:1038A00008960495409402920E994041FAF806B4A5 +:1038B000403C580CC1D01036C064FACBF944F6062F +:1038C0000036C1D8FAC8F9501AD8FAC8FAB81AD8C6 +:1038D000FAC8FBB41AD8FAC8F940FAC9FFB4049A76 +:1038E0000C9B0A9CF01F01322FDD19B8C2282FF75C +:1038F0001039C084FACAF944F4060036ED38FD8B5D +:10390000C188410959F8E0890012F2CAFFFC510A46 +:103910007209FAC6F944EC08003A2FF8F549FD8817 +:10392000FB4806B4F1D9C008C04813B82FC95109E3 +:10393000FB680660300E30083012FB6806BB502E64 +:10394000E08F08C450A750800C9704950896029207 +:10395000409410904041A5A3C0A850A750800C9758 +:10396000049508960292409410904041EDB30005F2 +:10397000C511FAF806B4403C580CC1E01036C064DA +:10398000FACBF944F6060036C208FAC8F9501AD83C +:10399000FAC8FAB80C9B1AD8FAC8FBB41AD8FAC9F4 +:1039A000FFB4FAC8F940049A0A9CF01F01012FDD08 +:1039B000781B7809C2B8EECAFFFF1037C0B4FAC945 +:1039C000F9441497F2060036ECFBFD8CECF9FD8807 +:1039D000C1D8410959F8E0890014F2CBFFF8510B26 +:1039E000FAC6F944721BEC08003C7209F94BFD8CD5 +:1039F000F949FD882FF81497FB4806B4C078F2C83F +:103A0000FFF8721B1497510872091698FAE9000022 +:103A1000CAE8EDB30004C171FAF806B4403E580E8E +:103A2000C0801036C694FACCF944F8060036C8288F +:103A3000EECAFFFF1037E0840081FACBF944F606A6 +:103A40000036C778EDB30006C4B1FAF806B4403CBE +:103A5000580CC1D01036C064FACBF944F6060036D3 +:103A6000C1F8FAC8F9501AD8FAC8FAB81AD8FAC878 +:103A7000FBB41AD8FAC8F940FAC9FFB4049A0C9BEF +:103A80000A9CF01F00CB2FDD9818C268EECAFFFF1A +:103A90001037C094FAC9F9441497F2060036ED08BD +:103AA000FD8AC1A8410959F8E0890013F2CBFFFC57 +:103AB000510B7209FAC6F944EC08003B2FF8F7499C +:103AC000FD88FB4806B41497F1D9B010C05892187D +:103AD00014972FC951095018BF585008C488FAF8D4 +:103AE00006B4403C580CC1D01036C064FACBF9443F +:103AF000F6060036C1F8FAC8F9501AD8FAC8FAB86A +:103B00000C9B1AD8FAC8FBB4049A1AD80A9CFAC8B3 +:103B1000F940FAC9FFB4F01F00A62FDD780BC248A8 +:103B2000EECAFFFF1037C094FAC9F944F206003616 +:103B30001497ECFBFD88C188410959F8E089001110 +:103B4000F2CBFFFC510BFAC6F944720BEC080039BA +:103B5000F34BFD882FF81497FB4806B4C058720B3E +:103B600014972FC95109501BBF5B500BFAEA000094 +:103B7000580A5C2BC0E43008FAEA00003009F00A69 +:103B8000010AF20B014B32D8FAEB0000FB6806BBCE +:103B90003018E08F071150A750800C9704950896B5 +:103BA00002924094109040410E99EDB30003C4116D +:103BB000FAF806B4403A580AC1901036C645FAC819 +:103BC000F9501AD8FAC8FAB81AD8FAC8FBB40C9B3C +:103BD0001AD8049AFAC8F940FAC9FFB40A9CF01F2F +:103BE00000742FDD78165076C4882FF71039C0C4C2 +:103BF000FACEF944FC060036ECFCFD8C507CECF669 +:103C0000FD885056C668410959F8E0890010F2CA8B +:103C1000FFF8721B510A7209FACAF944507B5059D5 +:103C2000F4080039405B407AC47872185078C4C8F0 +:103C3000FAF806B4403E580EC2301036C094FACCA2 +:103C4000F944F8060036ECFBFD8C507BCD9BFAC89E +:103C5000F9501AD8FAC8FAB8049A1AD8FAC8FBB4B4 +:103C60000C9B1AD80A9CFAC8F940FAC9FFB4F01F95 +:103C700000502FDD781A507A780C505CC2A82FF7CC +:103C80001039C094FAC9F944F2060036ECF8FD8CFC +:103C90005078CB6B410959F8E0890015F2CAFFF85A +:103CA00072167209510A5059FACEF9445076FC083E +:103CB0000039405B0C9AF2EBFD882FF8FB4806B404 +:103CC000C088721C507CF2C8FFF851087209505924 +:103CD000405B407AF01F00371896C1503008300919 +:103CE000405B407AF01F0034C04032D8FB6806BB0E +:103CF0004B284B36A7D3E0400047F00617A03032E0 +:103D0000E08F06E7405B407AF01F002EC0C05026CF +:103D10004AD84AE6A7D3E0400047F00617A0303261 +:103D2000E08F06DD402A5BFAC04130695029C11896 +:103D3000E04000475F09E04000675F08F3E81008D3 +:103D4000F8081800C06040285808F9B80001502849 +:103D500040784059FAE90694A9A3FAF8069458085D +:103D6000C065405E300C506E509CC078405B32DACB +:103D7000EE1B8000509A506BE04000465F09E04027 +:103D800000665F08F3E810085048C0404022303910 +:103D9000C228E04000455F09E04000655F084046FA +:103DA0001049EC091800C1314022C148800330E4B9 +:103DB0008003697880036FC08003F2408003F2447F +:103DC00080032A7E8003F2488003F24C402EFCC21E +:103DD000FFFF3029FAC8F95C1AD8FAC8F9541AD882 +:103DE000FAC8F94C0A9C1AD80498409B40AAF01FC4 +:103DF00001E0E04000475F19E04000675F18189657 +:103E00002FDDF3E80008C041EDB30000C301EC0270 +:103E1000000C503C404B580BC1500D893308F00941 +:103E20001800C0B130083009406B407AF01F01D152 +:103E3000FBB20001FBF20BAB403AFAF806AC100AF9 +:103E4000503A406B30083009407AF01F01CAC090E8 +:103E50004039FB4906A4C05810C9FB4806A4C02835 +:103E60003309FAF806A4403E1C38CF73E0400047FF +:103E70005F09E04000675F08F3E81008FAF906A45C +:103E80000C1950695808C0B0FAF806AC5BD8C05598 +:103E9000402C1838E08A006A2020C058E0400065B5 +:103EA000E0890046FAFB06ACFB60069C201BFB4B3E +:103EB00006ACC0475C3B32D8C02832B8FB68069DD0 +:103EC000589BE08A001DFAC9FA3530AA12980E9C58 +:103ED0000C92F60A0C060E9B2D0B10FB0C9B5896B1 +:103EE000FE99FFF92D0B1897049610FBFACAF96298 +:103EF000C038113B14CB1238CFD3C0982D0B3308E8 +:103F0000FB6B069FFB68069EFACAF960FAC8F96463 +:103F1000F408010850E81092406B1602581BE08923 +:103F20000005EDB30000C3512FF2C338E040006636 +:103F3000C1C1FAF206AC5802E08A000C402A580AC5 +:103F4000C041EDB30000C2512FF240291202C0B8A7 +:103F500040285808C061EDB30000C0303012C1984D +:103F600040222FE23660C158FAF206AC406E1C3295 +:103F7000C065EDB30000F7B200FFC0A8E40811026D +:103F8000406C5802F00217A0F9B20901180236700D +:103F9000409B580BE080059D32D8FB6806BBE08F44 +:103FA000059C50A704950C970292089640414094B6 +:103FB0000E99EDB30005C481FAF806B4403E580EE0 +:103FC000C1D01036C064FACCF944F8060036C1D826 +:103FD000FAC8F9501AD8FAC8FAB8049A1AD8FAC81E +:103FE000FBB40C9B1AD80A9CFAC8F940FAC9FFB472 +:103FF000F01F01612FDD780AC2082FF71039C08445 +:10400000FACBF944F6060036ECFAFD88C16841099E +:1040100059F8E0890010F2CAFFFC510AFAC6F944C7 +:10402000720AEC080039F34AFD882FF8FB4806B401 +:10403000C048720A2FC9510940BE1C98951EBF582E +:104040009508FE9FFA7CEDB30004C480E2130040A3 +:10405000C450FAF806B4403C580CC1D01036C064C5 +:10406000FACBF944F6060036C1D8FAC8F9501AD886 +:10407000FAC8FAB8049A1AD8FAC8FBB40C9B1AD832 +:104080000A9CFAC8F940FAC9FFB4F01F013B2FDDC2 +:10409000780AC2082FF71039C084FACAF944F40626 +:1040A0000036ECFAFD88C168410959F8E089001032 +:1040B000F2CAFFFC510AFAC6F944720AEC08003948 +:1040C000F34AFD882FF8FB4806B4C048720A2FC98E +:1040D000510940BEB40EFE9FFA32FAF806B4403CD5 +:1040E000580CC1D01036C064FACBF944F60600363D +:1040F000C1D8FAC8F9501AD8FAC8FAB8049A1AD826 +:10410000FAC8FBB40C9B1AD80A9CFAC8F940FAC941 +:10411000FFB4F01F01192FDD780AC2082FF71039FC +:10412000C084FACAF944F4060036ECFAFD88C16886 +:10413000410959F8E0890010F2CAFFFC510AFAC699 +:10414000F944720AEC080039F34AFD882FF8FB485D +:1041500006B4C048720A2FC9510940BE950EFE9F91 +:10416000F9EE50A750800C9704950896029240945F +:1041700010904041A5A3C0A850A750800C9704956B +:1041800008960292409410904041EDB30005C5D1CD +:10419000FAF806B4403C580CC2601036C0A4FACB02 +:1041A000F944F6060036ECE8FD88FAE90000C1881B +:1041B000FAC8F9501AD8FAC8FAB8049A1AD80C9B57 +:1041C000FAC8FBB40A9C1AD8FAC8F940FAC9FFB475 +:1041D000F01F00E92FDDF8EA0000FAEB00003008DC +:1041E000E08F03E7EECAFFFF1037C0B4FAC9F94405 +:1041F0001497F2060036ECEAFD88FAEB0000C1885D +:10420000410959F8E0890018F2E60000F2CBFFF806 +:10421000FAE70000510BFAC6F944EC080039FAE657 +:104220000000F2E7FD882FF81497FB4806B44038E9 +:10423000E08F03BFF2E600004038FAE700002F8964 +:1042400014975109E08F03B5EDB30004C161FAF88A +:1042500006B4403E580EC0801036C674FACCF944FD +:10426000F8060036C808EECAFFFF1037C7F4FACBCD +:10427000F944F6060036C768EDB30006C4A1FAF8A3 +:1042800006B4403C580CC1D01036C064FACBF94497 +:10429000F6060036C1F8FAC8F9501AD8FAC8FAB8C2 +:1042A0001AD8FAC8FBB41AD8FAC8F940FAC9FFB448 +:1042B000049A0C9B0A9CF01F00B02FDD9818C2686E +:1042C000EECAFFFF1037C094FAC9F9441497F206FA +:1042D0000036ED08FD8AC1A8410959F8E0890013AC +:1042E000F2CBFFFC510B7209FAC6F944EC08003B13 +:1042F0002FF8F749FD88FB4806B41497F1D9B010A0 +:10430000C058921814972FC951095C785018C46886 +:10431000FAF806B4403C580CC1D01036C064FACB51 +:10432000F944F6060036C1F8FAC8F9501AD8FAC8A6 +:10433000FAB80C9B1AD8FAC8FBB4049A1AD80A9C8B +:10434000FAC8F940FAC9FFB4F01F008B2FDD780BD3 +:10435000C248EECAFFFF1037C094FAC9F944F2060A +:1043600000361497ECFBFD88C188410959F8E089B3 +:104370000011F2CBFFFC510BFAC6F944720BEC08AA +:104380000039F34BFD882FF81497FB4806B4C0584A +:10439000720B14972FC95109501B300E500E1C98E8 +:1043A000E08F030750A750800C970495089602925F +:1043B000409440410E99FAF806B4403C580CC1D0E4 +:1043C0001036C064FACBF944F6060036C1D8FAC8F4 +:1043D000F9501AD8FAC8FAB81AD8FAC8FBB41AD8D9 +:1043E000FAC9FFB4FAC8F940049A0C9B0A9CF01F62 +:1043F00000622FDD7809C2182FF71039C084FACA7D +:10440000F944F4060036ECF9FD88C178410959F801 +:10441000E0890010F2CAFFFC510AFAC6F944720999 +:10442000EC08003AF549FD882FF8FB4806B4C0585F +:10443000F2C8FFFC510872093308FB6806B83788D8 +:10444000300EFB6806B94CDC5019A1B3500E50DC9D +:1044500030283780E08F02AD50A750801090300890 +:10446000FB6806BB0C970495089602924094404165 +:104470000E99FAF806B4403B580BC1D01036C06410 +:10448000FACAF944F4060036C1D8FAC8F9501AD865 +:10449000FAC8FAB81AD8FAC8FBB40C9B1AD8049A0E +:1044A000FAC8F940FAC9FFB40A9CF01F00332FDDA7 +:1044B0007806C2082FF71039C084FAC9F944F20609 +:1044C0000036ECF6FD88C168410959F8E089001012 +:1044D000F2CAFFFC510A7206FACEF944FC08003910 +:1044E000F346FD882FF8FB4806B4C04872062FC972 +:1044F0005109402C580CC105189A300B0C9CF01F28 +:104500000020E08002E9F8060102402B1632E08923 +:1045100002E3E08F02DE300A0C9C502AF01F0019E3 +:104520001892E08F02DC50A750800C9704950896F3 +:104530000292409410904041A5A3C0A850A750807B +:104540000C97049508960292409410904041EDB368 +:104550000005C611FAF806B440395809C2C0103631 +:10456000C124FAC8F944F0060036C2E88003552C8D +:1045700080036F32800330E48003EDE4800328A4DD +:104580008002EDD0FAC8F9501AD8FAC8FAB81AD889 +:10459000FAC8FBB41AD8FAC8F940FAC9FFB4049AA9 +:1045A0000C9B0A9CF01F00C82FDDF8E80000FAE918 +:1045B0000000C2E8EECAFFFF1037C0B4FAC8F944E1 +:1045C0001497F0060036ECEAFD88FAEB0000C2080A +:1045D000410959F8E0890016F2E60000F2CBFFF835 +:1045E000FAE70000510BFAC6F944EC080039FAE684 +:1045F0000000F2E7FD882FF81497FB4806B4C08846 +:10460000F2E600002F89FAE70000510914973018EC +:10461000E08F01CFEDB30004C161FAF806B4403E6B +:10462000580EC0801036C674FACCF944F80600362D +:10463000C808EECAFFFF1037C7F4FACBF944F606F4 +:104640000036C768EDB30006C4A1FAF806B4403CD2 +:10465000580CC1D01036C064FACBF944F6060036C7 +:10466000C1F8FAC8F9501AD8FAC8FAB81AD8FAC86C +:10467000FBB41AD8FAC8F940FAC9FFB4049A0C9BE3 +:104680000A9CF01F00912FDD9818C268EECAFFFF48 +:104690001037C094FAC9F9441497F2060036ED08B1 +:1046A000FD8AC1A8410959F8E0890013F2CBFFFC4B +:1046B000510B7209FAC6F944EC08003B2FF8F74990 +:1046C000FD88FB4806B41497F1D9B010C058921871 +:1046D00014972FC951095C785018C468FAF806B4C9 +:1046E000403C580CC1D01036C064FACBF944F606F1 +:1046F0000036C1F8FAC8F9501AD8FAC8FAB80C9BB3 +:104700001AD8FAC8FBB4049A1AD80A9CFAC8F94015 +:10471000FAC9FFB4F01F006C2FDD780BC248EECA57 +:10472000FFFF1037C094FAC9F944F2060036149717 +:10473000ECFBFD88C188410959F8E0890011F2CBF2 +:10474000FFFC510BFAC6F944720BEC080039F34B2D +:10475000FD882FF81497FB4806B4C058720B1497C5 +:104760002FC95109501B300E3018500EC21950A7D6 +:1047700050800C970495089602924D4C40941090EE +:10478000404150DCEDB30005C551FAF806B4403B9A +:10479000580BC2201036C0A4FACAF944F4060036F9 +:1047A000ECE8FD88FAE90000CF58FAC8F9501AD8A9 +:1047B000FAC8FAB8049A1AD80C9BFAC8FBB40A9C37 +:1047C0001AD8FAC8F940FAC9FFB4F01F003F2FDD2C +:1047D000F8EA0000C0C8EECAFFFF1037C0B4FAC93B +:1047E000F9441497F2060036ECEAFD88FAEB000073 +:1047F000CD18410959F8E0890016F2E60000F2CB25 +:10480000FFF8FAE70000510BFAC6F944EC0800394A +:10481000FAE60000F2E7FD882FF81497FB4806B48B +:10482000CB98F2E600002F89FAE7000051091497AF +:10483000CB18EDB30004C171FAF806B4403E580E2F +:10484000C0801036C6C4FACCF944F8060036C85801 +:10485000EECAFFFF1037E0840084FACBF944F60675 +:104860000036C7A8EDB30006C4E1FAF806B4403C30 +:10487000580CC1D01036C064FACBF944F6060036A5 +:10488000C1F8FAC8F9501AD8FAC8FAB81AD8FAC84A +:10489000FBB41AD8FAC8F940FAC9FFB4049A0C9BC1 +:1048A0000A9CF01F00092FDD9818C2A8EECAFFFF6E +:1048B0001037C0D4FAC9F9441497F2060036ED084F +:1048C000FD8AC1E8800330E48003EDE4410959F832 +:1048D000E0890013F2CBFFFC510B7209FAC6F944D0 +:1048E000EC08003B2FF8F749FD88FB4806B4149705 +:1048F000F1D9B010C058921814972FC951095C789B +:104900005018C468FAF806B4403C580CC1D01036B0 +:10491000C064FACBF944F6060036C1F8FAC8F9507B +:104920001AD8FAC8FAB80C9B1AD8FAC8FBB4049A79 +:104930001AD80A9CFAC8F940FAC9FFB4F01F00C996 +:104940002FDD780BC248EECAFFFF1037C094FAC9BA +:10495000F944F20600361497ECFBFD88C188410942 +:1049600059F8E0890011F2CBFFFC510BFAC6F9446B +:10497000720BEC080039F34BFD882FF81497FB48B5 +:1049800006B4C058720B14972FC95109501B300E32 +:10499000500E4008401C18485F18E7E80008C07037 +:1049A0003308FB6006B9A1B3FB6806B830283009AC +:1049B000FB6906BB402B580BC025A7D3402A4009F2 +:1049C000580A5F1A4016FAC2F9780C495F19F5E9DE +:1049D0001009C5C03019F2081800C0603029F2086B +:1049E0001800C041C3C80496C3080496FAE8000042 +:1049F000F5D8C0032D0A0CFAF00B1603F20C1603BF +:104A0000F7E911DB1899169858085C29CF21FAE9C3 +:104A10000000EDB30000C4513309F20A1800C410BD +:104A20000CF9C3F8FAEA000030A83009F01F008E34 +:104A300030A82D0A3009AC8AFAEA0000F01F008B7A +:104A400016991498FAE900002016FAEA0000589A1C +:104A50005C2BFE9BFFE91BF82D08C2080496FAE8C0 +:104A60000000F5D8C00440DEFC0A070A0CFAF20B7D +:104A70001604F00A1604F5E911CA16991498580894 +:104A80005C29CF01FAE90000C0C85808C091EDB315 +:104A90000000C061FAC6F9793308AC88C0280496D2 +:104AA0000C12C1C850A7508040940C9710900495E8 +:104AB00040415808E0800464FB680660300C300810 +:104AC0003012FB6806BB502CFAC6F9A0C078300B38 +:104AD000502BC0484022300A502A4029E4090C4992 +:104AE000FB3806BB5039069E3009E21E0002F20870 +:104AF0001800FBF81003F7B801FFFBF81A03069B38 +:104B0000580EFBFC1003F7BC01FEFBFC1A03E21B72 +:104B1000008450FE509BC451408A4039121A504ABA +:104B2000580AE089001FC3D82F092FF84D0E310C09 +:104B3000FB490690890E891CFB48068C5878E08951 +:104B400000042F84C0B8FACAF978029B0A9CF01FAF +:104B50000049E0810425FAC4F9E0404B210B504B99 +:104B6000FAF90690FAF8068C4C1A404E590EFE9946 +:104B7000FFDD1C092FF8890AFB490690891EFB48B6 +:104B8000068C5878E08900042F84C0B8FACAF978F6 +:104B9000029B0A9CF01F0037E0810402FAC4F9E08E +:104BA0003009FB3806BBF2081800C1F0FAF806908D +:104BB000FAC9F9452FF88909FB4806903019FAF827 +:104BC000068C89192FF8FB48068C5878E089000478 +:104BD0002F84C0B8FACAF978029B0A9CF01F0025FE +:104BE000E08103DEFAC4F9E040FC580CC1F0FAF8A9 +:104BF0000690FAC9F9482FE88909FB480690302940 +:104C0000FAF8068C89192FF8FB48068C5878E08949 +:104C100000042F84C0B8FACAF978029B0A9CF01FDE +:104C20000015E08103BDFAC4F9E0409BE04B008031 +:104C3000C511408A4039121A504A580AE089002B9F +:104C4000C4982F092FF848CE310CFB490690890EE5 +:104C5000891CFB48068C5878E08900102F84C178A5 +:104C6000800330E4800373408002D9988003F250BF +:104C7000800334048003F260FACAF978029B0A9C2C +:104C8000F01F004CE081038CFAC4F9E0404B210B8B +:104C9000504BFAF90690FAF8068C4C7A404E590EB1 +:104CA000FE99FFD11C092FF8890AFB490690891E3D +:104CB000FB48068C5878E08900042F84C0B8FACAF3 +:104CC000F978029B0A9CF01F003BE0810369FAC45B +:104CD000F9E0402C041C502C580CE089001FC3D86C +:104CE0002F092FF84B4B310AFB490690890B891A83 +:104CF000FB48068C5878E08900042F84C0B8FACAB3 +:104D0000F978029B0A9CF01F002BE0810349FAC44A +:104D1000F9E0402921095029FAF90690FAF8068CA1 +:104D20004A5A402E590EFE99FFDD1C092FF8890AB8 +:104D3000FB490690891EFB48068C5878E0890004E0 +:104D40002F84C0B8FACAF978029B0A9CF01F001998 +:104D5000E0810326FAC4F9E0EDB30008C0B0FAF828 +:104D6000069089128906F0020002FB420690E08F4D +:104D700001DBE0400065E08A01DD30083009405B7E +:104D8000407AF01F000EC7E0FAF8069048C92FF8E5 +:104D90008909FB4806903019FAF8068C89192FF812 +:104DA000FB48068C5878E089000D2F84C14800002C +:104DB000800334048003F26080036F328003A6C056 +:104DC000FACAF978029B0A9CF01F0078E08102E899 +:104DD000FAC4F9E0FAF806AC406C1838C055EDB3E7 +:104DE0000000E081026DFAF806902FF840CBFB48F6 +:104DF00006903019FAF8068C890B2FF88919FB48B0 +:104E0000068C5878E08900042F84C0B8FACAF97873 +:104E1000029B0A9CF01F0065E08102C2FAC4F9E01F +:104E2000406620165806E089001DE08F02492F09D0 +:104E30002FF8FB49069089028910FB48068C5878A8 +:104E4000E08900042F84C0B8FACAF978029B0A9C52 +:104E5000F01F0056E08102A4FAC4F9E02106C03830 +:104E60004D323100FAF90690FAF8068C4D0A5906CF +:104E7000FE99FFDF0C09890AFB4906902FF8891675 +:104E8000C559FAFA06AC580AE0890096FAF8069075 +:104E90004C892FF88909FB4806903019FAF8068CDE +:104EA00089192FF8FB48068C5878E08900042F8474 +:104EB000C0B8FACAF978029B0A9CF01F003CE08156 +:104EC000026FFAC4F9E0FAF806AC5808C081406AEB +:104ED000580AC051EDB30000E08101F240C9FAF870 +:104EE00006902FF88909FB4806903019FAF8068CCD +:104EF00089192FF8FB48068C5878E08900042F8424 +:104F0000C0B8FACAF978029B0A9CF01F0028E08119 +:104F10000247FAC4F9E0FAF206AC5C325802E089C2 +:104F2000001DC3B82F092FF8310EFB4906908900E8 +:104F3000891EFB48068C5878E08900042F84C0B88D +:104F4000FACAF978029B0A9CF01F0018E081022837 +:104F5000FAC4F9E02102C0284950FAF90690FAF89B +:104F6000068C493A5902FE99FFDF04092FF8890A95 +:104F7000FB4906908912FB48068C5878E0890004AA +:104F80002F84C0B8FACAF978029B0A9CF01F000768 +:104F9000E0810206FAC4F9E0406CFAF8069089064E +:104FA000891C1808CBE80000800334048003F260F9 +:104FB0008003A6C0FAF90690FAF8068C406B163A00 +:104FC000C6D516092FF88906FB490690891BFB48B0 +:104FD000068C5878E08900042F84C0B8FACAF978A2 +:104FE000029B0A9CF01F006FE08101DAFAC4F9E02D +:104FF000FAF606AC406A14165806E089001CC3B8DD +:105000002F092FF8FB49069089028910FB48068C6E +:105010005878E08900042F84C0B8FACAF978029B56 +:105020000A9CF01F0060E08101BBFAC4F9E0210690 +:10503000C0384DD23100FAF90690FAF8068C4DAA24 +:105040005906FE99FFDF0C092FF8890AFB490690E3 +:105050008916FB48068C5878E08900042F84C0B874 +:10506000FACAF978029B0A9CF01F004EE081019871 +:10507000FAC4F9E0EDB30000E081012240C9FAF87A +:1050800006902FF88909FB4806903019FAF8068C2B +:1050900089192FF8FB48068CC04914092FF8FB49E1 +:1050A00006908906891AFB48068C5878E089000426 +:1050B0002F84C0B8FACAF978029B0A9CF01F003905 +:1050C000E081016EFAC4F9E040C88908FAF8069058 +:1050D0002FF83019FB4806908919FAF8068C2FF83A +:1050E000FB48068CFAF206AC5878E08900042F845D +:1050F000C0B8FACAF978029B0A9CF01F002AE08126 +:10510000014FFAC4F9E00406FAF806AC8906FAF988 +:1051100006904066406E1016F208010889161C08B9 +:10512000FB480690FAF8068C2FF8FB48068CCB98C3 +:10513000406C581CE0890006EDB30000E081008758 +:10514000FAF806902FF83019FB4806908906FAF80D +:10515000068C89192FF8FB48068C5878E0890004E2 +:105160002F84C0B8FACAF978029B0A9CF01F000D80 +:10517000E0810116FAC4F9E0FAF806902FF840CB66 +:10518000FB4806903019FAF8068C890B2FF889191C +:10519000FB48068C5878E08900092F84C10800007C +:1051A000800334048003F260FACAF978029B0A9CF7 +:1051B000F01F006FE08100F4FAC4F9E03008300914 +:1051C000405B407AF01F006B40682018580CC0D13B +:1051D0002FF689188906FAF606901006FAF8068C5A +:1051E000FB4606902FF8C2F810965808E089001C7C +:1051F000C4982F092FF8FB49069089028910FB48B3 +:10520000068C5878E08900042F84C0B8FACAF9786F +:10521000029B0A9CF01F0056E08100C2FAC4F9E02C +:105220002106C0384D423100FAF90690FAF8068C92 +:105230004D1A5906FE99FFDF0C09890AFB490690B1 +:105240002FF88916FB48068CC0E8FAF806902FF86C +:105250003019FB4806908906FAF8068C89192FF850 +:10526000FB48068C5878E08900042F84C0B8FACA3D +:10527000F978029B0A9CF01F003EE0810091FAC47D +:10528000F9E040EAFAF806901408FAC9F964FB4814 +:105290000690891AFAF8068C89092FF8FB48068CC3 +:1052A0005878E08900042F84C0A8FACAF978029BD4 +:1052B0000A9CF01F002FC731FAC4F9E0E213000482 +:1052C000C3D04086403912165806E089001AC368D8 +:1052D0002F092FF8FB49069089038912FB48068C99 +:1052E0005878E08900042F84C098009A029B0A9C99 +:1052F000F01F001FC541FAC4F9E02106C05849F368 +:105300003102FAC0F978FAF90690FAF8068C49BA2F +:105310005906FE99FFDF0C092FF8890A8916FB4907 +:105320000690FB48068C5878E08A0009FACAF9789A +:10533000029B0A9CF01F000EC32140BC4036408EE9 +:10534000EC0E0C48100C50BCFAF806905808C080BF +:10535000FACAF978029B0A9CF01F0005C201300BC3 +:10536000FAC4F9E0FB4B068CFE9FF0E9800334049D +:1053700080036F328003F2608003F250FAF80690E7 +:105380005808C0800A9CFACAF978029BF01F0009ED +:10539000C0613008FB48068CC02840418268EDB8E7 +:1053A0000006C0313FFA50BA40BCFE3DF944D83245 +:1053B00080033404D42116981897109C3008149B4D +:1053C0004866129A8D08F01F00065BFCC0516C08FD +:1053D0005808EFF81A03D82200008CC48002F1505C +:1053E000D421300818974876169C8D08F01F0006C7 +:1053F0005BFCC0516C085808EFF81A03D822000073 +:1054000000008CC48002F108D431202D1897784810 +:1054100076460C38C034300CC858ECC2FFFCF6C3DA +:10542000FFECF6020329F802032C2FF92016F809E5 +:105430000D08F6020022EEC4FFEC10955808C410C7 +:105440003009069A08981291500B700EB18E501EBA +:10545000150EFC001610FDDEC010EA0E0341FDD152 +:10546000C010B181401BEA000240E2000000E3D01E +:10547000C010021B501B700BE3DBC0100209F20EC0 +:10548000010EB01EFC091410401EFC090009B009F1 +:10549000E00116102FC8B149043AFE98FFD8400B1E +:1054A000580CC0F1ECC8FFFBEE080028C0282016FD +:1054B00020480838E088000570095809CF908F46C9 +:1054C0000E9CF01F001AC2D52FF508983009070B63 +:1054D000F60A1610700CF7DBC010F80E1610141E2A +:1054E000F5DCC010161A120AB01AB14AFC0A0009FB +:1054F000B0092FC8B1490433FE98FFEBECC8FFFB9D +:10550000EE0803295809C0D1EE080028C02820164B +:1055100020480838E088000570095809CF908F4668 +:105520000A9C2FEDD8320000800363EED43121AD08 +:10553000FAC4FF7418971695682C50C96816680944 +:1055400050E81494512CFAE5000851596E9558050D +:10555000C091310CF01F004799358F9C9915992502 +:1055600099056E9972085808C0F0721A911A301A8B +:105570007219F4090949109B91290E9CF01F003EF5 +:105580006E9830099109402810945808C064F1D8E9 +:10559000C01F50283018C02830088D08FC1C7FF030 +:1055A00040260C98E6187FF01838C1C1E068270F34 +:1055B000415B9708403A580AC061EDD6C014C0312B +:1055C0004AECC0284AEC41295809E08005DEF8C8B9 +:1055D000FFFD3009118AF20A1800C190F8C8FFF8DF +:1055E000C168FAEA00083008FAEB003C3009F01F05 +:1055F0000025C1103018415A950841294A285809F8 +:10560000C041109CE08F05C1109C2FF841258B08EC +:10561000E08F05BBFAC8FF9CFAC9FFA0FAEA003C7C +:105620000E9CEBD6C28BF01F001918935805C0D002 +:10563000FAEA003C3004F1DBC014EAC503FF109B1A +:105640005174EA1B3FF0C3284188419C100CF8C5F7 +:10565000FBCEE0450020E08A001BF8CCFBEE403B8F +:10566000EA081140F60C0A4CEC0809460C4CC148FB +:105670008002E2A4800364208003F3708003F37C43 +:1056800080036F328003A6C0800364D0EA0C11202F +:10569000403AF40C094CF01F006BFC18FE10301956 +:1056A000EAC50433F00B000B51793008FC193FF8C0 +:1056B000F01F0065E0684361EA18636FE06987A73F +:1056C000EA193FD2F01F0061E068C8B3EA188B60A6 +:1056D000E0698A28EA193FC6F01F005D0A9C149011 +:1056E0001691F01F005CE06879FBEA18509FE069B2 +:1056F0004413EA193FD3F01F005514981699009AE5 +:10570000029BF01F005314901691F01F00533008B5 +:1057100018963009009A029BF01F0050C0C00C9CE4 +:10572000F01F004C14981699009A029BF01F004C31 +:10573000F7B600015966E088000530185148C128C5 +:105740004C88FAEA003CF0060238F01F0044F9B435 +:105750000000FBF40A14F7B60101F9BC0100FBFCE0 +:105760001A14419020100A10C04650403000C04822 +:10577000300B5C30504BEC0211005806FBFA400431 +:10578000F5D6E40AFBFA4A04FBF64A11F9B2040022 +:10579000E1D6E510F9B90500FBF95A1140C858984F +:1057A000E08B00205858F9B40A01FBF5900CF7B5CE +:1057B0000904FBF59A0CF9B4090040CC583CC2D05E +:1057C000E0890005582CC101C18840CB584BC0600E +:1057D000585BC0A1301A50DAC228301950D9C0F82D +:1057E0003008301450C83FF5301C300B509550DC59 +:1057F0000A91312850EBC208300A50DA40E95809C2 +:10580000E089000730185098109150E8C15840E5E1 +:1058100050950A910A98C108300C50DC40EBEC0B13 +:10582000000B509B16982FF85808E089000510913E +:105830003018C028109130096E9A95193049C178F6 +:1058400080036E4A80036B7C800369A480036D181B +:1058500080036E5280036E2480036FC080036F321A +:105860008003F38C6A1AA1792FFA8B1A6E95F2CA0B +:10587000FFEC103AFE98FFF86A1B0E9CF01F0053D5 +:1058800058E15F888B0CF1E400046E987008508832 +:10589000E08001985806E08A0040F3D6C0044CC866 +:1058A000F0090234FAE50018EC041404EDB4000425 +:1058B000C0303025C0F84C78F0E80020FAEA003C0F +:1058C000E9D4C004F01F0044303514981699FAE961 +:1058D00000084C0C50A30C931896C0F8FAEA001874 +:1058E000EDB40000C081ECE800002FF5F01F003B94 +:1058F000FAEB0018A1542F865804CF11FAE80018CB +:10590000FAEA00080696F01F003440A3149816998E +:10591000FAE90008C2D8EC081100C0313025C2886D +:105920004ACCF0041404501CF1D8C0044A89FAEAA5 +:10593000003CF2080238F01F0029401C506330255B +:105940000C93FAEB00081896C0F8FAEA0008EDB4D8 +:105950000000C081ECE800002FF5F01F0020FAEBFA +:105960000008A1542F865804CF1106964063414A7F +:10597000580AC370FAE8000858015F94FAE9001861 +:105980003008FC193FF0FAEA0018F01F0015F9BCC6 +:105990000000F9BC0101E9EC000CC2304098580845 +:1059A000E08A010C3008FC194024ECC40001FAEA3A +:1059B00000182FF55064F01F0009409414981699B0 +:1059C000FAE90008C1080000800364588003F38CE2 +:1059D0008003F45480037028800369A480036FC09F +:1059E000506602940A9CF01F0069FAE80008F01F54 +:1059F00000683008FC19401CF01F006614981699C6 +:105A0000FAE90028FC18FCC040A5100550A5580470 +:105A1000C211FAEA00083008FC194014F01F005EB9 +:105A200040BCFAEB000814981699189A0A9BF01FCC +:105A3000005BE08102740A9840B9EE188000FAEA2F +:105A40000008109512980A99F01F0054E081025E38 +:105A5000CB484D39E8C8000140D55805C4F0300C9A +:105A6000F2080238513C300AFC1B3FE0F01F004DA9 +:105A7000FAE800284085F01F0048FAEB0028FAEA0F +:105A80000008F01F0049516CF01F0040149816994F +:105A9000FAEA0008F01F0040FAEB000841682D0800 +:105AA0000AC841392FF95139FAE80028F01F003BA4 +:105AB000E081035AFAE80008300AFC1B3FF0F01FAF +:105AC0000036FAE80028F01F0035FAEA002830080E +:105AD000FC194024E08100E8413C083CC6E4F01F8A +:105AE000002C3008FAEB0028FC194024FAEA0008E0 +:105AF000F01F0027FAEB0008CC3B40850805F208B0 +:105B0000023A5135FAE800284085F01F0021FAEBEF +:105B10000028FAEA0008F01F0024516CF01F001B57 +:105B200014981699FAEA0008F01F001BFAEB000817 +:105B300041682D080AC8413C1835C3713008FC196A +:105B40003FE0FAEA0028F01F00134085FAE8000859 +:105B50000805F01F0012E08100A7FAE80028300ACB +:105B6000FC1B3FE0F01F000C14981699FAEA00089D +:105B7000F01F000AC22033090A98117AF20A1800AD +:105B8000E08102F21095CF9B80036E52800369A4DE +:105B900080036D1880036B7C80036FC08003F38CDF +:105BA0008003702880036E243008FC194024F01F05 +:105BB0000056FAEB0008CAEBFAEA003CFAEB0008E0 +:105BC00058E65FAB418A3008F40911FFF7E903F9A1 +:105BD000F0091800E080008140EA58015FA9F3EA6B +:105BE00003F94CAAF4060234FAE50010F009180093 +:105BF000C1405801E081018A3008FC194014089A1C +:105C00000A9BF01F0041FAE80008F01F0041E08104 +:105C1000017D0292E08F018540853014FAE8001082 +:105C2000FAEA0008F01F003BF01F003B1892F01F3B +:105C3000003BFAE80010F01F003414981699FAEAB5 +:105C40000008F01F0037FAEB0008E4C8FFD00AC8CC +:105C5000FC19402430080234C331FAE80008F01F70 +:105C600000311691149014980299FAEA0010F01F6E +:105C7000002EC1A1FAE80010009A029BF01F002B31 +:105C8000E0800271E5D2C001C0F1E08F026C408A71 +:105C90001438C0301095C098330840892FF6B28868 +:105CA0004088C088406633990A98117AF20A180031 +:105CB000CEF0506611892FF9B089E08F0255F01FA0 +:105CC00000122FF4FAEB000830083009F01F00171B +:105CD000CA60E08F024840D85808C0510498009527 +:105CE00040D4C4A840C55815E08900224174580426 +:105CF000C040F4C9FBCDC0484199F209113604985F +:105D00000095C2F8800369A48003F38C80036F5868 +:105D10008003702880036E2480036E5280036B7CA6 +:105D200080036D1880036FC080036F32E2C80001EA +:105D30005801E0051740E2091740E1D1E515F9B92E +:105D400005001032E5D8E418F1D2E518E5D8E502EF +:105D5000FBFC5011F9D8E50CFBFC5A11F9B8050011 +:105D6000404B120B5008504B1200301B0E9CF01F82 +:105D7000010840081894404A58055F99580A5F9AEC +:105D8000F5E90009C080404CF8050D49121C1210BD +:105D9000504C12155802E08A002740DB580BC1D046 +:105DA0005808E08A0017109A5008089B0E9CF01FB4 +:105DB00000F9069A189B18940E9CF01F00F718998A +:105DC000069B50190E9CF01F00F5401940081293D5 +:105DD000E408010AC080C028049A069B0E9CF01FAC +:105DE00000ED1893301B0E9CF01F00E9411A189229 +:105DF000580AE08A0007189B0E9CF01F00E61892D4 +:105E000040C95819E089001440385808C101402998 +:105E1000F1D9C014C0C11298E6187FF0C080404C80 +:105E2000301B2FFC2FF0504C506BC038300A506A9A +:105E300041195809C031301CC09864482FC8E40883 +:105E4000032CF01F00D7F80C1120404BF80B000872 +:105E5000F1D8C005C0C0F00811205848E08A0006FB +:105E60002048100B504BC0785848C070404A2E480C +:105E7000100A504A100010055800E08A0008069BDE +:105E8000009A0E9CF01F00C7189340495809E08AF9 +:105E90000008049B129A0E9CF01F00C21892414801 +:105EA0005808C1B0049B069CF01F00BFC164069B4C +:105EB000300930AA0E9CF01F00BD2016189340DC5C +:105EC000580CC0314091C098089B4091300930AACD +:105ED0000E9CF01F00B6189458015FA940CB582BB8 +:105EE0005F98F3E80008C2505801C111049B029961 +:105EF000305A0E9CF01F00AD1892189B069CF01FA4 +:105F000000AAE089000FC0383002049440EA30094A +:105F10005CDA4085506A5049C0F9089240660494A2 +:105F20002FF65066331840850AC830085048C049DB +:105F300040DC580CE08000B55805E08A0008089B5A +:105F40000A9A0E9CF01F00971894406B580BC031B2 +:105F5000089CC138681B0E9CF01F0095684A189574 +:105F6000E8CBFFF42FEA2F4CA36AF01F00920A9BA4 +:105F7000301A0E9CF01F008B5044403A3019F5DA6D +:105F8000C001189450DA40855099502650E1049B86 +:105F9000069CF01F0089404BF8C0FFD0069CF01F04 +:105FA0000082089A506C049B0E9CF01F008418918C +:105FB00078385808C0303016C068189B069CF01F0F +:105FC000007A18960E9C029BF01F007440CCEDECFA +:105FD0001008C0D140DB580BC0A14026E04000397A +:105FE000C300406A580AE0890024C2F84069580991 +:105FF000C085129840CC1848C1D140DB580BC1A1D4 +:106000000C9940265809E08A0021069B301A0E9C04 +:10601000F01F0064049B1893F01F0063E0890006E2 +:10602000C141EDB00000C111E0400039C0A02FF027 +:10603000C0C85806E08A000C4026E0400039C04144 +:1060400033980AC8C6782FF00AC0C7580AC0409AC9 +:1060500040E9123AC430069B300930AA0E9CF01F6A +:106060000053404818930838C091109B300930AA5B +:106070000E9CF01F004E504CC0E8404B300930AA37 +:106080000E9CF01F004A089B504C300930AA0E9C11 +:10609000F01F00461894409C2FFC509CC79B301862 +:1060A0000690408508930C941096049B009CF01F6A +:1060B00000422D0C0ACC0236C0A4009B300930AA45 +:1060C0000E9C2FF6F01F00391890CF0B0896300B5E +:1060D0000694504B00931890C0284026069B301A17 +:1060E0000E9CF01F0030049B1893F01F002FE089D6 +:1060F0000012C1B1E1D0C001C0D1C17840891238CD +:10610000C0301095C0882FF650663318408CB88880 +:10611000C138339A0A981179F4091800CF002FF981 +:10612000B089C0981095C02833090A98117AF20AEC +:106130001800CF905066049B0E9CF01F0018580466 +:10614000C120404B083B5F19580B5F18F3E800086B +:10615000C0400E9CF01F0011089B0E9CF01F000F0A +:10616000C02850660E9C069BF01F000C3008AA88C1 +:106170004068415A2FF841299508408C5809FBF88E +:106180001012F1F51A002E6DD8320000800368005D +:10619000800368A0800366F88003642080036300A6 +:1061A00080036664800363EE80036818800364588C +:1061B0008002E736800354088003658C5EFC5EFC39 +:1061C000D42118961697580BC0311695C508F01FA4 +:1061D00000295806C0706C685808C0410C9CF01F1C +:1061E00000264A681037C0316C07C0A84A481037EB +:1061F000C0316C17C0584A381037EDF700028E696D +:106200003008F0091900C051F01F001F3005C2F816 +:106210000E9B0C9CF01F001D6EC818955808C0609E +:106220006E8B0C9C5D18F9B505FF8E68EDB8000704 +:10623000C0516E4B0C9CF01F00166EDB580BC0A0BB +:10624000EEC8FFBC103BC0400C9CF01F0011300892 +:106250008FD86F2B580BC0700C9CF01F000D3008AE +:10626000EF4800483008AE68F01F00070A9CD822AB +:1062700080031E7480031F388003EF2C8003EF4CD3 +:106280008003EF6C80031E7680031D2C8003217C2D +:10629000D4014848189B700CF01F0003D80200007E +:1062A00000000598800361C0D42116981897109CAF +:1062B00030084876149B8D08F01F00065BFCC05127 +:1062C0006C085808EFF81A03D822000000008CC4AC +:1062D0008002F198D42116981897109C3008149BCE +:1062E0004866129A8D08F01F00065BFCC0516C08CE +:1062F0005808EFF81A03D82200008CC48002F1205D +:106300001898E01C0000F0091510580CF20817004E +:10631000F9BC0010F9BC0100109AF0091508E61A42 +:10632000FF00F7BC00F8F2081700109AF0091504F6 +:10633000E61AF000F7BC00FCF2081700109AF0090A +:106340001502E61AC000F7BC00FEF2081700580854 +:106350005E5CEDB8001EF9BC0120F7BC00FF5EFCDE +:1063600018997808F9D8C003C150EDB80000C021D1 +:106370005EFD109BF00A1601E21B0002A388580B79 +:10638000F3FA1A00F9BC0101F3F80A00F9BC0002A3 +:106390005EFCF5D8C010F00B1610580AF60817006E +:1063A000F9BC0010F7D8C008F00A1608580BF7BC63 +:1063B00000F8F4081700F7D8C004F00A1604580BC8 +:1063C000F7BC00FCF4081700F7D8C002F00A160268 +:1063D000580BF7BC00FEF4081700EDB80000C060D1 +:1063E000A198C031320C5EFC2FFC93085EFCD401F6 +:1063F00018987649784C121CC1312FB9A369120B39 +:10640000F00900092EC8134E174A143EC060F9BCAB +:1064100003FFF9BC0201D8021039FE9BFFF6D80237 +:10642000D4211897169578965806C091310CF01F14 +:10643000000A99368F9C9916992699065805C0909E +:106440006A196E987038F009032A8B0AF009092539 +:10645000D82200008002E2A4D421189716967895DD +:106460005805C091310CF01F001999358F9C991572 +:10647000992599056E956A385808C0B1310A304B94 +:106480000E9CF01F00138B3C6E98703C580CC1B0F2 +:106490006E987038F0060028700C580CC0407809CF +:1064A0009109C0E80E9C30170E9BEE060947EECA14 +:1064B000FFFBA36AF01F0006C060991699273008F9 +:1064C00099389948D82200008002E2A48002DC5466 +:1064D000D431202D1693129610951492301BF01F74 +:1064E0000029F3D3C0145009F1D3C01FF0011614D2 +:1064F000FC1A0010F3DAE139FBF91A00189458027B +:10650000C1E0FACCFFF818D2F01F001F4018C0D02D +:106510004009F80A1120F20A094AF5E810088958DA +:10652000F20C0A495009C028895840085808F9B3A4 +:106530000102F9B3000189688943C0981A9CF01FD1 +:106540000012301340082E0C894389585801C0901E +:10655000E2C1043318018D01F80C11358B0CC0D841 +:10656000E6C8FFFCF8CC0432A5738D0CE808032CB8 +:10657000F01F000618138B03089C2FEDD832000083 +:10658000800364588003636080036300D4317448DF +:106590007645169714961015C1312FB8EECEFFEC44 +:1065A000A368F408000BEE080008114A1749123AD4 +:1065B000C030C0E2C0781C38FE9BFFF9C4A8580563 +:1065C000C0640E9830150C971096C02830056E1BCD +:1065D000F01F00246E496C4499352FB4F2C5FFFBBF +:1065E000EC040024EE0500252EC62EC7F8C8FFECEB +:1065F000300A0F0E0D0BFC021610F6031610FDDE0E +:10660000C010E4030103F7DBC010FC0B010BF60A1A +:10661000000AB01AB14AE60A000AB00A2FC8B14A05 +:106620000836CE83C0D80F0BF60E1610F7DBC0105D +:10663000160AB01AB14A1C0AB00A2FC8B14A0A3762 +:10664000CF33C0282019114A580ACFD09949D832DF +:10665000300BF01F00043018994830089958D83290 +:1066600080036458D43116977646F40214052FF649 +:10667000149318940406761B6E28C0382FFBA1785B +:106680001036FE99FFFD089CF01F001A300918957E +:10669000F8C8FFEC129AC03810AA2FF90439CFD5E8 +:1066A0006E4BE7D3C0052FBBEEC9FFECEE0B002B02 +:1066B0005803C130E60C1120300A7202E40309428B +:1066C000044A10AA130AF40C0A4A1639CF73910A25 +:1066D000580AC0702FF6C058130A10AA1639CFD323 +:1066E000089C20160E9B8B46F01F00030A9CD83294 +:1066F0008003645880036420D431202D7649744887 +:10670000169614951039EC081750EA061750F00544 +:1067100017506C2876437442761BE4030007103749 +:10672000F7BB09FFF01F0036EEC4FFFBF8C9FFEC12 +:10673000F8040024300A1298C02810AA0838CFE3C1 +:106740002FB32FB2EC030023EA020022ECCBFFECC4 +:106750005012EACAFFECC44894955805C20012983A +:106760001696300E50090D02E400161070017009E3 +:10677000B181E5D2C010E0050341AB32E1D9C010D0 +:106780000002E40E000EB01EB18E1C01B001E20E3C +:1067900016102FC80636CE834009910E94865806EF +:1067A000C1D072021298169E3005B0121D0190825F +:1067B000E1D1C010AD30E0020002E4050005B005F3 +:1067C000B185B1812FC8AD319092E20200020A0278 +:1067D000E4051610063ECEA391022FCA2FC9401819 +:1067E000103ACBB3C02820175807E08A00050948A3 +:1067F0005808CFA099472FEDD83200008003645885 +:10680000D4211697301BF01F00043019995799496D +:10681000D822000080036458D431300812951697AE +:1068200018967644F6C9FFEC720BF60C1610F7DBDF +:10683000C010F40C024CF40B0345F7D5C010B18521 +:106840001805EA0C1510F80B000B12AB2FF8B185E8 +:106850000838CEB55805C1D06E281034C1456E1B1E +:106860000C9C2FFBF01F000C6E4AEECBFFF418932C +:106870002FEA2F4CA36AF01F00090E9B0C9CF01FFF +:1068800000080697E8C8FFFF2FB48F48EE040925DB +:106890000E9CD832800364588002E736800364205F +:1068A000D431149618971694F1DAC002C0902018CB +:1068B0004A19F208032A3009F01F00201894A34651 +:1068C000C3706E955805C091310CF01F001D9935AD +:1068D0008F9C9915992599056E9366255805C0D109 +:1068E000E06B02710E9CF01F0017872C3008189582 +:1068F0009908C038069C1895EDB60000C0C1089BE9 +:106900000A9A0E9CF01F0010089B18930E9C069488 +:10691000F01F000EA156C0C06A035803CEC10A9AE8 +:106920000A9B0E9CF01F00088B0C9903CE5B089C01 +:10693000D83200008003F380800368188002E2A44C +:1069400080036800800366F880036420D4211698D1 +:106950001897109C3008149B4866129A8D08F01FF7 +:1069600000065BFCC0516C085808EFF81A03D822E7 +:1069700000008CC48002F1381498FC197FF0F5DB1C +:10698000C01FF00B1100F7E81008F5E813F8F20843 +:106990000108F00C1100F9E81008F00C141F2FFC8E +:1069A0005EFCD703F5EB101CE08000DCD421F7E996 +:1069B000200EEFDBC28B3015C430AB6BF7EA136BE4 +:1069C000AB6AF7D5D3C2EDD9C28BC5C0A1785CF94B +:1069D000F3D5D2ABE04707FFC770E04607FFC740DB +:1069E000EE06000CE02C03FEF6080644F40907440A +:1069F000F4080646F609064A0807F405004A5C0B47 +:106A0000EDBB0014C050A1775CFA5CFB201C580C55 +:106A1000E08A006FE04C07FFE084009CF7DCD28B3B +:106A2000EDEA11F6EFE61217EE178000F1B7042039 +:106A30000E0A5C0BEDBE001FEFBB001FD822E41B4B +:106A4000000FF40C1200F6061200F7BC03E1F80682 +:106A50001730F7B60201E0460020C0D4EC0C11203C +:106A6000F606094BF40C0A4C184BF406094A20B6FA +:106A70000C17CAABF406094BC640300A20B60C17F7 +:106A8000CA3BE419000FF00C1200F2051200F7BC2B +:106A900003EAF8051730F7B5020AE0450020C0D434 +:106AA000EA0C1120F2050949F00C0A4C1849F005CE +:106AB000094820250A16C8FBF0050949C4203008FA +:106AC00020250A16C88BE419000FE41B000F144B95 +:106AD0001049E04707FFC091580BC381E04607FF0C +:106AE000C3815809C360C3285809C330C2F85C3C4D +:106AF0002FFCF1BC04C0E04C0020C114F8081120A8 +:106B00000E46EE0C0A47F40809491247F40C0A4AEB +:106B1000F6080949124AF60C0A4BC83BF80811203E +:106B2000F9B90000C030F60809490E46EDEA101622 +:106B3000F40C0A4AF3EA1007F60C0A4A300BC71B9A +:106B40001C9BE61B8000300AD8223FFB3FFAD8226C +:106B5000F06B0000EDBE001FEFBB001F300AD82213 +:106B6000F7E9200BE61B8000F9D9C28BE04C07FF48 +:106B70005E1C3FFA3FFB5EFCEE198000F7E9200C3B +:106B8000E08600CAEBCD40E0169CE61C8000BFDB2F +:106B9000BFD9103AF20B1300C0921697129B0E99B0 +:106BA0001497109A0E98EE1C8000F6071614AB7B13 +:106BB000F7EA135BAB7ABFBBF2061614C440AB799D +:106BC000F3E81359AB78BFB9E04707FFC4F00E26CE +:106BD000C120EC051120E0460020C7C2F005094E97 +:106BE000F2050945F0060A48F2060A490A48580E15 +:106BF0005F1E1C48101AF609014BF6061200C0E091 +:106C0000C783EC0E1120F606094BF40E0A4E1C4BFE +:106C1000F406094A0C17E08A0039F4091515AB9AF5 +:106C2000F5EB115AAB9BF7D7D28B184BFC178000B2 +:106C3000EDBA0000F7B701FF0E395F29120A5C0BAD +:106C4000E3CD80E0AB79F3E81359AB78F3E8100EAD +:106C5000F9B60101EE0E1100F9B70001EFBB001FFC +:106C6000F7EA100EF9B70000CB0BBFDBF7EA100E06 +:106C7000C081E04607FFC050F9E7114BE3CD80E04B +:106C80003FFA3FFBE3CD80E05C372FF7F1B704C05C +:106C9000E0470020C114EE081120F40809495F16EE +:106CA000F4070A4A0C4AF6080949F5E9100AF407FC +:106CB0000A4B3007CB3BEE081140F608094914494E +:106CC0005F16F6070A4A0C4A300B3007CA7BE3CD41 +:106CD00080E0F1B604C0F00E1700C040F205094E86 +:106CE000104EF2060A483009580E5F1E1C48C83B79 +:106CF000F4061200F9B70300F9B60300F9BC03006B +:106D0000F7B602E0F406094B300A0C17FE9AFFBEF4 +:106D1000C85B0000EE198000F7E9200CFE96FF2EFC +:106D2000EBCD40E0169CE61C8000BFDBBFD9123BD8 +:106D3000C0721697129B0E991497109A0E98300EE7 +:106D4000EFDBC28BF7DBC014B5ABEDD9C28BC5F05E +:106D5000F3D9C014B5A9E04707FFC2500E26C0F012 +:106D6000EC051120E0460020C352F005094EF20563 +:106D70000945F0060A48F2060A490A48100AF609C7 +:106D8000004BEDBB0015C340F7D7D28B184BF9DA97 +:106D9000C001184EEE1E8000F1BE04201C0A5C0BE0 +:106DA000E3CD80E0B5CBF7EA100EC101E04607FF66 +:106DB000C030E3CD80E0B5C9F3E8100EC071300AF1 +:106DC000FC1B7FF0184BE3CD80E03FFA3FFBE3CDA7 +:106DD00080E0F1B604C0F00E1700C060F205094E65 +:106DE00058085F18104EF2060A483009CC8BFDEEA9 +:106DF000101EA19B5D0A5D0E2FF7E04707FFF9BA51 +:106E00000000F9BB0000F9BE0000CBFB30165807AC +:106E1000CA31B5CB100AF609004B184BE3CD80E020 +:106E2000580B5E6DF60C1501B59CE02C03FF5E3D22 +:106E3000F80C111F1699AB7BBFBBF7EA135BF60C7E +:106E40000A4BA1795E2B5C3B5EFBF8CB0000300C5B +:106E5000C038189B5C4B300A5E0BD401E069041EFD +:106E6000F6081200C170C0C3F00E1120F608094BDD +:106E7000F40E0A4E1C4BF408094A1019C0B8F40865 +:106E80001200F9B80300F7B802E0F408094B300A21 +:106E900010195809E08900305C392FF9E0490036B3 +:106EA000C043300B300AC2682F69F2081120E04954 +:106EB0000020C0B2F408094EF6080948F4090A4A4D +:106EC000F6090A4B104BC088F608094E144E169A64 +:106ED000300BF4090A4AEDBA0000C0921C7EC04192 +:106EE000EDBA0001C0422FFAF7BB02FF5CFC5D0B5C +:106EF0005D0AD802E06803FFEDBA000BF7B800FFA7 +:106F0000100A5C0BF7B903FEE04907FFC055300AD1 +:106F1000FC1BFFE0C0C8EDBB001FF7B90101AB9A35 +:106F2000F5EB115AA17BAB9BF7E9115BA17C5D0BE3 +:106F3000D802103AF20B1300C080A17BA179144B48 +:106F4000124B104B5E0F5EFDA17BFC1CFFE0580A4C +:106F5000F80B13005E8F5EFD1ADE1AD7A17B5F3C33 +:106F6000A1795F375CFCFC1EFFE0580AFC0B1300A4 +:106F7000E08B001D5808FC091300E08B0018580B2B +:106F8000F5BA0000C1501B071B0E583CC0A0581C8E +:106F9000C0335E0F5E1D103AF20B13005E2F5E3D94 +:106FA0001438F60913005E2F5E3D1B07D80A5817E8 +:106FB0005F0C5809F5B800001B071B0E5E0F5EFC46 +:106FC0001ADE1AD7A17B5F3CA1795F375CFCFC1EFF +:106FD000FFE0580AFC0B1300E08B001D5808FC0969 +:106FE0001300E08B0018580BF5BA0000C1501B07C6 +:106FF0001B0E583CC0A0581CC0335E0D5E1F103ADB +:10700000F20B13005E2D5E3F1438F60913005E2D5F +:107010005E3F1B07D80A58175F1C5809F5B80000D7 +:107020001B071B0E5E0D5EFCEBCD40FFF7E9200E4B +:10703000F6071614A97BF7EA137BA97ABDBBE41BFC +:107040003FFFABD7E08000CCE04707FFE08400B50E +:10705000F2061614A979F3E81379A978BDB9E419F1 +:107060003FFFABD6E08000E2E04607FFE08400B2DD +:107070000C17FE37FC01FC1C8000F8031601E9D94F +:10708000C3625CD4E7D4D382E6090644F80501253F +:10709000E6050644EA031502E6090644F80501255B +:1070A000E6050644EA031502E6090644F80501254B +:1070B000E6050644EA031502E6080640E40907402F +:1070C000E609064402045C05A365EBE413E5A3644A +:1070D0005C34F8050145E6040640E4050740E60592 +:1070E000064402045C05EA031502E7E413E3E80240 +:1070F0001502E6080640E4090740E60906440204D2 +:107100005C05A365EBE413E5A3645C34F805014575 +:10711000E6040640E4050740E605064402045C0573 +:10712000EA031502E7E413E3E8021502E60A064063 +:10713000E40B0740E60B064202025C03EDB3001CC1 +:10714000C090A1725CF32017A39AF5EB11DAA39B10 +:10715000C058A58AF5EB11CAA58B5807E08A008BA9 +:10716000E012FF00E8120080E6080640E40907404C +:10717000E4080644E60906480005F00100485C09F9 +:10718000F9D2C10158045C25F4081300F609130074 +:107190005F36F8061700E40A1608F5E3118AE60BD5 +:1071A0001608F7D7D28BEDBE001FEFBB001F0C0AED +:1071B0005C0BE3CD80FFE41B000F144BE08100A7C4 +:1071C000F2061614ABD6E04607FFE08100A4C9E83A +:1071D000E419000F1049E081009AC928A37BF7EA5F +:1071E00013DBA37AF5EB1004E08000A0F604120094 +:1071F000C170C0C3E8051120F604094BF4050A4527 +:107200000A4BF404094A0817C0B8F4041200F9B490 +:107210000300F7B402E0F404094B300A0817A38A0C +:10722000F5EB11EAA38BC11BA379F3E813D9A3787B +:10723000F3E81004C6F0F2041200C170C0C3E80500 +:107240001120F2040949F0050A450A49F0040948E9 +:107250000816C0B8F0041200F9B40300F7B402E055 +:10726000F004094930080816A388F1E911E8A38958 +:10727000CFCA5C372FF7F1B704C0E0470020C154F4 +:10728000EE061120E4070A42E606094C1842E6071A +:107290000A43F4060941F4070A4AF606094C184A5B +:1072A000F6070A4B3000C158EE061120F9B0000075 +:1072B000F9BC0000C050F4060940F606094CE60788 +:1072C0000A423003F4070A411841F6070A4A300B14 +:1072D000E012FF00E8120080E6080646E4090746CF +:1072E000E4080644E60906480C05F00700485C0976 +:1072F0003007F9D2C1010034E2051300C46B1C9BB6 +:10730000E61B8000300AE3CD80FF3FFB300AE3CD6F +:1073100080FFF5EB1004C0901C9BE61B8000EA1B6D +:107320007FF0300AE3CD80FFF1E91015CEF0E9D906 +:10733000C28BE04407FFCE41F1E910C5CE10CE6B01 +:10734000D4311A97202D109C1295149E16931696E0 +:107350005809C4411638E088005AF0081200C0D01D +:10736000F6080946F808094CF00B1120F408094EFC +:10737000F40B0A4BF7E61006F80A1610EBDCC01007 +:10738000EC0A0D02FC091610EA02024BF3E31109A4 +:10739000123BE08800091809123CE08B0005123B03 +:1073A000F3DCEB09F20B010BFDDEC010F60A0D0A4F +:1073B000FDEB110EEA0A024A1C3AE0880009180E99 +:1073C0001C3CE08B00051C3AFDDCEB0EFC0A010ABC +:1073D000300BF4080A4A2FEDD8321639FE9BFFFD18 +:1073E000F2091200C46114385F8B06355F3AF7EA80 +:1073F000100AF20A1800C060FC08010AE6050146FE +:10740000149E0C9B1C9A2FEDD8325808C05130198D +:10741000F2080D08109CF8081200E0810084EC0CC2 +:10742000010BF8031610EBDCC010F6030D0AFC0983 +:107430001610EA0A024AF3EB1109123AE088000931 +:107440001809123CE08B0005123AF3DCEB09141921 +:10745000FDDEC010F2030D02FDE3110EEA02024A46 +:107460001C3AFE98FFB5180E1C3CFE9BFFB1CACB20 +:10747000F20E1120EA090945F609094BE60E0A4306 +:10748000F0090941F4090942F00E0A48F40E0A4ACB +:107490000A48164AF0061610F9D8C010E6060D0480 +:1074A000F4031610089BE7E51103E80C02450635C6 +:1074B000E0880007201B10030638E0880072F5DA28 +:1074C000C0100A13E6060D04F5E51106E80C024C9F +:1074D000089A0C3CE0880007201A10060C38E08857 +:1074E000005AF5EB110B1816F601064A149C1636D5 +:1074F000C0735F0514325F3AEBEA000AC060F8011E +:107500000104F608014B089CE40C010AEC0B01464F +:10751000EC090A4BF4090A4AEC0E09460C4A2FED15 +:10752000D832F0011120F4010A4BF808094CEC089C +:107530000949EC010A41F7E91009F8031610EBDCE0 +:10754000C010E2030D00F20B1610EA00024EF7E144 +:10755000110B163EE0880006180B163CE088002749 +:10756000F60E0101F3D9C010E2030D00F3E1110999 +:10757000EA00024B123BE08800091809123CE08B3C +:107580000005123BF3DCEB09F20B010BF408094E8A +:10759000C4DB0C3CF7BA0B01EDD8EB06CA3B063551 +:1075A000F7BB0B01E7D8EB03C8BB163EF7DCEB0BD0 +:0275B000CD8B81 +:10760000C0080000C0080000C0080000C00800005A +:10761000C0080000C0080000C0080000C00800004A +:10762000C0080000C0080000C0080000C00800003A +:10763000C0080000C0080000C0080000C00800002A +:10764000C0080000C00800000000000000000000AA +:10765000C008000000000000000000000000000062 +:10766000C008000000000000000000000000000052 +:10767000C008000000000000000000000000000042 +:1076800000000000000000000000000000000000FA +:1076900000000000000000000000000000000000EA +:1076A00000000000000000000000000000000000DA +:1076B00000000000000000000000000000000000CA +:1076C00000000000000000000000000000000000BA +:1076D00000000000000000000000000000000000AA +:1076E000000000000000000000000000000000009A +:1076F000000000000000000000000000000000008A +:10770000C0080000300CF01F0012580CF80F1710C2 +:10771000D603301CF01F000E580CF80F1710D603BC +:10772000302CF01F000B580CF80F1710D603303C0C +:10773000F01F0007580CF80F1710D60300000104C3 +:107740004000011280000120C000012E8000A41C16 +:107750000000000000000000000000000000000029 +:107760000000000000000000000000000000000019 +:107770000000000000000000000000000000000009 +:1077800000000000000000000000000000000000F9 +:1077900000000000000000000000000000000000E9 +:1077A00000000000000000000000000000000000D9 +:1077B00000000000000000000000000000000000C9 +:1077C00000000000000000000000000000000000B9 +:1077D00000000000000000000000000000000000A9 +:1077E0000000000000000000000000000000000099 +:1077F0000000000000000000000000000000000089 +:1078000073656E645265706C790000006765745F23 +:10781000646174615F7463705F636D645F63620071 +:107820006765745F7265706C795F686F73745F62AF +:10783000795F6E616D655F63620000006765745F0C +:107840007265706C795F7363616E5F6E6574776F7C +:10785000726B735F636200006765745F7265706C62 +:10786000795F6964785F6E65745F63620000000031 +:107870007365745F706173737068726173655F6361 +:107880006D645F63620000007365745F6B65795FB0 +:10789000636D645F6362000063616C6C5F7265704E +:1078A0006C795F6362000000617661696C5F64619E +:1078B00074615F7463705F636D645F636200000096 +:1078C0007365744D6170536F636B4D6F6465000039 +:1078D0006765745374617274436D6453657100001D +:1078E0007365745F6E65745F636D645F63620000EF +:1078F0007365745F69705F636F6E6669675F636D00 +:10790000645F63620000000073656E644572726FAD +:107910007200000073746172745F736572766572D1 +:107920005F7463705F636D645F6362007370695F4F +:10793000736C61766552656365697665496E74003E +:107940006765745F636C69656E745F737461746599 +:107950005F7463705F636D645F63620073656E6420 +:107960005F646174615F7564705F636D645F6362BF +:1079700000000000636865636B4D7367466F726D4E +:107980006174000073746172745F7363616E5F6E23 +:1079900065745F636D645F6362000000666F756E9F +:1079A00064486F737442794E616D65007365745FEE +:1079B0006B65795F636D645F63620000696E697413 +:1079C0005370690073746172745F636C69656E747F +:1079D0005F746370000000007370695F706F6C6C9F +:1079E000000000006765745F726573756C745F6397 +:1079F0006D645F636200000073746F705F636C6935 +:107A0000656E745F7463705F636D645F63620000D2 +:107A100073746172745F7365727665725F7463709C +:107A2000000000007365745F706173737068726149 +:107A300073655F636D645F63620000007365745F0C +:107A4000726573756C745F636D6400007365745F59 +:107A5000646E735F636F6E6669675F636D645F63B7 +:107A6000620000006765745F73746174655F7463BE +:107A7000705F636D645F6362000000007265715F38 +:107A80007265706C795F686F73745F62795F6E6145 +:107A90006D655F636200000073746172745F636C94 +:107AA00069656E745F7463705F636D645F636200C9 +:107AB000572D5B25735D2057726F6E67207465725A +:107AC0006D696E6174696F6E20696E6465783A25C0 +:107AD00064206E506172616D3A2564206964783A61 +:107AE00025642031366269743A25640A000000007A +:107AF0003078257820000000572D5B25735D2049E4 +:107B00006E646578206F7574206F662072616E6791 +:107B1000653A2025640A00005B25735D20535349B4 +:107B2000443A25730A0000005B25735D20525353CD +:107B3000493A25640A0000005B25735D20454E43E9 +:107B4000543A25640A0000005B25735D205365618B +:107B5000726368696E6720666F7220486F73743A4B +:107B60002069703D3078257820666F756E643D25FC +:107B7000640A00005B25735D20666F756E64486F54 +:107B8000737442794E616D653A20466F756E64205C +:107B9000486F73743A206E616D653D25732069707E +:107BA0003D307825780A00005B25735D20696653B7 +:107BB00074617475733A256420726573756C743AD8 +:107BC00025640A004C69737420436F6D6D616E64A7 +:107BD000732066756C6C210A000000005245434515 +:107BE000495645005452414E534D4954000000003F +:107BF0005B25735D204D6170205B25642C20257012 +:107C00002C2025735D0A00005B25735D20535049CD +:107C100020696E697469616C697A6174696F6E203C +:107C20006661696C65642100572D5B25735D204595 +:107C300072726F7220636F6E6669677572696E67C4 +:107C4000205350490A000000572D5B25735D202505 +:107C5000645D20446973616C6C2E2025642F25645B +:107C600020636D643A25640A00000000572D5B25EF +:107C7000735D2025645D20446973616C6C2E202542 +:107C8000640A00005B25735D3A200000572D5B25D8 +:107C9000735D2025645D204E6F7420666F756E6481 +:107CA00020656E6420636D643A20307825780A0080 +:107CB0005B25735D2025732025640A00572D5B2505 +:107CC000735D20456E64206F6620636D6420706173 +:107CD00072616D73000000005B25735D2064617448 +:107CE00061417661696C3A25640A0000572D5B2575 +:107CF000735D2054544350206E6F7420666F756E10 +:107D00006420666F7220736F636B3A25640A00000B +:107D10005B25735D20736F636B3A25642073746118 +:107D200074653A25640A00005B25735D20737461F5 +:107D300074653A25640A00005B25735D2053746105 +:107D40007274204E6574776F726B205363616E207E +:107D500025640A00572D5B25735D206572723D25F1 +:107D6000640A00005B25735D204C6F6F6B696E6762 +:107D700020666F7220486F73743A206E616D653DA6 +:107D800025730A005B25735D20466F756E6420487D +:107D90006F73743A206E616D653D25732069703D87 +:107DA000307825780A0000005B25735D2053746FDE +:107DB0007020636C69656E7420736F636B3A256421 +:107DC0000A00000055445000544350005B25735D89 +:107DD00020416464723A307825782C20706F727478 +:107DE0003A25642C20736F636B3A25642C207072E3 +:107DF0006F743A25730A0000572D5B25735D205080 +:107E0000726576696F757320636C69656E74202581 +:107E100070206E6F742073746F7070656420210A17 +:107E2000000000005B25735D205374617274204371 +:107E30006C69656E74202573202570205B30782571 +:107E4000782C2025642C2025645D204F4B210A00CE +:107E50005B25735D20537461727420436C69656E99 +:107E600074202573202570205B307825782C202500 +:107E7000642C2025645D204641494C4544210A007C +:107E8000572D5B25735D205374696C6C20636F6E96 +:107E90006E65637465642E2E2E776169740A000026 +:107EA000572D5B25735D20494620646F776E2E2E1B +:107EB0002E776169740A00005B25735D205374613D +:107EC000727420536572766572202573205B256479 +:107ED0002C2025645D204F4B210A0000572D5B2587 +:107EE000735D2053746172742053657276657220DD +:107EF0002573205B25642C2025645D204641494C78 +:107F00004544210A000000005B25735D2025702098 +:107F10006E756D506172616D3D2564207061726D8A +:107F200073546F4368616E67653D25640A00000005 +:107F30005B25735D2025645D206E69663A2570209F +:107F40006C7769705F616464723D307825780A00EF +:107F50005B25735D20257320706172616D733D2513 +:107F6000640A00005B25735D20506173733A20251D +:107F7000732025640A000000572D5B25735D2025C2 +:107F800073203A204661696C656420746F206164D7 +:107F90006420706173737068726173650A00000019 +:107FA000436F6E6E65637420746F206E6574776FB7 +:107FB000726B2E2E2E0000006572723D25640A0041 +:107FC0004F4B0A00572D5B25735D205353494420C6 +:107FD0006C656E206F7574206F662072616E6765C8 +:107FE000000000005B25735D2025730A000000007F +:107FF000572D5B25735D2053656E642053504920D7 +:108000006572726F72210A003D3D3E003C3D3D00AD +:10801000572D5B25735D20556E6B6E6F776E2063F9 +:108020006D6420307825780A00000000572D5B250C +:10803000735D2025645D20436865636B20666F7205 +:108040006D6174206D7367206661696C6564210AD7 +:1080500000000000444F574E000000005550000043 +:1080600049462020207374617475733A2025730A81 +:1080700000000000434F4E4E207374617475733AD4 +:108080002025730A00000000536F636B6574206E37 +:108090002E3A256428256429205B307825785D20D8 +:1080A000257320257320616464723A257320706FF4 +:1080B00072743A25640A00005B2564207470637052 +:1080C0002D25705D2D5374617475733A25640A0013 +:1080D0005B746C63702D25705D2D537461747573C2 +:1080E0003A25640A000000005B757063702D2570EE +:1080F0005D20666C6167733A3078257820206C6F5C +:1081000063616C3A25735B307825785D2D25640AB0 +:108110000000000072656D6F74653A257328307831 +:108120002578292D25640A004E4F0000594553003B +:108130004461746120617661696C3A25730A0000BC +:108140002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D5F +:108150002D2D2D2D2D2D2D2D2D2D2D2D2D2D0A009F +:108160005B25735D205363616E206E6F7420636FB7 +:108170006D706C65746564210A0000005B25735D99 +:10818000204E6574776F726B73206E6F7420666F0C +:10819000756E64210A000000636F756C64206E6F59 +:1081A0007420616C6C6F6361746520616C6C206716 +:1081B0007569206E65742061727261790A00000031 +:1081C000636F756C64206E6F7420616C6C6F63619B +:1081D000746520616C6C20677569206E6574730A24 +:1081E000000000005B25735D202564202D20257391 +:1081F000205B25645D2D202564202D202564202D05 +:1082000020307825780A000D000B000C000A0000D1 +:108210007365745F726573756C745F636D64000081 +:108220008000636C800063988000637E80006398A8 +:108230008000638E80006398800063648000639890 +:10824000800063688000638A800063786174637073 +:108250005F706F6C6C5F636F6E6E00007564705F53 +:10826000737461727400000072656D6F76654E659F +:1082700077436C69656E74436F6E6E0061756470F0 +:108280005F726563765F6362000000006765745328 +:1082900074617465546370006172645F7463705FCD +:1082A00073746F7000000000617463705F636F6EC1 +:1082B0006E5F6572725F6362000000006765744EF6 +:1082C0006577436C69656E74436F6E6E4964000038 +:1082D000617463705F636F6E6E5F636C695F65721C +:1082E000725F636200000000617463705F616363CA +:1082F0006570745F636200007564705F73746172AF +:10830000740000005B25735D20747463703A2570FF +:108310002069643D25642C20747063623D25700AD9 +:1083200000000000572D5B25735D204E6F205661C5 +:108330006C696420636C69656E7420666F7220746A +:108340007463703A25700A005B25735D2025645DB7 +:1083500020747463703A257020747063623A2570DB +:108360002073746174653A2564206C7063623A25E9 +:10837000702073746174653A2564206C6566743A84 +:1083800025642073656E743A25640A00572D5B25B9 +:10839000735D20544350206E6F7420696E69746958 +:1083A000616C697A656420747463703A2570207416 +:1083B0007063623A2570206C7063623A25700A001F +:1083C000572D5B25735D204E6F2056616C696420CC +:1083D000496420666F7220747463703A257020704F +:1083E00063623A25700A00005B25735D2062756642 +:1083F0003A2570206C656E3A25640A00572D5B257E +:10840000735D2054544350205B25705D3A20636FA8 +:10841000756C64206E6F7420616C6C6F6361746541 +:1084200020706275660A0000572D5B25735D20542D +:10843000544350205B25705D3A207564705F73650E +:108440006E642829206661696C65640A000000007A +:108450005B25735D2054544350205B25702D25709F +:108460005D3A20636F6E6E65637420256420256419 +:108470000A0000005B25735D206C6566743D256411 +:10848000206C656E3A25640A000000005B25735D70 +:10849000207463705F7772697465206661696C65CA +:1084A000642025702073746174653A2564206C65BE +:1084B0006E3A2564206572723A25640A0000000055 +:1084C000572D5B25735D2074746370203D3D204EF5 +:1084D000554C4C210A0000005B25735D20747463C9 +:1084E000703A2570207063623A2570206275663A92 +:1084F0002570206C656E3A25640A00005B25735D6B +:1085000020272573270A00005B25735D20506163D7 +:108510006B65742073656E74207063623A257020F9 +:108520006C656E3A2564206475723A2564206C652A +:1085300066743A25640A00005B25735D2054544339 +:1085400050205B25705D3A20636C65616E536F63EC +:108550006B53746174655F63622025640A000000D8 +:108560005B25735D20436C6F73696E672074706365 +:10857000623A2073746174653A30782578206572A8 +:10858000723A25640A0000005B25735D20436C6F1E +:1085900073696E67206C7063623A207374617465EE +:1085A0003A30782578206572723A25640A00000016 +:1085B0005B25735D2046726565696E672070617921 +:1085C0006C6F61642025642D25700A005B25735D46 +:1085D00020436C6F73696E6720747063625B2570F3 +:1085E0005D3A2073746174653A307825782065723D +:1085F000723A25640A000000572D5B25735D204305 +:10860000616E6E6F7420636C6F73652069643A25C8 +:10861000642D2570207075742070656E64696E67B6 +:108620000A0000005B25735D202D2D2D2D2D2D2D95 +:108630002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0A8D +:1086400000000000572D5B25735D2074746370205B +:108650003D204E554C4C210A000000005B25735D07 +:1086600020666C75736820646174613A207470636D +:10867000623A2570206572723A25640A0000000093 +:10868000572D5B25735D2054544350205B25705D4E +:108690003A20636F6E6E656374696F6E20657272E7 +:1086A0006F723A202564206375727249643A2564BA +:1086B0000A00000041626F727420636F6E6E656322 +:1086C00074696F6E0A000000572D5B25735D20549E +:1086D000544350205B25705D3A20636F6E6E656376 +:1086E00074696F6E206572726F723A202564206122 +:1086F00072673A25700A0000572D5B25735D205480 +:10870000544350205B25705D3A2066726565206D8C +:10871000656D6F72790A00005B25735D20554450CA +:1087200020496E7365727420257020736F636B3AF5 +:10873000256420616464723A257320706F72743A04 +:1087400025640A00572D5B25735D20545443502047 +:108750005B2D5D3A20696E76616C6964206D6F6493 +:10876000650A0000572D5B25735D2054544350204B +:108770005B2D5D3A20696E76616C6964206E62756E +:10878000660A0000572D5B25735D2054544350202A +:108790005B2D5D3A20696E76616C69642062756656 +:1087A0006C656E0A00000000572D5B25735D205438 +:1087B000544350205B2D5D3A20636F756C64206ECE +:1087C0006F7420616C6C6F63617465206D656D6F93 +:1087D000727920666F7220747463700A0000000062 +:1087E000572D5B25735D2054544350205B25705DED +:1087F0003A20636F756C64206E6F7420616C6C6FCF +:1088000063617465207063620A0000005B25735D1C +:108810002025732C20757063623A25702025733AE9 +:1088200025640A00572D5B25735D20545443502066 +:108830005B25705D3A2075647020636F6E6E6563B2 +:1088400074206661696C65640A000000572D5B2521 +:10885000735D2054544350205B25705D3A2062695B +:108860006E64206661696C6564206572723D256482 +:1088700020506F727420616C726561647920757329 +:1088800065640A005B25735D2025732C206C6F6383 +:108890003A307825782D25642072656D3A30782538 +:1088A000782D25640A0000005B25735D20416C6C07 +:1088B0006F63207061796C6F61642025642D257071 +:1088C0000A000000572D5B25735D2054544350204F +:1088D0005B25705D3A20636F756C64206E6F742049 +:1088E000616C6C6F63617465207061796C6F616439 +:1088F0000A0000005B25735D205B747063625D2D70 +:108900002570207061796C6F61643A25700A0000EF +:10891000572D5B25735D2054544350205B25705DBB +:108920003A2074637020636F6E6E656374206661B5 +:10893000696C65640A0000005B25735D2042454652 +:108940004F52452042494E4420747463703A25705A +:10895000206C7063623A2570207063623A25700A59 +:1089600000000000572D5B25735D205454435020B8 +:108970005B25705D3A206C697374656E2066616971 +:108980006C65640A00000000572D5B25735D205361 +:108990007461727420736572766572204641494C29 +:1089A0004544210A000000005B25735D20545443B8 +:1089B00050205B25702D25705D3A206E6275663DF6 +:1089C00025642C206275666C656E3D25642C2070D4 +:1089D0006F72743D2564202825732F2573290A00A2 +:1089E0007574726C3A6E3A703A7600002573000026 +:1089F0005B25735D2041524420544350205B257019 +:108A00005D3A20616363657074206E6577205B2535 +:108A1000705D0A005B25735D206C6F63616C3A25A5 +:108A2000642072656D6F74653A2564207374617497 +:108A3000653A25640A0000007061796C6F616420FA +:108A40006E6F74206672656564210000572D5B258A +:108A5000735D2041524420544350205B25705D20BB +:108A60006172673D257020726574726965733D257A +:108A7000642061626F72740A000000005B25735D00 +:108A8000206B656570416C697665436E743A256448 +:108A9000206B6565705F69646C653A25642070655C +:108AA00072736973745F636E743A25640A00000020 +:108AB0005B25735D2041524420544350205B257058 +:108AC0002D25705D206172673D257020726574727E +:108AD0006965733D25642070656E642E636C6F73E9 +:108AE000653A2564206C656E3A25640A0000000032 +:108AF0005B25735D2041524420544350205B257018 +:108B00002D25705D2074727920746F20636C6F73F3 +:108B1000652070656E64696E673A256420657272BF +:108B20003A25642069643A25640A00005B25735D78 +:108B30002041524420544350205B25702D25705D08 +:108B4000206172673D257020726574726965733D9E +:108B500025642070656E642E636C6F73653A2564BE +:108B600020636F6E6E3A25640A000000572D5B2566 +:108B7000735D2041524420544350205B25702D25C5 +:108B8000705D206172673D25702072657472696541 +:108B9000733D25640A0000005B25735D204152444B +:108BA00020544350205B25702D25705D2074727910 +:108BB00020746F20636C6F73652070656E64696EDE +:108BC000673A25640A0000005B25735D206C656EC2 +:108BD0003A25640A000000005B25735D20736F6313 +:108BE0006B3A2564207063623A2570207062756666 +:108BF0003A2570206572723A256420627566537456 +:108C00006F72653A2570206C656E3A25640A000023 +:108C10005B25735D20617463705F726563765F636B +:108C20006220703D4E554C4C206F6E20736F636B0D +:108C30003A2564207063623A25700A00572D5B253F +:108C4000735D206572723D256420703D25700A00B9 +:108C50005B25735D205265636569766564202570C8 +:108C6000206C656E3A25640A000000006174637030 +:108C70005F737461727400007463705F73656E6417 +:108C80005F646174615F70636200000061746370AF +:108C90005F706F6C6C000000617463705F7265637D +:108CA000765F6362000000006172645F7463705FEE +:108CB000737461727400000067657446697273743E +:108CC000436C69656E7400006172645F7463705F09 +:108CD00064657374726F7900636C6F73655F636F43 +:108CE0006E6E000073656E6455647044617461005B +:108CF000696E736572744E6577436C69656E744313 +:108D00006F6E6E0061636B5F726563766564000011 +:108D10007463705F636F6E6E6563745F636200009F +:108D200073656E645463704461746100636C6F7347 +:108D3000655F636F6E6E5F7063620000636C656198 +:108D40006E536F636B53746174655F636200000000 +:108D50007463705F646174615F73656E74000000BA +:108D600061636B416E6446726565446174610000C5 +:108D7000676574417661696C5463704461746142E3 +:108D80007974650066726565744461746100000001 +:108D9000676574546370446174614279746500005E +:108DA00063616C634D657267654C656E0000000021 +:108DB000696E73657274427566000000697341766E +:108DC00061696C5463704461746142797465000038 +:108DD00066726565744461746149647800000000DE +:108DE0005B25735D202570205B25642C25645D0A5E +:108DF00000000000686561644275663D256420746A +:108E000061696C4275663D25640A000025645D2039 +:108E10007063623A2570204275663A202570204CB6 +:108E2000656E3A25640A00005B25735D20205B2592 +:108E3000645D3A206C656E3A2564206964783A2551 +:108E40006420746F743A25640A0000005B25735D2A +:108E500020417661696C61626C6564206461746153 +:108E60003A2025640A000000572D5B25735D2069B8 +:108E70006478427566206F7574206F662072616E2B +:108E800067653A2025640A005B25735D2025702004 +:108E90006964783A25640A00572D5B25735D20428A +:108EA0007566203D3D204E554C4C21005B25735D81 +:108EB0002041636B207063623A2570206C656E3AC6 +:108EC000256420736F636B3A256420646174613A92 +:108ED00025700A005B25735D206765743A25642060 +:108EE00025702025640A00005B25735D206368659A +:108EF000636B3A25642025642025700A0000000079 +:108F00005B25735D2046726565202570206F74684F +:108F1000657220627566202564207461696C3A254B +:108F20006420686561643A25640A0000572D5B255A +:108F3000735D204F76657277726974696E6720621F +:108F40007566666572202570206964783A2564210B +:108F50000A000000572D5B25735D20706275665F07 +:108F6000636F70795F7061727469616C20666169AA +:108F70006C65643A207372633A25702C20647374B4 +:108F80003A25702C206C656E3A25640A00000000BA +:108F9000572D5B25735D2041766F696420746F20C7 +:108FA0004F76657277726974652064617461205BC5 +:108FB00025642D25645D210A000000005B25735D9A +:108FC00020496E736572745B25645D3A2025703AA2 +:108FD00025642D2564205B25642C25645D0A000032 +:108FE000572D5B25735D20536F636B206F75742065 +:108FF0006F662072616E67653A20736F636B3D2503 +:1090000064000000696E736572745F70427566007B +:109010006765745F70427566000000000000E10043 +:1090200008040000000000000F01110110011301ED +:109030000E01110110010F0106000500636D645F50 +:109040007365745F69700000636D645F736574704D +:1090500061737300636D645F7374617274436C69F0 +:1090600000000000466F756E6420486F73743A20EC +:109070006E616D653D25732069703D307825780AF5 +:109080000000000075736167653A206474203C310C +:109090007C303E0A0000000075736167653A2073FA +:1090A000656E64556470205B736F636B5D0A097352 +:1090B0006F636B3A20736F636B6574204E756D62DE +:1090C00065720A00536F636B65743A2025640A0069 +:1090D0005061747465726E547970653A2025640A23 +:1090E0000000000050726F766100000031323334AE +:1090F000353637383930000046696E65546573740B +:10910000000000006F6666004465627567204F4688 +:10911000460A00007072696E740000004465627552 +:10912000672009656E61626C65643A203078257845 +:109130000A000000566572626F736520656E616299 +:109140006C65643A20307825780A000044756D70AB +:109150002009656E61626C65643A20307825780A72 +:1091600000000000504F6F6C6C2009656E61626CEE +:1091700065643A20307825780A00000044656275FD +:1091800067204F4E0A00000075736167653A2064DE +:1091900065627567203C73656374696F6E3E203C41 +:1091A0006C6576656C3E0A0973656374696F6E3A27 +:1091B00020696E69742C20636D2C207370692C20DB +:1091C000746370202C207574696C2C207761726E2A +:1091D0000A096C6576656C20203A203020286F667D +:1091E00066292C203120286F6E292C2032202876E9 +:1091F0006572626F7365290A096F723A206465624D +:109200007567207072696E742F6F6E2F6F66660AB5 +:1092100000000000696E697400000000737069004E +:1092200074637000636D00007574696C0000000069 +:109230007761726E00000000616C6C0044756D70A7 +:1092400020416C6C20427566666572730A000000EE +:1092500075736167653A2064756D7050627566203C +:109260005B736F636B5D0A09736F636B3A20736F97 +:10927000636B6574204E756D6265720A00000000B4 +:109280006E6F6E650000000044656C6574696E6702 +:1092900020574550206B6579730A0000757361672C +:1092A000653A207365746B6579203C6B65795F69FD +:1092B00064782028302D33293E203C6B6579206965 +:1092C0006E206865783E0A09206F723A20736574D3 +:1092D0006B6579206E6F6E650A000000205745505F +:1092E000206B6579206D75737420626520313020A4 +:1092F000285745502D343029206F722032362028CF +:109300005745502D31303429206469676974730AD8 +:1093100000000000776C5F61706920766572736988 +:109320006F6E2076322E372E300A00006661696C2F +:10933000656420746F20676574206D6163206164CB +:1093400064726573730A0000687720616464723A1E +:109350002025730A000000006C696E6B2073746135 +:109360007475733A20000000697020616464723A79 +:10937000202573202D2000006E65746D61736B3A9B +:10938000202573202D200000676174657761793A8C +:109390002025730A00000000697020696E746572F0 +:1093A0006661636520697320646F776E0A00000050 +:1093B00064686370203A2000656E61626C65640ABF +:1093C0000000000064697361626C65640A0000005B +:1093D000444E533A202573202D2000007573616799 +:1093E000653A207374617274436C69203C697061E2 +:1093F0006464723E203C706F72743E203C736F63F5 +:109400006B3E203C7463702830292F7564702831BE +:10941000293E0A00537461727420636C69656E742E +:10942000206F6E206164647220307825782C207063 +:109430006F727420256420736F636B202564206D28 +:109440006F64652025640A00572D5B25735D2053EA +:109450007461727420636C69656E74206F6E207025 +:109460006F727420256420736F636B2025642070F5 +:10947000726F74202564206D6F646520256420461A +:1094800041494C45440A000075736167653A207391 +:1094900074617274537276203C706F72743E203C1B +:1094A000736F636B3E203C7463702830292F7564A2 +:1094B000702831293E0A00005374617274202573AC +:1094C00020736572766572206F6E20706F727420E3 +:1094D000256420736F636B2025640A00572D5B257C +:1094E000735D2053746172742025732073657276E6 +:1094F0006572206F6E20706F727420256420736F08 +:10950000636B202564204641494C45440A00000015 +:1095100075736167653A20736574646E73205B319F +:109520002D325D206161612E6262622E6363632E63 +:109530006464640A0000000053657420444E5320A4 +:1095400073657276657220256420746F2025730A16 +:10955000000000003D3D3E20444E53313A2025732B +:109560000A0000003D3D3E20444E53323A20257310 +:109570000A00000075736167653A20676574486F7B +:109580007374203C686F73746E616D653E0A0000F1 +:1095900075736167653A207770617373203C7373EC +:1095A00069643E203C706173737068726173653EDC +:1095B0000A0000002573203A204661696C6564202A +:1095C000746F20616464207061737370687261737A +:1095D000650A000075736167653A20647061737392 +:1095E000203C737369643E0A000000002573203A32 +:1095F000204661696C656420746F2064656C6574D5 +:109600006520706173737068726173650A00000091 +:1096100075736167653A206970636F6E666967206C +:109620003C69703E203C6E65746D61736B3E203CFE +:10963000676174657761792D69703E0A00000000EA +:1096400020206F72203A206970636F6E6669672010 +:109650006E6F6E652028746F20656E61626C652088 +:1096600044484350290A00005B25735D206E6966FB +:109670003A2570206C7769705F616464723D307860 +:1096800025780A0075736167653A20636F6E6E65B1 +:109690006374203C737369643E0A0000636D645F09 +:1096A000737461727453727600000000636D645FBE +:1096B00064656C70617373004D494D4C4644000005 +:1096C0000A24200024200000617661696C61626CCC +:1096D0006520636F6D6D616E64733A0A000000006F +:1096E000202025730A000000636F756C64206E6F84 +:1096F0007420616C6C6F63617465206669726D774C +:10970000617265206275666665720A00547565202F +:109710004D61722032362032323A30393A353420B7 +:109720003230313300000000776C5F696E69745F1E +:10973000636F6D706C6574655F6362006661696C10 +:10974000656420746F20696E697420776C20636F84 +:109750006E6E206D67720000572D5B25735D205380 +:109760007069206E6F7420696E697469616C697AC2 +:1097700065640A006C696E6B20646F776E2C2072D2 +:10978000656C6561736520646863700A00000000A1 +:109790006C696E6B20646F776E0A00006C696E6B8B +:1097A0002075702C20636F6E6E6563746564207421 +:1097B0006F20222573220A007265717565737469C2 +:1097C0006E672064686370202E2E2E20000000003B +:1097D0004641494C45440A00626F756E6420746FBF +:1097E0002025730A00000000572D5B25735D20497A +:1097F0006E74657266616365206E6F74207570218A +:109800000A0000007363616E00000000636F6E6EFB +:10981000656374007365746B6579000073746174BB +:1098200075730000646562756700000064756D7093 +:10983000427566006970636F6E66696700000000BC +:10984000747463700000000077706173730000002F +:109850006470617373000000676574486F7374000F +:10986000736574444E53000073746172745372765E +:10987000000000007374617274436C6900000000A2 +:1098800073656E645564700041726475696E6F2013 +:109890005769666920537461727475702E2E2E207C +:1098A0005B25735D0A0000006F7574206F66206D84 +:1098B000656D6F72790000006661696C6564207483 +:1098C0006F207072657061726520666F72206669C4 +:1098D000726D7761726520646F776E6C6F61640A78 +:1098E00000000000436F756C64206E6F7420646527 +:1098F0007465637420776C206465766963652C20D9 +:1099000061626F7274696E670A000000496E766169 +:109910006C6964206669726D776172652064617438 +:10992000612C2061626F7274696E670A000000002A +:109930004661696C656420746F2073746172742071 +:10994000776C20696E697469616C697A6174696F9A +:109950006E0A0000312E312E3000000069705F73F6 +:1099600074617475735F63620000000002000000A0 +:1099700000B71B000800000100010000286E756C94 +:109980006C290000253032782D253032782D253095 +:1099900032782D253032782D253032782D25303211 +:1099A00078000000256C752E256C752E256C752EA3 +:1099B000256C75007373696420746F6F206C6F6E13 +:1099C0006720286D6178202564290A00257320000E +:1099D00022257322000000002052535349202564A1 +:1099E0002064426D200000002041642D486F6320F8 +:1099F00000000000202857455020656E6372797082 +:109A000074696F6E290000002028544B495020656E +:109A10006E6372797074696F6E2900002028434369 +:109A20004D5020656E6372797074696F6E29000005 +:109A3000202020002530325820000000256300003F +:109A40006E6F206E65747320666F756E640A000019 +:109A5000496E76616C6964206C656E6774680A0093 +:109A600025642E25642E25642E256400544B495010 +:109A70000000000043434D500000000057455000D7 +:109A8000776C5F636D5F696E6974000073656C6508 +:109A900063745F6E65740000776C5F636F6E6E5FFA +:109AA0006C6F73745F636200776C5F7363616E5F8A +:109AB000636F6D706C6574655F636200776C5F6582 +:109AC00076656E745F636200776C5F6D6564696173 +:109AD0005F636F6E6E65637465645F636200000050 +:109AE0005B25735D20434D3A206F7574206F6620AF +:109AF0006D656D6F72790A005B25735D20434D3A89 +:109B000020636F756C64206E6F7420726567697373 +:109B1000746572206576656E742063620A000000C9 +:109B20005B25735D20434D3A20696E697469616CF1 +:109B3000697A65640A0000005B25735D20434D3A35 +:109B400020636F6E6E656374656420746F20257387 +:109B50000A0000005B25735D20434D3A20636F6E61 +:109B60006E656374206661696C65642C2073636143 +:109B70006E6E696E670A00005B25735D20434D3A87 +:109B800020636F756C64206E6F74207374617274DF +:109B9000207363616E20616674657220636F6E6E00 +:109BA000656374206661696C210A00005B25735D42 +:109BB00020434D3A20646973636F6E6E656374650C +:109BC000640A00005B25735D20434D3A20636F6E8D +:109BD0006E656374696F6E206C6F73742C20736391 +:109BE000616E6E696E670A005B25735D20434D3AB6 +:109BF00020636F756C64206E6F742073746172746F +:109C0000207363616E20616674657220636F6E6E8F +:109C1000656374206C6F7374210A00005B25735DAB +:109C200020434D3A207363616E20636F6D706C65E5 +:109C30007465640A00000000FFFFFFFFFFFF0000E3 +:109C40005B25735D20434D3A20526F616D696E67ED +:109C50002066726F6D207273736920256420746FA3 +:109C60002025640A000000005B25735D20434D3A07 +:109C7000204E6F2063616E64696461746520666F55 +:109C8000756E6420666F7220737369642022257379 +:109C9000220A00005B25735D20434D3A206661690E +:109CA0006C656420746F20636F6E6E6563740A0068 +:109CB0005B25735D20434D3A206661696C656420C5 +:109CC000746F207363616E0A000000005B25735D92 +:109CD00020434D3A20756E68616E646C6564206542 +:109CE00076656E740A000000776C5F636F6E6E5F5E +:109CF0006661696C7572655F636200000000000157 +:109D0000000018500000000B00001854000000096B +:109D1000000018800000000F000018A400000001DF +:109D2000000018E000000001000018E4000000013D +:109D300000001810000000010000181400000001CD +:109D400000001818000000010000181C00000001AD +:109D5000000018200000000100001824000000018D +:109D600000001828000000010000182C000000036B +:109D700000001830000000010000183C0000000145 +:109D8000000018400000000100001844000000011D +:109D900000001848000000010000184C4173736572 +:109DA0007274696F6E2022257322206661696C656A +:109DB00064206174206C696E6520256420696E20C2 +:109DC00025730A002E2E2F7372632F534F4654575C +:109DD0004152455F4652414D45574F524B2F5345D7 +:109DE0005256494345532F4C5749502F6C77697051 +:109DF0002D312E332E322F7372632F636F72652FC6 +:109E0000646863702E630000646863705F6F7074D1 +:109E1000696F6E3A20646863702D3E6F7074696F6D +:109E20006E735F6F75745F6C656E202B2032202B14 +:109E3000206F7074696F6E5F6C656E203C3D2044CE +:109E40004843505F4F5054494F4E535F4C454E006E +:109E5000646863705F6F7074696F6E5F6279746558 +:109E60003A20646863702D3E6F7074696F6E735F23 +:109E70006F75745F6C656E203C20444843505F4FA3 +:109E80005054494F4E535F4C454E00006468637018 +:109E90005F6F7074696F6E5F747261696C65723A3E +:109EA000206468637020213D204E554C4C0000001A +:109EB000646863705F6F7074696F6E5F74726169FC +:109EC0006C65723A20646863702D3E6D73675F6FD6 +:109ED000757420213D204E554C4C0A006468637017 +:109EE0005F6F7074696F6E5F747261696C65723AEE +:109EF00020646863702D3E6F7074696F6E735F6F5E +:109F000075745F6C656E203C20444843505F4F5031 +:109F100054494F4E535F4C454E0A000064686370CD +:109F20005F6F7074696F6E5F73686F72743A2064EC +:109F30006863702D3E6F7074696F6E735F6F7574B8 +:109F40005F6C656E202B2032203C3D2044484350FE +:109F50005F4F5054494F4E535F4C454E0000000038 +:109F6000646863705F6F7074696F6E5F6C6F6E674B +:109F70003A20646863702D3E6F7074696F6E735F12 +:109F80006F75745F6C656E202B2034203C3D20443F +:109F90004843505F4F5054494F4E535F4C454E001D +:109FA0007265706C79207761736E277420667265B4 +:109FB00065640000646863705F6372656174655F07 +:109FC000726571756573743A206E657469662021D7 +:109FD0003D204E554C4C0000646863705F637265B1 +:109FE0006174655F726571756573743A2064686346 +:109FF0007020213D204E554C4C0000006468637079 +:10A000005F6372656174655F726571756573743ADB +:10A0100020646863702D3E705F6F7574203D3D2035 +:10A020004E554C4C00000000646863705F637265BD +:10A030006174655F726571756573743A20646863F5 +:10A04000702D3E6D73675F6F7574203D3D204E55DA +:10A050004C4C0000646863705F6372656174655F97 +:10A06000726571756573743A20636865636B2074FB +:10A07000686174206669727374207062756620630B +:10A08000616E20686F6C64207374727563742064F1 +:10A090006863705F6D736700646863705F64656CAC +:10A0A0006574655F726571756573743A206E657469 +:10A0B000696620213D204E554C4C00006468637059 +:10A0C0005F64656C6574655F726571756573743A1C +:10A0D000206468637020213D204E554C4C000000E8 +:10A0E000646863705F64656C6574655F72657175E3 +:10A0F0006573743A20646863702D3E705F6F757489 +:10A1000020213D204E554C4C0000000064686370D7 +:10A110005F64656C6574655F726571756573743ACB +:10A1200020646863702D3E6D73675F6F75742021C6 +:10A130003D204E554C4C00006E6574696620213DF3 +:10A14000204E554C4C0000007062756620705F6FA9 +:10A150007574207761736E2774206672656564007C +:10A16000646863705F62696E643A206E65746966E4 +:10A1700020213D204E554C4C000000006468637067 +:10A180005F62696E643A206468637020213D204EEE +:10A19000554C4C00726574203D3D2073697A656FA3 +:10A1A000662873747275637420646863705F6D737E +:10A1B0006729202D20444843505F4F5054494F4E4B +:10A1C000535F4C454E000000726574203D3D206495 +:10A1D0006863702D3E6F7074696F6E735F696E5F38 +:10A1E0006C656E002E2E2F7372632F534F4654579B +:10A1F0004152455F4652414D45574F524B2F5345B3 +:10A200005256494345532F4C5749502F6C7769702C +:10A210002D312E332E322F7372632F636F72652FA1 +:10A22000646E732E63000000646E73207365727633 +:10A230006572206F7574206F66206172726179009B +:10A24000646E732073657276657220686173206E28 +:10A250006F20495020616464726573732073657464 +:10A260000000000070627566206D75737420626571 +:10A2700020696E206F6E652070696563650000005F +:10A28000617272617920696E646578206F757420DF +:10A290006F6620626F756E6473000000756E6B6E82 +:10A2A0006F776E20646E735F7461626C6520656E9B +:10A2B0007472792073746174653A00006C6F636125 +:10A2C0006C686F73740000003230382E36372E32CF +:10A2D00032322E3232320000000400040004000248 +:10A2E000002000050002001E002000002E2E2F730B +:10A2F00072632F534F4654574152455F4652414D6A +:10A3000045574F524B2F53455256494345532F4CB7 +:10A310005749502F6C7769702D312E332E322F73A1 +:10A3200072632F636F72652F6D656D702E63000011 +:10A330006D656D705F667265653A206D656D207044 +:10A34000726F7065726C7920616C69676E6564000C +:10A350006D656D705F6D616C6C6F633A20747970C0 +:10A3600065203C204D454D505F4D41580000000098 +:10A370006D656D705F6D616C6C6F633A206D656DBE +:10A38000702070726F7065726C7920616C69676E95 +:10A3900065640000001C002000B0002400140020B0 +:10A3A00000080010025400002E2E2F7372632F53EA +:10A3B0004F4654574152455F4652414D45574F52C3 +:10A3C0004B2F53455256494345532F4C5749502F15 +:10A3D0006C7769702D312E332E322F7372632F6399 +:10A3E0006F72652F6E657469662E6300626F6775A4 +:10A3F0007320706275663A206C656E20213D207472 +:10A400006F745F6C656E20627574206E6578742061 +:10A410003D3D204E554C4C210000000073686F7587 +:10A420006C64206E6F74206265206E756C6C207396 +:10A43000696E636520666972737420213D206C61CA +:10A4400073742100696620666972737420213D204F +:10A450004E554C4C2C206C617374206D75737420B8 +:10A46000616C736F20626520213D204E554C4C007D +:10A470002E2E2F7372632F534F4654574152455F10 +:10A480004652414D45574F524B2F53455256494323 +:10A4900045532F4C5749502F6C7769702D312E330F +:10A4A0002E322F7372632F636F72652F7062756621 +:10A4B0002E630000286820213D204E554C4C292059 +:10A4C000262620287420213D204E554C4C2920283A +:10A4D00070726F6772616D6D65722076696F6C6105 +:10A4E000746573204150492900000000702D3E74AE +:10A4F0006F745F6C656E203D3D20702D3E6C656E07 +:10A5000020286F66206C6173742070627566206904 +:10A510006E20636861696E2900000000696E6372D5 +:10A52000656D656E745F6D61676E697475646520D5 +:10A530003C3D20702D3E6C656E0000006261642021 +:10A5400070627566207479706500000070627566CF +:10A550005F74616B653A20696E76616C6964206234 +:10A5600075660000706275665F74616B653A20699C +:10A570006E76616C6964206461746170747200004D +:10A58000706275665F74616B653A20696E76616CA6 +:10A590006964207062756600646964206E6F74205F +:10A5A000636F707920616C6C2064617461000000DD +:10A5B000706275665F636F70795F706172746961F4 +:10A5C0006C3A20696E76616C696420627566000081 +:10A5D000706275665F636F70795F706172746961D4 +:10A5E0006C3A20696E76616C696420646174617094 +:10A5F00074720000706275665F636F70793A2074E0 +:10A600006172676574206E6F742062696720656E81 +:10A610006F75676820746F20686F6C6420736F7546 +:10A6200072636500705F746F20213D204E554C4C65 +:10A63000000000006F66667365745F746F203C3DB8 +:10A6400020705F746F2D3E6C656E00006F666673E0 +:10A6500065745F66726F6D203C3D20705F66726F3F +:10A660006D2D3E6C656E0000706275665F636F7085 +:10A6700079282920646F6573206E6F7420616C6C7B +:10A680006F77207061636B65742071756575657394 +:10A69000210A0000706275665F667265653A207314 +:10A6A000616E6520747970650000000070627566E7 +:10A6B0005F667265653A20702D3E726566203E20A9 +:10A6C00030000000702D3E746F745F6C656E203D2D +:10A6D0003D20702D3E6C656E202B20712D3E746FD9 +:10A6E000745F6C656E000000702D3E746F745F6C5B +:10A6F000656E203D3D20702D3E6C656E00000000B3 +:10A70000706275665F7265616C6C6F633A20702071 +:10A71000213D204E554C4C00706275665F7265613C +:10A720006C6C6F633A2073616E6520702D3E747996 +:10A730007065000067726F77203C206D61785F75EF +:10A7400031365F7400000000706275665F7265618B +:10A750006C6C6F633A207120213D204E554C4C00AB +:10A76000706275665F616C6C6F633A206261642031 +:10A7700070627566206C617965720000636865635C +:10A780006B20702D3E7061796C6F6164202B20709E +:10A790002D3E6C656E20646F6573206E6F74206F44 +:10A7A000766572666C6F77207062756600000000D7 +:10A7B000504255465F504F4F4C5F42554653495AA1 +:10A7C00045206D75737420626520626967676572E4 +:10A7D000207468616E204D454D5F414C49474E4D98 +:10A7E000454E540072656D5F6C656E203C206D6156 +:10A7F000785F7531365F7400706275665F616C6C8E +:10A800006F633A207062756620712D3E7061796CBD +:10A810006F61642070726F7065726C7920616C6911 +:10A82000676E656400000000706275665F616C6C45 +:10A830006F633A206572726F6E656F7573207479FD +:10A8400070650000706275665F636F707920666185 +:10A85000696C656400000000010203040506070737 +:10A8600007070707070000002E2E2F7372632F5370 +:10A870004F4654574152455F4652414D45574F52FE +:10A880004B2F53455256494345532F4C5749502F50 +:10A890006C7769702D312E332E322F7372632F63D4 +:10A8A0006F72652F7463702E630000007463705FB5 +:10A8B000706362735F73616E653A20616374697679 +:10A8C00065207063622D3E737461746520213D20A4 +:10A8D000434C4F53454400007463705F7063627370 +:10A8E0005F73616E653A2061637469766520706399 +:10A8F000622D3E737461746520213D204C49535490 +:10A90000454E00007463705F706362735F73616EC5 +:10A91000653A20616374697665207063622D3E73C9 +:10A920007461746520213D2054494D452D5741499E +:10A93000540000007463705F706362735F73616ED4 +:10A94000653A207477207063622D3E73746174657C +:10A95000203D3D2054494D452D57414954000000AC +:10A960007463705F62696E643A2063616E206F6E1B +:10A970006C792062696E6420696E207374617465FD +:10A9800020434C4F534544007463705F7265637697 +:10A9900065643A206C656E20776F756C6420777201 +:10A9A0006170207263765F776E640A00756E7365FE +:10A9B0006E74207365676D656E7473206C65616B72 +:10A9C000696E6700756E61636B6564207365676DA2 +:10A9D000656E7473206C65616B696E6700000000C2 +:10A9E0006F6F736571207365676D656E7473206C2E +:10A9F00065616B696E6700007463705F7063625FAE +:10AA000072656D6F76653A207463705F7063627310 +:10AA10005F73616E652829007463705F6C6973747D +:10AA2000656E3A2070636220616C726561647920A2 +:10AA3000636F6E6E65637465640000007463705FBD +:10AA4000736C6F77746D723A2061637469766520F8 +:10AA50007063622D3E737461746520213D20434C08 +:10AA60004F5345440A0000007463705F736C6F7746 +:10AA7000746D723A20616374697665207063622D2B +:10AA80003E737461746520213D204C495354454EFA +:10AA90000A0000007463705F736C6F77746D723AB4 +:10AAA00020616374697665207063622D3E73746102 +:10AAB000746520213D2054494D452D574149540A84 +:10AAC000000000007463705F736C6F77746D723A8E +:10AAD000206D6964646C652074637020213D20746E +:10AAE00063705F6163746976655F706362730000B1 +:10AAF0007463705F736C6F77746D723A20666972FD +:10AB0000737420706362203D3D207463705F6163E5 +:10AB1000746976655F706362730000007463705FD0 +:10AB2000736C6F77746D723A2054494D452D5741BF +:10AB30004954207063622D3E7374617465203D3DFD +:10AB40002054494D452D5741495400007463705FAE +:10AB5000736C6F77746D723A206D6964646C6520F4 +:10AB600074637020213D207463705F74775F70633D +:10AB7000627300007463705F736C6F77746D723A08 +:10AB800020666972737420706362203D3D20746397 +:10AB9000705F74775F706362730000007463705F4E +:10ABA000636F6E6E6563743A2063616E206F6E6CC6 +:10ABB0007920636F6E6E65637465642066726F6D75 +:10ABC00020737461746520434C4F5345440000006A +:10ABD00053594E5F53454E540000000053594E5F89 +:10ABE000524356440000000045535441424C4953DF +:10ABF0004845440046494E5F574149545F31000083 +:10AC000046494E5F574149545F320000434C4F5311 +:10AC1000455F574149540000434C4F53494E47004C +:10AC20004C4153545F41434B0000000054494D4593 +:10AC30005F5741495400000003060C18306078004B +:10AC40008000FAFC8000FC6C8000FD4E8000FDB4AA +:10AC50008000FE368000FD4E8000FE788000FEF809 +:10AC60002E2E2F7372632F534F4654574152455F18 +:10AC70004652414D45574F524B2F5345525649432B +:10AC800045532F4C5749502F6C7769702D312E3317 +:10AC90002E322F7372632F636F72652F7463705F30 +:10ACA000696E2E63000000007063622D3E736E6457 +:10ACB0005F71756575656C656E203E3D20706275CF +:10ACC000665F636C656E286E6578742D3E70290032 +:10ACD0007463705F726563656976653A2076616C4E +:10ACE0006964207175657565206C656E67746800B0 +:10ACF000696E7365672E7020213D204E554C4C00C7 +:10AD0000696E73616E65206F6666736574210000FD +:10AD10007062756620746F6F2073686F72742100A3 +:10AD2000706275665F686561646572206661696CF2 +:10AD3000656400007463705F726563656976653A87 +:10AD4000207365676D656E74206E6F742074726910 +:10AD50006D6D656420636F72726563746C792074C5 +:10AD60006F207263765F776E640A00007463705FB1 +:10AD7000726563656976653A207365676D656E74A3 +:10AD8000206E6F74207472696D6D656420636F72DC +:10AD9000726563746C7920746F206F6F73657120B6 +:10ADA00071756575650A00007463705F726563652F +:10ADB0006976653A207463706C656E203E2072631C +:10ADC000765F776E640A00007463705F7265636516 +:10ADD0006976653A206F6F736571207463706C6576 +:10ADE0006E203E207263765F776E640A000000007A +:10ADF0007463705F696E7075743A2061637469760C +:10AE000065207063622D3E737461746520213D205E +:10AE1000434C4F53454400007463705F696E707516 +:10AE2000743A20616374697665207063622D3E73A5 +:10AE30007461746520213D2054494D452D57414989 +:10AE4000540000007463705F696E7075743A20611D +:10AE50006374697665207063622D3E7374617465F6 +:10AE600020213D204C495354454E00007463705FCF +:10AE7000696E7075743A207063622D3E6E657874E9 +:10AE800020213D2070636220286265666F72652014 +:10AE900063616368652900007463705F696E707533 +:10AEA000743A207063622D3E6E65787420213D20D7 +:10AEB00070636220286166746572206361636865EF +:10AEC000290000007463705F696E7075743A2054D5 +:10AED000494D452D57414954207063622D3E73748E +:10AEE000617465203D3D2054494D452D57414954DD +:10AEF000000000007463705F696E7075743A2070B2 +:10AF000063622D3E737461746520213D20434C4F74 +:10AF1000534544007063622D3E736E645F717565C6 +:10AF200075656C656E203E20300000007063622DF8 +:10AF30003E61636365707420213D204E554C4C008A +:10AF40007463705F696E7075743A207463705F70BB +:10AF50006362735F73616E65282900002E2E2F7364 +:10AF600072632F534F4654574152455F4652414DED +:10AF700045574F524B2F53455256494345532F4C3B +:10AF80005749502F6C7769702D312E332E322F7325 +:10AF900072632F636F72652F7463705F6F75742EA9 +:10AFA00063000000636865636B20746861742066E9 +:10AFB0006972737420706275662063616E20686FB9 +:10AFC0006C6420737472756374207463705F68645A +:10AFD000720000007463705F656E71756575653A27 +:10AFE000207061636B6574206E65656473207061A9 +:10AFF000796C6F61642C206F7074696F6E732C2094 +:10B000006F722053594E2F46494E202870726F6739 +:10B0100072616D6D65722076696F6C617465732005 +:10B0200041504929000000007463705F656E7175BE +:10B030006575653A206C656E20213D2030207C7C52 +:10B0400020617267203D3D204E554C4C2028707287 +:10B050006F6772616D6D65722076696F6C61746582 +:10B0600073204150492900007463705F656E7175EB +:10B070006575653A207062756673206F6E20717514 +:10B08000657565203D3E206174206C656173742098 +:10B090006F6E65207175657565206E6F6E2D656DBF +:10B0A000707479007463705F656E71756575653A6B +:10B0B000206E6F207062756673206F6E20717565EB +:10B0C0007565203D3E20626F7468207175657565F9 +:10B0D0007320656D707479007573656720213D205C +:10B0E0004E554C4C00000000636865636B2074682B +:10B0F0006174206669727374207062756620636182 +:10B100006E20686F6C642074686520636F6D706C6E +:10B11000657465207365676C656E000070627566A6 +:10B120005F686561646572206661696C65640A00C8 +:10B1300046494E20656E71756575656420746F674C +:10B140006574686572207769746820646174610051 +:10B150007A65726F2D6C656E6774682070627566B3 +:10B16000000000007463705F656E71756575653A07 +:10B170002076616C6964207175657565206C656EFB +:10B1800067746800525354206E6F74206578706540 +:10B190006374656420686572652100002E2E2F732C +:10B1A00072632F534F4654574152455F4652414DAB +:10B1B00045574F524B2F53455256494345532F4CF9 +:10B1C0005749502F6C7769702D312E332E322F73E3 +:10B1D00072632F636F72652F7564702E63000000B9 +:10B1E000726562696E64203D3D203000636865636E +:10B1F0006B20746861742066697273742070627564 +:10B20000662063616E20686F6C642073747275636E +:10B2100074207564705F686472000000702D3E7069 +:10B2200061796C6F6164203D3D20697068647200D3 +:10B230002E2E2F7372632F534F4654574152455F42 +:10B240004652414D45574F524B2F53455256494355 +:10B2500045532F4C5749502F6C7769702D312E3341 +:10B260002E322F7372632F636F72652F697076347D +:10B270002F69636D702E6300636865636B2074686B +:10B2800061742066697273742070627566206361F0 +:10B290006E20686F6C642069636D70206D657373D8 +:10B2A0006167650069636D705F696E7075743A20DF +:10B2B0006D6F76696E6720702D3E7061796C6F617D +:10B2C0006420746F2069702068656164657220660F +:10B2D00061696C65640A0000636865636B2074686B +:10B2E0006174206669727374207062756620636190 +:10B2F0006E20686F6C642073747275637420746858 +:10B30000652049434D502068656164657200000006 +:10B3100069636D705F696E7075743A20636F7079E0 +:10B32000696E6720746F206E657720706275662085 +:10B330006661696C65640A0069636D705F696E704F +:10B3400075743A20726573746F72696E67206F72DC +:10B350006967696E616C20702D3E7061796C6F61F8 +:10B3600064206661696C65640A00000043616E27B1 +:10B3700074206D6F7665206F7665722068656164F4 +:10B38000657220696E207061636B65740000000057 +:10B390002E2E2F7372632F534F4654574152455FE1 +:10B3A0004652414D45574F524B2F534552564943F4 +:10B3B00045532F4C5749502F6C7769702D312E33E0 +:10B3C0002E322F7372632F636F72652F697076341C +:10B3D0002F69702E63000000636865636B207468DA +:10B3E000617420666972737420706275662063618F +:10B3F0006E20686F6C64207374727563742069705A +:10B400005F68647200FFFFFFFF00000000000000A3 +:10B410002E2E2F7372632F534F4654574152455F60 +:10B420004652414D45574F524B2F53455256494373 +:10B4300045532F4C5749502F6C7769702D312E335F +:10B440002E322F7372632F636F72652F697076349B +:10B450002F69705F667261672E630000746869739C +:10B46000206E656564732061207062756620696E68 +:10B47000206F6E65207069656365210073616E6978 +:10B48000747920636865636B206C696E6B656420FA +:10B490006C697374000000007072657620213D2095 +:10B4A00069707200707265762D3E6E657874203D0D +:10B4B0003D2069707200000069705F72656173738E +:10B4C0005F70627566636F756E74203E3D20636CBD +:10B4D000656E0000636865636B20667261676D6509 +:10B4E0006E747320646F6E2774206F7665726C6162 +:10B4F000700000006E6F2070726576696F75732042 +:10B50000667261676D656E742C2074686973206D56 +:10B51000757374206265207468652066697273743F +:10B5200020667261676D656E7421000073616E69DB +:10B53000747920636865636B0000000076616C6954 +:10B54000646174655F646174616772616D3A6E65B0 +:10B5500078745F70627566213D4E554C4C0000005A +:10B5600076616C69646174655F646174616772615E +:10B570006D3A646174616772616D20656E64213D2E +:10B58000646174616772616D206C656E00FFFFFF1E +:10B59000FFFFFF002E2E2F7372632F534F46545719 +:10B5A0004152455F4652414D45574F524B2F5345EF +:10B5B0005256494345532F4C5749502F6C77697069 +:10B5C0002D312E332E322F7372632F6E65746966A0 +:10B5D0002F6574686172702E630000006E65746977 +:10B5E000662D3E6877616464725F6C656E206D7570 +:10B5F0007374206265207468652073616D652061D5 +:10B6000073204554484152505F4857414444525F6B +:10B610004C454E20666F722065746861727021001F +:10B620007120213D204E554C4C000000712D3E7084 +:10B6300020213D204E554C4C00000000722D3E70E4 +:10B6400020213D204E554C4C000000006172705F7F +:10B650007461626C655B695D2E71203D3D204E55C5 +:10B660004C4C000069203C204152505F5441424CF8 +:10B67000455F53495A4500006E657469662D3E6802 +:10B6800077616464725F6C656E203D3D204554486F +:10B690004152505F4857414444525F4C454E000070 +:10B6A000636865636B207468617420666972737483 +:10B6B00020706275662063616E20686F6C64207311 +:10B6C0007472756374206574686172705F68647207 +:10B6D000000000006172705F7461626C655B695D9F +:10B6E0002E7374617465203D3D2050454E44494E93 +:10B6F00047206F7220535441424C45006E6F2070BA +:10B7000061636B65742071756575657320616C6C20 +:10B710006F77656421000000000000002E2E2F735B +:10B7200072632F534F4654574152455F4652414D25 +:10B7300045574F524B2F53455256494345532F4C73 +:10B740005749502F6C7769702D706F72742D312EA0 +:10B75000332E322F48442F69662F6E657469662F29 +:10B76000776C69662E6300000A09000052580000D9 +:10B7700054580000FFFFFF740000000001FFFFFFAE +:10B780000000FFFFFFFFFF400000000001FFFFFF80 +:10B7900041505000484D4700312E352E312E370094 +:10B7A000312E352E312E3100312E352E312E3400F2 +:10B7B00080017C7C80017C7480017C7C80017C6ABF +:10B7C00080017DCA80017D7880017D2A80017CD83E +:10B7D00080017C86800185D2800185CA800185CA6E +:10B7E000800185D2800185C2800185C2800185BA31 +:10B7F000800185BA02040B0C121618242C30424822 +:10B80000606C0000322E312E312E310078C40E00D3 +:10B81000352E332E31000000352E332E350000003A +:10B82000352E332E340000008001BF808001BF928E +:10B830008001BFA88001BF5A8001BF668001BFD4CC +:10B840008001BF5A8001BFE08001BF5A8001BF5A0A +:10B850008001BF5A8001BF5A8001BF5A8001BF5A80 +:10B860008001BF5A8001BF5A8001BF5A8001BF5A70 +:10B870008001BF5A8001BF5A8001BF5A8001BF5A60 +:10B880008001BF5A8001BF5A8001BF5A8001BF5A50 +:10B890008001BF5A8001BF5A8001BF5A8001BF5A40 +:10B8A0008001BF5A8001BF5A8001BF5A8001BF5A30 +:10B8B0008001BF5A8001BF5A8001BF5A8001BF5A20 +:10B8C0008001BF5A8001BF5A8001BF5A8001BF5A10 +:10B8D0008001BF5A8001BF5A8001BF5A8001BF5A00 +:10B8E0008001BF5A8001BF5A8001BF5A8001BF5AF0 +:10B8F0008001BF5A8001BF5A8001BF5A8001BF5AE0 +:10B900008001BF5A8001BF5A8001BF5A8001BF5ACF +:10B910008001BF5A8001BF5A8001BF5A8001BF5ABF +:10B920008001BF5A8001BF7C8001C0448001BF5AA2 +:10B930008001C0448001BF5A8001C17C8001BF5A90 +:10B940008001C1708001BF5A8001C1648001BF5A6B +:10B950008001BF5A8001BF5A8001BF5A8001C1AC2B +:10B960008001BF5A8001BF5A8001C1A08001BF5A27 +:10B970008001C1948001BF5A8001BF5A8001BF5A23 +:10B980008001BF5A8001BF5A8001BF5A8001BF5A4F +:10B990008001BF5A8001BF5A8001BF5A8001BF5A3F +:10B9A0008001BF5A8001BF5A8001BF5A8001BF5A2F +:10B9B0008001BF5A8001BF5A8001BF5A8001BF5A1F +:10B9C0008001BF5A8001BF5A8001BF5A8001BF5A0F +:10B9D0008001BF5A8001BF5A8001BF5A8001BF5AFF +:10B9E0008001BF5A8001BF5A8001BF5A8001BF5AEF +:10B9F0008001BF5A8001BF5A8001BF5A8001BF5ADF +:10BA00008001BF5A8001BF5A8001BF5A8001BF5ACE +:10BA10008001BF5A8001BF5A8001BF5A8001BF5ABE +:10BA20008001BF5A8001BF5A8001BF5A8001BF5AAE +:10BA30008001BF5A8001BF5A8001BF5A8001BF5A9E +:10BA40008001BF5A8001BF5A8001BF5A8001BF5A8E +:10BA50008001BF5A8001BF5A8001BF5A8001BF5A7E +:10BA60008001BF5A8001BF5A8001BF5A8001BF5A6E +:10BA70008001BF5A8001BF5A8001BF5A8001BF5A5E +:10BA80008001BF5A8001BF5A8001BF5A8001BF5A4E +:10BA90008001BF5A8001BF5A8001BF5A8001BF5A3E +:10BAA0008001BF5A8001BF5A8001BF5A8001BF5A2E +:10BAB0008001BF5A8001BF5A8001BF5A8001BF5A1E +:10BAC0008001BF5A8001BF5A8001BF5A8001BF5A0E +:10BAD0008001BF5A8001BF5A8001BF5A8001BF5AFE +:10BAE0008001BF5A8001BF5A8001BF5A8001BF5AEE +:10BAF0008001BF5A8001BF5A8001BF5A8001BF5ADE +:10BB00008001BF5A8001BF5A8001BF5A8001BF5ACD +:10BB10008001BF5A8001C02C8001C1588001C02C17 +:10BB20008001C02C8001C1888001BF5A8001C044BF +:10BB30008001BF5A8001C0508001BF5A8001C050AF +:10BB40008001BF5A8001C02C8001BF5A8001C02CE7 +:10BB50008001C0388001C0388001C0388001BF5AE0 +:10BB60008001C02C8001C02C8001C14C8001BF5AD3 +:10BB70008001BF5A8001C1408001BF5A8001BF5A75 +:10BB80008001BF5A8001BF5A8001BF5A8001BF5A4D +:10BB90008001BF5A8001BF5A8001BF5A8001BF5A3D +:10BBA0008001C1348001BF5A8001BF5A8001BF5A51 +:10BBB0008001BF5A8001BF5A8001BF5A8001BF5A1D +:10BBC0008001C1288001BF5A8001BF5A8001BF5A3D +:10BBD0008001BF5A8001BF5A8001BF5A8001BF5AFD +:10BBE0008001BF5A8001BF5A8001BF5A8001BF5AED +:10BBF0008001BF5A8001BF5A8001BF5A8001BF5ADD +:10BC00008001BF5A8001BF5A8001BF5A8001BF5ACC +:10BC10008001BF5A8001BF5A8001BF5A8001BF5ABC +:10BC20008001BF5A8001BF5A8001BF5A8001BF5AAC +:10BC30008001BF5A8001BF5A8001BF5A8001BF5A9C +:10BC40008001BF5A8001BF5A8001BF5A8001BF5A8C +:10BC50008001BF5A8001BF5A8001BF5A8001BF5A7C +:10BC60008001BF5A8001BF5A8001BF5A8001BF5A6C +:10BC70008001BF5A8001BF5A8001BF5A8001BF5A5C +:10BC80008001BF5A8001BF5A8001BF5A8001BF5A4C +:10BC90008001BF5A8001BF5A8001BF5A8001BF5A3C +:10BCA0008001BF5A8001BF5A8001BF5A8001BF5A2C +:10BCB0008001BF5A8001BF5A8001BF5A8001BF5A1C +:10BCC0008001BF5A8001BF5A8001BF5A8001BF5A0C +:10BCD0008001BF5A8001BF5A8001BF5A8001BF5AFC +:10BCE0008001BF5A8001BF5A8001BF5A8001BF5AEC +:10BCF0008001BF5A8001BF5A8001BF5A8001BF5ADC +:10BD00008001BF5A8001BF5A8001BF5A8001BF5ACB +:10BD10008001BF5A8001BF5A8001BF5A8001BF5ABB +:10BD20008001BF5A8001BF5A8001BF5A8001BF5AAB +:10BD30008001BF5A8001BF5A8001BF5A8001BF5A9B +:10BD40008001BF5A8001BF5A8001BF5A8001BF5A8B +:10BD50008001BF5A8001BF5A8001BF5A8001BF5A7B +:10BD60008001BF5A8001BF5A8001BF5A8001C11CA7 +:10BD70008001C1108001BF5A8001C1048001BF5AF7 +:10BD80008001BF5A8001BF5A8001C0F88001C0EC19 +:10BD90008001BF5A8001BF5A8001C0E08001BF5AB4 +:10BDA0008001BF5A8001C0D48001C0C88001C0BCDE +:10BDB0008001C0B08001C0A48001C0988001C08C07 +:10BDC0008001BF5A8001C0808001C0748001BF5AC9 +:10BDD0008001C0688001C05C8001C48E8001C47C89 +:10BDE0008001C46A8001C4588001C4468001C43403 +:10BDF0008001C3928001C3928001C4228001C410DB +:10BE00008001C3FE8001C3EC8001C3DA8001C3C896 +:10BE10008001C3B68001C3A48001C3A48001C4A073 +:10BE20008001C2D48001C2D48001C2D48001C5C0C7 +:10BE30008001C5AE8001C59C8001C2D48001C2D4FE +:10BE40008001C58A8001C2D48001C2D48001C57836 +:10BE50008001C5668001C5548001C5428001C5309E +:10BE60008001C51E8001C50C8001C4FA8001C4E8B0 +:10BE70008001C2D48001C4D68001C4C48001C2D470 +:10BE80008001C2D48001C2D48001C2D48001C2D456 +:10BE90008001C2D48001C2D48001C2D48001C2D446 +:10BEA0008001C2D48001C2D48001C2D48001C2D436 +:10BEB0008001C2D48001C2D48001C2D48001C2D426 +:10BEC0008001C2D48001C2D48001C2D48001C2D416 +:10BED0008001C2D48001C2D48001C2D48001C2D406 +:10BEE0008001C2D48001C2D48001C2D48001C2D4F6 +:10BEF0008001C2D48001C2D48001C2D48001C2D4E6 +:10BF00008001C2D48001C2D48001C2D48001C2D4D5 +:10BF10008001C2D48001C2D48001C2D48001C2D4C5 +:10BF20008001C2D48001C2D48001C2D48001C2D4B5 +:10BF30008001C2D48001C2D48001C2D48001C2D4A5 +:10BF40008001C2D48001C2D48001C2D48001C2D495 +:10BF50008001C2D48001C2D48001C2D48001C2D485 +:10BF60008001C2D48001C2D48001C2D48001C2D475 +:10BF70008001C2D48001C2D48001C2D48001C2D465 +:10BF80008001C2D48001C2D48001C2D48001C2D455 +:10BF90008001C2D48001C2D48001C2D48001C2D445 +:10BFA0008001C2D48001C2D48001C2D48001C2D435 +:10BFB0008001C2D48001C2D48001C2D48001C2D425 +:10BFC0008001C2D48001C2D48001C2D48001C2D415 +:10BFD0008001C2D48001C2D48001C2D48001C2D405 +:10BFE0008001C2D48001C2D48001C2D48001C2D4F5 +:10BFF0008001C2D48001C2D48001C2D48001C2D4E5 +:10C000008001C2D48001C2D48001C2D48001C2D4D4 +:10C010008001C4B28001EFCA8001EFCE8001EF7AC7 +:10C020008001EF7A8001EF828001EF8A8001EF9238 +:10C030008001EF9A8001EFA28001EFAA8001EFB2A8 +:10C040008001EFBA8001EFC28001EFD68001F96074 +:10C050008001F93E8001F9CC8001F8A68001F9BE8B +:10C060008001F91C8001F8A68001F8E28001F8A6A1 +:10C070008001F8A68001F8A68001F8A68001F8A644 +:10C080008001F8A68001F8A68001F8A68001F8A634 +:10C090008001F8A68001F8A68001F8A68001F8A624 +:10C0A0008001F8A68001F8A68001F8A68001F8A614 +:10C0B0008001F8A68001F8A68001F8A68001F8A604 +:10C0C0008001F8A68001F8A68001F8A68001F8A6F4 +:10C0D0008001F8A68001F8A68001F8A68001F8A6E4 +:10C0E0008001F8A68001F8A68001F8A68001F8A6D4 +:10C0F0008001F8A68001F8A68001F8A68001F8A6C4 +:10C100008001F8A68001F8A68001F8A68001F8A6B3 +:10C110008001F8A68001F8A68001F8A68001F8A6A3 +:10C120008001F8A68001F8A68001F8A68001F8A693 +:10C130008001F8A68001F8A68001F8A68001F8A683 +:10C140008001F8A68001F8A68001F8C08001FA58A5 +:10C150008001F8F08001F8F08001F90E8001F8F01C +:10C160008001F8F08001F8F08001F8F08001F8F02B +:10C170008001F8F08001F8F08001F8F08001F8F01B +:10C180008001F8F08001F90E8001F8F08001F8F0EC +:10C190008001F8F08001F8F08001F8F08001F8F0FB +:10C1A0008001F8F08001FA488001F8F08001F8F091 +:10C1B0008001F8F08001F8F08001F8F08001F8F0DB +:10C1C0008001F8F08001F8F08001F8F08001F8F0CB +:10C1D0008001F8F08001F8F08001F8F08001F8F0BB +:10C1E0008001F8F08001F8F08001F8F08001F8F0AB +:10C1F0008001F8F08001F8F08001F8F08001F8F09B +:10C200008001F8F08001F8F08001F8F08001F8F08A +:10C210008001F8F08001F8F08001F8F08001F8F07A +:10C220008001F8F08001F8F08001F8F08001F8F06A +:10C230008001F8F08001F8F08001F8F08001F8F05A +:10C240008001F8F08001F8F08001F8F08001F8F04A +:10C250008001F8F08001F8F08001F8F08001F8F03A +:10C260008001F8F08001F8F08001F8F08001F8F02A +:10C270008001F8F08001F8F08001F8F08001F8F01A +:10C280008001F8F08001F8F08001F8F08001F8F00A +:10C290008001F8F08001F8F08001F8F08001F8F0FA +:10C2A0008001F8F08001F8F08001F8F08001F8F0EA +:10C2B0008001F8F08001F8F08001F8F08001F8F0DA +:10C2C0008001F8F08001F8F08001F8F08001F8F0CA +:10C2D0008001F8F08001F8F08001F8F08001F8F0BA +:10C2E0008001F8F08001F8F08001F8F08001F8F0AA +:10C2F0008001F8F08001F8F08001F8F08001F8F09A +:10C300008001F8F08001F8F08001F8F08001F8F089 +:10C310008001F8F08001F8F08001F8F08001F8F079 +:10C320008001F8F08001F8F08001F8F08001F8F069 +:10C330008001F8F08001F8F08001F8F08001F8F059 +:10C340008001F8F08001F8F08001F8F08001F8F049 +:10C350008001F90E8001FA348001F8F08001F90EB5 +:10C360008001F8F08001F8F08001F8F08001F8F029 +:10C370008001F8F08001F8F08001F8F08001F90EFA +:10C380008001F8F08001F8F08001FA2C8001FA2495 +:10C390008001FA1C8001FA148001FA0C8001FA0471 +:10C3A0008001FA408001F8F08001FA5057455F495A +:10C3B0004E445F38303231315F434F4E4E45435427 +:10C3C0004544000057455F494E445F3830323131B3 +:10C3D0005F444953434F4E4E454354494E47000036 +:10C3E00057455F494E445F38303231315F494253DF +:10C3F000535F444953434F4E4E4543544544000018 +:10C40000332E312E322E312E34000000352E3233B1 +:10C4100000000000352E32322E320000352E32322E +:10C420002E310000352E322E39000000352E3138E5 +:10C430002E310000352E31382E320000352E3232AA +:10C440002E340000352E32342E320000352E323498 +:10C450002E310000352E31312E310000352E322E96 +:10C4600032000000352E31362E320000352E3136A6 +:10C470002E310000312E312E312E323200000000DC +:10C48000352E322E31392E3500000000352E322E59 +:10C4900031392E3400000000352E322E31392E3342 +:10C4A00000000000352E322E31392E3200000000FF +:10C4B000352E322E31392E3100000000352E322E2D +:10C4C00031000000352E31312E320000352E313151 +:10C4D0002E330000352E31312E340000352E31310F +:10C4E0002E350000352E31312E360000352E3131FB +:10C4F0002E380000352E31312E37000073736964F9 +:10C500000000000070736B004A756E6B41500000B4 +:10C5100057534300656170005746412D53696D7054 +:10C520006C65436F6E6669672D456E726F6C6C65E6 +:10C53000652D312D300000006964656E7469747971 +:10C54000000000006E7277696669000064656661CC +:10C55000756C740057455F494E445F383032313155 +:10C560005F444953434F4E4E4543544544000000F9 +:10C5700057455F494E445F50414952574953455FC3 +:10C580004D49435F4552524F5200000057455F49A5 +:10C590004E445F47524F55505F4D49435F4552529D +:10C5A0004F52000057455F494E445F43414E444956 +:10C5B000444154455F4C495354000000494E4143A7 +:10C5C0005449564500000000444953434F4E4E45E0 +:10C5D00043544544000000005343414E4E494E47EA +:10C5E000000000004153534F43494154494E470016 +:10C5F0004153534F43494154454400003457415936 +:10C600005F48414E445348414B45000047524F5507 +:10C61000505F48414E445348414B4500434F4D50B5 +:10C620004C45544544000000554E4B4E4F574E006C +:10C630004354524C2D4556454E542D5445524D4968 +:10C640004E4154494E47202D207369676E616C201E +:10C650002564207265636569766564007769726533 +:10C660006400000043616E63656C6C696E672061F5 +:10C67000757468656E7469636174696F6E2074693E +:10C680006D656F75740000005750413A2045415068 +:10C690004F4C2070726F63657373696E6720636FB0 +:10C6A0006D706C657465000043616E63656C6C69E8 +:10C6B0006E67207363616E207265717565737400B7 +:10C6C00052534E3A207573696E672049454545209F +:10C6D0003830322E3131692F44392E3000000000BD +:10C6E0005750413A207573696E672049454545208A +:10C6F0003830322E3131692F44332E3000000000A3 +:10C700005750413A204661696C656420746F20700F +:10C7100061727365205750412049452066726F6DE4 +:10C72000206173736F63696174696F6E20696E66EF +:10C730006F0000005750413A2044726976657220BC +:10C74000757365642064697361626C6564206772E7 +:10C750006F75702063697068657220307825782065 +:10C76000286D61736B203078257829202D20726523 +:10C770006A656374000000005750413A20447269B2 +:10C7800076657220757365642064697361626C6597 +:10C790006420706169727769736520636970686588 +:10C7A00072203078257820286D61736B20307825D1 +:10C7B0007829202D2072656A656374005750413ACC +:10C7C00020447269766572207573656420646973AC +:10C7D00061626C6564206B6579206D616E6167656F +:10C7E0006D656E74203078257820286D61736B201C +:10C7F0003078257829202D2072656A6563740000E1 +:10C800005750413A207573696E672047544B204357 +:10C81000434D50005750413A207573696E67204769 +:10C82000544B20544B4950005750413A207573697E +:10C830006E672047544B205745503130340000007C +:10C840005750413A207573696E672047544B205703 +:10C8500045503430000000005750413A207573694C +:10C860006E672050544B2043434D50005750413A7F +:10C87000207573696E672050544B20544B4950000B +:10C880005750413A207573696E672050544B204EC3 +:10C890004F4E45005750413A207573696E67204BE3 +:10C8A00045595F4D474D54203830322E31580000E5 +:10C8B0005750413A207573696E67204B45595F4D5B +:10C8C000474D54205750412D50534B005750413A3B +:10C8D000207573696E67204B45595F4D474D542055 +:10C8E0005750412D4E4F4E45000000005750413AE1 +:10C8F000204661696C656420746F2073656C6563A4 +:10C9000074205750412F52534E0000004661696C0D +:10C91000656420746F20706172736520746865208F +:10C92000636F6E66696775726174696F6E206669A0 +:10C930006C652027257327202D2065786974696E22 +:10C94000670000005265636F6E6669677572617497 +:10C95000696F6E20636F6D706C65746564000000B4 +:10C9600053657474696E672061757468656E746967 +:10C97000636174696F6E2074696D656F75743A20B8 +:10C98000256420736563202564207573656300004A +:10C9900053657474696E67207363616E207265718C +:10C9A000756573743A2025642073656320256420BF +:10C9B000757365630000000041757468656E746985 +:10C9C000636174696F6E20776974682025303278EE +:10C9D0003A253032783A253032783A253032783A72 +:10C9E000253032783A253032782074696D656420BC +:10C9F0006F75742E00000000547279696E672074A0 +:10CA00006F206173736F63696174652077697468FF +:10CA100020253032783A253032783A253032783A4B +:10CA2000253032783A253032783A2530327820284D +:10CA3000535349443D2725732720667265713D2570 +:10CA400064204D487A290000547279696E67207419 +:10CA50006F206173736F63696174652077697468AF +:10CA60002053534944202725732700004173736FD7 +:10CA700063696174696F6E20726571756573742086 +:10CA8000746F2074686520647269766572206661CF +:10CA9000696C6564000000007770615F7375707089 +:10CAA0006C6963616E742076302E352E31300A4306 +:10CAB0006F7079726967687420286329203230307A +:10CAC000332D323030382C204A6F756E69204D611D +:10CAD0006C696E656E203C6A4077312E66693E2037 +:10CAE000616E6420636F6E7472696275746F7273C5 +:10CAF00000000000546869732070726F6772616D86 +:10CB0000206973206672656520736F667477617241 +:10CB1000652E20596F752063616E2064697374728D +:10CB2000696275746520697420616E642F6F72206C +:10CB30006D6F646966792069740A756E6465722028 +:10CB4000746865207465726D73206F662074686503 +:10CB500020474E552047656E6572616C20507562A6 +:10CB60006C6963204C6963656E73652076657273CA +:10CB7000696F6E20322E0A0A416C7465726E6174A0 +:10CB80006976656C792C207468697320736F66749C +:10CB900077617265206D61792062652064697374C4 +:10CBA0007269627574656420756E6465722074685C +:10CBB00065207465726D73206F66207468650A4223 +:10CBC0005344206C6963656E73652E205365652040 +:10CBD000524541444D4520616E6420434F505949B0 +:10CBE0004E4720666F72206D6F72652064657461B8 +:10CBF000696C732E0A0000002530325800000000D6 +:10CC00008003C4FC80024A908002490000000010AA +:10CC100000000014000000000000002000000000E0 +:10CC20008003D3EC80024DF0800248880000006051 +:10CC300000000000000000000000000100000000F3 +:10CC40008003D3F880024DCC800248280000000009 +:10CC500000000000000000000000000000000000D4 +:10CC60008003C50480024D00800248C4000000001B +:10CC700000000000000000000000000000000001B3 +:10CC80008003D4008002408C800247A8000000008E +:10CC90000000000000000000000000000000000094 +:10CCA0008003D40880023F448002467C00000000DC +:10CCB0000000000000000000000000000000000074 +:10CCC0008003D41480023F188002466C00000000EC +:10CCD0000000000000000000000000000000000054 +:10CCE0008003D42080023EEC8002465C00000000FD +:10CCF0000000000000000000000000000000000034 +:10CD00008003D42880023CA4800244740000000008 +:10CD10000000000000000000000000000000000013 +:10CD20008003C51480024B9080024B00000000007D +:10CD300000000000000000000000000000000000F3 +:10CD40008003C53880024A908002490000000068D4 +:10CD50000000006C00000000000000000000000067 +:10CD60008003D43480024A908002490000000070A1 +:10CD7000000000740000000000000000000000003F +:10CD80008003D44880024A90800249000000007865 +:10CD90000000007C000000100000002000000001E6 +:10CDA0008003D45080024A90800249000000008035 +:10CDB00000000084000000000000000000000000EF +:10CDC0008003D45480024A90800249000000008809 +:10CDD0000000008C000000000000000000000001C6 +:10CDE0008003D46080024A908002490000000090D5 +:10CDF0000000000000000000000000000000000033 +:10CE00008003D46880024A908002490000000094A8 +:10CE10000000000000000000000000000000000012 +:10CE20008003D47080024A9080024900000000987C +:10CE300000000000000000000000000000000000F2 +:10CE40008003D47C80024A90800249000000009C4C +:10CE500000000000000000000000000000000000D2 +:10CE60008003D48880024A9080024900000000A01C +:10CE700000000000000000000000000000000001B1 +:10CE80008003D49C80024A9080024900000000A4E4 +:10CE90000000000000000000000000000000000092 +:10CEA0008003D4A480024A9080024900000000A8B8 +:10CEB0000000000000000000000000000000000072 +:10CEC0008003D4B480024A9080024900000000AC84 +:10CED0000000000000000000000000000000000052 +:10CEE0008003D4C880024A9080024900000000B04C +:10CEF0000000000000000000000000000000000032 +:10CF00008003D4D480024A9080024900000000B41B +:10CF10000000000000000000000000000000000011 +:10CF20008003D4E080024A9080024900000000B8EB +:10CF300000000000000000000000000000000000F1 +:10CF40008003D4F080024A9080024900000000BCB7 +:10CF500000000000000000000000000000000000D1 +:10CF60008003D50080024A9080024900000000C082 +:10CF700000000000000000000000000000000001B0 +:10CF80008003D51480024A9080024900000000C44A +:10CF90000000000000000000000000000000000091 +:10CFA0008003D52080024A9080024900000000C81A +:10CFB0000000000000000000000000000000000071 +:10CFC0008003D53080024A9080024900000000CCE6 +:10CFD0000000000000000000000000000000000051 +:10CFE0008003D54480024A9080024900000000D4AA +:10CFF0000000000000000000000000000000000031 +:10D000008003D54C80024A9080024900000000D87D +:10D010000000000000000000000000000000000010 +:10D020008003D55480024A9080024900000000DC51 +:10D0300000000000000000000000000000000000F0 +:10D040008003D55C80024A9080024900000000E025 +:10D0500000000000000000000000000000000001CF +:10D060008003D56080024A9080024900000000E8F9 +:10D0700000000000000000000000000000000000B0 +:10D080008003D56C80024A9080024900000000ECC9 +:10D090000000000000000000000000000000000090 +:10D0A0008003D65C80024DF080024888000000E4D6 +:10D0B0000000000000000000000000000000000070 +:10D0C0008003D57480024DF080024888000000F093 +:10D0D0000000000000000000000000000000000050 +:10D0E0008003D58080024A78800244580000000006 +:10D0F000000000000000000000000000000000012F +:10D100008003D58C80024A608002443C000000000D +:10D11000000000000000000000000000000000010E +:10D120008003D59880024A48800244200000000015 +:10D1300000000000000000000000000000000001EE +:10D140008003D5A480024A3080024404000000001D +:10D1500000000000000000000000000000000001CE +:10D160008003D5B080024DF0800248880000014461 +:10D1700000000000000000000000000000000000AF +:10D180008003D5C080024DF0800248880000000C6A +:10D19000000000000000000000000000000000008F +:10D1A0008003D5CC80024DF0800248880000017CCD +:10D1B000000000000000000000000000000000006F +:10D1C0008003D5DC80024A90800249000000018083 +:10D1D000000000000000000000000000000000004F +:10D1E0008003D5E880024DF0800248880000019C51 +:10D1F000000000000000000000000000000000002F +:10D200008003D5F880024DF0800248880000018438 +:10D21000000000000000000000000001000000000D +:10D220008003D60080024DF0800248880000006430 +:10D2300000000000000000000000000200000000EC +:10D240008003D60880024DF0800248880000014823 +:10D2500000000000000000000000000100000000CD +:10D260008003D62080024DF080024888000001949F +:10D2700000000000000000000000000100000000AD +:10D280008003D62C80024A9080024900000001A051 +:10D29000000000000000000000000000000000008E +:10D2A0008003D63480024DF0800248880000019847 +:10D2B000000000000000000000000001000000006D +:10D2C0008003D63C80024DF0800248880000014C6B +:10D2D000000000000000000000000001000000004D +:10D2E0008003D64880024DF080024888000001A4E7 +:10D2F00000000000000000000000271000000000F7 +:10D300002A0000004F50454E000000005348415293 +:10D31000454400004C454150000000005745503145 +:10D320003034000057455034300000005750412D34 +:10D3300045415000494545453830323158000000DC +:10D340005750410052534E005750413200000000E8 +:10D3500025734F50454E00002573534841524544B4 +:10D360000000000025734C454150000025734343E5 +:10D370004D5000002573544B49500000257357450C +:10D3800050313034000000002573574550343000D0 +:10D3900025734E4F4E45000025735750412D505375 +:10D3A0004B00000025735750412D454150000000AF +:10D3B000257349454545383032315800257357505B +:10D3C000412D4E4F4E45000025735750410000003F +:10D3D000257352534E0000007765705F6B657925A9 +:10D3E0006400000025732573000000007363616E04 +:10D3F0005F73736964000000627373696400000006 +:10D4000070726F746F0000006B65795F6D676D748B +:10D4100000000000706169727769736500000000A8 +:10D4200067726F7570000000617574685F616C678A +:10D4300000000000616E6F6E796D6F75735F6964D7 +:10D44000656E74697479000065617070736B0000BB +:10D450006E61690070617373776F72640000000021 +:10D4600063615F636572740063615F70617468001B +:10D47000636C69656E745F6365727400707269765F +:10D480006174655F6B657900707269766174655F60 +:10D490006B65795F706173737764000064685F66C1 +:10D4A000696C65007375626A6563745F6D6174634E +:10D4B00068000000616C747375626A6563745F6D07 +:10D4C000617463680000000063615F6365727432B9 +:10D4D0000000000063615F7061746832000000004A +:10D4E000636C69656E745F6365727432000000007E +:10D4F000707269766174655F6B6579320000000057 +:10D50000707269766174655F6B6579325F706173A3 +:10D510007377640064685F66696C653200000000C0 +:10D520007375626A6563745F6D617463683200006D +:10D53000616C747375626A6563745F6D617463684E +:10D5400032000000706861736531000070686173BB +:10D5500065320000706373630000000070696E0044 +:10D56000656E67696E655F69640000006B65795F71 +:10D57000696400006561706F6C5F666C6167730061 +:10D580007765705F6B657930000000007765705FCC +:10D590006B657931000000007765705F6B657932EB +:10D5A000000000007765705F6B6579330000000054 +:10D5B0007765705F74785F6B6579696478000000E7 +:10D5C0007072696F72697479000000006561705F44 +:10D5D000776F726B61726F756E6400007061635F6C +:10D5E00066696C6500000000667261676D656E7447 +:10D5F0005F73697A650000006D6F6465000000006C +:10D600007573655F7770730070726F6163746976AC +:10D61000655F6B65795F63616368696E67000000D1 +:10D6200064697361626C65640000000069645F7323 +:10D6300074720000706565726B6579006D6978655C +:10D64000645F63656C6C00006672657175656E631E +:10D6500079000000888E000077696669656E6769E9 +:10D660006E65000057694669456E67696E65000022 +:10D670008003D6588003D664800254C880025420A8 +:10D6800080024F98800252E0800253E8800254A446 +:10D690000000000080024F9A800252C880024F941E +:10D6A00080024F96800252B08002529880024F9CB6 +:10D6B00080024F9E8002523C800251E0800251D491 +:10D6C000800251AC00000000000000008002518088 +:10D6D00080024FF480024FD00000000000000000E4 +:10D6E000000000000000000000000000000000003A +:10D6F000000000000000000080024FA08002564E93 +:10D700008002564A80025646800256408002563CAD +:10D7100080025636800256328002562C80025626EF +:10D72000800256928002568C800256888002568271 +:10D730008002567C80025676800256728002566CB9 +:10D740008002566680025B3480025C0880025BE0E7 +:10D7500080025BBA80025BA080025B3480025B3493 +:10D7600080025B3480025DC280025E3A80025E12FB +:10D7700080025D8E80025CC280025AF680025DF4F7 +:10D7800080025DCE800268DC80026AA280026A00AC +:10D7900080026904800268F2800269EE800268DC1F +:10D7A000800268DC800268E8800268E8800268E83D +:10D7B000696E76616C696461746500004354524C13 +:10D7C0002D4556454E542D4541502D535543434507 +:10D7D0005353204541502061757468656E746963C8 +:10D7E0006174696F6E20636F6D706C657465642021 +:10D7F0007375636365737366756C6C7920286261F9 +:10D80000736564206F6E206C6F776572206C617930 +:10D810006572207375636365737329004354524CBA +:10D820002D4556454E542D4541502D5355434345A6 +:10D830005353204541502061757468656E74696367 +:10D840006174696F6E20636F6D706C6574656420C0 +:10D850007375636365737366756C6C7900000000A3 +:10D860004354524C2D4556454E542D4541502D465E +:10D8700041494C55524520454150206175746865B9 +:10D880006E7469636174696F6E206661696C65644A +:10D8900000000000494E495449414C495A45000096 +:10D8A0004541503A206D6F7265207468616E202585 +:10D8B000642061757468656E7469636174696F6E04 +:10D8C00020726F756E6473202D2061626F72740018 +:10D8D0004354524C2D4556454E542D4541502D4EE6 +:10D8E0004F54494649434154494F4E2000000000DF +:10D8F0004354524C2D4556454E542D4541502D53C1 +:10D900005441525445442045415020617574686526 +:10D910006E7469636174696F6E207374617274658B +:10D92000640000004745545F4D4554484F44000093 +:10D930004541503A204661696C656420746F2069E6 +:10D940006E697469616C697A6520454150206D6526 +:10D9500074686F643A2076656E646F722025752056 +:10D960006D6574686F642025752028257329000073 +:10D970004354524C2D4556454E542D4541502D4D46 +:10D980004554484F44204541502076656E646F727F +:10D99000202575206D6574686F6420257520282505 +:10D9A00073292073656C656374656400454150207C +:10D9B0006465696E697400008002794480027ADAD5 +:10D9C00080027B5880027BA280027CC880027CD2CD +:10D9D00080027AC45750413A20544B495020636F1B +:10D9E000756E7465726D656173757265732073749D +:10D9F0006F707065640000004173736F63696174D8 +:10DA0000656420746F2061206E6577204253533A1D +:10DA10002042535349443D253032783A25303278FC +:10DA20003A253032783A253032783A253032783A11 +:10DA300025303278000000004173736F63696174B0 +:10DA40006564207769746820253032783A25303251 +:10DA5000783A253032783A253032783A25303278A3 +:10DA60003A253032780000005750413A20342D5783 +:10DA700061792048616E647368616B6520666169D5 +:10DA80006C6564202D207072652D73686172656409 +:10DA9000206B6579206D617920626520696E636F06 +:10DAA00072726563740000004354524C2D45564514 +:10DAB0004E542D444953434F4E4E45435445442004 +:10DAC0002D20446973636F6E6E656374206576659F +:10DAD0006E74202D2072656D6F7665206B6579738D +:10DAE000000000004D69636861656C204D4943206A +:10DAF0006661696C757265206465746563746564DC +:10DB000000000000544B495020636F756E746572BD +:10DB10006D65617375726573207374617274656489 +:10DB200000000000000000080000000600000006E1 +:10DB3000496E646578202F204141202F20504D4BA5 +:10DB40004944202F2065787069726174696F6E2076 +:10DB500028696E207365636F6E647329202F206FB0 +:10DB600070706F7274756E69737469630A00000077 +:10DB7000256420253032783A253032783A25303203 +:10DB8000783A253032783A253032783A2530327872 +:10DB9000200000002025642025640A00504D4B2001 +:10DBA0004E616D650000000052534E3A207374615F +:10DBB0007274696E67207072652D61757468656E28 +:10DBC0007469636174696F6E2077697468202530A9 +:10DBD00032783A253032783A253032783A25303268 +:10DBE000783A253032783A253032780052534E3A1E +:10DBF0002070726F63657373696E6720504D4B536D +:10DC0000412063616E646964617465206C6973743A +:10DC10000000000052534E3A206E6F7420696E204F +:10DC20007375697461626C652073746174652066D4 +:10DC30006F72206E6577207072652D6175746865EE +:10DC40006E7469636174696F6E00000052534E3ADE +:10DC500020504D4B53412063616E6469646174656B +:10DC600020253032783A253032783A253032783AE9 +:10DC7000253032783A253032783A253032782073A0 +:10DC8000656C656374656420666F72207072652DC3 +:10DC900061757468656E7469636174696F6E0000A4 +:10DCA00052534E3A20504D4B53412063616E64698C +:10DCB0006461746520253032783A253032783A250F +:10DCC0003032783A253032783A253032783A253079 +:10DCD000327820646F6573206E6F74206E656564A2 +:10DCE000207072652D61757468656E746963617406 +:10DCF000696F6E20616E796D6F72650052534E3A96 +:10DD0000206E6F206D6F72652070656E64696E673E +:10DD100020504D4B53412063616E646964617465AA +:10DD20007300000052534E3A2061646465642050D1 +:10DD30004D4B53412063616368652063616E646984 +:10DD40006461746520253032783A253032783A257E +:10DD50003032783A253032783A253032783A2530E8 +:10DD60003278207072696F202564000052534E3A59 +:10DD7000207072652D61757468656E746963617475 +:10DD8000696F6E207769746820253032783A2530C3 +:10DD900032783A253032783A253032783A253032A6 +:10DDA000783A253032782074696D6564206F757417 +:10DDB00000000000636F6D706C657465642073759E +:10DDC000636365737366756C6C79000052534E3AE9 +:10DDD000206661696C656420746F20676574206DCE +:10DDE00061737465722073657373696F6E206B6500 +:10DDF000792066726F6D207072652D617574682070 +:10DE00004541504F4C207374617465206D616368A7 +:10DE1000696E65730000000052534E3A20707265BF +:10DE20002D61757468656E7469636174696F6E20C5 +:10DE30007769746820253032783A253032783A256F +:10DE40003032783A253032783A253032783A2530F7 +:10DE50003278202573000000800000008002B51C8D +:10DE60008002B50A8002B5008002B4FA8002B4F4E0 +:10DE70008002B4EE8002B4E8000FAC010050F20260 +:10DE8000000FAC02000FAC01000FAC050050F20215 +:10DE9000000FAC040050F2010050F2010050F201FA +:10DEA0000050F2050050F200000FAC00000FAC0370 +:10DEB0000050F200000FAC0449454545203830328F +:10DEC0002E315820286E6F20575041290000000045 +:10DED0005750412F49454545203830322E31582F73 +:10DEE00045415000575041322F4945454520383073 +:10DEF000322E31582F45415000000000575041321A +:10DF00002D50534B000000005745502D3430000079 +:10DF10005745502D313034007061697277697365EF +:10DF20005F6369706865723D25730A67726F75700B +:10DF30005F6369706865723D25730A6B65795F6D13 +:10DF4000676D743D25730A005750413A20257320B0 +:10DF5000287372633D253032783A253032783A257D +:10DF60003032783A253032783A253032783A2530D6 +:10DF7000327829005750413A204B6579206E656709 +:10DF80006F74696174696F6E20636F6D706C657416 +:10DF90006564207769746820253032783A253032FC +:10DFA000783A253032783A253032783A253032784E +:10DFB0003A25303278205B50544B3D25732047542E +:10DFC0004B3D25735D0000005750413A20496E7665 +:10DFD000616C6964204541504F4C2D4B657920663A +:10DFE00072616D65202D206B65795F6461746120BD +:10DFF0006F766572666C6F7720282564203E202539 +:10E000006C752900494520696E20332F34206D73CB +:10E010006720646F6573206E6F74206D6174636830 +:10E02000207769746820494520696E2042656163E4 +:10E030006F6E2F50726F62655265737020286E6F1D +:10E040002049453F29000000494520696E20332FB3 +:10E0500034206D736720646F6573206E6F74206D5C +:10E0600061746368207769746820494520696E206F +:10E07000426561636F6E2F50726F62655265737097 +:10E0800000000000506F737369626C6520646F77E5 +:10E090006E67726164652061747461636B2064658E +:10E0A000746563746564202D2052534E207761732C +:10E0B00020656E61626C656420616E642052534E0F +:10E0C0002049452077617320696E206D7367203386 +:10E0D0002F342C20627574206E6F7420696E20427C +:10E0E0006561636F6E2F50726F6265526573700069 +:10E0F0005750413A204661696C656420746F20670F +:10E100006574206D61737465722073657373696FD4 +:10E110006E206B65792066726F6D204541504F4CC3 +:10E12000207374617465206D616368696E65730046 +:10E130005750413A204B65792068616E647368617D +:10E140006B652061626F7274656400005750413ADC +:10E15000204661696C656420746F20676574207265 +:10E16000616E646F6D206461746120666F7220530C +:10E170004E6F6E6365000000506169727769736568 +:10E18000206B657920657870616E73696F6E000031 +:10E190005750413A2047726F75702072656B6579F0 +:10E1A000696E6720636F6D706C6574656420776954 +:10E1B000746820253032783A253032783A2530326A +:10E1C000783A253032783A253032783A253032782C +:10E1D000205B47544B3D25735D00000000000000AC +:10E1E000000000000050F204000FAC02000FAC0170 +:10E1F00052096AD53036A538BF40A39E81F3D7FBBC +:10E200007CE339829B2FFF87348E4344C4DEE9CB05 +:10E21000547B9432A6C2233DEE4C950B42FAC34E7A +:10E22000082EA16628D924B2765BA2496D8BD12530 +:10E2300072F8F66486689816D4A45CCC5D65B692D4 +:10E240006C704850FDEDB9DA5E154657A78D9D8478 +:10E2500090D8AB008CBCD30AF7E45805B8B3450698 +:10E26000D02C1E8FCA3F0F02C1AFBD0301138A6BB2 +:10E270003A9111414F67DCEA97F2CFCEF0B4E673E2 +:10E2800096AC7422E7AD3585E2F937E81C75DF6E90 +:10E2900047F11A711D29C5896FB7620EAA18BE1BF6 +:10E2A000FC563E4BC6D279209ADBC0FE78CD5AF49C +:10E2B0001FDDA8338807C731B11210592780EC5FE2 +:10E2C00060517FA919B54A0D2DE57A9F93C99CEF3E +:10E2D000A0E03B4DAE2AF5B0C8EBBB3C835399613F +:10E2E000172B047EBA77D626E169146355210C7D7D +:10E2F00001020408102040801B36000051F4A75092 +:10E300007E4165531A17A4C33A275E963BAB6BCB8D +:10E310001F9D45F1ACFA58AB4BE303932030FA55FF +:10E32000AD766DF688CC7691F5024C254FE5D7FC9D +:10E33000C52ACBD726354480B562A38FDEB15A49B2 +:10E3400025BA1B6745EA0E985DFEC0E1C32F750232 +:10E35000814CF0128D4697A36BD3F9C6038F5FE70C +:10E3600015929C95BF6D7AEB955259DAD4BE832DE8 +:10E37000587421D349E069298EC9C84475C2896A95 +:10E38000F48E797899583E6B27B971DDBEE14FB6AE +:10E39000F088AD17C920AC667DCE3AB463DF4A1869 +:10E3A000E51A31829751336062537F45B16477E05B +:10E3B000BB6BAE84FE81A01CF9082B947048685892 +:10E3C0008F45FD1994DE6C87527BF8B7AB73D3236E +:10E3D000724B02E2E31F8F576655AB2AB2EB280758 +:10E3E0002FB5C20386C57B9AD33708A5302887F29C +:10E3F00023BFA5B202036ABAED16825C8ACF1C2B3A +:10E40000A779B492F307F2F04E69E2A165DAF4CD90 +:10E410000605BED5D134621FC4A6FE8A342E539D94 +:10E42000A2F355A0058AE132A4F6EB750B83EC3913 +:10E430004060EFAA5E719F06BD6E10513E218AF9C1 +:10E4400096DD063DDD3E05AE4DE6BD4691548DB5EB +:10E4500071C45D050406D46F605015FF1998FB2444 +:10E46000D6BDE997894043CC67D99E77B0E842BDD5 +:10E4700007898B88E7195B3879C8EEDBA17C0A47EE +:10E480007C420FE9F8841EC90000000009808683E1 +:10E49000322BED481E1170AC6C5A724EFD0EFFFB14 +:10E4A0000F8538563DAED51E362D39270A0FD96453 +:10E4B000685CA6219B5B54D124362E3A0C0A67B1C6 +:10E4C0009357E70FB4EE96D21B9B919E80C0C54F29 +:10E4D00061DC20A25A774B691C121A16E293BA0A21 +:10E4E000C0A02AE53C22E043121B171D0E090D0BAC +:10E4F000F28BC7AD2DB6A8B9141EA9C857F119855E +:10E50000AF75074CEE99DDBBA37F60FDF701269F39 +:10E510005C72F5BC44663BC55BFB7E348B4329765D +:10E52000CB23C6DCB6EDFC68B8E4F163D731DCCAB6 +:10E53000426385101397224084C61120854A247DAA +:10E54000D2BB3DF8AEF93211C729A16D1D9E2F4BEC +:10E55000DCB230F30D8652EC77C1E3D02BB3166CEE +:10E56000A970B999119448FA47E96422A8FC8CC4AF +:10E57000A0F03F1A567D2CD8223390EF87494EC722 +:10E58000D938D1C18CCAA2FE98D40B36A6F581CF5A +:10E59000A57ADE28DAB78E263FADBFA42C3A9DE4DB +:10E5A0005078920D6A5FCC9B547E4662F68D13C202 +:10E5B00090D8B8E82E39F75E82C3AFF59F5D80BE74 +:10E5C00069D0937C6FD52DA9CF2512B3C8AC993BE8 +:10E5D00010187DA7E89C636EDB3BBB7BCD267809DA +:10E5E0006E5918F4EC9AB701834F9AA8E6956E65B8 +:10E5F000AAFFE67E21BCCF08EF15E8E6BAE79BD973 +:10E600004A6F36CEEA9F09D429B07CD631A4B2AF86 +:10E610002A3F2331C6A5943035A266C0744EBC375C +:10E62000FC82CAA6E090D0B033A7D815F104984A6E +:10E6300041ECDAF77FCD500E1791F62F764DD68D3F +:10E6400043EFB04DCCAA4D54E49604DF9ED1B5E320 +:10E650004C6A881BC12C1FB84665517F9D5EEA0439 +:10E66000018C355DFA877473FB0B412EB3671D5A1D +:10E6700092DBD252E91056336DD647139AD7618C8C +:10E6800037A10C7A59F8148EEB133C89CEA927EEEA +:10E69000B761C935E11CE5ED7A47B13C9CD2DF5941 +:10E6A00055F2733F1814CE7973C737BF53F7CDEACD +:10E6B0005FFDAA5BDF3D6F147844DB86CAAFF38150 +:10E6C000B968C43E3824342CC2A3405F161DC372FF +:10E6D000BCE2250C283C498BFF0D954139A80171FE +:10E6E000080CB3DED8B4E49C6456C1907BCB846143 +:10E6F000D532B670486C5C74D0B85742C66363A517 +:10E70000F87C7C84EE777799F67B7B8DFFF2F20DB7 +:10E71000D66B6BBDDE6F6FB191C5C55460303050A4 +:10E7200002010103CE6767A9562B2B7DE7FEFE1978 +:10E73000B5D7D7624DABABE6EC76769A8FCACA45B1 +:10E740001F82829D89C9C940FA7D7D87EFFAFA153B +:10E75000B25959EB8E4747C9FBF0F00B41ADADEC18 +:10E76000B3D4D4675FA2A2FD45AFAFEA239C9CBFA0 +:10E7700053A4A4F7E47272969BC0C05B75B7B7C28E +:10E78000E1FDFD1C3D9393AE4C26266A6C36365A4D +:10E790007E3F3F41F5F7F70283CCCC4F6834345CC1 +:10E7A00051A5A5F4D1E5E534F9F1F108E2717193D1 +:10E7B000ABD8D873623131532A15153F0804040CC5 +:10E7C00095C7C752462323659DC3C35E30181828DA +:10E7D000379696A10A05050F2F9A9AB50E070709D5 +:10E7E000241212361B80809BDFE2E23DCDEBEB264C +:10E7F0004E2727697FB2B2CDEA75759F1209091BB2 +:10E800001D83839E582C2C74341A1A2E361B1B2DF4 +:10E81000DC6E6EB2B45A5AEE5BA0A0FBA45252F664 +:10E82000763B3B4DB7D6D6617DB3B3CE5229297B1B +:10E83000DDE3E33E5E2F2F7113848497A65353F5D7 +:10E84000B9D1D16800000000C1EDED2C402020605E +:10E85000E3FCFC1F79B1B1C8B65B5BEDD46A6ABE5C +:10E860008DCBCB4667BEBED97239394B944A4ADE4E +:10E87000984C4CD4B05858E885CFCF4ABBD0D06B19 +:10E88000C5EFEF2A4FAAAAE5EDFBFB16864343C569 +:10E890009A4D4DD766333355118585948A4545CFBA +:10E8A000E9F9F91004020206FE7F7F81A05050F0C2 +:10E8B000783C3C44259F9FBA4BA8A8E3A25151F352 +:10E8C0005DA3A3FE804040C0058F8F8A3F9292AD2A +:10E8D000219D9DBC70383848F1F5F50463BCBCDF60 +:10E8E00077B6B6C1AFDADA75422121632010103055 +:10E8F000E5FFFF1AFDF3F30EBFD2D26D81CDCD4CF3 +:10E90000180C0C1426131335C3ECEC2FBE5F5FE11B +:10E91000359797A2884444CC2E17173993C4C4570F +:10E9200055A7A7F2FC7E7E827A3D3D47C86464AC61 +:10E93000BA5D5DE73219192BE6737395C06060A06C +:10E94000198181989E4F4FD1A3DCDC7F442222663F +:10E95000542A2A7E3B9090AB0B8888838C4646CA0B +:10E96000C7EEEE296BB8B8D32814143CA7DEDE79C5 +:10E97000BC5E5EE2160B0B1DADDBDB76DBE0E03B45 +:10E9800064323256743A3A4E140A0A1E924949DBEE +:10E990000C06060A4824246CB85C5CE49FC2C25D85 +:10E9A000BDD3D36E43ACACEFC46262A6399191A8DB +:10E9B000319595A4D3E4E437F279798BD5E7E73242 +:10E9C0008BC8C8436E373759DA6D6DB7018D8D8CA2 +:10E9D000B1D5D5649C4E4ED249A9A9E0D86C6CB48F +:10E9E000AC5656FAF3F4F407CFEAEA25CA6565AFE8 +:10E9F000F47A7A8E47AEAEE9100808186FBABAD525 +:10EA0000F07878884A25256F5C2E2E72381C1C24DD +:10EA100057A6A6F173B4B4C797C6C651CBE8E8238E +:10EA2000A1DDDD7CE874749C3E1F1F21964B4BDDFD +:10EA300061BDBDDC0D8B8B860F8A8A85E07070907E +:10EA40007C3E3E4271B5B5C4CC6666AA904848D8B3 +:10EA500006030305F7F6F6011C0E0E12C26161A350 +:10EA60006A35355FAE5757F969B9B9D017868691BF +:10EA700099C1C1583A1D1D27279E9EB9D9E1E13899 +:10EA8000EBF8F8132B9898B322111133D26969BBB4 +:10EA9000A9D9D970078E8E89339494A72D9B9BB6E4 +:10EAA0003C1E1E2215878792C9E9E92087CECE49F0 +:10EAB000AA5555FF50282878A5DFDF7A038C8C8F64 +:10EAC00059A1A1F8098989801A0D0D1765BFBFDA10 +:10EAD000D7E6E631844242C6D06868B8824141C375 +:10EAE000299999B05A2D2D771E0F0F117BB0B0CBFD +:10EAF000A85454FC6DBBBBD62C16163A002020201F +:10EB000020202020202028282828282020202020DD +:10EB100020202020202020202020202020881010AD +:10EB20001010101010101010101010101004040409 +:10EB300004040404040404101010101010104141C7 +:10EB400041414141010101010101010101010101B5 +:10EB500001010101010101011010101010104242C9 +:10EB60004242424202020202020202020202020285 +:10EB70000202020202020202101010102000000025 +:10EB80000000000000000000000000000000000085 +:10EB90000000000000000000000000000000000075 +:10EBA0000000000000000000000000000000000065 +:10EBB0000000000000000000000000000000000055 +:10EBC0000000000000000000000000000000000045 +:10EBD0000000000000000000000000000000000035 +:10EBE0000000000000000000000000000000000025 +:10EBF0000000000000000000000000000000000015 +:10EC00002D2D0000504F5349584C595F434F5252DD +:10EC10004543540025733A206F7074696F6E20600D +:10EC200025732720697320616D626967756F75733D +:10EC30002028636F756C6420626520602D2D25731C +:10EC400027206F7220602D2D257327290A000000D0 +:10EC500025733A20696E76616C6964206F707469FF +:10EC60006F6E202D2D20602D2563270A00000000E7 +:10EC700025733A20617267756D656E7420726571D7 +:10EC8000756972656420666F72206F7074696F6E4B +:10EC9000206000002D2D2573270A00002D256327F5 +:10ECA0000A00000043000000000004A88002F4668F +:10ECB0008002F4888002F2B08002F2E88002F4520E +:10ECC0008002F4508002F3FE8002F4268002F3DC1E +:10ECD0008002F3DC8002F3CC8002F3DC8002F3EAF2 +:10ECE0008002F3EA8002F3DC3030303030303030F4 +:10ECF000303030303030303001020B040B0506016B +:10ED00000B01020B040B0506010B0B0B03040B0597 +:10ED10000B0B0B0B0B0B040B050B0B0B0B0B0B0B50 +:10ED20000B0B0B0B0B05080B040B0B070B0B0B0949 +:10ED30000B040B050B0B0B0B0A0B040B0B0B0B0B38 +:10ED40000B0B0B040B0B0B0B0B0B0B030B0B0B0B22 +:10ED50000B0B0B0B080B0B0B0B0B0B00000000003D +:10ED6000000000000001000304000000000001009A +:10ED7000030400000000000007030400000000007E +:10ED80000000030400000000000000000400000078 +:10ED90000000020003040000000000010005060559 +:10EDA0000000000001000506000000000000000354 +:10EDB0000400000000000008000000000000000047 +:10EDC000080000000000000000000000000000003B +:10EDD0003031323334353637383941424344454691 +:10EDE0000000000030313233343536373839616253 +:10EDF0006364656600000000202020202020202081 +:10EE000020202020202020200808080808080808C2 +:10EE10000808080808080808080808080808080872 +:10EE2000080808080808080807080807020808076B +:10EE30000808060708070508000101010101010192 +:10EE40000101080808080808080408040404040468 +:10EE50000808080803080804080808040804080843 +:10EE6000040808080808080808040804040404043E +:10EE70000304030803080404040308040304080843 +:10EE8000040803080808080808080808080808080B +:10EE900008080808080808080808080808080808F2 +:10EEA00008080808080808080808080808080808E2 +:10EEB00008080808080808080808080808080808D2 +:10EEC00008080808080808080808080808080808C2 +:10EED00008080808080808080808080808080808B2 +:10EEE00008080808080808080808080808080808A2 +:10EEF0000808080808080808080808080808080892 +:10EF00000808080808080808000A000100020003B1 +:10EF1000000400050006000700080009000A000BB5 +:10EF2000000C000D000E000F00100000000000009B +:10EF300000000000000000000000000000000000D1 +:10EF400000000000000000000000000000000000C1 +:10EF500000000000000000000000000000000000B1 +:10EF600000000000000000000000000000000000A1 +:10EF70000000000000000000000000000000000091 +:10EF800000000000000000000000000080037FB4CB +:10EF900080037E2080037E2080037E2080037E20ED +:10EFA00080037E2080037E2080037E2080037E20DD +:10EFB00080037E20FFFFFFFFFFFFFFFF49534F2D20 +:10EFC000383835392D310000800333228003334433 +:10EFD0008003316C800331A48003330E8003330C33 +:10EFE000800332BA800332E2800332988003329881 +:10EFF0008003328880033298800332A6800332A6D1 +:10F00000800332988003363480034AA480034AA4E4 +:10F010008003364480034AA480034AA480034AA4A0 +:10F0200080034AA480034AA480034AA4800336488C +:10F030008003371C80034AA48003371880033724D9 +:10F0400080034AA480033842800338468003384650 +:10F0500080033846800338468003384680033846AC +:10F0600080033846800338468003384680034AA42C +:10F0700080034AA480034AA480034AA480034AA4CC +:10F0800080034AA480034AA480034AA480034AA4BC +:10F0900080034AA48003394480033B9680034AA43A +:10F0A00080033B9680034AA480034AA480034AA4B9 +:10F0B00080034AA48003387880034AA480034AA4CA +:10F0C0008003416280034AA480034AA480034AA4C7 +:10F0D00080034AA480034AA48003452680034AA4EF +:10F0E00080034AA48003361A80034AA480034AA4FA +:10F0F00080034AA480034AA480034AA480034AA44C +:10F1000080034AA480034AA480034AA480034AA43B +:10F11000800338988003395A80033B9680033B96DE +:10F1200080033B968003387C8003395A80034AA4CD +:10F1300080034AA48003388080034AA480033FA24E +:10F1400080034178800343A48003389480034AA459 +:10F150008003445880034AA48003453C80034AA4AA +:10F1600080034AA48003476E01020B040B050601CD +:10F170000B01020B040B0506010B0B0B03040B0523 +:10F180000B0B0B0B0B0B040B050B0B0B0B0B0B0BDC +:10F190000B0B0B0B0B05080B040B0B070B0B0B09D5 +:10F1A0000B040B050B0B0B0B0A0B040B0B0B0B0BC4 +:10F1B0000B0B0B040B0B0B0B0B0B0B030B0B0B0BAE +:10F1C0000B0B0B0B080B0B0B0B0B0B0000000000C9 +:10F1D0000000000000010003040000000000010026 +:10F1E000030400000000000007030400000000000A +:10F1F0000000030400000000000000000400000004 +:10F2000000000200030400000000000100050605E4 +:10F2100000000000010005060000000000000003DF +:10F2200004000000000000080000000000000000D2 +:10F2300008000000000000000000000000000000C6 +:10F24000494E4600696E66004E414E006E616E008A +:10F2500020202020202020202020202020202020AE +:10F26000303030303030303030303030303030309E +:10F27000080808080808080808080808080808080E +:10F2800008080808080808080808080808080808FE +:10F2900007080807020808070808060708070508FE +:10F2A0000001010101010101010108080808080825 +:10F2B00008040804040404040808080803080804EF +:10F2C00008080804080408080408080808080808CA +:10F2D00008040804040404040304030803080404E1 +:10F2E00004030804030408080408030808080808BD +:10F2F000080808080808080808080808080808088E +:10F30000080808080808080808080808080808087D +:10F31000080808080808080808080808080808086D +:10F32000080808080808080808080808080808085D +:10F33000080808080808080808080808080808084D +:10F34000080808080808080808080808080808083D +:10F35000080808080808080808080808080808082D +:10F36000080808080808080808080808080808081D +:10F37000496E66696E697479000000004E614E0046 +:10F3800000000005000000190000007D3FF00000B3 +:10F390000000000040240000000000004059000070 +:10F3A00000000000408F40000000000040C38800C3 +:10F3B0000000000040F86A0000000000412E848038 +:10F3C00000000000416312D0000000004197D78484 +:10F3D0000000000041CDCD65000000004202A05FAA +:10F3E0002000000042374876E8000000426D1A9481 +:10F3F000A200000042A2309CE540000042D6BCC4FE +:10F400001E900000430C6BF5263400004341C37985 +:10F4100037E080004376345785D8A00043ABC16DF8 +:10F42000674EC80043E158E460913D004415AF1DAC +:10F4300078B58C40444B1AE4D6E2EF504480F0CFCC +:10F44000064DD59244B52D02C7E14AF644EA784309 +:10F4500079D99DB44341C37937E080004693B8B56C +:10F46000B5056E174D384F03E93FF9F55A827748D5 +:0CF47000F9301D3275154FDD7F73BF3C75 +:10F480000000000455736167653A2074746370204E +:10F490002D742F2D72205B2D6F7074696F6E735DEC +:10F4A00020686F73740A20202020202020202D6CDB +:10F4B0002020202020206C656E677468206F6620F5 +:10F4C00062756673207772697474656E20746F203C +:10F4D0006E6574776F726B202864656661756C74F5 +:10F4E0002031303234290A20202020202020202DD5 +:10F4F0006E2020202020206E756D626572206F6660 +:10F500002062756673207772697474656E20746FFB +:10F51000206E6574776F726B202864656661756C08 +:10F52000742031303234290A20202020202020204D +:10F530002D70202020202020706F7274206E756D39 +:10F5400062657220746F2073656E6420746F20286A +:10F5500064656661756C742032303030290A202071 +:10F560002020202020202D752020202020207564A0 +:10F57000700A20202020202020202D7620202020EE +:10F580002020766572626F73650A000080039954CB +:10F59000000000000000000000000000000000006B +:10F5A000000000000000000000000000000000005B +:10F5B000000000000000000000000000000000004B +:10F5C000000000000000000000000000000000003B +:10F5D000000000000000000000000000000000002B +:10F5E000000000000000000000000000000000001B +:10F5F000000000000000000000000000000000000B +:10F6000000000000000000000000000000000000FA +:10F6100000000000000000000000000000000000EA +:10F6200000000000000000000000000000000000DA +:10F6300000000000000000000000000000000000CA +:10F6400000000000000000000000000000000000BA +:10F6500000000000000000000000000000000000AA +:10F660000000000400000000ABCD00000000196E97 +:10F6700010000000FFFFFFFFFFFFFFFFFF7590007E +:10F68000000001FFFFFFFFFEFFFFFFFFFF751000FF +:10F69000000001FFFFFFFFFE00050000800149ECB4 +:10F6A000800149EC800149EC800149EC0000000038 +:10F6B000000002340000000C02040B0C1216182487 +:10F6C0003048606C000000000000000000000000F6 +:10F6D00000000010010000146D3E86B0FFFFFFFF28 +:10F6E000FFFF0000000003E800000001000000012F +:10F6F00000000320000000010000000000000008DE +:10F70000000000020000006400000000000000058E +:10F710000000000F000000050000000F000013882B +:10F7200000001388000007D00000138800003E800E +:10F73000000000020000000C02040B0C121618243A +:10F740003048606C00000000000000000000000075 +:10F7500000000000000000000D0102030405060780 +:10F7600008090A0B0C0D000000000011FF0000004A +:10F770000000000000000000000000000000000089 +:10F780000000000000000000000000000000FFFF7B +:10F79000FFFFFFFF00000001000000030000000168 +:10F7A0000000000100000000000000010000000156 +:10F7B0000000000100000001000000000000000146 +:10F7C0000000000A00000005000000000000000525 +:10F7D00000000000FFFFFFFF00000001000000002C +:10F7E00000000002FF000000000000000000000018 +:10F7F0000000000000000000000000000000000009 +:10F80000000000000000FFFFFFFFFFFF00000001FD +:10F810000000000300000000000007D000000064AA +:10F8200003010100060200000000000C82848B8CA2 +:10F83000129618243048606C0000000000000000A0 +:10F8400000000000000000000000000100000001B6 +:10F85000000000010014000000000014000007D0A8 +:10F860000000000000000001000000000000000691 +:10F8700000000001FFFFFFFF0A00000064756D6DCE +:10F88000795F7373696400000000000000000000ED +:10F890000000000000000000000000000000000068 +:10F8A000303030313032303330343035303630373C +:10F8B0003038303930613062306330643065306602 +:10F8C0003130313131323133313431353136313714 +:10F8D00031383139316131623163316431653166DA +:10F8E00000000000000000028003D670000000004D +:10F8F000800255EC80025614800256588002569CB5 +:10F90000800256AA800255F4800256B6800256D074 +:10F910008002614C8003EAFD0000003F000000010E +:10F920008003EF2C8003EF4C8003EF6C000000009D +:10F9300000000000000000000000000000000000C7 +:10F940008003ECA4000000000000000000000000A4 +:10F9500000000000000000000000000000000000A7 +:10F960000000000000000000000000000000000097 +:10F970000000000000000000000000000000000087 +:10F980000000000000000000000000000000000077 +:10F990000000000000000000000000000000000067 +:10F9A0000000000000000000000000000000000057 +:10F9B0000000000000000000000000000000000047 +:10F9C0000000000000000000000000000000000037 +:10F9D0000000000000000000000000000000000027 +:10F9E0000000000000000000000000000000000017 +:10F9F0000000000000000000000000000000000007 +:10FA000000000000000000000000000000000000F6 +:10FA1000000004A800000000000000000000059C99 +:10FA20000000059C000005A4000005A4000005AC32 +:10FA3000000005AC000005B4000005B4000005BCE2 +:10FA4000000005BC000005C4000005C4000005CC92 +:10FA5000000005CC000005D4000005D4000005DC42 +:10FA6000000005DC000005E4000005E4000005ECF2 +:10FA7000000005EC000005F4000005F4000005FCA2 +:10FA8000000005FC00000604000006040000060C4F +:10FA90000000060C00000614000006140000061CFE +:10FAA0000000061C00000624000006240000062CAE +:10FAB0000000062C00000634000006340000063C5E +:10FAC0000000063C00000644000006440000064C0E +:10FAD0000000064C00000654000006540000065CBE +:10FAE0000000065C00000664000006640000066C6E +:10FAF0000000066C00000674000006740000067C1E +:10FB00000000067C00000684000006840000068CCD +:10FB10000000068C00000694000006940000069C7D +:10FB20000000069C000006A4000006A4000006AC2D +:10FB3000000006AC000006B4000006B4000006BCDD +:10FB4000000006BC000006C4000006C4000006CC8D +:10FB5000000006CC000006D4000006D4000006DC3D +:10FB6000000006DC000006E4000006E4000006ECED +:10FB7000000006EC000006F4000006F4000006FC9D +:10FB8000000006FC00000704000007040000070C4A +:10FB90000000070C00000714000007140000071CF9 +:10FBA0000000071C00000724000007240000072CA9 +:10FBB0000000072C00000734000007340000073C59 +:10FBC0000000073C00000744000007440000074C09 +:10FBD0000000074C00000754000007540000075CB9 +:10FBE0000000075C00000764000007640000076C69 +:10FBF0000000076C00000774000007740000077C19 +:10FC00000000077C00000784000007840000078CC8 +:10FC10000000078C00000794000007940000079C78 +:10FC20000000079C000007A4000007A4000007AC28 +:10FC3000000007AC000007B4000007B4000007BCD8 +:10FC4000000007BC000007C4000007C4000007CC88 +:10FC5000000007CC000007D4000007D4000007DC38 +:10FC6000000007DC000007E4000007E4000007ECE8 +:10FC7000000007EC000007F4000007F4000007FC98 +:10FC8000000007FC00000804000008040000080C45 +:10FC90000000080C00000814000008140000081CF4 +:10FCA0000000081C00000824000008240000082CA4 +:10FCB0000000082C00000834000008340000083C54 +:10FCC0000000083C00000844000008440000084C04 +:10FCD0000000084C00000854000008540000085CB4 +:10FCE0000000085C00000864000008640000086C64 +:10FCF0000000086C00000874000008740000087C14 +:10FD00000000087C00000884000008840000088CC3 +:10FD10000000088C00000894000008940000089C73 +:10FD20000000089C000008A4000008A4000008AC23 +:10FD3000000008AC000008B4000008B4000008BCD3 +:10FD4000000008BC000008C4000008C4000008CC83 +:10FD5000000008CC000008D4000008D4000008DC33 +:10FD6000000008DC000008E4000008E4000008ECE3 +:10FD7000000008EC000008F4000008F4000008FC93 +:10FD8000000008FC00000904000009040000090C40 +:10FD90000000090C00000914000009140000091CEF +:10FDA0000000091C00000924000009240000092C9F +:10FDB0000000092C00000934000009340000093C4F +:10FDC0000000093C00000944000009440000094CFF +:10FDD0000000094C00000954000009540000095CAF +:10FDE0000000095C00000964000009640000096C5F +:10FDF0000000096C00000974000009740000097C0F +:10FE00000000097C00000984000009840000098CBE +:10FE10000000098C00000994000009940002000011 +:0CFE2000FFFFFFFF0000000100007AFC63 +:040000058000000077 +:00000001FF diff --git a/firmware/libraries/WiFi/extras/binary/wifiHD_2_1.elf b/firmware/libraries/WiFi/extras/binary/wifiHD_2_1.elf new file mode 100644 index 0000000000000000000000000000000000000000..9217d48ae4b45d2687f27cb8f0181d9e02eefd87 GIT binary patch literal 1308530 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

    rRmgDi@TZ`vE@h#c!FJD`Zoq3J0$>Vnq7$8Zh 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¥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

    8D!S8hObSq^1x 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 K#{IQ~sMrEPg;mB?+AL5TmIL;UZe_}|zEx=GiR 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%0DUm55h|5v52>S!FMO#;oDIy0MoTsLUsEy$ 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

    $+hPw*t*}M10(P}&SHs?I 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 literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/binary/wifi_dnld.elf b/firmware/libraries/WiFi/extras/binary/wifi_dnld.elf new file mode 100644 index 0000000000000000000000000000000000000000..11ec3ddc7305bca3222a211559170005c6c2f878 GIT binary patch literal 182489 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 literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/binary/wifi_dnld.hex b/firmware/libraries/WiFi/extras/binary/wifi_dnld.hex new file mode 100644 index 0000000..bf2c05c --- /dev/null +++ b/firmware/libraries/WiFi/extras/binary/wifi_dnld.hex @@ -0,0 +1,10470 @@ +:0200000480007A +:10000000E08F100000000000000000000000000071 +:1000100000000000000000000000000000000000E0 +:1000200000000000000000000000000000000000D0 +:1000300000000000000000000000000000000000C0 +:1000400000000000000000000000000000000000B0 +:1000500000000000000000000000000000000000A0 +:100060000000000000000000000000000000000090 +:100070000000000000000000000000000000000080 +:100080000000000000000000000000000000000070 +:100090000000000000000000000000000000000060 +:1000A0000000000000000000000000000000000050 +:1000B0000000000000000000000000000000000040 +:1000C0000000000000000000000000000000000030 +:1000D0000000000000000000000000000000000020 +:1000E0000000000000000000000000000000000010 +:1000F0000000000000000000000000000000000000 +:1001000000000000000000000000000000000000EF +:1001100000000000000000000000000000000000DF +:1001200000000000000000000000000000000000CF +:1001300000000000000000000000000000000000BF +:1001400000000000000000000000000000000000AF +:10015000000000000000000000000000000000009F +:10016000000000000000000000000000000000008F +:10017000000000000000000000000000000000007F +:10018000000000000000000000000000000000006F +:10019000000000000000000000000000000000005F +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:1001C000000000000000000000000000000000002F +:1001D000000000000000000000000000000000001F +:1001E000000000000000000000000000000000000F +:1001F00000000000000000000000000000000000FF +:1002000000000000000000000000000000000000EE +:1002100000000000000000000000000000000000DE +:1002200000000000000000000000000000000000CE +:1002300000000000000000000000000000000000BE +:1002400000000000000000000000000000000000AE +:10025000000000000000000000000000000000009E +:10026000000000000000000000000000000000008E +:10027000000000000000000000000000000000007E +:10028000000000000000000000000000000000006E +:10029000000000000000000000000000000000005E +:1002A000000000000000000000000000000000004E +:1002B000000000000000000000000000000000003E +:1002C000000000000000000000000000000000002E +:1002D000000000000000000000000000000000001E +:1002E000000000000000000000000000000000000E +:1002F00000000000000000000000000000000000FE +:1003000000000000000000000000000000000000ED +:1003100000000000000000000000000000000000DD +:1003200000000000000000000000000000000000CD +:1003300000000000000000000000000000000000BD +:1003400000000000000000000000000000000000AD +:10035000000000000000000000000000000000009D +:10036000000000000000000000000000000000008D +:10037000000000000000000000000000000000007D +:10038000000000000000000000000000000000006D +:10039000000000000000000000000000000000005D +:1003A000000000000000000000000000000000004D +:1003B000000000000000000000000000000000003D +:1003C000000000000000000000000000000000002D +:1003D000000000000000000000000000000000001D +:1003E000000000000000000000000000000000000D +:1003F00000000000000000000000000000000000FD +:1004000000000000000000000000000000000000EC +:1004100000000000000000000000000000000000DC +:1004200000000000000000000000000000000000CC +:1004300000000000000000000000000000000000BC +:1004400000000000000000000000000000000000AC +:10045000000000000000000000000000000000009C +:10046000000000000000000000000000000000008C +:10047000000000000000000000000000000000007C +:10048000000000000000000000000000000000006C +:10049000000000000000000000000000000000005C +:1004A000000000000000000000000000000000004C +:1004B000000000000000000000000000000000003C +:1004C000000000000000000000000000000000002C +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F00000000000000000000000000000000000FC +:1005000000000000000000000000000000000000EB +:1005100000000000000000000000000000000000DB +:1005200000000000000000000000000000000000CB +:1005300000000000000000000000000000000000BB +:1005400000000000000000000000000000000000AB +:10055000000000000000000000000000000000009B +:10056000000000000000000000000000000000008B +:10057000000000000000000000000000000000007B +:10058000000000000000000000000000000000006B +:10059000000000000000000000000000000000005B +:1005A000000000000000000000000000000000004B +:1005B000000000000000000000000000000000003B +:1005C000000000000000000000000000000000002B +:1005D000000000000000000000000000000000001B +:1005E000000000000000000000000000000000000B +:1005F00000000000000000000000000000000000FB +:1006000000000000000000000000000000000000EA +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C0000000000000000000000000000000000029 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:1008000000000000000000000000000000000000E8 +:1008100000000000000000000000000000000000D8 +:1008200000000000000000000000000000000000C8 +:1008300000000000000000000000000000000000B8 +:1008400000000000000000000000000000000000A8 +:100850000000000000000000000000000000000098 +:100860000000000000000000000000000000000088 +:100870000000000000000000000000000000000078 +:100880000000000000000000000000000000000068 +:100890000000000000000000000000000000000058 +:1008A0000000000000000000000000000000000048 +:1008B0000000000000000000000000000000000038 +:1008C0000000000000000000000000000000000028 +:1008D0000000000000000000000000000000000018 +:1008E0000000000000000000000000000000000008 +:1008F00000000000000000000000000000000000F8 +:1009000000000000000000000000000000000000E7 +:1009100000000000000000000000000000000000D7 +:1009200000000000000000000000000000000000C7 +:1009300000000000000000000000000000000000B7 +:1009400000000000000000000000000000000000A7 +:100950000000000000000000000000000000000097 +:100960000000000000000000000000000000000087 +:100970000000000000000000000000000000000077 +:100980000000000000000000000000000000000067 +:100990000000000000000000000000000000000057 +:1009A0000000000000000000000000000000000047 +:1009B0000000000000000000000000000000000037 +:1009C0000000000000000000000000000000000027 +:1009D0000000000000000000000000000000000017 +:1009E0000000000000000000000000000000000007 +:1009F00000000000000000000000000000000000F7 +:100A000000000000000000000000000000000000E6 +:100A100000000000000000000000000000000000D6 +:100A200000000000000000000000000000000000C6 +:100A300000000000000000000000000000000000B6 +:100A400000000000000000000000000000000000A6 +:100A50000000000000000000000000000000000096 +:100A60000000000000000000000000000000000086 +:100A70000000000000000000000000000000000076 +:100A80000000000000000000000000000000000066 +:100A90000000000000000000000000000000000056 +:100AA0000000000000000000000000000000000046 +:100AB0000000000000000000000000000000000036 +:100AC0000000000000000000000000000000000026 +:100AD0000000000000000000000000000000000016 +:100AE0000000000000000000000000000000000006 +:100AF00000000000000000000000000000000000F6 +:100B000000000000000000000000000000000000E5 +:100B100000000000000000000000000000000000D5 +:100B200000000000000000000000000000000000C5 +:100B300000000000000000000000000000000000B5 +:100B400000000000000000000000000000000000A5 +:100B50000000000000000000000000000000000095 +:100B60000000000000000000000000000000000085 +:100B70000000000000000000000000000000000075 +:100B80000000000000000000000000000000000065 +:100B90000000000000000000000000000000000055 +:100BA0000000000000000000000000000000000045 +:100BB0000000000000000000000000000000000035 +:100BC0000000000000000000000000000000000025 +:100BD0000000000000000000000000000000000015 +:100BE0000000000000000000000000000000000005 +:100BF00000000000000000000000000000000000F5 +:100C000000000000000000000000000000000000E4 +:100C100000000000000000000000000000000000D4 +:100C200000000000000000000000000000000000C4 +:100C300000000000000000000000000000000000B4 +:100C400000000000000000000000000000000000A4 +:100C50000000000000000000000000000000000094 +:100C60000000000000000000000000000000000084 +:100C70000000000000000000000000000000000074 +:100C80000000000000000000000000000000000064 +:100C90000000000000000000000000000000000054 +:100CA0000000000000000000000000000000000044 +:100CB0000000000000000000000000000000000034 +:100CC0000000000000000000000000000000000024 +:100CD0000000000000000000000000000000000014 +:100CE0000000000000000000000000000000000004 +:100CF00000000000000000000000000000000000F4 +:100D000000000000000000000000000000000000E3 +:100D100000000000000000000000000000000000D3 +:100D200000000000000000000000000000000000C3 +:100D300000000000000000000000000000000000B3 +:100D400000000000000000000000000000000000A3 +:100D50000000000000000000000000000000000093 +:100D60000000000000000000000000000000000083 +:100D70000000000000000000000000000000000073 +:100D80000000000000000000000000000000000063 +:100D90000000000000000000000000000000000053 +:100DA0000000000000000000000000000000000043 +:100DB0000000000000000000000000000000000033 +:100DC0000000000000000000000000000000000023 +:100DD0000000000000000000000000000000000013 +:100DE0000000000000000000000000000000000003 +:100DF00000000000000000000000000000000000F3 +:100E000000000000000000000000000000000000E2 +:100E100000000000000000000000000000000000D2 +:100E200000000000000000000000000000000000C2 +:100E300000000000000000000000000000000000B2 +:100E400000000000000000000000000000000000A2 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:1010000000000000000000000000000000000000E0 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:1010400000000000000000000000000000000000A0 +:101050000000000000000000000000000000000090 +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:08200000481F0000800026309B +:10200800D40148D8E3B80001D553FE6A100030194E +:102018007508F1D9D202F5480040F01F0008F01FFA +:102028000008D503E06CF980EA1C0337F01F0005AF +:10203800D8020000800032008000259880002B68BC +:10204800800026D4EBCD40FC169518961492129B6E +:10205800580AE08A003B0B893008F0091800C520AF +:102068003009129A2FF9EA090708F4081800CFB1C5 +:102078001232E08900493002EDBB0001C26133032E +:10208800EDBB0000C2613004C0A85806C3806C09CB +:10209800B28C6C082FF88D082FF52FF40B8C580C88 +:1020A800CF515802E08A000F04975806C2406C09C5 +:1020B800B2836C082FF88D0820175807FE99FFF790 +:1020C8000404089CE3CD80FC3203EDBB0000CDC0C6 +:1020D8005802FE9AFFDA04975806C1706C09B28359 +:1020E8006C082FF88D0820175807FE99FFF70494FD +:1020F8003002CD5B069CF01F0007CDFBF01F0005EA +:10210800CCCB30091212CB9B069CF01F0002CECB21 +:1021180080002680EBCD40FC203DFACEFFD81497F6 +:102128007C037C1A10941892169E580BC4405809C8 +:102138005F1858A75F091268C34130063008FB686A +:10214800000B580EC430F4CC003AFAC9FFF5FC076E +:102158000D0A16985898F1DCE9082D0812F8149E13 +:10216800580ACF6112955806C0C10C970699089A6B +:102178000A9B049CF01F001A0E0C2FDDE3CD80FC97 +:102188005804C140EDB30001C1115802C230640ABD +:1021980032D9B48964082FF8850820143017CE7B0B +:1021A800580BCCC45C3E3016CCAB129532D83007F5 +:1021B8000AF8CDDB109A3308BA9B0699BA881A9B9D +:1021C800F01F00072FDDE3CD80FCFAC9FFF512955B +:1021D800CCBB32DCF01F0003CE1B00008000204C7B +:1021E80080002680D431201D189516971496178CD8 +:1021F800580CE08000B43004325132D033033092AE +:10220800E20C1800C1705805C6E06A09B28C6A0869 +:102218002FF88B082FF42FF70F8C580CCF21580567 +:10222800EBF91000F9B80100F3F81E00089C2FFD27 +:10223800D8322FF70F8A580ACF30E20A1800C500A3 +:10224800E00A1800F9BC0100F7B700FFF9BC00016B +:10225800EFFA0800C0482FF7A1BC0F8AE60A180059 +:10226800CFB0F4C80030E4081800E08B0063300BEE +:10227800F60B0028F40800182FF7F0CB00300F8A6F +:10228800F4C80030E4081800FE98FFF43738F00A64 +:102298001800C2C03648F00A1800C3403708F00AD0 +:1022A8001800C3E03788F00A1800C4503588F00ACF +:1022B8001800C4903758F00A1800C4803638F00A5D +:1022C8001800CAA16C08BA8830081899169ABA98E2 +:1022D8001A9B0A9C2FC6F01F00231804C9DB325C26 +:1022E8005805C941F01F0020C96B0D081899169AA6 +:1022F8000A9C49EB5808F00B1710F01F001A180435 +:10230800C8BB361916981AD930AA1ADC30196C0BC2 +:102318000A9C2FC6F01F00162FED1804C7DB3619CC +:10232800308A1AD916981ADA30096C0B310ACF1B81 +:10233800300BCADB169836191AD9310A1ADC30095B +:102348006C0BCE7B16983419CF8B361916981AD980 +:1023580030AA1ADC30096C0BCDCB1894C61B0000D0 +:102368008000204C80002680800034008000211CE2 +:10237800D401189BFACAFFFC300CF01F0002D802E7 +:10238800800021ECEBCD40E014951696A98CF01F47 +:1023980000095805C0A03007F01F0007EC070B0C18 +:1023A8002FF70E35FE9BFFFAF01F0004E3CD80E007 +:1023B80080002E7C80002F3080002D14EBCD40E073 +:1023C80014951696A98CF01F00095805C0A030076F +:1023D800EC07070C2FF7F01F00060E35FE9BFFFADF +:1023E800F01F0004E3CD80E080002D9C80002E20AB +:1023F80080002CC8EBCD4040204D49BCF8E80008CF +:10240800FAE90008F8EA0000498CFAEB0000304BC2 +:10241800F01F00171A9BFE7C2800F01F00163009D9 +:10242800FE7C2800129A129BF01F0013FE7C2800E5 +:10243800F01F0012302CF01F00121A96204DECE805 +:102448000008FAE90008ECEA0000E06CF980EA1CF0 +:102458000337FAEB0000F01F000B2FCD2FCDE3CD93 +:1024680080400000800034088000341880002C4030 +:1024780080002874800028B480002A2480002C70F2 +:1024880080002FF8EBCD40F8F01F0033F01F003329 +:102498004B3CF01F0034F01F00343018F00C1800CB +:1024A800C5204B2CF01F002FE06701004B0C3006B5 +:1024B800F01F002C4AF40E95C088E2675A4C0C179E +:1024C800E0470100EA0717B0E806000B0C9C0E9ADB +:1024D8000E06F01F0029E2465A4BFE98FFF0E0670F +:1024E80001004A6C3006F01F001F4A550E930E9AE1 +:1024F8004A3B0C9CF01F0023E80600093008EA0854 +:10250800070B138AF40B1800C1312FF82FF9103775 +:10251800FE9BFFF70E06E2465A4BE08B0019E26776 +:102528005A4C0C17E0470100E60717B0CE1BEC0821 +:1025380000081ADA494C1ADB1AD8F01F000A2FDDF6 +:10254800E3CF80F8491CF01F0007CAFB490CF01FB5 +:102558000005CF7B80002008800023FC80028E6C61 +:102568008000237880002FA480028E8480028E8CC5 +:1025780080003420800023C480028EAC0000000854 +:102588008000238C80028EC880028E7C80028EF4AC +:10259800EBCD4040303AE06B1B00EA1B00B7FE7CF5 +:1025A8000C00F01F001A30083019109B308AFE7C8E +:1025B8000C0031061AD6F01F001630083019109B8F +:1025C800129AFE7C0C00F01F0013300BFE7C0C00EE +:1025D800F01F0011FE7C0C00F01F00103009FE7C7B +:1025E8000C001AD9129B1AD91298129AF01F000CD3 +:1025F800301CF01F000C302BFE7C0C00F01F000A72 +:102608002FDDE3CD8040000080002B0C80002AB035 +:1026180080002AD280002AEA80002AF880002A6AEC +:1026280080002C8A80002B0248CD48D0E3B00001FE +:10263800D55348C048C10230C06248C2A505A1248C +:102648000230CFD348A048B10230C0623002300314 +:10265800A1220230CFE3488F000100008000320041 +:10266800000000080000000880028FC00000000879 +:10267800000001E88000248CD401189BFE7C18001F +:10268800F01F0002D802000080002742EBCD404036 +:10269800203D30083049FB680008BA383088500CB3 +:1026A8001696BAC8302BBAD9486CF01F00070C9A96 +:1026B8001A9BFE7C1800F01F00052FDDE3CD80403B +:1026C80080028F1C80002C40800027ACD401189B0E +:1026D800E06CE100F01F0002D802000080002694A0 +:1026E800D401F6081503A56B143BF9BE0810F00BCE +:1026F80017B0F9BE0B08F6091601F20A0039F20BF9 +:102708000D08109AF00B1603F6C80001E048FFFE0A +:10271800E08B00147818E8690000E418FFF7E01867 +:10272800FECF590EF9B9000010499919F1DAC00322 +:10273800F7E811089988D80ADA0A58ABC0F0E069B6 +:10274800270F7858EDB80001C051F1DBC00999781E +:102758005EFD5809C1002019CF5BE069270F785842 +:10276800EDB80001C04130D89978CEAB5809C030D7 +:102778002019CF6B5EFEE1B80000EDB80010C0E094 +:10278800D3033FF899387858D503300899189998A1 +:1027980099A8EA69610C99095EFC3FF8993878585C +:1027A800CF5BD703D421169714951896F01F002EE7 +:1027B8005807C2000FC93048F0091800E088001B0C +:1027C8003094E8091800E08B00160FD93078F0092A +:1027D8001800E08B00108E39E0680101F00919003B +:1027E800E08B0009EF3900083038F0091800E0885C +:1027F8000003DA2A0A9A6E0B0C9CF01F001C581C66 +:10280800CF900FC9E8091800C2906C182059F1E957 +:1028180010688D18EF3900086C1A0FD8A978F1E9FB +:1028280010E814488D1830288E39F0091900E0880E +:1028380000106C18ADB88D188EB920298DA96C18A8 +:10284800E018FFF08D183509300C8D09D8226C1866 +:102858005C79F1E910C88D18CF3B6C18B1B88D18A8 +:10286800CDAB00008000277E800026E8D401301818 +:10287800F739000DF0091800E0880005302E1C9C7F +:10288800D802E068008030199908300A7818F73BB8 +:10289800000D149EF1D9D00130F9F1DBD081F1DAC5 +:1028A800D0E1F1D9D20499181C9CD802EBCD408014 +:1028B8003018149E1297F00A18005FBAF00B18002F +:1028C8005FB91449C0B17818F1DBD021F1DED041ED +:1028D800F1D7D3089918E3CF8080302CE3CD8080DE +:1028E800D4017818189EEA18000F9918781CE21C71 +:1028F8000004C08030E8F00B1800E0880013302C8A +:10290800D8023038F00B1800FE9BFFFB7C1AF6C883 +:10291800FFF03019F20809495CD914699D19D802E9 +:102928007C19F6081510300CEA18FFF0E818FFFFBC +:1029380012689D18D802E0692710C0485809C0E0FD +:1029480020197848EDB80009CFA17818EA18000FC7 +:102958009918FC19010099095EFD5EFFEBCD40FC5A +:1029680030321893F73C000CE40C1800E08B000997 +:10297800F735000B3014E8051800E0880005302C06 +:10298800E3CD80FCF73E00083078F00E1800FE9882 +:10299800FFF83108F00E1800FE9BFFF37618F009D7 +:1029A8001601F4090009F2080D06ECCA0001E04A14 +:1029B80000FEFE9BFFE65806CE35FCC90008F80865 +:1029C8001601300AEC1C0001F5D8D001178EF5DC91 +:1029D800D021F7380009F5D5D061F5D9D084F73979 +:1029E800000AF5D6D108F5D8D208F5D9D308E80EEB +:1029F8001800C0F0C0B33028F00E1800C0D0E40EA4 +:102A08001800CBE187FAE3CF80FC87CAE3CF80FCCC +:102A180087DAE3CF80FC87EAE3CF80FC3018990897 +:102A28005EFCE0692710C0485809C0A02019784802 +:102A3800EDB80001CFA1F1DBC01099385EFD5EFF53 +:102A4800E0692710C0485809C0C020197848E21822 +:102A58000201E0480201CF817828300CB6085EFCFC +:102A68005EFFEBCD40E0FAC5FFF018976A166A0ED4 +:102A7800EDD6C003FDDEC001300CF9D6D003F9DE77 +:102A8800D0E1F9D6D103F9DED1E1F9DAD203F9DBE5 +:102A9800D2E1F9D8D303F9D9D3E18F1C6F58EDB837 +:102AA8000005CFD1E3CD80E0EBCD4040300E40268D +:102AB8002F8BFDD8D021FDD9D104FDDAD204FDD663 +:102AC800D306F80B092EE3CD80402F8BF5E91019BA +:102AD800F3E81029F80B0328F1D9D043F80B09289B +:102AE8005EFC2F8BF80B0328A1A8F80B09285EFCC5 +:102AF8007958EDB80000CFD15EFC7808F1DBD00240 +:102B080099085EFCEC5BBB9FE08B0018304B78A803 +:102B1800F1DBD00399A878A9F3DAD10399A9780849 +:102B2800A3A899087958EDB80007CFD178083019CB +:102B3800F1D9D00299085EFCE068C6BFEA18002DFA +:102B4800103BE088000CE0681200EA18007A103B9D +:102B5800F9BB0306F9BB0207CDBB305BCD9BC008B0 +:102B6800EBCD40C048E8E3B8000148E9300C7206F4 +:102B780048DE48E9FE770800720B580BC070721ADD +:102B8800300814AE2FF81638CFD3EE0C09262F894B +:102B98002FFC594CCF21E3CD80C0000080003200CB +:102BA8008000333C80002B6680028F20E068008321 +:102BB800FE790800F00C010CF20C032AF4C8FFC0DF +:102BC800F208032C580C5E0CF80812004859F0085B +:102BD800111FF20A0039721AF408032C5EFC000077 +:102BE80080028F20F8081605F0091508E029F00082 +:102BF800581BC150C0823018F00C094C936C93AC30 +:102C0800932C5EFD582BC110583BC0205EFF301836 +:102C1800F00C094C935C939C932C5EFDF60C094CCC +:102C2800935C93AC932C5EFD3018F00C094C936CBC +:102C3800939C932C5EFDD703D42118961694580BB9 +:102C4800C0F030050A970D9B0D8C2FF72FE6F01F6B +:102C5800000618450E34FE9BFFF80A9CD8221695EC +:102C6800CFDB000080002BEC3018F00C0948A59C45 +:102C7800A96CE02CF000F9480054F9480044991870 +:102C88005EFCFE6914007208F1DCD0C193085EFC9A +:102C9800D401580BC091F8CBFFFEFE7C28005C5B8A +:102CA800F01F0006D802F8CBFFFEFE7C28005C5B14 +:102CB800F01F0003D80200008000293E800028E8A9 +:102CC800EBCD408048E76E0CF1DCC008C0D0300B7B +:102CD800FE7C2800F01F000B6E08F0CCFFFF8F0C65 +:102CE800F1DCC008CF51F9DCC288300BF01F0006B8 +:102CF80030194868B089E3CD80800000000001E009 +:102D080080002A2A80002C98000001E4D401486839 +:102D1800300B700CF9DCC288F01F000430094848F9 +:102D2800B089D802000001E080002C98000001E47E +:102D3800EBCD40C0201D301B49366C0CF9DCC28835 +:102D4800F01F0012E06B00D7FE7C2800F01F001077 +:102D5800FAC7FFFEE06B00FFFE7C2800F01F000CA6 +:102D68000E9BFE7C2800F01F000B9A98EDB8000718 +:102D7800CF216C0C300BF9DCC288F01F00042FFD4A +:102D8800E3CD80C0000001E080002C9880002A2A52 +:102D980080002A48EBCD40C0201D49B6A96C8D0C97 +:102DA80049A730080F89F0091800C030F01F001833 +:102DB80030086C0CAE88F9DCC288301BF01F001597 +:102DC800E06B0082FE7C2800F01F00136C08F7D827 +:102DD800C008F1D8C10CFAC6FFFCF7E8109BFE7CCE +:102DE80028000CDBB18BF01F000C0DABFE7C28001B +:102DF800F01F00090DBBFE7C2800F01F00072FFD07 +:102E0800E3CF90C0000001E0000001E480002D380D +:102E180080002C9880002A2AEBCD40E049151896AE +:102E28000B893008F0091800C16148F70C9BFE7C3B +:102E38002800F01F000E6E08F0CCFFFF8F0CF7DCA7 +:102E4800C008C071F9DCC288F01F00093018AA88D0 +:102E5800E3CF90E048476E0CA98CF01F0006CE7BAC +:102E6800000001E4000001E080002A2A80002C987C +:102E780080002D9CEBCD40C0201D4A76A96C8D0C9E +:102E88004A6730080F89F0091800C030F01F002485 +:102E980030086C0CAE88F9DCC288301BF01F0021AA +:102EA800E06B00D2FE7C2800F01F001F6C08F7D8EA +:102EB800C008F1D8C10CFAC6FFFCF7E8109BFE7CED +:102EC80028000CDBB18BF01F00180DABFE7C28002E +:102ED800F01F00150DBBFE7C2800F01F0013E06BEF +:102EE80000FFFE7C2800F01F0010E06B00FFFE7C56 +:102EF8002800F01F000DE06B00FFFE7C2800F01F8B +:102F0800000AE06B00FFFE7C2800F01F00072FFD81 +:102F1800E3CF90C0000001E0000001E480002D38FC +:102F280080002C9880002A2AEBCD40C0201D4966DD +:102F380030090D88F2081800C1F14947E06B00FF1D +:102F4800FE7C2800F01F0012FACBFFFEFE7C280052 +:102F5800F01F00106E08F0CCFFFF8F0CF7DCC008E4 +:102F6800C071F9DCC288F01F000C3018AC881BBC9B +:102F78002FFDE3CD80C04857AC896E0CA98CF01F9B +:102F88000007CDDB000001E4000001E080002A2AF0 +:102F980080002A4880002C9880002E7CEBCD404091 +:102FA800201D3008FAC6FFFC301B0CE8300CF01F5F +:102FB800000EE06B00D7FE7C2800F01F000CE06BD1 +:102FC80000FFFE7C2800F01F00090C9BFE7C2800F7 +:102FD800F01F0007300B169CF01F00032FFDE3CFF6 +:102FE8009040000080002C9880002A2A80002A48FF +:102FF800EBCD40E03028FAC7FFF01896AE88109560 +:10300800C028AE880C9A0E9BFE7C2800F01F000892 +:10301800C0C10F882FF85C58EA081800FE98FFF323 +:103028004848B08CE3CF90E0E3CF80E0800029648B +:04303800000001E4AF +:10320000C0080000C0080000C0080000C00800009E +:10321000C0080000C0080000C0080000C00800008E +:10322000C0080000C0080000C0080000C00800007E +:10323000C0080000C0080000C0080000C00800006E +:10324000C0080000C00800000000000000000000EE +:10325000C0080000000000000000000000000000A6 +:10326000C008000000000000000000000000000096 +:10327000C008000000000000000000000000000086 +:10328000000000000000000000000000000000003E +:10329000000000000000000000000000000000002E +:1032A000000000000000000000000000000000001E +:1032B000000000000000000000000000000000000E +:1032C00000000000000000000000000000000000FE +:1032D00000000000000000000000000000000000EE +:1032E00000000000000000000000000000000000DE +:1032F00000000000000000000000000000000000CE +:10330000C0080000300CF01F0012580CF80F171006 +:10331000D603301CF01F000E580CF80F1710D60300 +:10332000302CF01F000B580CF80F1710D603303C50 +:10333000F01F0007580CF80F1710D6030000010407 +:103340004000011280000120C000012E80002BB43B +:10335000000000000000000000000000000000006D +:10336000000000000000000000000000000000005D +:10337000000000000000000000000000000000004D +:10338000000000000000000000000000000000003D +:10339000000000000000000000000000000000002D +:1033A000000000000000000000000000000000001D +:1033B000000000000000000000000000000000000D +:1033C00000000000000000000000000000000000FD +:1033D00000000000000000000000000000000000ED +:1033E00000000000000000000000000000000000DD +:1033F00000000000000000000000000000000000CD +:10340000286E756C6C2900000200000000B71B00DC +:1034100008000001000100000F011101100113015B +:103420001061040000000000300000001061040082 +:103430003861040000000000020000002061040068 +:10344000306104000000000004000000306104004E +:1034500000000000000000000000000010610400F7 +:103460003C0000000000EEEEEEEE18F09FE518F0D4 +:103470009FE518F09FE518F09FE50000A0E118F027 +:103480009FE518F09FE544000000B4080000B40870 +:103490000000B4080000B408000000000000E408C8 +:1034A00000003C003C00000000090000000000009B +:1034B00000000FE11F00C0E3130080E3C00080E3C1 +:1034C00000F02FE11CF09FE53D0200EB5A0200EBFB +:1034D0008D0200EB01008FE210FF2FE141F0DEFBD7 +:1034E00001F0DCFD3C0078000000FEE700005C001D +:1034F00000007847C046010000EA7847C046170040 +:1035000000EA8C119FE5002091E500300FE1841165 +:103510009FE5FD20A1E880019FE580219FE5012036 +:1035200042E00D0040E03C00B4000000020050E129 +:10353000280000AA68019FE50D0050E1020000BAD2 +:10354000042010E4042081E4FAFFFFEA58119FE50B +:1035500058019FE5000081E53C119FE550019FE582 +:10356000000081E51EFF2FE13C00F0000000481143 +:103570009FE5000091E524119FE5000081E52C11F5 +:103580009FE538019FE5000081E51EFF2FE17402F1 +:1035900000EB10019FE528119FE5042091E4042031 +:1035A00000E404219FE5020051E13C002C010000F1 +:1035B000FAFFFF1AF0109FE5FD20B1E803F02FE1BC +:1035C000E0109FE5002081E5E8109FE5F4209FE5ED +:1035D000002081E5021080E2000020E0010040E2CE +:1035E00011FF2FE101008FE210FF2FE13C00680185 +:1035F000000001F09CF87847000001008FE210FF06 +:103600002FE101F094F87847000003002DE9001045 +:103610000FE1001080E5B8109FE5041080E5001070 +:10362000A0E1100080E2FC1FA0E80020A0E13C0027 +:10363000A40100000130A0E10300BDE8080083E51B +:103640000C1083E5D300A0E300F021E10060A2E8C4 +:1036500000104FE1041082E4D200A0E300F021E169 +:103660000060A2E800104FE1041082E4D100A0E362 +:103670003C00E001000000F021E1007FA2E8001022 +:103680004FE1041082E4D700A0E300F021E10060E4 +:10369000A2E800104FE1041082E4DB00A0E300F098 +:1036A00021E10060A2E800104FE1001082E5000077 +:1036B00093E53C001C02000000F02FE11EFF2FE10B +:1036C000200000000403000020EE0100D8030000E9 +:1036D0000000000018F09FE5100100000803000042 +:1036E000EEEEEEEE2403000020020000B0B5041C54 +:1036F000631C0B4D3C005802000001D16C6910E0C6 +:1037000000F06CFB0948FFF70CFFEC60084A5168B9 +:1037100050688842FCD00220287001218A2001F0E4 +:1037200012F8201CB0BD3000070051020000000359 +:103730000700B0B5051C3C0094020000002400F016 +:1037400050FB1448FFF7F0FE13491448C1600121F3 +:10375000134A490391601349CA7808239A43CA70EF +:10376000CA7804231A43CA706B1C0DD00E4B5A68DA +:1037700059689142FCD0BE213C00D0020000197370 +:10378000197A112291431972197AC907FCD40221BE +:103790000170FFF7D0FE201CB0BD91020000FFFFBA +:1037A000FF003000070000100700000007000003C2 +:1037B000070000000000000000003C000C030000B7 +:1037C00000000000000000000000000000000000F9 +:1037D00000000000000000000000000000000000E9 +:1037E00000000000000000000000000000000000D9 +:1037F0000000000000000000000000003C00480342 +:1038000000000000000000000000000000000000B8 +:1038100000000000000000000000000000000000A8 +:103820000000000000000000000000000000000098 +:1038300000000000000000000000000000003C004C +:1038400084030000000000000000000000000000F1 +:103850000000000000000000000000000000000068 +:103860000000000000000000000000000000000058 +:103870000000000000000000000000000000000048 +:103880003C00C00300000000000000000000000039 +:1038900000000000000000000000000000000047E1 +:1038A000084710471847204728473047384710B582 +:1038B000041C101C00F023F903C410BC08BC1847FA +:1038C00000003C00FC03000010B4042A0ED3031CCB +:1038D0000B439B070AD108C810C9A34202D1043A7E +:1038E000042AF8D2A34201D004380439002A02D1B4 +:1038F000002010BC7047D30701D5013205E00378E2 +:103900000C7801313C00380400000130A34207D19B +:1039100003780C7801310130A34201D1023AF1D190 +:10392000181BE9E70000784700000020A0E304002E +:1039300051E30800003A03C010E20D00000A04C081 +:103940006CE202005CE33C00740400000120C0E46F +:103950000120C0A40120C0C40C1041E0060000EA10 +:1039600081CFB0E10120C0240120C0240120C04447 +:103970001EFF2FE1784700000020A0E300402DE962 +:103980000230A0E102C0A0E13C00B004000002E06F +:10399000A0E1201051E20C50A0280C50A0282010CB +:1039A0005122FBFFFF2A011EB0E10C50A0280C00A1 +:1039B000A0480040BDE80111B0E1042080241EFFB2 +:1039C0002F010120C0440120C0443C00EC04000051 +:1039D000400411E30120C0141EFF2FE178470000CE +:1039E000030052E33E00009A03C010E20800000A00 +:1039F0000130D1E402005CE30C2082E001C0D194EC +:103A00000130C0E40130D134042042E23C002805FA +:103A1000000001C0C0940130C034033011E21E0028 +:103A2000000A042052E22F00003A03C031E70200EE +:103A300053E30800000A0F00008A2C34A0E104C000 +:103A4000B1E5042052E20C3C83E1043080E43C0008 +:103A500064050000F9FFFF2A011081E2230000EA5B +:103A60002C38A0E104C0B1E5042052E20C3883E117 +:103A7000043080E4F9FFFF2A021081E21B0000EA13 +:103A80002C3CA0E104C0B1E5042052E20C3483E1F7 +:103A90003C00A0050000043080E4F9FFFF2A031079 +:103AA00081E2130000EA7847000010402DE9202051 +:103AB00052E20500003A1850B1281850A0281850BA +:103AC000B1281850A02820205222F9FFFF2A02CE48 +:103AD000B0E13C00DC0500001850B1281850A028C7 +:103AE0001800B1481800A0481040BDE802CFB0E16E +:103AF00004309124043080241EFF2F01822FB0E176 +:103B00000120D1440130D12401C0D1240120C0447E +:103B10000130C0243C001806000001C0C0241EFF74 +:103B20002FE178470000FF3001E20210A0E10324FA +:103B300083E1022882E188FFFFEA784700008024C1 +:103B400010E200006042413032E000106122A1C169 +:103B500070E02000003A3C005406000021C470E0F0 +:103B60000F00003A0004A0E1FF2482E321C270E0CC +:103B70001700003A21C470E00900003A0004A0E1F7 +:103B8000FF2882E321C470E00004A021FF2C8223DF +:103B900021C270E00E00003A3C009006000000C018 +:103BA00070E28300002A2004A021A1C370E08013EA +:103BB00041200220A2E021C370E000134120022036 +:103BC000A2E0A1C270E0801241200220A2E021C246 +:103BD00070E0001241200220A2E03C00CC06000070 +:103BE000A1C170E0801141200220A2E021C170E05B +:103BF000001141200220A2E0A1C070E0801041200D +:103C00000220A2E001C070E0001041200220B2E0DA +:103C1000E5FFFF2AC30F32E0A30F80E03C00080756 +:103C20000000001061221EFF2FE1784700000020F5 +:103C3000A0E3A1C170E02000003A21C470E00F00B1 +:103C4000003A0004A0E1FF2482E321C270E01700E3 +:103C5000003A21C470E00900003A0004A0E13C00F1 +:103C600044070000FF2882E321C470E00004A02183 +:103C7000FF2C822321C270E00E00003A00C070E2E7 +:103C80005000002A2004A021A1C370E0801341202D +:103C90000220A2E021C370E0001341200220A2E034 +:103CA0003C0080070000A1C270E080124120022089 +:103CB000A2E021C270E0001241200220A2E0A1C1D6 +:103CC00070E0801141200220A2E021C170E00011CB +:103CD00041200220A2E0A1C070E08010412002201B +:103CE000A2E03C00BC07000001C070E000104120D1 +:103CF0000220B2E0E5FFFF2A0200A0E11EFF2FE153 +:103D0000784700000A1040E2200140E0200280E0F5 +:103D1000200480E0200880E0A001A0E1002180E0F4 +:103D2000821051E03C00F8070000010080520A10A8 +:103D300081421EFF2FE130B4441C810708D0017876 +:103D40000130002902D1001B30BC70478107F6D139 +:103D50000B4AD50102C88B1A8B432B40FAD0001BAB +:103D60000A0601D103383C0034080000EFE70A04DA +:103D7000120E01D10238EAE70902090EE7D1013833 +:103D8000E5E7000001010101F0B4031C041C0C4331 +:103D9000A4070CD1104DEF0102E00431043A10C326 +:103DA000042A04D30C68661B3C0070080000A6437C +:103DB0003E40F5D0002A07D00C7801311C70013349 +:103DC000002C03D0013AF7D1F0BC7047012AFBD98F +:103DD000511E00221A7001330139FBD1F4E70101B1 +:103DE0000101784700000200A0E33C00AC0800009D +:103DF0000210A0E32EFEFFEA1F402DE900000FE1B4 +:103E0000C00080E300F02FE18100A0E30210A0E3F6 +:103E100001208FE212FF2FE100F0E6FC784700005E +:103E20001F40BDE8FEFFFFEA1F502DE93C00E808F7 +:103E3000000001008FE210FF2FE100F040FB784707 +:103E400000001F50BDE804F05EE21F502DE90100A4 +:103E50008FE210FF2FE100F018FB784700001F50A1 +:103E6000BDE804F05EE200BD01B500A000473C00E3 +:103E70002409000000300FE1C030C3E303F021E16A +:103E800001008FE210FF2FE101BD01B500A0004746 +:103E900000300FE1C03083E303F021E101008FE245 +:103EA00010FF2FE101BD000018009FE5041090E411 +:103EB0003C0060090000000051E30200000A0420F9 +:103EC00090E4002081E5F9FFFFEA0EF0A0E17C0913 +:103ED0000000000000004400000044000000D8037F +:103EE0000000D8030000D80300000000000000001C +:103EF00000003C009C090000440000004400000059 +:103F0000440000000080010000800100108E0100CC +:103F1000108E010088F8010001000000001004006C +:103F2000C433040000000400000000000E50A0E1B3 +:103F300058409FE53C00D8090000040094E40100CB +:103F400050E305F0A001041094E4042094E403007D +:103F500000EB040094E4041094E4070000EBF5FF88 +:103F6000FFEA010050E10EF0A001020051E104302F +:103F70009014043081143C00140A0000FBFFFF1A67 +:103F80000EF0A0E114209FE5002092E5010050E131 +:103F900004208014FCFFFF1A0EF0A0E1800900004D +:103FA000CC0900000008000020E60100130000001A +:103FB0005356435F000400003C00500A000020EE0E +:103FC0000100120000004952515F0002000020F27F +:103FD0000100110000004649515F8000000020F4FC +:103FE0000100170000004142545F00000000A0F4EF +:103FF00001001B000000554E445F3C008C0A00008D +:1040000000000000A0F401001F0000005553525FA3 +:10401000010000000E50A0E100600FE18C409FE520 +:10402000041094E4010051E30900000A040094E440 +:10403000011080E00310C1E3042094E43C00C80AAE +:104040000000C02082E302F02FE104D041E204200E +:1040500094E4130000EBF2FFFFEA06F02FE105F015 +:10406000A0E10E50A0E100600FE144409FE5041084 +:1040700094E4010051E30800000A040094E43C00C9 +:10408000040B0000011080E00310C1E3042094E45D +:10409000C02082E302F02FE104D041E2042094E446 +:1040A000F3FFFFEA06F02FE105F0A0E1010050E187 +:1040B00004208014FCFFFF1A0EF0A0E13C0A00006F +:1040C0003C00400B00000160C046C046C04670473F +:1040D0000000101E10EE020011E3FCFFFF1A100E8C +:1040E00001EE101E10EE020011E3FCFFFF1A1EFF8E +:1040F0002FE1101E10EE010011E30300000A101E54 +:1041000011EE3C007C0B0000001080E50100A0E3F4 +:104110001EFF2FE1000020E01EFF2FE18D46974695 +:104120007847C04678FDFFEA10B5041C032801D982 +:1041300000F0ACFB0C484068002800D003240B487A +:10414000016809483C00B80B00001230002905D076 +:1041500006216143405CC300181804E00621614356 +:10416000405C142358430A300006000E10BDD47A78 +:104170000100A869010080B5094A0949032000F03F +:10418000F2F9084908203C00F40B00000860486080 +:1041900007491D2001F0B2FC06491E2001F0AEFCCB +:1041A00080BD0000006C01003127000000100700F6 +:1041B0002925000031250000054980B508208860C8 +:1041C0001D2001F0BFFC1E203C00300C000001F05F +:1041D000BCFC80BD000000100700021C081CD12A96 +:1041E00080B501D105F019FC80BD034980B50020E0 +:1041F0000880052005F0D5FB80BDB074010080B5B6 +:10420000542801D106F0CDF880BD3C006C0C0000B4 +:10421000B0B5104D021C0124012A0D48296806D0B2 +:10422000C42A03D16A68002A05D0AC60B0BD0EF084 +:1042300089FB6C6008E00022AA606C600EF082FBD3 +:104240000021042012F0C8FC06F0D8F83C00A80CAD +:104250000000B0BD0000C4600100BC740100054A4C +:104260005169081A116909681031814201D85061F9 +:104270007047002070478C6E010001494968401A60 +:1042800070478C6E010001484069704700003C0097 +:10429000E40C00008C6E0100024A5169081850615C +:1042A000704700008C6E01000E490F4810B51922AE +:1042B000920141608918C1600B4900220C310160F4 +:1042C0000A49826009680123DB03C918084C41616F +:1042D0003C00200D00002168002902D0074901613F +:1042E00001E000F00CF8226010BD44DC01008C6E8F +:1042F0000100C809000034580100C4090000014849 +:10430000024908617047C80900008C6E0100082846 +:1043100005D23C005C0D0000034B8000195002499F +:1043200020310A5070470000646D010070B5061C12 +:104330000D480D1C0068141C002803D1201C00F03F +:1043400009FC70BD280601D500F022FE221C291CA4 +:10435000301C08F03C00980D0000DDFD011C0348F6 +:1043600054304369321CFFF71BFB70BD0000506DD9 +:104370000100F8B5061C0D481F1C0068151C0C1C1C +:10438000002802D1281C00F0E8FB200601D500F02F +:1043900002FE2A1C211C3C00D40D0000301C08F039 +:1043A000BDFD011C0348543043693A1CFFF7FBFA7A +:1043B000F8BD0000506D0100F8B5F1284ED12A4833 +:1043C00069468269FFF7EEFA274900265439C86822 +:1043D0008B68C2000130D5183C00100E0000072881 +:1043E000C86000D1CE6022486C680068002803D005 +:1043F0000021201C08F03BFB6E6025682089A9780D +:104400000239401AE978401A2081A8782818023821 +:1044100020606E782878082817D23C004C0E0000E7 +:10442000300607D5271C201C00F07AFC041C381C21 +:1044300000F09CFB28780F49403980000A58002A78 +:1044400004D0311C201CFFF7B3FA08E0052100E07E +:104450000421062000F010FA201C00F03C00880E19 +:10446000000087FB300601D500F0A1FDF8BD012159 +:10447000062000F004FAF9E70000A46D0100CC5C0E +:104480000100F8B51A4D194F01245435291C032099 +:104490007C60174B184A05F0F4FB002802D03C0062 +:1044A000C40E0000002038601FE03C600721281C7B +:1044B000EA69FFF783FA382000F080FC0024B86036 +:1044C000B868E60035186846022100F075FB2860E0 +:1044D000281C00F0A5FDB868815906485430026ACE +:1044E0003C00000F0000FFF76CFA0134072CEADBF8 +:1044F0000020F8603861F8BD0000506D0100819A1D +:104500000000619A0000054880B50068002805D0C9 +:1045100003485430426A0021FFF753FA80BD506DC2 +:1045200001003C003C0F00007047000070B50A4ECF +:10453000094D084C083EA169002907D03068416048 +:10454000007B81006958FFF73EFAF4E70349022037 +:10455000087070BD00100700E07E01000002070037 +:1045600070B50A4E3C00780F0000094D084C083E1B +:10457000E169002907D070684160007B81006958BB +:10458000FFF724FAF4E703490220087070BD001019 +:104590000700E07E010000020700B0B5094D041CD1 +:1045A000281C202240303C00B40F00000549FFF7D2 +:1045B0009FFAE068E86020692861A06AA8626068E4 +:1045C0006860B0BD7052010000100700F8B500240B +:1045D0000023202801DB012407E0084E8000355825 +:1045E000074FBD4200D02B1C3C00F00F00003150A3 +:1045F0001360002C03D0211C822000F052F9201CF3 +:10460000F8BDE07E010075750000B0B50B4D041CCF +:10461000286800280FD0201C12F0B7FD00280AD00F +:10462000217A287A0A070007000F3C002C100000AE +:10463000120F9042297201D00120B0BD0020B0BD00 +:1046400070780100F0B5424E051C306885B0002836 +:1046500063D000240020002D06D06978182903D1EA +:10466000E979012900D10120002845D03C006810DB +:1046700000000020B07281004A19937A5906890F10 +:10468000DB0604D5B37A01278F403B43B372D27A5D +:1046900013091207120F934205D301228A401443D3 +:1046A00001AA8900505001300428E4DBB07A3C00B4 +:1046B000A4100000204001070DD5410709D5C1070E +:1046C00005D5810701D5002405E0029902E0019992 +:1046D00000E003990491410709D5C10705D5810779 +:1046E00001D5002403E0029900E001990391C1077C +:1046F0003C00E010000005D5810701D5002401E051 +:1047000002990191800701D5002422E00F2C20D1CD +:10471000706800280BD0049A02AB00920ACB019A71 +:10472000281C0BF08AFB0020706010E017E0307A44 +:10473000297A3C001C11000000070907090F000F2F +:10474000884207D0049A02AB00920ACB019A281C37 +:104750000BF076FB287A307201200F2C00D000205D +:1047600005B0F0BD0120FBE7707801000D4A70B57F +:10477000116800203C005811000000290ED0117A69 +:1047800009060BD5537A947A032101252A1C8A4005 +:104790001E1C164003D0224001D1012070BDFF3104 +:1047A00009060916F2D570BD00007078010010B539 +:1047B000084C206800283C009411000004D0606878 +:1047C000002801D10BF0C0FB00200021002207C40B +:1047D0000C3C0120606010BD70780100014901208F +:1047E0000860704770780100F8B50E4D041C002079 +:1047F0006872201C12F0DEFC3C00D0110000002882 +:1048000012D00020032101220F1A161C237ABE4069 +:10481000334004D06B7A161C864033436B720130F0 +:104820000006000E0328EFD9F8BD70780100920051 +:1048300051188A7A1207120F02703C000C12000005 +:10484000CA7A1207120F4270CA7A12098270097B63 +:1048500081807047034A0F21527A0120914300D092 +:10486000002070477078010040070549400F054A55 +:104870000956527A01200A4000D100203C0048121B +:104880000000704700005E46010070780100124A87 +:1048900070B5537A947AFF20032101252A1C8A409F +:1048A0001E1C164014D0224012D10806000E07D05C +:1048B000012807D0022807D0032807D107203C0091 +:1048C0008412000070BD032070BD012070BD052062 +:1048D00070BDFF2070BDFF3109060916E1D570BD1E +:1048E00070780100F8B5041C13480D1C816800297C +:1048F00005D0017B002901D104734573F8BD0F4E2B +:104900003C00C0120000311C20318A7900AB1A70C3 +:10491000C97959704268002A07D020022843011C37 +:104920000020FFF77EF8002804D12A1C211C00205B +:1049300011F00FF800AB1888F084E2E70000885A05 +:1049400001003C00FC1200000010070080B50121AE +:104950008120FFF7CDFF80BD0149012088607047AD +:10496000885A0100054980B500208860087B00282E +:1049700002D0497BFFF7BCFF80BD0000885A0100D0 +:10498000024A011C3C003813000050685160704717 +:104990000000885A010010B50C1C07F064FA04618D +:1049A000002010BD0000FFB50E1C1F1C382081B078 +:1049B00000F03DFA1D49041C4869002801D14C61F2 +:1049C00000E0046030013C0074130000009000041B +:1049D000000C00F015FA051C0099FFF78BF8002079 +:1049E000731E04E001014A1910326A5001309842E6 +:1049F000F8D300012D503821201CFFF77BF8A5606B +:104A00006560E6850C2060863C00B0130000AF2096 +:104A10008001E0610E20E086002020600198E060C7 +:104A2000386860610399044808600448386005B03C +:104A30000020F0BD0000FC5A0100DD150100FD164C +:104A40000100021C081CF02A80B53C00EC13000099 +:104A500004D0F12A07D106F009FB80BD07F00CFA5B +:104A60000DF0A8FA80BD01210220FFF74DFF80BDA7 +:104A70000149002048617047FC5A0100002802D01B +:104A8000002900D0C1607047F8B5171C3C002814FD +:104A900000000E1C051C1C1C1C3007F0C8F8016926 +:104AA000426980688919891A814206D2231C3A1CFE +:104AB000311C281C00F005F8F8BD0020386020608B +:104AC000FAE7FFB585B0059801270E1C1C303C00A5 +:104AD0006414000007F0AEF8041C808804300390D2 +:104AE0002C48049080790290A069B04217D2351A00 +:104AF00011E00398FFF716FC002806D101218E2053 +:104B0000FFF708FF0025002705E02168016020600D +:104B10003C00A0140000A0690130A061013DEBD26F +:104B2000002F35D0A069801BA06120698019206109 +:104B30006169401AE168884203D907218E20FFF796 +:104B4000ECFE25682F1C701E019500E03F680138BF +:104B5000FCD23C00DC140000386820600298049904 +:104B600088712E682C60321D0092291C2031012290 +:104B7000281D059B08F07AFCBD4201D0351CF0E7EA +:104B800000203861019807990430086008980437BC +:104B9000076009B03C0018150000F0BD02980499A8 +:104BA0008871F9E700002010070038B5041C151CB7 +:104BB00000200C6009E0E268201C0092A38A2168B2 +:104BC000A26908F056FC201CE468002CF3D1286090 +:104BD00038BD80B50CE03C0054150000C2688A4224 +:104BE00008D10021C160002803D106218E20FFF7E3 +:104BF0009DFE80BD101C0028F7D0EFE710B5041C07 +:104C00000CD0A069002806D12069002803D006F046 +:104C1000F7FD00202061201C3C009015000006F0EC +:104C2000F2FD10BD000010B5002809D0C46803E0F3 +:104C3000FFF7E7FF201CF9E7002CF9D1FFF7E1FFB0 +:104C400010BD011C002004E00A89C9681018000486 +:104C5000000C0029F8D1704700003C00CC15000082 +:104C600000E0081CC1680029FBD17047F8B5061C9C +:104C70000C1C1C2000F068FA051C002E01D1002C31 +:104C800002D1301C012103E0201C00F05DFA00215C +:104C9000002200920A1C011C231C281C3C00081640 +:104CA000000008F0F2FB281CF8BDB0B503329208F2 +:104CB00092001404240C09191D1CC9180904090CBC +:104CC000FFF7D7FF018902681219091B491B02600F +:104CD0000181B0BD0000F8B50A4CA021201C3C00A9 +:104CE00044160000FEF72AFF0020261CA036074DC0 +:104CF00007E00C21414349190EC9271D0EC7203476 +:104D00000130A642F5D1F8BDD05C0100C83F0100DA +:104D1000F7B5C468061C0025002C82B023D020897A +:104D20003C0080160000904220D3E168871A019170 +:104D30000021E16003990020FFF7A1FF051C2089F5 +:104D4000C01B20812A680399301C00F016F82089C6 +:104D5000C01920810199201CFFF7B1FE211C281CDD +:104D6000FFF73C00BC160000ADFE291C301CFFF70D +:104D7000A9FE0120002D00D1002005B0F0BD0000EB +:104D8000F7B5041C0E1C002001E0201C0C1CE1687F +:104D90000029FAD12789B7420AD3B81B0004000CB6 +:104DA000208121683C00F816000009180298321C86 +:104DB000FEF7FBFEFEBDF11B0D042D0C002819D0E3 +:104DC0000189A94216D3491B0904090C0181006815 +:104DD000411802982A1CFEF7E8FE21680298721B0F +:104DE0004019FEF7E2FE3C00341700002089C01B8A +:104DF00020812068C0192060DFE703218E20FFF7A3 +:104E0000ADFDDAE7F8B5041C002613E02189002087 +:104E1000FFF73EFF051C228921680068FEF7C8FEE7 +:104E2000002E01D12E1C03E03C0070170000291C4D +:104E3000381CFFF750FEE4682F1C002CE9D1301C11 +:104E4000F8BDB0B5041C0089401A050420682D0C7B +:104E50004018291CFFF71FFF2189491B2181E168A8 +:104E6000C160E060B0BD10B503303C00AC1700007D +:104E7000094A810810683D24084B6401890009181B +:104E80001B19994201D8116010BD0F218020FFF736 +:104E90006BFD002010BD0000B4CF010014C801005C +:104EA00010B511F061FF041C03D10D213C00E8177F +:104EB00000008020FFF75BFD201C10BD0000B0B596 +:104EC000011F0B680D480022834204D001321030CC +:104ED000032AF9D301E0032A06D30924211C8020E8 +:104EE000FFF745FD201CB0BD054B00249A793C001E +:104EF0002418000085680D6081609A71F5E7000054 +:104F00002057010020100700B0B50021104A0023EF +:104F1000D468844204D201331032032BF8D301E069 +:104F2000032B01D304210EE00A4CA37990680028DA +:104F30003C006018000002D1A371032106E005685F +:104F40009560A371002901D104C0B0BD8020FFF796 +:104F500014FD0020B0BD2057010020100700A03034 +:104F6000008A4007400F08280FD201A31B5C5B009A +:104F70009F443C009C18000005030305070709092E +:104F800001207047002070470220704703207047BF +:104F900004207047B0B5104D6869002807D00E494D +:104FA00000222C3103C90143032006F0CFFF0B4C34 +:104FB000002203CC3C00D8180000083C0143032029 +:104FC00006F0AFFF03CC084307494A6802434A6032 +:104FD0008A681043886001206861B0BD0000647376 +:104FE0000100B058010010000700B0B50C1C0FF014 +:104FF000A8FA054DE86A3C0014190000002806D103 +:10500000002C04D0201C0FF0B7FD01202870B0BD8B +:10501000F46E0100054980B5886A002804DA002092 +:10502000886201210DF042FD80BD0000AC7E0100D0 +:10503000F8B51E4D041C00203C00501900006862A9 +:10504000A8701C480078C00722D5B82003591A4818 +:1050500000780E2809D10A1C803206D0184E0D2087 +:10506000325C8A4201DD0138FAD1591E0B061B0E53 +:10507000AB70AB620E280BD208E03C008C1900002C +:105080006218B032127B824202D8581AA86202E03B +:1050900001390029F4DA0EF035F9009000AB1878E8 +:1050A0005978814200D95878ED30E8700121201CF0 +:1050B0000DF002FDF8BD0000AC7E01003C00C819F7 +:1050C00000001D75010011670100C75201000E4963 +:1050D00010B508698B68C200D4186268002A0FD125 +:1050E00001300861072801D100200861201C00F070 +:1050F00024F8054821685430026AFEF7ECFC3C00B5 +:10510000041A000010BD06210620FFF74BFC10BD5D +:10511000506D010008490979C907084A08D400E020 +:10512000081CC1680029FBD101890431018100E01C +:105130000020D0627047000060800700046C01000E +:105140003C00401A000010B5041C19218901002000 +:10515000FFF7C5FD011C60602068FFF7E0FC606898 +:1051600021680830086010BD00000A2801DA042018 +:1051700004E0502801DA052000E00720044A1178F5 +:1051800038233C007C1A0000C000184099430843B3 +:105190001070704788000700B0B5051C07484068CC +:1051A00008E00169A94204D1446805F0C7FD201C4C +:1051B00000E040680028F4D1B0BD0000587501003F +:1051C000F8B500253C00B81A000006F084FD114F28 +:1051D000041CBE792068002807D1A0880430FFF79E +:1051E000F2F8002806D101210FE001682160A169D1 +:1051F0000139A16110C0051C20690130206161697D +:10520000401AE16888423C00F41A000003D90721E3 +:105210008E20FFF7D3FBBE71281CF8BD20100700BD +:10522000B0B509F0BBFF2F4C0028207403D001213A +:1052300001200AF071FC2B4D1435286800284DD050 +:1052400001210F2011F082FD3C00301B0000288955 +:1052500008F0FBFF011C01220F2011F040FDE07857 +:105260000125022836D10AF0C6F800280AD00BF032 +:1052700092FB1E490968401811F05FF8002801D11F +:1052800002202FE0E078022824D13C006C1B0000B3 +:1052900060702570606801281CD015481038817B2B +:1052A000002904D185730F20134910F001FC08F088 +:1052B0004FFE002807D00E4801219838006901F000 +:1052C000B7FD002805D001200EF00CFD3C00A81B06 +:1052D000000001200EF01DFCB0BD05F0DCFEB0BDED +:1052E000E078002801D12570F7E7032000E00420D2 +:1052F0000DF08DFAB0BD846601006C570100E90322 +:10530000010070B5041C002100200A4D00E03C00A3 +:10531000E41B00000131CB005A191679012E02D08E +:105320005279A24202D00B29F4D370BD0B29FCD2D2 +:10533000C80001215A192858117170BD3858010050 +:10534000054880B5007F2423044958434018006A6B +:105350003C00201C0000FEF7DAFB80BD0000D47981 +:1053600001009446010080B504F037FF002011F0E1 +:1053700084FC002080BDB0B5054C051C206BE16AA3 +:1053800002F0E3FD291CA06A02F011FBB0BDA46C81 +:1053900001003C005C1C0000B0B5031C081C141C80 +:1053A000002B0C4D09D06969890001310A04120CE7 +:1053B0002280291CFEF73EFC0AE0011C281C2288E2 +:1053C000FEF738FC2088012802D98008013868617E +:1053D0000120B0BD3C00981C0000206E0100F1B51A +:1053E00000980026C168086809891C2934D3C1883F +:1053F000FF23013399422FD10188C91A2CD141884A +:10540000082929D10179062926D14179042923D1F6 +:1054100000250024071C3C00D41C000018370BE0BA +:10542000A000411804310422381CFEF78BFB002831 +:1054300001D1012504E001340A494869A042EFD8AE +:105440000849087800280AD0012801D0022806D18E +:10545000002D04D10098C0683C00101D0000FFF72B +:1054600042FC0126301CF8BD0000206E01000148FE +:10547000406870470000206E01000249486001202A +:10548000486170470000206E010070B5041C0126C1 +:1054900003F0EFFA251C103500283C004C1D0000DD +:1054A00004D00020207703F0F1FB07E003F038FD83 +:1054B000002809D00120207703F0CEFC011C062231 +:1054C000281CFEF7C3FB02E0022020770026301CD8 +:1054D00070BD00000348807AC00703493C00881D66 +:1054E0000000C00F88627047000040900700A46C65 +:1054F00001000149012088627047A46C0100064840 +:10550000807AC107064AC90F91622021800700D422 +:105510000021A032117070470000409007003C004D +:10552000C41D0000A46C0100074A1268074B9B6968 +:105530001A4001D0012200E000220A600121002A65 +:1055400000D000210160704710000700A46C01002A +:10555000012202600A607047B0B50D1C011C583171 +:105560003C00001E0000041C0622281DFEF777FBED +:10557000211C5E310622281C0A30FEF770FB211C1C +:1055800064310622281C1030FEF769FBB0BDFEB561 +:1055900000251D72171C0E1CB26D0021921950328D +:1055A000D27A3C003C1E00001C1C5A720078321C4F +:1055B0008032C007C017013001900898029200287D +:1055C00001D1307F2BE037480068002800DD011C46 +:1055D0000198002802D00898012810D1029A906BF7 +:1055E000002806D03C00781E0000884201D9451AE8 +:1055F000013D7019B03003E0B56D013D70195030B8 +:10560000007B0FE0029A106A002807D0884201D977 +:10561000451A013D7019A030007903E0BD69013DD4 +:105620007819007FA0723C00B41E00000EF00CF848 +:105630000E2811D1A07A08F067FF00280CD07868F6 +:10564000002805D11B480025007808F04BFF02E038 +:10565000451E7819007AA072029A5069002817D066 +:105660000898012814D0A07A3C00F01E000008F031 +:105670004EFF00280FD00198002807D0022020728A +:10568000706C80194030C079607204E07D68013D23 +:105690007819007AA072029AA07A916908F051FFF5 +:1056A0002060029A607A916908F03C002C1F00008B +:1056B0004BFF6060A07AE0722573FEBDD47E0100CE +:1056C000905701000006000E002A8CB501D08A22F6 +:1056D00000E0882200AB1A800CF0C2F80190684606 +:1056E0000BF0BCFA8CBD0000011C08483C00681F90 +:1056F000000080B50068002809D049680220002910 +:1057000000D101200106090E002006F0D8FF80BD5F +:105710000000206701001CB50190041C443001AA60 +:10572000694611F0B8FD00280BD0A06900213C00AB +:10573000A41F0000C207D20F0220FFF7C9FF0021FB +:10574000201C0FF0D9FE1CBD04219820FFF772F930 +:10575000F9E700008CB500AB84211980054B021CD1 +:10576000181C998A0CF08EF8019068460BF07CFAB0 +:105770003C00E01F00008CBD0000707C0100704701 +:105780000000064980B5C96814234031897A044A6B +:105790005943891880000858FEF7E9F980BD707CEC +:1057A00001005447010080B50020FFF7D6FF80BDFF +:1057B00000003C001C20000080B512481149808A7E +:1057C0000A8B00210028C2B00CD1012A05D0022A80 +:1057D00015D000AB5A800E2207E0022200AB5A809F +:1057E000998004E000AB5A800D2200AB9A8000AB98 +:1057F0001880FF203C00582000009871D97168463D +:1058000000F0D1F942B080BD0000707C010010B5FD +:1058100009F05FFC002005F02AF9034CE08A05F04E +:1058200036F9201C0FF0B3FE10BD707C01001CB5D2 +:1058300009F04FFC07203C009420000000AB074C0F +:105840001880E18A201C0CF00BF8019068460BF0E0 +:1058500017FA201C0FF09EFE1CBD0000707C01009A +:1058600080B502219820FFF7F1F880BD10B5154CE6 +:10587000C2B0A08A002803D03C00D020000001283C +:105880001ED1022000E00120E168403188722069C9 +:1058900008F023FD021C0C4818388088E1680FF0DE +:1058A000A4FEA08A00AB18800120588000209880B8 +:1058B000FF219971D871684600F03C000C2100006E +:1058C0007BF942B010BD03219820FFF7C5F8F8E737 +:1058D000707C01007047000080B503480FF060FE47 +:1058E000002005F0CDF880BD707C010080B5024835 +:1058F0000FF056FE80BD0000707C01003C00482186 +:10590000000080B502219820FFF7A9F880BD80B57E +:105910000320FFF734FF80BD0000F0B5214E0027C3 +:10592000B18A301C002504240029008BC3B01ED18D +:10593000012807D0311C498B022812D100293C00D4 +:105940008421000007D1002405E000240125022065 +:1059500000ABD8801F810FF07FFF002C10D1F168C1 +:105960000520403188720EE000291AD100ABD880A2 +:105970000E2002E000ABD8800D2000AB188107E0BC +:105980003C00C0210000301C0FF013FE201CFFF76C +:10599000FCFE002D08D0B08A00AB9880FF209872E2 +:1059A000DF7201A800F011F943B0F0BD0000707C77 +:1059B000010010B5002005F06CF8044CE08A05F0F9 +:1059C00078F83C00FC2100000FF04CFF201C0FF089 +:1059D000F3FD10BD707C010080B50420FFF7D8FEF8 +:1059E00001480FF0E9FD80BD707C010080B5022008 +:1059F000FFF7CEFE012005F05FF802480FF0DCFD56 +:105A000080BD00003C0038220000707C010080B5A1 +:105A10000320FFF7C0FE80BD0000B0B51D4DC2B031 +:105A2000288B00ABFF21588099710021D971AA8A77 +:105A30000024012A18D12A1C528B02280FD1002AD7 +:105A400016D1032058803C007422000099802C1C41 +:105A5000FF22981DE969FEF73BF9E1680420403117 +:105A6000887210E0002A06D101240E2001E00124F2 +:105A70000D2000AB9880281C0FF0A4FD0420FFF738 +:105A80008DFE002C05D0A88A3C00B022000000AB9F +:105A90001880684600F0A5F842B0B0BD0000707CE8 +:105AA000010010B5002005F000F8034CE08A05F075 +:105AB0000CF8201C0FF089FD10BD707C010080B532 +:105AC0000420FFF76EFE01480FF03C00EC220000BE +:105AD0007FFD80BD707C010080B50220FFF764FE71 +:105AE000012004F0F5FF02480FF072FD80BD0000B8 +:105AF000707C010080B50320FFF756FE80BD0000DA +:105B0000B0B5194D0424A98A281C028B3C00282317 +:105B10000000C2B0012914D1408B042A0BD1002807 +:105B200000D100240FF0ADFE002C19D1E96805204A +:105B30004031887217E0002810D100AB5A800E2047 +:105B400002E000AB5A800D2000AB988019803C0029 +:105B500064230000FF2098710020D871684600F08F +:105B600049F842B0B0BD281C0FF038FD201CFFF7EB +:105B700021FEF6E7707C010010B5002004F09EFFC6 +:105B8000034CE08A04F0AAFF201C0FF027FD10BD93 +:105B90003C00A0230000707C010080B50420FFF7CA +:105BA0000CFE01480FF01DFD80BD707C010080B52A +:105BB0000220FFF702FE012004F093FF02480FF0DD +:105BC00010FD80BD0000707C0100B0B50A4D011CC5 +:105BD00044313C00DC230000041C0622281CFEF794 +:105BE00089F8EC60206903F097F8011C0622A818D8 +:105BF000FEF780F80420FFF7F7FDB0BD707C0100D0 +:105C000090B5041C808893B0002806D01549062260 +:105C1000488018313C0018240000881FFEF76DF8FA +:105C200068460CF014F82088012808D16088032801 +:105C300005D1A088002802D106200CA90870A079FF +:105C40000621FF2804D0E079002801D0011C08318A +:105C50000B2008AA50723C0054240000201C08F0BD +:105C60003BFF039068460BF031F813B090BD000085 +:105C7000587C0100074B1A78824201D0002907D0D6 +:105C8000FF201870044801880122520391430180CB +:105C9000704700004C7B01003C00902400003280E3 +:105CA000070010B5041C0C2307495843401800791D +:105CB0000AF04FF901200349A04008390A7810433F +:105CC000087010BD0000747A0100034A00211154CD +:105CD000800030321058017070473C00CC24000026 +:105CE000E07A010010B5041C052801D3FEF712FF6D +:105CF000201CFFF7EDFF0021201C0EF089FB10BDDA +:105D0000054980B58860087F242304495843085812 +:105D1000FDF76CFF80BD0000D47901003C00082530 +:105D200000009446010080B501219120FEF7C7FED6 +:105D300080BD024A11688143116070470000786E8F +:105D4000010080B5FEF7E9FE80BD80B5FEF7E5FEF7 +:105D500080BD80B500F031FA80BD034980B53C00BC +:105D6000442500000420886000F0D0F980BD0000C8 +:105D70000030070080B500F099FA80BD80B500F0D2 +:105D800099FB80BD38B5202815D20D4C221C20323D +:105D9000957900AB1D70D2795A700A4B82009950E8 +:105DA0003C008025000001218140084801604268D4 +:105DB0001143416000AB1888E08438BD0121FF2009 +:105DC000FEF783FEF9E70010070030740100004081 +:105DD0000700202809D20549064B82009950054A40 +:105DE00051683C00BC250000012383409943516069 +:105DF00070470000A97500003074010000400700E2 +:105E0000024A11680843106070470000786E010074 +:105E10000B48016803221204114301600168072244 +:105E2000120691433C00F825000001225206891811 +:105E300001600168120C11430160016852081143AE +:105E400001607047000080000700FEB51C4E051C75 +:105E5000B08AF26812D00124002909D1116D02AA7A +:105E600001ABFEF7F8FE3C00342600000298002843 +:105E700001D000240BE001AA02A9281CFEF770FF44 +:105E800005E0116D02AA002401ABFEF701FF0E49E7 +:105E9000081C2030827900AB1A70C07958703068C5 +:105EA000002802D1029830603C007026000002E019 +:105EB00002987268D060019800AB70601888C8843E +:105EC000F068C06CF060201CFEBD247E0100001054 +:105ED0000700F8B5041C54271D4E00203060706088 +:105EE00067433804151C000CB1823C00AC2600004E +:105EF000FFF796F8082130610026174A14E0031CCA +:105F0000243342610361C661018308330360B12316 +:105F10004360031C6433C3600C230381031C5433AC +:105F20004C3028C0013C181C002CE8D13C00E8266D +:105F30000000094E07223069D243C1195050021C9B +:105F4000103280398A63F060B06000210020FFF7D2 +:105F500088FF3069F060B060F8BD247E01009100D8 +:105F600005000148406A70470000E87D01003C00E0 +:105F7000242700000148008870470000FC6B0100E6 +:105F8000064980B508880130088005490820086066 +:105F900004498869886100F021F880BDFC6B01002C +:105FA0000010070000300700034A0120121D06CA36 +:105FB0003C0060270000914200D100207047E87D3E +:105FC0000100064800B5C07C002803D1FFF7EFFFB1 +:105FD000002801D0012000BD002000BD0000A080ED +:105FE000070010B5041C800702D506F03EFD03E053 +:105FF000E0073C009C27000001D506F0E3FD6007A8 +:1060000001D5FEF7ABFD10BD024A011C10681160FE +:1060100070470000E87D010038B5204D2C1C20346D +:10602000A07900AB1870E0795870FEF727FA00AB42 +:106030001888E8843C00D82700001A488178082294 +:1060400091438170817811438170174841688022A3 +:1060500091434160016811430160002001306428D0 +:10606000FCD3A0790F4D00AB1870E079104C58703C +:10607000201C103000F03C0014280000DFFB002042 +:10608000C043A061FFF79CFF002809D00A490869B6 +:106090000130086100203C318968486306F0EEFC5D +:1060A00000AB1888E88438BD001007000000070026 +:1060B000F4000700003007003C0050280000E87D95 +:1060C00001000A4880B5006A002801D0FEF7C1F936 +:1060D000074807493C30806810304861012008615A +:1060E0000549086880229043086080BD0000E87D73 +:1060F000010000300700F40007003C008C2800007D +:1061000080B50CF0CBFE06F0BFFC80BD0149C86233 +:1061100070470000E87D0100024A916A08439062DE +:1061200070470000E87D01001823064958434018D5 +:106130000021027903681A70013108303C00C82838 +:1061400000000329F8D370470000285201000349DA +:10615000002800D0011C024881627047000085754C +:106160000000046C0100F8B5FFF733FF284F00284A +:1061700004D0FFF7C8FF386A01303862F86A3C0083 +:1061800004290000002802D0018904390181386BFC +:106190000025002808D00B203D6310F0E5FA1E49C9 +:1061A000086821229043086038783C211B4A41430B +:1061B0008C18FF22796A3A7000290CD0B969013134 +:1061C0003C0040290000B9617D62BD68002D04D00B +:1061D000636B7A6B0021FDF747FDF8BD042803D3FC +:1061E00001218420FEF7A1FC3869261C01303861AA +:1061F00020363078022803D00C218420FEF795FC4D +:1062000035703C007C290000A1690029E8D0636B4F +:10621000303420780C1C00217A6BFDF727FDDFE776 +:10622000046C0100F400070018DB010010B50B4CF2 +:10623000606A00280ED00A4800F012FB002060625D +:10624000A468002C3C00B829000005D07E23DB4365 +:1062500000220121FDF70DFD10BDE0690130E06174 +:1062600010BD046C010000300700094841683F225E +:10627000120491430D2212048918416041680122E1 +:106280005202914341603C00F429000003488178A8 +:1062900081708178817070478000070000000700DE +:1062A000F0B50125082400200E4A0F4900263C23A2 +:1062B0004343D1529B185D719B605E611C82C02775 +:1062C000DF602027FE549E613C00302A000030270A +:1062D000FE54074F3F182037013005289F63E9D34C +:1062E0000548FF3201329062F0BD18DB0100BEBAF2 +:1062F000000030800700066C0100014948607047CB +:106300000000046C01000549085C3C006C2A000098 +:10631000054949684018C006C00E0449203048723B +:1063200070470000A0570100046C010000800700C6 +:1063300080B515218420FEF707FC80BDF8B54348E1 +:1063400084680334424D04E0201C10F03C00A82A6D +:106350000000B9F8002871D12869C007F7D53E4878 +:1063600028603E4A141C2034207900903C233C498C +:10637000584345182879FFF7CCFF281C3A490830C4 +:1063800048600126081C0660686A00280DD03C00A1 +:10639000E42A0000A96A926A354B9F68D71B1A68E5 +:1063A000511879188A425A6800D800E0013206C0B4 +:1063B000E86AFEF787FF2D49E86A4860301C0E60E6 +:1063C00066791FE02B484661047F2949201C50391B +:1063D0003C00202B0000896AFDF75AFC009884429B +:1063E00010D03C202249604340188769002F09D013 +:1063F0000021203001707E23DB4302210022201C7B +:10640000FDF74CFC0120A0408643002EDDD1E96958 +:1064100000293C005C2B000003D03020405DFDF7DC +:106420003AFC164C503C606A002803D00A218420B4 +:10643000FEF796FB20352878012803D00B21842015 +:10644000FEF78EFB02202870E068013000E007E0D4 +:10645000E06000983C00982B00002070009860706D +:106460000A4800686063F8BD0000000107000040B2 +:106470000700010000013080070018DB0100003038 +:106480000700546C010000A00700786E01003C2258 +:106490003C234A4309493C00D42B0000B0B55418B2 +:1064A00058434518211C3822281CFDF7E5FCA06B39 +:1064B0000078A96B0870002020342070B0BD000067 +:1064C00018DB01003C230749584310B54418203419 +:1064D0002078022803D10D213C00102C00008420DC +:1064E000FEF747FB0020207010BD18DB0100FFB550 +:1064F0003C2048431A4981B04418261C2036307885 +:10650000151C0F9F022803D104218420FEF731FBC4 +:106510000120307025710B9930223C004C2C00007A +:1065200061800A99E1620D99A1610C99E1610E996E +:106530006162A762019911557E21C9436163049983 +:10654000002900D10020061C281C08F08BF8002828 +:1065500001D0022000E00020A16B30433C00882CD9 +:106560000000087005B0F0BD000018DB010080B528 +:1065700014218420FEF703FB80BD0148407870475A +:106580000000046C010002480069C007C00F70479A +:10659000000000400700011C3C23044A59433C0012 +:1065A000C42C00008918203109780120002900D06E +:1065B0000020704718DB01000848406A00280AD113 +:1065C000074A002120239B5C022B04D001313C327E +:1065D0000529F7D37047012070470000046C0100C3 +:1065E0003C00002D000018DB0100F8B50E1C041C57 +:1065F000171CFEF782FE201C114C606001202060F9 +:10660000104D686901306861686A002803D007216D +:106610008420FEF7BAFAA068400703D5062184203B +:10662000FEF73C003C2D0000B3FA08480069002842 +:1066300003DAAA218420FEF7ABFA02206862AE607A +:106640002F70F8BD00300700046C01000040070007 +:10665000044A518010710348034908304860012002 +:10666000086070473C00782D00003C6C0100003051 +:1066700007000021002305E002894360C06851182B +:106680000904090C0028F7D104310804000C7047F4 +:106690000000024A516B0843506370470000046CCD +:1066A000010038B50A4C3C00B42D0000221C2032F9 +:1066B000957900AB1D70D2795A7003684068064A1C +:1066C0005065054813655030816000AB1888E08440 +:1066D00038BD000000100700046C010098B50D4C97 +:1066E000201C2030817900AB3C00F02D0000197097 +:1066F000C07958700A4800F0ECF809490020486257 +:10670000FFF769FF002803D012218420FEF749FA21 +:1067100000AB1888E08498BD00000010070000302E +:106720000700046C01000348017A3C002C2E000095 +:10673000FE2291430A310172704700000080070079 +:1067400090B50E4C85B0A078022814D10320A0701B +:106750000B4900200022049202900391E18801225B +:1067600001920091617820782269E3683C00682EEC +:10677000000008F094FD044809F07FF905B090BDD1 +:106780000000B4790100ADB6000071B60000B0B5EC +:106790000C4DAC790C490978002903D001290ED0A1 +:1067A000022908D1C288002A09D0012381683C004F +:1067B000A42E000002200FF0C1F803E00221862081 +:1067C000FEF7F8F9AC71B0BD20100700A079010008 +:1067D00080B5026807494A600379CA78CB700079AE +:1067E000904206D003481430008907F027FE06F0D7 +:1067F0003C00E02E0000ABFA80BD8466010070B55D +:10680000164C154DA0780026983D012803D1286923 +:1068100008F0FBFCA6706068012803D000212869FD +:1068200000F0FFFB0E4829690CF031FA01200CF052 +:10683000E4F83C001C2F0000E078012802D0012081 +:10684000607000E06670064814304168012906D186 +:106850000660416F002902D00020FDF74CFA70BDA0 +:10686000846601003463010030B500220023012555 +:106870002C1C94403C00582F0000044001D0CA5406 +:10688000013301320E2AF6DB181C30BD0000FFB5C3 +:1068900001270026051C022081B00090002D18D091 +:1068A0002878FF2815D0002410E0281980780A994C +:1068B000002901D001063C00942F000008D507F004 +:1068C000E9FE0E2803D0012181400E4300E000279D +:1068D00001346878A042EBDC0098029D01380090FA +:1068E000DFD10398311C814302D003980640002772 +:1068F0000498066005B0381C3C00D02F0000F0BDA5 +:10690000000002210160642101E0013902D0026827 +:106910009207FAD40120002900D10020704710B559 +:106920000020C443054B022201015A50C9188C6053 +:1069300001300828F8DB10BD00003C000C300000DE +:1069400000300700F0B5051C6035C76A041C287BC1 +:10695000002F8BB015D0082815D202A31B5C5B005A +:106960009F4400000704040709090C0C01260021BC +:1069700009E0002606E00226022104E03C0048303F +:1069800000000326032101E0042601218C22125974 +:1069900007912649069004910020039005970892DC +:1069A000E0692269211C7031019121490090700039 +:1069B0004018603002920388591C01801E483C0038 +:1069C000843000000288A1680AA809F0E1FF606035 +:1069D000E87AA16AC9070007000EC90D0843616A79 +:1069E0002269C907890D01430120002A00D1002036 +:1069F00080030843216AC9030843082108430A9910 +:106A00003C00C03000000880201CFEF798FE206982 +:106A1000002804D1201C0AF082F90BB0F0BD807967 +:106A2000062801D9FEF70FF9206906498079800010 +:106A30000958201CFDF774F9EFE7792F0100C469AC +:106A400001003C00FC3000000861010074570100A7 +:106A500010B5041C58308AB00EF07CFE221C803227 +:106A60005168002901D0117A07E0002804D080691C +:106A7000800701D5032100E00121D2680791224956 +:106A8000002008923C003831000004910022059259 +:106A900006900390E06922690090211C70311C4827 +:106AA000019102920389591C01811A480288A16848 +:106AB00009A809F076FF60606B20005DA16A226979 +:106AC000C9070007000E3C0074310000C90D0143E6 +:106AD0000120002A00D10020800308430999088082 +:106AE000201CFEF735FE2069002804D1201C0AF086 +:106AF0001FF90AB010BD8079062801D9FEF7ACF85D +:106B000020690749807980003C00B03100000958B5 +:106B1000201CFDF711F9EFE70000BD2F0100246AEA +:106B2000010008610100745701003EB5051C0069B1 +:106B3000042107F0D2FA002809D042780232011C61 +:106B40006846FDF788F9E86A6C463C00EC310000C5 +:106B5000029000E00024281C143002F003FB0028FF +:106B600004D0211C281C05F0A5FE3EBD002CFCD045 +:106B70000249201C4969FDF7E2F8F6E7447D01006F +:106B800070B51E1C18235843064B049D3C00283248 +:106B900000001950C418002060616260A660E560C2 +:106BA0000FF0B9FD206170BD0000B87D0100024A00 +:106BB000011C9069916170470000447D010001480B +:106BC000406B70470000447D01000449044B3C00C9 +:106BD00064320000CA6809695C3B5B68C91A4143BA +:106BE00050187047A07D01000148007870470000F0 +:106BF0007869010080B506220149FDF735F980BDAD +:106C0000FE670100F0B589B00093164F131C0E1CEF +:106C10003C00A0320000041C3A1C01F062FF01A9F4 +:106C200006A8A26802F00BF901AA06A9381C636A3B +:106C300002F081FC051C012814D10C48FC21C8512C +:106C4000381C02F00CF80321301C07F052FA00281F +:106C500007D03C00DC320000807800F033FC201CC0 +:106C600010300EF047FD00E00025281C09B0F0BDF3 +:106C7000F4670100C138000010B5074C0648062231 +:106C8000211D0838FDF7F6F801F0FCFF00F042FC8A +:106C9000201C02F03C001833000027FC10BDF467F4 +:106CA00001000849C96800290AD0064A0132517812 +:106CB00012784843002A01D108187047101870470D +:106CC000013070470000447D0100044B0549002855 +:106CD0005A6900D0011C3C0054330000101C59615B +:106CE00070470000447D0100B9750000074900208D +:106CF0000A78022A09D10A7C002A05D1CA68002A2A +:106D000003D04969002900D001207047786901004B +:106D10000C4A80B5012151603C009033000009F01D +:106D20006AF809481C308169002907D00023836173 +:106D300000220021002000F0D2F880BD00220021B6 +:106D4000034800F05CF980BD00005C69010051352A +:106D50000000B0B50C1C012816D13C00CC3300005B +:106D60000E4D022C09D100F02BFA00280ED06869D4 +:106D700000280BD1211C13200CE0032CFAD100F0C9 +:106D8000F9F9002802D0287C0028F3D0B0BD211CDE +:106D90000006000E04F062FCB0BD00003C000834A8 +:106DA000000078690100B0B50C4C002525746561C0 +:106DB000E56000F03CFA00F034FA07481C38056141 +:106DC00009F033FF2078002802D104F06EFAB0BD3C +:106DD0000228FCD104F0A5FBB0BD786901003C009D +:106DE000443400000C4880B50178002912D0C068F6 +:106DF00000280FD108481C38406900280AD10748EC +:106E00000068002806D000220721102010F0A0F909 +:106E100002F02CFC80BD000078690100D4670100FD +:106E20003C0080340000F8B51D4E1C4D041CF06879 +:106E300002271C3D002807D0E868002804D0FDF791 +:106E4000C2FE002800D0BC43002C14D03770F0687C +:106E5000144F002810D0E00717D4FDF7B4FE002827 +:106E600013D03C00BC3400007069002806D1E868EB +:106E7000002801D0FDF71AFF0DF00AFAF8BD686985 +:106E8000002805D109480068002801D0012C04D150 +:106E9000391C201C0EF052FDF0E704F01DFB02F03F +:106EA000EBFBEBE73C00F83400007869010050C3CD +:106EB0000000D467010005484169002904D0406AF8 +:106EC000002801D001207047002070470000786939 +:106ED000010010B5041C0649002048600860886065 +:106EE00008F09BFF07213C00343500001220227976 +:106EF00010F03AF910BD00005C6901000149012061 +:106F000008607047E8670100F8B5071C0E1C08F020 +:106F1000A3FA134D041C6868002817D0002F02D074 +:106F2000A868032813D300203C0070350000A86037 +:106F30006860211C0F200EF0F0FE2868002803D0A6 +:106F4000002C06D1012002E0012C02D10020FFF725 +:106F5000FAFEF8BD721C0021044800F068F8A86829 +:106F60000130A860F5E75C6901003C00AC35000029 +:106F7000513500000A4980B5CA68002A0BD0426822 +:106F8000002A09D000224A6202680A6202680721C8 +:106F9000172010F0EFF880BD0120486280BD00008E +:106FA0007869010070B5144D846CE9683C00E835DF +:106FB0000000002917D04030EC614078002801D152 +:106FC00001206862286A0E4E001BB0420CD208F005 +:106FD0003AFE296A401AB04203D202220721132046 +:106FE00009E004F0B6FA70BD0748A9680BF03C0050 +:106FF00024360000BDFE221C0721162010F0C0F828 +:1070000070BD000078690100A086010034630100B2 +:107010000A4980B500208861086900280CD007481B +:107020001C300078002807D001F0D2FF022803D1DD +:107030003C006036000000F012F900F0BCF880BDA2 +:1070400000005C690100F0B5061C0C1C151C91B019 +:1070500001A84021FCF70DFF00216846FDF7A7FFBE +:10706000049001A806220849FCF731FF062202A875 +:1070700002303C009C3600000649FCF72BFF00ABB9 +:10708000DC760C95311C01A807F04EF811B0F0BD6C +:1070900012610100F8670100031C081C191C114B48 +:1070A00080B506D0042111800422191CFCF712FFC0 +:1070B00016E004223C00D8360000011C181CFCF726 +:1070C0000CFF09481038006900280CD007480C3024 +:1070D0000078002807D001F084FF022803D100F0D7 +:1070E000C4F800F06EF8012080BD6C690100F8B5AD +:1070F000041C0F1C00253C0014370000002601F082 +:1071000073FF02282FD11949012F086807D1021CEB +:1071100022400AD120430860A04206D104E00028A2 +:1071200003D0A043086000D10125486800281AD187 +:10713000002D17D0012048603C0050370000381C5B +:1071400008F089FE0B481C308169002907D0002314 +:107150008361002200210020FFF7F1FE06E00022FB +:1071600000210448FFF77BFF00E00126301CF8BD3A +:1071700000005C690100513500003C008C370000C4 +:10718000031C081C191C124B80B506D00421118069 +:107190000422191CFCF7AAFE18E00422011C181C8A +:1071A000FCF7A4FE0A481030C16800290ED0007810 +:1071B00000280BD001F01EFF022807D13C00C83781 +:1071C000000000F064F800F02EF8002801D109F06A +:1071D0007AFD012080BD6869010010B50A4C206964 +:1071E000002809D0A169002906D17D21C9004143A9 +:1071F000032207200FF0E1FE2169012000293C0055 +:107200000438000000D1002010BD00005C690100BE +:1072100010B5054C002803D0FDF79AFCE06010BDC6 +:1072200001200021E16010BD786901000A480A4987 +:1072300010B5C0681C39C968002803D0002901D0E6 +:107240003C0040380000012400E00024002C03D062 +:10725000022207200FF0B7FE201C10BD0000786945 +:10726000010010B5094C0020216900290CD0064905 +:107270001C310978002907D000F009F80120A0612D +:1072800020693C007C3800007D23DB00584310BDA2 +:107290005C69010080B5032107200FF0D1FE80BD9D +:1072A00080B5022107200FF0CBFE80BD064880B5D7 +:1072B0000078002801D0FDF729FD002207211120C8 +:1072C0000FF07CFF3C00B838000080BD00007869FA +:1072D000010010B5041C101C064A516100F0A3F80F +:1072E0001020002C00D11120002207210FF069FF8F +:1072F00010BD5C6901000149486270470000447D8F +:10730000010010B5094C3C00F4380000E069002889 +:107310000CD1E0620120E0610BF008FD0BF074FE7F +:10732000012000F0B5F80FF04DFA606310BD0000C9 +:10733000447D0100054980B50020C861886300F0E4 +:1073400089F800F001F902F03C003039000091FBAF +:1073500080BD447D010010B5012838D10806000E1B +:10736000052832D11D4C2078012809D002281BD0D5 +:1073700003282AD102F07DFB00F06FF8012010E015 +:107380001748216B0BF01BFD0BF03C006C39000023 +:1073900041FE15480069032801D3C00703D5012128 +:1073A000206B07F019FF022000F078F810BD0F489D +:1073B000006820640A485C30C16802698918C160AD +:1073C00003F0CCFC032000F069F801203C00A83950 +:1073D0000000E06210BD092100E008210920FDF74E +:1073E00076FC10BD0000447D010034630100F468A8 +:1073F0000100786E0100B0B50F4C2078651E0128A1 +:107400000FD10020FFF7A1FC0C49098849083C0076 +:10741000E4390000401A0FF019F9002804D0287848 +:10742000012807D0022805D02078002804D1287828 +:10743000032801D10120B0BD0020B0BD457D010071 +:10744000F46701000149C86470470000447D0100F1 +:107450003C00203A00000449054A8968126D012069 +:10746000914200D3002070470000F4680100447D81 +:10747000010010B5064C206B07F0F9FEA06B002848 +:1074800003D10348216B0BF092FC10BD0000447D3A +:1074900001003C005C3A00003463010004480078BD +:1074A000022801D0032801D1012070470020704735 +:1074B000447D0100F8B5071CFFF7D0FF061C012F23 +:1074C000264D1FD0022F45D0032F12D12448254B23 +:1074D00000696A693C00983A000041085A43234B0E +:1074E000D4188C4200D90C1C002E05D01E495B39E3 +:1074F0000978002900D1041C0522211C09200FF065 +:1075000080FD184A5C3A1770F8BDFFF7D6FB0028DB +:1075100002D0286900283C00D43A00000ED004F0C4 +:10752000CFFB134B6969114A59435C3AD26B8918F6 +:10753000884201D9441A04E0002402E004F0AEFDC0 +:10754000041C002EDBD009485B3800780128D6D116 +:10755000084B9C4202D958423C00103B00002418C2 +:10756000D0E70024CEE704F0AEFBCAE70000F468E1 +:107570000100A07D0100983A00008813000080B54A +:10758000052109200FF07DFD02490020087080BD13 +:107590000000447D010070B5061C3C004C3B00001F +:1075A0000DF0BCFAFFF7CEFE094C0A48216B0BF038 +:1075B00021FC012501213006000EA56307F03AFEEB +:1075C000054829020958002900D1056170BD000055 +:1075D000447D010034630100F46701003C00883BF6 +:1075E0000000024A116C0843106470470000447D9B +:1075F000010080B5FFF7BFFE0BF0A1FB80BD024A82 +:10760000011C1069116170470000447D0100F3B551 +:10761000061C002089B0F84C0890E26908253C005F +:10762000C43B0000002A03D006A907A8FCF706FC0B +:10763000301CF34E0027203682286FD015DC01283D +:1076400018D080286BD1EE4D803DA868012867D105 +:1076500068680FF01BF8002863D1012101200DF0AC +:107660003C00003C00009DF808F0DBFD0BB0F0BDD5 +:1076700083286DD0842855D1E7E00A980A2804D2DF +:1076800003A31B181B5A5B009F44F6E00000EE00AA +:107690000B00F700F700F700F7002F0088008B00C1 +:1076A000AD003C003C3C000000F056FE002817D026 +:1076B000D64A803AD16A0698814216D0062100281F +:1076C00000D107210D062D0E00280ED0CF4A012033 +:1076D000803A50650FF0A0F8CC4A803A506604E03A +:1076E000002116203C00783C00000FF0DCFC012556 +:1076F000022005902EE2C6488038406D00282ED02A +:10770000C6492069C44D40180EF0C1FF002812D0B0 +:107710000FF085F8C14949424018BD4920618039C0 +:10772000486E40190EF03C00B43C0000BBFF00283E +:1077300011D00AE0F7E017E2B2E0B0E0B649206904 +:107740008039496E401AA84205DBB349B54D8039EE +:107750004F6503F027FB0622291C16200FF072FC50 +:1077600047E095E000F0FEFD3C00F03C0000002802 +:1077700042D1AA4DC43DEF6008F019FD03F015FB9E +:10778000A86A002802D0FFF74CFFAF62A4488038F7 +:1077900000680021FFF7F9FC08F03FF909211620E5 +:1077A0000FF087FC0022162183203C002C3D0000B6 +:1077B0000FF040FDFFF786FC21E000F01BFE1EE00D +:1077C00006F054FA974D803DA96F401A0490069830 +:1077D000002801D0AF6502E0A86D002808D19148CB +:1077E000C4380078800703D5924847603C00683D64 +:1077F000000000F002FE0498FF382338142802D25B +:107800000120E86353E0EF6351E0874AB57A803A9C +:10781000002D4CD00DF071FF00F0ADFD071C82482B +:107820008038406FFF305F300EF03DFF021C3C009F +:10783000A43D00007E488038406D00281AD100F039 +:10784000F1FD002816D1042D02D1002F12D11BE02A +:10785000002F06D0022D14D079484068002809D0A6 +:1078600012E0002A10D14B21C90001230922162061 +:107870003C00E03D00000FF0D6FC6E4A7348803AB1 +:1078800011680BF0D8FA18E00121002001E0012175 +:10789000012000F02AFE10E0674A6C49803A906EA1 +:1078A00040189066012508958BE104216CE1614A3E +:1078B00066483C001C3E0000803A11680BF0AAFAB2 +:1078C00088E1AF60A86FE8676348016DA967079A10 +:1078D0001420002A00D1002008181230A866707801 +:1078E000B0703078707002203070A069FCF7C2FA76 +:1078F000EF64A86F3C00583E0000E96F594B401AF6 +:10790000984212D2686D069988420ED030780228CB +:107910000BD80EF09CFFA96F0822401A5249091A91 +:107920003B1C16200FF085FC00E0AF6501200590A0 +:107930000890434802253C00943E0000C438C168CA +:10794000002972D10121C1604948006B00286CD028 +:1079500008F066FC69E03C480022019280388068AB +:10796000012804D1384880388760012048E13A482E +:10797000012343603448C4383C00D03E0000007806 +:1079800000280AD100F025FE002806D0FF21913101 +:107990000123092216200FF052FC2C498039486F30 +:1079A000896F421A039206F076F928498039896F67 +:1079B000039A401A0290372000013C000C3F00005F +:1079C000101A50280DD223488038406D002804D169 +:1079D0000298FF385538142801D2012200E0002215 +:1079E0000192039A0120FF3A0B3A502A00D300205B +:1079F000049000280AD017488038C06F3C00483FE8 +:107A00000000081A9B21C900401A142801D2012243 +:107A100000E000220092002A11D00F4D0120803D8D +:107A200068650EF020FF68660125012116200FF021 +:107A30005EFB002116200FF05AFB00E0BAE03C008C +:107A4000843F0000F07902283CD8054A803A516C06 +:107A5000002937D1136C111C002B33D116E0000024 +:107A6000246D010050C30000C05C15007099140023 +:107A7000B057010034630100E204000000900700E9 +:107A80003C00C03F0000530700001E020000C85722 +:107A900001004A6D002A02D0B27A022A15D1009A5A +:107AA000002A03D0CA6D0132CA6500E0CF65019A91 +:107AB000002A0BD08A6FCB6FD21A5A4B9A4202D24D +:107AC0008A6D3C00FC3F0000013200E001228A6523 +:107AD00000E08F650499002901D102280BD9544A8E +:107AE00002281ED9D06F616888421AD1916F081A96 +:107AF0005049884215DD4E4B986FE168401A7D2150 +:107B0000C90088423C00384000000BDD6169401A22 +:107B1000002804DD021140111018401801E0801007 +:107B200008186061586FE0600398FF382338142804 +:107B300009D20298FF382338142804D23E4A906FA5 +:107B40005064906A90643C00744000000EF09AFE0D +:107B50003A49496C401A3B49884201D937494F6438 +:107B6000394903984018142807D23449C86B0028B3 +:107B700003D0886F0864886A88640EF083FE2F49FA +:107B8000096C401A314988423C00B040000001D9DC +:107B90002C48076404200590082116200FF0B9FA3C +:107BA0002848406D002802D00499002908D02949AE +:107BB000002800D129493B1C062216200FF057FB54 +:107BC000022D09D0062D0AD0072D3C00EC40000004 +:107BD00013D107E001211620FDF7D6F81EE01A4A5E +:107BE00057639763184A0698D06207991163536BDD +:107BF00018435063906B084390630598002805D0A4 +:107C000005980CF05FFA05980CF0D2F93C00284179 +:107C10000000082D05D00D4844388570281C03F05D +:107C2000DCFD1149E069884200D161E5089800282F +:107C3000FBD0B07A0228F8D1012116200FF06FFA9C +:107C400002200DF0E8FE53E50000530700003C0061 +:107C500064410000A46C010020A10700204E000038 +:107C60003FFBFFFFA086010050C30000C05C150071 +:107C7000F11D00007047000070470000F8B5214872 +:107C80000068214D6969084001D1012700E0002703 +:107C90003C00A04100001D4D0126696A002900D06A +:107CA00000261B4D1A482C1CA030027A281C40309C +:107CB00080341023B74210D10125C580002900D09F +:107CC00000231A43111C017301200EF088FE0820C6 +:107CD00020703C00DC41000000221621802013E0CF +:107CE0001127C7802E1C0B4D002900D100231A43F9 +:107CF000111C017301200EF075FE08202070306DFC +:107D000000221621686782200FF0D0FAF8BD00002B +:107D1000100007003C0018420000A46C0100009015 +:107D20000700B0B50F4D041CAA7A0121081C002AD7 +:107D300000D00020002C00D0002188420AD0002C66 +:107D400004D100F042FB00F0D6FA03E000F0D9FACB +:107D500000F009F8A87A3C00544200000249E439D6 +:107D60004871AC72B0BD0000446D010080B53EF0BA +:107D700055F802490120087080BD0000687E0100AE +:107D8000F3B501208DB00F1C012408900EF092FD78 +:107D9000061C00F0B5FA09903C009042000000F08B +:107DA00080FB0790FEF73FFA051C00210C9108F0BC +:107DB000F0FB002801D1012000E000200A90FEF72E +:107DC00012FD05F0E0FE0B90002D23D0288841071E +:107DD00020D4291D04910A3500063C00CC42000045 +:107DE000800E01212028039500D000210D1C04984D +:107DF00006F038FD0C90049806F010FD002808D01D +:107E0000039801F087FA002803D0002D01D101204A +:107E100000E000200C9901430C91FCF73C00084362 +:107E2000000023FF00282FD007F099FF051C07F062 +:107E3000B2FF0490FFF7F3F80C990143002D06D030 +:107E40000498F04A301A904201D2012000E000204C +:107E500008430C900B980A9B1843011C0B913C00A3 +:107E60004443000005F0CEFE00281AD1002D06D0B4 +:107E70000498E749301A884201D2012000E000202E +:107E80000C990843051C00F01FFB284303E000F099 +:107E90001BFB0C9908430C9000F0D4FB0B99014399 +:107EA0003C00804300000B91DC49C868002801D0E9 +:107EB0000138C86008F0E7FB069008F090FD311A21 +:107EC00005910699D648814208D8002F08D1059916 +:107ED0004008814204D90699814201D900248BE0EF +:107EE000D0483C00BC4300000599D04D814226D2C9 +:107EF000E879102806D2002F21D1CC48A038806A1A +:107F000000281CD109F062FF0490002802D1002053 +:107F1000C34913E009F010FE002803D0C448C0692B +:107F20000028F4D03C00F84300000498052803D052 +:107F3000C148006A002865D1BB49486A002823D09F +:107F40000138486200F087FF002811D0BB4805992E +:107F500081420DD201F09BF804300DF0EEFC403070 +:107F6000C17A01294ED03C0034440000807A0028B8 +:107F700001D0052849D301F0DFF8022810D0002FE6 +:107F800002D10698002840D10020089082E1AA483A +:107F9000A038C068002838D0A8488069486234E01A +:107FA0000AA903C9084345D03C0070440000A34817 +:107FB0002978A038022940D8406D00280AD09F486F +:107FC000A2492038C06840180EF0C7FB002801D035 +:107FD000012100E00021964A906A002802DA640834 +:107FE00064002AE0002909D1954B3C00AC44000014 +:107FF000A03B5B6D002B02D005280DDB01E00728BC +:108000000ADB0120C043906264088E4964000020AE +:10801000A039886514E0D1E0394311D18949A039EC +:10802000CB6D002B02D1896D012909D93C00E844B0 +:108030000000079B002B01D1072801DB64086400C6 +:1080400001309062BDE07D4988690490002088611C +:108050000C9800282CD007F066FC002802D00220E3 +:10806000044325E07A48C06A002804D177483C00E0 +:1080700024450000A038C06800281CD104980028BE +:108080000DD12878102802D3E878022802D928795F +:10809000102804D304246B4901228A6194E06C48BF +:1080A000A038406D002871D005F0A2FD00286DD0E9 +:1080B0003C00604500006408640088E0FFF75BFA5C +:1080C00000281AD068480078022801D1002F14D166 +:1080D0000020FEF770FE301A0490FFF76CFA0028BB +:1080E00007D0FFF71EFA002803D05D4904988842A4 +:1080F0004FD33C009C45000005F06CFD00284BD19F +:1081000053490878032808D188680122D207301A19 +:10811000904241D201220A7057E054480078022868 +:1081200001D1002F51D14A4988685149801B8842AA +:1081300007D901203C00D8450000FEF742FE7D2112 +:1081400009014018444988604A480078022804D14F +:10815000079B002B01D1012000E00020474B47493D +:10816000584340183C498968891B884230D9079B8D +:108170000020039300F03C001446000079FF0290B9 +:10818000FFF7D8F9049001F057F80499029A514387 +:108190004843019000F0DCFF411C01980122484354 +:1081A000111C00E01BE0314B5B6A834200D30021CD +:1081B000039B0122002B00D03C005046000000220F +:1081C0002C4B51439B6A0122834200D30022500072 +:1081D000081803D023490320087003E00998C068F9 +:1081E000062808D90224089800286ED01D490020CE +:1081F000C8614861A5E01A4948693C008C46000006 +:1082000000280AD1002F05D001224A61C8698018D0 +:10821000C8610AE00020C86103E0002F05D10020FA +:1082200048610D98002800D1C8680020089008789F +:1082300001282FD002284BD1002F08D13C00C8467E +:108240000000E878002802D12878102843D2287945 +:10825000102840D248680A69301A904267D3012238 +:108260000A7038E00000E204000010270000687E79 +:108270000100A086010088130000446D01003C004D +:1082800004470000C857010050C30000983A00009E +:10829000C0570100400D0300C4090000B20C0000EB +:1082A00000200B9A0A9BC0431A4337D0002F35D1C8 +:1082B000079B002B08D06A78022A2FD92A78102A27 +:1082C0003C00404700002CD22A79102A29D2254BA5 +:1082D0001A6C002A06D09A6A9F6CBA4202D11F20FB +:1082E0001FE02EE0204B5A6C002A03D01F4FB31A18 +:1082F000BB4216D31C4B002A05D09A6A9F6CBA4227 +:1083000001D13C007C4700000F200DE0079A002AB5 +:1083100004D0EA79202A01D1002005E0EA79102A68 +:1083200001D3032000E09A6A124A126802400BD17E +:1083300001200890022008700F4808614E6064E731 +:10834000FFE701203C00B8470000089060E70C49B7 +:10835000886A002801DA013002E0002801DD0020EF +:108360008862002008620899200408430FB0F0BD1D +:108370000000A46C010071020000082007005307F0 +:108380000000687E01003C00F447000070470000D8 +:1083900000487047507E010080B53DF07FFD0249E6 +:1083A0000120087080BD00003C7E0100F8B50D1C66 +:1083B0000EF0C8FA2649041C886A264E002801D00F +:1083C000042003E0706A00283C003048000001D01F +:1083D000013870620027002D02D0B761F7610AE012 +:1083E000B0691C490130B061496D002903D00328F0 +:1083F00001D90120F061B460F168009108F0F7FC48 +:10840000F0600099884202D030623C006C48000065 +:1084100034610BE000F090F8002801D0114800E032 +:1084200011483169611A814200D937620B4A0C4800 +:10843000D16C2030002901D00A2103E0017A002903 +:1084400001D0FF310172002D03D1017A3C00A84810 +:108450000000002900D0916A007A002800D1176539 +:10846000F8BDA46C01003C7E0100A60E0000A861CE +:10847000000070470000064980B58968002907D0D0 +:108480000521002800D104210806000E03F03C005D +:10849000E448000005FA80BD606C010007480068F0 +:1084A00007494A69104001D0012000E00020496AD4 +:1084B000884201D10120704700207047100007005A +:1084C000A46C010070B50EF049FA021C00F03AF8F5 +:1084D0003C0020490000104900280ED0081CA031A3 +:1084E0000E780E4B102E01D3806F03E049781029CF +:1084F0000ED3C06FC018841A0AE0081C803045698A +:1085000008498D4201D90C1C05E0C068101A2C1ACC +:10851000002C3C005C49000000DA6419201C70BD8E +:10852000A46C0100A60E000050C3000080B505F049 +:10853000B7FB002802D007F01FFF80BD034800787A +:108540000028FAD007F070FB80BD0000606C0100CD +:10855000034901203C00984900004969032900D8DB +:10856000002070470000606C0100B0B50A4D002487 +:108570002878012803D005F06AFB0406240EFEF7D4 +:10858000D2FC0002204302D1686A002801D10120F8 +:10859000B0BD0020B0BD3C00D4490000606C0100BB +:1085A0000121012800D000210148416270470000EC +:1085B000606C0100154810B504681548006A002871 +:1085C00014D0FFF7CBFF00280ED111481149C43059 +:1085D0004069884208D2CC083C00104A0000A04202 +:1085E00005D3FFF77EFFA04201DA0C4C01E0FF2427 +:1085F00091347D200001844204D900221621832079 +:108600000EF0BDFE01230922211C16200EF0A7FE4C +:1086100010BDB0570100606C01003C004C4A0000E6 +:10862000C05D00001027000070B5051C0E1C00F096 +:1086300043F800280FD0084C2078C00703D405F079 +:10864000ABF909F031FE002D05D02078800702D467 +:10865000301C02F0FDFE70BD606C01003C00884AD9 +:108660000000B0B5002818D01148814215D210483A +:108670000C1C0D1807F0DFFA81000918A14201D285 +:10868000400003E041000918A14201D2241A06E08B +:108690004100A14203D24008F8E7064D074C3C00D8 +:1086A000C44A00000EF072F90019291C07F0DCFA28 +:1086B000B0BD000080B92A00530700004C1D000027 +:1086C00088130000B0B505F0FDFA002813D1FEF7BD +:1086D000B5FE0A4C0A4D0028606300D028600EF0F9 +:1086E0003C00004B000055F9216A002904D1E169E2 +:1086F000401A2968884201D90120B0BD0020B0BDD0 +:108700000000606C0100B057010080B5FFF7DDFF8D +:10871000002805D005F0B7FA002801D1012080BD5E +:1087200000203C003C4B000080BD000010B50A4C0E +:108730000021A268002A03D0A16002F083F910BDD5 +:108740006160011C002204200EF036FD0348216800 +:108750000AF008FC10BD0000BC740100C4600100F8 +:1087600070B5051C3C00784B000001D1FCF7C1FB43 +:10877000204CE06A002815D01F4BA0695843C60B57 +:1087800020884643F0008019E660FBF71CFEA842F3 +:1087900005D8301CFBF717FE8019A84202D2002032 +:1087A000E06020E0E5603C00B44B0000002D1DD0EF +:1087B0002688A0697043C103281CFBF7A5FD6061F2 +:1087C0000D48321C291C3030FBF70AFC0C4B606949 +:1087D0005843C00B606201F0B7FDA062E06800285A +:1087E00004D02069A168FBF73C00F04B0000F4FBCB +:1087F00070BD0548A168FBF7EFFB70BD0000C874B1 +:10880000010040420F00C0C62D0088130000F1B5E2 +:108810003E4800AB8178C0783E4F0A07040758787D +:108820003B49120F085C1439240F3C002C4C00000B +:10883000801878600130B8601878354D085C0019F0 +:10884000B8610130F861EB7833481E09334B1838B2 +:1088500081785E43AB781D09C8236B43002908D19A +:108860002B4D2D783D60C5607D25ED003C00684CAA +:1088700000005D1B2C4B07E0274D6D783D60C56007 +:108880004B252D015D1B284BF618022000F057F8F0 +:10889000281AF8602248221C18388178032000F03A +:1088A0004EF8301A3862396800AB79615A783C006A +:1088B000A44C00005623F9685A43891AF960C8315C +:1088C00039611849183989780029B96911D100AB83 +:1088D0001A78134B143B9A5C531C59430A2359438F +:1088E000144B591A51430A235943401A386212490A +:1088F0003C00E04C000010E000AB1A780A4B143B3F +:108900009A5C531C59430A2359430D4B591A51433E +:108910000A235943401A0B49386240187862F8BD5F +:1089200000000C5A0100665A010094780100A086EC +:1089300001003C001C4D000000487100B0D68C00C6 +:1089400088100000803801005812000070110100EA +:1089500030B5194B0228DD6806D1002904D12B1C43 +:108960000C339C1A64235C43022809D1012907D1E6 +:1089700064237D243C00584D0000E4006B431C1927 +:10898000A0235343E41A0A235A43032809D1002998 +:1089900007D11323FF24E4006B431B199B1A1C1CF3 +:1089A0005C43032808D1012906D10E2005496843FC +:1089B0004018801A041C3C00944D00004443201CC5 +:1089C00030BD00007C7801008408000010B5074C21 +:1089D0000C2360780549143158434018406801F071 +:1089E0004FFC0021607802F04BFF10BD4C7B010072 +:1089F0000C48F8B540780C233C00D04D00000A49E3 +:108A0000584314314418261D60CE301C0BF00BFD6A +:108A10000027412047550548291C02F0F0FE281C7C +:108A200001F031FC0434C0C4F8BD4C7B010055801A +:108A30000000B0B50A4D4C2128783C000C4E0000D7 +:108A4000094A41438C1822680121FBF7E1FA287892 +:108A500001F0FAFB3C23E056411E012007F034FBF5 +:108A6000B0BD00003C7C010058E301000C23074925 +:108A70005843401880B54068416B00293C00484E7F +:108A8000000002D00BF0FBFD80BD0BF02CFD80BD83 +:108A90000000607B010038220A4B4243D2180029B3 +:108AA00080B504D0022907D10BF0FBFC80BDD26A4F +:108AB0000121FBF7B0FA80BD03218620FCF73C00C2 +:108AC000844E00000FFA80BDD4E40100B0B5040666 +:108AD000240E0C200E49604340184568A86B0028FE +:108AE00003D10021201CFDF7E1FA201C07F0F2FF62 +:108AF000002808D0281C6030C179012903D9FF3132 +:108B00003C00C04E0000C171FF3181710121201C69 +:108B100002F0C5FEB0BD607B010070B50006000E1E +:108B2000051C4C230A49584344183C20005DFF3083 +:108B300006063616281C01F090FB0021281C22682E +:108B4000FBF73C00FC4E00006FFA311C002007F0E0 +:108B5000C7FA70BD58E301000C220F4B4243D218F4 +:108B600010B5546800290DD002290FD12C20005DCA +:108B7000002803D007210C20FCF7BAF9201C0BF0C9 +:108B8000BBFC10BD3C00384F0000002102F08DFE00 +:108B900010BD04210C20FCF7AEF910BD0000607B75 +:108BA000010080B5002907D00C230549584340181F +:108BB00040680BF04AFC80BD012102F076FE80BDCA +:108BC0000000607B01003C00744F000010B5041CE5 +:108BD000002905D002291AD1201C0BF0EBFC10BD96 +:108BE0000D4804700D4807F007F90D48018801226F +:108BF0001203114301804C200A4960434018403061 +:108C00000078FDF75DFD201C3C00B04F00000AF02D +:108C1000D4F810BD03218620FCF773F910BD3C7C0D +:108C20000100054E00003280070058E30100FFB547 +:108C3000051C012083B001900C205D4A6843861812 +:108C40000127002974680ED002293C00EC4F000077 +:108C50006AD12C20005D002803D006210C20FCF7EF +:108C600053F9201C0BF020FD07B0F0BD524814381A +:108C70004570A06B002807D0504807F07FF801210D +:108C8000281CFDF725FA1CE04D4807F03C00285051 +:108C9000000077F84A48143805704B4801880122D3 +:108CA0005203114301804020005DFDF712FDB068C2 +:108CB000002809D1281C07F064FFB060002803D108 +:108CC00009210C20FCF723F90598002803D03C006B +:108CD00064500000E06C0130E0640EE06720005D4D +:108CE000002807D1E06C002804D139480238C06A56 +:108CF000A06409E0206D002801D0002704E0281CB2 +:108D000007F000FF0028E5D105982065201C2030E1 +:108D10003C00A0500000626A0290817B281C07F092 +:108D200078FF002F19D0201C6030C1794A1CC27115 +:108D30008079814202D2012001E040E000200190D0 +:108D400000280AD025480078800706D500F00DFBE2 +:108D5000011C3C00DC500000201C0BF015FD0190B4 +:108D6000019800280FD00298007B022803D1201C14 +:108D700004F0D0FE84E7012800D07EE7211C301CDF +:108D800004F0E2FE7CE7251C6035E879FF30A8712D +:108D9000687A06F03C00185100009DFC0DF047FE7B +:108DA000071C05F012FF3F180298817B20690430F0 +:108DB00000F035FA616A05F0EAFE39186B7A3088FE +:108DC0008031094A0DF091FE5DE703210C20FCF78C +:108DD000AAF858E700003C0054510000607B0100F5 +:108DE000A54D0000C94D0000328007001D7501002F +:108DF0008D4E0000FFB581B01F1C051C141C101CFB +:108E00000A9E00F0F5FC291C1031201D0622FBF7FC +:108E1000B7F9A88E2080E88E3C0090510000608059 +:108E20000299201C00F007F9FF34013466602760C6 +:108E300005B0F0BD0000F8B50F1C1E1C051C141C6D +:108E4000101C00F0D8FCA888391C2080288960807C +:108E5000201C00F0F0F8FF3401343C00CC5100003D +:108E60006660F8BD70B5041CC0680568201C14302D +:108E7000061C00F00FFB002816D0012202212069F9 +:108E800005F0F8FA002801D0FBF724FF00220221A8 +:108E9000206905F0EFFA002806D0FBF73C000852E5 +:108EA000000001FF002802D0301C0BF07CFB688919 +:108EB0008007C00F03F0A7F818230449584340184F +:108EC000C168002902D0201CFBF7D4F870BD94675C +:108ED0000100F8B5041C101C0D1C191CFF223C00DD +:108EE000445200000027FF2D25D0002905D04B88D3 +:108EF000002B02D000F050FC15E00021104E4B007A +:108F00009E190223F65E864201DD0A1C04E001314F +:108F10000906090E2629F1D3094E500080194E2367 +:108F20003C0080520000C05E272A07D20649203943 +:108F300049574731401A2060012702E07E20C04394 +:108F40002060381CF8BDFA470100B0B50C1C7E212A +:108F5000051C0020C943002C0FD0101C05F06BFD30 +:108F600000283C00BC52000002D0211CC93901E09D +:108F7000211C86390220C043FBF7B4F9011C0120F3 +:108F80002960B0BD98B5141C00220092221CFDF788 +:108F900043FE98BD054980B5086005490120C861B8 +:108FA000012100203C00F852000003F01CFE80BDAF +:108FB000000020670100AC7C010080B5002100208A +:108FC00003F011FE06F00DFB02490020086080BD91 +:108FD000000020670100034901200969002900D130 +:108FE0000020704700003C0034530000106701006F +:108FF00003480069002801D040697047002070478D +:109000001067010070B5161C0D1C041C002801D04F +:10901000012C07D100F036FA002805D013F0CAF968 +:10902000002801D1012070BD3C00705300000120D8 +:10903000002C00D000200A4C043461C4103C00F025 +:1090400024FA002802D000F0C6F901E000F0E5F8AB +:10905000C030C36B221D07CAFBF720F8002070BD8B +:109060000000D4670100F8B50D1C3C00AC530000B3 +:109070000021041C281C05F0E3F9231CFF332133D5 +:10908000FF27002805D02222011C181CFBF796F8A8 +:1090900000E01F700321281C05F0D2F9261CFF36C2 +:1090A0004136002805D00322011CB01C3C00E853C7 +:1090B0000000FBF786F800E0B7700121281C05F0DE +:1090C000C2F9002807D0011C201CFF300A224630BC +:1090D000FBF777F800E077713221281C05F0B3F92F +:1090E000002807D0011C201CFF30122250303C0009 +:1090F00024540000FBF768F800E0F7730621281CF1 +:1091000005F0A4F9002807D0011C201CFF30042220 +:109110006330FBF759F8F8BDFF346134A770FAE704 +:10912000084980B50968002801D107480168081C72 +:109130003C006054000005D103219020FBF71DFF87 +:10914000002080BD01F0D7FB80BD1C6701002067B7 +:10915000010080B5FFF7E7FF80BDF0B5002484462D +:1091600000200BE08740174007D014230B4D4343EA +:109170005B193C009C5400001B7C65462B55013458 +:10918000013001273B1C0E2800D300230E883D1C14 +:10919000A64200DC00252B40E7D10C80F0BD00008A +:1091A0007440010078B5041C01202070082000AB39 +:1091B0000D1C18803C00D8540000161CA01C6946E9 +:1091C000FFF7D1FF00AB0022D243198882406170C3 +:1091D00032202870102018803240A81C6946FFF702 +:1091E000C2FF00AB1888687078BD80B502F035FF0B +:1091F0000021002800D03C00145500000169081C23 +:1092000080BD00000549002801D0C86800E0086959 +:10921000002801D00430704700207047106701001B +:1092200003480069002801D00430704700207047CF +:1092300010670100024800693C00505500000028FA +:10924000FFD1704700001067010010B5054C206980 +:10925000002803D104219020FBF79BFE206910BD5C +:1092600000001067010010B5041C00F040F9002850 +:1092700001D0002010BD201C00F03C008C550000E7 +:1092800057F9002801D0012010BD022010BD0000B8 +:1092900070B50F4E041C30680D1C002807D0211C2F +:1092A000043005F0C1FB002801D030680BE0094A0A +:1092B0001068002809D0211C141C04303C00C8553B +:1092C000000005F0B4FB002802D020689C3000E0CC +:1092D0000348405D70BD206701001C670100CC475A +:1092E0000100044900200969002902D0FF31013141 +:1092F000886970470000106701000148007A3C004F +:109300000456000070470000AC7C0100FEB5061C4E +:1093100000201F1C141C0029029019D0012926D0FE +:10932000022947D12648007805F0A0FBA0720AF078 +:109330004FFC0E2809D1A07A05F0AAFB002804D022 +:109340003C00405600002048007805F092FBA072D7 +:10935000002020722FE01D4D2868002801D1FBF766 +:1093600052FE00972A68231C1832111C301CFCF78F +:10937000DEFB26E0301C0CF0CAFB051C02D0A868FE +:1093800000283C007C56000008D1134800680028E3 +:1093900001D1FBF73BFE104800681830021C0E4854 +:1093A00000970168231C1831301CFCF7C3FB002D0B +:1093B0000AD040352888800606D40020206003E0CB +:1093C000012190203C00B8560000FBF7F4FD029804 +:1093D000FEBDB069010090570100206701001C67C5 +:1093E000010080B5002002F04AFE1823054A5843C8 +:1093F000801840690121002800D04178081C80BDF8 +:109400000000946701003C00F4560000024908691E +:10941000002800D1C8687047106701000348C06881 +:10942000002801D004307047002070471067010009 +:1094300010B5054CE068002803D105219020FBF70A +:10944000BDFDE06810BD00003C0030570000106713 +:109450000100F8B50D1C002A03D01149124F0E78F7 +:1094600001E0114F0C26082E01D2341C00E0082424 +:10947000012101704470391C221C0230FAF7CBFE26 +:10948000321B002A07DD322028703C006C57000098 +:109490003919A81C6A70FAF7C1FEF8BDFF202870C0 +:1094A00000206870F9E70000A4690100B0690100BC +:1094B000905701000149486270470000946701001D +:1094C000034980B508600121012003F03C00A85742 +:1094D0000000C5FB80BD1C67010080B50021012094 +:1094E00003F0BDFB06F0B9F802490020086080BD1A +:1094F00000001C67010003490120C968002900D150 +:10950000002070470000106701000348C0683C005D +:10951000E4570000002801D04069704700207047E0 +:109520001067010080B50221012003F09BFB80BD84 +:10953000054A80B512690021002A03D0111D05F0EB +:1095400091FA011C081C80BD10670100064A80B515 +:109550003C002058000012690021002A05D0111C8F +:10956000FF31213105F08BFA011C081C80BD10670A +:109570000100054A80B5D2680021002A03D0111DE0 +:1095800005F073FA011C081C80BD10670100064A33 +:1095900080B53C005C580000D2680021002A05D04C +:1095A000111CFF31213105F06DFA011C081C80BD32 +:1095B00010670100FFB50D1C1F1C87B0109E002412 +:1095C00002F072FD1823134958430858002819D097 +:1095D000041C331C3C00985800003A1C281C0999B4 +:1095E000FAF79FFD041C14D0182000AB1880AA685D +:1095F00001A86946FFF7E7FD6A4601A9002007F0C8 +:1096000044FE002805D10A2100E00F219020FBF73D +:10961000EAFC201C0BB03C00D4580000F0BD000058 +:109620009467010010B5002402F044FD1823054999 +:10963000584340188068002802D0FAF771FD0124D1 +:10964000201C10BD9467010080B5024B00F04EF85D +:1096500080BD0000106701003C001059000080B57B +:10966000024B00F046F880BD000011670100F8B51C +:109670000E1C151C00281C4910D048681C4A288064 +:10968000002007E00B181C7A142363439B181B7CF3 +:10969000335401302B888342F4DC3C004C590000E9 +:1096A00024E000200F1C002408600FE0305D05F06E +:1096B00007FA0E2801D10020F8BD391908720122DD +:1096C000396882401143081C386001342888A04260 +:1096D000ECDC28887860FFF7B7FE00283C0088594A +:1096E000000006D00169002903D07F21C9430BF097 +:1096F00052FB0120E3E72C7D01007440010010B50E +:109700001C1C00280BD020780E2805D214230C4AEC +:1097100058438018007C00E0002008700EE03C00F8 +:10972000C4590000087805F0D1F92070FFF792FEC7 +:10973000002806D00169002903D07F21C9430BF01E +:109740002DFB012010BD00007440010080B52720D2 +:10975000C04309F031FC80BD80B52720C04309F02B +:109760003C00005A000039FC80BD80B5282009F07B +:1097700042FC80BD000080B5282009F04AFC80BD75 +:109780000000B0B5012828D1012901D0FBF76BFCFE +:10979000FFF7E9FD02281AD107F013FC124C2169EA +:1097A00088423C003C5A000015D007F00DFC2061B7 +:1097B00020687D24E40044430DF0AEF9051C07F059 +:1097C0000BFC281A844200D9241A0122211C0A20E9 +:1097D0000DF0B2FDB0BD002109200CF075FCB0BD4C +:1097E00007210A203C00785A0000FBF714FCB0BDAA +:1097F0000000D46701007D20024900010860704725 +:109800000000D467010010B5816D041CFF304630A4 +:109810000CF0D1FC201CFF305030A16D0CF0CBFCC3 +:1098200010BDB0B5041C3C00B45A00000D1C02F081 +:1098300059FC201C02F056FC1823044958434018D8 +:109840001822291CFAF770FDB0BD000094670100D2 +:1098500010B5041C09F0BCFB201C09F0C7FB10BDAF +:1098600010B5041C09F0D0FB3C00F05A0000201C8D +:1098700009F0DBFB10BD70B50C78061C48884D78EC +:10988000E200801AE900401A011C414312312420F1 +:10989000FAF791FD211C6143C9004018291C694356 +:1098A000C90042180C4988790C4B3C002C5B000025 +:1098B00053430C4A1360537B34021460527B88710B +:1098C00001335810084B801A0121490258430028DF +:1098D00000DA494208188012213870BD20100700B4 +:1098E000EC04000000A00700030300003C00685BDC +:1098F000000010B5041C06210430FAF770FCFF20AC +:109900002130FF210155201CFF3041308170417111 +:10991000C173FF2063300155002020616061FF3476 +:109920000134A060E06010BD000070B5061C3C0072 +:10993000A45B0000081C58609A601C1C1E60151C6B +:109940009B8AE28A311C02F0A1FC281AE06070BDFB +:1099500070B5041C081C111C1E1C0025EB43221CA6 +:1099600018320BF0F7FB221CFF325032111C0A395F +:109970003C00E05B00000123201C00F0C6F80C282E +:1099800010D00125201C0BF0ACFA201C00F019F8B7 +:10999000201C00F00AF8201C00F029F8311C201CC3 +:1099A0000BF017FA281C70BD0000FF211D3109586B +:1099B00080303C001C5C00008907002901DA01218D +:1099C00000E00021C1627047011C803100220A635F +:1099D000074A1268002A09D04288920606D5FF304D +:1099E0000130C069400701D40120086370470000BE +:1099F000AC6901003C00585C000080B5011C4A883D +:109A00000020520505D5FF310131C969490700D44D +:109A1000012006F0ECFB80BD0000F8B5051C98683D +:109A2000171C0E1C1C1C002802D1201C0CF031F845 +:109A3000AB69391C301C3C00945C0000A2680BF040 +:109A400095FBF8BDF8B5161C0D1C1F1C002402F078 +:109A500061FB18230649584340184368002B05D082 +:109A60003A1C311C281CFAF78EFB0124201CF8BD7F +:109A70009467010080B507F03C00D05C0000C5FA97 +:109A8000094908610868002802D17D2000010860AA +:109A900008687D21C9004143002301220A200DF0FE +:109AA0004EFD80BD0000D467010080B501210A2071 +:109AB0000DF097FC80BDF8B50E1C3C000C5D00005D +:109AC0005168141C1268A5680B1C751B5719974226 +:109AD00000D20131426800258A4202DD0125626020 +:109AE00005E09A4203D10168B94200D90125002D51 +:109AF00009D001682160A660A38AE28A3C00485D23 +:109B00000000606802F0D7FB301AE060281CF8BD46 +:109B1000000080B502F007FB1823034958434018A2 +:109B20001821FAF798FB80BD000094670100FEB58C +:109B3000041C081C111C1E1C0C25012200923C0058 +:109B4000845D0000A26902ABFDF7F0F8002845D063 +:109B500002982721021C0A4001D1084302902149A2 +:109B6000A069084006D00298014003D14921C900EC +:109B700008430290A06D0299884230D0002E2DD06B +:109B80003C00C05D00004021201C5830FAF769FB02 +:109B9000029800250026371CA06519E0C00711D5E2 +:109BA000F019001970300571281C04F0D4FF00284A +:109BB00004D0A01980300572013603E0E01960304E +:109BC00005703C00FC5D0000013701352D06029850 +:109BD0002D0E4008029002980028E2D18420065100 +:109BE000F0192067E765002500E00B25281CFEBD65 +:109BF000D83A000038B5051C081C111C0024E243AB +:109C00006B46FFF73C00385E00004FFA002805D095 +:109C1000A86900990140814200D10124201C38BD6F +:109C200000007CB5056A8669041CC068FBF7B7FBB9 +:109C3000E169FBF7DAFA201CE2694030C18B128936 +:109C40008918C18306493C00745E000001940091AC +:109C50002869331C82880168E068C06800F0F2F966 +:109C60007CBD0000915E0000B0B5D1685569C86840 +:109C7000141C144B0CE002689A4207D1C268CA60F7 +:109C80000021C1600160FBF73C00B05E000073FB87 +:109C900003E0011CC0680028F0D1E068C068E860FB +:109CA000E068C560201C4030C18B2A898918C183B7 +:109CB0002068002802D0FFF7BAFFB0BD044804F0C6 +:109CC0004EF9006A07F077FAB0BD3C00EC5E000088 +:109CD000A07E0100A06A0100F1B582B00298066979 +:109CE000011C083660314568019182E01021002096 +:109CF0002F69FBF763FB6861018908390904090CC6 +:109D000001816869006840180821FBF73C00285F62 +:109D1000000057FBE86168697188006820220180B3 +:109D2000716841600199497B89011143C17000212B +:109D300081702820FBF775FC3988041CC181A86B51 +:109D4000002803D1012080020843E08106223C0064 +:109D5000645F0000391D201C1030FAF7C5FA391C69 +:109D60000A310622201C16300090FAF7BDFA391C81 +:109D700010310622201C1C30FAF7B6FAE189254A78 +:109D80005C201140012292031143405BE1810F21CD +:109D90003C00A05F000008406084201C2030162199 +:109DA000817100212170E96B002907D02969098B95 +:109DB0000907090F2170A184182181710622601CF6 +:109DC0000099FAF794FA7068000EE071706800026A +:109DD000000E3C00DC5F0000207270680004000E82 +:109DE00060727068A0727088000AE07270882073D8 +:109DF000708801300004000C708002D1706801305E +:109E00007060AC61029828622D68002D00D079E75F +:109E1000029804493C00186000004268044804F0BD +:109E200074F8FEBD00008FC7FFFF3DDA0000A06A96 +:109E30000100B0B5074D2878032808D000242C7005 +:109E40006968002903D00120FAF7C8F96C60B0BD39 +:109E500000009C7301003C0054600000F8B52B4BDF +:109E6000D86A002850D02A48011CFF310131CA6845 +:109E70000132CA601A6C002A02D14A6901324A6171 +:109E80000A6901320A61DA68002A04D01F4A0132E5 +:109E90001278002A02D18A693C00906000000132E9 +:109EA0008A610025071D18261A4A6E43743290599C +:109EB000002829D0B4186069002825D160680028DE +:109EC00002D00168002905D1A16800291CD00968C9 +:109ED000002919D0002805D0E1683C00CC600000C2 +:109EE0000131E1600068814211D3A068002806D0EA +:109EF0002169006808180CF0A3FD002807D0064A65 +:109F00000120606174329159381CFAF770F90135FB +:109F1000022DCBDBF8BD0000447D01003C00086150 +:109F20000000F4670100F8B50F1C0025041C002890 +:109F300025D0201C04F003FE002806D0FFF7FFF810 +:109F4000041CFFF750FB061C07E0201CFFF791FBE9 +:109F5000061C201CFFF76FFB041C002E06D03C00E3 +:109F600044610000FFF74CFB002802D001250120CE +:109F700007E0002C06D0FFF7EFF8002802D00125FB +:109F800000203860281CF8BDB0B5C568041C0DF071 +:109F90008FFC207EC10708D5E168A94205D9226956 +:109FA0003C0080610000914202D3E18A0131E182EC +:109FB000810708D5E168A94205D22269914202D8F9 +:109FC000E18A0131E182400706D5E06821698842D3 +:109FD00002D1E08A0130E082E08AA18A88420DD372 +:109FE000607E3C00BC61000002280BD02068E16864 +:109FF000042207F065FB607E002803D1206808F08A +:10A00000ABFFB0BD0020E082B0BD000070B5061C03 +:10A010000C232049584345180020A860301C06F046 +:10A0200091FE041C3C00F8610000686033D0012000 +:10A03000A8702C20005D022803D1201C03F045FEEF +:10A0400010E0616B00290AD0012804D1211C281CD2 +:10A0500003F055FE06E0201C0AF00DFC02E0201C77 +:10A060000AF03DFB0D483C003462000014384168A2 +:10A07000002910D0201C4030028B1207920F012AB9 +:10A0800009D0808B32020009000410438122024370 +:10A090000C200DF0B7F90CF0A5FD606470BD000058 +:10A0A000607B0100FFB5081C3C0070620000111CC1 +:10A0B0000C32202414430C4A83B00CAE526860CE9C +:10A0C00094700024D47093630D234027BB52946195 +:10A0D000148401220292321C00900191231C291C3D +:10A0E000039800F066F907B0F0BD3C00AC620000D8 +:10A0F000A07E0100F8B5041C0027114E1DE0E068A9 +:10A10000002870680CD1808800070DD101210C480F +:10A11000FBF784F9C460E86070688188013102E06F +:10A120008188228989188180E068391C3C00E862B6 +:10A130000000002801D17168C96D251C6160041CF4 +:10A14000002CDFD1F8BDA07E0100064910B549689A +:10A15000002305E08A88048912198A804360C06858 +:10A160000028F7D110BDA07E010010B509493C00C0 +:10A1700024630000002449680AE08A880389D21811 +:10A180008A80C368221C002B00D1CA6D4260181C53 +:10A190000028F2D110BD0000A07E0100011C134870 +:10A1A00010B54068002309E082880C89121982806A +:10A1B0003C00606300004B60CA68002A00D1416621 +:10A1C000C9680029F3D1011C68318164C364436507 +:10A1D00082880823111C08318907890F591A5023D6 +:10A1E000195251188180011C406E4831C16010BD68 +:10A1F00000003C009C630000A07E010010B50749F0 +:10A2000000244B6806E0C268211C002A00D1D96DE9 +:10A210004160101C0028F6D110BD0000A07E010096 +:10A2200070470000FEB5061C0C480C1C40688021DD +:10A23000817000213C00D8630000C170151C4022D1 +:10A2400081631152816101840020042202920090F6 +:10A250000191291C201C1A1C331C00F0BCF8FEBD07 +:10A260000000A07E010070B5061C1748807802210E +:10A27000164A884390703C0014640000101C8078DB +:10A280000843111C887013480024C4707020FBF729 +:10A29000D9F9114D70216860FAF734F83007000FD2 +:10A2A00069689030C8650D4868220880081C28300D +:10A2B00089604861082008823C0050640000081C46 +:10A2C00038304863203848645A20505406480831D2 +:10A2D0004164446570BD0000070058000700A07E7F +:10A2E0000100DEC00000003007000A4B10B5586DB9 +:10A2F0000A490022496800244A623C008C6400003C +:10A300005C654B6E002B01D0DA604A668B6D002BCA +:10A3100003D00A6E0021F9F79CFF10BD0030070042 +:10A32000A07E0100094910B508880130088001208D +:10A33000074980020860074CA26D002A3C00C864EF +:10A34000000005D00521D1200DF06FF90120A06596 +:10A3500010BDB07401000010070000300700FFB509 +:10A3600083B00CAE86468C460E4A43CE0FAD0F1C12 +:10A3700052680C3730CD9770D37096630D263C0031 +:10A38000046500004027BE52059E9661138400229A +:10A3900002922A1C00900191211C6046734600F035 +:10A3A00029F807B0F0BD0000A07E0100FFB5101C29 +:10A3B0001A1C0C1C191C6023FF3213430C4A83B077 +:10A3C0003C00406500000CAE526860CE93700023E4 +:10A3D000D37093634027BB5293611384032202928C +:10A3E0000191291C321C0090201C039B00F005F8F1 +:10A3F00007B0F0BD0000A07E0100F8B5051C1148B3 +:10A400001C1C3C007C650000089B079F4068DE0028 +:10A4100081650266002181800D488159201CF9F771 +:10A4200022FF0B4830184168281CF9F71CFF074928 +:10A4300006984968002C88620F8600D12C1C0548BC +:10A440004C6245653C00B86500000121016501646E +:10A45000F8BDA07E01009052010000300700FFB55A +:10A4600083B00DAE60CE0C9F081C111CD219FF32B8 +:10A47000402414430B4A526894700024D4709363B0 +:10A4800040239F5294613C00F46500001484022232 +:10A490000292321C00900191231C291C0398FFF7A3 +:10A4A000B5FF07B0F0BD0000A07E01004C210D4AB1 +:10A4B000414310B58C180C490978884207D105F042 +:10A4C000C7FD0A48018801223C00306600001203E3 +:10A4D00091430180201C30300C23C156407B8142C7 +:10A4E00002DD208D0CF0E5FB10BD58E301003C7C43 +:10A4F000010032800700011C603180B5CA798B7978 +:10A500009A4207D9487A0C2307493C006C66000040 +:10A510005843085A0CF0D0FB80BD2030007B012846 +:10A52000FAD1487A05F040FD80BD0000607B010053 +:10A5300010B5041C1C21F9F703FF0348A080E0803C +:10A5400020816081A08110BDFFFF00003C00A86653 +:10A550000000FFB5041C002083B00D1C062C0290E7 +:10A5600038D21F4AFF26C10089188978A14203D139 +:10A57000C0008018467804E0013000060016062866 +:10A58000F1DBFF2E24D00193201C0DF0E8F93C00F4 +:10A59000E4660000002805D02421281C01AB02AA93 +:10A5A000FAF730FE1049F00030390F58310609161D +:10A5B000281C059A019BF9F76EFE061C10D1201C81 +:10A5C0000DF0D0F900280BD0281C6969FAF712FEAB +:10A5D0003C00206700000298686104E0062C01D36B +:10A5E000072600E00826301C07B0F0BD0000CC5A5A +:10A5F000010010B50C1C09F086F8002802D0201CC0 +:10A6000009F0B5F810BDFEB5134D041CAE69002E5F +:10A610001CD03C005C670000104F30377868604306 +:10A62000011C2888F9F7D2FF39686143411801A855 +:10A63000321CF9F737FE0298296A401828620BD4B9 +:10A64000E969884208D9A969401A2862019801304D +:10A6500001E000203C009867000002900190019802 +:10A66000FEBDC8740100F8B5002828D00024144DA0 +:10A6700000E0013461000919491949780029F8D12D +:10A6800063001B1903330722694603F0D4FB002C37 +:10A690000FD0002000993C00D46700000AE042007F +:10A6A0001218AE5C531852195E71567801309E71C3 +:10A6B0009278DA71A042F2DB00980322023003495B +:10A6C000F9F77EFEF8BD0000EB620100E8620100D0 +:10A6D000B0B5051C081CFAF73C00106800009DFF8F +:10A6E000041C281CFAF7D9FE211CFAF7FCFD201CDB +:10A6F000B0BDF3B544480C1C007881B0012872D17C +:10A70000FAF782F8414DE86A41490860E86B486011 +:10A710004048FAF7A6F9E86A00283C004C680000B7 +:10A72000FCDA221C0F2001990AF0A4F8384D022708 +:10A730002F63384A64260020AA21083213180130FA +:10A740000004000C64281974F8D3168100205060AE +:10A75000101C103010600025171CD2603C00886867 +:10A76000000008E0281CF9F7A2FF413178190135F3 +:10A770002D042D0C0174B542F4D3264D6F630120D6 +:10A780002863244DE86A0028FBDA0B223B1C244E88 +:10A7900003E00132642A00D10022101C0C213C008D +:10A7A000C46800000139755C1F183F7CBD42F3D1BD +:10A7B000013800D563200029F4D1184E501CF16BEC +:10A7C0001A4A101C0138FDD1F06B884201D0011CDF +:10A7D000F7E702273763164D9021281CF9F7CEFDC5 +:10A7E0003C0000690000281C28302860281C10301C +:10A7F0002F81E860281C20302861042100E00CE053 +:10A800002983E861ED62756301203063221C892091 +:10A8100001990AF038F800202863FEBD00000857AF +:10A8200001003C003C69000000300700108E010070 +:10A8300074FF010009570100204E0000E4FE0100F2 +:10A8400080B513281ED0F02816D109F0B5F90028DC +:10A8500013D10DF0BFFA11F00DFC00220421C42029 +:10A860000CF01CFF3C0078690000094800210078CA +:10A8700005F03FFD05F093F807490120086080BD11 +:10A88000011C0120FAF787FC80BD00F032F880BD82 +:10A8900000006A5701003CD90100B0B50CF0FFF987 +:10A8A0000B49022448603C00B46900000A48046176 +:10A8B0000120772109030861084D6868800702D4E8 +:10A8C00068682043686009F0C7F96868A043686059 +:10A8D0000020B0BDE060010000300700000107006B +:10A8E00080B50123032200213C00F0690000022012 +:10A8F0003CF0F1FA002801D0FAF781FC80BD1CB5CC +:10A90000FCF7F5FAFAF719FE01F003F90024211C0F +:10A91000684601F0E2FB00AB1878012803D002285A +:10A9200001D0032801D10CF0B2FC3C002C6A0000DD +:10A93000013424062416062CECDBFAF709F9FAF7A1 +:10A94000E7FCFAF733FAFAF76DFAFBF7DFFF05F0E9 +:10A950004DFB06F081FC0BF07DF907F029FC114856 +:10A960001021016009010160C90201603C00686AB0 +:10A97000000089000160202101600421016008219C +:10A98000016040210160802101608900016049006F +:10A9900001604900016049000160C9030160890B41 +:10A9A0000160F9F741FF1CBD0000001007003C00EA +:10A9B000A46A000080B53BF04FF83BF07DF9FAF750 +:10A9C0004BF980BDF8B5002500240022002871D085 +:10A9D000434FB9680B1ABB60F868391C0130F86046 +:10A9E000896A002B1EDC0224002906DAFB699842E2 +:10A9F0003C00E06A000006DD3B69984209DD07E0A3 +:10AA0000BB69984201DC012403E07B69984200DDC8 +:10AA10000324786A002808D000207862032C01D132 +:10AA2000022402E0022C00D101242E48012C0079DE +:10AA300018D13C001C6B0000BB78994215DA3B78BA +:10AA40007B7039700131B96201D50131B962B96ADF +:10AA50000125994203D1042804D2013000E00020EE +:10AA600038710122002933DA27E0032C35D1002682 +:10AA7000002807D03C00586B00001E498140386A0E +:10AA800008180CF05CF800282CD01B480078400710 +:10AA900005D5F8683969884201DB0323FE56B86A98 +:10AAA000B04212DD01217962397801257970387060 +:10AAB0000138B86288423C00946B000001D000214C +:10AAC000397100280CDA0720387100E012E007E045 +:10AAD0003879002809D0FF30387106E0002A02D00A +:10AAE0000CF0F8F83862002C04D0FEF797FD291C12 +:10AAF00008F0FCFBF8BD00003C00D06B0000AC7E11 +:10AB0000010050C300001D75010080B510680028C9 +:10AB100002D000F00AF880BD0348C069806808F0E0 +:10AB2000B2F980BD0000846A010010B5041CC06841 +:10AB3000C068002801D1FAF77AFB3C000C6C0000D9 +:10AB4000E068E169C068231C014AFFF7D7FB10BD2C +:10AB5000DD6B0000B0B5051C0C210020FAF7D6FC17 +:10AB6000041C006800214160016029880181698816 +:10AB70004181291CFF312131201C03F03C00486C2D +:10AB8000000077F9291CFF314631201C03F071F9D0 +:10AB9000291CFF315031201C03F06BF9291CFF31B7 +:10ABA0004331201C03F065F9291CFF316331201C5F +:10ABB00003F05FF904480068002802D0201C3C0024 +:10ABC000846C0000FFF78EFD201CB0BDE462010024 +:10ABD000F8B5051C0C1C04D105211820FAF702FB5E +:10ABE0004DE0291C12310622601CF9F725FC221CBD +:10ABF00030320026002100201670344B1B5C2F8A57 +:10AC00003C00C06C0000DF40FF0707D51778013318 +:10AC100001371770671830377B70013101300E280B +:10AC2000EEDBA87B6072107800282BD02A481E210A +:10AC3000095C271C1037217201686181C189217765 +:10AC400081893C00FC6C00007973C18AA181018B71 +:10AC5000E181428A211C60314A80828A8A801F49B0 +:10AC60002C31097A002909D002290AD10122626215 +:10AC70006272428BA281808BE08103E001216662D7 +:10AC800000E000213C00386D0000E87B084001D165 +:10AC90000020F8BDA868431C09D0221C1232009283 +:10ACA000931D0232211C01F09CFAA06200E0A66212 +:10ACB000687B291C1D3120740B4820222062201C37 +:10ACC0004230BE73F9F73C00746D0000C1FB4034A4 +:10ACD0002670687E0449607068682C3148600120E5 +:10ACE000DAE7000090580100C86E010091020100EF +:10ACF00070B5161C0D1C041C002806D00C20FAF799 +:10AD000047FD30C0083806723C00B06D000070BDD1 +:10AD1000002070BD0000011C054880B5006801D00E +:10AD2000012100E00021FCF7A0FC80BD00000C79AF +:10AD3000010070B50E1C041C002801D1FAF78FFA2F +:10AD4000064D2868002801D0FAF73C00EC6D0000A1 +:10AD500089FA04482E60C4600121017070BD0000B2 +:10AD6000A87E01003000070010B5074C20680028BD +:10AD700001D1FAF777FA054800692168F9F7DFFA97 +:10AD80000020206010BD0000A87E01003C00286E5D +:10AD900000003000070001200549C00680B50860AA +:10ADA0000022032154200CF0B8FC80BD00000010EC +:10ADB000070080B500220421C4200CF0AEFC80BD49 +:10ADC0000000044880B500880249FFF7B8FF3C0046 +:10ADD000646E000080BD0000754B0000C874010067 +:10ADE000F8B5061C31480025C0680C1C002830D07E +:10ADF0002E482F4F0430007838762C4804304078A5 +:10AE00003881002A0BD0F9F7A5FA1F20B876201C4C +:10AE10003C00A06E0000F9F7F6F925480430807870 +:10AE2000B87643E02548224984424D6902D26C43FA +:10AE3000E40B0FE01F48211C806A0090F9F723FC07 +:10AE40000099021C4A43A11A1A4A6943526AC90B63 +:10AE500050433C00DC6E00004418022C01D8002056 +:10AE6000F8BDF9F77DFA1F20B876201CF9F7AEF986 +:10AE7000041C114804308078B8760F4F7D6AAC42CC +:10AE800004D2201CFFF722FC051C12E0211C281C08 +:10AE9000F9F7FCFB3C00186F0000061C6843201A01 +:10AEA000FFF717FC051C002404E0786AFFF711FC8B +:10AEB00045190134B442F8D3281CD4E70000C87403 +:10AEC000010030000700C0C62D00011C7D2080B5A8 +:10AED000C000F9F772FB3C00546F00000249886122 +:10AEE0004008C86180BD0000C874010010B5064C60 +:10AEF000211C00200BF042FA211C00200BF00AFA62 +:10AF000000F068FE10BD0000856F000030B50F4DE9 +:10AF10002A78042A19D8002A3C00906F000017D024 +:10AF2000002107E04B005B185C190123E4568442C2 +:10AF300002DA01318A42F5DC8A4200D10139480047 +:10AF4000401840198178024A343A1170C078507024 +:10AF500030BD0075010030B5111C3C00CC6F000005 +:10AF6000383185B09162082111860023141C011C20 +:10AF70005363C068154D0BE00268AA4206D1C2684F +:10AF8000CA60C3600360FAF7D1FA03E0011CC0682D +:10AF90000028F1D1221C4032082120683C000870B2 +:10AFA0000000FAF764FB0B49201C4830029004941F +:10AFB0000391E069828801686E2001920091221C51 +:10AFC0005632035D211C28312068FFF758FA05B07E +:10AFD00030BDA07E0100D57000001CB507493C00C3 +:10AFE00044700000021C01900091C069131C848809 +:10AFF000016810684833221CFFF708F91CBD0000E7 +:10B00000C96F000010B5141C184803F089F8A0425D +:10B0100001D0FAF745F90422201C4030A16AF9F763 +:10B020003C0080700000BDF9002802D101202062A0 +:10B0300005E0002020628420005D002803D1201C50 +:10B0400009F023FB05E02068FAF779FA201CFAF7EB +:10B05000A4FBE0698079062806D1206A0649002809 +:10B0600003D03C00BC70000008690130086110BDCD +:10B0700048690130486110BDA06A010028610100E3 +:10B080001CB5141C154803F051F8A04201D0FAF782 +:10B090000DF9201C4F300279417900AB12021143A7 +:10B0A000C27812043C00F870000011438278120646 +:10B0B0001143009101784078090208439880201CD0 +:10B0C000694606F03CF9002803D1201C09F0E3FA98 +:10B0D0001CBD2068FAF739FA201CFAF764FBF7E781 +:10B0E0000000A06A01003C0034710000BCB51F4D97 +:10B0F000141C281CDC3003F01FF8A04201D0FAF722 +:10B10000DBF8A06C00AB027881781202114302795F +:10B110001204114342791206114300918179C079DA +:10B12000000208439880201C3C00707100006946B2 +:10B1300006F00BF9002817D001280ED1ED6C002D78 +:10B140000BD08020025DE06C0121002800D100219D +:10B1500060686B460A30F9F723F92068FAF7FBF9C3 +:10B16000201CFAF726FBBCBD201C3C00AC71000083 +:10B1700000F08EFEFAE70000C4690100BCB5041CB3 +:10B18000406A0025002803D06068008B05072D0F5A +:10B19000221C403208212068FAF77EFAA168019546 +:10B1A0000091211C221C6032206850313C00E87163 +:10B1B00000000D1CE36809F0E2FFE069806B0028E5 +:10B1C00003D1FEF7E8FA002801D0182000E0102093 +:10B1D000064901940091E169082309680A18211CB5 +:10B1E0002831281CFFF787F9BCBD357100003C00F1 +:10B1F0002472000010B5101C3830906204201086B4 +:10B20000002050631068141C40320421FAF74AFAF7 +:10B21000231C211C2831024A2068FFF7BDF810BD0D +:10B22000657000000EB5C369021C9888054902923A +:10B230003C0060720000019100901B6810689169E9 +:10B240000322FFF7AEF90EBD0000257200000EB517 +:10B25000021C0649102000900292131C01911068F4 +:10B26000002270330021FFF79CF90EBD000025720B +:10B2700000003C009C72000010B5031C002100205F +:10B28000084C00E00131CA00A2589A4202D00B29B2 +:10B29000F8D310BD0B29FCD2C90009190020087190 +:10B2A000012010BD385801008CB500AB86211980F3 +:10B2B000011C04483C00D872000006F0EEFE01902C +:10B2C000684606F0FAF88CBD0000707C010010B5ED +:10B2D000041C0D480D4994B00480062218310C302E +:10B2E000F9F7FBF801A807F0A2F80C2009A94872A9 +:10B2F00000AB1C8002213C0014730000684603F080 +:10B30000DBFF049001A806F0D1F814B010BD0000D6 +:10B31000587C010080B504F045FE05F053FA80BD6D +:10B3200010B5194CE068002806D0611C0878002888 +:10B3300003D14878FF3008703C005073000010BD06 +:10B34000FF300006000E0870A1680029F7D0002821 +:10B35000F5D10E4854308178002903D1C178FF31EE +:10B36000817010BDFF310906090E8170F9D1A16904 +:10B370000029F6D0808803F0D0FB3C008C730000DD +:10B38000044A011C5C320C3205CA801AA269F9F722 +:10B390001FF810BD447D0100F0B5041C4068002575 +:10B3A0000179002285B0C907CB1769490133896A41 +:10B3B000102905D36649C039086B01303C00C873B9 +:10B3C000000008638EE021680E68F678B706FF0F6C +:10B3D000B609002B049706D063691F1C1B6A5037FF +:10B3E0009F4200D10125002D02D063691B6A04E051 +:10B3F0003C23594F7343DB190433E3619F883C00BE +:10B4000004740000002F70D09B79022B6ED0042BA7 +:10B4100017D0062B69D10868A06108890438088113 +:10B4200020680168043101604E4900295DD0049F05 +:10B43000BA425AD14948221C1C3002F065FE05B0C0 +:10B440003C0040740000F0BD0968251CCA794035F5 +:10B45000261CEA738B79221C503213704B796036AC +:10B4600053700B7993704B78D37009781171002168 +:10B4700029721621B173616A002906D0018B090770 +:10B48000090F3C007C7400002972B1811821B1734E +:10B49000011C0A31201C06224930F9F733F8606894 +:10B4A00014220188E982011D201C5830F9F72AF87E +:10B4B000E88A30490840012189030843E8827089FD +:10B4C0000F2108403C00B874000070812068018999 +:10B4D00008390181206801680831016008210020D5 +:10B4E000FAF783F8051C026820680821FAF7FBF8D0 +:10B4F0002068FAF774F82149C5602FE030E0FFE7D3 +:10B50000216860680A683C00F47400008023A2642B +:10B510001E55E564557913792D025B1995792D0433 +:10B520005B19D5792D065B19957812781202AA1845 +:10B5300015040A892D0C083A0A8121680A68083224 +:10B540000A60E169021C0A323C003075000001A863 +:10B5500009680BF03EF9E0692B1C0168201C703073 +:10B5600001AA0BF086F9094901226DE72068FAF774 +:10B5700022F8201CFAF74DF970E7846A010068612F +:10B580000100557200008FC7FFFF3C006C75000082 +:10B59000417000007972000080B502218220F9F725 +:10B5A00093FE80BD704700007047000070470000A8 +:10B5B00070470000704700007047000070470000AF +:10B5C00080B5C068F9F7FAFF012080BD3C00A8757E +:10B5D000000080B50021FF20F9F779FE80BD70479B +:10B5E000000070470000012070477047000070475E +:10B5F0000000704700007047000080B506219920C8 +:10B60000F9F765FE80BDB0B500250129124C3C005C +:10B61000E47500000FD10AF00FFC00281DD06178FE +:10B620003C235943091904310162611C416284625F +:10B63000041C503406E000290FD13C2050432570F3 +:10B6400004190434002C08D02068002802D02021DE +:10B650003C0020760000F8F718FFA5800720A071B5 +:10B66000B0BD6861010070B5041C002101F041FC0F +:10B670006068002801D0216801602068002801D09E +:10B6800061684160124E7068A04201D160687060CC +:10B69000E0683C005C76000000280BD0002506E046 +:10B6A000E068E900411814200BF0E2FF0135308812 +:10B6B0008542F5DB0621201C4430F8F7E9FE206BBB +:10B6C000002801D0F9F786FFE069002801D0FAF7D9 +:10B6D000AFF870BD3C009876000058750100F0B5D9 +:10B6E0001D4F059D3F6801261C1C331C002F00D0F8 +:10B6F0002B1C1D062D0E002906D011780E23164F87 +:10B700000918097A6B4310E02178002913D0FF3122 +:10B710000DE0012901D93C00D476000001311170FF +:10B7200011780E230F4F490811700918097A6B43DD +:10B73000DB19595C21702178002902D11178002988 +:10B74000EAD10948C068002805D02178301C0029BA +:10B7500000D10020F0BD01203C0010770000F0BDBA +:10B76000000018670100246701005C670100AC7CE1 +:10B77000010084460020F0B5002909D011781A4E46 +:10B78000B170194EB178717031700121316127E0CB +:10B79000164E0123F15663465F683C004C7700006B +:10B7A0000023F6560125CC0FB74200D90025002C06 +:10B7B00001D0002DE8D10E4F3B69002B03D0002DA6 +:10B7C00001D1167002E01C4301D111700120012447 +:10B7D000002B00D000243C61002C02D03C00887774 +:10B7E0000000711C397001E0FF3179700028D5D05C +:10B7F0000120F0BD0000AC7C010090B50A4C002097 +:10B8000093B0206103906846002108F084FD207AFF +:10B81000022801D1E06B00E0206CE06101203C00D7 +:10B82000C477000008F08AFD13B090BDF46E0100EB +:10B83000F7B5051C88880C1C82B01F4F002800D16A +:10B8400000270498002801D1F9F78AFD1B483B1C0A +:10B850000068211C0268281C0092049AFEF73CF83C +:10B860003C0000780000061C22D00321049802F05E +:10B87000B8FF00281BD08078012103F0E4FFA088E6 +:10B88000A18E484300040F49000C088003F081F9A1 +:10B890000122002D00D10022011C0E200BF0C9FE58 +:10B8A000002F3C003C78000008D10021281C02F049 +:10B8B000BDFC03E00026281C00F00AF8301C05B08F +:10B8C000F0BD0000C1A10000E4650100A87C0100FA +:10B8D00010B5041CFEF738F80121002C00D100211E +:10B8E0000E200BF03C0078780000DDFE10BDF8B5AE +:10B8F000071C0BF094FAFDF7BCFE002602281E4D33 +:10B9000001D02E70F8BDFDF73EF8041CF9F759FC84 +:10B91000002814D0FDF777F8002810D002F0F9FBCA +:10B92000002801D000243C00B478000000E0154C51 +:10B93000331C211C072216200BF066FF687880213B +:10B940000843687002F00AFC0028DED128788007DE +:10B95000DBD4FDF723F9002805D12878C00702D5EC +:10B96000FDF742F8D1E702F03C00F0780000CDFB93 +:10B970000028CDD02878022108432870211C381CCB +:10B98000FDF7C1F8C4E7606C01007102000010B55A +:10B99000124C01202070FEF7F0F90121A068FBF79E +:10B9A000F4FEA06803F087FF0D483C002C790000EE +:10B9B000A16807F023FDFBF755FFE06800280DD0D4 +:10B9C000094906200AF024FD084905200AF020FD57 +:10B9D000FBF76EFF002801D005F0F8FC10BD000059 +:10B9E0007869010034630100E13500003C006879AA +:10B9F0000000B1350000F0B5244D234C687C203C9C +:10BA00009BB0002808D0022803D820890138208163 +:10BA100037E000276F7434E01C4E68221436311C66 +:10BA20000C3101A8F8F709FE1848338901213C00C0 +:10BA3000A479000044300A1C002B007B00D1021CBA +:10BA40001206120E0DAF3A709446AA7B931930334A +:10BA50005B7B7B70EA7301321206120E0027824272 +:10BA6000AA7301D3AF7304E06246012A01D1776063 +:10BA70003C00E079000000E071600648074A803829 +:10BA800081674267682201A9F8F7DDFD278108F088 +:10BA900012FD1BB0F0BD84660100E92E0000F1B577 +:10BAA00086B006990020886106988468808D656854 +:10BAB00001283C001C7A00004CD9354949680591A1 +:10BAC000002947D00022002100230390281C96461D +:10BAD000944606680496F2788026B2433F2A2ED810 +:10BAE000D706FF0E0126BE40371C049E5209B678C9 +:10BAF0007600B2183C00587A0000264E92001C36A0 +:10BB0000B2583A401ED003E002900289C068511832 +:10BB10000028F9D10598814214D870460130864634 +:10BB2000002B04D06046D86001986246D06003982C +:10BB30000138039006D03C00947A0000231C24684E +:10BB40006068029A01909446C9E77046012807D9B7 +:10BB50002A1C00213F2001F051FF051C0698856139 +:10BB6000281C01F0B3FF0E480068002807D02868A1 +:10BB7000018840790231091A3C00D07A0000281C63 +:10BB800001F0E5FCA2680698C06806990B69291CBB +:10BB9000F8F77CFC034908690130086107B0F0BD83 +:10BBA0000000FC5A0100CC5C010010B5094A80007D +:10BBB0001258D006C00E0130074B3C000C7B000031 +:10BBC0001C68002CFCDB5A602022121A914019607C +:10BBD00019680029FCDB10BDE86001003020070077 +:10BBE000B0B5124C00252570A168114807F032FC51 +:10BBF0006561FBF7A3FEE06800280DD03C00487BA0 +:10BC00000000FBF7A4FE012107200BF070FD0A499C +:10BC100006200AF04CFC094905200AF048FCA068FF +:10BC200003F067FE0021A068FBF7CDFD05F0ABFB3C +:10BC3000B0BD7869010034630100E13500003C00CB +:10BC4000847B0000B135000010B50F4C207C00282B +:10BC500019D16069002816D1E068002806D00A488A +:10BC60001C38C068002801D005F0CEFB0121072058 +:10BC70000BF040FDA06803F03FFE0448A16807F008 +:10BC80003C00C07B0000DBFB0120207010BD786908 +:10BC900001003463010070B50E4C0122A368E56811 +:10BCA000268A5D1BB54201D1002206E025680133DA +:10BCB0002E68A3602660043503C5002A04D1012143 +:10BCC0009D203C00FC7B0000F9F752FB70BD03494E +:10BCD0000220086070BD000044E30100402007001E +:10BCE00080B502F0B9F880BD80B502212D20F9F7AA +:10BCF0003FFB002080BD000080B502212A20F9F71B +:10BD000037FB00203C00387C000080BD000080B57F +:10BD100001212B20F9F72FFB022080BD00000149F3 +:10BD20000120086170477C780100F8B5061C0C23DF +:10BD30000F1C1749584345186C68301C0BF03FFE28 +:10BD4000002F09D1301C3C00747C000003F0EEFE93 +:10BD5000412007551148211CFFF7A6FFF8BD4120DF +:10BD60000755A06B002803D0201C00F0DFF9F5E791 +:10BD7000201C00F0DBF9AC68002C02D00020A86089 +:10BD8000EDE7301C05F034F93C00B07C0000041CE9 +:10BD9000E8D108210C20F9F7F4FAE3E70000607B12 +:10BDA000010055800000074A80B55070516012783C +:10BDB000064B80005201D218101840380268081C47 +:10BDC000F8F77BFB80BD786901003C00EC7C00004B +:10BDD000FC420100B0B50A49041CC870084DE435A6 +:10BDE000A87A0871082C01D3F9F7FCFAA87A05495A +:10BDF00040014018A1004058F8F760FBB0BD0000BA +:10BE0000606C01008043010080B500283C00287D63 +:10BE1000000001D009F01DF980BDB0B5051C0C1C57 +:10BE200000200860686809F036FB6C60B0BD10B592 +:10BE3000041C09F034FB2168002900D1646010BDA6 +:10BE400000000021016040607047F8B546683C0082 +:10BE5000647D0000041C406A351C0A35002804D0AB +:10BE6000201CF9F789FD071C00E00427291C6069E4 +:10BE700000F0F6FC79000F18BA88F18A051C8A4296 +:10BE800005D13088000502D504F0BEFB3CE02868EF +:10BE90003C00A07D000000280FD001328A4204D16E +:10BEA000F9F70FFC2168C1600BE0F9F7F0FBF08AAD +:10BEB000000704D00021296029E0080727D1206865 +:10BEC0002860F08AB8801348016801310160318828 +:10BED00049053C00DC7D000018D429682160002160 +:10BEE0002960E16900290DD0897902290AD1082148 +:10BEF0002186211C3831A162221CDC30084902F065 +:10BF000081F9F8BD201C00F05FF8FAE7201CF9F772 +:10BF1000EFFCF6E73C00187E00002068F9F7BDFB57 +:10BF2000F7E7C4690100B9710000F8B50F1C097882 +:10BF30000124C90721D502F08CFF002801D000247C +:10BF40001BE00E4E756E002D17D0346E0622311C8C +:10BF5000381CF8F7D4FA3C00547E0000002805D1C4 +:10BF60000120002C00D00020041C03E0013D063617 +:10BF7000002DEED1002C03D1024EB06E0130B06620 +:10BF8000201CF8BD1079010030B5051C00200649C1 +:10BF900000221C23CC56AC423C00907E000001D114 +:10BFA000081C30BD01324831012AF5D330BDCC6DBB +:10BFB000010010B5084C00221C235343E358834270 +:10BFC00004D11C20504300190A6010BD01320E2A12 +:10BFD000F2D3002010BDDC7101003C00CC7E0000DB +:10BFE000F0B5416895B0071C90371391041CF878A0 +:10BFF000251C8035C6072879F60F4A4902284DD1FD +:10C000000A6D002A4AD04868013048600AF058FF9B +:10C0100044490861486113990979C9073C00087FC0 +:10C02000000001D441498861206806220690A16879 +:10C0300003A8F8F7EEFA062204A80230E168F8F740 +:10C04000E8FA07A806222169F8F7E3FAB87808ABFE +:10C05000002198700C96636A201CA0300A1C3C00DA +:10C06000447F0000002B02D0028A5207520F08AB17 +:10C07000DA7000AB998413990988C90BD984696B6C +:10C0800010AB1091A96B1191808B29491881096D12 +:10C0900003A8F8F732FA2979686B0BF04DFD29797E +:10C0A0003C00807F0000A86B0BF067FD3DE000289E +:10C0B00038D1486D1490002834D0206806220390AF +:10C0C000A1686846F8F7ABFA062268468018E1686E +:10C0D000F8F7A5FA05A806222169F8F7A0FA0021C9 +:10C0E00004913C00BC7F0000B97808A810AB017235 +:10C0F0000896E9680B9169794172686B0E90A86B9C +:10C100001090288DD880688D1881E1690CA80029CD +:10C1100004D089790170206A0D9001E00721017037 +:10C12000684614993C00F87F0000F8F7EFF902E048 +:10C130002068F9F7CAFA201CF9F7F5FB15B0F0BD35 +:10C140000000C4690100B0B5041CC0680622018962 +:10C150000C3101810568211C0C3D0560A818F8F719 +:10C1600064FA0622A1183C0034800000281CF8F76D +:10C170005FFAA08F0009E062206303480169201C78 +:10C18000F8F7C7F9B0BD00007C790100F8B5061CCE +:10C190006036051C707A0C23254958434418A86B57 +:10C1A0000027002806D0A0783C00708000000128FD +:10C1B00003D1A770707A0AF0B6FD2A1C0C218020EA +:10C1C0000BF095FBA86B002833D0A07802280BD089 +:10C1D000042822D1A7702F1C4037787802280CD170 +:10C1E000707A0AF0A0FD18E003203C00AC8000004B +:10C1F000A0701249002014390969F8F790F90FE08E +:10C200002C1C07E078784121221C08550C21802045 +:10C210000BF070FB6034607A04F020FF041CF1D155 +:10C22000707A4035A98B0002090909043C00E880B6 +:10C2300000000843812101430C200BF0A0FAF8BD57 +:10C240000000607B0100F8B51C49051C886A0130BC +:10C250008862281C0BF07DFD041C11D02B1C2033A0 +:10C260001E1C5A79201CB4301979144FFDF73C007C +:10C270002481000089F8AA7A201CB830B179FDF732 +:10C28000B9F8002F04D101212868FAF76DFAF8BD3A +:10C290006068BC21C08A085328680021FAF764FA54 +:10C2A000002809D00649C86A0130C862002CEED0C7 +:10C2B0003C0060810000201CF9F747FBEAE7201CE6 +:10C2C000F8F73CF9E6E7C4690100A1FF0000F8B502 +:10C2D000164C051F0022211CA03103E02868A04253 +:10C2E00009D02034A142F9D1002A04D102218E20A4 +:10C2F000F9F73C009C81000083F8F8BD0D4FBE7932 +:10C30000606901306061F8F797FDA84207D1A08805 +:10C310000430F8F797FDE0690130E06105E020683E +:10C3200028602560A0690130A061BE71E5E70000CA +:10C33000D05C01003C00D8810000201007000029DB +:10C3400001DB062901DB02207047064BC9005A5C5D +:10C35000C91802704A7842708A78827049684160D0 +:10C36000002070470000CC5A0100B0B50D1C041C21 +:10C37000052801D3F9F73C001482000075F8104835 +:10C380004068002800D00324102D00D30F2506207C +:10C390000B496043123140184178807849190906E9 +:10C3A000090E884200D2011C01208840054901384D +:10C3B000096808400004000C3C005082000002F0B4 +:10C3C00044FEB0BD0000D47A010008200700B0B5DB +:10C3D000041C0D1C09F0CFFD002803D1201C09F01E +:10C3E00082FD0561B0BD80B50AF097FD034A0C32AD +:10C3F00006CA8918081A80BD00003C008C82000023 +:10C40000A07D010070B50B4C049E64680DE065686A +:10C41000854209D1207A0870E068106020691860B0 +:10C42000207D3080012070BD2468002CEFD10020D9 +:10C4300070BD0000A46E010010B5041C3C00C88251 +:10C4400000002030817B20690430FDF764F9011C75 +:10C450006220025B636A4034207802F0CEFD10BD9A +:10C4600000000B4910B508888A690A2350435843D5 +:10C470000ED0084A53899488D2881B1952043C0074 +:10C4800004830000520C9A18C96806324A430A21F4 +:10C490005143F8F7FDF910BDC874010030000700E2 +:10C4A00010B5431C01D1104810BD0F4A0E4B943AF1 +:10C4B0001268443B1B7A10E0546884420CD1002976 +:10C4C0003C00408300000FD1022B03D1D47B022C0F +:10C4D0000AD204E0002B05D1D47BE40704D412680F +:10C4E000002AECD1002010BD101C10BD0000386FD8 +:10C4F0000100011C0120012900D00020704700B577 +:10C50000021C3C007C830000FDF7CEF8002808D018 +:10C51000101CFFF7F1FF1823034958434018006926 +:10C5200000BD002000BD00009467010080B5002818 +:10C5300000D10848074900685031097A002902D023 +:10C54000022904D13C00B883000000E0012100F082 +:10C5500006F880BD002080BD0000A46E0100124AD4 +:10C56000124B127A2C3B002A03D15A68002A18D1A8 +:10C5700004E0022A02D19A68002A12D100207047F2 +:10C58000C27B8A4201D03C00F4830000032A0AD116 +:10C59000827E012A07D1027F01321206120E027733 +:10C5A000C37E9A42EED200680028ECD170470000AA +:10C5B000F46E0100F7B58446002001270024002511 +:10C5C00088B007E06246525D3C0030840000002ADB +:10C5D00005D0AB006E46F25001358D42F5D3002DEB +:10C5E00000D00120002828D00027164C6E4622E0FB +:10C5F000201C00F030F8012801D0072806D10021C6 +:10C60000201C00F034F8316888423C006C84000043 +:10C6100001D2022714E02068C9000C18083C201C35 +:10C6200000F01CF8072807D10120012D00D00020C0 +:10C630002468002800D10834013D0436002DDAD1E9 +:10C640000A9804600BB0381CF0BD00003C00A884C0 +:10C650000000205201000068002901D08002800AF9 +:10C66000704710B540688000440F082C03D30221A6 +:10C670008720F8F7ECFE201C10BD002902D00068CE +:10C68000800D704740688005800D704700003C00B9 +:10C69000E484000010B540684001440F052C03D32A +:10C6A00005218720F8F7D6FE201C10BDF8B5051C23 +:10C6B000880A00901C488E05C069B60D171C1C1C0A +:10C6C000002805D1184881698D421DD0856111E08F +:10C6D0003C0020850000FDF7E8F8154909780E298F +:10C6E00007D1002805D0114950310623C956F9F762 +:10C6F00006FA0E490020C8618D61291C201CF8F73C +:10C70000E2F87943201CF8F7DEF808484161201C64 +:10C7100000993C005C850000F8F7D8F805484069AE +:10C720000A18A24201D2401801E04018001B800202 +:10C730008019F8BDAC7C010011670100F8B50F1C31 +:10C74000061C141C1D1C07F0A1FC0E2809D1201C7E +:10C7500002F0FCFB3C0098850000002804D008484B +:10C76000007802F0E4FB041C0121002EAC7200D022 +:10C77000391C201C02F007FC2860002028726C7213 +:10C78000F8BD90570100031C0A4810B50024021C94 +:10C79000A03203E081883C00D4850000994209D290 +:10C7A00020308242F9D1002C04D102218E20F8F7EA +:10C7B0005DFE002010BD0000D05C0100FFB5061C2E +:10C7C000002081B010601F1C0125141C301CFFF7D5 +:10C7D0006DFF052812D202A33C00108600001B5CEE +:10C7E0005B009F440000030303030800391C301C56 +:10C7F000FFF755FF03E00298F8F7EBF801302060EF +:10C8000004E005218720F8F734FE00252068802801 +:10C8100004D906218720F8F72CFE3C004C86000046 +:10C820000025281C05B0F0BD70B5174C606C0028C1 +:10C8300001D001201DE0164E144D3188A06C002857 +:10C8400008D02878814205D9F8F74CF80138FAF772 +:10C8500051FE0EE0E06C00280AD000203C008886E3 +:10C860000000FAF74AFE29783288914204D99042B2 +:10C8700002D9101C00E0081CFAF7DFFDE16B441A36 +:10C880000AF081FB201A00D5002070BD0000447D15 +:10C890000100F8600100FC600100FFB5274E3C007C +:10C8A000C4860000041CB0790F1C151C81B00090D8 +:10C8B0000AF06CFBC11923480768002F05D10A2133 +:10C8C0008020F8F7DFFD05B0F0BD1E4840688446C3 +:10C8D000002801D100220EE082680368AB4207D134 +:10C8E0003C00008700000379A34204D10B21802083 +:10C8F000F8F7CBFD23E0C0680028F1D1134BF868AE +:10C9000018603D603C71B96004988D1A38616046CA +:10C91000002305E08468A41AAC4203DA031CC06853 +:10C9200000283C003C870000F7D1F860002B08D1BC +:10C9300007483B1C47600848064A00880AF08AFB03 +:10C9400000E0DF600098B071C3E70000201007002E +:10C950007C5D0100213801002C740100F3B583B027 +:10C96000041C09D03C0078870000201C049909F0C1 +:10C970008EFB002803D0201C303005B0F0BD0AF03B +:10C980000EFB1E4A0026049F019600900292029C14 +:10C990000025391C201C143002F0C5FA002801D0F3 +:10C9A000261C03E001353C00B48700001C34042D34 +:10C9B000F2D3002E22D10198134F013001900228AA +:10C9C000E8D30121C906029A00201369009CE31AEA +:10C9D0008B4201DD191C161C01301C320428F4D3D3 +:10C9E0003068002801D0F8F73C00F0870000D3FE43 +:10C9F000301CFDF74AFF301C143006220499F7F76B +:10CA00007AFE009C301C3461BDE7306A010034427C +:10CA10000100094910B54C6903E0E168814203D087 +:10CA20002468002CF9D101E0002C3C002C88000087 +:10CA300003D102210220F8F737FD201C10BD0000B1 +:10CA4000FC5A010010B5C30706D5084B5C690C43BE +:10CA50005C611C7E14431C76800706D5044843693C +:10CA600019434161017E1143017610BD3C00688885 +:10CA70000000FC5701001858010070B50D1C041C83 +:10CA8000161C00F008F8A007C0170130321C291C42 +:10CA900000F021F870BD10B5C30706D5084B5C69DE +:10CAA0008C435C611C7E94431C76800706D53C0059 +:10CAB000A4880000044843698B434361017E91438D +:10CAC000017610BDFC570100185801000322111F08 +:10CAD00080B5012000F002F880BD000030B5151CC3 +:10CAE0000C1C002887B002D01C22224901E02249F8 +:10CAF0003C00E08800001C226846F7F764FE0599B8 +:10CB000000AB1A7E8C43201C9543029A291C0240DC +:10CB10000292019A02400192009A02400092039A06 +:10CB200002400392987C08409874587C08405874DE +:10CB3000187C3C001C89000008401874D87C084010 +:10CB4000D87402991048416101AA06CA91438161D3 +:10CB50008168019A114381608168009A91438160E4 +:10CB600000AA06CA11434268114341604168039A12 +:10CB7000914341603C005889000004A80BF001F883 +:10CB800007B030BD0000FC5701001858010010002C +:10CB9000070010B5041C011C012008F0E0F9002C6E +:10CBA00002D003F01CFF10BDFEF7D1FC10BDF0B5A4 +:10CBB0000C1C010E01233C00948900001B06090691 +:10CBC00099429FB028D11749084000211A2800D364 +:10CBD0000221002919D1C500134F10A8EE19B288FF +:10CBE0002168F7F79DFD201CF8F7EAFD7A5901A9A5 +:10CBF00010A8F7F707FD00283C00D089000005D0F9 +:10CC0000109801A90190B07900F09DF81FB0F0BD17 +:10CC10002A20F8F75EFC201CF8F7D5FDF6E7032183 +:10CC20002A20F8F756FCF1E700007FFFFF002445BB +:10CC3000010010B50C1C802802D03C000C8A0000BA +:10CC4000812808D103E0201C00F006F910BD201C4B +:10CC5000F8F7BCFD10BD03212C20F8F73DFCF6E7EA +:10CC6000F0B50C1C00218BB00A91010E01231B06AC +:10CC7000090699422AD118490840061C3C00488AF6 +:10CC80000000062E01D3072124E02089F8F7F1FEE9 +:10CC900022892168051CF7F74CFD201CF8F799FD47 +:10CCA000F4000F4E281C0AAA69463359F7F7B4FC62 +:10CCB000002801D0012807D12868694600903C006F +:10CCC000848A0000A01900790A9A00F009F9281C4A +:10CCD000F8F7B0FE0BB0F0BD01212B20F8F702FCF5 +:10CCE000F8E700007FFFFF00284601000A1C010E44 +:10CCF00001231B060906994280B508D05B009942C2 +:10CD00003C00C08A00000BD10006000E111C00F090 +:10CD10000EF980BD05490140101C05F0A2F980BD47 +:10CD200001212D20F8F7E1FB80BD7FFFFF0080B5DA +:10CD3000011C0F2000F013F880BD80B5011C0420F9 +:10CD400000F03C00FC8A00000DF880BD80B5011C9D +:10CD5000172000F007F880BD80B5011C012000F00D +:10CD600001F880BDF8B5041C061C802084430F1C0C +:10CD7000192C01D3F8F7EAFB0848045D211C0020B8 +:10CD8000F8F750FD3C00388B0000051C221C391CB4 +:10CD90000068F7F7DAFC2A1C311C0720F8F711F9B4 +:10CDA000F8BDF4450100F8B50D1C161C041C1F1C31 +:10CDB00008210020F8F739FD142201680E4B724358 +:10CDC000D2180C71127C3C00748B00004A710D600B +:10CDD0000B4A8F7112687F2A03D95205520E8023A5 +:10CDE0001A43CA71074A0023516801315160021C7D +:10CDF00081210020F8F708F9F8BD00007440010017 +:10CE0000FC5A0100806E01003C00B08B0000B0B500 +:10CE1000041C08210020F8F70EFD218BE27D051C83 +:10CE200009055207520F490C006811438180A17D0A +:10CE300014230E4A59438918097CC171E16A0160C3 +:10CE4000E168281CF8F717FC0A483C00EC8B00004E +:10CE50000068002801D0F7F7F1FB07490431886822 +:10CE60000130886000212A1C0020236BF8F7D2F8DB +:10CE70000120B0BD744001007C6E01000148806853 +:10CE800070470000806E010010B5041C3C00288C27 +:10CE9000000092B0016868460822F7F762FC00AB18 +:10CEA00098884007400FD87798884004000D188470 +:10CEB000D888588400980D900594208908382081DE +:10CEC000059801680831016000200A900C903C0030 +:10CED000648C00000021112009F078FB0549064A06 +:10CEE000086801300860022102A801F0CDFC12B0F0 +:10CEF00010BD0000806E0100558B0000021C012057 +:10CF00000006084380B52B210AF08AFD80BD000091 +:10CF10003C00A08C0000F7B5041C061C8020844354 +:10CF2000171C062C01D3F8F726FB0B48055D291CBE +:10CF30000020F8F78CFC041C006801992A1CF7F704 +:10CF400016FC391C201CF8F7A2FB221C311C002304 +:10CF500002203C00DC8C0000F8F768F8FEBD000001 +:10CF6000204601000A1C011C80B500230120F8F7AF +:10CF70005DF880BDFFB59FB01F1C051C0A301E90D8 +:10CF80001CAA1DA90AF000FF002871D0002F09D0AB +:10CF90000A2100203C00188D0000F8F75EFC0668AE +:10CFA000041C301DFAF7AFFA05E004210020F8F761 +:10CFB00054FC0668041C28893649012208807080C8 +:10CFC000E88814A9308019A8FCF7F5FCFCF7FFFBF2 +:10CFD000011CFF3121313C00548D0000201C01F068 +:10CFE000EFF819A9201C01F0EBF814A9201C01F09E +:10CFF000E7F8201C2099FDF74BFD0022022101F0EB +:10D0000033FD061C1C9900208861301CF8F71CFABF +:10D01000002E0BD0307A00283C00908D000002D00A +:10D020004021084330721C980222816911438161BA +:10D0300004E01C9902228869904388611DAA06CAEF +:10D0400001A805F058FB09A8002F02D00222427265 +:10D0500001E000214172049401A83C00CC8D000045 +:10D0600004F07AFB01211C9808F0C8FF002F04D0BF +:10D070001C980122816911438161A8881C9C01F0E0 +:10D080009FFE021C211C00E004E00748408809F0D4 +:10D090001FF804E03A1C00210520F9F73C00088E37 +:10D0A00000009BF8002023B0F0BDFC600100987CDC +:10D0B0000100F8B5041CC0680568A01D01F095FFCB +:10D0C000002845D0211C1431201C6A460AF055FE68 +:10D0D00000283DD0FCF77DFA002839D100983C00AB +:10D0E000448E00004B21095C012934D1042609F04B +:10D0F00019F9688800281BD1A8880321890388436F +:10D1000015490026088001220221206901F0B8FC9F +:10D11000041C14D000988069800710D5F8F79AF99C +:10D120003C00808E0000201CF8F7DDF8002809D1B3 +:10D13000F8F77FF901260098022281699143816105 +:10D14000002101E00098022108F061FF0098806949 +:10D15000A988C207D20F301CF9F745F8F8BDFA606C +:10D1600001003C00BC8E00001CB5046900230022B5 +:10D17000002C13D14B24245C022C03D1022905D0AE +:10D18000012203E0022901D101220123002A05D056 +:10D19000009004200193694609F036FA1CBD000096 +:10D1A000B0B5041C3C00F88E0000F2210F200C4D9D +:10D1B0000AF099FB287808280BD201A31B5C5B00BE +:10D1C0009F440703030808080808002C01D105F054 +:10D1D000BCFBB0BD012CFCD1FF2007F038FAB0BD7C +:10D1E0000000746601003C00348F00008CB5054AD5 +:10D1F00000AB1172009019716946082009F00AFA13 +:10D200008CBD0000AC7C0100F3B5041CC06806278F +:10D2100085B0066809F026FF984948632069032114 +:10D2200001F008FC964D00283C00708F00004DD0A6 +:10D230009549403109798078814247D1012120699F +:10D2400001F0FBFB02902069322101F0F6FB019016 +:10D25000021C8D480299FCF746FF002836D00023B7 +:10D260008A480299019AFCF7E4FE3C00AC8F00006A +:10D270000B282ED1864A51887089414003910B1C9E +:10D2800084490B4025D150800399171C00290BD0ED +:10D290000399480502D5381CFCF740FE039988061F +:10D2A00002D5381CFCF724FE2A2120693C00E88FB7 +:10D2B000000001F0C8FB00280DD08078E9698142A8 +:10D2C00009D0E861381CFCF716FE381CFCF707FE95 +:10D2D000381CFCF726FE0027201C20300490407AE2 +:10D2E000082871D10AF0D1FC0020686100233C00BD +:10D2F000249000002B61A86866490130A86030893D +:10D300005C31888201F07AFD62495C310861226AF1 +:10D3100004981821007A01F033FEE16A4018039066 +:10D320005C48006A00280DD0002F0BD1594801231A +:10D330003C00609000005C3001681B0700223068F0 +:10D3400009F049FF002800D105270021A06B0AF051 +:10D35000CEFC0021206C0AF0E8FC4F4B03CE039A70 +:10D360005C33FCF788FD00204C4E0521B06320693A +:10D3700001F03C009C9000006FFB011C01D1F060AB +:10D380001CE00120F0608878454A01321070C878AE +:10D390005070474A1070306900280AD04A780879DE +:10D3A000053109F0DDFA3169F7F785F9F0680028F1 +:10D3B00004D03B4A3C00D89000000132107800288D +:10D3C00008D10020A861716A002903D0201C143004 +:10D3D000F7F774F9344A5C321069316A411800E099 +:10D3E00020E00A23D0680A2209F0FBFE002807D0BB +:10D3F0002D4A316A5C323C0014910000D068401A1A +:10D400001169401A7060294A5C32D0683062F06954 +:10D41000002804D0FAF700FD0120FAF7A1FCFAF782 +:10D4200081FC2748006803F007F90698002803D11B +:10D430001E4E0023B36016E03C00509100001C4ECD +:10D440000120B060069801684068B06519487165B0 +:10D450005430C088002809D0B169002906D001F0F5 +:10D46000DCFC011CE06AB269F7F72FF9002F15D137 +:10D4700012480169002908D101213C008C9100006B +:10D4800001612A68002A03D000210020F7F720F963 +:10D4900009490023CB622B616B6106F0B5F807B038 +:10D4A000F0BD6B680648002BF9D0021D111C381C1A +:10D4B000F7F70FF9F3E70000447D01003C00C89145 +:10D4C0000000F4680100F467010003080000F86040 +:10D4D0000100C467010008B5F8F72FFD009000AB0C +:10D4E000188800280CD005F050FF00AB5988188828 +:10D4F00005F06DF9FEF797F80320FBF70EF83C00F6 +:10D500000492000008BD0120FFF7B2FB002008F0E4 +:10D510008DFEF7E7F8B54F498C68206A00680578FA +:10D52000FCF768FA002812D02A07920F0121012A7D +:10D5300000D00021002903D02906090F0B2906D1AC +:10D540003C00409200002A21095D08189030007BC1 +:10D55000F9F70DFC414F3C3FB86B796BF7F7C0F81A +:10D56000A06C0026C660606B800804D0B8690130EA +:10D57000B86106F0DCF9394D28698005800F08D1C3 +:10D5800078693C007C920000042101307861606B76 +:10D590004008400008436063B86A002803D0606B0D +:10D5A000082108436063201C203000903968F7F799 +:10D5B0009AF80320000228602B498868A063C86895 +:10D5C000E06308793C00B8920000C006C00E251C3C +:10D5D000403528714879687123483C384662009884 +:10D5E000807A01F05EFD00210028214A01D01178E7 +:10D5F00003E09378DB0700D55178A971002804D0A7 +:10D600001B49143108683C00F4920000206400E0DB +:10D610006E80B86AC00702D5FF202871AE71E6613E +:10D62000B8680130B8607968884203D00B21852042 +:10D63000F7F7C4FF0D498868C06C8860FB6A002B4F +:10D640000CD00E4AD47B002B3C003093000002DD4E +:10D650007F2C05D201E0002C02D0D47BE318D373D9 +:10D66000FE62C968884203D105218520F7F7A9FF2A +:10D67000F8BD247E010000400700A0800700E8807C +:10D68000070040000700FEB5304C3C006C930000E2 +:10D69000A06B216BF7F733F82D493C318E68708B06 +:10D6A000062804D2E0690130E0610E203085284967 +:10D6B0003C310D68002D03D103218520F7F784FF4D +:10D6C000244845613562318DEF6804393C00A893E8 +:10D6D00000000C0401210291240C002101911D483D +:10D6E0003C30808AA04203D32C81EE6000240BE002 +:10D6F000002F04D103218520F7F769FF04E03D1CCA +:10D70000201A0404FF68240C0298002804D03C006E +:10D71000E493000012490120086100200290019862 +:10D7200001300190002CDDD10C480C4C3C300760DE +:10D7300001983065B564306A0068606260680130E5 +:10D740006060A1680131884203D00A218520F7F783 +:10D750003C002094000041FF04480068A062FEBD28 +:10D760000000E87D010000300700786E0100B0B5D0 +:10D77000051C01210F200AF0F8F8F2210F200AF011 +:10D78000F4F80C480C4C0068143C00280CD0E078ED +:10D7900001283C005C94000009D00122291C0F20C4 +:10D7A0000AF0ACF86078022806D0012003E0607827 +:10D7B000022801D000206070B0BD00009866010012 +:10D7C0000222002880B500D1032203490E200AF06E +:10D7D0009BF800203C009894000080BD000050C3DE +:10D7E0000000F8B50023002200282ED00689046826 +:10D7F000751E2D04B61AF6072D0CF60FB4460EE072 +:10D80000A75CA618023300977778A7540232120457 +:10D81000009F120C00293C00D4940000777001DDB9 +:10D820008B4215DAAA42EED3C068002810D00289D4 +:10D83000002AF9D06246002A0BD00268665D17788C +:10D8400002336755167001220029D2DD8B42D0DBEE +:10D85000F8BD0022CDE700003C0010950000B0B5F7 +:10D86000041C0D1C0120F8F75EFB0D490028C8615F +:10D8700014D062684260A27C0272A268C260E26850 +:10D880000261228A02750A1D0A621268002AFFD10B +:10D89000026048600020A86001203C004C95000018 +:10D8A000B0BD0120FAE70000A46E0100B0B5041C71 +:10D8B00040680D1C431C02D1211C094808E00020CF +:10D8C000F8F734FB064994390861002803D0211C7D +:10D8D00000F048FE00E00120A86001203C0088958F +:10D8E0000000B0BD0000386F010080B50121972015 +:10D8F000F7F785FE002080BD000038B50A1C143201 +:10D900000092131F051C083A0C1C16314068FEF7E4 +:10D910006CFE002801D0002000E0012069683C0076 +:10D92000C4950000A0606160012038BD10B50C1CDA +:10D93000017A00290FD0012909D0022903D1002141 +:10D9400000200AF073FC00202071012010BD416806 +:10D9500001200AF06BFC00F00DF9F4E780B50449F2 +:10D960003C000096000048680138486001D107F08B +:10D970006EFB002080BDAC790100B0B5051C0C1C0D +:10D9800000F04FFEA060686860600120B0BDB0B5D7 +:10D99000051C0C1C00F06FFEA06068686060012030 +:10D9A000B0BD3C003C960000081C00210022002372 +:10D9B0000EC008C001207047F8B50F1C041C207968 +:10D9C000202801D2202020716679002E02D12579ED +:10D9D00000220DE02579291C301CF7F74FF80029AB +:10D9E00001D1321C3C007896000004E0704380199D +:10D9F00005062D0E321CE079291C00F0F2F9207A80 +:10DA00002F49C007C00F08602E480078C00743D5D3 +:10DA1000A1792C4AC80748D42C4E16608B072B4896 +:10DA200008D5CC0801233C00B4960000A340036055 +:10DA3000490704D52849116001E0402101601368BD +:10DA4000264AB34210D1546801680C4354601468EC +:10DA50000C4001D0516100E0916154680C43546066 +:10DA600094682143916013E03C00F0960000547CE0 +:10DA700001680C435474147C0C4003D0147C0C4398 +:10DA8000147402E0147C8C431474547C0C4354745E +:10DA9000947C21439174B34205D100220168032094 +:10DAA000FFF78DF809E0006800213C002C9700008A +:10DAB0000206120E0320FFF785F801E00B48106004 +:10DAC000002038717D71F7F7E9FD0120F8BD0000F5 +:10DAD000CC5C0100040007005C5B0100B99B000006 +:10DAE000585B0100959B0000100007003C00689700 +:10DAF0000000559B0000B0B50D1C04300024FEF75B +:10DB0000D6FA01206C60B0BD0000F0B5077A43681A +:10DB1000041C0E480E1C00680125011C9BB006E089 +:10DB20004A689A4202D18F76002502E009683C00DB +:10DB3000A49700000029F6D1002D05D1217A0129F2 +:10DB400002D101A9F8F7A8F86068043621C61BB015 +:10DB50000120F0BDA46E010010B50C1C08F0AEFC55 +:10DB60006060012010BD000010B50C1C07F084FAA5 +:10DB70003C00E097000004F054FF002060600120AA +:10DB800010BD0020C043486001207047000010B560 +:10DB90000C1C0079FAF707F8002801D0002000E0FB +:10DBA00002206060012010BD00001CB5064C2068FA +:10DBB00000283C001C98000007D009F0C5FA01902D +:10DBC000206841686846F6F7D6FD1CBDAC790100B7 +:10DBD0000149086070470000AC7901000EB5064BA2 +:10DBE0001B68002B06D00290009101926846D9680C +:10DBF000F6F7C1FD3C00589800000EBD0000AC795E +:10DC000001001CB5041C07F04CFA064841680131BC +:10DC10004160009400210191006801686846F6F7B0 +:10DC2000ADFD1CBD0000AC79010080B5F8F7A3F88C +:10DC300080BD80B5021C3C00949800008021032028 +:10DC400000F05CF8011C034800224369F6F79BFDD5 +:10DC500080BD0000A46D0100F8B50C1C1349051C23 +:10DC60000868161C0130086000202061221C103258 +:10DC7000281D0021071C00923C00D098000003F0F2 +:10DC8000DEFE20712069002810D00104090C00205C +:10DC9000F7F779FE3060291D03C9A060E1603068A4 +:10DCA0000168009A381C03F0CAFE20710120F8BDFB +:10DCB00000001075010080B5021C3C000C990000AA +:10DCC0000821042009F04EFF032080BD10B5074A4B +:10DCD0000C1C516801315160011C1031C2680430C4 +:10DCE00003F0F0FE2071002010BD0000107501004F +:10DCF000044980B581610821021C03203C00489939 +:10DD0000000009F032FF032080BD95D80000F7B570 +:10DD1000071C161C0621002082B0F7F73AFE051CEE +:10DD200020480078062800D928812C680020A77098 +:10DD30000399E170311C03E00A8910180F1C3C00A4 +:10DD400084990000C9680029F9D16B4601AA211DF8 +:10DD500000F034F800AB187860711878002817D0FC +:10DD600011484068002808D019780020F7F714FE01 +:10DD7000011C381CF7F730FD0AE03868002802D192 +:10DD80003C00C09900003F600120B86100AB1978E9 +:10DD900038894018388100AB9888311C02382080BF +:10DDA000281CF7F71CFD281C05B0F0BD0000C85C5E +:10DDB000010001794279008889180239401A7047B8 +:10DDC00000003C00FC99000070B5084D2C78AD783F +:10DDD0002018061C002D03D070190138013DA843FE +:10DDE0001080801B18700C7070BD0000C85C0100B2 +:10DDF000B0B504680C4A218852780231914211D2A0 +:10DE0000551AF7F73C00389A0000C9FD016800294F +:10DE100002D10060012181610189491901812088B5 +:10DE200040192080607940196071B0BD0000C85C65 +:10DE3000010080B500220621F12009F0A2FE80BD7C +:10DE40000000031C02483C00749A000003704170FB +:10DE500082707047C85C0100B0B5081C0968151CC9 +:10DE60008C78F7F785FD0449A0000958002902D0F5 +:10DE7000281CF6F79EFCB0BD846D0100FEB5041CA5 +:10DE8000C07AA17AC607F60F3C00B09A0000321C97 +:10DE9000201D01F03CF86069254FC10737D5B869EE +:10DEA000002801D0F6F787FC2068056828888007DD +:10DEB00034D101AA02A9281C01F00BFC281C01F096 +:10DEC00012FC0078C0070AD460693C00EC9A00009C +:10DED000800726D4331C291CA27A20697D69F6F7B5 +:10DEE00072FC1EE000AB187A002803D0012806D08F +:10DEF000022816D1281C796AF6F761FC11E000AB04 +:10DF000018790E2801D00F280BD1281C3C00289B23 +:10DF10000000396AF6F756FC06E00007800F03D1CF +:10DF20002069F969F6F74EFC786B2121013078639E +:10DF3000221C802009F031FEFEBD287A01000B4929 +:10DF400018B50878C00711D50A4A101C20303C00CB +:10DF5000649B0000847900AB1C70C079587008780D +:10DF600040231843087005480078087000AB1888F3 +:10DF7000D08418BD0400070000100700E060010015 +:10DF800070470000054910B58879054B1A7C054C8F +:10DF90003C00A09B0000246862401A74887110BD88 +:10DFA00000002010070010000700585B0100044922 +:10DFB0000A6804480068024001D0886170474861DF +:10DFC000704710000700585B0100021C012000068A +:10DFD00008433C00DC9B000080B52A2109F0E6FDE7 +:10DFE00080BD000010B5041C002903D0812907D191 +:10DFF000812000E08020221C2C2109F0D7FD10BDDB +:10E0000002212C20F7F74CFB201CF7F7C3FC10BDB6 +:10E0100080B5B4B03C00189C0000012806D08228CE +:10E020001CD11AA807F035FC34B080BD812913D16A +:10E030000D480C4A816900685032814202D0D16A91 +:10E04000012902D01178022902D107F00AF9EBE781 +:10E050006946F7F75AFE3C00549C0000E7E70121AF +:10E0600000E002211820F7F721FBE0E7A46E010091 +:10E07000B0B5041C0068174D9AB0686308F03EFA0A +:10E0800020791449134A50392C3A02280AD1906851 +:10E090008002A861C868E8613C00909C00000220F2 +:10E0A000287207F0E4F81AB0B0BD031C0020002B62 +:10E0B0000BD152689202AA610A1C8968E961287230 +:10E0C00010686946F7F727FEEDE7A861012028727E +:10E0D0002870002006F07DFAE5E73C00CC9C0000AB +:10E0E000F46E0100704700007047000080B5012108 +:10E0F0000720F7F7E1FA80BD70470000F8B500246B +:10E10000194A0026D56811680435081C916002E0A0 +:10E11000011C4019086053688342F9D83C00089DEF +:10E12000000001341032032C0E60EED3F6F7F1FF3D +:10E1300010481049124C0860104900200122192390 +:10E140005B010C2543431B1945434A511F1C6D18A5 +:10E15000AB606B6000251E1C14369E60331C3C00B7 +:10E16000449D00000135272DF8DB013003289F6016 +:10E17000E8DBF8BD2057010014C80100B4CF01004E +:10E1800018D90100B8CF0100B0B5074C251CC03527 +:10E19000286B1E2100F0F2F9A26B201CDC30296BE9 +:10E1A0003C00809D000000F0B6F9B0BD0000C469DD +:10E1B00001000020102210B50A4905E00C2343435A +:10E1C0005C180C34CC5001300F28F7D30C23584383 +:10E1D0000950044841600160028200218160C160F1 +:10E1E00010BD3C00BC9D000084E2010044E301003E +:10E1F00010B5084CA06A002803D10748F9F7E8FEDB +:10E20000A0620448443000680121F9F795FC60627F +:10E2100010BD0000606C0100CD260100FFB50D1C93 +:10E22000041C1E1C3C00F89D000081B00A9F1C21AC +:10E23000F6F74DFB0398A061256025612681A68233 +:10E24000E76005B0F0BD70B50D1CA421041C0830BA +:10E25000F6F73DFB201C44300622291CF6F765FB2F +:10E2600018483C23411C3C00349E00006162417808 +:10E2700059430918897A062901D1A06202E0211CBC +:10E280004D31A16241783C235943081804300F49AD +:10E2900020620B88002B15D0AC20005D0B4A183291 +:10E2A00000028018B030E0603C00709E00008D6875 +:10E2B000002008E0E268C1005450E668820052196C +:10E2C00071184A6001309842F4DB70BD000068614B +:10E2D0000100587501001FB5041C6034617A031CED +:10E2E000806A084A0291019003923C00AC9E0000B3 +:10E2F000E279181C20300092447B827B5E20C15A58 +:10E3000018690430231C02F07FFE1FBD394E000047 +:10E31000B0B50B1C01886920C05C86B00E4A049120 +:10E32000039005920D4D596A9A6A2D683C00E89E4B +:10E3300000000124002D00D0041C0A48005D01915A +:10E3400002920090181C2030447B827B5E20C15AD0 +:10E3500018690430231C02F0A4FE06B0B0BD514F72 +:10E360000000186701000A61010001898A1C3C0055 +:10E37000249F000002810268023A0260080A090232 +:10E38000084310807047000070B5051C08780E1C0B +:10E39000FF2814D0717802310020F7F745FB041CE8 +:10E3A00002890068311CF6F7CFFA002D06D0281C30 +:10E3B0003C00609F0000F7F734FB211CF7F757FA89 +:10E3C00000E0251C281C70BD0000FFB50F1C1E1CA2 +:10E3D000041C981C0104090C002081B0F7F727FBEE +:10E3E000051C0068002C386003990170386846707D +:10E3F00006D03C009C9F0000201CF7F715FB291C51 +:10E40000F7F738FA00E02C1C201C05B0F0BD000026 +:10E4100070B51048046804600F4920200860A0050A +:10E420000E4E02D5706AF6F705FAE00102D5306E9D +:10E43000F6F700FA3C00D89F00000A480440002587 +:10E4400007E0E00703D5A8003058F6F7F6F90135E4 +:10E450006408002CF5D170BD0000004007000010DA +:10E46000070030740100FFFDFFFE80B5072180200A +:10E47000F7F749F980BD3C0014A00000F8B5144B33 +:10E4800082009C58CA060127391CD20E9140114ABD +:10E490001160114E4000851915E06060207BC100BD +:10E4A000891910310A780D239A430A70391C81406A +:10E4B00031730749000108313C0050A000004018AA +:10E4C000084A416842608068F6F7BEF9287B002858 +:10E4D000E6D1F8BD0000A473010000100700006041 +:10E4E0000700D175000003490120097A002900D1F5 +:10E4F000002070470000047A01003C008CA000005E +:10E5000003490120897A002900D1002070470000CA +:10E51000147A0100B0B50024FAF776FC002814D074 +:10E52000012408F07DFE0A4D0A4B00215A18A03242 +:10E530001278102A06D38A00D218926F3C00C8A025 +:10E540000000821AAA4200D2002401310329F0D32C +:10E55000201CB0BD00008B080000A46C0100014825 +:10E56000C068704700007869010070B50D1C041C7C +:10E57000161CFDF72EFE0020E0602661A5603C0021 +:10E5800004A1000070BD0000F8B5171C0E1C041C8F +:10E59000002801D0002E01D1F7F7F2F8A06807F0AB +:10E5A00049F9051C01D1F7F7EBF8291C6E60AF6043 +:10E5B000201CFDF7FDFDE068411CE160002803D14F +:10E5C0003C0040A100000548216905F02CF92068B5 +:10E5D000A84202D1381CF6F748F9F8BD0000C46023 +:10E5E00001000022013910B505E00C2353431C182B +:10E5F0000C34C45001328A42F7D300210C235A4311 +:10E6000081503C007CA1000010BD0000B0B5041C8E +:10E6100001D1F7F7BBF8201CFDF7DAFD011C856876 +:10E62000A06807F009F9E0680138E06003D1064806 +:10E63000216905F0E7F82168002903D08868496856 +:10E64000F6F711F93C00B8A10000281CB0BDC46069 +:10E650000100012100288CB500D100210E2009F015 +:10E6600032FA832000AB1880002004F00CF80190EF +:10E67000684603F07AF98CBD000080B508F0DFFD34 +:10E6800006490A8906493C00F4A10000096E411AB6 +:10E690000B0C5918891A0904090C401A80BD000096 +:10E6A00000900700A46C010070B5041C887E0D1C4E +:10E6B000202803D903211820F7F740F800262676F2 +:10E6C000A87E291C1B3160763C0030A20000201C73 +:10E6D0001D30AA7EF6F75FF96868291C6060A8689B +:10E6E0001331A060A87B06222073E87B6073287C2E +:10E6F000A073687CE073A8892082A87CE0762677E6 +:10E70000201C1230A676F6F746F93C006CA20000F9 +:10E710006068431C1DD0114D6D61286800281AD017 +:10E72000227B011C0B7B9A4201D3206014E00B1C5E +:10E73000096800290BD00E7BB24208D20B68002B6F +:10E74000F0D01E7BB242EDD323600C603C00A8A247 +:10E75000000001E021601C60002070BD26602C607C +:10E76000FAE7A46E0100134AB0B5516801240029EC +:10E770001ED0131DD1611362436804E0106200686B +:10E78000D061002814D0D06945689D42F6D13C0084 +:10E79000E4A20000106A814204D15160D06900688F +:10E7A000086002E0D16909680160D069FCF7CEFF1A +:10E7B000002800D00024201CB0BD0000A46E010081 +:10E7C000B0B5174D01242968002927D06D61296152 +:10E7D0003C0020A30000436804E0686100682861F1 +:10E7E00000281DD0286942689A42F6D1AA692B698F +:10E7F0009A4200D1A9616A69914203D129600068F7 +:10E80000086006E0006810602868002801D107F061 +:10E81000CCFE3C005CA300002869FCF79DFF0028AB +:10E8200002D0002400E00124201CB0BDA46E010031 +:10E83000B0B5051C0748446807E0211C4431281C7A +:10E8400000F0D6FC002802D16468002CF5D1201C11 +:10E85000B0BD00003C0098A300005875010070B5E1 +:10E860000D1C141C00280B4E08D0706E0623584354 +:10E870000204120C311C281C228007E0218806208B +:10E88000F6F7A7F970662288291C301CF6F795F870 +:10E89000012070BD00003C00D4A3000010790100ED +:10E8A00080B5032803D8044AC000115080BD01215F +:10E8B0002620F6F75BFF80BD7C790100B0B5051C12 +:10E8C000C0680189392939D30468A079882835D1ED +:10E8D000E0798E2832D1207A3C0010A40000012873 +:10E8E0002FD1607A03282CD1207B022801D0FE286A +:10E8F00027D1607B1D210840012822D1A07BC8219F +:10E90000084008281DD1A81DFBF7E1F9002818D000 +:10E910001920215C002914D101303C004CA40000D6 +:10E920003928F9DB688B04210843688303F0D6FE9D +:10E93000002809D1002300222620044909F092F979 +:10E940000348006801F084F9B0BD000050C3000026 +:10E950000C790100B0B5084CA36801333C0088A4D1 +:10E960000000A3600C1C09D02568002D03D0237A79 +:10E970006168F5F7A3FF201CF7F7A9F9B0BD9479FA +:10E98000010070B5041CC06801890568082953D3CB +:10E990000622281C5549F5F79EFF002837D13C0078 +:10E9A000C4A40000E988524E043E812924D1E568C0 +:10E9B0002968087A4A7A000280180004000C420B89 +:10E9C0000005000DE27520834B8900204200B25AF9 +:10E9D0009A4206D128890C38020A00021043488165 +:10E9E0003C0000A5000002E001300228F1D3E068FD +:10E9F00001890A390181E06801680A311CE00022BE +:10EA000000204300F35A8B4201D1012202E0013081 +:10EA10000228F6D3002A11D107E036490622063132 +:10EA2000281C3C003CA50000F5F75EFF002808D13B +:10EA3000E068018906390181E068016806310160FA +:10EA400010E0E068FFF7E2FC0CE002310181E068D1 +:10EA5000016802390160E06800890238020A000298 +:10EA6000104308803C0078A50000E0680325028977 +:10EA70000168244E022A10D90988082905D0C1232B +:10EA8000DB00994203D1012502E0002500E00225C8 +:10EA9000E9007158002900D10225F7F704F8E900D0 +:10EAA0008919898888423C00B4A5000000D9032553 +:10EAB000A11D201CFDF734FC002800D10325022DE8 +:10EAC00005D0032D07D1E068F6F7E2FF70BD201CEA +:10EAD000FDF71CFD70BDE068018902390181E06825 +:10EAE000016802310160E8003C00F0A500003158E7 +:10EAF000201CF5F7F1FE0028EFD1E0680189023112 +:10EB00000181E068016802390160E3E700006A46BC +:10EB100001007C79010070B50E1C041C151CF7F770 +:10EB20008CFB00282AD01B4908683C002CA600005A +:10EB300001300860002E0AD0012E0BD0022E0FD11A +:10EB4000201C04F0CDF8201CFFF7D6FE0CE00821B5 +:10EB5000E06802E0C121E068C90004F035F903E093 +:10EB600002212620F6F720FEE27DE16A3C0068A63D +:10EB70000000281CFCF795FB206300202062A062A7 +:10EB8000201C00F06CFE70BDE068F6F78AFF002DD7 +:10EB9000F9D0E37D00220120E16AF5F7A7FE70BD00 +:10EBA00000009479010080B5012804D105483C009B +:10EBB000A4A60000006801F009F980BD0321262009 +:10EBC000F6F7F8FD80BD00000C790100F8B5061CD1 +:10EBD00080790024C0072DD5F0680068417A11299A +:10EBE00028D1C1880A0A09021143C90422D1017837 +:10EBF0003C00E0A60000114F0907890E0818418863 +:10EC00000A0A090211430D042D0C432D396801D164 +:10EC1000CA070ED4442D06D1C90704D5243000F00C +:10EC200022FB002805D00648854206D138688007B7 +:10EC300003D53C001CA700000124F068F6F73AFF5A +:10EC4000201CF8BD7C5A01006C07000080B500282C +:10EC500007D00021262008F07BFF0248006801F061 +:10EC6000BBF880BD0C79010010B5041C094A081CD2 +:10EC7000516801313C0058A7000051600021216219 +:10EC8000A162E27DE16AFCF718FB2063201CF7F724 +:10EC9000E6FA201C00F0EFFD10BD947901000CB5E0 +:10ECA000021C081C0021019100926A4601A900F093 +:10ECB00002F80CBD00003C0094A7000070B513687A +:10ECC000002B1ED000260B68002B02D113681B6896 +:10ECD0000B6013681C681B89E51808E05C781C1938 +:10ECE00002340C601C78844201D1181C70BD0B6882 +:10ECF000AB42F3D31368DB683C00D0A7000013607D +:10ED00000E601368002BE1D1002070BD000070B5CB +:10ED1000031C20D018681E89051C16E00478DD2C21 +:10ED200010D18478002C0DD1C478502C0AD10479EC +:10ED3000F22C07D144798C4204D13C000CA800008D +:10ED400002290CD18479944209D0447820180230E9 +:10ED5000441BB442E5DBDB68002BDED1002070BD34 +:10ED6000044980B50A780A20002A00D0486A00F0D9 +:10ED7000D1F880BD1C750100B0B5174C3C0048A807 +:10ED800000002068002829D0164DE869002825D108 +:10ED900001F03FFA002821D1FFF741FC00281DD1E6 +:10EDA0002068A969401808F0D6F9002816D002F0AA +:10EDB00006FD2168401808F0CEF900280ED03C006E +:10EDC00084A800000120E86100222521802008F0AD +:10EDD0008FFF0648296A04F083FD0121286A00F0AC +:10EDE00089FFB0BDE85901001C75010034630100C2 +:10EDF00070B5051C0024FAF70BFF184E716A401815 +:10EE00003C00C0A8000000F08EF800280BD104F0F0 +:10EE1000FEFB0021252008F0B0FE0322291C281C3F +:10EE200000F0AFF818E0706A441E00F07CF800288B +:10EE300012D10C48316A04F056FD0121306A00F00D +:10EE40005CFF3C00FCA800000020FAF70DFE06F075 +:10EE500003F8002300222520054908F03FFF201C6D +:10EE600007F0FCFA70BD00001C750100346301005E +:10EE70001027000080B5012807D080280DD100227E +:10EE8000002108483C0038A90000F8F79AFE80BD30 +:10EE9000012902D106490020C86104F0BEFB80BDF3 +:10EEA00005212520F6F7A7FC80BD61A900001C758F +:10EEB00001000021002880B501D1034841680122EA +:10EEC000252008F02CFE3C0074A9000080BD000045 +:10EED000E85901000249C8680138486270470000DB +:10EEE0001C75010038B5031C081C191C114B06D0F9 +:10EEF000012111800A1C191CF5F7AAFD17E00D4D20 +:10EF0000011C2C781288181C3C00B0A90000F5F7F1 +:10EF1000A2FD287884420DD000236B61002803D025 +:10EF2000002007F0A4FA05E0002200210020009252 +:10EF3000F8F723FC012038BD00001C75010070B5F6 +:10EF4000041C012608F0E1F9051C3C00ECA90000B6 +:10EF50000020FAF78BFD444302F040FC02F03EFC37 +:10EF6000011C231C0022281C08F07CFA002813D165 +:10EF70000A48231C00228169281C08F073FA002823 +:10EF80000AD1F8F719FC011C231C00223C0028AA16 +:10EF90000000281C08F069FA002800D10026301C67 +:10EFA00070BD1C75010070B50D1C041C161C07F00B +:10EFB00076F900280DD0FAF752FE002809D0FF306C +:10EFC00001304368002B04D0221C291C301C3C005B +:10EFD00064AA0000F5F7BBFC70BD000080B50121FC +:10EFE0001D2008F0DFFD074A0748116901605169DB +:10EFF00041600649496881600021C16003F074FCEA +:10F0000080BD00002861010048750100905C01008E +:10F010003C00A0AA000070B5041C406B002835D04D +:10F020001D4D00262878002824D04120005D0028AE +:10F0300003D108F076F9A8611BE0696901316961C3 +:10F04000A868002808D0814206D12069011C10312F +:10F0500004303C00DCAA00008222FFF7ADFF6868A4 +:10F0600000280AD06969814207D12069011C10314A +:10F0700004300222FFF7A0FF6E6168780521084086 +:10F0800008D0074800780E2803D36034E079FBF7F6 +:10F09000CFFF70BD3C0018AB00000348066070BD98 +:10F0A00000001C75010010670100D47E0100800281 +:10F0B0007047142330B5094D4B435B195B68082436 +:10F0C000002B00D1022438235A43054B8900D21863 +:10F0D000515A026809193C0054AB0000511A0160F2 +:10F0E00030BD0000744001008C410100F8B5071CE0 +:10F0F0002C48141C2C4A484386468018800D8446B0 +:10F100002B482A4A06261D1C48434A430E2F40D24C +:10F1100001A3DB5D5B009F443C0090AB0000060850 +:10F120000A0F14181D202724272B2F31C8001FE099 +:10F1300088001DE0214970464018000D18E01F4A64 +:10F140008018800D401821E01E481018000D1DE0A9 +:10F150001D4970464018400D0AE03C00CCAB000051 +:10F160001B49401801E01B481018400D11E01A49D6 +:10F17000401805E060462080002016E0174810186F +:10F18000800D06E0164902E016484843164940182B +:10F19000C00D03308008800020802E803C0008AC29 +:10F1A0000000F8BDFF21FF20F6F749FB002020807A +:10F1B0002880F6E70000D1451700FFFF3F00E33845 +:10F1C0000E0055551500FFFF0F00A9AA2A01701C5B +:10F1D0003700FFFF1F00CBCC4C00701C47003C00E9 +:10F1E00044AC0000A9AA7A00701C6700A9AABA0062 +:10F1F00084F61200EC25B4000449002801D009224D +:10F2000000E014224A80486070470000A4690100B1 +:10F2100080B50622F5F740FC80BD0000BCB5151C8A +:10F220003C0080AC0000041C04310904090C01AA54 +:10F230006B46FFF76AFF3820064968434018A10073 +:10F24000405A00AB99884018198840180004000CF7 +:10F25000BCBD8C410100BCB5041C151C01AA6B4649 +:10F26000FFF73C00BCAC000053FF38200549684361 +:10F270004018A100405A00AB998840180004000CC7 +:10F28000BCBD00008C41010080B500280FD00029D2 +:10F290000DD002780B789A4209D1FF2A05D0427826 +:10F2A0000232F5F73C00F8AC000081FB002801D1E8 +:10F2B000012080BD002080BD000080B506220449E9 +:10F2C000F5F775FB002801D1012080BD002080BD2D +:10F2D00000005E400100011C49780120002900D097 +:10F2E0000020704700003C0034AD000080B50622CD +:10F2F000F5F760FB002801D1012080BD002080BD12 +:10F3000080B5FFF7C7FF80BD80B506220449F5F739 +:10F3100051FB002801D1012080BD002080BD0000EC +:10F3200012610100011C80203C0070AD000081438F +:10F330008A080E201C2A10B506D2034C5200A35C8A +:10F340008B4201D11019407810BDFC4101001423FB +:10F350000249584340184068704774400100202219 +:10F36000011C80B50248F5F752FD3C00ACAD000031 +:10F3700080BD0000486101000806000E022801D18E +:10F38000002070470120704700290CD00749096808 +:10F39000002908D01423064958434018C0680028A3 +:10F3A00001D0012070470020704700003C00E8AD0C +:10F3B0000000AC6901007440010010B5041C062275 +:10F3C000011C0448F5F77DFB0622211C0348F5F7D4 +:10F3D00078FB10BD00001261010040800700002989 +:10F3E00001D10020704738235A43074BD2183C0004 +:10F3F00024AE00008300D25A14235843054BC01892 +:10F4000040881018081A0A380004000C70470000E1 +:10F410008C41010074400100F8B5071C081C161C43 +:10F420001C1C191C00F05AF8051C1435221C311C38 +:10F430003C0060AE0000381CFFF70BFF28180004EA +:10F44000000CF8BD000000B500F04BF80A300004D5 +:10F45000000C00BD0000F8B5071C081C161C1C1C85 +:10F46000191C00F03EF845001E35221C311C381CCA +:10F47000FFF73C009CAE0000EFFE28180004000CD3 +:10F48000F8BD0000FFB50F1C81B00AA9141C1E1C9A +:10F4900003C900F029F8051C1E35211C301C00F0A2 +:10F4A00023F82D18221C391C0198FFF7D5FE2818C7 +:10F4B0000004000C3C00D8AE000005B0F0BD0A49C5 +:10F4C00080B50988092904D0142907D101018000D9 +:10F4D00000E0C10008180004000C80BDFF21FF20DF +:10F4E000F6F7D1F9002080BD0000A669010038239D +:10F4F0005943064A14233C0014AF000089188200C7 +:10F50000895A054A58438018408808180004000C9E +:10F51000704700008C41010074400100024803491B +:10F5200000684000085A7047A86901005440010073 +:10F530000A20704710B5041C3C0050AF0000FDF7D6 +:10F5400062FF201C10BDB0B5041CC0680568A01D7A +:10F55000FFF7F5FE002818D0211C1431201C08F0FC +:10F56000E2FD002811D0298809482022818269887B +:10F570000183A98806354183C5613C008CAF00003A +:10F580003021095D1154616B41620120F7F728F8C1 +:10F59000201CB0BD707C010070B5041CC068211C2B +:10F5A00014310568201C08F0C1FD002808D0054E64 +:10F5B000F06802F0CFFD2888F08203203C00C8AF3D +:10F5C0000000F7F710F8201C70BD707C01003EB5FC +:10F5D000041CC0680568A01DFFF7B7FE002821D0F5 +:10F5E000211C1431201C02AA08F077FD002819D034 +:10F5F00002984B21095C002910D0012914D03C004D +:10F6000004B0000002290CD129880D2000AB18801D +:10F61000201C03F051F80190684602F05DFAF6F7FD +:10F62000B5F80021029806F09FFE201C3EBD07F0B1 +:10F6300029F8029800218069C207D20F0420F6F74A +:10F640003C0040B000007FFFEEE710B5041CFDF762 +:10F65000E6FE201C10BD3EB5051C00F040FE002853 +:10F6600015D1281C1430FAF7CEFB00280FD0052145 +:10F670002869FFF786FB041C09D00522211C684677 +:10F68000F5F73C007CB000003DFA05340294684672 +:10F6900003F01AFB2A1C0D218F2008F08FFB00209D +:10F6A0003EBD000010B5041CFAF798F8201C05F0C8 +:10F6B000E5F8201C10BD0000B0B5041C0069002155 +:10F6C00094B0FFF73C00B8B0000061FB6946FBF75F +:10F6D00026F800281ED00098FAF729FA011C01A884 +:10F6E00002F0D7F90098FAF7D2F90490052009AD95 +:10F6F000687202A8211C06220230F5F706FA0120E2 +:10F700000890216A0A903C00F4B00000282009917A +:10F71000005D287201A800F069F8201C14B0B0BD8B +:10F72000FFB5161C1F1C81B00A9D4C20F6F790FBFC +:10F73000041C143006220299F5F7EAF9201C06226F +:10F740000199F5F7E5F928203C0030B100000021CF +:10F750000655E1602762002D01D08E2000E08D204B +:10F76000221C0D2108F033FB05B0F0BD0000B0B540 +:10F77000051C4C20F6F76FFB041C4C22291CF5F7E6 +:10F7800026FA2920405D0D282CD23C006CB10000E7 +:10F7900001A31B5C5B009F44281A281E060A282828 +:10F7A0000E2822121600221C0D218C201AE0221C89 +:10F7B0000D21832016E0221C0D21842012E0221C42 +:10F7C0000D2185200EE0221C0D2186203C00A8B1D1 +:10F7D00000000AE0221C0D21872006E0221C0D21DA +:10F7E000892002E0221C0D218B2008F0F6FAB0BD22 +:10F7F000E868F6F7E6F9201CF6F711FBB0BDFEB598 +:10F80000051C9020F6F72DFB041C9021F5F73C0019 +:10F81000E4B100005BF9374E0127F069042803D9F1 +:10F82000706B013070634DE03348B16B04F0D0F879 +:10F8300001202062A87E211C803102910870221CC8 +:10F840006032019200202F1C20379072787A2B1C96 +:10F850003C0020B200001433D072E868AA1DA060FA +:10F86000E86B48604420405D0872291C201C05F0AC +:10F87000AAFC686A00280AD1019A201C937A02998E +:10F88000221C703258300978FAF7DBF906E03A7A30 +:10F89000231C3C005CB20000E869296A7033FDF764 +:10F8A0008DF93020405D184907280BD15820005DA4 +:10F8B000C007C0170130E06100202061201CF7F76D +:10F8C0003FFF18E00122201C05F0ACFF071C12D0FE +:10F8D00003F006FF3C0098B20000F36D002B06D049 +:10F8E00060682030827B616B381CF5F799F8E86816 +:10F8F000F6F773F9201CF6F79EFAFEBDF0690130A9 +:10F90000F061FAE70000C4690100346301000531C9 +:10F91000000070B5061C3C00D4B200000D1C0904A8 +:10F92000090C0020F6F77CF9041C2A1C311C006825 +:10F93000F5F706F9201C70BD4088704703781B0757 +:10F940009B0F0B70007800091070704704307047EF +:10F9500004307047D42101703C0010B30000002136 +:10F96000417070470000C421017000214170704750 +:10F970000000B4210170002141707047000001496E +:10F98000486570470000C469010001490865704777 +:10F990000000C4690100014988653C004CB30000C7 +:10F9A00070470000C4690100F8B55F4F051CB868D6 +:10F9B0000130B86007F024FD38619020F6F766FA50 +:10F9C000041C9021F5F794F8286B271C6063688B62 +:10F9D0008037261CC007C00F2062688B3C0088B3AC +:10F9E0000000603602214007C00F2063688B80074B +:10F9F000C00FF860287F3870B172002808D1F9F77D +:10FA0000C8FF002802D00120606201E00120A0624E +:10FA1000F868002803D00021022006F0CCFF3C004B +:10FA2000C4B300002B1C1033AA1D291C201C05F098 +:10FA3000DFFBA86A00280CD13978022907D0221CE4 +:10FA40007032201C5830B37AFAF710F908E001261A +:10FA50005EE0AA7D231C286A696A7033FDF7C0F84E +:10FA60003C0000B40000E96800200989002900D1A9 +:10FA70000420F0723878012814D10027009000206B +:10FA800006E02969012903D1A969012789071AD547 +:10FA900006F079FC0028F4D1012F14D10098012838 +:10FAA00011D13C003CB4000008E0201C583006F0A6 +:10FAB000E1FC00280AD08069800707D5F07A082188 +:10FAC0000843F0720120E062E87D3073E868A060CE +:10FAD000E06A002812D01A4FF86B00280ED0307B55 +:10FAE000F5F7DEFE3C0078B40000002809D0211CA8 +:10FAF000381C4030FCF755FC1448B96B03F089FF03 +:10FB0000F8BD104F1248B96B03F083FF0022201C90 +:10FB1000104905F0A2FE061C03D1386A0130386294 +:10FB2000EEE7201CF6F73C00B4B400009FF9E8684B +:10FB3000F6F76EF803F0F2FD0448836D002BE2D077 +:10FB40000022301C296BF4F786FFDCE7C469010052 +:10FB5000C4600100346301001130000010B50A20B8 +:10FB600007F0FEFC07F05EFC3C00F0B400000B491F +:10FB700044180CE0201C07F090FB002807D0F7F792 +:10FB800034F9002803D012218620F5F7CAFEF7F7D2 +:10FB90002CF90028EED101F080FD10BD0000409C42 +:10FBA000000010B50C1C011C174A3C002CB50000CD +:10FBB0000129506904D080291DD0812921D11CE060 +:10FBC0009178012915D102219170141C011C104853 +:10FBD00003F028FF0121606900F02EF9606901F04F +:10FBE0005FFC2070A088A16900230A4A3C0068B528 +:10FBF000000007F07EFC10BD222106E001F01DFC94 +:10FC0000201C00F04AF810BD1C212020F5F78FFEC3 +:10FC100010BDB4790100346301003D2E000070B5C1 +:10FC20001C4CA078002832D0052830D060693C00F8 +:10FC3000A4B5000000F0EAF8184EB579A0780128C4 +:10FC40000BD002280ED0032810D0042817D1421F51 +:10FC50008021202008F008F80EE00021202008F084 +:10FC600031F80CE0A08807F01DFC05E0207800F0DA +:10FC70003C00E0B5000039FA002000F0C4FD6069E6 +:10FC800001F0E1FB0520A070B571606900F061F939 +:10FC900000222021812008F0D6F870BD0000B47940 +:10FCA000010020100700B0B50D4D041CA8780028F5 +:10FCB00014D03C001CB60000686900F00BF90A483B +:10FCC000696903F0A7FEA88807F09EFB002C02D00C +:10FCD000687800F079FF0020A870A968201CF4F76C +:10FCE000CAFEB0BDB479010034630100064B80B593 +:10FCF000997803293C0058B6000006D10421997078 +:10FD00002021021C802008F0A4F880BD0000B479F6 +:10FD1000010010B50C4CA17803290FD11030FAF76F +:10FD2000DEF8002809D0207800F0E5F9002000F086 +:10FD300070FD002105483C0094B60000FCF79CFAD9 +:10FD400010BD1B212020F5F701FE10BDB479010084 +:10FD500051B60000094980B58978032909D100F01E +:10FD6000CDF9002000F058FD01210548FCF784FA88 +:10FD700080BD17212020F5F73C00D0B60000E9FD3A +:10FD800080BDB479010051B6000070B5104C1D1C47 +:10FD9000A378061C0498002B18D10123A3702261BC +:10FDA000E6606170A060A561002007F0ACFAA08059 +:10FDB000301CF7F73CFBE08007F03C000CB700007C +:10FDC0004FFBC721C900281A411A0022202007F042 +:10FDD00057FF70BDB4790100B0B5041C0D1C00F0D4 +:10FDE00009F8201C00F024F8002D01D0FFF7D4FE04 +:10FDF000B0BD0000B0B50C4C051CA0683C0048B775 +:10FE0000000000280FD10A48017E022211406160E3 +:10FE1000017E11430176072003F049FC206003F0C6 +:10FE200098FF03F0EEFFA0682843A060B0BD407CBF +:10FE300001000C8007000A4938B50A1C20323C003A +:10FE400084B70000947900AB1C70D279074C5A70CB +:10FE5000E268002A02D1064D01236B701043E06076 +:10FE600000AB1888C88438BD00100700407C010032 +:10FE700000500700B0B5051C002901D000F028F89B +:10FE80003C00C0B70000064C60782169084303D1EC +:10FE900001210E2006F0C5FD206928432061B0BD78 +:10FEA000000018630100B0B50A4C051C226900204F +:10FEB000002A0CD1002900D004E06078002802D18B +:10FEC00004F03C00FCB7000069FB6070281C06F0E1 +:10FED000EFFC0120B0BD00001863010010B5084C14 +:10FEE000607800280AD006F0E3FC002060702069EA +:10FEF000002803D001210E2006F096FD10BD000061 +:10FF0000186301003C0038B80000094980B50B694E +:10FF1000834204D14A78002A01D1012200E0002264 +:10FF200083430B61002A03D000210E2006F07FFDE1 +:10FF300080BD1863010080B50120F6F756FE80BD34 +:10FF4000000010B5041C3C0074B8000000F004F878 +:10FF5000201C00F01FF810BDB0B50C4D041CA868A3 +:10FF6000A0420FD10720296808F08CFB68680222A4 +:10FF700007490028087E01D0104300E0904308762E +:10FF800004F0C4F8A868A0433C00B0B80000A86022 +:10FF9000B0BD407C01000C8007000A4938B50A1C3E +:10FFA0002032947900AB1C70D279074C5A70E26809 +:10FFB000824202D1064D00236B708243E26000ABA7 +:10FFC0001888C88438BD001007003C00ECB8000059 +:10FFD000407C010000500700B0B5051C0A4C002110 +:10FFE0006069FFF711FF042001F046F901F088FB7A +:10FFF00000220421042001F08BF8281C01F04AFAA9 +:02000004800179 +:100000006069FFF7A7FFB0BD407C01003C0028B944 +:10001000000080B501F077FA80BDB0B50D4D01212B +:100020002869FFF7F4FEFFF72AFE00F02CFB00F032 +:1000300084FA002400220421201C01F06CF8013411 +:100040002406240E042CF5D32869FFF786FF3C0014 +:1000500064B90000B0BD0000407C0100F8B5051C8B +:100060000E1C074C171C01212069FFF7D3FE3A1C18 +:10007000311C281C01F052F82069FFF771FFF8BD10 +:10008000407C0100FFB589B0061C16981D1C002895 +:100090003C00A0B9000001D02948149028680088CD +:1000A0000006800E202801D0142817D10AAA18248F +:1000B000182105CAFFF777F9071C281C0189A142FE +:1000C00002DD006801190BE0C068641A0028F5D150 +:1000D0000F213C00DCB900008620F5F761FC00210F +:1000E00001E00021002718480890807907900C2033 +:1000F000164A704380180479049112991598149A3D +:1001000001910390059700950AAB0292211C301CC7 +:100110000CCBF7F73C0018BA000003F90125B540F5 +:100120000C4E083E3078284006D0201C00F0C9FD57 +:100130003078A843307003E0201C139900F043FF8F +:1001400007A903C988710DB0F0BD952400002010E7 +:100150000700747A01003C0054BA0000B0B5041CDA +:100160000C230949584340180079051C00F092FE01 +:10017000281CF7F7C7F80120034AA040083A117875 +:1001800081431170B0BD0000747A010010B5054CB8 +:100190002078002803D11A213C0090BA0000862064 +:1001A000F5F707FC207810BD000018630100014836 +:1001B0004078704700002C63010080B5F6F7D1FE4F +:1001C00000F01BF980BDFEB50168051C0C680E1C13 +:1001D0002178880771D16869C2073C00CCBA000059 +:1001E0006ED580076DD5E87AC20708070909029124 +:1001F0004549800FD20F00284F6805D0012809D04B +:10020000022821D003285BD1FF23201CA97AF4F710 +:1002100074FC55E002980B280AD00C283C0008BB5F +:1002200000000FD00D284ED1394FF868F4F761FC6B +:100230000020C0435AE0354FA97ABB68201CF4F770 +:100240005BFC40E0324F3869F4F753FC3BE000219F +:10025000019102990020FF23090701D401203C00ED +:1002600044BB000013E03189192901D3267E07E041 +:10027000152904D31826711A49190E7B00E00026AF +:10028000B10602D4012073075B0F01210191002800 +:1002900003D0A97A201CF4F736FC0199012915D165 +:1002A0003C0080BB0000F006C60F20881B4FE48A8C +:1002B000F96B0005C00F00291AD04B1C18D0002E76 +:1002C0000AD0002808D03888844213D002980C281D +:1002D00001E01DE012E00DD0081C01F076F90028C5 +:1002E00003D13C00BCBB000000F0A6FAF4F70AFC06 +:1002F0000020C043F863002E0DD03C800020F8633E +:1003000009E020880006800E202804D1044F201C1C +:10031000B96AF4F7F8FB291C0248FBF7EFFFFEBDB2 +:10032000287A01003C00F8BB0000A59A00000348B1 +:1003300080B50078002100F0FCFB80BD0000186350 +:100340000100044B054900281A6800D0011C101C4C +:10035000196070470000D4790100957500000548C8 +:1003600080B5007F24233C0034BC0000044958437E +:100370004018C069F4F7CCFB80BD0000D4790100BF +:1003800094460100021C064880B581628260007FAD +:1003900024230449584340188069F4F7B9FB80BD11 +:1003A000D4790100944601003C0070BC000080B587 +:1003B000002000F03CFB002000F06DFA00F065FA30 +:1003C0000449C86A0130C862081F008807F0C1F8F4 +:1003D00080BDD4790100064880B500210177C16A4B +:1003E0000131C1620438008807F03C00ACBC000059 +:1003F000B3F803F0D1F980BDD479010080B505F0E0 +:10040000E9FA80BD80B5002803D1012004F022FA6A +:1004100080BD012003F0E6FB80BD00000349012000 +:100420004978002900D00020704700003C00E8BC5B +:1004300000002C63010070B5134D2878002820D1EE +:1004400001212E1C7068FFF712FD0021072006F025 +:100450002AFB0D480024047104F0EDF806F0D5F9EC +:10046000012028700A4804604460F6F74CFD3C0007 +:1004700024BD0000F7F75EF8FFF7A2FF00F0A8FD2B +:100480000548716803F020FB012070BD2C6301005A +:100490005000070080000700C4600100B0B51E4C8A +:1004A0002078012835D1251C69681C4803F020FB01 +:1004B0003C0060BD000004F0F0F81A4801684908EB +:1004C00049000160016801221143016000F02BFE28 +:1004D00000F01BFC06F099F8F6F729FEF6F72DFC64 +:1004E00000202070FFF783FF00F08BFD0F4881781C +:1004F00008223C009CBD000091438170817811432B +:1005000081700C49102008716868FFF75FFDF7F7EC +:1005100039F8F6F74DFD0121072006F0CDFA01204C +:10052000B0BD00002C630100C4600100F0000700B2 +:10053000000007003C00D8BD000050000700034940 +:100540000120897A012900D0002070470000147A28 +:100550000100B0B5154D041C287A002820D1F9F708 +:1005600000FC02281CD101202872E868002810D065 +:100570002068296808603C0014BE000069680D48C6 +:1005800003F0C2FA01216868FFF7C8FC00222420AA +:10059000616807F0CFFBB0BD002028722168012000 +:1005A000F4F7CFFAB0BD00202168F4F7CAFAB0BD65 +:1005B000047A0100346301003C0050BE000004488E +:1005C00080B5007A012802D1002002F0F0FE80BD43 +:1005D0000000047A010080B5012807D0802809D1E5 +:1005E0000748007A002804D0012000E0002002F033 +:1005F000DEFE80BD0E212420F5F73C008CBE0000FD +:100600000BFA80BD047A0100F8B53A4E051CB07AA9 +:10061000002869D1F9F7AEFB022865D13648006899 +:10062000002861D03548716803F074FA01217068C0 +:10063000FFF77AFC6C20F5F7B9FC041C3C00C8BE3F +:1006400000006C21F4F7E7FA30682C220460296876 +:1006500081606968C160002111548162A968002924 +:1006600002D0E968016105E006F05DFF69684018A5 +:10067000316808617068FFF714FD692108553C0076 +:1006800004BF00000020F9F709FB01273B1C061CF2 +:10069000221C24320021F9F779FB1C480321008831 +:1006A00089030843211C40310091488318481021D8 +:1006B00060601848A060A76367630020F5F74CFBF3 +:1006C0003C0040BF0000E06002890099CA830768CF +:1006D000311C381D2761FEF78EFE381C0A300F4989 +:1006E000FEF789FEA4203880002004F0DEFB002203 +:1006F0001F20696807F02DFBF8BDFFE7002029687F +:10070000F4F73C007CBF00002EFAF8E7147A0100F1 +:10071000805A010034630100FA60010099EC000086 +:1007200015ED000012610100064880B5817A0029AC +:1007300007D0006804222030017B1143017302F0CE +:100740006BFD80BD3C00B8BF0000147A010010B5FD +:10075000044CA07A012803D106F0F1FE21688861DB +:1007600010BD147A0100031C081C1F4970B50A68EB +:10077000012B1CD0802B05D0832B30D1887A002808 +:1007800014D029E053693C00F4BF0000002B0ED0C8 +:100790009469D5692E1B0C695D1B361BB610A41914 +:1007A0000C61CC682D1BAD106419CC60936102F014 +:1007B00081FD70BD022812D1906A0C1C0028F8D06F +:1007C00007F00EFAA07A01283C0030C00000F3D1F7 +:1007D0002068816A0029EFD12030017B0822114373 +:1007E000017370BD02F021FD70BD0E211F20F5F7D1 +:1007F00028F970BD0000147A010002490C3103C9C8 +:10080000401870470000147A01003C006CC00000E2 +:10081000054880B5006804222030017B1143017334 +:1008200007F0E4F980BD0000147A010070B5164CA1 +:100830000E1CA17A00291CD02168086107F032FA49 +:10084000002817D020680025056200223C00A8C0BF +:10085000000083211F2007F094FA6068FFF703FC73 +:10086000216804222031087B2B1C90430873311C23 +:1008700000221F2007F061FB70BD20680822203095 +:10088000017B1143017302F0D6FC70BD00003C00F7 +:10089000E4C00000147A010080B500F077FC00F09D +:1008A0006FFC00F029FF00F05DFA00F0C5F800F0E1 +:1008B00085FF80BD80B5FAF785FA80BD0148C06824 +:1008C00070470000287A01000349002800D0011C6D +:1008D0003C0020C100000248C160704700008175E3 +:1008E0000000287A010001480249C86070478175FC +:1008F0000000287A01000149886170470000287AC9 +:1009000001000149002088617047287A01000349ED +:1009100000283C005CC1000000D0011C0248C161FD +:100920007047000089750000287A010003490028FB +:1009300000D0011C02488162704700008D750000E4 +:10094000287A01000349002800D0011C02480162F6 +:10095000704700003C0098C1000091750000287AA3 +:1009600001000349002800D0011C024801617047C2 +:10097000000099750000287A0100014802490861C9 +:10098000704781750000287A0100021C081C802A2B +:1009900080B502D100F03C00D4C1000007F880BD52 +:1009A0001E212120F5F762F880BD0000B0B5104D82 +:1009B000041CA86B0130A863696B091A281C006B22 +:1009C0000C2903D90021FFF791FA03E0082901D18E +:1009D000FFF732FB201C00F03C0010C200004DF974 +:1009E0006069400701D503F00CFC201CE96AF4F7AC +:1009F000DBF8B0BD0000287A01000349002800D0D0 +:100A0000011C0248416270470000B5750000287A59 +:100A1000010003490120096C00293C004CC2000080 +:100A200000D1002070470000287A010010B5074C63 +:100A3000E16B002901D1E06304E0814202D0002093 +:100A4000C043F8E706F09CFD206410BD287A010041 +:100A50000148006C70470000287A01003C0088C201 +:100A60000000054980B5002048638863FF210931F3 +:100A700015221020F6F7FBF980BD287A0100034902 +:100A8000002800D0011C0248816070470000C17539 +:100A90000000287A01000349002800D0011C3C0016 +:100AA000C4C200000248C16270470000C575000062 +:100AB000287A0100044B054900285A6800D0011C1F +:100AC000101C596070470000287A0100C9750000A9 +:100AD0000349002800D0011C024841617047000012 +:100AE0003C0000C30000CD750000287A01000F4BC8 +:100AF00010B5D968002919D00E4C0021CA0012196E +:100B0000403AD26B824202DA01310329F6D3481C03 +:100B10001A780006000E904208D018700806000EE1 +:100B2000041C3C003CC30000F6F7BAFA201C03F09A +:100B30001BFD10BD186301003C42010010B5144CB0 +:100B4000E168002922D02178124BCA00D218403A1D +:100B5000D36B834202DA481C20700BE0926B824216 +:100B600014DDFF313C0078C300000806000E207041 +:100B700003D119218620F4F78EFF2078FF3000067C +:100B8000000EF6F790FA2078FF300006000E03F012 +:100B9000EEFC10BD0000186301003C420100094852 +:100BA0000021018141813C00B4C300008181C181E9 +:100BB000074A02800123DB0243808280C2804176A3 +:100BC00031218176012101767047000030800700D5 +:100BD000FFFF000080B50120F6F7F8F80120F6F7D6 +:100BE000DBFC0120F6F75AFA3C00F0C300000120BC +:100BF00000F0F1FD0120F7F7C6FB80BD000010B545 +:100C0000114C002907D1002802D10120E06006E044 +:100C10000021E16003E0012907D1002801D0207004 +:100C200003E018218620F4F73CFF3C002CC40000B0 +:100C30002078FF300006000EF6F73EFA2078FF30ED +:100C40000006000E03F09CFC10BD000018630100BC +:100C5000054980B50968884205D0FEF7FFFB00F022 +:100C600087FAFFF72BFC80BDA86901003C0068C42F +:100C7000000001494870704700002C6301000149E1 +:100C8000C860704700004C7B0100034901200978CF +:100C9000002900D00020704700002C630100044AA6 +:100CA000002802D0906901309061D06940183C0062 +:100CB000A4C40000D0617047905C0100FEB5041C24 +:100CC00000680568281CFEF727FF071C6069154EA1 +:100CD000C007C00F21D001AA02A9281CFEF712FFED +:100CE0003878C0070CD46069800708D500AB187A43 +:100CF0003C00E0C40000002801D0022802D1706A44 +:100D000001307062FEBD00AB187A002801D00228C5 +:100D1000F8D1706A01307062B06A0130B062F1E7F8 +:100D2000F06A0130F062EDE70000905C01000249DA +:100D300048693C001CC50000013048617047000054 +:100D4000905C01007047000070470000011C4031BA +:100D500010B50A8B1207920F012A33D04A781A492C +:100D6000041C6034002A0B6A22D1E279012A02D9DC +:100D7000CC6801343C0058C50000CC60022A02D97E +:100D80000C6901340C610C6801340C60446B002C5C +:100D900003D00469247CE40702D54C6801344C601C +:100DA000806B002802D0086B01300863002A0CD049 +:100DB0009818013808E03C0094C50000012A01D0D1 +:100DC000022A02D1886801308860E0791818086228 +:100DD00010BD0000905C01007047000001490A202E +:100DE00008817047C47A0100F0B5324F041C78784E +:100DF00085B0C007C00F03903C00D0C50000B87894 +:100E000002900120A0400490391C88702C48008872 +:100E100006F00BFC0190FEF7AEFC0430294EA50055 +:100E200071590979884206D0FEF7A5FC7159043042 +:100E3000087101207870002078703C000CC600001A +:100E400021480121204E3038015571590320087086 +:100E500006F0C6FB061CFEF791FC36180E3609E0BC +:100E6000301C06F0F5FA002804D023218620F4F780 +:100E700033FE03E0F6F734FB0028F1D03C0048C60F +:100E80000000124813493C3800780872201CF4F71F +:100E9000A2FA0E4E715908710398002801D0012161 +:100EA000797009480088019906F0BDFB0298B87076 +:100EB000094949790498884203D0242186203C00BE +:100EC00084C60000F4F70EFE05B0F0BD0050070028 +:100ED000D0790100107B010080800700508007005E +:100EE000B0B50D1C041C052801D3F4F729FE052D0F +:100EF00001D3F4F725FE0B4AA8001158A0001058A2 +:100F00003C00C0C600000EC90EC0062106220648DD +:100F100069432A380918624310180622F3F70FFFB5 +:100F200002483038415D0155B0BD107B0100B0B5BD +:100F3000041C0E480D1C80780121A140084003D0FC +:100F400001213C00FCC600008620F4F7D1FD0621FB +:100F50000622094869430918624310180622F3F76C +:100F6000F1FE201CF4F740FA034AA1002A3251583E +:100F70000871B0BD00500700E67A0100034980B552 +:100F8000002048603C0038C7000007F032F980BDFF +:100F90000000D47A010010B5041C052801D3F4F731 +:100FA000D8FD0749087A074A107001200872FEF739 +:100FB000F4FB044A0430A1003C325158087110BDC2 +:100FC0000000808007003C0074C70000D47A010054 +:100FD000034980B50120486007F00EF980BD00008C +:100FE000D47A010010B5041C052801D3F4F7B4FD30 +:100FF000201CF5F78FFE0021201CFBF731FD01219D +:10100000002800D0011C09043C00B0C70000090CF6 +:10101000201C04F022FA10BD000006490120054BF7 +:10102000886000203C33002182009A581170013002 +:101030000528F9DB7047D47A01000F4938B5002044 +:1010400088600E48011C20318A793C00ECC7000002 +:1010500000AB1A70C9790A4C094D59700C343C35F3 +:1010600000210322635C002B02D08B00EB581A7026 +:1010700001310529F6DB00AB1988C18438BD0000B9 +:10108000D47A010000100700FFB5144F3C0028C8B7 +:101090000000041CBE790D1C81B00F2000F0B9F8CF +:1010A0002A1C104D0090211C281CF4F7DEFC211C8A +:1010B000A81D039AF4F7D9FC211C281C0C30049AB3 +:1010C000F4F7D3FC211C281C12300A9AF4F73C00D8 +:1010D00064C80000CDFC07F09BF8009800F076F89B +:1010E000BE7105B0F0BD000020100700E67A0100D7 +:1010F00010B50020F6F726F80749887800090001A6 +:1011000088700024201CF5F711FE01342406240EFB +:101110003C00A0C80000042CF7D310BD0000005014 +:10112000070080B502F0E3FB034881780F221143EA +:10113000817080BD000000500700F8B50D1C041C34 +:10114000052801D3F4F717FDA600002D114F07D194 +:10115000B8593C00DCC80000816800290ED14078F5 +:1011600000280BD002E0FF352D062D0E291C201C77 +:10117000FBF788FC011C201C04F07EF906490120C5 +:101180003039085504483C388068002802D1B959E4 +:10119000032008703C0018C90000F8BD0000107B57 +:1011A000010080B504F0CDF980BD10B5041C052800 +:1011B00001D3F4F7E6FC201CF5F7C1FD0020054A39 +:1011C000A10051588860044988780122A240104348 +:1011D000887010BD00003C0054C90000107B010065 +:1011E00000500700024A9178084390707047000051 +:1011F00000500700F8B50C4FBE790F2000F018F82A +:10120000051C0024201CF4F70DF9084AA1005158D0 +:10121000087101342406240E3C0090C90000042CFF +:10122000F3D3281CFFF7E1FFBE71F8BD00002010CA +:101230000700107B0100B0B508498D788A78054019 +:1012400082438A7006F0F9F9041C0A34201C06F067 +:1012500034F90028FAD0281CB0BD3C00CCC90000ED +:101260000050070001490A2008817047387B0100BF +:10127000F8B510480426041CE034051C383D00274E +:10128000201C1C30E460A06127610B48A682E0614D +:101290002762A7620620A084201CFEF73C0008CA33 +:1012A000000087FC201C0C30F6F7B7F90549383CE4 +:1012B000AC420880E7D1F8BD0000D4E4010012611F +:1012C0000100487B0100F7B5051C0C230F1C1249D7 +:1012D00058434418208806F0EAF9A07801283C0019 +:1012E00044CA00001AD16668022F05D15C20805BD9 +:1012F00002990009884211D1281CFEF7FBFF301C1F +:10130000F9F7FAFD0420A070391C281CFBF7F4F84B +:10131000034AE8003C32115801311150FEBD000073 +:101320003C0080CA0000607B01000120064A0021C9 +:101330000C234B439B189B78002B00D000200131DD +:101340000429F5DB7047607B010070B5041CFFF7D2 +:10135000EAFC002803D120210C20F4F7F6FB261C20 +:1013600060363C00BCCA00000021F171E164606B92 +:10137000251C4035002831D0FFF704F90122120363 +:1013800000282069018801D0914300E011430180C9 +:10139000206901220088D2022883201C583001884D +:1013A000914301803C00F8CA0000A36B5208002B57 +:1013B00010D091430180288B0007800F012815D0A1 +:1013C0002E20015D20690430F8F741FD616AFEF7C7 +:1013D000A8F904E011430180201CFBF7CCFB6883D3 +:1013E00004E0206941803C0034CB0000A88B2169D7 +:1013F000C882E068F6F720F93080606D002804D0DC +:1014000000220321707AFEF70DFF201C00F0B6F9D0 +:10141000707A06F045F870BDB0B5002406F022F9E8 +:10142000094A00210C234B433C0070CB00009D185F +:101430006B685B6CAD78C31A012D02D1A34200DD4D +:101440001C1C01310529F0D3201CB0BD0000607BBD +:101450000100B0B5041C06F0A8FE0C20084960434A +:101460004518288806F035F968683C00ACCB0000C8 +:10147000002806D02030007B012802D1201CFFF775 +:10148000A3FAB0BD607B0100FFB585B00FAE60CEA2 +:1014900038201E497043171C4418FFF77FF80122BB +:1014A0001203002803D02088904320803C00E8CB22 +:1014B000000002E02188114321801198391CE0626C +:1014C0000598F8F7D0FC011C2B1C381C069AFEF777 +:1014D00020F960800622201D0F49F3F772FC231CBF +:1014E0000898303318700E980C49587065633C00AA +:1014F00024CC0000002002900122049209480391AC +:101500005A780188019200911978243B301C626B53 +:10151000FEF7A8FE09B0F0BDD4E40100126101009D +:101520005D4E0000487B0100FFB587B0109812AFF8 +:101530003C0060CC00008C46A2CF4C23304C6B4367 +:101540001C19161C159A2785271C303706970597F6 +:1015500000233B73059F78731198271C60646160BA +:10156000226040373E70614661870798311CF8F76A +:1015700080FC3C009CCC00000599C8730A987870E8 +:10158000301CFEF773F8002801D0012000E0002095 +:10159000410002200140119A0120002A00D10020C0 +:1015A00008433872201C2E300799FDF7CFFF281C06 +:1015B00004F0AEF83C00D8CC0000FEF7FEFF4C2251 +:1015C000124B6A43D218012109032A32002804D0A1 +:1015D000101C12888A43028002E0108808431080A1 +:1015E0000B490020039106990290002204920848BA +:1015F0000A7B4188231C3C0014CD0000019200911D +:1016000079780833281C6268FEF738FE0BB0F0BD0D +:1016100058E30100754F00003C7C0100B0B50C1C84 +:10162000012827D0802830D1E06C002808D069201C +:10163000005D1849C00040183C0050CD0000043047 +:10164000016801310160201CFFF7E9FB134D503D9B +:10165000E868002805D02E20005DFEF710F802F0A3 +:1016600042FE201C6168F3F72FFB403460780028AD +:1016700002D106F012F8A860B0BD3C008CCD00008D +:101680002006000E8128FAD1220C2004000E02212F +:10169000FEF7E6FDB0BD0A210C20F4F77DFAB0BDDF +:1016A0009C7B0100F8B5184E184F051C3479B879A9 +:1016B0000090201CF5F77CFF002806D03C00C8CD28 +:1016C0000000124838384068854201D1002D03D10E +:1016D00010218620F4F763FA0D490020383948605C +:1016E0000421201CFFF759FC0421201CF5F7EBFE18 +:1016F0000C21064A6143303A89180C7104203C00E1 +:1017000004CE000030710098B8710F20FFF7A6FDDD +:10171000F8BD0000A47A010020100700F8B5041CF1 +:101720000F20FFF7C1FDF5F73BFF0125002800D092 +:101730000025164EB079164F00903879042801D153 +:101740003C0040CE0000002C03D111218620F4F78C +:101750002CFA1048290638384460090E0C1C042065 +:10176000FFF721FC0321201CFFF741FC211C042072 +:10177000F5F7AFFE0C21074A69430420303A891877 +:1017800008713C007CCE00003C710098B071201CB8 +:10179000FFF750FD0420F8BD20100700A47A0100D7 +:1017A0000C2302495843401880687047747A01003E +:1017B0006030C1798079814201D9012070470020D1 +:1017C000704700003C00B8CE0000014880687047B8 +:1017D00000004C7B010038B56921095C1823104AD0 +:1017E000594389188A6801328A604B69D21ACB68DA +:1017F000934200D2CA6000220B4C0260221C2032AD +:10180000957900AB1D703C00F4CE0000D2795A707F +:101810000A68002A01D1486000E0106000AB08604F +:101820001888E08438BD0000C47B01000010070068 +:1018300018230A495843411808690130086148686B +:10184000002809D0486901303C0030CF00004861D1 +:10185000486802684A60002A00D10A607047002088 +:101860007047C47B0100F8B5124E104D0F4C0A278B +:10187000211C0020E0602A31221C1832A160626124 +:1018800027820C4AE061A26160623C006CCF0000DC +:1018900006202084081CFEF7D7F9201C0830F5F735 +:1018A00001FF4C3CAC427080E5D1FF203070F8BDA8 +:1018B00088E401000CE301003C7C0100126101009E +:1018C000F8B5041C0B480E1C171C44703C00A8CF34 +:1018D000000005F000FF051C391C301CFDF7ABFFB4 +:1018E0000C21054A28180A30614308325050034839 +:1018F000891800688860F8BD00006C7A0100786E75 +:10190000010070B50B4E051C7078FF280FD03C000D +:10191000E4CF00000C23084C58430834205805F04D +:101920001DFE002806D170780C23584300198168E9 +:101930002943816070BD00006C7A010080B53021C0 +:101940000148F3F743FA80BDECE5010010B505F05E +:101950003C0020D00000C5FE0A4944180CE0201CC1 +:1019600005F0F7FD002807D0F5F751FE002803D059 +:1019700013218620F4F731F9F5F749FE0028EED15E +:1019800010BDB0360000FFB58BB0199B0D1C041CB8 +:101990001A203C005CD00000002B169900D11820C2 +:1019A00001901498002827D0FF20199B0130002BAC +:1019B00001D1182300E01A230433824204D3D01A41 +:1019C000400840000004000C0D906A480088C21ACC +:1019D0001204120C3C0098D000000492002908D098 +:1019E0008979664A4900515A049A511A0A04120C1C +:1019F0000492049A824205D90020049002E06048D3 +:101A000004900D9001980104090C0A910020F4F74C +:101A100084FA009000683C00D4D0000000260690B4 +:101A20002060002005900E9800240005000C09900D +:101A30001A980D9F4007400F089007940395002DBA +:101A40000DD02889B84204D836183F1A07D0ED685F +:101A5000F5E73904090C281C3C0010D10000F4F70C +:101A600038FBEFE7002E02D10799002971D1271C1E +:101A70006C20F4F788FB0799041C002920D10794F7 +:101A80000020A0611898271C606017982437A06078 +:101A90000698206115980FC80FC73C004CD1000074 +:101AA00014985C2160630998085319986921E063D0 +:101AB0001B9808551C9860651998002823D0089831 +:101AC000069908831FE06C22201C0799F3F71AFA85 +:101AD0003C60019862213018C85315983C0088D1A9 +:101AE00000004021807AC8550020B86306980A9902 +:101AF000F4F71FFAF8600299F4F73BF9201C403024 +:101B0000818B059A1207120F1143818303985E217E +:101B100002900198224A30180853126801213C00B3 +:101B2000C4D10000081C002A00D01B980006049AAB +:101B3000000E964203D92C2211551B4904E0159939 +:101B40002C22097A11551949085C662108551C9800 +:101B5000002801D01F200855002D03D0E86803900D +:101B60003C0000D20000002000E009E0E860059899 +:101B7000002601300004000C0D9F0590039D6DE7C9 +:101B80000098E0600299F4F7FAF800202060012143 +:101B9000A1636034608007980FB0F0BD000006615B +:101BA00001003C003CD200005C4301003809000009 +:101BB000186701000E6101000A6101000148006818 +:101BC00070470000C46A01000249091D03C940189A +:101BD00070470000C46901000148006970470000B7 +:101BE000C46901003C0078D2000001484069704798 +:101BF0000000C46901000148806970470000C469A1 +:101C0000010070B50D4E0020351C4035F0630DE02D +:101C1000A068F4F77AF9B36D002B04D000220120FC +:101C2000616BF3F795F83C00B4D20000201CF4F788 +:101C30009DFA281CFAF742FD041CECD170BD00008F +:101C4000C4690100F8B51A4F0026F86B00282CD0A3 +:101C5000381C403000901DE01648B96B02F05CF86B +:101C60000022201C144903F03C00F0D200007BFF4E +:101C7000051C04D1386A0130386201360DE0A068D5 +:101C8000F4F749F9BB6D002B04D00022281C616BCE +:101C9000F3F764F8201CF4F76CFA0098FAF711FDDA +:101CA000041CDCD10748B96B02F03C002CD30000C7 +:101CB00025F80020F863301CF8BD0000C46901005D +:101CC0003463010011300000C460010001490120AB +:101CD000C8637047C469010080B50020054A00212F +:101CE0001C2343439B1801300428D9663C0068D369 +:101CF0000000F8DBFCF7FDFC80BDC4690100014970 +:101D0000C86470470000C4690100014988647047D5 +:101D10000000C4690100B0B5041C0D1C211C028E1A +:101D2000806A4031F3F72FF8002816D102213C00D9 +:101D3000A4D30000201CF4F76FFAE269C000101869 +:101D4000828BAB889A4204D182692B689A4208D26E +:101D500001E09A4205D2002118300CCD0CC000E001 +:101D60000121081CB0BD0000F8B5061C002744681E +:101D70003C00E0D300000FE00949486A01304862A6 +:101D8000A069002802D0F4F700FAA761266225684E +:101D9000201CFFF752FB2C1C002CEDD1F8BDC469B0 +:101DA00001000330074A8108136850681B688900E6 +:101DB00009183C001CD400008B4201D3516000E0A4 +:101DC00000209060704700008C6E010070B5124ECC +:101DD0008038C50070590C1C002804D101210D2049 +:101DE000F3F72EFF0DE02069002805D1A81981889E +:101DF000E06801F03C0058D4000047FA20617159B6 +:101E0000201CF2F7BBFF041C002C07D0E068002860 +:101E100001D0F4F792F8201CF4F7BDF970BD5442DC +:101E2000010070B5041C0D1C0E490622F3F735F8AD +:101E30000026E66166623C0094D400000720302151 +:101E40000855E663281CF8F76BF8A076201C1430C0 +:101E50000622291CF3F724F80622291CA018F3F700 +:101E60001FF8266170BD00001261010080B5FDF70A +:101E700085FE80BD014948603C00D0D40000704719 +:101E80000000E4650100024980B54968F2F77CFF73 +:101E900080BDE465010080B5F4F7E5F9074907481E +:101EA0000EC90EC018380068002802D002F0B7FA38 +:101EB00080BD02F09EFA80BD00003C000CD5000001 +:101EC000B058010090730100054980B58968002071 +:101ED000002900D103200006000EFAF7E3FB80BDC5 +:101EE000606C010080B5034806220349F2F7DEFF6B +:101EF00080BD000040800700126101003C0048D511 +:101F00000000B0B5041C0C4D0B1C211C00200C3D26 +:101F10000029094C05D02878211C1080021C181CAF +:101F200007E011880E2907D80A06120E191C201C7A +:101F30002A70F2F7BEFF0120B0BDB06901003C007D +:101F400084D5000010B500200A4A012111600A4C16 +:101F50000AE0021C016A5032914205D061783C23AC +:101F6000594309190431016204F0BAFB0028F0D189 +:101F700010BD0000DC62010068610100044880B50A +:101F80003C00C0D500000068002803D0011C1020D0 +:101F900004F0C7FE80BD286101000322111F80B537 +:101FA0000020FBF776F980BD000080B50BF0B9FA90 +:101FB00080BDFFB583B0161C002101911F1C0821B4 +:101FC00002AA3C00FCD50000FAF70EFF041C2AD13F +:101FD00002984168490001D4092424E0FAF752FF2D +:101FE0003860029841684902CD0F291CFAF744FF76 +:101FF000011C306038680006000E00F01BF8002855 +:1020000001D10A243C0038D600000FE03168029864 +:102010002B1C01AAFAF7D7FF002806D00198002848 +:1020200004D004990968814200D2032401980499DC +:10203000086007B0201CF0BD000070B5051C0E1C28 +:10204000012400F084FF3C0074D60000002808D072 +:10205000032D01D0042D04D10320C003864200D3F8 +:102060000024201C70BD00007CB5151C061C0C1C37 +:10207000291C6A4601ABFFF7A5FF002802D1002CFE +:1020800001D103207CBD17483C00B0D6000000AB56 +:1020900006601879072821D202A31B5C5B009F44CD +:1020A00000001D040406101713000420EDE72A1C8D +:1020B000211C0120009BF2F781FE002812D106208E +:1020C000E3E72A68009905E000983C00ECD60000A0 +:1020D0004278811C01E02A686946201CF2F7FEFE66 +:1020E00003E004218720F3F7CFFD0020D0E70000B4 +:1020F000F86B0100F7B586B00E1C082105AA0698FA +:10210000FAF77EFE041C45D1059841683C0028D7AB +:10211000000002904902C90F002504950391089F11 +:10212000FAF7D5FE019002A903C9FAF7C6FE019994 +:10213000052914D202A35B5C5B009F4400000E03E0 +:10214000060C030087420ED807E087420BD83C00FC +:1021500064D700000125C01B049007E0874205D129 +:10216000012503E005218720F3F794FD002D01D11F +:10217000032415E005984168002969DA3A4A06996E +:102180001160FAF791FE071C05980399FAF786FE8D +:102190003C00A0D70000051C011C381CFFF75FFFA6 +:1021A000002801D10A245EE0072F57D202A3DB5D8D +:1021B0005B009F440000530404062E504800042492 +:1021C00051E00498002801D1002714E0089908186C +:1021D00000043C00DCD70000000CF4F72BF8071CCF +:1021E000311C089AF2F786FE089804993818F2F71D +:1021F0002FFE089804993E1C40180890311C0020BE +:1022000008AAF2F7ECFD002800D10524002F2DD0FC +:10221000381CF3F73C0018D80000EDFF29E00399C3 +:10222000002904D0059840688702BF0A00E0002713 +:10223000311C281C089AF2F760FE0499002903D08B +:1022400008982818F2F707FE002F12D0F2F7CCFDFD +:102250000FE0311CA81C3C0054D80000089AF2F78B +:102260004FFE0898687007E0FFE7072404E00824A1 +:1022700003218720F3F71AFD201C09B0F0BD0000F0 +:10228000F86B01009EB51C1C00AB19720092002275 +:1022900001946946FBF708FA3C0090D800009EBD07 +:1022A00000008FB5029200220090019003916946D0 +:1022B0000420FBF7FCF98FBD0000B0B50C1C012811 +:1022C0000AD0032819D004282CD1606801F035FC0D +:1022D000011C83200CCC22E01C203C00CCD8000048 +:1022E00014496043401814494518281CF8F746FC67 +:1022F000A968002903D0221C082005F071FEB0BD9A +:10230000208CC82801D3042004E0652801D30220D2 +:1023100000E001202084201C03F0DCFA3C0008D9F6 +:1023200000002268E368011C8220FFF7B4FFB0BD03 +:10233000A0210820F3F7C3FCB0BDDC71010064EEFE +:10234000FFFF0348044A81685161C068906170478B +:102350000000F4680100C07101000349044A3C0018 +:1023600044D90000086B90608868D0607047000016 +:10237000905C0100C071010000B5FFF7F1FFFFF7AD +:10238000E3FF00BDB0B50D1C002814D00B490C4C68 +:1023900088686269C968801AA269891A401804D0DD +:1023A0003C0080D9000064235943F2F7C4FE206149 +:1023B000FFF7CDFF206928600120B0BD0020B0BD2F +:1023C0000000F4680100C0710100B0B50D1C0028C8 +:1023D00017D00C490D4C086BA2688968801AE26816 +:1023E000891A3C00BCD90000401807D022889042CE +:1023F00004D964235943F2F7A1FE6060FFF7B6FFEA +:10240000606828600120B0BD0020B0BD905C010074 +:10241000C07101007CB51068002802D000F024F8DB +:102420007CBD0F483C00F8D90000C0698468E068B2 +:10243000256AA669F3F7E3FDE169F3F706FD201CC1 +:10244000E2694030C18B12898918C1830749019420 +:1024500000912869331C82880168E068C068F8F739 +:102460001EFCE0E700003C0034DA0000846A010052 +:10247000915E0000F0B58569066A041CC06885B0ED +:10248000C068002801D1F3F757FC0A49029504946B +:102490000391306982880168262001920091435D92 +:1024A000E068E1692A1C0E323C0070DA0000C06866 +:1024B000F8F737FD05B0F0BD0000E9D9000010B510 +:1024C000141C0548FCF77BFBA068F3F79EFDE16850 +:1024D000C160201CF5F7BBFA10BDA06A01007CB5F5 +:1024E000041C6030027BA16900913C00ACDA000062 +:1024F0000192221C211C3831A06848320D1C6369EE +:1025000003F07AFB08210020F3F788FDE0602669DC +:10251000B16B002901D0102300E018230549019474 +:1025200000913168CA180823011C281C3C00E8DA15 +:102530000000F8F720FD7CBD000081DA0000F0B556 +:102540004668171C041C0121301C9BB0FAF70DFCD7 +:102550000025002803D013490A7A012A01D1012558 +:102560001CE088624E612089C861608900283C00B7 +:1025700024DB000003D000200884488404E0E068E5 +:102580000884208A4884608A8884086B002803D1E4 +:1025900001A803F077FC04E001200861002002F0AC +:1025A00039FB3D711BB00120F0BD0000F46E01004D +:1025B0003C0060DB000010B5041CF7F7E8FB0028C6 +:1025C00011D14B20005D01280DD1201C04F085FAAB +:1025D0000021201C04F0F3F8A0690021C207D20FEB +:1025E0000420F4F7D8F910BD000038B5041C04F03D +:1025F00036F93C009CDB0000002803D04030807A94 +:10260000002825D10C2029210855211C0622A018BC +:10261000F2F7A0FC201C06220E49F2F79BFC0120D9 +:10262000E06160620720302108550025E56306203F +:1026300000AB18803C00D8DB0000E068002801D027 +:10264000F3F7DBFC02216846FDF773FBE060201C1A +:10265000FFF769FCE560201C38BD12610100FEB582 +:10266000051C0E1C152000AB98801421171C00209F +:10267000F3F7E3FC02903C0014DC0000046806223F +:10268000311C601D2571F2F76BFC0622391C201CE1 +:102690000B30F2F765FC01A8FFF752FCFEBD00000D +:1026A00080B50023FBF75CF880BD000070B5051C09 +:1026B00008350F4E291C041C3C0050DC000006228B +:1026C000301CF2F750FCA088B082281C05F0A1FF56 +:1026D00000280BD0E0883061281C04F0CCF8A188D9 +:1026E000403041800020F4F7B8F902E00420F4F70C +:1026F000A0F9002070BD707C01003C008CDC000063 +:1027000080B50020FBF7F8FB80BD000070B5041C0D +:102710000430051CFDF732F8002809D00020F7F737 +:1027200037FC002804D00622011C281CF2F71EFCEE +:102730000A4E0622291C301CF2F718FC3C00C8DCAB +:1027400000006089F082281C05F069FF002803D092 +:102750000220F4F788F902E00520F9F7F4FA0020E6 +:1027600070BD707C010010B5041C007904281CD2D7 +:102770006079012801D0032804D1002201213C0006 +:1027800004DD0000A01DF9F769FC6079002804D180 +:1027900022790021F9F762FC0AE0032808D100241D +:1027A000221C00210020F9F759FC0134042CF7DB2E +:1027B000012010BDF0B597B0171C051C0430041C97 +:1027C0003C0040DD000015AA16A905F0E2FE002835 +:1027D0002ED015984B21095C002923D0012902D065 +:1027E00002291FD101E004F090F9AD7A1348169E3A +:1027F00005800622211C0830F2F7C1FB221C311C87 +:1028000002A83C007CDD000000F074FB0A200AA94D +:10281000487200AB9D80022101A8FDF79FFA059048 +:1028200002A8FFF795FBF3F7F7F90021159803F0DD +:10283000E1FF002000E00120387117B00120F0BD59 +:10284000987C01003C00B8DD000080B50120FBF75A +:1028500062FB80BD0000B0B5041C807D151C0A1C05 +:10286000C007C0170130211CF9F7FBFC002803D179 +:10287000042028710120B0BD206AF7F776FE606A57 +:10288000F7F77BFE206A3C00F4DD0000FEF788FAD3 +:102890000020B0BD10B5141CC27981798088F7F78B +:1028A000A1FA2071012010BD80B50123FAF770FF55 +:1028B00080BD0000F0B5041C081C00210F2891B059 +:1028C00000D30221002941D13C0030DE0000C000CD +:1028D000244F1090C619B288216802A8F2F75BFB5A +:1028E0002189B088091A002907DD09042268090C2A +:1028F0001018F3F7C0FB051C00E00025B07980211B +:10290000884317497831095C00203C006CDE0000E8 +:10291000F3F7B4FB071C00681349019010980B589B +:10292000019A291C02A8F2F7ACFA0090281CF3F7D0 +:1029300073FB201CF3F782FB0098002808D0029854 +:1029400001990860B079391CFAF720FF3C00A8DE35 +:10295000000011B0F0BD381CF3F761FBF9E72D2042 +:10296000F3F7F5F9201CF3F76CFBF2E700002444C1 +:10297000010070B5051C2035061CA879042848D232 +:10298000E979012913D1301C283003F092FF3C0073 +:10299000E4DE000000283FD0011C8C310165A979DC +:1029A0004C22041C11548118416250340462E11E0F +:1029B00081620BE000292FD13C2218494243541870 +:1029C000174A04341268002A00D14870002C23D022 +:1029D0003C0020DF0000351C3035E879012801D0AB +:1029E000052801D10620E8712022311D2068F2F768 +:1029F000DEFAB08CA080E879A071A8790025A063E8 +:102A0000012060810020E0602E36E80000191830B7 +:102A100008223C005CDF0000311CF2F7CBFA0135E4 +:102A2000042DF5D3012070BD68610100DC62010056 +:102A300010B5041CC07A012801D0032807D1201D3D +:102A400003F040FF002802D0A17A40304173E07AC1 +:102A5000002801D03C0098DF0000032802D1A07AB2 +:102A600002490870012010BD00006861010070B5C6 +:102A70000E1C0321041C301CFCF7E1FB002801D0D4 +:102A8000857800E000250B48321C00680368207C34 +:102A90008007C00F211C3C00D4DF0000F7F762FE66 +:102AA000002805D00121281CFDF7FEFB002000E0D6 +:102AB000082003F0C5FF002070BD0000E4650100A0 +:102AC00080B5426800880121490608432D2105F0A0 +:102AD000D3FB80BD034901203C0010E00000497891 +:102AE000022900D0002070470000846601008CB5E8 +:102AF00001281FD100290DD001290BD0022901D0B6 +:102B0000032916D10020F9F714FC932000AB18809C +:102B1000002008E0012900D000203C004CE000002B +:102B2000F9F70AFC832000AB1880022000F0CCF8F3 +:102B300001906846FFF73AFA8CBD01210E20F3F7A9 +:102B40001BF9F9E7FFB5171C1E1C1421002083B0E8 +:102B5000F3F7ACFA051C0468122000AB3C0088E0D7 +:102B6000000098800622601D0399F2F732FA0020D7 +:102B7000207127730499201CE172311C06220D304C +:102B8000F2F727FA029501A8FFF713FA07B0F0BD94 +:102B90000000F8B5061C0F1C0C210020F3F73C00C8 +:102BA000C4E0000089FA0568041C281D0622311CB7 +:102BB000F2F712FA6F81201CF8BD0000B0B5041CBA +:102BC0000D1C08210020F3F777FA01688C718D80C5 +:102BD000B0BD0000F7B50E1C1021171C0020F3F744 +:102BE0003C0000E100006BFA0468051C201D062271 +:102BF0000099F2F7F4F96681A781281CFEBDF3B5B0 +:102C00000C1C0821002085B0F3F759FA061C076850 +:102C1000E068002802D00599012904D1059838718F +:102C200000203C003CE10000787156E0036801217F +:102C3000039320690290FCF717FB051C02983221D0 +:102C4000FCF712FB0022D243011C281C04ABF7F74F +:102C5000B9F8002804D1301CF3F702FA00263CE052 +:102C6000002D05D03C0078E100006878093807287D +:102C700001D8322028701C210020F3F726FA019099 +:102C80000568011C301CF3F740F9E068F3F70BFA14 +:102C9000A861E1680198F3F738F90020E060059831 +:102CA0008021084338713C00B4E100000120211C60 +:102CB00014317871281C0622F2F79AF9029A292019 +:102CC0000092005D0121E26A082800D00021281C42 +:102CD000039B02F09DFFA06B2861206C68617F3030 +:102CE00001D10F206861301C3C00F0E1000007B00A +:102CF000F0BD10B5041C08210020F3F7ECF90168C1 +:102D00000C7110BD00000148006870470000286188 +:102D100001000149086070470000E4650100021CE1 +:102D200001200006084380B52D213C002CE2000064 +:102D300005F0C0FA80BD000080B5012807D0F12859 +:102D400025D0F32827D1022002F0BCF980BD00294C +:102D50001AD0012903D0F229F8D188211CE01048AB +:102D60000178002905D140780128EFD13C0068E2C4 +:102D7000000000F016FA80BD0B4814300089FCF703 +:102D80005AFC011C01220F2005F09FF980BD04F0C0 +:102D900052FA80BD0020FAF732FE80BD02210F20DA +:102DA000F3F705F880BD84660100014800783C0017 +:102DB000A4E2000070470000746601000149002091 +:102DC00048607047EC650100F8B50E1C134D011CFE +:102DD000141C6822281C1F1C0C30F2F771F90F49D3 +:102DE0000020AC394860012129601921192C6E6737 +:102DF0003C00E0E2000000D3211C2981094914397C +:102E000088738F74C878012808D001210F2005F03D +:102E10009CF91920FCF715FCFBF799F80120F8BD87 +:102E200000009866010080B5012802D100F02FF85B +:102E300080BD3C001CE3000001211D20F2F7C0FF13 +:102E400080BD00007047000001200749000580B5E3 +:102E5000886000228021162005F04CF904F034FD32 +:102E60000249086180BD000000100700246D0100C8 +:102E7000064A80B53C0058E30000D16A814207D180 +:102E8000107F2423044958434018C068F2F735F8EE +:102E900080BDD4790100944601001D481CB500781E +:102EA00000282DD01C480068002829D01A4A1A4B47 +:102EB000043211681C693C0094E30000A14222D155 +:102EC00051685B6999421FD1164949689368C91ACC +:102ED000814219D2D06814490130D0600968884213 +:102EE0000CD90622FF216846F2F72EF9F3F7ACFC65 +:102EF000011C0023002268463C00D0E3000002F0E1 +:102F0000CEF901221D200A4905F0F7F81CBDF7F79C +:102F100088F904228118081CFCF727FBF6E71C75CA +:102F200001004475010028610100905C0100F05926 +:102F30000100A086010080B501683C000CE400009F +:102F4000002915D10079022812D1081CF7F780F862 +:102F500000280DD003F0F2FC0830418F002907D182 +:102F60008069002804D08079062801D1FCF718FB7D +:102F700080BD000001490020886270473C0048E4A1 +:102F8000000078690100B0B5054D041CA91DFFF7CC +:102F900014F80622291CA018F2F74BF8B0BD707C7B +:102FA0000100B0B5041C151CFFF707F80622291C08 +:102FB000A018F2F73EF8B0BD000080B50A303C0022 +:102FC00084E40000F7F7BCF90123002803D005488A +:102FD0000078012804D100220021002003F0C6FD62 +:102FE00080BD0000A079010080B5002300220021EF +:102FF000002003F0BBFD80BDB0B5054DAC790A1CC7 +:103000003C00C0E40000011C0123012003F0B1FDDD +:10301000AC71B0BD000020100700F8B5061C0C1CF8 +:10302000880702D5F6F747FA10E060070ED5174F6C +:10303000A320C05D154D102800D3154D04F059FC98 +:10304000B96F3C00FCE40000401A291A0120F6F791 +:10305000C1FAE0071149C00F48600CD00D4C443C48 +:10306000207803280FD1002E06D0F6F7F9F9011CBD +:103070000120F6F7AFFAF8BD09490120F6F7AAFAE0 +:10308000012020703C0038E50000F7E70121301CEA +:10309000F6F789FAF2E7A60E0000A46C0100C40955 +:1030A0000000B057010040420F0080B5062804DB45 +:1030B0000521FF20F2F79FFE80BD034AC00011509A +:1030C0000121801801713C0074E5000080BD000002 +:1030D0009C5A01000148806870470000D0600100E0 +:1030E000B0B5084C251D281C216800F0F1FE002811 +:1030F00003D101210448F2F7CFFA281C216800F01F +:10310000FBFEB0BDC06001003C00B0E500002C102B +:103110000700B0B5104D0C1CA868002802D104F0BF +:10312000F4FB2860201C04F038FB0121032003F08D +:10313000C4FE04F0F0FBA86800280BD104F0E5FB06 +:103140002968001B401A696840183C00ECE5000043 +:103150004108401828600120A860B0BDD06001007F +:10316000F8B51F4E0024B068002802D104F0D0FB4F +:10317000706005F061F804F08FFB051CF9F766FE3E +:103180003168184A41181268E80B002A3C0028E60A +:10319000000000D1A80A401885421FD9144F2D1AEB +:1031A000381C2030817900AB1970C079587005F057 +:1031B0006EF8002803D102218F20F2F728FE291C87 +:1031C0000C48F268F8F709FC002804D0011C3C0008 +:1031D00064E60000281CFFF7A5FF012400AB188857 +:1031E000F88405F047F8201CF8BD0000D06001000D +:1031F000F474010000100700891301000149012047 +:10320000C8607047D0600100064880B5006801289A +:103210003C00A0E6000007D10448AC38016903482F +:1032200000F079FEF3F72BFA80BD98660100346355 +:10323000010080B542788168007903F0DEFF002844 +:1032400001D1F5F7B6F980BD00001FB504F069FBA8 +:10325000F6F73C00DCE6000091FF164C022803D193 +:10326000FFF7DCFD042802D3002020701FBDFBF710 +:10327000F7FC0028FAD1606A0028F7D02078800790 +:10328000F4D40921162004F093FF012020700B4C88 +:10329000094902903C0018E700000194009104F0F5 +:1032A00046FB001903906846FDF7B5FB0022162186 +:1032B000842005F03EF8DCE70000606C010061ED61 +:1032C000000040420F00234870B580789CB0012870 +:1032D0003ED1204C09A83C0054E70000803C611C12 +:1032E000FEF792FE042011AD6872A06F19A9189024 +:1032F0007C20005D012608711D20005D002806D09D +:1033000010961296FCF7F6FA2872207A1190F3F7CD +:10331000CDFF6A21085340343C0090E700000022B2 +:1033200001A906A8F6F7CDFF211C0020FBF7CBFB77 +:1033300006A9FBF7C8FB01A9FBF7C5FB0A49096809 +:10334000002907D0331C0A226946FBF7DAFB009AF2 +:10335000072191700C9009A8FEF73C00CCE7000013 +:103360007BFE1CB070BD000084660100E4620100B9 +:10337000F8B5041CC068FF22016812020E1C087B0D +:10338000497B090211400843051C311C0622A01884 +:10339000F1F77CFE0622B118201CF1F73C0008E88A +:1033A000000077FE280A290208430004032149028D +:1033B000000C884208D2E06801890E390181E0687A +:1033C00001680E310160F8BD0026201C103003F0AA +:1033D000E8FA218B002905D1E17D00290BD03C00C2 +:1033E00044E800008069800708D4E068012601896C +:1033F00002390181E0680168023106E0E068018974 +:1034000006390181E0680168063101601449002035 +:103410000B1F42009A5AAA4202D11149063102E01A +:103420003C0080E8000001300228F5D3E068062265 +:103430000068F1F734FE012ECBD1812000AB18805B +:10344000E17D208B49030843310308430004000C4D +:10345000010A000208435880E06819880068C180AA +:1034600059883C00BCE800000181B5E76A460100CC +:10347000B0B50D1C01890622083101810468044998 +:10348000083C0460201CF1F70DFEE580B0BD000093 +:103490006A460100F8B5002901D0002801D10020BA +:1034A000F8BD09043C00F8E80000090CF2F743FFFE +:1034B000061C051C002720E02C892968022C01D25B +:1034C000022001E048780230844202DD241A091803 +:1034D000F4E7844210D0011B0A040104090C120C09 +:1034E000281CF2F79EFE3C0034E90000002806D1BB +:1034F000E868F2F72DFEEF602889001B2881ED684F +:10350000002DDCD1301CD1E7F8B58568041C80693A +:103510002E1C00280DD07168F2F7F6FDA069F2F7B5 +:1035200017FE06E00021C1603C0070E90000F16078 +:10353000A08D36680138A085F0680028F5D1306884 +:10354000A060A08D01380004000CA08502D0201CD2 +:10355000F9F739F82A4F2A480068002803D00621D5 +:103560006868FAF77CFD686800683C00ACE9000018 +:10357000817800292BD1C178002930D1218E0139E1 +:103580002186FBF715F8A16A081AA062E169884252 +:1035900003D904210220F2F767FCB86800281ED086 +:1035A0001A49208E49680C22521A90423C00E8E9E0 +:1035B000000008D319239B01AF2292015943A06A4E +:1035C000511A88420ED200210C2003F0ACFC0020DE +:1035D000B86007E0012905D1C078172802D1A08E74 +:1035E0000138A0862A1D06CAE0686369F1F73C002D +:1035F00024EA0000DCFCB54201D02D68B4E7A08DC0 +:10360000002803D10548B96900F09EFCF8BD000010 +:10361000FC5A0100CC5C010018570100C460010095 +:103620008907074BCA0F80B5197C002906D0814352 +:103630003C0060EA0000197403D10721152004F052 +:10364000A2FE80BD00007869010080B5011C012048 +:10365000FFF7E9FF80BD80B5011C0220FFF7E3FF03 +:1036600080BDB0B51B4C6068FCF72FFF20680025BB +:1036700040683C009CEA0000002803D0FDF718FCDD +:10368000206845606068FCF7C5FE1448616800F07A +:1036900061FCA07A012805D0022803D020680068C8 +:1036A00000F0DEF801211F2004F0B2FD00211F20F0 +:1036B00004F0AEFD3C00D8EA000002211F2004F017 +:1036C000AAFDA57221682C20405C8968F1F776FC80 +:1036D0006068FCF7E4FE20680562B0BD0000147A63 +:1036E00001003463010004490A68C868926A002A2C +:1036F00001D0096908183C0014EB00007047000075 +:10370000147A0100B0B5134C051CA07A01380228C8 +:1037100019D801211F2004F081FD2068FC23011C21 +:103720002030027B1A400273002D0FD001231A4370 +:103730000273A07A032807D13C0050EB000001205F +:1037400001F0E7FD002801D1FFF797FFB0BD4B6204 +:10375000B0BD022111430173F6E7147A010010B5E0 +:10376000041C0A30F6F743FE00280CD022880A49D0 +:103770000B7A9004C00F002B06D13C008CEB0000AC +:103780001206920E202A00D10120C86010BD002828 +:10379000FCD100222421802004F004FE10BD000092 +:1037A000047A010080B5021C1F21802004F0FAFD7C +:1037B00080BD0000F8B51D4E041C30683C00C8EB0D +:1037C00000001D1C4768201CF1F70AFCFBF787FA74 +:1037D000002804D0281CF2F72AFB002828D12088D2 +:1037E000400525D430680068FEF759F9002803D158 +:1037F000FDF789FAF1F7EDFB3068002540683C00E1 +:1038000004EC0000002803D0FDF764FB306845603D +:1038100020880009000703D104F0C8F86188451822 +:1038200030684561816A0131816220888004C10F5E +:103830000248F8F7CDFFF8BD147A0100B1EB0000A3 +:103840003C0040EC0000B0B50E4C051C6068FCF775 +:10385000F6FD0C48616800F092FB0021242004F082 +:10386000ECFC0022D2438021242004F0B8FC00208C +:10387000E0602072206801682806000EF1F7B0FBB6 +:10388000B0BD3C007CEC0000047A01003463010010 +:1038900010B5041CC068F2F785FC201CF2F7B0FDDF +:1038A00010BD000070B51C4E051CB07A2C1C4034B5 +:1038B000022826D1A08B3189884222D13068416A02 +:1038C000002908D03C00B8EC00002030007BC00785 +:1038D00004D5012001F02FFD002818D160780028C0 +:1038E00009D1306802232030027B0D495208520072 +:1038F0001A43027301E0FF21F53101221F2004F079 +:103900006EFC0320B0723C00F4EC000002E0281CC6 +:10391000FFF7C4FF6078002803D1291C012003F0C1 +:1039200029FB70BD147A010050C30000B0B5041C1F +:103930006034E0790E4D00280AD10220A872286870 +:103940004068002804D10B483C0030ED0000FDF732 +:10395000D0FA2968486004F038F82968C861FFF790 +:10396000E0FE29680969081A03F06FFF002801D0FA +:10397000E079A071B0BD147A0100C1EB0000F8B588 +:10398000041C002604F021F8051C3C006CED00002E +:10399000224800270770A10704D0E107C90F016280 +:1039A000C5610126416B002934D1002E32D0061C9E +:1039B000F9F744FF316B1A4B411AA20712D5DA68A6 +:1039C000002A08DD91421A6802DA14093C00A8EDC9 +:1039D0000000A21806E01409121B03E00A4302D1FA +:1039E0001A6852001A60B7630AE0B26B0132B26320 +:1039F000022A1A6801DD940800E01409121B1A60FB +:103A0000D9603063F56218680849884201D93C00E2 +:103A1000E4ED0000196003E0642801D2642018601E +:103A2000F5F7FCFDF8BD0000606C0100B057010027 +:103A300020A10700FEB5041C0020504D0021686144 +:103A40002069FBF7B3FC071C20690321FBF7AEFCE0 +:103A50003C0020EE0000002803D0807829788842BE +:103A600063D1474D201C1430391C061C2A7802F003 +:103A70005AFA002859D1E068056841480195583044 +:103A80000290FBF76AFF3E4D193500280BD0281C29 +:103A9000FBF73C005CEE000055FF00281ED1311CF6 +:103AA000281CFBF765FF002842D017E0281CFBF715 +:103AB00049FF002806D0391C0298FBF763FF002855 +:103AC00036D00BE0391C0298FBF75CFF00282FD0A2 +:103AD000311C281C3C0098EE0000FBF74CFF00282E +:103AE00029D0301CF6F7ADFC294A1832117C002988 +:103AF00004D0516A002901D000281CD1906A002806 +:103B00003BD01378019D01216D8901202B409B073B +:103B100011D0A36B1E4E3C00D4EE00001D1C7F355F +:103B20009836002D14D0558A002D08D15569AB4226 +:103B30000FDA0020174D01236B610AE029E0F578C8 +:103B4000022D06D1144F55693F68ED19AB4200DADA +:103B50000020236C1D1C7F353C0010EF000010D0AE +:103B6000558A002D03D19569AB420AD208E0F57859 +:103B7000022D06D10B4E95693668AD19AB4200D2C5 +:103B80000021084308D0106A002801D0F1F74BFA51 +:103B90000021201C01F0B9F9FEBD3C004CEF0000F3 +:103BA000EC650100C4670100CC6701003EB5056A01 +:103BB000041CC068F2F734FBE169F2F757FA201CE5 +:103BC0004030C18B0431C1832B6910499879062894 +:103BD0000AD1988801910294009060693C0088EFB6 +:103BE00000001B680168E0680322C0680AE0022840 +:103BF0000BD11020009001910294E068A369C06885 +:103C000000220021F7F70FFB3EBDF2F7A6F9FBE714 +:103C10000000BDEF000080B5D1685069C9683C0064 +:103C2000C4EF0000C160D168C860111C4031CB8B6B +:103C300000891818C8831068002802D0FFF7BCFF5D +:103C400080BD0348FBF7CCF8006AFEF7F5F980BDAC +:103C5000A06A0100F8B5061C0A2430070109A00774 +:103C60003C0000F0000001430F1C0A4D2F6004F0DF +:103C7000FAFEAD682801000FB04205D0013CF4D235 +:103C800001219B20F2F741F92802000A082E01D1F8 +:103C900031050843F8BD600007000122D20580B558 +:103CA00000213C003CF00000042004F0DDFC0F206B +:103CB000FFF7D6FF0F2109040840000C80BD00006B +:103CC00080B50548FDF74AF90448FDF77BF804483C +:103CD000FDF76CF880BD000089340100ED24000080 +:103CE000111C00003C0078F0000080B50248F3F79A +:103CF0002AFC80BD0000D124000080B5F2F753F902 +:103D000080BD80B50021002001F051FE032002F0AB +:103D100046FF80BD0000064880B5C169002906D174 +:103D2000016A002903D13C00B4F00000816B034814 +:103D300000F05EF980BD0000C46901003463010039 +:103D400010B5044C206AFCF7B3FB0348216A00F06D +:103D50004FF910BD1C75010034630100B0B50D4C66 +:103D6000207C002802D001213C00F0F00000FDF78B +:103D700086F900252570A068012803D10020A560E0 +:103D800001F08FF8A078012805D103489838006920 +:103D9000FCF7EFFBA570B0BD00008466010080B5A4 +:103DA0000021012001F009FE80BD3C002CF1000043 +:103DB00038B569460025F8F7B7FE041C01D101208B +:103DC00038BDA068002804D00099A131082004F073 +:103DD00073FA1C21201CF1F7A3F9281CF0E700005E +:103DE000FEB5071C4C233949584344183C0068F180 +:103DF0000000251C4035287A37494876211C30318F +:103E000002910C23C856421C0A73497B884246DA49 +:103E10003248007880073ED500200190F6F7AFFACF +:103E200000282ED0AC210958002901D0E4303C00F4 +:103E3000A4F1000000E0CC30061C4068002825D02A +:103E40000299087B012811D1201C2E302978F6F721 +:103E5000EDF9716803E07218127A824203D9FF31DA +:103E60000906090EF7D1A97001200190231C3E33E9 +:103E70003C00E0F100001A1D301C00970199F8F792 +:103E800058FA002811D0A8788019007A00E00020A4 +:103E9000687068780121FBF7E0FD6060381C01F074 +:103EA00014FE381C01F0A5FBFEBD0299087BFF3013 +:103EB00048733C001CF20000381CFCF719FC03F0AE +:103EC000C3FD061CFBF78EFE41007618687861681A +:103ED000FBF76AFE3118208D3B1C054A03F012FEE9 +:103EE000E5E7000058E30100308007001D75010080 +:103EF000D54E00003C0058F20000031C044880B579 +:103F000002792030034900F030F880BD0000AC7C1D +:103F10000100C4670100031C044880B5C278383032 +:103F2000034900F022F880BD0000AC7C0100C867A6 +:103F30000100031C04483C0094F2000080B5827923 +:103F40005030034900F014F880BD0000AC7C010043 +:103F5000CC670100031C044880B5427968300349EE +:103F600000F006F880BD0000AC7C0100D0670100C5 +:103F700010B5002484800B603C00D0F20000191CB6 +:103F8000514301601906091610220630F1F79FF916 +:103F900010BDB0B5064D0024AC60EC60EC612C6245 +:103FA00002F0F1FC00F00DF8EC622C70B0BD447D25 +:103FB000010080B580210148F1F73C000CF30000BE +:103FC000C7F880BD04660100F8B5074F002400263D +:103FD00018206043C519EE6003F042FD103501342E +:103FE000022C41C5F4DBF8BDB87D0100002303605D +:103FF000044B002900D1191C4160002A3C0048F301 +:10400000000000D11A1C82607047BD75000010B519 +:10401000074C206801302060202803D958215820FF +:10402000F1F79DFF216801200139884010BD605BD8 +:104030000100B0B50D1C041C2168002000293C00C3 +:1040400084F300000AD0A943216007D1A068F1F7EA +:1040500023F8002802D1216829432160B0BD000067 +:10406000B0B50D1C041C2168002029432160A94221 +:1040700007D16068F1F710F8002802D12168A94340 +:104080003C00C0F300002160B0BD1A4BB0B59A6A85 +:1040900000280BD0002A07DBB8242458013CA41ABE +:1040A0000019B030007B02E00E2000E00D205D6AB8 +:1040B000124C002D01D0207800E0205CFF24A834B1 +:1040C000C4403C00FCF300009C60F524C4409C61AB +:1040D000FD24C440DC61FF242934C4405C61FF241A +:1040E0005334C44000200C3311C3002905D0002AEA +:1040F00003DC0221504200F065FBB0BDAC7E010044 +:10410000B85201003C0038F4000010B5134C1348BD +:10411000211CFF3169310EC90EC0211CFF31242240 +:1041200075310F48F1F751F8211CFF313C229931CC +:104130000D48F1F7A6F8FCF7A2FF211CFF31102271 +:10414000D5310948F1F73C0074F4000041F8211C16 +:10415000FF312822E5310748F1F796F810BD00003D +:1041600040630100008007000C80070030800700DA +:1041700080800700A0800700F8B5002859D004F01F +:104180004BF9F8F7B3FB00223C00B0F4000001212A +:10419000132004F07CF92A492948496C0160002168 +:1041A0002948C9434160264C1434616C8160A16C7C +:1041B000C1600020254D022601016E500A194F19D9 +:1041C000503204370ECA013008283C00ECF40000DD +:1041D0000EC7F4DB1422211CCC311E48F1F75AF82B +:1041E0001D4881780909090181700021C170417061 +:1041F000211CE0310A78027049784170211CE831B5 +:1042000030220830F1F746F8211CFF313C0028F538 +:104210000000502219311248F1F73FF88320800046 +:10422000142221181048F1F738F811204001842297 +:1042300021180D48F1F731F8FFF773FF201CF1F753 +:1042400028FDF8BDFFF76DFFFBE7082007003C00E5 +:1042500064F500002C6301004020070000300700D7 +:104260000040070000500700006007001000070032 +:1042700000900700F8B5051C1848C068002825D034 +:10428000164E013674783078271A7919201CF1F708 +:104290003C00A0F500004BF80090291C201CF1F711 +:1042A000B2F8C119201CF1F742F8601A3070701E84 +:1042B000806800280DD05336F4780099201CF1F75F +:1042C000A2F8B178611A4118201CF1F79CF8601A25 +:1042D000B0703C00DCF5000003485C300169C26846 +:1042E00069435118C160F8BD447D0100B0B50C4D63 +:1042F000E868296940187D2109014418201C03F051 +:104300000BFB00280AD003F0CFFB011B2869F1F753 +:104310007DF801303C0018F600000004000CFFF7A7 +:10432000B2FFB0BD0000A07D010070B5104C606808 +:104330008025A84360602068284320600D4E301C13 +:104340001030F3F7C8FC002803D107218520F1F7CE +:104350002AFE084800213C0054F6000080684163B2 +:10436000C06C10307061012030612068A84320606B +:1043700070BD0000F400070000300700247E01003B +:10438000011C0020052980B509D202A35B5C5B00FB +:104390009F440000030303033C0090F60000030069 +:1043A000FFF7CFFC80BD0122920280B500210720DB +:1043B00004F0ABF980BD80B540220021002004F05C +:1043C000A4F903220021002004F09FF980BD70B5FC +:1043D0000E1C051C141C08280ED13C00CCF6000055 +:1043E00000F000FC0E2801D1142000E01020E103B1 +:1043F00000D50138C0060A49C00E887108E0092DB1 +:1044000006D1A00401D5002000E00120F3F7B0F9A7 +:104410003440211C321C281C04F07AF93C0008F7B7 +:10442000000070BD00000080070070B50024132953 +:1044300011D8002801D1084E0825012801D1074EC6 +:10444000092500F078FA002805D0021C311C281C30 +:10445000FFF7C3FF0124201C70BDF8FF07003C00DC +:1044600044F70000FFFF00000122D20280B50021C6 +:10447000072004F053F980BD0F22120407214904DC +:1044800080B5092004F04AF980BD000080B5002104 +:10449000042004F01BFC4021002004F017FC044918 +:1044A0003C0080F700000020886002480969203045 +:1044B000FFF709FE80BD64730100B0B560210020E4 +:1044C00004F007FC114D002400220420295D04F0B3 +:1044D00028F90C2003F09BFB01342406240E052C44 +:1044E000F2D33C00BCF700000F2200210A2004F0A8 +:1044F0001BF96121002004F0EFFB064901208860D0 +:10450000044809692030FFF7CDFDFF202D30B0BDF4 +:10451000A858010064730100F8B5061C1248C67063 +:104520000120FFF73C00F8F70000FDFB0127BF0268 +:10453000041CB843011C012004F0D1FB0320FFF749 +:10454000F2FB051CB843011C032004F0C8FB301C1F +:1045500000F09FF900F057F8211C012004F0BFFB88 +:10456000291C032004F03C0034F80000BBFB0020B1 +:10457000F8BD00006473010080B5002240210020D6 +:1045800004F0D8F880BD000070B5051C0124092096 +:10459000FFF7CCFB0F210904884303218904E204BF +:1045A000052D124E20D202A33C0070F800005B5D86 +:1045B0005B009F44000006090C100300032109045E +:1045C0000CE00121090409E00121490406E0F36837 +:1045D000042B05D902E0F368042B01D8014301E064 +:1045E0001043011C092004F080FB3C00ACF80000E3 +:1045F000201C70BD0024FBE7647301000121C90584 +:10460000002880B502D00A1C002100E0002204200E +:1046100004F096F880BD0000F0B591B0002640216E +:1046200001A8F0F7DDFD2A4FB87901223C00E8F837 +:104630000000520300900021062004F084F860215D +:10464000002004F058FB6121002004F054FB0820F6 +:1046500003F0EFFA00240F20FFF771FB4005050F70 +:10466000A80001A9095801AA013101340C2C3C0011 +:1046700024F900001150F1D30020810001AA515803 +:10468000B14201D90E1C051C01301028F5D30620BB +:10469000FFF758FB0F2149028843690208430121B3 +:1046A00049030143062004F029FB0D488468643463 +:1046B0003C0060F9000008E0201C03F05AF90028D3 +:1046C00003D001219520F1F798FC0F20FFF73DFB67 +:1046D0000004F1D5872003F0B2FA0098B87111B048 +:1046E000F0BD201007000001070010B5174C6169EC +:1046F00000293C009CF9000004D00A21132003F09B +:1047000047FE10BD011C1248012900780CD0112968 +:10471000F7D1052803D101211320F1F771FC20788E +:104720000728EED102210AE0052807D006280AD082 +:104730000728F7D03C00D8F900000828E4D1002071 +:1047400005E001211320F1F75EFC10BD012002F00D +:104750006CFD10BD00007C7801000D4980B5097822 +:10476000032901D100280BD0072901D1002807D047 +:10477000022901D100283C0014FA000003D10529C8 +:1047800009D1002807D00020FCF728FD00221321C2 +:10479000112003F0C1FE80BD7C78010080B50622A7 +:1047A0000821002003F0DEFF80BD0000074880B52F +:1047B0004069002801D1F1F73C0050FA000033FFB6 +:1047C0000549054A0868506148689061012080BD2C +:1047D000000064730100B058010010000700074892 +:1047E00080B54069002801D1F1F71DFF0549054A50 +:1047F000086890614868506101203C008CFA000014 +:1048000080BD000064730100B05801001000070073 +:1048100011B500AB597814480123C056002209187D +:104820000B061B161321132B02DD00AB597007E09A +:10483000002B02DA00AB5A7002E01C1C3C00C8FAE4 +:10484000000000AB5C7000AB1B7818180006001667 +:10485000132802DD00AB197006E0002802DA00AB75 +:104860001A7001E000AB1870009818BD0000647366 +:10487000010038B50C1C154900AB496813253C00F4 +:1048800004FB00000091597809185970197808182C +:10489000187019881048022CC18001D0002C0BD14F +:1048A00000AB1878132800D91D7000AB19780020D0 +:1048B000FFF7EEFD022C01D0012C09D100AB587896 +:1048C0003C0040FB0000132800D95D7000AB597814 +:1048D0000120FFF7E0FD38BD000064730100A0581F +:1048E000010070470000B0B5041C0E28134D04D021 +:1048F0001249A00000194D3945180620FFF73DFA6E +:104900000F493C007CFB0000E02209191039C97BEB +:104910009043490111400143062004F00DFA291C7F +:104920000520094A03F030FF08481F2200191038FB +:10493000C07BC104D204082003F026FFB0BD0000F4 +:10494000B40900003C00B8FB000014450100FF0F53 +:104950000000C05801007047000080B506490028DB +:1049600001D1086880BD012801D1486880BDF1F7F8 +:1049700090FB002080BD7C730100014840687047B7 +:104980000000A05801003C00F4FB00000448012393 +:104990000449C056C95640180004000C7047000076 +:1049A000A0580100A258010001484068704700006B +:1049B00064730100F8B5051C0E1C00F055F9041CC9 +:1049C00000F058F900282CD03C0030FC0000B30067 +:1049D000601E002D1C4E19491A4A06D10B250E2CBB +:1049E00000D1194AD258085608E0012D1CD19A1856 +:1049F0000436081808250E23126DC056071C4743BD +:104A0000FB00DF19124B3F2158433C006CFC0000B7 +:104A1000114BA9400C1C3818C0181440EC40C011B0 +:104A200060431B0AC018801203D1012004E000205B +:104A3000F8BD3F2800DD3F203060A84008408A4391 +:104A40001043F5E7CC590100DC5801003C00A8FCFC +:104A500000007C7301007C5901000606000026005E +:104A60000200034808B5C08800AB1880009808BD54 +:104A70000000A0580100B0B50B4D094C0E206C6031 +:104A8000FFF78DF90949021CC8600106090E3C00B8 +:104A9000E4FC0000133A022A02D91738042800D88F +:104AA0000021081C6C60B0BD041802006000070003 +:104AB000647301000A4898B502781321142A00D3C0 +:104AC00001704278142A00D34170064C6068FFF7E9 +:104AD0003C0020FD0000BDFE009000AB1888E08087 +:104AE00000F075FF98BDA4580100A05801000348CC +:104AF00080B541780120FFF7E6FC80BD0000A65894 +:104B00000100034880B501780020FFF7DCFC80BD80 +:104B100000003C005CFD0000A6580100B0B5054D4A +:104B20000024201CFFF744F90134102C01C5F8D3F0 +:104B3000B0BD0000D4440100044980B58870044928 +:104B400080000958072004F00FF980BD647301004C +:104B5000D05801003C0098FD0000B0B53F24021C75 +:104B6000002A01D108200B23012A01D109200823A2 +:104B7000251C9D40002900D101213F2900D9211C7D +:104B800099400A1C291CFFF77CFCB0BD000091B5C0 +:104B9000124900AB1A783C00D4FD00000878114C93 +:104BA00080180006000E207049785A788918090686 +:104BB000090E13221328617000D92270132900D91D +:104BC0006270084908480639C98881802178002028 +:104BD000FFF782FC617801203C0010FE0000FFF727 +:104BE0007EFC98BD0000A4580100A6580100647323 +:104BF000010070B51D4D041C28780E1C032803D13C +:104C000002211120F1F735FA201C00F04EF800289F +:104C100025D0287801280AD168683C004CFE0000A5 +:104C2000002807D00121112003F0EEFB0120696864 +:104C3000F0F7BDFA6C706E60201CFFF7C1FC041C1D +:104C400000F0D4FE002C02D06868002802D1F6F7EC +:104C5000D9F870BD012028700122211C3C0088FE7B +:104C60000000112003F09FFB70BD02211120F1F71D +:104C700006FA70BD00009C73010080B5012805D1C3 +:104C8000002904D0012901D1F6F7BFF880BD0549FC +:104C90000878032802D00020087080BD03213C0062 +:104CA000C4FE00001120F1F7EDF980BD9C730100F6 +:104CB00001484078704700009C730100011C0139D5 +:104CC00001200E2900D300207047000010B5134CBE +:104CD000207801280ED1606800280DD00121112014 +:104CE0003C0000FF000003F098FB01206168F0F732 +:104CF00067FA00206060207001E003280ED00021D8 +:104D0000112003F08AFBFFF724FCFFF7C0FB0549E5 +:104D1000087B40084000087303202070012010BD6C +:104D200000003C003CFF00009C730100880007006D +:104D300010B50D4C2078032813D1002020700B48AB +:104D4000017B012211430173FFF770FCFFF718FC90 +:104D5000002806D002212170011C0022112003F03E +:104D60002BFB01203C0078FF000010BD00009C736D +:104D700001008800070080B50549002804D0002004 +:104D8000086003F05AFA80BD0120086080BD805A97 +:104D90000100FEB5051C8035041CA8682979066849 +:104DA000201CA03002293C00B4FF00001CD169790E +:104DB000082901D00C2917D101216162A96809686D +:104DC000098B0182A9690191008AC00605D5606836 +:104DD0000088400501D4012000E000200290052059 +:104DE00001A902F0B7F902E03C00F0FF0000002149 +:104DF00061620182A9681A230A89676A181C002F58 +:104E000000D11820101A0881A8680168626A002A77 +:104E100000D11823C9180160A86841C43088083C33 +:104E2000400403D5201CF7F7BCF93C002C0001001E +:104E3000FEBD0021E1613079C00703D4201CF7F7E3 +:104E400091FEF5E7201CF7F743FFF1E7F7B5051CE6 +:104E50000A30061CF5F7A4FA144F041C3988F2F73F +:104E600083FE328878680280728802303C006800D5 +:104E700001000280B18841806988029A201CFAF7FB +:104E8000CEFE0B4D08356880FBF72BFE0121090390 +:104E90000028288801D0884300E00843288004487F +:104EA000002200211430F2F732FE201CFCF73C00F7 +:104EB000A400010085FAFEBD247B010010B5134C4F +:104EC0001149201CFF3069300EC90EC0201CFF3074 +:104ED000242275300E49F0F717FA201CFF303C22CF +:104EE00099300C49F0F76CFA201CFF301022D530B5 +:104EF0003C00E00001000949F0F709FA201CFF30EE +:104F00002822E5300749F0F75EFA10BD0000008066 +:104F10000700406301000C8007003080070080809C +:104F20000700A0800700B0B500283FD021484168A5 +:104F3000214C3C001C0101006160C168E160016915 +:104F40002161806AA0621E491C48096814384164C6 +:104F50001C48251C3C350FC80FC5201C80224C3036 +:104F60001949F0F733FA1422201CCC301749F0F716 +:104F70002DFA38223C0058010100201CE030154970 +:104F8000F0F727FA201CFF30502219301349F0F7B0 +:104F900020FA83208000142220181049F0F719FA13 +:104FA00011204001842220180E49F0F712FAFFF771 +:104FB0008EFFF8F794FB3C0094010100B0BDFFF7B1 +:104FC00089FFB0BD00100700406301000820070002 +:104FD0004020070000300700004007000050070095 +:104FE0000060070010000700009007000C4980B522 +:104FF000012048600A4814383C00D00101000078C4 +:10500000012804D008489438406F002803D00020BD +:1050100000F01FF880BD08680028FBD00348F2F7B5 +:105020007AFE80BD000098660100FFFF000080B599 +:10503000002809D1F2210F2003F03C000C020100EE +:1050400013FA00220F21F12003F0CCFA80BD0120D9 +:10505000F8F76AFE80BD000010B5041C032000F0C4 +:10506000C9F900210F2003F0FFF9FFF765F80B499C +:1050700000204874FBF7E6FA094800683C00480243 +:105080000100002803DC02214042FFF752FC0448E3 +:1050900014300068002802D0201CF2F742FE10BD38 +:1050A000000084660100D47E0100064980B50978BD +:1050B000042905D0052903D0062901D007293C0081 +:1050C0008402010001D1FEF7BDFD80BD74660100C0 +:1050D00010B5094CE06800280BD107482C38008A2D +:1050E000C00704D5002101206268F9F7C9FA012040 +:1050F000E060012010BD0000F46E01008CB5021CC0 +:105100003C00C0020100081C111CFDF728FF0190A3 +:10511000002805D0172000AB18806846FDF7FFF87F +:105120008CBDF1B52E4CAEB0002525632069012859 +:1051300003D101A801F0A1F84EE00126284F267006 +:10514000503F3C00FC020100B869F8F74FF82549D0 +:105150002C3900281DD0E06A01281AD1088A0F1CBA +:10516000800704D5002102206268F9F78FFA388A97 +:10517000000707D5E068012804D1002108206268F3 +:10518000F9F784FA3C00380301000022182182203C +:10519000266303F036FA25E0088A0E1C800704D542 +:1051A000002102206268F9F774FA308A000707D5F7 +:1051B000E068012804D1002108206268F9F769FA43 +:1051C000308A400704D53C0074030100002200210E +:1051D0000420F9F761FA2E98012804D01E950921C0 +:1051E0001BA8FFF797FFE562BD61E5602FB0F0BD3A +:1051F000F46E010080B50720FEF7A0FE00210F200D +:1052000003F044F90C4801783C00B0030100002988 +:105210000FD00221017088380078002804D0074997 +:105220001031487C01304874F2220F20054903F008 +:10523000FCF800220F21F32003F0E9F980BD746629 +:10524000010080841E0010B5041C3C00EC0301002A +:10525000F2210F2003F020F9012C0AD10848084957 +:1052600000681439002805D0C878022802D1F7F761 +:10527000AFFA10BD002048700520FEF765FE10BD96 +:1052800098660100F8B5284E3021351C3C002804F2 +:10529000010060352889895D884203D10020FFF72D +:1052A000F6FEF8BD341C70340121217041188019BC +:1052B0003030298140781D4F183F3870002808D0C1 +:1052C0000021FBF7C2F9002807D12078FFF73C0046 +:1052D000640401009BFFE7E701210F20F0F71AFFAC +:1052E00014480121803081703869FBF755FA20732A +:1052F00000210F2003F0D6F8707A01280ED10E4855 +:105300000068002804D0387802F0DAFA002805D0C6 +:105310003C00A0040100307F60730320207071897D +:1053200005E005202070A888FAF73BFB011C00224D +:105330000F2003F086F8BAE7000004660100E4627B +:10534000010070B5041C02F06CFC364B191CA03136 +:105350000A783C00DC040100102A02D20A79102AE3 +:1053600001D3012500E00025304ECA798036012C9A +:1053700012D00025022C2ED0042C3CD15C6B002CCA +:1053800039D19C6F001B2A4CA04234D9B268986A6C +:10539000824231D03C00180501004D7234E0B06803 +:1053A0009C6A0222A04221D1586B00281ED1002DF8 +:1053B0001CD1487A192820D03468986F6400001BEB +:1053C00074680019FF301C4C3930A04216D248795D +:1053D0008C79001930283C005405010011D31022AB +:1053E0000FE05C6B012C06D1B0689A6A904200D144 +:1053F0004D72002205E09C6F001B124CA04200D3AE +:10540000202206E04A7A192A01D201324A72202269 +:10541000B06030689B6F98423C009005010004D159 +:10542000002A00D148794A7106E0102A04D370603E +:10543000336048798871F6E7CA7170BD0000A46CCA +:105440000100A304000071020000350C00000548B3 +:1054500080B5817B002905D000213C00CC050100EE +:10546000817303490F2001F00FFF80BD74660100B6 +:10547000E9030100F8B5041C02F0E2FB051C384EFC +:10548000201C3749341CA0341022443901282CD068 +:1054900004284ED1371C743609CE26783C00080605 +:1054A0000100C01A202E04D1304EB04201D900268E +:1054B0004E613E1C3F6C002F48D1776C002F45D1C8 +:1054C000B76A002F3DD0776B002F3AD0274FB842F4 +:1054D00037D26078102806D3F06F181A244B3C009E +:1054E00044060100984201D2E270F5664869062838 +:1054F0002FD201302CE02078202801D106234B61E7 +:1055000002232371B36A002B19D04969032916D9E4 +:10551000716B736D594012D0E178102910D3617806 +:105520003C0080060100331C10290CD3D96F691A86 +:10553000134DA94207D2586C002802D0986C00285D +:1055400000D12271F8BD0228FCD12270FAE7486927 +:10555000002801D0013848610A49F06E401802F075 +:10556000B0FA3C00BC0601000028EED00120E0703B +:1055700006482818F066E8E7A46C0100E204000081 +:105580001A06000053070000002D3101005A620284 +:1055900080B541680979C90713D5C16900290DD0C3 +:1055A000897902293C00F80601000AD10821018608 +:1055B000011C38318162021C06480449F9F7FDFCE0 +:1055C00080BDF7F7DCFB80BDF7F723FB80BDB97129 +:1055D0000000A06A010010B50024002803D002F0EA +:1055E000E8FE002817D03C00340701000C4C0120D5 +:1055F000A0722068002141620A490268C9786032BD +:105600009171218901312181006840308183FBF74C +:1056100031FC20680068FCF7A1F90124201C10BDB2 +:10562000147A01000E6101003C00700701007FB593 +:10563000061C1E481D1C438802881C21002090B0B7 +:10564000F0F745FF03900468FF2101312180082015 +:1056500060800620207104206071C001002D00D1FF +:10566000081CE08001A80230311C3C00AC0701009E +:10567000051CFAF75FFA10496846FAF75BFA201C36 +:1056800008306946FAF756FA291C201C1230FAF73E +:1056900051FA10AB9888002201212083D8886083BA +:1056A0001889E081588920826846F9F73C00E807AC +:1056B000010017FF14B070BD0000146E01001261EC +:1056C0000100B0B5041C1848251C0078603580071F +:1056D000002808DAE879002805D0F4F770FF011CEB +:1056E000201C00F078F929882E20005DF2F73C009C +:1056F000240801009FFAE87900280BD1201C4030D3 +:10570000018B22691180418B22695180808B216934 +:10571000C88207E0012805D1206901220188D20250 +:10572000114301806A7AE0680249F2F753FAB0BD8A +:105730003C00600801001D750100D14F000090B5CC +:10574000041C38230C495843431885B000200A49EB +:105750000290181C012203910949049230304278CA +:1057600009880192009101785A6B0C33201CFBF7D9 +:105770007CF83C009C08010005B090BDD4E4010019 +:105780005D4E0000487B010090B585B0031C0020F1 +:1057900002900A49181C0022049260300391C279D9 +:1057A0000188019200915A6ADC682033997B407A23 +:1057B000231CFBF73C00D80801005DF805B090BD44 +:1057C00000000D4F0000074980B5886A002808D105 +:1057D00001208862F0F7AFFC011C03480022F2F7B9 +:1057E000B8FE80BD00007869010041E40000F0B51A +:1057F0009BB0002820D03C0014090100011C08A81F +:10580000FCF7B2FD01201190032010AD2872042096 +:10581000687205A800226946F4F700FF00240026FC +:1058200005A90020F9F7FCFA6946F9F7F9FA0B9097 +:1058300008A8FCF7BBFD01343C0050090100022C14 +:105840002E72F0DB1BB0F0BD000090B5041C4C23A1 +:105850000C495843431885B000200A4902900022A1 +:1058600004923C200391C25C084841880192412087 +:105870000091C15C5A680833201C3C008C0901006F +:10588000FBF702F805B090BD58E30100754F00002A +:105890003C7C0100F8B50E1C224C3821171C051C5D +:1058A000201CEFF775FD231C2533211C243110200B +:1058B0006A46F9F71DF800AB188807213C00C809B3 +:1058C00001001A4A02382084201C20308170C570E3 +:1058D000111C0673477334312163303262630179DE +:1058E000251C103521812060E5601888401A20832E +:1058F000201C28302061201CF9F711F80D483C00CD +:10590000040A01000068002807D00621201CF8F7CF +:1059100047FD1021281CF8F743FD084802210162C9 +:1059200044620121016206480068EFF7D5FCF8BD2A +:105930008C8E0100E4FE0100CC5C01000030070009 +:105940003C00400A01005C5B0100F0B5061C4036DB +:10595000318B041C251C0807800F6035012885B099 +:105960003BD0E879002805D120690180B08B2169FE +:10597000C88207E0012805D1206901220188D202EE +:1059800011433C007C0A0100018020480078800718 +:1059900026D5E879002823D0A06B00281CD0F4F786 +:1059A0002FFE002809D0B8210958002905D0302140 +:1059B000095DB4300818077A00E000270121381C7F +:1059C000FAF786F93C00B80A010004902069043017 +:1059D000391CF4F76CFD0499FAF7D3F902E0201CA6 +:1059E000F7F7F9FB7083708B216900224880094921 +:1059F0000A48049203910290EA7929880192009161 +:105A0000626AE36820343C00F40A0100A17B687AF2 +:105A1000FAF74CFF05B0F0BD1D750100D14F000035 +:105A2000DD2F0100FEB5041C261C012020360029B4 +:105A300002902ED05820005B0007800F012801D172 +:105A4000CC3100E0B43148683C00300B01000D1C43 +:105A5000002824D0201C6030C2790121012A00D006 +:105A60000021271C626D3037002A04D03A1C281C04 +:105A7000F6F7E7FD07E0427A231C683300923A1CF0 +:105A8000281CF6F79AFD029038783C006C0B010058 +:105A90004019007A0121B073FAF726F901E00020DD +:105AA000B0736062B07B0D2801D9F0F7BBFB0298A0 +:105AB000FEBD0000FFB5041C8030251C5E3500785B +:105AC000AE1DAF1F002883B012D1F4F73C00A80B25 +:105AD0000100C7FB002807D006980599029004989A +:105AE0000190A66167610DE00498069902900598FF +:105AF0000190666105E004A903C90290069801902F +:105B00006761A5610622381CEFF78BFC06223C007A +:105B1000E40B0100281C0299EFF786FC0622301CDA +:105B20000199EFF781FC07B0F0BD0000B0B50D1C86 +:105B3000041C052801D3F0F77BFB0249A00008589C +:105B40008560B0BD107B0100F8B5FFF759F9051C61 +:105B50003C00200C0100FEF7E8FF041C281CFFF7A6 +:105B600058F9002842D0691E214D4A00204B1C3DA7 +:105B7000AE5C985C3040D6180123F6565219D256C6 +:105B8000964201DD151C00E0351C184B2A3B595686 +:105B900051183C005C0C0100B14200DB311C0E1CB2 +:105BA000002826D0FEF7BEFF009000AB18781249FF +:105BB0000023C95600AB1522101A5B78001B401851 +:105BC000D21A121B51180022854202DB00AB1A7058 +:105BD00002E0401B3C00980C010000AB18708E42A4 +:105BE00002DB00AB5A7002E0881B00AB58700098D3 +:105BF000FFF78DF801F0FFF8F8BDE6780100657356 +:105C0000010070B5084E064D00240620604380193F +:105C10000622291CEFF73C00D40C010011FC0134D2 +:105C2000052CF5DB70BD00004E470100E67A01004F +:105C3000034880B501680348FEF742FB80BD0000C1 +:105C4000A8790100C4600100034880B501680348D9 +:105C5000FEF74AFB80BD00003C00100D0100A87952 +:105C60000100C460010010B500280AD0064CA169EB +:105C7000002901D1002000E00968F7F738FBA06196 +:105C800010BD002010BDA46E0100F3B5374883B0ED +:105C9000029080790E1C002701903C004C0D010001 +:105CA0003448354A016A039C031C1B69A14201D098 +:105CB000936100E0536131498A6896423FD02D4894 +:105CC0008E60C1680024251C00292D4809D0002EB3 +:105CD0000BD028480124C06A240300283C00880D0A +:105CE000010006D0012704E0002E01D0051CF9E7D1 +:105CF000041C002F06D0FBF71EFB1F48016822483A +:105D0000FEF7FBFA201C28430ED02A1C211C012080 +:105D100002F021FE2A1C211C022002F01CFE3C0085 +:105D2000C40D01002A1C211C032002F017FE002FC5 +:105D300006D1134801681648FEF7CEFAFAF742FD7D +:105D4000039C002C01D101F0E1FF01A903C9887176 +:105D500001F0DCFF0A4C0A4B443CA1692269083B74 +:105D60003C00000E0100411A002A03D01A685118A5 +:105D7000196002E05A6851185960A061266105B0A7 +:105D8000F0BD20100700A46C010010000700B05700 +:105D9000010000106000847301001CB54C23084909 +:105DA00058433C003C0E01004418201C4030417810 +:105DB0006268009101923F210B5D618F0078626CF7 +:105DC000FAF728F8A0851CBD58E30100B0B5164DC0 +:105DD000A969002925D02C1C3034207A002820D035 +:105DE000002381223C00780E0100182002F089FC7B +:105DF000207AFF300006000E207212D10C482821B4 +:105E00002C38095C2172297A002901D1006A00E04E +:105E1000406AA9698002814203D24900814201D2CD +:105E2000A961B0BDA8613C00B40E0100B0BD01F095 +:105E30001DF9B0BDF46E01007FB5051C04206B4652 +:105E40001B180290002628186A4602A9FCF78AFB54 +:105E5000002806D100AB1879042808D01879032847 +:105E600005D000AB187910213C00F00E010008436A +:105E700004B070BD03A9E868F6F7D3FF002805D089 +:105E80000398202108430006000EF1E703A9002033 +:105E9000F6F7C7FF041C01D10220E9E7E86800AB70 +:105EA0002060009860601879A0763C002C0F0100FB +:105EB000A88C6076E8692061688CA082288C2076A6 +:105EC00069690948814200D9081CA060201C02F0C1 +:105ED000A1FDA168002904D0039AA132082002F094 +:105EE00037FB301CC7E70000A08601003C00680FAC +:105EF0000100FEB5061C40780124062850D3C11EBF +:105F00000320EFF75EFB00900E2849D800200AE03E +:105F10004100091889194A798979511801390E29DE +:105F200000D90024013000998842F1DB002C3C00AC +:105F3000A40F010037D00322B11C1B48EFF7A4FACD +:105F40001A4C1C21201CEFF74DFA002528E06900AF +:105F5000491902918A1953791548435493790F18B6 +:105F60007B70D379BB700723D2560192445C0FE05B +:105F70003C00E00F0100201CFEF77BFF002807D04B +:105F80000C4A600080180121103881730199C17397 +:105F900001342406240E07480299405C79784018A1 +:105FA000A042E8D8013500988542D3DBFEBDE86207 +:105FB00001003C001C100100E6780100EB620100CA +:105FC00001680F2901DD0F2101600168002901DA54 +:105FD0000021016070470000F8B5041C1E48221D16 +:105FE00005680092161C231C0F1CCC332A1C201C95 +:105FF0007030A16D3C005810010000F03EF9009691 +:10600000A16D27200140231CE433201C2A1C5C3096 +:1060100000F033F9134800780E2801D2012585409D +:106020001148A1690078294000070BD4480703D51F +:10603000080701D504203C00941001008143880624 +:1060400003D5480601D520208143231CB4332A1CE4 +:10605000201C3030009600F013F9391C201CF0F79A +:1060600047FCF8BD2C7D0100106701001D75010083 +:10607000B0B5F2F727FCFEF73C00D010010009F99B +:106080000F48002545700E480D4C00885B34A082F7 +:10609000F9F723FD2061A08A002804D00121890599 +:1060A000EFF70DFBE18205480138456001F055FE30 +:1060B000021C231C00210020F4F73C000C110100FD +:1060C00049FDB0BD457D0100F467010070B5161CA7 +:1060D0005A89041C04989207920F00250029A27186 +:1060E00009D00521F9F724FB002801D0C07800E091 +:1060F0000120E07100E0E571E560A6603C00481118 +:10610000010070BD0000FEB5051C0E229C30164932 +:10611000EFF7CFF9291C281C8030883100242F1C70 +:106120006037029101902006000E061CF9F70DFE63 +:10613000002803D001984268029901E0EA6D3C0012 +:1061400084110100391C002A0DD0002003E00B5CF3 +:10615000B34202D801309042F9DB08181038C07BF6 +:1061600029199031087301340E2CDFD3FEBD0000D5 +:10617000CC470100FFB581B0141C101C06220D1C79 +:106180003C00C0110100191C0B9E0A9FEFF797F904 +:106190000622391CA018EFF792F9E6602C60102057 +:1061A00028816E600198E86005B0F0BD000070B510 +:1061B000041C002020615820005D0E1C151CC00727 +:1061C000C0173C00FC1101000130E061216B002987 +:1061D00036D11E490968294332D0A168898A00292D +:1061E0002ED000280BD0201C583000F0F3FD0028E2 +:1061F0001BD0816A026A406A0978007806E0144A76 +:106200003C2311783C0038120100507843439A181F +:106210000432002D03D1022901D0032902D16D21BE +:1062200022610855206900280DD08188002901D1FC +:10623000012070BD8079022805D1221C074907483A +:10624000F8F74BFF02E03C0074120100201CEFF74E +:10625000B5F8002070BD00002861010068610100F0 +:10626000A1DA0000A06A010010B500210020F9F7B2 +:1062700039FEC400F9F754FE2418F9F747FE08491F +:1062800020180988084C40183C00B012010006494B +:10629000098840186061F9F746FE054909884018E9 +:1062A0004000A06110BD0261010004610100D479C9 +:1062B0000100A66901001140081C10B51C1C191C26 +:1062C00008311860F1F731FE60603C00EC1201000B +:1062D00010BD0000F8B5061C22480F1C4168914211 +:1062E00003D000218160C1604260C46815E02820AD +:1062F0001D4960434018051C0622311CEFF770F859 +:10630000002807D1A81D391CF9F710FD3C002813FF +:106310000100002801D00120F8BD01342407240F1A +:10632000124880688442E5D1104C2823A0680F4DA4 +:10633000584340190622311CEFF7D3F8A0682823F0 +:106340005843401906302222391CEFF7CAF83C00A6 +:1063500064130100A06801300007000FA060E1682D +:10636000814203D101310807000FE0600020D6E729 +:10637000EC650100A0F4010010B50021032000F03D +:10638000E5FF054CA068002804D101F007FD616815 +:106390003C00A0130100401A606010BD0000D060F6 +:1063A000010002680A6001607047011C0068002853 +:1063B00001D002680A6070470000FEB5141C1D1C65 +:1063C0000022D24301ABF3F782FF01980026284058 +:1063D00001903C00DC1301000025002720601EE036 +:1063E0000121B9400A1C024018D0884301903906A7 +:1063F000090E7019001902910177081CF9F7C6FC03 +:10640000002806D0301C0019013602993030017086 +:1064100004E0281C3C001814010001350299001901 +:106420000172013701980028DDD17019A061656003 +:10643000E662FEBD0000B0B5144D041C287A0128A8 +:1064400002D10420F6F7ADF9211CA86AF5F721FC6A +:10645000002803D104203C0054140100F6F7A4F9ED +:10646000B0BD02202870288C002800D06081688C84 +:10647000002800D0A081A88C002800D0E081E86925 +:1064800001230204120C201C0249FCF719FFB0BDC5 +:10649000F46E0100A17700003C0090140100F8B5F3 +:1064A000194E051CB069002800D13068FFF73BFC8D +:1064B000154F041C503700280BD06068291C7860E9 +:1064C00001203863201CF5F7EAFB002804D10020E6 +:1064D000F8BD0023FB62FAE700233C00CC14010066 +:1064E0002377F86A002801D10120F862387A012860 +:1064F00007D0F86906490204120C281CFCF7E6FED6 +:1065000001E0FB62B3610120E5E70000A46E010039 +:10651000DD02010070B50D1C041C161C3C000815A2 +:106520000100042C1BD21048834207D258000F49A7 +:10653000EFF7FBF8FF30000A013800E000201F35BC +:10654000EA066107090ED20E11437207520D11437C +:106550000006000A0843064AA100505070BD3C00E6 +:106560004415010001218D20EFF7ACFE70BD000045 +:10657000409C000000803801E8600100094A80006A +:106580001058400940010722024307480368002BC6 +:10659000FCDB42600906016001680029FCDB082081 +:1065A0003C008015010070470000E86001003020C9 +:1065B0000700B0B5041C0D1C0749A00008580028AE +:1065C00003D102218D20EFF780FE291C201CF6F755 +:1065D000A8FAB0BD0000E8600100B0B5041C0D1CB5 +:1065E00007493C00BC150100A0000858002803D151 +:1065F00002218D20EFF76CFE291C201CFFF7C4FF41 +:10660000B0BD0000E8600100F8B50D1C161CF7F7DE +:1066100017F9041C2868404F817800293BD1C178C4 +:10662000002958D13C00F8150100F8F7F8F9228E3E +:10663000618E8A4204D0A16A0918E069814210D9AA +:106640003849321C486B01304863206A01302062AF +:10665000386801303860E0686369291CEEF7D8FEBD +:10666000F8BD013212043C0034160100120C2286DF +:10667000A162B868002834D12C480C2300681B1A8A +:106680009A4207D219239B01AF2292015843101A54 +:10669000814226D30120B86001210C2000F07AFE4F +:1066A0001FE001291DD1C0783C0070160100172899 +:1066B0001AD1A08EE18E884214D3E968096809795D +:1066C00009060FD5606A321C01306062E0686369B8 +:1066D000291CEEF7A3FEE868016808310B2000F0E2 +:1066E0005CFEC3E70130A086A08D3C00AC16010023 +:1066F000E18D884204D103210220EFF7F5FDB8E7D0 +:1067000060684560866000686060F8680130F86025 +:10671000A08D411CA1850028ABD10848B969FDF7BF +:1067200061FE221C0221F12002F064F83C00E81610 +:106730000100A1E70000FC5A0100905C010018571D +:106740000100C460010080B5021C0221F02002F0AB +:1067500054F880BD0000002803D102484178C907E1 +:10676000FCD5704700000400070080B500063C001F +:106770002417010001D1F1F771FE80BD80B5F4F757 +:10678000E5FA80BD80B5F6F7EBF880BD0149002041 +:10679000087470477869010080B5C00703D50249C5 +:1067A000012000F01DFC80BD50C300000006000E5B +:1067B0003C0060170100012880B502D1F6F7E1F92D +:1067C00080BD0028FCD1F1F74CFE80BD000080B5F3 +:1067D000F6F7D7F980BD034980B500200874F6F7B5 +:1067E000FEF980BD00007869010080B50006000E4A +:1067F000F1F73C009C17010071FE80BD10B5012827 +:1068000008D0022803D0032801D0EFF7A7FDF6F740 +:10681000E9F910BD01F0F8FA041CFAF75DFD241A3D +:10682000FAF73EFD084900280BD0486A002808D036 +:10683000064884423C00D817010005D2011B012202 +:10684000072001F0F4FEE5E700204861E2E77869FF +:10685000010050C30000094980B5486900280CD0E8 +:10686000086ACA69801A002807DD002048610121F2 +:10687000072001F010FF3C0014180100F6F7B8F9EA +:1068800080BD00007869010080B500F0E7FB80BDA5 +:1068900080B500F03FFC0020F7F7D4FC80BD00007D +:1068A00080B500F037FCFDF76FFCF5F773FD30F0B5 +:1068B00047FB80BD044880B53C0050180100C16A08 +:1068C000006BF2F7DEFF0120F7F789F880BDA46CBA +:1068D000010010B5F3F741F80D4C002804D0012059 +:1068E000E064F7F7B2FC10BD01210120F3F7E9F8ED +:1068F000FDF74DFC606D002803D03C008C180100B2 +:10690000F3F782F8002801D0F5F74AFD0120F2F7ED +:10691000C1FC10BDA46C0100044880B5C16A006BC5 +:10692000F2F7B2FF0120F7F75DF880BDA46C01001B +:1069300080B500F0F5FBF5F733FDFCF73C00C81817 +:10694000010031FDF9F7CBFF0420F2F7A6FC80BD72 +:106950000000034880B5C16A006BF2F798FF80BD64 +:106960000000A46C010080B500F0DDFB0020F7F70B +:106970003CF830F0EEFA80BD000080B500213C000C +:10698000041901000120FFF719FA0120F2F788FC31 +:1069900080BD000080B500F0C9FBFCF707FD0121B8 +:1069A0000120FFF70BFA0420F2F77AFC80BD00000B +:1069B00080B500220021002000F08AFB80BD00008D +:1069C0003C0040190100034880B5826A012104207F +:1069D00000F081FB80BDD479010080B50022002148 +:1069E000032000F078FB80BD0000034880B5826A78 +:1069F0000121042000F06FFB80BDD479010080B537 +:106A000000223C007C1901000021032000F066FBFD +:106A100080BD0000064880B5816842690069511850 +:106A2000814203D90121012000F058FB80BD000004 +:106A3000D4790100064880B58288816800695118C0 +:106A4000814203D93C00B81901000121022000F065 +:106A500048FB80BD0000D479010010B5084C207BB4 +:106A6000216AF9F79CFAA1694218A0682169801887 +:106A7000884203D90121022000F033FB10BDD479F4 +:106A8000010080B500223C00F41901000021002023 +:106A900000F02AFB80BD00000006000E012880B532 +:106AA00002D1F6F78FF880BD0028FCD1F1F7FAFC8F +:106AB00080BD000080B5F6F785F880BD80B5000682 +:106AC000000EF1F729FD80BD3C00301A0100B0B581 +:106AD00002250228104C0BD1FBF747FC002801D1FE +:106AE000FEF74FFF2570A1680C48FDF7A8FCB0BD6C +:106AF00003280DD108487D231C380069DB0058436A +:106B0000191C40184108022000F03C006C1A0100DA +:106B100091FA2570B0BDF8F731F9B0BD7869010080 +:106B20003463010010B5054CE068002801D1EFF78F +:106B300039FC0220207000F0AFFA10BD7869010026 +:106B4000034880B5826A0121042000F03C00A81AA5 +:106B50000100D3FA80BDD479010080B50022002164 +:106B6000032000F0CAFA80BD000080B50022002199 +:106B7000002000F0C2FA80BD0000034880B54269E1 +:106B80000121012000F0B9FA80BDD47901003C0058 +:106B9000E41A0100064880B58288002A02D001214B +:106BA000022002E000220021002000F0A9FA80BDAE +:106BB000D479010010B5064C207B216AF9F7FEF963 +:106BC000A16942180121022000F09AFA10BD0000CC +:106BD0003C00201B0100D479010080B50022002177 +:106BE000002000F090FA80BD000038B5FAF741FEB1 +:106BF0000020F0F780F8009000AB1C885D88F8F763 +:106C00003CF9002C02D0FDF79EFA02E00120F6F7D5 +:106C10000AFF3C005C1B0100291C201CFCF7B8FC8F +:106C2000002C02D0F5F7E0FB02E0002000F0DCF9D8 +:106C30000320002C00D102200006000EF2F74EFBCC +:106C400038BD0000034880B5826A0121042000F0AD +:106C50005DFA80BD3C00981B0100D479010080B52D +:106C600030F09BF980BD80B500220021032000F0A8 +:106C700050FA80BD0000034880B54269012101201F +:106C800000F047FA80BDD4790100044880B58288BD +:106C9000002A03D001213C00D41B0100022000F097 +:106CA0003BFA80BDD479010010B5064C207B216AE7 +:106CB000F9F790F9A16942180121022000F02CFA9D +:106CC00010BD0000D479010080B5FCF793FB0121D1 +:106CD0000120FFF797F804203C00101C0100F2F798 +:106CE00006FB80BD000080B52FF06BFB00280AD0AA +:106CF0000120F2F7FCFAFAF72AFC002802D104205E +:106D0000F6F75DF880BD03211620EFF732FB80BD5A +:106D10000000024880B50068EEF73C004C1C010002 +:106D2000C5FB80BDD4790100034880B542690121CB +:106D3000012000F0F7F980BDD479010080B530F072 +:106D400035F980BDB0B5184CAA20005D042819D1D2 +:106D50000125E562256301F093F8A0663C00881CDC +:106D6000010001F0FCFDF2F72EFE00280ED00220FB +:106D7000F2F7C3FAA56001F086F864306060FAF7B4 +:106D80008AFD01210120FFF746F8B0BD0120F2F78E +:106D9000B4FA0020A06000210120FFF73CF83C007D +:106DA000C41C0100F2F766FE0028F1D0FAF776FD68 +:106DB000B0BD0000A46C010080B50020EFF7D6FE46 +:106DC00080BD000080B50120EFF7D0FE80BD00003F +:106DD000AC21095C024A09028918C0318160704700 +:106DE0003C00001D01007075010080B5012804D130 +:106DF00003C90968EEF764FB80BD01211420EFF799 +:106E0000C4FA80BD0000002802D1024840687047E3 +:106E10004068704700005875010010B50024F8F76D +:106E20001CFB3C003C1D0100002804D04030807A4F +:106E3000052800D10124201C10BD000004480021B9 +:106E4000406801E0016340680028FBD17047000002 +:106E500058750100B0B5041C0D1CF7F7A5F84034B7 +:106E6000E572B0BD3C00781D0100F8B5071CF8F7CD +:106E7000FAFA041C04D005211420EFF78CFA28E05C +:106E80000025144928024618301C443006221249B5 +:106E9000EEF72DFB002802D1AC208555341C0135BE +:106EA000032DEED3002C3C00B41D010014D0391C7E +:106EB000201CF8F72BF80949002020601839486891 +:106EC0006060002800D004604C60CA68002A03D0CB +:106ED0000121201CEEF7FEFA201CF8BD70750100A0 +:106EE0005846010080B5F8F73C00F01D0100C1FADA +:106EF000002804D106211420EFF753FA80BDF5F7DE +:106F000016FC80BD000080B5F8F7B3FA80BD10B55F +:106F1000094C2188022903D11420EFF742FA04E03A +:106F2000A3688A009850481C20803C002C1E010059 +:106F3000208801380004000C10BD000058750100C5 +:106F40000B1C111C084A80B51288904206D2DA68E0 +:106F5000C0001218142001F0BBFB80BD03211420D7 +:106F6000EFF722FA80BD0000587501003C00681E52 +:106F70000100084A80B51288904206D2C968C00054 +:106F80000918142001F0DBFB80BD04211420EFF769 +:106F90000EFA80BD0000587501000149C8607047B5 +:106FA00000005875010080B506224430EEF73C0021 +:106FB000A41E0100ABFA002801D1012080BD0020F1 +:106FC00080BD00001CB5144C2069002823D0207817 +:106FD0000A2801D000F0FCF8002060610F484079D9 +:106FE000A070002801D0012815D1FDF7EDFE019019 +:106FF0003C00E01E0100FDF782FE009000AB187916 +:107000001978401A187158795978401A58710198AE +:10701000F2F789FE0520207000F0BFF91CBD7C78D6 +:1070200001000C5A010008B5044A009014320020F7 +:10703000024B3C001C1F01000249F1F77DF908BD1D +:107040002C750100B1A80000B0B5002806D00128B9 +:1070500006D0022807D10C4C012507E00B4C04E0B8 +:107060000A4C2A3C01E0084CB634002500F02CFF05 +:107070000749896E3C00581F01000919091AA142ED +:1070800000D900212A1C162001F031FBB0BD71028D +:1070900000000C050000A46C01008CB500AB8E2133 +:1070A0001980FCF738F901906846FBF7A6FA8CBD09 +:1070B0000000BFB5134A3C00941F010001910D1C54 +:1070C000117C8843041C2143081C1074A0070BD5B5 +:1070D0000E4800900120029000F0FCFE0C49401880 +:1070E00003906846F9F76AFFE0070CD5F1F72CFD2D +:1070F000002803D0074885423C00D01F010000D281 +:107100000190064800906846F9F709FFBFBD78690D +:10711000010081EA000010270000A086010075EA46 +:10712000000010B50A4C606900280ED10120606192 +:10713000A1680748FDF7CBF900213C000C200100B5 +:10714000A068F9F7D1FB01220720044901F0D8FA21 +:1071500010BD00007869010034630100983A000016 +:1071600010B50C1C111C064A002B107003D000280F +:1071700002D1F9F7F5FD10BD201CF9F73C004820BD +:10718000010001FE10BDA0790100B0B50A4C051C3C +:10719000E36A201F0133E3620088002906D0A1685A +:1071A00089182161054A00F0FCFE01E000F0CFFEE5 +:1071B0002577B0BD0000D479010055E300003C0004 +:1071C00084200100011C034880B54088FFF7ECFED5 +:1071D00080BD0000987C0100034880B5C168183864 +:1071E0008088FFF7E1FE80BD707C010080B5002142 +:1071F000162001F0BFFA0121162001F0BBFA80BD74 +:107200003C00C020010010B50B4C20780A2810D09B +:10721000012060610A21132001F0AFFA0A2060709A +:107220002070FDF73CFB0120FDF7E9FB0020FAF799 +:10723000C4F910BD00007C78010010B50C4C002092 +:107240000B493C00FC2001002063E062503988615A +:107250002070084838210C38007A08558121182000 +:1072600001F08EFA2069012802D10020F5F73EFBDB +:1072700010BD0000F46E0100B0B51C4C00252C229E +:10728000011D201C3C00382101009AB0EEF739FAAC +:1072900018492C31081C007A8A69002A13D1022867 +:1072A00003D1A068002820D004E000281DD1606828 +:1072B00000281AD0800288610E4869462438006888 +:1072C000EFF7CBFB11E03C00742101000022022803 +:1072D00003D1A068002809D104E0002808D1606823 +:1072E000002803D18A61FFF7B1FF01E080028861C5 +:1072F000281C1AB0B0BD0000C86E0100F8B50C49DA +:10730000022048600B4900053C00B02101000860E4 +:107310000B4FB868F9687C68451A2E1C04E0A06819 +:107320006168EEF709F92468013DF8D27C60F868DD +:107330008019F860F8BD402007000010070044E302 +:107340000100F8B51F4E041C30693C00EC2101001F +:107350000121F9F799FA1D49600040181038817B26 +:107360001B4A5172C07B10741A4F1B4D0E2C0AD150 +:1073700001220221082001F0F3FB0320FF2141310B +:107380003986142108E00222012108203C0028222D +:10739000010001F0E8FB1249022039861021A97191 +:1073A000E8711048114A00191038C07B002803D03A +:1073B00001215173107301E0002050730021201C43 +:1073C000FDF7E5FD3069F9F708FBF8BD00003C006A +:1073D00064220100407C0100764601000C80070019 +:1073E0003080070000800700FF0100005C570100AB +:1073F000D080070010B5154C144A217800201832AF +:1074000005291DD006291BD0072901D0082906D13E +:107410003C00A022010091680520102900DB062015 +:1074200020700120A178002861700BD00020FAF7AD +:10743000DCF800216078F4F73CFA0A221E211320C0 +:1074400001F07FF910BDD16907201029E8DB082081 +:10745000E6E73C00DC2201007C780100B0B50D1CA1 +:10746000011C041C44310020F6F740FA3034002D92 +:1074700007D00EC80EC408C8103808C4F4F7C4F901 +:10748000B0BD1ECC1EC0B0BDF8B5081C111CF4F771 +:1074900087FA084C3C00182301000025084E084FCD +:1074A00006E0306B002803D035632068EEF755F80E +:1074B00038680028F5D0F8BD00005C5B0100E4FEF0 +:1074C0000100845A010080B50006000E00F007F8A4 +:1074D00080BD80B50A1C3C0054230100232101F02B +:1074E0002BFA80BDB0B50D1C041C122803D301215A +:1074F0002320EEF79BFF0649A000085804E012C8BD +:10750000281CEEF72EF8201C0028F8D1B0BD000092 +:10751000685B0100F8B50E1C3C00902301000025BB +:10752000041C122803D301212320EEF782FF134805 +:10753000A700C45908E02068B04203D103212320EA +:10754000EEF777FF251C6468002CF4D10C4A043A4E +:107550001068002801D0416811603C00CC23010074 +:10756000002804D102212320EEF766FFF8BD002198 +:1075700041600660002D01D06860F7E70149C851FD +:10758000F4E70000685B010070B50E1C051C0024C8 +:10759000122803D301212320EEF74EFF3C000824DC +:1075A00001000D4BAA00985804E00168B14204D0D4 +:1075B000041C40680028F8D170BD0028FCD0002CC5 +:1075C000416801D1995000E061600021034A0160E7 +:1075D000043A11684160106070BD685B01003C00B6 +:1075E00044240100F3B581B0002817D00178FF29A9 +:1075F00014D04578441902348027013C2678013D97 +:10760000BE43301CF8F782FC012181400298014002 +:1076100002D03E43301C2070002DEED1FEBD000094 +:107620003C0080240100104B10B55968411A0F2905 +:107630000DDC0E22D243914209DB1A1C926800290C +:1076400001DD002A03DA00290DDA002A0BDC0433FD +:1076500003C3FDF710FD041CFDF713FD002802D045 +:10766000201C3C00BC240100FFF792FE10BD00006E +:1076700018630100F8B5644C071C6078A178884253 +:107680000FD1081CFDF7CEF8E060042060700A22DC +:107690001E21132001F070F800216078F4F724F91E +:1076A000F8BD04283C00F82401006ED1584EFDF7C7 +:1076B000BCF800907178041C0020052921D201A398 +:1076C0005B5C5B009F440B0F141A02005148514948 +:1076D000604341187D20C000EEF787F811E0872055 +:1076E00060434D4902E03C003425010045204D49EE +:1076F0006043401808E04C48CD2109016043401A1E +:1077000002E0462060438238060648480721007997 +:107710003616081A001900906846FEF75FFD381CFF +:10772000FDF72EFB0099424A3C00702501004900FC +:10773000515A48433949041C8878002801D001284F +:107740001ED13549002803D13A480578042002E0CB +:10775000384845780C203049C968491B0818009002 +:107760006846FEF73EFD009833493C00AC25010019 +:1077700040002031085A2A494443C868A84201D928 +:10778000012500E000252E4821184000EEF7A2F860 +:10779000041C002D03D0FDF7C3FA02E03DE0FDF725 +:1077A000F3FA002F02D125480E3801E03C00E8250D +:1077B000010023480A380168611ACB1C01DB032948 +:1077C00000DD04600168A14201D2013104E0A14260 +:1077D00003D9002901D0013901600168381CFDF787 +:1077E000C0FB104C0A2060700A221320A1683C00E4 +:1077F0002426010000F0D2FF606800F0F7FA0028AC +:1078000000D15FE700F0BAFB1149002340180E4990 +:1078100060601E39C856B042F3D00E70311C002093 +:10782000FFF784FE4EE7FFF715FE4BE77C7801007B +:107830003C006026010060D7FFFF608F0100540B01 +:107840000000C90900008EFEFFFF0C5A0100125A09 +:10785000010020A1070040420F0030B50C4BFE2470 +:107860001B880440C0075D076D0FDB08C00F9C42FA +:107870000BD83C009C260100A218043A9A4207D378 +:107880001A1B895C0122AA40114001D00221084341 +:1078900030BD0000FA60010080B5002803D0011C53 +:1078A0001420F5F7FFFA80BDB0B5041CF7F708FD0A +:1078B000134D00283C00D82601001DD1A00716D585 +:1078C00002208443114801222A624068002813D014 +:1078D000F2F751F900280FD10B48E430807A0128E3 +:1078E00000D00022111C0120F2F7A5F904E000F0FD +:1078F0004EFBE861F2F73C00142701006BF9A96A1E +:10790000002902D0201CEDF75CFEB0BD606C0100C8 +:10791000B05701002048B0B58168012904D1007832 +:10792000002801D1FDF772FD1B4D803D2C1C7034E9 +:1079300020780338052818D23C005027010001A305 +:107940001B5C5B009F44041527272700FBF7F1FF12 +:10795000607B011CFF3161730028F7D10420207087 +:10796000A889F8F7DAF9011C00220F2000F025FFA2 +:10797000B0BDEFF7CEFF6A21495B3C008C270100C8 +:1079800088420BD0E889F8F7CBF9011C00230022CC +:107990000F2000F0F7FF07202070B0BDFDF73AFE82 +:1079A000B0BD000084660100F0B585B0041C038002 +:1079B000180C60800D1C5178107809023C00C82713 +:1079C00001004840A080D178907809024840E080CA +:1079D0005179107909024840208168461A491422D9 +:1079E000EDF7E3FE00230020D907C90F8C464200C3 +:1079F0005607760F6146891949006E5C49193C00AB +:107A00000428010049786F4609024E4081007958E8 +:107A10000F4F4900615A01304E403106360A760058 +:107A2000C90D795AF61901277F02F6193688714077 +:107A3000A65A8919A1520528DCDB2089C018013318 +:107A40003C0040280100082B2081D2DB05B0F0BDAE +:107A50000000D8560100D8520100F0B5051C0C1CDE +:107A60001E1C002089B04100535A013006AF7B52E2 +:107A70000528F8DB108900AB3A498019588468461C +:107A800018223C007C280100EDF798FE0020410000 +:107A90000A195278635C6F46120253408200BA584A +:107AA00006AF5200BA5A314F013053401A061B0A32 +:107AB0005B00D20DBA5ADB1901277F02DB191B8844 +:107AC0005A4006AB3C00B82801005B5AD21806ABFE +:107AD0005A520628DEDB617B207B00AB090248405E +:107AE000598C48404108C0034840198B40181883FE +:107AF000E17BA07B09024840198B48404108C00344 +:107B00004840598B40183C00F4280100588302205B +:107B1000410006AA8A18203AD28B01305308D203BA +:107B20005A4006AB5B5AD21806AB5A520628EFDB16 +:107B3000300A28707004400E202108436870AE702F +:107B40006178207800AB09023C00302901004840F0 +:107B5000598C4840C005000EE8700020410006AA7C +:107B6000535A4A190130137106AB595A090A517117 +:107B70000628F3DB09B0F0BD0000EC560100D85236 +:107B80000100F0B54668051C60303C006C2901001E +:107B900085B0049060E068680C2107690020EEF76A +:107BA0002DFE7061018904390904090C0181706995 +:107BB000006840180421EEF721FEF0617069202171 +:107BC000046804980422407B800108433C00A829F3 +:107BD0000100E07028694089A07028694089000A86 +:107BE000207029690C31A018EDF79BFD2078202129 +:107BF0004006400E0843607028690A300188013150 +:107C00000904090C018004D128690C3001683C008A +:107C1000E4290100013101603562617920790902AE +:107C20004018A17909044018E17909064318009326 +:107C3000A0782178090240180404240C1020EEF7E3 +:107C400013FFB06128693A1C0168009B01A80A3241 +:107C50003C00202A0100FFF7C8FE2869231C0168A8 +:107C6000B06901AAFFF711FF3668002E9CD10349C5 +:107C700004486A68F7F763FB05B0F0BD0000FD6BD0 +:107C80000000A06A0100013807494000095C002992 +:107C900006D03C005C2A010004491C39085C00281D +:107CA00001D001207047002070470000E6780100F5 +:107CB000FEB5051C002002901348171C00680C1C20 +:107CC0008678301CFDF728FA002801D10298FEBD05 +:107CD000002D08D13C00982A0100206800AB1871E3 +:107CE00060685871A068987103203880291C301C86 +:107CF00001AA00F00EF8002DECD000AB197921603C +:107D0000597961609979A1600C213980E2E7F86BBB +:107D10000100F8B5151C3C00D42A0100421E0138B0 +:107D200047003F181F483E18002906D001240322AF +:107D3000311C281CEDF704FD32E06878012400288E +:107D400005D02978081801380E2800D90024002C05 +:107D500026D0002A07D12A213C00102B010012480E +:107D6000EDF79FFC1C211148EDF79BFC0F48032207 +:107D7000291C301CEDF7E7FC0C487178C05DB27827 +:107D800000290ED0002A0CD001224318084D06E02D +:107D90004100491910398A73B7783C004C2B010017 +:107DA0000130CF738342F6D8FEF760F8201CF8BD8F +:107DB000EB620100CA78010070B5051C1C48002365 +:107DC000C056431C32D1A87AF8F70CF900260028D7 +:107DD000184C08D0E869E16B00290BD13C00882BD6 +:107DE000010066630121E163A66306E0A869E16B17 +:107DF000002902D06663A663E663A16B0131A1632B +:107E0000820301D50E4A1043E26B002A00D04042A3 +:107E1000626B1018606308290BD1002801DD3C005B +:107E2000C42B0100012003E0002803DA0020C04336 +:107E3000EFF762FE6663A66370BD0000F46B01009D +:107E4000846A01000000FEFF0C21054A41438918A5 +:107E500080B58978002901D1F3F7F2FA80BD0000DE +:107E60003C00002C0100607B010080B5011C00205B +:107E7000F7F703FA80BD80B5011C0120F7F7FDF983 +:107E800080BD02498968401AC00F70470000000198 +:107E9000070002498968081AC017013070470001BD +:107EA00007003C003C2C010005494A6801231A43A5 +:107EB0004A608A681018886048689843486070472C +:107EC0000001070010B5154B00210A019A58002A3D +:107ED00017D101240A019C50D21810730023537348 +:107EE000022301283C00782C01000E4A05D1C8006D +:107EF0008018103002789A4304E0C80080181030CF +:107F000002781A43027002E001310829E0DB0829F7 +:107F100004D101219920EEF7FEFA03490804000C70 +:107F200010BDAC7301003C00B42C010000600700E0 +:107F3000FFFF0000F7B5194F194E0C1CC100C919FD +:107F4000B268103181B0013A4A600B781D1C0D22D5 +:107F500093430B70012282403A73124B0001039A43 +:107F6000C0188260104A101C3C00F02C0100203028 +:107F7000877900AB1F70C0795870B0680330002358 +:107F8000261A01D5041C01234C600D70002B04D06F +:107F9000201CFFF78AFF0028FAD000AB1888D08495 +:107FA000FFBD00600700000107003C002C2D010010 +:107FB000AC7301000010070030B50020C0430B4C2B +:107FC000094B0022D10009190D7CED0707D549693D +:107FD0009D68491B00D50021814200D2081C013256 +:107FE000082AEFDB30BD0000000107003C00682DCF +:107FF000010000600700B0B508280BD2084D04014D +:108000002959002904D000F04AF800202851B0BDB9 +:10801000022100E003219920EEF789FAB0BDAC738C +:108020000100034900014018417B082211433C0034 +:10803000A42D010041737047AC73010001488068B2 +:10804000704700000001070070B50B4E094D00227B +:10805000D0008419207CC00707D56069FFF726FF90 +:10806000002802D0A868323060610132082AEFDBB4 +:108070003C00E02D010070BD000000010700006021 +:108080000700024AC00080180174704700000060B9 +:1080900007000449C0004118087C0823021C9A43C9 +:1080A0000A74704700000060070070B5082817D2F6 +:1080B0000E493C001C2E01008A680E4D013AC10099 +:1080C00049194A610C4B9A7910310C780D26B4434A +:1080D0000C700121814029739A71094A07490001F6 +:1080E0008018416070BD05219920EEF729FA70BD16 +:1080F000000107003C00582E01000060070020101E +:108100000700D1750000AC730100F8B59E461A4B0C +:1081100094469B681A4CC2001219013B5361151C0E +:10812000184CA6792A1C103213780D27BB43137004 +:108130000127124B87403C00942E01001F73A6714B +:10814000124E0001801963464360734683601378C2 +:10815000407BA679012718433843143500AB1E70C5 +:10816000E4795C70064B9B680333CC1A00D5191C6C +:108170002960107000AB18883C00D02E0100034C21 +:10818000203CE084F8BD00010700006007002010DB +:108190000700AC73010000B5011CFFF75EFF421839 +:1081A000101CFFF792FE0028FAD000BD0000891ACB +:1081B000401A9918884201D801203C000C2F010078 +:1081C0007047002070470000F8B50F1C041C002801 +:1081D00001D1EEF7EFF9211C0120FFF719FA412038 +:1081E000005D002801D1002504E0022801D1052509 +:1081F00000E00125E068EEF729FBA66B3C00482F64 +:108200000100002E10D0002F06D02F20025D206A22 +:10821000416B281CEDF744FAA069002801D0EEF765 +:1082200046FC206AEEF743FC201CEEF740FC301CB5 +:10823000F8BDB0B5041CC06B002809D020693C0013 +:10824000842F0100008BEEF755F9002803D0211C84 +:108250000620FFF7E3F9084D201CA96DFFF7BAFFD0 +:10826000002807D0E8680130E860286A01382862F1 +:10827000FCF778F8B0BD0000C469010010B5064CE9 +:108280003C00C02F0100E16DFFF7A7FF002804D0DC +:10829000E0690138E061FCF768F810BD0000C469CE +:1082A00001000C230C495843401810B54468A168DC +:1082B000002902D0201CEDF7F3F9E06B002808D06C +:1082C00020693C00FC2F0100008BEEF719F9002813 +:1082D00002D0201CF9F726F910BD0000607B0100D8 +:1082E000F8B522494868800006D40120400708609C +:1082F0004A69920000D448601D4F787EC306012071 +:10830000021CDB0E3C00383001009A400A6079699B +:108310008C688C602107890F09D0210704D50B21B7 +:108320009E20EEF728F900E078640C208443124880 +:108330003D68065D6C682C3406E0A0680068A060AB +:10834000E968281CEDF73C0074300100B2F9013EE9 +:10835000F6D2A068806800280DD0408900280AD095 +:10836000786C002807D178698068800703D10C21D8 +:108370009E20EEF703F9F8BD00100700CC6D010058 +:10838000B4440100094980B53C00B0300100087ECA +:10839000C206D20E01209040074A106000200A69F0 +:1083A000C04390600868243106C90369EDF786F977 +:1083B00080BDCC6D010000100700F8B54468061CB4 +:1083C0002C3420680D1C806800903C00EC300100CB +:1083D000002800D0C5602068006820604068002840 +:1083E00003D00A219E20EEF7CFF820684560281CB4 +:1083F00002E000224260081CC1680029F9D17168BE +:1084000060270B1C40339C469B78CA7E3C00283179 +:1084100001005B011207120F3B401A438B8FFF27AD +:108420003F041B043B401A4390231A4342606346B7 +:108430009A780132D207D20F9A70896BC160216895 +:1084400088600098002801D00098C5600A4F3C0061 +:1084500064310100BD79A06900280CD00022A2611E +:1084600074686069EFF72EFFE06A616940684860F0 +:10847000616901200860BD71F8BD0000201007008F +:10848000FEB544680F1C01942C34201C123002905D +:108490003C00A03101002CE00C20EEF700FB051C95 +:1084A000606800281DD10298002100900020EEF79E +:1084B0000EFA061C00980421EEF709FA011C019837 +:1084C000C07E0007000FD03070600198C07E0007AA +:1084D000000F3C00DC310100F0304860301CEEF74A +:1084E00019F96560E66001E0206805606068286051 +:1084F000256000206860A860381CFF300006000E70 +:10850000391C071C0029CAD16068A060FEBD0000AC +:10851000FFB5051C3C0018320100081C002681B084 +:10852000F4F72FFE041C02D06068FF2801D1062654 +:1085300028E0211C20310A78012A01D1032621E0FC +:10854000012725600F7011C51D48083D686103981B +:108550006A46E86004983C005432010028611A48D9 +:10856000A8611A48E8611A4828621A486862207EA1 +:10857000A168EDF7B3FE002806D1607EE1686A4687 +:10858000EDF7ACFE002807D00426311C9E20EEF744 +:108590000DF8301C05B0F0BD3C00903201006A4679 +:1085A0000F491D20EDF79DFE01210D48490701608F +:1085B000227E3B1CD206D20E93404360627ED206DE +:1085C000D20E974047604160E6E731330100D9326F +:1085D000010091310100DD3001003C00CC3201008E +:1085E000FD320100713301000010070042682C3297 +:1085F000506843680B6081684B890B818368002158 +:10860000D9604160816000685060002070470000C0 +:1086100070B54268FF269187106B0C043C0008334C +:108620000100051C3604344043685968B1432143B6 +:1086300059600068A842F7D1106B516940684860E2 +:1086400051690120086070BD0000B0B54368081C86 +:1086500059629A6200250AE04581C4682A1C3C00E0 +:1086600044330100002C03D19A7E1207120F1032FE +:108670004260201C0028F2D118694160196901206C +:10868000086002480068EDF737F8B0BD5C5B010098 +:1086900001200549400780B58860044801680D2025 +:1086A0003C0080330100FEF7E6FF80BD00000010B3 +:1086B0000700C4600100F8B50E4F0C4E002448209E +:1086C0006043C5194821281CEDF77BF81C20604346 +:1086D0008119281D1C22EDF7FEF81C23E8560549D8 +:1086E000FBF73C00BC330100CDF80134012CE9D389 +:1086F000F8BD0000B8440100CC6D01001532010046 +:10870000FFB5051C0A30061C81B0F2F7DDF8184FE2 +:10871000041C3988EFF7BCFC3288786802807288C4 +:10872000023002803C00F8330100B188124E4180D3 +:10873000288808364005002805DA6988039A201C35 +:10874000F7F701FD00E000207080F8F75EFC0121E2 +:1087500009030028308801D0884300E008433080B6 +:108760000548002200213C00343401001430EFF7AA +:1087700065FC201CF9F774F805B0F0BDB07A010073 +:1087800010B50E4C6068F8F795F92068006A00286B +:1087900013D1F8F7BFFC002808D021680120086237 +:1087A0001F210022832000F03C00703401009FF95B +:1087B00002E06068F8F721FAFFF797FC216808618A +:1087C00010BD147A0100FEB51B4E0F1C1D1C141C9D +:1087D000B060081CF7F72BFFB08034733562381C8B +:1087E00001AA02A9F7F725FF00AB3C00AC34010059 +:1087F000187A012818D118790B2808D1307F242342 +:108800000F49584340188068ECF788FFFEBD00AB65 +:1088100018790A2808D1F7F739FD071C291C201CF4 +:10882000F7F716FD3818B080307F24233C00E83479 +:1088300001000449584340184068ECF772FFE8E72C +:108840000000D479010094460100B0B5FFF753FC55 +:10885000041CFBF7FCFA0C4D29680969091B0C1A6A +:1088600002211F2000F08BF8142C06DD02223C00B0 +:1088700024350100211C1F2000F050F80120B0BD5C +:1088800029680120896A0029F9D00020B0BD0000C4 +:10889000147A0100F8B51A4D071CAE790121194C64 +:1088A00000202268002A14D1AE71A268D06806CADE +:1088B0003C0060350100ECF73CFFAE790021134A23 +:1088C000506901305061A0688068A0606268904281 +:1088D00006D10120206003E001300C340328E3DBE3 +:1088E000002F08D100290AD00A484068002806D085 +:1088F000FAF73C009C350100F5FF03E0012F03D09F +:10890000002901D1AE71CEE7AE71F8BD201007008D +:1089100018D90100A8600100705D010080B5012335 +:10892000F5F77CF880BD000080B50023F5F776F8F8 +:1089300080BD00003C00D8350100F8B5134B002481 +:108940001B8898421BD2114BC000C01845680668AE +:108950002868002817D10E4FA8684368B34209D190 +:10896000C3688B4206D10368934201D0531C01D1E6 +:108970000124476080683C00143601006B68834224 +:10898000EED103E001218020EDF740FE201CF8BD70 +:1089900056570100845D010029E30000F8B5174F28 +:1089A0000A1CBE79164D00236C6807E021689142CD +:1089B00002D12179814204D03C0050360100231CB1 +:1089C000E468002CF5D117E0002C15D0002B0DD158 +:1089D000E3680D486B600088002B02D1FFF7D1FBE4 +:1089E00006E00A4A9968FFF7F6FB01E0E068D86004 +:1089F0002868E0602C6002E001213C008C36010018 +:108A0000FFF7A4FFBE71F8BD201007007C5D0100D8 +:108A10002C7401002138010070B5094EB579F9F7C1 +:108A2000AFFE041C09D0201CEDF70CFB05498A6839 +:108A300080188860086801300860B5713C00C8364D +:108A40000100201C70BD20100700A860010009482B +:108A500080B54068021C0BE00169002907D0824202 +:108A600004D0816805480088FFF7E5FA80BDC0683A +:108A70000028F1D180BD7C5D01002C7401003C0018 +:108A800004370100054880B54268002A04D0044834 +:108A900000889168FFF7D2FA80BD00007C5D01007C +:108AA0002C74010005480168002904D0C068002822 +:108AB00001D00120704700207047000018D9010044 +:108AC0003C004037010080B5F6F7D1FA80BD131C99 +:108AD0000D4AB0B5128890420FD203290DD20A4A2E +:108AE000C00014580A4DAC4207D113500C2359430F +:108AF000084BC91880184160B0BD02218020EDF7F5 +:108B000094FD3C007C370100B0BD000056570100C9 +:108B1000845D010009A0000018D90100F8B50F1C00 +:108B20001E1C151C041C111CFFF74AFF331C2A1CB9 +:108B3000391C201CF4F78AFFF8BD0000F7B59446F5 +:108B4000FF2921D03C00B837010015480088814238 +:108B500021D2144A154EC8008518B4796868026895 +:108B6000002A03D1031D0CCB9A4211D043689A68A6 +:108B700042600E4A176901371761B4710022026022 +:108B80000098D86060463C00F43701001860197402 +:108B900028685860FEBDB471062100E007218020DE +:108BA000EDF74CFDF6E7000056570100845D01002B +:108BB00020100700A8600100B0B5144D6C68002CAF +:108BC00001D0844204D00C213C00303801008020C8 +:108BD000EDF737FDB0BDFFF7B8FAA168401A0D49AF +:108BE000884203DA10218020EDF72BFD21792268DD +:108BF0000120FFF7ACFFE3686B60002B05D007484E +:108C0000064A00889968FFF7FEFA3C006C380100BC +:108C10002868E0602C60B0BD7C5D010018FCFFFF9F +:108C2000213801002C740100B0B5154C0820211C1E +:108C300080310870134A4104116013480068134DD5 +:108C40006B69184001D1102000E000203C00A838DA +:108C50000100A8235B5D1843231C40331873516047 +:108C600020788008800020700020FFF712FBFFF7BB +:108C700072FA643028660138A06120780321084325 +:108C80002070B0BD000000900700001007003C00FD +:108C9000E438010010000700A46C010038B50A4C4C +:108CA000211C20318A7900AB1A70C979074D59709F +:108CB0006978884203D1F8F713FCFF20687000AB95 +:108CC0001888E08438BD0000001007004C7B0100CC +:108CD0003C0020390100F8B50B1C061C041D7F3335 +:108CE00014D033685D18356023881F180623FF569B +:108CF000EB1B336023881818817120880130000431 +:108D0000000C2080904201D300202080101C31688C +:108D1000ECF73C005C3901006DFEF8BD0E490A7CA1 +:108D200083781A430A74427883789A430B7C93437E +:108D30000B748A7C43781A438A748A7C03789A433A +:108D40008A74027843781A434B7C1A434A744A7CEB +:108D5000C07882433C00983901004A747047100083 +:108D60000700B0B5064D00242006000EEDF7F7F819 +:108D7000A100695808710134042CF5DBB0BD107BEB +:108D800001000B480C497D234269DB00002AC86BB7 +:108D900007D0C0181A013C00D43901009042C863C2 +:108DA00001D90748C8637047FF38F538C86398424F +:108DB000F9D2CB6370470000F4680100447D0100E4 +:108DC0007017000070B50D1C041C161CFBF7F6FA9A +:108DD000B0432843011C201C3C00103A010000F065 +:108DE000CCFA70BD000080B50B4A002909D00229D9 +:108DF0000FD1011C0848D2783830FFF778FF0649B8 +:108E000006E0011C044812792030FFF770FF034987 +:108E1000086080BD0000AC7C01003C004C3A0100C1 +:108E2000C8670100C467010080B50B4A002909D05A +:108E300002290FD1011C084852796830FFF75AFF08 +:108E4000064906E0011C044892795030FFF752FFB2 +:108E50000349086080BD0000AC7C01003C00883AFA +:108E60000100D0670100CC67010008B50421009122 +:108E7000817E4368032906D1011C0C3101206A461A +:108E8000ECF79AFC08BD1968C160FBE7000010B55B +:108E9000031C0020084C0021CA00121992783C00E3 +:108EA000C43A01009A4203D1C8000019406810BDBD +:108EB0000131090609160629F1DB10BDCC5A010063 +:108EC000F8B50F1C161C0025FEF78EF9041C0AD0FD +:108ED0004A20005D052806D1381CF1F781FE0028E4 +:108EE0003C00003B010001D001253460281CF8BD86 +:108EF000000070B50D1C161C0024FEF778F9002840 +:108F00000BD04A21095C052907D10169002904D148 +:108F10003060F1F704FD01242860201C70BDF8B515 +:108F2000061C3C003C3B010000250C1C081CF1F712 +:108F30005DFE002801D0002105E0201CF1F774FE41 +:108F4000002814D00121301CF4F780FB0090002889 +:108F50000DD0084F01250622311C381CECF7C2FC4D +:108F60000622211C3C00783B0100B818ECF7BDFC40 +:108F70000098F860281CF8BD0000707C01000021FA +:108F8000002806D04278072A03D1C079012800D1F1 +:108F90000121081C7047F8B5051C0027164EF1F793 +:108FA00028FE002807D03C00B43B0100F1F7C0FBCD +:108FB000002810D10024F1F7BBFC06E0F1F702FE17 +:108FC000002808D00124F1F799FD011C0622301C6D +:108FD000ECF78EFC0127002F0DD0211C281CF4F784 +:108FE0003BFB011C054806223C00F03B0100063813 +:108FF000C160291CECF77FFC0120F8BD0020FCE7D4 +:109000000000767C0100F0B5071C006802210468AE +:10901000786987B00140002500290591744E12D06F +:1090200022880121130502D4C0073C002C3C01001A +:10903000C11701316F480029006801D0013004E0F8 +:109040001106890E2D2901D1033030602088800758 +:1090500067D17869C00764D503AA04A9201CF7F773 +:109060004BFB00AB187C002807D0187C3C00683C08 +:109070000100022858D1187B4007400F042853D81C +:1090800020790599C007C01701300290002902D14C +:109090000298002848D10599002904D020880005AD +:1090A00001D400203060C020EDF7CBFD051C3C0052 +:1090B000A43C0100201C0A300690FEF7ADF8061C07 +:1090C000281C08302388021D111DDB0506D5069BD0 +:1090D0000360201C10301060201D0EE0231D136063 +:1090E0002288920505D5221C10320260069B0B6077 +:1090F0003C00E03C010004E0069B0360201C1030B3 +:1091000008602869F1F743FC002808D0012812D034 +:10911000022858D100AB187C002854D112E000ABD3 +:10912000187C02280BD1002E4DD04B20805D0228E8 +:1091300049D13C001C3D010007E063E000AB187C16 +:10914000002802D1381CFEF71BFF2088410430485C +:1091500011D5002E52D000AB197C002926D00299DF +:10916000002902D0B06A007800E0007801281DD004 +:10917000032843D13C00583D01001AE000AB197CA4 +:10918000022916D1197B042913D0197B0C2910D080 +:109190002249096800290CD0002E0AD00299002922 +:1091A00002D0B06A007800E00078012829D00328B6 +:1091B00027D02822391C3C00943D0100281C88300F +:1091C000ECF70AFC00AB197C281C80300171197B7C +:1091D00041716C606E611BE00599002914D0114843 +:1091E000846C002C10D00022002E04D04036B07ABF +:1091F000052800D1012200923C00D03D0100F87A00 +:10920000BA7A2969C307DB0F0698ECF700FB281C24 +:10921000EDF707FD0025281C07B0F0BD0000C46A6B +:1092200001006861010028610100C469010080B586 +:109230000220FFF770F880BD00003C000C3E0100EA +:10924000B0B51D4D012817D0A22806D0A32803D100 +:1092500001211520FFF708FCB0BD002901D11748F6 +:1092600002E07D20C000484300230122011C286049 +:109270001520FFF7A7FCB0BD012904D03C00483EF3 +:1092800001000229FAD100F02AF8B0BD6C68F5F7A8 +:10929000DEFCFEF7A8FF6860002C09D029680A23CD +:1092A0005943001B884203D901211520EDF717FA15 +:1092B000012215202968FFF7A6FBB0BD00003C0085 +:1092C000843E0100047901000087930301200449D2 +:1092D000400380B5086003211520EDF703FA80BD37 +:1092E00000100700074880B5BE210173017A1022E3 +:1092F000114301720023022215200349FFF768FC85 +:109300003C00C03E010080BD000000030700809FBC +:10931000D50080B5002803D00A1C1521A22002E048 +:1093200000221521A320FFF766FC80BD000010B5C8 +:1093300000F019F80A48BE210173037A1022934302 +:1093400001243C00FC3E0100234303720173017AB7 +:109350009143202211430172022215200249FFF796 +:109360005BFB10BD00030700809FD50080B5022184 +:109370001520FFF785FB0448BE210173017A1122F5 +:10938000914301723C00383F010080BD00000003A2 +:109390000700F8B5061C051C60360027446822E06B +:1093A00008210020EDF741FB6061018904390904BF +:1093B000090C01816069006840180421EDF735FB54 +:1093C000E0616069717B3C00743F010000688901C5 +:1093D000C17029690C310322ECF7BAFA28690C3004 +:1093E0000168013101602562A7612468002CDAD18F +:1093F000024903486A68F6F7B3F8F8BDFD6B000050 +:10940000A06A010080B500073C00B03F01000009E0 +:109410000902090A084302490860FFF720FF80BDDE +:1094200000006000070008001400C8000000E80306 +:10943000000010001400C8000000E80300001C0039 +:109440001400C8000000E80300003C00EC3F0100ED +:109450002401070032000000E8030000400601007C +:109460000600000007000000416E62697E64616FC3 +:109470006F00000052656C6561736520365F375F71 +:109480003135204275696C6420323A353C00284001 +:1094900001003239382053657020303420323030AA +:1094A000392031373A31333A3230202848573D3469 +:1094B0003A332C4254434F455829000000003200F3 +:1094C0001C00102030405060FFFFFFFFFFFF3C00FA +:1094D00064400100000000000100000001000000E5 +:1094E00000000000E8037000000000000100000020 +:1094F0000000000002000000D0073800000000005B +:109500000100000001000000040000007C151500AF +:109510003C00A0400100000000000100000001002C +:1095200000000B00000070171E0001000000010089 +:109530000000000000000C000000282316000100BD +:109540000000010000000000000012000000F82AE6 +:109550000B003C00DC4001000000000001000000A6 +:109560000100000016000000E02E120001000000C3 +:1095700001000000000000001800000050460E002E +:1095800001000000010000000000000024000000B5 +:10959000F05508003C0018410100010000000000E7 +:1095A0000000010000002C000000C05D0E00010062 +:1095B0000000010000000000000030000000E88012 +:1095C0000400010000000000000001000000420053 +:1095D0000000A08C0A003C00544101000100000082 +:1095E00001000000000000004800000080BB0A00ED +:1095F0000100000001000000000000006000000009 +:10960000F0D20A000100000001000000000000008C +:109610006C000000C00090003C0090410100C000C0 +:109620009000C00090001400100014001000C00052 +:1096300090001400100014001000C00090001400EE +:109640001000C0009000140010001400100014005E +:109650001000C0009000600048003C00CC410100B8 +:109660006000480014001000140010006000480062 +:1096700014001000140010006000480014001000D6 +:1096800060004800140010001400100014001000C6 +:10969000020004010B020C03120416053C000842F0 +:1096A00001001806000E000E2407000E2C083009D9 +:1096B000000E000E000E420A000E480B000E000EB7 +:1096C000000E000E000E600C000E000E6C0D00006F +:1096D00000000000000000000080C0FFFFFF3C0011 +:1096E00044420100B6FFFFFFD3FFFFFFC9FFFFFFAA +:1096F000FFFFFF7F000000000000000000000000EE +:1097000000000000000000000000000051B0000058 +:109710000C00000051B000000C00000059AF000028 +:109720003C008042010000000000A5AF00000000E6 +:1097300000004DAF00000600000000000000000027 +:10974000000045B00000060000000000000000001E +:109750000000D5AF000000000000ADB00000000028 +:1097600000003C00BC42010095DB0000000000004E +:1097700095DB00000000000099B000000C00000024 +:1097800000000000000000000000000000000000D9 +:1097900000000000000000000000000000000000C9 +:1097A000000000003C00F8420100000000002D17FE +:1097B00001003517010021170100D99C000049174D +:1097C00001003D170100D19C0000D19C00001D1A32 +:1097D0000100D19C0000011A0100311A0100251A74 +:1097E00001003D1701003C0034430100811A0100D3 +:1097F000D19C000079170100D99C00005D17010081 +:10980000A11701009517010081170100211801001F +:10981000F5170100000008000C000000100008000F +:1098200008000000010000003C007043010002003D +:109830000000040000000800000010000000191CD7 +:1098400001008941000089410000854100008541F7 +:1098500000008541000085410000894100008541EC +:10986000000085410000351B01003C00AC430100B5 +:109870009D1B0100011C010089410000894100007D +:109880008941000085410000651801002918010088 +:1098900039180100BD180100894100004D18010070 +:1098A000A518010085410000011901003C00E843B2 +:1098B0000100D9180100ED180100151901008941B6 +:1098C0000000894100008941000085410000894174 +:1098D000000089410000691C010089410000711CE1 +:1098E00001008941000089410000FDDB00003C00CF +:1098F000244401001D7C000000008000F5DA000017 +:1099000014008100FDDD000008008200C5DD0000BC +:109910003800830045DC00001000840099DC000062 +:109920000C00860039DC00001000880011DE000009 +:109930003C006044010010008A0035DD00000C008E +:109940008C00ADDF00001C008E00C9DE0000380076 +:109950008F00EDDC00003800900075DF00000C0087 +:1099600091008DDC00000C009300B9DD00000C00BC +:1099700094003C009C44010000080808100C0C0CEA +:10998000080C080C080C0808080814080814003013 +:109990000001010200000000AD300100153001009F +:1099A00020300700303007000607020300000000E7 +:1099B000000000003C00D8440100FFFFFF00FFFF53 +:1099C000FF00FFFFFF000000000080C90200943F7D +:1099D0000300E08B5A00053A8500C8F20600F84CF7 +:1099E000560020A73D00B74A0000B74A000000001B +:1099F0000000000000003C001445010001010102CC +:109A00000202030303040404050600002D7C000089 +:109A10000000FF00FD9500000800FF00ED9700002A +:109A200008008200CD9500000C0083004D960000D8 +:109A30000C0085002D7C00003C005045010000001A +:109A4000FF002D7C00000000FF002D7C00000000C6 +:109A5000FF003D9600000C008900D9970000080027 +:109A60008A00919500000800FF002D7C0000000096 +:109A7000FF002D7C00000000FF003C008C45010031 +:109A8000F997000008008D002D7C00000000FF0009 +:109A90002D7C00000000FF00C997000030009000FE +:109AA0001195000018009100159600000800920022 +:109AB000599500003C009300299600003C00C845E1 +:109AC000010008009400A19500000800950081970E +:109AD00000000C0096006D97000010009800000038 +:109AE00000000000FF00000000000000FF00000870 +:109AF00008080808000000100800000800103C00DA +:109B000004460100080C0C0C0C1C0C0C0800000096 +:109B10000D8B0000F58A0000E98A0000018B00002F +:109B200014080C0C100C0000B1980000800000001C +:109B300019990000810000003D7C000080000000B9 +:109B40003C00404601003D99000082000000099958 +:109B50000000830000003D7C000085000000000044 +:109B6000000000000102020104040808813780F3AC +:109B7000AAAA03000000AAAA030000F86DA96DA913 +:109B80006EA93C007C4601006EA86EA86EA86FA767 +:109B90006FA76FA76FA66FA670A670A570A4000030 +:109BA000B51B0100C91B0100E11B0100E59C000081 +:109BB000A51B0100E59C0000891B0100D59C00004D +:109BC000D59C00003C00B8460100D11A0100E51AFE +:109BD0000100051B0100251B0100B11A0100E59CD5 +:109BE00000009D1A0100D59C0000C11A01008919CE +:109BF0000100A9190100C9190100F1190100791921 +:109C00000100E59C00003C00F446010065190100DC +:109C1000D59C0000D59C0000D59C0000D59C000080 +:109C2000D59C0000D59C0000D59C0000551C01006F +:109C3000451C0100451C0100D59C0000D59C00007E +:109C4000D59C0000D59C00003C0030470100D59C0D +:109C5000000055190100E59C00004119010031196F +:109C60000100D59C000002050A00000002040A0061 +:109C70000000C5200000212100002521000039211D +:109C8000000049210000552100003C006C47010004 +:109C900061210000ED2100000D22000021220000C2 +:109CA0003D22000049220000C5220000E122000000 +:109CB000F5220000E91F0000E91F0000E91F000075 +:109CC000E91F0000E91F0000112300003C00A84725 +:109CD00001001D23000089230000A5230000B923F3 +:109CE0000000112000001D2000006D2000008D20CC +:109CF0000000B92000000001020303050606080960 +:109D000008090909C480CA8080808080D0803C0016 +:109D1000E4470100D6D9DCDFE2808080E5E880807E +:109D20008080EBEEF1F4F7FAFD0001000200030081 +:109D30000400050006000700080009000A000B00E7 +:109D40000C000E00100011001300160018001B007C +:109D50003C00204801001E00220026002B0030009D +:109D600036003C0044004C0055005F006B0078005A +:109D700086009700A900BE00D500EF00FF7F0C0011 +:109D8000060002000000FEFFFCFFFBFFFAFFF9FFE8 +:109D9000F8FF3C005C480100F7FFF6FFF5FFF4FF19 +:109DA000F3FFF2FFF1FFF0FFEFFFEEFFEDFFECFF3F +:109DB000EBFFEAFFE9FFE8FFE7FFE6FFE5FFE4FF6F +:109DC000E3FFE2FFE1FFE0FFDFFFDEFFDDFFDCFF9F +:109DD000DCFF00003C00984801000000000000008B +:109DE0000000B17C4100115A40E2B27C4100055AAA +:109DF00040E2AF7C4100F95940E2B07C4100ED59AE +:109E000040E2246701000E0000E35C6701000E00E1 +:109E100000E30A6101003C00D4480100010000E3B6 +:109E20000E610100010000E3326701000E0000E353 +:109E30006A6701000E0000E30B610100010000E30E +:109E40000F610100010000E3406701000E0000E324 +:109E5000786701000E0000E33C00104901000C612E +:109E60000100010000E310610100010000E34E6702 +:109E700001000E0000E3866701000E0000E30D61A3 +:109E80000100010000E311610100010000E3C0488E +:109E900001000400000AE04801003C004C490100B8 +:109EA0000400000A004901000400000A20490100E2 +:109EB0000400000A18670100040000E2287501018F +:109EC0007DA940E22C750100040000E2207501002C +:109ED000040000E244750100040000E23C008849EF +:109EE0000100F0590100040000E200000000000041 +:109EF00000000000000000000000247501000400C4 +:109F000000E2B87C0100040000E28DA9000001001D +:109F100000DA1D750100010000E2C46701003C0089 +:109F2000C4490100040000E200000000000000003D +:109F3000215900000E0000D9C8670100040000E2AA +:109F4000CC670100040000E2D0670100040000E2D9 +:109F500065D90000040000DAA5D90000040000DA89 +:109F60003C00004A010001590000010000DA32679C +:109F700001000E0000E36A6701000E0000E31159C2 +:109F80000000010000DA0000000000000000B048FE +:109F900001000200000AA04801000200000A404936 +:109FA00001003C003C4A01000500000A684901002C +:109FB0000900000A6C570100040000E2386101004A +:109FC000040000E20000000000000000AC6E010090 +:109FD000040000E2B06E0100040000E270570100CE +:109FE000040000E23C00784A0100E8590100080042 +:109FF00000E3DC5801144DFD40E32C59011439FDF8 +:10A0000040E3C05801000E0000E300000000000023 +:10A0100000000000000000000000647341003D2EBD +:10A0200044E27C5901143C00B44A01009D2F44E3F2 +:10A030005C5701000E0000E2792E0400010000DBF5 +:10A04000A0580100020000E3A2580100020000E352 +:10A05000A05701000E0000E3D1880100010000DAE2 +:10A060001D890100040000DA3C00F04A01009588D7 +:10A070000100040000DB312F04000E0000D9C52EC2 +:10A0800004000E0000D9686C010115D540E2C057EC +:10A090000100080000E3C8570100340000E39C6C95 +:10A0A0000100080000E3B05801033C002C4B010004 +:10A0B000E9D440E2BC580100040000E29DA3000086 +:10A0C000600000D970790100040000E27879010095 +:10A0D000040000E27C5A0100040000E25D1C000064 +:10A0E000110000D9246E0100040000E23C00684B1E +:10A0F000010018580105D5D540E3FC5701001400B4 +:10A1000000E3048E0103E5D540E3005B0100040099 +:10A1100000E2185B0100400000E2D4670100040087 +:10A1200000E28D370000040000DBBD3600003C007B +:10A13000A44B0100040000DBFC600100020000E20F +:10A14000907D0100040000E270690100040000E25B +:10A150000000000000000000B04901001A00000AE1 +:10A16000904B01000600000AA458810005FD40E361 +:10A170003C00E04B0100804A01000C00000A0C5A30 +:10A180008101252D44E3E04A01000300000A186321 +:10A190004100FDBB40E208570100010000E29C487D +:10A1A0000100040000E20000000000000000F84A86 +:10A1B00001003C001C4C01000200000ACC740100AC +:10A1C000030000E365734100A92E44E2F659010142 +:10A1D000D12C44E3084B01000400000A07000000F2 +:10A1E0000100006A284B01000200000A887D01007E +:10A1F000040000E23C00584C010000750104656F4A +:10A2000040E3BC7801000E0000E3384B010004007D +:10A21000000A0457010004000062584B01000200CC +:10A22000000A804B01000200000A684B0100030095 +:10A23000000A8C7D01003C00944C0100040000E207 +:10A24000392D0400040000DB947D0100040000E2CD +:10A2500000000000000000000000000000000000FE +:10A260000000000000000000104001000000006439 +:10A27000A84C01000400000A3C00D04C0100000082 +:10A28000000000000000C84C01000100000AD04C92 +:10A2900001000200000A0000000000000000E77A50 +:10A2A0000100010000E2E87A0100010000E2000084 +:10A2B000000000000000ED7A01003C000C4D0100A0 +:10A2C000010000E2EE7A0100010000E2000000005F +:10A2D00000000000F37A0100010000E2F47A0100BE +:10A2E000010000E20000000000000000F97A010017 +:10A2F000010000E2FA7A0100010000E23C00484D52 +:10A300000100E84C01000300000A004D01000300B9 +:10A31000000A184D01000300000A304D010003003F +:10A32000000A905C0100040000E2945C010004005B +:10A3300000E2985C0100040000E29C5C01003C002B +:10A34000844D0100040000E2A05C0100040000E272 +:10A35000A45C0100040000E2A85C0100040000E22B +:10A36000AC5C0100040000E2B05C0100040000E20B +:10A37000B45C0100040000E2B85C0100040000E2EB +:10A380003C00C04D0100BC5C0100040000E2C05C68 +:10A390000100040000E2C45C0100040000E2905CE3 +:10A3A0000100380000E3684D01000E00000AD84D9E +:10A3B0000100020000FA1261810131D540E306611B +:10A3C00001003C00FC4D0100020000E20B610100B5 +:10A3D000010000E30F610100010000E308610100DA +:10A3E000020000E2507B0100040000E200000000D7 +:10A3F00000000000384E01000E0000649C5701016F +:10A40000918841E33C00384E01006E41676FE26580 +:10A4100060696F20414200000000F04D010009001A +:10A42000000A484E01000100000AE84D0100010049 +:10A43000000A0000000000000000484D0100040078 +:10A44000000A286101013C00744E0100BDD540E2C4 +:10A450006961410085D540E230610100040000E2FD +:10A4600034610100040000E23C610100040000E2EC +:10A4700034610100040000E244610100040000E2D4 +:10A48000000000000400006A3C00B04E0100704E65 +:10A4900001000800000A18610100020000E21C61CE +:10A4A0000100040000E220610100020000E22461DA +:10A4B0000100040000E2B84E01000200000AC84E8C +:10A4C00001000200000AD84E01003C00EC4E0100E1 +:10A4D0000200000A96480100060000E3E062010065 +:10A4E000040000E2000000000400006A9B7D0100FF +:10A4F000010000629C7D010002000062607C01009E +:10A50000040000E2010000000400006A3C00284F43 +:10A5100001002D6301000100006200000000000046 +:10A520000000000000000000000049D500000E00FF +:10A5300000D9F467010002000062467D01000100BD +:10A5400000629C7C0100040000E2987C01003C0059 +:10A55000644F010002000062A07C0100060000625E +:10A56000587C010002000062647C01000600006269 +:10A570005A7C0100020000626A7C01000600006251 +:10A58000010000000400006AE4620100040000E22F +:10A590003C00A04F0100E8620100030000E200005F +:10A5A00000000400006A000000000400006A0100CE +:10A5B00000000400006A000000000400006A0000BF +:10A5C00000000400006A000000000400006A0000AF +:10A5D00000003C00DC4F01000400006A00000000A5 +:10A5E0000400006A000000000400006A000000008F +:10A5F0000400006A000000000400006A000000007F +:10A600000400006A000000000400006A000000006E +:10A610000400006A3C001850010000000000040023 +:10A62000006A000000000400006A0000000004004E +:10A63000006A000000000400006A0000000004003E +:10A64000006AF04E01002A00000A01000000040028 +:10A65000006A752A01003C00545001000C0000DB28 +:10A66000020000000400006A752A01000C0000DBF3 +:10A67000030000000400006A752A01000C0000DBE2 +:10A68000040000000400006A752A01000C0000DBD1 +:10A69000050000000400006A3C0090500100752A8B +:10A6A00001000C0000DB060000000400006A752AAF +:10A6B00001000C0000DB070000000400006A752A9E +:10A6C00001000C0000DB080000000400006A752A8D +:10A6D00001000C0000DB090000003C00CC50010030 +:10A6E0000400006A752A01000C0000DB0A0000006B +:10A6F0000400006A752A01000C0000DB0B0000005A +:10A700000400006A752A01000C0000DB0C00000048 +:10A710000400006A752A01000C0000DB3C000851AF +:10A7200001000D0000000400006A752A01000C0001 +:10A7300000DB0E0000000400006A752A01000C0016 +:10A7400000DB485001000200000A585001000200DE +:10A75000000A685001000200000A785001003C0025 +:10A76000445101000200000A885001000200000A62 +:10A77000985001000200000AA85001000200000ADF +:10A78000B85001000200000AC85001000200000A8F +:10A79000D85001000200000AE85001000200000A3F +:10A7A0003C0080510100F85001000200000A0851ED +:10A7B00001000200000A185101000200000A405086 +:10A7C00001000100000AE84E01000100000A00003B +:10A7D0000000000000000000000000000000B04E7B +:10A7E00001003C00BC5101000100000A0000000013 +:10A7F00000000000285101000E00000A00000000C7 +:10A800000000000000000000000000000000000048 +:10A810000000000000000000000000000000000038 +:10A82000000000003C00F8510100985101000C00AC +:10A83000000A504E01000400000AE04C0100010033 +:10A84000000A0000000000000000C04B01001D00D5 +:10A85000000AF85101000500000A248007000000EA +:10A8600000001D8007003C00345201000800000079 +:10A870002A8007005C00000024800700020000001E +:10A880001D800700200000002A8007006A000000E9 +:10A8900024800700020000001D8007002000000047 +:10A8A0002A8007006A0000003C007052010000018D +:10A8B00002030405060708090A0B0C0D0E0F101100 +:10A8C00012131415161718191A1B1C1D1E1F0163CD +:10A8D0000000A1630000C5630000B1620000C56311 +:10A8E0000000216300004D6300003C00AC520100F9 +:10A8F000A163000001630000A163000006050505D7 +:10A9000005050505050505050505030506070809EF +:10A910000A0A0C0D0E0F0F1011000000A5C684F8D6 +:10A9200099EE8DF60DFFBDD6B1DE54913C00E85294 +:10A93000010050600302A9CE7D5619E762B5E64DCD +:10A940009AEC458F9D1F408987FA15EFEBB2C98EAF +:10A950000BFBEC4167B3FD5FEA45BF23F75396E479 +:10A960005B9BC2751CE1AE3D6A4C5A6C417E3C005B +:10A970002453010002F54F835C68F45134D108F987 +:10A9800093E273AB53623F2A0C08529565465E9D75 +:10A990002830A1370F0AB52F090E36249B1B3DDF47 +:10A9A00026CD694ECD7F9FEA1B129E1D74582E3412 +:10A9B0003C00605301002D36B2DCEEB4FB5BF6A424 +:10A9C0004D7661B7CE7D7B523EDD715E9713F5A665 +:10A9D00068B900002CC160401FE3C879EDB6BED451 +:10A9E000468DD9674B72DE94D498E8B04A856BBB2C +:10A9F0002AC53C009C530100E54F16EDC586D79A49 +:10AA000055669411CF8A10E9060481FEF0A04478BF +:10AA1000BA25E34BF3A2FE5DC0808A05AD3FBC21A1 +:10AA2000487004F1DF63C17775AF634230201AE5E7 +:10AA30000EFD6DBF3C00D85301004C811418352623 +:10AA40002FC3E1BEA235CC88392E5793F25582FC34 +:10AA5000477AACC8E7BA2B3295E6A0C09819D19EC8 +:10AA60007FA366447E54AB3B830BCA8C29C7D36B50 +:10AA70003C2879A7E2BC3C00145401001D1676ADB9 +:10AA80003BDB56644E741E14DB920A0C6C48E4B82F +:10AA90005D9F6EBDEF43A6C4A839A43137D38BF2B6 +:10AAA00032D5438B596EB7DA8C0164B1D29CE04940 +:10AAB000B4D8FAAC07F325CF3C0050540100AFCA1C +:10AAC0008EF4E9471810D56F88F06F4A725C24380D +:10AAD000F157C773519723CB7CA19CE8213EDD96AB +:10AAE000DC61860D850F90E0427CC471AACCD890C1 +:10AAF000050601F7121CA3C25F6A3C008C540100DA +:10AB0000F9AED06991175899273AB92738D913EB7C +:10AB1000B32B3322BBD270A98907A733B62D223CB1 +:10AB2000921520C94987FFAA78507AA58F03F85952 +:10AB30008009171ADA6531D7C684B8D03C00C854EA +:10AB40000100C382B029775A111ECB7BFCA8D66DB9 +:10AB50003A2CC6A5F884EE99F68DFF0DD6BDDEB170 +:10AB6000915460500203CEA9567DE719B5624DE6B7 +:10AB7000EC9A8F451F9D8940FA87EF15B2EB3C0098 +:10AB8000045501008EC9FB0B41ECB3675FFD45EA3C +:10AB900023BF53F7E4969B5B75C2E11C3DAE4C6A44 +:10ABA0006C5A7E41F502834F685C51F4D134F90848 +:10ABB000E293AB7362532A3F080C955246659D5E43 +:10ABC0003C0040550100302837A10A0F2FB50E096F +:10ABD00024361B9BDF3DCD264E697FCDEA9F121B9D +:10ABE0001D9E5874342E362DDCB2B4EE5BFBA4F6F9 +:10ABF000764DB7617DCE527BDD3E5E711397A6F533 +:10AC0000B9683C007C5501000000C12C4060E31F86 +:10AC100079C8B6EDD4BE8D4667D9724B94DE98D410 +:10AC2000B0E8854ABB6BC52A4FE5ED1686C59AD7B5 +:10AC3000665511948ACFE9100406FE81A0F078448D +:10AC400025BA4BE33C00B8550100A2F35DFE80C07D +:10AC5000058A3FAD21BC7048F10463DF77C1AF7551 +:10AC600042632030E51AFD0EBF6D814C1814263565 +:10AC7000C32FBEE135A288CC2E39935755F2FC8202 +:10AC80007A47C8ACBAE73C00F4550100322BE69590 +:10AC9000C0A019989ED1A37F4466547E3BAB0B8322 +:10ACA0008CCAC7296BD3283CA779BCE2161DAD76A8 +:10ACB000DB3B6456744E141E92DB0C0A486CB8E4FD +:10ACC0009F5DBD6E43EFC4A63C003056010039A81D +:10ACD00031A4D337F28BD5328B436E59DAB7018C5E +:10ACE000B1649CD249E0D8B4ACFAF307CF25CAAF1F +:10ACF000F48E47E910186FD5F0884A6F5C723824DB +:10AD000057F173C79751CB23A17C3C006C560100CF +:10AD1000E89C3E2196DD61DC0D860F85E0907C424B +:10AD200071C4CCAA90D80605F7011C12C2A36A5FB1 +:10AD3000AEF969D0179199583A2727B9D938EB134A +:10AD40002BB32233D2BBA970078933A73C00A85686 +:10AD500001002DB63C221592C9208749AAFF5078E0 +:10AD6000A57A038F59F809801A1765DAD73184C696 +:10AD7000D0B882C329B05A771E117BCBA8FC6DD600 +:10AD80002C3A0400000000000000010000003C001C +:10AD9000E45601000200000003000000050000006E +:10ADA000000000000100000002000000030000009D +:10ADB00004000000010000000172657145727252CA +:10ADC0006561736F6E000000010000000500000067 +:10ADD0003C0020570100C48E0100249A01000000AD +:10ADE000000030000000249A0100A4B2010000001D +:10ADF00000006C000000A4B2010014C801000000B3 +:10AE00000000C00000001020304050BB30000100A6 +:10AE100000003C005C5701001416181A1C1E20226A +:10AE20002426282A2B2C01007017000001000000A6 +:10AE30000D250000413F0100652901000D2500009E +:10AE4000F55E0000413F0100413F010002040B0C90 +:10AE5000121618243C00985701003048606C01001D +:10AE60000000101010101010101010101010101002 +:10AE700000006400000001000000FFFFFFFF010070 +:10AE80000000000210121100000118000000020072 +:10AE90000000010000003C00D45701000000000049 +:10AEA000000000000200000004000000000000009C +:10AEB00000000000E093040040420F00000000008A +:10AEC0000100000000800000DF40CFFD0040830053 +:10AED00000000000010200003C00105801000000CA +:10AEE0000000000000000000000040008081000021 +:10AEF0008000BFFF7F7E0102000000000000000014 +:10AF0000000001000000786F010000000000B86F31 +:10AF1000010000000000F86F01003C004C580100E7 +:10AF2000000000003870010000000000787001008F +:10AF300000000000B870010000000000F87001007F +:10AF4000000000003871010000000000787101006D +:10AF50000001000090710100000100003C008858D1 +:10AF60000100A87101000001000000050A01060BA4 +:10AF700002070C03080D040900000303010100048B +:10AF800000040406161E1F0000000000000100005F +:10AF900080000000000000FFFFFF181818183C0098 +:10AFA000C458010018181818181818181818000094 +:10AFB000618B4A00618F4A00618B4A0005E3C00043 +:10AFC00005CBC00005BBC00085BAC00085A2C0008B +:10AFD0008592C000858AC000857AC0004589C0007E +:10AFE0003C00005901004571C0004569C000456141 +:10AFF000C0004559C0004551C0004549C000454109 +:10B00000C0004539C0004531C0004529C000452178 +:10B01000C000602D0600602D0600602D0600602D2A +:10B0200006003C003C590100602D06006028060027 +:10B030005026060050210600501F0600501C060036 +:10B04000501A06005018060050160600501406004C +:10B050005012060050100600500E0600500C06005C +:10B06000500A06003C00785901002B0B06001D75A4 +:10B07000C0001D75C0001D75C0001D75C0001D7588 +:10B08000C0001D75C0001D6DC000DD5BC000DD4B44 +:10B09000C000DD43C000DD3BC000DD33C000DD2B60 +:10B0A000C000DD23C0003C00B4590100DD1BC0001E +:10B0B000DD13C000DD13C000DD13C000DD13C000D0 +:10B0C000DD13C000050505040403030202010100AD +:10B0D000000005050504040303020201010000004D +:10B0E00000000000881300003C00F0590100070038 +:10B0F000000080005B004002E0FDF200B8FCA4010B +:10B1000000000F0000000F000000030B9F5F07010D +:10B110002A04210417040E040404FB03F103E803CA +:10B12000C903AA038A036B034C033C002C5A010099 +:10B130002D030E03EE02EC02010316032B03400362 +:10B1400055036A037F039403A903BE03D303E803F3 +:10B15000BE0394036A030002040607090A0B0C0DE0 +:10B160001010101010101010101000033C00685A3E +:10B17000010005080B0E1010101010101010101008 +:10B18000101010100000010000000100000000007D +:10B1900000000000000000000000000000000000AF +:10B1A00000000000000000000000000000003C0063 +:10B1B000A45A010000000000000000000000000090 +:10B1C000000000000000000000000000000000007F +:10B1D000000000000000000000000000000000006F +:10B1E000000000000000000000000000000000005F +:10B1F0003C00E05A010000000000000000000000D8 +:10B20000000000000000000000000000000000003E +:10B21000000000000000000000000000000000002E +:10B22000000000000000000000000000000000001E +:10B2300000003C001C5B010000000000000000005A +:10B2400000000000000000000000000000000000FE +:10B2500000000000000000000000000000000000EE +:10B2600000000000000000000000000000000000DE +:10B27000000000003C00585B0100000000000000DE +:10B2800000000000000000000000000000000000BE +:10B2900000000000000000000000000000000000AE +:10B2A000000000000000000000000000000000009E +:10B2B0000000000000003C00945B01000000000062 +:10B2C000000000000000000000000000000000007E +:10B2D000000000000000000000000000000000006E +:10B2E000000000000000000000000000000000005E +:10B2F00000000000000000003C00D05B01000000E6 +:10B30000000000000000000000000000000000003D +:10B31000000000000000000000000000000000002D +:10B32000000000000000000000000000000000001D +:10B33000000000000000000000003C000C5C010068 +:10B3400000000000000000000000000000000000FD +:10B3500000000000000000000000000000000000ED +:10B3600000000000000000000000000000000000DD +:10B370000000000000000000000000003C00485CED +:10B3800001000000000000000000000000000000BC +:10B3900000000000000000000000000000000000AD +:10B3A000000000000000000000000000000000009D +:10B3B00000000000000000000000000000003C0051 +:10B3C000845C01000000000000000000000000009C +:10B3D000000000000000000000000000000000006D +:10B3E000000000000000000000000000000000005D +:10B3F000000000000000000000000000000000004D +:10B400003C00C05C010000000000000000000000E3 +:10B41000000000000000000000000000000000002C +:10B42000000000000000000000000000000000001C +:10B43000000000000000000000000000000000000C +:10B4400000003C00FC5C0100000000000000000067 +:10B4500000000000000000000000000000000000EC +:10B4600000000000000000000000000000000000DC +:10B4700000000000000000000000000000000000CC +:10B48000000000003C00385D0100000000000000EA +:10B4900000000000000000000000000000000000AC +:10B4A000000000000000000000000000000000009C +:10B4B000000000000000000000000000000000008C +:10B4C0000000000000003C00745D0100000000006E +:10B4D000000000000000000000000000000000006C +:10B4E000000000000000000000000000000000005C +:10B4F000000000000000000000000000000000004C +:10B5000000000000000000003C00B05D01000000F1 +:10B51000000000000000000000000000000000002B +:10B52000000000000000000000000000000000001B +:10B53000000000000000000000000000000000000B +:10B54000000000000000000000003C00EC5D010075 +:10B5500000000000000000000000000000000000EB +:10B5600000000000000000000000000000000000DB +:10B5700000000000000000000000000000000000CB +:10B580000000000000000000000000003C00285EF9 +:10B5900001000000000000000000000000000000AA +:10B5A000000000000000000000000000000000009B +:10B5B000000000000000000000000000000000008B +:10B5C00000000000000000000000000000003C003F +:10B5D000645E0100000000000000000000000000A8 +:10B5E000000000000000000000000000000000005B +:10B5F000000000000000000000000000000000004B +:10B60000000000000000000000000000000000003A +:10B610003C00A05E010000000000000000000000EF +:10B62000000000000000000000000000000000001A +:10B63000000000000000000000000000000000000A +:10B6400000000000000000000000000000000000FA +:10B6500000003C00DC5E0100000000000000000073 +:10B6600000000000000000000000000000000000DA +:10B6700000000000000000000000000000000000CA +:10B6800000000000000000000000000000000000BA +:10B69000000000003C00185F0100000000000000F6 +:10B6A000000000000000000000000000000000009A +:10B6B000000000000000000000000000000000008A +:10B6C000000000000000000000000000000000007A +:10B6D0000000000000003C00545F0100000000007A +:10B6E000000000000000000000000000000000005A +:10B6F000000000000000000000000000000000004A +:10B700000000000000000000000000000000000039 +:10B7100000000000000000003C00905F01000000FD +:10B720000000000000000000000000000000000019 +:10B730000000000000000000000000000000000009 +:10B7400000000000000000000000000000000000F9 +:10B75000000000000000000000003C00CC5F010081 +:10B7600000000000000000000000000000000000D9 +:10B7700000000000000000000000000000000000C9 +:10B7800000000000000000000000000000000000B9 +:10B790000000000000000000000000003C00086005 +:10B7A0000100000000000000000000000000000098 +:10B7B0000000000000000000000000000000000089 +:10B7C0000000000000000000000000000000000079 +:10B7D00000000000000000000000000000003C002D +:10B7E00044600100000000000000000000000000B4 +:10B7F0000000000000000000000000000000000049 +:10B800000000000000000000000000000000000038 +:10B810000000000000000000000000000000000028 +:10B820003C008060010000000000000000000000FB +:10B830000000000000000000000000000000000008 +:10B8400000000000000000000000000000000000F8 +:10B8500000000000000000000000000000000000E8 +:10B8600000003C00BC60010000000000000000007F +:10B8700000000000000000000000000000000000C8 +:10B8800000000000000000000000000000000000B8 +:10B8900000000000000000000000000000000000A8 +:10B8A000000000003C00F860010000000000000003 +:10B8B0000000000000000000000000000000000088 +:10B8C0000000000000000000000000000000000078 +:10B8D0000000000000000000000000000000000068 +:10B8E0000000000000003C00346101000000000086 +:10B8F0000000000000000000000000000000000048 +:10B900000000000000000000000000000000000037 +:10B910000000000000000000000000000000000027 +:10B9200000000000000000003C0070610100000009 +:10B930000000000000000000000000000000000007 +:10B9400000000000000000000000000000000000F7 +:10B9500000000000000000000000000000000000E7 +:10B96000000000000000000000003C00AC6101008D +:10B9700000000000000000000000000000000000C7 +:10B9800000000000000000000000000000000000B7 +:10B9900000000000000000000000000000000000A7 +:10B9A0000000000000000000000000003C00E86112 +:10B9B0000100000000000000000000000000000086 +:10B9C0000000000000000000000000000000000077 +:10B9D0000000000000000000000000000000000067 +:10B9E00000000000000000000000000000003C001B +:10B9F00024620100000000000000000000000000C0 +:10BA00000000000000000000000000000000000036 +:10BA10000000000000000000000000000000000026 +:10BA20000000000000000000000000000000000016 +:10BA30003C00606201000000000000000000000007 +:10BA400000000000000000000000000000000000F6 +:10BA500000000000000000000000000000000000E6 +:10BA600000000000000000000000000000000000D6 +:10BA700000003C009C62010000000000000000008B +:10BA800000000000000000000000000000000000B6 +:10BA900000000000000000000000000000000000A6 +:10BAA0000000000000000000000000000000000096 +:10BAB000000000003C00D86201000000000000000F +:10BAC0000000000000000000000000000000000076 +:10BAD0000000000000000000000000000000000066 +:10BAE0000000000000000000000000000000000056 +:10BAF0000000000000003C00146301000000000092 +:10BB00000000000000000000000000000000000035 +:10BB10000000000000000000000000000000000025 +:10BB20000000000000000000000000000000000015 +:10BB300000000000000000003C0050630100000015 +:10BB400000000000000000000000000000000000F5 +:10BB500000000000000000000000000000000000E5 +:10BB600000000000000000000000000000000000D5 +:10BB7000000000000000000000003C008C63010099 +:10BB800000000000000000000000000000000000B5 +:10BB900000000000000000000000000000000000A5 +:10BBA0000000000000000000000000000000000095 +:10BBB0000000000000000000000000003C00C8631E +:10BBC0000100000000000000000000000000000074 +:10BBD0000000000000000000000000000000000065 +:10BBE0000000000000000000000000000000000055 +:10BBF00000000000000000000000000000003C0009 +:10BC000004640100000000000000000000000000CB +:10BC10000000000000000000000000000000000024 +:10BC20000000000000000000000000000000000014 +:10BC30000000000000000000000000000000000004 +:10BC40003C00406401000000000000000000000013 +:10BC500000000000000000000000000000000000E4 +:10BC600000000000000000000000000000000000D4 +:10BC700000000000000000000000000000000000C4 +:10BC800000003C007C640100000000000000000097 +:10BC900000000000000000000000000000000000A4 +:10BCA0000000000000000000000000000000000094 +:10BCB0000000000000000000000000000000000084 +:10BCC000000000003C00B86401000000000000001B +:10BCD0000000000000000000000000000000000064 +:10BCE0000000000000000000000000000000000054 +:10BCF0000000000000000000000000000000000044 +:10BD00000000000000003C00F4640100000000009E +:10BD10000000000000000000000000000000000023 +:10BD20000000000000000000000000000000000013 +:10BD30000000000000000000000000000000000003 +:10BD400000000000000000003C0030650100000021 +:10BD500000000000000000000000000000000000E3 +:10BD600000000000000000000000000000000000D3 +:10BD700000000000000000000000000000000000C3 +:10BD8000000000000000000000003C006C650100A5 +:10BD900000000000000000000000000000000000A3 +:10BDA0000000000000000000000000000000000093 +:10BDB0000000000000000000000000000000000083 +:10BDC0000000000000000000000000003C00A8652A +:10BDD0000100000000000000000000000000000062 +:10BDE0000000000000000000000000000000000053 +:10BDF0000000000000000000000000000000000043 +:10BE000000000000000000000000000000003C00F6 +:10BE1000E4650100000000000000000000000000D8 +:10BE20000000000000000000000000000000000012 +:10BE30000000000000000000000000000000000002 +:10BE400000000000000000000000000000000000F2 +:10BE50003C0020660100000000000000000000001F +:10BE600000000000000000000000000000000000D2 +:10BE700000000000000000000000000000000000C2 +:10BE800000000000000000000000000000000000B2 +:10BE900000003C005C6601000000000000000000A3 +:10BEA0000000000000000000000000000000000092 +:10BEB0000000000000000000000000000000000082 +:10BEC0000000000000000000000000000000000072 +:10BED000000000003C009866010000000000000027 +:10BEE0000000000000000000000000000000000052 +:10BEF0000000000000000000000000000000000042 +:10BF00000000000000000000000000000000000031 +:10BF10000000000000003C00D466010000000000AA +:10BF20000000000000000000000000000000000011 +:10BF30000000000000000000000000000000000001 +:10BF400000000000000000000000000000000000F1 +:10BF500000000000000000003C001067010000002D +:10BF600000000000000000000000000000000000D1 +:10BF700000000000000000000000000000000000C1 +:10BF800000000000000000000000000000000000B1 +:10BF9000000000000000000000003C004C670100B1 +:10BFA0000000000000000000000000000000000091 +:10BFB0000000000000000000000000000000000081 +:10BFC0000000000000000000000000000000000071 +:10BFD0000000000000000000000000003C00886736 +:10BFE0000100000000000000000000000000000050 +:10BFF0000000000000000000000000000000000041 +:10C000000000000000000000000000000000000030 +:10C0100000000000000000000000000000003C00E4 +:10C02000C4670100000000000000000000000000E4 +:10C030000000000000000000000000000000000000 +:10C0400000000000000000000000000000000000F0 +:10C0500000000000000000000000000000000000E0 +:10C060003C0000680100000000000000000000002B +:10C0700000000000000000000000000000000000C0 +:10C0800000000000000000000000000000000000B0 +:10C0900000000000000000000000000000000000A0 +:10C0A00000003C003C6801000000000000000000AF +:10C0B0000000000000000000000000000000000080 +:10C0C0000000000000000000000000000000000070 +:10C0D0000000000000000000000000000000000060 +:10C0E000000000003C007868010000000000000033 +:10C0F0000000000000000000000000000000000040 +:10C10000000000000000000000000000000000002F +:10C11000000000000000000000000000000000001F +:10C120000000000000003C00B468010000000000B6 +:10C1300000000000000000000000000000000000FF +:10C1400000000000000000000000000000000000EF +:10C1500000000000000000000000000000000000DF +:10C1600000000000000000003C00F068010000003A +:10C1700000000000000000000000000000000000BF +:10C1800000000000000000000000000000000000AF +:10C19000000000000000000000000000000000009F +:10C1A000000000000000000000003C002C690100BD +:10C1B000000000000000000000000000000000007F +:10C1C000000000000000000000000000000000006F +:10C1D000000000000000000000000000000000005F +:10C1E0000000000000000000000000003C00686942 +:10C1F000010000000000000000000000000000003E +:10C20000000000000000000000000000000000002E +:10C21000000000000000000000000000000000001E +:10C2200000000000000000000000000000003C00D2 +:10C23000A4690100000000000000000000000000F0 +:10C2400000000000000000000000000000000000EE +:10C2500000000000000000000000000000000000DE +:10C2600000000000000000000000000000000000CE +:10C270003C00E06901000000000000000000000038 +:10C2800000000000000000000000000000000000AE +:10C29000000000000000000000000000000000009E +:10C2A000000000000000000000000000000000008E +:10C2B00000003C001C6A01000000000000000000BB +:10C2C000000000000000000000000000000000006E +:10C2D000000000000000000000000000000000005E +:10C2E000000000000000000000000000000000004E +:10C2F000000000003C00586A01000000000000003F +:10C30000000000000000000000000000000000002D +:10C31000000000000000000000000000000000001D +:10C32000000000000000000000000000000000000D +:10C330000000000000003C00946A010000000000C2 +:10C3400000000000000000000000000000000000ED +:10C3500000000000000000000000000000000000DD +:10C3600000000000000000000000000000000000CD +:10C3700000000000000000003C00D06A0100000046 +:10C3800000000000000000000000000000000000AD +:10C39000000000000000000000000000000000009D +:10C3A000000000000000000000000000000000008D +:10C3B000000000000000000000003C000C6B0100C9 +:10C3C000000000000000000000000000000000006D +:10C3D000000000000000000000000000000000005D +:10C3E000000000000000000000000000000000004D +:10C3F0000000000000000000000000003C00486B4E +:10C40000010000000000000000000000000000002B +:10C41000000000000000000000000000000000001C +:10C42000000000000000000000000000000000000C +:10C4300000000000000000000000000000003C00C0 +:10C44000846B0100000000000000000000000000FC +:10C4500000000000000000000000000000000000DC +:10C4600000000000000000000000000000000000CC +:10C4700000000000000000000000000000000000BC +:10C480003C00C06B01000000000000000000000044 +:10C49000000000000000000000000000000000009C +:10C4A000000000000000000000000000000000008C +:10C4B000000000000000000000000000000000007C +:10C4C00000003C00FC6B01000000000000000000C8 +:10C4D000000000000000000000000000000000005C +:10C4E000000000000000000000000000000000004C +:10C4F000000000000000000000000000000000003C +:10C50000000000003C00386C01000000000000004A +:10C51000000000000000000000000000000000001B +:10C52000000000000000000000000000000000000B +:10C5300000000000000000000000000000000000FB +:10C540000000000000003C00746C010000000000CE +:10C5500000000000000000000000000000000000DB +:10C5600000000000000000000000000000000000CB +:10C5700000000000000000000000000000000000BB +:10C5800000000000000000003C00B06C0100000052 +:10C59000000000000000000000000000000000009B +:10C5A000000000000000000000000000000000008B +:10C5B000000000000000000000000000000000007B +:10C5C000000000000000000000003C00EC6C0100D6 +:10C5D000000000000000000000000000000000005B +:10C5E000000000000000000000000000000000004B +:10C5F000000000000000000000000000000000003B +:10C600000000000000000000000000003C00286D59 +:10C610000100000000000000000000000000000019 +:10C62000000000000000000000000000000000000A +:10C6300000000000000000000000000000000000FA +:10C6400000000000000000000000000000003C00AE +:10C65000646D010000000000000000000000000008 +:10C6600000000000000000000000000000000000CA +:10C6700000000000000000000000000000000000BA +:10C6800000000000000000000000000000000000AA +:10C690003C00A06D01000000000000000000000050 +:10C6A000000000000000000000000000000000008A +:10C6B000000000000000000000000000000000007A +:10C6C000000000000000000000000000000000006A +:10C6D00000003C00DC6D01000000000000000000D4 +:10C6E000000000000000000000000000000000004A +:10C6F000000000000000000000000000000000003A +:10C700000000000000000000000000000000000029 +:10C71000000000003C00186E010000000000000056 +:10C720000000000000000000000000000000000009 +:10C7300000000000000000000000000000000000F9 +:10C7400000000000000000000000000000000000E9 +:10C750000000000000003C00546E010000000000DA +:10C7600000000000000000000000000000000000C9 +:10C7700000000000000000000000000000000000B9 +:10C7800000000000000000000000000000000000A9 +:10C7900000000000000000003C00906E010000005E +:10C7A0000000000000000000000000000000000089 +:10C7B0000000000000000000000000000000000079 +:10C7C0000000000000000000000000000000000069 +:10C7D000000000000000000000003C00CC6E0100E2 +:10C7E0000000000000000000000000000000000049 +:10C7F0000000000000000000000000000000000039 +:10C800000000000000000000000000000000000028 +:10C810000000000000000000000000003C00086F65 +:10C820000100000000000000000000000000000007 +:10C8300000000000000000000000000000000000F8 +:10C8400000000000000000000000000000000000E8 +:10C8500000000000000000000000000000003C009C +:10C86000446F010000000000000000000000000014 +:10C8700000000000000000000000000000000000B8 +:10C8800000000000000000000000000000000000A8 +:10C890000000000000000000000000000000000098 +:10C8A0003C00806F0100000000000000000000005C +:10C8B0000000000000000000000000000000000078 +:10C8C0000000000000000000000000000000000068 +:10C8D0000000000000000000000000000000000058 +:10C8E00000003C00BC6F01000000000000000000E0 +:10C8F0000000000000000000000000000000000038 +:10C900000000000000000000000000000000000027 +:10C910000000000000000000000000000000000017 +:10C92000000000003C00F86F010000000000000063 +:10C9300000000000000000000000000000000000F7 +:10C9400000000000000000000000000000000000E7 +:10C9500000000000000000000000000000000000D7 +:10C960000000000000003C003470010000000000E6 +:10C9700000000000000000000000000000000000B7 +:10C9800000000000000000000000000000000000A7 +:10C990000000000000000000000000000000000097 +:10C9A00000000000000000003C007070010000006A +:10C9B0000000000000000000000000000000000077 +:10C9C0000000000000000000000000000000000067 +:10C9D0000000000000000000000000000000000057 +:10C9E000000000000000000000003C00AC700100EE +:10C9F0000000000000000000000000000000000037 +:10CA00000000000000000000000000000000000026 +:10CA10000000000000000000000000000000000016 +:10CA20000000000000000000000000003C00E87072 +:10CA300001000000000000000000000000000000F5 +:10CA400000000000000000000000000000000000E6 +:10CA500000000000000000000000000000000000D6 +:10CA600000000000000000000000000000003C008A +:10CA70002471010000000000000000000000000020 +:10CA800000000000000000000000000000000000A6 +:10CA90000000000000000000000000000000000096 +:10CAA0000000000000000000000000000000000086 +:10CAB0003C00607101000000000000000000000068 +:10CAC0000000000000000000000000000000000066 +:10CAD0000000000000000000000000000000000056 +:10CAE0000000000000000000000000000000000046 +:10CAF00000003C009C7101000000000000000000EC +:10CB00000000000000000000000000000000000025 +:10CB10000000000000000000000000000000000015 +:10CB20000000000000000000000000000000000005 +:10CB3000000000003C00D87101000000000000006F +:10CB400000000000000000000000000000000000E5 +:10CB500000000000000000000000000000000000D5 +:10CB600000000000000000000000000000000000C5 +:10CB70000000000000003C001472010000000000F2 +:10CB800000000000000000000000000000000000A5 +:10CB90000000000000000000000000000000000095 +:10CBA0000000000000000000000000000000000085 +:10CBB00000000000000000003C0050720100000076 +:10CBC0000000000000000000000000000000000065 +:10CBD0000000000000000000000000000000000055 +:10CBE0000000000000000000000000000000000045 +:10CBF000000000000000000000003C008C720100FA +:10CC00000000000000000000000000000000000024 +:10CC10000000000000000000000000000000000014 +:10CC20000000000000000000000000000000000004 +:10CC30000000000000000000000000003C00C8727E +:10CC400001000000000000000000000000000000E3 +:10CC500000000000000000000000000000000000D4 +:10CC600000000000000000000000000000000000C4 +:10CC700000000000000000000000000000003C0078 +:10CC8000047301000000000000000000000000002C +:10CC90000000000000000000000000000000000094 +:10CCA0000000000000000000000000000000000084 +:10CCB0000000000000000000000000000000000074 +:10CCC0003C00407301000000000000000000000074 +:10CCD0000000000000000000000000000000000054 +:10CCE0000000000000000000000000000000000044 +:10CCF0000000000000000000000000000000000034 +:10CD000000003C007C7301000000000000000000F7 +:10CD10000000000000000000000000000000000013 +:10CD20000000000000000000000000000000000003 +:10CD300000000000000000000000000000000000F3 +:10CD4000000000003C00B87301000000000000007B +:10CD500000000000000000000000000000000000D3 +:10CD600000000000000000000000000000000000C3 +:10CD700000000000000000000000000000000000B3 +:10CD80000000000000003C00F473010000000000FF +:10CD90000000000000000000000000000000000093 +:10CDA0000000000000000000000000000000000083 +:10CDB0000000000000000000000000000000000073 +:10CDC00000000000000000003C0030740100000082 +:10CDD0000000000000000000000000000000000053 +:10CDE0000000000000000000000000000000000043 +:10CDF0000000000000000000000000000000000033 +:10CE0000000000000000000000003C006C74010005 +:10CE10000000000000000000000000000000000012 +:10CE20000000000000000000000000000000000002 +:10CE300000000000000000000000000000000000F2 +:10CE40000000000000000000000000003C00A8748A +:10CE500001000000000000000000000000000000D1 +:10CE600000000000000000000000000000000000C2 +:10CE700000000000000000000000000000000000B2 +:10CE800000000000000000000000000000003C0066 +:10CE9000E474010000000000000000000000000039 +:10CEA0000000000000000000000000000000000082 +:10CEB0000000000000000000000000000000000072 +:10CEC0000000000000000000000000000000000062 +:10CED0003C00207501000000000000000000000080 +:10CEE0000000000000000000000000000000000042 +:10CEF0000000000000000000000000000000000032 +:10CF00000000000000000000000000000000000021 +:10CF100000003C005C750100000000000000000003 +:10CF20000000000000000000000000000000000001 +:10CF300000000000000000000000000000000000F1 +:10CF400000000000000000000000000000000000E1 +:10CF5000000000003C009875010000000000000087 +:10CF600000000000000000000000000000000000C1 +:10CF700000000000000000000000000000000000B1 +:10CF800000000000000000000000000000000000A1 +:10CF90000000000000003C00D4750100000000000B +:10CFA0000000000000000000000000000000000081 +:10CFB0000000000000000000000000000000000071 +:10CFC0000000000000000000000000000000000061 +:10CFD00000000000000000003C001076010000008E +:10CFE0000000000000000000000000000000000041 +:10CFF0000000000000000000000000000000000031 +:10D000000000000000000000000000000000000020 +:10D01000000000000000000000003C004C76010011 +:10D020000000000000000000000000000000000000 +:10D0300000000000000000000000000000000000F0 +:10D0400000000000000000000000000000000000E0 +:10D050000000000000000000000000003C00887696 +:10D0600001000000000000000000000000000000BF +:10D0700000000000000000000000000000000000B0 +:10D0800000000000000000000000000000000000A0 +:10D0900000000000000000000000000000003C0054 +:10D0A000C476010000000000000000000000000045 +:10D0B0000000000000000000000000000000000070 +:10D0C0000000000000000000000000000000000060 +:10D0D0000000000000000000000000000000000050 +:10D0E0003C0000770100000000000000000000008C +:10D0F0000000000000000000000000000000000030 +:10D10000000000000000000000000000000000001F +:10D11000000000000000000000000000000000000F +:10D1200000003C003C77010000000000000000000F +:10D1300000000000000000000000000000000000EF +:10D1400000000000000000000000000000000000DF +:10D1500000000000000000000000000000000000CF +:10D16000000000003C007877010000000000000093 +:10D1700000000000000000000000000000000000AF +:10D18000000000000000000000000000000000009F +:10D19000000000000000000000000000000000008F +:10D1A0000000000000003C00B47701000000000017 +:10D1B000000000000000000000000000000000006F +:10D1C000000000000000000000000000000000005F +:10D1D000000000000000000000000000000000004F +:10D1E00000000000000000003C00F077010000009B +:10D1F000000000000000000000000000000000002F +:10D20000000000000000000000000000000000001E +:10D21000000000000000000000000000000000000E +:10D22000000000000000000000003C002C7801001D +:10D2300000000000000000000000000000000000EE +:10D2400000000000000000000000000000000000DE +:10D2500000000000000000000000000000000000CE +:10D260000000000000000000000000003C006878A2 +:10D2700001000000000000000000000000000000AD +:10D28000000000000000000000000000000000009E +:10D29000000000000000000000000000000000008E +:10D2A00000000000000000000000000000003C0042 +:10D2B000A478010000000000000000000000000051 +:10D2C000000000000000000000000000000000005E +:10D2D000000000000000000000000000000000004E +:10D2E000000000000000000000000000000000003E +:10D2F0003C00E07801000000000000000000000099 +:10D30000000000000000000000000000000000001D +:10D31000000000000000000000000000000000000D +:10D3200000000000000000000000000000000000FD +:10D3300000003C001C79010000000000000000001B +:10D3400000000000000000000000000000000000DD +:10D3500000000000000000000000000000000000CD +:10D3600000000000000000000000000000000000BD +:10D37000000000003C00587901000000000000009F +:10D38000000000000000000000000000000000009D +:10D39000000000000000000000000000000000008D +:10D3A000000000000000000000000000000000007D +:10D3B0000000000000003C00947901000000000023 +:10D3C000000000000000000000000000000000005D +:10D3D000000000000000000000000000000000004D +:10D3E000000000000000000000000000000000003D +:10D3F00000000000000000003C00D07901000000A7 +:10D40000000000000000000000000000000000001C +:10D41000000000000000000000000000000000000C +:10D4200000000000000000000000000000000000FC +:10D43000000000000000000000003C000C7A010029 +:10D4400000000000000000000000000000000000DC +:10D4500000000000000000000000000000000000CC +:10D4600000000000000000000000000000000000BC +:10D470000000000000000000000000003C00487AAE +:10D48000010000000000000000000000000000009B +:10D49000000000000000000000000000000000008C +:10D4A000000000000000000000000000000000007C +:10D4B00000000000000000000000000000003C0030 +:10D4C000847A01000000000000000000000000005D +:10D4D000000000000000000000000000000000004C +:10D4E000000000000000000000000000000000003C +:10D4F000000000000000000000000000000000002C +:10D500003C00C07A010000000000000000000000A4 +:10D51000000000000000000000000000000000000B +:10D5200000000000000000000000000000000000FB +:10D5300000000000000000000000000000000000EB +:10D5400000003C00FC7A0100000000000000000028 +:10D5500000000000000000000000000000000000CB +:10D5600000000000000000000000000000000000BB +:10D5700000000000000000000000000000000000AB +:10D58000000000003C00387B0100000000000000AB +:10D59000000000000000000000000000000000008B +:10D5A000000000000000000000000000000000007B +:10D5B000000000000000000000000000000000006B +:10D5C0000000000000003C00747B0100000000002F +:10D5D000000000000000000000000000000000004B +:10D5E000000000000000000000000000000000003B +:10D5F000000000000000000000000000000000002B +:10D6000000000000000000003C00B07B01000000B2 +:10D61000000000000000000000000000000000000A +:10D6200000000000000000000000000000000000FA +:10D6300000000000000000000000000000000000EA +:10D64000000000000000000000003C00EC7B010036 +:10D6500000000000000000000000000000000000CA +:10D6600000000000000000000000000000000000BA +:10D6700000000000000000000000000000000000AA +:10D680000000000000000000000000003C00287CBA +:10D690000100000000000000000000000000000089 +:10D6A000000000000000000000000000000000007A +:10D6B000000000000000000000000000000000006A +:10D6C00000000000000000000000000000003C001E +:10D6D000647C010000000000000000000000000069 +:10D6E000000000000000000000000000000000003A +:10D6F000000000000000000000000000000000002A +:10D700000000000000000000000000000000000019 +:10D710003C00A07C010000000000000000000000B0 +:10D7200000000000000000000000000000000000F9 +:10D7300000000000000000000000000000000000E9 +:10D7400000000000000000000000000000000000D9 +:10D7500000003C00DC7C0100000000000000000034 +:10D7600000000000000000000000000000000000B9 +:10D7700000000000000000000000000000000000A9 +:10D780000000000000000000000000000000000099 +:10D79000000000003C00187D0100000000000000B7 +:10D7A0000000000000000000000000000000000079 +:10D7B0000000000000000000000000000000000069 +:10D7C0000000000000000000000000000000000059 +:10D7D0000000000000003C00547D0100000000003B +:10D7E0000000000000000000000000000000000039 +:10D7F0000000000000000000000000000000000029 +:10D800000000000000000000000000000000000018 +:10D8100000000000000000003C00907D01000000BE +:10D8200000000000000000000000000000000000F8 +:10D8300000000000000000000000000000000000E8 +:10D8400000000000000000000000000000000000D8 +:10D85000000000000000000000003C00CC7D010042 +:10D8600000000000000000000000000000000000B8 +:10D8700000000000000000000000000000000000A8 +:10D880000000000000000000000000000000000098 +:10D890000000000000000000000000003C00087EC6 +:10D8A0000100000000000000000000000000000077 +:10D8B0000000000000000000000000000000000068 +:10D8C0000000000000000000000000000000000058 +:10D8D00000000000000000000000000000003C000C +:10D8E000447E010000000000000000000000000075 +:10D8F0000000000000000000000000000000000028 +:10D900000000000000000000000000000000000017 +:10D910000000000000000000000000000000000007 +:10D920003C00807E010000000000000000000000BC +:10D9300000000000000000000000000000000000E7 +:10D9400000000000000000000000000000000000D7 +:10D9500000000000000000000000000000000000C7 +:10D9600000003C00BC7E0100000000000000000040 +:10D9700000000000000000000000000000000000A7 +:10D980000000000000000000000000000000000097 +:10D990000000000000000000000000000000000087 +:10D9A000000000003C00F87E0100000000000000C4 +:10D9B0000000000000000000000000000000000067 +:10D9C0000000000000000000000000000000000057 +:10D9D0000000000000000000000000000000000047 +:10D9E0000000000000003C00347F01000000000047 +:10D9F0000000000000000000000000000000000027 +:10DA00000000000000000000000000000000000016 +:10DA10000000000000000000000000000000000006 +:10DA200000000000000000003C00707F01000000CA +:10DA300000000000000000000000000000000000E6 +:10DA400000000000000000000000000000000000D6 +:10DA500000000000000000000000000000000000C6 +:10DA6000000000000000000000003C00AC7F01004E +:10DA700000000000000000000000000000000000A6 +:10DA80000000000000000000000000000000000096 +:10DA90000000000000000000000000000000000086 +:10DAA0000000000000000000000000003C00E87FD3 +:10DAB0000100000000000000000000000000000065 +:10DAC0000000000000000000000070B50125074EB6 +:10DAD000AD0375610A20FAF76CFF30688003C40F4C +:10DAE000B5610A20FAF765FF201C70BD00003C00FC +:10DAF000248001001000070070B501256D04002886 +:10DB0000104C01D0656100E0A56160682843606049 +:10DB1000A0682843A0600A20FAF74EFF0126B6034A +:10DB200066610A20FAF748FFA6610120FAF744FF70 +:10DB30003C0060800100A068A843A06060682843A2 +:10DB400060600A20FAF73BFF70BD1000070070B557 +:10DB50000125104C6D046561606828436060A06811 +:10DB60002843A060EE08A6610A20FAF728FF666144 +:10DB70000A203C009C800100FAF724FFA5610A20DE +:10DB8000FAF720FFA6610A20FAF71CFFA068A84355 +:10DB9000A06060682843606070BD0000100007004E +:10DBA00070B501250E4C6D04A56160682843606066 +:10DBB000A06828433C00D8800100A060EE086661A0 +:10DBC0000A20FAF702FF65610A20FAF7FEFEA66155 +:10DBD0000A20FAF7FAFEA068A843A060606828430C +:10DBE000606070BD00001000070070B5051C0024C7 +:10DBF0008026281C30403C0014810100FFF788FF7C +:10DC00006806050E0134082CF6DBFFF76DFF70BDCA +:10DC100080B5021C0B218020FBF73EFB80BD00007D +:10DC2000F8B512480025071CFF37061D0137281CD0 +:10DC3000F9F7EAFD041C17D03C005081010020696F +:10DC4000002804D0E06A002803D00020E062251CF0 +:10DC5000F0E77B68002B05D0321C211C44310120E9 +:10DC6000E8F734F9201C4430F9F737FEE2E7F8BD55 +:10DC7000000020F70100114870B53C008C810100C4 +:10DC80000068FF281DD1FF203230FAF7A7FE0E4DA5 +:10DC90006C680E48FAF7A2FE6868241A012000F0AA +:10DCA00095FD6E680948FAF799FE6868211C0A39E3 +:10DCB000301A884202D30A34A04202D93C00C881FB +:10DCC0000100002000F085FD70BDF4740100000328 +:10DCD00007009303000070B500F04DF80120EDF748 +:10DCE00034F9114D182168600020E9F7F2F9286035 +:10DCF00004688020208000260622FF21201D3C0091 +:10DD0000048201006680E8F70BFA201C0A300949FA +:10DD1000F2F72EFD201C10300749F2F729FDE682AC +:10DD200003CDE9F7F9F8024901201439886070BD84 +:10DD300090D901001261010024F701007047000032 +:10DD40003C004082010010B5064C00220220E16830 +:10DD5000F0F711FB6078022801D100F01AF910BD2C +:10DD6000000040D9010080B5A120FFF750FF80BD21 +:10DD7000000040000E21084080B5A030FFF747FFAB +:10DD800080BD3C007C82010010B5054C2068002855 +:10DD900004D0E9F787F900202060606010BD000022 +:10DDA00090D9010010B5074C0121074A21610220DA +:10DDB0001070616100F0D6FC00F0C8FB201CEDF78C +:10DDC0009FFA10BD3C00B882010020F701007CD909 +:10DDD000010070B5021C081C0225002A134E14D045 +:10DDE00000F011FC3078012108433070307828436E +:10DDF000307000207D214901B279920700D50134AD +:10DE000001308842F8DB3C00F4820100201C70BD28 +:10DE10003078A843307030784008400030700549B1 +:10DE200048680122120490434860012070BD000040 +:10DE3000880007006C000700FFB509AE002060CE27 +:10DE4000286000239C4630603C0030830100694616 +:10DE500001AA17E0DB070ED5124B1C56631C0AD033 +:10DE600001272B68A7403B432B601368DB0702D5D3 +:10DE700033683B4333600B685B080B6013685B08D7 +:10DE8000136001300B68002B01D03C006C83010053 +:10DE90002228E2D3634601332020022B9C4602A9AC +:10DEA00003AAF2DBFFBD0000B48D0100B0B5041C75 +:10DEB0000D1C1E2100220320054BF9F7B3F8211C8D +:10DEC0000320F9F7F5F8291C0320F9F73C00A88393 +:10DED0000100F1F8B0BD80380100B0B51C4C1C4DFC +:10DEE0002178022909D0032919D004291FD0052936 +:10DEF00023D1002000F017FB23E0686114481C3098 +:10DF0000C16802698918C16000F02FFBE0683C001D +:10DF1000E48301000138E06016D13220E060FFF7B1 +:10DF2000A3FE11E0002000F001FB00F02DFC012019 +:10DF3000207009E0002000F0F9FAFFF745FF03E048 +:10DF400005210B20E8F746FF68696168E7F7DDFF08 +:10DF50003C0020840100B0BD00007CD9010020F706 +:10DF60000100F7B5041C171CFFF721FE200AFFF77C +:10DF700018FF2006000EFFF762FEFFF718FEA12033 +:10DF8000FFF75DFE002516E0002000244006060E87 +:10DF9000FFF73C005C840100D1FD0006000E304319 +:10DFA0000134082CF5DB291C019A0135BD4250547F +:10DFB00001DA002000E00120FFF7D4FDBD42E6DBDE +:10DFC000FFF71EFEFEBD000080B5FFF719FE092118 +:10DFD000890300223C00988401000220F0F7E9F94F +:10DFE00080BD0921890380B500220220F0F7C9F91C +:10DFF000012109488903816142680A4342608268BD +:10E000001143816001214904816182688A438260F1 +:10E010004268114341603C00D484010080BD00008F +:10E0200010000700F0B5041CC0687B4E056830780E +:10E0300085B0012801D0022872D100212069F2F7B1 +:10E0400041F97649F2F724FC002869D0201C2030E1 +:10E05000417A082902D1724A3C0010850100002152 +:10E060005161007A226A1821F2F7C9FBE16A371C74 +:10E0700040186C49029030780E1CFF360A1D01369C +:10E080000128049207D0654A02991C32281CEDF73A +:10E09000E2FB00286BD0322120693C004C85010056 +:10E0A000F2F716F9019020690121F2F711F9011C2C +:10E0B0005E480123019AEDF707FC002804D15B4874 +:10E0C000EDF792FA0021B96056481C308168EAF7F2 +:10E0D00019FC201C143003900499F2F73C00888549 +:10E0E0000100D5FB002805D10022BA6004980399ED +:10E0F000F2F76BFB4F4928890988884203D0002238 +:10E100004C49BA60088003212069F2F7E4F800283E +:10E1100010D04649827820310B7994469A423C00CF +:10E12000C485010009D00022BA6062460A71807875 +:10E130000121F3F705F900E077E006212069F2F705 +:10E14000CDF8002808D081783A4840308288914242 +:10E1500002D00022BA6081802A212069F2F7BEF83D +:10E160003C000086010000280DD08078F169334A18 +:10E17000814208D00021B960F061101CEDF709FB65 +:10E180002F48EDF7FAFA38783B1C012817D1022006 +:10E1900018702A4F01233B61274B03CD1C33083DE8 +:10E1A000029A3C003C860100EDF7B0FA381CEDF70E +:10E1B000D7F83268002A03D000210120E7F7C4FE17 +:10E1C00000F0F4F9201CF9F7D5FB071C11D1201C35 +:10E1D000F9F788FB071C2ED001233B616889402199 +:10E1E000C85373683C0078860100002B04D0211CC2 +:10E1F0000020049AE7F7ACFE0123FB62206932217C +:10E20000F2F775F8051C20690121F2F770F80E4E3F +:10E21000011C2A1C301CEDF7C0FB00280ED1322156 +:10E220002069F2F764F83C00B4860100051C2069FF +:10E230000121F2F75FF8011C3B1C2A1C301CEDF792 +:10E24000D7FA05B0F0BD00007CD9010040F801000C +:10E2500020F70100021C081C802A80B506D0812A04 +:10E2600003D004210B20E8F73C00F0860100D9FD23 +:10E2700080BDFFF75CFE80BD000003488178FF2968 +:10E2800001D0007970470020704780F8010030B558 +:10E2900089B000930E4D131C041C2A1CECF725FDBD +:10E2A00001A906A8A268ECF7CEFE3C002C8701006D +:10E2B00001AA06A9281C636AEDF744FA041C012888 +:10E2C00004D1281CEDF72CF800F04AF8201C09B006 +:10E2D00030BD000020F7010080B5EDF72BF800F00D +:10E2E0007DF80248EDF702FA80BD00003C00688727 +:10E2F000010020F7010080B500280BD10648EDF79A +:10E30000F8F900F06EF80120EDF7EBFA034903206D +:10E31000F9F735FE80BD20F701006D870100B0B52B +:10E32000104D041C131C2A1C88B0ECF702FD3C00A5 +:10E33000A4870100211C0A310622281DE7F7A4FE4C +:10E34000694605A86269ECF787FE281CECF7EEFF2A +:10E350007F23DB43281C6A4605A9EDF7F9F900F095 +:10E360001DF808B0B0BD000020F701000A4880B5D4 +:10E370003C00E08701000178002906D0022901D085 +:10E38000052907D10321017080BD0121017000F032 +:10E390002EFA80BD03210B20E8F74FFD80BD7CD90C +:10E3A0000100094980B50878002806D0022801D06C +:10E3B00005283C001C88010005D10420087080BDA0 +:10E3C000FFF738FD80BD02210B20E8F739FD80BD45 +:10E3D0007CD9010080B502210B20044AFAF782FFA4 +:10E3E000F6F786FD0249086180BD0000DD86010068 +:10E3F0007CD901003C00588801000C4880B50178A8 +:10E4000006290ED202A35B5C5B009F44000006035A +:10E4100007070706002000F0C2F880BD0521017043 +:10E4200080BD04210B20E8F70EFD80BD00007CD9E3 +:10E430000100704700003C009488010010B50D4BAE +:10E44000041C181C1030002C08D0DB885B045B0C0B +:10E450000B80807B48800420108008E0DA8801244B +:10E46000E40322400C882243DA804988817301202A +:10E4700010BD0000300007003C00D088010070B5DE +:10E48000104E021C0023F056002A02D0087001240E +:10E4900015E00023CD56854201D1012070BD281C16 +:10E4A00000F05FF9041C0AD00748357000680028A6 +:10E4B00003D000210A20F9F728FD3C000C89010057 +:10E4C00000F016FA201C70BDF46B01003CD901006D +:10E4D000031C081C002B80B506D0042111800422E7 +:10E4E0000449E7F7E3FD02E0006800F0CFF90120FE +:10E4F00080BD0000F474010010B5FFF73C004889AE +:10E50000010097FBFFF789FC041CFFF7B8FBFFF73E +:10E5100084FC002C02D1012800D110BD002010BDC8 +:10E520000000F8B5204F041C78780E1C02282ED06D +:10E530001E4AF968916114231D49584340183C0054 +:10E5400084890100417BB878F8F714FE00F08AF95D +:10E55000002504E00021B878F8F70CFE0135787842 +:10E560001423144958434018807AA842F2DC00254D +:10E5700008E00021B878F8F7FDFD0F48006820702A +:10E580003C00C089010001340135B542F4DB094A81 +:10E59000F86850617878022806D1B868321C211CCE +:10E5A0000004000CFFF725FDB8688019B860F8BDBD +:10E5B000000040D9010010000700648D01003020E8 +:10E5C00007003C00FC89010070B5061C0C4D0024BE +:10E5D0002C70FFF739FC0A4818211C30AC60E7F7B3 +:10E5E00043FD08484461F9F763F9002E06D1064857 +:10E5F0002969F6F7A7FC0020ECF7B0FE70BD00001B +:10E600007CD901003C00388A010020F70100346306 +:10E61000010030B5124C85B0206800281CD00F488E +:10E6200014388068002801D1FFF7C1FB206800235F +:10E63000006801AA04300121ECF7D1FD0849084A1D +:10E6400008310C3100923C00748A010003C900AB10 +:10E650004518997B019A20682B1CF2F72BFE05B018 +:10E6600030BD000090D901002981010010B5134C84 +:10E67000142360705843124BC1188A88E2801858DE +:10E68000E060087AA070FF283C00B08A010012D038 +:10E69000002208210D4BF8F722FD00220220E1683C +:10E6A000EFF7BDFE0A49E06848614A6802434A60E4 +:10E6B0008A68104388606078022801D1FFF7DFFC88 +:10E6C00010BD40D90100648D01003C00EC8A0100BE +:10E6D000B80B000010000700FE300006000E0621F7 +:10E6E000154B4143585C82061448920E4271C9187A +:10E6F0004A78D206D20E027142780C231A43427035 +:10E7000042788B78920892009B079B0F3C00288BE5 +:10E7100001001A4342700278C0239A4340320270CB +:10E72000027838231A4302700278C97804239A4386 +:10E730008900194011430170012070470000D88DF5 +:10E740000100880007008FB50020029003903C0074 +:10E75000648B0100074802AA03A900910192438932 +:10E76000028903C8FFF7D4FB03980299FFF704FC62 +:10E770008FBD0000048E010008494A78002A03D1A9 +:10E78000888000208860704714235A43044BD218B5 +:10E790003C00A08B0100D2884243C88842438A6073 +:10E7A000704740D90100648D0100F8B5254E041C66 +:10E7B000307A400840003072B07A0020B0720127F1 +:10E7C000012C204D01D0FC4213D1307B38433073F3 +:10E7D00000223C00DC8B0100211C0020FFF76EFBB7 +:10E7E000631C01D13F21E973B17AA0221143B172B8 +:10E7F000317A39433172F8BD307B400840003073C4 +:10E800000122211C0120FFF759FB01200021E9739F +:10E81000B17A02223C00188C01001143B172B17A26 +:10E8200004221143B172B17A30221143B172317AAC +:10E830003943317208494A6880239A434A600A681A +:10E840001A430A60317B39433173D7E700008800EF +:10E850000700400007003C00548C01006C000700DA +:10E86000B0B50E4D0E482969F6F79EFB0D48ECF742 +:10E8700093FD0D48094C00881C34A082F1F75AFF23 +:10E880002061FAF797F8021C231C00210020ECF706 +:10E890008BFF3220E860FFF73C00908C0100A5FA66 +:10E8A000B0BD7CD9010034630100DD84010020F794 +:10E8B0000100B0B50A4D687800280ED0142308492D +:10E8C00058434018447A06E0A868E0400106090E63 +:10E8D000A878F8F776FC083CF6D53C00CC8C010013 +:10E8E000B0BD000040D90100648D0100011C144836 +:10E8F000B0B501601348027F02239A430277027F7A +:10E90000012422430277104D00290CD0012200215E +:10E910000320EFF79FFD0D49487CA0433C00088D84 +:10E9200001004874687A20436872B0BD017F2143BA +:10E930000177687A400840006872012200210320B4 +:10E94000EFF7B1FDB0BDF47401003000070088009E +:10E9500007001000070010B5074C211C00203C00E8 +:10E96000448D0100F9F756FB05480023C0560128E5 +:10E9700003DD211C0020F9F719FB10BD651A00000A +:10E98000F46B01000000020008010100021804FFFE +:10E9900082E8D78000000000008000000001000134 +:10E9A0003C00808D010000180006020305010100F3 +:10E9B00000000000000080000100FF1000FFFFFFCA +:10E9C000FFFFFF0000000000020020000100021015 +:10E9D0000006020305010100000004050607080CFB +:10E9E0000D0E3C00BC8D0100FF1415161718191BE5 +:10E9F0001C1DFF1A1113120F10FF0200FF01030963 +:10EA00000A0B0000300D02000000280E0300000079 +:10EA10001E0C00000000300D020100001E0C000161 +:10EA20000000230D3C00F88D0100020100001D0DC7 +:10EA3000020100000000FFFEFB6D000080000200EC +:10EA400000000000000000000000000000000000C6 +:10EA500000000000000000000000000000000000B6 +:10EA60000000000000003C00348E010000000000A7 +:10EA70000000000000000000000000000000000096 +:10EA80000000000000000000000000000000000086 +:10EA90000000000000000000000000000000000076 +:10EAA00000000000000000003C00708E010000002B +:10EAB0000000000000000000000000000000000056 +:10EAC0000000000000000000000000000000000046 +:10EAD0000000000000000000000000000000000036 +:10EAE000000000000000000000003C00AC8E0100AF +:10EAF0000000000000000000000000000000000016 +:10EB00000000000000000000000000000000000005 +:10EB100000000000000000000000000000000000F5 +:10EB20000000000000000000000000003C00E88E33 +:10EB300001000000000000000000000000000000D4 +:10EB400000000000000000000000000000000000C5 +:10EB500000000000000000000000000000000000B5 +:10EB600000000000000000000000000000003C0069 +:10EB7000248F0100000000000000000000000000E1 +:10EB80000000000000000000000000000000000085 +:10EB90000000000000000000000000000000000075 +:10EBA0000000000000000000000000000000000065 +:10EBB0003C00608F01000000000000000000000029 +:10EBC0000000000000000000000000000000000045 +:10EBD0000000000000000000000000000000000035 +:10EBE0000000000000000000000000000000000025 +:10EBF00000003C009C8F01000000000000000000AD +:10EC00000000000000000000000000000000000004 +:10EC100000000000000000000000000000000000F4 +:10EC200000000000000000000000000000000000E4 +:10EC3000000000003C00D88F010000000000000030 +:10EC400000000000000000000000000000000000C4 +:10EC500000000000000000000000000000000000B4 +:10EC600000000000000000000000000000000000A4 +:10EC70000000000000003C001490010000000000B3 +:10EC80000000000000000000000000000000000084 +:10EC90000000000000000000000000000000000074 +:10ECA0000000000000000000000000000000000064 +:10ECB00000000000000000003C0050900100000037 +:10ECC0000000000000000000000000000000000044 +:10ECD0000000000000000000000000000000000034 +:10ECE0000000000000000000000000000000000024 +:10ECF000000000000000000000003C008C900100BB +:10ED00000000000000000000000000000000000003 +:10ED100000000000000000000000000000000000F3 +:10ED200000000000000000000000000000000000E3 +:10ED30000000000000000000000000003C00C8903F +:10ED400001000000000000000000000000000000C2 +:10ED500000000000000000000000000000000000B3 +:10ED600000000000000000000000000000000000A3 +:10ED700000000000000000000000000000003C0057 +:10ED800004910100000000000000000000000000ED +:10ED90000000000000000000000000000000000073 +:10EDA0000000000000000000000000000000000063 +:10EDB0000000000000000000000000000000000053 +:10EDC0003C00409101000000000000000000000035 +:10EDD0000000000000000000000000000000000033 +:10EDE0000000000000000000000000000000000023 +:10EDF0000000000000000000000000000000000013 +:10EE000000003C007C9101000000000000000000B8 +:10EE100000000000000000000000000000000000F2 +:10EE200000000000000000000000000000000000E2 +:10EE300000000000000000000000000000000000D2 +:10EE4000000000003C00B89101000000000000003C +:10EE500000000000000000000000000000000000B2 +:10EE600000000000000000000000000000000000A2 +:10EE70000000000000000000000000000000000092 +:10EE80000000000000003C00F491010000000000C0 +:10EE90000000000000000000000000000000000072 +:10EEA0000000000000000000000000000000000062 +:10EEB0000000000000000000000000000000000052 +:10EEC00000000000000000003C0030920100000043 +:10EED0000000000000000000000000000000000032 +:10EEE0000000000000000000000000000000000022 +:10EEF0000000000000000000000000000000000012 +:10EF0000000000000000000000003C006C920100C6 +:10EF100000000000000000000000000000000000F1 +:10EF200000000000000000000000000000000000E1 +:10EF300000000000000000000000000000000000D1 +:10EF40000000000000000000000000003C00A8924B +:10EF500001000000000000000000000000000000B0 +:10EF600000000000000000000000000000000000A1 +:10EF70000000000000000000000000000000000091 +:10EF800000000000000000000000000000003C0045 +:10EF9000E4920100000000000000000000000000FA +:10EFA0000000000000000000000000000000000061 +:10EFB0000000000000000000000000000000000051 +:10EFC0000000000000000000000000000000000041 +:10EFD0003C00209301000000000000000000000041 +:10EFE0000000000000000000000000000000000021 +:10EFF0000000000000000000000000000000000011 +:10F000000000000000000000000000000000000000 +:10F0100000003C005C9301000000000000000000C4 +:10F0200000000000000000000000000000000000E0 +:10F0300000000000000000000000000000000000D0 +:10F0400000000000000000000000000000000000C0 +:10F05000000000003C009893010000000000000048 +:10F0600000000000000000000000000000000000A0 +:10F070000000000000000000000000000000000090 +:10F080000000000000000000000000000000000080 +:10F090000000000000003C00D493010000000000CC +:10F0A0000000000000000000000000000000000060 +:10F0B0000000000000000000000000000000000050 +:10F0C0000000000000000000000000000000000040 +:10F0D00000000000000000003C001094010000004F +:10F0E0000000000000000000000000000000000020 +:10F0F0000000000000000000000000000000000010 +:10F1000000000000000000000000000000000000FF +:10F11000000000000000000000003C004C940100D2 +:10F1200000000000000000000000000000000000DF +:10F1300000000000000000000000000000000000CF +:10F1400000000000000000000000000000000000BF +:10F150000000000000000000000000003C00889457 +:10F16000010000000000000000000000000000009E +:10F17000000000000000000000000000000000008F +:10F18000000000000000000000000000000000007F +:10F1900000000000000000000000000000003C0033 +:10F1A000C494010000000000000000000000000006 +:10F1B000000000000000000000000000000000004F +:10F1C000000000000000000000000000000000003F +:10F1D000000000000000000000000000000000002F +:10F1E0003C0000950100000000000000000000004D +:10F1F000000000000000000000000000000000000F +:10F2000000000000000000000000000000000000FE +:10F2100000000000000000000000000000000000EE +:10F2200000003C003C9501000000000000000000D0 +:10F2300000000000000000000000000000000000CE +:10F2400000000000000000000000000000000000BE +:10F2500000000000000000000000000000000000AE +:10F26000000000003C007895010000000000000054 +:10F27000000000000000000000000000000000008E +:10F28000000000000000000000000000000000007E +:10F29000000000000000000000000000000000006E +:10F2A0000000000000003C00B495010000000000D8 +:10F2B000000000000000000000000000000000004E +:10F2C000000000000000000000000000000000003E +:10F2D000000000000000000000000000000000002E +:10F2E00000000000000000003C00F095010000005C +:10F2F000000000000000000000000000000000000E +:10F3000000000000000000000000000000000000FD +:10F3100000000000000000000000000000000000ED +:10F32000000000000000000000003C002C960100DE +:10F3300000000000000000000000000000000000CD +:10F3400000000000000000000000000000000000BD +:10F3500000000000000000000000000000000000AD +:10F360000000000000000000000000003C00689663 +:10F37000010000000000000000000000000000008C +:10F38000000000000000000000000000000000007D +:10F39000000000000000000000000000000000006D +:10F3A00000000000000000000000000000003C0021 +:10F3B000A496010000000000000000000000000012 +:10F3C000000000000000000000000000000000003D +:10F3D000000000000000000000000000000000002D +:10F3E000000000000000000000000000000000001D +:10F3F0003C00E0960100000000000000000000005A +:10F4000000000000000000000000000000000000FC +:10F4100000000000000000000000000000000000EC +:10F4200000000000000000000000000000000000DC +:10F4300000003C001C9701000000000000000000DC +:10F4400000000000000000000000000000000000BC +:10F4500000000000000000000000000000000000AC +:10F46000000000000000000000000000000000009C +:10F47000000000003C005897010000000000000060 +:10F48000000000000000000000000000000000007C +:10F49000000000000000000000000000000000006C +:10F4A000000000000000000000000000000000005C +:10F4B0000000000000003C009497010000000000E4 +:10F4C000000000000000000000000000000000003C +:10F4D000000000000000000000000000000000002C +:10F4E000000000000000000000000000000000001C +:10F4F00000000000000000003C00D0970100000068 +:10F5000000000000000000000000000000000000FB +:10F5100000000000000000000000000000000000EB +:10F5200000000000000000000000000000000000DB +:10F53000000000000000000000003C000C980100EA +:10F5400000000000000000000000000000000000BB +:10F5500000000000000000000000000000000000AB +:10F56000000000000000000000000000000000009B +:10F570000000000000000000000000003C0048986F +:10F58000010000000000000000000000000000007A +:10F59000000000000000000000000000000000006B +:10F5A000000000000000000000000000000000005B +:10F5B00000000000000000000000000000003C000F +:10F5C000849801000000000000000000000000001E +:10F5D000000000000000000000000000000000002B +:10F5E000000000000000000000000000000000001B +:10F5F000000000000000000000000000000000000B +:10F600003C00C09801000000000000000000000065 +:10F6100000000000000000000000000000000000EA +:10F6200000000000000000000000000000000000DA +:10F6300000000000000000000000000000000000CA +:10F6400000003C00FC9801000000000000000000E9 +:10F6500000000000000000000000000000000000AA +:10F66000000000000000000000000000000000009A +:10F67000000000000000000000000000000000008A +:10F68000000000003C00389901000000000000006C +:10F69000000000000000000000000000000000006A +:10F6A000000000000000000000000000000000005A +:10F6B000000000000000000000000000000000004A +:10F6C0000000000000003C007499010000000000F0 +:10F6D000000000000000000000000000000000002A +:10F6E000000000000000000000000000000000001A +:10F6F000000000000000000000000000000000000A +:10F7000000000000000000003C00B0990100000073 +:10F7100000000000000000000000000000000000E9 +:10F7200000000000000000000000000000000000D9 +:10F7300000000000000000000000000000000000C9 +:10F74000000000000000000000003C00EC990100F7 +:10F7500000000000000000000000000000000000A9 +:10F760000000000000000000000000000000000099 +:10F770000000000000000000000000000000000089 +:10F780000000000000000000000000003C00289A7B +:10F790000100000000000000000000000000000068 +:10F7A0000000000000000000000000000000000059 +:10F7B0000000000000000000000000000000000049 +:10F7C00000000000000000000000000000003C00FD +:10F7D000649A01000000000000000000000000002A +:10F7E0000000000000000000000000000000000019 +:10F7F0000000000000000000000000000000000009 +:10F8000000000000000000000000000000000000F8 +:10F810003C00A09A01000000000000000000000071 +:10F8200000000000000000000000000000000000D8 +:10F8300000000000000000000000000000000000C8 +:10F8400000000000000000000000000000000000B8 +:10F8500000003C00DC9A01000000000000000000F5 +:10F860000000000000000000000000000000000098 +:10F870000000000000000000000000000000000088 +:10F880000000000000000000000000000000000078 +:10F89000000000003C00189B010000000000000078 +:10F8A0000000000000000000000000000000000058 +:10F8B0000000000000000000000000000000000048 +:10F8C0000000000000000000000000000000000038 +:10F8D0000000000000003C00549B010000000000FC +:10F8E0000000000000000000000000000000000018 +:10F8F0000000000000000000000000000000000008 +:10F9000000000000000000000000000000000000F7 +:10F9100000000000000000003C00909B010000007F +:10F9200000000000000000000000000000000000D7 +:10F9300000000000000000000000000000000000C7 +:10F9400000000000000000000000000000000000B7 +:10F95000000000000000000000003C00CC9B010003 +:10F960000000000000000000000000000000000097 +:10F970000000000000000000000000000000000087 +:10F980000000000000000000000000000000000077 +:10F990000000000000000000000000003C00089C87 +:10F9A0000100000000000000000000000000000056 +:10F9B0000000000000000000000000000000000047 +:10F9C0000000000000000000000000000000000037 +:10F9D00000000000000000000000000000003C00EB +:10F9E000449C010000000000000000000000000036 +:10F9F0000000000000000000000000000000000007 +:10FA000000000000000000000000000000000000F6 +:10FA100000000000000000000000000000000000E6 +:10FA20003C00809C0100000000000000000000007D +:10FA300000000000000000000000000000000000C6 +:10FA400000000000000000000000000000000000B6 +:10FA500000000000000000000000000000000000A6 +:10FA600000003C00BC9C0100000000000000000001 +:10FA70000000000000000000000000000000000086 +:10FA80000000000000000000000000000000000076 +:10FA90000000000000000000000000000000000066 +:10FAA000000000003C00F89C010000000000000085 +:10FAB0000000000000000000000000000000000046 +:10FAC0000000000000000000000000000000000036 +:10FAD0000000000000000000000000000000000026 +:10FAE0000000000000003C00349D01000000000008 +:10FAF0000000000000000000000000000000000006 +:10FB000000000000000000000000000000000000F5 +:10FB100000000000000000000000000000000000E5 +:10FB200000000000000000003C00709D010000008B +:10FB300000000000000000000000000000000000C5 +:10FB400000000000000000000000000000000000B5 +:10FB500000000000000000000000000000000000A5 +:10FB6000000000000000000000003C00AC9D01000F +:10FB70000000000000000000000000000000000085 +:10FB80000000000000000000000000000000000075 +:10FB90000000000000000000000000000000000065 +:10FBA0000000000000000000000000003C00E89D94 +:10FBB0000100000000000000000000000000000044 +:10FBC0000000000000000000000000000000000035 +:10FBD0000000000000000000000000000000000025 +:10FBE00000000000000000000000000000003C00D9 +:10FBF000249E010000000000000000000000000042 +:10FC000000000000000000000000000000000000F4 +:10FC100000000000000000000000000000000000E4 +:10FC200000000000000000000000000000000000D4 +:10FC30003C00609E01000000000000000000000089 +:10FC400000000000000000000000000000000000B4 +:10FC500000000000000000000000000000000000A4 +:10FC60000000000000000000000000000000000094 +:10FC700000003C009C9E010000000000000000000D +:10FC80000000000000000000000000000000000074 +:10FC90000000000000000000000000000000000064 +:10FCA0000000000000000000000000000000000054 +:10FCB000000000003C00D89E010000000000000091 +:10FCC0000000000000000000000000000000000034 +:10FCD0000000000000000000000000000000000024 +:10FCE0000000000000000000000000000000000014 +:10FCF0000000000000003C00149F01000000000014 +:10FD000000000000000000000000000000000000F3 +:10FD100000000000000000000000000000000000E3 +:10FD200000000000000000000000000000000000D3 +:10FD300000000000000000003C00509F0100000097 +:10FD400000000000000000000000000000000000B3 +:10FD500000000000000000000000000000000000A3 +:10FD60000000000000000000000000000000000093 +:10FD7000000000000000000000003C008C9F01001B +:10FD80000000000000000000000000000000000073 +:10FD90000000000000000000000000000000000063 +:10FDA0000000000000000000000000000000000053 +:10FDB0000000000000000000000000003C00C89FA0 +:10FDC0000100000000000000000000000000000032 +:10FDD0000000000000000000000000000000000023 +:10FDE0000000000000000000000000000000000013 +:10FDF00000000000000000000000000000003C00C7 +:10FE000004A001000000000000000000000000004D +:10FE100000000000000000000000000000000000E2 +:10FE200000000000000000000000000000000000D2 +:10FE300000000000000000000000000000000000C2 +:10FE40003C0040A001000000000000000000000095 +:10FE500000000000000000000000000000000000A2 +:10FE60000000000000000000000000000000000092 +:10FE70000000000000000000000000000000000082 +:10FE800000003C007CA00100000000000000000019 +:10FE90000000000000000000000000000000000062 +:10FEA0000000000000000000000000000000000052 +:10FEB0000000000000000000000000000000000042 +:10FEC000000000003C00B8A001000000000000009D +:10FED0000000000000000000000000000000000022 +:10FEE0000000000000000000000000000000000012 +:10FEF0000000000000000000000000000000000002 +:10FF00000000000000003C00F4A001000000000020 +:10FF100000000000000000000000000000000000E1 +:10FF200000000000000000000000000000000000D1 +:10FF300000000000000000000000000000000000C1 +:10FF400000000000000000003C0030A101000000A3 +:10FF500000000000000000000000000000000000A1 +:10FF60000000000000000000000000000000000091 +:10FF70000000000000000000000000000000000081 +:10FF8000000000000000000000003C006CA1010027 +:10FF90000000000000000000000000000000000061 +:10FFA0000000000000000000000000000000000051 +:10FFB0000000000000000000000000000000000041 +:10FFC0000000000000000000000000003C00A8A1AC +:10FFD0000100000000000000000000000000000020 +:10FFE0000000000000000000000000000000000011 +:10FFF0000000000000000000000000000000000001 +:02000004800278 +:1000000000000000000000000000000000003C00B4 +:10001000E4A101000000000000000000000000005A +:1000200000000000000000000000000000000000D0 +:1000300000000000000000000000000000000000C0 +:1000400000000000000000000000000000000000B0 +:100050003C0020A2010000000000000000000000A1 +:100060000000000000000000000000000000000090 +:100070000000000000000000000000000000000080 +:100080000000000000000000000000000000000070 +:1000900000003C005CA20100000000000000000025 +:1000A0000000000000000000000000000000000050 +:1000B0000000000000000000000000000000000040 +:1000C0000000000000000000000000000000000030 +:1000D000000000003C0098A20100000000000000A9 +:1000E0000000000000000000000000000000000010 +:1000F0000000000000000000000000000000000000 +:1001000000000000000000000000000000000000EF +:100110000000000000003C00D4A20100000000002C +:1001200000000000000000000000000000000000CF +:1001300000000000000000000000000000000000BF +:1001400000000000000000000000000000000000AF +:1001500000000000000000003C0010A301000000AF +:10016000000000000000000000000000000000008F +:10017000000000000000000000000000000000007F +:10018000000000000000000000000000000000006F +:10019000000000000000000000003C004CA3010033 +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:1001C000000000000000000000000000000000002F +:1001D0000000000000000000000000003C0088A3B8 +:1001E000010000000000000000000000000000000E +:1001F00000000000000000000000000000000000FF +:1002000000000000000000000000000000000000EE +:1002100000000000000000000000000000003C00A2 +:10022000C4A3010000000000000000000000000066 +:1002300000000000000000000000000000000000BE +:1002400000000000000000000000000000000000AE +:10025000000000000000000000000000000000009E +:100260003C0000A4010000000000000000000000AD +:10027000000000000000000000000000000000007E +:10028000000000000000000000000000000000006E +:10029000000000000000000000000000000000005E +:1002A00000003C003CA40100000000000000000031 +:1002B000000000000000000000000000000000003E +:1002C000000000000000000000000000000000002E +:1002D000000000000000000000000000000000001E +:1002E000000000003C0078A40100000000000000B5 +:1002F00000000000000000000000000000000000FE +:1003000000000000000000000000000000000000ED +:1003100000000000000000000000000000000000DD +:100320000000000000003C00B4A401000000000038 +:1003300000000000000000000000000000000000BD +:1003400000000000000000000000000000000000AD +:10035000000000000000000000000000000000009D +:1003600000000000000000003C00F0A401000000BC +:10037000000000000000000000000000000000007D +:10038000000000000000000000000000000000006D +:10039000000000000000000000000000000000005D +:1003A000000000000000000000003C002CA501003F +:1003B000000000000000000000000000000000003D +:1003C000000000000000000000000000000000002D +:1003D000000000000000000000000000000000001D +:1003E0000000000000000000000000003C0068A5C4 +:1003F00001000000000000000000000000000000FC +:1004000000000000000000000000000000000000EC +:1004100000000000000000000000000000000000DC +:1004200000000000000000000000000000003C0090 +:10043000A4A5010000000000000000000000000072 +:1004400000000000000000000000000000000000AC +:10045000000000000000000000000000000000009C +:10046000000000000000000000000000000000008C +:100470003C00E0A5010000000000000000000000BA +:10048000000000000000000000000000000000006C +:10049000000000000000000000000000000000005C +:1004A000000000000000000000000000000000004C +:1004B00000003C001CA6010000000000000000003D +:1004C000000000000000000000000000000000002C +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F000000000003C0058A60100000000000000C1 +:1005000000000000000000000000000000000000EB +:1005100000000000000000000000000000000000DB +:1005200000000000000000000000000000000000CB +:100530000000000000003C0094A601000000000044 +:1005400000000000000000000000000000000000AB +:10055000000000000000000000000000000000009B +:10056000000000000000000000000000000000008B +:1005700000000000000000003C00D0A601000000C8 +:10058000000000000000000000000000000000006B +:10059000000000000000000000000000000000005B +:1005A000000000000000000000000000000000004B +:1005B000000000000000000000003C000CA701004B +:1005C000000000000000000000000000000000002B +:1005D000000000000000000000000000000000001B +:1005E000000000000000000000000000000000000B +:1005F0000000000000000000000000003C0048A7D0 +:1006000001000000000000000000000000000000E9 +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000003C007E +:1006400084A701000000000000000000000000007E +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:100680003C00C0A7010000000000000000000000C6 +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C00000003C00FCA7010000000000000000004A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:10070000000000003C0038A80100000000000000CC +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:100740000000000000003C0074A801000000000050 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:1007800000000000000000003C00B0A801000000D4 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C000000000000000000000003C00ECA8010058 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:100800000000000000000000000000003C0028A9DB +:1008100001000000000000000000000000000000D7 +:1008200000000000000000000000000000000000C8 +:1008300000000000000000000000000000000000B8 +:1008400000000000000000000000000000003C006C +:1008500064A901000000000000000000000000008A +:100860000000000000000000000000000000000088 +:100870000000000000000000000000000000000078 +:100880000000000000000000000000000000000068 +:100890003C00A0A9010000000000000000000000D2 +:1008A0000000000000000000000000000000000048 +:1008B0000000000000000000000000000000000038 +:1008C0000000000000000000000000000000000028 +:1008D00000003C00DCA90100000000000000000056 +:1008E0000000000000000000000000000000000008 +:1008F00000000000000000000000000000000000F8 +:1009000000000000000000000000000000000000E7 +:10091000000000003C0018AA0100000000000000D8 +:1009200000000000000000000000000000000000C7 +:1009300000000000000000000000000000000000B7 +:1009400000000000000000000000000000000000A7 +:100950000000000000003C0054AA0100000000005C +:100960000000000000000000000000000000000087 +:100970000000000000000000000000000000000077 +:100980000000000000000000000000000000000067 +:1009900000000000000000003C0090AA01000000E0 +:1009A0000000000000000000000000000000000047 +:1009B0000000000000000000000000000000000037 +:1009C0000000000000000000000000000000000027 +:1009D000000000000000000000003C00CCAA010064 +:1009E0000000000000000000000000000000000007 +:1009F00000000000000000000000000000000000F7 +:100A000000000000000000000000000000000000E6 +:100A10000000000000000000000000003C0008ABE7 +:100A200001000000000000000000000000000000C5 +:100A300000000000000000000000000000000000B6 +:100A400000000000000000000000000000000000A6 +:100A500000000000000000000000000000003C005A +:100A600044AB010000000000000000000000000096 +:100A70000000000000000000000000000000000076 +:100A80000000000000000000000000000000000066 +:100A90000000000000000000000000000000000056 +:100AA0003C0080AB010000000000000000000000DE +:100AB0000000000000000000000000000000000036 +:100AC0000000000000000000000000000000000026 +:100AD0000000000000000000000000000000000016 +:100AE00000003C00BCAB0100000000000000000062 +:100AF00000000000000000000000000000000000F6 +:100B000000000000000000000000000000000000E5 +:100B100000000000000000000000000000000000D5 +:100B2000000000003C00F8AB0100000000000000E5 +:100B300000000000000000000000000000000000B5 +:100B400000000000000000000000000000000000A5 +:100B50000000000000000000000000000000000095 +:100B60000000000000003C0034AC01000000000068 +:100B70000000000000000000000000000000000075 +:100B80000000000000000000000000000000000065 +:100B90000000000000000000000000000000000055 +:100BA00000000000000000003C0070AC01000000EC +:100BB0000000000000000000000000000000000035 +:100BC0000000000000000000000000000000000025 +:100BD0000000000000000000000000000000000015 +:100BE000000000000000000000003C00ACAC010070 +:100BF00000000000000000000000000000000000F5 +:100C000000000000000000000000000000000000E4 +:100C100000000000000000000000000000000000D4 +:100C20000000000000000000000000003C00E8ACF4 +:100C300001000000000000000000000000000000B3 +:100C400000000000000000000000000000000000A4 +:100C50000000000000000000000000000000000094 +:100C600000000000000000000000000000003C0048 +:100C700024AD0100000000000000000000000000A2 +:100C80000000000000000000000000000000000064 +:100C90000000000000000000000000000000000054 +:100CA0000000000000000000000000000000000044 +:100CB0003C0060AD010000000000000000000000EA +:100CC0000000000000000000000000000000000024 +:100CD0000000000000000000000000000000000014 +:100CE0000000000000000000000000000000000004 +:100CF00000003C009CAD010000000000000000006E +:100D000000000000000000000000000000000000E3 +:100D100000000000000000000000000000000000D3 +:100D200000000000000000000000000000000000C3 +:100D3000000000003C00D8AD0100000000000000F1 +:100D400000000000000000000000000000000000A3 +:100D50000000000000000000000000000000000093 +:100D60000000000000000000000000000000000083 +:100D70000000000000003C0014AE01000000000074 +:100D80000000000000000000000000000000000063 +:100D90000000000000000000000000000000000053 +:100DA0000000000000000000000000000000000043 +:100DB00000000000000000003C0050AE01000000F8 +:100DC0000000000000000000000000000000000023 +:100DD0000000000000000000000000000000000013 +:100DE0000000000000000000000000000000000003 +:100DF000000000000000000000003C008CAE01007C +:100E000000000000000000000000000000000000E2 +:100E100000000000000000000000000000000000D2 +:100E200000000000000000000000000000000000C2 +:100E30000000000000000000000000003C00C8AE00 +:100E400001000000000000000000000000000000A1 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E700000000000000000000000000000003C0036 +:100E800004AF0100000000000000000000000000AE +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0003C0040AF010000000000000000000000F6 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000003C007CAF0100000000000000000079 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F4000000000003C00B8AF0100000000000000FD +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000003C00F4AF01000000000081 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC00000000000000000003C0030B00100000004 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:10100000000000000000000000003C006CB0010087 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:101040000000000000000000000000003C00A8B00C +:10105000010000000000000000000000000000008F +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:1010800000000000000000000000000000003C0024 +:10109000E4B00100000000000000000000000000BB +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0003C0020B101000000000000000000000002 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000003C005CB10100000000000000000085 +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000003C0098B1010000000000000009 +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:101190000000000000003C00D4B10100000000008D +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D00000000000000000003C0010B20100000010 +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:10121000000000000000000000003C004CB2010093 +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:101250000000000000000000000000003C0088B218 +:10126000010000000000000000000000000000007D +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:1012900000000000000000000000000000003C0012 +:1012A000C4B20100000000000000000000000000C7 +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E0003C0000B30100000000000000000000000E +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000003C003CB30100000000000000000091 +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000003C0078B3010000000000000015 +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A0000000000000003C00B4B301000000000099 +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000003C00F0B3010000001D +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:10142000000000000000000000003C002CB401009F +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:101460000000000000000000000000003C0068B424 +:10147000010000000000000000000000000000006B +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A00000000000000000000000000000003C0000 +:1014B000A4B40100000000000000000000000000D3 +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F0003C00E0B40100000000000000000000001B +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000003C001CB5010000000000000000009D +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000003C0058B5010000000000000021 +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B0000000000000003C0094B5010000000000A5 +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000003C00D0B50100000029 +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:10163000000000000000000000003C000CB60100AB +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:101670000000000000000000000000003C0048B630 +:101680000100000000000000000000000000000059 +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B00000000000000000000000000000003C00EE +:1016C00084B60100000000000000000000000000DF +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:101700003C00C0B601000000000000000000000026 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:1017400000003C00FCB601000000000000000000AA +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:10178000000000003C0038B701000000000000002D +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000003C0074B7010000000000B1 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000003C00B0B70100000034 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:10184000000000000000000000003C00ECB70100B8 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000003C0028B83C +:101890000100000000000000000000000000000047 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C00000000000000000000000000000003C00DC +:1018D00064B80100000000000000000000000000EB +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:101910003C00A0B801000000000000000000000032 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:1019500000003C00DCB801000000000000000000B6 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:10199000000000003C0018B9010000000000000039 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000003C0054B9010000000000BD +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000003C0090B90100000040 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A5000000000000000000000003C00CCB90100C4 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000003C0008BA48 +:101AA0000100000000000000000000000000000035 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD00000000000000000000000000000003C00CA +:101AE00044BA0100000000000000000000000000F7 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B20003C0080BA0100000000000000000000003E +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B600000003C00BCBA01000000000000000000C2 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA000000000003C00F8BA010000000000000046 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE0000000000000003C0034BB010000000000C9 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000003C0070BB010000004C +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C6000000000000000000000003C00ACBB0100D0 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000003C00E8BB55 +:101CB0000100000000000000000000000000000023 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000003C00B8 +:101CF00024BC010000000000000000000000000003 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D30003C0060BC0100000000000000000000004A +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D700000003C009CBC01000000000000000000CE +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB000000000003C00D8BC010000000000000052 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF0000000000000003C0014BD010000000000D5 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000003C0050BD0100000058 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E7000000000000000000000003C008CBD0100DC +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000003C00C8BD61 +:101EC0000100000000000000000000000000000011 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000003C00A6 +:101F000004BE01000000000000000000000000000E +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40003C0040BE01000000000000000000000056 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F800000003C007CBE01000000000000000000DA +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC000000000003C00B8BE01000000000000005E +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:102000000000000000003C00F4BE010000000000E1 +:1020100000000000000000000000000000000000C0 +:1020200000000000000000000000000000000000B0 +:1020300000000000000000000000000000000000A0 +:1020400000000000000000003C0030BF0100000064 +:102050000000000000000000000000000000000080 +:102060000000000000000000000000000000000070 +:102070000000000000000000000000000000000060 +:10208000000000000000000000003C006CBF0100E8 +:102090000000000000000000000000000000000040 +:1020A0000000000000000000000000000000000030 +:1020B0000000000000000000000000000000000020 +:1020C0000000000000000000000000003C00A8BF6D +:1020D00001000000000000000000000000000000FF +:1020E00000000000000000000000000000000000F0 +:1020F00000000000000000000000000000000000E0 +:1021000000000000000000000000000000003C0093 +:10211000E4BF01000000000000000000000000001B +:1021200000000000000000000000000000000000AF +:10213000000000000000000000000000000000009F +:10214000000000000000000000000000000000008F +:102150003C0020C001000000000000000000000062 +:10216000000000000000000000000000000000006F +:10217000000000000000000000000000000000005F +:10218000000000000000000000000000000000004F +:1021900000003C005CC001000000000000000000E6 +:1021A000000000000000000000000000000000002F +:1021B000000000000000000000000000000000001F +:1021C000000000000000000000000000000000000F +:1021D000000000003C0098C001000000000000006A +:1021E00000000000000000000000000000000000EF +:1021F00000000000000000000000000000000000DF +:1022000000000000000000000000000000000000CE +:102210000000000000003C00D4C0010000000000ED +:1022200000000000000000000000000000000000AE +:10223000000000000000000000000000000000009E +:10224000000000000000000000000000000000008E +:1022500000000000000000003C0010C10100000070 +:10226000000000000000000000000000000000006E +:10227000000000000000000000000000000000005E +:10228000000000000000000000000000000000004E +:10229000000000000000000000003C004CC10100F4 +:1022A000000000000000000000000000000000002E +:1022B000000000000000000000000000000000001E +:1022C000000000000000000000000000000000000E +:1022D0000000000000000000000000003C0088C179 +:1022E00001000000000000000000000000000000ED +:1022F00000000000000000000000000000000000DE +:1023000000000000000000000000000000000000CD +:1023100000000000000000000000000000003C0081 +:10232000C4C1010000000000000000000000000027 +:10233000000000000000000000000000000000009D +:10234000000000000000000000000000000000008D +:10235000000000000000000000000000000000007D +:102360003C0000C20100000000000000000000006E +:10237000000000000000000000000000000000005D +:10238000000000000000000000000000000000004D +:10239000000000000000000000000000000000003D +:1023A00000003C003CC201000000000000000000F2 +:1023B000000000000000000000000000000000001D +:1023C000000000000000000000000000000000000D +:1023D00000000000000000000000000000000000FD +:1023E000000000003C0078C2010000000000000076 +:1023F00000000000000000000000000000000000DD +:1024000000000000000000000000000000000000CC +:1024100000000000000000000000000000000000BC +:102420000000000000003C00B4C2010000000000F9 +:10243000000000000000000000000000000000009C +:10244000000000000000000000000000000000008C +:10245000000000000000000000000000000000007C +:1024600000000000000000003C00F0C2010000007D +:10247000000000000000000000000000000000005C +:10248000000000000000000000000000000000004C +:10249000000000000000000000000000000000003C +:1024A000000000000000000000003C002CC3010000 +:1024B000000000000000000000000000000000001C +:1024C000000000000000000000000000000000000C +:1024D00000000000000000000000000000000000FC +:1024E0000000000000000000000000003C0068C385 +:1024F00001000000000000000000000000000000DB +:1025000000000000000000000000000000000000CB +:1025100000000000000000000000000000000000BB +:1025200000000000000000000000000000003C006F +:10253000A4C3010000000000000000000000000033 +:10254000000000000000000000000000000000008B +:10255000000000000000000000000000000000007B +:10256000000000000000000000000000000000006B +:102570003C00E0C30100000000000000000000007B +:10258000000000000000000000000000000000004B +:10259000000000000000000000000000000000003B +:1025A000000000000000000000000000000000002B +:1025B00000003C001CC401000000000000000000FE +:1025C000000000000000000000000000000000000B +:1025D00000000000000000000000000000000000FB +:1025E00000000000000000000000000000000000EB +:1025F000000000003C0058C4010000000000000082 +:1026000000000000000000000000000000000000CA +:1026100000000000000000000000000000000000BA +:1026200000000000000000000000000000000000AA +:102630000000000000003C0094C401000000000005 +:10264000000000000000000000000000000000008A +:10265000000000000000000000000000000000007A +:10266000000000000000000000000000000000006A +:1026700000000000000000003C00D0C40100000089 +:10268000000000000000000000000000000000004A +:10269000000000000000000000000000000000003A +:1026A000000000000000000000000000000000002A +:1026B000000000000000000000003C000CC501000C +:1026C000000000000000000000000000000000000A +:1026D00000000000000000000000000000000000FA +:1026E00000000000000000000000000000000000EA +:1026F0000000000000000000000000003C0048C591 +:1027000001000000000000000000000000000000C8 +:1027100000000000000000000000000000000000B9 +:1027200000000000000000000000000000000000A9 +:1027300000000000000000000000000000003C005D +:1027400084C501000000000000000000000000003F +:102750000000000000000000000000000000000079 +:102760000000000000000000000000000000000069 +:102770000000000000000000000000000000000059 +:102780003C00C0C501000000000000000000000087 +:102790000000000000000000000000000000000039 +:1027A0000000000000000000000000000000000029 +:1027B0000000000000000000000000000000000019 +:1027C00000003C00FCC5010000000000000000000B +:1027D00000000000000000000000000000000000F9 +:1027E00000000000000000000000000000000000E9 +:1027F00000000000000000000000000000000000D9 +:10280000000000003C0038C601000000000000008D +:1028100000000000000000000000000000000000B8 +:1028200000000000000000000000000000000000A8 +:102830000000000000000000000000000000000098 +:102840000000000000003C0074C601000000000011 +:102850000000000000000000000000000000000078 +:102860000000000000000000000000000000000068 +:102870000000000000000000000000000000000058 +:1028800000000000000000003C00B0C60100000095 +:102890000000000000000000000000000000000038 +:1028A0000000000000000000000000000000000028 +:1028B0000000000000000000000000000000000018 +:1028C000000000000000000000003C00ECC6010019 +:1028D00000000000000000000000000000000000F8 +:1028E00000000000000000000000000000000000E8 +:1028F00000000000000000000000000000000000D8 +:102900000000000000000000000000003C0028C79C +:1029100001000000000000000000000000000000B6 +:1029200000000000000000000000000000000000A7 +:102930000000000000000000000000000000000097 +:1029400000000000000000000000000000003C004B +:1029500064C701000000000000000000000000004B +:102960000000000000000000000000000000000067 +:102970000000000000000000000000000000000057 +:102980000000000000000000000000000000000047 +:102990003C00A0C701000000000000000000000093 +:1029A0000000000000000000000000000000000027 +:1029B0000000000000000000000000000000000017 +:1029C0000000000000000000000000000000000007 +:1029D00000003C00DCC70100000000000000000017 +:1029E00000000000000000000000000000000000E7 +:1029F00000000000000000000000000000000000D7 +:102A000000000000000000000000000000000000C6 +:102A1000000000003C0018C8010000000000000099 +:102A200000000000000000000000000000000000A6 +:102A30000000000000000000000000000000000096 +:102A40000000000000000000000000000000000086 +:102A50000000000000003C0054C80100000000001D +:102A60000000000000000000000000000000000066 +:102A70000000000000000000000000000000000056 +:102A80000000000000000000000000000000000046 +:102A900000000000000000003C0090C801000000A1 +:102AA0000000000000000000000000000000000026 +:102AB0000000000000000000000000000000000016 +:102AC0000000000000000000000000000000000006 +:102AD000000000000000000000003C00CCC8010025 +:102AE00000000000000000000000000000000000E6 +:102AF00000000000000000000000000000000000D6 +:102B000000000000000000000000000000000000C5 +:102B10000000000000000000000000003C0008C9A8 +:102B200001000000000000000000000000000000A4 +:102B30000000000000000000000000000000000095 +:102B40000000000000000000000000000000000085 +:102B500000000000000000000000000000003C0039 +:102B600044C9010000000000000000000000000057 +:102B70000000000000000000000000000000000055 +:102B80000000000000000000000000000000000045 +:102B90000000000000000000000000000000000035 +:102BA0003C0080C90100000000000000000000009F +:102BB0000000000000000000000000000000000015 +:102BC0000000000000000000000000000000000005 +:102BD00000000000000000000000000000000000F5 +:102BE00000003C00BCC90100000000000000000023 +:102BF00000000000000000000000000000000000D5 +:102C000000000000000000000000000000000000C4 +:102C100000000000000000000000000000000000B4 +:102C2000000000003C00F8C90100000000000000A6 +:102C30000000000000000000000000000000000094 +:102C40000000000000000000000000000000000084 +:102C50000000000000000000000000000000000074 +:102C60000000000000003C0034CA01000000000029 +:102C70000000000000000000000000000000000054 +:102C80000000000000000000000000000000000044 +:102C90000000000000000000000000000000000034 +:102CA00000000000000000003C0070CA01000000AD +:102CB0000000000000000000000000000000000014 +:102CC0000000000000000000000000000000000004 +:102CD00000000000000000000000000000000000F4 +:102CE000000000000000000000003C00ACCA010031 +:102CF00000000000000000000000000000000000D4 +:102D000000000000000000000000000000000000C3 +:102D100000000000000000000000000000000000B3 +:102D20000000000000000000000000003C00E8CAB5 +:102D30000100000000000000000000000000000092 +:102D40000000000000000000000000000000000083 +:102D50000000000000000000000000000000000073 +:102D600000000000000000000000000000003C0027 +:102D700024CB010000000000000000000000000063 +:102D80000000000000000000000000000000000043 +:102D90000000000000000000000000000000000033 +:102DA0000000000000000000000000000000000023 +:102DB0003C0060CB010000000000000000000000AB +:102DC0000000000000000000000000000000000003 +:102DD00000000000000000000000000000000000F3 +:102DE00000000000000000000000000000000000E3 +:102DF00000003C009CCB010000000000000000002F +:102E000000000000000000000000000000000000C2 +:102E100000000000000000000000000000000000B2 +:102E200000000000000000000000000000000000A2 +:102E3000000000003C00D8CB0100000000000000B2 +:102E40000000000000000000000000000000000082 +:102E50000000000000000000000000000000000072 +:102E60000000000000000000000000000000000062 +:102E70000000000000003C0014CC01000000000035 +:102E80000000000000000000000000000000000042 +:102E90000000000000000000000000000000000032 +:102EA0000000000000000000000000000000000022 +:102EB00000000000000000003C0050CC01000000B9 +:102EC0000000000000000000000000000000000002 +:102ED00000000000000000000000000000000000F2 +:102EE00000000000000000000000000000000000E2 +:102EF000000000000000000000003C008CCC01003D +:102F000000000000000000000000000000000000C1 +:102F100000000000000000000000000000000000B1 +:102F200000000000000000000000000000000000A1 +:102F30000000000000000000000000003C00C8CCC1 +:102F40000100000000000000000000000000000080 +:102F50000000000000000000000000000000000071 +:102F60000000000000000000000000000000000061 +:102F700000000000000000000000000000003C0015 +:102F800004CD01000000000000000000000000006F +:102F90000000000000000000000000000000000031 +:102FA0000000000000000000000000000000000021 +:102FB0000000000000000000000000000000000011 +:102FC0003C0040CD010000000000000000000000B7 +:102FD00000000000000000000000000000000000F1 +:102FE00000000000000000000000000000000000E1 +:102FF00000000000000000000000000000000000D1 +:1030000000003C007CCD010000000000000000003A +:1030100000000000000000000000000000000000B0 +:1030200000000000000000000000000000000000A0 +:103030000000000000000000000000000000000090 +:10304000000000003C00B8CD0100000000000000BE +:103050000000000000000000000000000000000070 +:103060000000000000000000000000000000000060 +:103070000000000000000000000000000000000050 +:103080000000000000003C00F4CD01000000000042 +:103090000000000000000000000000000000000030 +:1030A0000000000000000000000000000000000020 +:1030B0000000000000000000000000000000000010 +:1030C00000000000000000003C0030CE01000000C5 +:1030D00000000000000000000000000000000000F0 +:1030E00000000000000000000000000000000000E0 +:1030F00000000000000000000000000000000000D0 +:10310000000000000000000000003C006CCE010048 +:1031100000000000000000000000000000000000AF +:10312000000000000000000000000000000000009F +:10313000000000000000000000000000000000008F +:103140000000000000000000000000003C00A8CECD +:10315000010000000000000000000000000000006E +:10316000000000000000000000000000000000005F +:10317000000000000000000000000000000000004F +:1031800000000000000000000000000000003C0003 +:10319000E4CE01000000000000000000000000007C +:1031A000000000000000000000000000000000001F +:1031B000000000000000000000000000000000000F +:1031C00000000000000000000000000000000000FF +:1031D0003C0020CF010000000000000000000000C3 +:1031E00000000000000000000000000000000000DF +:1031F00000000000000000000000000000000000CF +:1032000000000000000000000000000000000000BE +:1032100000003C005CCF0100000000000000000046 +:10322000000000000000000000000000000000009E +:10323000000000000000000000000000000000008E +:10324000000000000000000000000000000000007E +:10325000000000003C0098CF0100000000000000CA +:10326000000000000000000000000000000000005E +:10327000000000000000000000000000000000004E +:10328000000000000000000000000000000000003E +:103290000000000000003C00D4CF0100000000004E +:1032A000000000000000000000000000000000001E +:1032B000000000000000000000000000000000000E +:1032C00000000000000000000000000000000000FE +:1032D00000000000000000003C0010D001000000D1 +:1032E00000000000000000000000000000000000DE +:1032F00000000000000000000000000000000000CE +:1033000000000000000000000000000000000000BD +:10331000000000000000000000003C004CD0010054 +:10332000000000000000000000000000000000009D +:10333000000000000000000000000000000000008D +:10334000000000000000000000000000000000007D +:103350000000000000000000000000003C0088D0D9 +:10336000010000000000000000000000000000005C +:10337000000000000000000000000000000000004D +:10338000000000000000000000000000000000003D +:1033900000000000000000000000000000003C00F1 +:1033A000C4D0010000000000000000000000000088 +:1033B000000000000000000000000000000000000D +:1033C00000000000000000000000000000000000FD +:1033D00000000000000000000000000000000000ED +:1033E0003C0000D1010000000000000000000000CF +:1033F00000000000000000000000000000000000CD +:1034000000000000000000000000000000000000BC +:1034100000000000000000000000000000000000AC +:1034200000003C003CD10100000000000000000052 +:10343000000000000000000000000000000000008C +:10344000000000000000000000000000000000007C +:10345000000000000000000000000000000000006C +:10346000000000003C0078D10100000000000000D6 +:10347000000000000000000000000000000000004C +:10348000000000000000000000000000000000003C +:10349000000000000000000000000000000000002C +:1034A0000000000000003C00B4D10100000000005A +:1034B000000000000000000000000000000000000C +:1034C00000000000000000000000000000000000FC +:1034D00000000000000000000000000000000000EC +:1034E00000000000000000003C00F0D101000000DE +:1034F00000000000000000000000000000000000CC +:1035000000000000000000000000000000000000BB +:1035100000000000000000000000000000000000AB +:10352000000000000000000000003C002CD2010060 +:10353000000000000000000000000000000000008B +:10354000000000000000000000000000000000007B +:10355000000000000000000000000000000000006B +:103560000000000000000000000000003C0068D2E5 +:10357000010000000000000000000000000000004A +:10358000000000000000000000000000000000003B +:10359000000000000000000000000000000000002B +:1035A00000000000000000000000000000003C00DF +:1035B000A4D2010000000000000000000000000094 +:1035C00000000000000000000000000000000000FB +:1035D00000000000000000000000000000000000EB +:1035E00000000000000000000000000000000000DB +:1035F0003C00E0D2010000000000000000000000DC +:1036000000000000000000000000000000000000BA +:1036100000000000000000000000000000000000AA +:10362000000000000000000000000000000000009A +:1036300000003C001CD3010000000000000000005E +:10364000000000000000000000000000000000007A +:10365000000000000000000000000000000000006A +:10366000000000000000000000000000000000005A +:10367000000000003C0058D30100000000000000E2 +:10368000000000000000000000000000000000003A +:10369000000000000000000000000000000000002A +:1036A000000000000000000000000000000000001A +:1036B0000000000000003C0094D301000000000066 +:1036C00000000000000000000000000000000000FA +:1036D00000000000000000000000000000000000EA +:1036E00000000000000000000000000000000000DA +:1036F00000000000000000003C00D0D301000000EA +:1037000000000000000000000000000000000000B9 +:1037100000000000000000000000000000000000A9 +:103720000000000000000000000000000000000099 +:10373000000000000000000000003C000CD401006C +:103740000000000000000000000000000000000079 +:103750000000000000000000000000000000000069 +:103760000000000000000000000000000000000059 +:103770000000000000000000000000003C0048D4F1 +:103780000100000000000000000000000000000038 +:103790000000000000000000000000000000000029 +:1037A0000000000000000000000000000000000019 +:1037B00000000000000000000000000000003C00CD +:1037C00084D40100000000000000000000000000A0 +:1037D00000000000000000000000000000000000E9 +:1037E00000000000000000000000000000000000D9 +:1037F00000000000000000000000000000000000C9 +:103800003C00C0D4010000000000000000000000E7 +:1038100000000000000000000000000000000000A8 +:103820000000000000000000000000000000000098 +:103830000000000000000000000000000000000088 +:1038400000003C00FCD4010000000000000000006B +:103850000000000000000000000000000000000068 +:103860000000000000000000000000000000000058 +:103870000000000000000000000000000000000048 +:10388000000000003C0038D50100000000000000EE +:103890000000000000000000000000000000000028 +:1038A0000000000000000000000000000000000018 +:1038B0000000000000000000000000000000000008 +:1038C0000000000000003C0074D501000000000072 +:1038D00000000000000000000000000000000000E8 +:1038E00000000000000000000000000000000000D8 +:1038F00000000000000000000000000000000000C8 +:1039000000000000000000003C00B0D501000000F5 +:1039100000000000000000000000000000000000A7 +:103920000000000000000000000000000000000097 +:103930000000000000000000000000000000000087 +:10394000000000000000000000003C00ECD5010079 +:103950000000000000000000000000000000000067 +:103960000000000000000000000000000000000057 +:103970000000000000000000000000000000000047 +:103980000000000000000000000000003C0028D6FD +:103990000100000000000000000000000000000026 +:1039A0000000000000000000000000000000000017 +:1039B0000000000000000000000000000000000007 +:1039C00000000000000000000000000000003C00BB +:1039D00064D60100000000000000000000000000AC +:1039E00000000000000000000000000000000000D7 +:1039F00000000000000000000000000000000000C7 +:103A000000000000000000000000000000000000B6 +:103A10003C00A0D6010000000000000000000000F3 +:103A20000000000000000000000000000000000096 +:103A30000000000000000000000000000000000086 +:103A40000000000000000000000000000000000076 +:103A500000003C00DCD60100000000000000000077 +:103A60000000000000000000000000000000000056 +:103A70000000000000000000000000000000000046 +:103A80000000000000000000000000000000000036 +:103A9000000000003C0018D70100000000000000FA +:103AA0000000000000000000000000000000000016 +:103AB0000000000000000000000000000000000006 +:103AC00000000000000000000000000000000000F6 +:103AD0000000000000003C0054D70100000000007E +:103AE00000000000000000000000000000000000D6 +:103AF00000000000000000000000000000000000C6 +:103B000000000000000000000000000000000000B5 +:103B100000000000000000003C0090D70100000001 +:103B20000000000000000000000000000000000095 +:103B30000000000000000000000000000000000085 +:103B40000000000000000000000000000000000075 +:103B5000000000000000000000003C00CCD7010085 +:103B60000000000000000000000000000000000055 +:103B70000000000000000000000000000000000045 +:103B80000000000000000000000000000000000035 +:103B90000000000000000000000000003C0008D809 +:103BA0000100000000000000000000000000000014 +:103BB0000000000000000000000000000000000005 +:103BC00000000000000000000000000000000000F5 +:103BD00000000000000000000000000000003C00A9 +:103BE00044D80100000000000000000000000000B8 +:103BF00000000000000000000000000000000000C5 +:103C000000000000000000000000000000000000B4 +:103C100000000000000000000000000000000000A4 +:103C20003C0080D8010000000000000000000000FF +:103C30000000000000000000000000000000000084 +:103C40000000000000000000000000000000000074 +:103C50000000000000000000000000000000000064 +:103C600000003C00BCD80100000000000000000083 +:103C70000000000000000000000000000000000044 +:103C80000000000000000000000000000000000034 +:103C90000000000000000000000000000000000024 +:103CA000000000003C00F8D8010000000000000007 +:103CB0000000000000000000000000000000000004 +:103CC00000000000000000000000000000000000F4 +:103CD00000000000000000000000000000000000E4 +:103CE0000000000000003C0034D90100000000008A +:103CF00000000000000000000000000000000000C4 +:103D000000000000000000000000000000000000B3 +:103D100000000000000000000000000000000000A3 +:103D200000000000000000003C0070D9010000000D +:103D30000000000000000000000000000000000083 +:103D40000000000000000000000000000000000073 +:103D50000000000000000000000000000000000063 +:103D6000000000000000000000003C00ACD9010091 +:103D70000000000000000000000000000000000043 +:103D80000000000000000000000000000000000033 +:103D90000000000000000000000000000000000023 +:103DA0000000000000000000000000003C00E8D916 +:103DB0000100000000000000000000000000000002 +:103DC00000000000000000000000000000000000F3 +:103DD00000000000000000000000000000000000E3 +:103DE00000000000000000000000000000003C0097 +:103DF00024DA0100000000000000000000000000C4 +:103E000000000000000000000000000000000000B2 +:103E100000000000000000000000000000000000A2 +:103E20000000000000000000000000000000000092 +:103E30003C0060DA0100000000000000000000000B +:103E40000000000000000000000000000000000072 +:103E50000000000000000000000000000000000062 +:103E60000000000000000000000000000000000052 +:103E700000003C009CDA010000000000000000008F +:103E80000000000000000000000000000000000032 +:103E90000000000000000000000000000000000022 +:103EA0000000000000000000000000000000000012 +:103EB000000000003C00D8DA010000000000000013 +:103EC00000000000000000000000000000000000F2 +:103ED00000000000000000000000000000000000E2 +:103EE00000000000000000000000000000000000D2 +:103EF0000000000000003C0014DB01000000000096 +:103F000000000000000000000000000000000000B1 +:103F100000000000000000000000000000000000A1 +:103F20000000000000000000000000000000000091 +:103F300000000000000000003C0050DB0100000019 +:103F40000000000000000000000000000000000071 +:103F50000000000000000000000000000000000061 +:103F60000000000000000000000000000000000051 +:103F7000000000000000000000003C008CDB01009D +:103F80000000000000000000000000000000000031 +:103F90000000000000000000000000000000000021 +:103FA0000000000000000000000000000000000011 +:103FB0000000000000000000000000003C00C8DB22 +:103FC00001000000000000000000000000000000F0 +:103FD00000000000000000000000000000000000E1 +:103FE00000000000000000000000000000000000D1 +:103FF00000000000000000000000000000003C0085 +:1040000004DC0100000000000000000000000000CF +:1040100000000000000000000000000000000000A0 +:104020000000000000000000000000000000000090 +:104030000000000000000000000000000000000080 +:104040003C0040DC01000000000000000000000017 +:104050000000000000000000000000000000000060 +:104060000000000000000000000000000000000050 +:104070000000000000000000000000000000000040 +:1040800000003C007CDC010000000000000000009B +:104090000000000000000000000000000000000020 +:1040A0000000000000000000000000000000000010 +:1040B0000000000000000000000000000000000000 +:1040C000000000003C00B8DC01000000000000001F +:1040D00000000000000000000000000000000000E0 +:1040E00000000000000000000000000000000000D0 +:1040F00000000000000000000000000000000000C0 +:104100000000000000003C00F4DC010000000000A2 +:10411000000000000000000000000000000000009F +:10412000000000000000000000000000000000008F +:10413000000000000000000000000000000000007F +:1041400000000000000000003C0030DD0100000025 +:10415000000000000000000000000000000000005F +:10416000000000000000000000000000000000004F +:10417000000000000000000000000000000000003F +:10418000000000000000000000003C006CDD0100A9 +:10419000000000000000000000000000000000001F +:1041A000000000000000000000000000000000000F +:1041B00000000000000000000000000000000000FF +:1041C0000000000000000000000000003C00A8DD2E +:1041D00001000000000000000000000000000000DE +:1041E00000000000000000000000000000000000CF +:1041F00000000000000000000000000000000000BF +:1042000000000000000000000000000000003C0072 +:10421000E4DD0100000000000000000000000000DC +:10422000000000000000000000000000000000008E +:10423000000000000000000000000000000000007E +:10424000000000000000000000000000000000006E +:104250003C0020DE01000000000000000000000023 +:10426000000000000000000000000000000000004E +:10427000000000000000000000000000000000003E +:10428000000000000000000000000000000000002E +:1042900000003C005CDE01000000000000000000A7 +:1042A000000000000000000000000000000000000E +:1042B00000000000000000000000000000000000FE +:1042C00000000000000000000000000000000000EE +:1042D000000000003C0098DE01000000000000002B +:1042E00000000000000000000000000000000000CE +:1042F00000000000000000000000000000000000BE +:1043000000000000000000000000000000000000AD +:104310000000000000003C00D4DE010000000000AE +:10432000000000000000000000000000000000008D +:10433000000000000000000000000000000000007D +:10434000000000000000000000000000000000006D +:1043500000000000000000003C0010DF0100000031 +:10436000000000000000000000000000000000004D +:10437000000000000000000000000000000000003D +:10438000000000000000000000000000000000002D +:10439000000000000000000000003C004CDF0100B5 +:1043A000000000000000000000000000000000000D +:1043B00000000000000000000000000000000000FD +:1043C00000000000000000000000000000000000ED +:1043D0000000000000000000000000003C0088DF3A +:1043E00001000000000000000000000000000000CC +:1043F00000000000000000000000000000000000BD +:1044000000000000000000000000000000000000AC +:1044100000000000000000000000000000003C0060 +:10442000C4DF0100000000000000000000000000E8 +:10443000000000000000000000000000000000007C +:10444000000000000000000000000000000000006C +:10445000000000000000000000000000000000005C +:104460003C0000E00100000000000000000000002F +:10447000000000000000000000000000000000003C +:10448000000000000000000000000000000000002C +:10449000000000000000000000000000000000001C +:1044A00000003C003CE001000000000000000000B3 +:1044B00000000000000000000000000000000000FC +:1044C00000000000000000000000000000000000EC +:1044D00000000000000000000000000000000000DC +:1044E000000000003C0078E0010000000000000037 +:1044F00000000000000000000000000000000000BC +:1045000000000000000000000000000000000000AB +:10451000000000000000000000000000000000009B +:104520000000000000003C00B4E0010000000000BA +:10453000000000000000000000000000000000007B +:10454000000000000000000000000000000000006B +:10455000000000000000000000000000000000005B +:1045600000000000000000003C00F0E0010000003E +:10457000000000000000000000000000000000003B +:10458000000000000000000000000000000000002B +:10459000000000000000000000000000000000001B +:1045A000000000000000000000003C002CE10100C1 +:1045B00000000000000000000000000000000000FB +:1045C00000000000000000000000000000000000EB +:1045D00000000000000000000000000000000000DB +:1045E0000000000000000000000000003C0068E146 +:1045F00001000000000000000000000000000000BA +:1046000000000000000000000000000000000000AA +:10461000000000000000000000000000000000009A +:1046200000000000000000000000000000003C004E +:10463000A4E10100000000000000000000000000F4 +:10464000000000000000000000000000000000006A +:10465000000000000000000000000000000000005A +:10466000000000000000000000000000000000004A +:104670003C00E0E10100000000000000000000003C +:10468000000000000000000000000000000000002A +:10469000000000000000000000000000000000001A +:1046A000000000000000000000000000000000000A +:1046B00000003C001CE201000000000000000000BF +:1046C00000000000000000000000000000000000EA +:1046D00000000000000000000000000000000000DA +:1046E00000000000000000000000000000000000CA +:1046F000000000003C0058E2010000000000000043 +:1047000000000000000000000000000000000000A9 +:104710000000000000000000000000000000000099 +:104720000000000000000000000000000000000089 +:104730000000000000003C0094E2010000000000C6 +:104740000000000000000000000000000000000069 +:104750000000000000000000000000000000000059 +:104760000000000000000000000000000000000049 +:1047700000000000000000003C00D0E2010000004A +:104780000000000000000000000000000000000029 +:104790000000000000000000000000000000000019 +:1047A0000000000000000000000000000000000009 +:1047B000000000000000000000003C000CE30100CD +:1047C00000000000000000000000000000000000E9 +:1047D00000000000000000000000000000000000D9 +:1047E00000000000000000000000000000000000C9 +:1047F0000000000000000000000000003C0048E352 +:1048000001000000000000000000000000000000A7 +:104810000000000000000000000000000000000098 +:104820000000000000000000000000000000000088 +:1048300000000000000000000000000000003C003C +:1048400084E3010000000000000000000000000000 +:104850000000000000000000000000000000000058 +:104860000000000000000000000000000000000048 +:104870000000000000000000000000000000000038 +:104880003C00C0E301000000000000000000000048 +:104890000000000000000000000000000000000018 +:1048A0000000000000000000000000000000000008 +:1048B00000000000000000000000000000000000F8 +:1048C00000003C00FCE301000000000000000000CC +:1048D00000000000000000000000000000000000D8 +:1048E00000000000000000000000000000000000C8 +:1048F00000000000000000000000000000000000B8 +:10490000000000003C0038E401000000000000004E +:104910000000000000000000000000000000000097 +:104920000000000000000000000000000000000087 +:104930000000000000000000000000000000000077 +:104940000000000000003C0074E4010000000000D2 +:104950000000000000000000000000000000000057 +:104960000000000000000000000000000000000047 +:104970000000000000000000000000000000000037 +:1049800000000000000000003C00B0E40100000056 +:104990000000000000000000000000000000000017 +:1049A0000000000000000000000000000000000007 +:1049B00000000000000000000000000000000000F7 +:1049C000000000000000000000003C00ECE40100DA +:1049D00000000000000000000000000000000000D7 +:1049E00000000000000000000000000000000000C7 +:1049F00000000000000000000000000000000000B7 +:104A00000000000000000000000000003C0028E55D +:104A10000100000000000000000000000000000095 +:104A20000000000000000000000000000000000086 +:104A30000000000000000000000000000000000076 +:104A400000000000000000000000000000003C002A +:104A500064E501000000000000000000000000000C +:104A60000000000000000000000000000000000046 +:104A70000000000000000000000000000000000036 +:104A80000000000000000000000000000000000026 +:104A90003C00A0E501000000000000000000000054 +:104AA0000000000000000000000000000000000006 +:104AB00000000000000000000000000000000000F6 +:104AC00000000000000000000000000000000000E6 +:104AD00000003C00DCE501000000000000000000D8 +:104AE00000000000000000000000000000000000C6 +:104AF00000000000000000000000000000000000B6 +:104B000000000000000000000000000000000000A5 +:104B1000000000003C0018E601000000000000005A +:104B20000000000000000000000000000000000085 +:104B30000000000000000000000000000000000075 +:104B40000000000000000000000000000000000065 +:104B50000000000000003C0054E6010000000000DE +:104B60000000000000000000000000000000000045 +:104B70000000000000000000000000000000000035 +:104B80000000000000000000000000000000000025 +:104B900000000000000000003C0090E60100000062 +:104BA0000000000000000000000000000000000005 +:104BB00000000000000000000000000000000000F5 +:104BC00000000000000000000000000000000000E5 +:104BD000000000000000000000003C00CCE60100E6 +:104BE00000000000000000000000000000000000C5 +:104BF00000000000000000000000000000000000B5 +:104C000000000000000000000000000000000000A4 +:104C10000000000000000000000000003C0008E769 +:104C20000100000000000000000000000000000083 +:104C30000000000000000000000000000000000074 +:104C40000000000000000000000000000000000064 +:104C500000000000000000000000000000003C0018 +:104C600044E7010000000000000000000000000018 +:104C70000000000000000000000000000000000034 +:104C80000000000000000000000000000000000024 +:104C90000000000000000000000000000000000014 +:104CA0003C0080E701000000000000000000000060 +:104CB00000000000000000000000000000000000F4 +:104CC00000000000000000000000000000000000E4 +:104CD00000000000000000000000000000000000D4 +:104CE00000003C00BCE701000000000000000000E4 +:104CF00000000000000000000000000000000000B4 +:104D000000000000000000000000000000000000A3 +:104D10000000000000000000000000000000000093 +:104D2000000000003C00F8E7010000000000000067 +:104D30000000000000000000000000000000000073 +:104D40000000000000000000000000000000000063 +:104D50000000000000000000000000000000000053 +:104D60000000000000003C0034E8010000000000EA +:104D70000000000000000000000000000000000033 +:104D80000000000000000000000000000000000023 +:104D90000000000000000000000000000000000013 +:104DA00000000000000000003C0070E8010000006E +:104DB00000000000000000000000000000000000F3 +:104DC00000000000000000000000000000000000E3 +:104DD00000000000000000000000000000000000D3 +:104DE000000000000000000000003C00ACE80100F2 +:104DF00000000000000000000000000000000000B3 +:104E000000000000000000000000000000000000A2 +:104E10000000000000000000000000000000000092 +:104E20000000000000000000000000003C00E8E876 +:104E30000100000000000000000000000000000071 +:104E40000000000000000000000000000000000062 +:104E50000000000000000000000000000000000052 +:104E600000000000000000000000000000003C0006 +:104E700024E9010000000000000000000000000024 +:104E80000000000000000000000000000000000022 +:104E90000000000000000000000000000000000012 +:104EA0000000000000000000000000000000000002 +:104EB0003C0060E90100000000000000000000006C +:104EC00000000000000000000000000000000000E2 +:104ED00000000000000000000000000000000000D2 +:104EE00000000000000000000000000000000000C2 +:104EF00000003C009CE901000000000000000000F0 +:104F000000000000000000000000000000000000A1 +:104F10000000000000000000000000000000000091 +:104F20000000000000000000000000000000000081 +:104F3000000000003C00D8E9010000000000000073 +:104F40000000000000000000000000000000000061 +:104F50000000000000000000000000000000000051 +:104F60000000000000000000000000000000000041 +:104F70000000000000003C0014EA010000000000F6 +:104F80000000000000000000000000000000000021 +:104F90000000000000000000000000000000000011 +:104FA0000000000000000000000000000000000001 +:104FB00000000000000000003C0050EA010000007A +:104FC00000000000000000000000000000000000E1 +:104FD00000000000000000000000000000000000D1 +:104FE00000000000000000000000000000000000C1 +:104FF000000000000000000000003C008CEA0100FE +:1050000000000000000000000000000000000000A0 +:105010000000000000000000000000000000000090 +:105020000000000000000000000000000000000080 +:105030000000000000000000000000003C00C8EA82 +:10504000010000000000000000000000000000005F +:105050000000000000000000000000000000000050 +:105060000000000000000000000000000000000040 +:1050700000000000000000000000000000003C00F4 +:1050800004EB010000000000000000000000000030 +:105090000000000000000000000000000000000010 +:1050A0000000000000000000000000000000000000 +:1050B00000000000000000000000000000000000F0 +:1050C0003C0040EB01000000000000000000000078 +:1050D00000000000000000000000000000000000D0 +:1050E00000000000000000000000000000000000C0 +:1050F00000000000000000000000000000000000B0 +:1051000000003C007CEB01000000000000000000FB +:10511000000000000000000000000000000000008F +:10512000000000000000000000000000000000007F +:10513000000000000000000000000000000000006F +:10514000000000003C00B8EB01000000000000007F +:10515000000000000000000000000000000000004F +:10516000000000000000000000000000000000003F +:10517000000000000000000000000000000000002F +:105180000000000000003C00F4EB01000000000003 +:10519000000000000000000000000000000000000F +:1051A00000000000000000000000000000000000FF +:1051B00000000000000000000000000000000000EF +:1051C00000000000000000003C0030EC0100000086 +:1051D00000000000000000000000000000000000CF +:1051E00000000000000000000000000000000000BF +:1051F00000000000000000000000000000000000AF +:10520000000000000000000000003C006CEC010009 +:10521000000000000000000000000000000000008E +:10522000000000000000000000000000000000007E +:10523000000000000000000000000000000000006E +:105240000000000000000000000000003C00A8EC8E +:10525000010000000000000000000000000000004D +:10526000000000000000000000000000000000003E +:10527000000000000000000000000000000000002E +:1052800000000000000000000000000000003C00E2 +:10529000E4EC01000000000000000000000000003D +:1052A00000000000000000000000000000000000FE +:1052B00000000000000000000000000000000000EE +:1052C00000000000000000000000000000000000DE +:1052D0003C0020ED01000000000000000000000084 +:1052E00000000000000000000000000000000000BE +:1052F00000000000000000000000000000000000AE +:10530000000000000000000000000000000000009D +:1053100000003C005CED0100000000000000000007 +:10532000000000000000000000000000000000007D +:10533000000000000000000000000000000000006D +:10534000000000000000000000000000000000005D +:10535000000000003C0098ED01000000000000008B +:10536000000000000000000000000000000000003D +:10537000000000000000000000000000000000002D +:10538000000000000000000000000000000000001D +:105390000000000000003C00D4ED0100000000000F +:1053A00000000000000000000000000000000000FD +:1053B00000000000000000000000000000000000ED +:1053C00000000000000000000000000000000000DD +:1053D00000000000000000003C0010EE0100000092 +:1053E00000000000000000000000000000000000BD +:1053F00000000000000000000000000000000000AD +:10540000000000000000000000000000000000009C +:10541000000000000000000000003C004CEE010015 +:10542000000000000000000000000000000000007C +:10543000000000000000000000000000000000006C +:10544000000000000000000000000000000000005C +:105450000000000000000000000000003C0088EE9A +:10546000010000000000000000000000000000003B +:10547000000000000000000000000000000000002C +:10548000000000000000000000000000000000001C +:1054900000000000000000000000000000003C00D0 +:1054A000C4EE010000000000000000000000000049 +:1054B00000000000000000000000000000000000EC +:1054C00000000000000000000000000000000000DC +:1054D00000000000000000000000000000000000CC +:1054E0003C0000EF01000000000000000000000090 +:1054F00000000000000000000000000000000000AC +:10550000000000000000000000000000000000009B +:10551000000000000000000000000000000000008B +:1055200000003C003CEF0100000000000000000013 +:10553000000000000000000000000000000000006B +:10554000000000000000000000000000000000005B +:10555000000000000000000000000000000000004B +:10556000000000003C0078EF010000000000000097 +:10557000000000000000000000000000000000002B +:10558000000000000000000000000000000000001B +:10559000000000000000000000000000000000000B +:1055A0000000000000003C00B4EF0100000000001B +:1055B00000000000000000000000000000000000EB +:1055C00000000000000000000000000000000000DB +:1055D00000000000000000000000000000000000CB +:1055E00000000000000000003C00F0EF010000009F +:1055F00000000000000000000000000000000000AB +:10560000000000000000000000000000000000009A +:10561000000000000000000000000000000000008A +:10562000000000000000000000003C002CF0010021 +:10563000000000000000000000000000000000006A +:10564000000000000000000000000000000000005A +:10565000000000000000000000000000000000004A +:105660000000000000000000000000003C0068F0A6 +:105670000100000000000000000000000000000029 +:10568000000000000000000000000000000000001A +:10569000000000000000000000000000000000000A +:1056A00000000000000000000000000000003C00BE +:1056B000A4F0010000000000000000000000000055 +:1056C00000000000000000000000000000000000DA +:1056D00000000000000000000000000000000000CA +:1056E00000000000000000000000000000000000BA +:1056F0003C00E0F00100000000000000000000009D +:105700000000000000000000000000000000000099 +:105710000000000000000000000000000000000089 +:105720000000000000000000000000000000000079 +:1057300000003C001CF1010000000000000000001F +:105740000000000000000000000000000000000059 +:105750000000000000000000000000000000000049 +:105760000000000000000000000000000000000039 +:10577000000000003C0058F10100000000000000A3 +:105780000000000000000000000000000000000019 +:105790000000000000000000000000000000000009 +:1057A00000000000000000000000000000000000F9 +:1057B0000000000000003C0094F101000000000027 +:1057C00000000000000000000000000000000000D9 +:1057D00000000000000000000000000000000000C9 +:1057E00000000000000000000000000000000000B9 +:1057F00000000000000000003C00D0F101000000AB +:105800000000000000000000000000000000000098 +:105810000000000000000000000000000000000088 +:105820000000000000000000000000000000000078 +:10583000000000000000000000003C000CF201002D +:105840000000000000000000000000000000000058 +:105850000000000000000000000000000000000048 +:105860000000000000000000000000000000000038 +:105870000000000000000000000000003C0048F2B2 +:105880000100000000000000000000000000000017 +:105890000000000000000000000000000000000008 +:1058A00000000000000000000000000000000000F8 +:1058B00000000000000000000000000000003C00AC +:1058C00084F2010000000000000000000000000061 +:1058D00000000000000000000000000000000000C8 +:1058E00000000000000000000000000000000000B8 +:1058F00000000000000000000000000000000000A8 +:105900003C00C0F2010000000000000000000000A8 +:105910000000000000000000000000000000000087 +:105920000000000000000000000000000000000077 +:105930000000000000000000000000000000000067 +:1059400000003C00FCF2010000000000000000002C +:105950000000000000000000000000000000000047 +:105960000000000000000000000000000000000037 +:105970000000000000000000000000000000000027 +:10598000000000003C0038F30100000000000000AF +:105990000000000000000000000000000000000007 +:1059A00000000000000000000000000000000000F7 +:1059B00000000000000000000000000000000000E7 +:1059C0000000000000003C0074F301000000000033 +:1059D00000000000000000000000000000000000C7 +:1059E00000000000000000000000000000000000B7 +:1059F00000000000000000000000000000000000A7 +:105A000000000000000000003C00B0F301000000B6 +:105A10000000000000000000000000000000000086 +:105A20000000000000000000000000000000000076 +:105A30000000000000000000000000000000000066 +:105A4000000000000000000000003C00ECF301003A +:105A50000000000000000000000000000000000046 +:105A60000000000000000000000000000000000036 +:105A70000000000000000000000000000000000026 +:105A80000000000000000000000000003C0028F4BE +:105A90000100000000000000000000000000000005 +:105AA00000000000000000000000000000000000F6 +:105AB00000000000000000000000000000000000E6 +:105AC00000000000000000000000000000003C009A +:105AD00064F401000000000000000000000000006D +:105AE00000000000000000000000000000000000B6 +:105AF00000000000000000000000000000000000A6 +:105B00000000000000000000000000000000000095 +:105B10003C00A0F4010000000000000000000000B4 +:105B20000000000000000000000000000000000075 +:105B30000000000000000000000000000000000065 +:105B40000000000000000000000000000000000055 +:105B500000003C00DCF40100000000000000000038 +:105B60000000000000000000000000000000000035 +:105B70000000000000000000000000000000000025 +:105B80000000000000000000000000000000000015 +:105B9000000000003C0018F50100000000000000BB +:105BA00000000000000000000000000000000000F5 +:105BB00000000000000000000000000000000000E5 +:105BC00000000000000000000000000000000000D5 +:105BD0000000000000003C0054F50100000000003F +:105BE00000000000000000000000000000000000B5 +:105BF00000000000000000000000000000000000A5 +:105C00000000000000000000000000000000000094 +:105C100000000000000000003C0090F501000000C2 +:105C20000000000000000000000000000000000074 +:105C30000000000000000000000000000000000064 +:105C40000000000000000000000000000000000054 +:105C5000000000000000000000003C00CCF5010046 +:105C60000000000000000000000000000000000034 +:105C70000000000000000000000000000000000024 +:105C80000000000000000000000000000000000014 +:105C90000000000000000000000000003C0008F6CA +:105CA00001000000000000000000000000000000F3 +:105CB00000000000000000000000000000000000E4 +:105CC00000000000000000000000000000000000D4 +:105CD00000000000000000000000000000003C0088 +:105CE00044F6010000000000000000000000000079 +:105CF00000000000000000000000000000000000A4 +:105D00000000000000000000000000000000000093 +:105D10000000000000000000000000000000000083 +:105D20003C0080F6010000000000000000000000C0 +:105D30000000000000000000000000000000000063 +:105D40000000000000000000000000000000000053 +:105D50000000000000000000000000000000000043 +:105D600000003C00BCF60100000000000000000044 +:105D70000000000000000000000000000000000023 +:105D80000000000000000000000000000000000013 +:105D90000000000000000000000000000000000003 +:105DA000000000003C00F8F60100000000000000C8 +:105DB00000000000000000000000000000000000E3 +:105DC00000000000000000000000000000000000D3 +:105DD00000000000000000000000000000000000C3 +:105DE0000000000000003C0034F70100000000004B +:105DF00000000000000000000000000000000000A3 +:105E00000000000000000000000000000000000092 +:105E10000000000000000000000000000000000082 +:105E200000000000000000003C0070F701000000CE +:105E30000000000000000000000000000000000062 +:105E40000000000000000000000000000000000052 +:105E50000000000000000000000000000000000042 +:105E6000000000000000000000003C00ACF7010052 +:105E70000000000000000000000000000000000022 +:105E80000000000000000000000000000000000012 +:105E90000000000000000000000000000000000002 +:105EA0000000000000000000000000003C00E8F7D7 +:105EB00001000000000000000000000000000000E1 +:105EC00000000000000000000000000000000000D2 +:105ED00000000000000000000000000000000000C2 +:105EE00000000000000000000000000000003C0076 +:105EF00024F8010000000000000000000000000085 +:105F00000000000000000000000000000000000091 +:105F10000000000000000000000000000000000081 +:105F20000000000000000000000000000000000071 +:105F30003C0060F8010000000000000000000000CC +:105F40000000000000000000000000000000000051 +:105F50000000000000000000000000000000000041 +:105F60000000000000000000000000000000000031 +:105F700000003C009CF80100000000000000000050 +:105F80000000000000000000000000000000000011 +:105F90000000000000000000000000000000000001 +:105FA00000000000000000000000000000000000F1 +:105FB000000000003C00D8F80100000000000000D4 +:105FC00000000000000000000000000000000000D1 +:105FD00000000000000000000000000000000000C1 +:105FE00000000000000000000000000000000000B1 +:105FF0000000000000003C0014F901000000000057 +:106000000000000000000000000000000000000090 +:106010000000000000000000000000000000000080 +:106020000000000000000000000000000000000070 +:1060300000000000000000003C0050F901000000DA +:106040000000000000000000000000000000000050 +:106050000000000000000000000000000000000040 +:106060000000000000000000000000000000000030 +:10607000000000000000000000003C008CF901005E +:106080000000000000000000000000000000000010 +:106090000000000000000000000000000000000000 +:1060A00000000000000000000000000000000000F0 +:1060B0000000000000000000000000003C00C8F9E3 +:1060C00001000000000000000000000000000000CF +:1060D00000000000000000000000000000000000C0 +:1060E00000000000000000000000000000000000B0 +:1060F00000000000000000000000000000003C0064 +:1061000004FA010000000000000000000000000090 +:10611000000000000000000000000000000000007F +:10612000000000000000000000000000000000006F +:10613000000000000000000000000000000000005F +:106140003C0040FA010000000000000000000000D8 +:10615000000000000000000000000000000000003F +:10616000000000000000000000000000000000002F +:10617000000000000000000000000000000000001F +:1061800000003C007CFA010000000000000000005C +:1061900000000000000000000000000000000000FF +:1061A00000000000000000000000000000000000EF +:1061B00000000000000000000000000000000000DF +:1061C000000000003C00B8FA0100000000000000E0 +:1061D00000000000000000000000000000000000BF +:1061E00000000000000000000000000000000000AF +:1061F000000000000000000000000000000000009F +:106200000000000000003C00F4FA01000000000063 +:10621000000000000000000000000000000000007E +:10622000000000000000000000000000000000006E +:10623000000000000000000000000000000000005E +:1062400000000000000000003C0030FB01000000E6 +:10625000000000000000000000000000000000003E +:10626000000000000000000000000000000000002E +:10627000000000000000000000000000000000001E +:10628000000000000000000000003C006CFB01006A +:1062900000000000000000000000000000000000FE +:1062A00000000000000000000000000000000000EE +:1062B00000000000000000000000000000000000DE +:1062C0000000000000000000000000003C00A8FBEF +:1062D00001000000000000000000000000000000BD +:1062E00000000000000000000000000000000000AE +:1062F000000000000000000000000000000000009E +:1063000000000000000000000000000000003C0051 +:10631000E4FB01000000000000000000000000009D +:10632000000000000000000000000000000000006D +:10633000000000000000000000000000000000005D +:10634000000000000000000000000000000000004D +:106350003C0020FC010000000000000000000000E4 +:10636000000000000000000000000000000000002D +:10637000000000000000000000000000000000001D +:10638000000000000000000000000000000000000D +:1063900000003C005CFC0100000000000000000068 +:1063A00000000000000000000000000000000000ED +:1063B00000000000000000000000000000000000DD +:1063C00000000000000000000000000000000000CD +:1063D000000000003C0098FC0100000000000000EC +:1063E00000000000000000000000000000000000AD +:1063F000000000000000000000000000000000009D +:10640000000000000000000000000000000000008C +:106410000000000000003C00D4FC0100000000006F +:10642000000000000000000000000000000000006C +:10643000000000000000000000000000000000005C +:10644000000000000000000000000000000000004C +:1064500000000000000000003C0010FD01000000F2 +:10646000000000000000000000000000000000002C +:10647000000000000000000000000000000000001C +:10648000000000000000000000000000000000000C +:10649000000000000000000000003C004CFD010076 +:1064A00000000000000000000000000000000000EC +:1064B00000000000000000000000000000000000DC +:1064C00000000000000000000000000000000000CC +:1064D0000000000000000000000000003C0088FDFB +:1064E00001000000000000000000000000000000AB +:1064F000000000000000000000000000000000009C +:10650000000000000000000000000000000000008B +:1065100000000000000000000000000000003C003F +:10652000C4FD0100000000000000000000000000A9 +:10653000000000000000000000000000000000005B +:10654000000000000000000000000000000000004B +:10655000000000000000000000000000000000003B +:106560003C0000FE010000000000000000000000F0 +:10657000000000000000000000000000000000001B +:10658000000000000000000000000000000000000B +:1065900000000000000000000000000000000000FB +:1065A00000003C003CFE0100000000000000000074 +:1065B00000000000000000000000000000000000DB +:1065C00000000000000000000000000000000000CB +:1065D00000000000000000000000000000000000BB +:1065E000000000003C0078FE0100000000000000F8 +:1065F000000000000000000000000000000000009B +:10660000000000000000000000000000000000008A +:10661000000000000000000000000000000000007A +:106620000000000000003C00B4FE0100000000007B +:10663000000000000000000000000000000000005A +:10664000000000000000000000000000000000004A +:10665000000000000000000000000000000000003A +:1066600000000000000000003C00F0FE01000000FF +:10667000000000000000000000000000000000001A +:10668000000000000000000000000000000000000A +:1066900000000000000000000000000000000000FA +:1066A000000000000000000000003C002CFF010082 +:1066B00000000000000000000000000000000000DA +:1066C00000000000000000000000000000000000CA +:1066D00000000000000000000000000000000000BA +:1066E0000000000000000000000000000C0068FF37 +:1066F00001000000000000000000000000003C005D +:106700000010040070B52B4806218175C175017E0B +:10671000490849000176017E02229143017626490B +:106720000B785B085B000B7004238B700C234376A3 +:10673000202303751A244475242484761024C476F7 +:106740003C003C1004002A254D70057A3026B543E4 +:1067500020350572857A6D086D008572857A9543BE +:106760008572857A042635438572857A08263543F5 +:106770008572857AA5438572057B2C430473047B5F +:106780001C433C00781004000473047B40252C4318 +:106790000473847A23438372837AAB438372037BCB +:1067A00080242343037308789043087008780122FB +:1067B00010430870087804229043087070BD0000F0 +:1067C0000C8007003C00B4100400808007000149E1 +:1067D00004204873704740800700034980B50020BB +:1067E000088000F00AFB80BD0000FC6B01007047D0 +:1067F000000080B500F067FB80BD80B50A49182015 +:10680000C1F73BFA09493C00F01004000220C1F72F +:1068100037FA08491F20C1F733FA07491C20C1F78E +:106820002FFA06490320C1F72BFA80BD992A0000F0 +:1068300041250000552500005D2500003925000098 +:1068400080B5BFF791FD80BD3C002C11040080B5E0 +:10685000054A05490A20BFF74EFF0120044980027E +:106860000860486080BDB4740100B164000000108D +:10687000070080B500F091FE80BD80B5054A05494E +:106880001B20BFF738FF012004493C0068110400B9 +:10689000C0060860486080BDB87401002D6E00001D +:1068A0000010070080B5044800F080FE0349002076 +:1068B0004860886080BD0000414B0000BC7401004E +:1068C00080B5C5F7D5FECEF7D9F803493C00A41131 +:1068D0000400086003490A20D1F7EFF880BDBC74BA +:1068E0000100496E000080B5012220210620C8F772 +:1068F00056FCBFF770FE03490020086020210248C3 +:10690000BFF763F980BDCC5C0100646D01003C0001 +:10691000E0110400084880B50068002805D006484A +:106920005430426A0021BFF7F3F8044A04490320B7 +:10693000BFF7ACFD80BD0000506D010089980000DC +:106940009198000080B500F003F800F019F880BDC0 +:106950003C001C12040010B5094C6021201CBFF73C +:106960003AF90020C043A0602060FF200230E0849C +:106970002022201C40300249BFF75BF910BD0010F7 +:1069800007007052010000200A49C0438860094B8B +:106990000A493C0058120400002082000130000621 +:1069A000000E20289950F8D30649044A081C1030DC +:1069B000083A03C27047000000100700E07E0100A3 +:1069C0007575000000A00700044800210022002384 +:1069D0000EC00C383C009412040001214160704745 +:1069E0000000707801007047000003480021002279 +:1069F00000230EC008C070470000885A01000449F7 +:106A000080B500204861024840211C30BFF7E9F8FA +:106A100080BDFC5A01003C00D012040080B5CEF7C6 +:106A20003FF80349886103490320D1F755F880BD39 +:106A3000FC5A01000D17010080B5C0F7A5F980BD13 +:106A4000FEB56C4900200090C8786B4C6B4F430733 +:106A5000C006C017DB0EE3583C000C1304000130E5 +:106A600038623B61081C8078664E03224107A036DD +:106A70000296490F3172890061583C1C6161019195 +:106A8000C006C00F7862201C002787610020211CEF +:106A9000C86159485949007809793C0048130400F5 +:106AA0005A4C4E07760F711C8C46B1008E465649E3 +:106AB0008031002824D0524F01287F781AD0022834 +:106AC00071D14F48002F0CD0012F6CD140794D4D22 +:106AD0004007400F8200AA584B4D01303C00841300 +:106AE0000400EA61A07304224B48484DC8614A483B +:106AF000002F00D04A482F1C11E04248002F55D1EA +:106B00000770022747703F484078002810D00128BE +:106B100001D002284AD13F483D4FC8613F483C0060 +:106B2000C013040088613A4970460858351CB861A2 +:106B30006046607304E03C48022288613B48C861BB +:106B40000020324906E00E18B6787607760F042E3C +:106B50002FD801309042F6D3C8792E4FC007C00F0E +:106B60003C00FC130400F86033484168194341605D +:106B7000816819438160019AB9698C461143FA69A9 +:106B8000866811438E4386604668314341600199AF +:106B90000B43181C614608431043011C00220220CD +:106BA000C7F73C003814040003FA1E4E403E7078CC +:106BB000C008C00028437070701C017800E029E014 +:106BC0000825A94301700120C043B08000210120A5 +:106BD000CFF76CFC301C8030817809090901817085 +:106BE0000F2101703C0074140400164A69041160FE +:106BF0005160029E1021327A7B6A002B00D1002165 +:106C000011432173817829438170E0780121084381 +:106C1000E070D2F7F2F9012000900098FEBDC05755 +:106C200001006C4301003C00B0140400A46C01009E +:106C300040900700C91D0000811D0000A51D000037 +:106C4000991D0000F11D0000100007000010070052 +:106C50000349002088620870487008710862704714 +:106C6000AC7E010080B501213C00EC140400002042 +:106C7000CDF769FF80BDB0B50F48C0F718FC0E4DC9 +:106C8000032028700D490D480C3948600D480A4C06 +:106C9000886040211834201CBEF7C1FFFF216868BE +:106CA000090608432060FF2106223C002815040045 +:106CB000201DBFF779F80120E060B0BDC0A8130A1D +:106CC000206E0100C0A81301FFFFFF0080B502493C +:106CD0000120C8F745FF80BD9D1C000098B50C4CF5 +:106CE00000206060E0600B4B0B4982003C006415A3 +:106CF0000400013020289950FADB6A460949052032 +:106D0000BFF72FFD0020C043206006492020086007 +:106D1000486098BD00000040070030740100A9756C +:106D20000000B59F000000100700054900203C004E +:106D3000A0150400086005488178282291438170DD +:106D40008178114381707047786E01000000070060 +:106D500070470000414810B50068022188433F4950 +:106D60000860081C0068022108433C4908603C4850 +:106D70003C00DC1504004068802188433A494860A3 +:106D8000081C006880210843374908603748017AA9 +:106D9000012421430172017A022211430172017A16 +:106DA000042291430172017A082211430172017B8E +:106DB00021433C00181604000173017B0222114399 +:106DC0000173017B042211430173017B08221143EB +:106DD00001732E214173817B3822914328318173C5 +:106DE00020214174817BC908C900033181732221AC +:106DF000C17320493C0054160400097A41721E49AF +:106E0000497A01743C220277011C10314A735023E5 +:106E10008B735A23CB730D23011C20310B70174B3E +:106E200043840E234B7000214182302101700521E3 +:106E30004170042141713C00901604008471C471BA +:106E40000C210171F82141800F49CA728A72032214 +:106E50000A7209224A7208220A73027A40231A43EC +:106E600002724C73FFF7A2FC0848017821430170BD +:106E700010BD0000F00007003C00CC160400F40038 +:106E800007000C800700764601002409000080807E +:106E90000700A080070080B518210948BEF7D7FE7B +:106EA000084800213C3841608160C1600161416156 +:106EB000816101210162FFF75CFF3C0008170400BB +:106EC000C0F76CFF80BD0000247E0100B0B52148F2 +:106ED000006840081F4940000860081C0068012144 +:106EE00008431C4908601C4A1079012108431071AD +:106EF000107902218843107100F06CF83C004417AF +:106F00000400107A012108431072107AFE21884390 +:106F10000A301072282090725A20D072114D14201D +:106F200028772C1C1034A0731620A8751820E8753B +:106F3000FFF7A1FC0C486886E07B4006400E3C0051 +:106F4000801704000E210843E073E07B8021084392 +:106F5000E07307484179042211434171B0BD00003C +:106F6000F00007000080070030800700FF010000EC +:106F70005000070080B5FFF7AFFF00201449C04361 +:106F80003C00BC1704008860C1F70BF913490020CE +:106F90004862C860486108618861C8610F4B086237 +:106FA0000F4A086338331A8001225A710B4A403263 +:106FB000D0601360082313815060094A8A62FF225F +:106FC0000A703C00F81704004870054800210022B0 +:106FD000503000230EC0C1F7FFF880BD003007001D +:106FE000046C0100BEBA0000857500000348102142 +:106FF00081710221C1713021417270470080070008 +:10700000704700003C003418040000B5C1F7DBFBFA +:1070100000BD7047000080B5CDF787FD014988604D +:1070200080BD50D9010080B506210548BEF7FDFDA1 +:10703000044900200439086000F067F800F003F804 +:1070400080BDEC6701003C007018040010B5074CCF +:107050002C21201CBEF710FE0120207003490020C7 +:107060001C39C8600861886110BD000078690100A2 +:1070700080B5CDF75DFD0949886009490820D0F742 +:1070800073FD08490920D0F73C00AC1804006FFDDF +:1070900007491120D0F76BFD0648C2F774F980BD8F +:1070A00000007869010021350000A1380000453456 +:1070B0000000BD26010080B586B00F48C4F745F931 +:1070C00000F045F8FFF7D7FFFFF73C00E818040091 +:1070D000ABFF0C490320D0F74DFD0B4869460090EB +:1070E0000020019009480490094802900948039043 +:1070F000094805900020C4F7CFF806B080BD000015 +:10710000F467010045350000953200003C00241969 +:107110000400A07D0100FD320000CD310000457D5E +:10712000010010B5CDF7D5FC0948094C302160614C +:1071300008487430BEF7A9FD0020A062064920610E +:10714000E1636064A06414212165606210BD3C00AD +:1071500060190400B9750000447D0100701700003B +:1071600080B502210920044AD1F7E8FECDF7ECFCF6 +:107170000249086380BD000039390000447D0100E8 +:1071800080B5AC210348BEF783FD00F051F800F054 +:107190003C009C19040049F880BDA46C010008B5AE +:1071A00000F04DF800F045F800211620184AD1F7FC +:1071B000C8FE174A0421101C403001700021817064 +:1071C0001121C18014490181101C8030C17808222E +:1071D00091433C00D8190400C170C1781143C170BB +:1071E0006A460F491420BFF7F5FA0E490720D0F779 +:1071F000CDFC0D490F20D0F7C9FCCDF7ABFC0B49F6 +:1072000008600A4844388068002802D00020C6F789 +:107210006FF908BD3C00141A0400B53B0000009053 +:107220000700E7FD00008D410000CD480000D9496E +:107230000000A46C010080B500F06FFC80BD7047B9 +:10724000000080B500F061FC80BD70470000B0B563 +:1072500030210C48BEF73C00501A040025FD0B4CB1 +:1072600000250A48843C3822032170386560BEF747 +:10727000DDFD0648382201213838BEF7D7FD0E2043 +:10728000A5606070207000F01DF8B0BD946701002B +:10729000044900B5012048603C008C1A0400886055 +:1072A000C860C3F7F8FF00BD0000D467010080B5D7 +:1072B00002210A20024AD1F750FE80BD00001D5A6B +:1072C000000080B500F005F880BD80B500F0FDFB42 +:1072D00080BD80B502490420D0F73C00C81A0400E4 +:1072E00061FC80BD651F000000211748C94380B5BF +:1072F000164B0170181C102220300271002210332E +:107300009A73427904231A434271427918239A43AB +:1073100008324271081CD7F759F800283C00041BBA +:10732000040003D101219A20BFF7CBFB502009496B +:1073300050220A60C8608860486008610120486186 +:107340000020D7F7D8F80449FF20086080BDF46B0F +:1073500001003000070004020700F47401003C0043 +:10736000401B040080B5D7F7FBF880BD10B5FFF7D0 +:10737000ABFBBFF7DDFB8148CDF798FA0024231C57 +:1073800004220421002001F039FA002801D0BFF7BF +:10739000C9FB231C0022FF21002001F02FFA002846 +:1073A0003C007C1B040001D0BFF7BFFB231C002264 +:1073B000FF21002001F025FA002801D0BFF7B5FB1E +:1073C000C4F727FF704884706F497F2088706E492A +:1073D0000C60032008606B4844706C480480694866 +:1073E000C0783C00B81B0400082108436749C870F6 +:1073F000081CC078042108436449C87001F07EFA73 +:10740000FFF77EFFFFF72CFE01F046FBFFF718FBAE +:1074100001F052FAFFF782FB5F48C16810229143E6 +:10742000C16001693C00F41B04005D4A1143016125 +:107430000169D20A91430161C1685A4A1143C1608E +:10744000816A594A1143816200F077F901F01FF80F +:1074500000F093FA01F099FB00F0F1FF00F099FCC5 +:1074600000F0DDFC00F03C00301C040083FCFFF762 +:10747000B3FC01F031FA01F071FAFFF787FAFFF778 +:107480009BFA012101204B4AD1F77CFD012102200A +:10749000494AD1F777FD02210320484AD1F772FD0E +:1074A00002210420464AD1F73C006C1C04006DFD0B +:1074B00002210520454AD1F768FD02210620434AF2 +:1074C000D1F763FD01210720424AD1F75EFD022179 +:1074D0001720404AD1F759FD022108203F4AD1F731 +:1074E00054FDFFF7C8FD3D4804603C00A81C0400A3 +:1074F0004460FFF717FAFFF709FAFFF74FFC00F0B7 +:1075000043F9FFF733FAFFF7FBFA01F085F801F0D2 +:10751000EBF901F023FA01F071F900F0E3FFFFF756 +:107520006FFA00F0AFF900F0BDF900F03C00E41C88 +:107530000400ADFC00F09BFEFFF7CDFAFFF7ABFEB9 +:1075400000F0C3F9FFF7ABFD00F08DFF00F021FF65 +:1075500000F065F900F097F900F0FDFE00F0E5FE9F +:1075600000F03FF900F073F9FFF737FE00F03C0040 +:10757000201D040021F900F073FBFFF7E5FB00F08C +:10758000D3FBFFF7A9FE00F0BBFB00F009FF00F002 +:10759000DBF91848C9F756F81748C9F72BF8002245 +:1075A0000121F020D1F72EFD002010BDA9690000B7 +:1075B0003C005C1D040000000700F00007002C00E8 +:1075C0000700001007003C000800C03F7438FCDFD3 +:1075D0007F3855690000E5130000610C00006D0C58 +:1075E00000003D0C0000F10D0000C53300003D0F10 +:1075F00000003C00981D0400ADD80000800007008A +:10760000505701000440010080B501F0A9F900F0D5 +:10761000C9F8FFF7C5FE01F003FB01F093FAFFF78D +:10762000CBF92C48FFF7E8F900F0AAF800F058FF72 +:10763000FFF734FD3C00D41D0400FFF7F2FBFFF719 +:107640007AFAFFF700FA00F034F900F03CF901F0A3 +:10765000E2F8FFF77AF9FFF772F9FFF79AF901F00C +:1076600066F901F08EF901F0E0F800F006FF00F095 +:10767000F0FB00F046FB3C00101E040000F0BCFFD5 +:1076800000F0E4FC00F020FEFFF740FAFFF746FEB2 +:10769000FFF756FD00F02CF900F0FAFE00F08AFE2C +:1076A00000F0D4F800F0B4F800F078FE00F04EFEE0 +:1076B00000F0DEF8FFF7ACFD3C004C1E040000F0CB +:1076C0008CF800F0F8FAFFF776FBFFF720FE01F0E8 +:1076D000A6FA00F048FB00F07CFE00F05CF9BEF773 +:1076E00057FD002080BD803801000149002008605E +:1076F0007047A87E010010B5041C3C00881E0400E1 +:1077000001D1BFF739FA0F487D21C900846001809B +:107710000D490161802141800021C16001620B4857 +:1077200041801421818007214181064A4623043289 +:107730000524137054700A21917081763C00C41E98 +:1077400004000376048110BD0000C87401000087A6 +:10775000930330000700094880B50169426911436D +:107760008269C0691143014300220320C6F7BFFCB0 +:10777000CCF71BFA0020C2F792F980BD00003C0054 +:10778000001F0400A46C0100054880B50021816041 +:107790000221C16003394160C7F73AFF80BD000094 +:1077A0004020070008B56A4604491520BFF754F881 +:1077B0000120034940050860486008BDA52101007B +:1077C0003C003C1F04000010070070470000064802 +:1077D00080B58068C001800F05D10322C143C6F780 +:1077E000BAFCD6F700FE80BD00001000070070470D +:1077F000000080B502212A20064AD1F7EAFB0022C8 +:1078000007203C00781F04000449BEF7EDFE044841 +:10781000C7F758FC80BD00008D890000D59B000093 +:107820001046010002480021002200230EC07047CC +:10783000806E010080B502212C20064AD1F7CCFBD6 +:10784000002200203C00B41F04000449BEF7CFFE14 +:1078500004490220C8F70BFA80BD058A0000E99BA5 +:107860000000B18B000002480021002200230EC05E +:1078700070471075010080B502212B20044AD1F712 +:10788000AEFB002202203C00F01F04000249BEF7BC +:10789000B1FE80BD2D8A00008D8C00007047000075 +:1078A00080B502212D20074AD1F79CFB0022012040 +:1078B0000549BEF79FFE0548CBF756FA0448CCF7BA +:1078C000F7F880BDAD8A00003C002C20040021E2C6 +:1078D0000000F9DF00002044010070470000024969 +:1078E00000200860012048607047AC79010080B535 +:1078F00002490D20D0F79BF980BD619800007047C8 +:10790000000080B5CDF777F903493C0068200400FA +:107910000860011C0248CDF797F980BDA8790100E5 +:10792000C460010080B500F029F880BD80B586B044 +:107930000C48C3F76DFDD6F7D3FB0B480D490090FB +:107940000A48049101900A48694602903C00A4202C +:1079500004000020039005900120C3F700FD0749B3 +:107960000320D0F76AF906B080BD20F70100118727 +:107970000100958701005587010098D901006D87A6 +:10798000010080B50120D6F790FC034900203C009F +:10799000E02004000860486002481439486080BD57 +:1079A00090D901003D82010070B50026094C094DB7 +:1079B0002660666044215035281CA661BEF7C8F9D0 +:1079C0001420E060E8632820E861A06028642E703D +:1079D0003C001C21040070BD0000A46E010080B5B5 +:1079E00002211820044AD1F70CFB03490820D0F7E4 +:1079F0002AF980BD0000159C0000699C0000FEB5BE +:107A0000264D2878C0070CD425490020087028701E +:107A100024483C00582104008178490849008170BD +:107A200081780122114381700024FF261F4F013607 +:107A3000211C01A8C6F732F800AB187901281FD025 +:107A4000022819D003281ED1B8680021B043B860BD +:107A5000786830433C009421040078603A683240F2 +:107A6000A02005E03B683340934201D0012101E0B2 +:107A70000138F7D27868B0437860002903D001A8B4 +:107A800000F027FF02E001A800F045FF01342406C2 +:107A90002416062CCFDB3C00D0210400044902222E +:107AA0000878104308702870FEBD0000040007002D +:107AB000E06001000000070010000700B0B50020E2 +:107AC00015231449012542008D54521801300E2807 +:107AD0005370F8D30F481C223C000C2204001C38C1 +:107AE000BEF773F90D480E212A38BEF71CF90B4971 +:107AF000002008600B4C2A21201CBEF714F92570C9 +:107B00000E2060701720A070074853210170452196 +:107B1000417020218170B0BD00003C00482204006B +:107B2000E6780100E4620100EB620100E862010016 +:107B30000C490D48002241600C4981600C49C1602C +:107B40000C4901610C4941610C498261C1610C49D8 +:107B500001620C4941620C4981620C493C0084225B +:107B60000400C162C26370470000C9750000287A32 +:107B70000100C17500008175000099750000CD7588 +:107B800000008975000091750000B57500008D75C5 +:107B90000000C5750000B0B50E480E4908603C00F5 +:107BA000C02204000831C0F743FE0C49002548609C +:107BB0000B480A4C05600B48803C05601020207182 +:107BC000E070A07160712720C043C3F7F7FB282045 +:107BD000C3F7FCFB2572B0BDFF3F00002C7D010008 +:107BE0003C00FC2204001C6701002067010080B5F6 +:107BF0002C210148BEF7C7F880BD3C7E010080B54E +:107C000038210148BEF7BFF880BD687E010080B50D +:107C100002210E20024AD1F70CFA80BD000021E0BB +:107C200000003C003823040070470000F0B585B028 +:107C3000002700AB2F4E1F8100250024281CD6F7FB +:107C4000A1FB022D03D1D6F7F5FA00280CD00124B0 +:107C5000012D03D1072000AB187101E000AB1F71AB +:107C600000AB18793C0074230400D6F708FC002C04 +:107C700039D0082103A8D6F7F2FA00AB187BFE280A +:107C800031D1587B01282AD1022102A8D6F7E7FA80 +:107C900000AB1889002826D018891849884222D0BC +:107CA00019890020BFF73C00B023040013F9041C1D +:107CB000006900AB1989D6F7D5FA206800AB1A899C +:107CC000011C0831083ACBF7A1F9002806D0022898 +:107CD00004D0022194203760BEF762FF201CBFF75A +:107CE000C7F8D4E7012194203C00EC230400BEF740 +:107CF0005AFFD5F726FF01352D062D0E042DA5D3ED +:107D000005B0F0BD000058570100FFFF00000A4811 +:107D10000021021C183280B5094B02E0016083800B +:107D200008308242FAD104486C213C002824040027 +:107D30006C38BEF737F804490220C7F7D1FF80BD81 +:107D40007C790100FC0500009D75000080B50221D2 +:107D500026200D4AD1F77CF90C48C8F773FF0C4870 +:107D6000C8F776FF0B491020CFF794FF3C0064243E +:107D700004000A490C20CFF790FF09490020C7F7FB +:107D8000B2FFCCF76EFF0749086080BD00009DA6DA +:107D90000000A9A4000081A4000031A70000B96D73 +:107DA0000000BDA600000C790100024908783C00E3 +:107DB000A0240400400840000870704758000700E5 +:107DC0000021084880B541618161017041704160C6 +:107DD00081601422C26001614262C161FFF704F850 +:107DE00080BD00001C75010080B502211D20044AE1 +:107DF0003C00DC240400D1F734F903490820CFF714 +:107E000052FF80BD000011E3000009E4000080B5CE +:107E1000012125200A4AD1F724F9CCF728FF084987 +:107E2000086208490120CFF73EFF07490220CFF73B +:107E30003AFF3C0018250400FEF7E6FF0548C1F7AD +:107E4000E1F980BD29A900001C750100A1AA00006C +:107E50002D19000045A8000010B5064C0C22227018 +:107E6000A0180549BDF7D8FF0020C8F785FB012001 +:107E7000A06010BD3C0054250400A4690100905787 +:107E80000100B0B51F4C00256580012020700A203C +:107E9000A0809020E08030202081902060813020E0 +:107EA000A0811748042207211230BEF74CF814486D +:107EB0000422052116303C0090250400BEF746F848 +:107EC0001248114AE08120827032157055700020EE +:107ED0003C23410143438918F4319B1801300428A5 +:107EE0005960F5DB084806221A300949BDF79AFFA8 +:107EF0000748054C0C300FC83C00CC25040020344A +:107F00000FC42021201CBDF762FFB0BD0000F86047 +:107F100001002C090000584001007047000007488C +:107F200010B50068002808D00648BEF79CFE041C67 +:107F3000FFF79DFE201CBEF796FE3C0008260400BD +:107F400010BD000058570100B5AD0000044980B5D0 +:107F50000020887002212020024AD1F791F880BDCC +:107F6000B479010025B5000080B5CCF78FFE01493A +:107F7000486180BDB479010080B518213C004426D9 +:107F800004001448BDF729FF1448012101700021A5 +:107F9000C1604170016100F002F900F0AAF800F040 +:107FA0001EF800F0BAF900F0CCF900F020F900F06A +:107FB00064F900F0CEF900F0FCF800F082F93C0022 +:107FC0008026040000F028F800F06EF800F04AF86F +:107FD000FFF7C2FF00F072F980BD0000407C010095 +:107FE00018630100B0B5084C0025084825772060CB +:107FF000CEF7F0FD0020E562D0F7D0FA211F08800F +:108000003C00BC260400D0F76CFBB0BD0000D47966 +:1080100001009575000080B5CCF7C1FC80BD054915 +:1080200080B500200870487003480449034A0830AE +:10803000CCF727FE80BD2C630100EDBC00004DBDD8 +:1080400000003C00F826040080B5CCF72BFE054963 +:108050004860011C0448CCF74BFE04490320CFF7CD +:108060003DFE80BD2C630100C4600100C1BC000066 +:1080700004480021002200230EC008C00249103825 +:10808000016070473C0034270400047A01001CE6BC +:10809000010080B5CCF709FE0549054A4860022178 +:1080A0002420D0F7FCFF0348C9F76BFD80BD047A9C +:1080B000010069BE000071EB000010B5044C1421F2 +:1080C000201CBDF796FE3C0070270400024820608B +:1080D00010BD0000147A0100ECE5010080B5CCF77A +:1080E000E7FD0749074A486002211F20D0F7DAFF61 +:1080F00005490120086005490C20CFF7F5FD80BD3A +:10810000147A0100D5BF00003C00AC270400805A5F +:10811000010085FF000080B5FFF74FFD0121212000 +:10812000024AD0F7C2FF80BD0000C9C1000080B57F +:10813000CCF7C1FD02490863C9F757FD80BD287A15 +:10814000010010B5CCF7B7FD164C3C00E827040041 +:108150002061CCF7B3FD60611448154908601649E9 +:1081600014480860CCF7AAFD1449086000F034F800 +:10817000FFF7E0FFFFF75EFF00F004F900F08EF874 +:10818000FFF76EFFFFF7B0FFFFF78CFF3C002428DE +:108190000400FFF704FF00F0AAF80A48BFF7BDFF8C +:1081A000C9F7BBFD09490020CFF7A7FD10BD407CF2 +:1081B00001007DB70000187E0100BDB800001C7EE4 +:1081C0000100207E0100B9BA0000812401003C00BA +:1081D0006028040080B538210148BDF719FE80BD34 +:1081E000905C010070470000B0B50C4C0B4D0020B6 +:1081F0000C3460602560E0600A202081281CC8F7EC +:108200003FFD281CC8F73AFD083D68600448C9F7DF +:108210003C009C2804001BFD201CC0F76EFA28803F +:10822000B0BDB87A0100D5330100F8B51F4E1D4C22 +:1082300000200C2141438200013009190831000659 +:10824000000E0428B150F4D318480C383061CEF732 +:10825000F4F93C00D8280400144CA078000900016F +:10826000A0700027E77067700024A50070590770A0 +:10827000201CBEF753F9715908710021201CCEF75C +:108280007DF901342406240E042CEED3074C20780B +:10829000000900013C00142904000A3020702078F5 +:1082A000F021884330302070A0780F210843A0705F +:1082B000F8BD00500700107B010080B5CCF79FFB94 +:1082C00080BDB0B50C4C0B4D00200C3460602560B7 +:1082D000E0600A2020813C0050290400281CC8F7D7 +:1082E000E1FC281CC8F7D4FC083D6860201CC0F7DE +:1082F0000DFA28800248C9F79BFCB0BD2C7B010019 +:108300004900010080B5CAF72FF880BD7047000012 +:10831000B0B5124D3C21281C3C008C290400BDF74F +:1083200086FD0F4828213C30BDF781FD0D48002116 +:1083300014380161C160FF21017041700A490A4A85 +:10834000416001210C20D0F7C8FE2C1C30340C3DBC +:108350000020D0F74AF920800C3C3C00C8290400DA +:10836000AC42F8D1B0BD0000607B010020A1070045 +:1083700035CD0000084900200C22424352181071EC +:1083800001300528F8DB04480021083801704160FD +:10839000FF21417070470000747A01003C00042AFC +:1083A000040080B578210148BDF747FD80BDC47B3E +:1083B000010080B5CAF797FA80BD7047000010B57C +:1083C0000B4CFF210531201CBDF737FD0948F0217A +:1083D0000851201C4030C5F78EF96C2106483C003E +:1083E000402A0400BDF72CFD0448C0216C30BDF7C5 +:1083F00027FD10BDC4690100B0D90100C86A0100A1 +:10840000B0B50B4D00241C20604340196C30C3F7FD +:108410000FFE0134042CF6DBCCF76EFCA863C7F723 +:108420003C007C2A040075F90448C9F71CFC034889 +:10843000CFF703FAB0BDC4690100FD800000E1225E +:10844000010010B5054C00202080034806210830AB +:10845000BDF7D5FC1420606010BD987C010010B5FC +:10846000084C3C00B82A04000020208060800648A8 +:1084700006210C30BDF7C6FC034806211230BDF7BB +:10848000C1FC1420A06010BD587C010070470000A2 +:1084900080B502210D20054AD0F72EFE0448C8F70A +:1084A0001FFC04483C00F42A0400CAF744FC80BDC9 +:1084B000000031D4000051B1000009B100000849AA +:1084C00080B500200860FFF7D0FFFFF7C0FFFFF77F +:1084D00004FC00F04AF8FFF70AFC00F03CF880BD0D +:1084E0000000E46501003C00302B040080B500F082 +:1084F00029F800F01BF800F051F800F031F880BDC9 +:10850000704700007047000080B5FF2189310248A4 +:10851000BDF7A2FC80BD0000DC71010080B50249FE +:108520000820CFF711FC80BD3C006C2B040059D90A +:10853000000080B50348CFF74CF90249488080BD60 +:1085400000008D1F0000987C010080B50348CFF724 +:1085500040F90249888080BD0000D5230000587C86 +:1085600001007047000080B502483C00A82B0400C1 +:10857000CAF7E4FB80BD000071E0000080B5CCF7D5 +:10858000A5FB02210F20064AD0F7C2FD14210548A1 +:10859000BDF768FC034878211430BDF763FC80BD4B +:1085A00035E200008466010080B5CCF73C00E42B86 +:1085B0000400B7FB0549086105490E20CFF7CDFB44 +:1085C00004490820CFF7C9FB80BDEC65010001021A +:1085D0000100C12E0000014900200870704740D9F9 +:1085E00001007047000001490020087070473C00FE +:1085F000202C0400A079010080B50748C8F7F2FFDD +:10860000064948600648C0F707FB0648C0F786FBE6 +:108610000548C9F7A3FA80BDA9E40000A0790100CC +:10862000B9E40000852E000081E40000074880B511 +:108630003C005C2C04000021002200230EC008C076 +:108640001038C821016000210C38024ACCF761FBC8 +:1086500080BDD0600100FDE5000080B5CCF767FB70 +:1086600004490860011C02480430CCF786FB80BD39 +:1086700000003C00982C0400C0600100094880B54F +:108680000A21017041700849084A81600021C160D7 +:10869000527982700161416128211830BDF7EEFBEB +:1086A00080BD00007C780100A08601000C5A01000A +:1086B000F8B50F493C00D42C04000F480D884F88B2 +:1086C00006790024301B684368230C49584341183D +:1086D0007D20C000BDF70FFD6100094AA64250523F +:1086E00000D13D1C01342406240E102CEAD3054988 +:1086F00001200861F8BD3C00102D0400F65901006E +:108700000C5A010034440F00125A01007C78010019 +:1087100080B500F0E7FA02490120086180BD000041 +:108720007C78010010B5041C081C0F494979002908 +:1087300001D10E4B00E00E4B3C004C2D0400002CF0 +:1087400007D0042111800A1C0124191CBDF7CDFBA0 +:108750000AE00124011C181C1288BDF7C6FB00F0BA +:10876000C4FA054901200861201C10BD00000C5A04 +:108770000100FE590100FA5901003C00882D040057 +:108780007C7801000D488CB5C18800AB0C4A9980FB +:1087900001890420D980188002211320D0F7D0FC51 +:1087A00000F0A6FA074901200861FFF78DFF6A462D +:1087B00001A90020FFF7BCFF8CBD00003C00C42DC8 +:1087C0000400F459010095F900007C780100F8B527 +:1087D000134E0125B5700520F070114910480EC9DF +:1087E0002C300EC0002070610F480F49104F00243C +:1087F0004860A0003958201CD1F7D7F801343C005C +:10880000002E0400102CF7D3064C0B4A2034201CF9 +:108810000A49B560CCF792FACCF79EFA3061206035 +:10882000F8BD000064730100B05801000418020094 +:1088300060000700D444010045FA000071FA00000E +:108840003C003C2E04000C4930B50023CC560B4BA9 +:108850000020F0251A5C1107090F09190F2901DD05 +:108860000F2102E0002900DA00212A405118195492 +:1088700001300E28EEDB30BD000064730100C058EB +:1088800001003C00782E0400B0B50D1C002808D073 +:10889000012414800520CCF7B5F88003C00F2870A0 +:1088A00007E028780122410452040520D0F7AEFDEC +:1088B0000124201CB0BD000098B5054C6068CCF7C1 +:1088C000F5FD00903C00B42E040000AB1888E08059 +:1088D000CEF7FBFF98BDA058010038B5031C081C5B +:1088E0000024002B174D07D00E2111800A1C0124F3 +:1088F000291CBDF70CFB22E01188042917D1011CAB +:1089000068461288BDF73C00F02E040003FB009877 +:10891000002801DB323000E032380090011C642076 +:10892000BDF798FB0106091600900E22281CBDF722 +:1089300085FB06E00E2905D10A1C011C281CBDF789 +:10894000E9FA0124201C38BD3C002C2F0400DA5920 +:10895000010038B5031C081C0024002B174D07D05C +:108960000E2111800A1C0124291CBDF7D6FA22E031 +:108970001188042917D1011C68461288BDF7CDFA69 +:108980000098002801DB323000E03C00682F040032 +:1089900032380090011C6420BDF762FB0106091605 +:1089A00000900E22281CBDF74FFB06E00E2905D1D2 +:1089B0000A1C011C281CBDF7B3FA0124201C38BD79 +:1089C000CC590100034880B5017800203C00A42F59 +:1089D0000400CCF7B4FB80BD0000A658010070472E +:1089E00000000249032008700020487070479C7303 +:1089F000010080B502211120024AD0F7BCFB80BDE6 +:108A00000000A1FE0000F0B50B4F1C1C00233C0031 +:108A1000E02F0400FD562B1C062D01D10120F0BDD6 +:108A2000064E051CD80034363554801941708270CA +:108A30004460581C38700020F0BD0000985A0100B6 +:108A400010B5041C0C4800F021F96078FF2804D010 +:108A50003C001C3004000123E056062100F0CDF854 +:108A6000084A012110780843074908702023184359 +:108A70000870802318431070087010BD0000919B8F +:108A80000000E06001000400070010B50A49041C62 +:108A900008783C005830040040084000087008493D +:108AA0000870084800F0F8F86078FF2804D0012327 +:108AB000E056052100F0A4F810BD0000E0600100C0 +:108AC00004000700919B00000348002100220023BE +:108AD0000EC008C03C009430040070470000E860FD +:108AE00001007047000010B5074C00206060208036 +:108AF000E06002211420044AD0F749FB02481030FC +:108B0000A06010BD000058750100051D01007047F0 +:108B1000000010B548213C00D03004000A48BDF7E1 +:108B2000E3F9094CE0214834201CBDF7DDF90020B1 +:108B3000C10009190A1C083201301B284A60F7D30A +:108B400001480438046010BD685B010080B5022153 +:108B50002320024AD0F71EFB3C000C31040080BDEC +:108B600000004523010080B5FFF76BF880BD70471A +:108B70000000F8B501201D49C00748601D49FF20CD +:108B800008731C4E10203060050135601B4C80219D +:108B9000201CBDF7ACF90021194A3C004831040003 +:108BA000154F00200B011B195A60CB00DB191874FC +:108BB00001310829F6DB0F4CFA212180124961802E +:108BC000A0606A4611490420BDF730FF6A4610498B +:108BD0000820BDF72BFF1020706075603C008431C9 +:108BE000040060680221084360600B49064A081CC3 +:108BF0001030083A03C2F8BD000000010700006011 +:108C0000070000100700AC730100D1750000204E72 +:108C10000000052C0100112C010000A007003C0001 +:108C2000C031040070B50E1C0024C4F75BFE0028A0 +:108C30003BD04568FF2D38D00C2E28D201A39B5D78 +:108C40005B009F440507090B0D101316181B1E210E +:108C5000182420E030241EE060241CE0C0241AE028 +:108C60003C00FC310400FF24813417E00924A401F6 +:108C700014E00924E40111E00F4C0FE00924240260 +:108C80000CE00924640209E00324E40206E009245C +:108C9000A40203E009219E20BEF739F86000001904 +:108CA00040083C0038320400054980044018054A59 +:108CB000A900891848606420604370BDDC0700008B +:108CC0008038010004000700024980B50860D0F731 +:108CD00097F880BD5C5B0100F8B50026174C174B78 +:108CE000194926703C0074320400002014330D88AA +:108CF000154E154A04E0C100CF187A605E5001306D +:108D0000A842F8DBC6F72BFDFF21114DA531281C29 +:108D1000BDF7FFF80021281C021C1432C260101C91 +:108D200001311429F8DB3C00B03204000026C66093 +:108D300005480C3060C009481821BDF7EDF8012046 +:108D4000043441C40020F8BD705D010009A000009A +:108D500030D9010056570100045F0100A8600100EE +:108D600080B50020CFF7B6FC3C00EC32040001498E +:108D7000088080BD00002C7401001148F8B54179CD +:108D8000002902D105780F4E01E045780F4E0223ED +:108D9000F75E0024601B784364230C495843411854 +:108DA0007D20C000BDF7F5F961003C0028330400C8 +:108DB000094AAC42505201D10023F75E0134240627 +:108DC000240E102CE9D3F8BD0C5A0100FE59010005 +:108DD000FA59010034440F00325A010038B5104CE2 +:108DE000BE252573207A1821884320723C00643305 +:108DF00004006A460D490D20BDF733FE01200B49E2 +:108E000040030860486025732D20C003206025734F +:108E1000207A102108432072064806490860002085 +:108E2000486038BD0000000307008D3E01002400AB +:108E3000A0330400001007000087930304790100A9 +:108E400080B502211520024AD0F7C8F980BD000084 +:108E50000D3E010070470000040000600400440063 +:108E60000000040040200700FFFFFFFF4D656D6F0D +:108E7000727920636865636B2E2E2E00204F4B0A9B +:108E800000000000204641494C0A000057726974F6 +:108E9000696E67206669726D7761726520646174BE +:108EA0006120746F20666C6173680A005665726990 +:108EB0006679696E67206669726D77617265206494 +:108EC0006174610A00000000566572696679206667 +:108ED00061696C6564206174206279746520256421 +:108EE0002C2030782530327820213D2030782530F4 +:108EF00032780A004669726D776172652073756316 +:108F00006365737366756C6C792073746F726564D6 +:108F100020696E20666C617368210A0005000600F6 +:108F200000000001000001480000000B0000014C9F +:108F300000000009000001780000000F0000019C03 +:108F400000000001000001D800000001000001DC69 +:108F50000000000100000108000000010000010CF9 +:108F600000000001000001100000000100000114D9 +:108F70000000000100000118000000010000011CB9 +:108F80000000000100000120000000010000012499 +:108F9000000000030000012800000001000001346F +:108FA0000000000100000138000000010000013C49 +:108FB0000000000100000140000000010000014429 +:040000058000000077 +:00000001FF diff --git a/firmware/libraries/WiFi/extras/binary/wifi_dnld_2_1.elf b/firmware/libraries/WiFi/extras/binary/wifi_dnld_2_1.elf new file mode 100644 index 0000000000000000000000000000000000000000..7ccbf4d3d3c70ec6c3a68b15195d4e018e21aae9 GIT binary patch literal 182264 zcmeFa4R}=5xi-Ak-g{>DOeT{_2w@U7uqO#HiNWkd(16hn3Cc_e8mv8yN_7ILlMrQ~ zKPRAVC#Y=#+6L5`fUTk0b3kkxTXSmF^c|G8;2(PeS`gdrAe2CD-6%SfWHR&KYfnOH zub%Us?>gUgz2A3T1b6n|TK8Jd&w8F`J!|dw&Fku~ryM00emK{UaZSVN2lENn*I-=E zCo(Y+51C4G*n2_*!pg9NaNqq9hmI=?dw$UmyP15z&So5}F-o{cKg9W;{7e=%UWxe4 z4*aCz_{Hk80{`9mD0=DV5(h4E;6LMl_FdLS0E6>H9p@{zMv zi+EmikweetRBD~XuW)~Pnb238uHbPduQn+{WOt+awQ#HTXAifENstK5;*Pe}VHc*Y><0G-mAg zHd^m+HU9e@)|}vLixsmXjs;0Zqhr5v{!OxI^kC}KgeB9K*WK8C?)@|3JTWJp`-4W? zp{AV28_kh@_9x6e;ttzRfwf-Xu$TXy^}A8n=l#pi3Eh|7$i1qpu~i;>p>qv5@Q^6y zD%0M+uQB7z{VT6k^4{E=^LXV^#bS%Ub=1Xf5D<3tHYP zmY*+=Wij5n8%=*6agvc2DfuKmlZa22j~}hXyDgwfIbnl*iH6@JuTT>E1xby(Lg+`M zB8m9QW4m6-+VUs7JJfgn08vgt_S#mmTFLkC-yllXmdUrt?$r6Ks&v$N zHFBkoonP}_B^qb#st$JE->@Kk?z*bcxDQ`xlz)9!tN2ofBD#9=cD&SGu+#Qr`ES61 zBA0ORc;(7Q)4|2KlMk-VG)mZ>^#8e0)H9|z@wC7t9C-Q4{JidhW6HAy?<@JO856bh z%KzdLetZ1Nd}T|)F}#0Iv9@MZ*bYrsGG0HP*L`Jv!LbS(YT)VH_vLlZ&p)*FA{;z@ z>kZdqzqv>TVKN``a7#z1Yv<_esf1!j``l3u&pw2{X}OQ*eQ(dhcxG)hMS2wrt}Gu~ zGVJ9s$AaX})F|!+=nI5*`Tb#1u7t_F+<#W@LyHAe zCEvMI*~0EC%mwe_Szh{C&W?#PQ#JS4Y@!UK zU_wTh*&&lY9D_K{;)vsDfsD4m&U3!EeCh{%%uo0tzI~h$S>=26N2XoHoO0-}uh;iH zd!ld(zpD^WKJa}PJ2fHqN|0#m;}pZ`eWD_^a1Mt_@xyE!B=2`I>M#me*|{}_US0#b z{IILyOI1oogFWwiFC9=Wd+C_36(ue99ZWZkTBdZ*fh(o;YVLCkQ)?Z%2y@P3N9bqb zRQ^Y6bFUuxmFUE{?;H75hWME^kA7?;3qQ`t6rDTtj6D9c1B7b6R1#9pZF3Db6LQj( zifOLop<5gyza+%z@5w*+UWAVgXNx@@M{V!f8uvzYt$A)%TjO8gKO-y79gkRh+HN0j zwC*Ev{-N70dbe0P+SB&--bQOg!JD1n1ht$I?J)njcu!SZ<2$?}_PBbwdv>2~ zZnF1SZ%?G3AG+;#{1G>7H~cF&aCxKURg!g3@iFhJb&%=GW5eufE6K|`rnDJPw-V=f z7HUCCb!$F*WBq6$5tXWm8vJ{uwjK9ktN=}Fln!-e9b^cvcD1_XTh5(v1|M;;@~s6~ zNB6YhemK|nh)eN&XQ6@CL7c6wAHVpB>pQ=cOCH(N>e5^({Sns!t73n|dbF_BwQ?is z9C*Za=;~J2^C9dR(j|^dqdea(|HX1hfBlyrg5?-to&^f8_Z#7fQR&{Xt!P z?std5M~up_QU=WqAE9k7*ALFRNLG)lO*$bFAre-GSxsuPVoCK^tpMiGvb3hH95b{2T58F?P_zS zTS??o0{M;KoeG;p@=QI+8?B|I}!HdqLtLEVr0P72Agrp`RXA>9p^B`o8Lp zRT1l_@2E|m9#bC#w{4%k8x=o2Iw*d6?65eDHX?fD=Zc555m8U#_Zvgs9tFP=-+tZr z{hsmrEc>mvdc@lk7ijIBpp_ol1zmUcR52Payp6E8CtMsx5l0WTw|Nx%f1tL(1#R@# zDc$u%OJ0lPFYiY9@jpbUVjp=|@10A@E+(; zE#7!;Pn2(E_q%qd?=~__awvLxqD_R(aE!taZ+rPE$i}5CYuk-ye9!K-J)gW6<$LzD ziBIqD5sf;QL(w)^Vc;5dwBT?47vw$9c{TLNt_5=l?lw8E9(kEJkG#xT-g;TN?X8^= z5&e$%hFOH|JEPb)n0tjqQ}8?TPYx2GnauYB}L z_WUzeW@Wm}g&M{iW|Lgs%XKU)}d8WO0N7b6fn4RFXv-D{o_n zN4dYd=hOb8Ff1kC z7wqd~mVvn@s=>#V!hdw*`XuH;K_w$(XQfeAP^>;*Ungsgl}ndl@|0&N)BRVrPL|8j z){@^%wCf!GEqusYlA5@;J0@ePj2+$3Jj)?>t6j;MY@vKSE$K9Vx-X@^bQ}Kv*wgxm z-T&{3nAOQFW<)`sT#DFg|4D~I&ve{RMO&LE+M3cT#*RkBb4T~tM}Lz_#D<+l+xFwn zZ$(La=H7{N*36eDt}JN(P!}|fYK(rwlvRvQ)(`YS^G|hsZ*nHLugMp)PtxL;k#f2k5j814QIPLtW z+_5XJ=Q^gpl9ssdi_djV@W}EOM##lHD)pshaQXeUyS~E*%(dB9kTbq zW<*%r%5*^SK%;fn_kPmhd_3a$Nr!#M1&tOX`?5O9<0~7_f*f$>tZ zCQTQ)^z;8g4nz=%|G#lelE$zu{`o)MUtIS8#x?7oF`jZ7?eVN>&UblZX5_eV$7Y=w z7w)QYXPLZ%UJG7AbHaqm5kfDAe|zEo1`Yp{Ha+)#wY9YbpYSn|UrZ-#V#eldSu~qE z=@ja05)60+zu9%w#62r7<64=xXQd{ujS3UxtBsq#;>V>wb?V}Sklvxm`z0v#0-C<~ zU=>f|SvCIQ$I5=OpRA!-B=W%&68<29gXrZ$5|FRq$e(Y;@dyq|zI(!%Dj!;`|6z>k z?~hlLHq=X=CS)bfZA&B9gTS-wJPqfEv!6Oec8;V^ybRM`F0DJs`! znZ&DA6DC-WGz@tNc{Yf*nYacIUJ_*INkMKuIhsnHZA9%xyd$LjR5h*}Ca!0qFV#c` zf{(RDww)?A&h4klaIU(j)K}1ZC+3 zhHE0XpBl#byqvz~oZ%CYjz)?1L^j%<lU~TdJwyUO945{i zhXm*5lY{@{SrpHz3A%;E5K4dZZ>4|tPf8#EhiAmO8N7S+R5g*9@_}~7R~eTA4{HBP z$x)oy57R0qS`l&2G_RPwN1eWYL0THn-t@DwQIvZQ{hi&S-z~2b0MOdMBU!KRs6y-~Sll!T&KrbdX_3ntCl(;L8nCYq7i<-^A+(G*HUI55`Vq?C&i+4)Ln>0t|fhgO<2zRli7E2>Eq%okOjuCYYZPuMk$a*NJI zUDMB;W;O%7m3u!B$chhOk{0n1=ZQ>0Y(k{<1V>gvtG~h!>|Ale-q7n|2d)dpQmIlpvv0_FMtZR# zGcZiE`-TKLTnsb{ZTL+>Ia4dC491)tO3FZ>#?)_L=osOtGcLERk{>=&*44N;%CdMFM2=!0q~(02n>sr z;!$b}N->T(!7UkW;q@X{!}A^&_%nIN^Fjml?LHv9k0O(AT;zG53tV%8YaC=DDBFsG zZg6gMIg?Fv3Ft2dFPMyQ9VxCRE{G0%V5JOcr4)LCgDvEX9~k01n}<4J?OC6~#m*Ci z1Zoy5l^Wb*;jVolO-BE!$<07;?+o=g#zVifdwA|4cgtuD_O5sXd()hSw7<=mY4QRCSf4_XEgqIsH-Ng0O22L$0xt=Yz4jT4J?dQk z5#=ezQKDgBSkP}j!Akt?o$K%3kpbFIddbpiQq1BwL|PH$ zwGVhi0h2Z8M2Ymf2maw5#xr3NNf#_kz=#A_d;s?d+thWEML!t(XB~R)(EY|cLYANr zcCd(G^1!X}Q%#;ksmT)TOv2PSoZq2HnN!jcH$q@&zCiY0A)o*|2yry@4mEn8LIiRY z2m*QRBqa?WnDkyMI3Gi-_Si`@_hD-5YrJ#c2aMWkasUVsdGiMxqA@{Te1bhiFaP{8=r-dS zcr(Pf#?Y2rga(2Pv}z(`K%*|g{71A;E<*Z8{#2v&YT{)GfynjjUkDoOoay{4N3uU) zTy#3)fKoTAM=5#Niw` zvWb%2&9Ef>);g=7mx=!Ii0BvPYH}V3V!#)$_-7#M{8_^6pNaEN65#>#t(B6BxvY;C zQZk#63LGYXxL=ez0<84^O3Va;Vh11eSJE|5l9NO!S{m-BQInpJr#xz~1xb@^(%%^i z5A=P7_2Xs_jhgkh;^Bd6(h7vWe&=#dqQ$f{(^nEStNTm&XiJckn$+h4eFF}?bF4KW zYNYVlKx@FEZyqCVLC(<+B+UBJcs1G05YXfO0ZLv0zNv0SvsjSbYz;aq+H2_1h9*cz z4lRB7UW_omKjqj`IgyV*TQ#Y9b>ra|dCSRg0fCQAGImcwxXfu;hJeART}z&u^q;KhD(0 z`9<`JJ!7qk9@AhoSqTJwS(xNEaDKVM*1&qU<{nBy{bniCmno58u0%Y1R7NCfO@szK zX8I1%3zLOXiKIxPUQN1z@cVHp@xGgt+U80r6`MX50$&<{5;st00cEOW2M!nY0B3ki zHc+@^spQ7|;s_8J*1!dnML-!FjbA`H=eZ$T>TAA!b8{;8*U`CtGUw)n2ZCFJuM(=f zeXZS24)B4&OL41LT|yDHgAF4zPrui;;Q7p zy=|U0(K8Kvs0V^#w!AY}Vw7%52vQZ!PmX!ovi#nKVPb0}rGi?4x2f3AM@7x#CYs$2 zNk2aZ&ZyO7KM;sq6_}+}2P|%nbQaV;Fj|E+!UbKosT`ty(*Y0X2B^Ff)E)J0U+DUU`Dt7JY`P00glf@9^jM1lk z1D2Gt7Wg|a>wFfR_sj`%#|6-hYY^r;cXOqoBEF=s02PdptR##2Q2C7mS;~Yn* zjS{`T<_43b1Rv@np4BS)Ad`7!wYkkz!bi_+q$MOuW#YLG(hLFtwKlYqy8K5s-D2*{ zI&K!;`S~U~_q*P!Yk$6BaMKiPjwL7S(HhfXTDZlVTT7qqBn=Hz5j-c4_iaM{0SK~} zS~A~RY_Yzx&tiI~9dkKSY|^+MPNO|U<9mc{fB%lhJER?Y_-*?v$UgvKvKGY~x-D!V z6lz&zax?_`GgM&*x0h_Uy+L<)qzrw_7;IL+sZGJB- zTP@>2x_z(3a735-q^eZGjZe}fWSu9?bpM)qL(?~5aULQ_2~jXa>0+BsED3e zRO+#)91h-NiCTd0AVV17!7Iiu6XO{>489G4Z)w^EX$tIiJG_EPrT38%8Wp~L-IwD7 zSvORZ2oPYyDzEN(!d$Um^)unUnP zHVRE0HAw_}BDcng{N*6%mF-w~uD(yJ1JEn*(2#8+;+M4<45xFm8|%qV5CT@&0MxgC`f!r(}}w zgRO4|;)RypikbZSJd?Hn^Z5TjRS^vAhKFn4{GF9rQ{}k=bOfNplA&@Q{B1 zLT@v2oK5taKM#`f1!`||czSP>+#JrAo0^)v1w+UY^2aPj?GKZ)gXL0aCViY}p9|8e z1pMavK&T4J0j^u<=~#bxuq;qHgKRH>j?qHT4AV{#zH|UNsRfdL8dNmVZcC4#hyk%% zxXKc+_96c;l@NU(U7z_%8QN8a2y`km&>paACxY;=+n?Uz4*sxN)c++RODBV*?31V` zP&E+lw`<5h0O8f(mKrfi-1`D7S}_~_{eCh$fDD=^rhasq#k6)%$9N&*H?NxY*f=EL zBtsTmKrrhck2C#q_7jg)-5=z&RP1z0me8lNk!UJ5lyVMG^hwZcod<(Xm!W?p@hH<{ z~=apX%%9E4Pc=Nv=?Ax8~1~4!W#@)t-v|E=4=JU{1bux_>$spzVF=Z@k}D-wPc_ z{s9QdSZRvLbEMuYEz2#M-MzThpYJ$0cZTD)@_efNTg|7@_<*{Sk^`T^{?-2dL9+yn zDBIjuq{^MhKLDYtMm{_g{B{A|M%+UIzK21Q(-JDM}3|-9fH< z!*p+cGIk<~`~#+e>E6mg^fBfW^Q7zyWXI%!+MV74lOPA@*}bk3l$e!rclxKh+lPYt0vaL| zXFrdz`5X|eb?u@vculdmYz^%MP1EyxFfYi4$I5bt(fV5GAJe!O4pEYOfO))Zy(xvc zS2WX&`~whJsoTb7iIwW>r?WDGnLbkZK#ic%N~gk?jvS^MUur&VEp|(+>~$#HH(**u zig#>8{=r4aL&3~Idtk@>qya&;Da^7Aics_$zK*{NSD#Wg4?0l z>Yv`&Wq95I5V+{m>v^|XGX)C#H zjXbpk`3E4Fc-~~OSgr6{#*B!=8D4CufP>A!f*6k$)qz<~Sp|QP*7CAhKa|R-Cx!f* z$UguHD9KruMu2C0M`efk_BsQT0V@Z zI5!_-6XTwg35fQx5baT{dGrmO$1I5XtBw}R#A7RUNg@8)pLjx^T8``_d z;mH^jp-~S5VU??|GUvX{HQdq0g59eS!7U^u=ihVa3r670_PW|`X=|?`#~R!Iq6}k2 zMwT*l4)cg~Uyy$Q!i=wCHh(uIzeN=6@FPNMW^%=2}vtG1QsKEHrh^($+)-4dW z5CQXYF6i1PN074)% zI}`{~kEBlZIjhz5cM0A#<=iNcXt(Orp7DgOdQIZ(M_F(s|`JTq?^`U_(j4Wg3_|4)X!QWWxbrFm# z$OsAC< z`~whVjO26uq?^py7ZiimPN`)6;e8#cB6>wnO?i}d94sh{F76OZN}_b5xnxds@kXJf zC<@P4Y=PfA0tDAp8Cow{>_R5GunMhi#he`TlG%tT=iB_g=H8l*jv{*n4%-lyQ^e)4 zC-a0T>5jl>IcKnWcTIxMVO}EL9}10Tqlfj4^ZQ_@SS*;nXL6u(c>SZ%*^+Yso8#02 zLBI?`{#RZa9G(%h6hce9FT5#Y;r+-z03njq zVT@RBmxVC?QWlxx3A;9<! zSFm2&lw>S~yEVq06L-y!e-fj4#)fH#2!3`Cac|FWs2s$6vlUN?)X#ct|xM!6kbYccv&G}CL^^2s-QHz5B21dOq`!;>BD-6ZOFr-;X{ zwxLy1bh-~((AF z7-7-+!~JCMgYNvWX&EQEq@FEy{W}wVxqlS-2OzK>h3<##fu5P+Z4U->i@X(`n}oVs zYCBzFA~q&tXGX#Utjx_znf+j%bP{ ztzk!@MdQGSTf;qJL1X7k-0cX%qlQy5@()1hUVm(T@Oq+0M{4?*tzvCCVeRjLg)-@- zBYeHK#iU<}98s43^CU6~crW4ojR`jIehdg?uch7<9@>J)RnM59a2hgyS^5vaku+ks zpEEdf4jE==|J3?d`+B#qnFjI?K%kzP@Bqlo$U{MIMaKpiGA|nEB)iX5748@cX6er) zQ69afa$}gt-QkqGXZ=y5-^f3>3AqowcMkAI8^4anPfv0++|T>6^gxo)!m``!Ir@TU z|AHA%x^Kuo0AaF+dr%6sz~}h}pY?wC4P@@~TM*gL7K))MTVLy&8D;s03dz5f^W;QH z3Gxp>utZt@i4?=v$z<=*@T~SM{hKMI%cAFkCYjOY&`3!^l)ZDv9OQ8{oQaaIb_+aC z1PBUvHU+yrQn5sm%oEi<&8d!*KwEu>|{XljiMhJ4zPbx!~xORvYg zEKC0c^R+as0w_6}q@ef=qPGe9@$Bs+Mg2SCj2G`4aUJpxg_F`^^hXR1_4UtK{%W6R zE7_ZJH->xG6Zf(8&u#&gr7q+`ZUP6gqNFr0%0n{9KLDX8TqdOoyJwtfPR6bt843yp z?M{u9A_6IP$W)`njPCBR2R(geob~XLBq=kgySE_!00bs!rjtL4*YvRn=Wq0qcv>Ir z*pHK?cm5rf_Zn0p{{Vz<{vEArK&zmCnqstWFlbHlfl-;(gTDU!%QAh-2IPHU;( zpoGy|h3G96b0>1nAe|(GjF-um5hbsjPJ4WK0_zE;B~_tk0NtxR;T*S zg}$&02(DuIi&@FoJ@Mf6c0D)FA`CGa=-^@PdpqD^qGs8?M-26DG`mwCLDe?G6REJV z6&bSlYyG*1+O}}x3%DlhVD=xIPIcvp`6R2O=L6%(w2_j zsC%27jQtiPgR9F9w%2CE$75d*;+SwhY&D*<^C{y@^a|v>*m@iC4?qx*`y;vvdkzg( zSe}sRJt$$E5hqsl%bux&ne~N|T=_V%kTXJq8*dHSmTe|I4ah$L0eMBQ=%ay}V0P`| z07glN_FxsVYAN*Tfh2qmB6S7pZNzIKvd21T@|%s?Sbsw#_6kENdI0l_bcS)ySJ91$ z(u^9+IxbMdRy6s-93i`w258Vym}A~ni~IvaD7?ws>0(cF?CG~RiR{ey5GEFq?3b_# z(6{B|V2(;*FRjt+d$?!m-efG!@(*(`Ylhc{)QdAT`YgAHMQ)*#Nn@p8RZxzm9DY%f zmCZ&bHnOoXq#(ZFqFlEUK>mRtXvk>~~Z-~-PW z)dqNJ%@wZ&>_vP#FWr1az2b?`Y8SE{!%^fPfMC7BQm8Z!*6z!1Xy7DgWq9G1)q0>W z06&az)sa$~*`7uRB2Z|F*nwGU*o1XpWLf>7-ZP4r&hT|q&Y59;9s3`Eu&st=kU~otrrAgOBloimUn=$yqARvGLk0*t zNbkh>30t^#%=)$Cyry9V_oB64*_XVACWtp7EUZn4T(Q-h}^ z=W#H8ApZaa)>9i>yF>g+)nshnh{b2|S1aM5Q}H!X%=y7p^s1{?46xD1%Cp)G1^EXc zAX}=xku+lso#pHg7&8S{imTh!BGz_YxOWwq(-z3hZRCU4VN)S0$UgvqFNq&!()1wz z!297bU4;s!>&}}#+F4PQeszs+06DXdV%oErmwFW z2x9J~u3o!oEpd;>mLf|cc=*HA{UB__u0&Py90_eU$yX|vZS$(#c>Z`|K?wN=Ag~q9 zVboUU%WYVdc5hlc9-BM<$J4C$j9aeb%#LQ%2f%5EYV#322ht0ydIouCu{dBg76-7r~7FM{ci)w45H|=zNY5mT??M>3=$lN~$dLn)fUwdKao zx#X*;V)8t-`pjXIFI7n^yH@D~jDlaigfd|ZF{4iu^G_x>)<0;;O5`7aU}C!xToH4` zA^2s*w}F-D#T>(+0yV?^Qw`2ppfBk`L1sgzFFdzrG|yo zM81rW&X)1mtqIcoV2x9)mJ9s>LWCMgcNc3B#a)hDRj>-|BY@VKYA^OFRd=DE~=}wV&;AX2z~uG zyBNRRQWa**#;B}>X0OlaQ3{cN076sP)-$v!vu77R z#vW>N^fayd_f@nf`wQQ2AFOR!E%dM%B<7CD#fUoA+hBz_nP^1bwN`=O>;QroN@x06 z`{Djvqa7YzAAX^2QvWy~fxbkt*uB9csk(^G1(AOMLZ?fvu(nY)TQ$~G8IlOEg1k%A zf~ZF>+PRXu4EgVh>Pk~d4AzLkH>5Qi`GP9YB75E(r9ncYvJE98+XV*00H|u&_|Sc?^)yN-ce2tuKG!!JOtT7ipKbWbcMPV zVdr|@$ES7MSbs+T0SMI-c7V7^5mxIvYXcEzH(R&BYE)FH5V6|9dX1ewYsK1z)sqxd zVJ!#w2O#`?e8dO6L33ThohILuI~$bt3sDg`=uG#gyFasDMm*6DABOw`5b{GTs$kaZ z!?@LtmB>}8STlSNujUw3`3(=JJ=o3k6)2OG@ji+SM%m@a?7_p?DyU%>*w)mpen}Q9#R0wT1rlbnL97J?_>Hf(y%8cCyK2nX(~_%@PK!Pleh&EuAnZl-$#S5f{=E9B z%X{0%obGEdqG7d=zfJs`k%47yJ^syFzNO?L!BZgarYSA`6x3IrW(;+u=W z8aL*q3ptewZnumcF-DpZU$I%*{#xX53Msv{;h^i`0OAu*{5YF)Apf91OBCj#Oj2OM zZ(Fc?<~~xswQs5_BA(|a)_dT^1OY2Ob~~Lz+*XauF>Bl$&Mj!jKLCNBgS`%#Fo(Jy zF3h>bvTcsv+$C(ou8c0z6XJHQxv<$Sg(~Pax1V%{h}RWRxb1w$EfNjS^dbKM1g>LO z(6-yE4uz-DSHhuF*1~Lxejb`k5OvbWCcF^J}1UtxUeO%bw*>*d!$^2(|P2}1?;u*NGAP9$!iBl8NMunm-aW0 z$4aUScd!q5MB>jn^#_aTkv4P;@SpRXlbuek{I5m4H66Yn+vIb zJhlKc(j>B-dVgmhc{K0FDabn`{{RF5J1wZbDn<90cmFWR=@}#RS@WJMX*Jd<+7l*; z!rIw=3HN~&RT77+Fz;3*i+&UMVnGb^J`lofM85+25}b-dUpfw+%=SoDXw-SMx33Du zwck>2_L&RaGsLR#*k^I7CsIVOK@AQz%5?=HbFmu7N{jx3&>@>@uA`MJ+H%@_wWO3r zMbPEML6r;iFEb(fzO|Xf-^f1z!71Hxfm6RkByNGW+1j{LtWVyL9j(#Vu|mkJe#AVe z1CPmgW3OYocvb|Ee*l72Z;4xdlG1MM+9O2|G{K6wVd3>b%+J_04_~sDVYc`t5FE?7GHaCRmw`79m96S#MBUO9*{<EQ~lGIR@auFVvISv%hj@)2RSvPoqSiKWgzwRi-AZenm=dW3yyIzZWZ8oF{>+ zA7L$l)kFRP2zJbnC_GAz8o_)zD=MO<7d=7rV5}RMRqPydJ7uTdJHqK@#tvdu`v|y? z`~wi;{WETmuMOORELXiMqz7{`$8oBfW!jPP*b8_! z1^Vy`5JG6r9A&jAY89k1bsP4wGJcq%R-+fN>t#Z8p(INV{ibpKw4l!zhJhIGw?O+v{pryupfiYmPE$!ar|u5&o+*ckjQj%-b_aq1x0Hny zMm_048TiODi?^V!h9Bf0(rTWnkzr$&@!wNI7u{_x6#a=r?dBBZAAn%SlgmnZ;3ZF^Zd`^Y!p>n8+XYOaV=kHLG(D3bT?DXCy;-DEoO1S~ zBD>KCyK44Jn8~obFLusDD!tfMhx`K&zFu^kG}bx?7CM=$mLB;&BR|9Z zCf2+#zc>#BjcHL-TSaB9DMJ^>GxV<@(+>9-&(fEV239kQSdH|4&I3&ytBKwT-cwjj z~1 z0EETKshDTsOOwM`!G4Fj<+T<)KgFRJZE@_8f~Az#*nBIY4_q_*4uaR;Oz?Qy3^e2) zfS|2%4p zo)5nyAo@=4w>7CU_%1{}ZRieR z;|o3gC*#;Va`|!9>btFqfLHhvTg#rT;f^)dVE@C_1iQ`D)1>%q__Cjjy?#2)0~U?3 z{&h@&&i0!ir7ZpHQm*6ghHHiJ*@1f5OY3ZjG`t+v40 zn|vjlwUN@P#tXF zqJ}%O^xpWJDA#Zo$ANE8MzGWAb0b#tJxl*~f)wVt9{?3)*Dxx)h&;MCX!1cdDwWD%Zme zQh9jw=e3Vkuh70-*S{&eh|H^3Gxha|#eY0*kv20vtxG9)Ad0^x#X%>Z0m3&XxCd{j zpTpjWyr?h_(GN!8bd8joRc>Ccx)D2lnD5EaNU1Zr48DgJSqqsgG=qwF6Zh7A*%w}v zji}`4s0;H!B4Z8?ogsQ@(y85D*Xj>1>blqK>beUV;K#QP3GUXRrn?+ zcC=&Yr-9w;hVNeOqxbB&+p;5fVxB9ya+KY7h1&W;N?RzzA*yUo{ z!kKlqEb|t0*W?Ta?=kmu)Hqa@8P7QC(4S20Stk~H3vTjT3$8Zg_)vmqKfM#{=3Qb} zt&hXFcnk>ptC&~b08QT)@cRg?S*t4QcO{y&YV1g*+rw31j0quH1%7=yfT&?;k&hPD z2IfO5$Ugvqc{3ZhI2*ccR#Wb66=^PI={F_H{LsF2o$G1}`0Zx>Ya<@qcdp}icni3$ zt7JlvfA}2cI0X%!%)z1wi3nILOI3XVlBI*x*ri0b^E;@VT9mPP5cG|l zr~0S~BW^`2DY+^-r8OJ-)~<-=X|RC!f{I1$k(Ej`Pesrmkzkj{Sn@wsm4bgTJF@>hEt@*1Zlp zP6}8|)B#&vFG7ht`BMe?! z*R`%;O;=0T8sr~<;Lvv@7y13I-h!*q3O#m}|Hd^7{d~9AmFuw#&i5Z+{!Z;!C$8ye z=~&~?A4rz_ttefA(#SsmfgUUKS=IK+fnH0V_ z#?7;;=6N>NG7tF&AWVr`G$yI>*t_wWT0z|xS3j}ZRcG#2S6O(h-CY<<_@ekHk}etV@&Pa#ChV- zdDi|qWPvmF;pFE}rDcfx0}!4;rdQr&A@U7`d=4Kuv$@5j4xF1o2#W^T5$|^+o^da4 zZWh`1PIC$JcgQ~gVa9Sgr@4jA%gLPS%L{yEQm?{o@+y+ETWC_MWxc^%H3vrIkIt@=B#ESJN{ZxLWFAHDXid_zU`#Ais-al&X zLjC~=L=TTyx{|TavF|0^_HClBr}tpW;FWB{o1Afzt|c>&D=ktz9g8jUk&+q0HroP% z9O;`t2s@}-_VACh9%o9(eqtYry^Eclu-qcDqE!DjaubN==dmb@;o5s>t$kYpUoMEX zgcQN+m8%xL2j2x)^q*lymx_H7XJyz|enPiirxbM6z}^^j#aeq;Mz?LJ3*Sy&^8iSqUyu@}2J@_-u=tbsns#!d?;}mP~U8~lJ-|?>@MDAVKac8a;)fU!fM?3w!3*TU+qn-EA z66-PKAAn%lNiL&N?5RJ_(5ce3YC!usb}fK|$Q#%}O&PT1t^~7MoGjGN);9Sf=#3El zSIDCHI`qMyQHlyEn~6Dv)59GehVSK$c_1C(uu#0#4_n^!nAQq@FiO{}CjE!d*L%Q+ z01#Nq9U8s^f#w#d!Sp-<5lAlhh+QQ~1+ftO=9gtIQn8taet*d?ba&L;co_KyAYca_ z@RmhCkNwL$BBc(jMGsn-CNGBPw1vK?-FyLcMYPV}5nSO9Psi7u$JjjUC=imdn&j8r zR_b*v@plC3jM73h&7JgESh{Sfv1g##-x=&gUF8_w%KW3o{)g)c*_h(c%cCR6k?3EH z3q9P96}7%v3f+G{wHP~jX`v6cjcC)gieVIhXtKcq9BASZ$(g`SUsERPk|;(WG*rYKryTRxWvC;v`~wh%+t|oqQmh?h z^79V*g0^PH$-D6luPs!i5yRU%=Mus!9`gol?!zo1@()YXUZ42~HYZ}`oUhp!$mXemSzh{sxLqWy;K**9aH4CB(K|Q-sMt&K4 zEVZ-1q=$LfwH+-v*#FIWGhiXbF7}momQQTDA+Y9j>NL}b7l9yl1y0-j9nf_89#uFE z=ig&QtODOwi9NC))@EV;llCj?Ih2qCG$A-7fmt9vaeb4Q>CxT ze-B$x#7r9ct2ez6I2R=FCb5JbAc%cARau4n0}$pnWxxt|#Tj_=3LILV=kQg4N$&9TgRIXxU+$7}vJXNlu*WL?DdV1W(aC5Dyj znnnL3@Dz5*q(y?xg0cd(n`I>s$a`z@WqeJ*Vj0$Rrk|Lt>%TB^1o+=FV3#0|F;6_B zuy!HLr3qnu<{>fUAAsO*=1Z_^gZ0&T!}e!lWe6jPhc#;%6U@bqWNa{j<=k2>%GTc* zW$DZc@((~@c$g6(zm9JVe2a~Y6?=v+WBP?4@F2(`C{BINFYH|8^k?@Dg5IJaJuIV8-<><^pUKq&Yny8_>-1BEJVG5fkgb02-49qzY+P1A)nxWmJj#hsLVW zt^lV$fR%)%0F|)b58hol&g086n=TreEcVw=_6MlJH{>6HK%7KLy5OQWANDqlz>Zo0bgc@5bzg$XY%BRPOxdTX*suTETD}g^OM?bjZGUq=myW@*j2cw9MU>jDI2c za(tHkjk--icr2L(D;CDDkzbb|X!r|8lmZEN%xqd_Q|GO?+c>_gVIg_E$Q2{b-!%bj&{+!C&7UW+RO z3WsV9=8@w(YI9uUlvnKxWyb<>XC3edNN~VDscA+o)GYbeelT5>O|p3%()Bk3Rm40- zj0;iV<_UA_k=L@uw{K3+Y;&ww?(yMWIN{&fjhsZU!g&h%nLM&($mh3?Pe1Lmj$l^|n1(c3W6nzLm0;=n@0&l(MUl`$8VdE=Z`v-zPt$C@JYwr&M9&yIrS@82BQnKc0kU&=QFIkjp3fmoaItlmoF30z}0VVx_-GgM}pAc6b}o5zW^ z|2ryc%CsLtTL6Dpg%Rc9wa1`;&Bod97*R@U2Vx#rC!KW`w1VDgnbu9Ys<`?-#6+OK za1HPWNTA3EFoCql77fFA3Zj#Zei3nXwypsml?XK~+T?AVIwgnWq~n)Gr$SZOf>4k@wLa z;@gh&4sWol5R_l4QBNg^dII%9+wj59tZwF5)%9Y39G&>S8U~4 z@091srCi4BSfx1of&`|$H8GMx+&NtouU6 zEg`Tx-cLb4iCFf2L_H|R>k`WmJuZ5IKR^PTS6tYDXr(2+EJeOASbHZfftT!Bxr}|I zmajYig-1HM_Z%YXT8THNVs7KdC+sU%V^v-WJ(+-nBVU*|-*(&@mfFLgzrHyz1KcR{ zc=bVe&XU}Q>el@AqE+F70gTM1)MW! zRmkcqFBtJ7ne+jjCo9yBh$}^Q$^HcXa3k~sok4Vw`rF`JBO4mWkOheTg6_a^t_js_ z+7);Mmh?33O+*0=dmB0`1_@jV`;r{X&8?BwTreu?aV7QWFLE6GhTmtw>$u4~3!7l+ zQWp0{dnjLnJQv^(kbro&kq`Aju1+j2@+>OOqdR$xSa$)n87Pm8nV=Ocz$531#Vb0l zpz|i2ABBW-kWkPc!Bszuk?yc)KSK+Voq(*7qTk`|f*o`}&feeGVx0ZA&z!CHuEy-H zzlkI$xJKV%HLiK#GuN2C>mlJ*u*(!%Bdy<#<HSCP6#{8lG>mo+R1oXt2B8hUSQ01;b^Xik!1g2Y}f7u^Zq50Efj z92TQpMLmNo3g$f?tWE65z#kyt^Tsg_$9VjZpHaEe3@)*9j7A&gjM;C|jvC08 zUnx`V-7Z=IaJ&X*fImQjMSIoo$t2|&KiI!QfjeU3^d9Ja{PKFri(|%IK$NYSYfc$F zgVZK2#Ne@-Z^1n=Luf`#8PU%oaqq-@#;A7~YKPvkBt27~W>l zUcz0?=*a*iNX8ZWa0Nq6^X2NS6+UCk6!bMy?5X)mo#<||k@x1Sd)LhLDyzTHgU{ds`_=?^USr4m-_N!&?>501VD z{s0LD{gX+4Xli^kTB?e^*ay%P60dbnx$7+5Yl8`QAj%nIpd(&-`=m30KR^Pw5b^#9 z>nZ64Q;4w0|2-b)Et6ki%2Y3=^yH27c?2KEyaCGHfRFxpHJuYzDcg0@_gtT^wBc%)(k%xe=lLK zTj3cQN4t!p#L+@E2$x`Hi(ywfq=?YM z3j6^Q1kCCf8vi6MF*Xk?JMa+L=NCT%f4B{!+Bo8q?8tDX9!iYS zXR_nTpW=Kzcz9$3ZJH?RA5HRzmDsdt6V=N-Ky!dUK*A+JnaU@mh@?CK?{I0bT>DOr z;xT0tz8SlK&ehN0fZ;e0jr;!O=s5DsC8u`p#OS!qgIYW zukW4oh>;*7(qNK`;&-PTsA|6x@r$P05oHWIyQj%FZg1sl2ImR$ zYlF~U?}R%AccR+UhE>32GdS_7y2xZA9i>15waDr*L;J)gijv1)^l&%R6L@M?Y*~#Jz|ju;0TQ@6S^}cY`+M#6&YVN!Alj3FVY_ruJE_ zr@&k9KN1btxRabD7!@_IK#u}{fCS_Oi`^+Et+7~6(aLx%8V3IfCt0;W8)#-0zTS{R zTqHC{c=#@;0m;4`ZO1wW`~ec4gD?7IA&WXVvLEMQmhxJpaIsP{sIUc=bcwMquRmTO zU6H+@E6CSNL&EEMJNS16(kGb*BpQ)|Qp!_At%#RK^GX8~IB94Y4r94odkV9L^a${W zJCIKcF5YV8n@X8@@66BFKGn&NbIqL!YuMe%zsEK7$QJcrC$MSdN0=jA14Fc&c#ys& zKackY`~ebVg@^s-$J-;$BSU9tHavyN@VDKbygp>~2Whz}jGfZkbv7UlgUW?nknmiT ze|b{ZfQ()TPj8-w7afRa3qgL+6COrv8yPV}T)>nGBin$E4&TiKbN8p&Wed~5A0QzB zeUW`~ecU{cNutso3B&2y*pKxhe?;C{p$-#gc}grOPqO1lp%g9 z09RVVeE$NAv~Vt>MEg=qk-S`@4@|w>f$;VLt}1vm#yrWG54P>S6YVLpcr;l;m^dlH z3qdt$g}=E0653~BRm9tTJ>M=m!0#i8)BS8PuaDzzm+`lVvp>k68EEKUCshSF?>?Y1 zf!og{D?Pv;AVCPoy9kY#?n#1o!xQ@mXqheD7`5*q)>%*N&@MO5SiLfMKJ)tid`w{# zY9IdRsTSs4NC2~r!py8f#_!?Hu@rNt_+Q!*OL2Z2cg7MtxNcEBA-@vghkQK?Q9aDk z{b#{BiMQ#N8S7N2f463*@CLv7AI0J|@1S?lv!i3S6_f`mpem~=7KIgs`YY(|H*$Bu zmu2jkEu>*?f`shYf@N<3?OvUpAL3vMam{Zk$mEeJM#pEmqg+dO#DV`Ek$0f8%;`C( z@TiW{x!v$D1|flK*&SgGwps4EGrI2yZfzO7mH8UeuexQ}sSO#~7z-R)V96Z9|6&@R zT4QaRJjOGy<$g&Ln$O5gNp@D97{=AsH1d!Y!R^$Zhi7i1ni5pnY;Dxm(HvnreYbL`EDC$M#lk z#Jsc=5|G_zcqquBl58p}1`xCP8?*)L=NgE`w8U=tx?%>q-B%~12ano>Q)iSHJ1uW} z(GLko*xSjUII|nivJ<;bl+GRZMsf75($N6WCsiS9fzPPBfqv~&cOTlF>MTDYKM4E* z5|9m*mK1QZcx~Fog8U#^@RA~EFJm4d%CM8(9IbH9IthC3IyaL>P+x2XvP7$Y77`SB z5#IAij8M!HmSxheL#AE?W0Uy5%&2RjjG>#Stmq2|tQFq)eNCY}1pJ|gv6{9HydM{O zFyQC+RNMAda#*Pnds=vAXJ%J0>E(k?X!sxIoZ#@5H_)m_7*=tN{BFcGS(WH)k?Lz; z13Wb9{LUIh{`LMCt3MfgVtsjCVBU|{?2pv!0DTwiJ@2i9U2uyR&sS9hkIkhwDf`~eb{$y7hW zG97o47xRw{>d=~#8-BhaxN&DnsH*}G%Ybd5^41xv>uT5BfYx(j;GR(PQNxY_{s0No zV#Eu=tbUndRez>SNPe*sk-LDBfc|69QEx%Q(by$oz?)oO zwI&(ib|JG6{Z73Oo?CGSyb!7nA>BcDqLGE1!#MAm-kk~#V$G^SvWZJf#06wHq+;-W z>tBn-pjqF}Rjr756gjWAX8m9tk1B)yH#U}s6t9pFM4x{^4n@F|u@m?MB*5%kDuw zOZpwT`_4VcbwQQ;JBL&_9zC{x3#3~8BDI_p|!_f7zZTWM^QUv}035XYZG8naA z%5l>0M%c^5tOCoEzFi!nar#Ktqg@rF;z#kx?G#8$T zvAPqO3p5j+fHV`N(fgp;Ac>}@i8uLwq>+7B6%sM3cR+&hwC&k|@>`bN$lr-oE>Rvz z-U^;y-CHaR`Q06g51+-NEo>b^?=_`*Dj#8)CeadF-gDhX;17@hAABRXp)?l;!G&@0 z`OCi}|JwO1*&D}ei!A}n-m>mB%EfsbsCyQ(7We}s)a>H_&)hBQW5xez@p4Z&qD`)` zN8u6J{z_sTc@En-Up^B8))V+=WQx285#z&DG=+u} zYC=lN$>F4H92>P^y%>RnB54=INXkWP6F=B?d`@?9?orh655y7K&KyAmwJQ#!nV8k5 zTYVp&E?!oj=AIyC({nlC50F6XS3R&v?q&X^yzZZJg*8-{RIY6X7d$Y}gWS_O{hleS z=z>jN4qhShV0~gVn%Aqrv?F~H+I~ohVE>UO?u2bFP#07lm3r})h-12dQ`m&)nKi|tAz*x}|zS}+c-oZ^QXdjoD? zPuaIJCk)nwrw7^oJ&Cr1tHlh=1rr z%cPe)Ld!IF$(GvStKFJCF+Ito)zF?Uze{Efmx{+_;17@>s5Ez;D|R%;Yhj~v4DF)xJ~ay;`ha3H!HY1668!U7{13_BBZ0+V5RA$9?UN@lI&^ zHg;;g1diN{d*y2J<4rTVT_V>unb9^Os{uH;ewLqi<@)I>1~Gne`mZOKFyQ^n2hHh& zo#FCdo;-)&lHV6G!*_J5jSroR{H5n!w8X#OD-IY>+6Ls_x1MyjfV>Fc50F5!nf6B7 zT7*8tQOfQ8aEdUGX};NM4K)B5Nf?RKGUeL;m#@O=kE{sKYd|4H)Mv#Z!5(5B!cnh9 z#_AJU?9F1}aTEi|>t7)xL~Ai{qF%b^+w>-#S}|7^=Ig22?o~)|gv=36y5D0r2@zq1 zqENnxqDVnS2G)>Mlwo{g$m>w$lJ;R7@wISuCRE`8e}DvDTB3anKZi@_^(5{oj!o#F z=JR^(6sMVT42;oA7pJ{n09Iz?>0GQna$-jw;19ic7p?Wy`svoDKcCL)_FP^+JCWBH zLBieng8sXrMOy*1F*#ADJ&?0$jT2QNmxq(>948;+IXnfjeAocvWC=&j_!00Ez)u1{ zbR3|}KYxyyaIB1zb9zTn#Jiw11^EwU_sHwZPPJf1 zj33Kc*el4)kOz9%g4yr#;N!BsQ-}@$O+x+&v%YsVKHJ~3sXxYV?p?0lq;AJ2_MWLe zj?oC)UW)ganvg|b56&%A&~f#bg}5fx??%3yxCyl|@dKTgymNJYd#oK?NI&Yqev0`2 zN4;Fb0cbfhvg0u~pbOgiI4^5l^v*ogJ1@?#xny+%e}IJ9;bfq#mu&HM&_zvYu!zR7 zOT;O(96E(NZK|8P<#6w4XZ3rWr@yBiOv3%KwiwrTxQ8&Y{g8lIf~UO?HGA*aa37{t zt2VW*pW*{We_Njwl_z}Ksb#ZmJ;ZW7r9TCxT|t`wVnMn(4GF|(O_^O38BL5qV;He4 z2gV`LVC*~~Xx}$#yLZ9wA#+v>0TS-d(UC6WNT2a}wefkA@i}OG-e`PY zZ+!lj9O~kXmQvJy7bFz*#|_Q)A@m=u>Q2!Nbl#2o^Mw^^qgV}}Q-(HZnDC1J7Q6$r zZF;PA+01p90|Pk%3BL;zZMIXF#=*vM<)yJNy8Tyf$6Mw66~4co9@#E$cEy=*0lc`` z9{aj^qU%b}W=@GDj}Cb5PYwWofQ0@nM|U4ea(m7sJ9oo&Y3@$!+`T(7C*0I*N0uOJ z9~&JR&fC+|v$=E6bIHUWHA%6HJ9{ujFgM%oMjq*QssbQncSH$__Ow^5ZejbLn8mkv zkZ?+gf0t*7;w;$ej&aOPElu&* z8|W}J?FL97RQcXz$g4G0UaQy)e%>Pr);ym-eOc)8RmdWUx7~-GG5mpeTaqeja{4#( zbEL!f(TEy`gq(gp*MReh_~HA4YD35y-qpDx${)Wg_+eS4Iw#~26TNIOr`Jue1H9NB zJTzlQcQm-B_gLBLAn*rBSnB4RxVPwS=JW?H$j<5C$(dnumgH8hdZ70eaP5=7?47WP z)hhXqIeh{%%l#$jC{YPYGm849ILGSEYP`3oS4~`3%eB6WT}*u9NxWHlLh3KdU*p6F zq{P?}w0$!q+yn`HI28#9Z$zj+=t|d^b-4$&S((uR~W4{zDk$-l!j@9zBc-Q9$cwPQ0@cc3;I=et|4s)`+n zua5c08FYz%tO`B(OGs#Iet2|mkKn0#gw@rEoOt8M~423iD<1Ox+2S1hk@D3pOUB;@A@&HGJz)hOX>_edO=g}mY|Ev7rrZ_UIv zzcz0f^&7tCDSS_acL)3dpLmfQWP6W9r-{4pO_vf{1Uy<7aI zUB#M_dadD7PR>stp~URx8V`YODg;(ILXvzD4y~*aFTuTUxNz@sMUlKn^e*@gQ6e}DwK zTN&;K4gh4_{^c&Vuq>UB_&bnsL^0J2^T^7kE{7j8BS-Bh;A!&u+`>=BX=c3w2~2x@ zDvwqXbIwn&q6B)ecKb|eSz&uDwuO}!-+f+xFn>tlo@9GHh?UAMlCm1PYUd!KT>L<> zYws7)&ztDEvDb%T(YPh1x+H6uP}nn3q0X*2z?|l5raef$lKaW{Vtg0)!)AKlF8IxZ zJ!Z-E2yE8%E}*i37Bi6U?tGm{-{HGyJdMLM*odC582fpY7l%@oFb~9Ah6HXe8=Q%e zv^Q$<7BQ!vK)jmRs+o`Xib+nSDu0#-p&CKNCF1t1u!Apw4$u|t*+Bm7YZ^7v_{0z1eh z;oF!pN8`vU1oND+8&yRzmdhMMB=USZkun((u}2}n4BpLkEzTCpn~53EMRWQb^f_UV z8jTIaF}Qx_eR%Yk?LRM#hPg!py{<;fi95qb+J#M=ANT_#2T`Ar)$lNK8QS<0{*ZSWAgG?`ssdt z!98j7f=koZ1<{P43`c|kbDNNq6i&g;7xKz5YrG?Ee)iuxZ_9*{pDTjjXycS+6!-%q zXybOJL4316uz0Tc$1QvMz2fSYX|ZMf@)bA6%KD#(EsLLs+2d8fvKu!~_k3?l1lib# zqZ(*7@CQg}-2AAR$rr+=kgV|9->G{nPpv^0(JM*}u?yd+n+Ig;sn9^H4SalKT>~V_>0ExXO`4 zuD2qzIOH>!8;%y>5BFkTjMxzq`&>?qE)Y57yT!mDU#2~hv!kBr?z41nFJgOneMK&I zmTXGIA=u3r%Y?53e}IGz%(s3Vp`3%AQciyYIbVdq{r~-7#e*G@FLKC30{#FAum->j zoYVV1^Gy!fJpWe$m{mLnaNR~+haCL|uCW^V_8&q*CHCv6oM66L=|~*oC1|h329X(?VqnUX) ztz!au4&IlC_S!N&MG#-9UWph5>N;d4hIkL~2S^}HgEd%z(0+s+C~B}~zhC4Q`%@2h zetO!9XxUPK7Ocw>G$5DG>5o7gmb|*}W@G4wAxNOzQM9pHt1Mr~zFc!fLL@Jzoe*ac zTL4C1RlK5Z`YOBIzHL*`rFt-9ry)bATty`QZQu`(z%^IJ=&H(9VWBEky7F}Gt?N87 zx|+{a;r~B^z32#@#FF;J{m2`lj1t=M5BS6Vr3?x;;s^EkS%)9WGNPO?%61y0 zY6j_vQ7J+U-OM9k{}^c-5AR0Z#8l}nH9}AE8YBqX?nz?rroDl5_!p^^Q`|W^2TV_R zS}^L7N0ifdPtFWo4R6PT+2+IUWafiY`jRa0hd9}C-n7YM9^$pbh+)o5C*qvPqG-A0Xj9*m=YpQl{TAF*gB(Ic=6NlLxD9%|9{2+!F!hq#>YdrlS>lJ$AmLY#_baff@c5oD23}KSd>+ldc2-8c z4b_CX#;TXY%8E_tT8{G!BjWnW)UaYgeJRCIn)(?#q}Z@SLP5W|sAANWr|n@YcI2s_ z6v7t#mT=}C^f0PSwJdTsN(?+yZ+~Vnt^Numd=H+ebX-Eop$m z27_0k2K!4}TUBwT;;p%&S;QW@BU#-(xbbaAMvyI%(W00~U(ldU0JccLx% z#m+A(Uhc)L{@&!gq@Yz#&IH~~+>{?(#t_AQWYl^9Rdf;S&@LtM*hcUv0Dss9j`+71 zgQ?fDmo;7w{wxMgQPZGL{94!kE~{ex+TY`ex!(_7JO8q`{@Yrt;O71`aHVMe#v1z% z;`g!dyMaGI!rYbnn0Uqa*IpHvod%cYAU{BSq|BE?E_kxD=B-#4=YOONt7%&9dJBx> zJzZ(A0B~)lL5l0`hlDz@9;*j`kQ?0Jb?hvz_u1YCdhfYb;;?gxMYIk*9HCl)e=8!7 z4{yts_9kaoRP0PKFmEQT2K?F~`9^sS4S& zmWhp#g8uweY3u-hfP{kn!W8GRVMNC!9mZ%{K4CXTQ)q(5-WR8sF%o|T-0tNW>6m4~YY3>L<(RloIp>&tPBuTw?%8WWB8|K9kNH|@f zQD0)2BH8eG+f77oTJ(Eb3PAL}Tx|0o}e_bkL}cWr@TrKDAo_sqxNSK@Er4?A$gILdhz z;OOPxG^W2fLMg$HLlrj0?uB)g;-yA>^e%-m(yxVnvSSxK;17^sf<@XP*>0|ae_YhR zRm_glU&Caj18Ha4?{c4>rQfG>ui&jAYZ@`uznp~@(^`T2k3xc3JeLtXPPE{Y{0Hz7 zDEfJG0?{nw46csdAXmq&%Mxr2ciatriZ&kk$XR_mVim-*1^fXLCOQc@b)Z7@jhL|F z!^I=pggyar0QlAUk!_Z60QJg;SYT~dm+>xf2WXx|5I;cZmoVQ0c;>WSn+4R%K(R#F z;Mio?u3dqBziA&o%I0b z!QNZ*8byo^?fgVPt91W+>f_xOad)RB<4-XQf6A==w6H|=LBcR3P|XBl|Je5|r&msR zu!~@sn$xv{wi{%s@W~tHMpdxQLj>C=Yr798riC~Kc$M6o3R{3bK!W>ZBl3Lc$}_OJ z%hLn>gg^-%&m+*f&4+rt@B)P}*er8d_+||Iq2%#ya{AvU&YuPT@E}9tX-*%92T7jV zkKj8|%>!7N>yOzyr+DpAL(8)InQFz#d+#AuxYm2D-ezd@tbQ^N`~ebZ72qyp%wq>b zmAl4z1zY%6?73&k@GD2}L0#^hloRCws^rJI3La@hC&jv7-ttN(@CQgh77;4ExRy{e zH~-TU{_$U;W}5Z@rmJoYez5i-^pFTUjMX~uE{I9@@8EcGjlbJRL26}$Ay=fXDH_U+WKAzj2#Zl zi=~i2H5dHuHMTXC!prZ(*vkiYL4N93+1tCKn_Mru_P)5OYHwmsW7wUv-%avc@{Rop zSkYEYHueL5fP@kJ^~K3+R4^lCLU-2;GG8k!POI017Aaj>{bjUB=}Ne%Mc>R@F0^PE z`-z(OBL4vreiRo*TrYE*g|B_2lWrwihv?fT~XZ3%{4}X=})gEcRDa1wb_VxeB(LCINF+dtdzQQ8L5RYtt zmRagXei7;;tm)x6@CQgBj^=O2V%r?r4<_dWV@^P8KUttGq(!)fay-mFFRr*;3|tw< z-_8tOJ3Q%DP0(_$K*DgWI?SY+c01nKV6IYa5^ZWc-r@0z!p$Xlv4Y$xZ!?4S$1Hw~ z?*|sYxQFp}yB#>pIY=thH0W}Bm z1!M#KHsLoQ`3<1>f5plxLjv{x^@TrT#%A>;xjz_l^iYxJ==9~5ISiSw!_6jWli^N# zT53JinZr&+;6}oZr-W!d0|^hI#-n`IPy1!yQF0`U*uV(l$+Tx8eO7T)jacxueR6|5 zjK78>KkfTHG&1cI3;coF04x?cn5V7y;o)CdmmOobtvlxCW8Lx2*zWkwSQx$y!x_dX z?n*ntmG+^bHq`6{Mw@jRELkjVs&_49Cn_7PQW@&ze~^VFs;j$bWzYVxx;;UkCFyHYnxlM&;p7dq&zOfY0BBeS_Sx^ngDB?{T~yE7srO z+tAwj0{j4434lL90{GR9%Ct#+11g$&B>wjGy@6HQ5lSG~bcg`5=e=v-vNVENK4zpFeo8^RLIrdi=9dX;bpS$cNd zoNY!;Jn#od;Ewb2YB27PF{fKtLTAOS4P2w>Gst2R#sT#~D|d|Ugz&_y82|nRKB?&T^5^QOu&}2Hnd%hxN^*@)`LD73mNtDN~$9W6=CJ7%x z0(~REEv>ZR8y4dmzcIc+v8|MY4T_=1Ek~k1D8JOmOtxg)p=9*2&ROY)BUS1WCOu4V z^IY~4$ z+K*#5B+_2snIi3#)$f?1(Ol9)MXVPLO!+Q(j>t9CATPV9-(9r$s=+-E{NWK)nXMyc zMT{)`6BuP~7vVX=+ZoF0f68)xNj9sc9&Vjt4U&@Zfji0Q@g`)FEQbV!tYPx9V`G;t zmr+McOdPX-Qq-(yP7UL4R8wPzUd!8AeR&qU{OUJMRj4YCgBwc%{s0L;m8TlxEvdcW zoEQW*rVF+pWoZ0v^30~CGaOp7AkAQ>N}7d`&#cU`3H%ht=B)(&010Msw7(K{BT4KD z;Lz?W9IdSj*%acZabN|^LK3xbHgqZG1+WO_tx$I=Cgo*l^d*da1<&9AJS?R$@V2MnB8$mK;Gy9 zyY@H`0P+U>ermHrt0>IwW^>KYa$h6NoPUNj&b3b zZ-yJ1whFm6gS_t?cKA7FLDX>H=K?OL zK*9vZyBmmp%vcYnL&FH!VPj8IVzOY^`6>oK2_$zIFysvVT)>i(23z`G` z_;2nFCL>9OJ6IJ&QkcRH;%}MZI3h~MzHJ?f3CB8Q;17^s9x2l}fYyT*N6o13X7V?iN?U)d7Eigqc>m^+4ydqrS|gz{Htn2C7JT4>F)L zud`{ZTqA$2{eH@$==#_3uCn?cC%4_oz33XzbsMY$;17^sNxO!)7rDXFex`jrI|n0j zKHlvYCg}Q8ljl)WPJiDr@i9jCmyzODe;vJTr=Kf)(sMHc!1O4P?QY?H%wa7E#xi8*M%? z`3b9BiQRIs59^{^b^TS~Y|ubhk9L-<8^c*n0YQXjtG6kWiLk;CiUS=&OL|3p*=7)!WbEGY8ZltDk|7P0vp? zGnE)$(+orbu_$~7{s0N(7mi$tBen~lX(V#^O!>xEF(K^=R*JRo#qll*LdblF2iiNU zubu?{um|q~alUror@H>m#C)+?wBcM8ywgw6=TuWU9oFLFqU^H5Cak9=_R!J%Z|PfPZ|0%!^6m`vT;aYSw7} zCSa)me}DwCA4_+rnDp#<{{f3=w~*f!b~23MWa7{RHFXun9<}xzNBhq7a`G8qy;;QQ z9UpoPuAOf)@@{Osd+z#B63nfr#3gqRV_N4Do z#`cYJ@aY7vuJ>T~x1m(P7N~sde*8AGa`&#cQfqgyq4Gh?erZ4eUTGOZRW>|-VncLd zJZyjj>;oy;wRi!$Aa)CAfgnR?jd0qpCaR4XAKmX}v=wo2iCKkUVr+p2y4=X|1pWXC z`aj>;rO4u>H#WCW7P8y{{e<3sbOO-~g*z}G<8=B2>Fcci9BRCpMOKFlGxjbdWKm;I z8FW%<+=;Lq>o|P(4vdH5*s})zg2O+1P<(0Diw=W>q7VFL*aHvm2l&HdB;gAaz%oVu zti1l+yhSw|Z|)}Jm~Y?;M3jU?EO9PX^P(SQLC9m9n9z&hpP=j_;17@>0bTrCw)RE( z{ike=@%t>|Ptt)&eHr-EQPrv~0^_7;AgtJ>TNm@}va+;)8|jBZNZ``}Al3fO;t=mm zMlk{+W>q}EdsETDU@9^Tx{VvLXlo1h5!x$(_jYc^O5y3)Y~Ig}0Dpi4v$hSmpEx9F zZ-7a|oEE`qSCTZ65})C;XQy}|>OhB7TPTpSBQ9@NuY$&~7@nH&IAc#|F?KMc$tD=u zL35$RCNVsV)1Cwhb6pzM;D{Oab~#Xcz2>fh^Jp{h2S^ad%u!ayysT+jW?6mx zI-W2fFj8<{SYu$T<-A-SS?_GnEOAdnyMVYMm!UKxfj>aP-#wL*bA>}YQ1HbCU)gc) z!u~=wn0E9Ju_5F`{{*NW*EEqSN;a)6KT5M4SUT{BuhPEMmTvZP)n+zW+ZXK;Fh?B5 z-q>W%{=?{1>%50Ytw8(c7Kg&ftB;y6LWGI0flmwg10<|SKN$`*+xru+`L2i8PJLD= z@Pksc1y`Ogz#A{%-Hv@lwgmr#SnQ3EQKl&<+ zCk6ZZJmwkRBBDhxOtaNca+FDwok@ zQRO5}PQ|Z7?UO6^1~Q1Q?{>xfz|bA(?zqrzX|`+c<(s3r{%}r%ZZ)T`?gst<3AjEE z`x{>5NTd((bh0XI{5tk#YVBUv;)*u+cDND8Qyq0_#o@JU1a=QYxcs2 z00VLrGPh%LBfgPV{5{B##U1iGo20DVLlcxGI}fo76BuBuLxd^JUdihIO`fg-e}DvW zCG@#$g$@oVqZ?~OeH(A`AHn>xr@sf(6%l^oTo={e@1y;f=h)?!WU7IBG4O(M9^em< zz(wZ67e*u#+D+FbM9Nv+fA%bhY>HTsnNAUqO^P+d7Ua_WtSX?ZI`*Ra2iEjbebyV0 zK>G?%jTRgn!*_TMpM|lke)%LDB<>5^8N{Nk1`o!qDR;`E-JL@wXx4;UlZq_xhkdZ+ z#yP2|e;<(m0Srv~+3eV=@S}><%M?p|LRX+ms?+nSTFJxBhYt)3%am@k+AGVz$_4xZ z66SmCcL?r5R1DA=NG+{|p z3Yj=Y^$titHn2Y)kv9c|01!5L{b6L`A}eT<0R1bkr_sy?+hH3VM9UfPlNW%Iba?$6 zin?9^MtT?$jvy}7Ac7sDFVwH})rFR{b@f0aVJv@P5^eT*y20oeH>pp=Putk38{#h_ zbJm=m39c|f0sa69(gvp9lQ`T-$dMA0mgbejb+lfe+Arj}PM=y;dy8y^q|L zk_*T!cBU)3Pi|)mfImEe_2RuRH(8F8x4@@QZvVi2V#`#|G5Rj@QR%xcA|_(&(;KiE zd()mv*jNBI@6?zdxd(Sa!tf>!`fX8mVR%XN<4SCg6`8~;`b~{gNdAX?I9iTMMeG`3 z$lFz{4_y~o+|&Hn-xPB@@CQh6n!$~=x84cOymwXzd%^A=?lhffO8!-*orei+EPXdx zG^^K$(hRe?sMI^DVwTuEK7@qoFs$zgSTj(+KwcJWdJnr@IhQZ-+YkrzZyej;$Jmg2 zWb}m2w4B%n?imGyMRD_I#xF6NSCQt1=o(UNTJeK`cp&Lis^wnfI|HH9m1HLaGw zA0PoZl#$zv>~LClu-Acgz^vRmd!hLUGtS!F({37<${qb+##J5zN z*|XJ7Le)+}!u>Jsy*(99a+On@-W*V-^t+%XsfS5M6!YRW zNEnvE@+h^zD~0z3)DN*KBcs^_{0w%dwgsz;)W-pr=}0iR#@9bxn@tFo>ilB{|9Tf@@mbFNAde6{B_gT{X1~|)_+4>5IG=<33~altX+jyf%T&4DQFnv z70}U#vz%HMa$&5r^*zw1gEa%A3~!YpvxzYHwi z&+4c2-{d)|RJW{+*|r5?Z&!rCbESR1 zLohasI00S7`t!OidvO%<7q5Z^iG6c03xPijAtH<@?dy4NP*OVJEuGhYGbtLQibEX} z`BXH*D#onKW`czQ`~%4U<@PCEZ!72ZqwqJ^LIUM%(p9ib(X!=vYY3yaxkG0ANpqqH z47vXbxuxq8SW}-jJX^xd_d`O$gS80N8=Ppueiy;$dHrd_hk5}~$}FB_8e&3%LRgf5 z_asHU*e%^R3mMhO4g&rF2`25gQ&OJcO}}e3lfe2?apO3b#X6wW)YfB)kAWhJ5G7RRX`;PC9RFqv(-#-h7IGNbf|4O z&cl8<0twgR{U467muur~0|8K>=@l#e`h~S4Y>JsSZ;XJ zz#kwXHYTiSivMd|asv}yXiCRwxi;>ak)SJ)nCXr=jamfyHgu@s?DnMA#QEmEomIzg zo}mL9Y&(djm_%P=JTsZ|B*BjmuH}*lI@L-ExgUuo$mA>CAFGYm>iHPG{+z)_XA=1k z@CQgR#X4d;v3GarK7wdhE)gG%L*q`G!^7BHlj0>l@x1;G@X+kS7$G)|Bijyb`-Sa1 z*kwl{p+%J7)h)@&(S}t=ZC9Q;jFG{m&!av}0)HTQuWYRu?j`<3%9{c64gRm5Aid={ zDZ`HXGbAKzb5AY;j`-X*Df$3L9d;1fz$ zVpm2V-lh+_p&jRLnXszNmZ(GwEt-Rrl@swz9_YCkXzVmB!~=EiAa;PpC_*kjtkLu?_c-Y%s^m~*prCkz79g&ve#^2M zJ1nq*h9RL|=?To(n(8CXL2*XXUZly)VFy?ln8HKLrjVBs!q3HX7tsvh50H=;gH5Xa z!I+PPD3Z;ZL^LERF%+$O#U`BnZyzKQD_h3e}5ME z10+zqjQW^<$O5pTEoYF|O@G5Os;>q5eoCoQ%!>taugt5cl&=-!8x+6!Gu5 z=Qc^mP-)x*`~eb}_JbVFzt^H14G1rosKXZ3Sr-hhb30pqxtjA=`t%b{>?3PmZ4Obj z8NZWxk}_5N1Al;oUGH;7P84O243lqxNJdUSH#OX24lVUV+oPuW$q5;I$1x)(=vQ+o z0z(n&*?5X9BqT>2&x)S&`ig>SXgJa!H$>(pzqRwMT#62ri!XrLQShJFufbSais(Wk zX8Oj0JG7*(0}@)l!C0iHBaUoh_rNwQ?2_RgUiFA8kc-n{WEl%?v%fMd^^}35^OE!{ zs4yw(cDFD-;U4v?GVljTcnmsNP~TUMvYS@_LD|XH)b_c%WzIj;`N`=RT28sfl=nLa zBVKNeY%`%wN$BSHa)TzUIIlp$`~7b6rS>h|zH|E*q@%aFqh@~{B644znls+Mk}QKV zkxNCTBkLX+t>`xIH4R$!m9Mz9_h9crtp4X9fvcyesu>YGb_eZF%mzu~|CRT`loez4 zhE>Q!fUwPU+g>;k*2|BD^4`%G=^Gt0(MGHN9(cok?i$h{*B~4-ln+KLb*iKDtvgrU9 zYg4*nl)Ly0B+z`nq|k`}+aRL}7$&_(T1Q+VvtpLx zUT3gj-hu>F;|9RZqN>aLQjRtDI^wU?-}ENw^Ke66e55ihSh7<7O& zFd1mxg6KOZ0O4E>3E=JN?tnj$fL-&`oNqhx{Q+zo@D{dUp5We0wz15;Sef9_QM?`* z!4mbh8M+(z10>LyfzO<&!I@F$g*3$rr z22|@9x!16*@(&rzgWw0zoLQ>ZF=^X!RIh^wjP|=pYuGVB{867kg8iP38D-8}-2*d- znJHjosn8Bg)RQr^E%jizDEUlpn~W7DkY#h{-Z%1Kqd2o!z7P1rb2O@F`CoeQy#6n! z21mA`Jfci%9+pS8gM(?yx$W{6-;Uue$_{nQ$bhtSWQTg+-1{Z5+W)Ql&g)%xin|~| zM(ydWbk&NxBgjC)-ZI|p*vDx5!A|akB-f~AuxSXTtl0j2?6Ob>+geM{#^=ABsFR&| znqIT3vq_Kb9uL)~JK6+`CmDbZsS8(->Xw|&*-H}GD zo6_@)k#yjliVxCfVMohOcroWQFGUwb527CE#Yiu>gG`x5ndDpHUAbg>TJleSiM4wj zB=~T*uj6jW(Wr+nY}~PQKd=slmMS*r?xoE>c#*%sJmE7Npk+Qq4IYht;17^MdYHz1 z4aRiYN+BJ)$BOldH&;8Gp|QLPNJv?w^ZK`Qu{*sf@>tL7Pi8qI!wC2TBv4)?_JT!j zy1DxZt6ELbxViYo?O@lXd^z%QQ7sE6mE=?*Jc>2;dE_c1{{a%7 zm%+D@ZXnbuUAHZwe5yZRB<=emzOx@!)5xZ$uqZ;~jVG*LpLlclQ~ew0`ztXXUW0^> zQfpS4KbLH*&-`9#RD^Ba+h|o}$O7vuV-{Ba{=L#e%LbU#$-aNvK~$Cc2AplYgYm9l zD7l2OZ(_w!IY00F_=Jl4I8Y&l--@GIRGF7aLH3W^kTrk^MCq#YC$Rfp#-?5oM#d-J zFz^RR_*DM_S|lK^n;WoRkYGjJ&4mh`qW=DbQ{|EQNOJjh4plsCfWOcNAp!gW5>&<1 zzz=Xr{Yrkm>uq~VK=k7%cKs#301nf#vCxO1|Iv4m==QJ9eU{fVhr);Nq9@KacU*nQECrbc@ASzgM{X_lK3g2 z%*^*U<4Hc-<`2$-y&lmz8d;?p?@REO9!0ESK2TD^NSnTe5kA7f^1aSpK^W5h~R?>}&+7x)7t_z_%!Y) ze>Bn0>W|nKoDX4)=*t{UIbdg01&^7LHxdW_00~vA?6!dl!QFA;Tsc@tf(zRf zF7u|X;^fkW*32>BJoR9k_u~02X=~_VjH@;-|p;dymy~rCgwfoEfnK+?o~W|}fnDFY@YDl-Ru?-tZ` zaj}+fb;@FV7sj_6R#F*qg8p%0nsOR%GYtvTLy3V-2Zp*qc81$6#5zX!w6!`crr!3 z17mzvMpD47;}*2vKs!xO^O|+iLu`fGukm+98u$YwaMHO5^ESY`611-tt)a$Vv-Z#= z=keiw1K@W%cPmgH+_O|!0gDjUOsvJVk1;17_1s$?KeWf`+Jg?%j=AZK*S1Ph+@ z`**W$>@c--Hq&znc?68=wijUm=?8%)5Tb@Gcx32NMF4U!&>E}}U^ZQ2WnzEew?#P(&uc|cfjsV$_txw(RN z238vI2S}iP*fY5_$ZLTKUi%!PUv=R2_W=vsf%iHs;|S5;$tWG!f+G$@lxr_swS@Uz zBK;s}QJjGV1>UBZF*9@roNfC!C*nR?T3`pcNGO10;N^|9FD>oc!Hc z=%3$B+PZC_swgMl5bcnysGCY+?$O@iTMY&YUxZ^J^wS{lA>a>?K+hFGR{7%etQDxX z1Cmvr?zm9%FQ5%0k(p{V%3*7;5sY3TorHEkY!jFpv9iAl2|H02{;x#^XC3J%;RTHp_maKj8v_M;#EA7AeuA60$j|G)42 zo)Gej0F!XhJ4t{E1f3vgXsHf~)ftF@^~Zu@cM`On0Br}bZ348NfZ9QA8?1JN+BUSd z3u@cgnq9gryP>NsTDv;~x~tW8N2`VI);j#WlbIy*eV#kuy8GG3_m5qxxGgUe-obn7kQTD@gOxZ^&u1rk&5xo$yt{tDOJ*?PERMMuTuA-w9Z-yt!R z;15V}dCDqleY1^uP4gC9-g;DBO7Ph1j6V{;F61K`C3EQtkrMLxGna&`_-1xyw)InCi;Rh}beS!r_h?{5m?-9!z-n zIdNG6{NZWl#o;3PyywkGK^fqIiSs9vN`G{wDi*I%e`u>vx7;$F_m%44lk>H>eiiR8 zRlk0zQ^ob`d79TE;oy_o`SeL%|3TezzDE6d&a)s%Vrh6ARHn9JMIsy(E9D8S6taRF z&Y2-=T>PB)Iq(N0ICMv=#g_V{@WpN{wvnk4>##D3ZX=%~8S>Tfr_e}#epq^1m<^`u znsqez0}^iHoKpRw{VH_foYL{cC2)r99dLh1rJUX=y^j)wUYzetwfEWha->?ruh1vuzD3%N z|KnGDfn6dkVSqm%p}*sPPlch+he_m^z4K%0yX!@Bs;Ue1RvjMaE@~TX7He<_t4~Iq zK^`laX5n+@$0ooZqz$w@j7+I_XOmb}+NVhyo6A$~h*%dMDn+;~DWjs3V=YFHmvZuiJUoTd3j+(&|vcji;h?1(_f2mB(1^n|?^{gF1FwExNdK z<)|-|tRf$vtW60gEIlR9LZr)F@qmTvtd&rAlS5y-L?WEPACS<7zB8p5u%5Ws+iHaJ zV!1MlSyu7+f1Z7H?xX4w>ufm>`~eB?P5$@Uf?R+u9jpawvcDjlhfe*HB~l$nWgBw~ zeG(U^4HnH;E}R4YfCMXkR;qI(y=3jwf^BMALaEFVYGBIU5NBo0oAg*|ynLU2Ya^T8 zwW1b(R_%|-L-FlWdv3c>6(LzV>w|q@3)_kG4=K-W@#_z8_RaK58Baob9{d3b6J|Gi zT!|xHD%=dsE}G|9nSB>xl04bBh_$RvH7C9B74`4xNou66#X6L5YSE7FMmf7X867T+(5hlT$4_U3jT(wCr?S z_Ky5{b0nwy@F)|fW$0HQhSMyEr`(_Dktinzs}lGF624UY%L(a~3G=XAyjcdEj^5@@8~iH+lJ~uNo@z6_EC+#D-l_ zD4}a&v5Fkw2ku0_I%m$!HyfclrUqJ$fj=POVpLb4K5&VvED)#&G}O#cBIQA&J|nNY z**WC(9;3#3z1OI)Uhks~2ar%^efqNDvR?NXHtY2P`ty7qT@bDPkF*@zhDfnV+A~0V z7Sf&pzdVb#k#PIiRjagl*&YX2OB|k&_=X!YSA?J0MC~fcZ|;P*N@8*q*1L=I)%;K(D&u$=Rjn_aB7=Jiqev zQhYvcv`z{R!OZfL?Rm3m%#+dPemwK!7aH}z#vbeGjpo1~o&~`GxA*Q5yWU}Bx3&@G zLZ#+;#Ag|m9;s?|jrD#v^~YFSBE)^et!huVk#pGA{TFf!WtDpt3Ev)*@$>1NJ$rh> z5#G)CdJFD>px(UcEDR)XSXqdIfXYa!4$8V!X1KGHOo$Cs%r5~f71^_6ocZmA!L z4FrylK5tLe`0q2$nJ-S7W(%MHf)$v+0tVm4gJngX=rf7>YZ+mEXkOFfNF|zQ;z`X9GpeAMH`u%f_Na8~*jU5r<`i*wZp3#E{_5esR3&aD(5K z(Xz9N^jFyxa1QBygBE;kvg+`&eWg42$YnAY^v)r)|3%ab52nP&`UDbG_CIsJRU>^v zJV#Iv`q_^E-VvCYZof2v91j^C6&Yo{Yt5BshLUcsC*&=Q38si!G`;qW(WPvbrXp8tiiPwOi_5dxBJxl*PAP|n8GFBGu>7g3jbm zE!bmisTkMjBevo|{2=@0S^9MN{W~Ieeq>*-y&3!g2`=hX?TZ_J8`_-*c308N&(@mYv~o^Bz2pGp*ynA2{+)U^jA2ISbEA=WPAE)J1U&ss+BZ*7)6cL)RapUGbsl z_gL@T)Cd_$NL13FUuJ)rP{as45YtUtUkoam-&~KZ!)yAE)wcz3gLDY0Jru zR5V|vHw5P|?{w-zU?5>6urFhkYG1T9REN5vrCc4iVb4a!4J^dLBCH0*p;(|}i2VN$ zIz~BqWm!a`r;J754@h{}@^>HWb9dere~TzCEchF=#!d06j!aa1-be4jUgjyv*=mhE zO|*k%{2bW;>%%A#T%FNge~+gFBoM|HSN8b{qbJZ|khzNgjM)UE0WEIm;R(!_tWW%J z#KH;g?4TdUkPnC9kiRUF}U|F;J-fG1^h;{=0fCQCwSiLPAUi7hy zSTc|+({2OQHv3>97PB?ry$X1~sHLhpRA!*V^EpTMxg1AzfIlGN!2i+5|Fd^@;oouH z06G!h)$!K<=w0v!Bz&-srCM-BW-~SejNX`R) z_^DV)8uc`U{{eKw($~&T7R~vSD%(;}L@+6sW*vUXDcGE|*l;TxE$5C~dL8@4ok)=W z7kQGeS)sc-XA<*haGm3mrD`x*_G3BuyoJ?Qjw_Dr8FuM2250LM-86&*E!7;Z9l$4% zRIWsYffZEC>QeTkugT|kzF0IrKjsFT()R3!-y1ZvZc1h}c4xh?uSo@sH;^FfX&15B z8tagn=L>rV5`FH0a%0AdI5p55eU7~~`=$@pKB|d__ixlAWlz~25{sk!*Afro`v>rc zF>TIBsC<>@>R@jm9_R?hCF5z@KB{3C-3RS2B)3e(clt<^vev4*E#KnJ zNRT;L-srV#In^f`@k3P9HO*h;G{e4PDCGH2b#H%1bzJ&O&caJaU2R5ax}LijK!V(b zd)&afEX@Ng9O@N~pv4-4=gl-vWfn;A9mX7uqwTDbuM;RdX#9j+cHa5AKd;kYkj?aJd|0qx~=D|dDHlZ>1#aV`;<{^^jbBC zz#ot>Ez`QEu30-i_lxe#^k&C#-`p+rk-CZ<%&)o6xNI+L#y0ou5?#GlX6He;0nVCN zj%)j5X9IsgLe}-mN+UUI_1pK4ZBowBO4VGSTB-Z+l#*wPUDTGmr+pf>O?g1e%+Azg zrlvfMPr=H>L;7f% zOHJ6Di+>J^QnKpltCy^^<*0}8IKY|6asA!9qH=8Ms02s-l%p;l1O9*nq#5j?*hMP) zDY#4T$~!J_BX}-V?14wv#pDc;$FunSk&RmGk#0wu{09DjgrA_jq!}@Cl+?5T6EmG- z=_k!_WE=Rz*v$UXYM(u#8N$;3-zdsSB*@qUd8Y=93K*={m+5glKsD@(ZdSvbD*G%){xgw0{DtlnU8Qwy6fl<)F-$n8o1!oU` zqDKvnT*7?N@aoOcdty4ejX`d86bTM$%+`msSj0mxKvV+yn)?X?&UZ6 z(q1C%lJ;b27y1+HCeAJtR?%hIsIz z;1B=Eo)w$QJ^doD`Q_?I$5lg<(G_!N{}szjafUyp8E1+7kWYSQ-;2DH$OX|a!5@%d zasO`D*awv%^}1zD$`P#L7Q*f&%16->2O2)Jjbnb#F%|wM))nvvBuwFn%Ne`ygnRE%m3E*5%B&vUe1F@LaUU;8Q|M?L?2?a|`&xKhdS+dU*>{2Nj+; zy=jru-{>pwy#2&E!t?0YL#=9Wc()HW^=Q-=9*X|$hEHx#w4#&o5JEyGN}SBT7k9gf zm1&zjuWQo$Dw#lK#1l=LdnTVS+7c3f@OyT@ONr`sXBWZ&UOb`Lm(S7L&peeI~Z}>Y*hG_XqH1rkh9SRI)`{3L`q~& zP5NU=m~Q2J@jqM|iI0@Uv;}%9vA~(yy&#xQ(%ZGE=FCm#)n}z27F47j?s=u>vRUOl zcg(tS*56e!VGLAQaF%Hxw92{xgz+(C^j$t zqJDCL-b+ghJu)k{aeUU#Srz_E>9N3AoG~J8vPH^U?JtCUvR=t&@CPK6c(4Ea4vD^F zwJ03{cXnrmzMo#uVQ}J;{AYt$S`>Q2w-v`>nTzJ1t;^|Dx2Q9{G0DnM& zo7Mahzn`bpZCNM7BUPePg2)`$(6h-~AJEmNa;n%1zwTc6qdlO#MRO7HcOs$c7v$?< z15*9(6??WEOYcwYZLjB8O|1L=@4H!UwR+_J_G*TAv%*U1M8d_0Dd`>IFn^P3PcTGo zaAYL@)7ni>xU!E=7U0ZE-p471vyvJ> zudyoCr7F;kUsN@9p${F~giZ~sx4rrN@vvUst3c)l+C3>>TrhfB<(47gy!j7!rtR5T zSPhoV&@TN^+xaHa8sPq{S@|N~r_hIvZ`zHtux`YsWFA6t?eB`M;15U;X-3?huEW+p zYksw8z#}Zz0#(dke2=Y#ZC=tVmT?7dm|eVoc|Z6A68ig(^t)Hs5?bTywvNQE#4i%d zKiBH-{~Vgr=cLbr2`Ua1Ee)PN&Y@+VH(wu@|F;pdmqmhx-f(I{kmg@nJABnhbth{Y z94X{65R>LYgL^XyZ?D{>c`)2wLEPv8DCE7EfldA zzMLy3iN-^S-W=*k;=HN9c~5l zd7xC;>*3*xE+$)QV?+9_K5f43wU=VrV(5pIk9CIT(vS_tK@9n*JSbE4l0RDi4L%p^EP`{94U@29&TEZ#`zxlW}Flqj9 z+!1VE^*yy^owqO9?&4{FZ+y!-M^G5Kd*cj)IQYXamGXx*zp*OVrrok-o!#)nUD;n! z18>sYJAS3F;z}>Iu3g!4>=KStqcx7Mn6zik6TJ%mN(%e|2{qwqk!5Yf$8QzA|2z4L zRa@41w%7+P-@F8Xvfc@5jq#j>zv6cD-NjYwL_|EE%*ZxDqg4R3iou(Z}a-P zJF0xHhBIa*Q7pl><#%Yezj~~`S+8mDOdvd0}^CTrzb>)7a9L8;S~Om zvt}r7U$I}!Uv%SIkK|F%&Oh=@?4^}43jXjb!Q~cNJMGKXN_(-*uTHolp6zaOf;Gdl zb<#XraIA0y_p4==ELkh$PQf3LAZLn9%?L-)3;qvj&rV4E)7N11H1vYmik@3qXNB8s z7zy5TiDzm6)dG`YJ~~$>qsmwYgZnP^=vo+tgHGb%K)AV5B^VGpXS9Oajz;VKec%sB zfKMg@_l9-x^2N)RD8Id7!+K!=d_euz+Ip&rIGfMEPNqxph@e7Nn*|#xj?}IO ze>jT%s{do(R6H(~tW`hF&DX1LPy zgfvs6HtWI)LC_0kl4uX<??>BTvWXl?(a2{y$k+;1mQT;3^<>NnO;eq^2d5Do^3;Gbu^!2KFIHJ zo=?&I&vCJ(4SzZ7!TG{m_#D9>kf8jhw!C>~bdzLgt3WGQtOKs=8oLS@Jz7#r?FA1+ zTTk$*K_!pb0=vcEp(Xe79ryzhzPssT9<`u~Beg`}0Y!F_7MPy8%+T&I$YIEt%O|=v zPMQbC93?s2%}a&YZb!!GS&oFozXn}=z~6IpmqZ#GW5Go9Q?e>ceVO?7NpmWGY{@c- zZ+B%s3id8B@UCpbnD@dxgFhhQo4!r4+c*E9_n+&vg|_r}sTZZ|GNUiXy-PpH8tKX& zm@GFuktmf!13Zl-#AAa$AVJtH4Xd)Ajo8Ve`CV*UIjcBw?{FoR0^5vBBJqxy`nA5I z`K4T`hwLdMInZHn7blTG)=09t!=I=gT&icfoiLfDm{AMx?6_bYH^!m~qP=HVM$VA? z)u?+0gIDI2d&c>g}|MIl(Agd z3@udss3sAESoNNcHulBKf^Ill{VoZL{JVV zqf*^5NnC<0+s^*i6*~i?a%iz&@u1h)nw;R=;15VJ(181?ve-~=P_5YJpEUnCF?_hp znm=D)Y&=fi=SF<1e0V<>_Z{j}1G4t*#A_*;EJu-06K-n@!COhB3%meTmX@(0Pqw+y zwlo}du+tUcb(hz3=6_9=`&}!#I)WeC18=Uxm z3Db;xdt~CA`Qf5QofdGOIWtxb_sv+X2HN@@#P5JVAVC;?tF0@y|SSgtSaD8CRUafzBy^3j6^H7ul3Vmu?&BAfF-A~o!`=cv+j@AD<_H}Yq zUW}@SDV?@x10I}5@ZHQtmphAuV|};9%kbZ5>2OqKs_-s&qP}Ft+NYmGs-jK4#xmB} z*UWv1|rEw&;mW4A0?YM-2$8>v}Ubwg!m**w24xi9lu8+6~I z{n75OdArJ2WV*i773~IpK!VFK?(r}u{v9v7hZqg5*vXn7PrL)8O%SI3B&&WoV^qec ztp4(hrjW7CiosnRK!OuCB_|O>!gTjkvE1)m5%84-yE;6J)~vCI_xK>8i^@~pOm7M& z1MH_DU-8}|@hRXBNGNagbgu32EH>6Uv$Kg|ai!zEl3Sf$a`x;fIzR_{Tu6D=qRK4(pD59OF z4s1kE{zZKa`4!*~NPyXdSh78RpI8x5H{RxW^v3!!esfTlVHbRj;9&!{Of>8mfa!Qp zGRDgGD)ub=I|GWf`ekXuT-SgRMavkd7*tKlsmi?r^@CHt9fFa|GvI#M{)k#QH5J%% zsNM1EmA-50-KlqD=T0m|mShc7rA0GuE4+6?mKZhIQrKnGLfBJ-6tC(YxyC zmBy53(6!IA`_jy2JooN>XUzKiGGXfX2Yp9xnm!2rfP|1gvHj>R$~d&aHCVRqta)iZ z7q#*FVMbUe*#Cg@(HeJ6C7RuC`{2j@>3NVdnxnAln5hOx}4j5l*K z>Ks&ad5ZG9zU>^afAdo()F9X;t;y$d`Itp!&>qFdt!@MDPswG zNp{23%n*p^_OYK3+aS7uW^`>jLsky>0}@0}{AOP2skX!K3?D5mlxyWi>Q}3|5^>Rz zlK2WW07ED-6*j5t$djp!NUg&x5_T{%9Ty@iv@1(ji;Vs3!qo!0TBX5DBZ7B1iAM*h^X@`Tl#+VW#R-GWlv^W2lwgDbB|kRa{*O#ZE& zQB~#J^}tifNAVf&>RCXJl?U#dN86ppl;0OD|4sR*%4mL%l@leo8EW3O%&ZI&Dl^_l z7-S*bJ%mTvmO4vT<==MA?Vf{Atw<$<7G1TxiGv3?HId^~T`UGqB!$@!& zLB{+aHwXjZrrZ$K10^=DSwCYo<>Yn9cZPaabGu}m$XcBknSgx-+%_T=T~kPqmP_Rp z8&+#1cA9-XaacYlM$Qsd=Z?6;VwwBe6fJ{aF8lYaw6^TG_%FL&`725duO)7sY)`?R z_7G*Hh%vGof~)1tKY(#r^$kXdC5Ip9wE27FvmzwiR(rr7L<09$e!~==wlc~;LS3Ft zC!Dr^y((eTeY!hSorFdB)iQWT>ag49$4{I8Sk#Cy7`A5CJxCCnvTOyJ1<|t3vJ83n z8`mt_3j+4R>Pe35KY)2;S?`s4qg%5wmBo7l{(uCzKd=P7%5Y?VMGr|tzTILoRq#}O z&a&haBU7?J<<6z1_zWv2M%W;2Pl7)nA#Yaj6z8XHgUe(1#9sC`HD$;WD7HndZ*0G* zY-ZkGTh#Pm6y^!~2TvKJT1%HTfj|74jLFuRZEyim+j;ZfE&WPkHFKn3t%V6z9kVxS zgN}WksC(GZWo?RE-hHi!m;kWByOAIoqMbMs$3i%kj8Xf2?drH#m-75~5=%}Md9oD9 z<9VuReox}g;58sn?$tN=2yCqbJW{x35NU_>`kCz$=4#9Ab` zo4#{C>0*uf;-o|WC^cV}GdBbOj(sr@vAs~K<~Sa)@AZ5;Pt-B2c6j;o<}W9;ea_}u z+IIT|UgZkAtK6=>++OjjJM-oCDX)S*AVHfmI?FL2-#E!^vuA{1`HcDSgj8#?H%-sT zwN!J@Z$GrcwXZswH}_7ub?2acU*5crShXP}kn@W@gGZ8Hk|*@>jQjGx;<}~W1fuEb zlgrkGm80p#4ADXyqhRg!?2{N~@CPKQ^0VfGoST?M&!eZ2>*3k8`A(acTko#c$srnO zWyE`)JZ=6N4Fv|fCUyBj*6%ae-M&|qdbik|v9oJCQqI9p?8~-)Dr2>oC%Ky3pwy&Jn=ef;iu42Q{x>5*j$6(3VsST>*4#~wjHk(N^+i26lvr7%=kcu( zT?Y}`svcs;d03)&J>b;?Nca{m1C7@v*P*eaSj0BYL5Z*t3>& zl$C7>mf&uq{H2DBZh$`^p%xo7j}d{2rd=KaUSvH8$@2OR;DVJ680^ZtNP3 z4Oob<@X?KK5hTt*#ND+>@N620CSxgUofd3XepTchoGKR0KNOWj+OS^Nrlv&7JCm{Q zo)=1Y*bWMASHhm|D8xINtu}{k4)|KZ2C@Y z4^rNW?WqTUKtjkzv}SSu4(^hy{gcsX(fqq&lnMtIWnFCB&i5-JH|2I7u4HcJkTBYF zPb?Fgv+?^qXUsoLyvctTPw}muQ1HkDHGB5>j_jtUH?=1NJy+;bp)?a4r5eX2;~8ch z_``4Epg>RA`*8&peQ%FzqeQBMM$4X)K4bpXcv-~uh}1U?TJ=rmTJ=pk?vVP*^YscM z&EiN9iC0-{-^9+*CaGL1adkTiL)e(#ns^i6v)Fk*1Hl~PYCBomqe0sa;ve^dKOjMS zsDU-4t#v3CUNlwTK=k1Dg2%6TrpXC%@_U{U|5mCB9oyIFwC<-h_M*?zs4?!rACQnU zjftJ~dq3~9)V!IA)~@-3utkvpH?FK|p3@>_+d=1<{dy+Zy{gODbF?eEN1~gWUdKm; z-^_DQ_#Owjvz~j5`@{D{?@!+2L4P6&n(7E-idyONmvAC(RxY{(yuk z?#nb!vZGX|S7K{xGry~1CL(LZaxI#xw{+c?LOy>blv0SU6-gn|h? z&~wt|Ml<`kM8yv=mxsXHTn!cMmXF~(%3zt5_IWkuoeeGnPe}s&0SP5-;S3%on?H8l zgt@Jdv2cK%@ppJ_J1jfC#Ftm-(>ZG}QR|1{lYaigxNQLZ;SDSlDyFpR(b;phoHjR& zyBe0VzfK9BHt!nO4xj~%3;u>4*H|#uTmDbkaXd>ZS2fe);15V}5q*2wTr)nD9Nq;- zQkEJZ;H{ZtuuG7VmvZ})q2Tg_*foc!-QwVNXbhX#%9Q|rK!WIr1tNY#FAz<~5p-fV zE@Ef&@{~;TD)2l(`JEewZkC{E=(LT}H8u}#qp?kb6V;64ErUv1CL)N-+ zZ850y>l#c}*^$2)o~ffr2c;iENSOZQjDybXTkMIKrKVrV@Mt8%L+Vpp3VXXFJ23Wx z?bE_DzU2fR^J7_`Hjh}0#kK?B4@gkiy9;GTnN=b6n+ceK4@{Wf&N~NeJc&mNXH0WU z`KJ%svu_exD{EximYKsETxY__3;uuv@jDdEZmTCnr%HTbx?U!+=rgsTADp#7Pf{5k zUP)PRjE$!GxydO1cT5@^!5@$?X(s70sWMfo|DvzIFOf9O{dt4qg_lTc%$spbf6F2r zo6KJs*gITeJYNnD6Z}2vgKAn`HSkM|_uO{iw0V2Mzh^ks6YoU&FER(K>mja?jIZ`_7={fxP* zfOi3H$2O>;5e@e(MYl50f({^|nte@n(XPVSiG_^!bJ&?@%*}<`#3ftV%&W08`mRNO&6wDsTpmnbH8tS_nO6y?l&*#@1BxT z&6lT_HTWX!9XI=Cu5c_C=0uea$5l%s`-SlzN-fcYOHNuN4UYj@(#b7GL+fk<4g2@` z;RlBjC;NuB9OzSXhBjzMv|kXJ%dR}BRGlv<@lorM(8>t^bzWQISa|NZ#*B$En?-Mx zkvvMgiHu=)+L&$6h8Xv@)c)l!1%;G-93DUk;2T3 z)o>2@0}=+AanafKeW$5wrC@5Dx6QH7(BItJ$|^gRc{nd`dqmc|Y57vUKd}@msqG|d zCHMmp_T-)L5(Z|=YI)kM$$zF_vhI~-xlFbA+RvDu&ug&=XTe+m8q2@EH(Z+5PUN-Rtr$-Oa8oPt!^4C42*eZChksEJH%? zmRmD+5E1*=jUL;;xH*$KWE))MA2(}=syfyo>!af-Q|dXfiUk?*w!E6VECWv>9a`C z49SP<-9nsq!)ds=sn|e9HoKqyt&JYRW*H~;$86be7Kb(kx{S@St}g|(bfppNlFaBV z5~PP^1ebRFKaasiX>qJ+7myUOyU4?_G&RdE)irEMPe)>8A!~KZTY@f*TGl7)5vbm& zz?{?>I7Mvi)IS$1jkr{@SyHE)bLpgC&s2pqA{w0d0W}yWmZ=yLRCWduri5#QYR|ZN z8yc(DP>DABZO(UOKPJ-2Azy?QXoDg4jOk?Wld(%1d%+)&AXc-mdTSBlYG~`9v6yo_ z^J!$W*Xpr`02yoLjI1qV)KxW}1_jsr&Cxo4UCXCG3H~5$IPTY*`@NCcrO9nyyZb1u z^DxV#6_1bA8RO>k@dDXW8aOoLmn+HLN?g+Av<3X(4?GM1Y~!>!YOTl89?c-K-I*9k zf-NWfGmz9d=EyFdVE%V;N2n}r)dc6Ci%N#z4@gMEa^p@{y&v&9%IdTP`4=NzXNPr( zwGAvx=~f(KbEX=Rp#=}V1-`q zBrpaWHI9E~;%STLQM?bb4wdUkB2mtp*XOG;QFp~FGgp7t7`jQU`5%#Wz^=4FjOZ$6pV z3?mNy@D6uzLPLu_Z|=#TKJopE5`WfnAfCgp<%QZSxdXVMUw4wzd)oXqv%|h(6iy(` zpYUm{4|gL$`u6eLWTuF>ggBw7^q!}4&g_8hj}iIAZi0sGcZ5$9Ra^S5fDJgxao`U~ zXyLvk%C4Nu4Z$ZI*|UWJ+N>knMim1)J@nipvBw4ZRoF7#DKy8_tWdo~wt_z(VYw&d z6N^ebTyp)~$fc`P)9?jpsX{#J%y#7*1(yC7uL7IE!U5arq1G%bY?%z2%~ZU`LU zw&RNDd@1ELO)`9N?V-j1^k-e^<>ZCsP zggL@KGlQ&GXZGsc8~iTFUe~*fJjO<2I6ji-eSBC8T%9&Lz38+zb3|fU7oMbtCLKmK zdA~!SsXOQ!*eTZ1T+f!-yowL8>KirR7&p)716z&l)dOd+t~dHUH-(7N8bAU%`a#!$ z^L*>q#ZLHj!F8};9xZ76f4)#=r^5+SBlg!RbLXV1;TfNypF)BMrR?*QfwE?J z0+qw=kJwas5|kMfcTdFyexr(3P5fDN$z4Q;Jel`DAUn>RUl5)$@CPJFwxs7}&YAl` zRwNhJ=l|q#s%2f8a%sDI^tLC-GOCWaT5TEd2P6o4)H&Fr&>v!_%*B)1Wxr1MTUybZ zUoaks5To77pTe)9!8_&YSewYi>XIsUB(W|D{vZxBRr(QFLMV5H*r%+0z`ewNS0j&@$m(Tksw- zftu>QzOyIpX(zXRR+&S5S~Ym0PMhBXRa^Wgo+h5Wlk74JC*O+(_NZBb{&!*JdIN1G z4d?&8=vaxK%XC@6w{XjjMJg7 zXcl|I(7iTtgvQ7qn7?|ywPV>+E+YH$=FW*&OnhojBcUICU_tr_|AT4&SGA@7`wHgt z-2RQ8`l0SOdx&d$&EdB(w?8?4h$~!@s*f07jl{|uK2|@_4*q}y&+)p($Fv_cJfyAb z7}|JaeX_j*e?vKI)6?U4xuS0LS7&;(cc$pyU!|@0&7bXhF%#R+BO|KmKf#~Jsi>S< z7<=}_&{t$NafW}|qq5%`mo-A_0SSk;k5%_M)`dN8_sSP56C-syrJh572lxXL>h6X= z)IXhhTjBtgJq#Uz)txv1bOL#A`o#viTa?|RQC7Oa=(--{g@0BdHvx8_yZDb)~6>YzDJ%!ixFDC zhmrZYagp`*By7Rmq6yb-FRfX^n|n0&&_;aQDQ}O5wYv7dl%+?>5yKi>{16iPdWHoS!Bxg0SEa@3#4+ygGi`xJyc;}y~#>kbyx+)*}I$k3GUND zMkyEx?IQwBzts9JZ|&!~k=d)Tq3Fq@NSLi(kJsoFc1pqgvK475V}3r?RUi$2vvbbN zLHcphTxVrNO|ZY7GT$xmo%Jjnf4=xE?&Q0VM#+ZqDmQj|_Gqpv`B5L=b@h`))Zc9+ z6OJR5ws4NsFlS{oJj2z&ACNFiy>6#2eSdzU+mSY_W>-{0dCm7LI z1D3b|9*9%sFqtmk4@i*vl-^*_hdIva~;&Y6aJ{p zNN5PFdG7drwQ^qW|Bk!nmEU6ddw#dK zy*_69ZLJsl0SVvnxiYohnptp^ci7VPG446~_Z!MGKi;G*`tb(a{Q8*oyN5mS{%}lv z^tEVk!?|u>%o9lxQv&{ggu19bb0>8L?lgSSbLO}e6C=B=Xkx~Gsn$WOjWstYf2_;s zDVRSQck5Css6f>4GG+XwG@=r{&ArL?4e9G|5WnD3yg&1MZQ0uxq3ht@bH_R8NX1IEq9OA@s9m=CLgC{|Ju3A31Oa4$BD#_&y|wN@GUQaBJ+X%eA@i} zSOJaYFy|yj(y=x8A;2H_bR?RN9gS8K-TvzbAkFa|-CZU6EHR8fXMMMmDfv=P5qo$J zJy1}0u^h^pf^N+_~_n?0yb6V zf%mr6>FJ;fv~nx0;TZO$!tP#%1Uxj^-;GN&*1r`i{a%MBL?SwC138RgDq4;?_`f43 z|2JD$@t(z+dbbHQPM0;R7YV|{bjF--FzNmO2mIlb zp!n21oRc&E9|j(lfWT*@1d-rBC0ZHw$kwqN(#MOcst_tme^BLiZo38MV8-@8`k%-ccm z2PCM>OF@?|E8m=yZJ%d{uyja_Vsr0#^W8D>IWt>*HQRTg%M@Fsg0-1G80Rhq8uhEM z0DnM2{p_Hw{zluEGuLv3>ePYWL>+mG8D+%cF=FcrW@aK9ZPT@EEqQ!e_IriN!*Zo! zFuV=?;WYh#gk4H1EmxoO#d^D9tR|DKKI1DN)}1Tt*_z3B=mUvql-!uv zJeOBi$#__c1iLQ&cUzwkv`3^SvWzCFgeJ4C^xH3b+pOOj-v90Bh2Ov*kdPSJ)wjkv zqW1kGWS*AJZtsg(zq#K3EyZud3N+o5m=XnlKti2#7t!4T1XW^Vb#F?tm9(Amg2#GprO1E#Djj@riO&)rF%DqEC(@L5{6oIXv)@1>n(u!7P*c-dZP^p` zs&1Hl-Il2U`<-gsv9YF8m@EuXV`F`>>A>RWLf{WbcszQp>ABG3T@(C&qpR4|%rEPC zy@^-iIL>QJO4NzGYijsx zYbAYsV@^ITYuML1l~3Q#jg!4B-&8fc((2_K@CPI;w~h)lywmFDyKm$~cL}i$D8`grQuyF$GQjYA(u^elMz4(}YBA88IpHfvGkZw|lEu{=7rvvzUU z=KkpZ%}1ijm~(?|uBLr@O@7EM@@w0SOhqI{SJp9-fz4FQE;$O>y#4@g*FugtZrRI^bIfoY`~eB}Fg5ymei7^GxY2h6`&edxh*p-DNL z$(j2=REbpU27f?;T@}rLWyjJQ9;L- z_Nh#lFHojES`vl2*5hStWe5gakiX34*r0IN_weGWRG=OXT3+& zFb%1W3sQeGQ8X3?hYueho=l{R4pS5UCHt1}%jJ+TL5BK2*&O;Id>tB+(gmqQbs8K` zzOnPo(E_^~IKImM74u1s`6rkpVpPm7U|tGaCQB{Es+XnKLoR0_STs>s5PI z>(DY)v`ueToehy24>IRCKfHa)g#QiK}$FMNI^MHz4B#R@nhmg4{Z@&tYFznWAz!C+1Z6o z2mXKr2le`izs=C=sJDJO}4xci&z`WunM%(5u%Q*4&pk1fj;FjPI z(uTm>XmCz?UXJ}Z8L%4q<7UfZ-PxmUVIs60RsZBTi}@uOaS!fK^70 zvgQV(Sn2|O@Qm3Pjve6GH5?26fQ0{jM)e4FGJ9*ObUJ#gYVi7|xMt0m=AX6zo}H)G z#oZY)`F^XOx-D+Y=-63Dk)WPhPi3Q7y*{6EsTtD(a%5fHl|c{SNHYF1;Lve3=)2Ii zHhhj$-F+$&n>L5|hXNAzuIu&s*2U|3Jw9K&E?E_}wH!%cqqR_%n_61asJ}IvYe)^P zqWPBzaKDt+LeD+57LQm6339|89I>uf=4)o6?ZUN&=m+rxh~-`pn0A9BRTCLP?Yd#< zM}0EZK9a9wh1rROOoO+sYUv9*209{Ib*MDvrskVX{XFSDuYSeq>bPY zNN~{Wj>zb(FWefk7)&qz`W=qAcywuPlBgP$y@jkhm0im$XkknS$6}SfjrtNb%n8Ghk@f4Efco7vMlgDS)Pwswsyfb{cnPoA z8`fPMK!V)cPQG!uNFY!)c4E)SXp-lcP=g+xi`*|&c5d)?R#175`hL`WwdqHr8kPe1 z0}`fvNHU{mwmAaoRqSJ3>hn2#HYHY}+<#ekaKzR-&0jlT9oORRz4E#|4u=?w6W|XM z*sznVQFuQx36=e9aq#dHTvM)VX9g{|#>gKnJMjA#zQaq)Xn4c=4*UTL@{9P$6nk0G zympK#P%YZ?x#OY@yi62_@VY1C{HLy&?8=qwVA8e}=Yc;UVR+=4CL5Up?3TuqMu`UV z8lJ{E`Zq(OfouM2n$>H5eP5`InAoDZlZZkl!blA>qn=UyG7>z!)tw2MRqzHxdT;C9 z;}dIYTEnzJS6sc;5TAyG?zku73A>iQknB(Rt-IJY-o+h)KTNXonqM3rM6TSw+>x{} zJ~CVQX{a?sWewK0YF4i$APFkF3axw&vCkSPg5>LUB0*LsBAXfSe<^5ir)15;`OWc9 zN2OPejLZ0YdD7zDLoc(X&zrB2JE-B|*U&-1ACMsDej606bR}0_^ohr5hxnA8#A3ir z! z1vZ9giPG+6bOI}Fc97P0(fUv3m4W`os$_?^P%6dSv-cN@X4804;({Wc9g7F0n+o%U+`&E&RPCkFzHzqa@b!Hp4FeD4Ynv+cNm6;80-m(#U}5t*n$<2tT~erT?}He1xt8H6; zryic8FIz(X(({I%Xy^>qA^VDaEm<%x1!wYpVZIGLYAq5BJrkVHH}kA^V08tj@yW=S ztS-Y>#izP_$?7tEa!)mIX?(SqGap8mdl(6@6Pr@sLHxO5XNm>(|7UlVvu0^TjFg3I z+rS@?U_}e0JmH7iLZ1;`N*OA9Df7_7{3)dD;nU`JbdgdFNQqfQ5Ot|sEEzrJHcd^- ztAyXNuJW(rzJ*-Jg#vvx+?u=IPXua$kOA9 zdoHn_HuwV)N@K$q)2No>2}92otEESrsiVEZw_<`QGS7@~+(`@W;`vHcL2e|lD(GLr zvj{je6x2HS3FLvi?M{Ki-C);+DLzt#r?@%i?9MNLMflRn6CqYjap~<^)&0*q69cYpEfF*w%7c%F(hcy&k@orRm2%qh`(T9BN>XD@r|~Ip>}_IEz#kZkm0PS!`tfuMrv_v@H2M;?%y3# zb0bmIWEzi!y78k`xqW)0U= z$BhPR9B;3iuN~7Ct=MWb3{!LWvCj;)gFhgFQ7Vz8eJi%OGF9^($K%l}qT#;emh&fG z+!AM&OJ%n2I+WUCBj&W6=s5JN{v8(5#@_uB68g8cs5wDjm`xcgS z+bTo9DzaD~T3pp|?NSXr)&bY#Rr=jmdjDlEJ?U|2YP8v;AvzWSz>;15U`Y}byx6+ich zaE~i+`7tfn0u!-;M(%1{*=1{N-0~CZ*w>{ZJ;Z{(wq?_{Ppu2pq~7eUYOXp?2A4`8 z;R?N~x%~KRpXsTeb^{pZv9)Bw+fsx4SLp_rF>Ls48{+vBVX@9q)Sl@oi)23?^4YS( z%3D4F$lD4GoC--nTYkst7A8^EqexxKk2J8#OxH^pJmQhVDR7AyP60q}|8>4961y&M-prRxB;4#Fsa3%vVwSSYqRi-LEF2yM22y{cEY#7rSnZ z*?kfTGmEuWL`^L#ndBIVZRcaxRlU(A2{&uPZ%_8gigT7|aba2kpBigUUPipnX(Tjx zH1+Mg95Dr-MJT8}(9lzzSkC_&6A6nS!<`Yml(oJ=gNFlOeq!Txs(O(RaT9z5;15U; zPeOXNQUhGOtr2dCjt<|w!(;&xz2qaF)4tamaXb_Zw)c81b_uQbwoT<%2>Z*<9QXqg zoWlba$HYZ`i2?X8>|lYmfwBmC8C(s~pndNz`bz8+w{3hQW?ZpvM+km=@sPfXggbH~ z1D1N);TCHI?A(Kumh8@&KO)W%UlmcZhpgRL;xm@Nt;kn-Y*?{+fIoQIH+9c}ar4I$ zno&JqH>!RR*y=E1Tb&0K(M)8d78yfxod+d4dOY7l|BvOT49FQjn-C7GHArA3+nRlS z7W+!6FFOBMU&wtdgMZ=|>pkJ+^u%&Q?LD&owwQ;$0DnM2!L(WT@j>1RiDhl*Y$Jl% z$@6>9{Om-dKIaO*-qc!UY@{8trNVa7%?fiA3H2*%ZIZD?oLv0*c(v}@cKx=+t^N(c zMco^;zBzi;5`VuDeFr9kP`v@GN+4)-Nt{k~ZfY3(p^Ul79ss(7-z;ZdKT$;#an9_R z@Pye3yRYrm`0rw$c+Y%=2$=`J%BnwEijfg~8~gzYQf)rV+z4IS`hY{9qkCXyi7wFs z_YQwJWsOD|Pl@6Gb9{k6AVEtQmgjBmD{_2eYKZk-XAED?{Pm^|SsplNN~(oC8}#_x z;wzh{`P-OH_o0~|LV{yJcwm-F?(~F%T*BjM{i2zV72><&Tv;`Q6W$11tPk1u+6Ml! zuh|-z-5dW9GkBV3k+6S93?Bc^qA(_19O1vayu`CMSJw>VO87hnE=#R7)a}aRpV87U zwW`dstzmSz;1n<~T?LxZ-J(H8u3sZ-Uis(g-Jc3xrRFiyyDA6=>fyN7Gi!v1ss3BLl-=V=Z);XH8+Y6IWz`efHsvLuBA#mVPSbU8B)@;Pk- zEw8_UhBijo1LH0<^S6-@&~5wPGw8f5Qr8tkgg9!}WvfgQ0)(X^rP^{aD?x zTffn+{cgIhGD~#d%K0B&ck7Kl@CPJ3)2?1`6_h717w)xxELwO*FX%wy3%9DLU{S2U zy;sc&`Ht1s%(~I18t!ek!KzgcE*F{w{(uDLNc^kTw}RFsXMvW1!hyHsv}`e#JN(C9 zP2Gi68z1qk5|5(`&talYvYXzcCtpTFH91Gl7Wj?m^HtYtCC)N-cr9iRPnzvkEb{?k zi=T^@kd@N+E3EIqAEs*R;;-ySV5hFm{p@Mrp9X9QF)9xihTun4SlLop^vuXr;oZYF zc)GdkdD;N@0}>X8m#ok>+8?*;vwHRuwf6NcmAR>_HFAIK8|~Mm7KXoy9j2OC{hJqt z$=ISQV<4}fm~gtrHHsa0b+5vD^)NrDO?)XVh!9!fn6xjQIRU; z7TdD^NqHv`{W@`j&mloROKiYQvRqy1X`DBM^Zq3-JP7v3C5M?R21U(c0@t!{6v+Z# zdF`_OJqOdw4GT zNN1ymodx^>3F56H!=|@8ruJ$NUE`l}N7vU>Z};XrHG_uk)ep=1IXp7shJ*C*oK%Y* zTx@KYm0mUWGpc)$;NuSVj2qjF7VD(3RVw)f{4H(X_5Q8RaJuqbHmXc$*mT`2pKX8&alVb$*$$4I_cQlgg4vSW z1cPRuoqbq7Rk2oQk>KfYuy@-JN*#^kMCVYwbI>3HMlh~ZC+zGs=c&dekqtKEPbW^s z)Kf-O4Z```H}pC1he}4&gVE2O>;cMoaA;THLF02hJ>GDCyL!!|4@C{M%Ka1j$?$cg z?2qnW))pBJF>0hw{nMV`$Fsc{y);*1-^+Y{o_89q)FPQZ3+d_5^&NMNTFiNMGIC<8?0$5 zH$}G~tP?Kol#7OongVKype>>n#I+#17DX+HZguG{UaEB$cZ;H?2)kT&BcN25OGRMP zYu?{8NfrI?`+wih{{&9YT+V#w%rj@soO#Z3p5t>`Y71Hq3u9T$+JY~S^)$BPdjt9h zGoD2}z5l_QASY!BCz5P}B;dM*qxjZEUw*{0Y_L0hP>jqr_QxEAN!IK}qQRYITfT$h}n( z+V1Sp(0qz$c~Wg}N)}jAcYWin;9mkC{)w$Kt1yPMW}{&vM)0$&mzH3jDU7GgM7b0K zO|Tje#NZMZ{CdgP(yJ2m4npr0lfKkJVLn!|#lx}g1-(L%iiS*g`IM%>lJ z?0r*N5c&j^(pWbkMUome*huX8vpya7cVH!x6>%tTFV7xWBWH!wqzFV75BlT z4LrxFZ7llMWTNQ78+bOx)vBW_p??5Da0ERz*a=?WG8k6rS*}rmZF1E*mNha!y-(yz zjVutNab89;-n_YeVBzRq zBED)80u_~1M+g{s=f`-Ln3i-a`R52J6T_rkTn+*~2beDmDe$@D5!4ZX+m7PdTY&qI zzFlfbj_cWrF?G{>GA-@OZ9T>!(Sn(POK9{&JqY@uSj;0RdD@l2o)~r6$><%S0ZoTM zV}ocOH(1PD&F~tKYBlCqB-kThG&}SUAmDw1cQO2kyOXT>GG@6(3#3B&NGg!_%Kd_N zaggc{AO^C}L2l8f3e7>?pmDgj=5FX8`r^5uFF5pb;7K%OCiTHsk~IZix0p-p8MSiK zq*9j???^iK%MfNofmbN3JJNC2E-0Ubpnm`X)?E%%=1H~ESMZzxjZuyfYe9*L|2RYT ze6^P%@*w@#*Ws9wTGBz_9b)MApdD2Uf-_B$=t^j0hDMH)=$RI*)J}!RSFF<$-h)xH zgYcz*v3IXyL~0n`I)>Vv^xiy9S1|-u^3q`RPQHU42947KovKhh4*dt-RE9cAc*uxr z{#zI6tI=znDqOGG>~IKPU6AZ2Eh#8bV>O$xeW`E*`2ji6;!Umf%$L3)Z@GBWq^Lgb zX;c`^0{2EcJab~kVjFlg#uxer5UwcO@wU*QH^9CgU&;ZgLRRD2iaIq8RruagI;;+4OFHjIm_ykU;#ImM*M$= zCmh-e>R-?3oP#;NGN69|A>*MC*;b<5hUVl#=VJ(j%JfBaPMU}Ln;s$9Ip>caK_ojd zYK5H8P(4C6OZ_1SV?UI;?12Z&?#Jk>A3jenD4ij^LE~WakJjlmW53gT46%s^5|dp^ z4YwyG)0-^Lh&cwgv8hwN_*$F*f?#_JZ<$>^^jtW%GH97|g;w0z*kV6C&^lwCf+1bw zGPt#v$+hcPffTEc)aG5sjF6-s1iIgJghQn9N#u{mpte3q+8UMa$57aiAf!eA+rCy|_CR^v;)a1>yKfV?QpidE2%~NQc!j0-Ug;H3Ogg^)>q4xBrJx{MI z&;_4)ZqX>K8{UcCb4BJU!`F4fNZZ zwt0BETS3@{l0u^-Xgpx=C<(IA*Vx*SYPxDYp-S4F@7rhSIz;zQhw1x$AtDbz8BbbhkAhyDQsI=>k`a2UgmH<}jp$_3@M z?kmc-us{^rLYP;sLz&&3nbx7)+zl-*o;Nq?7Xo_sngZw_K!`aY3>4B0(Cu9!D@)Ps zIeCV1PC2C+ut*nX3K$oBQsz%XEqj7e2(Vxh+RPZ|o?@Z;Vb9gMYdeE42jsHtmM-$V za8T`yrS%)Sx|RF8E-TBr9c{NEO~h}~R1iK|z!s8MCjsfJAVIYq-SC5wA3}SAS`cDz zo}#=>wi!0EZ~8XWtxW17&!<}GK-PnRniKB;0si@ly9HPxe}uF|p>ss&Z>#j#Q99-4 za_41bbT{=zHG`1T-L8C!8J1u_t>&2em?KBls8$<9qoYos=O1$mg&b|?anDf+;Ef3V zLn`hj^xUcFo45$yz|lQz`#QT6LpS9bGp%+IeMRp+)!vJt*OJmg{{RA=bM*p@Y(#0P z!1l=OE(|H@9ph6|UY+LttI|OK074|?y=qFbey)%U%2?Sn3*KKxC>O9ZQ1=m;_OGt2 zkbCz-|3FuPXNtACe@sQQZ;2~y3)(SD+P1O+ORa1x^IK?yQzYf+PVq+j zM823u4J}}NhX(0Bl4N#7Q(^YusAPNENwN`nZlRtP5X6Czb`qo$J+4|kUv5K(lHbG7 zD}qtVu#T`+&aMn8dF|AD->v+Zzb$%I^u(>Mr0-+_&&5Fy z=&sxt-TTuuS6_9_@V1KcN2J}QJc}{9^t?PDq85nRiry$iua+i%!*y*7(L#trjc^g# z%npnLfCgV}yU>%Z#Te8Jm^p)wg3#90jnU`$a!7=Cn2X9^J6@3l^dZf2Nbvo&F8YiY zhVXTby}LV@SSwMFC3>^)#@VZ0#l1NC`#^{CAij1Yy)MWja{P~ItuJ6Xpf1B!f0m{= zR#RnZ%Bes*5&DNgXg@qabrAJBYWKzB+UDV^1X~J@+N<6Vl7&XKM~c`al_EX$A%qlb zC-e^>P;Kgjzn~bj#00fxfb5l+%_$2(VXhPJ^v)J~)6tQUmWQIe5^|3DdMWA5eIU@B z&>^J*Zx(nIQ_sD=!;YS@lp?#P(BiO8fbYOQMdvXWE#+pHxc1I5R$;96+Vfx1clT}( zQZVj^bhINvv3OI8l4YD5?`>*X>ZB6s6O4tTvLmA1(F2`MsFAL^w2-bG(qN}tJGk`2g#Qv1 zj;=KxJ;z4)H0T50TKWS==wg z;(G@3Fn25G;K>g92N1fI)e#G+@>HKQ&9bDldXcFFpFp3Q^%^{zMX;4_H#TM?cW>3v7Xf`q2nZT{QK6@4h#?qXq6@~A49^pS z#*#mc!52wecGyrHVZgUccAYB*G=DZ} zvPW*0SIM`gjkM~5wXz4bWo&z!ohJjG@VYS7%oxGS#Hp}l5Mj0Qb+@CeT`^)t zGb#`BK%hA_A4I*^YsExXO<{;<)~{fnh-Gs_zmk+4VjB@+e9~OPK-bTk*a6%^Bz) zK%f#r{Urjvq$lK%Uf0>-7{jhL1QMGQ_ZpkcxyHShP@3u+2k#%;gcer=+2CBl2xemm z^bZ-x?huSJn4%9l&=aN&jGZguPTU#FMQOMkplhW*H|mL7gZc?28|@L+W>8y&s9-#|F1pYLYf}vA3!i;-mDpNep*si!tq3C zoHi819!s-sB#rY4ymgPlQsF3OIXbQzt^I2^G-*1N%f6^<$&L&92N1&W!$HqJ&7Bo$ zm{(%3O1^CvADjdWfo|pVP*8%+fVa0yK`*D4vds2SqYnKzArS6sDV^M{ypOi)5+7+n zW3p@qgs3Oh_@tCH4V&hk2JK$HVBCuP-!rq=8WD5J(v$N7kL}m$u<|@jpGG@JgK`~<1nie zW{*+dtAks{;_F!3GTt5I(}|j3uKQM>NpuwLlZytz8>`B>xtrCDMm@O;1Si96cr%9= zO>i~Kb>zigwGJBTwppCW^GhLI89aw~qm`%$-W2Rse&}G=Xx)URFB7{_Z7E6yO=o?WwPx+ zSdv+rf_4OJx#tXnZ{lS1EIMIjC`p6IHQ!ZV@IxTcn*%9_l{Gz+&xDnJJrmE+GY$O% z2+}{pVd)uxO^;`6A1vUX?g@vfozMq?Mu?M77Dt0=Vo&D4N}aRGFx#*=>6o!8X{+iZ zcPj`lS#;x}`}s0$VAU)keWw#P_pm%Ox*RAY9g_M)Q*CEW!CND&KEvek(%9V>WACAV z0AWx|t)c%Rjkv~@>=x38&!IMG-@rv>8hTulFe3jnTB`zi1xru1Qp@_4cDxhXCU>@a z$POfBn7|gc?^r-HREpMf$}IQ+`f-fAyB^=ayr6sz zA2UUFL;nCmWkGzP6=^=DH1N=rB;vk=4LGvCv0E9BTt$4xz-MYbEGqpLljKjZPV&sn=I7 zalSgUDs|iKG4|uf#HuEXfbqOe5R4F}$sPi8^1v@16RYa;*&Sf& z|F9BAhK`x5*z4nq{HdjD2IJM);DqhqN9D`z_O@UyoEgu7=Ru;^c(dAr{JuVbE-;!5^9 z$zjHNw=>_^q;)$}pLAL*kA1bW79MwKt#|tjY=`~_$m@qm{2 zKanpSbHv%bUY#?MdM#z|n_iC(V^MJ?=pVA^UeNiPVpw9Um##*?^NyLtse+^L68-Bl zX2!-%TcWrBa4h2a`0S5zDui!7$pQTX2)N7DP@l?}Bcu$j6yU4I>k+DS<1og{gh8BT zu+y^WZ08kQPn*YECfeXbr$(3VTSlM7Uig1zplkzW^xFqA5MdSv0BpDIi7M6CCO>oRvxQ!TE2p&)n#GN z*7|HHX~=^v(_}{e`iAR0_OkI-^gg~I)Wwa;W8!eC?VEe-Wf|BCFX=mJ2J-7=Hgao= zwn*n*fS&)kosqKAy^yKBLqe{h$jM@7QJWX~2M}~c)^WyJY8@-$yOM(1=Se+v_zJ1+ z>xMU3*<^j(NArBx)h{B|Is|?ipnm{CMDMX>i6oaUsg-M%XvJJV`E3<;q9Z!Qu04x> z>C|$YG^5-jZ7$y?nQY_yC(n>~@K8fPyt591P%v1?y^Y;sxyF67g>oijYSHs!M{S|& z9u>qmb=cU&1hOz{Nytsa2qc!tvWL>><(A?2Ixvqweds=?yx3*6B_n>JE6J^eb%g`R zpXoBWm-w1yzYQ%rMj>EcKOx;^F;3D4^U;HB9=C4UpMB6jfFL-&SoT=KmBT%XgjPzZ zk@|c;K|M_41>qMDqqJPsQ7v^VLW-#!!)@%A5@VpX>?`yH#zPL3Aly4wuzfZ6)w%j$ zow{8UxEE{R%-yz7$k{e`wN^NkSZsEkTnJ0gfU{uELbFAhYsArz{R!wFC=a4GhnPUifiMz$iEL<>6?cy8(Y`6Ipr- zzNHgZor7h0QQ7a%?qG+|=Lz2;m;-&3aX9KM+^Yyd27!3+if4~MV4S2AvSyIA1Zyh} zG0{Gayce;cR+T^%dXngD+9D=EN2<;y4E+NL`OCbw(VkvEd&H($bYds5^Z;9vDz0im zUZk?HG89*$3Dn7>9FixJ7w8{ApwdG}QC>8~O=JOqeh+NJI!3@T%rCUcn4z(5amD?( z9d=6g0S6M%jP4vckutzCP#5SIdQA7FVt- zWh{Gru=jNNEU$jz3$k|f{xo(d)tV)ly>w@xe*i&SBIX6x;JY9y3(Ajrhw*%bm0yPo zEM~+Tq5VU7fXu4WoN1e(L&w-&5&DPgAjxRm7-~qumlm~F&MOzt8yo3U$XC7G!LnzF zE~vr27_>HpAwhgeWp%!~5c&rY*hq7LY@)6cHM7M9`3tFjo6u1UjfW68uM~EP3(hO9 zF4C$wyJ+4O((X0kn=CdU;+uC35uU`C8CqT10DOp}#dxaS2%kSY7KfF0RT~%d#yMIg z`vM`?KBr6ZLDLzTH->b&&_96i71F+jw7NjBOvnv-x)eENj;1oHHl_HQZkQmGZBL}V z_CtFRc`&MZ=!)hc6?ve&?XVrBqp8*jHKZ3|e}H zMb=~JQ_FQg|KN<1%FEWv>m{3^Dk(N#!?=og+wV~q*xOmqH_wEYW*_%WvVQg=IeUyA zx&a37Z{K3}*>h-5E(hW5cH!nL2Wn+MTA~R7XBFw2eT&G#z*pv%{qU+~Qh8c@)zCA% zf3d)JPk<&2y=BlpfM9&&FZu(Cf>`aujGq$hk;_&#|A`iC5}qXe1{=|*Ro>&a)r!*0fQorZs8W6FzSHeK++a( z)xwV?%y16-EGj9i=3^;t3iJ;kG?r88F`?!Cl4rRrm0iFbG{FU)GABG^dCCOQC^h~# zn`95JBFQRj!gav@n|wdkf{-0FAVXO7y_xvQXPEDMC{3oyPfSJg0W3Ehr2dA|-i~KOW>Z z-XwdpH46$`C0z~l4Sn>r-YEhN^K+PA3#`8m{c@KJg58)W8)IsMFv4if8<8%0hEzvoi1t4Bee9q^EN48 z`sPf|Xn`HUF&l98Cr}cgf52Kd!V>JE5>p^&kD4mG-D-ZPM17Ge#>QZ%|P0^0;R>gaGH8Qr>XZ7^(x*e zF4<_EF=xvhHY6^1YsFr9I3ziN&W+jewmd?m$~>w-B3;YH7E4*al&T)9fo=6UGxf6Gl6V#w=FUUsO(nEb6Gm z3(EUlKaE<{_@RFQ;jPL(lk@%dO5^oTcuj~oT2`suLiW`{Hw!{`{t$csL`E<=DtkvT zI{fg+n@+moF=Nnw;kbag4XA!v4x9J3#`+bcMNP!G<&g4RJDyqeu=i~VDIa!G&1Qqw z9pjv9Y%KjTd=o88{+j0AkX%O)FP8%5sfdKv~!PJ%U1inSikwxWy(*ZapT z8#@QSlXhx$D9Vs9c_ZHif(75imKIBSJhY<@_+Czeg{jlxm(MDdVU&N^YQ|xYqKxY{ zU|cd?U;pl0OTC}cLjM4QPCdejBbJ6+&qQ?5n+i$W7gp}*(qVi;SBGg*mK<9aJJ6Iy zUK&~3lcAJs{Rs`e^)kl_%x0x+Q$vDS-w|7j}p0hs|#J2oZ zeiC`oV%|j|a0hwp%DheT%g{eu5B-DuSi$)gb&! z5{KE4`%hvSi)2I4275O6R>JI$G%w6l5MZ|n&Ew^k0YR4CFTh45w49O?+zTc29*oey zCuK{gJ{VWL8J1I5I)z|RJ}lYgAnXd!-bI;Q4?UI zA>$c9FT~eq_cuX0-?za3LG(<}Kiq&C21ga(EBAzPO|V+N^{FacEnnl*Uck1;0~$rSmuExXHQSwnr2E!sh*Pq!2#2VC+Nxj;%R9#AISFu=2W3HmGW z_B<>}h0s5MV3AUn+vQTchjuT~+gQ+`=CGvu3ZAmwy!A?&EbtcL-V1>>kg*AO6LYXL zx}qD;mS80;_now`%;FTtry%M;=pT@}F5~Xm z7FYv2M_ZOnlSH52=tuQPn#4XBXTP*#p2L2xkX!44CJj0i(sQBRUu{s|P|!bsK$h@i zHIs{;H+tKy!#5MnDsI4>;$_eoYf(q`?Sea5wIv;ypOm2l(#)rMOdLmdF5arQ>IOYJ zIwde#o^2T`WmH~c(PxD3`p>}8ShiRymY^qBorzKOS7Rd};UwDeygpZ^rml__|xZZj}q$)*;qn+q&f%AFWSZg>Td4#jBcptD%Rf0ihUQ zE~-tx>d#F?|HL^(32kF#m;;{Xa=CmgGIAu|Z7O;=qX5<@Y*5sYxwq-F(%+)Jf{QbogJ}P?1UfddY2s@e@N?Y9*;LK zMrG5x8FR-KV`e*epGj)Ls4w>cc(w~GKJw+kyXezfbynHZ zWo%5vyiJ`b<>m%0bOgo{X8QzRU>l(W*$cuJ-0^03ZE?!5<06lO{q! zL<~IjQ;mgjrm!Z~bqkqxv{T^23YNssKY+l7V5ST(XM>5>t}P}=-p7_>Ed_mY4%7*L zj3S_Rzj2B%ge-(}t!I_LU|!;c-h8YA)kg260-pi3L=)y~fo+A& zX!YJk9@5yb{*&QfO>G@Q{{X`G(B?Bc=2gx7UU{!eAN*d?U@vBF!20HH0XEGJob%}} zVHmqE0pDVFm)jAxKSm`(X z2H!eOhIxmyJ9Rs#^)Rs$ZHiUY!nLf*!;pVi4%kauEGwOuLsnR##UKc}U~fvJL|)%qYKu#-_ks07 zDUDx2j;FWuAGAf(~=)KwbHKa;vrm(@3ry3&+o4y40+ zpJn0OX=L30I64bQ4-44S$3YI8K(JdY9cSV9nK(3JL0FQyGJnY;=|0cEAW1MKknCQw z2$LG%ON@<#{m%9E5&NBVwh{UV5JD^7U6EDxSHrO+ea%^XZ&5qi(2bES*2suAnpsx% z;7kbQ@f234sK>q0R*>mtdM^x`B%p8cC6wcr(GMor`XPm}3$;2*#Q?V^NWF1x7t6qS zTB}{6y{};}dROq?bc3MD>cGq*!_od1A?v`Ptp_5YT==%$f@-=z^96unlz2{ULY@6AJ~Lt!U}Ub z#`7*^85&TuMPWtmg8l&ns`Ho@Ho7k!!ZoU2&DMUlmqhwn?q_=$dA?V*6M{`tTWToI zO*AcN&$@(6*gt@f;nFUpGi-2)>N)5P8l2&7vUvEBtWl-2wo|7PgcZr@8;~F9A8z?6 z4^-#iyZ3sUEjB%9v@u+Fekb&2KlTE^8b$2|IH!#5M8|L0l9kXufWYJ`;UiVwuT4Lz zyxS4c>612p$ehZP65Ip@F}m{1GDnd$sSlVm#gTM2L;m#KL|Zv$jZK%xFb& zA+JkDmcmd2vsNwY=&P2kS1m*T0751-S)-yUoqE(bST-O`_S|>>QqR1y`>}lc{6+IU z%jS#M-*dw~Ib+3w2g(-B6Gx4Q&t!~WV57$6ig(QSijFbjD2HR5m~+GUoYCV)IYhhr zS2v9rKRUZ$x@*dwQ92#M zs($@YqH2FZh{qo9fWbc_ny}5D(f?=L`e0jVcsvNle?jPvJ;9NEewNyTZBq*qf3__X z+uH6lf?&zVI}2;{qc|I(Y4*=kJFu|?~a>@jxhak{!S zY%^jLdz_6^*DG1_zlb1#U}o#sSfn$z(D{{$VWz|Cxgc0tuPD0S#V11kr)M9t6EXgSt2JgZ=>o z6y_fTZTIifuuZpUS@6l3EN1*#)_hUVLM3-G@wJ=SpNp9qq5$N9ycG&Kmqr6;vpStF z21WSVRkT0Mx}PI?gxR_0BXao+>n6x$(r+nVtEPkg0R&3jdsJ_HlbWiE9Z`>7$2LT1 zz59D(=pR66S5rOpKPdaK-2o{k<7f+{*bh`ACVQKK^*r`0%fdSJ4-T#{U@74QX^}gzT#k(ET1mk(xhwv4`*IQ8wMdK>Ohpy<9ve<79%``@D2hKQ0!y$dSk2+ z&awCUKk?Hq;D`PJgnt}4{_m4m|GJg7{^$Jnmz0if)PnG3$#g6RwLP_nVp$xEM`=q$ zNlRvZS$~w%fyjgC7T91kxQDV4D8bib%LG=!?qv6{h4>73oITHWun*8hdx3=?HG!o; zc6!2H;m&XeoTP>D&YA^+6220?9KIC(A$&3XeYh=rA$&f3E_^oppYV6#Z^NzOGvRN- zUx!bJPlZp0zX}J#{|^5vd?I`t|40rsAoTv;T9wa|XF5;5jW`DJ9}u_CaGtD3d=7Eu zZ_qc+*r{33IL<>g?LiR0I7PmHC>|BvyC53JN4Ft$aqp<}?WBW<_1A_4I4(Ca-L8o;w8qDOvR)sJz0q{gKY-8*IiQ9+1y8Lhle(R!vS$b>;}AEMM(%%a9(v<> z%ktSxBPX1MFV__4A3*rsbrVjJ4Kc3&Wcf(7<$0_YM} z=_vFMAUuby$nmk9>vXCVKL&-QDK8R)eutbVn{YJcu^I6g#9N^Sr1knzK@0uEMEDOo z=sfv8&PCV#yO-(fgdOpgN7jAOc-73v`fMwne(cYT$^-fb5GZEz0#}4y-LHq zsz!ReTI05tR0>%i^e0^Kqwk;7(ncAqXwm6HXZ;d5oj)E>ITOu}-C`GMZQDA3$Ia z2)gJ%jY)Qt$Mv8<{{RBzY}~avRUVt7?B47DWo&lh zjBrj}7db8t`UlEG^w*4Kti{nb%4zTRGbaUhAQkPcjc(l@jq9TEu4r5z zjdw@mJ<%BY2N2$mt~EvDz0sJ?or^mxBMqLDxWkAcpN>AB3Lyt&R*xD0`iIEYlfSH! zjo6FSC#SBA%KVZ_isMAv?crv}g5soDzYEjqIs}S zfz!IVkyO3c*&7!fiq!n%X@rh0?4?C1k(tovfk1m}u@!lkQ;L|@=SA0NM%Nca*L%-R zo+POpLH_^(`FTNEJW1!KocG4Pse9M|TMYdJ2v;BV-%|Z=`=NiBN@x1{x&PnR+aUGf zxEH;7dtf--i|HVshC7C9SMx$!X&qPfvvuU-XX|*+sq4@`fY5ssB>A&cRI||)^zKKQ z`Pn+kE%LA*gsW3g(Y<<|G&@(XBY!_zhyGz2#$WtmE1tujrE=pexXQTFXe>u#A7Zrq zK%l*q(XBPnxGoy+iN?**_;56CjmEHl03j4zqx=xf5{;eM4!Os*;vP_pto`gq&lL0z zNPYEQJJzW-`B~EcWd-^N98rTn@2sg{LTYirXr0}AU=!XCgRq^_QfnpCPj?AzZ^Y0) z+^#;^Y&h0tVJq#WvO#-A#I$|E|FRwW2N0;;j!#vCF*YvVl#rNYPVUn;rC5#}q*&?d?sakGcAX?*Zb*5f@K{ z-}BwAA7&_b{Py(SFZ|^J>sN2yw4h|>qI_6bW!`~1czMcWv*b(D#w9{O3?`@wBuqAKY(!U z^=}_Pzq|A9E88bM==t;K53jua<`YYP{e0icugdR0TlkUWyyjGM`ME!RaIo;HBfpur z^k16}*0k0auU+`w@QMYdGDs=FV>mA)$1yH+G;2G-W_sk;twzN z%x?0pi+SUg_ib*k?)!hw{pg_w{xG+|A*Owu*uD5e=pR5RsYtPm9eUkgzxv>%vHL5> zjr`TK7w=r%b=!(v&1c>nG3vQ*YMW|OTYmrO%lA%rWcuqjJ{JGU`mDcyxiHUO{@Tg+ zp?{c;($fFIH*P$3*SyKg2d5m{7-w4KKD}r5i}y8NaJ{;>Zrt{q8@_z<;;2KeCuiLE z=cDU|d2b!q8Z6p

    $haq1;{{X@tK6(1mx3^i$hwiUzyT5qptjyf+fA#le)1J@x zbk(-4t+ty_{Pwu#@r1QW)xm;Qdzb9of4DkEFDQMiFaPBpym8ip(EetiY{P)k&BMmO zGc5N=-~aq^#OU<*4tRG|8D1Oxr)$&mHue+u6+IE&>6^OZm1ne}8UEM-X-DVh{PS;X z_5`4R0O7Bz>$4u3nLPN@m0flJSUf)aZ?A;boZo!qsc^zS8vpgyhUwB&jrQ{$cRhS2 zwPDVrZ_aLc=GJR|SLN(@;zGZ-{{#KQodSD$UuS&&*+2f~p6*+}%lPmP<@9e~xch;> zd<AELB?}hKd?f#}=CLXAtZA28#<UwxKKuHzId=@d#b|o&_QLtU`!)0rAUNzdY>P{} zt|2it^ZJ1={QIWQhE6Vf^t10?>@#rC?@O1D8F~G+$KT$4{_f80S00@7XV1f*-@fw1 z&A(pK_xV>ZzXMy8RUkk=knNOCT~prtr*j8Cc&hL>N0v_9^skzO^{s1*-&^?c@F`!P z>;L%2TmE_PoynWleetbXr|+q#ZSzeS^6o^mANGLo(hswH{7o_IZh6D@zSsS|ZtlMy z`sfc26wDPJU#E2^ez>@z#F8>}>|d|@;H$AORqh`-?%7}6d9iEtirboZy^Aq}mp~Xb z;+yB1YEx@|-}3UK6Yib<$c?YZKeqmpzh^D{(w_HP`THmP4|?OlV>iybYx(4q!5fd6 z;@pe&oPKe3<9)6RdtZhA;Vx(o>vFb#dBepg4~=@#b>EDme-_riHE-*IqTu1(yE=X_ zd@<ycKU{kHwr|ar`wz8M7T-T>X>R7PzF+qD=cj#|v27Lf4<NK|z1jBL6Q1J<k0-4S zR<9~pvUmT^>cjdN1(U@5<>dwUyxCqB7_eb;>G)y8-Z_%{pS~mhm_GWzdpo>_s?o1O z{{X_Zf67bmw{f5NMA6RhRNpHrw9m{4#ro3*%s=|ioHc(7>{<QStooS`4NhM9X<gUi ze`JqGU8?@*9zg#90@aIJ1bP?JkM{I#qtvu6ES<mP)}>2tM@P#2_eHl+`aCA0{l52U z^u%nTbfiT?ZHwjYZ%5V_VV#y!nj`B?SXcW{-h=WH%g{g2mr;L9nsu<4o;lP$d_;D{ z&VcqN3}GxE{XFxt@MgsF<zGkEX`4nDZ|c+Ef*!FN5MY40h>kG-?1xVPY@_X@jHj4s z%zaSX3Km*Kpl#4UfYAG+t-VsBZNX=C>IgGhR#W*I`?vFpZsvT9HsK{f1T(%8ul_li zzk)G8`!M|IBb1`|N2z@GN7C+z#v#PeKST++-pF2GG~N@9L(w>QNpwHO_+K53p??6O zF1p5I;skxX#$eJK6Le^xXte^pNOd}W|G`jb(GSP^)ddoc1wZH?K%k|_k1@}a#mw^z z0^*ocO)Tb9g!h`*+IJCNLfD9~4q-(TyS1tbSHbYzf9n#gl_7W#W*|&MC_>0b7>AI9 zkcD7tV$!wxp9Sb2Kv1{Z^=#@;1RKIN2v!6*u%3!8nyLK}QV{wem=O{YObBs$<iQ8R zh<H8xCO7@}u(*kxxEld>bSGR0HzJHi7=e&MSFsy}69ci<_kRYw#dSKZ7Ft%i4?kZc zaaQ)F@<4hZYLWQiyw<4+c3)(By0+thBy6LgjeqeTgD_lY(+$uiLL=U({a)Lu-KX8D zU8h~BEzv^%FcVL=Hc@+Cb5<j0`)fyNo!UFK3$%}FH)(fhKhS=O^dDe(ffkQ~-k`Qo zek%M71Q~=FV|?OITWKj$iYf2^Uq9#{K;Zd7|G-VKLPNsygZ_b=u!)-x;3k-6@yfx? zO<2QCAe{rx5BdjgLhfwdJS^uX)N>Qgaue*o=9R-dZbB_L;W#(Jau2T@rgIajxe5EZ z2}X%m4imTues041+=LJ}f%K3(Kj<I03A?xnt=xo6Xcl>X&_8e!wsI2=a}!da<>mQ7 z|G-UH&rN`RIL}3(RjixGOK@@%R&f*da1$<Z6CCq-CAo;3P{&O;%}o&R<(0!MZUW6J z#`A;zftx@c?|FXEKX4N&xd~(i!SjRuLFOgoaT9#pgx%bPHf};TYz%mQ&_8e!wsR9O z!k_0N@XoR>;3brD6E<-Z0^9`CLS8w*b35m~Si?<d;wE%)6LM8e_5WQIuz%nt)N>Qg zaue)}dCS8*ZbB_L;W#(Jav!f8rgIajxe5EZ3C3uD$p7`pfc*nE!Ou;2pPNAaK|DX$ zKScYA{;w41AGis-xCyP?gv@AP+5cS*5;tKhH{mchA!R9ViJHnySkFyp<|gQt@yfx; zO<2WE*uzb@#7%H4=au9lZbBV5;WRgaMgj2rVE@2PsNp6Y<R+LO<ds7SH=&Z7u$P;_ z9^#cl9yh_qP1wy%XyYbi`*<Y@pQ${LCcgc*a}$Ex1Zz3(Rg`iQHgOXI+yv7KUOBkA z32V3sP27YoZbI%#UP&(JCe(8i&T<p%t9a!=<1Bc77=OV{IL=M5Jj{C))42&WvW@45 z@fX|#<0HIzn7~c&a}(a@CWN>NV;<#|q?enpi<{8;zYx3)m~(3K8`=jvahRuOQP?5- zwR@8q)V29x^5#WWpqc)Ne>qCMSO;%fB|>1nhXr5pz&or<k}#*Qt5zby<ghUGPuhFc z<K5v`Jp#5(!02oVgj%@{sUk;E+8e{(M)LJWRCCE<-Ta@?&KqA<DfTeYF#ZCB4ka`E zin>(<n;6#c)l|xDFEJ6stMiBP7nBF-yfKnHO?bXa=;?`&I(q&)2|mR#{X^|mhZEy3 zD#-U^Wmwk7Bno4U*;kH*mBqLUn#nZY<`+9LR}*>v2{rV=4BZB6_y+wT;RZW=mwt!Y zT?Sz6!&DGN`1ys;X80|ICrvRpXNa}!%u38+8xt61wPD^LL2OmVw2PSAtzEgH2mbXz z6cx<h?DoRr@p=##{OS&B3B%P-hw@raB77Pqx;vDYdSp2>O%PezbKUpJvDmU1TWr?2 zagMag0?n6kV`>XDM=<_^2uQWI+uL}Fz8v9c=~<Z0d*P>PQb>U3q%rNulPoq_V&b>T z#df=-ll`LTXG8VrVVgJz_7AJ!A>ZGMIX20wSZony>gy&CVg@W_b$_#3``Ncjdx+*? zO&M1SPvX@_;MLy)>v~)T`QgL(3lPYYHM}{BU&(Dsa;M}YU)!uLP4z<U#1a06ZSWyA zRrROjWQjJT)89}Fe|fiI3&vllgqRX|fQ2-_Ri0>P@L?L60h-QdZZMPxHbb$^qY=$s zkB7DWql>jQcam4m7ct`)#$SLya$SYgUfe;WRWk(hXH8ClXZPeThYw!mTn?|pXUAVA zK5Q!z-Y(y0V29un*HKvzI)?EVM8GrR@YSg)okk~fcw^u@TS)Jtt9H31L8LNSiBi4@ zA>0uACKIL4?Gnq_TIi54{^Bu#l@$s*2Lz895)bv6XuWGL{P79HM#!%@Z*+~2`pU-) znnR=I8(pKNc=>K)Jht3z>?;Y5c$63cC2A1}>GqRf&Mg#1i=t-4)<Vq=?aqtG-~*rS zeu{jJ(agt#Z7f|Y#!PI74=bBhi#f$FhqBZd<1aw?9-hQ7!7@@?ORSS@J`MaHYO_)U zx~yvgF<BWcR9*&jW&~wVireb=NY<29Sw50j+jX5mjD<N30z8mQ{aZ$fLHNLWxhFYD zM+lv)?b<Fu6uq(PdOJMu-U=VGF}8S=@xriN=8?}RCs03#YjAGlnC=DL69u^*0RN%3 z9x*PgSi&Ow8HF*60+xHIRKTO)kp9HXbn5lk1N{RCE!`MCn&@!Rvw8VgmQ~myjBPBy zn5Uyi85D5b!S2R_Z}8L(?jgU`et6$a?TNKjX<0hPUx1*&OrPJvUpQ@phcA@QHf3Ks zJQTaDv=yELInGret(KEr6_Q{p(p7j?%j;aLr2=fp$K5;#0zLm!2epyMcX{RH7}?=l zTQ9)>p~k+nh1tZii%Nd`gLqOh;XkhoUSdT@{t6?!_$@8Q_=~jyTzE|LuodYGEVhfv zzRs@}+<@6u7Zqu$9lk_s`1-g(!u6Pwa-$(IzgV-`I*Po{orH(Og@I9E!~Ow;i%NgY z{wJ0RAS7dsoL{?z3}Fkr)ZvV}mb)>p#>Nh2dq=tp_p(C%PDzD-<rIguTDO^I`Kbiq z5Qs4?Ed5>h<<?^B!p<p0_Nv%Qc$I@+ypp1KC8J-fUd!na-UorgqSZbzC%$}B;g$l7 zzW^Z?>E4y*6vi#_<4O8KiGe@(hk|<bn9p#GF;L+f?{+#?SHeH9nzq6}T;2OY2=)(; zLk{o@>GyqKHoCZ?zzFY=??`PPGp;ta^EzBXM@O#jMk~DNVO~{>clZ<`<3`W0iQ3Ps zqm4IdwqX1P2<Mdgj$9n^&(J7!o=avE#52m?9@cgV^=rFwsMBCgZlR@0ER75hL#}e# zn(tVKQthKWV0H<cm5I77XW(;Oz%1!v*(gZ$fl!P!B42MPak2m(w=_cud74aYq5E)A zp_#9DgV3Aqo{(U@F`Dk59g&$_sI)snkrGe!kAFDktPE6OMoyjjgkbyy2uCneZy0ke zQOVM}D=;4!d})?P{Q3HEw4<S_o;{m5sV{u)4u_x0A>G0becem&%KCW^#$P;vXLF~1 zhuu1N0nJf>c{5N3sMKVKXa)<>8e8uGnVvd-!#T_o%Gw?dX&_;Z>Q5N<4<JPL!t-Z~ z9(zLVtnEJaP4OSh_(8SFSmch<EJoV;1~cZl?~A-t)}K{0@D;orTk#&s(Wl!7ol&;; zloiI*%_%#pJkeuEe$R&=%{b<=TNf0@>^P^igFPr@ROcHcVjTPsV*CYN1?EV>OqsZP z@;s`w30|6yRq(R5k;ti5mDm)>ilj=j0~meeClqg$K#U#s50$tVm|e<<qryrq(rMHq z#zl|7I~?n};tpkX_=@s)H@x|INa81O2Z)IA7a*9B8^Nc~N<5&6&Y}iCW?F;6pl7J> z{sJG5F>1ad_b(CbNSzjW>umzT+>kI)XSLvM$+C@sW0iO7?l#5y{VUymooMzOgGVcc z%+uO*r>QdCb<|%}S+PtI&7e3?r@;RM2;K(sWDVxMYP*YOJ2rZS%zi<Z@!4H#3ut~* zZ=>DH+U`;Px*FVLy$tV1JhQeq+$B5ig{caqx~)In+<5!L1|SdDrbXFfBdF}@Y{`CI zx~}Mqa;jSs#IbE(v<vEdsnk+1qrQay2N0fzSK_KJ9ct)3SX$GC8IM~8cw$9P)!c>} zM0kbwp~lkKM+OELx62zmDH(%QFX-_907CxCJ-(2Vf@g7EJI%DgY_x9b5ytv_DH$md z59=%H3N9XJLyXbA-Q7v>pDcRe{{aNNhsQP)Tsjt89FnJcd}u%DTlUD*hGLk5CXDA` z4`!a+gPA88qxJ;V%Jc9>bciI$E)cx%8fluuGPAv5%uyZZw%DwWUD6rF)opZ7@U$y) z+u2AxN_<w?75Lv|;#sA>#~Zz)@c*zb@?6kt*N%ohC2Q-cEn*EMxl?leSQ6k%{G(26 z%YZf4PMt%romE;eFTAnXm}ANzZ=%aV(C%Ze-)h;sQrIHOBdiyd5j`>L^GI!&tO}BO z-;$IJ$y@5`Gw~zKy2_J&OKDItuBi2fQL5`f=!4qRXiJzFQqsF4?Wqe&V^3UBP<DHY zWld!EA6KOmX<>zxe|MQ1NggB%_<sOlPkiK^)#IS|r{30YV!o?%)@pr<dt+k3l6{t9 zAI+JdSyJFL(To<}0^gIqjmC}a1;YzT@IUz^ytZJg#@Cdw#pN7@nSp${NJsHLpAOrq z;D#7JM7=1TX#E|=d8tM8OasH5RN89zp9I0+*6h^oU>k&ut}0EHwi)m0PHl~5b6C-J zJp-A;;|wzv75m6Hc%`3-Xjk5rk}=bzn|J^t{%S!uP+8z=Mp%bEz1J6N7((-mu25TM zOY2uKv3{vAOvn}|34yMHzAcWGxh}^tdix&-0VM}*g!?+@!sq-gwr`icwW1b&N#9zU zvtpbpXKAR>u~OwM6X2hiS`#xm(b`tik(YkUdbH7z`mGf@^{BU2IIcPxd6)f=MX?ko z!#lQ=vl7f@|2z|E9Xi#gdpZczPONW8oRp}Ry5DyuxX&ujb|<)FOE59^nA+9f!+*5s z>A-y58f%7?*{D=L86G9JO7v`2gYZfRJdxx6Qn@^V775j&m?w9VjQTJ!kdk3kpREZi z^uang=oIv^iFJ7L9_%vaT{#5(0|@oeCx%K0W)sBBegZs~YaZ1g|C)z1j|!RTh|QD8 z=dOU68nl@A`Ni&pBKN9V7yLiqDED%Ch3JwokG1fq%_Te}t9L+N+MD_<_*<tMg=#e_ z3-oMKi=FNO>>ogASMKVB4}8qkCD^qmXnVVo3cs-P;UI|WEgJV~6wqR`=)$X8|LMmD z8m36Y0^wQ34+30^={4FIq>23e*cCRbLuhG2D*QA|#5Rrjr*x{H1UNH*{|6Al5jP3& zk`PWy?u(f?!Wzs8tHl^a)W-=l9M+ylV~z*I#e=#9r@}J+W+cG>0|*){4@#iFjD>qT z7gHALxc@&t*gv4m^Za1{z)jf2O=#sNWIn?y2by=2=Lh`*H{mchA*Gu4DyDK1)^ih@ zxe2-rymD}I6IO8(_HYv}aT6RHc_q1sn^4D1IL%EEpXHUqEN(&#H{l>R!MurA4kg@# zN^ZhlZUTFbR}OjH1RpnHH#eb;n~?omUP;Q_gzemfAUDDKJg*!|xe1%N2?1_`sfJe$ zZf?RFZbB0`p^KZ4yO~##%ee{l+=R2-1p5|VIn3iG)N&J!a}z8t@XBF2H=&xFu%DY? z+{!D53ETufH{pG5LWr9%=6Af3^l}q+aT8j(37Nm=m4n1h*vd^f%uPsnkyj2=xe4pJ z3C-LDT`jL1oZN&}+=M;cgiG86$2ML`F5)KCaT88+6U3Kz<uHqzP{U0)$W1W6%qxcy zZbBtDVJ|m<ZReFk9yh_qP1wy%XyYbizrrg?nVYbkn-JtCSYPFpLn$|56E`8iO)$O2 zD+f0>VGTE-iJQ>HO~|d|mE>}6LOnO(EH}ZvgI5moxCyn~gyY-<%T8W7Oy?$4a})M+ z6O6C(%3%UG!Ou;2pPLZkCXCs|D@iXmVHY={m79?H2Cp0>Zo*b>!eMSg%A34$n95C9 z&rN9NCg}daD+ebxVHG!F4>#cwH^EWQE6GLNggS1*X>Nk}7Oxy;aT98|2?x0e=C^s} zP{K{9<R<LpCa^#9${~-N;NvFj<|edp6S8;nN>b(~Z09Bfxe3+=UOAL<6E<-Z0^9`C zpLpfq<|eG+CNyyqy0{6sf993sa&AIBH{mQd!M=xA4)eGPwcLc`+yu)zymFY%O{nH3 z?B^yJ-{qCV1a5+#oA5q2A;e7>^B%7xz1)Od+=NzcLgxFta*((QTe%5`xd|zaymFYz zO<2!OXyzv9KH!yulbf)Lo3MwQaEY7X_>fnUi?|7O+=SEI1hI)%4zsukHQa=Q+ywJS zymBbvCRB10_Hq;0UwGw^$4&5Y6LxbG+PDeXf8~{=%uU$NO$c%mtb2LoP|8i%#7zir z6HFiT%E8S|Si?<d;wE%)6LSB?E6L^DgnDkmS#E;;@4RxD$4#i^CLHG`Sekj|FrAxF z%}v<PO)&1`mBR#Xf}fl4J~tu6O&IeDuOz+Pgk9W(R&GM(r@V5IxCvXi35U4}Df@Zl zFqNCIo}19jP0)SDD+ebxVHG!F4>#cwH^K2auOt_76Y97Lr@0B@7rb(q#Z9Q;CLH7@ zm;=0WDB&hlaufD)6Ictc9P+pcK5oKpZbBP3A^QNYBxP>Gc5XtDn_&HtR}Q7zgiYLp z05`#OkXH_FZo(RFLK8Qki<^*ph*y%!xe4{$gtOcP`#*T)Fpry1%S|}WO|blvR}Ry; z3Dw+${oDlOVO}{*;3oLF3GZ_gLfnKgM|dUa<tFUnCbV)BGLQ1gLE<KC<t7~FCZrtW zmBUnS!g_8(GdDqZoL3G`Zo(>V!X9qIC2oS_1g|6)aTDse38%RU;=g$1FpHZ|!%aBI zO)&qPR}LlIgi3D0UTy+rE8%fh%rO52H^IkE*v(C7<0fQ(#Vbjfo3Ndm5acFUPx8v4 zl$)@Ln-Jh8m`?G^!Ocxr!%b-7CUkKVa!>P0ayd7lo||x%n_&N%R}S;I3ANmW<J<(x zH@tF~&P}N1ChX@X7|-y^VFEY7&rNurn-JnAjA`YSq?enpi<{8OP00L~R}K<4VJkP` zFgGFPJ6<_V<tD7>CNy&sbpPR%gOi)Eikq;9n{bJn;5f@G$wl0RI&Q*gZi0A@R}Qnd z2{qh=gWLr3d0sh`a1$!I346H->;kVG^0)~;Zo+PELK`<ByNy?pGB;s6HzCMPuzt@g zhf;3BCT>E2n_#-gD+f0>VGTE-iJQ>HP00O$SCY%Q3H98Bv)lyxC0;qq<0jN{6OMBe zESGuZFrAxF%}v<PO)y^JmBR#Xf}fl4J~tu6O&Fu_O47?s*u_m~<tAi?c;z5*6Si^_ z4s#Py+Ii(Lm7B1ho6yWn&~@<2!O2Zn#ZB15O}NBOaCGuYauGM7j+=0rn;>@a%3&5a zp@y4qkeguc=9NPUH=&Z7u$P;_dU)lK$4&5Y6LxbG+PDeXVLnNknEVSu9%E)5^EQld z>unVeeDr|uNRhFK2@eX7Xwo;hga?Nf#ry6y-p%5@x{N2irVQ7EVutpCw9E+)WM-~; z(44vVL0G4NFnq`)Z_EnE&<2+{HfHJC6^o6F*;>TUx#+KM=vXy2M&nno7PB(jrCX+3 zX~it_J`iZxIfS;YS&`v-Z0TbwUdLbUN`GdCOS{bIt9BW^MxT&wR%2Z{t$Q)Iy~%HY zh0Jac{8$o-bfSBi_ckY%wMG60CK~;$Ew0m#lwAu2=DiKGwl}c0-(ZWsA+E?Gex%&k z5nGhU+Cb1??S>9x(KU!icNmJSh_CC=7ikfX=<qjg9?n?)5XSCAn2j(F!Qb$qvZ34G zn8&h{k%xwu;+Ud1@k3>DSP*qZevMIbOa8{)%LVq<JeUEQ4eI$f^w9Y!?Lef>Rnz7% z8H6T%<cK{u;@bOqkI=bUo4-d}#6-7L2_Et>k+JuY#^3O<a;WEX<w!`2tJn^LQPLs@ zEy{(EzmZZDf#Pov(nXtIY*y~-`cUzzB%>tSH0}?Tx$XYO{j&r%Z?OPL28rN?jAUky z3FzI^9R&-R?L*~<kgiw<Nqng6!qqZ16{)Lg7~6nA64i!STPn_&$E<yH%-j%LBH2Xi zhsyYNCN{ZhB~c2C8b@%Am@ZnK4o%UA%H8eeMv{m3c9d!{uBgdXDaB5V!&Q`mz{J%| za4<bf6z!X*hQ8Dn>57e3v%@%E`xm;4bY$=mfj#g5mTL_R60)&$mXX+G%FSb&KoD&C z5~cL|BKKYUV+vyvZLgduFx(-O5w}O<cG|3t50!6m1zp&l#{wYu8$MTVfm|y+T3mUH za%XgJ!T^$clky5A*VC{FcZF3q`xcfgoZ>Px>6-=|OFUJY$4q^Z2S@Il8$Cv=-*@k1 zZF;_;_Ik~4i;{AdRxwX$p4H<KHXwbHZ;ohX!=CUk(PnM-%y7>rV!qh&Jmv;rX31p3 zgGo!Q>kHpvPZ!=*<j-OD%)sqa1pA}Dw1CFGq-BbmU1tgi*DY#smQR}GG&qx1vz?_A zCkc)`wg!anJhjVo=@Z@VNzI;Oq-B9(_jT6fU;&ozY%zE>!*285;&%F&9U}(q0+_`u zx43Vb((Jj#oyVF$sPv34@)jCP$6EJzq(W(#E|}-mq*r=wbT=c<ql)ywM9ZIi4<ets zk=Gp-9MuI^zHBZZIi<<al$6K1KnO{r-T88=D_^R>-wH|C@=n?M!em!R+2eAu>uJ~H zQlXrKy~5^rm&NKSG`h?#!OGG#;@_1#mYbqu+K$1Koi}@ZO~xi>cX_>DtKeh7te|no z4wv8+P{!*0%qECmD2uurR==ad7aJQZRCtqYf;W#X2cds)nJ!tHCTV_ewvAe`aseB` zT9_@_Wm{I^%W_qCgFeA#bOpT!l#A^G?kKD2X>9tHz!tfvJk*1*eUZSN)dse25Mvbx zuOMtj_#VN`3~HIAXS8yT(d+gaml)@GZ`*}3il@(($IgPl#Ltwnu)ndsA<5mOSh^A? zX+^s?p(w#^8t0Z0+;Jt9lGA1xBU(RDJ_?6zvK*^7y727S^yzub-cQHGK_4pRAwdlO zKfQYmd{ou7?>_U9%p}8P&?rGiIg<n&FeDR*8f>ijBAy8WQocmg&P<YljD%z|lSn|@ zJ3+qeRW7!+#cJDls}>8k=`Fdny$vQxZKz;_;#X<kO>b$Xt?f(u)1G|K`>%b@8BPYG zx9|7vJHPBXd+oLM+H0@9_S$=|ed6!#?K^yBn%FEbyoGo?j&=-Q0dssgTKKw?u|qw! z8YcSvL;my?>E2!FMFThp9-2{O=kBYrdd-;61(P&GMSqG{6v_7->cxyIO=TYVj^{DE zdcFx5v(1d2m9Q>wu=veVXNMarL}$3OV>W)ncXU7w1|87MDw7=W9|qU{irc*wzr{&; zOGOFtC9tSpfkSCy4A@(}6351Xy#?4?Bw?qJ>#7hU!cIf>Z2mUUIt19Fzz?{vUSwU3 zUPOflI1Sz=!r{$nqWP|}Xy*gPsOK*1jEb(Zw$2AmT23+}plnxvRD_3F2M*SqWs&Q> z-km~QNw#6T;B*vLM{9HbIl3w5wdkxI!6_D|hv%%Q*lo{Q5oWHkT^?AH*;N)cxyo8g z*g<gE-Fl+c<`P;*TxGEg@6RJ&h#0feBG&Bch$TBMYS>wtb4`UIQWK5K|2kojgbws9 z44=n_p{Ejd3LHK}j#jYys|1#7g(pS63n|u<<+4i0<#(nm@LDCsm^c1@zYr)3bOr>M zP#2f)iI*_T9IO{|6Goe{T-aH6k4s{WrIvZ#Qj8Jloh;f3%{r?cJ1FmHb?l&VakR4G zrjZg>2@Z~(920TuoB}4z<A}J$gON?*U}W~nOwqkP&*>=Yie4=qZqE`gw8!PACu~yV z-k}FdQ%db6ECvpCa2|>dJwW3)6it=NcF>5FwRWq0W$2Lyi8dd#jCvQBzZYj>CVYMg z`w2Mg_xH=`qgTShq`CpW6tD#L2L=KeD=c*x)t36=rPsuS>`krd)ul@Y{a5-eIahYp z`mNPpsEcQ(VRnyzgA_J%|6c2%HK1RP!&fs8)&<Pj<3DC>4=mXzIb5Bs23LQp$5j@A zr9vjM*AiBgg}K?&FP|G{y;KtGIW6y-6uh+7*1ktGIK^egcuY>3AfsuS#g9D%Ry-qG z`CtqAhcGxedQxlhu<9L`9aDlRhRGK=mks!-H#F`YA>wpezIW0J&Q`BQ9F(Jz7OxfW z5_S|ES|(GyvjJ_LOp#ue+pxYUwOltb_H;30%ZnK6T|iv+c4tT@<mIDmc=<?NekUFW zhYR3vByPi6H7Ku~OqW7c@M5BH&?=db3`j;KGs;fLzZgmBChi|X`sLvM<t3zt+_@&! z^*Mn}0y<rY_K<f#;<qNOlC{R;@&_zZo9DRvJbXr19Xv+hH}(F8u7*sPE9kFtVD<Nd z!;hfrO4JO`Ax#=wR?$>_M!qn0TK-_d;I-6KyUUg-G_jteE+aJi&?FoF3^ZE8o&pCi z^h(~=f}O=mlrA4(uB*i?a2c4IQ*ClNu!j&ZD?7upUH!34uh8j$&+qTBVAhwgcfp}Q z+z-#xAHJ_D!<z{&_tBW$n+m<0o|xs$!29IHY5B-RI_5^2R9PIuZpSdl#8>5(Q44yJ zd5wwnd<qT?-v0eb#vUz$J|xE8^D@2)(2l2NBBt638xE-X?jDcJhTfF0T5y;@nO?)@ zr%Ag@inEQbaB<LoT>dpiwm4gG6&GW6Puj(2{r<2RX2aKwboV}vv4DN`2-xM7ut&gQ zzkk60iaZi$(AZgENt<b+0eYy#4wA9!Hj#$euo?QI_axuf8n6o{iy8n2k}Nn6J#o#E zPFBQvu3jO8vz(4>(PL<3*^Z@Oi<a*&!B3U9mhZ^Q`C5f#NqMWq`Hp<o2y>S()3sQ6 z&j_xsL4&W2*NRqeZFU-D+K+X@5`dgo|KE|{9Wi<1SUY09A7YQ~!3;MUQrU-CKT23B zIK+D1k;fsS1M~jK_)GGy$2+Cd@}V)7o8vTPn_RHb;bmhCdykjoljAv9_v5^*0A(fY zL2w|<OFGPamAYsAgnUChEbR`rc>hV<A8z*A{6<K!RjLd(Nv2px>gy<BFM@*wzG;hh zAZ&5=b(oNEKwcRB{8(K6JmyZ`lrUU19+$Jmh2b?Q+coZ!`WqdvCV1UY3HuNn?ybfu z6A(ggq+vx0^fzt--0$za?=HMM>)7!2QDJx<Z1qcH!tfL0Z1}HnHvGf{8~!y?3G+Bj z?4gOc{DTQ$xDXVrXk{PLlVkAb;tGuDgOh^GAbOG8K51|nMG3hGawf3~xf0d{4%+~m z#pQq-kxLOPkgG?%RIwbn&!TLOSc=?T$XUeOky|$zmj@<qlT5Iv!{AWqkIQq=t`%uD zB&!&W<E#^x$05_65n=dG=tU062hZ|bXr^V14Sx^$UZfIs9vogkttY4A@@dpMGR1~p z0f!@)y^o^5E~FqRzlt;o-0zTXM?MOgTaYio{>8*xR03`P4qAE>@8^N}59F<=eQq>M zIw@}$fwjsvjxfxWVeGu~;cpzh&xgoI-2)D^)1Xx}4~h0BSPNO-?QO*q|M^eF>p}Iq zD;W#e7~6()8`58AG4|7?$Y&6TL*VejyO=qsU5g!_sg!1xF#J5^Itg$3Q&@u$mhdI? z@U_uADK1|C<~tbMjnGKZWC=S94srQ!kbNg;7<5zwiW2DVzfgZCdK*Fd8sN=H2atwP zI|cn4Mn9{@OPJ$&^kVoYC^-*(iqK~%I91`j0lLfsw=rnt3rJ^C^B7VG@~e>k7g{(9 z8EQC(M}QeY&HEvX2)UnwEE3vy5R~_f9+&Tg=HMHO1)Pl;W=8mq!`LY}dQ8p|wjUgX zGcU=@#xkVOxlXd(ejzr?D+FTL&oCD(zb;)Wi)FexW2vsP&Xnq^9MckW?v>$n;WXD{ z;ZB_WPk@8*ep4r{ZUdO_Y~PoRH2<wQK?<Sr(Cms`p+5Wy6)f8b@A}fjDf!wlCcZ3x zk*{rtKg?71)n+<#x;p(>o&CmTW&WSZxAJ{WshEmY;Jzx8_bT|Hb=dhDy`^T_r&@ZS zb&-cD0SA7L#JZgVF0sZwA(ml2W6bWacvb%K#M?6CzS04?l(pU9S|p}mZv1haWv7aW zKY)YDdtCnWlu7!Tyb&G~9{*v+-g**@u`@FyPLAO_V%X=B7tZ4xPJsjMijS!relcb8 z8n6RTN3_8F1;+jW4&VQ0HjRU$UEy#eUlqR#4hC=-1_uLV_&#J^jGB)=f|D!Xi5Ogq z#Z*Z96etDJ44Q9FnWfj{4Pz$hlq|!qz5sf}A4JTo|6*+PKXJ^cRL;BxKIXKZ;3Tqx zx9gpSwc$x<KX6EE;k3Mcl%fZX;9&6!P6NF2S3z+YHBR`c78_p3SD3xsHt7|4+vMBw zo8#%yEH68lCYc@+@EfW!97Oy99GGZ4Xg(;2ugDC$8QP27H%faA5qDR!_X+IFNb8Xf zVPCZkZ&-@>wtR4cc1wsqa2X`OLCVC5DAs!rRJZLyZ+h4QYmIf~0{>=zrK|QPxAVEc zad}`g6DOey^=|P(pv&)W$PXj_;6g+TBlwIuQdwNjws9lhZ!O|>chysjg^;Ft7OZr4 z^rhO)&L>TU-QirEP&R@?X9q>X=zJq!FWVVrx$y<_Rtq<~oWkK(<s~ERNY)O)JrAel zxr0Xc^=DpeWUlUt7yTWL9_&CK2Zs*-t&K}cyF~NQry7@*eyLm-gr^@8isd&t8oMhx z{A{6dP&mwnZ-^U)=)F8H6y>JmUY(Nni*txSfCFqP+tNW1FL!tfJu<<9hcF)G{m7cT z5xcl52fLs7<?PXQYqA87-MuzE@@9tQ#A(r%ZDLOBGNPliB)e-7a?a6oZV%}-i})@z zb98>#F8afB#IA6vv=--^<v8Dn*j06-HN+pl;rEE1oUaqupO7vf*>F~6*=2s4w-c!! zNeI}yWk|aM{rDB?03mfEA^rdk{dF(blO><TuF$<xVEuS^B0Yh08tGxA$B=rE9!2^o zQg@GCveS8y^?`$>uura-vU%Bj$)AohvKhaz60_eSimgN8u2z5R4LHHRBFp1$Slz_< z{783i{C39jum?r_f%LFNU?NhiC(k8dfA%w2a|u707jyU}z>OR>xa@p?Wy1`{rfG=u zP@DscLJx*}_H?rw*pY%&^E%mlmg{!DEk8YOSZqA=HujgyjVMg604P<2b+igY?8v-U zvJ=D~z~OD#GQske4O(2r!*9!f8w2KnDR<$SjSmR!MQ02y14`eg(ubLQ!C=<IS>FBS z*@JT*X7GE6KY+uPqb4T{u_JRIep`NPOl)LFu6bB+S_&<<z9v6C%G@ciM$@3d^|*Ko zcA9l@iogAA<m~$bN)UelhvV|5_*?RVxNy_rl*M+_;%DD9cMqeV8?g!^fWXq==?u=S zC9xjs3RtE8p_s+9t9<N?Noqm_!<}nlO|YX|u-~J|%o%v-2jL?o%#3{<qegylfjA4k z>cLT)G$2Rg^m~6i-RnSH=5d@@8^9sWYXfvJZiOxWO#Zj{DY-eGim@hrfBiYeo__}R zfmHZy#(uO7=N**U&<ait*voZ+L#YMlTf`hTVh%7DMJxHaI9wK{b8=?(%Qz{Q*YyYD zvI*nLm{aw**TEAY{s0bV<RW-H3*=bCSDD$rWz2e>dLX#wi)rXV?&vAm9k+Nbbrvs0 zl|Bs_4S3&*US!QTu_^iYakJDf{|5eK;qyuxPk)E8#dC3LI*fIrC#A-gogMDVGJAXF zcX8SskoSxWVwayzN$bGjnUKH^Lhs!@^KeQC#sr)g)5NaWL2)SN5yj4fqQBE4c6H8? zOxdZfD{$(n8OcQ6?7G^6_yaf`m#apukY-m8b&9*fORfs955t4zlnE6T4`+Q?_$2&+ z$$gjqqjMH1CHoqW6>@wno+_DZY@Un(#2>&xEXp_`!WZ<yT4>IXz`NvGVGpIs`jN^b zIm~TAB>1@e)Rf5?m%lzmC)}@0Vb8SyXI|BMdR~Bk;?dOoVS`KLbLcT>{}@JYeh+E( zl>9GKf>#PCWfb8+`~e&?rCxbqJX3;q#EGuoUltYuY}lagxUR?k=EumNLK2Z0kX}cc zK>4oG5*7moHtYt}j8u)i(aYFVMYxwQeNbRo^`v17G;ERPZx{Wq%fr|a{jP3M9vpMc zv&0a80Ea=jX`K3h7Sev1Tk<KnANv5aa)*Fuo>4;dyV~M8CEtJ*IuBg`{1e7jq7LE@ z;6VMmamtK{mf)myc?EU?M%c@3DmAU6{ity<PHpKkcpb$8R%XN>Zh*IkZ*=~ieAFq~ z3Qp!~tb(pwte+EcBX+}E5qBq=&~e6E|3nsMs>$SIM`IBN2ZJQSx){p@)d%<=Fyiz+ z*5FjmX&yNJGH!-7BYwx{;78y{v~Rscy*LUEu}uQo13y3!n$<X0xG;``&?wEKll{sl z_D|9o{v>vmv0n1$4z%*a$*XG+e*gzDa7zBcq(6`;U4=P)wKr3;_)p2-nal))T{6aJ z2z%(yVvI}}#RGtw0e2%kf|-@;rhT;u*zb&_;clWgep3DqL`xVn`Rz$ZFOBHue#lrB ze0A@On00uINIyb^r!$wly&oK6J>=DU<+;%PLELPR@9st{G<_u#ZAE_nd_+XkFvHx= z0r~bx`n`41a$BR{1T7=}01nqqiq1Z{dCVQ_?tPIov{YatJ@Zywhj^;ZRaUW!2_EZQ zOCjA)nB3p5{qW5!$yV$Mye@wTn|v1>GHbdzn3V}#VRpm&;VsxdJj=p&rG{zltQ~E= z%hJj)cCX8y8|ACM-IVv2H&bgwUI+1qh47OeF)VfrBPQoTuB#&hr`E3UNH43!>i>W; zy5Gck|8hM;`~e)OXTO=C-?J0cKkCyg^vQsJJ~`3dn+Gnq?SsC4E*D^~DtfwNWr@p; z)4?O)&@1nq%#hr!5>Kz(If<3um066lFXGVxylt8{t-8!FxNNYjfvG&Fr^t32L%w=c zjM+*Me*lN0<s)ZkX8F;U_;f0}=`>^5Sc$gm@`^QCj#j~Ac8{E+Sz###PjD`SXJ@Pp zT1Wh05shXCAI&>pZzp)ae=dI&t20qKdeUp+E^{Gyuv;dr(y+_&8M<HkseE9x$(4e= zTq!v8%6XF}sn6AfUfcjHIswny{hq)E?jzp-tH^bV{)*DMO`ccej47eWl=t^@Sd}IY z*VFC8gW%9UO19ygFiO9Wjbq)M!(@!H-(-{hn_(4V%!oTw3tD(<A`>xpNADrnsso+} z@dt1q3V$pGG&az@3Qj5T>AmnWnS4#y2x{sPt)a6-GiF^rP9p>Iya^L}@gX?;T(0CN zlftu%edhaEuaGQ?f5Mr55HqL`$%NA+dBHTiOZe({K1iDM+(??FeLNe!7KvhQh3c3q z?Z#aX7aA~Y{*|}#t5&iL%yi7W*(gE$0UYjnk0c~5)QlRuQjGk<qw{dn0O^(TQk3uK z<!|L+9l6*m^x`l${9HZ{n}r9%&Wilgv*QL=2F_COGLxBzvG&T1&`pOc6S}EKyEoxP zvwJgfKZUV44-P*ZH+wAsv)2yEPLG?ogeSrC1N2icz{}<{<*W-kD#a*M@A%mla0wIh z5aEQEkM*QNyMK$Pz+<Q2E+%!He)o=>G0xwDbv=*W0MY#j?>*qyiFYb?8i+rD15@uB zEq#vS0hi!sE?cpo`ji}i9E0%mlfP4Xw}s@xieQjTSUL9co+JJM4t=1aQ*s)gN!Vvp zcY;g5f6b0vSpUibZdVpG@E2a=LF~c1_G0f1?>y3zfqnH^aLABm?O(k=We3akT-#XD zm}B#9tSHO+oY)6@&zKA_YxQ&GwQJa!+nkDrape8+P44{zBN$D`ViWuOT?)^l$_#b| zcvCxMBkzyVJ(2}0HRELzEwDH<yxtvbp>W2&f(_YMApQUjEH8D?<eD8za|*e0F$YhN zrws|Yf-}o`#eP^h;t(gslr}{ttxVK|DYQC<g!ltEP@A))M|%4Avm>_ZCt||GCh@&k zR?OhK5}srbR{R`p;z^pg{Am2XD&cu1#^s;H9|1SSAHd;5@cQzoBI!uam8*pLJz=vr z9G>lUNcNL?9(x}X!+{Jb!|PbhawUHkTeeYjo{`@f5sFF}%f}ujPku9{CcRq3y<3{M z2kX@r$4<%L81n=~Km09gh{8{7M4Twg!2H;Ao~=a8d<-^>g!ltE*u0(|mUC)D`U)lv z&%frL*{RkH>)ecm!ml%2h9S0){gSyBm3}5`?m9Z7{pFlT<=O|Xh(CZsch4**?X!g3 z%$Qj`CHIWPjC~pIaO#j7C(ts}8j~6N`0k{TD>})a9)j2LH=dF|nq)Y49|H%R9QF^z zUYEz?hkCofx46fMQDeF6#yKlf2kq)8EyO6<#<PcJ?>8-+b4GABR?$cy{s0cfadrq% z*mFxfY-mX_J196C#9sN(xR7GKnjN%fyHR(~IBt6vn$KXwodo}3j3g?CMdcNk*e@{_ zGq?NpSaQ3k$1b*r_yagxY`1P&yQ`Dh{ejx<DYR(BJi=|Ti1-6IoRW|6S@RrpKy%-K zeV7G1V+r&BDU2j}*x7tv^Ak?@^c0=!(pNj3EC=xiaG2b1qcdf(a7GY^ds9}Ko$s=u zn{Qedn_Cv%6|VGebQXi#FpUAMndXK~LgaJQ-x0^@3-JdJqG~xq8&X_s`1FXST5vf! zEEPE6gvFdJoaJNqb%ZVaCh#%Dhv-C4Cwm9JN5MS98D}FnC}$k_g)nXahet*f?!?y& zzR!%%Y|?5H7yZ`_h(CY>_5A{P)0=Ll=q6Z<4Pj52iF44P>>W2q4iBA2;HPmyGGC|B zO4ykXf<qd-@oz`1HA5~5Gox4j^(YhjnRRZO)3QYHT<fm(%Wn#jsn`S_jdv@W&EcB8 z9uZDkAyyplUY<jkxV%+eZAN+o@j7o`s^q_pZVjT&RSwbPHw!oUudRvk{p`_E=9-I> zngkA4t!84naP8bp{@2*Kxmj&Op=IIU&t=q%xm>X;yn$Gk|Gui(xbNtdJ@5_=tOmXE zjd6z<_P6^He*gzRzkT-m)4eH)FGy%sGa(h*5+uZrkHRj_VBasUV$7U}I296oRf6~f zID~ubm`5k%yQi4@Q-jMJ<BN+2ZTapugl|20@7?U1mF84y`YgwlS7%*&y(=qM9P;E| zKjhDK4)x_;Glcj9IK*>1i{=bjbDt41@q1pFJ(N+Cfn2V^hTjH*b;y`|-jG5R2IG*` z^$qd3yllkJ*xXVJ;txwqxP6bAO0&$>&$EZKB!2_;E8*T>L3oPnlJyv{6R`LP<*!1^ z_h2kW5HFikGiSwI?}9Mm58#0N)}^!dU$yG0YSU0Z`$g7H|7U9j&*AcsbFa!bPR3oc zS3X-vGdhmDHn-E@%v|!a-{BMrGZ&5^9@R}87QBj^f1AhOXO*&Cz4D(CjWrdOonYcf zZ}?uUXI+eW-V@jcimCeqb{N)&^#tqmzfU0k01krJ!uJMwh!xM4MtaJyq8QGYJ2F-Y zL(B1N$dNzGa{bqKR5VOm&psLrU@Y8Aacf_F6swwWhJjLB*Z%P4NUwfnq4jJD=4Nq^ zqvrVh`B8Ca7Ix8M1n~!OxUUM|Tfj<|;*K`mTWX|O^8DyxvCk;tE$(z+pDjkPQ^U$l z-&+-vtr%0;qo2kdJ?jDovKWeVn|3HRe-*d+0e<G31uB|xpz`Ck1ywPZMcjSkSsC2c z64@cvHwNps=I7@#arKHc5HPW-%v*!posm#msCkRHITYEpJrD_s4S}|R*w!L$ZVE&j z)7XY!B(!<QB@~>8f)h6fLQTO2G0-N~?Pv>%^BeL+Pse=Ek`B>zo0>~wRT}?jdwqQ{ z8r|I9)U-p4wzWi1HPoy$=SpK{9B=SoDhRmyWa)U<;EnhIye(t6OA!!5<@k5i_pj8q zMSbJ$h2tISJ5zmUsc)zH7S(qy-bPe$t1#}ndHrJbjRl*-rRuwKeRHrQ9IS7H<PE|5 zL-kNvusIrP+acZ`Xlf7M3KfWMsGwtE8oQ&S;#SdJwqcELT}w+-ePbZh>|2`e@f9v9 zS|}FfFU`jd5uRLTpch8);$w-i1s;I47mJva(|uc^i!of8GvN}vP^00grbv3xo^Pq` zK)=e9pI;D-)EBH>UA6AcvNg+nRcp#tF28g2niU1>*LiE!7OY)Ywr1V>T3?m7X8GCz z^roOb(&owUU<KQP4WU56ouTH2mhI71>#Eik)J9tFgIb~mWs!#VP;*Pc_R!`~v@sNH zYADd`i<kKtno+bS*c1#zgY1q~>&3FQ;*$I&p8P@<BhjAbVqRgQ{6Xqwj4iF5S=7ok z-VMvwtS#`aT31mJ?5Gch+d?hP|I<P~!G&BvLJIa6B#lAWGYeU^c4a|ZB(N>q(iCbA z{*MYL%w~?1^(jWnwU+soD-kJWykxd;h42YwAbo^)YqcPZ+h;KW4^_wC%srdIQW#TB zg*Y%XH*n+ag24i=0Li+IuQ8#pU}a$e9uLwI%23W|%{OEd9b-GWJl=mm9=$m*rnd)G z60#`c>r7ak{JbQ~hJ(T!<5ks$8m0BSdFy5WK<gN1gc9@vooE$)rVr=ESm_)^2{@dP zkH#7DLAz}hX^DIlw<EkN%k8EEyzZrR<m1R+(L;(Ak=(Gq8oUQ9?ap1oLx$bPJ*K_p zeJKa9a?m3pfyPDtk7&y6?n}tXmk`Yd81P5R?YW?d37v*r#)nM1&3jVzrtY&Guo?x? zo>yu2Ncom3ySrM+YZ;W(@DgOe3=j25lNF7c%Iy~3EnXgDIpo(fKc=tn+d?Mj9syl( zrQNYd*lXBlJivXNhC6W?oT%2D0PbL=-BNDP+AAC|7%J`Vjroo$JL+Dde-G-!Vk{SJ z3ARdm)<eQ>!ye;a(?0Wo6vI)wv(hd?E2a51RIkDjou1?|L|=syF*g4YaEH(?HCku4 zmFAn8?T$)&W@Wx@gWW<kFRcrm@Oi><I-T%x%$OJudR@&#kG>`Nl=8l3?t>V_mc}E2 z)AQ2TS;y-*Nc4}bqvz$BKDM9OMop#N#>Zrz;Q-d(8RgQqaf!Up$>XT2_Hnwrz?~(& zIz1+jl?_ue%zKCcuOdSNF4ENlE>T{YWP^||fupv{?RlDgU$*>mGJL4YKuRN-^f2+) zV0~X^D%aPi&D2bEGnMP>JCf>W>2#v6uP;yTALvYHF%}oVYm=@%+A*C)89g)|^zijb z@PZ_md>E&Xu^Y;fr#+g!{-PxK8o(ICM0>fgy}g2Jcu6?e{xlz>wexw<<t5QRp2P=o zCE7SzZqM8;>@n;$?lT>rML4PMWqetpZZd8f-z2}3%y-~pWV&z}ne@ER&xD7bkD{T0 z%i#5TElO&ek39*92RgTCPUs&kPqrzHNh<s-f5>*gF9Fv~x3NSyXcW2_bGIR1s-xre zQGN{N=!0I)R5!}Wb~otgdHXT8@Y5(K+Z3sNzzxXv&9MHebr$7<hUO)Q@unvkR_8-P z_5>Vbi^#TVesGzoG9LKSgv@%riFyi|HqS`bMH0%gk@WO@-dwsTu{^HUPx3#XSPloD z*uy~H1bvb%B+B*l$zu+^Sz)XEX+wX>+1G08YE{0aR$Wv}F475@3rTw+!+E=irMSWF zY|Ll(*~LnGF6v5lXRW%NU$UM<KUS^($dkSjaCH()Ylt4N>OVnG{#1`oOM?G@^G|N? z|3-e)u|5uax(|J+O7fi;^F-gX)iDFvG#%J41M_;|*$vz!^-%r>%9CYH^ac1o0)IKa zT=&3_0H3V;1RP^G(mJe%iT5TXULS9I5_ko?1Wq3NWH`BgGCmomHB8?=%>_No*T|%~ z3%sos{n-p!>J#*8tHqn1r2P%2YeYHi%k*ob#^V@p#YoBXlJLjS#s|QyL4sTa=anLl zJ>ey5Ajv?y=vk!m51fxu%&x{;52Mb<!pZc>u&O&QR~Wn!u-e`y!87ukq5dbyD}6$L zRNGGIiSxU3Z0&h!`zrm%!r+m>yLIb@zC3IC98J(;EJ*+MJdEoXkXPr{rFd1ID>Ql) zPSpQ@gje;OXy1|4UNW5AKEcpgqP}#g-%8*dIvdsNN?*=(qwDKTbfT`!W~@!x;aY!A z*UPmCa?v4uuX^6q^Tpvjv9{{lCtJ|d(V1I|Bj|b49+=M3{P2Z3n74^O=Uryr>haK5 zR;RGb@DPtN9H8wB?ST^YKaYd5*0(+8y(#-r50E>X)&|y!OzIn*uXX$51dr>J`mS%^ zkM^~?bT%j6*dHY74)fTBM-$;<>;iOp9nd~|CjIKqG@_38x=Z#H)cSOt&s4V?dQtSY z+ccA2aF(4GcSz=~A5Z-_>-T2je?wlq9%_?pL61X!r=5rNZT@%XfL>-jZ|HwU8$`Pw zs|S7CdYSZX>C4IIX#oO#xt@>Ch766|hSpuyhV-_Gh)||Rq}lOI{PpGf@zS+xggltq zlE!kH?dsb-dYN`Fvo>eek^$kN2?#%tfN4LF3`4#I9(I^GQ|QZ!W+>O|Jy{N_|1Q>! zLuk{Z^G90w0Lt}e7`1#c-c0Z3U^~QTaWTppU_0e@#HiF`yoP%UxZO!O=q>YIl+)wC zjBiux=8M4JlVtB2?m^&=CGiD)f^Q7=T5fmhLx!lq{SC=n;6c7EsXp%~r-ELR^s33L zFNd9QUeBNo+CxkeTQ$Tq*YL<<DIH`mq=_~?pl6jy{Yf4hRJgj0D&e8ZdU#zDoQ$V+ z7P?K;KXe)0>iLx>@q=!swO8{AFxfJ6mT0eSx-BKj_5PRNgQA}HSP+ZyAjPx-mLJ`* ztu0W8cUwexH)^>^FdA%Q`H^5#Ab(2>a&5s5{3b3HfNG&DQ<mQpXbNp<X88^3yDl1K z`HjIqnB~{EY}*!WMzw}uUHcYaAQEWa5(HKOL(Q98w0xkhE)u+7gXp42%WuYw0)S{+ zpnj`Xrt(Sj<C8Pjf<!<{iE&yJey80JQUN{LNR&6kI6jvz-h@ye!jUcHA*uX`579aN zDAOK|AHS$XA=;(v%}54~MxVb80P#b+MR*k>clQU#XphEkISNQ7W6ba`A27q0h(^N^ zE%BfSS1}45-Wpze6JDcRucK4@Dhv^U`e=1F0p{(Z>IDV&7qVgP(fIjMKzW+;=mVE8 zhv$_a!chvTZ>7}mIL)U<1>nD`EUW{N#vA+|2Q2(SN2lR-PpA7z0PwAsq5EPI9lquf zwq1tq8`J3yL7q7cIyy}+M^HwxB91?-qNyv1N0aa0P@?70kMD&6iwP=)2Z6JZ=uSX+ z4BtD5OrHwTOXETBi-u(Q!66*WYf%Ot!GcI69|?l*2lV`UFMy89wMXNp!HIWF%|RGW z6I164VBW3{=JG1`%^TyoQS6w*JOs?`6+A(lqO#_6fYoa{u1CVFW3Sj5VCqBS0Zj3O z!~+=LN?d#Z)BH?4fcXWZRsfjJaES*nzOA5VnEwLS>xbl_F%i&Tj;B15T89)J|103@ zG^7gOkObd?`ZXvUgz~_WeOkMZRAHLe{88(F2KpmCIM5jB?;gNecw1C>J154EO23P6 zBpUEk?_d)C3HW_#pB`%e1;CXYQs7>|pVh%{0N$vBf2-!T_Wp|T#QMkRBLK)JB*sLM zN4Ns@F95$u>7Q`p^!h?!5=@SfKWhEkwAhVWe+}B8eo=eW&n6@qXARy9n8r<my8zQ% z(BK~fCjDvfTYxqBi5~`E5HI2l^!-h)4qgD*4cMl%Zzuyyj#}ksxCd~t4#xNhB{~>> zM<~_7F90U}YxM`9PZ4mJqEEv);3XaYBfvC%^sOA^HPZJ$9e{IHcp>1Y0GFt61>kot z);Hb@_*XhO$$pHV2aZ3A{*C*R;K#H*tTG<PZ)<x|6(;=-p^n-g<4*yf2TWfwki4*` zB^OyT<KF<A)B?Os>3~7UAA;S0X?*D+xCXE`FA3fVn8ueLg4+Po_|il0BY>R>$l-4S z7IpBy1J2dK?*ew~;12=kU4+dfpGOBT08Hag585-A0;ch&hv2&bmna~II{=sJ;I9C# z)WJsq*XrQofc-l7Ex=(N{AYX^q=Ljh#S9p4{tyg#mtLWRX9E^>@EpMTIylLHrOa1x zU{3xmMeCaedz0{YCc*dOyM+@dD~1q8)DLOjR;X}Pqj&I33jC82UsLhl!~Cc5-=xC* z@P8sRY^s^f{Y}b1Oj(aARXp^g+*PUYdF@V0g+J21OHklc=&Rrv@Q<nR9L@hbcz;uK z!LJSYQWd`x@-zajQDF)8PxhCq!WeJm%%Q@K@P9GjGgWvy#t$H4fH6L)pM!oT03KBF z`(rF$1bmMQKM8%50`{ozceU?8RQN|||0&>itMDl;4z0q!Mf+!g*V_LZ#ZUobaij6H zFx+d>oX=C}EjI1$K!vY~5iuUXG=<R_<(@;u7ijmQDqIS@1oCVZ_5#iYoT9?(0KWk^ zONBRU%d9F-1UUXE_F#cMD0dYq{rA!T4iKpQvAl@9g(|4^PsG%3S5*3w(8n>LRr|9H zA<rL`|Now@4=ehp>^BsCRtNO=I4Y>)Z_U=uu?l}{(RBH(6_B?Z^lJaDwP+u%k)^5h z^_XwmAHaSw{?@I)sq)kQ$J&bei%@pGO8)@t;X%O1RQORE1$rPq{;Xd{R;!P<6}B)< z{-<F-1E5ju)!KvgWmv7B0{WML4+FkN<$nhDehhGt3X}bKh+c*NsNMOh@c6~~Lh_^; zwC@o(J{)P;f@7Nxhqg!?t8a@m`2zLy^=p1T<7Mq(<ie3qbKB;{(YA&_WQztzmEsU< zZi)E#x46Jm<QL)-Nzc-y#jI>y(M^@*8+~hQy}mnYy{mmI%W665X2z*~o3|6Iz?Pt| zu6=X<vSpr|S$$JW{Z?u_L?>2XQ%j%$KP_Qju(=_*jJ0!`dVHc8xk!{;s0iuX+}>PI zd@IZE@U35q4@UJO6)wA(wMU@<5b(DTCu(0Hx}&+?R~Kk+hy>b#EE*1xxZ6m$=C*pg zeC^GRf#wE$S?oheFcN7Gw=v54=v3@ea1kGl>rFx5%`;+dnGsVwBWBr*m_pCYsKS|1 zOJ+tbof%a$GwP<9Q8TNeaAsW;&a8|=RU6Y3K4bGAqn{b;%&eW6l{2$$Zem-)p%xer zp9W+}fwrQX8tOVO=6v;yp>PymAJ@0}8a8Wq-}XSL%@+v<8g{TPO}=nj#J4TDErG3T zkM3Zq+4<HtM}qY&_Xi`~`j%^794GMWYRY{p+nd@#VHl?rg5fIa^Od(peaj;e%;`#+ zf>pt``o_y3z0HU}wb#>E%t<t>R(cckdaAO92861j7jYy4KFDrEC&49AUXBiK4Yyz( zC5pUFO~EaJCg19CeM>_yQM|r6v<>1@;0kk4*H(g}HWIoYpZ>$eYzVb91*WxA1@A)t zSm3Lj)>cIed?I;3XrQbvN<lGAHC!QTH+*X_4422yKP+4nvT}Milj<cQFH?18O9Q@9 z4_<7`%ZDzc(<E<VB}y*CoEJ}LyS6<XjNBih4ps!3nz+>~vqEtYinT9gJoX2h47Y3# zMtq8EhHI;%qHVtVmgdcBq0Vk$kAUD3@vC_G?OYpt1=;GmKaj9iGGpI1%>tt^0?1Pj zdFm*9s7wv+hq=*XErL$bY;=1F2I*^S@wG(jJ#6!KT0FF+3eFdn3{Q=UG<Pa6i&U_! zJxtJ=;1;-V%%bRys49IzBFK(;hyOxhJ|9IzY0>fdczvp}G7yE6XY>U>Z|9=Zk0w~~ zPC--np8<7FD<bjk`x@%Dpn*Vy`GWV?1yucTku_qjEFb-o3ilC^fKT6TEe-8WLA3(4 zk>IXWXbA_KFH^x64mB&irIsVnB}*~1O4p*Hok8?XS?!bvGL#!`YEqkIzKh?7^U>Z4 zjjH5ae+oBJHJ67nim*gYd}s-6;s52pXm?S+)kke62|nZag9#t^%`ggZ^I(Cm--=0~ z*b#bx*tNQ8*@k~uVZJSBF0l%0YcH#imRGFstzB2?^RDu)L$z&zj%f<e)Ir-H=!17H zp)6mpBOxyzSw1j6U3XCBVt3oa(+!l*7#0dgVD^}0v|HiEq|69y$T?#^fW9Et6Rd-i zlKCZ?SH@YfEY8W-v@M_vIVqYJ6h7J)Z67Wbt^<AuR*U-pLbNyQriIcAbx6bQm{c&# F{{#1ynYI7` literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/scripts/ArduinoWifiShield_upgrade.sh b/firmware/libraries/WiFi/extras/scripts/ArduinoWifiShield_upgrade.sh new file mode 100644 index 0000000..b767d76 --- /dev/null +++ b/firmware/libraries/WiFi/extras/scripts/ArduinoWifiShield_upgrade.sh @@ -0,0 +1,121 @@ +#!/bin/sh + +#WIFI_FW_PATH="/hardware/arduino/firmwares/wifishield/binary" +WIFI_FW_PATH="/libraries/WiFi/extras/binary" +AVR_TOOLS_PATH="/hardware/tools/avr/bin" + +TARGET_MICRO="at32uc3a1256" + + +progname=$0 + +usage () { +cat <<EOF +Usage: $progname [-a Arduino_path] [-f which_firmware] [-h] + -a set the path where the Arduino IDE is installed + -f the firmware you want to upload, valid parameters are: + shield - to upgrade the WiFi shield firmware + all - to upgrade both firmwares + -h help +EOF + exit 0 +} + +upgradeHDmodule () { + sleep 1 # Give time to the shield to end the boot + echo "****Upgrade HD WiFi module firmware****\n" + dfu-programmer $TARGET_MICRO erase + dfu-programmer $TARGET_MICRO flash --suppress-bootloader-mem $WIFI_FW_PATH/wifi_dnld.hex + dfu-programmer $TARGET_MICRO start + + if [ $? != 0 ] ; then + echo "\nError during device initialization, please close the J3 jumper and press the reset button.\nTry -h for help\n" + exit 1 # if the device is not recognized exit + fi + + echo -n "\nPress the RESET button on the shield then type [ENTER] to upgrade the firmware of the shield..\n" + read readEnter +} + +upgradeShield () { + sleep 1 # Give time to the shield to end the boot + echo "****Upgrade WiFi Shield firmware****\n" + dfu-programmer $TARGET_MICRO erase + dfu-programmer $TARGET_MICRO flash --suppress-bootloader-mem $WIFI_FW_PATH/wifiHD.hex + dfu-programmer $TARGET_MICRO start + + if [ $? != 0 ] ; then + echo "\nError during device initialization, please close the J3 jumper and press the reset button.\nTry -h for help\n" + exit 1 # if the device is not recognized exit + fi + + echo "\nDone. Remove the J3 jumper and press the RESET button on the shield." + echo "Thank you!\n" +} + + +cat <<EOF + + Arduino WiFi Shield upgrade +========================================= +Instructions: + +To access to the USB devices correctly, the dfu-programmer needs to have the root permissions. + +You can upgrade the firmware of the antenna togheter with the shield firmware or only the shield firmware +if there aren't changes on the antenna firmware. + +Use the '-h' parameter for help +========================================= + +EOF + +if [ $USER = 'root' ] ; then #check if the current user is root + while getopts ":a:f:h" opt; do + case $opt in + a) + ARDUINO_PATH=$OPTARG + WIFI_FW_PATH=$ARDUINO_PATH$WIFI_FW_PATH + AVR_TOOLS_PATH=$ARDUINO_PATH$AVR_TOOLS_PATH + cd $AVR_TOOLS_PATH + ./avr-objcopy --output-target=ihex $WIFI_FW_PATH/wifi_dnld.elf $WIFI_FW_PATH/wifi_dnld.hex + ./avr-objcopy --output-target=ihex $WIFI_FW_PATH/wifiHD.elf $WIFI_FW_PATH/wifiHD.hex + ;; + f) + if [ "$ARDUINO_PATH" != "" ] ; then + if [ "$OPTARG" = "all" ] ; then + upgradeHDmodule + upgradeShield + exit 0 + else + if [ "$OPTARG" = "shield" ] ; then + upgradeShield + exit 0 + else + echo "invalid parameter for the -f [firmware] option, please retry." + echo "Type -h for help\n" + exit 1 + fi + fi + else + echo "Arduino Path not setted. Retry...\n" + fi + ;; + h) + usage ;; + \?) + echo "Invalid option: $OPTARG" >&2 + usage + exit 1 + ;; + :) + echo "Option -$OPTARG requires an argument." >&2 + exit 1 + ;; + esac + done +else + echo "Please retry running the script as root.\n" +fi + +shift $(($OPTIND - 1)) diff --git a/firmware/libraries/WiFi/extras/wifiHD/.cproject b/firmware/libraries/WiFi/extras/wifiHD/.cproject new file mode 100644 index 0000000..fa7fcdd --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/.cproject @@ -0,0 +1,4045 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<?fileVersion 4.0.0?> + +<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> +<storageModule moduleId="org.eclipse.cdt.core.settings"> +<cconfiguration id="avr32.managedbuild.config.gnu.exe.debug.1622245200"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="avr32.managedbuild.config.gnu.exe.debug.1622245200" moduleId="org.eclipse.cdt.core.settings" name="Debug"> +<externalSettings/> +<extensions> +<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/> +<extension id="com.atmel.avr.toolchain.avr32gcc.elf32-avr32" point="org.eclipse.cdt.core.BinaryParser"/> +<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +</extensions> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<configuration artifactName="wifiHD" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="AVR32 Standalone debug configuration" id="avr32.managedbuild.config.gnu.exe.debug.1622245200" name="Debug" parent="avr32.managedbuild.config.gnu.exe.debug" postannouncebuildStep="Size Before build" postbuildStep="avr32-size ${BuildArtifactFileName}" preannouncebuildStep="" prebuildStep=""> +<folderInfo id="avr32.managedbuild.config.gnu.exe.debug.1622245200." name="/" resourcePath=""> +<toolChain id="avr32.managedbuild.toolchain.gnu.exe.debug.1787446984" name="32-bit AVR/GNU C/C++ Toolchain" superClass="avr32.managedbuild.toolchain.gnu.exe.debug"> +<targetPlatform id="avr32.managedbuild.target.gnu.platform.exe.debug.1577294140" name="%PlatformName.Dbg" superClass="avr32.managedbuild.target.gnu.platform.exe.debug"/> +<builder buildPath="${workspace_loc:/wifiHD/Debug}" enableAutoBuild="false" id="avr32.managedbuild.target.gnu.builder.exe.debug.860077655" keepEnvironmentInBuildfile="false" name="CDT Internal Builder" superClass="avr32.managedbuild.target.gnu.builder.exe.debug"/> +<tool id="avr32.managedbuild.tool.gnu.archiver.exe.debug.716199814" name="32-bit AVR/GNU Archiver" superClass="avr32.managedbuild.tool.gnu.archiver.exe.debug"/> +<tool id="avr32.managedbuild.tool.gnu.cpp.compiler.exe.debug.2050435638" name="32-bit AVR/GNU C++ Compiler" superClass="avr32.managedbuild.tool.gnu.cpp.compiler.exe.debug"> +<option id="gnu.cpp.compiler.option.optimization.level.167185469" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> +<option id="gnu.cpp.compiler.option.debugging.level.1072153032" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/> +<option id="avr32.cpp.compiler.option.mcu.538485808" name="Microcontroller Unit" superClass="avr32.cpp.compiler.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.cpp.compiler.option.include.paths.1291994818" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +</option> +<option id="avr32.cpp.compiler.option.flashvault.1873560474" name="Enable FlashVault support" superClass="avr32.cpp.compiler.option.flashvault" value="false" valueType="boolean"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1012366065" name="32-bit AVR/GNU C Compiler" superClass="avr32.managedbuild.tool.gnu.c.compiler.exe.debug"> +<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.187661945" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" value="gnu.c.optimization.level.optimize" valueType="enumerated"/> +<option id="gnu.c.compiler.option.debugging.level.957359437" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/> +<option id="avr32.c.compiler.option.mcu.442256180" name="Microcontroller Unit" superClass="avr32.c.compiler.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.c.compiler.option.optimization.flags.1362317068" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" value="-fdata-sections -ffunction-sections" valueType="string"/> +<option id="gnu.c.compiler.option.preprocessor.def.symbols.2032815329" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> +<listOptionValue builtIn="false" value="BOARD=ARDUINO"/> +<listOptionValue builtIn="false" value="NO_SYS"/> +<listOptionValue builtIn="false" value="_DEBUG_"/> +<listOptionValue builtIn="false" value="_ASSERT_ENABLE_"/> +<listOptionValue builtIn="false" value="WITH_KEY"/> +<listOptionValue builtIn="false" value="WITH_WPA"/> +<listOptionValue builtIn="false" value="WITH_NO_DMA"/> +<listOptionValue builtIn="false" value="DATAFLASH=1"/> +<listOptionValue builtIn="false" value="_INFO_DEBUG_=1"/> +</option> +<option id="gnu.c.compiler.option.include.paths.199111087" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="../src"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD"/> +</option> +<option id="avr32.c.compiler.option.flashvault.1511808014" name="Enable FlashVault support" superClass="avr32.c.compiler.option.flashvault" value="false" valueType="boolean"/> +<option id="avr32.c.compiler.option.fpic.1413737757" name="Generate position-independent code" superClass="avr32.c.compiler.option.fpic" value="false" valueType="boolean"/> +<option id="avr32.c.compiler.option.mforce-double-align.1833231832" name="Force double-word alignment" superClass="avr32.c.compiler.option.mforce-double-align" value="true" valueType="boolean"/> +<option id="gnu.c.compiler.option.warnings.pedantic.error.266375625" name="Pedantic warnings as errors (-pedantic-errors)" superClass="gnu.c.compiler.option.warnings.pedantic.error" value="false" valueType="boolean"/> +<option id="gnu.c.compiler.option.warnings.toerrors.1148543352" name="Warnings as errors (-Werror)" superClass="gnu.c.compiler.option.warnings.toerrors" value="false" valueType="boolean"/> +<option id="gnu.c.compiler.option.misc.verbose.1690548506" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose" value="false" valueType="boolean"/> +<option id="gnu.c.compiler.option.misc.other.617535058" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0" valueType="string"/> +<inputType id="avr32.managedbuild.tool.gnu.c.compiler.input.253539519" superClass="avr32.managedbuild.tool.gnu.c.compiler.input"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.linker.exe.debug.1134510857" name="32-bit AVR/GNU C Linker" superClass="avr32.managedbuild.tool.gnu.c.linker.exe.debug"> +<option id="avr32.c.linker.option.mcu.208178139" name="Microcontroller Unit" superClass="avr32.c.linker.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.c.link.option.nostart.975559445" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/> +<option id="gnu.c.link.option.ldflags.569230699" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="-Wl,--gc-sections -Wl,-e,_trampoline -T../src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds" valueType="string"/> +<option id="gnu.c.link.option.paths.1433794230" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC}&quot;"/> +</option> +<option id="gnu.c.link.option.libs.1720035119" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +<listOptionValue builtIn="false" value="_ucr2_hd_spi_v2.7.0"/> +<listOptionValue builtIn="false" value="_ucr2_hd_wl_sta_intwpa_v2.7.0"/> +</option> +<option id="gnu.c.link.option.strip.878241046" name="Omit all symbol information (-s)" superClass="gnu.c.link.option.strip" value="false" valueType="boolean"/> +<option id="avr32.c.linker.option.gc-sections.1193662367" name="Garbage collect unused sections" superClass="avr32.c.linker.option.gc-sections" value="true" valueType="boolean"/> +<option id="avr32.c.linker.option.rodata-writable.1710110734" name="Put read-only data in writable data section" superClass="avr32.c.linker.option.rodata-writable" value="true" valueType="boolean"/> +<option id="avr32.c.linker.option.fpic.953076621" name="Generate position-independent code" superClass="avr32.c.linker.option.fpic" value="false" valueType="boolean"/> +<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.974320538" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> +<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> +<additionalInput kind="additionalinput" paths="$(LIBS)"/> +</inputType> +</tool> +<tool id="avr32.managedbuild.tool.gnu.cpp.linker.exe.debug.2023008784" name="32-bit AVR/GNU C++ Linker" superClass="avr32.managedbuild.tool.gnu.cpp.linker.exe.debug"> +<option id="avr32.cpp.linker.option.mcu.1842160542" name="Microcontroller Unit" superClass="avr32.cpp.linker.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.cpp.link.option.libs.553570579" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +</option> +<option id="gnu.cpp.link.option.paths.1808219646" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.assembler.exe.debug.1265602469" name="32-bit AVR/GNU Assembler" superClass="avr32.managedbuild.tool.gnu.assembler.exe.debug"> +<option id="avr32.both.asm.option.debugging.level.1267695286" name="Debug Level" superClass="avr32.both.asm.option.debugging.level" value="avr32.both.asm.debugging.level.max" valueType="enumerated"/> +<option id="avr32.both.asm.option.mcu.1719949047" name="Microcontroller Unit" superClass="avr32.both.asm.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.both.asm.option.include.paths.856598085" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.preprocessor.exe.debug.634227134" name="32-bit AVR/GNU Preprocessing Assembler" superClass="avr32.managedbuild.tool.gnu.preprocessor.exe.debug"> +<option id="avr32.both.preprocessor.option.debugging.level.1586886701" name="Debug Level" superClass="avr32.both.preprocessor.option.debugging.level" value="avr32.both.preprocessor.debugging.level.max" valueType="enumerated"/> +<option id="avr32.both.preprocessor.option.mcu.1298401384" name="Microcontroller Unit" superClass="avr32.both.preprocessor.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="avr32.both.preprocessor.option.flags.1724795968" name="Assembler flags" superClass="avr32.both.preprocessor.option.flags" value="-Wa,-g" valueType="string"/> +<option id="avr32.both.preprocessor.option.paths.1859276996" name="Include paths (-I)" superClass="avr32.both.preprocessor.option.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +<inputType id="avr32.managedbuild.tool.gnu.preprocessor.input.678543067" superClass="avr32.managedbuild.tool.gnu.preprocessor.input"/> +</tool> +</toolChain> +</folderInfo> +<sourceEntries> +<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<entry excluding="spb.h|httpd.h|httpd.c|platform_spi.h|clocks.c|clocks.h|nor_flash.h|nor_flash.c|wl_util.h|wl_util.c|startup.h|startup.c|ttcp.h|ttcp.c|fsdata.c|hdwireless_gif.h|http_server_gui.h|http_server_gui.c|SOFTWARE_FRAMEWORK/COMPONENTS/TOUCH|SOFTWARE_FRAMEWORK/DRIVERS/ADC|SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_fw.h|gui.c|SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC|SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY|SOFTWARE_FRAMEWORK/COMPONENTS/DISPLAY/ET024006DHU|gui_getstring.c|SOFTWARE_FRAMEWORK/BOARDS/EVK1105" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> +</sourceEntries> +</configuration> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> +<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +<storageModule moduleId="scannerConfiguration"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.1761605428.53366445;avr32.managedbuild.config.gnu.exe.release.1761605428.53366445.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1297103917;avr32.managedbuild.tool.gnu.c.compiler.input.1475497800"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.1622245200;avr32.managedbuild.config.gnu.exe.debug.1622245200.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1012366065;avr32.managedbuild.tool.gnu.c.compiler.input.253539519"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753;avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1323919988;avr32.managedbuild.tool.gnu.c.compiler.input.253409817"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.1761605428;avr32.managedbuild.config.gnu.exe.release.1761605428.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1267623154;avr32.managedbuild.tool.gnu.c.compiler.input.233400464"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> +</cconfiguration> +<cconfiguration id="avr32.managedbuild.config.gnu.exe.release.1761605428"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="avr32.managedbuild.config.gnu.exe.release.1761605428" moduleId="org.eclipse.cdt.core.settings" name="Release"> +<externalSettings/> +<extensions> +<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/> +<extension id="com.atmel.avr.toolchain.avr32gcc.elf32-avr32" point="org.eclipse.cdt.core.BinaryParser"/> +<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +</extensions> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<configuration artifactName="wifiHD" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="AVR32 Standalone release configuration" id="avr32.managedbuild.config.gnu.exe.release.1761605428" name="Release" parent="avr32.managedbuild.config.gnu.exe.release"> +<folderInfo id="avr32.managedbuild.config.gnu.exe.release.1761605428." name="/" resourcePath=""> +<toolChain id="avr32.managedbuild.toolchain.gnu.exe.release.192267767" name="32-bit AVR/GNU C/C++ Toolchain" superClass="avr32.managedbuild.toolchain.gnu.exe.release"> +<targetPlatform id="avr32.managedbuild.target.gnu.platform.exe.release.1727872047" name="%PlatformName.Dbg" superClass="avr32.managedbuild.target.gnu.platform.exe.release"/> +<builder buildPath="${workspace_loc:/wifiHD/Release}" id="avr32.managedbuild.target.gnu.builder.exe.release.1711429384" keepEnvironmentInBuildfile="false" name="CDT Internal Builder" superClass="avr32.managedbuild.target.gnu.builder.exe.release"/> +<tool id="avr32.managedbuild.tool.gnu.archiver.exe.release.105383899" name="32-bit AVR/GNU Archiver" superClass="avr32.managedbuild.tool.gnu.archiver.exe.release"/> +<tool id="avr32.managedbuild.tool.gnu.cpp.compiler.exe.release.945608372" name="32-bit AVR/GNU C++ Compiler" superClass="avr32.managedbuild.tool.gnu.cpp.compiler.exe.release"> +<option id="gnu.cpp.compiler.option.optimization.level.502745007" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/> +<option id="gnu.cpp.compiler.option.debugging.level.1743210246" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> +<option defaultValue="gnu.c.optimization.level.most" id="avr32.cpp.compiler.option.optimization.level.release.1516030118" name="Optimization Level" superClass="avr32.cpp.compiler.option.optimization.level.release" valueType="enumerated"/> +<option id="avr32.cpp.compiler.option.mcu.1422527380" name="Microcontroller Unit" superClass="avr32.cpp.compiler.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.cpp.compiler.option.include.paths.866682810" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +</option> +<option id="avr32.cpp.compiler.option.flashvault.576086454" name="Enable FlashVault support" superClass="avr32.cpp.compiler.option.flashvault" value="false" valueType="boolean"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.compiler.exe.release.1267623154" name="32-bit AVR/GNU C Compiler" superClass="avr32.managedbuild.tool.gnu.c.compiler.exe.release"> +<option defaultValue="gnu.c.optimization.level.most" id="avr32.c.compiler.option.optimization.level.release.1407195495" name="Optimization Level" superClass="avr32.c.compiler.option.optimization.level.release" value="gnu.c.optimization.level.optimize" valueType="enumerated"/> +<option id="gnu.c.compiler.option.debugging.level.1207086846" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> +<option id="avr32.c.compiler.option.mcu.645886185" name="Microcontroller Unit" superClass="avr32.c.compiler.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.c.compiler.option.optimization.flags.1349270325" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" value="-fdata-sections" valueType="string"/> +<option id="gnu.c.compiler.option.preprocessor.def.symbols.1416657670" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> +<listOptionValue builtIn="false" value="BOARD=ARDUINO"/> +<listOptionValue builtIn="false" value="_ASSERT_ENABLE_"/> +<listOptionValue builtIn="false" value="EXT_BOARD=SPB104"/> +<listOptionValue builtIn="false" value="WITH_KEY"/> +<listOptionValue builtIn="false" value="WITH_WPA"/> +<listOptionValue builtIn="false" value="WITH_NO_DMA"/> +<listOptionValue builtIn="false" value="DATAFLASH=1"/> +<listOptionValue builtIn="false" value="_INFO_DEBUG_=1"/> +</option> +<option id="gnu.c.compiler.option.include.paths.1012245137" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="../src"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD"/> +</option> +<option id="avr32.c.compiler.option.flashvault.579935240" name="Enable FlashVault support" superClass="avr32.c.compiler.option.flashvault" value="false" valueType="boolean"/> +<option id="avr32.c.compiler.option.muse-rodata-section.46188949" name="Use section .rodata for read-only data" superClass="avr32.c.compiler.option.muse-rodata-section" value="false" valueType="boolean"/> +<option id="avr32.c.compiler.option.mforce-double-align.1255447070" name="Force double-word alignment" superClass="avr32.c.compiler.option.mforce-double-align" value="true" valueType="boolean"/> +<inputType id="avr32.managedbuild.tool.gnu.c.compiler.input.233400464" superClass="avr32.managedbuild.tool.gnu.c.compiler.input"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.linker.exe.release.166522415" name="32-bit AVR/GNU C Linker" superClass="avr32.managedbuild.tool.gnu.c.linker.exe.release"> +<option id="avr32.c.linker.option.mcu.1388034810" name="Microcontroller Unit" superClass="avr32.c.linker.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.c.link.option.nostart.1724907067" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/> +<option id="gnu.c.link.option.ldflags.870159720" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="-Wl,--gc-sections -Wl,-e,_trampoline -T../src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds" valueType="string"/> +<option id="gnu.c.link.option.paths.1927497406" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC"/> +</option> +<option id="gnu.c.link.option.libs.161654023" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +<listOptionValue builtIn="false" value="_ucr2_hd_wl_sta_intwpa_v2.7.0"/> +<listOptionValue builtIn="false" value="_ucr2_hd_spi_v2.7.0"/> +</option> +<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.506365499" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> +<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> +<additionalInput kind="additionalinput" paths="$(LIBS)"/> +</inputType> +</tool> +<tool id="avr32.managedbuild.tool.gnu.cpp.linker.exe.release.1069051853" name="32-bit AVR/GNU C++ Linker" superClass="avr32.managedbuild.tool.gnu.cpp.linker.exe.release"> +<option id="avr32.cpp.linker.option.mcu.1425379346" name="Microcontroller Unit" superClass="avr32.cpp.linker.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.cpp.link.option.libs.672185409" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +</option> +<option id="gnu.cpp.link.option.paths.58237415" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.assembler.exe.release.241240345" name="32-bit AVR/GNU Assembler" superClass="avr32.managedbuild.tool.gnu.assembler.exe.release"> +<option id="avr32.both.asm.option.debugging.level.1277884270" name="Debug Level" superClass="avr32.both.asm.option.debugging.level" value="avr32.both.asm.debugging.level.none" valueType="enumerated"/> +<option id="avr32.both.asm.option.mcu.856977235" name="Microcontroller Unit" superClass="avr32.both.asm.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.both.asm.option.include.paths.1233318581" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.preprocessor.exe.release.324928388" name="32-bit AVR/GNU Preprocessing Assembler" superClass="avr32.managedbuild.tool.gnu.preprocessor.exe.release"> +<option id="avr32.both.preprocessor.option.debugging.level.1893617259" name="Debug Level" superClass="avr32.both.preprocessor.option.debugging.level" value="avr32.both.preprocessor.debugging.level.none" valueType="enumerated"/> +<option id="avr32.both.preprocessor.option.mcu.1546028534" name="Microcontroller Unit" superClass="avr32.both.preprocessor.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="avr32.both.preprocessor.option.flags.211248019" name="Assembler flags" superClass="avr32.both.preprocessor.option.flags" value="-Wa,-g" valueType="string"/> +<option id="avr32.both.preprocessor.option.paths.108191235" name="Include paths (-I)" superClass="avr32.both.preprocessor.option.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +<inputType id="avr32.managedbuild.tool.gnu.preprocessor.input.1319925321" superClass="avr32.managedbuild.tool.gnu.preprocessor.input"/> +</tool> +</toolChain> +</folderInfo> +<sourceEntries> +<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<entry excluding="spb.h|httpd.h|httpd.c|platform_spi.h|clocks.c|clocks.h|nor_flash.h|nor_flash.c|wl_util.h|wl_util.c|startup.h|startup.c|ttcp.h|ttcp.c|fsdata.c|hdwireless_gif.h|http_server_gui.h|http_server_gui.c|SOFTWARE_FRAMEWORK/COMPONENTS/TOUCH|SOFTWARE_FRAMEWORK/DRIVERS/ADC|SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_fw.h|gui.c|SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC|SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY|SOFTWARE_FRAMEWORK/COMPONENTS/DISPLAY/ET024006DHU|gui_getstring.c|SOFTWARE_FRAMEWORK/BOARDS/EVK1105" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> +</sourceEntries> +</configuration> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> +<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +<storageModule moduleId="scannerConfiguration"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.1761605428.53366445;avr32.managedbuild.config.gnu.exe.release.1761605428.53366445.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1297103917;avr32.managedbuild.tool.gnu.c.compiler.input.1475497800"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.1622245200;avr32.managedbuild.config.gnu.exe.debug.1622245200.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1012366065;avr32.managedbuild.tool.gnu.c.compiler.input.253539519"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753;avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1323919988;avr32.managedbuild.tool.gnu.c.compiler.input.253409817"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.1761605428;avr32.managedbuild.config.gnu.exe.release.1761605428.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1267623154;avr32.managedbuild.tool.gnu.c.compiler.input.233400464"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> +</cconfiguration> +<cconfiguration id="avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753" moduleId="org.eclipse.cdt.core.settings" name="Debug_512"> +<externalSettings/> +<extensions> +<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/> +<extension id="com.atmel.avr.toolchain.avr32gcc.elf32-avr32" point="org.eclipse.cdt.core.BinaryParser"/> +<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +</extensions> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<configuration artifactName="wifiHD" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="Debug version with UC3A1512" id="avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753" name="Debug_512" parent="avr32.managedbuild.config.gnu.exe.debug" postannouncebuildStep="Size Before build" postbuildStep="avr32-size ${BuildArtifactFileName}" preannouncebuildStep="" prebuildStep=""> +<folderInfo id="avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753." name="/" resourcePath=""> +<toolChain id="avr32.managedbuild.toolchain.gnu.exe.debug.2083074440" name="32-bit AVR/GNU C/C++ Toolchain" superClass="avr32.managedbuild.toolchain.gnu.exe.debug"> +<targetPlatform id="avr32.managedbuild.target.gnu.platform.exe.debug.38192914" name="%PlatformName.Dbg" superClass="avr32.managedbuild.target.gnu.platform.exe.debug"/> +<builder buildPath="${workspace_loc:/wifiHD/Debug}" enableAutoBuild="false" id="avr32.managedbuild.target.gnu.builder.exe.debug.400270958" keepEnvironmentInBuildfile="false" name="CDT Internal Builder" superClass="avr32.managedbuild.target.gnu.builder.exe.debug"/> +<tool id="avr32.managedbuild.tool.gnu.archiver.exe.debug.1395287317" name="32-bit AVR/GNU Archiver" superClass="avr32.managedbuild.tool.gnu.archiver.exe.debug"/> +<tool id="avr32.managedbuild.tool.gnu.cpp.compiler.exe.debug.1383760306" name="32-bit AVR/GNU C++ Compiler" superClass="avr32.managedbuild.tool.gnu.cpp.compiler.exe.debug"> +<option id="gnu.cpp.compiler.option.optimization.level.1237270418" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> +<option id="gnu.cpp.compiler.option.debugging.level.203852406" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/> +<option id="avr32.cpp.compiler.option.mcu.829173507" name="Microcontroller Unit" superClass="avr32.cpp.compiler.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.cpp.compiler.option.include.paths.43763334" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +</option> +<option id="avr32.cpp.compiler.option.flashvault.1105479483" name="Enable FlashVault support" superClass="avr32.cpp.compiler.option.flashvault" value="false" valueType="boolean"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1323919988" name="32-bit AVR/GNU C Compiler" superClass="avr32.managedbuild.tool.gnu.c.compiler.exe.debug"> +<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1800930086" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" value="gnu.c.optimization.level.optimize" valueType="enumerated"/> +<option id="gnu.c.compiler.option.debugging.level.741746123" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/> +<option id="avr32.c.compiler.option.mcu.783032953" name="Microcontroller Unit" superClass="avr32.c.compiler.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.c.compiler.option.optimization.flags.603264233" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" value="-fdata-sections" valueType="string"/> +<option id="gnu.c.compiler.option.preprocessor.def.symbols.1502866122" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> +<listOptionValue builtIn="false" value="BOARD=ARDUINO"/> +<listOptionValue builtIn="false" value="_APP_DEBUG_"/> +<listOptionValue builtIn="false" value="_DEBUG_"/> +<listOptionValue builtIn="false" value="_ASSERT_ENABLE_"/> +<listOptionValue builtIn="false" value="EXT_BOARD=SPB104"/> +<listOptionValue builtIn="false" value="WITH_KEY"/> +<listOptionValue builtIn="false" value="WITH_WPA"/> +<listOptionValue builtIn="false" value="WITH_NO_DMA"/> +<listOptionValue builtIn="false" value="LWIP_DEBUG"/> +<listOptionValue builtIn="false" value="_INFO_DEBUG_=1"/> +</option> +<option id="gnu.c.compiler.option.include.paths.1906241430" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="../src"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD"/> +</option> +<option id="avr32.c.compiler.option.flashvault.1472510326" name="Enable FlashVault support" superClass="avr32.c.compiler.option.flashvault" value="false" valueType="boolean"/> +<inputType id="avr32.managedbuild.tool.gnu.c.compiler.input.253409817" superClass="avr32.managedbuild.tool.gnu.c.compiler.input"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.linker.exe.debug.626271173" name="32-bit AVR/GNU C Linker" superClass="avr32.managedbuild.tool.gnu.c.linker.exe.debug"> +<option id="avr32.c.linker.option.mcu.538638440" name="Microcontroller Unit" superClass="avr32.c.linker.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.c.link.option.nostart.1656241739" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/> +<option id="gnu.c.link.option.ldflags.87118628" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="-Wl,--gc-sections" valueType="string"/> +<option id="gnu.c.link.option.paths.812828263" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.1.1/UCR2/GCC"/> +</option> +<option id="gnu.c.link.option.libs.1653832984" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +<listOptionValue builtIn="false" value="_ucr2_hd_spi_standalone_v2.1.1"/> +<listOptionValue builtIn="false" value="_ucr2_hd_wl_standalone_v2.1.1"/> +</option> +<option id="gnu.c.link.option.strip.877150339" name="Omit all symbol information (-s)" superClass="gnu.c.link.option.strip" value="false" valueType="boolean"/> +<option id="avr32.c.linker.option.gc-sections.1011245889" name="Garbage collect unused sections" superClass="avr32.c.linker.option.gc-sections" value="true" valueType="boolean"/> +<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1861379244" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> +<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> +<additionalInput kind="additionalinput" paths="$(LIBS)"/> +</inputType> +</tool> +<tool id="avr32.managedbuild.tool.gnu.cpp.linker.exe.debug.1598170753" name="32-bit AVR/GNU C++ Linker" superClass="avr32.managedbuild.tool.gnu.cpp.linker.exe.debug"> +<option id="avr32.cpp.linker.option.mcu.1325073325" name="Microcontroller Unit" superClass="avr32.cpp.linker.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.cpp.link.option.libs.124073665" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +</option> +<option id="gnu.cpp.link.option.paths.550636764" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.assembler.exe.debug.417825307" name="32-bit AVR/GNU Assembler" superClass="avr32.managedbuild.tool.gnu.assembler.exe.debug"> +<option id="avr32.both.asm.option.debugging.level.806412699" name="Debug Level" superClass="avr32.both.asm.option.debugging.level" value="avr32.both.asm.debugging.level.max" valueType="enumerated"/> +<option id="avr32.both.asm.option.mcu.1562959054" name="Microcontroller Unit" superClass="avr32.both.asm.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.both.asm.option.include.paths.1195320391" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.preprocessor.exe.debug.274353966" name="32-bit AVR/GNU Preprocessing Assembler" superClass="avr32.managedbuild.tool.gnu.preprocessor.exe.debug"> +<option id="avr32.both.preprocessor.option.debugging.level.8654492" name="Debug Level" superClass="avr32.both.preprocessor.option.debugging.level" value="avr32.both.preprocessor.debugging.level.max" valueType="enumerated"/> +<option id="avr32.both.preprocessor.option.mcu.1357262899" name="Microcontroller Unit" superClass="avr32.both.preprocessor.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="avr32.both.preprocessor.option.flags.1867526301" name="Assembler flags" superClass="avr32.both.preprocessor.option.flags" value="-Wa,-g" valueType="string"/> +<option id="avr32.both.preprocessor.option.paths.703046204" name="Include paths (-I)" superClass="avr32.both.preprocessor.option.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +<inputType id="avr32.managedbuild.tool.gnu.preprocessor.input.1411171721" superClass="avr32.managedbuild.tool.gnu.preprocessor.input"/> +</tool> +</toolChain> +</folderInfo> +<sourceEntries> +<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<entry excluding="spb.h|httpd.h|httpd.c|platform_spi.h|clocks.c|clocks.h|nor_flash.h|nor_flash.c|wl_util.h|wl_util.c|startup.h|startup.c|ttcp.h|ttcp.c|fsdata.c|hdwireless_gif.h|http_server_gui.h|http_server_gui.c|SOFTWARE_FRAMEWORK/COMPONENTS/TOUCH|SOFTWARE_FRAMEWORK/DRIVERS/ADC|SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_fw.h|gui.c|SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC|SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY|SOFTWARE_FRAMEWORK/COMPONENTS/DISPLAY/ET024006DHU|gui_getstring.c|SOFTWARE_FRAMEWORK/BOARDS/EVK1105" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> +</sourceEntries> +</configuration> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> +<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +<storageModule moduleId="scannerConfiguration"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.1761605428.53366445;avr32.managedbuild.config.gnu.exe.release.1761605428.53366445.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1297103917;avr32.managedbuild.tool.gnu.c.compiler.input.1475497800"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.1622245200;avr32.managedbuild.config.gnu.exe.debug.1622245200.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1012366065;avr32.managedbuild.tool.gnu.c.compiler.input.253539519"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753;avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1323919988;avr32.managedbuild.tool.gnu.c.compiler.input.253409817"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.1761605428;avr32.managedbuild.config.gnu.exe.release.1761605428.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1267623154;avr32.managedbuild.tool.gnu.c.compiler.input.233400464"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> +</cconfiguration> +<cconfiguration id="avr32.managedbuild.config.gnu.exe.release.1761605428.53366445"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="avr32.managedbuild.config.gnu.exe.release.1761605428.53366445" moduleId="org.eclipse.cdt.core.settings" name="Release_512"> +<externalSettings/> +<extensions> +<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/> +<extension id="com.atmel.avr.toolchain.avr32gcc.elf32-avr32" point="org.eclipse.cdt.core.BinaryParser"/> +<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +</extensions> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<configuration artifactName="wifiHD" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="Release version for UC3A1512" id="avr32.managedbuild.config.gnu.exe.release.1761605428.53366445" name="Release_512" parent="avr32.managedbuild.config.gnu.exe.release"> +<folderInfo id="avr32.managedbuild.config.gnu.exe.release.1761605428.53366445." name="/" resourcePath=""> +<toolChain id="avr32.managedbuild.toolchain.gnu.exe.release.567531772" name="32-bit AVR/GNU C/C++ Toolchain" superClass="avr32.managedbuild.toolchain.gnu.exe.release"> +<targetPlatform id="avr32.managedbuild.target.gnu.platform.exe.release.316254328" name="%PlatformName.Dbg" superClass="avr32.managedbuild.target.gnu.platform.exe.release"/> +<builder buildPath="${workspace_loc:/wifiHD/Release}" id="avr32.managedbuild.target.gnu.builder.exe.release.1357743529" keepEnvironmentInBuildfile="false" name="CDT Internal Builder" superClass="avr32.managedbuild.target.gnu.builder.exe.release"/> +<tool id="avr32.managedbuild.tool.gnu.archiver.exe.release.761598511" name="32-bit AVR/GNU Archiver" superClass="avr32.managedbuild.tool.gnu.archiver.exe.release"/> +<tool id="avr32.managedbuild.tool.gnu.cpp.compiler.exe.release.137271919" name="32-bit AVR/GNU C++ Compiler" superClass="avr32.managedbuild.tool.gnu.cpp.compiler.exe.release"> +<option id="gnu.cpp.compiler.option.optimization.level.1518389785" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/> +<option id="gnu.cpp.compiler.option.debugging.level.1317941226" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> +<option defaultValue="gnu.c.optimization.level.most" id="avr32.cpp.compiler.option.optimization.level.release.888183134" name="Optimization Level" superClass="avr32.cpp.compiler.option.optimization.level.release" valueType="enumerated"/> +<option id="avr32.cpp.compiler.option.mcu.501397069" name="Microcontroller Unit" superClass="avr32.cpp.compiler.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.cpp.compiler.option.include.paths.721469775" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +</option> +<option id="avr32.cpp.compiler.option.flashvault.194576687" name="Enable FlashVault support" superClass="avr32.cpp.compiler.option.flashvault" value="false" valueType="boolean"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.compiler.exe.release.1297103917" name="32-bit AVR/GNU C Compiler" superClass="avr32.managedbuild.tool.gnu.c.compiler.exe.release"> +<option defaultValue="gnu.c.optimization.level.most" id="avr32.c.compiler.option.optimization.level.release.920485052" name="Optimization Level" superClass="avr32.c.compiler.option.optimization.level.release" value="gnu.c.optimization.level.optimize" valueType="enumerated"/> +<option id="gnu.c.compiler.option.debugging.level.601864900" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> +<option id="avr32.c.compiler.option.mcu.1939612987" name="Microcontroller Unit" superClass="avr32.c.compiler.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.c.compiler.option.optimization.flags.1605444587" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" value="-fdata-sections" valueType="string"/> +<option id="gnu.c.compiler.option.preprocessor.def.symbols.2051999757" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> +<listOptionValue builtIn="false" value="BOARD=ARDUINO"/> +<listOptionValue builtIn="false" value="_ASSERT_ENABLE_"/> +<listOptionValue builtIn="false" value="EXT_BOARD=SPB104"/> +<listOptionValue builtIn="false" value="WITH_KEY"/> +<listOptionValue builtIn="false" value="WITH_WPA"/> +<listOptionValue builtIn="false" value="WITH_NO_DMA"/> +<listOptionValue builtIn="false" value="LWIP_DEBUG"/> +<listOptionValue builtIn="false" value="_INFO_DEBUG_=1"/> +</option> +<option id="gnu.c.compiler.option.include.paths.193739172" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="../src"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD"/> +</option> +<option id="avr32.c.compiler.option.flashvault.706805068" name="Enable FlashVault support" superClass="avr32.c.compiler.option.flashvault" value="false" valueType="boolean"/> +<inputType id="avr32.managedbuild.tool.gnu.c.compiler.input.1475497800" superClass="avr32.managedbuild.tool.gnu.c.compiler.input"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.linker.exe.release.1288338195" name="32-bit AVR/GNU C Linker" superClass="avr32.managedbuild.tool.gnu.c.linker.exe.release"> +<option id="avr32.c.linker.option.mcu.1925600688" name="Microcontroller Unit" superClass="avr32.c.linker.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.c.link.option.nostart.2039417085" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/> +<option id="gnu.c.link.option.ldflags.1722356522" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="-Wl,--gc-sections" valueType="string"/> +<option id="gnu.c.link.option.paths.1959265164" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.1.1/UCR2/GCC"/> +</option> +<option id="gnu.c.link.option.libs.1049639323" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +<listOptionValue builtIn="false" value="_ucr2_hd_spi_standalone_v2.1.1"/> +<listOptionValue builtIn="false" value="_ucr2_hd_wl_standalone_v2.1.1"/> +</option> +<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.632786917" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> +<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> +<additionalInput kind="additionalinput" paths="$(LIBS)"/> +</inputType> +</tool> +<tool id="avr32.managedbuild.tool.gnu.cpp.linker.exe.release.524443971" name="32-bit AVR/GNU C++ Linker" superClass="avr32.managedbuild.tool.gnu.cpp.linker.exe.release"> +<option id="avr32.cpp.linker.option.mcu.1441351036" name="Microcontroller Unit" superClass="avr32.cpp.linker.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.cpp.link.option.libs.357630882" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +</option> +<option id="gnu.cpp.link.option.paths.1766302960" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.assembler.exe.release.1716843860" name="32-bit AVR/GNU Assembler" superClass="avr32.managedbuild.tool.gnu.assembler.exe.release"> +<option id="avr32.both.asm.option.debugging.level.1012502787" name="Debug Level" superClass="avr32.both.asm.option.debugging.level" value="avr32.both.asm.debugging.level.none" valueType="enumerated"/> +<option id="avr32.both.asm.option.mcu.1121971446" name="Microcontroller Unit" superClass="avr32.both.asm.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="gnu.both.asm.option.include.paths.1772545555" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.preprocessor.exe.release.1758206047" name="32-bit AVR/GNU Preprocessing Assembler" superClass="avr32.managedbuild.tool.gnu.preprocessor.exe.release"> +<option id="avr32.both.preprocessor.option.debugging.level.1064888815" name="Debug Level" superClass="avr32.both.preprocessor.option.debugging.level" value="avr32.both.preprocessor.debugging.level.none" valueType="enumerated"/> +<option id="avr32.both.preprocessor.option.mcu.1280537649" name="Microcontroller Unit" superClass="avr32.both.preprocessor.option.mcu" value="-mpart=uc3a1512" valueType="string"/> +<option id="avr32.both.preprocessor.option.flags.1754897169" name="Assembler flags" superClass="avr32.both.preprocessor.option.flags" value="-Wa,-g" valueType="string"/> +<option id="avr32.both.preprocessor.option.paths.213343763" name="Include paths (-I)" superClass="avr32.both.preprocessor.option.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/TC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +<inputType id="avr32.managedbuild.tool.gnu.preprocessor.input.1134352373" superClass="avr32.managedbuild.tool.gnu.preprocessor.input"/> +</tool> +</toolChain> +</folderInfo> +<sourceEntries> +<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<entry excluding="spb.h|httpd.h|httpd.c|platform_spi.h|clocks.c|clocks.h|nor_flash.h|nor_flash.c|wl_util.h|wl_util.c|startup.h|startup.c|ttcp.h|ttcp.c|fsdata.c|hdwireless_gif.h|http_server_gui.h|http_server_gui.c|SOFTWARE_FRAMEWORK/COMPONENTS/TOUCH|SOFTWARE_FRAMEWORK/DRIVERS/ADC|SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_fw.h|gui.c|SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC|SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY|SOFTWARE_FRAMEWORK/COMPONENTS/DISPLAY/ET024006DHU|gui_getstring.c|SOFTWARE_FRAMEWORK/BOARDS/EVK1105" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> +</sourceEntries> +</configuration> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> +<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +<storageModule moduleId="scannerConfiguration"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.1761605428.53366445;avr32.managedbuild.config.gnu.exe.release.1761605428.53366445.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1297103917;avr32.managedbuild.tool.gnu.c.compiler.input.1475497800"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.1622245200;avr32.managedbuild.config.gnu.exe.debug.1622245200.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1012366065;avr32.managedbuild.tool.gnu.c.compiler.input.253539519"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753;avr32.managedbuild.config.gnu.exe.debug.1622245200.609577753.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.1323919988;avr32.managedbuild.tool.gnu.c.compiler.input.253409817"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.1761605428;avr32.managedbuild.config.gnu.exe.release.1761605428.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1267623154;avr32.managedbuild.tool.gnu.c.compiler.input.233400464"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> +</cconfiguration> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<project id="wifiHD.avr32.managedbuild.target.gnu.exe_2.0.1.351102936" name="32-bit AVR/GNU Executable" projectType="avr32.managedbuild.target.gnu.exe_2.0.1"/> +</storageModule> +</cproject> diff --git a/firmware/libraries/WiFi/extras/wifiHD/.project b/firmware/libraries/WiFi/extras/wifiHD/.project new file mode 100644 index 0000000..c284bab --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/.project @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>wifiHD</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> + <triggers>clean,full,incremental,</triggers> + <arguments> + <dictionary> + <key>?name?</key> + <value></value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.append_environment</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildArguments</key> + <value></value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildCommand</key> + <value>make</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildLocation</key> + <value>${workspace_loc:/wifiHD/Debug}</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.contents</key> + <value>org.eclipse.cdt.make.core.activeConfigSettings</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableAutoBuild</key> + <value>false</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableCleanBuild</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableFullBuild</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.stopOnError</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> + <value>true</value> + </dictionary> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.atmel.avr32.core.nature</nature> + <nature>org.eclipse.cdt.core.cnature</nature> + <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> + <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> + </natures> + <linkedResources> + <link> + <name>UC3 Software Framework</name> + <type>2</type> + <locationURI>framework:/com.atmel.avr32.sf.uc3</locationURI> + </link> + </linkedResources> +</projectDescription> diff --git a/firmware/libraries/WiFi/extras/wifiHD/Release/wifiHD.elf b/firmware/libraries/WiFi/extras/wifiHD/Release/wifiHD.elf new file mode 100644 index 0000000000000000000000000000000000000000..d4a8bde55f5e9f4440ca6881789df6174559b9f5 GIT binary patch literal 724331 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 OIX(+#DCueSWB(skxo>~~ literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifiHD/Release/wifiHD.hex b/firmware/libraries/WiFi/extras/wifiHD/Release/wifiHD.hex new file mode 100644 index 0000000..0122587 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/Release/wifiHD.hex @@ -0,0 +1,16358 @@ +:0200000480007A +:10000000E08F100000000000000000000000000071 +:1000100000000000000000000000000000000000E0 +:1000200000000000000000000000000000000000D0 +:1000300000000000000000000000000000000000C0 +:1000400000000000000000000000000000000000B0 +:1000500000000000000000000000000000000000A0 +:100060000000000000000000000000000000000090 +:100070000000000000000000000000000000000080 +:100080000000000000000000000000000000000070 +:100090000000000000000000000000000000000060 +:1000A0000000000000000000000000000000000050 +:1000B0000000000000000000000000000000000040 +:1000C0000000000000000000000000000000000030 +:1000D0000000000000000000000000000000000020 +:1000E0000000000000000000000000000000000010 +:1000F0000000000000000000000000000000000000 +:1001000000000000000000000000000000000000EF +:1001100000000000000000000000000000000000DF +:1001200000000000000000000000000000000000CF +:1001300000000000000000000000000000000000BF +:1001400000000000000000000000000000000000AF +:10015000000000000000000000000000000000009F +:10016000000000000000000000000000000000008F +:10017000000000000000000000000000000000007F +:10018000000000000000000000000000000000006F +:10019000000000000000000000000000000000005F +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:1001C000000000000000000000000000000000002F +:1001D000000000000000000000000000000000001F +:1001E000000000000000000000000000000000000F +:1001F00000000000000000000000000000000000FF +:1002000000000000000000000000000000000000EE +:1002100000000000000000000000000000000000DE +:1002200000000000000000000000000000000000CE +:1002300000000000000000000000000000000000BE +:1002400000000000000000000000000000000000AE +:10025000000000000000000000000000000000009E +:10026000000000000000000000000000000000008E +:10027000000000000000000000000000000000007E +:10028000000000000000000000000000000000006E +:10029000000000000000000000000000000000005E +:1002A000000000000000000000000000000000004E +:1002B000000000000000000000000000000000003E +:1002C000000000000000000000000000000000002E +:1002D000000000000000000000000000000000001E +:1002E000000000000000000000000000000000000E +:1002F00000000000000000000000000000000000FE +:1003000000000000000000000000000000000000ED +:1003100000000000000000000000000000000000DD +:1003200000000000000000000000000000000000CD +:1003300000000000000000000000000000000000BD +:1003400000000000000000000000000000000000AD +:10035000000000000000000000000000000000009D +:10036000000000000000000000000000000000008D +:10037000000000000000000000000000000000007D +:10038000000000000000000000000000000000006D +:10039000000000000000000000000000000000005D +:1003A000000000000000000000000000000000004D +:1003B000000000000000000000000000000000003D +:1003C000000000000000000000000000000000002D +:1003D000000000000000000000000000000000001D +:1003E000000000000000000000000000000000000D +:1003F00000000000000000000000000000000000FD +:1004000000000000000000000000000000000000EC +:1004100000000000000000000000000000000000DC +:1004200000000000000000000000000000000000CC +:1004300000000000000000000000000000000000BC +:1004400000000000000000000000000000000000AC +:10045000000000000000000000000000000000009C +:10046000000000000000000000000000000000008C +:10047000000000000000000000000000000000007C +:10048000000000000000000000000000000000006C +:10049000000000000000000000000000000000005C +:1004A000000000000000000000000000000000004C +:1004B000000000000000000000000000000000003C +:1004C000000000000000000000000000000000002C +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F00000000000000000000000000000000000FC +:1005000000000000000000000000000000000000EB +:1005100000000000000000000000000000000000DB +:1005200000000000000000000000000000000000CB +:1005300000000000000000000000000000000000BB +:1005400000000000000000000000000000000000AB +:10055000000000000000000000000000000000009B +:10056000000000000000000000000000000000008B +:10057000000000000000000000000000000000007B +:10058000000000000000000000000000000000006B +:10059000000000000000000000000000000000005B +:1005A000000000000000000000000000000000004B +:1005B000000000000000000000000000000000003B +:1005C000000000000000000000000000000000002B +:1005D000000000000000000000000000000000001B +:1005E000000000000000000000000000000000000B +:1005F00000000000000000000000000000000000FB +:1006000000000000000000000000000000000000EA +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C0000000000000000000000000000000000029 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:1008000000000000000000000000000000000000E8 +:1008100000000000000000000000000000000000D8 +:1008200000000000000000000000000000000000C8 +:1008300000000000000000000000000000000000B8 +:1008400000000000000000000000000000000000A8 +:100850000000000000000000000000000000000098 +:100860000000000000000000000000000000000088 +:100870000000000000000000000000000000000078 +:100880000000000000000000000000000000000068 +:100890000000000000000000000000000000000058 +:1008A0000000000000000000000000000000000048 +:1008B0000000000000000000000000000000000038 +:1008C0000000000000000000000000000000000028 +:1008D0000000000000000000000000000000000018 +:1008E0000000000000000000000000000000000008 +:1008F00000000000000000000000000000000000F8 +:1009000000000000000000000000000000000000E7 +:1009100000000000000000000000000000000000D7 +:1009200000000000000000000000000000000000C7 +:1009300000000000000000000000000000000000B7 +:1009400000000000000000000000000000000000A7 +:100950000000000000000000000000000000000097 +:100960000000000000000000000000000000000087 +:100970000000000000000000000000000000000077 +:100980000000000000000000000000000000000067 +:100990000000000000000000000000000000000057 +:1009A0000000000000000000000000000000000047 +:1009B0000000000000000000000000000000000037 +:1009C0000000000000000000000000000000000027 +:1009D0000000000000000000000000000000000017 +:1009E0000000000000000000000000000000000007 +:1009F00000000000000000000000000000000000F7 +:100A000000000000000000000000000000000000E6 +:100A100000000000000000000000000000000000D6 +:100A200000000000000000000000000000000000C6 +:100A300000000000000000000000000000000000B6 +:100A400000000000000000000000000000000000A6 +:100A50000000000000000000000000000000000096 +:100A60000000000000000000000000000000000086 +:100A70000000000000000000000000000000000076 +:100A80000000000000000000000000000000000066 +:100A90000000000000000000000000000000000056 +:100AA0000000000000000000000000000000000046 +:100AB0000000000000000000000000000000000036 +:100AC0000000000000000000000000000000000026 +:100AD0000000000000000000000000000000000016 +:100AE0000000000000000000000000000000000006 +:100AF00000000000000000000000000000000000F6 +:100B000000000000000000000000000000000000E5 +:100B100000000000000000000000000000000000D5 +:100B200000000000000000000000000000000000C5 +:100B300000000000000000000000000000000000B5 +:100B400000000000000000000000000000000000A5 +:100B50000000000000000000000000000000000095 +:100B60000000000000000000000000000000000085 +:100B70000000000000000000000000000000000075 +:100B80000000000000000000000000000000000065 +:100B90000000000000000000000000000000000055 +:100BA0000000000000000000000000000000000045 +:100BB0000000000000000000000000000000000035 +:100BC0000000000000000000000000000000000025 +:100BD0000000000000000000000000000000000015 +:100BE0000000000000000000000000000000000005 +:100BF00000000000000000000000000000000000F5 +:100C000000000000000000000000000000000000E4 +:100C100000000000000000000000000000000000D4 +:100C200000000000000000000000000000000000C4 +:100C300000000000000000000000000000000000B4 +:100C400000000000000000000000000000000000A4 +:100C50000000000000000000000000000000000094 +:100C60000000000000000000000000000000000084 +:100C70000000000000000000000000000000000074 +:100C80000000000000000000000000000000000064 +:100C90000000000000000000000000000000000054 +:100CA0000000000000000000000000000000000044 +:100CB0000000000000000000000000000000000034 +:100CC0000000000000000000000000000000000024 +:100CD0000000000000000000000000000000000014 +:100CE0000000000000000000000000000000000004 +:100CF00000000000000000000000000000000000F4 +:100D000000000000000000000000000000000000E3 +:100D100000000000000000000000000000000000D3 +:100D200000000000000000000000000000000000C3 +:100D300000000000000000000000000000000000B3 +:100D400000000000000000000000000000000000A3 +:100D50000000000000000000000000000000000093 +:100D60000000000000000000000000000000000083 +:100D70000000000000000000000000000000000073 +:100D80000000000000000000000000000000000063 +:100D90000000000000000000000000000000000053 +:100DA0000000000000000000000000000000000043 +:100DB0000000000000000000000000000000000033 +:100DC0000000000000000000000000000000000023 +:100DD0000000000000000000000000000000000013 +:100DE0000000000000000000000000000000000003 +:100DF00000000000000000000000000000000000F3 +:100E000000000000000000000000000000000000E2 +:100E100000000000000000000000000000000000D2 +:100E200000000000000000000000000000000000C2 +:100E300000000000000000000000000000000000B2 +:100E400000000000000000000000000000000000A2 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:1010000000000000000000000000000000000000E0 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:1010400000000000000000000000000000000000A0 +:101050000000000000000000000000000000000090 +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:08200000481F000080013E04AE +:102008003038F00C19005EBC5C7C4848F00C003994 +:10201800F00C093BB22A5EFC000011C0F80815015B +:102028003039F20C1800E08800035EFDF00B000B5D +:102038004828F00B032C5EFC00007B08580CC0D02D +:1020480048787829F00900293008720A143CC060E1 +:102058002FF82F895848CFA13FF85EF800007B0879 +:102068003038F00C18005EBCF60C001C30094838FB +:10207800F00C09295EFC000000007B085EFFD70316 +:10208800D4011988301EB6881998B6BEEA18FFFF21 +:10209800E818FF80B6AEB698580AC0301588C0A8B0 +:1020A80048981188F4081800C0303038C03848788B +:1020B80011B8B6C83EE8B6D83008B6E8302C306853 +:1020C800B208D802000016AB00000008D40130188E +:1020D800198EB68E199CB6A8EA1CFFFFE81CFF8073 +:1020E800B6B8B69C580AC0A0158CE06A00FFF00C80 +:1020F8001800F4081710F9B80001B6C83EE8B6D8B9 +:102108003008B6E8302C3068B208D802D421202D27 +:102118004AAA189E1698129674075807C071FACAE8 +:10212800FFF814F7F01F0026C4681989B6891999B1 +:10213800EA19FFFFE819FF80B6993039B0A9740988 +:102148007219F20C1618B0F9B0CCF9D9C108F3D944 +:10215800C208B0ECB0D9304BB0BB74097229F20C8C +:102168001618F169000CF16C0009F9D9C108F3D906 +:10217800C208F16C000BF16B0008F169000A7409E0 +:10218800300A7239F16A00133EEAF16A0012F20A63 +:102198001618F1690011F16A000EF16B000DF5D9FE +:1021A800C108F3D9C208F16A0010F169000F302C98 +:1021B8003138AC082FEDD8220000152C800020D42F +:1021C8003038F00C18005EBCF60C001B48F8F00B19 +:1021D800032858085E0C704958195E1C7029581954 +:1021E800C09148B8F00C003C9828B42878089508A5 +:1021F8005EFC71E85808F0091700F1F91001F1F8D0 +:10220800120A9509B4285EFC00007B08000011C082 +:10221800D4314BC8300A10941499910A1893301A83 +:102228004B984BA7910A3EE14B921296C0280A9907 +:10223800E0682710C0485808C5602018664AE21AA6 +:102248000201E04A0201CF81C4F8F2C5FFFFE20AA9 +:102258001800CEE10F9BF7DBC0C15825E0890005C7 +:102268003038300AC2E80FAA3038C148580BC0A02D +:10227800EE08070EEE08000CA96E2FE8199C1C0842 +:10228800C058F0CCFFFFEE080708201AF80800082D +:102298005C5A10395F9CEC0A18005F9EFDEC000C3C +:1022A800EC0C1800CE4110395F09F9DAC008EC0CC3 +:1022B80018005F0CF9E90009EC091800C020D83AA9 +:1022C800840C3009F20C1900CB34201D5C6A1ADB2F +:1022D8001AD849081ADA490C1AD51AD8F01F000F6B +:1022E8002FADCA6BDA3A662A68085C5A2FF8EE09ED +:1022F8000B0A8908E0480063FE9AFFA9305CD832CF +:10230800000014B0000011B8000014B8000016A2B4 +:102318008003792C80037AB0800094C4D431202DB6 +:102328004C68149570081896169712945808C0713E +:10233800FACAFFF814F8F01F0042CC38198830198F +:10234800B6881998B6A9EA18FFFFE818FF80B6986A +:102358004BC89088EDB80002C171189330023EE175 +:102368000788201D4B8C1AD8F01F00382FF22FED4C +:102378000788E2081800C0502FF3E0420400CF118C +:102388004B3CF01F00320DC83099F2081800E08865 +:1023980000114B09920A3009F20A1900E0840091F1 +:1023A8001AD84AD84ADC1AD8F01F00282FEDC88856 +:1023B800E0450032C290A3684A99E0450033C5D091 +:1023C800129B7209F2080309EECAFFFCF3360020DB +:1023D8003009AEB6C088760CF808030CF809070C6B +:1023E8002FF914CCEC091900CF7349A99289EDB9DA +:1023F8000004C5F149A97209F2080308499C1AD8D2 +:1024080049581AD8C538304BA368495A7409F20894 +:10241800030972C9AEBBF20B1618AEC9AEFBF7D9E9 +:10242800C108F3D9C208AEDBAEE948A99289EDB973 +:102438000004C1903046C3D80000152C800020D479 +:10244800000016A080037AF0800094C4800384D42E +:10245800000016A28003785880037AF8000015203F +:1024680080037B187409F208030870C8496C1AD8ED +:10247800304649681AD8C1A8301AAEBA720AF408A8 +:10248800030AF53A0038AECA491A948AEDBA00042C +:10249800C0303016C0E87209F2080308F138003875 +:1024A80048CC1AD8301648981AD8F01F000B2FEDD0 +:1024B8003EE80C07AEC83008AED82FB6A806302CB8 +:1024C8002FEDD83280037B2880037858000016A2AD +:1024D80080037B38800094C4D421204D4A981897F3 +:1024E800118A580AC0313FF6C0D84A7811BC118EFB +:1024F800119611A8B166EDEE1186EDE81086F9E6A1 +:1025080010064A289088EDB80002C0E14A08201D4C +:102518004A0C1ADA1AD61AD8505B5049F01F001E16 +:102528002FCD4009401B49D870085808C081FACA05 +:10253800FFF00E9C14F8F01F001AC2080F88B68826 +:102548000F98EA18FFFFE818FF80B6983018B6A869 +:102558003048B6B8F1D6C108B6E83EE8EC0A161815 +:10256800B6F6F7680008B6CA3008EDD6C208F768AC +:102578000009B6D63098302CB2082FCDD8220000EA +:102588000000152800007B28000016A28003782090 +:1025980080037B48800094C40000152C800020D460 +:1025A800D401580BC0313FF8C0C8178A17B917981B +:1025B800B168F1EA118817AAF1EA1088F3E810085F +:1025C800F00A161848E9B28AF5D8C208B2B8B29A21 +:1025D800F5D8C108B2AA48B99289EDB90002C0A1DC +:1025E800201D1AD848881ADC488C1AD8F01F000811 +:1025F8002FCD30194878B089D802000000007B2818 +:10260800000016A28003799C80037B74800094C428 +:1026180000001528D431204D4AE8189570081697FF +:1026280012965808C071FACAFFF014F8F01F002A71 +:10263800C4D84AA89088EDB80002C1711894300334 +:102648003EE20988201D4A6C1AD8F01F00262FF395 +:102658002FED0988E4081800C0502FF4E043040067 +:10266800CF114A1CF01F001F0B880BCCAE880B98AB +:10267800EA18FFFFE818FF80AE983004BA445014F7 +:102688003025FACAFFFCAEA5301BF01F0018304AEF +:10269800EF64000CEF6500084018F0091618AEF852 +:1026A800AEC99A49AEBAF5D8C108F1D8C208EF69DF +:1026B800000AAED8AEEA3EE8F3D9C108EF68000BCD +:1026C800EF69000930C8302CAC082FCDD832000093 +:1026D8000000152C800020D4000016A080037AF09A +:1026E800800094C4800384D4800021C8D40148A801 +:1026F8009088EDB80002C0E148887008201D1AD8FB +:10270800487811881AD84878487C1AD8F01F0007EA +:102718002FCDDA0A000016A200000008000016AB50 +:10272800800379E480037BA8800094C4D42148E620 +:10273800189E30076C0C580CC0A02FF72EC6E04727 +:102748000024CF91489CF01F000ADC2A4866EE0757 +:102758000027EC070027EF680010AECE8F0B8F2AFA +:102768008F39D822000011E080037BC4800094C414 +:10277800D4214C8618970C9A302830094C6B310CB0 +:10278800F01F00460C9A302830094C5B311CF01FB2 +:1027980000430C9A302830094C2B312CF01F003F95 +:1027A8000E990C9A30284C0B314CF01F003C0E99B6 +:1027B8000C9A30284BDB315CF01F00383018300998 +:1027C8004BBA4BCB320CF01F003530184BA73009F1 +:1027D8000E9B4BAA321CF01F00310E9B301830099B +:1027E8004B7A322CF01F002D4B6532390A9A0E9B1A +:1027F8003018129CF01F002932490A9A0E9B301893 +:10280800129CF01F002632590A9A0E9B3018129C0F +:10281800F01F00220A9A32690E9B3018129CF01F92 +:10282800001F0C9A302830094A7B336CF01F001BBC +:102838000E9B301830094A5A327CF01F00180C9A47 +:10284800302830094A2B330CF01F00144A1533394D +:102858000A9A0E9B3018129CF01F001033190A9A1E +:102868000E9B3018129CF01F000D0A9A33290E9BFC +:102878003018129CF01F00090C9A30283009496B57 +:10288800334CF01F00060E9B30183009493AC278C5 +:10289800800020D48000427C8000273480004118CA +:1028A8008000433080003FD080003EA88000208810 +:1028B800800026F48000208480002114800035ECFC +:1028C80080003514800034A480004B5480003740C9 +:1028D8008000232480003678800024E0335CF01FD9 +:1028E80000370C9A302830094B5B328CF01F0033CC +:1028F8000C9A302830094B3B32DCF01F00300C9A20 +:10290800302830094B0B32ECF01F002C0E9B30188E +:1029180030094AEA329CF01F00290E9B3018300912 +:102928004ABA32CCF01F00250E9B301830094A9A5B +:1029380032BCF01F00220C9A304830094A6B344CE4 +:10294800F01F001E0E9B301830094A4A32ACF01FA7 +:10295800001B0E9B301830094A1A345CF01F001710 +:102968000E9B3018300949FA32FCF01F00140E9BF8 +:102978003018300949CA337CF01F00100E9B3018FC +:10298800300949AA338CF01F000D0C9A30483009E1 +:10299800497B346CF01F00090C9A30283009495BD8 +:1029A800339CF01F00060E9B30183009492A33ACBF +:1029B800F01F0002D82200008000273480003D88E4 +:1029C80080003AC8800038B4800033FC800030D4DE +:1029D800800032848000375C800032088000300438 +:1029E8008000332880002F8C80002EC4800038841B +:1029F800800037CC8000261CD4013038580B5F1972 +:102A0800F00C18005F88F3E80008C060F40C0019A7 +:102A180048D8F009092B48D89088EDB80001C111B1 +:102A280048B848C9580AF20A1700F00A171048A807 +:102A38001ADA1ADB1ADC489C1AD8F01F00092FCDC5 +:102A4800D802000000007B08000016A280037BDC8F +:102A580080037BE4800378C080037BF0800094C40B +:102A6800D401580BF60A1700F7FA180BF01F0002EA +:102A7800D802000080002A00D401320A300B483CFA +:102A8800F01F0003D802000000007B088002E8BCA9 +:102A9800D421206D3087FAC6FFF00E9A4C6B18953A +:102AA8000C9CF01F0046304B0C9CF01F0045300872 +:102AB800FB68000DBA88FB680009FB68000BFB681F +:102AC800000CEE784240501830480E9BFB67000817 +:102AD800FB68000A300AFE7C2400F01F003A1897B1 +:102AE800C0F04B989088EDB80002C0814B78201D4B +:102AF8004B7C1AD8F01F00372FED301CC5A8E06AB0 +:102B0800F980EA1A03371A9BFE7C2400F01F003272 +:102B1800582CC0D14AC89008EE081900C0844AB899 +:102B2800201D4AEC1AD8F01F002B2FEDD303300AD2 +:102B3800E06B01204AACF01F002BD503E1B8000080 +:102B4800EE180001F5D8C201C020D303FE78240096 +:102B58003019705BF7D9D001915B705BF7D9D0C1A0 +:102B6800915B705BF7D9D081915B580AC020D5037F +:102B7800FE7C2400F01F001C0A9CF01F001C364A33 +:102B8800300B49BCF01F001BE06A0400300B49AC55 +:102B9800F01F0018E06A0400300B498CF01F001584 +:102BA800F01F0017497830079107F01F00170E9C97 +:102BB8002FADD822800382078002E7368000A280EA +:102BC8008000A618000016A2800379BC80037C0848 +:102BD800800094C48000A73C80037C2880002C10CF +:102BE8008000A3A08000A7EC80002778000014B81C +:102BF8008002E8BC00000DB8000009B880002A80F7 +:102C0800000000088000751CD401E1B80000EE182F +:102C18000001F5D8C201C020D303FE782400301982 +:102C2800706BF7D9D001916B706BF7D9D0C1916BEC +:102C3800706BF7D9D081916B580AC020D503FE7C00 +:102C480024007848EDB80000C0F1F01F0016C0C19C +:102C5800319CF01F0015495890092FF9B009301917 +:102C68004938B089C1B8E1B80000EE180001F5D8BC +:102C7800C201C020D303FE7824003019705BF7D955 +:102C8800D001915B705BF7D9D0C1915B705BF7D9CC +:102C9800D081915B580AC020D503D402D603000026 +:102CA800800022188000A2E6000014B40000151C61 +:102CB800D4313006189714931694950618983E093F +:102CC800C2C81095118A2FF8F20A1800C251580686 +:102CD800C21049E890093008F0091900C064089B3F +:102CE8000E9C5C7BF01F001A49A890093008F00977 +:102CF8001900C1040C070F98201D1AD849681AD466 +:102D08001AD690881AD84958495C1AD8F01F001565 +:102D18002FAD8706C1882FF60836CD4548D89009CB +:102D28003008F0091900C0353005C0D8201D48A862 +:102D38001AD690881AD8489848BC1AD83005F01F77 +:102D480000092FCD0A9CD832000016A680013DB498 +:102D5800000016A2000014B4800378D080037C48D9 +:102D6800800094C480037C6CD42118971696F01FB9 +:102D780000325F080E3C5F191895F1E91009C03060 +:102D88005808C5710B893E08F0091800C5210B9930 +:102D98003008F0091800C4D5E2190040C0E1EACAB9 +:102DA800FFFD0BAC1298C068158B2FF92FFB160A84 +:102DB80016081839CFA5C2384A089088EDB800021D +:102DC800C0D149F8201D49FC1AD8F01F001FF7D6BA +:102DD800C0100E9CF01F001D2FED3009EACAFFFD40 +:102DE8000BAC1298C0A81587159B2FF9F7E7108B25 +:102DF8002FEB160AF60800081839CF6510053EE9CA +:102E08000BB8F2081800C021DA2A4919920A3009C9 +:102E1800F20A1900C0E4201D1AD848E890881AD888 +:102E2800487848DC1AD8F01F0008300C2FCDD8227B +:102E3800D82A000080002CB8000016A080037974FE +:102E480080037C84800094C480013DB4000016A2F5 +:102E5800000014B480037C8CD4014918581CC0713C +:102E68003039334C9109F01F000FC0683049334C9A +:102E78009109F01F000D48D89088EDB80002C0D124 +:102E880048787008201D1AD848981AD8489848AC2D +:102E98001AD8F01F000A2FCDD80200000000000841 +:102EA8008000A2E68000A300000016A280037A3CFE +:102EB8008003821080037CB0800094C4D421FACDB2 +:102EC80001004AC81697700512965805C071FACACB +:102ED800FF0014F5F01F0028C4A81989301AB68914 +:102EE8001999B6AAEA19FFFFE819FF80B69919B926 +:102EF800F4091800C20119C53FF8F0051800C1B05F +:102F0800E06A00FF300B1A9CF01F001C1A9430086E +:102F1800C048E8080B082FF80A38CFC51A94AEB590 +:102F2800EEC8FFFCFA050009C038093A10CA123485 +:102F3800CFD1C15849256A0CF01F00120A98EECA71 +:102F4800FFFCEBDCC0083009AEB5C068700BF609B1 +:102F5800070B2FF914CBEA091900CF933EE80A07AB +:102F6800AEC83008AED82FB5302CAC052C0DD82201 +:102F78000000152C800020D48002E8BC0000011459 +:102F88008002EDD0D421202D49981697700E129604 +:102F9800580EC071FACAFFF814FEF01F0016C25886 +:102FA8001989B6891998EA18FFFFE818FF80B698BA +:102FB80030184915B6A86A0CF01F0010EEC9FFFCBE +:102FC8005C5C3008AEBCC0686A0AF408070A2FF8CF +:102FD80012CAF8081900CF933EE818072FBCAEC8EC +:102FE8003008AED8AC0C302C2FEDD8220000152CB0 +:102FF800800020D4000001148002EDD0D421202DBF +:103008004AE818967008169712955808C071FACAB7 +:10301800FFF814F8F01F002AC4D84AA811D4303891 +:10302800F0041800E08B0046FACAFFFC1A9B089CC3 +:10303800F01F00250D88C300AE880D98EA18FFFF21 +:10304800E818FF80AE983018AEA81BC8AEB89A280A +:10305800AEC83008C0B8F3D8C010400BF1DAB010D1 +:10306800EE09000AF6090709B4D9F0CAFFFF9A2940 +:10307800F2081900CF13F1D9C010EE0800083EEA93 +:10308800B0DA9AA82FA910073008AEE8AA09089C58 +:10309800F01F000EC0E8AE880D98EA18FFFFE81888 +:1030A800FF80AECCAE98AEAC3EE8AEB83048AA08C9 +:1030B800302C2FEDD82200000000152C800020D4E1 +:1030C80000000DB880006BF480006FBCD431202D57 +:1030D8004C5818967008169712955808C071BAE897 +:1030E800FACAFFFAF01F0041C728F8C8FFFDC3C09D +:1030F80011842FF4F0040004C37009893018F00912 +:103108001800C67109993EE8F0091800C6214B88D5 +:1031180090093008F0091900C5C44B681AD44B6CE3 +:103128001AD8F01F00362FEDC548099309A9F3E313 +:1031380010835C83C54809893018F0091800C1510B +:1031480009993EE8F0091800C1014A989009300829 +:10315800F0091900C0A44A781AD44A7C1AD8F01F7A +:1031680000272FEDC02830030DB43018F0041800E4 +:10317800C2D10DCC3038F00C1800E08B0028F5D304 +:10318800C008FACBFFF9F01F001E0D88C120AE88D9 +:103198000D98EA18FFFFE818FF80AEB4AE98AEA409 +:1031A8001BF8AEC83EE8AED83008AEE83068C0D8E4 +:1031B800AE880D98EA18FFFFE818FF80AE983EE841 +:1031C800AECCAEB8AEAC3048AA08302C2FEDD83211 +:1031D80009883029F2081800CA9030032FF8100423 +:1031E800CAB1CC3B0000152C800020D4000016A2E8 +:1031F8008003780C80037CBC800094C480006FE05E +:10320800D421202D49A81697700E1296580EC07119 +:10321800FACAFFF814FEF01F0017C2681989301A9D +:10322800B6891999B6AAEA19FFFFE819FF80B69975 +:1032380019B9F4091800C0D119C83039F2081800B2 +:10324800E08B000848C9F208033CF01F000CC028B6 +:10325800300C3018AEB83EE8AECCAED83008AEE888 +:10326800302C3068AC082FEDD82200000000152C57 +:10327800800020D400007B0880004D78D421202DC8 +:103288004A181697700E1296580EC071FACAFFF8AF +:1032980014FEF01F001EC3481989301AB6891999FF +:1032A800B6AAEA19FFFFE819FF80B69919B9F40917 +:1032B8001800C0B119CC3038F00C1800E08B0006AB +:1032C800F01F00135C8CC028300C3028AEB83EE8E4 +:1032D800AECCAEE85C7CF8081608AED83008AEF87C +:1032E8003078AC0848B89088EDB80002C08148A88A +:1032F8001ADC48AC1AD8F01F000A2FED302C2FED3D +:10330800D82200000000152C800020D480006D38E1 +:10331800000016A8800378A880037CD8800094C495 +:10332800D421202D4AA81697700512965805C07109 +:10333800FACAFFF814F5F01F0027C4781989301A63 +:10334800B6891999B6AAEA19FFFFE819FF80B69954 +:10335800303819B919C5F40918005F09F0051800C3 +:103368005F881268C19049C8F00503345804C060EA +:10337800089C301BF01F0019C10849989009E809FA +:103388001900C0A449781AD5497C1AD8F01F00172B +:10339800089C2FEDC028300C3018AEB83EE8AECCF3 +:1033A800AED83008AEE83068AC0849189088EDB857 +:1033B8000002C0A148B8201D1ADC48EC1AD51AD85A +:1033C800F01F000A2FCD302C2FEDD8220000152C2D +:1033D800800020D400007B0880004F1C000016A647 +:1033E8008003794080037CEC800094C4000016A818 +:1033F80080037D10D421202D4A181697700E12963E +:10340800580EC071FACAFFF814FEF01F001EC34818 +:103418001989301AB6891999B6AAEA19FFFFE81965 +:10342800FF80B69919B9F4091800C0F119C83039E4 +:10343800F2081800E08B000A4939F2080038300B0E +:10344800701CF01F0012C028300C3018AEB83EE8CF +:10345800AECCAED83008AEE83068AC0848C8908822 +:10346800EDB80002C08148B81ADC48BC1AD8F01F71 +:10347800000B2FED302C2FEDD82200000000152C6A +:10348800800020D400007B0880004F1C000016A894 +:1034980080037A6480037D28800094C4D40149584D +:1034A8009088EDB80002C08149381ADC493C1AD826 +:1034B800F01F00132FED49383009118AF20A18005D +:1034C800C021DC0AB089F01F0010581CC1004898C0 +:1034D80090093008F0091900C025DA0A48681ADC92 +:1034E80048AC1AD8F01F0006301C2FEDD802000097 +:1034F800000016A28003798480037D38800094C47C +:10350800000016AA80019EF880037D54D421202D46 +:103518004B281496700E16971295580EC071FACA59 +:10352800FFF814FEF01F002EC5681989B68919988E +:10353800EA18FFFFE818FF803014B698B6A4F01F09 +:103548000029C3E0E0460025C260E0460026C3200B +:10355800EEC9FFFCE0460024C0F0129AF9380020BA +:103568003009AEB8C058F809070B2FF914CBF00989 +:103578001900CFA3C28830682DACAEB8306A3008C5 +:10358800198B12CB2FF8201C5C88F4081900CF91F6 +:103598003068C19878C8F0091618AEF93049AEC835 +:1035A800AEB9F3D8C108F1D8C208AED9AEE83048F0 +:1035B800C0A8AEB4F9380038AEC83018C048AEB4A8 +:1035C800AECC18983EE91007AEC93009AED92FB86D +:1035D800302CAA082FEDD8220000152C800020D40A +:1035E8008001997CD421202D49F8189670081697E7 +:1035F80012955808C041FACAFFF8C1881988B688D8 +:103608001998EA18FFFFE818FF803019B698306853 +:10361800B6A9B6B81A9CF01F0015581CC0B00A9974 +:103628000E9B0C9CFACAFFF8300814F8F01F001023 +:10363800C1881BD8AEC81BC8AED81BB8AEE81BA83B +:10364800AEF81B98EF6800081B88EF6800093EE891 +:10365800EF68000A3008EF68000B302C30B8AA0871 +:103668002FEDD8220000152C80019128800020D44D +:10367800D421FACD010016961A971A9C173AF01F12 +:103688000025FAC9FF000D88F20800083009F16921 +:10369800FF004A189088EDB80002C08149F81AD78F +:1036A80049FC1AD8F01F001F2FED300849E749FAE6 +:1036B800AE88AE98AEA8AEB8B488109949CA0E9B29 +:1036C8001A9C1A96F01F001B5C5CC040E06C00FF5F +:1036D800C1E849189088EDB80002C1510F8A0FB9A6 +:1036E8000F98B168F1EA11880FAAF1EA1088F3E897 +:1036F8001008201D1AD848981AD648FC1AD8F01F66 +:1037080000092FCD30194898301CB0892C0DD822CB +:103718008002E736000016A280037A7C80037D646D +:10372800800094C400007B2800001528800025A88C +:103738008000C4C080037D84D401F01F0006E068C7 +:1037480000FF581CF00C1710F9BC0001D80200004B +:10375800800199CCD42118971696335CF01F001677 +:103768005827C1F10D980D89F1E910893018F00931 +:103778001900C1710DA80DBA0DC9303BF608180023 +:10378800E0880004300CC04848CBF608033CA96A1E +:10379800ECCBFFFB120A5C7AF01F00091897C028CF +:1037A8003FF7335CF01F0007E06C00FF5817F9BCC7 +:1037B8000001D8228000A30000007B08800053C0CD +:1037C8008000A2E6D421202D581CC4211789F809AD +:1037D8001800C3E1F6C8FFFE1796C170118AF20AF5 +:1037E8001800C131119A3EE9F20A1800C0E149B93E +:1037F800920A3009F20A1900C0841AD84988499CEB +:103808001AD8F01F00192FED3008FACAFFF8300B4C +:1038180014E80C9CF01F00159A3A18973038F006F7 +:103828001800E0880004300CC0484918F006033C32 +:103838005C7A0E9BF01F000F18950C9CF01F000E71 +:103848000E9CF01F000E5815C0310A9CC038E06C61 +:1038580000FF2FEDD8220000000016A28003795C3B +:1038680080037CBC800094C4800072DC00007B086C +:103878008000514080006E188002E28CD401582CE0 +:10388800C13117981789F1E910893018F009190022 +:10389800C0B117C817BA17ACA96A2FBBF00A000A3B +:1038A8005C7AF01F0002DA0A80007380D421581C69 +:1038B800C391580BC0311697C1E81788F80818004B +:1038C800C3411797C33817893018F0091800C13158 +:1038D80017993EE8F0091800C0E1497890093008C6 +:1038E800F0091900C08449581ADB495C1AD8F01F3E +:1038F80000152FED49089088EDB80002C08148F8FE +:103908001AD7491C1AD8F01F000F2FED3038F007CE +:103918001800E08B000848D8F007033CF01F000CA3 +:10392800DA2AE06C00FFD82230072FF8100BCCC140 +:10393800CE2B0000000016A2800379F880037CBC1F +:10394800800094C480037DA800007B088000599CF7 +:10395800D421202D4B981896169414971295908878 +:10396800EDB80002C1314B694B685805F2081700E1 +:10397800201D1AD816985C781ADA1AD84B281ADC3F +:103988004B2C1AD8F01F00322FAD3038F007180032 +:10399800E0880005E06C00FFC8584AE8F0070338E3 +:1039A80050085808C1504A59920A3009F20A1900B9 +:1039B800C0841AD84A484A8C1AD8F01F00252FED1F +:1039C800400CF01F002630094A28F00709391A9CD4 +:1039D800E06A04005016300B1ADC14981AD75C748D +:1039E8001ADB16991AD5089C1ADA169A1AD6F01FF5 +:1039F800001C49282FAD580CC3819088EDB80002EF +:103A0800C1511AD71AD41AD6403850461AD848D8AD +:103A180048B95805F2051700F005171048A81AD537 +:103A2800490C1AD8F01F000A2FAD0E9C400BF01F4E +:103A3800000E301CC3780000000016A280037DC869 +:103A480080037DC4800379C480037DCC800094C446 +:103A580000007B0880037DF88000599C80005D642D +:103A680080037E2480002A689088EDB80002C15146 +:103A78001AD71AD41AD6403850461AD848B848C95E +:103A88005805F2051700F005171048A81AD548ACD4 +:103A98001AD8F01F000A2FAD300948983FFCF007EC +:103AA80009392FEDD822000080037DC480037DC82A +:103AB800800379C480037E50800094C400007B0892 +:103AC800D431584CE081008E580BC2A01785F805F8 +:103AD8001800E081008A179817A7B167EFE81187E7 +:103AE80017B8EFE8108717C8F1E71007C7E80B8980 +:103AF8003018F0091800C7E10B993EE8F0091800E2 +:103B0800C7914C2890093008F0091900C7344C08AF +:103B18001AD54C0C1AD8F01F00402FEDC6B81697CE +:103B28003006C1F80B960BA8F1E610865C86C688AD +:103B380007893018F0091800C72107993EE8F009ED +:103B48001800C6D14B1890093008F0091900C6743E +:103B58004AF81AD34AFC1AD8F01F002F2FEDC5F8DF +:103B68003005C1B80795C61809893018F00918003A +:103B7800C61109993EE8F0091800C5C14A389009EC +:103B88003008F0091900C5644A181AD44A1C1AD812 +:103B9800F01F00212FEDC4E83003C1A80993C50820 +:103BA80009893018F0091800C13109993EE8F0096F +:103BB8001800C0E1495890093008F0091900C0847C +:103BC80049381AD4493C1AD8F01F00132FED06992A +:103BD8000A9AF7D6C0100E9CF01F0010581CC0306F +:103BE800E06C00FFD83230072FF5F6050005C80154 +:103BF800C98B0B833028F0031800C95030062FF307 +:103C0800EA030003C961CADB000016A280037A98A0 +:103C180080037CBC800094C4800039580784301825 +:103C2800F0041800CA0030052FF4E6040004C9D1D6 +:103C3800CB4B09883019F2081800CB1030032FF845 +:103C48001004CAF1CC5B0000D421202D3038169620 +:103C58001494F00B1800E08B0072300750074BA843 +:103C68001188EE081800C0B04B889008EE081900BB +:103C7800C654201D4B684B7C1AD8C0F84B69138971 +:103C8800F0091800C0E14B589008EE081900C56407 +:103C9800201D4AF84B2C1AD8F01F00322FEDC4E82B +:103CA8001A9AE0690400501712981ADAEBDCC0106F +:103CB8001ADB0E9A1AD70E9B1AD40A9C1AD93019F5 +:103CC8001AD7F01F00294A182FAD580CC1B1908897 +:103CD800EDB80002C1114A584A595804F2041700B5 +:103CE800F004171049A81AD64A2C1AD51AD41AD88B +:103CF800F01F001C2FCD0C9C400BF01F001F301C28 +:103D0800C1F89008EE081900C11449884989580477 +:103D1800F2041700F004171048D81AD6497C1AD5AF +:103D28001AD41AD8F01F000F2FCDA17630092FF61C +:103D380049383FFCF0060929C038E06C00FF2FED38 +:103D4800D822000000007B07000016A280037A102A +:103D580080037E80000016AB000016A680037EA0BC +:103D6800800094C480005D6480037DC480037DC8A6 +:103D780080037EB880002A6880037EDC00007B0810 +:103D8800D421583CC661580BC24017843028F0042F +:103D98001800C621179717A8F1E710875C87C5D8C0 +:103DA80009893018F0091800C5D109993EE8F009C9 +:103DB8001800C5814B6890093008F0091900C5241E +:103DC8004B481AD44B4C1AD8F01F00342FEDC4A816 +:103DD80016973006C1B80996C4B80B893018F0098F +:103DE8001800C4B10B993EE8F0091800C4614A886C +:103DF80090093008F0091900C4044A681AD54A6CB9 +:103E08001AD8F01F00262FEDC3883004C1A80B94E0 +:103E1800C3A80B893018F0091800C1310B993EE886 +:103E2800F0091800C0E149A890093008F009190004 +:103E3800C08449881AD5498C1AD8F01F00182FED6C +:103E48000E9C089A0C9B5C7CF01F0015581CC03017 +:103E5800E06C00FFD82230072FF4F6040004CA11E2 +:103E6800CB9B09853018F0051800CB6030062FF57C +:103E7800E8050005CB31CCAB0B883019F2081800E7 +:103E8800CC7030042FF81005CC51CDBB000016A221 +:103E98008003791480037CBC800094C480003C506B +:103EA800D431204D1495740A501A18961788301971 +:103EB800F2081800C771F6C7FFFE1794C1700F8982 +:103EC800F0091800C1310F993EE8F0091800C0E167 +:103ED8004B7890093008F0091900C0844B581AD75C +:103EE8004B5C1AD8F01F00352FED4B189088EDB8B1 +:103EF8000002C0A14AF81AD44B1C1AD61AD51AD8EF +:103F0800F01F002E2FCD3028F0041800E08B004B56 +:103F18003006304030114A624A63C3E80F88E0082F +:103F28001800C4010F990FA8B168F1E911880FB9F9 +:103F3800F1E910880FC92FB7F3E810085807C170C6 +:103F48000F89E2091800C1310F993EEAF4091800F7 +:103F5800C0E18409300AF4091900C0941AD7496CE1 +:103F68001AD35028F01F00152FED400850388489C7 +:103F7800EDB90002C0A11AD84029492C1AD91AD67D +:103F88001AD3F01F000E2FCDF9D6C008FACBFFF4D4 +:103F98002FF6F01F000D0836CC253008301CAAC8B3 +:103FA800C038E06C00FF2FCDD8320000000016A208 +:103FB80080037A4C80037CBC800094C480037F0813 +:103FC80080037F308000C19CD431203D3019149487 +:103FD800189674051788F2081800E0810085F6C75E +:103FE800FFFE1792C1700F89F0091800C1310F99AF +:103FF8003EE8F0091800C0E14BD890093008F009F4 +:104008001900C0844BB81AD74BBC1AD8F01F003B14 +:104018002FED4B789088EDB80002C0A14B581AD20A +:104028004B7C1AD61AD41AD8F01F00342FCD30384A +:10403800F0021800E08B005830064AD04AD1FAC383 +:10404800FFF8C4B80F88304AF4081800C4C10F99A3 +:104058000FA8B168F1E911880FB9F1E910880FC903 +:104068002FB7F3E810085807C1800F89301AF409F0 +:104078001800C1310F993EEAF4091800C0E180091F +:10408800300AF4091900C0941AD749BC1AD150282B +:10409800F01F001A2FED400850288089EDB9000262 +:1040A800C0911AD8497C1AD51AD61AD1F01F001314 +:1040B8002FCD5816C0805826C0B0069B0A9CF01F0A +:1040C8000012C0A8069B0A9CF01F0010C058069B4F +:1040D8000A9CF01F000F2FF60436CB553008301C11 +:1040E800A8C8C038E06C00FF2FDDD832000016A247 +:1040F800800378F080037CBC800094C480037F0830 +:1041080080037F308000CBC88000CA748000CA92C8 +:10411800D421FACD00884C6816979088EDB8000233 +:10412800C0B14C48201D1ADC1AD84C384C3C1AD85F +:10413800F01F00432FCD344A300BFAC6FFFC0C9C0D +:10414800F01F0040306AE06B00FFFACCFFDBF01F85 +:10415800003D0F8A31F8F00A1800E08B008930889A +:10416800EECBFFFFFB68003C0C9CF01F00370F896B +:10417800FB6900244AE89088EDB80002C0A14AE82B +:10418800201D4B2C1AD91AD61AD8F01F002D2FCD66 +:104198000F882FF8FAC6FFB810070C9C0E9B173A29 +:1041A800F01F002BFAC9FF780F88F20800083009C1 +:1041B800F169FFC049E89088EDB80002C0B10F88E6 +:1041C800201D1AD849C81AD64A2C1AD8F01F001C24 +:1041D8002FCD0F8A3018FAC7FFFC3089FACBFFB809 +:1041E8000E9CF01F001D581CC0C0491890093008CB +:1041F800F0091900C3C44908498C1AD81AD8C0E86C +:10420800497CF01F000F0E9C300BF01F001618970A +:10421800581CC080201D1ADC493CF01F00092FEDF6 +:10422800C268492CF01F00060E9CC238000016A276 +:1042380080037A248003787080037F50800094C4C0 +:104248008002E8BC8002E73680037CB08002EE0C76 +:1042580080037F648001908480037F7880037FA03F +:10426800800099A880037FB880037FC0E06C00FFBE +:104278002DEDD822D42120AD4A461697178A31F859 +:10428800F00A1800E08B002FFAC5FFF92FFB0A9CF3 +:10429800F01F001F0F88FAC9FFD8FB680027100914 +:1042A8003008F368FFDF8C88EDB80002C0814998B8 +:1042B8001AD5499C1AD8F01F00192FED300BFACCEB +:1042C800FFF9F01F00171897581CC1B048F890095B +:1042D8003008F0091900C1541ADC48E8491C1AD8FA +:1042E800C0D88C093008F0091900C0353FF7C098CC +:1042F800201D488848CC1AD83FF7F01F00082FED3A +:104308000E9C2F6DD8220000000016A28002E7360E +:10431800800378E080037B18800094C4800099A80B +:1043280080037D5480037FC4D431216D4D281697B6 +:104338009088EDB80002C0B14D08201D1ADC1AD8CB +:104348004CF84D0C1AD8F01F00502FCD321AFAC66F +:10435800FFFD300B0C9CF01F004D0F8A31F8F00A5E +:104368001800E08B0085EECBFFFF0C9CF01F004887 +:104378000F88FB6800234C089088EDB80002C081C4 +:104388004BF81AD64C3C1AD8F01F003F2FED0F8679 +:104398002FF6EE060006FAC7FFAC0C9B0E9C173AE8 +:1043A800F01F003D0D88FAC9FFA8F20800080E9C0E +:1043B8003003F163FFFCF01F00393038EFDCC00830 +:1043C8000D89F00718005FB53018F00918005F185C +:1043D80010450A94E6051800C4A1ECCBFFFDFAC30A +:1043E800FFDC2FE6069C0D8AF01F002B0D88FAC90A +:1043F800FFA8F2080008069BF165FFCCFAC5FFC0CC +:104408000A9CF01F002730D81896F00C18005F1986 +:104418003058F00C18005F18F3E80008E808180096 +:10442800C261FAC4FFB2306AE06B00FF089CF01F5B +:1044380000170C9B08990A9A0E9CF01F001A0E9CF4 +:10444800F01F0019300BFACCFFFDF01F0018581CA4 +:10445800C100489890093008F0091900C0844888BC +:104468001ADC493C1AD8F01F00082FEDE06C00FF59 +:104478002EADD832000016A280037888800379AC6C +:1044880080037F50800094C48002E8BC8002E73635 +:1044980080037FE48002EE0C8002DC2C80009868A8 +:1044A8008001927080019258800099A880037D5401 +:1044B800D401319CF01F0010E06B00EFFE7C280057 +:1044C800F01F000E581CC060FE7C2800F01F000C76 +:1044D800CFC0319CF01F000B48B890093008F00994 +:1044E8001900C0844898201D489C1AD8F01F00095C +:1044F8002FEDD8028000A3008000A7FA8000A7F261 +:104508008000A2E6000016A28003790880037FF0ED +:10451800800094C4D431202D3008FAC7FFF81696CD +:10452800189514930EE81694098B0A9C2FF4F01F23 +:104538000009581CC0B00E9B0A9CF01F0007089881 +:104548000C18E6081900CF13300C2FEDD8320000F4 +:104558008000A7FA8000A816D421202D30081496D0 +:10456800F80C002C129AFAC9FFF812E84A88F00CE5 +:10457800002C169578280C9B0A9C5D184A583049DF +:10458800319C9109F01F00249ABA0C9BFE7C2400F0 +:10459800F01F00221897319CF01F00214A189088BC +:1045A800EDB80002C0414A0CF01F002049D890889D +:1045B800EDB80002C0D149E8201D49EC1AD8F01F17 +:1045C800001B49D80A9C908BF01F001C2FED4958FE +:1045D8009088EDB80002C041499CF01F00144918AA +:1045E8009088EDB80002C0C14918201D491C1AD88E +:1045F800F01F000E9AFB0C9CF01F00102FED9A394B +:1046080049080E9CB0092FEDD8220000000011E0E7 +:10461800000011B88000A3008000451C8000A2E6BD +:10462800000016A080038008800094C480037800EE +:1046380080037C84000011BE80013DB48003800C9F +:10464800000011BCD431202D4BC43048E8C3FFF022 +:10465800BAF81897199616910C90F8C2FFFD2FC456 +:104668003005E21000400988EC081800C4B107883A +:104678003029F2081800C1F10A9C4B08EA05002508 +:10468800029AF00500240E9BE8C5FFF46839F01F74 +:10469800002CC030301CC4E868086A0A049B0FACC0 +:1046A8005D18BAFCE216004030181BF9F009180032 +:1046B800C3C1C3D85800E00A1700F9BA0100E8F8E6 +:1046C800FFFC049B0FAC5D18BAFC30190788F20890 +:1046D8001800C0B10A9C4998EA050025029AF0051D +:1046E80000250E9B6A39C0A83049F2081800C0A1FD +:1046F800029A0E9B0A9CFAC9FFF9F01F0011C170BB +:10470800C1882FF52EC42EC3E0450024CAD148D84D +:1047180090093008F0091900C08448B81AD648BC76 +:104728001AD8F01F000B2FED302CC048304CC02891 +:10473800300C2FEDD8320000000011E080004560F9 +:10474800000016A28003789880038010800094C42B +:10475800D421202D4BD8910C30094BD8118AF20A5C +:104768001800E08000DAB08930085018E1B800007D +:10477800EE180001F5D8C201C020D303FE7824004A +:104788003019706BF7D9D001916B706BF7D9D0C124 +:10479800916B706BF7D9D081916B580AC020D50303 +:1047A8004AC7FACAFFFC6E0B4ABCF01F002C1896C9 +:1047B800C6E04AB8303A6E09910A401B4A98161961 +:1047C800B009E06A03FFF4091900E0880005E06910 +:1047D8000400B0094A064A37EC0B000B4A2C8E8AB3 +:1047E800F01F002230084A2BAC8849FCF01F00213A +:1047F800584CC2204A089088EDB80002C0C149F858 +:10480800201D49FC1AD8F01F001F8E8B496CF01F21 +:10481800001E2FED49889088EDB80002C0D1497874 +:10482800201D497C1AD8F01F00174988490C908B25 +:10483800F01F00152FED4879300893084899B20801 +:1048480048799308C46800000000152C0000151C66 +:10485800000014B0000014B880002D70000011B8DA +:10486800000011BE00000DB88002E736000009B84C +:104878008000464C000016A0800379D880037C8411 +:10488800800094C480013DB4000011BCF01F0024D6 +:104898004A489008EC081900C0A44A3890881AD8E9 +:1048A8004A284A3C1AD8F01F00232FED4A289009BD +:1048B8003008F0091900C0644A084A1C909BF01F90 +:1048C80000214A19300893084A09B20849C9B28830 +:1048D800E06B0120FE7C0D80F01F001DE1B8000098 +:1048E800EE180001F5D8C201C020D303FE782400D9 +:1048F8003019705BF7D9D001915B705BF7D9D0C1E3 +:10490800915B705BF7D9D081915B580AC020D503C1 +:10491800319CF01F00102FEDD8220000800044B811 +:10492800000016A2000014B4800379D88003802CFC +:10493800800094C4000016A6000014B0000014B84B +:1049480080013DB4000011B8000011BE8000A20033 +:104958008000A300D431207D4B6730054B664B782F +:104968001188EA081800EC081710EE0817004B4CDD +:104978001AD8F01F00344B481188EA081800EC07D1 +:1049880017104B2C50074B2230074B23F01F002DDC +:104998000E942FED4B01CBD86A005800E08000B28E +:1049A80080286009201D1AD95028F01F002C602A81 +:1049B8002FFD580AE60A1700E20A171040185C781B +:1049C80060491AD84A681ADC1ADA4A6A5809F40996 +:1049D8001700F00917104A4C1AD91AD01AD61AD744 +:1049E800F01F001860482F8D5808C431E0C9FFBC7B +:1049F800720A580AC0E0744B201D49CC1ADB1ADA37 +:104A08001AD850595048F01F000F2FCD40084019B0 +:104A18002FF82FC95848CED161585808C610704988 +:104A2800493C1AD91AD8F01F00072FEDC598000085 +:104A3800800380548003805C000016AB8003806094 +:104A4800800094C400007B078003807400007B080A +:104A580080037BE480037BDC800096A880037DC410 +:104A680080037DC880038088800380B8800380D05D +:104A780061E85808C350F11900127008201D1AD8AF +:104A8800507850395028F01F002761EA2FFDF53B78 +:104A9800001040291AD940281AD81ADC4A2C1ADBE7 +:104AA8001ADA50B8F01F0021FACAFFE00C9B5084B4 +:104AB800FB5400240E9CF01F001E2FBD40305050A8 +:104AC8001AD0FB1800145028F01F00162FFD4018AC +:104AD8001AD81AD01ADC497CF01F00142FCD0E9C6E +:104AE800F01F001549594968580CF2081710201D85 +:104AF800494C1AD8F01F000D493CF01F000C2FED4F +:104B08002FF62FC55826FE91FF492FF75847C0505A +:104B1800E40700353006C41BF01F000C2FADD83257 +:104B2800800096A8800380E8800094C4800021C893 +:104B380080038114800070788003812C8003812891 +:104B480080038130800381408000D680D431204D9D +:104B58004BE812911896169711895809C1A119881E +:104B6800B6881998EA18FFFFE818FF80B6C9B69802 +:104B7800B6A93EE8B6B83048A2084B589088EDB8B8 +:104B88000002E08100E7201D4B284B3C1AD8C228C0 +:104B9800FACCFFF4F01F0031403366105800C1E131 +:104BA8000D88AE880D98EA18FFFFE818FF80AEA0C0 +:104BB800AE9830093EE8AEC9AEB83048A2084A48B7 +:104BC8009088EDB80002E08100C5201D4A184A4CC3 +:104BD8001AD8F01F00242FEDCBC858B0F9B0020A3C +:104BE80030044A12C0786408F004032C2FF4F01F34 +:104BF800001F641849C51034CF736A0C3004F01FC5 +:104C0800001B8B14661B580BC460A36B301CF01F71 +:104C180000188B0CC3A1497CC1486608F002030B3D +:104C28006A080408501B5008F01F00134008910C34 +:104C3800401B6A082FF4F002030C580CC20148FC10 +:104C4800F01F0008C2880000000016AA000016A283 +:104C58008003783C8003816080018F048003817C1D +:104C6800800094C4000015208002E28C8002DC3CA5 +:104C7800800381988002E2A4800381C0344AF01F37 +:104C880000376A182FF88B18E8021502344C66189A +:104C98001034CC430D88AE880D98EA18FFFFE81849 +:104CA800FF803005AE98AEA030364AD20A984AD96D +:104CB8000E93640AEA0B1502F40B030AF537002079 +:104CC800F4070B08ECCCFFFF2FF7E60C000C5C5741 +:104CD800300AE6060B07C0886404E80B0304E80AF8 +:104CE80007042FFA18C40E9EEE0A1900CF630E9A15 +:104CF8002FFAF4060006928A5C56EDBA0002C1D17A +:104D0800640A202DF40B0304503950281A9C306A89 +:104D1800E8CBFFDFF01F001168CA1ADAE93A003859 +:104D28001ADA491A1AD7491C1AD41AD51ADAF01FEE +:104D380000102F8D400840192FF50035CBB53EE8FF +:104D4800E6060B08069730080C07AE982FF6A20661 +:104D5800302C2FCDD83200008002E7360000152015 +:104D6800000016A28003783C800381E4800094C48C +:104D780048781188580CC0215EFF5C68100C300818 +:104D8800F9390015F00918005F1C5EFC00001530A9 +:104D9800D4211897580CC2A04968F129000030089E +:104DA800F2CA0004F00900065836F5D8E9062FF8CB +:104DB800EE06002C791C163CC17148F89088EDB8B5 +:104DC8000001C0A148D81ADB48DC1AD61AD71AD86D +:104DD800F01F000C2FCDF9D6C00830082F06EE06BC +:104DE80000278F18D8225848CDE1E06C00FFD82260 +:104DF80000001530000016A2800382688003830437 +:104E0800800094C4D42118971695580CC2B04978DC +:104E1800F12900003008F2CB0004F00900065836EA +:104E2800F7D8E9062FF8EE06002A751A580AC03096 +:104E38000A3AC16148E89088EDB80001C0A148D895 +:104E48001AD548DC1AD61AD71AD8F01F000C2FCD5D +:104E5800EE060027F9D6C008EF450044D822584886 +:104E6800CDD1E06C00FFD82200001530000016A25A +:104E780080038CF080038304800094C4D4211897A5 +:104E8800580CC2A049E8F12A00003008F4CC00040C +:104E9800F00A00065836F9D8E9062FF8EE06002978 +:104EA80073195809C170580BC0F049689088EDB85B +:104EB8000001C0A149481AD9494C1AD61AD71AD89C +:104EC800F01F00132FCDEE06002748D8B0866F1CC0 +:104ED800D8225848CDE1580BC10048A8900930089D +:104EE800F0091900C0A448881AD748AC1AD8F01F8E +:104EF8000008300C2FEDD822D82A00000000153009 +:104F0800000016A280038CB880038304800094C438 +:104F180080038324D4214CB816951188189730063D +:104F2800EC081800E08000B6300BF01F004718941A +:104F38005807E0800097580C5F19EC0518005F08C7 +:104F4800F3E81008EC081800E080008C4BF8908813 +:104F5800EDB80002C3314BE811894BE89088EDB8F1 +:104F68000001C2C15C69EE09002871185808C041E7 +:104F7800109E1096C098EE09000AF53E0015F2CA78 +:104F8800FFF8EE0A03266F5A201D580AF40C170082 +:104F9800F5FC10045808F00B1700F1FB10041ADE9A +:104FA8001AD61ADC1ADA1ADB1AD84AB81AD74ABC3F +:104FB8001AD91AD8F01F002A2F6D5805C3D068488F +:104FC80058485F1958085F181268C3304A08118991 +:104FD8004A089088EDB80001C2C15C69EE09002852 +:104FE80071185808C04110951096C098EE09000A2B +:104FF800F5350015F2CAFFF8EE0A03266F5A201D90 +:10500800580AF40C1700F5FC10045808F00B1700A8 +:10501800F1FB10041AD51AD61ADC1ADA1ADB1AD8D8 +:1050280048D81AD748DC1AD91AD8F01F000D2F6DA6 +:10503800E93C0013D8226F58F13C0013D822000035 +:10504800000016AB80004E84000016A80000153042 +:10505800000016A28003828C80038348800094C4D9 +:1050680048D890093008F0091900C1345807EE08EB +:105078001700EE041700EFF810151AD848781AD45C +:10508800487C1AD71AD8F01F0007300C2FCDD82229 +:10509800D82A0000000016A88003828C8003838C25 +:1050A800800094C4D421580CC25049D8F12900007A +:1050B8003008F2CA0004F00900075837F5D8E907A4 +:1050C8002FF8F807002E7D1E163EC12149589088FA +:1050D800EDB80001C0A149481ADB1AD71ADC493CCF +:1050E8001AD8F01F00132FCD0E9C5C5CD8225848AC +:1050F800CE31490890093008F0091900C045E06C24 +:1051080000FFD8224888201D1ADB1ADC48AC1AD8C0 +:10511800F01F0007E06C00FF2FCDD82200001530EB +:10512800000016A6800382BC80038304800094C418 +:10513800000016A2800383C0D421580C5F18580BB6 +:105148005F1918961695F3E800081494C590580A44 +:10515800C5704AC89088EDB80001C0C114985C7841 +:10516800201D1AD84A881ADB4A8C1AD8F01F002842 +:105178002FCD4A889088EDB80001C0D14A28201D5B +:105188004A5C1AD8F01F0022089B0A9C5C7BF01F1F +:1051980000232FED300A5C74149C089BF01F00203C +:1051A8001897C0E149789008F8081900C29449682E +:1051B8001AD649CC1AD8F01F00162FEDC1C8089A84 +:1051C8000A9B781CF01F00180E9B6DECF01F00174F +:1051D8005C5CC12048B890093008F0091900C08407 +:1051E80048981AD6492C1AD8F01F00092FED0E9CA2 +:1051F800F01F0010DC2A0E9CF01F000EDA2ADC2AB1 +:10520800000016A280038CE4800383E8800094C425 +:10521800000016A080037C8480013DB48000D31870 +:10522800800383FC8002E7368001153880038428D8 +:105238008000D13CD421149518971696580CC0417B +:10524800E06C00F6D822F01F00163FF8E9DCC00831 +:10525800F0041800C041E06C00FFD822491890887B +:10526800EDB80001C0E16C48201D1AD848E85C651B +:1052780048EC1AD51AD61AD71AD8F01F000D2FAD38 +:105288006C4858485F0948B8B0893008EE040004F3 +:10529800E9680068F01F00088F7CD82A800050ACAD +:1052A800000016A280038D1080038450800094C4EF +:1052B80000007B0780009504D43118971695F01FDD +:1052C80000353FF8EDDCC008F0061800C5E0EE0632 +:1052D80000083009F1690015ECC8FFF8EE0803244E +:1052E8005804C5304AC89088EDB80001C0A14AB832 +:1052F800201D4ABC1AD41AD41AD8F01F002A2FCD60 +:10530800EB1800726EF91238F20817B00838F0047A +:1053180017804A589088EDB80001C051F01F00234B +:105328004A38910CECC8FFEA3019EE08032B089AAA +:105338000A9C5C7AF01F001FE7DCC008C19049A8EE +:105348009088EDB80001C0F16A48201DF3D3B00879 +:105358001AD91AD41AD849181AD5497C1AD8F01F5C +:1053680000112FAD0C073008EF680015C10830197F +:10537800ECC8FFF8EE060006ED690015EE080329F3 +:105388000819EE080929C038E06300FF069CD832E6 +:10539800800050AC000016A680038C7880038474CB +:1053A800800094C4000016A2800095040000153403 +:1053B800800109C08003848CD43116941493189703 +:1053C800580CC1014AB89008F8081900E08400D3C5 +:1053D8004A98201D4A9C1AD8F01F00293FFC2FED3F +:1053E800D832300BF01F0027189B18960E9CF01F20 +:1053F80000263FF8EBDCC008F0051800E08000BB91 +:105408004A289088EDB80001C0E1F1D3C010201DF2 +:105418001AD849981AD449EC1AD61AD71AD8F01FAC +:1054280000182FAD49B89088EDB80001C0D14928BF +:10543800201D499C1AD8F01F0012F7D3C010089CF1 +:10544800F01F00162FED49189088EDB80001C4B17F +:105458004938118948789088EDB80001C4415C69E1 +:10546800EE09002871185808C1C11092109EC21880 +:10547800000016A280038D20800384C0800094C49D +:1054880080004E84800050AC000016A6800384D8AB +:10549800000016A080037C8480013DB40000153014 +:1054A800EE09000AF5320015F2CAFFF8EE0A032EDB +:1054B8006F5A201D580AF40C1700F5FC1004580800 +:1054C800F00B1700F1FB10041AD21ADE1ADC1ADAF4 +:1054D8001ADB1AD84A881AD74A8C1AD91AD8F01F50 +:1054E80000282F6D5806C46058045F183009F2036D +:1054F80019005F1AF5E80008F2081800C3B0EAC8F6 +:10550800FFEAEE08032C580CC3506C4858785F0B20 +:1055180058485F0AF7EA100AF20A1800C0515828DA +:10552800C0305838C2715C73089B069AF01F00158A +:10553800EAC9FFEA300AEE090328F0030B0A4928F2 +:105548009088EDB80001C0A1EE0903281AD848A830 +:1055580048EC1AD8F01F000A2FED48DB0C9C2F8569 +:10556800EE050923F01F000B0C9B0E9CF01F000A90 +:10557800DA3ADC3A80038D2080038348800094C4A3 +:105588008002E736000016A6800384FC800055A040 +:105598008000D662800052C0D431149518971696B0 +:1055A800580CC041E06C00F6D832F01F001D3FF8DF +:1055B800E9DCC008F0041800C041E06C00FFD832F4 +:1055C8003009EE040008F16900683019F169001526 +:1055D80049489088EDB80001C171E8C8FFF8EE08A5 +:1055E8000323F01F00114918201D1AD37008F8086A +:1055F80001081AD848E85C7548EC1AD51AD61AD8A2 +:10560800F01F000D2FAD2F84EE04032C580CC06042 +:105618000C9B0E9CF01F0009300CD832800050AC57 +:10562800000016A2800095040000153480038D50F8 +:1056380080038508800094C4800052C0D421189744 +:10564800580CC1C0F01F000E18965BFCC060EF3B01 +:10565800000B5C5CF01F000B48B89088EDB80001A7 +:10566800C0A148A8201D48AC1AD61AD71AD8F01FCE +:1056780000092FCD30094888B089D82280002044FD +:1056880080002068000016A280038D3C80038538C6 +:10569800800094C400007B07D4314898189711897A +:1056A80048889088EDB80001C3015C69F8090028B2 +:1056B80071185808C08110951096C0D80000153090 +:1056C800000016A2F809000AF5350015F2CAFFF81D +:1056D800F80A03266F5A201D580AF40C1700F5FC27 +:1056E80010045808F00B1700F1FB10041AD51AD64D +:1056F8001ADC1ADA1ADB1AD84C281AD74C2C1AD901 +:105708001AD8F01F00422F6D0E9C3005F01F004084 +:10571800EEC6FFBC0A924BF34BA45C5CF01F003E44 +:105728006C08300B2FF5109C5808C1D0F01F003BB7 +:105738006C0C300BF01F003A6C0C300BF01F00396A +:105748006C0C300BF01F00388688EDB80001C0B132 +:10575800201D1AD26C0870484B4C1AD81AD4F01F66 +:10576800002B2FCD2FC65845CDC16F5C580CC1D02A +:10577800300BF01F002A300B6F5CF01F002D6F5CA0 +:10578800F01F002C4A385C5C9088EDB80001C0D14D +:10579800201D5C6C1ADC6F5870481AD849984A6CFE +:1057A8001AD8F01F001A2FCD6FEC580CC060F01FEC +:1057B80000236FECF01F00224A28F1260000495808 +:1057C8009088EDB80001C0E1ECC8FFEAEE080328B4 +:1057D800201D1AD848B81AD649BC1AD8F01F000B91 +:1057E8002FCD2EA6EE06032C580CC060F01F001714 +:1057F8003008EE0609280E9CF01F0014D83200006D +:1058080080038CC880038348800094C480002044AF +:10581800000016A280006F288000D6588000D6624B +:105828008000D65C8000D668800385608000D66ED4 +:105838008000E50480038588800111C88001122852 +:1058480000001530800385B08002E28CD4211897BF +:10585800580CE080007EF01F00413FF8EDDCC008E6 +:10586800F0061800C750EE0600287114089CF01FB7 +:10587800003CEBDCC008C0D10A9B089CF01F003933 +:105888000A9B089CF01F00380A9B089CF01F0037F1 +:105898004B789088EDB80001C0D1F1D5B0081AD87E +:1058A80068481AD84B381AD44B3C1AD8F01F003322 +:1058B8002FCD4AF43FF8F0051800C1718809300867 +:1058C800F0091900C0D4EE0600287118201D1AD856 +:1058D8004AB81AD64ABC1AD8F01F00282FCD0C0790 +:1058E8003018EF68006CC368EE0600083009F169EB +:1058F800006CEE0600280E9C711BF01F00238888A0 +:10590800EDB80001C0E1ECC8FFEAEE080328201D4D +:105918001AD849B81AD649DC1AD8F01F00182FCD62 +:105928002EA6EE06032C580CC060F01F0019300894 +:10593800EE06092848E89088EDB80001C0B149088A +:10594800201D494C1AD8F01F000D2FEDC038E06516 +:1059580000FF0A9CD8220000800050AC8000E504BB +:105968008000D6588000D6628000D65C000016A25F +:1059780080038D2C800385CC800094C480038CD850 +:10598800800385F880004D98800385B08002E28C02 +:1059980080038624D4211897580CC0E14BE890085E +:1059A800F8081900C7744BD8201D4BDC1AD8F01F13 +:1059B800003D2FEDD82278264BB85806C121F12595 +:1059C8000000F01F003A0E9CEF34000BF01F003867 +:1059D800089B5C5CF01F00370A07EF660068D82256 +:1059E80011894AD89088EDB80001C2C15C69F809EC +:1059F800002871185808C04110951096C098F809E9 +:105A0800000AF5350015F2CAFFF8F80A03266F5A9E +:105A1800201D580AF40C1700F5FC10045808F00B68 +:105A28001700F1FB10041AD51AD61ADC1ADA1ADB99 +:105A38001AD849A81AD74A0C1AD91AD8F01F001927 +:105A48002F6D4998F1260000ECC5FFF0EE05002502 +:105A58006A1C580CC1F078485898C1C05808C1A0B1 +:105A6800F01F001648C85C5C9088EDB80001C0C102 +:105A7800201D5C6C1ADC6A181AD84888490C1AD898 +:105A8800F01F00082FCDEE0600260E9C6D1BF01FA0 +:105A9800000DD822000016A2800382988003864455 +:105AA800800094C400001530800056A08000204477 +:105AB800800020688003834880010CEC8003865CAA +:105AC80080005854D4214B0818979009169630082E +:105AD800F0091900C0F44AD8F12800001AD8F1DBFF +:105AE800B0081AD84AA81ADC4AAC1AD8F01F002AFB +:105AF8002FCD4AA811893008F0091800C0414A8CF6 +:105B0800F01F00253FB8F0061800C3C15807C110A0 +:105B180049E830091188F2081800C0B53039F20890 +:105B28001800E08900075C68EE080028711BC0288F +:105B3800300B0E9CF01F001B49389088EDB800010F +:105B4800C1114928F1280000201DF0C9FFEAEE091B +:105B580003291AD91AD848E8493C1AD8F01F000E68 +:105B68002FCD48A6ED2800002EA8EE08032C580CCF +:105B7800C090F01F000EED28000030092EA8EE0896 +:105B88000929D822000016A200001530800382A837 +:105B980080038680800094C4000016AB800386B41E +:105BA80080004D98800385B08002E28CD42118973C +:105BB8001696580CC4E04A8890093008F009190074 +:105BC800C0C4F1DBB0081ADC1AD84A481ADC4A4CBF +:105BD8001AD8F01F00242FCD4A3811893008F0094F +:105BE8001800C0414A1CF01F001F3FB8F0061800FB +:105BF800C301499890093008F0091900C084497810 +:105C08001AD749BC1AD8F01F00172FED0E9CF01FA9 +:105C180000194998F126000048F89088EDB800016D +:105C2800C0E1ECC8FFEAEE080328201D1AD848B8DE +:105C38001AD6492C1AD8F01F000B2FCD2EA6EE0627 +:105C4800032C580CC060F01F000E3008EE0609281F +:105C5800D8220000000016A2800382D0800386C8E4 +:105C6800800094C4000016AB800386B4800386F8D5 +:105C78008000564400001530800385B08002E28C15 +:105C8800D4311897149678CC94CAF80A000A8FCAA7 +:105C98001093169512946E385808C1504A5CF01F3C +:105CA8000026EF18001A3509F0090D083008F00928 +:105CB8001900C0414A1CF01F0020EF08001A2FF8F5 +:105CC800EF58001A49E89088EDB80001C171202DFD +:105CD800304A1A9C089BF01F001BF01F001BEF386E +:105CE8000014F3D3C01050091ADC1AD849781AD610 +:105CF800497C1AD8F01F00102FAD0A9AEF3B001408 +:105D08000C9CF01F001409890998B168F1E9118801 +:105D180009A9F1E9108809BBEF3C0014F5D3C010BC +:105D2800104BF01F000D0C9CF01F000CD832000027 +:105D380080037FB4800094C4800384D4000016A23A +:105D48008002E736800096A88003827C800387184B +:105D580080007130800020088000D13CD431204D73 +:105D6800502C503BFAC4FFCC10916800681268238D +:105D780068386846129568545819E088000E4B58E0 +:105D880090093008F0091900E08402B0201D4B2862 +:105D98004B2C1AD8C2F85801C0C14AE89008E2084A +:105DA8001900E08402A3201D4AB84ADC1AD8C22888 +:105DB8005802C0C14A789008E4081900E0840296A5 +:105DC800201D4A584A7C1AD8C158501A500837CB57 +:105DD800301CF01F0025401A18974008C10149D807 +:105DE8009008F8081900E0840281201D49A849FCA0 +:105DF8001AD8F01F001F2FEDE08F0278402999383C +:105E0800B829300840395C729900B831992599DA77 +:105E180099E999F29943F9480050F9480044F9483A +:105E28000048F948004C5803E080008C3058F95875 +:105E38000074F01F0010EF4C00784865580CC1D171 +:105E48008A08F8081900E084020C1AD748A8C8582C +:105E5800000016A280038CA880038744800387640F +:105E6800800387848002DC3C800387A8800094C478 +:105E780080011200800382F88A88EDB80001C131E0 +:105E88006E08201D8EA51AD8F01F00366FE8500541 +:105E98001ADC1AD84B481AD84B484B5C1AD8F01F52 +:105EA80000352FAD6E258EAA6FEC5805C1210E9BCB +:105EB800F01F00315C5CC2504B089008EA081900DA +:105EC800E08401CF1AD74A984ADC1AD8E08F0175C6 +:105ED8004ACBF01F002DF5DCC008C0E04A789009D5 +:105EE8003008F0091900E08401BC201D5C6A49F8FB +:105EF8001ADA1AD7C499EF3C0014149BF01F002338 +:105F08006FEC0E9A4A2BF01F002349C8908CE21CB4 +:105F18000002E08001A76FE8F11900141AD970197E +:105F28001AD9F11900121AD970081AD848E81AD8DB +:105F380048E8499C1AD8F01F000F2FADE08F018F59 +:105F4800F01F00161892C2F148C89008F808190006 +:105F5800E08401871AD749281AD8492CC2D90000E9 +:105F6800800096A88003825C800382F88003880CF6 +:105F7800800094C480011320000016A280038824A6 +:105F88008003B409800112608000200880005C88CA +:105F9800800111F8800388848000E34080038C6CC2 +:105FA800800387E04B880E9BB083F01F0038EF63B7 +:105FB800006FEF63006CEF63006DEF63006E6E2897 +:105FC8004B355808E08100BD049B0E9CF01F003142 +:105FD800E7DCB0086EFCF01F0030E6C8FFEAEE0808 +:105FE800092C8A88EDB80001C0A14AC8201D1ADC16 +:105FF8004ABC1AD31AD8F01F002B2FCD2EA34A451E +:10600800EE0303285808C0B18A09F0091900E08492 +:1060180001281AD74A184A4C1AD8CCE84A3B049C9B +:10602800F01F00234A3B049CF01F00234A3B049CBA +:10603800F01F0023304A4A3B049CF01F00234A38D3 +:106048003009B0898A88EDB80001C0C1EE03032881 +:10605800201D1AD849181AD249DC1AD8F01F001185 +:106068002FCD4898118948A89088EDB80001C5310E +:106078005C69EE09002871185808C2B11093109590 +:10608800C3080000000015308000D658000016A292 +:1060980080004E0C8002E2A480038C6C800388A8E8 +:1060A800800094C4800388C480005BB48000D668F4 +:1060B800800069888000D65C800055A08000D66288 +:1060C800800067B48000D67200007B07800388F4E4 +:1060D800EE09000AF5330015F2CAFFF8EE0A0325A7 +:1060E800201D5808F00B1700F1FB10046F5A580ACE +:1060F800F40C1700F5FC10041AD31AD51ADC1ADAB6 +:106108001ADB1AD84B681AD74B6C1AD91AD8F01F51 +:1061180000362F6D049C4B598EAA0E9BF01F00343D +:106128005C5CE080009F4B3890093008F00919004A +:10613800E08400971AD74AA84AFC1AD8C3D88A8894 +:10614800EDB80001C0F1301B0E9CF01F002C6F58F9 +:106158001ADC1AD84A281AD74A9C1AD8F01F0022E3 +:106168002FCD8EAA4A7B049CF01F00275C5CC120BF +:106178004A0890093008F0091900C724201D5C6CF2 +:1061880049781ADC1AD71AD84A0CF01F00172FCDF5 +:10619800C678049CE06B00FFF01F001DEF4C005414 +:1061A8004945580CC0D18A08F8081900C5941AD76F +:1061B80048B8498C1AD8F01F000C2FEDC5188A88EA +:1061C8004959E21800021389C4505C69EE09002895 +:1061D80071185808C2211095109BC27880038C6CE6 +:1061E80080038348800094C48000523C8000E350C0 +:1061F800000016A28003891080004E84800389382D +:106208008003B4098000D7708003884C8000DC04C8 +:106218008003896400001530EE09000AF535001581 +:10622800F2CAFFF8EE0A032B7843201D5808F00A3B +:106238001700F1FA10041AD51ADB1AD31ADC1ADA85 +:106248001AD84AC81AD74ACC1AD91AD8F01F002B1C +:106258002F6D4ABB6F5CF01F002B300CC0283FFC31 +:106268004A95580CC0E08A093008F0091900C3A4FF +:106278004A68201D4A6C1AD8F01F00202FEDC32849 +:106288008A88EDB80001C2914A284A396E204A31FD +:106298005800F2001700F00017108E226E484A09C5 +:1062A8006EF35808F20117108E355818C0316FEC8C +:1062B800C058301B0E9CF01F001B49481AD05C7256 +:1062C8001AD15C751AD21AD31AD51ADC496C1AD7A6 +:1062D8001AD8F01F000A2F8D8907EF660014300CBA +:1062E800C0580E9CF01F00113FFC2FCDD832000083 +:1062F80080038C6C80038348800094C480006434DD +:106308008000D66E000016A280038CA880038988BE +:1063180080037BDC80037BE480037DC880037DC42D +:1063280080004E84800389A8800056A0D431203D87 +:10633800300730194B38E06504001892169191091E +:10634800E06007D00A9350070E964AF4C22826CC7C +:1063580058ACE08B001F4ADEFC0C032F3016C198A6 +:106368003006C178680CF01F002AE7DCB010C118AD +:1063780030185008C0E8680CF01F0025EBDCB0109E +:10638800C0883017C068680CF01F0021E1DCB0102D +:106398004A0A029B049CF01F00205BFCCD91580622 +:1063A800C161498870080438C0A4E208032BFACCFC +:1063B800FFF8F01F001A402B580BC0A14988201D78 +:1063C800498C1AD8F01F00182FEDC198300B502BAC +:1063D800F1D5C0100C99FAC5FFFC300650161AD535 +:1063E8001AD6402E5C731ADEF9D0C0101AD70C9A50 +:1063F8001AD31ADB0C9BF01F000D2FAD2FDDD83AF6 +:1064080000007AB800007AC0800382208002DC2C69 +:10641800800389E08002E278800098FC0000000C8C +:10642800800389EC800094C480005D64D4211897AF +:106438001696580CC041E06C00F6D8224C1890888B +:10644800EDB80001C0A14C08201D1ADB1ADC4BFC7A +:106458001AD8F01F003F2FCD4BA89088EDB8000147 +:10646800C0F16C481AD8ED1800241AD8ED18001C91 +:106478001AD84B584B7C1AD8F01F00352FCD0C9BDF +:106488000E9CF01F0035EDDCB008ECC8FFEAEE0802 +:1064980003285808C0804B18201D4B1C1AD8F01F21 +:1064A800002C2FED6EFCF01F002FECC8FFEAEE0861 +:1064B800092C4A489088EDB80001C0A14A28201D3F +:1064C8001ADC4A9C1AD61AD8F01F00212FCDECC826 +:1064D800FFEAEE0803285808C10149A99209F00902 +:1064E8001900C08449881AD74A0C1AD8F01F001816 +:1064F8002FEDE06C00FFD8220E9B2F06EE0600263B +:106508006C1CF01F001B49BB6C1CF01F001B49BB17 +:106518006C1CF01F001B6C1C304A49ABF01F001AA2 +:106528000E9CF01F001A583CE08B00075C5C300A98 +:106538000E9BF01F0017F01F00178F7CD82A000051 +:10654800000016A2800382E8800389F0800094C4CA +:1065580080038A1480004E0C80038A3880039DC013 +:106568008002E2A4800388A8800388C48000D658EB +:10657800800069888000D65C80005ACC8000D6688C +:106588008000659C8000D6728000204480002A002C +:1065980080009504D43118971695580CC041E06CCA +:1065A80000F6D832F01F00473FF8EDDCC008F006CF +:1065B8001800C041E06C00FFD832ECC8FFF8EE08C4 +:1065C80003285808EFD6E108F1F91868F7B901FF70 +:1065D800F1F91E68EE0600083049F1380068F20843 +:1065E8001800E088001E4B89920A3009F20A190047 +:1065F800C0A41AD84B581AD74B5C1AD51AD8F01F12 +:1066080000352FCD0C070A9C3006301BEF6600685A +:10661800F01F0031E06C00FBEF66006CD8325805C3 +:10662800C1504AE89088EDB80001C101EAF800A815 +:106638001AD8EAF8009C1AD8EB3800AD1AD84A38AC +:106648004A7C1AD8F01F00232FCDECC8FFF8EE08BB +:1066580003245804C1D049C89088EDB80001C1810D +:10666800EE060008301BF1330068F132006C0E9C16 +:10667800F01F001C4958201D1AD41AD21AD31AD751 +:106688001AD51ADC498C1AD8F01F00122F8D0A9BD4 +:106698000E9CF01F0016EE0600033002E738006C6F +:1066A800E4081800C7100A9CF01F00113FF8E9DC45 +:1066B800C008F0041800C1D13018E768006CC4A8FD +:1066C800800050AC000016A280038C8C80038A4C9A +:1066D800800094C48000E124000016A880038A7C0E +:1066E80080004E8480038AB0800052C08000E50498 +:1066F800EE060028E762006C711B0E9CF01F002359 +:106708004A389088EDB80001C0E1ECC8FFEAEE080D +:106718000328201D1AD849F81AD649FC1AD8F01FA0 +:10672800001F2FCDECC3FFEAEE03032C580CC0600A +:10673800F01F001B3008EE03092849589088EDB86F +:106748000001C0814938201D496C1AD8F01F001378 +:106758002FED48F89088EDB80001C1610E9C301B00 +:106768000C07EF37006CF01F001048A81AD65C64BD +:106778001AD41AD71ADC48DC1AD51AD8F01F000721 +:10678800300C2FADD832D83A80004D98000016A2B0 +:1067980080038C8C800385B0800094C48002E28CD6 +:1067A8008003862480004E8480038AF0D4311897B1 +:1067B8001695580CC041E06C00F6D832F01F003E28 +:1067C8003FF8EDDCC008F0061800C041E06C00FF9F +:1067D800D8324BA89088EDB80001C1A1EE06000898 +:1067E800F1340068F133006C4B58301B11820E9C59 +:1067F800F01F00344B48201D1AD21AD31AD41AD7C6 +:106808001AD51ADC4B1C1AD8F01F00312F8DEE0652 +:1068180000083009F13A006CF20A1800C060F1393A +:1068280000682FF9F1690068EE060008F134006885 +:106838003088F0041800E08800224A68900930087F +:10684800F0091900C104301B0E9CF01F001E49E816 +:10685800201D1AD41AD71ADC49FC1AD51AD8F01FE9 +:10686800001C2FAD30080C070A9CEF680068301B2D +:10687800F01F001AE06C00FBD83249181189300863 +:10688800F0091800C0500A9B0E9CF01F0015EE0678 +:1068980000043008E939006CF0091800C6100A9C99 +:1068A800F01F00103FF8F00C1800C1D13018E9684B +:1068B800006CC3E8800050AC000016A800007B07FD +:1068C80080004E848003824C80038B2C800094C40B +:1068D800000016A280038B6C8000E124800052C067 +:1068E8008000E5040E9CF01F001F49F89088EDB861 +:1068F8000001C0E1ECC8FFEAEE080328201D1AD801 +:1069080049A81AD649AC1AD8F01F001A2FCDECC4E2 +:10691800FFEAEE04032C580CC060F01F0017300883 +:10692800EE040928EE0600083009F169006C48E811 +:106938009088EDB80001C1410E9C301BEE060006A0 +:10694800ED37006CF01F000D48881AD71ADC48CCC8 +:106958001AD51AD8F01F0007300C2FCDD832D83AE4 +:1069680080005644000016A28003824C800385B044 +:10697800800094C48002E28C80004E8480038B984F +:10698800D4311294580A5F1830091497F204180089 +:106998005F0318961695E7E80008F2081800C55036 +:1069A800335CF01F00406CC98EC8F20800088DC81F +:1069B8006C385808C0614BC89088EDB80001C231E6 +:1069C8004BA89088EDB80001C0918EC81AD84B88A2 +:1069D8004B8C1AD8F01F00382FED4B889088EDB8F3 +:1069E8000001C0C14B28201D4B5C1AD8F01F003293 +:1069F8008ECB6E1CF01F00332FEDED08001A2FF818 +:106A0800ED58001A0A9AED3B00140E9CF01F002E58 +:106A18004A689088EDB80001C1218EC8201D1AD897 +:106A28001ADCED38001430091AD91AD71AD51AD831 +:106A380049F84A6C1AD8F01F00202F8D0E9CF01FC1 +:106A48000024335CF01F002358075F081063C160FF +:106A580049689088EDB80001C0C1201D1AD5ED38ED +:106A680000141AD8492849CC1AD8F01F00132FCD82 +:106A78000A9B0C9CF01F0019C1385804C11048B873 +:106A880090093008F0091900C0B44898201D5C64CA +:106A98001AD7493C1AD41AD8F01F00072FCDD83A74 +:106AA8008000A300000016A6000016A280038C98A0 +:106AB80080038BC8800094C4000016A080037C84E7 +:106AC80080013DB48000713080038BD88000D13CB8 +:106AD8008000A2E680038C108000585480038C3C10 +:106AE800D42148C8189716969088EDB80001C0A11F +:106AF8004898201D1ADB1ADC488C1AD8F01F0008A9 +:106B08002FCDF7D6C0100E9CF01F0006D82200002B +:106B1800000016A280038D0480038C50800094C46A +:106B28008000D984D4213007C1B80C9C0E9B2FF665 +:106B3800F01F000D1895C0F078485808C0C1F01F24 +:106B4800000B0A9CEB35000BF01F00090A9B5C5CEC +:106B5800F01F00085846CEA12FF75827C03030063E +:106B6800CE5BD82280002024800056A080002044DC +:106B780080002068D4214978F00C07085808C071B3 +:106B88004959F20C070AF00A1800C1F04929F20C19 +:106B9800070AF4081800C1904909F80C001CF0080D +:106BA8000017A567EE0C0027120748D99289EDB99E +:106BB8000004C0C11AD848B81ADA48BC1AD71AD87B +:106BC800F01F000A2FCDC02830070E9CD8220000E5 +:106BD8000000153C0000153800007B2C000016A6AC +:106BE8008003901080038DE0800094C4D421169710 +:106BF8001496F01F0005C0609828AC087808301C6F +:106C08008F08D82280006B7CD43149B849B91092DA +:106C1800F00C0708F20C070718961AD7498C1AD8EF +:106C2800EC060014F01F001749732FEDA36431E53B +:106C3800EE070018A568E8080008E60800087009CB +:106C48005809C0C090BA90AB1ADB1AD9702848FC12 +:106C58001AD81ADAF01F000B2FCD2FF7E406070811 +:106C68005C57EE051800F9B70000EE081800CE11C1 +:106C7800D8320000000015380000153C80038DF460 +:106C8800800094C400007B2C80038E0CD431201D1E +:106C98004A181896F00C07073005F80C001849F048 +:106CA800A36849F149F231E349F4EE070019A569EF +:106CB800F0090009E0090009720A580AC1D0923B9C +:106CC800922A8289F40B010CE2190010F8050005DC +:106CD8005C855809C1105C7B5C7AF3D5C010201D17 +:106CE800492C1AD91ADB1ADA1AD61AD25068F01FA8 +:106CF80000102FAD40082FF7E80607095C57EE0390 +:106D08001800F9B70000EE091800CD010A9C2FFD04 +:106D1800D83200000000153C00007B2C000016A6AD +:106D280080038DA00000153880038E28800094C44D +:106D3800D421F01F000B48B8EFDCB0109088EDB8F4 +:106D48000004C0A10E985C781AD84878487C1AD8F4 +:106D5800F01F00072FED0E9CD822000080006C94D5 +:106D6800000016A680038D7080038E4C800094C4AA +:106D7800D4214A181897169631D9F20C1800E088D1 +:106D8800000F90093008F0091900C33449B81ADC1B +:106D980049BC1AD8F01F001B2FEDD822F60B001A99 +:106DA8009088F80C0019E2180010A569F20A002969 +:106DB800495AF40903055808C0A04908201D1ADCDF +:106DC800492C1AD51AD8F01F000F2FCD0A9CF01F96 +:106DD80000103008EC060016EE07001748A9A56752 +:106DE800EE060026F20600068D288D08AC28AC3881 +:106DF800D8220000000016A280038DD080038E6880 +:106E0800800094C400007B2C80038E888002E28C72 +:106E1800D4314948F80C00121896F00C0707A36201 +:106E2800491331E44915EE070018A568E40800087D +:106E3800E60803085808C0500E9C0C9BF01F000C75 +:106E48002FF7EA0607085C57EE041800F9B70000A8 +:106E5800EE081800CE914839300CF2060B08D832EB +:106E68000000153C00007B2C0000153880006D7870 +:106E7800D4211897580CC0E14A189008F80819004E +:106E8800C3C44A08201D4A0C1AD8F01F00202FED51 +:106E9800D82249FAF40B070CF8CEFFFFF80C001CB7 +:106EA800A56CF40B0B0E3008F60B0019F809002935 +:106EB800498CF809000993289308B228B23831E9B7 +:106EC800F20E1800C031F40B0B0848D89088EDB8C2 +:106ED8000004C10148E8F00B07081AD848E8F00B8D +:106EE80007081AD848781AD748CC1AD8F01F0007CC +:106EF8002FCD0E9CF01F000AD8220000000016A219 +:106F080080038D8480038E98800094C40000153C13 +:106F180000007B2C0000153880038DE08002E28C95 +:106F2800D42118970E9CF01F0005C060780C0E9BAA +:106F3800F01F0003CF8BD82280006B7C80006E7816 +:106F4800D421496818971696149512949088EDB82C +:106F58000001C0C14928201D1AD91ADA1ADB1ADC27 +:106F6800490C1AD8F01F00102FAD301B0A9CF01FD7 +:106F7800000FC080301B0A9CF01F000C784858088E +:106F8800C0510C9B0E9CF01F000A5804C0500A9B6D +:106F9800089CF01F0008D822000016A280038D600C +:106FA80080038EAC800094C48000202480006AE8AE +:106FB80080006E78D4211897F01F00061898C02119 +:106FC800D8220E9A782C700990ABF01F0003DA2AA9 +:106FD80080006B7C80006F48D42116961494189515 +:106FE800F01F001E1897C021D8229838982B7809CE +:106FF800F6081900C2B2F5D8C0105804C050F20AF9 +:107008000708AC88C068F20A0709AC892FF8B838B5 +:1070180049389088EDB80004C0D10D881AD86E0898 +:107028001AD88EB81AD848F848FC1AD8F01F000F9A +:107038002FCD8E3B8E28F6081900C0710A9A5C7B0A +:107048006E2C6E09F01F000ADA2A0A9A5C7B782CEB +:10705800F01F0007D82A000080006B7C000016A6ED +:1070680080038D9080038ED4800094C480006F4884 +:10707800D4211897F01F00231896C021D8224A2837 +:107088009088EDB80004C0D178081AD898A81AD802 +:107098008CB81AD849D849EC1AD8F01F001E2FCD41 +:1070A8008C398C28F0091900C020DA2A49A8908860 +:1070B800EDB80004C1614998201DF0070709498807 +:1070C8001AD9F00707081AD8F20818005F191AD950 +:1070D8006C081AD848D8493C1AD8F01F000E2FADB2 +:1070E8006C2C6C090E9A8CABF01F000F48C8F00787 +:1070F800070948A8F0070708F00918005F1CD822FC +:1071080080006B7C000016A680038DBC80038EE88F +:10711800800094C4000016A2000015380000153C39 +:1071280080038F0080006F48D43118951697149308 +:10713800580CC0311894CBD8F60B001A4A58F00BEB +:107148000708F0080019A569F20A00294A2AF40973 +:1071580003095809C1604A1A940B300AF40B190044 +:10716800C0A4201D1AD849E81AD949EC1AD8F01F2A +:10717800001E2FCD49780E9BF007070CF01F001B4F +:10718800301B8ACCF01F001A18961894E0800092E1 +:10719800189B30098ACA0A9CF01F00168A485C8C22 +:1071A800F00C1900C2C048D9920A3009F20A190035 +:1071B800C0B45C781AD848A81AD648FC1AD51AD888 +:1071C800F01F00092FCD0C9C3004F01F000CC718CD +:1071D8000000153800007B2C000016A280039004E4 +:1071E80080038F2C800094C480006D788002DC3C82 +:1071F8008000CEC480038F548002E28C4AE9F207F3 +:10720800070AF4CBFFFFF40A001AA56AEE07001874 +:10721800F2070B0BF40800284A8AF4080008300A21 +:107228009123B02C9106B03A31E8F00B1800C03128 +:10723800F2070B0A4A084A29F0070708F207070964 +:10724800F0091800C1C149F9920A3009F20A190077 +:10725800C0A4201D1AD81AD849B849CC1AD8F01F8A +:10726800001C2FCD4948F00707095809F9BA01FF52 +:10727800F3DAE109F9B9001DF0070B0949189088FC +:10728800EDB80004C1618AC848DAF407070A201D6E +:107298000D891ADA488AF407070A1ADA1AD91AD8A5 +:1072A80048981AD648BC1AD71AD8F01F00092F8D4B +:1072B800089CD8320000153800007B2C0000153CD3 +:1072C800000016A28003900480038F90800094C46D +:1072D80080038FBCD431203D1690502A1895F01F9A +:1072E8000021301BE5DCB010F9D2C010F01F001EE1 +:1072F8001896C2C049D8EA050019F0050707A3691E +:10730800189431E849A1189349ABEE070016A56611 +:10731800F2060006F60600066C0B580BC0B0089C77 +:107328008CAA50095018F01F00148CAA4018140495 +:1073380040092FF7E205070A5C57EE081800F9B76D +:107348000000EE0A1800CE110696402A5800E1F611 +:107358001A00580AF5F21C000C9C2FDDD8320000E8 +:1073680080006C948002DC3C0000153C000015385D +:1073780000007B2C8002E736D431303818971693FA +:107388001494F00C1800E088001B48989009300805 +:10739800F0091900C0353005CA2848681ADC3005DC +:1073A8001AD8485CF01F00052FEDC998000016A2F6 +:1073B80080038DB080038FE0800094C4F80C001A1D +:1073C8004C88F00C0708F0080019A569F20A002992 +:1073D8004C5AF40903095809C1604C4A940B300A05 +:1073E800F40B1900C0A4201D1AD84C181AD94C1C2B +:1073F8001AD8F01F00412FCD4BA80E9BF007070CA1 +:10740800F01F003E0892301B5C72049CF01F003C89 +:1074180018961895C640049A069BF01F003AEE0786 +:1074280000184B03E6070702E4020012A562E4080D +:1074380000224AD83001F0020002300B8506A4244D +:10744800A4310E9CF01F0030852CE60707082FF8A2 +:10745800E6070B0831E9F2081800C031E6070B010E +:107468004A084AA9F0070708F2070709F0091800AF +:10747800C1C149E9920A3009F20A1900C0A4201DC5 +:107488001AD81AD849A84A2C1AD8F01F001B2FCD91 +:107498004948F00707095809F9BA01FFF3DAE10981 +:1074A800F9B9001DF0070B0949089088EDB80004E8 +:1074B800C1610D884959F2070709201D1AD9489951 +:1074C800F20707091AD91AD848985C74491C1AD4C3 +:1074D8001AD61AD71AD8F01F00082F8D0A9CD8324E +:1074E8000000153800007B2C000016A280038DB028 +:1074F80080038F2C800094C480006D788002DC3C6F +:107508008002E736800020240000153C80038F901D +:1075180080038FBCD401E06A05A0300B482CF01F13 +:107528000003D80200007B2C8002E8BCD421202D67 +:10753800FE782800501C500B3FF7109E301CC308E3 +:10754800300B7049EDB90001CFD17049EDB9000990 +:10755800CFD140195809C0B01396F2C5FFFE138960 +:107568005015EDE91089F7D9D010C038F7D7D010E9 +:10757800913B7049EDB90000CFD17C2B40095C8B61 +:107588005809C080B29BF7DBC108B28B40092FE9CC +:107598005009F80A1900E0880006202A5C8A580A6F +:1075A800CD01FE78280070482FEDD822580CC06015 +:1075B800FE782800300A7019C058FE78280030FA82 +:1075C8007019F3DAD20491195EFC202D3008E069B5 +:1075D80013885018F8090249C058401A2FF82FFA92 +:1075E800501A1238CFB12FED5EFCD703D401303CCE +:1075F800F01F0005C060303CF01F0004F01F0004BD +:10760800D402D6038000A3708000A38880014014B0 +:10761800D401580CC060300B303CF01F0004D80275 +:10762800303CF01F0003D8028000A31A8000A35C3E +:10763800D401202D3008B888303CF01F0022303C9F +:10764800F01F0021309CF01F001F307CF01F001D30 +:107658003008501840192FF950192FF8E04861A840 +:10766800CFA1309CF01F00193008501840192FF98D +:1076780050192FF8E05886A0CFA1307CF01F0013D6 +:10768800340B300A492CF01F0013FE782800302AEA +:1076980070C9F3DAD108308A91C970C9F3DAD08495 +:1076A800301A91C970C9F3DAD06191C970C9F3DA97 +:1076B800D001303C91C9F01F00082FEDD80A000016 +:1076C8008000A2A88000A2BE8000A2E6800075F417 +:1076D8008000A3A08000A388D42120AD4C68E3B823 +:1076E8000001D5533017FE6810007109F3D7D20294 +:1076F800303AF1490040E06B1B00EA1B00B7FE7C02 +:107708000C00F01F003E310A201D30081ADA0E99CD +:10771800109B308AFE7C0C00F01F003930080E994F +:107728000E9A109BFE7C0C00F01F0036300BFE7C7E +:107738000C00F01F0035FE7C0C00F01F0034300CEC +:107748001ADC18981899189A1ADC189BFE7C0C00F9 +:10775800F01F002F0E9CF01F002F302BFE7C0C001A +:10776800F01F002DF01F002DD503304AFAC7FFD0B7 +:107778004ABB0E9CF01F002B302B0E9CF01F002ADA +:10778800FAC8FFDC4A99722C109B912CE06AF980A8 +:10779800EA1A0337F2E40000FE7C1800F0E5000066 +:1077A800F01F0023308A4A3B0E9CF01F001E310A4E +:1077B800FAC6FFEC300B0C9CF01F001F3018304B42 +:1077C800FB68002149DCF01F00180C9BFE7C280098 +:1077D800F01F001B3009FE7C2800129B129AF01F34 +:1077E80000190E9C0E96304BF01F000F2FCDFAC7D4 +:1077F800FFD8C2D8800376008000A5088000A4B016 +:107808008000A4CE8000A4E68000A4F48000A470C8 +:107818008000A2228000A4FE8000A3D080039038BC +:107828008002E7368000A2808003901C8000AA1C9A +:10783800800390308002E8BC800390288000A66214 +:107848008000A69C0D8C2FE6F01F000F0E36CFB1DE +:10785800FACBFFFCFE7C2800F01F000C3009FE7CF0 +:107868002800129A129BF01F000AFE7C2800F01FC5 +:107878000009302CF01F0008FE7C2800F01F0005CE +:107888002F6DD8228000A2BE8000A6628000A69C30 +:107898008000A7EC8000A2E6D42130A81896F00C4E +:1078A8001800C0C1E067271020175BF7C13030DB34 +:1078B800FE7C1800F01F0008CF81E0672710201712 +:1078C8005BF7C0800C9BFE7C1800F01F0003CF8183 +:1078D800D822DC2A8000A9AED401178A17B91798D4 +:1078E800B168F1EA118817AAF1EA1088F3E81008DC +:1078F8001AD81ADC483CF01F00042FEDD80200000B +:1079080080039064800094C4D421202D4AB811D9F2 +:10791800BAD97009500911C8BAC81A961895169498 +:10792800581CE08900064A6CF01F0026C448761CE3 +:10793800F01F0025201DEFDCC0084A4C1AD7F01FA5 +:1079480000212FED5825C2A0682CF01F001F201D14 +:10795800EDDCC00849EC1AD6F01F001A30182FEDDC +:10796800F0061800C111305A49AB0E9CF01F001ADE +:1079780030AA49AB0E9CF01F00180E9C308A498B28 +:10798800F01F0015C1883028F0061800C141300AE0 +:107998000E9C149BF01F0013C0E83038F007180045 +:1079A800E08B000A300B0E9CF01F000F1A9B306A08 +:1079B800F01F000E2FEDD82A800396B88003909808 +:1079C800800094C48002DC2C800390C4800390D093 +:1079D800800390E480007380800390EC800390F82B +:1079E800800072DC8000202480005140D421189649 +:1079F8001695582CC45176174B3B0E9CF01F00333C +:107A08001896C1014B2CF01F00334B38FE798000CB +:107A1800B0094B28B0064B28B0064B28B006E08FBB +:107A280001C44B1B0E9CF01F0029C1D14AA89088A5 +:107A3800201D4AEC1AD8F01F00274A8890884ACCA3 +:107A48005008F01F00244A6890884AAC5008F01F7C +:107A580000214A4890884A8C5008F01F001E2FEDDC +:107A6800E08F01A30E9C4A5BF01F0018C0C14A4C6E +:107A7800F01F0018E06900FF4978E08F0195582C45 +:107A8800E089000749FCF01F0013E08F018E762C77 +:107A9800F01F001D18975836E08101876A1649BB08 +:107AA8000C9CF01F000AC53148B85807E08A000846 +:107AB8009009A1A9B0095817C2A1C3089009A1C982 +:107AC800B009C2C8800391048002ECC88003910801 +:107AD800800094C4000016A2000016A6000016A09C +:107AE800000016A8800391148003911C8003913430 +:107AF8008003914C800391648003E18C8003917C26 +:107B0800800391888002DC2C800392144B799208C0 +:107B1800A1A8B2085827C071C0D84B499208A1C87B +:107B2800B208C0884B299208A1A8B2085837C0717A +:107B3800C0A84AF99208A1C8B208C0584AD9920800 +:107B4800A1A8CAC84AB99208A1C8CA884AAB0C9C5D +:107B5800F01F002AC2F14AA85807E08A00089009D5 +:107B6800A3A9B0095817C061C0C89009A3C9B00932 +:107B7800C08849E99208A3A8B2085827C071C0D89C +:107B880049A99208A3C8B208C08849999208A3A82D +:107B9800B2085837C071C0A849599208A3C8B2089A +:107BA800C05849499208A3A8C79849299208A3C868 +:107BB800C758494B0C9CF01F0011C3E149085807EE +:107BC800E08A00089009A1B9B0095817C061C1B886 +:107BD8009009A1D9B009C17848499208A1B8B2085A +:107BE8005827C161C1C80000000016A6000016A0F1 +:107BF800000016A88003921C8002ECC8000016A2A0 +:107C0800800392204B699208A1D8B208C0884B59CA +:107C18009208A1B8B2085837C071C0A84B19920889 +:107C2800A1D8B208C0584B099208A1B8C3784AE94C +:107C38009208A1D8C3384ADB0C9CF01F002DC30161 +:107C48004AC85807E08A00089009A3B9B00958172C +:107C5800C061C0C89009A3D9B009C0884A09920870 +:107C6800A3B8B2085827C071C0D849D99208A3D878 +:107C7800B208C08849B99208A3B8B2085837C07189 +:107C8800C0A849899208A3D8B208C058496992087F +:107C9800A3B8C04849499208A3D8B208C858496B44 +:107CA8000C9CF01F0013C3D149285807E08A00082C +:107CB8009009A5A9B0095817C061C0C89009A5C9FD +:107CC800B009C08848699208A5A8B2085827C151C8 +:107CD800C1B848399208A5C8B208C168000016A6FC +:107CE800000016A0000016A8800392248002ECC8A9 +:107CF800000016A2800392284AC99208A5A8B208D3 +:107D08005837C071C0A84A999208A5C8B208C05887 +:107D18004A799208A5A8CC2B4A599208A5C8CBEB5A +:107D28000C9C4A4BF01F0024C3F14A485807E08ACC +:107D3800000B9009EA19FFFFE8198000B0095817ED +:107D4800C071C1089009F3D9C00FB009C0B849C9BA +:107D58009208EA18FFFFE8188000B2085827C08187 +:107D6800C11849789009F3D9C00FB009C0B848F9CB +:107D78009208EA18FFFFE8188000B2085837C08157 +:107D8800C0E848A89009F3D9C00FB009C08848894D +:107D98009208EA18FFFFE8188000C80B48489009C5 +:107DA800F3D9C00FB009D82A000016A0000016A801 +:107DB800800392308002ECC8000016A2000016A6CC +:107DC800D421582CC2717617495B0E9CF01F001500 +:107DD800C1211897494CF01F0015201D494C1AD78E +:107DE800F01F00120E9C2FF7F01F00122FED5847BE +:107DF800CF51C1380E9CF01F0010201DEFDCC008C9 +:107E080048BC1AD7F01F00090E9CF01F000A2FED7E +:107E1800C04848ACF01F0005D82A000080039238FB +:107E28008002ECC88003923C800094C4800390C414 +:107E380080006C108002DC2C80039250D421207DBD +:107E4800306A18951696FAC7FFEAE06B00FF0E9C99 +:107E5800F01F00385825C1B16C1C4B7BF01F003750 +:107E68001896C4B14B6CF01F00370E9B0C9CF01F8A +:107E780000360E9B301CF01F00340E9B0A9CF01F2E +:107E880000320E9B303CF01F0030C5085825E08AB0 +:107E980000356C1CF01F002D6C2B1897500B169C8E +:107EA800F01F002B58DC5F04585C5F08E9E81008F5 +:107EB800ECC5FFFC109418963008FACCFFF8400B7C +:107EC800F0041800C0500C9AF01F0022C238F01FAE +:107ED800002258375F98580C5F091896F3E8100885 +:107EE800E8081800C0A15807C085C0916A08118920 +:107EF8003308F0091800C030498CC098585C5F18E6 +:107F080058DC5F19F3E80008C050495CF01F000D09 +:107F1800C0D85C570C9BFAC9FFEAFACAFFF80E9C56 +:107F2800F01F00100E9CF01F00102F9DD82A000093 +:107F38008002E8BC800392808002ECC880039288AB +:107F4800800094C48001921C8002DC2C8002EDD059 +:107F58008002EE0C800098688003929C800392DC7B +:107F68008001927080019258D421204D4ABC149609 +:107F7800F01F002B1A9CF01F002B581CC0504AAC55 +:107F8800F01F0027C0A81A9CF01F0028201D1ADC2B +:107F98004A7CF01F00232FEDF01F002618974A6C2B +:107FA800F01F001F5807C0514A4CF01F001DC04861 +:107FB8000E9CF01F00234A376E0CF01F0023C1F0FF +:107FC8006E087018201D1AD8F01F0020500C4A0C9B +:107FD800F01F00136E0870285008F01F001C500C8A +:107FE80049CCF01F000F6E0870385008F01F0017BA +:107FF800500C499CF01F000A2FEDC048497CF01F27 +:108008000008497CF01F00060DC93018F009180057 +:10801800C2A1494CC298000080039314800094C404 +:10802800800191288003932C8000967080039348E8 +:108038008001997C80039358800393A880009784DB +:10804800000080D08000CAE4800096A8800393686E +:10805800800393788003938880039398800393B078 +:10806800800393B8493CF01F0014FACCFFF4300B9E +:10807800F01F0012301B4037FACCFFF8F01F000F3A +:10808800201D1AD750574047F01F000D500C48DCF0 +:10809800F01F000950075047F01F0009500C48AC6A +:1080A800F01F0005F01F0009300C2FED2FCDD8224E +:1080B800800393C4800094C48000C1EC800096A81B +:1080C800800393D080039DC08000495CD421202D7B +:1080D8001695584CE089000649ECF01F001FC3684C +:1080E800FACCFFFC761BF01F001D6A2C4014F01F11 +:1080F800001C18976A3CF01F001A18966A4CF01F6B +:108108000018501418951ADC496C1AD61AD71AD4C4 +:10811800F01F0011089CF3D5C008F5D6C0080E9BC7 +:108128005C7BF01F00112FCD5BFCC10148F8900962 +:108138003008F0091900C0A448D81AD548DC1AD666 +:108148001AD71AD8F01F00042FCD2FEDD82A000017 +:10815800800393DC800094C4800098FC8002DC2CAF +:108168008003941480003958000016A280039054AC +:1081780080039448D4211695583CE089000649CCE0 +:10818800F01F001CC338761CF01F001B18976A2CC0 +:10819800F01F001918966A3CF01F00174978201D37 +:1081A80018941AD649651AD7580CF0051710495C67 +:1081B8001AD5F01F0010089AF7D6C0085C5A0E9C12 +:1081C8005C7CF01F00112FCD5BFCC10148F89009C1 +:1081D8003008F0091900C0A448D81AD648DC1AD7C4 +:1081E8001AD51AD8F01F00032FCDD82A80039488F7 +:1081F800800094C48002DC2C80037DC480037DC889 +:10820800800394B880003C50000016A28003969C1E +:10821800800394DCD421206D1697582CE089000641 +:108228004A4CF01F0025C438761CF01F00246E2B22 +:10823800F8C700011A9CF01F0022304A1A9BFAC6A0 +:10824800FFEC0C9CF01F001F201D40681AD8F01F7F +:10825800001E1ADC49DC1AD7F01F00170C9B0E9C75 +:108268005C5CF01F001BFACCFFE0300BF01F00191C +:10827800301B4087FACCFFE4F01F00162FDD505763 +:108288001AD74056F01F00101AD71ADC492C50870D +:10829800F01F00092FDD50461AD6F01F000B1AD622 +:1082A8001ADC48EC5076F01F00042FCD2FADD82AE9 +:1082B80080039510800094C48002DC2C800098FC18 +:1082C8008002E736800096A8800395388000C19C1C +:1082D8008000C1EC8003955480039564D421FACDC5 +:1082E8000108581CE0890006491CF01F0012C1D87B +:1082F800F6C9FFFCF8CA0001FAC7FFFCE06B0100F1 +:108308000E9CF01F000DC110300948CAFACBFEFCC4 +:108318000E9CF01F000B5C5CC0814418489C1AD866 +:108328001AD7F01F00042FED2BEDD82A800395747F +:10833800800094C480009710800078E08000C4C05A +:1083480080039064D43121AD18961695582CE08995 +:1083580000064A1CF01F0021C3B8FAC7FFFC344AC4 +:10836800300B0E9CF01F001E306AE06B00FFFACC49 +:10837800FFDBF01F001BFAC4FFB8EAC9FFFCECCA18 +:108388000002320B089CF01F00171893C210189AAD +:10839800089B0E9CF01F00143088FB6300242016F5 +:1083A800EA060326FB68003C0C9CF01F00100C9B9F +:1083B800189A30180E9C3089F01F000D581CC08088 +:1083C80048C8201D48CC1AD8F01F00042FED2E6D88 +:1083D800D83A000080039590800094C48002E8BCDD +:1083E800800097108002E7368002EDD080019084EB +:1083F80080039048800395B4D42121AD1696582C5B +:10840800C05049BCF01F001BC308FAC7FFFC344A20 +:10841800300B0E9CF01F0018306AE06B00FFFACC9E +:10842800FFDBF01F0015ECC9FFFC301AFAC6FFB8D5 +:10843800320B0C9CF01F00111895C170189A0C9BF8 +:108448000E9CF01F000F3088FB6500240E9CFB6813 +:10845800003CF01F000C581CC08048B8201D48BCC8 +:108468001AD8F01F00042FED2E6DD82A800395D45A +:10847800800094C48002E8BC800097108002E73630 +:1084880080018FF8800396AC800395ECD431204DA1 +:108498001493189516947406582CC091761C304A7B +:1084A8004A7BF01F0028C0513018C458584CC0806F +:1084B8004A5CF01F00264A6CF01F0024C3D8761BC4 +:1084C8001A9CF01F00240A9A1A9BFACCFFF4F01F9A +:1084D80000224A289088EDB80002C0B1201D40480B +:1084E8001AD849F81AD649FC1AD8F01F00182FCD07 +:1084F800FAC7FFF40C9C0E9BF01F001B682B1A9CFC +:10850800F01F0014304A1A9B0E9CF01F00130E9B9C +:108518000C9CF01F0016683B1A9CF01F000E304A96 +:108528001A9B0E9CF01F000C0E9B0C9CF01F001059 +:108538001A953008A6C82FCDD83A0000800392803B +:108548008002EDE680039610800094C48003964074 +:10855800800098FC8002E736000016A28003903C59 +:10856800800396688000CBC88000CA928000CA74D5 +:10857800D421212D581CE0890006491CF01F001148 +:10858800C1C8F6C9FFFCF8CA0001FAC7FFD8320B08 +:108598000E9CF01F000D1896C1000E9B189AFAC782 +:1085A800FFF90E9CF01F0009300BFB6600270E9C9C +:1085B800F01F0007F01F00072EEDD82A80039684CD +:1085C800800094C4800097108002E736800099A844 +:1085D8008000998CD401F01F0003F01F0003D80A13 +:1085E80080019EF880009820D40148BE1898300970 +:1085F8007C0C580CC0A1F2090019487EFC0900291E +:10860800932A9318930BD8022FF92F4E58F9CF11AC +:10861800DC0A000000001544D401484CF01F000497 +:1086280030194848B089D802800396C0800094C4A5 +:10863800000015F8D4314B68169570065806C050DE +:108648005816E08100BAC938580CE08000B5F01F10 +:1086580000314B18910C1897580CE08000AD19891F +:10866800EC091800C0415805C460C4284AB44AC37C +:108678008906C188EC060018E60800287012049CD8 +:108688005802C0E0F01F002718910E9CF01F00252B +:108698000E9BE20C0D4A049CF01F0023C3102FF61A +:1086A8008906680649D258E6FE98FFE658F6C28160 +:1086B8005805C210049749DCF01F001D3008498690 +:1086C8008508C128F0080018EC0800287009580926 +:1086D800C0807018201D497C1AD8F01F00152FED96 +:1086E8006E082FF88F086E0858E8FE98FFED492CA1 +:1086F800F01F000F4888700CF01F0010C5C80E9CB2 +:1087080048FB49074906F01F0011C2C8000016407F +:108718008002ED8400001644000015400000154456 +:108728008002EDD08002EDE6800396C8800094C4F4 +:10873800800396E0800396C48002E28C80039364F1 +:10874800000015FC000016008002EEB86E08EC0868 +:10875800092C2FF88F085908C070498B300CF01F6E +:108768000018580CCF41301949689109496949786E +:108778007008F0080018F20800284959702A720C8D +:108788007008494B5D18581CC1705805C040492CE9 +:10879800F01F001248E83007340A0E9B910748DCA6 +:1087A800F01F000F48F8700CF01F000F4858301CDD +:1087B8009107D832D83ADA3A800393648002EEB847 +:1087C800000016400000154400001540000015FC8C +:1087D80000001600800396C4800094C48002E8BCA0 +:1087E800000016448002E28CD421202D1897FACB81 +:1087F800FFFCFE7C1800F01F0012583CC080584C4B +:10880800C081E0690100FE7818009109301CC15848 +:10881800401C58DCC03130ACC0B8588CC081F01F47 +:108828000009320CF01F00071BFCC0285C5CF01F1D +:1088380000054018300CAE882FEDD8228000A9C260 +:10884800800078A0D431202D30A1FAC0FFF930D2B1 +:10885800308349B749B630043005009CF01F001A30 +:10886800C2A11BF8E20818005F0AE40818005F09B3 +:10887800124AF80A1800C0904929491A1298740B2C +:10888800950CF20B0B0CC188E6081800C0916E0815 +:108898002018F00C17708F0CEC0C0B04C0686E09D4 +:1088A800EC090B082FF98F096E08E0480050CD61DC +:1088B8008F05CD4B3008109C2FEDD832000016489C +:1088C8000000164C800087F0D401F01F0004301B14 +:1088D800F01F0003D80200008000884C8000863C0E +:1088E800D4314974169714951293580BC0B1680C7B +:1088F800580CC0311896C2181696F01F0012890736 +:10890800C1C868085808C0C1E06C0200F01F000E1A +:10891800890CC061189648DCF01F000DC0E80A9C5D +:10892800E066020048650C33E60617806A0B0C9A6D +:10893800F01F00086A088F080C9CD8320000169CAB +:108948008002E28C8002E2A4800396E8800094C44E +:10895800800090B4D401F01F0002D80A800091086A +:10896800D4213008FAC4FFEC19C9F0091800F9B885 +:108978000100E9F81A01E9F81A02E9F81A004A1898 +:108988001AD84A1818971AD8089B3008E8C9FFF867 +:10899800E8CAFFFC780CF01F001D8F0C2FED580C57 +:1089A800C021DC2AF01F001A300949AA301BE06CEC +:1089B8001388F01F00193009498A301BE06C00FA4F +:1089C800F01F00153009496A301BE06C01F4F01FF4 +:1089D80000123009493A301BE06CEA60F01F000EC3 +:1089E8003009491A301BE06C03E8F01F000B30090E +:1089F80048EA301BE06C03E8F01F0007DA2A0000A1 +:108A08008001365C80013C948000CCA88000CAB00C +:108A180080008A708000956C80008A6480008A5883 +:108A280080008A4C80008A4080008A34D401F01F7C +:108A38000002D8028000C664D401F01F0002D802E8 +:108A480080012984D401F01F0002D8028000B8B048 +:108A5800D401F01F0002D8028000C074D401F01FB6 +:108A68000002D8028000E68CD401F01F0002D80270 +:108A78008001326430194828B0895EFC000016AACB +:108A8800D401319CF01F0003319CF01F0003D80271 +:108A98008000A2D28000A2E6D421204D3FF819C957 +:108AA8001897F0091800F9B80001EFF80E0430081B +:108AB800201D1AD850581AD81AD850685058F01F84 +:108AC800001C49CB6E0CF01F001C0E9949BA49CB0B +:108AD80049CCF01F001D2FCD581CC08049B8201D5F +:108AE80049BC1AD8F01F001B2FEDF01F001BF01F08 +:108AF800001B0E9CF01F001AC0F049A8900930080E +:108B0800F0091900C0F44988201D498C1AD8F01FB3 +:108B180000112FEDC07830194958319CB089F01FE9 +:108B280000153018EF6800082FCDD822800089681A +:108B380080008C5C8000CAEE80008B7C80008BDC1F +:108B480080008A7C80009A188003973C80039DC02F +:108B5800800094C48000998C80019EF880002A9837 +:108B6800000016A28003972880039758000016A4D7 +:108B78008000A300D4211897333CF01F000F300663 +:108B88000FD8EC081800C0C048CCF01F000D6E0CC0 +:108B9800F01F000C6E0CF01F000CAED6C07848BC5D +:108BA800F01F00076E0CF01F000A3FFCF01F0009C1 +:108BB800D82200008000A2E680039774800094C445 +:108BC8008000B1D88000AE50800397908000CABC66 +:108BD80080002E60D42116971896333CF01F00149D +:108BE8000C9CF01F0014201D1ADC493CF01F0013D8 +:108BF80030182FED0FC6F0061800C121490CF01FE0 +:108C0800000F6E0CF01F000F48F849095C5CF20C6D +:108C18001700F00C1710F01F0009AED6C0486E0CF4 +:108C2800F01F000BF01F000BD82200008000A300EB +:108C3800800096E48003979C800094C4800397B8D2 +:108C48008000B950800397D080037FC08000CB8814 +:108C58008000C690D42149471896F01F0014189533 +:108C6800C110301CF01F00126C18201D1AD8F01FFC +:108C78000011500C490CF01F001130182FEDAE8870 +:108C8800D822AE8CF01F000E48E89008EA081900B8 +:108C9800C08448D8201D48DC1AD8F01F00082FEDE2 +:108CA800D8220000000016AB8000CAE480002E60C5 +:108CB800800096A8800397D8800094C480006B2C0D +:108CC800000016A28003995C800397E8D4211897C6 +:108CD800F01F0027300A4A7B4A7CF01F0028300A20 +:108CE8004A7B4A8CF01F00254A7B300A4A7CF01FD9 +:108CF80000230E9A4A6B4A7CF01F0020300A4A6B08 +:108D08004A6CF01F001E4A6B300A4A6CF01F001BA9 +:108D18000E9A4A5B4A5CF01F0019300A4A4B4A5CBB +:108D2800F01F0016300A4A4B4A4CF01F0014300A54 +:108D38004A3B4A4CF01F0011300A4A3B4A3CF01F9C +:108D4800000F300A4A2B4A3CF01F000C300A4A2B0D +:108D58004A2CF01F000A300A4A1B4A2CF01F000751 +:108D6800300A4A1B4A1CF01F0005D82280008620C2 +:108D7800800085DC80039804800085F08000857879 +:108D88008003980C80007E448003981480007F70D4 +:108D98008003981C800079F48003982480007DC8A3 +:108DA8008003982C80008494800398348000633476 +:108DB800800398408000834C80039848800084009A +:108DC80080039850800082E4800398588000821CB9 +:108DD800800398608000817C80039868800080D43C +:108DE800800398748000791080039880D4211897A4 +:108DF800F01F000BF01F000BF01F000BF01F000B03 +:108E08006E0CF01F000B48B811893008F0091800E3 +:108E1800C0406E0CF01F0008D82200008000951496 +:108E2800800088D080009504800193A080013BBC1D +:108E3800000016A480004758D421202D3029EE7850 +:108E48000000F1D9D1A23019F1D9D0033007501858 +:108E58000E9B5007337CF01F000F1A9BFE7C3800D6 +:108E6800F01F000D0E9BE06A01A4FE7C3800F01F85 +:108E7800000B0E9BE06A0348FE7C3800F01F0008D8 +:108E88000E9BFE7C3800F01F00072FEDD822000053 +:108E98008000A2308000A8388000A8F08000A926B1 +:108EA8008000A8D4D401333CF01F0009334CF01FD4 +:108EB8000008335CF01F0006333CF01F0006334CFB +:108EC800F01F0004335CF01F0003D8028000A2A842 +:108ED8008000A2E6D421202DF01F0034F01F0034BA +:108EE800F01F0034F01F0034E06C1B00EA1C00B7D0 +:108EF800F01F00324B28201D4B2C1AD8F01F0032CF +:108F080030CB301CF01F00312FED1897580CC08162 +:108F18004AF8201D4AFC1AD8F01F002B2FED344BBD +:108F2800301CF01F002A8F0CC0814A98201D4A9CD3 +:108F38001AD8F01F00252FED3FF80E9CAEC8F01F81 +:108F48000026300B169CF01F0025F01F0025F01F8F +:108F58000025C0804A48201D49EC1AD8F01F001A85 +:108F68002FEDFACAFFFC0E9B4A0CF01F0021581C7B +:108F7800C0C1401A49FB0E9CF01F001F581CC0516D +:108F88000E9CF01F001ECFDB58CCC04058DCC061DF +:108F9800C03849BCC04849BCC02849BCF01F000AB9 +:108FA800F01F001ACFEB000080008A88800076E06E +:108FB80080008EAC80008E408000AAE88003970C69 +:108FC80080039888800094C48002DC3C800398A8C1 +:108FD80080039DC080008CD4800095C88000C8E4C0 +:108FE8008000895C800398B8800088E880013E880A +:108FF80080008AA0800193BC80008DF4800398E4EF +:109008008003990C8003993080009514D4314A1458 +:1090180058095F081296189716951493A888E06067 +:109028000100E06100FFC2E88920A868E203190096 +:10903800E069FFFFE7D9E828E9F88A02E06901005A +:1090480088E8F2080108682989151039E9F8BA0290 +:10905800EE021608049CF01F0010301CF01F000FD1 +:10906800F01F000F5806C090049CF01F000E301C23 +:10907800F01F000DF01F000D6828101310071005D1 +:109088005C83F1D7C0085803CD01069CD832000094 +:10909800000016AC8000A0408000A19880009ED4FB +:1090A80080009F5C8000A17080009E94D4013009EC +:1090B8005C7AF01F0002D80280009014D40148584E +:1090C80090E9701B120C702AF01F0003D8020000F0 +:1090D800000016AC8002E736D4014888189B118A34 +:1090E8003009F20A1800C07090E9701C120B702A3F +:1090F800F01F0003D8020000000016AC8002E7361B +:10910800D421208D48D8F0E60008FAE70008F0EAF4 +:109118000000FAC8FFF0FAEB0000F0E70008F0EBF7 +:109128000000E06CF980EA1C0337F01F0005300CE2 +:109138002FCD2FCDD82200008003996C8000A1C0CC +:10914800D401FAC9FFFCF01F0002D80280031C1CDE +:10915800D401F01F0002D8028002EE88D401F01F6B +:109168000002D8028002ECACD401F01F0002D80241 +:109178008002F0ECD401F01F0002D8028002E71050 +:10918800D401F01F0002D8028002EE2CD401F01F97 +:109198000002D8028002ED84D401F01F0002D80238 +:1091A8008002ECC8D401F01F0002D8028002EE0C45 +:1091B800D401F01F0002D8028002EDD0D401F01FC4 +:1091C8000002D8028002E87ED401F01F0002D80213 +:1091D8008002E8BCD401F01F0002D8028002E73602 +:1091E800D401F01F0002D8028002E28CD401F01FE3 +:1091F8000002D8028002E8D0D401F01F0002D80291 +:109208008002E2A4D401580CC0707808B08B7808AA +:109218002FF89908D802F9DBC008F01F0002D8021D +:10922800800078A0D431189616971495580AE08AC9 +:1092380000153008109AC0282FF8EE08070BF40B19 +:109248001800CFB10A38F9B50400EBD8E515EDB927 +:109258000001C0313303C0283203E9D9C001C090EE +:109268003004C1082FF42015069B0C9CF01F000D3C +:109278005805FE99FFF9C0682FF42FF70C9CF01FD2 +:1092880000090F8B580BCF91C0782FF42015069B3F +:109298000C9CF01F00045805FE99FFF9089CD83271 +:1092A8008000920CD431204DFAC4FFCC109368177B +:1092B800189568041698580BC0B13308BADB08999A +:1092C800069ABAC8FACBFFFCF01F001FC3985809CA +:1092D8005F1B58AA5F09F7E90009C0605808C04435 +:1092E8005C383016C0283006EECB003A3009FAC791 +:1092F800FFF00EF9C0B8F00A0D00029912985898BC +:10930800F1DBE9082D080EF800985808CF515806E7 +:10931800C1005803C0B0EDB40001C08132DB0A9C23 +:109328002013F01F000A3016C04832D830060EF855 +:109338000899069A0E9B0A9CF01F00030C0C2FCD6F +:10934800D83200008000922C8000920CD431203D4D +:109358003007500A18951696325432D3330230919A +:109368003730C978E8081800E081008E2FF60D889C +:109378005808E0800093E8081800E0800085E608B7 +:109388001800F9B90100F7B600FFF9B90001C038B3 +:109398002FF6A1B90D88E4081800CFB03008C048EE +:1093A800F80E00182FF60D8AF008002EF4CC0030C5 +:1093B800F4CB0030E20B1800FE98FFF4E00A180026 +:1093C800C0A1109A4008110B50084B98580BF00B8D +:1093D8001700C548364BF60A1800C0A1361B400ACC +:1093E8001ADB1AD93019740B2FCA502AC358370BF5 +:1093F800F60A1800C121361A40091ADAF2CAFFFC27 +:10940800501A308A1ADA720B3009310A0A9CF01F96 +:1094180000292FED1807C3C8378BF60A1800C0417A +:10942800400A361BC078358BF60A1800C091400AEE +:10943800341B1ADB1AD9740B2FCA502ACE6B375B30 +:10944800F60A1800C0B1361B400A1ADB1AD93009CF +:10945800740B2FCA502A30AACDAB363BF60A180037 +:10946800C171109A4008700B2FC8FB6B0008500898 +:10947800FACBFFF83008FB6800090A9CF01F000EC1 +:109488001807C0682FF70D8B0A9CF01F000C2FF6E9 +:109498000D885808FE91FF685805EBF81000F9B9D7 +:1094A8000100F1F91E000E9C2FDDD8328003997C53 +:1094B800800092AC8000922C8000920CD401189B02 +:1094C800FACAFFFC300CF01F0002D8028000935447 +:1094D800D40148A972082FF89308F2F800CC58086C +:1094E800C040F2FC00D45D18FE780D003019918957 +:1094F8007078D402D6030000000001184838F0F94B +:1095080000D0700CB33C5EFC00000118D431495601 +:1095180030020C9730152F46EEC1FF2C0E930E9497 +:109528000D88E4081800C18166086E291039E08B9F +:1095380000146C185808C0306C2C5D180D98EA0897 +:109548001800E9F80000EFF90001F3D8E008EFF897 +:109558000A02EDF51E002EC62EC70236CE21D832DD +:1095680000000118D431300E189830A5494C1C96CB +:109578002FCCFCC3FFFF1897F9340008EC0418003F +:10958800C071FDD3C0082ECCEA0E1800CF311C9C48 +:1095980048B530030A96FC0E002EEAF500D0F00517 +:1095A8000D048F040D08EF630008EC0E0026080870 +:1095B800EF6B00098F188D498D3AD83200000118D9 +:1095C800D421300A16971896328B495CF01F001583 +:1095D800300AFE7C0D00149BF01F00134935FE7CF9 +:1095E8000D00EAFB00D0F60B1073A19BF01F0010D2 +:1095F800FE7C0D00F01F000FFE7C0D00F01F000E1A +:10960800EAC9FF2CEB4600CCEB4700D430182F45B5 +:10961800AA882EC51235CFD1D8220000800094D850 +:109628008000A3A08000A594000001188000A580F8 +:109638008000A57A8000A562D401306AF01F00027C +:109648005F0CD8028002E710D401F93A0020F738FD +:109658000020F4081800C020D80AF01F00035F0C8F +:10966800D80200008002E710D42119D919881AD924 +:1096780019C91AD919B91AD919A91AD91999486732 +:109688001AD9486A1AD8312B0E9CF01F00050E9C77 +:109698002FADD822000016E0800399848002EC40A8 +:1096A800D4214058F5D8C008F00916181ADAF5D8A8 +:1096B800C108F1D8C2081ADA48671AD8486A1AD90C +:1096C800310B0E9CF01F00050E9C2FCDD8220000F8 +:1096D800000016F4800399A48002EC40D421488746 +:1096E8001896321A300B0E9CF01F00060C9BED3AB0 +:1096F80000200E9CF01F00040E9CD822000016BC0F +:109708008002E8BC8002E736D431300318971696F9 +:109718001491129218950694C1D805002FF4009C54 +:10972800F01F0012F80300030C33E0880009201D25 +:1097380048FC1AD6F01F000F2FEDC108201DEE05BA +:10974800010B1AD00A9C0C0B48BAF01F000C2FED25 +:1097580018050234CE350E35C021D83A30080AF83B +:10976800EA07010CD83200008002EDD0800399B4DA +:10977800800094C4800399CC8002EC40D4211897CF +:109788002DFCF01F001B201D1ADC49ACF01F001A2D +:109798000E9CF01F001A500C499CF01F00176EC851 +:1097A800498C5008F01F00146EF82FED5818C0416E +:1097B800495CF01F0011EF3800383049F2081800F2 +:1097C800C0E03059F2081800C0603029F2081800CB +:1097D800C091C03848DCC04848DCC02848DCF01FCD +:1097E800000648DCF01F0004D822000080009670B4 +:1097F800800399CC800094C4800096E4800399D0BB +:10980800800399D8800399E8800399F480039A0823 +:1098180080039A1C800384D4D421202DFACCFFFC29 +:10982800F01F000C401870185808C04148ACF01FD1 +:10983800000B3007C0887008F007032CF01F0008E1 +:109848002FF75C57401870191237CF632FEDD822C5 +:1098580080018F0480039A40800094C4800097841C +:10986800D431202D300818921696BAE8169CF01FAD +:10987800001DEDBC0000C04149BCF01F001C3007B2 +:109888002FF649B30E94FAC5FFFCC208660BF6081A +:109898000709E2190044C210E04700405F9C0D8AA6 +:1098A800F60A0709E21900445F09F9E91009E8090D +:1098B8001800C131BADABAC8310A300B0A9C2FE64F +:1098C800F01F000CE4070B0C2FF7ED38FFFF5808CA +:1098D800CDE10E9C5C5CC028300C2FEDD832000026 +:1098E8008002EDD080039A50800094C40000049C4C +:1098F8008002F0ECD421204D1A981AD8FAC8FFF843 +:109908001AD8FAC8FFF01AD8FAC8FFE818971AD870 +:10991800169C49BBF01F001B2FCD584CC221403864 +:10992800E04800FFE08B001E402B580BC1A5E04B20 +:1099380000FFE089001740195809C135E04900FFC8 +:10994800E0890010400A580AC0C5E04A00FFE089D3 +:109958000009B16BF7E811881448F1E91088C028AC +:109968003008F0091618AEB8AE890E9CF3D8C208B4 +:10997800F1D8C108AE99AEA82FCDD82280039A603D +:109988008002EBF4486870085808F9BC00FFF9B980 +:109998000101F1F91E10F9BC01015EFC0000170479 +:1099A800D4214988169770085808C021DC2A580C19 +:1099B800C080189B321AF0CCFFEFF01F0013C0389C +:1099C800F16C003148F85807C080700C0E9B306A63 +:1099D8002CECF01F000DC088700C306A2CECE06B8A +:1099E80000FFF01F000A48787008F139003130088C +:1099F800F0091800C021DA2AF01F0005DA2A000051 +:109A0800000017048002E7368002E8BC80019EF857 +:109A1800D4314A241896169714951292680358035D +:109A2800C3B1338B301CF01F001E890C189BC0B1CA +:109A380049C89088EDB80003C2F1201D49A849BC67 +:109A48001AD8C10849ACF01F001B49691891581C65 +:109A5800C0E09288EDB80003C1F1201D4928496C87 +:109A68001AD8F01F00163FFC2FEDD8326808913243 +:109A7800F16300109106911791259288EDB80003C3 +:109A8800C020D8324888201D48DC1AD8F01F000BA7 +:109A9800029C2FEDD832DC3A000017048002DC3C2F +:109AA800000016A280039A8080039AE080009AC87A +:109AB80080018F2480039AF8800094C480039B203F +:109AC800D431202D1697581CC290C083582CC670CC +:109AD8004A78583CE08101A8C998F01F00264A48F6 +:109AE80018969088EDB80003C0A1F01F00234A38EB +:109AF8001ADC4A3C1AD8F01F00232FED333CF01F24 +:109B08000022334CF01F00216E185808E08001979E +:109B18006E3B0C9C5D18E08F019249589088EDB817 +:109B28000003C08149A8201D49AC1AD8F01F0015B0 +:109B38002FED334CF01F0014333CF01F0014EF39A5 +:109B480000103008F0091800E0800179F01F0012B9 +:109B5800581CE080017448689088EDB80003E081E3 +:109B6800016E201D48A848DC1AD8C659000016A264 +:109B78008001997C800096E480039AC880039B3812 +:109B8800800094C48000A3008000A2E680039CE8C3 +:109B980080039B5480019EF880039B784B589088E3 +:109BA800EDB80003C0814B48201D4B4C1AD8F01F5C +:109BB80000342FED4AF89088EDB80003C0814B18A7 +:109BC800201D4B1C1AD8F01F002E2FED333CF01F20 +:109BD800002F6E285808C0306E3C5D18EF39001011 +:109BE8003008F0091800E080012AF01F0029581CED +:109BF800E080012549F89088EDB80003E081011F55 +:109C0800201D4A084A3C1AD8C1699088EDB800035B +:109C1800C0814A18201D4A1C1AD8F01F00192FEDC0 +:109C28006E085808C0306E3C5D18EF3900103008D7 +:109C3800F0091800E0800103EF390031F00918003D +:109C4800E08000FDF01F00161894FACCFFFCF01F0E +:109C58000015581CC591401870185808C550300593 +:109C6800EEC1FFEFEEC3FFCE0A960A92C488000049 +:109C7800000016A280039ABC80039BAC800094C4A9 +:109C880080039A9880039BC48000A2E680019EF816 +:109C980080039BE880039AA880039C1C8001997C20 +:109CA80080018F04EF390031E4091800C080700882 +:109CB800029CF005032BF01F0041C1F0306A4C0BE9 +:109CC800069CF01F0040C0A040187008069CF005D4 +:109CD800032B2DFBF01F003CC1005806C0A0401804 +:109CE8006CC97008F005032870C81039E0890006AF +:109CF80040187008F00503262FF55C5540187019B8 +:109D08001235CD13C02830060C34C0415804E08108 +:109D1800009658065F1858045F19F1E90009C20057 +:109D2800089B0C9CF01F0025C1D068C8FE58FFC0D6 +:109D3800E08400856CCAF0C9FFF71439E084007F1D +:109D48004A299289EDB90003C0D1201D1ADA1AD820 +:109D580049F84A0C1AD8F01F00202FCDC0385808EF +:109D6800C0C0202DECCBFFDF306A1A9CF01F001B0F +:109D7800F01F001B2FEDC17849489088EDB800030B +:109D8800C0C1EECCFFEFF01F001749181ADC496C70 +:109D98001AD8F01F00112FEDEECCFFEFEF3B00318A +:109DA800F01F0012588CC060589CC2F0581CC21199 +:109DB800C458F01F000FC4288000965080039C38B8 +:109DC8008002EDE680009640000016A280039A8C7F +:109DD80080039C40800094C48002E73680019DDCAB +:109DE800800096E480039C6880019EA0800199CC45 +:109DF80049489088EDB80003C0814938201D493C86 +:109E08001AD8F01F00132FEDF01F0012581CC16064 +:109E180048C89088EDB80003C111201D48A848EC37 +:109E28001AD8C0989088EDB80003C081201D48B8A2 +:109E380048BC1AD8F01F00062FED2FEDD8320000CD +:109E4800000016A280039A8C80039C94800094C41E +:109E580080019EF880039CB080039ABC80039CCC50 +:109E6800D4012FEC580BC080F7DCC008FE7C28001A +:109E7800F01F0005D802F7DCC008FE7C2800F01FA0 +:109E88000003D8028000A6C68000A716D42148C7C0 +:109E9800C098300BFE7C2800F01F000A6E082FF8CF +:109EA8008F086E0CF7DCC008CF51F9DCC288F01FB0 +:109EB800000630194858B089D82200000000170859 +:109EC8008000A7FA80009E680000170CD40148683B +:109ED800300B700CF9DCC288F01F000430094848C8 +:109EE800B089D8020000170880009E680000170C8F +:109EF800D421202D4948301B700CF9DCC288F01F92 +:109F08000013E06B00D7FE7C2800F01F0011FAC791 +:109F1800FFFAE06B00FFFE7C2800F01F000D0E9B8F +:109F2800FE7C2800F01F000B9AB8EDB80007CF217F +:109F38004858300B700CF9DCC288F01F00042FED74 +:109F4800D82200000000170880009E688000A7FA49 +:109F58008000A816D421202D49B8A96C910C49B8C5 +:109F680011893008F0091800C030F01F00193009B5 +:109F780049684957B0896E0C301BF9DCC288F01F5C +:109F88000015E06B0082FE7C2800F01F00136E08AD +:109F9800F3D8C008FAC7FFF8F7D8C10CFE7C280030 +:109FA800F3EB109B0EDBB18BF01F000B0FABFE7CAD +:109FB8002800F01F00090FBBFE7C2800F01F0006D8 +:109FC8002FEDDA2A000017080000170C80009EF811 +:109FD80080009E688000A7FAD42149381897118913 +:109FE8003008F0091800C0604908700CA98CF01FEF +:109FF8000010EEC6FF000F3BFE7C2800F01F000D8E +:10A008000C37CFA14898300B700CF8CCFF00910C9E +:10A01800F9DCC288F01F000830194838301CB089B4 +:10A02800D82200000000170C0000170880009F5C71 +:10A038008000A7FA80009E68D421202D4A78A96C58 +:10A04800910C4A7811893008F0091800C030F01FC7 +:10A05800002530094A284A17B0896E0C301BF9DCF4 +:10A06800C288F01F0021E06B00D2FE7C2800F01FA0 +:10A07800001F6E08F3D8C008FAC7FFF8F7D8C10C5C +:10A08800FE7C2800F3EB109B0EDBB18BF01F001752 +:10A098000FABFE7C2800F01F00150FBBFE7C2800CC +:10A0A800F01F0012E06B00FFFE7C2800F01F000F7D +:10A0B800E06B00FFFE7C2800F01F000CE06B00FF47 +:10A0C800FE7C2800F01F0009E06B00FFFE7C2800E2 +:10A0D800F01F00062FEDDA2A000017080000170C01 +:10A0E80080009EF880009E688000A7FAD421202D69 +:10A0F800498818973009118AF20A1800C070B08987 +:10A108004958700CA98CF01F0015FAC5FFFAEEC665 +:10A11800FF00E06B00FFFE7C2800F01F00110A9B87 +:10A12800FE7C2800F01F000F9A380EC80C37CF218C +:10A138004898300B700CF8CCFF00910CF9DCC28801 +:10A14800F01F000930194838301CB0892FEDD8228B +:10A158000000170C000017088000A0408000A7FA34 +:10A168008000A81680009E68D4211897C088F01F28 +:10A178000006486CF01F000620175C87483C58070B +:10A18800CF71DA2A800090C40000171080009FE089 +:10A19800D4211897C088F01F0006486CF01F0006ED +:10A1A80020175C87483C5807CF71DA2A8000A0F452 +:10A1B80000001710800090E0D4213027FAC4FFEC8B +:10A1C8001896A887C0C80C9A089BFE7C2800F01F28 +:10A1D8000009C020D82A09882FF8A8880988EE081D +:10A1E8001800FE98FFF230094838301CB089D82290 +:10A1F8008000A73C0000170CE1B80000EE18000131 +:10A20800F1D8C201C020D3033019F20B094B994B86 +:10A21800783958085E0CD5035EFCFE681400700996 +:10A22800F3DCD0C191095EFCF8081605A968E0289E +:10A23800F000581BC0D0C063582BC0F0583BC12059 +:10A248005EFF3019F20C0949916991A9C108F60C11 +:10A25800094B915B91ABC0B83019F20C094991696F +:10A26800C0583019F20C0949915991993019F20CDA +:10A27800094C912C5EFDD703D4213007189616940B +:10A288000E95C0880D9B0D8C2FF72FE6F01F00044C +:10A2980018450837CF830A9CD82200008000A230D6 +:10A2A8003018F00C0948A59CA96CE02CF000F9487E +:10A2B800004899185EFC3018F00C0948A59CA96C58 +:10A2C800E02CF000F94800745EFC3018F00C0948E6 +:10A2D800A59CA96CE02CF000F94800785EFC3018C9 +:10A2E800F00C0948A59CA96CE02CF000F948005432 +:10A2F800F948004499185EFC3018F00C0948A59CF0 +:10A30800A96CE02CF000F9480058F9480044991865 +:10A318005EFC301AF8081605F40C0949A968E0280B +:10A32800F000F14900C4143BC080C043582BC0F171 +:10A33800C098F14900A8C038F14900A4F14900B813 +:10A34800C078F14900A8F14900B4C0285EFAF14983 +:10A3580000945EFD3018F00C0948A59CA96CE02C0F +:10A36800F000F94800985EFCF8081605A968E0288E +:10A37800F000F0F800D0F00C0A4CF9DCC0015EFCEB +:10A388003018F00C0948A59CA96CE02CF000F9489D +:10A3980000D85EFCC008D703F3DBC0054898A59B2E +:10A3A800F00B00387018F009092C4878F5DAC0026B +:10A3B800F00A0329FE780800F00B09295EFC00006A +:10A3C80080039CFC8003773CD42148F8E3B8000163 +:10A3D80048E848F9700E48FC3008FE7B0800C0E8E1 +:10A3E8007216EC0A00262FFA8D0C0E3ACFA3F60847 +:10A3F800092E2F892FF85948C0407207300ACF6BB1 +:10A40800D8220000800376008003773C80039CFC00 +:10A418008000A39CE0680083FE790800F00C010C22 +:10A42800F20C0328F0CAFFC0F20A032C580C5E0C89 +:10A438004869F80C1200F2080038F80C111F70185F +:10A44800F00C032C5EFC000080039CFC78C83019DB +:10A45800F1D9D10399C85EFC78C83019F1D9D00177 +:10A46800F1DBD20399C85EFCD421FAC4FFEC68176B +:10A47800680EEFD7C003FDDEC0013004E9D7D00372 +:10A48800E9DED0E1E9D7D103E9DED1E1E9DAD203A7 +:10A49800E9DBD2E1E9D8D303E9D9D3E199147958B2 +:10A4A800EDB80005CFD1D822D4213007405E2F8BDC +:10A4B800EFD8D021EFD9D104EFDAD204EFDED306FA +:10A4C800F80B0927D822F5E910192F8BF3E8102883 +:10A4D800F80B0329F3D8D043F80B09295EFC2F8B1E +:10A4E800F80B0328A1A8F80B09285EFC7958EDB8E9 +:10A4F8000000CFD15EFC7808F1DBD00299085EFC41 +:10A50800EC5BBB9FE08B0004304BC138E068C6BFF2 +:10A51800EA18002D103BE08B0004305BC0A8E0680F +:10A528001200EA18007A103BF9BB0306F9BB0207D0 +:10A5380078A8F1DBD00399A878A8F1DAD10399A813 +:10A548007808A3A899087958EDB80007CFD17808FA +:10A558003019F1D9D00299085EFC7808EDB80004EA +:10A56800CFD07808A1A899087808EDB80004CFD012 +:10A578005EFC301899485EFC7808EDB80004CFD02E +:10A58800992B7808EDB80004CFD05EFCD42130F8C0 +:10A5980014951697F00A18005FBA30181896F00B41 +:10A5A80018005FB9F5E91009C020D82AF00B180087 +:10A5B800C0A1FE7C0C00F01F0015300BFE7C0C00C7 +:10A5C800F01F00136C08EDB80004CFD0A377B1A733 +:10A5D800EFE510878D076C08EDB80004CFD06C0844 +:10A5E800E2180010CFD18D186C08EDB80004CFD058 +:10A5F8006C08EDB80004CFD03FF88D286C08EDB892 +:10A608000004CFD0DA2A00008000A4548000A4609F +:10A618003038F00A18005FB93078F00B18005F88FE +:10A62800F3E81008C1913108F00B1800E08B001511 +:10A63800E06800809908208BF4081601F5DAC0015B +:10A64800F1EB104B580AF9BA0100F9BA0002F7EA1F +:10A65800100A99CA5EFD302C5EFCD4013019189896 +:10A66800F73B000DF20B1800E0880004302CD802EC +:10A67800300AE06900809909301E7019149CF3DED5 +:10A68800D001F3DBD081F3DAD0E130FAF3DAD20487 +:10A698009119D802D4013018F00B18005FBEF00AE7 +:10A6A80018005FB81C48C030302CD8027818F1DB8D +:10A6B800D021F1DAD041F1D9D3089918D80A7819FC +:10A6C8001898EA19000F9919781CE21C0004C100B7 +:10A6D80030E9F20B1800E08B001A7019B16B300CDE +:10A6E800EA1BFFF0E81BFFFF126B911B5EFC303981 +:10A6F800F20B1800E08B000B70192F0B301AF40BBB +:10A70800094B5CDB126B911B5EFC302C5EFCE06835 +:10A718002710C0585808C0215EFF20187849EDB9A5 +:10A728000009CF917818EA18000F9918FC18010051 +:10A7380099085EFDD4313036F737000CEC07180065 +:10A74800E08B0050F733000B301EFC031800E08B41 +:10A758000049F73800083079F2081800E08800420C +:10A768003109F2081800E08B003D7619F205160150 +:10A77800F4050005EA090D04E8C90001E04900FEF6 +:10A78800E08B0030F0CA00080E923008EC1200018D +:10A79800A197F1D7D001F1D2D021F1D3D061F1DA6C +:10A7A800D084F73A0009F1D4D1081789F1DAD20830 +:10A7B800F73A000AF1DAD308FC091800C0C0C093C0 +:10A7C800302AF4091800C090EC091800C0A1C0781C +:10A7D80099C8C06899D8C04899E8C02899F8D83A63 +:10A7E800302CD832301899085EFC784CF9DCC0213E +:10A7F8005EFCE0682710C0585808C0215EFF20188A +:10A808007849EDB90001CF915C7B993B5EFDE0682A +:10A818002710C0585808C0215EFF20187849E2194F +:10A828000201E0490201CF717828300CB6085EFCBD +:10A8380076095829E08800035EFE7618A769109B00 +:10A84800E61BC000120CF3D8C003AFB91649109B21 +:10A85800E61B30001649109BE61B0C001649109B9E +:10A86800E61B03001649109BE61B00C01649109B07 +:10A87800E61B00301649109BE61B000C1649109B7E +:10A88800E61B00031649109BE21B60001649109B4B +:10A89800E21B10001649109BE21B0C001649109B86 +:10A8A800E21B03002FCC1649109BE21B0080109A74 +:10A8B8001649E21A0008109BE2180030E21B00401B +:10A8C8001649F3E81008144899085EFDF6081506BD +:10A8D800582BF9BC0BFFF9D8E80CF9B80805F9F8BA +:10A8E8008A00F9BC08005EFC582BE08800035EFE75 +:10A8F800F6081506F80800082FC87008EDB8000F0C +:10A90800C0C1A76BF3DAC010160C2ECC7808E0187B +:10A918000000F3E810089908F9DAC0105EFC582B1B +:10A92800E08800035EFEA76B160C7818EDB8000FE0 +:10A93800C0A12E4CF3DAC0107808E0180000F3E844 +:10A9480010089908F9DAC0105EFCD401F60E150457 +:10A958001C3AF9BE0210F9BE0308FC0B024BF608BC +:10A968001601F00A003AF40B0D0AF4091603F2C8AE +:10A978000001E048FFFEE0880003DA0A7818E86B77 +:10A988000000E418FFF7E018FECF590EF60E171076 +:10A99800F9BE0000FDE810089918F5DAC003F3EADB +:10A9A80011099989D80A7858EDB80001C030302CBF +:10A9B8005EFCF7DBC009997B5EFD7858E21800E081 +:10A9C800C030304C5EFC7859EDB90000F9BC010389 +:10A9D800F9F90006F00C1700E06A01FFF3DAE02845 +:10A9E800F7F80A005EFCE1B80000EE180001F1D8A3 +:10A9F800C201C020D3033FF9993978595808C020BB +:10AA0800D50330089918999899A8EA68610C9908AB +:10AA18005EFCD703D421201D500A16961897F01F04 +:10AA2800002F400A5806C5500DC83049F2081800D2 +:10AA3800E08800503095EA081800E08B004B0DD9EB +:10AA48003078F0091800E08B00458C39E068010186 +:10AA5800F0091900E08B003EED3900083038F009A4 +:10AA68001800E08B00376C0B0E9CF01F001D581C63 +:10AA7800C3000DC8EA081800C0416E18B1B8C05824 +:10AA880020586E19F3E810688F186E19ED3A00080F +:10AA98000DD8A978F1EA10E812488F18302A8C38B6 +:10AAA800F3D8C010F4081900E08800086E18ADB893 +:10AAB8008F1820298FA9C0586E18F1E910C98F196D +:10AAC8006E18E018FFF08F18300C35088F08C02872 +:10AAD800301C2FFDD82200008000A9EE8000A9526A +:10AAE8004828910C5EFC0000000018E8D431189842 +:10AAF800783E580EC620F90600105806C5E0300901 +:10AB08003FF3129A3344C1780E91E8071800C0A1A8 +:10AB1800F2CAFFFEF4C9FFFF5C7A5C89FC0A070AE7 +:10AB2800C0A8F6071800C4A05C75FC050709E4096D +:10AB380000095C89EC091900C0F2F2C5FFFFF9D9D8 +:10AB4800C0105C85FC0C000CEAC2FFFF19870E914F +:10AB5800E6071800CDA1580AC3003019F20A1800F8 +:10AB6800C0617028E06900802948C0C87028302971 +:10AB7800F20A1800C0412D483409C0482D48E06940 +:10AB880000C0300C3FF7C0D8F60A1800C1705C7ED0 +:10AB9800F00E070CEC0C000C5C8CF20C1900C0D207 +:10ABA800F8CEFFFF5C7C5C8EF00C000CFCC6FFFF4F +:10ABB800198AEE0A1800CE91300CD832D401F9085F +:10ABC800001CF3D8C010F2CEFFFE140EE04E004475 +:10ABD800E088000F48F8201D1AD8E06804E31AD866 +:10ABE80048D848EC1AD8F01F000E2FCDC008786E50 +:10ABF800FC090009F36B00F02FF8786BF3D8C0104C +:10AC0800F6090009F36A00F02FF8F958001CD80279 +:10AC180080039DC480039E0880039D9C800094C48B +:10AC2800D4013439F908001CF2081900E088000F33 +:10AC380048C8201D1AD8E06804EE1AD848A848BCAD +:10AC48001AD8F01F000B2FCDC008786AF3D8C010AF +:10AC5800F4090009F36B00F02FF8F958001CD8022A +:10AC680080039DC480039E5080039D9C800094C4F3 +:10AC7800D401580CC0E14B18201D1AD8E068062BE7 +:10AC88001AD84AF84AFC1AD8F01F002F2FCDC0084E +:10AC9800786A580AC0E14A98201D1AD8E068062C3C +:10ACA8001AD84AA84A7C1AD8F01F00272FCDC00806 +:10ACB800F908001C3439F2081900E088000F49F837 +:10ACC800201D1AD8E068062D1AD84A1849DC1AD867 +:10ACD800F01F001D2FCDC008F7D8C010160A3FFB83 +:10ACE800F56B00F02FF8129B5C88300AF958001CAD +:10ACF800C1584928201D1AD8E06806321AD8494890 +:10AD0800490C1AD8F01F00102FCDC008F1DEB01082 +:10AD1800786EFC090009F36A00F0F0CEFFFFF3D863 +:10AD2800C010F6081900FE98FFF3F958001CF3D973 +:10AD3800C002CE01D802000080039DC480039E8C0F +:10AD480080039D9C800094C480039EB080039EDC99 +:10AD5800D401F908001CF3D8C010F2CAFFFEE04A7B +:10AD68000044E088000F4918201D1AD8E06804F54F +:10AD78001AD848F848FC1AD8F01F000F2FCDC00881 +:10AD8800786AF4090009F5DBC108F36A00F02FF8C6 +:10AD9800786AF3D8C010F4090009F36B00F02FF8B3 +:10ADA800F958001CD802000080039DC480039F1C32 +:10ADB80080039D9C800094C4D401F908001CF3D83A +:10ADC800C010F2CAFFFCE04A0044E088000F49B80E +:10ADD800201D1AD8E06804FD1AD84998499C1AD849 +:10ADE800F01F00192FCDC008786AF4090009F60A87 +:10ADF8001618F36A00F0786A2FF8F3D8C010F4092F +:10AE08000009F5DBC208F36A00F0786A2FF8F3D876 +:10AE1800C010F4090009F5DBC108F36A00F02FF847 +:10AE2800786AF3D8C010F4090009F36B00F02FF822 +:10AE3800F958001CD802000080039DC480039F605D +:10AE480080039D9C800094C4D421F9380035A3D890 +:10AE5800F9680035189678A75807C2406E1C580C38 +:10AE6800C050F01F001130088F186E285808C09184 +:10AE78006E355805C061EF090010EA091900C0E0F5 +:10AE880048A8201D1AD8E06804C51AD84888489CE4 +:10AE98001AD8F01F00092FCDC0080E9CF01F00071C +:10AEA8008DA5D8228001122880039DC480039FA00D +:10AEB80080039D9C800094C48002E28CD421189762 +:10AEC800782C580CC050F01F000830088F286E3CB2 +:10AED800580CC070F01F00043008EF5800108F386D +:10AEE800D82200008002E28CD4211896580CC0E1C8 +:10AEF8004AE8201D1AD8E06805D11AD84AC84ADCA1 +:10AF08001AD8F01F002D2FCDC00878A75807C0E128 +:10AF18004A68201D1AD8E06805D31AD84A784A5CCE +:10AF28001AD8F01F00252FCDC0086E585808C0E069 +:10AF380049E8201D1AD8E06805D41AD84A0849DC1F +:10AF48001AD8F01F001D2FCDC0086E655805C0E047 +:10AF58004968201D1AD8E06805D51AD84998495C6F +:10AF68001AD8F01F00152FCDC0080A9AE06B0134DB +:10AF78000A9CF01F00158F5CC041E06C00FFD822CE +:10AF88009859E0680133F0091900E08B00214878EE +:10AF9800201D1AD8E06805DD1AD848C8485C1AD8B8 +:10AFA800F01F00052FCDC00880039DC480039FB407 +:10AFB80080039D9C800094C480039FD880039FFCDD +:10AFC8008003A0288000D3188003A054EF38001312 +:10AFD800EA081800C0514D3870092FF991097818FE +:10AFE800301B8F684CF9720A8F0AB09BB08B306B9C +:10AFF800B0ABF40B1618B0CBF7DAC2083009B0FAC8 +:10B00800B0DBF5DAC108305BB0B9F1690008F16965 +:10B018000009F169000AF169000BF169000CF16996 +:10B02800000DF169000EF169000FB0EAEF3A001265 +:10B03800F60A18005F0C30ABF60A18005F0BF9EB44 +:10B04800100BF20B1800C0513049F20A1800C0D199 +:10B058000DC9F169000C0DD9F169000D0DE9F1690F +:10B06800000E0DF9F169000F3009ECCAFFD1F16942 +:10B078000010F1690011F1690012F1690013F1691A +:10B088000014F1690015F1690016F1690017F169FA +:10B098000018F1690019F169001AF169001BF0CB79 +:10B0A800FFE4ED35002E3106EA091900F9BC02006B +:10B0B800F5FC380016CC2FF92FFA5C89EC09190039 +:10B0C800CF413009F0CAFFD4129C340B14CC2FF9AD +:10B0D8005C89F6091900CFB13009F0CAFF94129CB7 +:10B0E800E06B008014CC2FF95C89F6091900CFB108 +:10B0F8003639F16900EFF16900EC3829F16900EDA2 +:10B108003539F16900EE344A3009F0C8FF10EF59BB +:10B11800001C10C92FF95C89F4091900CFB1D82A8D +:10B12800000001F0D421580CC0E14A28201D1AD88B +:10B13800E06806141AD84A084A0C1AD8F01F0020EA +:10B148002FCDC00878A75807C0E149A8201D1AD8F4 +:10B15800E06806161AD849B8498C1AD8F01F0018A2 +:10B168002FCDC0086E5C580CC0E14928201D1AD8A4 +:10B17800E06806171AD84948490C1AD8F01F001079 +:10B188002FCDC0086E685808C0E148A8201D1AD8FD +:10B19800E06806181AD848D8488C1AD8F01F000852 +:10B1A8002FCDC008F01F000A30088F688F58D822AA +:10B1B80080039DC48003A09880039D9C800094C454 +:10B1C8008003A0BC8003A0E08003A10C8000D13CD8 +:10B1D800D42130D878A7EF390012F0091800EFF819 +:10B1E8001E12F9B80100EFF81E13300818968FE800 +:10B1F8008F988FB88FA88FD88FC8EF48004CEF482A +:10B208000048EF480044F01F0029EBDCC008C201E9 +:10B21800301A335B0E9CF01F0026307B0E9CF01F0B +:10B2280000250E9CF01F00246E5CEF0B001CF6CB73 +:10B23800FF105C7BF01F00210C983439EECAFFDC4C +:10B248006E5B6E1CF01F001E0C9CF01F001EEF387A +:10B2580000132FF85C58EF6800133099F2081800B3 +:10B26800E0880005E0692710C058E06903E8F009A4 +:10B2780002495C79E06801F4F2C9FE0DF2080C0895 +:10B288000C9CEF58001EF01F00100C9C48FBF01F90 +:10B2980000100C9C48DBF01F000F0C9C48BBF01FF3 +:10B2A800000E0A9CD82200008000AEF08000ABC4DB +:10B2B8008000AC288000AC788000D2108001139008 +:10B2C8008000B12C8000CABC8003B4098000CBC8C0 +:10B2D8008000CA748000CA92D421305878A7EF3908 +:10B2E8000012F0091800EFF81E12F9B80100EFF883 +:10B2F8001E131896F01F0026EBDCC008C2A1301AF6 +:10B30800335B0E9CF01F0023303B0E9CF01F002285 +:10B31800302A339B0E9CF01F001FED1B002C0E9C47 +:10B32800F01F001E0E9CF01F001E6E5CEF0B001C31 +:10B33800F6CBFF105C7BF01F001B0C983439EECA6B +:10B34800FFDC6E5B6E1CF01F00180C9CF01F0017D2 +:10B35800EF3800132FF85C58EF6800133099F208A3 +:10B368001800E0880005E0694E20C058E06907D061 +:10B37800F00902495C790A9CF2C9FE0DE06801F403 +:10B38800F2080C08EF58001ED82200008000AEF02A +:10B398008000ABC48000AC288000AD588000AC7839 +:10B3A8008000D210800113908000B12CD42118960F +:10B3B800580CC0E14AF8201D1AD8E06802F51AD8DE +:10B3C8004AD84AEC1AD8F01F002E2FCDC00878A70B +:10B3D8005807C4E0EF3900123088F0091800C4811A +:10B3E80017B8178A1799B169F3EA118917AAF3EA06 +:10B3F8001089F1E910096EA81039C3A130C8EF68A7 +:10B4080000123008EF680013F01F001E5C5CC28158 +:10B41800301A335B0E9CF01F001C304B0E9CF01F43 +:10B42800001B304A332B0E9CF01F00176EAB0E9C8E +:10B43800F01F00170E9CF01F00176E5CEF0B001C2E +:10B44800F6CBFF105C7BF01F00140C983439493A96 +:10B458006E5B6E1CF01F00120C9CF01F0012EF3880 +:10B4680000132FF8EF6800133148EF58001ED82258 +:10B4780080039DC48003A13880039D9C800094C4F0 +:10B488008000AEF08000ABC48000AC288000ADC066 +:10B498008000AC788000D2108003B405800113903E +:10B4A8008000B12CD421303878A7EF390012F00988 +:10B4B8001800EFF81E12F9B80100EFF81E131896DD +:10B4C800F01F002AEBDCC008C321301A335B0E9C46 +:10B4D800F01F0027303B0E9CF01F0026302A339BBC +:10B4E8000E9CF01F0023E06B02400E9CF01F002210 +:10B4F800304A332B0E9CF01F001E6EAB0E9CF01FC3 +:10B50800001F0E9CF01F001E6E5CEF0B001CF6CB9C +:10B51800FF105C7BF01F001B0C98343949AA6E5B46 +:10B528006E1CF01F001A0C9CF01F0019EF38001356 +:10B538002FF85C58EF6800133099F2081800E0887B +:10B548000005E0692710C058E06903E8F0090249DE +:10B558005C790A9CF2C9FE0DE06801F4F2080C0857 +:10B56800EF58001ED82200008000AEF08000ABC467 +:10B578008000AC288000AD588000ADC08000AC7859 +:10B588008000D2108003B405800113908000B12C94 +:10B59800D4214BD811B9118B119A11A8B16AF5EBC6 +:10B5A800118AF5E81088F3E8100878A78FA8EF3912 +:10B5B80000123068F0091800EFF81E12F9B80100FF +:10B5C800EFF81E131896F01F0031EBDCC008C3E13A +:10B5D800301A335B0E9CF01F002E301B0E9CF01FA0 +:10B5E800002D302A339B0E9CF01F0029ED1B002CE8 +:10B5F8000E9CF01F0029304A337B0E9CF01F00245C +:10B60800301B0E9CF01F0023303B0E9CF01F0021C6 +:10B6180031CB0E9CF01F001F306B0E9CF01F001DDD +:10B628000E9CF01F001E6E5CEF0B001CF6CBFF108B +:10B638005C7BF01F001B0C98343949AA6E5B6E1CAA +:10B64800F01F00190C9CF01F0019EF3800132FF899 +:10B658005C58EF6800133059F2081800E0880005BC +:10B66800FE79EA60C058E06903E8F20809495C79A4 +:10B678000A9CF2C9FE0DE06801F4F2080C08EF58C4 +:10B68800001ED8228003B4098000AEF08000ABC44D +:10B698008000AC288000AD588000AC788000D210C3 +:10B6A8008003B405800113908000B12CD421301898 +:10B6B80078A7EF390012F0091800EFF81E12F9B850 +:10B6C8000100EFF81E131896F01F0039EBDCC008D4 +:10B6D800C501301A335B0E9CF01F0036303B0E9CC0 +:10B6E800F01F0035302A339B0E9CF01F0032ED1BF3 +:10B6F800002C0E9CF01F0031304A332B0E9CF01F9B +:10B70800002D6EAB0E9CF01F002E304A336B0E9C42 +:10B71800F01F00286E9B0E9CF01F0029304A337BD7 +:10B728000E9CF01F0024301B0E9CF01F0023303BA2 +:10B738000E9CF01F002131CB0E9CF01F001F306BB8 +:10B748000E9CF01F001D0E9CF01F001E6E5CEF0B80 +:10B75800001CF6CBFF105C7BF01F001B0C983439E3 +:10B7680049AA6E5B6E1CF01F001A0C9CF01F001992 +:10B77800EF3800132FF85C58EF6800133059F208BF +:10B788001800E0880005FE79EA60C058E06903E81F +:10B79800F20809495C790A9CF2C9FE0DE06801F4D7 +:10B7A800F2080C08EF58001ED82200008000AEF006 +:10B7B8008000ABC48000AC288000AD588000ADC0CC +:10B7C8008000AC788000D2108003B405800113900B +:10B7D8008000B12CD421304878A7EF390012F00945 +:10B7E8001800EFF81E12F9B80100EFF81E131896AA +:10B7F800F01F0025EBDCC008C291301A335B0E9CA9 +:10B80800F01F0022303B0E9CF01F0021302A339B92 +:10B818000E9CF01F001EED1B002C0E9CF01F001D3F +:10B828000E9CF01F001D6E5CEF0B001CF6CBFF108A +:10B838005C7BF01F001A0C983439499A6E5B6E1CB9 +:10B84800F01F00180C9CF01F0018EF3800132FF899 +:10B858005C58EF6800133099F2081800E08800057A +:10B86800E0692710C058E06903E8F00902495C79EB +:10B878000A9CF2C9FE0DE06801F4F2080C08EF58C2 +:10B88800001ED8228000AEF08000ABC48000AC2837 +:10B898008000AD588000AC788000D2108003B405D9 +:10B8A800800113908000B12CD4314A5830167007AB +:10B8B80030A20C9330043055C3E86EA85808C3A0D2 +:10B8C800F1090022F2CA0001F15A0022EC0919001C +:10B8D800C151F1380012E40818005F0AE6081800A0 +:10B8E8005F09F5E91009E8091800C041EA081800DD +:10B8F800C2110E9CF01F0013C1D8F1090020F2CA32 +:10B908000001F15A0020EC091900C141F138001278 +:10B91800E40818005F0AE60818005F09F5E910094D +:10B92800E8091800C041EA081800C0410E9CF01F41 +:10B9380000066E075807CC21D8320000000080CCE2 +:10B948008000B7DC8000B2E0D4211896580CC0E122 +:10B958004C08201D1AD8E068024E1AD84BE84BFC58 +:10B968001AD8F01F003F2FCDC008F9380035A3D8EA +:10B97800F968003578A7F909002CE068023FF0095A +:10B988001900E088008B5807C091350CF01F00356E +:10B998001897E08000838DACC2E86E1C580CC0304C +:10B9A800F01F00316E585808C0E04AA8201D1AD868 +:10B9B800E068026C1AD84AD84A8C1AD8F01F0028B6 +:10B9C8002FCDC0086E285808C0916E385808C0613D +:10B9D800EF090010F0091900C0E049E8201D1AD845 +:10B9E800E068026E1AD84A2849CC1AD8F01F001C01 +:10B9F8002FCDC008350A300B0E9CF01F001EF01F1B +:10BA0800001E8F1C1895C0610E9CF01F001C8DA590 +:10BA1800C178344A49ABF01F001B499B343A6E1C6D +:10BA2800F01F00190C9A499B6E1CF01F00190C9C02 +:10BA3800F01F00185C5CC0700C9CF01F0017E06CD5 +:10BA480000FFD822ED380035A3B8ED680035D822BC +:10BA580080039DC48003A13880039D9C800094C40A +:10BA68008002E2A4800112288003A14880039FA0DD +:10BA78008002E8BC800112008002E28C8003B409D5 +:10BA880080011260800113208000BBBC800111F886 +:10BA98008000B5988000AE50E06C00FFD82200000E +:10BAA800D421202D1896580CC0E14BA8201D1AD877 +:10BAB800E06803781AD84B884B8C1AD8F01F0038E6 +:10BAC8002FCDC00878A75807C0E14B28201D1AD8E9 +:10BAD800E068037A1AD84B384B0C1AD8F01F00309C +:10BAE8002FCDC0086F295BF9C1102E2933C8E06A31 +:10BAF800FFFFF2080D081438F40817B0EF580020BB +:10BB08005808F9B80001EFF80C106F395BF9C1104B +:10BB18002E2933C8E06AFFFFF2080D081438F4082C +:10BB280017B0EF5800225808F9B80001EFF80C11C7 +:10BB38006EB850185808C041FC18FF0050186EC85D +:10BB480050085808C0716EA84019F3E80008A1A869 +:10BB58005008EECBFFD80C9CF01F0013FACBFFFC6B +:10BB68000C9CF01F00121A9B0C9CF01F00110C9CDF +:10BB7800F01F0010EF39001230A8F0091800EFF894 +:10BB88001E12F9B80100EFF81E132FEDD82200009D +:10BB980080039DC48003A16080039D9C800094C4A1 +:10BBA8008003A17C8000CBC88000CA928000CA7440 +:10BBB8008000CB88D43178A71896149574186E290C +:10BBC8005809C0916E395809C061EF0B0010F20B8B +:10BBD8001900C0E04BE8201D1AD8E06805651AD89E +:10BBE8004BC84BDC1AD8F01F003D2FCDC0088A5B2C +:10BBF80032BAF40B1900E088020F118B302AF40BCB +:10BC08001800E0810209F93C002EECCBFFD1F0CA04 +:10BC1800FFE4C0982FF917345C59153EFC0418004E +:10BC2800E08101FAF8091800CF6311FA11CB11D994 +:10BC380011E8B169F3EB1189F3E810896E08F5E9A9 +:10BC480010091039E08101E80E9CF01F00258A4C8C +:10BC5800E06800F0F00C1900E088000FF8CC00F064 +:10BC6800EF5C00105C7CF01F001F8F3CC051EF5C44 +:10BC78000010E08F01D1E06C00F0F01F001A8F2C4B +:10BC88001894C0C16E3C580CE08001C6F01F001625 +:10BC9800EF5400108F34E08F01BF189B3009E06A21 +:10BCA80000F00A9CF01F0011E06800F0F00C190089 +:10BCB800C2004878201D1AD8E068052E1AD848C84E +:10BCC800485C1AD8F01F00052FCDC00880039DC41A +:10BCD80080039FA080039D9C800094C48000AEC414 +:10BCE8008002E2A48002E28C8000CEC48003A1948A +:10BCF8006E3B580BE08001B2E06900F0EF1A0010CB +:10BD08000A9CF01F0036EF080010F8081900E080C0 +:10BD180001A54B38201D1AD8E06805351AD84B18EC +:10BD28004B1C1AD8F01F00312FCDC00819A8305A63 +:10BD3800F4081800E0810100EF3800123019F20809 +:10BD48001800E08100EC30086CA4333B89D889B82E +:10BD580089C8089CF01F0026C0F0F8C8FFFC19AB82 +:10BD6800119919BA1188B16AF5EB118AF5E81088AA +:10BD78001248E948004433AB089CF01F001DC0E09E +:10BD8800F8C8FFFC19AB119919BA1188B16AF5EB1B +:10BD9800118AF5E810881248C0386918A198E9484E +:10BDA800004833BB089CF01F0012C0E0F8C8FFFC35 +:10BDB80019AB119919BA1188B16AF5EB118AF5E82E +:10BDC80010881248C0286918E948004C6828F0C94A +:10BDD800FFF0C0F11298C1C88000CEC480039DC492 +:10BDE8008003A1C880039D9C800094C48000AAF4AD +:10BDF800F1390013F13B0010F13A0011F13800124B +:10BE0800B16AF5EB118AF5E81088F3E8100889A8FB +:10BE1800301B089CF01F0084C0E0F8C8FFFC19AB79 +:10BE2800119919BA1188B16AF5EB118AF5E81088E9 +:10BE3800124889B8303B089CF01F007BC0E0F8C866 +:10BE4800FFFC19AB119919BA1188B16AF5EB118A7F +:10BE5800F5E81088124889C831CB089CF01F007299 +:10BE6800C0E0F8C8FFFC19AB119919BA1188B16A7A +:10BE7800F5EB118AF5E81088124889D8306B089CD0 +:10BE8800F01F00691892C2E01998A38889E8582819 +:10BE9800F9B80B02E9F8BA0E3003C1D8E608150262 +:10BEA800E6C9FFF22FE8E8090029E4080008113E76 +:10BEB800113AB16AF5EE118A118EF5EE108A1191D8 +:10BEC800069CF5E11001F2CBFFFC93112FF3F01F54 +:10BED80000575C5368E81033CE23069C4D4BF01F87 +:10BEE80000536CA43008E93A00123089EF58001E5C +:10BEF800F20A1800E9F91E12E9F81E130C9C300A20 +:10BF0800E8CBFFD8F01F004BE93800132FF8E96899 +:10BF180000133018E958001EC7E820383029F20805 +:10BF28001800E08B007930080C9CEF58001EF01FB9 +:10BF38000042C7183069F2081800C3513019EF38A9 +:10BF48000012F20818005F0B3039F20818005F0978 +:10BF5800F7E91009C0813049F2081800C040F40818 +:10BF68001800C5916CA40C9C3003EF53001EF01F01 +:10BF780000330C9C4AEBF01F00320C9C4ACBF01F9C +:10BF880000310C9C4AABF01F0030E939001230C870 +:10BF98000C9CF0091800E9F31E13E9F81E12F01FB3 +:10BFA800002BC398302AF4081800C351EF38001248 +:10BFB800F2081800C30130086CA4EF58001E336B58 +:10BFC800089CF01F0019C270F8C8FFFC19AB119942 +:10BFD80019BA1188B16AF5EB118AF5E81088124888 +:10BFE80089986828F0C9FFF0C0311298C108F13962 +:10BFF8000013F13B0010F13A0011F1380012B16A58 +:10C00800F5EB118AF5E81088F3E8100889A80C9C6C +:10C01800F01F000F0E9CF01F000F0A9CF01F000E6F +:10C02800D83200008000AAF48000C19C8003B409C3 +:10C038008001384C8000BAA88000CABC8000CBC8F8 +:10C048008000CA748000CA928000B5988000B6B497 +:10C058008000AEC48000D13C335B0E9CF01F00030F +:10C06800FE91FE66CD8B00008000AAF4D4314C18F6 +:10C07800301370073002069430813050C7686EA6BE +:10C088005806C720ED05001EE6051900E0880006E1 +:10C098002015ED55001EC688E6051900C651ED3875 +:10C0A8000012306AED52001EF40818005F0A30C909 +:10C0B800F20818005F09F5E91009300AF4091800B8 +:10C0C800C501E8081800C0B1ED380013E0081800F1 +:10C0D800E08B00360E9CF01F0028C468E2081800A8 +:10C0E800C191ED380013E8081800E08B0010300A01 +:10C0F800ECCBFFD80E9CF01F0021ED380013ED5556 +:10C10800001E2FF8ED680013C2F80E9CF01F001CEB +:10C11800C2B8E0081800C0510E9CF01F001AC248AF +:10C128003049F2081800C0F1ED380013E208180091 +:10C13800E08B00060E9CF01F0014C1680E9CF01FD7 +:10C148000013C0F83039F2081800C0E1ED380013C8 +:10C15800E8081800E08B00060E9CF01F000DC04890 +:10C168000E9CF01F000C6E075807C8A1D8320000BB +:10C17800000080CC8000B6B48001384C8000BAA89A +:10C188008000B2E08000B7DC8000B1D88000B4AC99 +:10C198008000B598D4013019F20C1800E08B001D0E +:10C1A800580B5F1A48D9720958095F19F5E900094F +:10C1B800C13017B9178E179A17A8B16AF5EE118A08 +:10C1C800F5E81088F3E81008C0704858304AF00CB9 +:10C1D800002CF01F0004D80200001D5800001D505C +:10C1E8008002E736D42130181897F00B1800E08B3E +:10C1F80000074868304AF00B002BC038304A484BDB +:10C20800F01F00040E9CD82200001D508003B409C2 +:10C218008002E736D4313013189516911492E60C43 +:10C228001800E088000F4BB8201D1AD8E0680246B5 +:10C238001AD84B984B9C1AD8F01F00392FCDC0083C +:10C248004B89F20C0028F20C072B11BA119911A88E +:10C25800B169F3EB1189F3E81088F5E81008C0E13B +:10C268004AC8201D1AD8E06802471AD84AE84ABCCA +:10C278001AD8F01F002B2FCDC008300AE06B011030 +:10C28800149CF01F002A1897C041E06600FFC758A9 +:10C2980078045804C0E049F8201D1AD8E068024D17 +:10C2A8001AD84A3849DC1AD8F01F001D2FCDC0080B +:10C2B800781630CA089B0C9CF01F001EECC9FFF4CE +:10C2C800AC92ACD3E5D2C110ACA3ACC42011AC8203 +:10C2D80032EC2FF1F2C8FFFF300AC05810CBF5D26C +:10C2E800C0082FF1038BF4C2FFFFE80B18005F139F +:10C2F800F80B18005F16E7E60006E8061800CEF10E +:10C30800B28A0389E8091800C1601099CE3B000081 +:10C318008003A1E48003A22880039D9C800094C42C +:10C3280000001D508003A2408000D3188003A2643F +:10C338008002E8BCF0CBFFFB10C9B089B0A9301966 +:10C34800B099B0B96E180E9C101B5C7BF01F000CE6 +:10C3580048C848D6F0050025335A6C0C0A9BF01FD4 +:10C36800000B6C0C0A9A33590E9BF01F0009EDDC88 +:10C37800C0080E9CF01F00070C9CD8328000D21019 +:10C3880000001D5000001D5880011320800114F08A +:10C398008000D13CD421189A303CF80A1800E08873 +:10C3A800000F4BE8201D1AD8E068028A1AD84BC83B +:10C3B8004BCC1AD8F01F003C2FCDC0084BB8E06713 +:10C3C8000118F4070247F007000730180F8B169979 +:10C3D800F00B1800C0A0C603302BF6091800C0F0F7 +:10C3E800F8091800C4C1C4383008AEABAEB8AE986E +:10C3F800EECBFFF43028300CAE88C3680FA92019A3 +:10C408005C59AEA9C4910FBB2FFB5C5BAEBB0F9C04 +:10C41800304EFC0B1800C251F20C1800C1214A4AD8 +:10C4280015FB15CE15DC15EAB16CF9EE118CF9EA9D +:10C43800108AF7EA100AC050AEB9AEA8AE98D82252 +:10C44800EEF801105808C070EEFA0114300BEECC6B +:10C45800FFF45D183008AE883008EF480110D82284 +:10C46800AEABEECBFFF4F01F0013D8226E282018D5 +:10C478008F28C121EF480110AE88D8224878201DA6 +:10C488001AD8E06802C61AD848B8486C1AD8F01FFB +:10C4980000062FCDC008D8228003A1E48003A28023 +:10C4A80080039D9C800094C4000018F000001D507B +:10C4B8008000C21C8003A29CD431580B5F081292E2 +:10C4C80016974BB914967209189558095F04F1E448 +:10C4D8001004E08100B6580CE08000B31989E8091F +:10C4E8001800E08000AEF01F0033E04C00FFE08B46 +:10C4F80000A84B1B0A9CF01F0031C08137F8AEA47E +:10C50800AE88AE9C3018AEB8D8320A9CF01F002C0A +:10C51800F8081618AE88F1DCC208AEBCAE98F1DC9B +:10C52800C108AEA85BFCE081008F4A63300430305C +:10C5380006910788E0081800C171E80400280A9CE1 +:10C54800F00B1503101B2FFBE20B003B2FCBF01F4A +:10C55800001BC0A1E0680118B13449A8F004000428 +:10C56800E8F8010CC0782FF4E6C3FEE85844CE2161 +:10C578003FF8F0091618AE89F3D8C208AEB8AE99DC +:10C58800F3D8C108AEA95BF8C5E1300748E848DB35 +:10C59800118A0E9C0E9930313043F2C0FFFF178488 +:10C5A80016985804C1211297C358000000001D585E +:10C5B8008002EDD08003A2BC8002ECC880011E106E +:10C5C800000018F0000018ECE2041800C0C117C8F9 +:10C5D800F4080104F40801081838E08A0005F9D4C1 +:10C5E800C0081297F3D0C008F6CBFEE8E609180099 +:10C5F800CD513039F2071800E08B0027494BE0682D +:10C608000118EE080248F6080008118BF20B180012 +:10C61800C1B1F4C9FFFFB0CAF1460110301AF142A6 +:10C628000114B08AF0CCFFF448A80A9BB089F01F27 +:10C63800000A0E9CF01F0009E06C00F2D832E06C92 +:10C6480000F7D832D83AE06C00FFD832000018F072 +:10C65800000018EC8002ED708000C39CD40148985B +:10C6680070085808C0D0300CF01F0007301CF01FAD +:10C678000006302CF01F0004303CF01F0003D802E5 +:10C6880000001D588000C39CD421494C4946F01F26 +:10C6980000156C0518975805C1E1F01F00138D0CA3 +:10C6A800C1A0492B0A9AF01F00120A9A491B6C0C68 +:10C6B800F01F00116C085808C0E05807C0C0EE0908 +:10C6C800161848E8B0B7B089F3D7C208EFD7C10841 +:10C6D800B099B0A7D82200008003A2C800001D5856 +:10C6E80080011E10800112008003B40980011260CD +:10C6F8008000C704800111F800001D50D431E068A3 +:10C7080002001496944AF00A1900E08B00E331986D +:10C71800F00A1900E08800DE4DF75C7A30090E9BBC +:10C728000C9CF01F005E8C48F8081900E08100D2CC +:10C738000F993038F0091800E08B00CCE06501183B +:10C74800AB394D75120530290B8AF20A1800E081C1 +:10C7580000C1AA880FBAF5DAC004AADA0FD80FCB3D +:10C76800F1EB108B0FF80FEC5C8BF1EC108C3009AF +:10C778005C8C0FA8F2081800E084009DF20A1800EB +:10C788005F18301AF40B18005F1AF5E81008F20861 +:10C798001800E0810090EAC4FFF42F4708980F8939 +:10C7A800129AE21A00C0E04A00C0C1502FF7C098A0 +:10C7B800F3DBC0082FF7118BF40B1800C7B12FF863 +:10C7C800F2CB00010F8A5809CF41F20A1800C03095 +:10C7D8002FF8CE6B4B0B30082F4B1739129AE21AF1 +:10C7E80000C0E04A00C0C060120B1789F0091800A9 +:10C7F800CF51F1DCC0082FBB300E301A3047C58846 +:10C808001739129CE21C00C0E04C00C0C060120B3B +:10C818001789FC091800CF512FFB17CC17D9B1691C +:10C82800F3EC118917ECF7330008F3EC108917A221 +:10C8380017FC1781F9E91009F73C0009F9E3108C96 +:10C8480017B35C8CE7E2108317925C83E5E11082F2 +:10C85800F4021900C281F4031900C251EE0C190048 +:10C86800C2218B29E8593A80E0880005E8783A80A7 +:10C878008B28EAC7FEF42F6B304A0E9CF01F000984 +:10C88800EAF801105808C250EAFA01140E9B089CF5 +:10C898005D18C1F800001D5C8000CEC4000018F0CF +:10C8A8008002E7365C7C20182F6C5C58180B5808FF +:10C8B800CA81EAF801105808C070EAFA0114300B6E +:10C8C800EACCFFF45D183008AA883008EB4801105C +:10C8D8000C9CF01F0002D8328000D13CD401F01F1C +:10C8E8000003F01F0003D8028000C8F88000C6903B +:10C8F800D42149A949ABF2CCFEC4F2C8FF54300A8E +:10C90800F2C9FF50910A930AB22A172EF14EFFFC82 +:10C918002F092F081838CF71492949382FD9149C65 +:10C92800E019FFFCF0C6FFDC48D7490E910CEE0A6F +:10C938000405189BC098700493042FFB9109FC0A06 +:10C9480005045C8B0809EA0B1900CF632FC82FEA8E +:10C958000C38CED1D8220000000080D48003A2D8A1 +:10C9680000001F5C000072E88003A394D401580BF8 +:10C97800C200F1DBC002C0E048F8201D1AD8E06808 +:10C98800016B1AD848D848EC1AD8F01F000E2FCDE2 +:10C99800C00848D8F00C03299709F00C092B48B8AF +:10C9A800A56CF00C000CF8CCFF54780820189908F6 +:10C9B800D80200008003A2EC8003A33080039D9C72 +:10C9C800800094C4000072E8000080D4D421189834 +:10C9D800588CE088000F49F8201D1AD8E068013DFE +:10C9E8001AD849D849DC1AD8F01F001D2FCDC00825 +:10C9F80049CE49D9FC0C032CF0CAFFF5580CC230BB +:10CA0800A56AF00B15047807F20B000BFC08092740 +:10CA1800F6CBFF5414097608720A2FF8103AF3F887 +:10CA28003A009708F1DCC002C13048A8201D1AD886 +:10CA3800E068014F1AD848D8488C1AD8F01F000867 +:10CA48002FCDC008A56A140992282FF8B228D82239 +:10CA58008003A2EC8003A35080039D9C800094C4B3 +:10CA6800000072E8000080D48003A370580BC0C097 +:10CA780017B8178A179917ABB169F3EA1189F3EB5D +:10CA8800108BF1EB100B993B5EFC580BC0C017B82C +:10CA9800178A179917ABB169F3EA1189F3EB108B71 +:10CAA800F1EB100B992B5EFC4828910C5EFC000002 +:10CAB800000080D0D4211897F9380035EDB800006F +:10CAC800C0D1A1C8F968003578885808C0205D1819 +:10CAD8006E785808C0300E9C5D18D822F93C003595 +:10CAE800F9DCC0015EFC580CF9FB1A075EFCD703A1 +:10CAF800D421300A18971696302C96CBF01F001ABE +:10CB08001895C041E06600FFC2B80C9BF01F0017E3 +:10CB1800EDDCC008C0500A9CF01F0015C2180A9826 +:10CB280070095809C0301298CFCB6EF95809C15016 +:10CB38006F095809C0E148F8201D1AD8E068025367 +:10CB48001AD848D848DC1AD8F01F000D2FCDC008D5 +:10CB58009305EF480040C048EF4800408FF50C9C13 +:10CB6800D82200008000D3188000CF988000D13CE4 +:10CB78008003A3A88003A44480039D9C800094C4E0 +:10CB8800D4211897F9380035EDB80000C170A1A874 +:10CB9800F968003578885808C0205D186E785808FC +:10CBA800C0300E9C5D18EF380035EDB80005C06147 +:10CBB8000E9CEECBFFFCF01F0002D8228001370C40 +:10CBC800D42117881799B169F3E8118917A8F3E8F0 +:10CBD800108917B81697F1E91009189678181039BE +:10CBE800C27049A8700CC0A8780978356C1810393B +:10CBF800C041301BF01F00160A9C580CCF614958E1 +:10CC08007008C14870095809C1006C1A1439C0D19C +:10CC18000F8A0F99B169F3EA11890FAAF3EA10890B +:10CC28000FBAF5E91009910970385808CEC10F8A72 +:10CC38000FB90F98B168F1EA11880FAAF1EA1088C4 +:10CC4800F3E810088D18D8220000820C8000E12437 +:10CC580000008214D421149712961895F01F001022 +:10CC68005807C0C00FB80F8A0F990FA7B169F3EA28 +:10CC78001189F3E71087F1E710078B275806C0C022 +:10CC88000DB80D8A0D990DA6B169F3EA1189F3E67D +:10CC98001086F1E610068B36D82200008000CBC83B +:10CCA800D4213006999899169926993699A6997695 +:10CCB800998699F6F94600404908FAC4FFEC681EBF +:10CCC8006804F96600351185F96500382FF5B085D7 +:10CCD8001897994EF01F000A0E9C5D145C5C4898EA +:10CCE800580CEC071710F1F90000EFF90A00F1F7FA +:10CCF8000A000E9CD82200000000730C8000CC5C57 +:10CD0800000080CC1898300CC0482FFC70085C5C80 +:10CD18005808CFC15EFC580CF9F81207F9B901019F +:10CD2800F1D9E108F9F81C075EFCD703D401580CC7 +:10CD38005F08580B5F09F3E81008C1304978201DD7 +:10CD48001AD8E068028F1AD84958496C1AD8F01FC7 +:10CD580000162FCDC008964AF4080008B848129C5F +:10CD6800984878095809CF819859F0091900C0E006 +:10CD780048A8201D1AD8E06802971AD848B8489CD5 +:10CD88001AD8F01F00092FCDC0089649990BF20850 +:10CD98000008B848D80200008003A4708003A4B437 +:10CDA80080039D9C800094C48003A4ECD421169732 +:10CDB800F01F00065807EFF81207F9B90101F1D979 +:10CDC800E108EFF81C07D8228000CD34D421580C94 +:10CDD800C0E14B58201D1AD8E06801B01AD84B386A +:10CDE8004B3C1AD8F01F00332FCDC008580BC03168 +:10CDF800169CD8223008F00B1900C154F60911000E +:10CE080098585C89F2081900C0F24A78201D1AD88F +:10CE1800E06801B71AD84A884A5C1AD8F01F00257A +:10CE28002FCDC0081699F93E000C300A3037F40EA1 +:10CE380019005F08EE0E19005F061497104678185F +:10CE4800F4061800C0A0F00B01099919F8CAFFF000 +:10CE58001439C2029918DA2A201E3017EE0E19006A +:10CE6800E08B000CF40B1900C1D4985AF20A19008F +:10CE7800C19316189918C0E848B8201D1AD8E06858 +:10CE880001E61AD848D848AC1AD8F01F000A2FCDA6 +:10CE9800C00898581608B8589848F00B000BB84BBB +:10CEA800D82ADA2A8003A47080039EA480039D9C5C +:10CEB800800094C48003A51C8003A53CD43116913E +:10CEC8001497580CC0E14AD8201D1AD8E068033ED0 +:10CED8001AD84AB84ABC1AD8F01F002B2FCDC00860 +:10CEE800580BC070300518960A920A930A90C388A6 +:10CEF8004A28201D1AD8E068033F1AD84A384A1C25 +:10CF08001AD8F01F00212FCDC0085809C0A08C588E +:10CF1800F208010AF0091900C043F3DAB010C1F8A9 +:10CF2800F1D9C0108C54E8090109EE091900EE097D +:10CF380017B06C1BE9D9B010F9D5C010100BE20C72 +:10CF4800000C089A5C7AF01F0012E8030003081727 +:10CF5800E80500055C835C855C8730096C0658062B +:10CF68005F1AE40719005F18F5E80008E0081800E0 +:10CF7800CCD1069CD83200008003A4708003A5B0F1 +:10CF880080039D9C800094C48003A5D08002E7366E +:10CF9800D431580C5F08580B5F0918961697F3E8B8 +:10CFA8001008C06198499648F0091900C0E24C7809 +:10CFB800201D1AD8E06802FE1AD84C584C5C1AD8C2 +:10CFC800F01F00452FCDC00830050A945806C0E16F +:10CFD8004BE8201D1AD8E06803031AD84BF84BDC3D +:10CFE8001AD8F01F003D2FCDC0088C5808995C79DD +:10CFF8008E53F5D8C010F7D3C010121AF3D5C0104D +:10D00800F6090109123AE7D5E413E8091750F1D9EE +:10D01800E51308985C786C1C100CF1D5C0105C8383 +:10D028006E1BF5D3C010100BF01F002DE604000492 +:10D038008C585C84F0041900E088000F4A38201DE1 +:10D048001AD8E068030F1AD84A684A2C1AD8F01F71 +:10D0580000222FCDC008F0041900EDF60000F9B445 +:10D068000000E60500058E585C85F0051900E0888B +:10D07800000F4968201D1AD8E06803151AD849A876 +:10D08800494C1AD8F01F00142FCDC008F00519001C +:10D09800EFF72000F9B502005807C2908E598E4864 +:10D0A800F0091900C2416E085808C2104878201DBE +:10D0B8001AD8E068031F1AD848C8486C1AD8F01F55 +:10D0C80000062FCDC00800008003A4708003A5F4DB +:10D0D80080039D9C800094C48003A6248002E736C8 +:10D0E8008003A6348003A64C8003A6685806C16056 +:10D0F8008C598C48F0091900C1116C085808C0E017 +:10D108004898201D1AD8E06803241AD84878488C13 +:10D118001AD8F01F00082FCDC0085807FE91FF58F5 +:10D128000E9CD8328003A4708003A66880039D9C5F +:10D13800800094C4D421189B580CC0E14AB8201D23 +:10D148001AD8E068021C1AD84A984AAC1AD8F01FB4 +:10D15800002A2FCDC008F939000C3038F009180022 +:10D16800E088000F4A18201D1AD8E06802281AD84B +:10D178004A284A0C1AD8F01F00202FCDC0083007C3 +:10D18800303530169679F2C800015C885809C0E13C +:10D198004968201D1AD8E06802351AD84988495CC0 +:10D1A8001AD8F01F00152FCDC008B6785808C1B19D +:10D1B800F738000C169CF0C900017604EA0819003B +:10D1C800C031308CC068EC091900E08B0006307C57 +:10D1D800F01F000CC038F01F000C2FF7089B5C579D +:10D1E8005804CD110E9CD8228003A47080039EA4FD +:10D1F80080039D9C800094C48003A6948003A6AC01 +:10D208008000C9748002E28CD421580CC0E14B988C +:10D21800201D1AD8E068015F1AD84B784B7C1AD8C1 +:10D22800F01F00372FCDC0083019F938000CF2086C +:10D2380018005F1A3039F20818005F19F5E900097B +:10D24800C1405808C1203029F2081800C0E04A98A7 +:10D25800201D1AD8E06801631AD84AA84A7C1AD84F +:10D26800F01F00272FCDC0089848F00B1900C3F213 +:10D27800F3D8C0101897F1DBB0105C7B121BC27892 +:10D28800E04BFFFEE08A000F49A8201D1AD8E0688D +:10D2980001771AD849C8499C1AD8F01F00192FCD10 +:10D2A800C0088E481608AE486E075807C0E14918EE +:10D2B800201D1AD8E068017B1AD8494848FC1AD8BA +:10D2C800F01F000F2FCDC008F1DAB0108E59F00909 +:10D2D800010AF2081900FE9BFFD5AE48AE586E0C45 +:10D2E800580CC030F01F000A30088F08D822000000 +:10D2F8008003A4708003A70080039D9C800094C4D1 +:10D308008003A7188003A7348003A7488000D13C76 +:10D31800D431202D16971495581CC0B0C083582CB2 +:10D32800C040583CC0B1C1783004C0583144C0280E +:10D3380030042EC42E445C84C0F84C08201D1AD832 +:10D34800E06800D11AD84BE84BEC1AD8F01F003E21 +:10D358002FCDC00830045825E08B00065815E08210 +:10D3680000DDCBF85835E08100E6308CF01F00373F +:10D378001896E08000F25C740E99E8C8FFFD5C79AD +:10D38800E018FFFCB847E06A02443000F4080108DE +:10D39800F8040004F0090D472ED4E014FFFCAC5744 +:10D3A8009914F965000C99005C77F8C3FDAC0E047C +:10D3B8000833C0E24A18201D1AD8E06800EB1AD8D2 +:10D3C8004A384A0C1AD8F01F00202FCDC008580838 +:10D3D800E089000F4998201D1AD8E06800ED1AD896 +:10D3E80049C8498C1AD8F01F00182FCDC008F20779 +:10D3F800010700980A9918943015E0610243B8753E +:10D40800E0620244C6A850195008308CF01F000F83 +:10D418000E9B189A5C8BF4CEFFF0F6011900F60CFF +:10D428001720E40C173040194008580AC1610C9CB9 +:10D438001496F01F0009C9088003A4708003A76030 +:10D4480080039D9C800094C48000C9D48003A77C7D +:10D458008003A7B08000D13C9508890AF569000CC3 +:10D46800F560000DE047FFFFC0E14BD8201D1AD83A +:10D47800E06801071AD84BB84BBC1AD8F01F003B1C +:10D488002FCDC008951EB45CB44BFDDEC002C0E0D1 +:10D498004B38201D1AD8E068010D1AD84B484B2C80 +:10D4A8001AD8F01F00322FCDC0085C7C8CDB18170F +:10D4B80014946C1CF80B000B1633C0E24A88201D2C +:10D4C8001AD8E06801101AD84AA84A7C1AD8F01F5E +:10D4D80000272FCDC008B4755807FE99FF96C3786A +:10D4E8000E985C782FD8E018FFFC5C74E8CCFFED50 +:10D4F800E01CFFFC100CF01F00201896C2D030086A +:10D50800F8040004AC572ED4B847E014FFFCF968BF +:10D51800000C99149908C1B8307CF01F00181896AF +:10D52800C1B03008AC57F965000CB847990899188C +:10D53800C0E848B8201D1AD8E068013D1AD8490843 +:10D54800489C1AD8F01F00092FCDC0083018AC78B5 +:10D558003008ED68000D0C9C2FEDD8328003A470C4 +:10D568008003A7E480039D9C800094C48003A7F8EF +:10D578008003A77C8002E2A48000C9D48003A82885 +:10D58800D43149B8781918951094300CF2C2FFF4C8 +:10D59800F3310009700718961893C1E8EF380010A6 +:10D5A8000238C1716E585808C1400A9A0E9B6E6CB9 +:10D5B80004995D18C0E05806C0410C95301CC0A8FD +:10D5C8006E388D3868088F388907301C3005C028B8 +:10D5D800300C0E966E37E60C18005F0858075F1976 +:10D5E800F3E80008E6081800CDA1D832000073104F +:10D5F800E06C00FB5EFCD421E067040078A8F90B1E +:10D60800002C78C9F5DBC010F90E003C100AEE0EAC +:10D618001900E0880005E06E0400C0285C7EF4096B +:10D628000107EE0E010EC076F95B002E78CCF40CE3 +:10D63800010CD822F009010A580AE08A00063008CD +:10D64800F958002ED82AF2080108F958002ED82ACD +:10D65800996B5EFCF94B008C5EFCF94B00885EFC14 +:10D66800F94B00985EFC998B5EFCF96A0039F94B1E +:10D6780000945EFC5EFC5EFC48A87008C028703808 +:10D688005808CFE148887008C02870385808CFE19A +:10D6980048687008C02870385808CFE15EFC000060 +:10D6A8000000820C0000821400008220D4014A6825 +:10D6B8007008C30870495809C0E14A48201D1AD8A3 +:10D6C800E06805AC1AD84A284A2C1AD8F01F00225C +:10D6D8002FCDC0085819C0E149C8201D1AD8E068E4 +:10D6E80005AD1AD849D849BC1AD8F01F001B2FCD50 +:10D6F800C00858A9C0E14958201D1AD8E06805AEED +:10D708001AD84978493C1AD8F01F00132FCDC00801 +:10D7180070385808CD0149387008C128704958A98F +:10D72800C0E048A8201D1AD8E06805B11AD848E812 +:10D73800488C1AD8F01F00082FCDC0087038580838 +:10D74800CEE1DA0A0000820C8003A8688003A8AC46 +:10D7580080039D9C800094C48003A8D88003A904FA +:10D76800000082208003A934D43118961497784891 +:10D778005808C0E04C48201D1AD8E068011A1AD889 +:10D788004C284C3C1AD8F01F00432FCDC008580A2B +:10D79800C3514C19720C4C19720A4C19109E9207FD +:10D7A8004C08E069100070052FF70A985C87EE0EA8 +:10D7B8001900F2071790C088F104001C0E93EE04BC +:10D7C8001900CF3070385808CF811898C088F104F4 +:10D7D800001C0E93EE041900CE8070385808CF81D3 +:10D7E8001498C088F104001C0E93EE041900CDD0E3 +:10D7F80070385808CF814AA8B0074A887008C1F81D +:10D80800F109001C0E93EE091900C181700A580A2B +:10D81800E0800099580BE0800096178C1799B16941 +:10D82800F3EC118917ACF3EC108917BCF9E910096E +:10D83800E0800089123AE080008670385808CE11DE +:10D8480049887008C1A8F109001CEE091900C141F6 +:10D85800700A580AC770580BC750178C1799B169C6 +:10D86800F3EC118917ACF3EC108917BCF9E910092E +:10D87800C690123AC67070385808CE6148A870052C +:10D888000A98C2D88003A8688003A96080039D9C79 +:10D89800800094C40000822000008214000001F877 +:10D8A8000000820C0000821CF109001C0E93EE0996 +:10D8B8001900C141700A580AC450580BC430178C5B +:10D8C8001799B169F3EC118917ACF3EC108917BCFF +:10D8D800F9E91009C370123AC35070385808CE518C +:10D8E80049A87008C158F109001CEE091900C0F1D7 +:10D8F800178A1799B169F3EA118917AAF3EA108907 +:10D9080017BAF5E91009700A123AC1C070385808F8 +:10D91800CEB1580BC11017891798B168F1E9118871 +:10D9280017A9F1E9108817B9F3E81008C050304A70 +:10D938000C9CF01F00078D354868ED57001C9106B8 +:10D94800D83AE06C00F5D832000082208002E73631 +:10D958000000821CD4211897169CF01F0008C0B044 +:10D96800F908002C5808C0702288EE081900F00742 +:10D9780017305C870E9CD82280012228D421F90810 +:10D98800002C1897F3D8C010E06CFFFFF5DBC0102F +:10D99800F8090109123AE08A000F4948201D1AD8EF +:10D9A800E06801BD1AD84928492C1AD8F01F00127E +:10D9B8002FCDC008100BE0680800EF5B002CF00BBF +:10D9C8001900EFF8BC160E9CF01F000CE04C01FF8C +:10D9D800E08A000AEF380026A1B80E9CEF680026FE +:10D9E800F01F0007D82200008003A8688003A988D8 +:10D9F80080039D9C800094C48000D5FE80010CECBF +:10DA0800D4211896304CF01F000A1897C0E0ECE8B3 +:10DA18000000F8E90000ECE80008F8E900086C48A4 +:10DA28009948781CF01F00030E9CD8228000C9D4A6 +:10DA38008000CD1ED4211896580CC0311897C0B854 +:10DA4800781C580CC030F01F000518970C9B304C00 +:10DA5800F01F00030E9CD8228000D13C8000C974BE +:10DA6800D42130071896C0880C9C6C06F01F00055E +:10DA7800F80700075C575806CF810E9CD822000093 +:10DA88008000DA3CD4217848189758A85F1A5808BB +:10DA98005F19F5E90009C2005818C1E0F8FC0084D4 +:10DAA800580CC060F01F000D3008EF4800843FF8A4 +:10DAB800EEFC0080EF58003AF01F000930066FECCA +:10DAC800EF460080F01F00066FFCF01F0005EF46D0 +:10DAD800007CEF460078D8228000D13C8000DA68CC +:10DAE800D421169778081638C04176389908C11895 +:10DAF8004B899308C0A870390E39C0614B599308F7 +:10DB08006E399139C06812985808CF614B1993083B +:10DB180030060E9C8F36F01F00306E4858A85F19EB +:10DB280058185F181268EC081800C0C0EF380026B3 +:10DB3800EDB80000C071A1B80E9CEF680026F01F78 +:10DB480000276E485818C3206FE85808C0E04A48B4 +:10DB5800201D1AD8E06804F91AD84A284A2C1AD87D +:10DB6800F01F00222FCDC0086FF85808C0E049C840 +:10DB7800201D1AD8E06804FA1AD849D849AC1AD82E +:10DB8800F01F001A2FCDC008EEF800805808C0E03A +:10DB98004938201D1AD8E06804FC1AD84958492C7D +:10DBA8001AD8F01F00122FCDC00830088F48F01F78 +:10DBB8000012C0E148A8201D1AD8E06805021AD84A +:10DBC80048E8489C1AD8F01F00092FCDC008D82271 +:10DBD800000082188000DA8C80010CEC8003A868B1 +:10DBE8008003A9AC80039D9C800094C48003A9C4D1 +:10DBF8008003A9E08000D6B48003A9F8D42118973F +:10DC080078485808C0E04A68201D1AD8E0680175AD +:10DC18001AD84A484A4C1AD8F01F00242FCDC008F9 +:10DC2800303CF01F00231896C380EF08001CF958F9 +:10DC3800001C6E6899688E48A1B8B8483018994891 +:10DC4800EF38000BF968000BEF38000AF968000A92 +:10DC58006E089908497972080E38C0316E38C108C3 +:10DC680049599308C0A870390E39C06149299308E9 +:10DC78006E399139C06812985808CF6148E99308FD +:10DC880030080E9B8F38302CF01F000C48C948D83C +:10DC98008D8970098D3991060C9CD8228003A8685B +:10DCA8008003AA1880039D9C800094C48000C9D476 +:10DCB8000000821C000082188000C9748000D5F81A +:10DCC80000008214D431204D4B583005700910964D +:10DCD8002FF90A9491090A934B2830627007E08F54 +:10DCE800019E6E485808C0E14AF8201D1AD8E0681D +:10DCF80002571AD84AD84AEC1AD8F01F002E2FCD4E +:10DD0800C0085818C0E14A88201D1AD8E06802588F +:10DD18001AD84A984A6C1AD8F01F00262FCDC00886 +:10DD280058A8C0E14A08201D1AD8E06802591AD834 +:10DD38004A2849FC1AD8F01F001F2FCDC0085828C0 +:10DD4800C071EF38004EE4081800E0800081EF3819 +:10DD5800004E30CAF4081800C7A0EF3800AC10997C +:10DD6800E8081800C300EEF900A82FF9EF4900A849 +:10DD7800493A100AF53AFFFF1439C6B33009EF499A +:10DD880000A8E4081800F9B90801F1D9E808EFF883 +:10DD98008EAC0E9CF01F000BC5C80000000082105E +:10DDA8000000820C8003A8688003AA3C80039D9C25 +:10DDB800800094C48003AA688003AA948003AC38C6 +:10DDC80080010A20EF08003AE6081900F9B90401B1 +:10DDD800F1D9E408EFF84C1D6FF85808C3A0EF0913 +:10DDE800003AEF08004CF0091900C3356E4858286E +:10DDF800C100EF09004AEF0800484CD1A3581208A7 +:10DE0800EF39004EE2090709F0090948EF58004CBC +:10DE1800EF080060EF090056F0091900F00917B083 +:10DE2800EF08003CF3D9C02FEF590058F00A15014C +:10DE3800F0091900EFFA3C2CEF08003CEF53003AC8 +:10DE4800EF5800560E9CF01F003BC0383018C02811 +:10DE580030086E495869C0B16C0B6EDAF60A010ACF +:10DE6800E04A0028E08800042FF85C588ECAEDBA12 +:10DE78000003C39158495F0A58795F091449E809B2 +:10DE88001800C3106C0AEEFC00A0EEF100A4F80123 +:10DE980002416ED9EEFB009CF4090109E20B000E69 +:10DEA800E06A01F4FC0A0D00FAE100080039E08894 +:10DEB80000062FF830115C58C178EF3100ADE20C44 +:10DEC800034BF60A0D0A1439E088000E50180E9C10 +:10DED800F01F0019EF3900AD30012FF9EF6900ADDF +:10DEE8004018C0283001EEFC0080580CC1106ED9D3 +:10DEF8006C0A121AEF09004CF2091006123AC08394 +:10DF08005018F01F000E30004018EF4000806E4996 +:10DF18005839C1516C0A6ED9F4090109E049002841 +:10DF2800E08800182FF85C58C14800008003A85802 +:10DF3800800110608001109C8000DA685899C091B7 +:10DF48006C0A6ED9F4090109E04900F0E08B00047D +:10DF58005808C4900E9CF01F00434C385805C14027 +:10DF680070081037C0E14C18201D1AD8E06802E488 +:10DF78001AD84BF84BFC1AD8F01F003F2FCDC00819 +:10DF88006E388B38C13870090E39C0E04B78201DC7 +:10DF98001AD8E06802E81AD84B884B6C1AD8F01FD8 +:10DFA80000362FCDC0086E399109EEF80098580850 +:10DFB800C0403FBB6E6C5D185801C0F0EF180024DC +:10DFC800201DEEC9FFFC1AD80E9AEF18001C6EAB84 +:10DFD8006F7CF01F002B2FED0E9B302C6E37F01F3F +:10DFE8000029C1C8EF3900382FF9EF690038EF3A36 +:10DFF8000039F20A1800E08B0010EF680038EEF8DC +:10E0080000945808C0600E9B6E6C5D185C5CC04143 +:10E018000E9CF01F001D0E956E375807FE91FE638B +:10E0280049A849B410957006C6086C4858A8C0E0BD +:10E0380048E8201D1AD8E068030C1AD8495848DC6B +:10E048001AD8F01F000D2FCDC00868096CD8F20847 +:10E058000108E04800F0E08B004C0C976C36C4587F +:10E068008000DA8C0000820C8003A8688003AAC4B0 +:10E0780080039D9C800094C48003AAF08001023430 +:10E088008000C97480010CEC00008220000082101E +:10E098008003AB1C6A081036C0E149A8201D1AD8B5 +:10E0A800E068031B1AD84988498C1AD8F01F001851 +:10E0B8002FCDC0086C388F38C1386A080C38C0E0DA +:10E0C8004908201D1AD8E068031F1AD8491848FCC7 +:10E0D8001AD8F01F000F2FCDC0086C388B080C9B86 +:10E0E800302C6C36F01F000C5806CA01C0780C9C06 +:10E0F800F01F000A5807CCF1CE1B2FCDD8320000F4 +:10E108008003A8688003AB4C80039D9C800094C466 +:10E118008003AB748000C9748000DA8CD431202D60 +:10E1280018951691784858A8C0A1189B4A2CF01F3A +:10E1380000230A9B302CF01F0022C3B8780850082F +:10E148007818F903001C5018F9020024797778A68A +:10E15800F8F400987860189B49ACF01F00186BFC25 +:10E16800580CC030F01F00186BEC580CC030F01F72 +:10E178000016EAFC0080580CC030F01F00130A9B00 +:10E18800302CF01F000F5804C040009C3FBB5D14AA +:10E198005801C0F0201D5C72F1D3C0101AD20C9B3C +:10E1A800FAC9FFF4FACAFFF80E9CF01F00082FED19 +:10E1B8002FEDD832000082208000DAE88000C97490 +:10E1C8000000820C8000DA6880010234D42118969D +:10E1D800302CF01F00511897C5114D084D0A189999 +:10E1E8007008740BC0A870DAF60A010A123AF4092A +:10E1F8001720F00C172070385808CF61580CC04011 +:10E20800301BF01F0048302CF01F00431897C30143 +:10E218004C584C3A18997008740E37FBC178F13A8B +:10E228000014EC0A1800E08B000DF60A1800E08BC9 +:10E23800000970D7FC0701071237C033109CC0389B +:10E24800169A12977038149B0E995808CE91580C4C +:10E25800C040301BF01F0033302CF01F002F1897E0 +:10E26800C5704B28F10900D42019F15900D44AF897 +:10E27800F10900D42019F15900D4E06A00B0300B3C +:10E288000E9CF01F002B3408EF6800143FF8EF686D +:10E29800000B4A384A7A70097408F2080008950891 +:10E2A800EF48006CEF480068EF48005CEF4800500A +:10E2B8003008EF6800ADEF680038E0680800EF58F4 +:10E2C800002EEF58002C3068EF58004AEF58004CE9 +:10E2D800E0681000EF580072E0680200EF58003C58 +:10E2E8003FF8EF58003A3018EF5800564928EF48E1 +:10E2F800008CE068DD00EA18006DEF48009CE078CB +:10E3080024F88FD9EF4800A03098EF4800A40E9C5D +:10E31800D82200008000C9D40000822000008210AA +:10E328008000E1240000820C000080D48002E8BC58 +:10E33800000001F48000E5ECD401340CF01F000269 +:10E34800D80200008000E1D4D431189714961293B3 +:10E35800169578445804C0E04C98201D1AD8E068F7 +:10E36800020A1AD84C784C8C1AD8F01F00482FCDC6 +:10E37800C008580BC041E06600F7CB78304A140C4F +:10E38800F01F0043EF560024EF08001CE8081900AE +:10E39800C34110944BF84C0970064C08720B700C72 +:10E3A8004BF9E06A100092082FF80C995C88F00489 +:10E3B8001900F4081790C078F30E001CF00E19002D +:10E3C800CF4072395809CF911899C078F30E001CC4 +:10E3D800F00E1900CEA072395809CF911699C0785D +:10E3E800F30E001CF00E1900CE0072395809CF91B7 +:10E3F8004AB9B208EF58001C4AA84AB9700A72080C +:10E40800F40800089308EF48005CF0C90001E068D0 +:10E418000800EF580060EF58002CEF58002E300825 +:10E428008FC88FA8E0680200EF49006CEF490050E0 +:10E43800EF58003C0A9BE06C0200F01F001C5C8C4B +:10E44800F808100AEF5800583018EF430090EF58BA +:10E458000056EF5C003C30288F48495972080E3846 +:10E46800C0316E38C2C849399308C26870390E394C +:10E47800C221490993086E399139C2288003A868D6 +:10E488008003AB9C80039D9C800094C48002E73687 +:10E498000000820C0000821400008220000001F8B5 +:10E4A80000008210000001F48000D95C0000821C8A +:10E4B8000000821812985808CDA148D9930848D866 +:10E4C80070098F3991073019201D30081AD9109A10 +:10E4D8003029109B0E9CF01F00082FEDEDDCC008C2 +:10E4E800C0410E9CF01F00050C9CD8320000821819 +:10E4F8000000820C8001035080010CECD421189795 +:10E5080078465826C390E08B00075806C0C05816B6 +:10E51800C071C2785846C370C3635876C3C030060A +:10E528000C97C4184A8972081838C0317838C1085D +:10E538004A699308C0A870390E39C0614A399308EE +:10E548006E399139C06812985808CF6149F9930813 +:10E5580030080E9B8F38302C1097F01F001DC0A874 +:10E56800189B49CCF01F001C0E9B303CF01F001874 +:10E5780030070E96C188189B498CF01F00170E9B18 +:10E588000C9CCF5B301BF01F0016EDDCC008C0B13F +:10E598003058C088301BF01F0012EDDCC008C031B5 +:10E5A80030988F4858075F193008F00618005F0A3E +:10E5B800F5E90009F0091800C0400E9CF01F000999 +:10E5C8000C9CD8220000821C000082188000C974AC +:10E5D800000082148000DAE80000820C80010A0042 +:10E5E80080010CECD421169C1497580AC08094CB57 +:10E5F800F01F00070E9CF01F0007D82A5809C030EA +:10E60800149CD822F01F00045C5CD8228000D984B6 +:10E618008000D13C8000E504D42149887007C2A855 +:10E62800EEFB0084580BC140169AEEF8008C58088F +:10E63800C06030090E9B6E6C5D18C078169A1099F0 +:10E648000E9B109CF01F000E5C5CEFFC0A21EF385B +:10E658000026EDB80000C0D1A1B80E9CEF680026D6 +:10E66800F01F0008EF380026E018FFFCEF680026CE +:10E678006E375807CD61D8220000820C8000E5EC87 +:10E6880080010CECD401F01F0007487913882FF89B +:10E698005C58B288EDB80000C031F01F0004D80201 +:10E6A8008000E620000073148000DCCCD4314A6876 +:10E6B80070063058ED3E000C2EC6A58EF00E1900DF +:10E6C800E0880040205E3008A36E30175C8E302151 +:10E6D8003042E7DEC010E06401FFE0650200C2E8F6 +:10E6E800F5D8C010EC0A070BEE0B1800C080C293D7 +:10E6F800EC0A0009E20B1800C1B1C0382FF8C1D8E4 +:10E70800139BE40B1800C1D12FDA063AC1A413BA3F +:10E718002FC813A95C88F5E910895C89F2CA000141 +:10E72800E80A1900EA0917B0F959003CC0781399AA +:10E738005809C070F20800085C88FC081900CD135D +:10E74800D832000000007318D4217848189616971C +:10E75800F138000DEDB80000C1C1169C3007F01F5C +:10E768000020C368F138000DEDB80000C0E16C4826 +:10E77800F13A000CF139000DF3EA1089A1A9F16909 +:10E78800000DA989F169000C6E07F01F0016C0285A +:10E7980049555807C1D06E4811C411DBB16BF7E475 +:10E7A800118B11E48EEEF7E4108B6A0A8CE911F4F0 +:10E7B8000E9CE9EB100B16191409F20E010ECD3759 +:10E7C800C098141B6C1CAC6B5C7BF01F00088D0799 +:10E7D800D8225809FE99FFF7CFBB00008000DA68FD +:10E7E8008000DA3C0000731C8000D210D4314C58F1 +:10E7F80018971188EDB80004E081020C79994C282B +:10E80800F90C006070086FAAF208010BC186103974 +:10E81800C0614BE87008F4080108C1164BB87008CD +:10E82800103AC2914BA87008F139000FF138000E68 +:10E83800F3E81088F8081900E088001E4B487009B2 +:10E84800F338000FF339000EF1E910884AE972092C +:10E858005C88EF490064EF5800604AC97209EF49C3 +:10E8680000685808C080EF3900AC3008F00918007B +:10E87800EFF81EAC4A586F497008F009010B580BA5 +:10E88800E089004C3006EF5600704A2B960BEC0BD3 +:10E898001900C3215C7CEF160060F80A000A6FAC0F +:10E8A800EC0C000C143CC281EF0A003AF60A19007D +:10E8B800C2351039C211EF3800542FF85C58EF6890 +:10E8C80000543039F2081800E088000FEF090056AC +:10E8D800EF08003C12085C88F2081900E088014A39 +:10E8E800EF580056C469F2081800E08101430E9CF5 +:10E8F800F01F0009C3E93008EF680054C3A90000FD +:10E90800000073280000731C0000732400007318B3 +:10E91800000073208001016A5CD91009E08600D1EB +:10E928006F7912185808E08900CCEF380026EDB846 +:10E938000002C081A3C8EF680026EF080058EF580E +:10E948000056300A4D39EF6A004E720BEF6A0054D8 +:10E9580072096F48EF490050F6080108EF09007284 +:10E96800EF580070F2080008EF09004AEF580072EB +:10E97800EF080048A358F2080008EF58004C6E480A +:10E988005838E0880066EF080056EF090058F0098B +:10E998001900E0880006EF09003C1009C0A8EF192B +:10E9A800003CB339F7D8C010F20B0C0AF408000980 +:10E9B8005C89F0091900E088004CEF590056C488BA +:10E9C8006C08EF030074EF48007C6C1CF01F0032E9 +:10E9D800F8031900C0E24B18201D1AD8E06803B3E9 +:10E9E8001AD84AF84AFC1AD8F01F002F2FCDC008B1 +:10E9F800EF0800705808C09020186C49F339000DD2 +:10EA0800EDB90000EFF80C38EF0300746C1CF01F30 +:10EA1800002218130C9CEF530074F01F0024EF0819 +:10EA28000074EA081900C1606FF85808C1316FE82E +:10EA38005808C1014998201D1AD8E06803BF1AD8A0 +:10EA480049B8498C1AD8F01F00182FCDC0084914AE +:10EA580030056FF65806C2D06C4811CBF139000D5D +:10EA6800F3D9C0025F1A11D9B169F3EB118911EB1F +:10EA7800F3EB108911F81248680912188CE9F409A7 +:10EA8800000912085808FE9AFF9DE08F045F0000F5 +:10EA9800000073248000CD0C8003AC608003ACA818 +:10EAA80080039D9C800094C48000DA3C8003ACD035 +:10EAB8003FF8EF58003A3008EF680038C5A830082A +:10EAC800EF580070C5686C08EF030074EF480078D1 +:10EAD8006C1CF01F0021F8031900C0E249F8201D42 +:10EAE8001AD8E06803E01AD849D849EC1AD8F01FB8 +:10EAF800001E2FCDC008EF0800705808C0902018DD +:10EB08006C49F339000DEDB90000EFF80C38EF034C +:10EB180000746C1CF01F001018130C9CEF53007449 +:10EB2800F01F0012EF080074EA081900C2406FF8DD +:10EB38005808C2116FE85808C1E14888201D1AD842 +:10EB4800E06803EA1AD848A8486C1AD8F01F0006EB +:10EB58002FCDC0088000CD0C8003AC608003ACA82A +:10EB680080039D9C800094C48000DA3C8003ACD074 +:10EB78004C5430056FE65806C2106C4811CCF13978 +:10EB8800000D11DAF3D9C002B16AF5EC118A11EC63 +:10EB980011F858095F1B6809F5EC108AF1EA100AA8 +:10EBA8008CE8F20A010AF6080008F4080108C066B1 +:10EBB8006F7810195809FE9AFF886F085808C29094 +:10EBC8004B196F1A7209F4090109C2374AFB760B0F +:10EBD800EF0A0048F6080108F40B140316185C88BD +:10EBE800F00A000A5C8AEF09004AF40B14035C4837 +:10EBF800EF5A0048F20A14021419F2080008F6083D +:10EC08000009EF58004AEF59004C3008EF4800401F +:10EC180049F84A09900A6EA8580AE0800381720BE5 +:10EC2800F60911FF1009E08600B15C7AF0C9FFFF10 +:10EC38001619F20A010A580AE08900A849697216E9 +:10EC48005806C0E14958201D1AD8E06804461AD869 +:10EC58004938494C1AD8F01F00142FCDC008F00BC2 +:10EC6800010BE04B7FFEE08A002348C8201D1AD81C +:10EC7800E06804471AD848D848AC1AD8F01F000AE8 +:10EC88002FCDC008000073240000821000007320FC +:10EC98000000731C000073348003AC608003ACF088 +:10ECA80080039D9C800094C48003AD008CD81638E6 +:10ECB800C3148C48F3D8C0101639C0E44AB8201DD4 +:10ECC8001AD8E06804491AD84A984AAC1AD8F01FEA +:10ECD800002A2FCDC0081618300A5C88C058AC48E6 +:10ECE800AC5A121B6C068CD91639CFA55C3B0C9C10 +:10ECF8005C8BF01F0022C21049C8201D1AD8E0689A +:10ED080004561AD849E849BC1AD8F01F001B2FCD61 +:10ED1800C0085C3B0C9C5C8BF01F0018C0E04938B5 +:10ED2800201D1AD8E068045B1AD84958491C1AD81B +:10ED3800F01F00112FCDC0086C1A4929932A492ABF +:10ED48006EA8740B926C9508F80B000A101AB26A38 +:10ED5800F00A16187249B2F8B2CAF5D8C208F1D842 +:10ED6800C108B2DAB2E8C1B88003AC608003AD1064 +:10ED780080039D9C800094C48000CDD48003AD2086 +:10ED8800000073340000731C101BC097EF38002676 +:10ED9800A1B80E9CEF680026F01F00424C256EA912 +:10EDA8006A08F009010AE08602B7F0CAFFFFEF1B04 +:10EDB800002C121A161A580AE08902AE1039E0819E +:10EDC80001F54BA8906A7048F139000DF3D9C002DB +:10EDD8005F19F40900094B6AB409EF0A002CF20A1A +:10EDE8001900C462F13A000CF139000DF3EA1089F8 +:10EDF8005C89EDB90000C081E219FFFEF169000DE0 +:10EE0800A989F169000C4A98EF0A002CB06A704988 +:10EE1800F339000DEDB90001C031201AB06A4A3645 +:10EE28008CEB6C1CF01F00238C696C48F138000DCA +:10EE3800F1D8C0025F18F208000849D9B20849A9F8 +:10EE480072095C78EF1A002C12086EA9F4090009FF +:10EE58001238C0E04988201D1AD8E068048B1AD8F7 +:10EE68004968497C1AD8F01F00172FCDC008EEF664 +:10EE780000805806E08000BE48C46848F138000D9C +:10EE8800EDB80000C080C4B8109C7008EF4800803E +:10EE9800F01F000DEEF800805808CF71CAA80000D6 +:10EEA80080010CEC0000731C000073340000732018 +:10EEB8008000D2108003AC608003AD3480039D9C39 +:10EEC800800094C48000DA3CF138000DEDB80000F1 +:10EED800C1F16848F139000DF13A000CF3EA108AE3 +:10EEE8005C8A1499A1A95C79F20B1608EDBA0001A5 +:10EEF800C0F0F169000DF16B000C68488869F138C1 +:10EF0800000DF1D8C0025F18F2080008A6086C05C9 +:10EF18000A96F01F00455805C041C6984C324C432C +:10EF28006C4811C5868A11D9B169F3E5118911E5D3 +:10EF38008CEBF3E510890C9C11F5EBE91009F40949 +:10EF48000109640A1409F20B010BCBF7E08F0201E7 +:10EF58004B89EEF80080704811FB11C511DC11E8EF +:10EF6800B16CF9E5118CF9E81088F7E81008F00A97 +:10EF7800010A5C8AB26A7248F138000DEDB80001E6 +:10EF8800C031201AB26A4AB58AEB6A1CF01F002AFF +:10EF98008A696A48F138000DF1D8C0025F18F20892 +:10EFA80000084A39B2085C784A097209F009000A6F +:10EFB800EEF80080704811FB11CC11D911E8B16945 +:10EFC800F3EC1189F3E81089F7E91009123AC0E067 +:10EFD80049A8201D1AD8E06804C31AD84988499C52 +:10EFE8001AD8F01F00192FCDC0080C95EF450080E6 +:10EFF80048F848E9908A7209F40900098FA990082D +:10F00800EF09002CF0091900C22248C8201D1AD89F +:10F01800E06804CD1AD848D848AC1AD8F01F000ABE +:10F028002FCDC0088000DA3C0000731C000073205C +:10F03800000073348000D2108003AC608003AD6C94 +:10F0480080039D9C800094C48003ADA810190E9C79 +:10F05800EF59002CF01F004A4CA8300A7019924B47 +:10F06800F40B1900C0504C8A9509300991194C5875 +:10F078007048F138000DEDB80000C5B14C3913885F +:10F08800A5B8B288C56881098CEAF13B000DF7DBA9 +:10F09800C0025F1BF60A000A14098FA9EF0A002CA8 +:10F0A800F138000D8C69F1D8C002F7D9C0105808A2 +:10F0B8005F1EF9DAC010FC0B000B163CC0E44B488D +:10F0C800201D1AD8E06804F21AD84B284B2C1AD8FD +:10F0D800F01F00322FCDC008F409010958085F1845 +:10F0E800F20801080E9CEF58002CF01F00256C1B3D +:10F0F8009648E2081900C090680C580CC040F01FF0 +:10F108000028C028890B8D126C48F138000DEDB825 +:10F118000000C0810B88A5B8AA886E485848EFF34C +:10F128000A046C080C9CEF480080F01F001EC07891 +:10F1380049D030014944300249453073EEF6008029 +:10F148005806C1006C4811CB11D9B169F3EB11898C +:10F1580011EB6EAAF3EB108911FBF7E910091439CA +:10F16800C930EF380026EDB80000C041A1C80E9C98 +:10F17800CE68A1A8EF680026D83200008000D5FE2E +:10F18800000073340000732C000073298003AC6006 +:10F198008003ADC880039D9C800094C48000CD345A +:10F1A8008000DA3C0000731C0E9CF01F0040EEF655 +:10F1B80000805806C0714BECF01F003EEF4C0080F9 +:10F1C800D8326A093005F2CCFFFF6C4811CB11DA4E +:10F1D800B16AF5EB118A11EBF5EB108A11FBF7EA2E +:10F1E800100A1439C1214B2C8C689869F009190050 +:10F1F800E08800B4F01F002FE08000B05805EBFC59 +:10F208001A00EFFC0A20C0D85805C0D1F20A010B39 +:10F21800C4574A7CF01F0027E08000A0EF4C008014 +:10F228000C9BC3986A4B17F417C217D317EBB1633B +:10F23800E7E21183E7EB108BE9EB100B5CDB120BB9 +:10F24800C2D6F80A010B580BE0890029498CF01F37 +:10F2580000191897E08000826A4811F911CA11DB79 +:10F2680011E8B16BF7EA118BF7E8108B4928F3EB3B +:10F27800100B70088AE9101916095809E08A000964 +:10F28800F00B010B6A1CAA6B5C7BF01F000C8B0750 +:10F298000C9B0E9CF01F000AD8326C0B0C95580B77 +:10F2A800C1001696C93B000080010BF000007334C2 +:10F2B8008000DA080000731C8000D2108000E7503C +:10F2C80014195809E08A004AF138000DEDB8000019 +:10F2D800C4404A3CF01F00238D0CC3F06C4811F960 +:10F2E80011CA11DB11E8B16BF7EA118BF7E8108B43 +:10F2F80049D8F3EB100B70088CE910191609580956 +:10F30800E08A002CF00B010B6C1CAC6B5C7BF01FD3 +:10F318000017D8320E9CF01F0016D832720BF60870 +:10F328000109C0A62FFBEF19002CF60801081218D6 +:10F338005808E08A00130E9CEF380026A1B8EF6841 +:10F348000026F01F000CD8323008FE9FFBB4580985 +:10F35800FE99FE00FE9FFE4BD83200000000733479 +:10F368008000DA080000731C8000D21080010BF0C6 +:10F3780080010CECD4314B86ED0800922FF87819F7 +:10F388004B65ED5800928B091388F1D8C004F20838 +:10F39800002818971693109C4B148908F01F003109 +:10F3A8006A080E9C118BF7DBC004A36B5C3BF01F53 +:10F3B800002EC0718E493138F0091900E08B000B1E +:10F3C8004A580E9CF109009A2FF9F159009AE08FDA +:10F3D80003026A0C069B2F0CF01F0024C0B16A0AB6 +:10F3E800FC19E000F5380010B968E618F00012388A +:10F3F800C0A149980E9CF10900A02FF9F15900A06D +:10F40800E08F02E9F4CBFFF48EC830692F0A0E9C16 +:10F41800F01F00175C8CC080ED0800980E9C2FF838 +:10F42800ED580098C11868080E9CF13B000CA58B9C +:10F43800F60B10FCF01F000CC1C0ED08009A0E9CE2 +:10F448002FF8ED58009AED0800962FF8ED58009621 +:10F45800E08F02C6000080D40000733000007318EB +:10F468008000D67C8000CDD48001255880011E2CD8 +:10F47800680811CA11D9B169F3EA118911EAF3EAE6 +:10F48800108911FAF5E91009F20A1618B0CAF5D967 +:10F49800C208B0F9B0DAF5D9C108B0EA4B28910929 +:10F4A8006808F1390008F13A0009B16AF5E9118AEA +:10F4B800F139000AF5E9108AF139000BF3EA100A6C +:10F4C800F4091618F1690008F3DAC208F16A000BAA +:10F4D800F1690009F3DAC108F169000A4A386804D9 +:10F4E800910AE938000DF5D8C002F1D8C0064A0BD8 +:10F4F800B6884A086A09580A5F1A8E4514055C8559 +:10F50800B00549D87006CA586C485808C0E149B8CF +:10F51800201D1AD8E06800B71AD84998499C1AD80B +:10F52800F01F00192FCDC00858A8C0E14938201D88 +:10F538001AD8E06800B81AD84948492C1AD8F01FD8 +:10F5480000122FCDC0085818C24148C8201D1AD82B +:10F55800E06800B91AD848E848AC1AD8F01F000A81 +:10F568002FCDC0080000731C00007324000073280E +:10F57800000073200000820C8003AC608003ADF0B3 +:10F5880080039D9C800094C48003AE188003AE4421 +:10F59800098A0998F1EA1088ED0A0024F00A19008E +:10F5A800C56109AA09B8F1EA1088ED0A001CF00A39 +:10F5B8001900C4D1F33A000CF338000DB168F1EA30 +:10F5C8001188F33A000EF1EA1088F33A000FF5E8D3 +:10F5D80010086C1A103AC3B1F33A0010F33800114E +:10F5E800B168F1EA1188F33A0012F1EA1088F33AA7 +:10F5F8000013F5E810086C0A103AC2916C380C3800 +:10F60800C0E14CA8201D1AD8E06800C21AD84C885E +:10F618004C8C1AD8F01F00482FCDC008580CC06079 +:10F6280099384C6870098D3991066C380C38E0812E +:10F6380001A14BE8201D1AD8E06800C81AD84C0868 +:10F648004BCC1AD8F01F003C2FCDC0080C9C6C3650 +:10F658005806FE91FF5BE08F05296C4858A8C0E06A +:10F668004B28201D1AD8E06800D21AD84B584B1CDA +:10F678001AD8F01F00312FCDC008098B0998ED0A60 +:10F688000024F1EB1088F00A1900C77109AC09BB16 +:10F69800ED08001CF7EC108BF6081900C6E1F33CE6 +:10F6A800000CF33B000DB16BF7EC118BF33C000E33 +:10F6B800F7EC108BF33C000FF9EB100B6C1C163CAD +:10F6C800C5C1F33C0010F33B0011B16BF7EC118B93 +:10F6D800F33C0012F7EC108BF33C0013F9EB100B22 +:10F6E8006C0C163CC4A1498B178CEDBC0002E08061 +:10F6F800013AEDBC0001C2D1494B6CAC760BF60C5B +:10F70800010CC2D6ED14002C081C580CE089002806 +:10F718005C7A201D5C751ADA48DCEA0B000B5C7811 +:10F72800F2CAFFF0780CC7688003AC608003AE6C47 +:10F7380080039D9C800094C40000820C8003AE98D6 +:10F748008003AEC4000073280000731C00007324FB +:10F75800EDBC0000C0414CC870088DD84CB8900969 +:10F768003008F0091900E08000FEED3800260C9CF6 +:10F77800A1B8ED680026CF486C365806FE91FF6F99 +:10F788004C3870050C98CF286A0A580AC130F33CE7 +:10F798000010F33B0011B16BF7EC118BF33C001236 +:10F7A800F7EC108BF33C0013F9EB100B163AE081E1 +:10F7B80000DC09AB09BAF5EB108AEB0B001CF40B63 +:10F7C8001900E08100D25808C0706A3991394B0895 +:10F7D80070098B3991054AF81188EDB80004C1F118 +:10F7E8004AD8700913AB139A13B8201D1389F1EB8B +:10F7F8001088F5E910894A5B1AD9968C4A794A8BA0 +:10F808007209760BF2CAFFF0F80B000B4A5C780C11 +:10F818002FFC2F49F01F00242FEDCA48EDB8000136 +:10F82800E08100A1EB3C0014F01F00201896C08175 +:10F8380049F8F109009C2FF9F159009CC938497819 +:10F848007008F0C9FFF0C0311298C108F1390013EF +:10F85800F13B0010F13A0011F1380012B16AF5EBF2 +:10F86800118AF5E81088F3E810088D08EB08001CE9 +:10F87800ED58001C48987008F0C9FFF4C1A112980F +:10F88800C27800000000821000007320000082147B +:10F898000000732800007318000073300000731C08 +:10F8A80000007324800102348000E1D4000080D479 +:10F8B800F139000FF13B000CF13A000DF138000E60 +:10F8C800B16AF5EB118AF5E81088F3E810088D188D +:10F8D8004C587008118B1199F3EB1089ED590024DD +:10F8E80030398D494C197209F2CBFFFF8DCB8DABA6 +:10F8F800F13B000FF138000EF7E81088ED5800587A +:10F90800ED5800608A48E2180199AC486A684B8A49 +:10F918002019740C8D688D3C6A889506ED49006441 +:10F928008D880C9CF01F0033ECCBFFFCED1C003CD9 +:10F93800F01F00313019ED5C003C201D30081AD949 +:10F94800109A3129109B0C9CF01F002C2FED5C5C49 +:10F95800C0600C9C300BF01F002AC0480C9CF01FA4 +:10F9680000290E9CC3C80A986A355805FE91FF0EF7 +:10F9780049D56A08F13C000DF9DCC006F01F0022E9 +:10F988005806E08003504A188E4A6A09911791492F +:10F99800B06A30096E1A9109912A49D8910949D853 +:10F9A800B089ECFA0084580AC3C0ECF8008C5808F7 +:10F9B800C0500C9B6C6C5D18C06810990C9B109C17 +:10F9C800F01F00155C5CC041ED4C0084C2A80E9C81 +:10F9D8004928F10900962FF9F1590096F01F0010F7 +:10F9E800D8320000000073180000731C0000820C5D +:10F9F8008000E6B48000D95C800103508000E124D7 +:10FA080080010CEC8000D67E000073340000732C5B +:10FA1800000073298000E5EC000080D48000D13C10 +:10FA28004A9891064A981188EDB80002C3216C489B +:10FA38005828C0814A6870096D781039E081026BD6 +:10FA4800C1D84A49720A6CA9F4090109E08602631F +:10FA5800ED1A002C14195809E089025DE08F032182 +:10FA680049D8201D1AD8E06802271AD849B849CCC5 +:10FA78001AD8F01F001C2FCDC00849B91388A3B8A5 +:10FA8800B288ED380026A1C8ED680026E08F024351 +:10FA9800EDB80001C0616C4820285818E08B00A21E +:10FAA800492870088DD830080C9CED6800ADF01F0F +:10FAB80000106C4820285878E08B022D48D9F208AD +:10FAC800032F000000008224000073280000732424 +:10FAD8000000731C8003AC608003AEF480039D9C1F +:10FAE800800094C400007329000082108000E6B4EE +:10FAF8008003AC404CF811891298E218001259287A +:10FB0800C7A14CD8700A6DF8704811FB11C711DCF9 +:10FB180011E8B16CF9E7118CF9E81088F7E81008DA +:10FB28002FF8103AC681ED0800722FF8ED580072D0 +:10FB38004C287008ED4A0050F0CA00012FF88DC813 +:10FB48008DA84BF87008F139000FF138000EF3E872 +:10FB58001088ED5800603048ED4A00648D48EC0884 +:10FB6800000BED1C003CF01F00375C8CF808100AF5 +:10FB7800ED5C003CED580058ED0900563018F009CE +:10FB88001900C021A17CED5C0056ED0800745808EE +:10FB9800C0E14AD8201D1AD8E06802591AD84AB8D4 +:10FBA8004ABC1AD8F01F002B2FCDC00820186DFCB6 +:10FBB800ED5800747808ED48007C5808F9B800FF43 +:10FBC800F9B80100EDF81E4EED58003AF01F00227A +:10FBD800ECF800905808C050300A0C9B6C6C5D180B +:10FBE800ED380026A1B80C9CED680026F01F001B1C +:10FBF800E08F0191EDB90004E081018D4908700999 +:10FC080013AB139A13B8201D1389F1EB1088F5E98B +:10FC18001089493B1AD9968C4929488B7209760B69 +:10FC2800F2CAFFF0F80B000B483C780CC7980000AC +:10FC380000007328000073240000731C0000731870 +:10FC48008000D95C8003AC608003AF1480039D9C66 +:10FC5800800094C48000DA3C80010CEC0000732022 +:10FC6800000073304C281188EDB80004C5E14C1829 +:10FC7800700C6D485CD81808C3D66D78F808010870 +:10FC88005808E089003830488D486C885808C0E129 +:10FC98004B98201D1AD8E068027E1AD84B784B8CF6 +:10FCA8001AD8F01F00382FCDC008300A0C9B6C6C96 +:10FCB8005D185C5CC0700C9C301BF01F0033E08F3B +:10FCC80001A7ED0700560C9CF01F0030ED080070EE +:10FCD8005808F9B901FFF1D9E108EDF81C383019D5 +:10FCE800ED08003CF2071900C021A178ED58005634 +:10FCF800C2E84A78700913AB139A13B81389F1EB69 +:10FD08001088F5E910894A3B201D1AD94A29968797 +:10FD180072094A2BF2CAFFF0760BEE0B000B2F4943 +:10FD2800F01F001F2FEDCF68EDB80001E08100F350 +:10FD380049A870096CA820181039E08100EC0C9CC7 +:10FD4800F01F0018CE780C9CF01F0010496811882D +:10FD5800EDB80005E08100DFED380026A1B80C9C65 +:10FD6800ED680026F01F00113078CC1800007328C9 +:10FD7800000073248003AC608003AF2C80039D9C3B +:10FD8800800094C48000E1248000E7F40000731828 +:10FD980000007320000073300000731C80010234DF +:10FDA800800101000000732980010CEC0C9CF01FFD +:10FDB800003E4BE84BE91188E2180020C2D01388B6 +:10FDC800EDB80004C1F14BB870096D781039C1A1C4 +:10FDD800ED380026A1B80C9CED680026F01F00360F +:10FDE8000C9CF01F00364B6972080C38C5604B59E3 +:10FDF8009308C05870390C39C69012985808CFB17A +:10FE0800C6D8ED380026A1B80C9CED680026F01F76 +:10FE1800002A3088C6C81388EDB80004E081007B4A +:10FE28004A4870096D781039C7513068C6080C9C6B +:10FE3800F01F001D49D81188EDB80005C6B1ED388E +:10FE48000026A1B80C9CED680026F01F001B0C9C36 +:10FE5800F01F001A49A972080C38C1F04999930893 +:10FE6800C05870390C39C32012985808CFB1C368EC +:10FE78000C9CF01F000D48E81188EDB80004C4A1DF +:10FE880048C870096D781039C4510C9CF01F000BDC +:10FE980048B972080C38C0316C38C21848999308B0 +:10FEA800C1B800008000E7F400007329000073283F +:10FEB8000000732480010CEC8000DA8C0000820CB6 +:10FEC8000000821870390C39C0614C0993086C39EC +:10FED8009139C06812985808CF614BC99308300807 +:10FEE8008D384BB870098D39910630A88D48C128D6 +:10FEF8000C9CF01F00384B881188EDB80004C0A195 +:10FF08004B6870096D781039C0514B591388A5A8F2 +:10FF1800B2884B381188EDB80003C091ECF800980E +:10FF28005808C0803FAB6C6C5D18C048EDB8000441 +:10FF3800C0A10C9B4ABCF01F002C0C9B302CF01F5E +:10FF4800002BC658ED0A0070580AC090ECF80088DB +:10FF58005808C0505C7A0C9B6C6C5D184A48700855 +:10FF68005808C24049C91389EDB90003F1F9080DD1 +:10FF7800F9BA0001F3DAE039F1F90E0D49CAECF8E3 +:10FF8800008C5808C070740A30090C9B6C6C5D18A2 +:10FF9800C0781099740A0C9B109CF01F00165C5CCA +:10FFA800C05049387008ED48008448D81188EDB829 +:10FFB8000005C271ECF8008C5808C1D030090C9BC0 +:10FFC800129A6C6C5D18C1D800008218000082205B +:10FFD8008000E7F4000073280000732400007329F0 +:10FFE8000000820C8000DAE88000C9740000732CDD +:08FFF8008000E5EC10990C9B60 +:02000004800179 +:10000000109A109CF01F002E30094AE80C9C9109B0 +:10001000F01F002D30064AB891064AC76E1C580CD6 +:10002000C330F01F002B8F16C2F86A0BF738000D93 +:10003000EDB80002C2604A78F10C00A02FFCF15C20 +:1000400000A0F10C00962FFCF15C0096179C17A6FF +:1000500017B8178BF9EB108B201D49F972091ADBC1 +:1000600049EB968CF2CAFFF0F1E6108849CB2F4994 +:10007000760BF80B000B49BC780CF01F001B2FED22 +:100080000E9CF01F0013F01F0019C1714988201D3C +:100090001AD8E06801771AD84968497C1AD8F01F45 +:1000A00000172FCDC0085808FE90FCE0FE9FFCEB27 +:1000B00049387006FE9FFB67D83200008000E5ECEF +:1000C0000000822480010CEC000073348000D13CDD +:1000D000000080D400007330000073200000731C07 +:1000E00000007324800102348000D6B48003AC6029 +:1000F0008003AF4080039D9C800094C40000822058 +:10010000D42179F95809C3107208F8CEFF88F9484C +:10011000007C79E8C038109E70085808C1C0704B48 +:1001200017F617C417D5B165EBE41185724A17EBC2 +:1001300015F7EBEB108B15C5EDEB100B15D615EA8B +:10014000B166EDE51186EDEA108AEFEA100AF60ACB +:10015000010ACE2693089D093008F9480040F93875 +:10016000004E2FF8F968004ED822D42179F95809A9 +:10017000C600F9380026EDB80002C5B07208F8CE06 +:10018000FF88F948007C79E8C038109E700858084C +:10019000C1C0704B17F617C417D5B165EBE41185D4 +:1001A000724A17EB15F7EBEB108B15C5EDEB100B47 +:1001B00015D615EAB166EDE51186EDEA108AEFEA8B +:1001C000100AF60A010ACE26930830089D09F9485C +:1001D0000040F938004E2FF8F9090056F968004E32 +:1001E000F5D9C02FF9080060F7D8C02FF009190021 +:1001F000F60817B0F4081780F9580058F908003CC1 +:10020000F00915015C78A178F91A0058103AF9F94B +:100210005C2CF9380026A3A8F909003CF9680026EF +:10022000F20815011009F90800581009F95900568B +:10023000D822D703D43118941693149112921096A1 +:100240004097300A314B301CF01F00391895C6D04A +:1002500098593138F0091900E08B000F4B58201DD8 +:100260001AD8E068031F1AD84B384B4C1AD8F01F25 +:1002700000342FCDC0080E9878175C78AEB8A988E6 +:10028000AEA8E0685014EF68000DA988EF68000C74 +:10029000E8081618AEC8F1D4C208AED8E608161899 +:1002A000EF680008F1D3C208F3D6C010EF68000968 +:1002B000AE993088A9893006AEF4EF63000BAE89A1 +:1002C000EF66000FEF660012EF660013EF66001096 +:1002D000EF660011EF68000E3069049A029BE9D4C2 +:1002E000C108E7D3C108AEE4EF63000A98C8F01F65 +:1002F00000155C7CEF6C0011A98CEF6C0010201DC8 +:10030000491C30671AD70C98F9070090049A2FF708 +:10031000029BE06900FFF95700900A9CF01F000B58 +:100320000A9CF01F000B2FEDD83200008000D3187C +:100330008003AF5C8003AFA480039D9C800094C4C5 +:1003400080011E2C000080D4800122948000D13CCA +:10035000D43120BD14915098414A505A12961897A2 +:100360003009F20119005F08F20A18005F0AF1EA89 +:10037000000AF20A1800C110F3D6C002C0E14C789E +:10038000201D1AD8E06800AD1AD84C584C5C1AD819 +:10039000F01F00452FCDC008580B5F195089126817 +:1003A000C0E04BE8201D1AD8E06800AF1AD84BF81F +:1003B0004BCC1AD8F01F003C2FCDC008EF080072BC +:1003C000E2081900C0B2EF380026EA18FFFFE8186B +:1003D000FF80EF680026E08F02E34058F3D8C001A9 +:1003E000E2180002F9B8010CF009002950296FB099 +:1003F000EF02007431F8F0021900E08800144AC8D6 +:10040000F109009C2FF9F159009CE06C00FFEF38D6 +:100410000026EA18FFFFE818FF80EF680026E08F4B +:1004200002C36FF85802C2605808C1404028A38830 +:100430002FB8AD685C883003503B50A8F7D1B0109E +:10044000409A504BF5DAC001069406980695506A1A +:10045000C3796FE85808CEB14908201D1AD8E06862 +:1004600000D01AD8493848FC1AD8F01F000F2FCDF9 +:10047000C0085808C0416FE85808CD904878201D42 +:100480001AD8E06800D31AD848B8486C1AD8F01FB8 +:1004900000062FCDC00800008003AF5C8003AFD4FE +:1004A00080039D9C800094C48003B028000080D409 +:1004B0008003B0688003B0A450195008EF03003CDB +:1004C000304CF01F0042401918954008E080023C73 +:1004D000300B990B991B5809C0301894C118580853 +:1004E000C0E14BB8201D1AD8E06800EF1AD84B982D +:1004F0004B9C1AD8F01F00392FCDC008910C5C73AB +:10050000402A4069E60A010840435C73E6080D434F +:100510005C835809C3904028300AE608000B149CFD +:100520005C7BF01F002F8B1CE080020EF5D3C01007 +:10053000402B98D9F40B00081039C0E44A48201D1C +:100540001AD8E06800FF1AD84A684A3C1AD8F01F47 +:1005500000232FCDC008501AF01F0023401A18980E +:1005600040895809C0A0402B6A195008721C160C0B +:10057000403BF01F001E4008F00200026A185C8237 +:1005800070188B28C3D8406A402B149CF01F0014AD +:100590008B1CE08001D9F01F0014407AF8020002A1 +:1005A0005C82580AC2D0F7D3C010301A303CF01F1A +:1005B000000C189B6A1C580BC1C1F01F000D40694C +:1005C0008B19E08F01C100008000C9D48003AF5CAB +:1005D0008003B0D880039D9C800094C48000D31811 +:1005E0008003B0E88000CD0C8002E7368000D13C6B +:1005F000403897182FF28B285C82F01F003F320B97 +:10060000F6021900E08B01A0AA63314B6A1CF01FAF +:10061000003BC0904BA8F10900A42FF9F15900A4A8 +:10062000E08F0192EF39001C6A1870188B48B0896E +:10063000EF39001DB099EF3900246A48B0A9EF39AD +:100640000025B0B9E00916186A48B0C9F3D0C2084D +:10065000B0F0B0D9F3D0C108B0E96A48F16C00132A +:10066000F16C00126A48F13A000CF139000DF3EA1E +:100670001089E019FFC0EDE910095C79F169000DFE +:10068000A989F169000C405AEB6A000E404806182F +:100690005C88F3D3C0105048403B6A48120B503B73 +:1006A00040AA1200F139000DF3D9C006F5E910098E +:1006B0005C79F169000DA989F169000C0A98300A8A +:1006C000404BF40B19005F1B507B169A58045F09CE +:1006D000300B124AF60A1800FE91FEF0F5D2B01067 +:1006E000503A6FE05800E08000C260085808C0909F +:1006F0001090CFCB8000CD348000CDD4000080D4CA +:1007000080EA6048F139000DF3D9C0025F1B140B79 +:10071000E08000C45809E08100C1F7D6C0025F0C38 +:10072000301BF60618005F0BF9EB100BF20B1800EC +:10073000E08000B488EBEF19003C140B123BE08919 +:1007400000ADE13B000EE939000EF20B1800E0812C +:1007500000A5684911FE13FB504B11CC11DBB16BA6 +:10076000F7EC118B11ECF7EC108BFDEB100B160A6C +:1007700013CB13D8B168F1EB118813EB4049F1EBBF +:100780001088F3E81008103AE08100884028681CBF +:10079000F00B11EC5C8BF01F0037C0E04B68201DA4 +:1007A0001AD8E06801691AD84B484B5C1AD8F01F78 +:1007B00000352FCDC0086818905AF80A1900C0A15A +:1007C00070098919910C4032109C20125C82F01F34 +:1007D000002EF1D6C001681BC220580BC05188689A +:1007E000F6081900C0E04A48201D1AD8E0680177D1 +:1007F0001AD84A684A2C1AD8F01F00222FCDC008F8 +:100800006048F13A000CF139000DF3EA1089A1A912 +:10081000F169000DA989F169000CC1E8580BC050BD +:100820009659F0091900C0E14938201D1AD8E0682E +:10083000017A1AD84968492C1AD8F01F00122FCD16 +:10084000C008601CF01F001380698868F208000867 +:10085000A068680881080835E0051700E1F3020682 +:10086000089B304CF01F000CC198EF440078C16821 +:100870008000CDD48003AF5C8003B11C80039D9CBD +:10088000800094C48000D13C8003B1308003B1501B +:100890008000CD348000C97481040C98EDB600014D +:1008A000C040EDB60000C0312FF15C81EDD6C00133 +:1008B000EFF81826F9B90120F1D9E138EFF81E2632 +:1008C0006FB9F1D1C010F2080008EF520074EF4880 +:1008D000006CEF0800720218EF5800725802C14015 +:1008E0006FF85808C1116FE85808C0E14AF8201D98 +:1008F0001AD8E06801A11AD84AD84AEC1AD8F01FD1 +:10090000002E2FCDC00858055F193008F0031900DC +:100910005F1AF5E90009F0091800C4406A48580850 +:10092000C410409CE21C0002C3D1F13A000CF13922 +:10093000000DF3EA1089A3B9F169000DA989F169E5 +:10094000000CC318EF380026EA18FFFFE818FF80F4 +:10095000EF6800264998F109009C2FF9F159009C95 +:100960005804C040089CF01F0016EF0900743008BE +:10097000F0091900C1406FF85808C1116FE8580814 +:10098000C0E148A8201D1AD8E06801B41AD84888E8 +:10099000488C1AD8F01F00082FCDC008E06C00FF6B +:1009A000C028300C2F5DD8328003AF5C8003B16467 +:1009B00080039D9C800094C4000080D48000DA688D +:1009C000D421784E1298587E5F07584E5F09EFE9A0 +:1009D0001009C081582EC060583EC040E06C00F83D +:1009E000D822580AC031149CD822201D30095C7AC4 +:1009F0001AD9F01F00032FED5C5CD8228001035050 +:100A0000D4013008201D109A16991AD8149B30185A +:100A1000F01F00032FED5C5CD80200008001035042 +:100A2000D431189679F45804C05179E45804E08020 +:100A300000CE6848F133000DE7D3C001C06088697B +:100A40003008F00919005F03300A5C53301C14337E +:100A5000F9BB0114F9BB0015F01F005D1895E0808B +:100A600000B698593138F0091900E08B000F4D9805 +:100A7000201D1AD8E068040F1AD84D784D7C1AD87A +:100A8000F01F00572FCDC008684811FA11CB11D9BB +:100A900011E8B169F3EB1189F3E81089ED38001C16 +:100AA0007817F5E91009AE88EF3A000CED38001D13 +:100AB000AE98EF38000DF1EA1088ED3A0024AEAAA6 +:100AC000ED3B0025AEBBF20B1618AEF9AECBF7D955 +:100AD000C208F3D9C108AEDBAEE9ED390028EF69F1 +:100AE0000008ED390029EF690009ED39002AEF69A6 +:100AF000000AED39002BE018FFC0EF69000BA5A834 +:100B00005C88F5D8C010EF6A000DF40B1608EF6B87 +:100B1000000CED39002EEF69000EF1D8C006300947 +:100B2000E8185000ED3A002F5C78EF6A000FEF688C +:100B3000000DEF690011EF690012EF690013EF6912 +:100B40000010A988EF68000CED19002E6CA8F208BF +:100B500000088DC85803C110EF39000CEF38000DA4 +:100B6000F1E91088E018FFC0E8180011EF68000DE7 +:100B7000A988EF68000CC068682811897818F169A5 +:100B80000014ECC4FFFC8AC83069089A0C9B0A9CCC +:100B9000F01F00145C7CEF6C0011A98C4929EF6CEC +:100BA0000010F30C00902FFCF35C0090306C201DC3 +:100BB000ED39000B089A1ADC0C9B30080A9CF01FD8 +:100BC000000B0A9CF01F000A2FEDD8328000D318CA +:100BD0008003AF5C8003AFA480039D9C800094C41D +:100BE00080011E2C000080D4800122948000D13C22 +:100BF000D431300A1895314B301CF01F003918934E +:100C0000C041E06C00FED832EB380026EB39001C06 +:100C1000E018FFFCEB6800266B787817AE89EB399B +:100C2000001DAE99EB390024F00B1618AEA9F3D8CD +:100C3000C208EB3A0025AEF8F1D8C108AECBAEBA87 +:100C4000AED9AEE86AA8F0091618EF690008F3D823 +:100C5000C208E06A5010EF690009F3D8C1083004F7 +:100C6000EF68000BEF69000AF40B1608EB19002E71 +:100C7000EF6B000CEF6A000DEF69000FEF640012DC +:100C8000EF640013EF640010EF640011F20A16081D +:100C9000F2080008EF6A000E8BC8EAC6FFFC0A9B48 +:100CA0000C9A98C83069F01F000F5C7CEF6C001143 +:100CB000A98CEF6C0010306CEB38000AEB39000B9C +:100CC000201D0C9A1ADC0A9B069CF01F0007069C4C +:100CD000F01F0006089C2FEDD83200008000D318CA +:100CE00080011E2C800122948000D13CD431202D23 +:100CF0004AE8189770081838E08001A3F9080056F0 +:100D0000F9090060F0091900F20817805C785008B2 +:100D100079E6F9380026E2180002C1E05806C170F1 +:100D20008CEB6C48794911CCF609010911DBB16BE8 +:100D3000F7EC118B11FA11E8F7E81088400BF5E891 +:100D40001008F20800081638E08800070E9CF01F13 +:100D500000185C5CC7696FF55805C0B1EEC9FF8427 +:100D6000EEC2FFFC5019300349214930C2B9109539 +:100D70006A085808CFD1CF3BF13C000CF139000D87 +:100D8000F3EC108C5C8CEDBC0002C1F148B8201D66 +:100D90001AD8E06802471AD8489848AC1AD8F01F09 +:100DA000000A2FCDC00800000000822480010BF053 +:100DB000000080D4000082108003AF5C8003B18407 +:100DC00080039D9C800094C46FF95809C150EF3B8B +:100DD00000261699E2190044C0F16FE95809E08035 +:100DE0000133720E580EC081926EEF09003CF20E74 +:100DF0001900E08301296C09EF4900786E495829F0 +:100E0000C0E0A5AC5C7CF16C000DA98CF16C000C11 +:100E1000EF390026E019FFFCEF6900266EA9F20AFF +:100E20001618F16A0008F5D9C208F16A0009F5D967 +:100E3000C108F169000BF16A000AEF1A002EF16A8D +:100E4000000FF40B1608F16B000EF40900098FC9AE +:100E5000ED39000EEDB90000C061E06B0200EA1B45 +:100E60000204915BEF08003A3FF9F2081900F9B863 +:100E70000000EFF80C1D6E085808C071049CF01FAC +:100E80000075C45078188F086F085808C121600990 +:100E90006C48EF49004011F911CB11DA11E8B16A41 +:100EA000F5EB118AF5E81088F3E81008EF480044E4 +:100EB0006C1C6C4478199848985A9914E8090109EF +:100EC000121A1218B85AB84830695C78049A0E9B06 +:100ED000E9630010E9630011F01F005F30695C7C7A +:100EE000E96C0011A98CE96C0010E30800902FF860 +:100EF000201DE35800901AD9049AEF38000AEF3900 +:100F0000000B0E9B6C1CF01F00552FED6C4811FA66 +:100F1000F139000DF3D9C0025F1B11CC8CE9F60941 +:100F2000000911DB11E8B16BF7EC118BF7E81088C1 +:100F3000F5E810086F7AF2080008101AC037EF4879 +:100F4000005C5809C3B08D036FF85808C041EF46E4 +:100F5000007CC3286C4A15FE15C46A4915DBB16BC9 +:100F6000F7E4118B15E4F7E4108BFDEB100B13CEB7 +:100F700013FC13DAB16AF5EE118A13EEF5EE108A5E +:100F8000144CF60C010CC177401AC058109A700826 +:100F90005808C0E0704913C413FC13DEB16EFDE4C1 +:100FA000118E13E4FDE4108E1C4C161CCF068D0828 +:100FB0009506C0788B060C95C0480C9CF01F002845 +:100FC0006FE65806C3706C4811CC6F4A8CEB11D990 +:100FD000141BB169F3EC118911ECF3EC108911FCCD +:100FE000F9E91009F6090009400B1639FE98FEC60A +:100FF000EF3900AC3008F0091800C1C18CEB6C4827 +:10100000F60A010A11F911CC11DB11E8B16BF7EC0A +:10101000118BF7E81088F3E81008100AEF18006049 +:10102000103AF9B80B00EFF8BA2AF9B80B01EFF84B +:10103000BEACEF380026F1D8C007EF680026300CB0 +:101040002FEDD832E21B00A0FE91FED7CD2B000081 +:101050008001222880011E2C800122948000DA3C2D +:10106000D401189879FA580AC170149B7609580966 +:10107000C030129BCFCB71EC970CF1490040F14985 +:10108000007CF139004E2FF9F14A0078109CF1698B +:10109000004EF01F0002D80280010CECD431300A5F +:1010A0001896314B301CF01F00401895C7B0985966 +:1010B0003138F0091900E08B000F4BC8201D1AD8F9 +:1010C000E06803C91AD84BA84BAC1AD8F01F003AF5 +:1010D0002FCDC008ED39001C78176D78AE89ED3939 +:1010E000001DAE99ED3900242018AEA9F00B16189A +:1010F000ED3A0025F3D8C208AEF8F1D8C108AECB5E +:10110000AEBAAED9AEE86CA8F0091618EF690008BF +:10111000F3D8C208E06A5010EF690009F3D8C1089B +:101120003004EF68000BEF69000AF40B1608ED19A4 +:10113000002EEF6B000CEF6A000DEF69000FEF64FB +:101140000012EF640013EF640010EF640011F20A64 +:101150001608F2080008EF6A000E8DC8ECC3FFFC09 +:1011600098C83069069A0C9BF01F00145C7CEF6CE9 +:101170000011A98C4929EF6C0010F30C00902FFC92 +:10118000F35C0090306C201DED39000B08981ADCE0 +:10119000069A0C9B0A9CF01F000B0A9CF01F000A89 +:1011A0002FEDD8328000D3188003AF5C8003AFA44A +:1011B00080039D9C800094C480011E2C000080D47C +:1011C000800122948000D13CF9390010A3C948A8BD +:1011D000F969001011BA118B119911A8B169F3EBDB +:1011E0001189F3E81088F5E8100899183008F958C3 +:1011F00000145EFC8003B409997A996B5EFCD703F6 +:10120000D421301CF01F00071897C080320A300B21 +:10121000F01F00053FF8EF68000B0E9CD82200007D +:101220008000C9D48002E8BCD40148C9189B720868 +:101230001838C0D178389308C0C870395809C060D0 +:101240001639F7F90003F1F90A0370385808CF612D +:10125000301CF01F0003D802000082288000C974EF +:10126000D4214AB83009700E1C98C148103CC111F5 +:101270005809C0E04A78201D1AD8E06802541AD8EC +:101280004A584A6C1AD8F01F00262FCDC0083019D2 +:1012900070385808CEC1580BC0C017B817861797BA +:1012A00017ABB167EFE61187EFEB108BF1EB100B8B +:1012B000990B580AC2211C98E06A1000E0667FFF73 +:1012C0003007C0C8F10B0012F40B1900C061F6CA58 +:1012D000FFFF1C985C8AC0287038EC0A19005F1563 +:1012E00058085F1BEBEB000BEE0B1800CEC1580843 +:1012F000C040E06C00F5D822F95A00125809C0200D +:10130000D82A993E4828910C129CD82200008228A5 +:101310008003B19C8003B1E080039D9C800094C455 +:10132000D4213008169614951897F9090012F0097F +:101330001900C071300A189BF01F00145C5CC231A8 +:101340005806C0C00DB80D8A0D990DA6B169F3EA13 +:101350001189F3E61086F1E61006EF380010A3A815 +:101360008F16EF680010EF55001448987008109C15 +:10137000C0581837C021D82A783C580CCFB18F38C4 +:1013800048389107D82200008001126000008228AE +:10139000D43112971093169414911895F9090012EC +:1013A0003008F0091900C091300A189BF01F004561 +:1013B000E5DCC008E0810084308B089CF01F00420F +:1013C000C0310896C0E8300A308B301CF01F003F57 +:1013D0001896C041E06200FFC728089BF01F003C40 +:1013E0008C593078F0091900E08B000F4B98201DC4 +:1013F0001AD8E06801C51AD84B784B8C1AD8F01F60 +:1014000000382FCDC008EB3900120E986C175C78AD +:10141000AE893009EB3A0013AEB8AE9AA988AEF99E +:10142000AEE9AEA86A085808C041E6C2FFFCC10890 +:1014300066191238C0C00836C041E06200F7C3F830 +:101440000C9CE06200F7F01F0027C3980A928CC83A +:10145000F0091608AED8AEC9EB390010EDB900009E +:10146000C1403119029A049B0C9CF01F001F5C8C38 +:10147000F1DCC010AEF8A988AEE8580CF9B800FF4E +:10148000EFF80E07EFF80E0631181AD3049BEB396C +:10149000000B029A1AD80C9CEB38000AF01F0013BC +:1014A0002FEDE5DCC0080836C0400C9CF01F000D95 +:1014B00048F8F10900782FF9F1590078049CD832E6 +:1014C000800112608000CDD48000D3188000CDB49C +:1014D0008003B19C8003B1EC80039D9C800094C488 +:1014E0008000D13C80011E2C80012064000080D44B +:1014F000D421202D1897501B149C500A1296F01FCF +:10150000000C401B1898400AC0A148A8E06C00FCE1 +:10151000F10900862FF9F1590086C078F3D6C01082 +:101520000E9CF01F00055C5C2FEDD8228001222864 +:10153000000080D480011390D401F8CAFFFCF9198F +:101540000014F01F00035C5CD8020000800114F05E +:10155000D431203D4D98F109007A2FF9F159007AE4 +:10156000781716910F8818955C8898CAF3D8C0042C +:101570002FE9A369123AC0A5F1D8C004F00B1502F7 +:101580005C3BF01F004F1894C0904CC80A9CF109B6 +:1015900000822FF9F1590082C1D96A12EECCFFF016 +:1015A000029B502CF01F004705980583F1E3108340 +:1015B00005B805AE1896F1EE108E5C835C8E34484B +:1015C000F00E1900C2413438F0031900E081008B9D +:1015D00062A85808E080008770145804E0800083F7 +:1015E00068185808E0800092EF3A000CEF39000DBF +:1015F000B169F3EA1189EF3A000EF3EA1089EF3A84 +:10160000000FF5E910091238C6D1C7F84AE8089961 +:10161000700A089B1498500AC618F10C0012FC0CB2 +:101620001900C5A15806C041700C580CC1B0EF306C +:101630000010EF3C0011B16CF9E0118CEF3000129A +:10164000F9E0108CEF300013F60618005F1AE1EC99 +:10165000100C700018305F0CF5EC100CF60C180034 +:10166000C3B05804E08100D6F13C0010E21C000435 +:10167000F0041700CCE8701C580CC150EF3A000C75 +:10168000EF30000DB160E1EA11805010401AEF30E8 +:10169000000EF5E010805010EF30000F401A14409B +:1016A000003CC1A1400A10945809C0F0703893382A +:1016B000893A48589104C148000080D48000CDD4B4 +:1016C00080012558000082284C88F109008E2FF9EE +:1016D000F159008EC058109970385808C9F1580453 +:1016E000C141EF3A0010EF380011B168F1EA1188FA +:1016F000EF3A00126219F1EA1088EF3A0013F5E8A8 +:1017000010081039C6D1300405F805E9F1E9108850 +:10171000C130402A8AC83119EECBFFF40A9CF01F71 +:1017200000345C8CC0904B180A9CF10900802FF9A2 +:10173000F1590080C4F83F8B0A9CF01F002EC0E0D6 +:101740004AD8201D1AD8E06801141AD84AB84ACCE1 +:101750001AD8F01F002C2FCDC0085804C0D06866DE +:101760005806C3E0089BF1D3C010EEC9FFF40A9AF3 +:10177000687C5D16C5585806C261EF380010FC1928 +:10178000E000B968E618F0001238C1D00F8B0A9C4F +:10179000F7DBC0042FEBA36BF01F00166A180E389E +:1017A000C0E04958201D1AD8E068012F1AD84968AE +:1017B000493C1AD8F01F00132FCDC008303B0A9CBB +:1017C000F01F001248980A9CF10900882FF9F1597E +:1017D0000088F109007E2FF9F159007EC0280A9C8B +:1017E000F01F000BC1D80000000080D480011E2C27 +:1017F0008000CDD48003B19C8003B11C80039D9CEC +:10180000800094C48003B21C800118FC8000D13C8D +:10181000F10C0014E60C1900FE91FF5FC2DB2FDD16 +:10182000D8320000D431189316921494324B300AF7 +:10183000301CF01F00241897C43098593238F00932 +:101840001900E08B000F4A08201D1AD8E068012E0D +:101850001AD849E849EC1AD8F01F001E2FCDC0084D +:101860007816661531CAAC94AC823004ACC4ACD4E2 +:10187000ACE4ACF4661B781C2F8CF01F00170C9C9A +:10188000ACA4ACB48EDBF01F00155C7CACBCA98CA6 +:10189000ACAC201D492C30161AD60898F906006009 +:1018A000EACAFFF4E06900FF089B2FF6F9560060D2 +:1018B0000E9CF01F000C0E9CF01F000B2FEDD83279 +:1018C0008000D3188003B2308003B27880039D9CDF +:1018D000800094C48002E73680011F4A000080D453 +:1018E000800122948000D13CD401F5DBC00830BBDC +:1018F000F01F0002D802000080011824D401F5DB9B +:10190000C008303BF01F0002D802000080011824FC +:10191000D4314C62E50800622FF81694E558006255 +:10192000781618970D85EBD5C004A365EA0311005E +:101930005C83069BF01F003EE08101788E493038C1 +:10194000F0091900E08801726E1811893088F009D9 +:101950001800E081015DED380010ED310011B1613A +:10196000E3E81181ED380012E3E81081ED3800134F +:10197000089BF1E11001ECCCFFF0F01F002EC071CC +:10198000E611F000FC18E0001031C0914A780E9C7E +:10199000F10900742FF9F1590074C4498E49307867 +:1019A000F0091900E08801420E9CF01F00235C8CB6 +:1019B000C0A00E9CF01F0021E50800682FF8E55834 +:1019C0000068D832330B0E9CF01F0019C6E00A9B4A +:1019D0000E9CF01F0017189AC0E04998201D1AD8D5 +:1019E000E06800981AD84978497C1AD8F01F001787 +:1019F0002FCDC0088ECB302CF01F00151892E08040 +:101A0000011F98D9EAC8FFF81039C25248C8201DF2 +:101A10001AD8E06800A21AD848E848BC1AD8F01FC3 +:101A2000000B2FCDC0080000000080D48000CDD472 +:101A30008001255880011FAC8000D13C8003B2306A +:101A40008003B2A480039D9C800094C48000D318BE +:101A50008003B2D80E9BF01F00445C5CC0E04C38A1 +:101A6000201D1AD8E06800A51AD84C184C1C1AD8AA +:101A7000F01F00412FCDC008069B6416049CF01F88 +:101A8000003FC0E04B98201D1AD8E06800AB1AD880 +:101A90004BB84B8C1AD8F01F00382FCDC0080E9CC5 +:101AA0000497F01F0038C1383D0B0E9CF01F003327 +:101AB000C0E04AE8201D1AD8E06800B51AD84B08E3 +:101AC0004ACC1AD8F01F002C2FCDC008ED3A000CDC +:101AD000ED39000DB169F3EA1189ED3A000EED3BE5 +:101AE0000010F3EA1089ED3A000FF5E91009ED3A1C +:101AF0000011B16AF5EB118AED3B0012F5EB108A8B +:101B0000ED3B0013F7EA100AF40B16186E18ED6A95 +:101B1000000FED6B000CF7DAC208F5DAC108ED6AC8 +:101B2000000EF20A1618ED690013ED6A0010ED6B55 +:101B3000000DF5D9C208F3D9C108ED6A0011ED69AD +:101B40000012300911AAB08911B9F3EA1089FE7A9E +:101B5000F7FE5C89F4091900E0880016F2C9F7FF66 +:101B6000C14800008000CF988003B2308003B310DA +:101B700080039D9C800094C48000CDD48003B33842 +:101B80008000D13CF2C9F8005C79B0B9A989B0A94C +:101B9000ED380009E818FF00ED680009A988ED6834 +:101BA00000083008314BED68000BED68000A0C9C12 +:101BB000F01F00284A885C7CED6C000BA98CED6C52 +:101BC000000AF10900602FF90A9BF15900600E9C90 +:101BD000F01F00221898C0E04A18201D1AD8E068AB +:101BE00000D71AD849F84A0C1AD8F01F00202FCD78 +:101BF000C00830191AD4189A1AD9ECCBFFF4E0694E +:101C000000FF0E9CF01F001A2FEDC0B8E508007011 +:101C10002FF8E5580070E50800662FF8E5580066D3 +:101C20000E9CF01F0014D8320E9CF01F001248A822 +:101C3000F109006A2FF9F159006AD8320E9CF01FA1 +:101C4000000D4858F10900742FF9F1590074D83289 +:101C500080011F4A000080D48000CDD48003B230C0 +:101C60008003B36C80039D9C800094C48001206439 +:101C70008000D13CD431205D30951988FAC9FFF03D +:101C8000FACEFFFC5009330231033056F0C9003060 +:101C9000EA091800E08B00BAE4081800C03030A749 +:101CA000C1582FFC35891988F20818005F0A378956 +:101CB000F20818005F09F5E91009F9B70008F7BC48 +:101CC00001FFF9B70110F9F81800F8CAFFFF300951 +:101CD0003191F2070244F0C000301004F4CC00014E +:101CE000EA001800E08B0005E8C90030C1E80E9456 +:101CF000E6071800C1D1F0C400615C54EC04180080 +:101D0000E088000EF0C00041EC001800E08B0011EC +:101D1000E2041800E0880004341CC028361C2F6838 +:101D2000F00C010CF9E9104915882FFACD3B32EA85 +:101D3000F4081800C0814008103EC6701CA92FFC92 +:101D40001988CA5B5808C28030CAF40818005F1CA2 +:101D5000320AF40818005F1A146C300AF40C1800E8 +:101D6000C1B030DCF80818005F1730ACF808180074 +:101D70005F1CEFEC000CF40C1800C0E030BC309796 +:101D8000F80818005F1CEE0818005F18F9E8000852 +:101D9000F4081800C3A1FAC8FFFC101EA34E2FFEC2 +:101DA000582EC0B0E0890005580EC2F0C298583EC7 +:101DB000C0F0584EC251C168E064FFFFEA1400FF52 +:101DC0000839E08B00234018F3E81189C198E049F5 +:101DD000FFFFE08B001B4018402AB968F1EA1108A8 +:101DE000C0D8E04900FFE08B0011402A4018B968D4 +:101DF000F1EA1108403AF1EA1088F1E91009580BAC +:101E0000F7F91A00301CC028300C2FBDD832D70388 +:101E1000D401202DFACBFFFCF01F0004F9BC00FF19 +:101E2000FBFC10012FEDD80280011C74D431202D51 +:101E3000300630110C9EC4A898557812E7D5B01022 +:101E4000049430075008C0B8E92800000990202306 +:101E5000E1E810805C835C702FE40007E203190066 +:101E6000FE9BFFF40A944008E214FFFEE7D5C00190 +:101E700008023000E0031900C0400584A964080787 +:101E8000E9D7C010B187E80700070E94E0140000FE +:101E9000C060E9D7C010B187E80700075C77EBD5D1 +:101EA000C001EE0E000EEFDEC010B18EEE0E000E81 +:101EB0005805C0B0EFDEC108EC061101A96E5C56F2 +:101EC000FDDEC010EFEE100E780C580CCB615806FA +:101ED000C080F9DEC108A96EFDDEC010F9EE100E5B +:101EE00017B715BC17851796B166EDE5118617ABC8 +:101EF0001585EDEB108B5C781596EFEB100B15AAA2 +:101F0000EFDBC010B166B18BEDE511860E0BEDEA8B +:101F1000108AF9EA100AF40C1610F5DAC010F60A65 +:101F2000000A180AF4090009F2080008F00E000E71 +:101F3000F1DEC010B18EF00E000EF9DEC010B18ED1 +:101F40001C0C5CDC5C8C2FEDD832D4213008189945 +:101F5000F5DBB010301EC0B8F32600001397202A1E +:101F6000EFE610875C8A5C772FE90E08FC0A1900FF +:101F7000FE9BFFF41699E219FFFE120CEDBB000068 +:101F8000C0411989A9691208F3D8C010B188F208B4 +:101F900000081099E0190000C060F3D8C010B188A3 +:101FA000F20800085CD8F9D8B010D822D431300A31 +:101FB000301414981495C488985B7816EFDBB01031 +:101FC0000C9E3009C0B8FD2200001D932027E7E2D7 +:101FD00010835C875C732FEE06090E93E8071900E7 +:101FE000FE9BFFF3169EE21EFFFE1C06FDDBC001FA +:101FF000EA0E1900C0400D8EA96E1C09FDD9C01053 +:10200000B189FC090009129EE01E0000C060FDD9E4 +:10201000C010B189FC0900095C79F7DBC001F20846 +:102020000008F3D8C010B188F2080008580BC0B0FF +:10203000F3D8C108F40A1101A9685C5AF1D8C0109C +:10204000F3E81008780C580CCB81580AC080F3D8FC +:10205000C108A968F1D8C010F3E810085CD8F9D815 +:10206000B010D832D431201DFAC4FFD8169712937D +:102070001092681518966801580AE0800091500A7D +:10208000314BF01F0055400AC0A04D48E06C00FEE7 +:10209000F109005C2FF9F159005CCC286C148C59C3 +:1020A0003138F0091900E08B000F4CD8201D1AD8E8 +:1020B000E068022C1AD84CB84CBC1AD8F01F004B60 +:1020C0002FCDC0085C53E3E310815C71E961000926 +:1020D000A981E9610008158B1598B168F1EB1188A9 +:1020E00015ABF1EB108815BBF7E81008F00B1618CC +:1020F000E9680013E96B0010F7D8C208F1D8C108ED +:10210000E96B0011E9680012E81245005C72A892C0 +:10211000E4031608A883ED380008A8A8ED380009E4 +:102120004B39A8FCA8B8A8EC9208F7D8C010A8DBD7 +:10213000A98BA8CB2FF8B2085807C0D00F8B0FB9C6 +:102140000F98B168F1EB11880FABF1EB1088F3E851 +:102150001008C051EAC8FFFCEBF81001F00916188E +:10216000E968000FE969000CF3D8C208F1D8C1088A +:10217000E969000DE968000E3008E968000BE968BC +:10218000000A500A314B089CF01F001A5C7CE96C75 +:10219000000BA98CE96C000A400AC038781A2F0A93 +:1021A00048E8F10900482FF9F1590048158B1599B5 +:1021B000B169F3EB118915AB6A18F3EB108915BB04 +:1021C000F7E910091039C1910C9B0A9CF01F000A15 +:1021D000C26800008000CDD4000080D48003B3909A +:1021E0008003B3D880039D9C800094C40000734892 +:1021F00080011F4A8000CAF8EB08002C5808C0B0C4 +:102200008C49F0091900E08800070A9B0C9CF01F1C +:102210000006C0580C9B0A9C6A585D185C5C2FFD38 +:10222000D8320000800125A0D42149781896700783 +:10223000C1680E9CF01F0015C1100D8B0D98B16880 +:10224000F1EB11880DAB6E1AF1EB10886E290DBB06 +:10225000F7E8100814581268C1306E075807CEA16D +:1022600048B66C0C580CC040F01F0008C08148985C +:10227000F10900562FF9F1590056C0286C070E9C41 +:10228000D8220000000080CC8000CAE4000080D08A +:10229000000080D4D421204D1897503B149C502A24 +:1022A000501950084096F01F000D403B402A40193D +:1022B0004008C0A148A8E06C00FCF10900562FF9C5 +:1022C000F1590056C0881ADC0E9C1AD6F01F000582 +:1022D0002FED5C5C2FCDD82280012228000080D415 +:1022E00080012064D4314C05EB08004A2FF87817A0 +:1022F000EB58004A0F980F831694F1E31083189659 +:10230000E609160C3048F0091900C090F01F00379C +:10231000EB08005C2FF8EB58005CC2980FB8E7D3CD +:10232000C1040FA2A363F1E2108298585C82E60810 +:102330001900C0539848E4081900C0B20C9CF01F63 +:10234000002B4A98F10900522FF9F1590052C86840 +:10235000069B0E9CF01F00265C8CC0F00C9CF01FAE +:102360000023EB0800502FF8EB580050EB08004E0C +:102370002FF8EB58004ECD48F7D2C0100C9CEEC0A1 +:10238000FFF0F01F001C0895301249B10A9CF01FA5 +:10239000001BC1D0EAC8FFFCC1A06A185808C17070 +:1023A000EF3A0010EF390011B169F3EA1189EF3A01 +:1023B0000012F3EA1089EF3A0013F5E91009103919 +:1023C000C2A00A9B009CF01F000EC2515802E3F508 +:1023D0001000EBF5000030020835EBF50000580561 +:1023E000CD61C9F8000080D48000D13C80011F4A33 +:1023F0008000D210000080CC8000CAE48001255803 +:10240000EE03000307B807A9F1E910893448F00981 +:102410001900C2A0EF39000CEF38000DB168F1E9E6 +:102420001188EF39000EF1E91088EF39000FF3E859 +:102430001008C1B0089BEECCFFF4F01F003DC0A116 +:10244000EF38000CFC19E000B968E618F00012380B +:10245000C0C10C9CF01F00374B78F109004E2FF9DA +:10246000F159004EC5D808955805C0510C9CF01F75 +:102470000031C5680FE90FF8F1E91088F1D8C00EF6 +:10248000C0700C9CF01F002D1896C4A078174AC885 +:1024900091044AC8089B91070C9CF01F002BC3B104 +:1024A000EF3800095868C0B05918C0405818C11119 +:1024B000C0B8089B0C9CF01F0025C2D8089B0C9C40 +:1024C000F01F0023C288089B0C9CF01F0022C2381A +:1024D000089BEECCFFF0F01F0016C0F1EF380010A3 +:1024E000FC19E000B968E618F0001238C0608D17DA +:1024F000302B0C9CF01F00180C9CF01F000E48E8BD +:10250000F10900582FF9F1590058F109004E2FF93F +:10251000F159004E48A93008930848A99308D83AC1 +:10252000EF3800095918FE91FF77C6BB8001255886 +:102530008000D13C000080D4800129BC0000822CA6 +:10254000000082308000D588800115508000F37C27 +:1025500080011910800118FC19B9198A1998B168FD +:10256000F1EA118819AAF1EA1088F3E81008F0C915 +:1025700000015BD9E08800035EFFF7390035EDB953 +:102580000001C0E1761A1438C0B07629105A126AD8 +:10259000C0715CD9F3E8000812385F0C5EFC5EFD88 +:1025A000D431209D503B506A781B403AF519002CDD +:1025B000F2C80013502B5078214917EA17F8F1EAB6 +:1025C00010885C88109BF1D8C00DE21B2000984356 +:1025D000505B2143308B5018F20B0C0A1897F3DA3A +:1025E000B0105C8312985049A37830025C88314067 +:1025F0005088C938401B405AF1DBC00D14485008C0 +:10260000E3D3B010F1D3C01040791039E08900064F +:10261000400B4081ADBB500B300A314B302CF01FCA +:1026200000421894C3708E58313AF4081900E08BB8 +:10263000000F4BE8201D1AD8E06802C31AD84BC817 +:102640004BCC1AD8F01F003C2FCDC008314A402B8C +:10265000781CF01F003A6E19F1D0C010F208000883 +:102660006816EBD1B0108F188E58F0000100AE50F4 +:10267000C2188E52EA021900EA0217205C82C19049 +:10268000302A300B303CF01F0028C071089CF01F2E +:10269000002CE06C00FFC4586E18B842B852189B6A +:1026A00099180415089C5C85F01F00265805C02069 +:1026B0006E075805CDF1ED65000B40085C78ACF86D +:1026C000A988ACE8E2C8FFEC5C78ACB8A988314BCB +:1026D000ACA8ED65000A0C9CF01F001B5C7CED6C47 +:1026E000000BA98CED6C000A4039406A7258089BB7 +:1026F000129C5D18495BF70800302FF8089CF758CA +:102700000030F01F000F40180213404AE1D2B01011 +:1027100014085C835C8850185803FE91FF6D069C7A +:102720002F7DD8328000D3188003B4108003B45CAE +:1027300080039D9C800094C48002E7368000D13CD9 +:102740008000CD3480011F4A000080D4D40148F8B5 +:1027500070091839C04178099109C128580BC0E1A6 +:1027600048B8201D1AD8E06801341AD8489848ACF7 +:102770001AD8F01F000A2FCDC00878089708189BB8 +:10278000305CF01F0007D8020000734C8003B410C7 +:102790008003B47C80039D9C800094C48000C97435 +:1027A000D43118971696183BC0E14BC8201D1AD893 +:1027B000E06800A41AD84BA84BAC1AD8F01F003A16 +:1027C0002FCDC008580BC11076081838C0E04B3820 +:1027D000201D1AD8E06800A61AD84B484B1C1AD8FE +:1027E000F01F00312FCDC0086E156A1811CA11D91B +:1027F000F3EA1089C0303004C1D8118A1199109CB5 +:10280000B169F3EA118911AA11B8F3EA10891248E3 +:10281000314A8F18EECBFFF8F01F0025301B0A9CC1 +:10282000F01F00240A9CF01F002418940A9CF01F3B +:1028300000236E15C1486A1811B9118A119311A8A5 +:10284000B163E7EA1183E7E81083F3E31003F01FB5 +:10285000001A18040A9C0695F01F00180A9C5805D7 +:10286000CEB10C9B0E9CF01F001649689009F5D95B +:10287000C010083AC0E44898201D1AD8E06800C784 +:102880001AD84918487C1AD8F01F00072FCDC00865 +:102890000819089CB009D8328003B4108003B4989A +:1028A00080039D9C800094C48003B4A48002E7361A +:1028B000800118E88000CD0C8000D13C8001274CBD +:1028C000000073508003B4B8D431300618971692C4 +:1028D0004AB30C94300566080A9B0A9CC3E8EF3A99 +:1028E000000CEF39000DB169F3EA1189EF3A000EDF +:1028F000F3EA1089EF3A000FF5E91009705A123A1D +:10290000C1B1EF3A0010EF390011B169F3EA118952 +:10291000EF3A0012F3EA1089EF3A0013F5E91009D3 +:10292000706A123AC0910FCA0FD9F3EA1089906AFF +:10293000F20A1900C0D02FF5580CC090F13A001FD0 +:10294000F939001FF20A1800E08B0003109C70098F +:102950005809F00B171012985808CC21580CC04099 +:10296000F01F0008180658155F9804365F59F3E801 +:102970000008E8081800CAF10C9CD8320000734C1B +:10298000800127A0D42148C83007700CC108F9384D +:10299000001F7806F0C900015808C050F969001FEF +:1029A0001897C0480E9BF01F00050C9C580CCF01D7 +:1029B000D82200000000734C800127A0D431201DD4 +:1029C0004CD8F10900322FF9F159003278161895D8 +:1029D0000D835C83F3D3C004A3695949C080F10916 +:1029E00000442FF9F1590044E08F02570DF80DE132 +:1029F000F1E110810DB80DA24C07F1E21082F01F39 +:102A000000408E885C815C821894F808000858A801 +:102A1000E08A000D189B0C9CF01F003AC5708E8850 +:102A2000E808000858A8E08900524B783009700780 +:102A30005009C3D8ED39000CED38000DB168F1E94B +:102A40001188ED39000EF1E91088ED39000FF3E837 +:102A500010086E591039C291ED390010ED3800118F +:102A6000B168F1E91188ED390012F1E91088ED390A +:102A70000013F3E810086E691039C1710DC90DD843 +:102A8000F1E910888E69F0091900C0F149A8F1092F +:102A900000462FF9F15900460DE90DF8F1E91088CB +:102AA000F1D8C00DC360C3F850076E075807CC318A +:102AB000E08F021E089B0C9CF01F0012083CC065B2 +:102AC000305CF01F00121897C09148B8F109003C23 +:102AD0002FF9F159003CE08F01E0320A300B0E9CD7 +:102AE000F01F000B30394888EF69001F70098F090B +:102AF0009107C138000080D4000073508000CD0CD5 +:102B0000800128C80000734C8000C9D48002E8BC52 +:102B10008EF8F1D8C00DC070314A0C9BEECCFFF896 +:102B2000F01F004F4CF89009F20400045C84B004DC +:102B30000DE8A598EDB80000C120EF38001EE3D1E4 +:102B4000C00DE7D3C004A371E60310FCE20200024B +:102B5000A1A80602EF68001EEF52001C6A1811BB04 +:102B6000300A11AEF7EE108E118BB09AB0AAB0BA3F +:102B7000B08A1499F5DBC00411FBF40A10FC11ECC7 +:102B8000F7EC108CF9DCB00DA37CF7DCC010B0DBE7 +:102B9000A98B180EB0CB140E10935C8E3016F5DE98 +:102BA000C010B0FAA98AB0EA6E11029BC548761A25 +:102BB00015C015D2E5E010825C82E40C1900C292C7 +:102BC000F6021618B0BBB082E5DBC208F7DBC1081D +:102BD000B092B0AB5809E080008213E213FBF7E239 +:102BE000108BF60C1900E08300FF15DB15CAF7EA1D +:102BF000108AF40E1900E08B00F7EA0A1618B2B535 +:102C0000B28AF5D5C208EBD5C108B29AB2A5C6788A +:102C1000E40C1900E08000E815E015FBF7E0108BEC +:102C2000F60C1900E08300E05809C09013FB13E98B +:102C3000F7E91089E4091900F9B601001582159B1E +:102C40001499B16BF7E2118B15A215BAF7E2108B4C +:102C5000F5EB100B580BCAC1C52900008002E736FE +:102C60000000735013EB13FA11CCF5EB108A11DB53 +:102C7000F7EC108BF60A1900E088000F4BC8201DF6 +:102C80001AD8E068018E1AD84BA84BBC1AD8F01F8E +:102C9000003B2FCDC008EA0B1618B28BF7D5C2083F +:102CA000B2B5B29BEBD5C108B2A511CB11D9F3EBEC +:102CB0001089F20A1900F9B60100C1185801C0E0E4 +:102CC0004AB8201D1AD8E06801971AD84AC84AACF9 +:102CD0001AD8F01F002A2FCDC0088F15EF39001E1B +:102CE000EDB90000E08100E45806E08000E16E19D3 +:102CF000721A15CB15D9F3EB1089E08100D9118B2D +:102D000011951099B165EBEB118511AB11B8EBEB97 +:102D10001085F1E51005C1A807F86A1907EB13CC77 +:102D2000F1EB108B13D8F1EC1088F00B1900E08157 +:102D300000BF13881395B165EBE8118513A81293B2 +:102D4000EBE8108513B8F1E510055805CE61123A8D +:102D5000C1A14878201D1AD8E06801B91AD848984E +:102D6000485C1AD8F01F00052FCDC0088003B410AE +:102D70008003B4D480039D9C800094C48003B4F489 +:102D80008003B52C138A1398B168F1EA118813AA4D +:102D9000F1EA108813BAF5E81008C0E04C68201D6D +:102DA0001AD8E06801BB1AD84C484C5C1AD8F01FFE +:102DB00000452FCDC00813F813E9F1E91088EF0999 +:102DC000001C5C88F0091900C1704BB8201D1AD88E +:102DD000E06801BD1AD84BC84B9C1AD8F01F0039C7 +:102DE0002FCDC0080A9CF01F00394B9818143006EC +:102DF000B0040A9CC5982EC8EF58001C6E187016B7 +:102E00000D880D94B164E9E811840DA8E9E81084F7 +:102E10000DB8314AF1E41004EECBFFF80C9CF01F22 +:102E2000002DEF38001CACA8EF38001D0C9CED65A0 +:102E3000000BACB8ACE5ACF5ED65000A314BF01F0A +:102E400000265C7CED6C000BA98CED6C000A6E1604 +:102E5000C1586815089C3ECBF01F0020089B0C9CB5 +:102E6000F01F001F0B890BB80B94B164E9E91184C2 +:102E70000BA9E9E91084F1E410045804CEB10E9CCA +:102E8000400BF01F00180C9C49178E05F01F000F17 +:102E90001815AE05C0D849480A9CF109003630061D +:102EA0002FF9F1590036F01F0011C02830060C9C94 +:102EB0002FFDD8328003B4108003B53C80039D9C65 +:102EC000800094C48003B5608000CD0C0000735076 +:102ED0008002E73680011F4A8000CDD48000CD34C7 +:102EE0008001274C000080D48000D13C305CF01F72 +:102EF00000061897FE91FDF3FE9FFDDE5809FE9136 +:102F0000FEB3CDDA8000C9D4D4211898F937002E49 +:102F1000761E306CF8071800C0E04948201D1AD80A +:102F2000E06801B41AD84928492C1AD8F01F0012B9 +:102F30002FCDC008306C201C5C5CF20C0706FC0C2A +:102F40000007EF66000EF40C0706EF660014580C3D +:102F5000CF313089FD6C001BFD69001A109C706830 +:102F60005D185C5CD82200008003B5948003B5DC5A +:102F700080039D9C800094C4D4211897580CC0E114 +:102F800049D8201D1AD8E06800941AD849B849CC0D +:102F90001AD8F01F001C2FCDC00878185808C0E1BF +:102FA0004958201D1AD8E06800951AD84968494C3C +:102FB0001AD8F01F00142FCDC0086E186E06109C92 +:102FC0005808C0E148C8201D1AD8E06800991AD8EE +:102FD00048E848BC1AD8F01F000B2FCDC008F01FDE +:102FE000000C0E9B306C0C97F01F000A5806CE6147 +:102FF000D82200008003B5948003B62080039D9CF6 +:10300000800094C48003B62C8003B63C8000D13C81 +:103010008000C974D431201D500B1897580CC0C0C3 +:103020004D084D19118CF80815031818F2080028DE +:1030300070495829C0D030AA30094CBE129C1C924D +:10304000129B2ECE1298149314911490C1980F8A4B +:103050000F99B169F3EA11890FAA7018F3EA108980 +:103060000FBAF5E910091039CE714C08F109002E9C +:103070002FF9F159002ECE480C990A9C089B30A6D6 +:10308000EC031800C0A1FCF6FFFC5806C0611296C4 +:10309000189516941093C498FCF6FFFC5816C2417C +:1030A0005807C0F00F860F95B165EBE611850FA6A6 +:1030B000EBE610850FB6EDE5100564160C35C26021 +:1030C00064051D865805C080F2061800C2B3189525 +:1030D0001694109AC2A80C94F6061800C2331296E1 +:1030E00018951090C2285826C1D15807C1300F86B4 +:1030F0000F95B165EBE611850FA6EBE610850FB6CF +:10310000EDE5100564160C35C0514969109CB28874 +:10311000C9781D85F8051800C053129616941091B1 +:10312000C0481296189516942FF82E4E5C582E42D1 +:1031300030A9F2081800CA11F2031800C061400655 +:10314000EDB60000E081007B4005E2150002E08161 +:1031500000763098F0031800E089000A5C53C498A8 +:103160000000735200007354000080D430A8F001B6 +:103170001800C180E7D1C0084B38E60915030619CD +:10318000F00903285808C2304B08201D1AD8E068FF +:1031900001761AD84AE84AFC1AD8F01F002F2FCD22 +:1031A000C008F0001800C040E7D0C008C108E20A1B +:1031B0001800C4404A48E7DAC008E60615030616B8 +:1031C000F00600266C0CF01F00258D053098F003EA +:1031D0001800E088000F49D8201D1AD8E068018C3B +:1031E0001AD849F849BC1AD8F01F001B2FCDC008C7 +:1031F0004959E6081503300A0618F2080028F0C9F4 +:10320000FFF0930A5807C0D00F8B0FBA0F99B1691E +:10321000F3EB11890FABF3EB1089F5E91009911964 +:103220004899E60815030618F20800282F08300907 +:10323000069CB0C948B8B083C038E06C00FF2FFDD1 +:10324000D8320000000073548003B5948003B64C5C +:1032500080039D9C800094C480012F788003B66415 +:1032600000007352D431494730050E963EF42EC704 +:10327000ECC3FED40F882FF85C58AE88EEF9FFFC43 +:103280005829C061E8081800E08B0009C0F85819F7 +:10329000C0D1F2081800E088000A6C0C580CC0403D +:1032A000F01F00068D05EF45FFFC2E472E46063722 +:1032B000CE21D8320000735480012F78D431306889 +:1032C0001293189616951497F939002EF0091800E4 +:1032D000C0E04B78201D1AD8E06801DA1AD84B58A4 +:1032E0004B5C1AD8F01F00352FCDC008580BC5C055 +:1032F00017891798B168F1E9118817A9F1E91088C1 +:1033000017B9F3E81008C500189B0A9CF01F002CA1 +:103310001894C4A10B88FC19E000B968E618F00005 +:103320001238C420069B0A9CF01F00265C5CE80C47 +:103330001800C3C55C6C4A49F8081503302AF00C24 +:10334000010CF20C00289166F0C9FFF0930A0FDA25 +:10335000F16A000D0FCAF16A000C0FBAF16A000B96 +:103360000FAAF16A000A0F9A1095F16A0009ECC3DE +:10337000FFD10F8AB2C4F16A0008C0F87009701456 +:103380008B09F01F00120E99069A089B0C9CF01FE7 +:103390000010089CF01F000F6A08306C109B580842 +:1033A000CEE1109CD832E06C00F6D8328003B594A0 +:1033B0008003B67880039D9C800094C480012558CA +:1033C00080013014000073548000C97480012F08FC +:1033D0008000D13CD421189E580CC0E14958201DD2 +:1033E0001AD8E068024A1AD84938494C1AD8F01F4E +:1033F00000142FCDC008761AF4C8FFE4F137000F8F +:10340000F136000CF139000DF138000E782BB1695E +:10341000F3E61189F3E810897818EFE910091059DB +:103420001669C061F4CBFFD82ECAF01F0006D8225F +:103430008003B5948003A13880039D9C800094C4D0 +:10344000800132BCD431202D189616911495580C59 +:10345000C0E14CA8201D1AD8E068027F1AD84C8819 +:103460004C8C1AD8F01F00482FCDC00894593378DF +:10347000F0091900E08B000A4C48149CF109002265 +:103480002FF9F1590022C3087414E8C7FFE40F981C +:103490000F89F1E910893018F0091900C1E10FD83E +:1034A0000FC9F1E91089E0680604F0091900C1515B +:1034B0000FB80FA9F1E91089E0680800F0091900B8 +:1034C000C0C1E938001BE939001AF1E91089E06848 +:1034D0000806F0091900C0E04AC80A9CF109002852 +:1034E0002FF9F1590028F109001E2FF9F159001E9A +:1034F000CA184A68F109001A2FF9E8C3FFD6F15932 +:10350000001AFAC2FFFC304A069B049CF01F002000 +:10351000EF380018EF390019B169F3E81189EF3875 +:10352000001AF3E81089EF38001BF1E910096C1854 +:103530005808C0C01039C0A1049B3019E8CAFFDC8C +:103540000C9CF01F00143018C0A83009EECAFFF818 +:10355000FACBFFFC0C9CF01F000F30080FEA0FF9AC +:10356000F3EA1089301AF4091900C1503028F00923 +:103570001900C591C52800008003B5948003A138C7 +:1035800080039D9C800094C4000080D48002E736B4 +:10359000800132BC5808C4D03008AEE83028304A28 +:1035A000AEF8EECBFFF2EECCFFE8F01F0025304A7C +:1035B000069CEC0A000BF01F0022ED39002E30684B +:1035C000F0091800C0E049F8201D1AD8E06802D9B7 +:1035D0001AD849D849DC1AD8F01F001D2FCDC008D1 +:1035E000306820185C58EE080009F33B0008F36BC4 +:1035F0000012E808000AF56B000EE208070BF36BF7 +:103600000008E2080709F56900145808CEB10C9CBF +:103610006C680A9B5D18C0D80C9CFACBFFFCF01FAD +:10362000000DC07848C8F109002C2FF9F159002C81 +:103630000A9CF01F000A2FEDD83200008002E73606 +:103640008003B5948003B5DC80039D9C800094C406 +:103650008000B3B4000080D48000D13CD42178191C +:10366000F338001BF339001A1697F1E91088189601 +:10367000E0690800F2081900C070E0690806F20865 +:103680001900C231C1C8189B0E9CF01F00173E4B99 +:103690000C9CF01F0016C0E04958201D1AD8E068A5 +:1036A00004A41AD84938494C1AD8F01F00142FCD59 +:1036B000C0080E9B0C9CF01F0012C148189A169C63 +:1036C0002D1BF01F0010C0E848F8F10900282FF961 +:1036D000F1590028F109001E2FF9F159001EF01FC1 +:1036E000000BD82A800133D48000CDD48003B59458 +:1036F0008003B36C80039D9C800094C4800122E40D +:1037000080013444000080D48000D13CD431300AA0 +:1037100018941691303C338BF01F0042E8C8FFD15B +:103720001895580CC0A14C08E06700FFF10900246F +:103730002FF9F1590024C738985A3379F20A190041 +:10374000E08B000F4B98201D1AD8E06804311AD87E +:103750004B784B8C1AD8F01F00382FCDC008300999 +:103760007813E6C7FFE4AEE93019AEF93069E93AFB +:10377000002EF20A1800C0E04AC8201D1AD8E068DE +:1037800004391AD84AD84ABC1AD8F01F002B2FCDBA +:10379000C00830664AAB4ABA20165C56F006070CE1 +:1037A000EE060009F36C0008F606070CF36C001235 +:1037B000F406070CE6060009F36C000EF006070C91 +:1037C000F36C00145806CE913042EECCFFF2E802C2 +:1037D000000B049AF01F001C049A029BEECCFFE839 +:1037E000F01F00193069AED2AEC9AEB6AE863088D1 +:1037F000301AAEA8AE9AE769001BE768001A089C69 +:1038000068680A9B5D184888F10900182FF9EFDCF9 +:10381000C008F15900180A9CF01F000C0E9CD83209 +:103820008000D318000080D48003B5948003B6A034 +:1038300080039D9C800094C48003B5DC8003B71690 +:103840008003B58D8002E7368000D13CD4211694E8 +:103850001896189B1497089CF01F00541895E08147 +:1038600000DF09890998B168F1E9118809A9F1E92E +:10387000108809B9FC1AE000F3E810081099E6195D +:10388000F0001439E08000CC5808E08000C9301BFB +:10389000089CF01F00475C5CEA0C1800C0545807F5 +:1038A000E08100CBCC184C39EBDCB008EA081503FA +:1038B0000A18F20800282F0870095809F9B9000100 +:1038C000F1F90A004BB9EA0815030A18F2080028B2 +:1038D0007048F0C900015819E088000F4B68201D9E +:1038E0001AD8E06803A51AD84B484B5C1AD8F01FC9 +:1038F00000352FCDC00858185F0858075F09F3E856 +:103900001008C041E06400FFC078089B0C9CF01FC9 +:10391000002EE9DCC0085807E08000854A5AEA0911 +:1039200015030A19A369F409000870485828C0B1A2 +:103930002F890E9BF40900090C9CECCAFFD1F01FE3 +:103940000023C6B85818C6E110990E98905B904AAB +:10395000F40B1900C111700A580AC0E04968201D13 +:103960001AD8E06803C41AD84998495C1AD8F01FDD +:1039700000152FCDC008F13A000CF20A1800C05112 +:1039800070085808CE41C51890CB300A303CF01F63 +:1039900000111896C4F00E9BF01F000F5C5CC1F084 +:1039A0000C9CF01F000EC468800125588001301463 +:1039B000000073548003B5948003B6D480039D9CAB +:1039C000800094C48001370C80012F088003B6FC6E +:1039D0008000D3188000CF988000D13C306CF01F5D +:1039E000001AC170300899169908EA081503F00505 +:1039F00001054968F00500256A045804C07008985C +:103A000068045804CFD1910CC0288B0C089CD82294 +:103A10000C9CF01F000F089C5C5CD822E06C00F648 +:103A2000D822089C5C5CD8220E960E9CF01F0009E0 +:103A3000CD6B089C5C5C4888F10900242FF9F15992 +:103A40000024D8228000C9D4000073548000D13CE7 +:103A50008000CD1E000080D4D421202D169618970A +:103A6000149531CB0C9CF01F0027C0804A68E06C95 +:103A700000FE90592FF9B059C4180E9B0A9CF01FF4 +:103A80000023C3410B890B98B168F1E911880BA998 +:103A9000F1E910880BB9FC1AE000F3E8100810995E +:103AA000E619F0001439C0F13019BAA935E9BAC9DC +:103AB000F3D8C207BAF8BAD9A988BABCBAE8FAC921 +:103AC000FFFEC1586E1912586E291268C0906E38E8 +:103AD0005808C041E06C00FCC118EEC5FFF40C9A18 +:103AE0000A9B0E9CF01F000AC08848A90C9B0E9CE4 +:103AF000EECAFFD1F01F00085C5C2FEDD822000059 +:103B00008000CDD4000080D4800125588001384C3D +:103B10008003B58D80012F0878983019B0895EFC3C +:103B2000D4217897EF380024EF390025F0091800E8 +:103B3000C021D82AEE080028201D701630086C1904 +:103B40008CCA8CDB20EA1AD620EBF2CCFFF2F01FF5 +:103B500000182FED587CC0F0581CC0310C95C138AE +:103B6000EF3800242FF8F1D8C0030C9CEF68002434 +:103B7000F01F0010E06C00F4D8228ADB6A1CF01FF2 +:103B8000000E6A055805CFA1EF3800242FF8F1D8B0 +:103B9000C0030C9CEF680024F01F00064878E06C1E +:103BA00000F290092FF9B009D82200008001933467 +:103BB0008000D13C80013F7C000080D4D421204D86 +:103BC0001896F01F002D5806C5306C955805C50095 +:103BD0000B885808C4D0E0680600300ABA68E06B69 +:103BE0000600303CF01F00251897C3F03008FACBD0 +:103BF000FFF4AA88781CF01F00229A6B580BC35060 +:103C00005C7BFAC8FFF2FAC9FFFCFACAFFF86E1C27 +:103C1000F01F001C586CC2606E18402B101B40181F +:103C20005C5B0E9C100B5C7BF01F001749789019B1 +:103C30002FF9B0196E19F338001BF339001AF1E9A6 +:103C40001088E0690800F2081900C060E069080601 +:103C5000F2081900C0716C480C9B0E9C5D185C5CEE +:103C6000C0400E9CF01F000A0C9CF01F000A2FCDD4 +:103C7000D822000080013FA08000D31880013F5867 +:103C8000800192DC8000D210000080D48000D13C02 +:103C900080013B20D4211897580CC0E149B8201D61 +:103CA0001AD8E06801491AD8499849AC1AD8F01FC7 +:103CB000001A2FCDC008499899983778F9680036CE +:103CC00036C8F9680037496899584968189B996857 +:103CD000495CF01F0016496CF01F00163628EF688B +:103CE00000353068EECCFFD1EF68002EF01F0012D7 +:103CF000581CC040E06C00F4D822E06805DC300CB1 +:103D0000EF58002CD82200008003B71C8003A13894 +:103D100080039D9C800094C40000746C80013A581C +:103D200080013D5880013B1880013E6880013D388C +:103D300080018F4480019128D40116985C7A189BE9 +:103D40002F29109C5C79F01F00045C7CF9BC00FFFB +:103D5000D80200008000CEC4D42131B918977898D9 +:103D6000965AF20A1900E08B0005E06C00F4D822A4 +:103D7000F1390025F13C0024F2CAFFFFF5DAC00357 +:103D8000183AC041E06C00F2D822F16A0025F0092F +:103D90000028169C911B3F26F01F00050E9CF01F6B +:103DA0000005EC0C1800CFB0D82A00008000CD1E12 +:103DB00080013B20D42130061897E9DBC01030A5E4 +:103DC000C138EE060708201D48BC1AD8F01F000BAA +:103DD0002FED5806C080EC050C085809C041488CEE +:103DE000F01F00062FF60836CED5486CF01F0003F2 +:103DF000D822000080037AF0800094C48003B76862 +:103E0000800384D448CD48D0E3B00001D55348C0E6 +:103E100048C10230C06248C2A505A1240230CFD3F8 +:103E200048A048B10230C06230023003A122023003 +:103E3000CFE3488F000100008003760000000008F7 +:103E4000000009B88003F480000009B800008CC8A5 +:103E500080008EDCD4013018F96800087808580812 +:103E6000C030781C5D18D802D4014869930C931BAC +:103E7000F33800085808C040129CF01F0003DA0A0B +:103E80000000749880013E54D421201D1895169688 +:103E90001494300B30CA49DCF01F001D300B49DC94 +:103EA000F01F001D300B49DCF01F001D497B49DC71 +:103EB000F01F001D1897581CC0400E9C2FFDD822E3 +:103EC000F01F001A1897581CCF910C9B0A9C49862A +:103ED0008D07F01F00181897581CC04030088D0837 +:103EE000CEDB30088D08F01F00141897581CCE61E7 +:103EF000FACBFFFD302CF01F0011F9B701FFFBF8E2 +:103F00000803E9F80A00CDAB00007498800091D056 +:103F100080013F8C80018F3080013F3C80019F6099 +:103F200080013E54800144588001440C0000749488 +:103F300080018F488001443080014110D401169CDB +:103F4000580BC041F01F0004D802300B301CF01F8A +:103F50000002D80280014110D4014879F3380008EA +:103F60005808C021DC0A3008F3680008F01F00037D +:103F7000DA0A00000000749880014284D4015C7B5E +:103F8000F01F0002DA0A00008001433CD401169CB5 +:103F9000F7DAC010F01F0002D80200008001433C95 +:103FA000EBCD40C0203DF01F00164969F3380008F2 +:103FB0005808C04072085808C0402FDDE3CD80C0CB +:103FC000E0680100FAC6FFF4E06C01000CE8F01FA5 +:103FD000000E0C9B1897F01F000D9A5B580BC0A0A9 +:103FE0005C7BFAC8FFF81A99FACAFFFC0E9CF01F16 +:103FF00000080E9CF01F0007CE1B0000800140A4AB +:10400000000074988000920080013F58800192DC8B +:10401000800091E8D40148583019701CF1690009FA +:10402000700A5D1AD8020000000074A8EBCD40CCE5 +:10403000206D49A6FAC7FFF46C2E8F2EECE200002B +:10404000EEE3000016961093FACEFFF0580CC22053 +:104050007C08FC1C8000F1EC100BF4081509BBB8BF +:10406000F1E611C812481648301C9D08F01F000CDC +:104070000E9C30CA1A9BF01F000BFB38000AA68862 +:10408000FB39000B300CA699F01F00052FADE3CDD6 +:1040900080CC7C0BCE3B00008003B774800075B4ED +:1040A00080007534EBCD4080201D4987EF38000833 +:1040B000EDB80000C071EF3900093008F0091800B0 +:1040C000C0402FFDE3CD808030091A98129B129CCE +:1040D000305AF01F000F3FF91B88F2081800CF205C +:1040E0001B98EDB80001CEE13008301C109B302940 +:1040F000E06A00F0F01F000630186E1CEF6800093F +:104100006E095D19CDFB0000000074A88001402CF1 +:10411000EBCD40C0201D301AF40C1800C1B0C08394 +:104120003028F00C1800C2602FFDE3CFC0C01A97F2 +:10413000300630091A98E06A00F1129B301CF01F1B +:1041400000161B98EC081800CF51300C2FFDE3CD62 +:1041500080C018961A9730191A98E06A00F1300B4F +:10416000129CF01F000D1B98EC081800CF51300C6A +:10417000CEEB48A8F1390008F9D9C001F7FA1E00C2 +:10418000F9BC0100F9B8005AF7F80E002FFDE3CD95 +:1041900080C000008001402C000074A8EBCD406876 +:1041A00048F516961893AA4B301CF01F000E0A9C77 +:1041B000310A300BF01F000C069BF5D6C010300CF6 +:1041C000F01F0009304A300B488CF01F0007300CFC +:1041D000F01F00040C9CE3CD80680000000002107A +:1041E000800075B4800075348003B780EBCD40400B +:1041F00020ED30083009FAE90018FAE90000FAE980 +:104200000008FAE9001049BBFAC6FFD4762A8D2AC5 +:10421000F6E80000301CECE90000F01F0017320A3D +:10422000300B1A9CF01F00150C9C30CAFACBFFE033 +:10423000F01F0012300CF01F00103019FB38002A5C +:10424000F2081800C0503FFC2F2DE3CD804048C835 +:10425000F1390008F9D9C001CF8030083039304A2F +:10426000109B301CF01F00072F2DE3CF8040000073 +:104270008003B784800075B480007534000074A892 +:104280008001402CD42130094A881695F169000933 +:104290001896320BF01F00268C085CC82FE8F7D860 +:1042A000B010AA0BEFDCB010F6C90007E06805F902 +:1042B000F0091900E08B00300D890D98F208180004 +:1042C000C220F6071900C182E0640200F9D7C010CD +:1042D0005C7B181BEC0C000CE04B0200E80B17B0E9 +:1042E0005C7BF01F00138A0B0E0CEFDCB010EE0BA2 +:1042F0001900FE9BFFED48F83009118AF20A1800F8 +:10430000C0D1D8220DA8F2081800CDC10DB8F2080E +:104310001800CD813008AA08D822F5DBC010486CFF +:104320000C9BF01F0006D822000074A88001419C5D +:10433000000074A48003B76C8001447CD4314A38F7 +:1043400018921695118A3009F20A1800C3615805AF +:10435000C33049F83004F0C0FFF4E0610200C22825 +:10436000E06602000C970C93301CA006F01F0019A9 +:10437000300B497C314AF01F0018E404000C0E9AFF +:10438000300BF01F0015304A300B494CF01F001263 +:10439000300CF01F0010EA0601080604EBD8B0103C +:1043A000C0B0E2051900FE9BFFDDEDD5B010EFD6E1 +:1043B000C0100E93CDABD832F5DBC010189B488CE3 +:1043C000F01F0008CC5B0000000074A4000001FC9A +:1043D000800075B4800075348003B7808003B770A7 +:1043E0008001447CD401201D3009301C1A98E06AF9 +:1043F00000F5129BF01F0004314CF01F00042FFD4C +:10440000D80200008001402C800075D2D401F01F3A +:104410000007F01F0007C03030CCD802F01F0003A7 +:10442000F01F0003CFA1DA0A800143E4800141ECD0 +:10443000D401314CF01F0006F01F0006C03030CC14 +:10444000D802301CF01F0004DA0A0000800075D288 +:10445000800141EC80007618D4014878910C911BC2 +:10446000F0CCFFF8F01F0005F9BC010CF9BC00010D +:10447000D8020000000074A8800076385EFCD703E4 +:10448000EBCD40F849C56A096A181039C2F08B0CA7 +:10449000EAC7FFF0EAC6FFF4EEC30010EAC4FF70FB +:1044A0000F89EDB90000C091EDB90001C0616C0940 +:1044B0006A081039E08800082F072F060837CF1147 +:1044C000E3CD80F86E19300B169C5D190F883FDA2A +:1044D000F1EA0009EDB80002C0716609EEF8FFF8D4 +:1044E00012088D08CEABAE89CE8B5809CD118B1C2E +:1044F0008B0CCCFB000074B8EBCD408048CE1897F5 +:10450000300AFCCBFFF0F408150417892F88FC084B +:10451000000CEDB90000C0512FFA2F0B588ACF4183 +:104520003018F96800088F0AE3CF9080000074B853 +:104530002FFC4849A56C18091388A1D8B2885EFCE5 +:10454000000074B82FFC4848A56C30091808B089E1 +:104550005EFC0000000074B8EBCD40E0189E14979C +:104560001295587BE08B002C496AF6C8FFFFA568BE +:10457000F408000C1989EDB90001C1F0F608150422 +:104580001296F4080008A1B6F60915012FF9F409EE +:10459000093E740AB8869157FC0A000A913A5805F8 +:1045A000F9BC0001F9B90104EDD9E138F9F81E00B0 +:1045B000F9BC0101E3CD80E0E3CF80E0E3CFC0E0D0 +:1045C000000074B848387019700C121C5EFC0000B2 +:1045D000000074B85EFC300899085EFC1899780CED +:1045E000580CF9B80001F3F80A005EFC300899088D +:1045F0005EFC300899085EFC5EFC5EFC5EFC5EFCC6 +:10460000D401580BC110F80B000B300A487E7C090E +:10461000F40900092FDAF208141FB98810091019DB +:1046200018C9163CCF51D802000074B85EFD5EFF79 +:104630005EFF5EFF5EFF3FDC5EFC78082FF89908A6 +:104640005EFCD401780820189908C020D80A5D1BA8 +:10465000DA0A301899085EFCD401F01F0002D80273 +:1046600080016D6CEBCD406048784889F5DBC01067 +:104670001895189B7006720C5D160A9CF01F0004BA +:10468000E3CF906000007540000074B4800091E8B2 +:10469000D401E06A0088300B485CF01F0006F01F70 +:1046A00000064868300C9118910CD802000074B8CC +:1046B000800091D0800146C000008B545EFCD7037F +:1046C000D401F01F0011F01F0011301B4909169C86 +:1046D000490AF01F00114919491A301B303CF01FDC +:1046E000000EF01F0010300A301BE06C00F0F01FCD +:1046F000000EF01F000E300A302C149BF01F000C2F +:10470000D80A0000800148C0800147888003B79024 +:10471000800146BC800148548003B794800157A4AF +:104720008001499C800147E0800149F480014730C5 +:104730004828F00C092B5EFC00007548EBCD40E0EA +:104740004905189716966A085808C0205D1848E869 +:10475000F007032C580CC061C088F0061800C09008 +:104760002F8C19885808CFA16A085808C080C00843 +:1047700078193028F0091800FE9BFFF8E3CD80E09F +:1047800000007544000075485EFCD703EBCD40FC8B +:104790004935189630120A94EAC3FFF46A0858089B +:1047A000C0D068385808C19030185806CF805816C5 +:1047B000C0305808CF40E3CD80FC48976E28701970 +:1047C000703C700B5D196E2870296E188F29103996 +:1047D000EFF20A003008CEAB0697CF1B000084B47E +:1047E000EBCD40C018961497580BC24049789009F9 +:1047F000F6091900E088001BF60B00184949F20879 +:10480000002C781A74085808C171741E7428103E60 +:10481000C1507C283009951895099D369D07FD6B80 +:10482000001078089D18E3CD80C0307B305CF01F0D +:104830000009E3CD80C0741ECEDB306B305CF01F0E +:104840000005E3CD80C00000000002200000755C80 +:104850008001473CEBCD408049281497129E581B9D +:104860005F8A9009F80919005FB81468C130F80C24 +:10487000001AF60B0019F4CCFFFF48BB48B8F60A43 +:10488000002AF0090029952EF60C09299507E3CD99 +:104890008080302B305CF01F0006E3CD808000006C +:1048A000000002200000755C000084B48001473CD9 +:1048B000D401307B305CF01F0002D8028001473CFD +:1048C000EBCD404030084AB9B2884ABA940858083B +:1048D000C4D04AA95C784AABF00800184A9EA36885 +:1048E000300C2F88F6CAFFF4F20800082F89930CC9 +:1048F000F34AFFFCF34EFFF82F491039CF91F6CE63 +:10490000FFE84A1A49EB301C970C972A971A14981B +:10491000F4C9FED42EC8F148FFF41238CFC1F54ACD +:1049200001342F4BF4CAFEC01C3BCEF1E06A00807C +:10493000300B496CF01F00164948F0C9FF902F0852 +:10494000F148FFFC491A1238CFB130064918F54634 +:10495000007C910A9116310A0C9B48FCF01F000C58 +:1049600048E80C9C9106E3CD8040485BCC9B00005E +:1049700000007598000002200000755C000084B4FF +:10498000800148B0000082340000759C800091D006 +:1049900000007630000076200000761C4848485918 +:1049A000485A91099119913A912A5EFC000002241B +:1049B000800149D4800149EC48484859485A911926 +:1049C0009109913A912A5EFC00000224800149D4A9 +:1049D000800149EC48494858311AEA1A4000143C11 +:1049E0005E085E19800149D480014A0C481C5EFCB7 +:1049F000800149ECD4013019300A303BFC1C4000E6 +:104A0000F01F0002D8020000800186C8EBCD408074 +:104A10004B373099EA194000123CC310E088001F60 +:104A200030B9EA194000123CC2A0C4233139EA1956 +:104A30004000123CC500E069078AEA198000123C78 +:104A4000C241761CF01F0027300A4A77149B314C74 +:104A5000F01F00260E9CE3CD80803019EA1940003B +:104A6000123CC320E08800153079EA194000123C5E +:104A7000C0603089EA194000123CC0713019300A18 +:104A8000303BF01F001B49B70E9CE3CD8080FC1922 +:104A90004000123CCFA130194978300AF149004456 +:104AA000304C149BF01F00110E9CE3CD8080301918 +:104AB000300A303B30ACEA1C4000F01F000D48D7F4 +:104AC0000E9CE3CD8080302B300CF01F000C0E9C30 +:104AD000E3CD808048470E9CE3CD808080014A0C66 +:104AE0008001DA2C800149D480014658800186C8B3 +:104AF000800152F0000087F480018390D401201DD2 +:104B00001A9CF01F0008C07040085818E088000682 +:104B1000F01F00052FFDD802F01F00042FFDD80262 +:104B200080015F4480015EDC80015EB4EBCD40F823 +:104B3000201DFEF805EA189716951496103AC3A0A2 +:104B4000FEF805E0103AC610FEF805DC103AC06029 +:104B50000C970E9C2FFDE3CD80F8E068018CEA18DD +:104B60008000103CE08000F7E068078AEA188000C7 +:104B7000103CE08000ADE0680186EA188000103C3F +:104B8000CE8176170E9CF01F0169F01F0169C0915C +:104B9000FEF805A0EEEA0000F0EB00006E29912976 +:104BA0000C97FEFA0592300BFEFC0590F01F016495 +:104BB000CD1BF01F015F1894C4D1E0680184EA188E +:104BC00080001037E0800185E08B00D2E0680107AB +:104BD000EA1880001037E08001A0E0680183EA183D +:104BE00080001037CB616A170E9CF01F0156E080E1 +:104BF0000230FEF905523048F34800440E9B334C16 +:104C00000C97F01F0152CA6BFEF4053CE0680112DC +:104C1000EA188000E8F300F8103CC540E08B006320 +:104C2000E0680107EA188000103CE08000F7E068C7 +:104C3000010DEA188000103CE080010DE0680105DC +:104C4000EA188000103CC851761C1497F01F0140F0 +:104C5000C81BFEF304F2E0680188EA188000E6F45D +:104C600000F81037E08001B0E08B00ABE068018312 +:104C7000EA1880001037E080018BE0680184EA18B0 +:104C800080001037E080016EE0680107EA188000BC +:104C90001037FE91FF5F6A18303CF13B000BF01FAC +:104CA000012D3019300A303B30CCEA1C4000F01F97 +:104CB000012A300AFEF70470149B301CF01F0127F4 +:104CC000C49B761C1497F01F0126C44B6A1CF01F6E +:104CD0000125300AFEF70490149B314CF01F011F90 +:104CE000C39BE068018AEA188000103CE08000CB9A +:104CF000E068078AEA188000103CCE90E068011551 +:104D0000EA188000103CFE91FF2576150A9CF01FE2 +:104D100001170BC93048F0091800E08001BBE08B97 +:104D2000019B3008F0091800E08001BF6738301996 +:104D300011EAF20A1800E08001DD0A9CF01F010C64 +:104D4000FE90FF08300A0C97305C149BF01F0103A3 +:104D5000C01B76170E9CF01F0107F01F00F5C4F171 +:104D60000E9B33DC0C97F01F00F9CF4AE068018AF4 +:104D7000EA1880001037E08000BDE068078AEA1872 +:104D800080001037E0800099E0680188EA18800010 +:104D90001037FE91FEDF6A170E9CF01F00F7C0A0CF +:104DA000F01F00F63069FEF8039EFEF60376F14927 +:104DB00000440E9B336C0C97F01F00E4CCBAE06803 +:104DC000018EEA1880001037E08000B7E068078A9B +:104DD000EA1880001037FE90FF7BE068018AEA182D +:104DE00080001037FE91FEB66A160C9CF01F00E49E +:104DF0001897E0800114FEF7032ACACA3099FEF81A +:104E000003460C97F1490044FEFA032C300BFEFCDC +:104E10000372F01F00CBC9EA76150A9CF01F00DA76 +:104E2000302B169CF01F00D9FEF702FCF01F00C0CB +:104E30001896E08100DD0A9B337CF01F00C40C9AB9 +:104E40003019303B30ECEA1C4000F01F00C3FE9FDD +:104E5000FE8276160C9CF01F00CE302B304CFEF7F5 +:104E600002C6F01F00CAF01F00B2E08000EC30194B +:104E7000300A303B310CEA1C4000F01F00B7FE9FA7 +:104E8000FE6A76150A9CF01F00BE1897E08000BAF3 +:104E9000300A302C149BF01F00B13078E9480044F0 +:104EA000F01F00A3FE91FE560A9B0C9733BCF01F27 +:104EB00000A7FE9FFE506A1CF01F00AA089AFEF78A +:104EC00002A6089B314CF01F00A5FE9FFE446A1706 +:104ED0000E9CF01F00B0C060FEF9026C3058F34821 +:104EE00000440E9B335C0C97F01F0098FE9FFE332E +:104EF0006A170E9CF01F00A2C0803069FEF80248BD +:104F0000FEF60220F14900440E9B33BC0C97F01FC3 +:104F1000008FFE9FFE206A1B337CF01F008C089AD6 +:104F2000FEF702043019303B30ECEA1C4000F01F61 +:104F3000008AFE9FFE106938301911EAF20A180043 +:104F4000FE90FE086A1CF01F0094FE91FE03189A62 +:104F5000189BFEF70246301CF01F0080FE9FFDFBF1 +:104F60006A150A9CF01F008B1897E08000874F2A73 +:104F7000300BFEFC022AF01F00721897E08000AE92 +:104F800030580C97E7480044FE9FFDE56A150A9CDF +:104F9000F01F006C1897E08000956938301911EA0D +:104FA000F20A1800FE91FDD64E3A300B4FDCF01F8E +:104FB00000641897E08000A930480C97E748004447 +:104FC000FE9FFDC96A160C9CF01F006B1897C2600B +:104FD000F01F006A30684D37E7480044FE9FFDBB74 +:104FE000EACBFFFC301A30DCF01F005C3019300ACD +:104FF000303B30CCEA1C4000F01F0057FE9FFDAB59 +:10500000F01F004BFE90FF4E0E9A3019303B30CC13 +:10501000EA1C4000F01F0050C44B303B30CCEA1C6F +:10502000400030190E9AF01F004C0DEB304CF01F71 +:1050300000490E9A0E9B301C4BB7F01F0048FE9F94 +:10504000FD8A0C9B33ACF01F0041FE9FFD844D3662 +:10505000FE9FFDD63068F0091800FE98FE693828DA +:10506000F0091800FE91FD76300A0C97325C149B13 +:10507000F01F003AFE9FFD6F189A303B30CCEA1CBF +:1050800040003019F01F0034EB3B000D303CCD0BDD +:105090003008FACBFFFC0C9716F8301A30ECF01FF2 +:1050A000002FFE9FFD580A9CF01F003FFE90FD520E +:1050B000300A0C97306C149BF01F0028FE9FFD4BAC +:1050C0000BCB302CF01F00230E9A0E9B301C4B375D +:1050D000F01F0022FE9FFD3F189A303B30CCEA1CA7 +:1050E00040003019F01F001CEB3B000D301CCA0BB8 +:1050F00048D7F01F000FFE91FF750A9B338CF01FFD +:105100000013FE9FFD28189A303B30CCEA1C40006B +:105110003019F01F00110BCB301CC8AB800152F0CE +:10512000800151A8800156388001D9AC800185E406 +:105130000000763880018E9C8001E03C8001EF20E9 +:105140008001E88C000087F480016D6C8001E2D45E +:1051500080018390800186C8800146588001E00864 +:105160008001DA2C800149D48001E2FC80016D4A83 +:105170008001D9C88001E4D080014AFC8001E4307C +:105180008001E0D48001D9FC800183A08001D9E8AE +:105190008001E81C8001E3DC80014A0C8001E7B853 +:1051A0008001E58880016D48EBCD40C04C96189792 +:1051B0003138EA184000103CE0800087E088002485 +:1051C000E068010DEA188000103CC150E088004002 +:1051D000E0680115EA188000103CC0D0E068018A40 +:1051E000EA188000103CC070E0680112EA188000E4 +:1051F000103CC3910E9C4B7AF01F003718960C9C04 +:10520000E3CD80C03018EA184000103CC510E0889B +:10521000002E30D8EA184000103CC1003108EA18CE +:105220004000103CC3F030C8EA184000103CC1B147 +:10523000301C302BF01F00290E9C3019300A303BF7 +:10524000F01F00274A760C9CE3CD80C0E068010582 +:10525000EA188000103CCCF0E0680107EA188000F2 +:10526000103CCC900C9CE3CD80C0E04C008ACC304C +:10527000FC184000103CCF71307949B8300AF14930 +:105280000044149B302CF01F0019300A30FC149B92 +:10529000F01F0016302B300CF01F00100C9CE3CDDB +:1052A00080C0303C302BF01F000D0E9CCC7B48E9B9 +:1052B0007298ABC8300A9398149B303CF01F000BD7 +:1052C0000C9CE3CD80C048A60C9CE3CD80C00000C0 +:1052D000800151A880014B2C800183A0800186C8E9 +:1052E00080015638000087F480014658800149D477 +:1052F000D421FACD00E4FEF602E21898FEF502E0B1 +:10530000ECF700F83109EA194000123CE08000D5C2 +:10531000E08B003630A9EA194000123CE08000C260 +:10532000E088005330C9EA194000123CE08000A830 +:10533000C6A330D9EA194000123CE080011930F9C7 +:10534000EA194000123CC3D1FEFA0298300BFEFC71 +:105350000296F01F00A61896C341189BFEFA02841D +:10536000FEFC028CF01F00A1304C301BF01F00A18E +:105370000C9A0C9B301CF01F00A0C238E06901841D +:10538000EA198000123CE0880011E0690188EA19FE +:105390008000123CC100E08B00A5E0690186EA199B +:1053A0008000123CC0E1C078E0690183EA19800006 +:1053B000123CC363109CFEFA0226F01F0090189561 +:1053C0000A9C2C7DD8223079EA194000123CC7C0D3 +:1053D000E08800973089EA194000123CE08000CF55 +:1053E0003099EA194000123CCEC14FEA300BFEFC66 +:1053F000020EF01F007E1894E08000CF3048ED4888 +:105400000044CDFB4F7A300B4FECF01F0078CD916C +:10541000189A189B4FC5301CF01F0077CD2BE06900 +:105420000107EA198000123CCC60E0690115EA1915 +:105430008000123CC1203139EA194000123CCC11E5 +:10544000300A301C149BF01F006C300A304C149B47 +:105450004EE5F01F0069CB5B6F38301911EAF20A94 +:105460001800C72076160C9CF01F00690C9CF01FDA +:1054700000694E98580CF0051710CA3B303B3019A4 +:10548000300AF01F0066302B303CF01F005A300A03 +:10549000301C149BF01F00584E150A9C2C7DD822FE +:1054A0004D0A300B4DFCF01F00511897C3B0305817 +:1054B000ED480044C86B303B3019300AF01F0057EC +:1054C000302B304CCE3B6C9BE21B0040C2414C5A0F +:1054D0004D5CF01F0046C9D03028ED480044C71B82 +:1054E000E069018AEA198000123CFE90FF65E069DC +:1054F000018EEA198000123CFE91FF64C5CBFC19B5 +:105500004000123CFE91FF5E300A149B149CF01F79 +:10551000003AC57B300A4BC5149B301CF01F003687 +:10552000C50B30481A9BBAE8336CF01F00400E9A46 +:105530003019303B30ECEA1C4000F01F00384B893A +:105540004BB89119C3EB76170E9CF01F00310FC9B1 +:105550003068F0091800FE9BFF354B15F01F003531 +:10556000C2A10E9B338CF01F0031C2BB4AC530195B +:10557000300A303BF01F0029C24B49AA300B4AAC1D +:10558000F01F001ACAA1304849F5BAC81A9B334C1B +:10559000F01F0026C16B306AEECBFFE2FACCFFFCB5 +:1055A000F01F002530481A9BBA68335CF01F001FBB +:1055B000089ACBFB3019300A303B30CCEA1C400053 +:1055C000F01F00160FCB305CF01F000A300A301CB1 +:1055D000149BF01F0009CF5A000087F4800152F09D +:1055E00080018E9C8001E7548001EF208001E03C27 +:1055F000800183908001465880014B2C8001E58812 +:105600008001DA5480014A0C800149D48001E2FC17 +:1056100080016D48800151A8800186C880015638FC +:105620008001E7B88001EA8C80016D6C00000224E3 +:10563000800185E48002E736EBCD40804C9731084D +:10564000EA184000103CC6F0E088001DE068018CBC +:10565000EA188000103CC3B0E088002EE068019397 +:10566000EA188000103CC440E0680194EA18800009 +:10567000103CC2714BC7761CF01F003C0E9CE3CD62 +:10568000808030C8EA184000103CC400E088001D4B +:1056900030D8EA184000103CC21030E8EA18400048 +:1056A000103CC0F14B2A300B4B2CF01F00330E9CEA +:1056B000E3CD8080E0680186EA188000103CC0706D +:1056C0000E9CE3CD8080E04C008ACFB14A5AF01F97 +:1056D000002B18970E9CE3CD8080F01F00294A4ACA +:1056E000300B4A8CF01F00240E9CE3CD8080761C8A +:1056F000F01F0025F01F0025C0514A5B33CCF01F7E +:10570000002549970E9CE3CD80804A39731858983C +:10571000CD803098496AF3480044300B49FCF01FB3 +:105720000016CCFB49C973185888CCB03088F348B0 +:105730000044F2F900F87338301911EAF20A18003F +:10574000C0A03019300A303B30DCEA1C4000F01FAA +:105750000014CB7B486A300B492CF01F0007CB1B91 +:105760008001563880014A0C8001DA4680018E9C07 +:105770008001E03C8001EF2080014B2C80015E34F1 +:105780008001DA448001DA48800185E4000076383F +:1057900080016D6C000087F48001E0D4800186C830 +:1057A0008001E094EBCD40F84A37189416956E18B6 +:1057B0006E090E930E96C118300B301CEA1C400087 +:1057C0005D19300B6C39FC1C40005D196C388D285C +:1057D0006E186E091238C2001039C190300B301C9F +:1057E000EA1C40005D19300B6E19FC1C40005D196D +:1057F0006E188F086E296E381039CDF10A9B089CFF +:105800005D19873C6629123CCF71CE3B0A9B089CF0 +:105810005D198F1CCF0B5805C0706A085818C060FE +:105820000A9CF01F0006E3CD80F8EACCFFFCF01FD5 +:105830000004CF7B00000224800091E88001D3A8FF +:105840004878F14C00F8580CF9F81004F9B9010146 +:10585000F1D9E108F9F81A045EFC0000000087F4B1 +:10586000EBCD40C04948FAC6FFF4F0F700F4580702 +:10587000C051C1E8F8C70008C1B0EECAFFDC740827 +:10588000204D502815C9FB69000C15D8FB68000D88 +:105890006C0850080DC9BAC90DD8BAD8F01F000756 +:1058A0002FCD580CC0516E2C580CCE5118970E9C11 +:1058B000E3CD80C0000087F480018898D40149D9E5 +:1058C000F2F800F41838C0B078285808C2B0784808 +:1058D000201899482F8CF01F0018D802580CF9F89E +:1058E0001004F9BA01FFF1DAE108F9F81A043008F6 +:1058F000F34800F448FA78285808C180F0C9000835 +:10590000F54900F4CE8072482FF89348F4F900F47A +:105910005809CE10724820182F8C9348F01F0006AB +:10592000D80278385808CD41D802F54800F4CD3B6C +:10593000000087F48001F2A0D4014989F2F800F058 +:105940001838C0A078085808C240784820189948EC +:10595000F01F0013D802580CF9F81004F9BA01FF2F +:10596000F1DAE108F9F81A043008F34800F0780A8F +:10597000F34A00F0580ACED074482FF89548487979 +:10598000F2F900F05809CE50724820189348CE1B07 +:1059900078185808CDB1CDFB000087F48001F2A043 +:1059A000EBCD40801897580AC2C07858F608010815 +:1059B0001438E08800274948F0FB00F8580BC190E4 +:1059C000F8CAFFDC15D8204DFB68000D740950297A +:1059D00015C8F6CAFFDCFB68000C7408500815C92E +:1059E000BAC915D8BAD8F01F00092FCD580CC091EC +:1059F0000E9CF01F00070E9CF01F0006E3CF908066 +:105A0000E3CF8080000087F48001889880015938B6 +:105A1000800158BCD4214A141895E8F700F05807C3 +:105A2000C27079383006704AC02810976F387049B4 +:105A30001439E08A00086E080E965808CF710E9649 +:105A400010970A37C0D06A085808C0B00A9CF01FE7 +:105A500000145806C1300A9B0C9CF01F0012D8227B +:105A60006A185808CF416A482FF88B48CF3BE94C59 +:105A700000F078482FF89948D8220A9B0E9CF01F16 +:105A800000090E9CE94500F0F01F00050E9B0A9CE2 +:105A9000F01F0004D8220000000087F48001F2A06B +:105AA0008001F28CEBCD40C04A48FAC7FFF4F0F613 +:105AB00000F05806C051C3D86C065806C3A06D3814 +:105AC000707C2F4CF8E80000212DFAE90024F8EA58 +:105AD0000008FAEB002CF8E80010FAE90034F8EAC4 +:105AE0000018FAEB003CF9380020FB680044F93953 +:105AF0000021FB690045EEE80000FAE90000EEEA4B +:105B00000008FAEB0008EEE80010FAE90010EEEAEF +:105B10000018FAEB0018EF380020FB680020EF397E +:105B20000021FB690021F01F00062EED580CCC501F +:105B30000C9CE3CD80C00000000087F48001891038 +:105B4000EBCD40E0205D7608502817C9FB69000CBA +:105B500017D81697FB68000DF8CBFFE2306A18964D +:105B60001A9CF01F0034F01F00342FCD580CC05188 +:105B7000300C2FFDE3CD80E06E7C2F4CF8E8000068 +:105B8000212DFAE90024F8EA0008FAEB002CF8E8E5 +:105B90000010FAE90034F8EA0018FAEB003CF93892 +:105BA0000020FB680044F9390021FB6900456D388D +:105BB000707C2F4CF8E80000FAE90000F8EA0008D1 +:105BC000FAEB0008F8E80010FAE90010F8EA00180B +:105BD000FAEB0018F9380020FB680020F9390021A1 +:105BE000FB690021F01F00152EED580CCC20320B64 +:105BF000300CF01F00131895CBC0189A0E99491B52 +:105C0000F01F00110BF93008F0091800EDF800132F +:105C1000F1F90807EBF90E07FACCFFFC6D3818D83C +:105C20001A9CED45004CF01F0009301CCA3B0000D7 +:105C30008002E73680018898800189108001D8DCD5 +:105C40008001D3EC8001AD408001D3A8EBCD40C0F2 +:105C500049C649D86C09700A1439C05530070E9CE2 +:105C6000E3CD80C0350CF01F00191897CF906C0859 +:105C70002FF8350A8D08300BF01F0015320B300C51 +:105C8000F01F0014EF4C004C1898C16030084929EF +:105C90008F680E9CF30A017C8F28EF5A001CEF6876 +:105CA000002A8FF88F488F58EF4800408F188F08D0 +:105CB0008F38E3CD80C00E9C1097F01F0008CD0BED +:105CC000000076440000025880009200800091D0CD +:105CD0008001D8DC00000260800091E8EBCD4080BC +:105CE000189778485808E08A0004E3CD8080793816 +:105CF0005808C0402B4CF01F000648697208201855 +:105D00000E9C9308F01F0004E3CD80808001D3A88F +:105D100000007644800091E8D4014899F2FC00F834 +:105D2000580CC0A07848201899483008F34800F86B +:105D3000F01F0004D802F34C00F8D802000087F4EA +:105D400080015CDCEBCD40F84B131894E6F700F8CB +:105D50005807C060189B0E9CF01F002EC1D1E6F7BB +:105D600000F05807C4203006C1285806C0706F38AC +:105D70006D39704A7248103AC064E6F800F80E387F +:105D8000EE0617106E070E955807C0900E9C089BE4 +:105D9000F01F0020CEB00E9CE3CD80F8F01F001E57 +:105DA00058065F18580C5F0918971069EA0918001F +:105DB000C201089B306AEECCFFDCF01F0018089B84 +:105DC000306AEECCFFE2F01F00156F3A0899149C80 +:105DD000493BF01F001430080E9C8F088F18F01FED +:105DE00000120E9CE3CD80F8F01F000B1897CE2B0D +:105DF0000C9CF01F000E0C9CF01F000D0C9CF01F63 +:105E0000000DF01F00051897CD51CC6B000087F4F2 +:105E100080015B4080015C4C800091DC8001D3EC10 +:105E20008001AD4080015A1480015938800158BC6E +:105E300080015CDCEBCD40E04905EAF700F458074F +:105E4000C0D1C158F0C600080E9CF01F000D0E9C7A +:105E5000F01F000C5806C0B00C976E285808CF31C0 +:105E60000E9CF01F00070E9CF01F00063008EB4848 +:105E700000F4E3CD80E00000000087F4800158BC0E +:105E800080015CDC580CC04078185B98C110489ABF +:105E900074991298EDB90001F9BC0101F9BB001029 +:105EA000F3DBE038F5F80A09F9BC00015EFC5EFDA1 +:105EB000000087F4489A7498109CF0091604E21CBC +:105EC0000002F9BB0110F1DBE138F5F81A09F9B865 +:105ED0000101F3D8E12C5EFC000087F4489A749825 +:105EE000109CF0091604E21C0002F9BB01EFF1DB83 +:105EF000E128F5F81A09F9B80101F3D8E12C5EFCA4 +:105F0000000087F448887099129CA589E21C000261 +:105F1000F9BA0101F3DAE148F9B90101F1D9E12C4B +:105F20005EFC0000000087F418994868709CE21C31 +:105F30000002F1F8103FF3F81A00F9BC01015EFC11 +:105F4000000087F418994868709CE21C0002F1F880 +:105F50001041F3F81A00F9BC01015EFC000087F45F +:105F600018984859729CE21C0002F3F81A41F9BCD7 +:105F700001015EFC000087F44839300C7298A7C814 +:105F800093985EFC000087F44839300C7298A5D8CD +:105F900093985EFC000087F4D401E06A0100300BA6 +:105FA000482CF01F0003DA0A00007648800091D0E8 +:105FB000EBCD40C04A0A18967498109CE21C00026F +:105FC000C1D0F4F700F85807C1801099E2190020F9 +:105FD000C270A5C8A7A8F4FB00BC95983009497AFF +:105FE000E06CEA60F01F00163008F0061800C100EF +:105FF0003018F0061800C040301CE3CD80C0311CC2 +:10600000EECBFFE2306AF01F000FE3CF90C0312CDF +:10601000EECBFFE2306AF01F000BE3CF90C0A5B8D3 +:10602000F4FB00B89598E06CEA60487AF01F000431 +:10603000CDCB0000000087F480015F7880014558D7 +:106040008001465880015F88D401F01F0002D80209 +:1060500080018040D40148687098E2180002C03185 +:10606000109CD802F01F0003D8020000000087F443 +:10607000800183FCD40148687098E2180002C031A6 +:10608000109CD802F01F0003D8020000000087F423 +:10609000800183D8D431FACD0188E06A0168300BE1 +:1060A0001A9CF01F002CFAC6FE541A901A9CF01F7E +:1060B000002A581CC03029EDD832FAC5FFF8401824 +:1060C000F0081016EA0800081035C4120A97FAC43E +:1060D000FE98ECC1FFF8C09840182EA7F0081016E3 +:1060E000EA0800081037C3326C08204D50280DC94B +:1060F000FB69000C0DD80E9BFB68000D306A1A9CE2 +:10610000F01F0016F01F00162FCD580CCE60EECBFE +:10611000FFFA310AFACCFE88F01F0010E2E8000016 +:10612000310AE8E90000089BE2E20008FACCFE88A8 +:10613000E8E30008F01F000BCD01189B316A0E9CAC +:10614000F01F0004009CF01F0008CB6B29EDD83A2B +:10615000800091D0800160748002E73680018898C9 +:106160008000917C80016054D431FACD018CE06ACA +:106170000168300BFACCFFFCF01F0050FAC5FE504E +:10618000FACCFFFCF01F004E581CC03029DDD8327D +:10619000402858F8E088007FF0081016FAC1FFF494 +:1061A000E20800081031E0820087E06801685018BA +:1061B000EACBFFF8FAC6FFF002973004FAC0FE946B +:1061C000500BC0C85804C36040282EA7F008101612 +:1061D0002EA6E20800081037C4926A08204D502805 +:1061E0000BC9FB69000C0BD80E9BFB68000D306AD5 +:1061F0001A9CF01F0034F01F00342FCD580CCE3005 +:10620000ECCBFFFE310AFACCFE84F01F002E400BCF +:10621000F6E80000310AE0E90000FACCFE84F6E27C +:106220000008009BE0E30008F01F0028CB005804A2 +:10623000CCC10F89E8091800CC810F98F20818002A +:10624000CC410FA9F0091800CC010FB8F2081800D2 +:10625000CBC10D89F0091800CB810FD8F2081800C6 +:10626000F9B40100EE041700CB0B5804C2400A9B9E +:10627000306A089CF01F0013EACBFFF8310AE8CC23 +:10628000FFFAF01F0010FACCFFFCF01F001129DD0F +:10629000D832F00A1110FAC1FFF4F40A1016E2081D +:1062A000000C300BF01F00053108E0690168502830 +:1062B0005019C7FB3FDCC6BB800091D080016074E1 +:1062C0008002E736800188988000917C80016054CC +:1062D000EBCD40C0208DBACBBA8A189B4968709C20 +:1062E000E21C0002C06118970E9C2F8DE3CD80C088 +:1062F0003008FAC6FFF8504850281A99FACAFFFC2D +:106300000C9CF01F000EC111189740285808C0407F +:106310000C9CF01F000B404C580CCE70F01F000975 +:106320000E9C2F8DE3CD80C00C9CF01F0007581CE5 +:106330005F07CECB000087F48001E1308001D3A855 +:10634000800091E880018E9CEBCD40C0201D491754 +:1063500018966E9CE21C0002C0412FFDE3CD80C068 +:106360001A9CF01F000DEF4600FCEEF801105808D3 +:10637000C051301C2FFDE3CD80C0EECCFEECEF3AD7 +:10638000011BEF3B011AF01F0005301CCF4B000032 +:10639000000087F4800177A4800162D0EBCD4080BB +:1063A000201DBA8C48C76E98EDB80001C0402FFD83 +:1063B000E3CF808030181A99300A308B487CF01F68 +:1063C0000008581CCF511B88EF4801202FFDE3CD5A +:1063D00080800000000087F48003B7A08001776C04 +:1063E000D401201D48B91898729CE21C0002C0E03C +:1063F000300AF368004C308BFAC9FFFC486C12F885 +:106400003018F01F0006581C5F0C2FFDD80200004A +:10641000000087F48003B7A88001776CD401203D89 +:10642000BA8C496A749CE21C0002C0312FDDD8028C +:106430001B8B3038F00B1800E089001DE06832003B +:10644000EA18312EE069352EEA19312EFAE90004F6 +:10645000F4F800F8F3DBB008300A5808F1F91A0F25 +:10646000308B30181A99FACCFFFCF01F0005581C2D +:10647000CDE03FECCDCB0000000087F48001776CCD +:10648000D421206D4A0618976C98EDB80001C040E1 +:10649000300C2FADD822584C5FB8E04C00FF5F198C +:1064A0001268C0303FECCF6B300814995028169A10 +:1064B0005008189B1A951A9CF01F0014CEA01A9C25 +:1064C000F01F0013400818945808C0401A9CF01F91 +:1064D0000011402C580CC030F01F000F5814CD9103 +:1064E0006C98EDB80007C0C15837E08B000AEE0881 +:1064F000150648A9300A1009089C930ACCBB301C29 +:10650000CC9B0000000087F48001E1A480018E9CF8 +:106510008001D3A8800091E800007648EBCD40C010 +:10652000202D496718966E98E2180002C2103FF8B5 +:10653000FACAFFFEBAF8BAA8BAB8BAC8BAD8BAE85E +:10654000300BF01F000F6E98EDB80007C0E1583611 +:10655000E08B000CEC081506300A48A9301C100925 +:10656000930A2FEDE3CD80C02FEDE3CF90C0109CB8 +:106570002FEDE3CD80C00000000087F4800164802F +:1065800000007648EBCD40C0202D49F66C9CE21C03 +:106590000002C2703FF8BAF8BAA8BAB8BAC8BAD8F6 +:1065A000BAE8ECFB00F8580BC260F6CCFFE2303AD8 +:1065B000300BF01F0016FAC7FFFE301CF01F00144E +:1065C000303B0E9A300CF01F00136C99300B129870 +:1065D000ED4B0110A3D88D98EDB90007C050301CC9 +:1065E0002FEDE3CD80C0E06A010048BCF01F000B36 +:1065F000301CCF7BFAC7FFFE303A0E9CF01F000321 +:10660000CDDB0000000087F4800162D08001651CB2 +:106610008001648000007648800091D0D43120DD74 +:10662000FB690010FB68000CFAC9FFA8FEF7023CEA +:1066300018956E981696149272307201E218000244 +:1066400072147223C041300C2F3DD832E04B002031 +:10665000E08800043FFCCF9B584CE08B002158DBC6 +:106660005FBA301BFB380010F60818005F09126A89 +:10667000C030580CC1413078FACCFFD4FB680033ED +:10668000F01F007B3008303C50785058F01F0079E4 +:1066900058D6C070E08B00315856C0303FECCD5B0F +:1066A00030683019FB680033EF49011CFACCFFCD8C +:1066B000F01F0071501C1AD31AD41AD1FB38001CD9 +:1066C00004991AD80C9AFB380043FACCFFDC0A9BD9 +:1066D000F01F006A2FCD580CC1B140585808C05067 +:1066E000FACCFFECF01F0066407C580CCAD0F01FBB +:1066F0000065300CCAAB5906C6C0E0460020CCF19C +:1067000030283029FB680033EF49011CCD0BFACC4F +:10671000FFECF01F005D500C40585808C050FACCF8 +:10672000FFECF01F0057407C580CC030F01F0055A4 +:1067300040085818C8915800EFF81009F9B9010835 +:10674000F1D9E138EFF81A093009FB380010F208E6 +:106750001800C051F9D5B008F01F004C6E98EDB884 +:106760000001C0514C18F0F800FC501840185808AF +:10677000C080FB3A0010FB3B000C089CF01F00445B +:10678000306A089BEECCFEECF01F0042301AFACBC8 +:10679000FFF4EECCFEE6F01F003FEECCFEE5301A33 +:1067A000FACBFFF0F01F003B3018EF480110FB68F8 +:1067B00000326E9C4AD7EDBC0001C120EDBC000741 +:1067C000C061FB38000C50285845C1E1301CC3DBC8 +:1067D00030483039FB680033EF49011CC68B300864 +:1067E0004ADB1099109A109CF01F002CC3401ADC51 +:1067F0003018FAC9FFCA300A308B4A9CF01F0029B2 +:106800006E9C2FFDCDCBEA0915064A780C9AF0094B +:106810000007049BEF650026EF560024EECCFFFC3A +:10682000F01F001C089BEF610036306AEECCFFD8E9 +:10683000F01F00185803C110069B308AEECCFFD21F +:10684000F01F001440288FF0EF68003830188F08D0 +:10685000109CCFBA6E9CCB3B069B308AEECCFFD20D +:10686000F01F0012CF0B0000000087F4800177A416 +:106870008001EF6C80017BD88001E2148001D3A8F5 +:10688000800091E880018E9C8001641C800162D0B0 +:10689000800091DC80015E8480016AF48003B798F7 +:1068A0008001773000007648800091D0EBCD40C069 +:1068B000300749A60E98A7682FF7EC08000B76085A +:1068C0005808C0F10E985847CF714957EF3C004C1B +:1068D000F01F0014EEFC0100F01F0013E3CF90C086 +:1068E00076F8F6C9FFD2F73C00261AD8F6C8FFD8CA +:1068F0001AD91AD8F7390036F6CAFFFC1AD9F73870 +:106900000038F7390027F71B0024F01F00082FCDAF +:10691000581CCD90E3CF80C000007648000087F47B +:10692000800163E0800163488001661C7808301CA8 +:10693000F80A094C201C106C5EFCD70348787008DC +:106940005808C0901838C041C078103CC05070B88A +:106950005808CFC15EFD5EFF0000778C189A48F89A +:10696000709CE21C00025E0C70A8EDB80000C03004 +:10697000305C5EFC48AC780B583BE089000D300978 +:106980004888F00B003891189109950BF6C8FFFF65 +:1069900099085EFF3FDC5EFC000087F4000077880A +:1069A0000000776848D972A8EDB80000C1313008FE +:1069B000780A99D848ABF60A003A741999E974181C +:1069C000F8C9FFCC910C7808301CF60800389119F2 +:1069D0005EFC305C5EFC0000000087F4000077681D +:1069E000EBCD40C0189778B95809C18078C893C8D2 +:1069F0006EC891096E3C580CC050F01F000B300857 +:106A00008F3833CA6EA635AB0E9CF01F00080C9B66 +:106A10000E9CF01F0007E3CF80C078C94858911939 +:106A200078B9CE7B800091E8800091D0800183B05E +:106A30000000778CEBCD40801897580CC180789877 +:106A40005D1848F972095809C051C11872B958093E +:106A5000C0E01237CFC16E785808C0B06E3C580CF9 +:106A6000C060F01F000830088F588F38E3CF908047 +:106A70000E9C301BF01F0004E3CF90800000778C49 +:106A8000800091E8800169E0EBCD4080496972A8FF +:106A9000EDB80000C040305CE3CD8080493870091B +:106AA0001839E08A001E4928F00C00376E09580991 +:106AB000C15072DA580AF3F8000EEFF80A01F3FA3F +:106AC000000DF3F8100EF5F81A0E72E8129C910AF8 +:106AD000F01F00086E095809CED1E3CF90803FCC5B +:106AE000E3CD8080000087F400007788000077689D +:106AF00080016A34EBCD40F81897169614951294DD +:106B0000109333CCF01F000CC1403008990799B89E +:106B10009938995899889996994599649973487ABA +:106B2000301899A8741999C9930CF8C8FFD495180E +:106B3000E3CD80F8800092000000778CD401202DF6 +:106B4000500A48C972A8EDB80000C040305C2FED73 +:106B5000D80248981A99F00B032A3048FA08000B1B +:106B6000F01F0006581CF9BC0001F9BC01FECF0B58 +:106B7000000087F4000077488001F1D8EBCD40C0D9 +:106B8000201D4AC618976CA8EDB80000C441580CE7 +:106B9000C3F0789B580BC3C0780A580AC3954A695A +:106BA000F20A033850085808C061C1A870D85008CC +:106BB0005808C1601037CFB1F40815036EDA580ACF +:106BC000F3D8E009EFF8000EF3F80A01EFF8100E21 +:106BD000F5F81A0E400870DA70E9930A6E9B3F9838 +:106BE0008F18580BC0300E9C5D1B6E8B581BC0500D +:106BF000582BC150580BC0516E2A1A9CF01F000F21 +:106C00000E9C301BF01F000E2FFDE3CF90C02FFD18 +:106C1000E3CF90C0305C2FFDE3CD80C0ECF801B82D +:106C20000E38CEF130094838F14901B8CEAB00003A +:106C3000000087F40000776880016B3C800169E008 +:106C4000D40148C9169E72A8F1D8C001C031305C89 +:106C5000D8024898304A76A9F00C032C1ADAF6C804 +:106C6000FFF833CAF01F00052FFD581C5F0CD80237 +:106C7000000087F4000077488001F164D431204D92 +:106C800030084931189650285018FAC5FFF4FAC256 +:106C9000FFF802901A93FAC4FFFCC098E006032A9A +:106CA000F01F000C0E9B401CF01F000B3049049B92 +:106CB0000A9AE206032CF01F0009304818970A9937 +:106CC0001A9B089C5817CEB02FCDD83200007748B9 +:106CD0008001F1D880016B7C8001F0B4EBCD40E005 +:106CE000201D49356AA8A1A8300A49298BA8149704 +:106CF000930A14984906EC08002C2FF748FA303B09 +:106D0000F01F000F581CC0F10E985887CF5148D87B +:106D1000300991189109301B1A9CF01F000B2FFDB0 +:106D2000E3CD80E06AA8A1C88BA8CF2B000087F430 +:106D300000007788000077488001692C8001F05CB2 +:106D40000000778C8001695C5EFD5EFFEBCD4080CA +:106D5000189778785808C030788C5D180E9CF01F12 +:106D60000003E3CD80800000800091E8D4314B1017 +:106D70001895169260095809C58030047258721926 +:106D80000A38F7B400FF5809CFA10891E80C1502A2 +:106D9000F01F00291893C46060075807C2303006FE +:106DA000C0486E175807C1E06E580A38CFB10E9C24 +:106DB000F01F0022E60609276E485808C0F06E1939 +:106DC0005809EFF80002E1F80A01EFF90001EFF8C5 +:106DD0001002F3F81A026E2891092FF66E17580761 +:106DE000CE415804C1A006953006C0380836C154BB +:106DF0006A07049C6E686E8B5D18491B0E9CF01F21 +:106E000000112FF62FC56E485808CF100E9C48CBA6 +:106E1000F01F000C0836CED5069CF01F000B029C1C +:106E2000D8321891029CD83212941291CB0B0000E8 +:106E300000007794800092008001463A80016D4CFA +:106E400080014642800091E8EBCD4080324CF01F3B +:106E500000081897C080324A300BF01F00060E9CC5 +:106E6000F01F00050E9CE3CD8080000080009200A2 +:106E7000800091D080014652EBCD40FC18961695CB +:106E80001494129310924077F01F000AC100995693 +:106E900099359964998799739942487A3008991875 +:106EA00074199929930CF8C8FFFC9518E3CD80FC60 +:106EB00080016E4800007794D431FACEFFDC189739 +:106EC00016901491129310927C157C04580CC26099 +:106ED00078095809C26049A66C085808C051C09882 +:106EE00070185808C0601039CFC13018109CD832C3 +:106EF000F01F0014C13099509931996399859972A6 +:106F00009944300899186C199929930CF8C8FFFC1A +:106F10008D188F0C3018109CD8323008109CD83245 +:106F200008981AD50499069A029B009CF01F000647 +:106F30002FFD580C5F188F0CCDAB0000000077942C +:106F400080016E4880016E78EBCD40404856ECCC15 +:106F5000FFF8F01F000530088D168D08E3CD804046 +:106F600000007794800145D6EBCD40807847785A71 +:106F70006E18103AE0880004E3CF8080783B6E0CF6 +:106F8000F01F000B6E285808C0406E1B6E0C5D1879 +:106F90006E3CE04C002BC050300A149BF01F0005E3 +:106FA0000E9CF01F0005E3CF90800000800091DC74 +:106FB00080014658800091E8EBCD40C0203D30086C +:106FC00018979928990814961A9C308AF01F001176 +:106FD000FACBFFF80E9CF01F00102FED580CC101EA +:106FE0006E085808C0400E9CF01F000C6E2C580C08 +:106FF000C040F01F000B300C2FFDE3CD80C05806C1 +:10700000FBF81000EDF81A002FFDE3CF90C0000050 +:107010008002E7368001DE6C8001D3A8800091E811 +:10702000EBCD40C0189778185B98C0C0783B580BE0 +:10703000C17078465806C04078685908C050E3CF00 +:1070400090C0E3CF80C0785A590AE08800153FF815 +:107050008D28ECCCFFF4F01F000CE3CF90C0784CEF +:10706000580CCEE06E685908CEB12F4CF01F0006C8 +:10707000E3CF90C06C0CF01F00056E5830198D18CE +:107080008D29CE8B8001A25C800091DCEBCD40E0AD +:10709000201D1697E04C0081E0800088E08A0027E0 +:1070A000E04C0083C2F0C2B4760A1A9C300BF01F89 +:1070B0000064E08A004F585CC490314CF01F0061BE +:1070C0004008913C4009723A580AC7A06E0830093E +:1070D000990899399919EF380008992840083149D9 +:1070E000301A91594008911AC1D8584CC4A0E04CAC +:1070F0000080C330300C2FFDE3CD80E0E04C0085F4 +:10710000CFA16E0A300B1A9CF01F004DE08A0022BE +:10711000585CC1C0EF3900084008300A9119400896 +:10712000915A301B400CF01F0048581CCE41400CB7 +:10713000F01F0046C0B0400B76785808C070300C85 +:10714000F01F0043581C5F0CCD7B2FFDE3CF90E078 +:107150003FEC2FFDE3CD80E07645760A1A9C300B9C +:10716000F01F0037FE9AFFF6585CCF005805C49117 +:1071700040089135400993550FCA4008911ACD2B0C +:107180007626760A1A9C300BF01F002DFE9AFFE23D +:10719000585CCDC05806C1914008301A913640095C +:1071A00093564008911ACBEB760A1A9C300BF01FCD +:1071B0000024FE9AFFCF585CCC900FC9CAEB3FD891 +:1071C00093184009935ACAEBECC5FFED0A9CF01FD7 +:1071D000001D4008913C1899400A743B580BC2406E +:1071E0006E080C9A93089336EECBFFF430162F0CF2 +:1071F0009316F01F00184008915540099316C92BAB +:1072000040060A9CF01F000F8D3C4009723C580C50 +:10721000C1000A9A6E5BF01F000F400891550FC91C +:1072200040089119C7FB3FD895184009935BC7AB3D +:107230003FD893184009935CC75B000080016B3C0A +:1072400080009200800169A48001693C80016C404B +:10725000800091DCEBCD40FC4C151696189476021C +:107260006A095909E088001B4BE7C15878BA580AE7 +:10727000F9F8000CEFF80A01F9F8100CF5F81A0CFF +:10728000201978C8910A8B09F01F00376A0959093B +:10729000E08800056E0C580CCEA16C2338086C36C3 +:1072A000ECCCFFCCF0041800C260F01F003018973F +:1072B000C2F0B8C464080C9A990899A6069B2CCC15 +:1072C0008F9CF01F002B3808F0041800C2303818CB +:1072D000F0041800C2B04A3B30088FB8761A8FCA43 +:1072E0009507EEC9FFD46A0897192FF8301C8B0850 +:1072F000E3CD80FC64495809CD90ECC8FFC9E01883 +:10730000FFFCF009000CF01F00191897CD31E3CDF8 +:1073100080FC318A049BEECCFFF4F01F00156E7ADE +:107320008F2A580AC1018F8ACD7BEEC6FFF4318ABD +:10733000300B0C9CF01F000F049B0C9C308AF01F3C +:10734000000CCCAB6EA82FD8E018FFFC6E9C100C84 +:107350008F8C645BF01F0006CBFB0000000077A061 +:1073600000000234800091E880009200800091DCEF +:10737000800091D0D421207D1297FACEFFD04B29E6 +:1073800018947298EDB80001C040300C2F9DD8229F +:10739000FCE800003006BB295C7A50265046FAC54E +:1073A000FFF8FAC9FFE00A9CF01F00282FED580CE7 +:1073B000C2D05807C0B08F368F5640680E9B0C9CC9 +:1073C0008F28F01F0023581CC2E11A9CF01F0021D7 +:1073D0005BBCC29040076E4C580CC070F01F001E82 +:1073E00030088F388F4840075807C0401A9CF01F5C +:1073F000001B402C580CC030F01F00175804FBF83D +:107400001006E9F81A002F9DDA2A40085808C040F3 +:107410001A9CF01F0012402C580CCB80F01F000E5D +:107420002F9DD82A40085808C0401A9CF01F000B16 +:10743000402C580CC0313FDCCAABF01F00073FDCCA +:10744000CA6B0000000087F48001DF7480016C408B +:1074500080018E9C800091E88001D3A8EBCD40E0B4 +:10746000208D149616951897308A300BF01F001354 +:1074700059F6E08800052F8DE3CF80E00A9B0C9A37 +:107480001A9CF01F000FFAC9FFE030080C09FACC73 +:107490000001F368FFE0F8C6FFFF300B30AA0C9C38 +:1074A000F01F000832EB0ECC0C9CF01F0007CF4100 +:1074B0002F8DE3CF90E00000800091D0800091DC20 +:1074C0008000917080009164D43120AD189E109599 +:1074D00014974C781292709CE21C0002C0511896CE +:1074E0000C9C2F6DD832169AFAC6FFE41C9B0C9C9C +:1074F000F01F00400C9BFAC3FFFCFACAFFDC069C9D +:10750000F01F003D1896581CCEC15807C2F10E91CD +:107510000E90069CF01F0039401818945808C0407F +:10752000069CF01F0037403C580CC030F01F00355F +:107530005BB4C4D05807C170E06B0BB8E0CCFFF46B +:10754000F01F00315BDCC3A0582CC07060285BF8D2 +:10755000C04060188508CC5B029C301B3006F01FD1 +:10756000002BCBFB40988B08CBCB3FF8310C8B0822 +:10757000F01F002718941890C280F8C8FFF4500834 +:10758000109CF01F00248907640930088919089AA3 +:1075900031094A1B109CF01F00211891C20040982D +:1075A000189B9928300CF01F001E581CCB300C9BE8 +:1075B000029C3FD6F01F001BC94B029C301BF01FE2 +:1075C000001340988B08C8DB3FD6C8BB5807CFD004 +:1075D000029C301B3FD6F01F000DC83B400CF01F33 +:1075E0000012089C3FD6F01F0007C7BB000087F4BD +:1075F0008001745C80016FB880018E9C8001D3A8EB +:10760000800091E88001A22880016B7C80009200BC +:107610008001A28C8001702080016AF480016C409E +:10762000800169E08001A27CEBCD40E0209D49F81B +:1076300018991495709CE21C0002C06118960C9C6D +:107640002F7DE3CD80E0169AFAC6FFE8129B0C9CD2 +:10765000F01F00170C9B1A97FACAFFE01A9CF01F44 +:1076600000151896581CCEC11A9CF01F0013400834 +:1076700018965808C0401A9CF01F0010402C580C57 +:10768000C030F01F000F5BB6C0313FD6CD9B300C31 +:107690008B3C8B5C40880A9B8B28F01F000A581C8F +:1076A000CCF03FD6CCDB0000000087F48001745C96 +:1076B00080016FB880018E9C8001D3A8800091E882 +:1076C00080016C40EBCD40FC1895169414921293F7 +:1076D00010974076310CF01F0012C1D099369905F1 +:1076E00099149927189A3008310948EB109CF01F1B +:1076F000000E1896C100069B049C0C9AF01F000B0C +:107700001897581CC0500C9C301BF01F00090E9C91 +:10771000E3CD80FC30070E9CE3CD80FC800092001E +:1077200080016F6880016AF480017628800169E039 +:10773000EBCD406E202D4086129310951491169A31 +:10774000189B1A9CF01F0008069B0C99FAE2000097 +:107750000A9ABB23029CF01F00052FED2FEDE3CD0D +:10776000806E00008001745C80017374EBCD406812 +:10777000202D129310961495169A189B1A9CF01FA0 +:107780000008FAE800000C9ABB29069B0A9C300905 +:10779000F01F00042FED2FEDE3CD80688001745CB5 +:1077A00080017374EBCD40401896303CF01F00040C +:1077B0007848301C8D08E3CD804000008001EF6CDC +:1077C000EBCD406048A618952F060C9CF01F0009D1 +:1077D000303CF01F0009310AF8CBFF8C0A9CF01FE7 +:1077E00000070C9CF01F0006E3CF9060000087F4B8 +:1077F000800145F88001EF6C800091DC800145FA42 +:10780000D42149461894ECC5FFF00A9CF01F0012E1 +:10781000ECF700F85807C0C06F38707B2F4B322A46 +:10782000089CF01F000E0A9CF01F000DDA2A303C65 +:10783000F01F000CC060F9380088EE081800C06026 +:10784000ECCCFFF0F01F0006D82AF8CBFF78CE8BE7 +:10785000000087F4800145F88002E736800145FA90 +:107860008001EF6CEBCD40E049061895ECC7FFF0C6 +:107870000E9CF01F000F303CF01F000EECF600F8DD +:107880005806C0C0ECCBFFE2306A0A9CF01F000A29 +:107890000E9CF01F000AE3CF90E00E9CF01F000743 +:1078A0000C9CE3CD80E00000000087F4800145F8E7 +:1078B0008001EF6C8002E736800145FAEBCD404055 +:1078C000209DE04B0020E08B001CBABB580BC1B1DF +:1078D0003FF8BAA849162F060C9CF01F0011303C47 +:1078E000F01F0010322AFACBFFFEF8CCFF78F01F11 +:1078F000000E0C9CF01F000D2F7DE3CF90402F7DDC +:10790000E3CFC0403008169ABAA8189BFACCFFFC07 +:10791000F01F0007CE0B0000000087F4800145FC3B +:107920008001EF6C8002E736800145FE800091DC2B +:10793000EBCD40E01895303CF01F000B1897C110BC +:1079400048A62F060C9CF01F000A0A9B306AEECC5A +:10795000FF56F01F00080C9CF01F0007E3CF90E0DB +:10796000E3CD80E08001EF6C000087F4800145FCEE +:10797000800091DC800145FED401F01F0002D80296 +:1079800080017930EBCD40EC202D18961697586B7E +:10799000C0503FFC2FEDE3CD80ECFACCFFF8E06364 +:1079A000312EEA13322EE0623100EA12312EB92371 +:1079B00016980C99300A308B1A9CF01F0010301C5E +:1079C000F01F000F48F81893F0C5FFF00A9CF01F55 +:1079D000000E5803C0C00E9A0C9B069CF01F000BB3 +:1079E0000A9CF01F000B2FEDE3CF90EC0A9CF01FD8 +:1079F0000008069CCD0B00008001776C8001EF6CC5 +:107A0000000087F4800145FC800091DC800145FE88 +:107A1000EBCD40E01897303CF01F0018EEC8000195 +:107A200018955818E0880004E3CF80E058175F09E4 +:107A300049366D1858385F0AF5E90009C0E1582742 +:107A40005F08F5E80008C030E3CF90E0F01F000DBC +:107A5000C0A18B47E3CF90E0F01F000B6D185838A2 +:107A60005F0ACEEB303CF01F000578485818CF2055 +:107A7000F01F0005CEFB00008001EF6C000087F4D2 +:107A800080017BC88001F340EBCD40F81696189337 +:107A900076085858E08A002A49A83064F0C5FFF0FB +:107AA00097040A9CF01F0018301CF01F001818974C +:107AB000C160202D189B089A1A9CF01F0015F01F1A +:107AC00000152FED580CC1616C0A0E9B069CF01F2F +:107AD00000120A9CF01F0011E3CF90F80A9CF01FDF +:107AE000000F0E9CE3CD80F830683FFC9708E3CD93 +:107AF00080F80A9CF01F00093FBCE3CD80F800002D +:107B0000000087F4800145F88001EF6C8002E736C1 +:107B1000800188B0800091DC800145FA0050F200BD +:107B2000000FAC003008F9480320F94803245EFC3C +:107B3000EBCD40C016971496F8FE0320FCCBFFFF58 +:107B4000F60A141FE069851FEA1951EBF60904488B +:107B5000A5591419F8FA0324F2091064121B143BF6 +:107B6000C0B0F94B0320F80E0927FCC8FF9CF808A9 +:107B70000926E3CF90C0E3CF80C0D401189EF8FC63 +:107B80000324FCF803201838C1F0F8C8FF9CFC0C53 +:107B9000032CFC08032930089709E069851FEA19BE +:107BA00051EBFCFB0324FC0B09282FFBF6090448CE +:107BB000F60A141FA5591419F2091064F6090109EF +:107BC000FD490324D802D80A4838F0F900F85809CA +:107BD0005F1C5EFC000087F43018198CF00C180054 +:107BE0005F0A3058F00C18005F09124AC0F1306883 +:107BF000F00C1800C0B03028F00C1800C080584CB1 +:107C0000F9BC0003F9BC01005EFC5EFF302C5EFC99 +:107C100048C8F0F800FC5818C0D0C0635828C0D03D +:107C20005838C0505EFF580C5F0C5EFC583C5F8CAF +:107C30005EFC581C5F8C5EFC582C5F8C5EFC000068 +:107C4000000087F4EBCD40C01897169E740A580ABE +:107C5000C0D0753A580AC0A0747A580AC0704FF85C +:107C6000F0F901045889E0880004E3CF80C04FC8D0 +:107C7000F009032F94D8EDB80004CF813008301CF0 +:107C80009D08E3CD80C0F53900C83FF8F009180021 +:107C9000CED0F51B00D2580BCE90F51C00D030266C +:107CA000F4FA00D8F40C002811B9EC091800E080AF +:107CB00000BFF8C8FFFF3009F40800280C9CF0CA88 +:107CC000FFFDC07815882FCAF8081800E08000B0C2 +:107CD0002FF91639CF85CCABF53900C83FF8F0093C +:107CE0001800CC40F51B00D2580BCC00F51C00D07E +:107CF0003016F4FA00D8F40C002811B9EC09180079 +:107D0000E08000A4F8C8FFFF3009F40800280C9CAC +:107D1000F0CAFFFDC07815882FCAF8081800E08067 +:107D200000952FF91639CF85CA1BF53900A43FF805 +:107D3000F0091800C9B0F51B00B2580BC970F51C4A +:107D400000B03026F4FA00B8F40C002811B9EC09A0 +:107D50001800C660F8C8FFFF3009F40800280C9C22 +:107D6000F0CAFFFDC06815882FCAF8081800C58042 +:107D70002FF91639CF95C7ABF53900A43FF8F009B4 +:107D80001800FE90FF74F51B00B2580BFE90FF6FB9 +:107D9000F51C00B03026F4FA00B8F40C002811B934 +:107DA000EC091800C3D0F8C8FFFF3009F408002818 +:107DB0000C9CF0CAFFFDC06815882FCAF80818008F +:107DC000C2F02FF91639CF95C51BF53900A43FF83D +:107DD000F0091800FE90FF4BF51B00B2580BFE9007 +:107DE000FF46F51C00B03016F4FA00B8F40C002879 +:107DF00011B9EC091800C220F8C8FFFF3009F408D7 +:107E000000280C9CF0CAFFFDC06815882FCAF8082E +:107E10001800C1402FF9123BFE99FFF9C27B3028B0 +:107E2000AE8830199D09129CE3CD80C03028AE8801 +:107E30003029301C9D09E3CD80C03018AE88301940 +:107E40009D09129CE3CD80C03018AE883029301CCB +:107E50009D09E3CD80C00000000087F48003B7B027 +:107E60003028F00C1800C390E088001B3048F00C5C +:107E70001800C3503058F00C1800C21030093028D8 +:107E8000F00B1800C160F00B1800E08B001B3018DD +:107E9000F00B1800C100300812385F5C5EFC30182F +:107EA000F00C1800CEC130193028F00B1800CEC1EC +:107EB0003038C02830181039CF045EFE3029CE0B80 +:107EC0003048F00B1800C0703058F00B1800CE414D +:107ED0003028CF2B3048CF0B3039CD2B3049CD0B4C +:107EE000D431307977387075B8891894581AC0D061 +:107EF000C043582AC4C0D83A7738707A94D9EDB9BB +:107F00000004E0800087DA3AEB3900A43FF8F0097A +:107F10001800CF20EB0800B03009F2081900CF405C +:107F2000149112923006307B30533060C1A8E007C4 +:107F30001800C2B03028F0071800C7A03048EE087B +:107F40001800F9BC0003F9BC0100F01F003CE9F780 +:107F50001E002FF6EB1800B00C38FE9AFFD6098BE6 +:107F6000EAF800B8F006002811B70E9CF01F0034A4 +:107F7000FE9AFFF1E20718005F08E60718005F09A4 +:107F80001248E4081800CD40301CCE0BEB3900C875 +:107F90003FF8F0091800CB00EB0800D03009F208D8 +:107FA0001900CB2012913006307B301230533060F4 +:107FB000C1A8E0071800C2B03028F0071800C3A01D +:107FC0003048EE081800F9BC0003F9BC0100F01FAE +:107FD000001BE9F71E002FF6EB1800D00C38FE9AB4 +:107FE000FF94098BEAF800D8F006002811B70E9C20 +:107FF000F01F0013FE9AFFF1E40718005F08E60780 +:1080000018005F091248E2081800CD40301CCE0B62 +:10801000307B305CF01F000AFE9AFF77301CF01FA7 +:108020000007FE90FF723058301CA888D832302CE0 +:10803000C8DB302CCCDB000080017C1080017E602E +:108040003008484A48499508951893085EFC000096 +:10805000000089EC00008C5CEBCD4080189E198BF1 +:10806000580BC130300A3017149CFC0A00092FFA53 +:1080700013982018EE080948F9E81008F9D8B0104C +:10808000163ACF45E3CD8080169CE3CD80807938C9 +:10809000707A3308F53900C8F0091800C0205EFD79 +:1080A000F51800D4E218000C5848C0E0E08A000837 +:1080B0005888C08058C8CF41310C5EFC5808CF01A9 +:1080C0005EFF304C5EFC302C5EFCD703EBCD40E015 +:1080D00030081896109A169C8D084927760E301590 +:1080E000109BC0A8F80A00082FFA11C9EE0B070868 +:1080F000A7D91039C0A01C3ACF652FFB58DBE08B05 +:10810000000E300A780ECF8B6C08EA0B0949124832 +:108110008D082FFB58DBFE98FFF6E3CF90E00000C0 +:108120008003B7F4EBCD40C030069906149EF8C723 +:10813000FFFC1799EC091800C0E00C9AF60A000839 +:1081400011A90EC978082FF899082FFA1798143832 +:10815000FE99FFF61D993008F0091800C0F0300BA9 +:10816000FC0B000811A9EE0B0B0978082FF89908F1 +:108170002FFB1D981638FE99FFF5E3CF90C0EBCD8D +:1081800040F816941897780B68065806E08A002C79 +:10819000F6C8FFFCE8C5FFFCF8080003300E2FCC42 +:1081A000EA0E070A580BE08A00130FC81458F1D8DA +:1081B000C007C1503009C078F80907081458F1D831 +:1081C000C007C0D02FF9123BFE99FFF8597BE08B16 +:1081D000000706CA6E0B2FFB8F0B68062FFE1C369E +:1081E000FE99FFE0E3CF90F8EBCD40FE1894169295 +:1081F0001497780676055805E08A0025ECC8FFFC40 +:10820000F6C3FFFCF8080001300EF4CCFFFCE60ECC +:10821000070A6E0B580BE08A00120FC81458F1D8E9 +:10822000C007C1203009C078F80907081458F1D8F0 +:10823000C007C0A02FF91639CF852FFE1C35FE9937 +:10824000FFE8E3CF90FE5976FE9BFFF902CA68066D +:108250002FF689062FFE64051C35FE99FFDACF2B19 +:10826000D42178045804E08A0027F8C7FFFC493875 +:108270000F8B700C11C6580CE08A0017F0C5FFFC7C +:10828000300EEDEB2008F1D8C007C0F00A9A300993 +:10829000C0782FFA15881658F1D8C007C0602FF99A +:1082A000123CFE99FFF8D82A2FFE2FF7083EC03463 +:1082B0000F8BCE8BDA2A00000000023CD4211897E5 +:1082C00076055805E08A0026F6C6FFFCF8CEFFFCCE +:1082D000300B1694C0482FFB0A3BC1B4EC0B070AC5 +:1082E000E80A1800CF946E0C580CE08A00120FC8F0 +:1082F0001458F1D8C007CF003009C078FC0907082E +:108300001458F1D8C007CE802FF91839CF85D82A54 +:10831000DA2A3248F00C1800C110E08800113488C5 +:10832000F00C1800C0B0E08800183608F00C1800F7 +:10833000C05036C8F00C1800C0E15EFF3128F00CC8 +:108340001800CFC03188F00C1800CF8030C8F00C76 +:108350001800CF405EFD3308F00C1800CFC1CEEB03 +:10836000EBCD40E078055805E08A0010F8C6FFFC28 +:108370003007C0380A37C0940D8C2FF72FF6F01F46 +:108380000004CF90E3CF90E0E3CF80E08001831240 +:108390004838F14B01DCF14C01D85EFC000087F459 +:1083A0004838F14B01ECF14C01E85EFC000087F429 +:1083B000EBCD40801697581BC050582BC080E3CFA0 +:1083C0008080F01F00050E9CE3CD8080F01F00022E +:1083D000E3CF9080800091E8D401580CC070486BC6 +:1083E000760AE04A0168E0880003D80AF01F00031B +:1083F000DA0A0000000089EC800091DCD401580CFE +:10840000C0A078185908E08B0007780AE04A016894 +:10841000E0880003D80A189B482CF01F0003DA0AF2 +:10842000000089EC800091DCEBCD4040350A1896C5 +:10843000F01F000330088D48E3CD8040800091DCC0 +:10844000D401306AF01F0002D8020000800091DCE5 +:10845000D401300CF01F0002DA0A000080016C7CAD +:10846000D421201D189414971296169A1095189BD3 +:108470001A9CF01F001CE08A0032585CC27058063B +:108480005F1858075F191268C241300840099338D5 +:10849000400A95584008301B9115400CF01F0012FF +:1084A000581CC100400C78785808C090189B089C54 +:1084B000F01F000E581CC0A03FDCC098301BF01FFE +:1084C000000C400C78785808CF21301C2FFDD822A2 +:1084D0004008913740099356CDEB3FEC2FFDD82251 +:1084E00080016B3C800169A480016C40800169E0DF +:1084F000EBCD40C018971696303CF01F00283DD8B1 +:108500003079AE88AE9935083F29300BAEB8AEC988 +:1085100030283019AED8EF6B0008AEABAEEBAEF939 +:1085200058065F1AF8F900BC58095F181468F60875 +:108530001800C310F8F800D05818F9B80008EFF880 +:108540000E08F8F800CC5818EFF80808F9B900043C +:10855000F1D9E038EFF80E08F8F800C85818EFF82D +:108560000808F9B90002F1D9E038EFF80E08F8F878 +:1085700000C45818EFF80808F9B90001F1D9E0383B +:10858000EFF80E08F8F900D4EF380008F1E91048C8 +:10859000EF680008E3CD80C08001EF6CEBCD404078 +:1085A0001896303C5C76F01F000E5876E088000488 +:1085B000E3CF804048B8F006032FF90C00C6E3CDA6 +:1085C0008040F90C00CAE3CD8040F90C00CEE3CD29 +:1085D0008040F90C00D2E3CD804000008001EF6CB8 +:1085E0008003B7D4D40130DCF01F0002784CD802ED +:1085F0008001EF6CEBCD40FC207D31CA1893300B2D +:108600001A9C1A92F01F001266045804E08A00189F +:10861000E6C6FFFC30070D852FF72FF60A9CF01FEA +:10862000000DC0A14008FACAFFE4F0C9FFFF100A1C +:108630005009F565FFE80E34FE99FFEF1A9B069C82 +:1086400031CAF01F00052F9DE3CD80FC800091D042 +:1086500080018312800091DCEBCD40E0207D300B67 +:10866000189731CA1A9CF01F00171A956E0B580BF9 +:10867000E08A0024300AFAC6FFFCEEC9FFFC0C9C1D +:10868000149EC0582FF9143BE08A000D2FFA13886E +:10869000FC081800CF8418C82FF96E0B143BFE9904 +:1086A000FFF7F80601061A9B50060E9C31CAF01F10 +:1086B00000062F9DE3CD80E0FAC6FFFC0C9CCF2B7B +:1086C000800091D0800091DCD421129618971695E5 +:1086D0001494580CC1205809C111314CF01F0009E5 +:1086E000C0C09907B8C599249936487A7419994930 +:1086F000930CF8C8FFF49518D822F01F0004D82274 +:1087000080009200000077A4800147E0EBCD40C0DC +:108710001896580CC110308CF01F000C1897C090A0 +:108720000C9CF01F000B8F1C1898C0A030188F08ED +:108730000E9CE3CD80C018970E9CE3CD80C00E9CAC +:108740001097F01F0004CF5B800092008001D920B9 +:10875000800091E8EBCD40C049566C075807C180B6 +:108760006E395809EFF80004EDF80A01EFF810042B +:10877000F3F81A046E4891096E2A0FCB6E0CF01FA5 +:10878000000D0E9CF01F000C6C075807CEA148B8D6 +:10879000F0C7FFEC0E9CF01F000AC071302CF01FD8 +:1087A00000090E9CF01F0008E3CD80C0000077A4F4 +:1087B000800147E0800091E8000087F4800145DCFB +:1087C0008001478C800145ECD4014848300991185C +:1087D0009109F01F0003D802000077A4800187549C +:1087E000EBCD40FE4A0618976C0816951494201895 +:1087F000E0480167E0880004E3CFC0FE580A5F1933 +:108800006C1A300B580A5F181268F6081800CF501F +:10881000183A5FB858FC5F891268F6081800CED085 +:1088200016910C92C0B82FF7641958F75F8A0E3969 +:108830005FB81468E2081800CE00EE031016306A24 +:10884000E6CCFFF80A9BEC0C000CF01F0008CEC130 +:10885000485B089C060B310A2F2BF01F00050E9C6D +:10886000E3CD80FE000089EC8000917C800091DCEB +:10887000EBCD40E018951697300C18960E9A0A9B8F +:108880002F07F01F0005C0452FF62FFCCF8B0C9C47 +:10889000E3CD80E0800187E0D401306AFACCFFFCB0 +:1088A000FACBFFF4F01F00025F0CD8028000917C2D +:1088B000EBCD4068205D3FF8FACAFFDC15D9FB68B4 +:1088C0000013FB68000EFB68000FFB680010FB68DC +:1088D0000011FB680012FAC6FFF8ACD974088D08C5 +:1088E00015C9FAC3FFFEACC93065FACBFFF20A9A8C +:1088F000069CF01F00060A9A069B0C9CF01F0004C1 +:108900005F0C2FBDE3CD80688002E7368000917C4C +:10891000D401FACBFFFCF73900241788F0091800BE +:10892000C020D80AF73A00251798F4081800CFA1FC +:10893000F6CCFFFE2DABF01F00035F0CD802000049 +:108940008000917CEBCD4040211D303CF01F001E8B +:10895000322A1896FACBFFB4FA0A000CF01F001B5B +:10896000ECC6FF78ECE80000FAE90000ECEA000849 +:10897000FAEB0008ECE80010FAE90010ECEA001845 +:10898000FAEB0018ED380020FB680020ED390021DB +:10899000FB690021FB3A00221B88F4081800C05034 +:1089A000300C2EFDE3CD80401B9AFB380023F408E9 +:1089B0001800CF71FACBFFFEFACCFFDCF01F0004E9 +:1089C0005F0CCF0B8001EF6C8002E7368000917C5A +:1089D000EBCD40E0203D4B571896EF3900943FF81F +:1089E000F0091800C3507938707C2F4CF8E800006B +:1089F000209DFAE90000F8EA0008FAEB0008F8E820 +:108A00000010FAE90010F8EA0018FAEB0018F9383B +:108A10000020FB680020F9390021FB690021F01FCC +:108A200000242F7D580CC0412FDDE3CD80E0202DA8 +:108A3000EEC7FF4A306A0E9B1A9CF01F001EF01F03 +:108A4000001E2FED580CC1C02FDDE3CF90E0F8CB16 +:108A5000FFE2306A1A9CF01F0017EECBFF4AFAC6FD +:108A6000FFFA306A0C9CF01F00130C9B1A9C306AB2 +:108A70001A95F01F00125F0C2FDDE3CD80E0ECCBE8 +:108A8000FFE2FAC5FFFA306A0A9CF01F000A0E9B4B +:108A9000306A1A9CF01F00071A9B0A9C306A1A96CB +:108AA000F01F00065F0CCC1B0000026080018944AF +:108AB0008002E736800188B08000917CD401201DBF +:108AC000500C580CC0401A9CF01F00022FFDD80219 +:108AD0008001D3A8D401201D500C580CC0401A9C12 +:108AE000F01F00022FFDD8028001D3A8EBCD40C0BB +:108AF000E06B00E41896300CF01F000A1897C0E0F5 +:108B0000E06A00E40C9BF01F0008ECC9FFF8EECA15 +:108B1000FFF8486B0E9CF01F00060E9CE3CD80C052 +:108B20008001D8DC800091DC8001D3EC8001ACA80E +:108B3000EBCD40C0E06B00EC1896300CF01F000A43 +:108B40001897C0E0E06A00EC0C9BF01F0008ECC92D +:108B5000FFF0EECAFFF0486B0E9CF01F00060E9C63 +:108B6000E3CD80C08001D8DC800091DC8001D3ECB3 +:108B70008001ACA8EBCD40FE129210914A88F0F92A +:108B800000F818933DD8733C316916977874AE8815 +:108B9000AE9930083509AEA8AEB93F283019301665 +:108BA00014954A0B303AAEC8AED9AE36EECCFFF8CB +:108BB000F01F001D069CEF65000BAE76AE66308B95 +:108BC000F01F001A8F5CC290303A496BF01F0016FC +:108BD0006E58B0B28EE86E5C303AF808002C491B33 +:108BE000F01F00116E598EE8F2080028B0B1E919A3 +:108BF00000B0E91800B21208E93900A5A3682F08EF +:108C00001039C030E3CF90FE0F9830092FE8EF59AC +:108C10000010AE98E3CF90FEE3CD80FE000087F415 +:108C200080017B1C800091DC8001D3ECD431201DBD +:108C3000314E1697330BAE9EAE8B1090FACBFFD809 +:108C40007618500818921493129176055805E08A08 +:108C50000006EA0815042EA8AE983016303AAE1673 +:108C600049E4EECCFFFCE8CBFFFCF01F001D049CA8 +:108C7000AEF3AE56AE46AE75EA0B15042F8BF01F61 +:108C800000198F4CC280303AE8CBFFFCF01F001473 +:108C90006E48B0B18EC86E4CE8CBFFFCF808002CD3 +:108CA000303AF01F000F6E498EC8F2080028B0B0AD +:108CB0003289AE695805E08A000D6E488EC98EDC97 +:108CC000EA0A1504120C400BF00C002CF01F0004F3 +:108CD0002FFDDA3A2FFDD83280017B1C800091DC19 +:108CE0008001D3ECEBCD40E0201D500B1897580CC1 +:108CF000C070169A4C4C0E9BF01F0044C6404C4668 +:108D000030080DA9F0091800C050301C2FFDE3CD2C +:108D100080E0ECCCFFE4F01F003FCF815807C2F0A9 +:108D2000301CF01F003DC3304B751A9B4B6CF01F7D +:108D3000003B1897C320F01F003A3018ED4C00CCD0 +:108D4000ACA80E9C3005400BED5500D04B07F01F32 +:108D500000351896581CC3F1EECCFFE4F01F00322A +:108D60004B28F1090142EA091900CD006E98EDB8CF +:108D7000000ECCC0F01F002E0C9CCC9B4A25EAF9BB +:108D80000320EAF803241039CCC1CD0BECCCFFE46E +:108D9000F01F0025301CCBBBECF801245818C04054 +:108DA000301CF01F0024ECCCFFE4F01F001FEAF998 +:108DB0000324EAF803201238CA90301CF01F001672 +:108DC000301CCA5B492AF50B00D2F80B1900C0A071 +:108DD0003FBCC9DBEECCFFE4AEA5F01F00133FBCE7 +:108DE000C96B3018F55800D24909F3080142F6085A +:108DF0001900CEF07498EDB8000ECEB0F01F000C44 +:108E00003FBCC85B000084CC80017B30000087F44D +:108E1000800145DC80019F3080017B7A800145C460 +:108E200080014664800145EC000002608001FBFC8B +:108E30008001A128EBCD40C01897F01F0015C1B0EC +:108E40006E4849468D186E598D2930096E2C8F2930 +:108E50006E486E3BE2180080F9B80001EDF80E0292 +:108E6000F01F000D1897581CC0803008300CACA8BB +:108E7000E3CD80C0E3CF90C0F01F00083008ED4C78 +:108E800000CCED5800D00E9CE3CD80C08001C6A080 +:108E9000000087F480014664800145C4EBCD40802A +:108EA000491A18977498EDB80001C111F4F801241B +:108EB0005818C0A07848951878599529F01F000BCC +:108EC000C091E3CD8080109CE3CD80803FBCE3CD9A +:108ED000808030086E2C6E3B8F28F01F0005E3CD9C +:108EE00080800000000087F48001C6A080018CE42F +:108EF000106104000000000040200700FFFFFFFF9A +:108F0000000000004869F2F802045828C0205EFE04 +:108F1000580CCFE0F2C8FFF099085EFF000077AC74 +:108F20005EFDD7034828912C913B5EFF000077AC93 +:108F300048384849910C930B5EFC000000007540D6 +:108F4000000074B45EFCD703D431202D500C3008DF +:108F5000FAC1FFF81690109402D84A424A43E269D7 +:108F60005A4C089A0819029B009C40085D181895F5 +:108F70005804C0B1584CF80A1780F9BA0B0449DB01 +:108F8000401CF01F001DC2E140165805C1000A97A1 +:108F90005907EE0A1780F9BA0B100C9B1417140628 +:108FA00064085C7A660C5D185807CF310A04E24405 +:108FB0005A4BFE98FFD65875E088000D4018EACC51 +:108FC000000848CBF00C000C2F8B308AF01F000AF1 +:108FD000C0913009009C129A129B40085D182FED39 +:108FE000DA3A30DC2FEDD83200007540000074B45E +:108FF00080018EF08000917CEBCD40FC49F8189404 +:10900000F0C3FDDCF0C7FFBC3072C0B8321A089B59 +:109010000A9CF01F001B1896C1D02C470637C16070 +:10902000EEC5002C5804CF316E08109C5808CF6054 +:10903000F01F00148F04EF44FFF86E185808CEE1BB +:109040008F248F322C470637CEC15804C0D0E3CFCF +:10905000C0FC6ABC580CC080F01F000A8B968BB60F +:109060006AC85808C030E3CF90FC8BD8301C3078E9 +:109070008BE8E3CD80FC0000000077AC8000917CA1 +:10908000800091E8EBCD40FE109114961895169251 +:109090001293F4C80008E0480037E08B00185859D4 +:1090A000C18049D8F0C4FE08F0C7FFE86EB8580880 +:1090B000C1300E9C321A0A9BF01F0018C1D02C47F9 +:1090C0000837CF51307CE3CD80FE30ACE3CD80FE5D +:1090D000129CE3CD80FEECCBFFFF049CF01F001040 +:1090E0000A9B8FBC8F968FD18FE30E9C321AF01F94 +:1090F000000DE3CF90FE6EBCF01F000B049CECCB88 +:10910000FFFFF01F00078FE38FBC8F968FD1E3CF57 +:1091100090FE0000000077AC8000917C8000918878 +:10912000800091DC800091E8D401487BF6F80204CD +:109130005828C020DC0AF6CBFE04306AF01F00037A +:10914000DA0A0000000077AC800091DCEBCD40FE35 +:10915000209D580B5F09580A5F08169314941069F4 +:10916000C341580BC4514A9264585808C2E03005B4 +:10917000FAC1FFFD0A970A9CC0D8ED3A0020FB38DF +:109180000023F4081800C2E00E9C64580E38E088F2 +:10919000001E64482FF7F00C03265803CEF1306A06 +:1091A000089B5804C0A0202D1A9CF01F0019F01F26 +:1091B00000192FED580CC0E05805C0506AC96CC8A2 +:1091C0001238CE350C95CE1B30050A9C2F7DE3CD91 +:1091D00080FE306A089BECCCFFDFF01F000FCD5102 +:1091E000CECB029B0C9CF01F000CCCF1CD9B189BAE +:1091F000069AFACCFFFDF01F0009FB6300234832FA +:1092000064585808CB51CE1B000077AC8002E7367B +:10921000800188B08000917C800091DCEBCD4060C3 +:10922000306A202D169618951A9CF01F0009F01F21 +:1092300000090C9A5F0B0A9CF01F00072FED581CC9 +:10924000F9BC0001F9BC01FFE3CD80608002E73684 +:10925000800188B080016480D4015C6CF01F000440 +:10926000581CF9BC0001F9BC01FFD8028001641C44 +:10927000EBCD406E202D1293189116921495300B61 +:10928000308A1A9CF01F0012306A069B1A96202D15 +:109290001A9CF01F0010F01F001030085F091AD848 +:1092A0000A9A1AD6049B1AD3029C1AD83038F01F97 +:1092B000000B2FAD5BFCC070581CF9BC01FF2FEDFB +:1092C000E3CD806E304C2FEDE3CD806E800091D0E9 +:1092D0008002E736800188B08001661CEBCD406ECD +:1092E00010911892169314951296F01F00113008E1 +:1092F0000C991AD80A9A1AD1069B049CF01F000DEB +:109300002FED583CE0890007582CC085306CE3CD28 +:10931000806E584CC070E3CFC06E5BECC050581CE0 +:10932000CFB1E3CF906E30BCE3CD806E8001A1DC85 +:109330008001F7D8EBCD4040201D10964978F0FE13 +:109340000204582EC0503FFC2FFDE3CD804030EE8C +:10935000FAC8FFFC10DE300E1A985C761ADE1AD6B8 +:10936000F01F000F2FEDFE5CFC17E0890010FE5C83 +:10937000FC16C114FE5CFB4FC070FE5CFBB4C0B0B9 +:10938000FE5CFAECCE11307CCE0B5BECC040581C7E +:10939000CDB1CDBB30BCCD9B000077AC8001F54496 +:1093A000D4014858F0F902045809C030F01F0003F6 +:1093B000D8020000000077AC80014480EBCD40E88B +:1093C0004D56189514971693E06A0218300B0C9CB2 +:1093D000F01F00524D288D05700C8D133005A36CC5 +:1093E000ED450204F01F004F8D4CC031E3CFC0E8C3 +:1093F0000A9CF01F004D581CCFA11AD5F1D7C00808 +:109400000A990A9A310B320CF01F00482FFD581CA4 +:10941000CEE1F01F0047581CCEA11AD50A980A9930 +:109420004C4A0A9B302CF01F00442FFD580CCDF005 +:1094300030670A981AD70A994BEA0A9B322CF01F18 +:10944000003E2FFD580CCD3030780A991AD84B9A2F +:109450000A980A9B323CF01F00382FFD580CCC7044 +:109460001AD50E9C0A980A994B2A0A9BF01F0032C3 +:109470002FFD580CCBC030270A981AD70A994ADA20 +:109480000A9B304CF01F002C2FFD580CCB001AD734 +:109490000A984A8A0A990A9B305CF01F00272FFD20 +:1094A000580CCA50301C0A981ADC0A994A1A0A9BAE +:1094B000F01F00212FFD580CC9A030390A981AD985 +:1094C00049CA0A990A9B31CCF01F001B2FFD580C8A +:1094D000C8E0F01F001A581CC8A1F01F0019581C42 +:1094E000FE91FF860A980C9730490C9A495B0A9CBA +:1094F000F01F0015FE90FF7C189A308B493CF01F3E +:109500000014581CFE91FF74ED4C0204EF45020C50 +:10951000E3CD80E8000077AC800091D000000258D5 +:1095200080009200800200AC8002067C8001FFB4C3 +:109530008001984C80016E788001FD8C8001A00034 +:109540008001955080016AF48003B8048001762878 +:10955000EBCD40E078185B98C031E3CFC0E078569F +:109560005866CFC1783B0C9A4985EAC7FE040E9C29 +:10957000F01F0017303A497B0E9CF01F0017C131D5 +:10958000F01F00163026EB460204F01F00150C9C5D +:10959000F01F00146A195809C14048C8700C5D19C1 +:1095A000E3CF80E037A83C49EB6801FC30E80C9B36 +:1095B0000E9CEB6901FDEB6801FEF01F000BCE1B5A +:1095C000129CE3CD80E00000000077AC800091DCCD +:1095D0008003B80C8000917C8001FD8080020290A5 +:1095E0008002023480017984EBCD40FC7875580B01 +:1095F000F9B80100F7F81A001693EB3900C83FF8E4 +:10960000F0091800C250EB0900D03008F009190029 +:10961000C4D0307430073022EE061502EAF800D8C4 +:109620000C082FF711BC089BF01F0027E08A0009E7 +:10963000EAF800D80C0811B45803E7F21A00EB1846 +:1096400000D00E38FE99FFEA089CE3CD80FCEB3891 +:1096500000A4F2081800C250EB0900B03008F0096D +:109660001900C240307430073012EE061502EAF8D5 +:1096700000B80C082FF711BC089BF01F0013E08AFC +:109680000009EAF800B80C0811B45803E7F21A0010 +:10969000EB1800B00E38FE99FFEA089CE3CD80FC81 +:1096A000787992D8EDB80004C040307CE3CD80FCDE +:1096B000307B305CF01F0004FE9AFFF9305CE3CD94 +:1096C00080FC000080017E60D431201D4D876E58E3 +:1096D0005808C0E030060C996E48F009032CF01FC2 +:1096E00000552FF66E580C990C38FE9BFFF730068C +:1096F0001A9B8F560C9CF01F00501A94400C580C6B +:10970000C0312FFDD832A36CF01F004C1890CFA0B1 +:10971000400A0C9BA36AF01F004A40085808E08AE0 +:1097200000260C950096C0782FF52FC640080A3801 +:10973000E08A001D350CF01F00418D0CCF614009FF +:109740005809E08A000F009530062FF66A0C580C75 +:10975000C040F01F003840092FC50C39FE99FFF7B3 +:10976000009CF01F00342FFDD8321A9B009CF01F84 +:1097700000324B4972084009F0090D488F585808CB +:10978000CE00300408930891A363E003000264084C +:109790006E467135344CF01F0029F9410040060631 +:1097A0008D0C6A796E48F2CBFFF2F0030306F33AB0 +:1097B000000D0C9CF01F00246A78F139000D306A0E +:1097C000ED690020ECCCFFDF640B2E2BF01F001E98 +:1097D000029B0A9CF01F001DED6C00386A498DC980 +:1097E0006A585808F9B805008DD86A79F338005ED0 +:1097F000ED6800276A7992C88DA80BF9ED59002C05 +:1098000030290BEAF20A1800E2081710F9B8000133 +:109810008DF830286E49F20309062FF4F00A18007B +:1098200008936E580838FE9BFFB1C8AB000077ACB8 +:10983000800091E88002105880009200800091D052 +:1098400000000258800091DC800195E8EBCD40C01B +:10985000201D1696582BC680E0880013586BC590C3 +:10986000587BC2D0583BC4804C076E295809C05061 +:109870004BE80C9C703B5D192FFDE3CD80C0580B6D +:10988000C0F14BA7EEF902085819C6C0EEF8020C59 +:109890003019A1D8EF690210EF48020CCE7B581B9B +:1098A000CE414B273008EEF9020C4B1AA3A9EF6802 +:1098B0000210A1D9B488EF49020CCD8B4ACA3008F6 +:1098C0001589F0091800C4C14A87EEF8020CEDB8FA +:1098D0000001CD31EF380210F2081800CCE1F01F82 +:1098E0000025F01F0025EEF8020C3016E018FFF9F5 +:1098F000EF48020CCBBBF01F002049C7EEF9020C69 +:10990000EDB90004CBA11298A5C8EF48020CCAEB30 +:1099100049673019EEF8020CEF690210A1D8300641 +:10992000EF48020CCA3B4917EEF8020CA3C81A9C78 +:10993000EF48020CF01F001140085828C050F01FDB +:10994000000DF01F000D300A4898B08AEF39021060 +:10995000F4091800C9204858F16A0210C87BB4887D +:10996000C8CB4838B089C89B000077AC000079C4E8 +:1099700080021298800196C8800177A4D401201D2E +:1099800048F9F2F802045828C0302FFDD80AF339FC +:1099900002103008F0091800C0711A9CF01F00096D +:1099A00040085828CF31F01F0008CF00F8CAFFE266 +:1099B000300B169CF01F00052FFDD802000077AC7D +:1099C000800177A4800210FC8001914CEBCD408097 +:1099D000201D4967EEF802045828C0503FFC2FFDB7 +:1099E000E3CD8080F01F0012C051302C2FFDE3CD5D +:1099F0008080EEF9020CEDB90002CF10EDB9000144 +:109A0000C031309CCEDB1A9CF01F000A4008580879 +:109A1000CED0F01F0009581CCE21EEF8020CA3A8EE +:109A2000EF48020CCDDB0000000077AC800210FC98 +:109A3000800211088001F370EBCD40C020AD189872 +:109A40001697580BC07076DC581CC0402F6DE3CDC4 +:109A500080C0109BF13A0020FAC6FFFE0C9CF01F5C +:109A6000001B0C9B209D322A1A9CF01F0019F01F2E +:109A700000192F7D580CCEB0793CFACBFFDCF01FDB +:109A8000001640985818C150C0923058F808180075 +:109A9000F9BC0003F9BC0102CDAB5828C030301C22 +:109AA000CD6B5807C0D06EC85808C0A0305CCCFB46 +:109AB0005807C0806EC85808C050304CCC8B307CE2 +:109AC000CC6B306CCC4B00008002113C8002E7363E +:109AD0008001F2BC800195E8D43120EDFEF3029CB8 +:109AE000FAC1FFA4E6F8020C18971694E2180006D3 +:109AF000C040309C2F2DD832F01F00A1C040308CC8 +:109B00002F2DD832E74C02085807C130BA8CF5D453 +:109B1000C008FAC6FFFEBA9A0E9B0C9CF01F009973 +:109B20000C9C1B9BF01F0098581CC0802F2DDC3A0A +:109B3000BA97BA87FAC6FFFECF4B029CF01F00937C +:109B40001892581CCF41029A089B0E9CF01F00905F +:109B50001890C580E6C7FFE8E6C6FE08EF3A002089 +:109B6000E1380020F4081800E08000A02C470C37F2 +:109B7000CF6130070E950E9B009CF01F0086E136EA +:109B800000381897CD40585CE08000C2E08B00B9E7 +:109B9000583CE08000B4584CC020300CF01F007ED0 +:109BA0003048F0061800E08000A83054E80618009D +:109BB000E08000983028F0061800E080009A300C11 +:109BC000F01F0076E8061800E080008F300CF01FD0 +:109BD00000745837E08B007960F85818C710301CB3 +:109BE000F01F0070300B4F0CF01F0070CA00F01F08 +:109BF0000070581CC9C1E6F8020CA1B8E748020C75 +:109C0000C7ABFAC5FFCE306A029B0A9CF01F005D0D +:109C1000FAC6FFDE0C9CF01F00673FF81AD00C9BC1 +:109C20001AD2310A1AD8204D1A9CF01F00630A9BE1 +:109C3000202D306A1A9CF01F00600499209DE6CC0C +:109C4000FDECFB380069FAEA0048FAE20050FB68D4 +:109C50000021FAEB0000FB380068FAEA0058FAE34A +:109C60000008FAE20060FAEB0010FAE30018FB6863 +:109C70000020303A0098129B4C03F01F00502EED4C +:109C80001895581CFE91FF54009BE6FC0214F01F2F +:109C9000004C5BBCC620580CC3E1189BE6FC0214C8 +:109CA000F01F00483FFCC27B0E9C009BF01F00464B +:109CB000FE91FF5E6EB55805EA071700C5DB302C34 +:109CC000F01F0038C90B5805FE90FF320A9AE13B9D +:109CD0000020009CF01F003D3018E7480208C7DB59 +:109CE000301CF01F002E301CF01F002DC73B302C05 +:109CF000F01F002AC6CB303CCFCB301CC50B586CB4 +:109D0000C080587CFE91FF4B308CC49B307CC47B60 +:109D1000305CC45B344CF01F002E089A18960E9BE2 +:109D2000F01F0018029B306AED640020ECCCFFDFCE +:109D3000F01F001400991AD60A984A6A009B31CC89 +:109D4000F01F00252FFD580CC0E0E6F8020C0A9C1D +:109D5000A1B8E748020CCCFA009BE6FC0214F01F05 +:109D60000019CC8A189BE6FC0214F01F00160C9C0C +:109D7000F01F001A3FFCCBFA000077AC800210FC09 +:109D8000800091DC800178BC800179788001914C61 +:109D900080019A3880015F60800163488001639C84 +:109DA00080017A1080018F208001FD408001F3A0A6 +:109DB000800177C08002E73680020BFC80020A70C7 +:109DC00080020B408000917C800214708000920021 +:109DD00080019E0080016E78800091E8D401202DE2 +:109DE000FACAFFF415D8BAD87409500915C8300B4F +:109DF000BAC8169CF01F00022FEDD80280019AD835 +:109E0000EBCD40E049F51697EAFC0214300BF01F49 +:109E1000001EF01F001EEEC6FFDFEF3B00200C9A75 +:109E20000E9CF01F001BC150EAF8020CA1D8202D97 +:109E30000C9BEB48020C306A1A9CEF360020F01F96 +:109E400000150C9B0E9CF01F00142FED581CC060D9 +:109E5000EAF8020CEDB80001C0600E9CF01F000F84 +:109E6000E3CD80E0301B300CF01F000D302B300CA8 +:109E7000F01F000B0E9CF01F0009E3CD80E00000F6 +:109E8000000077AC80020B40800196C88001914CA5 +:109E90008002E73680019AD8800091E88001984CD2 +:109EA000EBCD40E0202D18951697580CC0513FFC83 +:109EB0002FEDE3CD80E0580BCFB0E04B0020FE9BB0 +:109EC000FFF8FAC6FFFE306AE06B00FF0C9CF01F43 +:109ED0000008306A202D0C9B1A9CF01F00060E9B78 +:109EE0000A9CF01F00052FEDCE4B0000800091D0A2 +:109EF0008002E73680019AD8EBCD408048B7EEF873 +:109F000002045828C030E3CFC080F01F0009581C5D +:109F1000F9BC0109EFF80083F9B90010F1D9E03874 +:109F2000EFF80A83E3CD8080000077AC80020A84DA +:109F3000D40148B9F338000A104CF36C000A7218C7 +:109F40005808C0B05828C0803028726C9318301B55 +:109F500072595D19D80AD80ADA0A0000000079C8D7 +:109F60004828916B915C5EFC000079C8EBCD40C045 +:109F7000203D5CBBBA89502B109714965CC85C8856 +:109F80005807C0513FFC2FDDE3CD80C05C784959B4 +:109F90005018B28C3048FAC9FFF8300A306B492C9F +:109FA000F01F0012581CCEF11B89491A1898B48969 +:109FB000306B1A99300A48FCF01F000C581CCE3147 +:109FC00048D8300AB007306B304848CCFA0800094E +:109FD000F01F0006581CCD7148989146CD5B0000DB +:109FE00000007A288003B8108001776C0000025CC2 +:109FF0008003B8180000025E8003B820000079C812 +:10A00000EBCD40C030074A161AD78D078D17ED6784 +:10A010000008ED670009ED67000A8D378D470E983F +:10A020000E9949BA0E9B302CF01F001A2FFD580CC8 +:10A03000C0413FFCE3CD80C01AD70E980E99496A03 +:10A040000E9B304CF01F00132FFD580CCF301AD749 +:10A050000E980E99491A0E9B32ECF01F000E2FFD40 +:10A06000580CCE8031483019E06A138830AB0E9C12 +:10A07000F01F000B581CCDE10E9BECCCFFF4F01F41 +:10A080000009581CCD71CD7B000079C88001A0F07B +:10A0900080016E788001A1A08001A0A480019F6C46 +:10A0A000800144F8D401F01F000E48EA74085838C3 +:10A0B000C12030289508F539000A3008F009180049 +:10A0C000C020D8023018300B9518487C487AF01F11 +:10A0D0000008D80230089508D80200008001DA365E +:10A0E000000079C88001DA5880018E348001EF20A9 +:10A0F000EBCD408048973018EF6800086E4958094A +:10A10000C0A0308CF01F00066E4C3009485A6E3BE0 +:10A11000F01F0005E3CD8080000079C880019F30EA +:10A120008001A1CC80014558D4014989F80C11FF68 +:10A13000F338000A106CF36C000AC1E1F33800092F +:10A14000F8081800C19072185808C161F338000867 +:10A15000F8081800C06072085808C0F05818C0C04D +:10A160003018300B931848AA48ACF01F000B300B86 +:10A17000331CF01F000AD802301B485A930B488C3E +:10A18000F01F0005D8020000000079C880018E345D +:10A190008001DA588001EF2080016D6C8001DA8443 +:10A1A000EBCD404048766C3CF01F0007308CF01F30 +:10A1B000000730083009ED6800088D09E3CD8040C4 +:10A1C000000079C8800145308001A128D401308C7D +:10A1D000F01F0002D80A00008001A128EBCD4080CA +:10A1E00048E76E185828C030E3CD80806E58300B99 +:10A1F0006E6C5D18300B8F1B4899F2FA0324F2F84D +:10A2000003201438C040169CF01F0006300B332C7E +:10A21000F01F0005E3CD8080000079C8000084CCE9 +:10A2200080018CE480016D6CEBCD40C018971696D0 +:10A23000F01F0009C0C06E0C581CC0700C9B0E9C17 +:10A24000F01F0006CF91302CE3CD80C03FDCE3CD82 +:10A2500080C000008001462C80014636EBCD404096 +:10A26000301818969908F01F00040C9CF01F00038A +:10A27000E3CD80408001463280014634D401580C41 +:10A28000C030F01F0002D80280014630D4013008EF +:10A290009908F01F0002D8028001462ED401189EB2 +:10A2A000580AC0C196199688F9D9C010103CC165EA +:10A2B000F2C8FFFF973AB618D802581AC06096192C +:10A2C000F2C8FFFFB618D802969996881039C0F4E4 +:10A2D0007648F0090709B889CF3B1D897648F00C0C +:10A2E0000B099619F2C8FFFFB618D8023008973844 +:10A2F000B8889619F2C8FFFFB618D802EBCD408097 +:10A300001897580AC1D1961C9689FDDCC010FCC86C +:10A31000FFFF1238F7FA4A03F7F85004F1DEE508B8 +:10A32000EFF95801F1F95E00EFFA5800F1FA5E0119 +:10A33000F7FC5201F8C8FFFEB618E3CD8080581A2A +:10A34000C070961CF8C8FFFEB618E3CD8080969AC0 +:10A350009689F4C8FFFF1238C09476481408119902 +:10A36000B889118AB89A961CCEEB30089738B8088D +:10A37000961CF8C8FFFEB618E3CD8080EBCD408078 +:10A38000189E169C580AC0F1961B9889EFDBC010E6 +:10A39000EEC8FFFD1238C205F6C8FFFC993AB8189E +:10A3A000E3CD8080581AC070981BF6C8FFFCB8181F +:10A3B000E3CD8080969B9889F6C8FFFD1238C1C412 +:10A3C000784A160A15B8BC8815A9BC991598BCA876 +:10A3D0001589BCB9CEAB1DB8784A0E0AB4881DA940 +:10A3E000B4991D98B4A81D89B4B9981BF6C8FFFC90 +:10A3F000B818E3CD8080300899389D08981BF6C8BE +:10A40000FFFCB818E3CD8080EBCD4068189316951B +:10A410001496F01F000C0C9A0A9BE6CCFFFFF01F6D +:10A4200000090C9A0A9BE6CCFFFEF01F00060C9A6E +:10A430000A9BE6CCFFFDF01F0003E3CD806800001F +:10A440008001A29CD4211697189596141496F01F9B +:10A4500000080C9A0E9BEACCFFFEF01F00060BC80A +:10A460005808F1D4E108EFF81C01D8228001A2FCC1 +:10A470008001A408EBCD4068189316951496F01F40 +:10A4800000060C9A0A9BE6CCFFFCF01F0003E3CD0C +:10A49000806800008001A37CEBCD4068189316957E +:10A4A0001496F01F00090C9A0A9BE6CCFFFCF01FE3 +:10A4B00000070C9A0A9BE6CCFFFAF01F0004E3CDDC +:10A4C000806800008001A37C8001A2FCEBCD406885 +:10A4D000189316951496F01F000F0C9A0A9BE6CC61 +:10A4E000FFFCF01F000D0C9A0A9BE6CCFFFBF01F4F +:10A4F000000A0C9A0A9BE6CCFFFAF01F00070C9AA0 +:10A500000A9BE6CCFFF9F01F0004E3CD8068000051 +:10A510008001A37C8001A29CEBCD40681893169526 +:10A520001496F01F000C0C9A0A9BE6CCFFFCF01F5F +:10A53000000A0C9A0A9BE6CCFFFAF01F00080C9A5E +:10A540000A9BE6CCFFF9F01F0005E3CD8068000010 +:10A550008001A37C8001A2FC8001A29CEBCD40681D +:10A56000189316951496F01F00150C9A0A9BE6CCCA +:10A57000FFFCF01F00120C9A0A9BE6CCFFF8F01FBC +:10A5800000100C9A0A9BE6CCFFF6F01F000D0C9A07 +:10A590000A9BE6CCFFF4F01F00090C9A0A9BE6CC5C +:10A5A000FFF0F01F00070C9A0A9BE6CCFFEEF01FAD +:10A5B0000004E3CD806800008001A37C8001A2FC40 +:10A5C000EBCD4068189316951496F01F00090C9A6D +:10A5D0000A9BE6CCFFFCF01F00060C9A0A9BE6CC17 +:10A5E000FFF8F01F0003E3CD806800008001A37C2A +:10A5F000EBCD4068189316951496F01F00060C9A40 +:10A600000A9BE6CCFFFCF01F0003E3CD806800004E +:10A610008001A37CEBCD4068189316951496F01F2B +:10A62000000C0C9A0A9BE6CCFFFCF01F00090C9A68 +:10A630000A9BE6CCFFF8F01F00060C9A0A9BE6CCBA +:10A64000FFF4F01F0003E3CD806800008001A37CCD +:10A65000EBCD4068189316951496F01F00330C9AB2 +:10A660000A9BE6CCFFFCF01F00300C9A0A9BE6CC5C +:10A67000FFF8F01F002D0C9A0A9BE6CCFFF4F01FA8 +:10A68000002B0C9A0A9BE6CCFFF2F01F00280C9AD4 +:10A690000A9BE6CCFFF0F01F00250C9A0A9BE6CC43 +:10A6A000FFEEF01F00220C9A0A9BE6CCFFECF01F95 +:10A6B000001F0C9A0A9BE6CCFFEAF01F001C0C9AC4 +:10A6C0000A9BE6CCFFE8F01F00190C9A0A9BE6CC27 +:10A6D000FFE6F01F00160C9A0A9BE6CCFFE4F01F81 +:10A6E00000130C9A0A9BE6CCFFE2F01F00110C9AB3 +:10A6F0000A9BE6CCFFE1F01F000E0C9A0A9BE6CC09 +:10A70000FFE0F01F00090C9A0A9BE6CCFFDCF01F6B +:10A7100000060C9A0A9BE6CCFFD8F01F0005E3CD9B +:10A72000806800008001A37C8001A2FC8001A29CC3 +:10A73000EBCD4068189316951496F01F00120C9AF2 +:10A740000A9BE6CCFFFCF01F00100C9A0A9BE6CC9B +:10A75000FFFBF01F000D0C9A0A9BE6CCFFFAF01FDE +:10A76000000A0C9A0A9BE6CCFFF9F01F00070C9A2E +:10A770000A9BE6CCFFF8F01F0004E3CD80680000E0 +:10A780008001A37C8001A29CEBCD406818931695B4 +:10A790001496F01F00060C9A0A9BE6CCFFFCF01FF3 +:10A7A0000003E3CD806800008001A37CEBCD40680E +:10A7B000189316951496F01F00060C9A0A9BE6CC87 +:10A7C000FFFCF01F0003E3CD806800008001A37C44 +:10A7D000EBCD4068189316951496F01F00060C9A5E +:10A7E0000A9BE6CCFFFCF01F0003E3CD806800006D +:10A7F0008001A37CEBCD4068189316951496F01F4A +:10A8000000060C9A0A9BE6CCFFFCF01F0003E3CD88 +:10A81000806800008001A37CEBCD406818931695FA +:10A820001496F01F00060C9A0A9BE6CCFFFCF01F62 +:10A830000003E3CD806800008001A37CEBCD40687D +:10A84000189316951496F01F00060C9A0A9BE6CCF6 +:10A85000FFFCF01F0003E3CD806800008001A37CB3 +:10A86000EBCD4068189316951496F01F00060C9ACD +:10A870000A9BE6CCFFFCF01F0003E3CD80680000DC +:10A880008001A37CEBCD4068189316951496F01FB9 +:10A8900000060C9A0A9BE6CCFFFCF01F0003E3CDF8 +:10A8A000806800008001A37CEBCD4068189316956A +:10A8B0001496F01F00060C9A0A9BE6CCFFFCF01FD2 +:10A8C0000004E3CD806800008001A37C8001A650D5 +:10A8D000EBCD4068189316951496F01F00060C9A5D +:10A8E0000A9BE6CCFFFCF01F0003E3CD806800006C +:10A8F0008001A37CEBCD4068189316951496F01F49 +:10A9000000090C9A0A9BE6CCFFFCF01F00060C9A8B +:10A910000A9BE6CCFFF8F01F0003E3CD806800003F +:10A920008001A37CEBCD4068189316951496F01F18 +:10A9300000060C9A0A9BE6CCFFFCF01F0003E3CD57 +:10A94000806800008001A37CEBCD406818931695C9 +:10A950001496F01F00090C9A0A9BE6CCFFFCF01F2E +:10A9600000060C9A0A9BE6CCFFF8F01F0003E3CD2B +:10A97000806800008001A37CEBCD40681893169599 +:10A980001496F01F00090C9A0A9BE6CCFFFCF01FFE +:10A9900000060C9A0A9BE6CCFFF8F01F0003E3CDFB +:10A9A000806800008001A37CEBCD40681893169569 +:10A9B0001496F01F00060C9A0A9BE6CCFFFCF01FD1 +:10A9C0000003E3CD806800008001A37CEBCD4068EC +:10A9D000189316951496F01F00090C9A0A9BE6CC62 +:10A9E000FFFCF01F00060C9A0A9BE6CCFFF8F01F54 +:10A9F0000003E3CD806800008001A37CEBCD4068BC +:10AA0000189316951496F01F00060C9A0A9BE6CC34 +:10AA1000FFFCF01F0003E3CD806800008001A37CF1 +:10AA2000EBCD4068189316951496F01F00090C9A08 +:10AA30000A9BE6CCFFFCF01F00060C9A0A9BE6CCB2 +:10AA4000FFF8F01F0003E3CD806800008001A37CC5 +:10AA5000EBCD4068189316951496F01F00090C9AD8 +:10AA60000A9BE6CCFFFCF01F00060C9A0A9BE6CC82 +:10AA7000FFF8F01F0003E3CD806800008001A37C95 +:10AA8000EBCD4068189316951496F01F00060C9AAB +:10AA90000A9BE6CCFFFCF01F0003E3CD80680000BA +:10AAA0008001A37CEBCD4068189316951496F01F97 +:10AAB00000060C9A0A9BE6CCFFFCF01F0003E3CDD6 +:10AAC000806800008001A37CEBCD40681893169548 +:10AAD0001496F01F00060C9A0A9BE6CCFFFCF01FB0 +:10AAE0000003E3CD806800008001A37CEBCD4068CB +:10AAF000189316951496F01F00060C9A0A9BE6CC44 +:10AB0000FFFCF01F0004E3CD806800008001A37CFF +:10AB10008001A29CEBCD4068189316951496F01F07 +:10AB200000060C9A0A9BE6CCFFFCF01F0004E3CD64 +:10AB3000806800008001A37C8001D434EBCD4068A4 +:10AB4000189316951496F01F00330C9A0A9BE6CCC6 +:10AB5000FFDEF01F00310C9A0A9BE6CCFFD4F01FF9 +:10AB6000002F0C9A0A9BE6CCFFC2F01F002D0C9A16 +:10AB70000A9BE6CCFFBFF01F002B0C9A0A9BE6CC89 +:10AB8000FFBCF01F00290C9A0A9BE6CCFFB0F01F17 +:10AB900000270C9A0A9BE6CCFFACF01F00250C9A0C +:10ABA0000A9BE6CCFFA4F01F00230C9A0A9BE6CC7C +:10ABB000FF9CF01F00210C9A0A9BE6CCFF98F01F27 +:10ABC000001F0C9A0A9BE6CCFF8CF01F001D0C9A0C +:10ABD0000A9BE6CCFF72F01F001B0C9A0A9BE6CC86 +:10ABE000FF68F01F00190C9A0A9BE6CCFF44F01F87 +:10ABF00000170C9A0A9BE6CCFF50F01F00150C9A28 +:10AC00000A9BE6CCFF30F01F0013E3CD8068000004 +:10AC10008001D3448001D2DC8001D2748001CAF863 +:10AC20008001C9D88001D8608001CA688001CA9CAF +:10AC30008001CA0C8001C9A48001D4348001CDB444 +:10AC40008001CE848001D5588001D6B08001D4E443 +:10AC50008001CFFCEBCD4068189316951496F01F39 +:10AC6000000F0C9A0A9BE6CCFFFCF01F000D0C9A1B +:10AC70000A9BE6CCFFFAF01F000B0C9A0A9BE6CC6D +:10AC8000FFF9F01F00080C9A0A9BE6CCFFF8F01FB2 +:10AC90000006E3CD806800008001A37C8001A2FC57 +:10ACA0008001A29C8001AB3CEBCD406C14951296C8 +:10ACB00018921693E06A00DC129B0A9CF01F001A9F +:10ACC000ECC9FF98EACAFF98069B049CF01F001786 +:10ACD000ECC9FFBCEACAFFBC069B049CF01F001431 +:10ACE000ECC9FF68EACAFF68069B049CF01F0011CC +:10ACF000ECC9FF50EACAFF50069B049CF01F000EEF +:10AD0000ECC9FF44EACAFF44069B049CF01F000BF9 +:10AD1000ECC9FF30EACAFF30069B049CF01F000814 +:10AD2000E3CD806C8002E7368001D1588001D24C9F +:10AD30008001D1E88001D1C08001D21C8001CF9C6C +:10AD4000EBCD40EC1296F2E80000F4E90000ECE8EC +:10AD50000008F4E90008ECE20010F4E30010ECE86D +:10AD6000001814971695F4E90018E06B00E85D15DB +:10AD70008F7CC0D030CA6C7BF01F00066E7A6C7975 +:10AD8000149C0A9B2F492F4AF01F0003E3CD80EC4F +:10AD9000800091DC8001ACA8EBCD40C014971696E2 +:10ADA00074385808C160949E948AF60E00081438CE +:10ADB000F5DEE916F9B80900EFF89A03580CC090CF +:10ADC0005809C0C1189B0C9A6E4C1C0CF01F000A4D +:10ADD0008E180C08AE18E3CD80C05819CFA16E4B69 +:10ADE0000C9A1C0BF01F00048E180C08AE18E3CD53 +:10ADF00080C00000800091DCEBCD40E016971496F7 +:10AE00001895581AC0B0F01F000C0C99189B0E9A98 +:10AE10000A9CF01F000AE3CD80E09698968614996C +:10AE20001016169A0C9BF01F00053008EA060B0856 +:10AE3000E3CD80E0800091B88001AD98EBCD406813 +:10AE4000189316951496F01F00060C9A0A9BE6CCF0 +:10AE5000FFFCF01F0004E3CD806800008001A37CAC +:10AE60008001ADF8EBCD4068189316951496F01F4D +:10AE700000060C9A0A9BE6CCFFFCF01F0004E3CD11 +:10AE8000806800008001A37C8001ADF8EBCD4068B4 +:10AE9000189316951496F01F000F0C9A0A9BE6CC97 +:10AEA000FFFCF01F000C0C9A0A9BE6CCFFF8F01F89 +:10AEB00000090C9A0A9BE6CCFFF4F01F00060C99DF +:10AEC0000A9AE6CCFFF0320BF01F0003E3CD806856 +:10AED0008001A37C8001AD98EBCD40681893169556 +:10AEE0001496F01F000C0C9A0A9BE6CCFFFCF01F96 +:10AEF00000090C9A0A9BE6CCFFF8F01F00060C999B +:10AF00000A9AE6CCFFF4320BF01F0003E3CD806811 +:10AF10008001A37C8001AD98EBCD40681893169515 +:10AF20001496F01F000C0C9A0A9BE6CCFFFCF01F55 +:10AF300000090C9A0A9BE6CCFFF8F01F00070C9959 +:10AF40000A9AE6CCFFF7303BF01F0004E3CD80689F +:10AF50008001A37C8001A29C8001AD98EBCD40686C +:10AF6000189316951496F01F00180C9A0A9BE6CCBD +:10AF7000FFFCF01F00150C9A0A9BE6CCFFF8F01FAF +:10AF800000120C9A0A9BE6CCFFF4F01F000F0C9AFB +:10AF90000A9BE6CCFFF0F01F000C0C9A0A9BE6CC53 +:10AFA000FFECF01F000A0C9A0A9BE6CCFFEAF01FA8 +:10AFB00000080C990A9AE6CCFFE9303BF01F000527 +:10AFC000E3CD80688001A37C8001A2FC8001A29C6B +:10AFD0008001AD98EBCD4068189316951496F01F3C +:10AFE00000280C9A0A9BE6CCFFFCF01F00250C9A67 +:10AFF0000A9BE6CCFFF8F01F00220C9A0A9BE6CCD5 +:10B00000FFF4F01F00200C9A0A9BE6CCFFF2F01F21 +:10B01000001E0C9A0A9BE6CCFFF1F01F001B0C9A55 +:10B020000A9BE6CCFFF0F01F00180C9A0A9BE6CCB6 +:10B03000FFEFF01F00150C9A0A9BE6CCFFEEF01F05 +:10B0400000120C990A9AE6CCFFED306BF01F000F4E +:10B050000C9A0A9BE6CCFFE7F01F000B0C9A0A9BA8 +:10B06000E6CCFFE6F01F00080C990A9AE6CCFFE553 +:10B07000320BF01F0006E3CD806800008001A37C46 +:10B080008001A2FC8001A29C8001AD98EBCD4068BC +:10B09000189316951496F01F00150C9A0A9BE6CC8F +:10B0A000FFFCF01F00120C9A0A9BE6CCFFF8F01F81 +:10B0B000000F0C9A0A9BE6CCFFF4F01F000C0C9AD0 +:10B0C0000A9BE6CCFFF0F01F000A0C9A0A9BE6CC24 +:10B0D000FFEEF01F00080C990A9AE6CCFFED303B1A +:10B0E000F01F0005E3CD80688001A37C8001A2FCF5 +:10B0F0008001A29C8001AD98EBCD40681893169515 +:10B100001496F01F00120C9A0A9BE6CCFFFCF01F6D +:10B1100000100C9A0A9BE6CCFFFBF01F000D0C9967 +:10B120000A9AE6CCFFFA302BF01F000A0C9A0A9B11 +:10B13000E6CCFFF8F01F00050C9A0A9BE6CCFFF462 +:10B14000F01F0002E3CD80688001A37C8001A29CF7 +:10B150008001AD98EBCD4068189316951496F01FBA +:10B1600000120C9A0A9BE6CCFFFCF01F00100C9A10 +:10B170000A9BE6CCFFFBF01F000D0C990A9AE6CC67 +:10B18000FFFA302BF01F000A0C9A0A9BE6CCFFF85E +:10B19000F01F00050C9A0A9BE6CCFFF4F01F00029A +:10B1A000E3CD80688001A37C8001A29C8001AD98E2 +:10B1B000EBCD4068189316951496F01F000C0C9A6E +:10B1C0000A9BE6CCFFFCF01F000A0C9A0A9BE6CC17 +:10B1D000FFFBF01F00070C990A9AE6CCFFFA302B10 +:10B1E000F01F0004E3CD80688001A37C8001A29C55 +:10B1F0008001AD98EBCD4068189316951496F01F1A +:10B2000000090C9A0A9BE6CCFFFCF01F00070C9982 +:10B210000A9AE6CCFFFB303BF01F0004E3CD8068C8 +:10B220008001A37C8001A29C8001AD98EBCD406899 +:10B23000189316951496F01F00090C9A0A9BE6CCF9 +:10B24000FFFCF01F00070C990A9AE6CCFFFB303B8D +:10B25000F01F0004E3CD80688001A37C8001A29CE4 +:10B260008001AD98EBCD4068189316951496F01FA9 +:10B2700000090C9A0A9BE6CCFFFCF01F00070C9912 +:10B280000A9AE6CCFFFB303BF01F0004E3CD806858 +:10B290008001A37C8001A29C8001AD98EBCD406829 +:10B2A000189316951496F01F000C0C9A0A9BE6CC86 +:10B2B000FFFCF01F00090C9A0A9BE6CCFFF8F01F78 +:10B2C00000070C990A9AE6CCFFF7303BF01F000408 +:10B2D000E3CD80688001A37C8001A29C8001AD98B1 +:10B2E000EBCD4068189316951496F01F000C0C9A3D +:10B2F0000A9BE6CCFFFCF01F00090C9A0A9BE6CCE7 +:10B30000FFF8F01F00070C990A9AE6CCFFF7303BD4 +:10B31000F01F0004E3CD80688001A37C8001A29C23 +:10B320008001AD98EBCD4068189316951496F01FE8 +:10B33000000C0C9A0A9BE6CCFFFCF01F00090C9A4B +:10B340000A9BE6CCFFF8F01F00070C990A9AE6CC9E +:10B35000FFF7303BF01F0004E3CD80688001A37C41 +:10B360008001A29C8001AD98EBCD406818931695A2 +:10B370001496F01F000C0C9A0A9BE6CCFFFCF01F01 +:10B3800000090C9A0A9BE6CCFFF8F01F00070C9905 +:10B390000A9AE6CCFFF7303BF01F0004E3CD80684B +:10B3A0008001A37C8001A29C8001AD98EBCD406818 +:10B3B000189316951496F01F00090C9A0A9BE6CC78 +:10B3C000FFFCF01F00070C990A9AE6CCFFFB303B0C +:10B3D000F01F0004E3CD80688001A37C8001A29C63 +:10B3E0008001AD98EBCD4068169514961893F01F28 +:10B3F00000220C990A9AE6CCFFFC308BF01F001F4C +:10B400000C9A0A9BE6CCFFF4F01F001B0C9A0A9BD7 +:10B41000E6CCFFF0F01F00180C9A0A9BE6CCFFEC7C +:10B42000F01F00150C9A0A9BE6CCFFE8F01F0012F3 +:10B430000C9A0A9BE6CCFFE4F01F000F0C9A0A9BC3 +:10B44000E6CCFFE0F01F000E0C9A0A9BE6CCFFDE74 +:10B45000F01F000B0C9A0A9BE6CCFFDCF01F0008E3 +:10B460000C990A9AE6CCFFDA302BF01F0004E3CDEA +:10B47000806800008001A37C8001AD988001A2FC5F +:10B48000EBCD4068189316951496F01F00090C9A9E +:10B490000A9BE6CCFFFCF01F00070C990A9AE6CC49 +:10B4A000FFFB303BF01F0004E3CD80688001A37CEC +:10B4B0008001A29C8001AD98EBCD40681695149652 +:10B4C0001893F01F00060C990A9AE6CCFFFC308B0B +:10B4D000F01F0003E3CD80688001A37C8001AD985C +:10B4E000EBCD4068189316951496F01F00090C9A3E +:10B4F0000A9BE6CCFFFCF01F00070C990A9AE6CCE9 +:10B50000FFFB303BF01F0004E3CD80688001A37C8B +:10B510008001A29C8001AD98EBCD406818931695F0 +:10B520001496F01F00100C9A0A9BE6CCFFFCF01F4B +:10B53000000E0C990A9AE6CCFFFB306BF01F000B53 +:10B540000A9AE6CCFFF50C99306BF01F00080C9AB4 +:10B550000A9BE6CCFFEFF01F0004E3CD80680000FB +:10B560008001A37C8001A29C8001AD98EBCD406856 +:10B57000169514961893F01F000C0C990A9AE6CCB5 +:10B58000FFFC306BF01F00090C9A0A9BE6CCFFF61B +:10B59000F01F00070C9A0A9BE6CCFFF5F01F000491 +:10B5A000E3CD80688001A37C8001AD988001A29CDE +:10B5B000EBCD4068169514961893F01F000D0C996A +:10B5C0000A9AE6CCFFFC306BF01F000A0A9AE6CC20 +:10B5D000FFF60C99302BF01F00070C9A0A9BE6CC63 +:10B5E000FFF4F01F0005E3CD806800008001A37C1C +:10B5F0008001AD988001AB3CEBCD40681695149668 +:10B600001893F01F000D0C990A9AE6CCFFFC306BE2 +:10B61000F01F000A0A9AE6CCFFF60C99302BF01FB7 +:10B6200000070C9A0A9BE6CCFFF4F01F0005E3CD5F +:10B63000806800008001A37C8001AD988001AB3C54 +:10B64000EBCD4068169514961893F01F00100C99D6 +:10B650000A9AE6CCFFFC306BF01F000D0C9A0A9B97 +:10B66000E6CCFFF6F01F000B0C9A0A9BE6CCFFF429 +:10B67000F01F00080C990A9AE6CCFFF2302BF01F5D +:10B680000004E3CD806800008001A37C8001AD98B8 +:10B690008001A2FCEBCD4068169514961893F01F1C +:10B6A000000A0C990A9AE6CCFFFC306BF01F0007E9 +:10B6B0000C990A9AE6CCFFF6302BF01F0004E3CD7C +:10B6C000806800008001A37C8001AD98EBCD4068CC +:10B6D000169514961893F01F000A0C990A9AE6CC56 +:10B6E000FFFC306BF01F00070C990A9AE6CCFFF6BE +:10B6F000302BF01F0004E3CD806800008001A37CA4 +:10B700008001AD98EBCD4068189316951496F01F04 +:10B7100000220C9A0A9BE6CCFFFCF01F00200C9A3A +:10B720000A9BE6CCFFFAF01F001D0C9A0A9BE6CCA0 +:10B73000FFF8F01F001A0C990A9AE6CCFFF6306B5E +:10B74000F01F00170C9A0A9BE6CCFFF0F01F0015C3 +:10B750000C9A0A9BE6CCFFEFF01F00120C990A9A94 +:10B76000E6CCFFEE302BF01F000E0C9A0A9BE6CCC5 +:10B77000FFECF01F00090C9A0A9BE6CCFFE8F01FD3 +:10B7800000060C9A0A9BE6CCFFE4F01F0007E3CD0D +:10B79000806800008001A37C8001A2FC8001AD983C +:10B7A0008001A29C8001AB3CEBCD406816951496BD +:10B7B0001893F01F000C0C990A9AE6CCFFFC306B32 +:10B7C000F01F00090C9A0A9BE6CCFFF6F01F000759 +:10B7D0000C9A0A9BE6CCFFF5F01F0004E3CD8068CD +:10B7E0008001A37C8001AD988001A29CEBCD4068D4 +:10B7F000169514961893F01F000C0C990A9AE6CC33 +:10B80000FFFC306BF01F00090C9A0A9BE6CCFFF698 +:10B81000F01F00070C9A0A9BE6CCFFF5F01F00040E +:10B82000E3CD80688001A37C8001AD988001A29C5B +:10B83000EBCD4068189316951496F01F00120C9AE1 +:10B840000A9BE6CCFFFCF01F00100C9A0A9BE6CC8A +:10B85000FFFAF01F000D0C9A0A9BE6CCFFF8F01FD0 +:10B86000000A0A9AE6CCFFF60C99306BF01F00072D +:10B870000C9A0A9BE6CCFFF0F01F0005E3CD806830 +:10B880008001A37C8001A2FC8001AD988001AB3CCB +:10B89000EBCD4068189316951496F01F00100C9A83 +:10B8A0000A9BE6CCFFFCF01F000E0C9A0A9BE6CC2C +:10B8B000FFFAF01F000B0C990A9AE6CCFFF8306BE8 +:10B8C000F01F00080C990A9AE6CCFFF2302BF01F0B +:10B8D0000005E3CD806800008001A37C8001A2FC0C +:10B8E0008001AD98EBCD4068189316951496F01F23 +:10B8F00000090C9A0A9BE6CCFFFFF01F00060C998A +:10B900000A9AE6CCFFFE302BF01F0003E3CD8068DF +:10B910008001A29C8001AD98EBCD406816951496ED +:10B920001893F01F00130C990A9AE6CCFFFF306BB6 +:10B93000F01F00100C9A0A9BE6CCFFF9F01F000CD8 +:10B940000C9A0A9BE6CCFFF8F01F00090A9AE6CC95 +:10B95000FFF70C99306BF01F00070C9A0A9BE6CC9E +:10B96000FFF1F01F0003E3CD806800008001A29C7E +:10B970008001AD98EBCD4068189316951496F01F92 +:10B9800000060C9A0A9BE6CCFFFCF01F0004E3CDF6 +:10B99000806800008001A37C8001B918EBCD40686D +:10B9A0001696149518931499169A306BF01F000888 +:10B9B0000A9A0C9BE6CCFFFAF01F00060A9A0C9B31 +:10B9C000E6CCFFF9F01F0003E3CD80688001AD985D +:10B9D0008001A29CEBCD4068189316951496F01F39 +:10B9E00000060C9A0A9BE6CCFFFCF01F0004E3CD96 +:10B9F000806800008001A37C8001B99CEBCD406889 +:10BA0000189316951496F01F00090C9A0A9BE6CC21 +:10BA1000FFFFF01F00060C990A9AE6CCFFFE306B80 +:10BA2000F01F0003E3CD80688001A29C8001AD98E7 +:10BA3000EBCD4068189316951496F01F00060C9AEB +:10BA40000A9BE6CCFFFCF01F0004E3CD80680000F9 +:10BA50008001A37C8001B9FCD4011499169A308B23 +:10BA6000F01F0002D80200008001AD98EBCD4068C5 +:10BA7000169514961893F01F00090A9AE6CCFFFC5D +:10BA80000C99306BF01F00060C9A0A9BE6CCFFF66F +:10BA9000F01F0004E3CD80688001A37C8001AD9895 +:10BAA0008001A2FCEBCD4068189316951496F01F08 +:10BAB00000090C9A0A9BE6CCFFFCF01F00070C99CA +:10BAC0000A9AE6CCFFFB303BF01F0004E3CD806810 +:10BAD0008001A37C8001A29C8001AD98D4011499BF +:10BAE000169A320BF01F0002D80200008001AD98B8 +:10BAF000EBCD4068189316951496F01F00180C9A19 +:10BB00000A9BE6CCFFE0F01F00160C9A0A9BE6CCDD +:10BB1000FFDEF01F00140C9A0A9BE6CCFFDDF01F3D +:10BB200000110C990A9AE6CCFFDC306BF01F000E76 +:10BB30000C9A0A9BE6CCFFD6F01F000C0C9A0A9BCD +:10BB4000E6CCFFCEF01F00070C9A0A9BE6CCFFCD97 +:10BB5000F01F0004E3CD80688001BADC8001A2FC04 +:10BB60008001A29C8001AD988001BA58EBCD40685D +:10BB7000189316951496F01F00060C9A0A9BE6CCB3 +:10BB8000FFFCF01F0004E3CD806800008001A37C6F +:10BB90008001BAF0D4011499169A303BF01F0002CC +:10BBA000D80200008001AD98EBCD40E018971695C3 +:10BBB0001496F01F000D6E1C580CC0800C990A9A48 +:10BBC0006E0BF01F000AE3CD80E05816C0918A99F1 +:10BBD0006A4812088F186E098A181208AA18E3CD4D +:10BBE00080E000008001A37C8001AD98EBCD40682F +:10BBF000189316951496F01F00060C9A0A9BE6CC33 +:10BC0000FFFCF01F0004E3CD806800008001A37CEE +:10BC10008001BBA8EBCD4068189316951496F01FD1 +:10BC200000100C9A0A9BE6CCFFFCF01F000E0C994A +:10BC30000A9AE6CCFFFB303BF01F000B0A9AE6CCD9 +:10BC4000FFF80C99308BF01F00080C9A0A9BE6CC89 +:10BC5000FFF0F01F0006E3CD806800008001A37CA8 +:10BC60008001A29C8001AD988001BBA8EBCD40680B +:10BC7000169514961893F01F00090A9AE6CCFFFC5B +:10BC80000C99308BF01F00060C9A0A9BE6CCFFF44F +:10BC9000F01F0004E3CD80688001A37C8001AD9893 +:10BCA0008001BBA8EBCD40801697189B580AC0F1C5 +:10BCB0008E1C8E89FDDCC010FCC8FFF91238C285CD +:10BCC000F8C8FFF88F3AAE18E3CD8080581AC070DC +:10BCD0008E1CF8C8FFF8AE18E3CD80808E9A8E894E +:10BCE000F4C8FFF91238C2C46E48140811F9B889B3 +:10BCF00011EAB89A11D9B8A911CAB8BA11B9B8C914 +:10BD000011AAB8DA1199B8E9118AB8FACE2B17F846 +:10BD10006E4A1C0AB48817E9B49917D8B4A817C991 +:10BD2000B4B917B8B4C817A9B4D91798B4E8178923 +:10BD3000B4F98E1CF8C8FFF8AE18E3CD8080300B44 +:10BD4000308A8F3BF01F00028E1CCC4B800091D0BC +:10BD5000EBCD4068189316951496F01F000C0C9AC2 +:10BD60000A9BE6CCFFF8F01F000A0C9A0A9BE6CC6F +:10BD7000FFF6F01F00070C9A0A9BE6CCFFF4F01FB9 +:10BD80000005E3CD806800008001BCA48001A2FC16 +:10BD90008001AB3CEBCD40F8206D169714961499BA +:10BDA0001895169A306BF01F002D0C9A0E9BEACC5A +:10BDB000FFFAF01F002B0C9A0E9BEACCFFF9F01F44 +:10BDC00000280C9A0E9BEACCFFF8F01F00260C9A74 +:10BDD0000E9BEACCFFF0F01F00240C9A0E9BEACCDD +:10BDE000FFECF01F0021318A0E9B1A9CF01F001FF0 +:10BDF000EAC3FFE81A940C9A1A9B069CF01F001ADB +:10BE00005816C1801A9B0C9A6A7CF01F00199A98E8 +:10BE10008E992048F00901098B690C9A069C0E9BAB +:10BE2000F01F00116A698E181208AE182FADE3CD0D +:10BE300080F86A698E182FC81208E06B00E8BA080B +:10BE40006E5CF01F000C8B7CCF20505C1A9B0C9A10 +:10BE5000F01F0007CE3B00008001AD988001A29C3E +:10BE60008001BCA48001A37C800091DC8001BD50D6 +:10BE70008001D3ECEBCD4068189316951496F01F13 +:10BE800000120C9A0A9BE6CCFFFCF01F00100C9AE3 +:10BE90000A9BE6CCFFFAF01F000D0C9A0A9BE6CC39 +:10BEA000FFF8F01F00090C9A0A9BE6CCFFF4F01F84 +:10BEB00000060C9A0A9BE6CCFFF0F01F0005E3CDCC +:10BEC000806800008001A37C8001A2FC8001BD94F9 +:10BED000EBCD40E0189716951496F01F000B0C9AC6 +:10BEE0000A9BEECCFFFCF01F00090FD93008F009C7 +:10BEF0001800C0700C9A0A9BEECCFFF8F01F0004EB +:10BF0000E3CD80E08001A37C8001B8E48001BD9492 +:10BF1000EBCD4060202D301A18951696FACCFFFE16 +:10BF2000F01F00089A181BF92FE8F0090109AC0965 +:10BF30001BCA8B5A1BD88B482FEDE3CD80600000C5 +:10BF40008001A444EBCD40E07808975818971696E6 +:10BF50007859E049003FE0880004E3CF80E0FEF834 +:10BF6000029AF009032F78455815E0800127E04533 +:10BF70000080CF41780C301AF01F00A1E3CF90E091 +:10BF800078485808C391780C301AF01F009EE3CF10 +:10BF900090E07848F0C90005E049008FFE9BFFDF84 +:10BFA000FEF80264F009032F7848E0480081E08041 +:10BFB000010CE08A002BE0480083E0800118E08556 +:10BFC0000110E0480085CCA1780C301AF01F008FDA +:10BFD000E3CF90E0780C301AF01F008DE3CF90E0B3 +:10BFE0007848F0C90001E049009BFE9BFFB8FEF8CD +:10BFF0000222F009032FE0480081CB01780C301AAF +:10C00000F01F0085E3CF90E05848E08000E4E0486E +:10C010000080CA41781A300B780CF01F00806E0C3B +:10C020000C9B301AF01F007EE3CF90E0780C301AA2 +:10C03000F01F007CE3CF90E0780C301AF01F007AFC +:10C04000E3CF90E0780C301AF01F0078E3CF90E057 +:10C05000780C301AF01F0076E3CF90E0780C301A9D +:10C06000F01F0074E3CF90E0780C301AF01F0072DC +:10C07000E3CF90E0780C301AF01F0070E3CF90E02F +:10C08000780C301AF01F006EE3CF90E0780C301A75 +:10C09000F01F006CE3CF90E0780C301AF01F006ABC +:10C0A000E3CF90E0780C301AF01F0068E3CF90E007 +:10C0B000780C301AF01F0066E3CF90E0780C301A4D +:10C0C000F01F0064E3CF90E0780C301AF01F00629C +:10C0D000E3CF90E0780C301AF01F0060E3CF90E0DF +:10C0E000780C301AF01F005EE3CF90E0780C301A25 +:10C0F000F01F005CE3CF90E0780C301AF01F005A7C +:10C10000E3CF90E0780C301AF01F0058E3CF90E0B6 +:10C11000780C301AF01F0056E3CF90E0780C301AFC +:10C12000F01F0054E3CF90E0780C301AF01F00525B +:10C13000E3CF90E0780C301AF01F0050E3CF90E08E +:10C14000780C301AF01F004EE3CF90E0780C301AD4 +:10C15000F01F004CE3CF90E0780C301AF01F004A3B +:10C16000E3CF90E0780C301AF01F0048E3CF90E066 +:10C17000780C301AF01F0046E3CF90E0780C301AAC +:10C18000F01F0044E3CF90E0780C301AF01F00421B +:10C19000E3CF90E0780C301AF01F0040E3CF90E03E +:10C1A000780C301AF01F003EE3CF90E0780C301A84 +:10C1B000F01F003CE3CF90E0780C0A9AF01F003AA1 +:10C1C0000A9CE3CD80E0780C301AF01F0038E3CFF2 +:10C1D00090E0780C301AF01F0036E3CF90E0780C36 +:10C1E000301AF01F0034E3CF90E0780C301AF01FC3 +:10C1F0000032E3CF90E000008003B8288001AAEC71 +:10C200008001A4988003B9288001B3248001A37C15 +:10C210008003BB688001A4CC800091D08001BC1455 +:10C220008001BAA48001A4748001BA6C8001AC546E +:10C230008001AA808001AE8C8001AAC88001AAA4D6 +:10C240008001AA208001AF5C8001A9CC8001A9787F +:10C250008001A9488001A8F48001A8D08001A884A9 +:10C260008001A8608001B1548001B1B08001B1F4B7 +:10C270008001A8188001AA508001B0F88001A83C74 +:10C280008001A7F48001B4E08001B56C8001B5B0F5 +:10C290008001B5F88001B6408001BED08001B5189C +:10C2A0008001B9748001AE3C8001B3AC8001A6145A +:10C2B0008001B3688001B2E0EBCD40C012971499C1 +:10C2C0008E96109A582CC280E08A0008584CC360A1 +:10C2D000587CC190E3CF80C0580CC0A0581CCFB18F +:10C2E00058EBFE9BFFF9FEF80312F00B032F580BDF +:10C2F000CF21129C0E9BF01F00C28E98F006010CFD +:10C30000E3CD80C0202BE04B007FFE9BFFE5FEF8D5 +:10C3100002F2F00B032F582BE080015DE089001A38 +:10C32000580BC260581BCD71129C0E9BF01F00B6BB +:10C330008E98F006010CE3CD80C0580BCCC1129C46 +:10C340000E9BF01F00B28E98F006010CE3CD80C06A +:10C35000584BC170E0850148585BCBD1129C0E9BB5 +:10C36000F01F00AB8E98F006010CE3CD80C0129C4C +:10C370000E9BF01F00A88E98F006010CE3CD80C044 +:10C38000129C0E9BF01F00A48E98F006010CE3CDCA +:10C3900080C0129C0E9BF01F00A18E98F006010C2D +:10C3A000E3CD80C0129C0E9BF01F009D8E98F0067E +:10C3B000010CE3CD80C0129C0E9BF01F009A8E985A +:10C3C000F006010CE3CD80C0129C0E9BF01F00967E +:10C3D0008E98F006010CE3CD80C0129C0E9BF01FDE +:10C3E00000938E98F006010CE3CD80C0129C0E9B4A +:10C3F000F01F008F8E98F006010CE3CD80C0129CD8 +:10C400000E9BF01F008C8E98F006010CE3CD80C0CF +:10C41000129C0E9BF01F00888E98F006010CE3CD55 +:10C4200080C0129C0E9BF01F00858E98F006010CB8 +:10C43000E3CD80C0129C0E9BF01F00818E98F00609 +:10C44000010CE3CD80C0129C0E9BF01F007E8E98E5 +:10C45000F006010CE3CD80C0129C0E9BF01F007A09 +:10C460008E98F006010CE3CD80C0129C0E9BF01F4D +:10C4700000778E98F006010CE3CD80C0129C0E9BD5 +:10C48000F01F00738E98F006010CE3CD80C0129C63 +:10C490000E9BF01F00708E98F006010CE3CD80C05B +:10C4A000129C0E9BF01F006C8E98F006010CE3CDE1 +:10C4B00080C0129C0E9BF01F00698E98F006010C44 +:10C4C000E3CD80C0129C0E9BF01F00658E98F00695 +:10C4D000010CE3CD80C0129C0E9BF01F00628E9871 +:10C4E000F006010CE3CD80C0129C0E9BF01F005E95 +:10C4F0008E98F006010CE3CD80C0129C0E9BF01FBD +:10C50000005B8E98F006010CE3CD80C0129C0E9B60 +:10C51000F01F00578E98F006010CE3CD80C0129CEE +:10C520000E9BF01F00548E98F006010CE3CD80C0E6 +:10C53000129C0E9BF01F00508E98F006010CE3CD6C +:10C5400080C0129C0E9BF01F004D8E98F006010CCF +:10C55000E3CD80C0129C0E9BF01F00498E98F00620 +:10C56000010CE3CD80C0129C0E9BF01F00468E98FC +:10C57000F006010CE3CD80C0129C0E9BF01F004220 +:10C580008E98F006010CE3CD80C0129C0E9BF01F2C +:10C59000003F8E98F006010CE3CD80C0129C0E9BEC +:10C5A000F01F003B8E98F006010CE3CD80C0129C7A +:10C5B0000E9BF01F00388E98F006010CE3CD80C072 +:10C5C000129C0E9BF01F00348E98F006010CE3CDF8 +:10C5D00080C0129C0E9BF01F00318E98F006010C5B +:10C5E000E3CD80C0129C0E9BF01F002D8E98F006AC +:10C5F000010CE3CD80C000008003BDD88001A49869 +:10C600008003BE148001BC6C8001AE648001A5C0B3 +:10C610008001B4B88001A5F08001B8308001B29CDF +:10C620008001B6948001B6CC8001B9D48001BA30C3 +:10C630008001BB6C8001B7048001B7EC8001BA6C4B +:10C640008001B8908001BE748001A5188001A55CAE +:10C650008001B7A88001A7308001A7888001AE8C37 +:10C660008001AED88001A7D08001AB148001AF1843 +:10C670008001A9FC8001A9A88001AFD48001A92470 +:10C680008001B08C8001A8A88001B22C8001A7ACE9 +:10C690008001B2648001BBEC8001B4808001B3E40E +:10C6A000EBCD40FE208D306A18977853784578019D +:10C6B000FAC2FFE6300B049CF01F00384B88F139BA +:10C6C000010BE06AFFFFFB69001E300B1A9CF01F94 +:10C6D0000035302A1A9B049CF01F0033029A302840 +:10C6E0001A990A9B069CF01F00319A194B08F9D938 +:10C6F000C0101188103CF9B60200F1DCE318E06AC2 +:10C7000000FFF1DAE326EDD9E309FBF93C01F9D6A4 +:10C71000E30C1A944A78118A580AC060F4C80001E0 +:10C72000F9E80008C2918F3CF01F00238F2CC31042 +:10C730006E3A300BF01F0019FB66001F6E2BFB6377 +:10C74000001CFB65001D8E78F5D8C01020281A9CAF +:10C75000FB58001AF01F0013049C1A9B300AF01FAC +:10C7600000121A99029A0A9B069C3008F01F000FCB +:10C770002F8DE3CF90FE9A18F4C90001F9E9000962 +:10C78000F40901095C591208120CBA181206CCCB34 +:10C790002F8DE3CD80FE0000800091D0000087F453 +:10C7A0008001C7B88001A4448001C2B8000079E5C7 +:10C7B000000079E48000920030083019B838B818C9 +:10C7C000B828B80A3008994B993999285EFCD703E4 +:10C7D000EBCD4068189316951496F01F00090C9A3B +:10C7E0000A9BE6CCFFFFF01F00060C9A0A9BE6CCE2 +:10C7F000FFFEF01F0004E3CD806800008001A29CD2 +:10C800008001A2FCEBCD40681696149518931499FC +:10C81000169A303BF01F00050A9A0C9BE6CCFFFDF0 +:10C82000F01F0003E3CD80688001AD988001A29CD9 +:10C83000EBCD40681696149518931499169A303BD0 +:10C84000F01F00050A9A0C9BE6CCFFFDF01F0003C9 +:10C85000E3CD80688001AD988001A29CD431FACEEE +:10C86000FFDC189616971494129210907C157C0198 +:10C87000581AC2D0C153582AC1300D893FF8F00967 +:10C880001800C2100D98E2081900E08B0005E008BE +:10C890001900C6E23FF83009AC88AC99D83A8E1836 +:10C8A000AE383FF80D89F0091800C0D00C9C089AEA +:10C8B0000E9BF01F0034089A0E9BECCCFFFFF01F7C +:10C8C0000031CDCB3008300CAC98D83296285808BF +:10C8D000C4C0B618AE3830088B08AC983FFAAC8AA2 +:10C8E0008E198E08F2081900FE98FFEE1494ECC31E +:10C8F000FFFFC1D8E8081800EDF41E000D9A8E184D +:10C900008E89F408000B5C781019123AE089002631 +:10C91000AE1B6A082FF88B080D89E8091800CB3187 +:10C920008E198E08F2081900FE98FFCEAE39301A23 +:10C930000E9B0C9CF01F0013301A0E9B069CF01FE0 +:10C9400000110D88E4081800CD618E888E990D9A2B +:10C950001218103AE08A000E3FF83009AC88AC9902 +:10C960008E182028AE08C8AB9618B628CB4BDA3AFA +:10C970006A0A6E293018F00A094810498F29C7EB56 +:10C980008001A29CEBCD4040201D1A9E9AF65C7857 +:10C990001ADE1AD6F01F00032FED2FFDE3CD8040E5 +:10C9A0008001C85CEBCD40E0302818951AD8169667 +:10C9B00014973069F01F00072FFD580CC0700E9AB5 +:10C9C0000C9BEACCFFFEF01F0004E3CD80E00000EA +:10C9D0008001C9848001A2FCEBCD40E0301818959D +:10C9E0001AD81696149732A9F01F00072FFD580C7D +:10C9F000C0700E9A0C9BEACCFFFEF01F0004E3CD42 +:10CA000080E000008001C9848001A29CEBCD40E061 +:10CA1000305818951AD8169614973029F01F001020 +:10CA20002FFD580CC190EACCFFFE0E9A0C9BF01F14 +:10CA3000000D0E9A0C9BEACCFFFCF01F000B0E9A27 +:10CA40000C9BEACCFFFBF01F00080E9A0C9BEACC73 +:10CA5000FFFAF01F0005E3CD80E000008001C984EB +:10CA60008001A2FC8001A29CEBCD40E0301818951B +:10CA70001AD8169614973039F01F00072FFD580C5E +:10CA8000C0700E9A0C9BEACCFFFEF01F0004E3CDB1 +:10CA900080E000008001C9848001A29CEBCD40E0D1 +:10CAA000306818951AD8169614973049F01F001060 +:10CAB0002FFD580CC190EACCFFFE0E9A0C9BF01F84 +:10CAC000000D0E9A0C9BEACCFFFDF01F000A0E9A97 +:10CAD0000C9BEACCFFFCF01F00080E9A0C9BEACCE2 +:10CAE000FFFAF01F0005E3CD80E000008001C9845B +:10CAF0008001A29C8001A2FCEBCD40E0301818958B +:10CB00001AD81696149730A9F01F00072FFD580C5D +:10CB1000C0700E9A0C9BEACCFFFEF01F0004E3CD20 +:10CB200080E000008001C9848001A29CD43120BD36 +:10CB30005019500818961697581AC390C272E06898 +:10CB400000FDE06900DD1AD8300A3018F01F005CE3 +:10CB50002FFD580CC1E0300A0E9BECCCFFFEF01FFD +:10CB60000059300A0E9BECCCFFFDF01F0056300A36 +:10CB70000E9BECCCFFFCF01F0053ECCCFFFB0E9B9C +:10CB8000300AF01F0050301CC048582AC040301CEA +:10CB90002F5DD83219893FF8F0091800E080008B2A +:10CBA0009618301C2FA8B6182F5DD832761850581A +:10CBB000B1485038760A504AF6E80008F8C2FFFE3D +:10CBC000FAE90018F8C3FFFDF6EA0010F8C9FFFB08 +:10CBD000FAEB0020F8C4FFFC50293FF5FAC0FFD85B +:10CBE000E06100FDC0680D998E382FE81208AE286C +:10CBF0001AD030181AD1E06900DD109A0E9B0C9CF7 +:10CC0000F01F00312FED580CC4105805FBF5500AE9 +:10CC1000FBF8400AF9B90401F1D9E408EBD8E405BE +:10CC2000301A0E9B049CF01F0027301A0E9B069CA6 +:10CC3000F01F0024301A0E9B089CF01F00220DA844 +:10CC40003009F2081800CD010DB83509F2081800B6 +:10CC5000CCB10DC83F29F2081800CC61301A0E9BE8 +:10CC6000402CF01F00180DD84019F2081800CBC155 +:10CC70004038301CAE28F80509496E2812488F2824 +:10CC800040095809C8509305C84B4038FB58001458 +:10CC9000FAE80020EEE90010FAEA0010EEEB0000DE +:10CCA000FAE80018EEE90008AC9C3FF8AC882F5D6C +:10CCB000D8323008B898300CC6CB00008001C98447 +:10CCC0008001A29C8001C85CD431207D1895169704 +:10CCD00014961293581AC110C0B2300830290C9A19 +:10CCE0000E9B0A9CF01F0032C5712F9DD832582A26 +:10CCF000CF50301C2F9DD83276185018760AF0008D +:10CD00001410500A1A91F6E80008F8C4FFFAFAE97C +:10CD100000083FF6F6EA0010FAC2FFE8FAEB00104E +:10CD2000C1A85806FBF65006FBF84006F9B9040105 +:10CD3000F1D9E408EDD8E406301A0E9B089CF01FE8 +:10CD4000001D0BE8E6081800C1D00B998E382FE8BB +:10CD50001208AE2804983029301A0E9B0A9CF01F46 +:10CD60000014CE01BA20E2E80010EEE90010E2E87B +:10CD70000000EEE90000E2EA0008EEEB00082F9D5B +:10CD8000D83230186E29F006094AAE201449109C9A +:10CD90008F292F9DD8320B982FF8EACCFFFA0C9AE6 +:10CDA0000E9BAA98F01F0003301CCA5B8001CB2C9D +:10CDB0008001A29CEBCD40EC206D301918971693A2 +:10CDC0001495F01F002DC0412FADE3CD80ECEECCCB +:10CDD000FFF90A9A069BF01F00290A9A069BEECCDF +:10CDE000FFF8F01F00260A9A069BEECCFFF7F01F13 +:10CDF00000230A9A069BEECCFFF6F01F00210A9A48 +:10CE0000069BEECCFFF2F01F001E0A9A069BEECCAA +:10CE1000FFEEF01F001B0A9A069BEECCFFEAF01F04 +:10CE2000001858055F0858255F091248CCE06608CD +:10CE30005008661886160A9A5018EBD8B010BA1522 +:10CE4000E6E80008FAE900082026E6E20010E068BB +:10CE500000FD0A16AE961A9BFAE300100E9C1AD833 +:10CE6000E06900DD3018F01F00072FFD2FADE3CD86 +:10CE700080EC00008001CCC88001A29C8001C7D05A +:10CE80008001C984EBCD40EC206D18971693149562 +:10CE9000582AC18119893FF8F0091800F9F91801D9 +:10CEA000F7F81201F9BA0102F1DAE108F1D9E10863 +:10CEB000F7F81C01F9B80000F9F80E012FADE3CD29 +:10CEC00080EC3009F01F0019CFA0EECCFFF90A9AD0 +:10CED000069BF01F00170A9A069BEECCFFF8F01F86 +:10CEE00000145805CEC166085008661886160A9ABE +:10CEF0005018EBD8B010BA15E6E80008FAE90008B7 +:10CF00002026E6E20010E06800FD0A16AE961A9BA5 +:10CF1000FAE300100E9C1AD8E06900DD3018F01F0B +:10CF200000052FFDCCCB00008001CCC88001A29C65 +:10CF30008001C984D42112951497580A5F095805B5 +:10CF40005F08169A1248C2510B986E29F0C4FFFE72 +:10CF5000F2C800015BD8E08B0015129C089B5D1A9B +:10CF600018965806C0C06E086E192FF80809089A5E +:10CF70000A9B8F088F190C9CF01F00080C9CD8226C +:10CF8000089B5D1A300818968F2C8F188F08CEAB2F +:10CF900030060C9CD8220000800091DCEBCD40FCD8 +:10CFA00012951494580A5F0958055F0818921248A0 +:10CFB0001693C191300995296A085808E08A00162D +:10CFC00012966A270E99089A069B049CF01F000B84 +:10CFD0002FF6EEF7FFF86A085807F7B701F80C3894 +:10CFE000FE99FFF2E3CD80FCEAE80000F4E90000DE +:10CFF0006A2A892AE3CD80FC8001CF34EBCD40FC46 +:10D0000018931695581AC2C0C053582AC5E0E3CDEC +:10D0100080FC782778085808FE9AFFFB7819580991 +:10D02000FE9AFFF79698300612087649F208000437 +:10D030000F9A0E9B2FEA1414089CF01F00332FF652 +:10D04000EEF7FFF866085807F7B701F80C38FE99B5 +:10D05000FFF166198A181208AA18E3CD80FC9628F9 +:10D060005808C3C0B618F9D8B010AA3C300830121E +:10D0700087088718872810948A1C8A0E189AFC0C37 +:10D080001900C212F7DAC0106A46EC0B00081199B9 +:10D09000F2C7FFFE5827C250F1DEC0101618103735 +:10D0A000E0890020E40409496A2B2FF4F3EB00081F +:10D0B000C1C0F4070008AA18F9D8B010189AFC0CDF +:10D0C0001900CE13E3CD80FC781C580CFE9AFFA10A +:10D0D00096181808B618E3CD80FC961CB62CCC6BBD +:10D0E000AA0CFDDCB010CCBBF3EB1008069A8A99B1 +:10D0F0008B28EC090009485B6A5CF01F00058A1A5E +:10D100008A0ECD8B800091DC8001D3EC8001CF347E +:10D11000EBCD40F83FF510941697149340661388B2 +:10D12000EA081800C05130070E9CE3CD80F858047F +:10D130005F1858065F991268CF700C9B5D1718979F +:10D14000C0600C9A089BF01F0004CEFBA685A69C2D +:10D15000CECB0000800091DCEBCD40C0129EF2E807 +:10D160000000F4E9000014977C2A8F2A18961D8984 +:10D17000169C3FF8F0091800C1401D993058F0097D +:10D180001800E088000F2039E06A5556EA1A555514 +:10D19000F20B141FF20A04481619F2090019C028EC +:10D1A00030091AD9189B1C990C9C7C280E9AF01FE8 +:10D1B00000042FFD8F2CE3CD80C000008001D11032 +:10D1C000EBCD406CF2E20000F4E3000072289528F9 +:10D1D0001495722813961AD6F01F00032FFD8B2C7E +:10D1E000E3CD806C8001D110EBCD406FF2E2000006 +:10D1F000F4E30000F2E00008F4E10008F2E20010BD +:10D20000F4E300101495725813961AD6F01F000319 +:10D210002FFD8B5CE3CD806F8001D110EBCD406F93 +:10D22000F2E20000F4E30000F2E00008F4E100089C +:10D23000724895481495724813961AD6F01F000349 +:10D240002FFD8B4CE3CD806F8001D110EBCD406C76 +:10D25000F2E20000F4E30000722895281495722889 +:10D2600013961AD6F01F00032FFD8B2CE3CD806C94 +:10D270008001D110D421310418971AD41696149530 +:10D2800030183329F01F00142FFD580CC0B058057A +:10D29000C0E18C986C4C0F9A100CEECBFFFEF01F87 +:10D2A000000F0F998C181208AC18D8225815CFA16E +:10D2B0000F9AE80A1800E08800073FF83009AE88A6 +:10D2C000AE99CF0B8C986C4BEECCFFFE100BF01F81 +:10D2D0000003CE8B8001C984800091DCD4213018FA +:10D2E000189716961495308410991AD4F01F0014CC +:10D2F0002FFD580CC0B05805C0E18C986C4C0F9AAB +:10D30000100CEECBFFFEF01F000F0F998C181208C7 +:10D31000AC18D8225815CFA10F9AE80A1800E08857 +:10D3200000073FF83009AE88AE99CF0B8C986C4B54 +:10D33000EECCFFFE100BF01F0003CE8B8001C984E2 +:10D34000800091DCEBCD40E0320930081AD9189505 +:10D35000169714961099F01F00132FFD580CC0F06B +:10D360005806C0F18E986E4C0B9A100CEACBFFFE5B +:10D37000F01F000D0B998E181208AE18E3CD80E057 +:10D380005816CF918E986E4B0B9A100BEACCFFFE7D +:10D39000F01F00050B998E181208AE18CF0B000075 +:10D3A0008001C984800091ACD421201D7809189691 +:10D3B000F2C800015BD8E08B0014F2C80008C0E09E +:10D3C0001A943005C0280E98500870079105680C13 +:10D3D000F01F00068D055807CF712FFDD8223008A9 +:10D3E00099082FFDD8220000800091E8EBCD40C0C5 +:10D3F00018971696F6CCFFF8F01F000DC130EEF826 +:10D40000FFF8EEC900089908F8C7FFF8930C9916C1 +:10D410000C9AE06B00FF0E9CF01F00060E9CE3CD03 +:10D4200080C018970E9CE3CD80C000008000920061 +:10D43000800091D0EBCD40FC32E818931AD81692B8 +:10D44000149430683079F01F00232FFD580CC03140 +:10D45000E3CD80FC089A049BE6CCFFFEF01F001E83 +:10D4600007993058F0091800E088001F2039E06A59 +:10D470005556EA1A5555F20B141FF20A0448F20BDE +:10D4800001055814C18030060C972FF6662C0899B8 +:10D490000E0C049A2FD7303BF01F00100C35FE996C +:10D4A000FFF6E3CD80FC5814F9B80000E7F80A0253 +:10D4B000E3CD80FCEA050017645C0E9BF01F0008BA +:10D4C000872CCC700E9A300BF01F0006CDDB0000CD +:10D4D0008001C9848001BB948001AD988001D3ECA8 +:10D4E000800091D0D421189616951497582AC161BE +:10D4F00019893FF8F0091800F9F91801F7F8120135 +:10D50000F9BA0102F1DAE108F1D9E108F7F81C01F2 +:10D51000F9B80000F9F80E01D82230083049F01FA0 +:10D52000000CC0C00D98F0C400045817C0800E99BC +:10D530000A9A089B6C2CF01F0007D822089B6A5C93 +:10D54000F01F00058D2CCF41CF9B00008001CB2C1C +:10D550008001AD988001D3ECEBCD40FC206D189498 +:10D5600016951493582AC18119893FF8F0091800BB +:10D57000F9F91801F7F81201F9BA0102F1DAE10834 +:10D58000F1D9E108F7F81C01F9B80000F9F80E012B +:10D590002FADE3CD80FC30083019F01F0040CF9054 +:10D5A0006A1E501E6A0A500AEAE80008FAE90008F2 +:10D5B000EAEA0010FAEB0010EDDEB0105813C600D6 +:10D5C000E8C7FFFA0999ECC8FFFE12080E9CE5D8DF +:10D5D000B010069A0A9BF01F00328A18E40819005E +:10D5E000CD82069A0A9BE8CCFFF8F01F002E8A181D +:10D5F000E4081900CCE2E8CCFFF4069A0A9BF01F7D +:10D600000028685C88693008F0091900C0E01896A5 +:10D6100030070C9C2FF7069A0A9BF01F00222FC69A +:10D6200088E80E38FE99FFF78A18E4081900CB1233 +:10D63000069AE8CCFFF20A9BF01F0019685888E9A7 +:10D64000887AF009002C3008F00A1900C0E018961A +:10D6500030070C9C2FF7069A0A9BF01F00132FC669 +:10D6600088F80E38FE99FFF78A18E4081900C912E5 +:10D67000069A0A9BE8CCFFF0F01F0009C8ABE8C788 +:10D68000FFFA30EA300B0E9CF01F0008099B6A5C21 +:10D69000F01F0007895CC97B8001CB2C8001A2FCB4 +:10D6A0008001C8308001C804800091D08001D3EC93 +:10D6B000EBCD40FC206D189416951493582AC18127 +:10D6C00019893FF8F0091800F9F91801F7F8120163 +:10D6D000F9BA0102F1DAE108F1D9E108F7F81C0121 +:10D6E000F9B80000F9F80E012FADE3CD80FCE06839 +:10D6F00000FF33091AD83008F01F00532FFD580CD3 +:10D70000CF406A1E501E6A0A500AEAE80008FAE989 +:10D710000008EAEA0010FAEB0010EDDEB010581332 +:10D72000E0800085E8C7FFFE0999ECC8FFFE1208FB +:10D730000E9CE5D8B010069A0A9BF01F00448A1888 +:10D74000E4081900CD22069A0A9BE8CCFFFCF01FE2 +:10D7500000408A18E4081900CC82E8CCFFF8069A49 +:10D760000A9BF01F003A684C88493008F0091900FC +:10D77000C0E0189630070C9C2FF7069A0A9BF01F02 +:10D7800000342FC688C80E38FE99FFF78A18E408BF +:10D790001900CAB2069AE8CCFFF60A9BF01F002BCC +:10D7A000684888C9885AF009002C3008F00A190026 +:10D7B000C0E0189630070C9C2FF7069A0A9BF01FC2 +:10D7C00000252FC688D80E38FE99FFF78A18E4087E +:10D7D0001900C8B2069A0A9BE8CCFFF4F01F001BA0 +:10D7E0008A18E4081900C812069AE8CCFFF20A9BCE +:10D7F000F01F001688C988D81208684A8879F4088A +:10D80000002C3008F0091900FE90FF7018963007C0 +:10D810000C9C2FF706990A9A310BF01F000F2F0668 +:10D8200088F80E38FE99FFF6C60BE8C7FFFE30EA0F +:10D83000300B0E9CF01F0009099B6A5CF01F00086A +:10D84000894CC73B8001C9848001A2FC8001C8309B +:10D850008001C8048001AD98800091D08001D3EC94 +:10D86000EBCD40E0E06800FE18971AD816951496A4 +:10D8700030483059F01F00162FFD580CC031E3CD51 +:10D8800080E0EECCFFFE0C9A0A9BF01F00120C9A6F +:10D890000A9BEECCFFFDF01F000F0C9A0A9BEECC0A +:10D8A000FFFCF01F000C5816C0A00F9B0C990A9AA1 +:10D8B0006E2C203BF01F0008E3CD80E00F9B6A5CDC +:10D8C000203BF01F00068F2CCF11CDAB8001C98407 +:10D8D0008001A29C8001AD988001D3ECEBCD40E0AB +:10D8E00018951696F6CCFFF8F01F000CC12099167B +:10D8F00030089908F8C7FFF80C9A5805EBF71A0595 +:10D90000E06B00FF0E9CF01F00060E9CE3CD80E054 +:10D9100018970E9CE3CD80E080009200800091D0AB +:10D92000EBCD40C0201DF8C60008300C6C1BF01F6A +:10D930000014C1A0500C3007C1286C1B400CF01F14 +:10D9400000111897C1406C1AECCBFFF8EF4AFFFCAE +:10D950000E9CF01F000D6C065806C0505807CEE113 +:10D960004007CF2B400C2FFDE3CD80C01A9CF01F49 +:10D9700000070E9C2FFDE3CD80C000008001D8DCA5 +:10D980008001D3EC800091DC8001D3A8D401E06851 +:10D990000081301999489959189A7408129C11CE2F +:10D9A000F20E18005F089708D802D703486830398C +:10D9B000F0FA00F830089569985BF00B19005F0CDD +:10D9C0005EFC0000000087F419C8300A4869F2F9CB +:10D9D00000F8F4081800F9BC0001F9BC0100F3FCE0 +:10D9E0001A065EFC000087F448483009F0FA00F897 +:10D9F000301C95695EFC0000000087F448B8985A16 +:10DA0000F0FB00F83178F00A1900E08B000B3018B9 +:10DA1000F00A0948E4180080E01803FEC0205EFF09 +:10DA20003008301C97685EFC000087F478185808AE +:10DA30005F0C5EFC5EFF19C830192018F208180050 +:10DA40005FBC5EFC5EFD5EFD19C93008F009180080 +:10DA50005F0C5EFC5EFD5EFFEBCD4080308B189767 +:10DA6000991B300CF01F00078F0CC0803078E069E4 +:10DA700000818F588F49E3CF9080E3CD80800000F4 +:10DA80008001D8DCEBCD40C018971696308B991BDF +:10DA9000300CF01F00108F0CC160301830298F58E7 +:10DAA0008F4948D8B826118948C8B8E948C71189AC +:10DAB000B8F96EB899086EBC580CC0752FFC8FBCB5 +:10DAC000E3CF90C0E3CD80C0F01F0006CF9B0000E5 +:10DAD0008001D8DC00007A280000025C000087F496 +:10DAE00080018450EBCD40FE1897FACCFFE01694ED +:10DAF000781330CB14928F1B129178061095300C4E +:10DB0000F01F00118F0CC1A0307830498F588F4919 +:10DB10009905B8E6B8F1F9630008B8C4B8D248B8B6 +:10DB200048B9B084B28248B76EB899086EBC580C38 +:10DB3000C0752FFC8FBCE3CF90FEE3CD80FEF01FBD +:10DB40000006CF9B8001D8DC000079E5000079E475 +:10DB5000000087F480018450EBCD40FC1897FACC8C +:10DB6000FFE4314B781414938F1B129278061095B2 +:10DB7000300CF01F00158F0CC2003018F3D4C01009 +:10DB80008F488F589913B8429935F9560010F954B7 +:10DB9000001248E7F1D6C0100A481248F9B800FF51 +:10DBA000F9B80100B8586EB999096EBC580CC07527 +:10DBB0002FFC8FBCE3CF90FCE3CD80FCF01F000472 +:10DBC000CF9B00008001D8DC000087F480018450E6 +:10DBD000D401780A3009740B15F8129C129AF01FC0 +:10DBE0000002DA0A80018460D401780A3009740BDB +:10DBF000F538000B129C129AF01F0002DA0A00009E +:10DC000080018460D401780A3009740BF538000B68 +:10DC1000129C129AF01F0002DA0A00008001846050 +:10DC2000D401780A3009740BF538000B129C129A53 +:10DC3000F01F0002DA0A000080018460D401780A33 +:10DC40003009740BF538000B129C129AF01F000279 +:10DC5000DA0A000080018460D401780A3009740B6C +:10DC6000F538000B129C129AF01F0002DA0A00002D +:10DC700080018460D401780A3009740B15F8129C75 +:10DC8000129AF01F0002DA0A80018460EBCD40F89E +:10DC900030C618979916169414930C9B300CF01FED +:10DCA00000108F0C1895C160307831690C9A8F582C +:10DCB000089B8F49F01F000B48B66CB88B086CBCF2 +:10DCC000580CC0A52FFC8DBC301C6A088708E3CD1A +:10DCD00080F8E3CD80F8F01F0005CF6B8001D8DC21 +:10DCE000800091DC000087F480018450EBCD40F887 +:10DCF000308618979916169414930C9B300CF01FCD +:10DD000000108F0C1895C160307831490C9A8F58EB +:10DD1000089B8F49F01F000B48B66CB88B086CBC91 +:10DD2000580CC0A52FFC8DBC301C6A088708E3CDB9 +:10DD300080F8E3CD80F8F01F0005CF6B8001D8DCC0 +:10DD4000800091DC000087F480018450EBCD40F826 +:10DD500033C618979916169414930C9B300CF01F29 +:10DD600000108F0C1895C160307831390C9A8F589B +:10DD7000089B8F49F01F000B48B66CB88B086CBC31 +:10DD8000580CC0A52FFC8DBC301C6A088708E3CD59 +:10DD900080F8E3CD80F8F01F0005CF6B8001D8DC60 +:10DDA000800091DC000087F480018450EBCD40F8C6 +:10DDB000318618979916169414930C9B300CF01F0B +:10DDC00000108F0C1895C160307831190C9A8F585B +:10DDD000089B8F49F01F000B48B66CB88B086CBCD1 +:10DDE000580CC0A52FFC8DBC301C6A088708E3CDF9 +:10DDF00080F8E3CD80F8F01F0005CF6B8001D8DC00 +:10DE0000800091DC000087F480018450EBCD40F865 +:10DE1000330618979916169414930C9B300CF01F28 +:10DE200000108F0C1895C160307831090C9A8F580A +:10DE3000089B8F49F01F000B48B66CB88B086CBC70 +:10DE4000580CC0A52FFC8DBC301C6A088708E3CD98 +:10DE500080F8E3CD80F8F01F0005CF6B8001D8DC9F +:10DE6000800091DC000087F480018450D421189751 +:10DE7000169530CB991B300CF01F00128F0C1896A2 +:10DE8000FAC4FFEC580CC190302830098F588F49E4 +:10DE900048D76EB899086EBC580CC1052FFC8FBCD2 +:10DEA0005805EDF81000EBF81A00089BECCCFFFCCD +:10DEB000308AF01F0006DA2AD822F01F0005CF0BA7 +:10DEC0008001D8DC000087F4800091DC8001845060 +:10DED000EBCD40E018961695310B991B300CF01FD6 +:10DEE00000108D0C1897C1503078317A0A998D58EE +:10DEF0008D4A48CBF8CAFFFCF01F000B48B56AB842 +:10DF00008F086ABC580CC0752FFC8BBCE3CF90E027 +:10DF1000E3CD80E0F01F0006CF9B00008001D8DC3D +:10DF20008001D3EC8001D158000087F48001845037 +:10DF3000EBCD408078076E285808C0B0300C189A96 +:10DF40005C586E0B3109300CF01F0009E3CF908054 +:10DF5000310CF01F00086E189908EF390016991956 +:10DF60006E3899286E4999396E28CEAB800184604D +:10DF700080009200EBCD40FC189716931495314B1E +:10DF80001294991B300CF01F001C8F0C1896FAC2CB +:10DF9000FFE4580CC200302830198F588F495805BB +:10DFA000C1C18D455C7549576EB88D086EBC580C63 +:10DFB000C1F52FFC8FBC5804EDF81000E9F81A00E9 +:10DFC000049B308AECCCFFFCF01F000D301C8D351B +:10DFD000E3CD80FCE3CF80FC5C750A9CF01F000958 +:10DFE0008D4CCF90069B0A9AF01F0005CDDBF01FE9 +:10DFF0000006CE1B8001D8DC000087F4800091DC95 +:10E000008000920080018450EBCD40801897F93C4D +:10E01000000BF01F00084888F0F900F85809C0709C +:10E02000EECBFFFC310A313CF01F0004E3CF9080BF +:10E0300080015FB0000087F480014658D42130C8C9 +:10E040001896109B4904300CE8F500F88D18F01F65 +:10E05000000F8D0C1897C120301830D98D582FCC57 +:10E06000EACBFFE28D49F01F000A68B88F0868BC50 +:10E07000580CC0552FFC89BCDA2AD822F01F0005A5 +:10E08000CFBB0000000087F48001D8DC8001844011 +:10E0900080018450D42130CB1897991B300CF01F8D +:10E0A000000B8F0C1894C1004898301530868F559E +:10E0B0008F462FCCF0FB00F82E2BF01F00060A9C99 +:10E0C000E966000AD822D8228001D8DC000087F453 +:10E0D00080018440EBCD40E030CB1896991B300C8A +:10E0E000F01F00108D0C1897C1703018305948E59A +:10E0F0008D588D492FCCEAFB00F82E2BF01F000B1A +:10E100003028AE586AB98F096ABC580CC0752FFC0C +:10E110008BBCE3CF90E0E3CD80E0F01F0005CF9B08 +:10E120008001D8DC000087F48001844080018450A5 +:10E13000EBCD40FC30C518969915169414931292A5 +:10E140000A9B300CF01F00138D0C1897C1D03018AB +:10E150008D458D580A9A300BF01F000FEECCFFFC56 +:10E16000089BF01F000E078848D6EF68000A058953 +:10E17000EF69000B6CB88F086CBC580CC0752FFC95 +:10E180008DBCE3CF90FCE3CD80FCF01F0006CF9B5D +:10E190008001D8DC800091D080018440000087F4A9 +:10E1A00080018450EBCD40FC30C51896991516942B +:10E1B000149312920A9B300CF01F00128D0C1897CA +:10E1C000C1B0301830B98D588D490A9A300BF01F04 +:10E1D000000E306AAEC4AED3049BEE0A000CF01FF2 +:10E1E000000B48B66CB88F086CBC580CC0752FFC7F +:10E1F0008DBCE3CF90FCE3CD80FCF01F0006CF9BED +:10E200008001D8DC800091D0800091DC000087F490 +:10E2100080018450D431203D502B5018FACEFFD0CD +:10E2200033857C3499157C181896149312917C00D0 +:10E2300050087C220A9B300CF01F00228D0C18978E +:10E24000C370301830A98D580A9A8D49300BF01FD1 +:10E25000001E069A029BEECCFFFCF01F001CEF5341 +:10E2600000244028049BEF680026EF600027306AF6 +:10E27000EECCFFD8F01F00155804C1C0089B308AAF +:10E28000EECCFFD2F01F00114008EF6800364018B6 +:10E2900048F6EF6800376CB88F086CBC580CC05556 +:10E2A0002FFC8DBC2FDDDA3AF01F000ACFBB2FDD2B +:10E2B000D832089B308AEECCFFD2F01F0003CE5B31 +:10E2C0008001D8DC800091D0800091DC000087F4D0 +:10E2D00080018450D4012FCC7808202D500819C912 +:10E2E000BAC919D8BAD8F01F00052FED580CF9B8E3 +:10E2F000010DF9F81A06DA0A80015860D40148D8ED +:10E30000F8CBFFF5F0F900F8733C7808204D502861 +:10E3100019C9FB69000C19D8306AFB68000D1A9CFA +:10E32000F01F0005F01F00052FCD580C5F1CD80210 +:10E33000000087F48002E73680018898EBCD40FE2C +:10E340003007FAC5FFE0189116924A134A1466087E +:10E350000E38E08A00216A08204D50280BC9FB695D +:10E36000000C0BD8EE061504FB68000DE806000A49 +:10E3700015D8BAD87409500915C8BAC8F01F0016C4 +:10E380002FCD580CC0A12FF75907CE2118970E9CFE +:10E39000E3CD80FEEE061504E80600060A9B0C9C01 +:10E3A000F01F000EF3D2C001EE081501AC692FF882 +:10E3B000E808093166090E39FE99FFEBEEC9FFFF47 +:10E3C00048380E9C9109E3CD80FE000000008C5C73 +:10E3D00000008B5C8001889880018440EBCD4080F8 +:10E3E000300819C9F0091800C10048E8F0F700F832 +:10E3F0005807C130F01F000C0E9CF01F000C0E9C43 +:10E40000F01F000BE3CF8080486830A9F0FA00F8D5 +:10E41000301C9569E3CD80800E9CE3CD80800000A8 +:10E42000000087F480015D188001593880015CDCB0 +:10E43000EBCD40E01896F01F00224A2A0DE9F4F7D0 +:10E4400000F85809C1103018F0091800C32030280E +:10E45000F0091800C31030488F687498300CABC8AE +:10E460009598E3CD80E06F3930D8322A8F68496CB7 +:10E47000727B2F4BF01F00156F3C3FF8787BF7390C +:10E4800000C8F0091800C130202DF71600D47845D7 +:10E49000306AEECBFFE21A9CF01F000C0C9B0A9C2A +:10E4A000F01F000B301C2FEDE3CD80E0E3CF90E0B8 +:10E4B00030088F68CD3B30588F68CD0B8001F00459 +:10E4C000000087F400008C608002E7368001E33CA6 +:10E4D000EBCD40E01896F01F00284A8A0DE9F4F7CA +:10E4E00000F85809C1503018F0091800C3603028EE +:10E4F000F0091800C3906F0830492FF88F69EF4872 +:10E5000000407498300CABC89598E3CD80E06F392B +:10E5100030D8322A8F6849AC727B2F4BF01F00191C +:10E520006F3C3FF8787BF73900C8F0091800C1301C +:10E53000202DF71600D47845306AEECBFFE21A9C06 +:10E54000F01F00100C9B0A9CF01F000F301C2FEDD9 +:10E55000E3CD80E0E3CF90E06F0830092FF88F69BA +:10E56000EF480040CCFB6F0830592FF88F69EF4817 +:10E570000040CC8B8001F004000087F400008C6028 +:10E580008002E7368001E33CD421310B1896991BB9 +:10E59000300CF01F00198D0C1897C28030183049CC +:10E5A0008D588D494955302CEAF400F8F01F0014BD +:10E5B000E8CBFFE21896EECCFFF8F01F00126C38A3 +:10E5C000AE38EAF901045819C0D03008AE2830B886 +:10E5D00089686AB98F096ABC580CC0952FFC8BBC3E +:10E5E000DA2AEAF8011C5818CF20D82AF01F0006B2 +:10E5F000CF7B00008001D8DC000087F48001EF6C45 +:10E600008001844080018450EBCD40F81897169427 +:10E6100030CCF01F0046303CF01F00441895302CE1 +:10E62000F01F0042E06A00EC1896E06B00FF0E9CC1 +:10E63000F01F003FE8CBFFE2EECCFFF6F01F003DFD +:10E640006C384BD9AE289208AE483DD86939727BF8 +:10E65000F73A009AF00A1800C480F73900803DD8D4 +:10E66000F0091800C52030050A93F01F00349838CF +:10E67000AE381896F93900A83FF8F0091800C09094 +:10E68000F8C9FF58EECAFF584ADB0E9CF01F002D58 +:10E69000ED3900CC3FF8F0091800C1900E9CECC990 +:10E6A000FF34EECAFF344A6BF01F0027089CF01FAE +:10E6B0000027583CE089000C4A587099ABC99199E1 +:10E6C0003FFA301CEF6A009EE3CD80F85805CF502A +:10E6D000EECCFF62069BF01F001F49D9301C7298D8 +:10E6E000ABA89398E3CD80F8F73900A03008F00983 +:10E6F0001800CB41EAF900B85819CB01F72800A25D +:10E700001295F003161FCB2BF73900863018F0094D +:10E710001800CAA1EAFC00B8581CCA61F728008892 +:10E720001895F003161FCA2B8001EF6C800091D062 +:10E73000800184400000025E8001EFF88001D3EC8C +:10E740008001D1E88001D21C8001808E000087F416 +:10E75000800184F0D421E06800EC1897109B4924D4 +:10E76000300CE8F500F88F18F01F00108F0C189689 +:10E77000C090301830798F588F490A9BF01F000CD9 +:10E78000C021D82A0C9CF01F000B30C88B6868B9D8 +:10E790008D0968BC580CC0452FFC89BCDA2AF01FD3 +:10E7A0000006CFCB000087F48001D8DC8001E608AA +:10E7B0008001F03080018450D421E06800EC18978B +:10E7C000109B4924300CE8F500F88F18F01F00105A +:10E7D0008F0C1896C090301830698F588F490A9B5B +:10E7E000F01F000CC021D82A0C9CF01F000B30C871 +:10E7F0008B6868B98D0968BC580CC0452FFC89BC72 +:10E80000DA2AF01F0006CFCB000087F48001D8DCA5 +:10E810008001E6088001F03080018450EBCD40405B +:10E82000201D18961A9CF01F001849888C69F0FB6F +:10E8300000F85809C1203018F0091900C0B030287C +:10E84000F0091900C170770830492FF89769F74827 +:10E8500000402FFDE3CF80407738301911EA301C9B +:10E86000F20A1800F9B8000CF7F80A062FFDE3CDFC +:10E870008040770830592FF89769F74800402FFDFE +:10E88000E3CF8040800177A4000087F4D401496879 +:10E8900019C9F0FA00F85809C1803028F0091800A9 +:10E8A000C1803048F0091800C0503018F009180035 +:10E8B000C180750830492FF89569F548004019CB9B +:10E8C000302CF01F000AD80A3088301C9568D80216 +:10E8D000750830592FF89569F548004019CBCF1BC2 +:10E8E000301BCEFB000087F480018390D431215D82 +:10E8F000303C169614911290F01F00584D83F8C4C6 +:10E90000FFB0189531CA089B069CF01F0056C0A1A5 +:10E910006D3830AA707BE6CCFFE42D2BF01F005140 +:10E92000C7B06D38FAC7FFC8707B0E9CF6CAFFC827 +:10E930002D2BF01F004D089B0E9CF01F004CC0417A +:10E94000300C2EBDD83231CA0E9BFA0A0002049C4C +:10E95000F01F0047049CF01F004730080E9A500833 +:10E960001A97089B1A9CF01F00446D38707930E8A4 +:10E97000F33A005EF00A1800C670EB3A0074580AC9 +:10E98000CE006D387079EB380075F33B005EF60809 +:10E990001800C0F0EACCFF8A3009C0581938F608D0 +:10E9A0001800C0502FF9123AFE99FFFA123ACC9093 +:10E9B000049CF01F0032CC50049B1A9CF01F0030C6 +:10E9C0001A9B029CF01F002F049B009CF01F002D3F +:10E9D000089B31CA4A2CF01F00266D3830AA707B84 +:10E9E000E6CCFFE42D2BF01F00226D38312A707B1E +:10E9F000E6CCFFDA2C8BF01F001E029B304AE6CCDF +:10EA0000FFC8F01F001B009BE6CCFFC4304AF01F7C +:10EA10000018301CC97B6D38312A707BE6CCFFDAD8 +:10EA20002C8BF01F0010FE91FF7E304AE6CBFFC812 +:10EA3000029CF01F000FE6CBFFC4009C304AF01F81 +:10EA4000000C301CC7FB049CF01F000FFE90FF7AE7 +:10EA50001A9CF01F000EC92B8001EF6C000079E8B2 +:10EA60008000917C80018124800182BC800091DC47 +:10EA700080018658800181E8800182608001817E6A +:10EA8000800180CC80018360800185F4EBCD40FC67 +:10EA9000FACD0110300733095407FEF3022EE6F8D1 +:10EAA00000F854281896129B0E9C8D19F01F0088B0 +:10EAB0008D0C1895E080008A3018303C8D588D4CB4 +:10EAC000F01F0084FACBFEFC1894FACAFEF8FACCC8 +:10EAD000FEF2F01F0081442871390E9CE06B00ECBF +:10EAE0007277F01F007BC710540CE0680420B83820 +:10EAF000442B7738707992D9EDB90000C6B0EDB9E2 +:10EB00000001C06144099238A1B8B238442BE8F83A +:10EB100000B85808C0C07738707A94D9EDB90009A8 +:10EB2000C06144099238A9B8B238442BFAC2FEF148 +:10EB3000441A049CF01F006944185818E08000A58E +:10EB4000C6823079FB38010FF2081800C050440922 +:10EB50009238A5A8B238440CF01F0061049CF01F45 +:10EB600000614428E74C0100EACAFFF071390A9CB1 +:10EB70004DDBF01F005E6858AA286869AA394D3C31 +:10EB800069B85808C440442B773870793078F33A24 +:10EB90000074F00A1800C240EAC9FFF4EACAFFF89C +:10EBA000300CF01F0053581CC53030063018E748B1 +:10EBB000004444095809C0A0FACCFF00F01F004DE2 +:10EBC0000C9C2BCDE3CD80FC30060C9C2BCDE3CDF3 +:10EBD00080FC44099238A1A8B238442BC99BF8F8AC +:10EBE00001AC5808C050F8CCFE54F01F004230CBA6 +:10EBF000300CF01F0037E74C01AC189AC080442855 +:10EC0000713B76794B8B28C9F01F003B442BCC5BC2 +:10EC10005828CA51442C1A9B2E2CF01F00381A96E3 +:10EC20001AD61ADC442BFB380116FB390117EF3AD0 +:10EC300000CF169CF6CBFF34F01F003144283289F8 +:10EC4000F15900D8442CF01F00262FEDC88BE8F8AE +:10EC500000B85808C2916AB93FF8F368009A3028A2 +:10EC60003039E7480044442891694426F01F0025C4 +:10EC7000ED4C004466B88B0866BC580CC2352FFCBE +:10EC800087BC3016C94B440BEF3A00AF169CFB38DB +:10EC9000010EFB39010FF6CBFF58F01F001B440C8F +:10ECA000F01F000FC5CB44287139727A94D8EDB8A3 +:10ECB0000001CD21189B6ABCF8CCFF66F01F001341 +:10ECC000CCFBF01F0013CDDB000087F48001D8DC03 +:10ECD0008001EF6C80017C4480017EE08001F03097 +:10ECE00080017BD88001D3EC8001AD408001E8EC4D +:10ECF0008001D3A88001D1588001887080018C2CBC +:10ED0000800145C480018B74800184F080018450AF +:10ED1000D431203D189616971493303CF01F0070A4 +:10ED2000301831798D588D4930086C068F0858039A +:10ED3000EDF81805E7F81A0018950DC40898A7D83B +:10ED4000C0505898C0302FDDD83A0DD93018F0098E +:10ED50001800C1003008F0041800F9B80500EFF8F9 +:10ED60005A00F9BC0501F9BC0401EFFC4A002FDD93 +:10ED7000D832303CF01F005A6C98F93A0074F13BDD +:10ED8000005E580ACE80F9380075F6081800C0A059 +:10ED900028AC30092FF91439CDE41938F00B1800DC +:10EDA000CFA1ECC0FFF8009CF01F004E1891CD30B1 +:10EDB0006BB85808C090793870793078F33A00749D +:10EDC000F00A1800C6E0FACCFFF8F01F0047581C04 +:10EDD000C0A0F01F0046029B835C350A31DCF01FA7 +:10EDE0000044CB9B40285818CF51FACCFFFCF01FB1 +:10EDF0000041581CCEF1401820785818FE9BFFEBBC +:10EE00004BD8F0F900F85809CE501A9CF01F003B7F +:10EE1000581CCE01400820285818FE9BFFDC6C9E31 +:10EE20002F4EFCE80000212DFAE90024FCE8000840 +:10EE3000FAE9002CFCE20010FAE30034FCE80018C8 +:10EE4000FAE9003CFD3C0020FB6C0044FD38002149 +:10EE5000322AFB6800454AAB1A9CF01F002AF01FBB +:10EE6000002A2EED580CCB606C9A3FF8F53900C89B +:10EE7000F0091800CAF06008F51B00D4202D6C6C56 +:10EE8000500801C9BAC901D8BAD8F01F0020A56C32 +:10EE900049FB310A180B315CF01F00152FEDC9AB8F +:10EEA0004955EAF801AC5808C050EACCFE54F01FAE +:10EEB000001930CB300CF01F0018EB4C01AC189A45 +:10EEC00048D5580CFE90FF816338494B707928C9AA +:10EED000F01F00136A98ABB88B98C76B8001EF6C7A +:10EEE00080015D44800177A4800145C480014658BB +:10EEF00080015F44000087F480015F2800008C607F +:10EF00008002E736800189108001E33C00008B5CC1 +:10EF10008001D3A88001D8DC8001D3EC8001D158D6 +:10EF2000EBCD40E0206D300818991495502850081A +:10EF30001A9C1A965D191897C10140085808C040DC +:10EF40001A9CF01F0009402C580CC030F01F00071D +:10EF50000E9C2FADE3CD80E01A9C5D15581C5F0719 +:10EF6000CEDB00008001D3A8800091E858DCE08867 +:10EF700000035EFD49B8F00C032F49B8F0CCFFF454 +:10EF80005EFC4998F0CCFFE45EFC4978F0CCFFD4FD +:10EF90005EFC4958F0CCFFCC5EFC4938F0CCFFC495 +:10EFA0005EFC4918F0CCFF305EFC48F8F0CCFF1C4A +:10EFB0005EFC48D8F0CCFEF45EFC48B8F0CCFEBC59 +:10EFC0005EFC4898F0CCFE945EFC487C5EFC486891 +:10EFD000F0CCFFFC5EFC4848F0CCFE785EFC000004 +:10EFE0008003C01400000260483930089318930869 +:10EFF0005EFC000000008C844828700C5EFC000061 +:10F0000000008C84EBCD40C0487618976C1C580CDF +:10F01000C030F01F00060E9CF01F00058D1CE3CDD4 +:10F0200080C0000000008C8480018AD480018AECBA +:10F03000EBCD40C0487618976C0C580CC030F01FD0 +:10F0400000060E9CF01F00058D0CE3CD80C0000073 +:10F0500000008C8480018ABC80018B30D4211894FC +:10F060001696149530CCF01F00121897C1D03018A6 +:10F0700099069915F0060946EC0C1502F01F000CD4 +:10F080008F2CC0F05806E08A000B3009129A6E28C7 +:10F09000F009092A2FF91236FE99FFFB8907DA2AAF +:10F0A0000E9CF01F00043FDCD8220000800092007C +:10F0B000800091E8D4311893169214901291580C54 +:10F0C000C36078093018760CF0090945580CC390D4 +:10F0D000189468160A36C1A468075807C0606E48BD +:10F0E0000238C1B03FCCD832662CF8060327580747 +:10F0F000CF71ECC8FFFFF808002CC0582FF8190793 +:10F100005807CEE110960A38CFA5089CF01F0013CF +:10F1100030083FEC8508D832029A009C6E3BF01F05 +:10F120000010301C89166E088908D832760C580CED +:10F13000C040F01F000ADA3A66093018F0090945A4 +:10F14000308CF01F00081894C060850C30089918A6 +:10F150009908CC0BD8320000800091E8800091DC47 +:10F1600080009200D431109412907818409618952F +:10F17000169214910C9B780A089C5D181893318C98 +:10F18000F01F00131897C1F00C9CF01F00118F3C6A +:10F19000C170089B0C9AF01F000F30088F468F1229 +:10F1A0008F218F508F086A29F203002C78085808A5 +:10F1B000C0C0109970085808CFD19307DA3A0E9C56 +:10F1C000F01F00053FDCD8329907DA3A8000920040 +:10F1D000800091DC800091E8D431203D501C500B20 +:10F1E000149112921090580AC4307418009B740A3B +:10F1F000129C5D18A36C502C6228F00C0307580772 +:10F20000C3706E450A990035C3610E940E93C09881 +:10F210006E075807C2D008936E490A39C2C10E94CE +:10F220006E3B0A9A049CF01F00181896CF214019D3 +:10F230006E18930840086E2991098F1C8F2C6E3C24 +:10F24000F01F00128F468F3640296228F009000C0B +:10F2500078090E39EFF80000F9F80A00EFF810000D +:10F26000E7F81A000E9CF01F00092FDDDA3A3FEC98 +:10F270002FDDD8326E385808CFB00039CF903FCC50 +:10F280002FDDD8328000917C800091E8163C5E0C26 +:10F290007808971C990B97085808F1FB1A015EFC37 +:10F2A00078195809F9F81000F3F81A007808580886 +:10F2B000F1F91A013008990899185EFCD40149380F +:10F2C000FACEFFFC709CE21C0002C1D0209DFD3AEA +:10F2D0000021FB6A0021FCE80000FAE90000FCEADA +:10F2E0000008FAEB0008FCE80010FAE90010FCEA5C +:10F2F0000018FAEB0018FD380020FB680020F01F12 +:10F3000000042F7DD8020000000087F480015AA479 +:10F31000D4014898709CE21C0002C0C0300930CC77 +:10F32000EA1C4000303B129AF01F0004F01F00045A +:10F33000301CD802000087F4800186C88001875401 +:10F34000D4014898709CE21C0002C0C0300930DC37 +:10F35000EA1C4000303B129AF01F0004F01F00042A +:10F36000301CD802000087F4800186C880018754D1 +:10F37000D4014898709CE21C0002C0C03009310CD6 +:10F38000EA1C4000303B129AF01F0004F01F0004FA +:10F39000301CD802000087F4800186C880018754A1 +:10F3A000EBCD4080495818977098E2180002C04190 +:10F3B000109CE3CD8080F01F00126F38302911EAD5 +:10F3C000F20A1800C0D03009303B129A307CEA1C97 +:10F3D0004000F01F000CF01F000CE3CF90806E681F +:10F3E0005898CF213009303B129A30BCEA1C4000BB +:10F3F000F01F0004CF1B0000000087F4800158407C +:10F40000800186C88001875458DBE08A0012F939F0 +:10F41000000C3078F0091800E08B000C595BE08A92 +:10F420000008F939000E3AA8F0091800C0D05EFDB6 +:10F430003888F0091800CFC1F939000D38E8F00913 +:10F4400018005F0C5EFCF938000FF2081800CF01BD +:10F45000F93900103038F0091800CEA1F93900113F +:10F460003008F0091800CE41F93A0012F20A1800EB +:10F47000CDF1F9380013F4081800CDA1F9390014C2 +:10F480003888F0091800CD41F939001538E8F0093D +:10F4900018005F0C5EFCD7033019482891095EFC08 +:10F4A00000007A38EBCD40C0208D48D730088E0957 +:10F4B000F0091900C101E06AFFFF300B1A9CF01F30 +:10F4C00000091A9B302AFACCFFE8F01F00079A18AF +:10F4D0001A96AE088E0C2F8DE3CD80C000007A2ADC +:10F4E0008001C7B88001A498D401F01F00054858D6 +:10F4F000F139010B120C5C8CD80200008001F4A4DD +:10F50000000087F4EBCD4060208D306AFAC5FFE63D +:10F51000300B0A9CF01F00091A9CE06AFFFF300BB9 +:10F52000F01F00070A9C1A9B302AF01F00061A964B +:10F530009A1C2F8DE3CD8060800091D08001C7B8E8 +:10F540008001A444D43120DDFEF60234FACEFFA8B7 +:10F55000189516916C9C1494129310907C177C0251 +:10F56000E21C0002C0312F3DD832FEF802167009AD +:10F570005809C041FE7CFBB4CF7BECF8012458183D +:10F58000C041FE7CFC17CF0BECC9FFE85019129C60 +:10F59000F01F007D581CE08000E30D890D98F009F4 +:10F5A0001800E08200E6302CF01F0078E08000D2E6 +:10F5B0006CB850282FF88DB85807FBF91002EFF9F6 +:10F5C0001A00F01F0073C0E0029B0A9CF01F00713C +:10F5D000E08000C96C98EDB80006C0414E88402913 +:10F5E00091D9F01F006D6008EFDCB010F3D7C010A8 +:10F5F00050091039E08B006C0D882FF8AC880D99FC +:10F60000F0091800C061300A320C149BF01F00632F +:10F61000E8C800020E08FB58002EED38010B30043C +:10F62000FB680032400A300BFB640030FB640031A1 +:10F63000FB640033069CF01F005A069BFAC7FFF4D8 +:10F64000400A0E9CF01F0057300A0E9BFACCFFD2E6 +:10F65000F01F0055ED38010BF9D2C003BA78F01F46 +:10F660000053300CFB520028FB5C002AE041003EB6 +:10F67000E0880008EB39000C3888F0091800C2D087 +:10F680004028300A50980E9BFACCFFDCF01F00484F +:10F690004009ECCCFFE88109F01F0046F01F00464E +:10F6A0003008ED4C00CCED5800D04C49F30A014233 +:10F6B000F00A1900C0604B297298EDB8000EC031F5 +:10F6C000301CC52BF01F003E301CC4EBECCCFFE817 +:10F6D000F01F00383FFCC48BEB39000D38E8F0090F +:10F6E0001800CCF1EB39000E3018F0091800CC915D +:10F6F000EB39000F3038F0091800CC313028EB3BE3 +:10F700000012F00B18005F1A3FE8F00B18005F19A9 +:10F71000126AE80A1800CB51EB380013E218001DFA +:10F720005818CAF1EB380014E21800C85888CA917A +:10F73000189A31F9EA090708F4081800CA212FF9C4 +:10F74000E049003FCF81E0680400FB58002AC99BD4 +:10F75000401CF01F0018FE7CFAECC06BFE7CFC160F +:10F76000C03BECCCFFE8F01F00133FECCFDA401CAD +:10F77000F01F0010FE7CFB4FCF7A0000000087F4E2 +:10F7800000007A38800145DC80019F3080015F04F1 +:10F790008001F4088001F4E880014658800091D08F +:10F7A0008001C7B88001A4448001859C8001A49891 +:10F7B000800145EC800145C4000002608001FBFC33 +:10F7C000D401302CF01F0003300948389109D802C9 +:10F7D0008001A12800007A38D431FACD01385009CF +:10F7E000FACEFEA416971896FEFB031C14947C1305 +:10F7F0007C00F6F801245818C460FEFA030A749CD1 +:10F80000E21C0002C05118970E9C2B2DD832E068E4 +:10F8100000F8FAC5FEFCF5D7C0100C9B0A9C548872 +:10F82000549654A730025472F01F00B8FAC1FEE497 +:10F830000A9B029CF01F00B644C95879E08B00284F +:10F840003018F0090948E2180085C2104488FAC946 +:10F85000FFF45012502854D944D80A9B5478029C83 +:10F86000F01F00ACC1C1302744D95809CCE0FAC818 +:10F87000FFF41039CCA0FACCFECCF01F00A70E9CF0 +:10F880002B2DD83230270E9C2B2DD832448B300CA8 +:10F89000F01F00A2E08000B354DCCDFB44C9E04976 +:10F8A000003FE088000B300744B8EDB80007E08067 +:10F8B000009EF01F009BCD9BFEF80268F009032F0D +:10F8C000ECCAFFFC1588EC08000889080DD81589DA +:10F8D000400BEE0901093067F208010A970A44B8A3 +:10F8E000CE5B44B8F0C90001E0490097E088008988 +:10F8F000447CF01F008D44C8189A300944BC303B4A +:10F90000BFBCF9E8108CF01F0089F01F0085301B88 +:10F91000300CF01F008744B83027CC8B44B8E04847 +:10F920000082C090E08900A9E0480080C040E04823 +:10F930000081CEE10E9B0C9CF01F007ECE9B44B854 +:10F94000E0480082E08000C4E08900915978E080BE +:10F9500000C4E0480081CCD1029CF01F0077CD8B21 +:10F9600044B85808C7E144D65803EDF81000E7F84A +:10F970001A008C28A008FB1A0106445814088908AC +:10F98000FB190104F20A0105400A30EB95056807EE +:10F990000E9CF01F006AE08000AE4DB9F2F801D075 +:10F9A0005808E080009E0A9B0E9C5D18E08000993C +:10F9B00030270DE84D4BF768007B44B8C77B44B84F +:10F9C0005818CB90E0480080CA31CB5B447B44BCE4 +:10F9D000F01F005B44BCF8C800805818FE9BFF99DC +:10F9E000029B5C5CF01F0057C93B30084C69300B30 +:10F9F000B2A8169CF01F0054C5DB3FD7C06B4D3832 +:10FA0000F009032F029CF01F0052C82B029CF01F2C +:10FA10000051C7EB029CF01F0050C7AB029CF01FC7 +:10FA2000004FC76B029CF01F004EC72B029CF01FBB +:10FA3000004DC6EBF01F004C4B3AF54C00D4C68B82 +:10FA4000029CF01F004AC64B029CF01F0049C60BE7 +:10FA5000029CF01F0048C5CB447CF01F0047C58BBB +:10FA6000E0480081C1403027C21BF0C8008F5828F1 +:10FA7000FE9BFF40C4DBE0480084FE90FF5DFE95E6 +:10FA8000FF5BE0480085FE91FF44C55B49E91388B0 +:10FA900020185C58B28844D7C29049BB7698E218C7 +:10FAA0000040C20076D96E081039E088002944B8B9 +:10FAB000A7D854B85803F9B70003EFF81000E7F8D7 +:10FAC0001A00F9B70103FBF8104BCF0A447B32EC64 +:10FAD000F01F002AC1DB029CF01F0029C19B3047A8 +:10FAE000C69B0FD8F768007ACE3B302CF01F00255C +:10FAF000CD5BF01F0025CF403FE7C5CBF01F0023B3 +:10FB0000CD7B0000000087F48001C7B88001BF10E2 +:10FB10008001BF448001D3A88001D8DC80018754D4 +:10FB20008003C04C8001870C800186C880016A88F0 +:10FB3000800237E8800208948001F4088001708C0C +:10FB40008001725480018CE48003C14C8002084023 +:10FB50008002085880020864800208708002087CD5 +:10FB600080020888800145C48002084C8002083465 +:10FB7000800209B48001DA3480016D6C8002094092 +:10FB80008001A12880015F048001F310EBCD406863 +:10FB90003006493C1AD61AD649250C9899064929A7 +:10FBA000492A302B0A9CF01F001249231AD60C98C0 +:10FBB0001AD60699490A303BEACCFFFCF01F000C2C +:10FBC0000C981AD606991AD6EACCFFF848BA305BD8 +:10FBD000F01F0007301C2FADE3CD806800007A389D +:10FBE00000007A2C8001F4988003C3AC80016EB8C9 +:10FBF0008001F7C08003C3C48003C3E05EFCD70369 +:10FC0000EBCD40E0203D1897580CC1F07938707A60 +:10FC100094D9EDB90001C1D04C166C785828C15068 +:10FC20000E9CF01F0040C110ED3900943FF8F00920 +:10FC30001800C1405017FACAFFFC1A9BFACCFFF615 +:10FC4000F01F0039581CC180301C2FDDE3CD80E04F +:10FC50004B366C785818CE51CF8B202D306A1A9CB9 +:10FC60004AFBF6CBFF4AF01F0031F01F00312FEDA9 +:10FC7000580CCEB1CE0BFAC5FFF5400A401B0A9CCA +:10FC8000F01F002C581CCE113079FB38000BF20805 +:10FC90001800C35140187139727A94D8EDB8000435 +:10FCA000CD404A5AF4F801045818C3206DE85808AA +:10FCB000C1D1ED3B008049AA580BC2806F387079E2 +:10FCC000F5380081F33C005EF8081800C1F0F4CA72 +:10FCD000FF7E3009C0581538F8081800C0402FF9C9 +:10FCE0001639CFA516395F0CCB1B48D973F85808C5 +:10FCF000CE10F4F801AC5808CDD1CA7B0A9CF01F95 +:10FD0000000FF01F000FCA10CCDB3009CECB3059EA +:10FD1000FB38000BF2081800C981CC9B0000026080 +:10FD2000800189D080017C448002E736800188B060 +:10FD300080017EE0000087F480017BD880017C1088 +:10FD4000EBCD40E048D818961695F0F700F058072C +:10FD5000C0E00E9CF01F000AC0715806C0A00E9CA7 +:10FD60000A9B5D16C0606E075807CF41E3CF80E065 +:10FD70000E9CE3CD80E00000000087F48001FC00D1 +:10FD8000D401F01F0002D80280021500EBCD40F82C +:10FD9000204DE0683100EA18312EE069312EEA1971 +:10FDA000322E306CFAE90000F01F00631894E080F6 +:10FDB00000B9303CF01F00611896301CF01F005F46 +:10FDC000306A202D189B18951A9CF01F005DF01FBB +:10FDD000005D2FED580CE080008732B80A9C1AD8DD +:10FDE000308930084D8A306BF01F00582FFD1A9370 +:10FDF000ECFC00D8F01F0056ECFC00DCF01F0055B6 +:10FE0000ECFC00E4F01F0054ECFC00E8F01F005391 +:10FE1000ECFC00ECF01F0052ECFC00F0F01F005175 +:10FE2000ED3C00B7F01F00506DC85808F9B801014B +:10FE3000EDF81A1BED3C006FF01F004CECFC012CA0 +:10FE4000F01F004BF01F004BF01F004BF01F004B4A +:10FE5000F01F004BECF800F85808C6616D084C978D +:10FE6000EF4800D8ECFC0130F01F0047300830A903 +:10FE700032B54C6A1AD5E06B0080EECCFED8F01F8C +:10FE80000033EEC6FE58304A300B0C9CF01F004089 +:10FE900030081AD530594BFA0C9C304BF01F002B10 +:10FEA0004BD82FEDF10A01423009F20A1900C26065 +:10FEB0006E99EDB9000EC201A7B930688F9950381C +:10FEC0001A9CFAC8FFF8FAC9FFF4089A308BF01FA1 +:10FED00000331897581CC140089CF01F00312FCDEB +:10FEE000E3CF80F8189A0A991A933068308B1A9CDD +:10FEF000F01F002CC7EBF01F002C6E99CDEB089C77 +:10FF0000F01F00273009303B129A311CEA1C4000D8 +:10FF1000F01F0026F01F00260E9C2FCDE3CD80F8A9 +:10FF20002FCDE3CD80F8300A301B149CF01F002148 +:10FF3000C96B0000800092008001EF6C8002E73600 +:10FF4000800188B08003B804800176C480020594E3 +:10FF500080020538800204DC8002048080020424D0 +:10FF6000800203C8800202F880020374800202D477 +:10FF70008002078C800168AC8002017080020EFC58 +:10FF8000000087F48002031C8003C400800091D02D +:10FF90008003C40C00000260800174C8800091E8F6 +:10FFA0008001776C8001FBFC800186C8800187544A +:10FFB00080020B34EBCD406830094AF63068ACA9BA +:10FFC000AC893129314AAC988D99300530130A9BA0 +:10FFD000ED4500ECED4500E88DA58DC5ED550040E3 +:10FFE000ED550042ED55004EED4500D88DB3ECCCFB +:10FFF000FEF0F01F0022ED450124F01F0021ED5519 +:02000004800278 +:1000000000D0ED4C00CCED5500D249ECF01F001EA5 +:10001000F01F001EED4501B8F01F001DF01F001D70 +:10002000F01F001D0A9BECCCFF48F01F001C0A9B30 +:10003000ECCCFF44F01F0019069BECCCFF40F01FF6 +:100040000017069BECCCFF3CF01F0014ED4300446E +:10005000F01F0013F01F001330DCF01F0013F93CF9 +:10006000000FF01F0012F01F0006ED4C01CC069CA3 +:10007000E3CD8068000087F4800091D0800145C402 +:10008000000084CC80017B24800237D080016CDCAE +:100090008001FB8C8001EFE8800144F8800187C873 +:1000A000800205EC8001EF6C800202B8EBCD40606D +:1000B000E06A01F8300B49D518960A9CF01F001C25 +:1000C000F01F001C0C9CF01F001CEACCFFF4F01F7A +:1000D000001BEACCFFE0F01F0019EACCFFF0F01F94 +:1000E0000017EACCFFECF01F0016EACCFFE8F01F87 +:1000F0000014EACCFFE4F01F0012300930DC1AD9FA +:100100001298129A129BF01F000FF01F000FF01FA1 +:10011000000FF01F000FF01F000FF01F000F301C2A +:100120002FFDE3CD80600000000087F4800091D0B7 +:1001300080016F4880021124800145D6800145F27C +:100140008002067C80014690800149B88001804091 +:1001500080015F98800201584848300A4849911848 +:10016000910A930A5EFC000000007A3C00007A4489 +:10017000D421219D4A846808F3D8C001FB6900633B +:10018000E2180002C14030183005FB6800634A3CA9 +:10019000F01F00233018189BFAC9FF9D300A49FC54 +:1001A000F01F0020581CC2802E7DD8225809C1C0E3 +:1001B000109549D870065806CEB0EA050019FA091C +:1001C00000170C9B0E9C306A2FA72FF5F01F00170D +:1001D0006C265806CDD05905CF516808F1D8C0011A +:1001E000F0051700CD5B306AE06B00FF1A9C3015FC +:1001F000F01F000FCDFB48FCF01F0009EA050018B6 +:10020000189BA1781A99300A48ACF01F00062E7D81 +:10021000D822000000007A448003C414800091B802 +:100220008001776C00007A3C800091DC800091D0E6 +:100230008003C41CD40148697208104C930CEDBCB7 +:100240000002C021DA0AF01F0003D80200007A443D +:1002500080020170EBCD408048C76E095809C1305B +:10026000722A580AF3F80003EFF80A01F3F81003B2 +:10027000F5F81A037238129C910AF01F00056E09F6 +:100280005809CEF1E3CF908000007A3C800091E8DD +:10029000D401F01F0007581CC020D802485972082A +:1002A000EDB80002CFB0F01F0004D8028002025463 +:1002B00000007A4480020170F8C900013058F0094A +:1002C0001800E08B00054838B09C5EFF3FCC5EFC18 +:1002D000000087F4D401201DFAC9FFFC12DC1A9932 +:1002E0003048300A307B483CF01F00032FFDD80215 +:1002F0008003C43C8001776CD401201D3018BA8C77 +:100300001A99300A306B484CF01F0004581C5F0CDF +:100310002FFDD8028003C45C8001776CEBCD406870 +:10032000201D48F61893FAC5FFFC2F060AFC0C9C0A +:10033000F01F000C303CF01F000CF94301300C9C06 +:10034000F01F000A0A993018300A307B488CF01FE1 +:100350000009581C5F0C2FFDE3CD8068000087F476 +:10036000800145FC8001EF6C800145FE8003C46C78 +:100370008001776CEBCD4040201D48E6BA8C2F06FB +:100380000C9CF01F000D303CF01F000C1B88F9483E +:10039000006C0C9CF01F000A30181A99300A309B30 +:1003A000488CF01F0009581C5F0C2FFDE3CD8040E6 +:1003B000000087F4800145FC8001EF6C800145FE60 +:1003C0008003C4748001776CEBCD4068201D1898C1 +:1003D0005CB81895FAC3FFFC48D606D82F060C9CCB +:1003E000F01F000C303CF01F000CF94500F00C9C95 +:1003F000F01F000A1A993048300A309B488CF01FD1 +:100400000009581C5F0C2FFDE3CD8068000087F4C5 +:10041000800145FC8001EF6C800145FE8003C480B3 +:100420008001776CEBCD4068201D18985CB818955A +:10043000FAC3FFFC48D606D82F060C9CF01F000C10 +:10044000303CF01F000CF94500EC0C9CF01F000A3A +:100450001A993048300A309B488CF01F0009581C0C +:100460005F0C2FFDE3CD8068000087F4800145FC20 +:100470008001EF6C800145FE8003C48C8001776CA5 +:10048000EBCD4068201D18985CB81895FAC3FFFCA6 +:1004900048D606D82F060C9CF01F000C303CF01FED +:1004A000000CF94500E80C9CF01F000A1A9930482E +:1004B000300A309B488CF01F0009581C5F0C2FFD40 +:1004C000E3CD8068000087F4800145FC8001EF6C7B +:1004D000800145FE8003C4988001776CEBCD4068B5 +:1004E000201D18985CB81895FAC3FFFC48D606D8AA +:1004F0002F060C9CF01F000C303CF01F000CF9453F +:1005000000E40C9CF01F000A1A993048300A309B16 +:10051000488CF01F0009581C5F0C2FFDE3CD80684C +:10052000000087F4800145FC8001EF6C800145FEEE +:100530008003C4A48001776CEBCD4068201D18981F +:100540005CB81895FAC3FFFC48D606D82F060C9C59 +:10055000F01F000C303CF01F000CF94500DC0C9C37 +:10056000F01F000A1A993048300A309B488CF01F5F +:100570000009581C5F0C2FFDE3CD8068000087F454 +:10058000800145FC8001EF6C800145FE8003C4B012 +:100590008001776CEBCD4060201D48F5BABC2F057B +:1005A0000A9CF01F000E303CF01F000DFAC6FFFC45 +:1005B0000D78F94800D80A9CF01F000A0C993018F1 +:1005C000300A306B488CF01F0009581C5F0C2FFD5F +:1005D000E3CD8060000087F4800145FC8001EF6C72 +:1005E000800145FE8003C4BC8001776CEBCD40C028 +:1005F000206D49EC3008F939010DF93B010850082C +:1006000050281AD9F93A010C1ADAFAC7FFF8F93961 +:10061000010AF93A01090E9CF01F00152FED580C44 +:10062000C10140085808C0401A9CF01F0012402C1D +:10063000580CC040F01F0010300C2FADE3CD80C02F +:100640001A9CF01F000E400818965808C0401A9CCB +:10065000F01F0008402C580CC030F01F000758163F +:100660005F0C2FADE3CD80C0000087F48001DAE499 +:100670008001D3A8800091E880018E9CD4214C0792 +:10068000405EEF6C0108EF6B0109EF6E010D1495F0 +:100690001294109A3019F2081800C120EEF801B037 +:1006A0005808C3D05828C4C04B5CEF3B01B5338811 +:1006B000F00B1800C5403398F00B1800C440EF6AE7 +:1006C000010CF01F0030EDDCB010F01F002F0C0CFF +:1006D0005C5C5805C1E11895F01F002A1815EF65FC +:1006E000010AF01F0029EDDCB010F01F00260C0CF1 +:1006F0005C5C5804C3F11894F01F00221814EF64D6 +:10070000010B6E98EDB80001C031F01F0020DA2A0D +:10071000EA0C1800FE98FFE23FCCD822EF3901B571 +:100720003348F0091800CC11EF3901B63418F0093C +:100730001800FE98FFC630E8EF68010CCC3BEF696B +:10074000010CCC0BEF3901B63408F0091800FE9803 +:10075000FFB8301948A8F169010CCB4BF93901B643 +:100760003408F0091800FE98FFA835A8F968010CB4 +:10077000CA9BE80C1800FE9BFFD1CBFB000087F45E +:100780008001F4A48001F504800205ECEBCD40E08B +:10079000303CF01F002330CB18954A26300CF01F58 +:1007A0000022ED4C01AC1897C360303BF01F001FD6 +:1007B0008F2CECF901AC72275807C2903078300BBF +:1007C000B2883068ECFA01ACB498ECF901ACB2AB89 +:1007D000ECF801ACB0BBECF901ACB2CBECF801AC7D +:1007E000EB390075702AB489ECF801ACEB39007470 +:1007F000702AB499ECF801ACEAFB00847029B2AB22 +:10080000ECFC01ACF01F000AE3CF90E0ECCCFE540E +:10081000F01F00080E9CE3CD80E000008001EF6C2B +:10082000000087F48001D8DC8001D3EC800208D47A +:100830008001D3A8D401F01F0002DA0A8001DA5641 +:10084000D401F01F0002DA0A8001DF30D401F01F6A +:100850000002DA0A8001DBE8D401F01F0002DA0AA4 +:100860008001DC04D401F01F0002DA0A8001DC20E0 +:10087000D401F01F0002DA0A8001DC3CD401F01F31 +:100880000002DA0A8001DC58D401F01F0002DA0A03 +:100890008001DC74D401201D1A9BF01F000CC09055 +:1008A00040085808C06048AA7499EDB90000C030EB +:1008B0002FFDDA0A1298A1C831CC9598300A149B02 +:1008C000F01F00042FFDDA0A8001D98C000087F4A4 +:1008D00080014658EBCD40C0206D4958189B709C54 +:1008E000E21C0002C06118970E9C2FADE3CD80C0C2 +:1008F00030081A96502850081A9CF01F000EC1119B +:10090000189740085808C0401A9CF01F000B402C54 +:10091000580CCEB0F01F00090E9C2FADE3CD80C067 +:100920001A9C3017F01F0006CEDB0000000087F491 +:100930008001DED08001D3A8800091E880018E9CE8 +:10094000EBCD4080201D300A1A9BF01F0017C0F02D +:1009500040085808C0F149576E99EDB9000BC071B5 +:10096000EEF801A84917F1D8C001C1212FFDE3CF4E +:10097000908048E76E99EDB90000CF01A1C9300A17 +:100980008F9931CC149BF01F000A6E99CE7BEEFC40 +:1009900001ACF01F00086E98301CABD88F982FFD6B +:1009A000E3CD80808001ED10000087F4800146587F +:1009B000800208D4D401F01F0002DA0A8001DBD0E3 +:1009C000EBCD40FC206D4A5318951097169266980F +:1009D0001496109C1294E21C0002C2D05BF5C30175 +:1009E000303CF01F001F300BF3D7C010F5D4C010FF +:1009F0001AD90C981ADAF3D2C010504B502BFAC601 +:100A0000FFF8F93B00F70A9A0C9CF01F00162FED37 +:100A1000580CC1B1189740085808C0401A9CF01FE4 +:100A20000012402C580CC030F01F00100E9C2FAD4F +:100A3000E3CD80FC18970E9C2FADE3CD80FCEDB884 +:100A40000000CCF13FB7CF3B6698A1A81A9C8798CD +:100A50003017F01F0007CE0B000087F48001EF6C09 +:100A60008001DB588001D3A8800091E880018E9C32 +:100A7000D40130085C7B1099109AF01F0002D80254 +:100A8000800209C0D4013008364B1099109A109C8E +:100A9000F01F0002D8020000800209C0EBCD40E048 +:100AA00020AD3006507CFB6B00201497500650267A +:100AB0001A95FACAFFDCFACBFFE81A9CF01F00195E +:100AC000C111189640085808C0401A9CF01F001623 +:100AD000402C580CC030F01F00150C9C2F6DE3CD3E +:100AE00080E05807C09040980E9B0C9C8F28F01F08 +:100AF0000010581CC0611A9C3016F01F000ECE3B2F +:100B000040085808C0401A9CF01F0007402C580CA1 +:100B1000C0313FD6CE3BF01F00053FD6CDFB0000D5 +:100B20008001DC8C8001D3A8800091E880016C40BA +:100B300080018E9CD401F01F0002D80280020A9C22 +:100B4000EBCD40E0209D3018189A1697F00C09481C +:100B50004A5B7609F1E9000CC06118970E9C2F7D65 +:100B6000E3CD80E0F00811FF12683006507A970854 +:100B7000500650261A95FACAFFE0FACBFFE81A9CF5 +:100B8000F01F001AC1E05807C09040880E9B0C9CD3 +:100B90008F28F01F0017581CC1611A9C3017F01FD6 +:100BA000001540085808C0401A9CF01F0013402C44 +:100BB000580CCD50F01F00110E9C2F7DE3CD80E02E +:100BC0001897CF0B40085808C0401A9CF01F000A25 +:100BD000402C580CC0313FD7CC2BF01F00083FD71A +:100BE000CBEB000000007A4C8001DCEC80016C4013 +:100BF00080018E9C8001D3A8800091E8EBCD40F865 +:100C0000216DFAC6FF901897FB69000EFB68000F74 +:100C1000FB6B0010FB6A00116CF46D036D15ECCCDE +:100C2000FFD4F01F0038306ABA6CECCBFFDCFACC92 +:100C3000FFEDF01F00350D88FB6800190D99ECCB16 +:100C4000FFFEFB69001A320AFACCFFE5F01F002E06 +:100C50004AEE30097C0B301CF809094AF5EB000814 +:100C6000C0902FF95899CF9130060C9C2EADE3CD52 +:100C700080F8F7EA10089D085BF9CF705024FB63F9 +:100C8000001250195807EFF91A003006FAC7FFC4CE +:100C900050F65116FACAFFAC1A9B0E9CF01F001CAE +:100CA000C111189640F85808C0400E9CF01F00195A +:100CB000411C580CCDB0F01F00180C9C2EADE3CD9C +:100CC00080F85805C09041580A9B0C9C8B28F01F57 +:100CD0000013581CC0610E9C3016F01F0011CE3B53 +:100CE00040F85808C0400E9CF01F000A411C580CE8 +:100CF000C0313FD6CBBBF01F00083FD6CB7B0000F6 +:100D000080018058800091DC00007A4C8001DD4C2D +:100D10008001D3A8800091E880016C4080018E9C06 +:100D2000D42120DD4B0510946A0E4126F1DEC0016E +:100D3000C0B0EDBE0001C411EDBE0002C411300709 +:100D40000E9C2F3DD82210973018FB6B002A508A3A +:100D50005077FDE8100850998B08FB540028580C78 +:100D6000F9F71A001A953007FACAFFD05007502732 +:100D7000FACBFFE81A9CF01F001DC101189740082C +:100D80005808C0401A9CF01F001A402C580CCD90F7 +:100D9000F01F00180E9C2F3DD8225806C09040C866 +:100DA0000C9B0E9C8D28F01F0014581CC0C11A9C6F +:100DB0003017F01F0012CE4B30173028CC7B302775 +:100DC0003048CC4B40085808C0401A9CF01F00081F +:100DD000402C580CC0313FD7CB4BF01F00063FD7FB +:100DE000CB0B000000007A488001DDAC8001D3A865 +:100DF000800091E880016C4080018E9CEBCD40E04A +:100E0000207D300616975006189B50261A95FACA70 +:100E1000FFE81A9CF01F001AC111189640085808E4 +:100E2000C0401A9CF01F0017402C580CC030F01F17 +:100E300000160C9C2F9DE3CD80E05807C1904068C0 +:100E40000E9B0C9C8F28F01F0011581CC1104008ED +:100E50005808C0401A9CF01F000B402C580CC0D002 +:100E6000F01F000930060C9C2F9DE3CD80E01A9CFA +:100E70003016F01F0007CD3B1896CDCB8001DE0C5D +:100E80008001D3A8800091E880016C4080018E9C95 +:100E9000D40120CDFB5A0012FB590014FACAFFCC32 +:100EA000502874197408FB590016501874397428A6 +:100EB000FB59001AFB580018745974485039FB58F4 +:100EC000001C74797468FB590020FB58001E74994B +:100ED000748850A95098300974A8FB6C0022FB5B01 +:100EE0000010FB68002C74BBFB6900231A9CF01FE8 +:100EF00000032F4DD802000080020DFCEBCD40EE28 +:100F000020CD3FF94CC850A950B94CC93005303CF0 +:100F100091059305F01F004A322A18961A971A9CD9 +:100F20000A9BF01F0048FAC3FFDE306AE06B00FF47 +:100F3000069CF01F00441AD5ED38004F1AD86D28D2 +:100F40001AD86D191AD9ED1800361AD8ED190032D1 +:100F50001AD96CE81AD8ED19002E1AD9ED18002A02 +:100F60001AD8ED1900261AD9ED1800221AD86C6982 +:100F700030BB1AD9301C6D08ED1900FEED3A001F88 +:100F8000F01F0031ECFB01282F4DF6C80001581866 +:100F9000E0880045ED3100F7ECCAFF8C30153006D3 +:100FA0001AD61AD540D81AD8F4E80000206D069B4E +:100FB000FAE900081A9CF4E20008306AFAE300102B +:100FC000F01F0022EF380021209DFB680021EEE891 +:100FD0000000FAE90000EEE20008FAE30008EEE89B +:100FE0000010FAE90010EEE20018FAE30018EF38FA +:100FF0000020029BFB6800200A990C98FACCFF9015 +:10100000303AF01F00130C9A2EED0C9B40ACF01FF1 +:1010100000110A9C2F4DE3CD80EE1AD50A98FACC28 +:10102000FFD05C5B0A99FE7AFF6AF01F000B2FFD70 +:10103000CB2B000000007A4C00007A488001EF6C56 +:10104000800091D080020E908002E73680020BFC77 +:1010500080020A9C80020D20D431202D500B189163 +:101060004A1776026E9CE21C0002C350304C5011AD +:101070005801E2021700F01F001DEEF700F0189073 +:101080005807C2D030043013C0A82FF45802C1B1A1 +:101090005801F9B301FF5805C1100A9760B66E05F3 +:1010A000F01F00130C9A189B0E9CF01F0012CEE04C +:1010B0000E9CF01F00115805CF114008069C9104AA +:1010C0002FEDD83240182012110C0E9B5018F01F33 +:1010D000000BCE2B1893069C2FEDD8320E943013B4 +:1010E000CEDB0000000087F48001EF6C800145C476 +:1010F000800159A080015CDC800184284828F0FC34 +:1011000000F85EFC000087F4486871195879F9B856 +:101110000001F9F80A00F9B80100F9F81A005EFFB9 +:10112000000087F44828F14C007C5EFC000087F446 +:101130004828F14C01D05EFF000087F4EBCD40C0A1 +:1011400018971496E04A0020E088000830083FF91C +:10115000B898B889E3CF80C02FECF01F00043008A6 +:10116000AE96AE88E3CF90C0800091DCEBCD40FC22 +:10117000206D18941695F01F00431897C1A0F939F7 +:1011800000CC3FF8F0091800C3910896EF3900A889 +:101190003FF8F0091800C5414BB8F0F700F85807C0 +:1011A000C0A1EC040104301C8B042FADE3CD80FC06 +:1011B0000896CF3BE06AFFFF300B1A9CF01F00330C +:1011C0006F38302A707C1A9B2F4CF01F00311A9216 +:1011D0006A0A9A93063AC0442FADE3CFC0FC0C9B39 +:1011E0001A9C5C7AF01F00296F380606707C1A9BE7 +:1011F0002F4C300AF01F0026CD5BE06AFFFF300B5A +:101200001A9CF01F0022302AEEC2FF341A9B049C65 +:10121000F01F00201A966A0A9A93063ACDE55C7A86 +:10122000089B1A9CF01F00191A9B049C300AF01F9F +:1012300000196A08E803000606188B08CA8BE06AE2 +:10124000FFFF300B1A9CF01F0011302AEEC7FF5829 +:101250001A9B0E9CF01F00101A926A0A9A93063A83 +:10126000CBC50C9B5C7A1A9CF01F00081A9B0E9C45 +:10127000300AF01F00096A08060606188B08C8DB4A +:101280008001EFF8000087F48001C7B88001D344E3 +:101290008001D6B08001D558D401F01F0002D802D9 +:1012A00080015D18EBCD40F8FACD00803225149313 +:1012B00018941297BA85FAC6FFFF0C9CF01F001B0A +:1012C000300806063019AC85AC981A951A9A498BE5 +:1012D000089CF01F0018C0503FFC2E0DE3CD80F895 +:1012E0000E9CF01F0015E04C0040C1701AD7493A1F +:1012F000E06B00800A9CF01F00120A9A3019491B0B +:10130000089CF01F000C2FFD1897580CCE61089C0C +:10131000F01F000D0E9CCE2B0E9A089C3019489B96 +:10132000F01F0004CDB0CD9B800091DC8003C4FC95 +:1013300080023BB8800091B8800399D0800091482A +:101340008003C50480024328D421210D300B4B6655 +:10135000169CF01F00368D0CC2B078075807C2A04B +:101360006F985808C2704B283014EF4400641A95E7 +:10137000340B1AD84AFA0A9CF01F002F08990A9ACF +:101380004AEB0E9CF01F002E2FFD580CC2506C082B +:10139000700CF01F002C6C09300893086C08700961 +:1013A0004A98722A910A6C09300893486C0C2F0DE8 +:1013B000D822F01F00261897CF70F01F00254A583A +:1013C0004A59118A4A5B0E9CF01F0025C2056E29FE +:1013D00049D89109CE9B08994A2A4A3B0E9CF01F96 +:1013E0000018C1C14A18340B1AD8492A0A9CF01FA8 +:1013F000001208990A9A49EB0E9CF01F00112FFD6C +:10140000580CC0C13088EF480054CC9B0E9CF01F94 +:10141000000D6C0930089308CC7B0E9CF01F00096E +:10142000CB7B000000008C8C80023B4C8003C50805 +:10143000800399D0800091488003C4FC80023BB8AF +:1014400080024190000003FC80024F4080023B225A +:10145000000004000000042800000404800212A41C +:101460008003C5108003C5148003C5188003C538E8 +:10147000D421169849871495189B109A49740E9C8C +:10148000A888F01F00170A9B30064965EF66002008 +:10149000341A0A9CF01F001449484959EB66004071 +:1014A000700B720CF01F00131896C0C0F01F0012D2 +:1014B0000A99098A0E9B0C9CF01F00106D185808A1 +:1014C000C021D822ECCAFFDC0A9C3209341BF01F71 +:1014D000000CD8220000040400000400800091DC0D +:1014E00000000428800091AC000003FC00008C8CFC +:1014F00080023B0680023B22800212A480023A68EE +:10150000D421210D328A300B1A9CF01F00301A9C16 +:1015100030073014504750544AD5F01F002E8B0C22 +:101520001A96C4A0FAC6FFD8318A0E9B0C9CF01FF5 +:1015300000274A984A990C9B50E850A96A0CF01F62 +:1015400000281896C3B04A7CF01F00274A761AD7A5 +:10155000304B1AD70E984A694A6AEC0B000CF01F00 +:1015600000260E981AD74A591AD74A5A302B0C9C83 +:10157000F01F00210E981AD74A291AD74A2A311B80 +:10158000ECCCFFF8F01F001C0E981AD749F91AD7B7 +:1015900049FA312BECCCFFF4F01F00170E982F8D79 +:1015A000ECCCFFF01AD749B91AD749BA315BF01F12 +:1015B0000012089C2FED2F0DD8226A0CF01F001787 +:1015C0000C9C8B06CF9B0000800091D000007A50CD +:1015D00080022B4C8003C5448003C54C80022C0440 +:1015E000800216FC8002113000007A5480021670CE +:1015F0008003C55480016EB8800217408003C3ACDD +:10160000800216C48003C5708002168C8003C58CCE +:101610008002161C8003C5A480022AF8EBCD40C0CE +:1016200021AD189798E8EDB80000C181368A300BDB +:101630001A9CF01F000C306A0E9B1A9CF01F000AC7 +:101640006E2830195C3850395028488870091A962D +:101650001A9A720C306BF01F00062E6DE3CD80C01D +:10166000800091D0800091DC00007A508002792CBB +:10167000D40148587009300A720C301BF01F000367 +:10168000D802000000007A508002792CEBCD404057 +:1016900021AD368A300B1A9CF01F000830084889AB +:1016A000500872081A961A9A700C302BF01F000519 +:1016B0002E6DE3CD80400000800091D000007A5074 +:1016C0008002792CEBCD404021AD368A300B1A9C3C +:1016D000F01F000830184889500872081A961A9AA4 +:1016E000700C302BF01F00052E6DE3CD8040000004 +:1016F000800091D000007A508002792CD401487883 +:10170000700EF6C9000E189AF8CBFFFA2F2A7C0C3F +:10171000F01F0003DA0A000000007A50800224E083 +:10172000D401580CC051304CF01F0004D802304C8A +:10173000F01F0003D80200008001A12880019F3023 +:10174000EBCD40E0FACD0170FACCFE98F01F001905 +:10175000581CC22145A85818E088001FE068010005 +:10176000FACBFE901A9C16D8F01F00131A95189603 +:10177000FAC7FF00368A300B0E9CF01F0010581677 +:10178000C11048F870090E9A720C300BF01F000D52 +:101790002A4DE3CD80E0300CF01F000B2A4DE3CD45 +:1017A00080E045B85808FE9AFFEE540D5418CEABB1 +:1017B00080015F448002116C800091D000007A505B +:1017C0008002792C80021720000000000000000039 +:1017D000EBCD40C0F8F800D418971696F0F80088C2 +:1017E000F8FA00E85808C040F8FC00C45D185876C4 +:1017F000C1A058065F0858365F091248C11030185A +:10180000EF4800ECEEF900D473985808C050300B44 +:10181000EEFC00C45D18EF4600E8E3CD80C05846FA +:10182000CEF0CFABEEF800EC5808CF603008301B9C +:10183000EF4800ECEF4B00F0EEF800D47198580838 +:10184000CE81CEABD401F01F0002D802800217D0A7 +:10185000F8FC00E85EFCD401F8F800D471A8580840 +:10186000C050F8FC00C45D18D802109CD802D40106 +:10187000F8F800D471185808C050F8FC00C45D187E +:10188000D802DC0AD401F8F800D471285808C050F6 +:10189000F8FC00C45D18D802DC0AD703EBCD408009 +:1018A0003008F8F90108F94801085809C031C08822 +:1018B0000E997207129CF01F00045807CFA1E3CDC8 +:1018C00080800000800091E8D401F8FC00DCF01F6B +:1018D0000002D8028002B4A4D401F8FC0090F01FEA +:1018E0000002D80280023B8CD401F8FC0090F01F6B +:1018F0000002D80280023C84EBCD40C01696F8F777 +:1019000001085807C051C0B86E075807C080EECC18 +:10191000FFFC306A0C9BF01F0004CF710E9CE3CDDE +:1019200080C000008000917CD4011699F8F801185D +:101930005808C0A1F8F800D470285808C0C0F8FCB6 +:1019400000C45D18D802F8CBFF64306A129CF01F07 +:101950000003D80ADC0A0000800091DCEBCD40F8DF +:1019600020AD1897F8F801185808C06030070E9C91 +:101970002F6DE3CD80F8F8F800D470385808CF7098 +:10198000F8FC00C41A9B1A935D181895CF05EEF861 +:1019900001185808C431EEF800D470285808CE70E9 +:1019A000FAC4FFE0EEFC00C4089B5D18CE05EEFC17 +:1019B000009078465806C301EEF800D45808C2C01B +:1019C000700C49BBF01F001BEFFC0024F9B60001AE +:1019D000EFFC102478075807C111CCAB5806C0B0F3 +:1019E0006E885808CC50EECBFFE8306A089CF01F98 +:1019F0000012CBE06E075807CBB0EEF80194580800 +:101A0000CFA16E581035CEB16E4B0A9A1A9CF01FBA +:101A1000000ACE70CE4B3006CDEBFAC4FFE0306A40 +:101A2000EECBFF64089CF01F0005CC2B8003C65C46 +:101A3000800091A08000917C800091DCD401F01F97 +:101A40000002D8028002195CD42120AD3008FB5876 +:101A50000024508816961897F6F801845818C0404C +:101A60003FFC2F6DD82277185808CFB0F8F500B892 +:101A70005885C2205905CF512DCB0A9A1A9CF01FC8 +:101A800000171A940A9A303BEEFE00D47C5858088E +:101A9000CE801ADA1AD43009EF490104EEFC00C4F2 +:101AA00030681AD8FACAFFD430181ADA48CA7C56F5 +:101AB0005D162FCDCD7B2DCB318A1A9CF01F0007F0 +:101AC0000A9AECCBFFCCFACCFFE8F01F00041A9482 +:101AD000320A302BCDAB0000800091DC80039C38B3 +:101AE000D42118951696F01F000F1897C05078381B +:101AF0002FF89938D82A310CF01F000B1894C0F039 +:101B00000C9B306A2FCCF01F000930188938EAF995 +:101B100001088909EB4401080E9CD822DC2A000048 +:101B2000800218F880028F24800091DCEBCD40FC0D +:101B3000EDD9C010407218941693ECCCFFFC1495AC +:101B4000910CF01F00161897C190E8F800907039BA +:101B5000EC081608B893B889B8B6B8A85805C100FB +:101B60000C9A0A9BF8C6FFFC0C9CF01F000D0E9C03 +:101B70005802E5F61A00E3CD80FCE3CD80FC0C9A18 +:101B80000A9BF8C6FFFC0C9CF01F00060E9C580236 +:101B9000E5F61A00E3CD80FC80009200800091DC25 +:101BA000800091D0D401401E5C791ADEF01F000243 +:101BB0002FFDD80280021B2CEBCD40F8203DF8F819 +:101BC00000BC1493129458485F0A58285F0918976C +:101BD00016961449C0603FF70E9C2FDDE3CD80F8C8 +:101BE000F8FC00DCF01F002BC0305816CF50EEC5BB +:101BF000FF64306A4A8B0A9CF01F0028C0D1EEF8BF +:101C000000D470285808C060EEFC00C41A9B5D1810 +:101C1000C370EEC5FF043008F7D6C0081AD8F3D455 +:101C2000C010FAC8FFF4069A0E9CF01F001D2FFD8D +:101C30001896580CCD1040296E2C580CC1001298E3 +:101C40000A9B0C99E06A888EF01F001618970C9C6E +:101C5000F01F00150E9C2FDDE3CD80F8EEF800D4C8 +:101C600071845804C0B01298EEFC00C40A9B0C9911 +:101C7000E06A888E5D141897CEBB3FF7CE9B306A22 +:101C8000485B1A9CF01F0005CC501A95CC5B0000F5 +:101C900080028F78800217C88000917C80021B2C04 +:101CA00080028154800091E8EBCD40C0189EEFDAAD +:101CB000C010782C580CC0600E9AF01F0009E3CDBC +:101CC00080C0FCFA00D475865806C0700E9AFCFCE1 +:101CD00000C45D16E3CD80C0E3CFC0C08002815454 +:101CE000D421497A1894301BF01F0016300A089B43 +:101CF000495CE8C5FF64F01F0015E8F701085807C4 +:101D0000C1C03006C0680E966E0C580CC1601897A2 +:101D1000306A0A9BEECCFFFCF01F000DCF51580635 +:101D2000EFF80000E9F80A42EFF81000EDF81A00A9 +:101D30000E9CF01F0008D822D82200008003C66441 +:101D400080023A1A80023058800274008000917C30 +:101D5000800091E8D401F01F0002D80280021CE04C +:101D6000EBCD408048FA1897301BF01F000FEEF8BB +:101D700000BC5818C0F00E9B300A48CCF01F000C75 +:101D80000E9CF01F000C0E9C307BF01F000BE3CD6F +:101D900080800E9C305BF01F0008E3CD8080000047 +:101DA0008003C68880023A1A8002360080027400DE +:101DB00080021CE0800217D0EBCD4040486A1896A4 +:101DC000301BF01F00060C9B300A485CF01F00051A +:101DD000E3CD80408003C6A880023A1A8002360014 +:101DE00080027400EBCD40F81894F8FC00CC580C3D +:101DF000C360E8F800D05808E08A00321897E8C3BA +:101E0000FF643005C0A8580AC200EEC7FF64E8F8B6 +:101E100000D00A38E08A00242FF5E8F600B0306AD6 +:101E2000069B0E9CF01F0015CF115806C0E06C5A9F +:101E30006EA81438CE91EECCFFFA6C4BF01F000F59 +:101E4000C0406C5A580ACE215807C0906F5AEECB4A +:101E5000FFD4E8FC00DCF01F000AC0403FFCE3CDEB +:101E600080F8EECBFFA8E8FC00DCEEFA0080F01F63 +:101E70000005CF60CF4B00008000917C8002B58CC4 +:101E80008002B52CD4211895E06C009CF01F001B3B +:101E90001897C310EAF401185804C2A1EAF800D454 +:101EA00070C85808C250189B301AEAFC00C45D186C +:101EB0001898C1E50E9C3016E06B009CF0060D46AC +:101EC000EC0B024BF01F000E58065F09580C5F1810 +:101ED0001248E8081800F8071710EAFC00CCF01FB9 +:101EE0000009089CEB4600D0EB4700CCD8220E9CA2 +:101EF000F01F0004DC2A000080009200800091F4B2 +:101F0000800091E8EBCD40801897F01F0008C031A9 +:101F1000E3CD80800E9CF01F0006C0550E9CF01F84 +:101F20000003CF7BE3CFC08080021DE480021E84CB +:101F3000EBCD40FE208D18961697149512921091B5 +:101F4000580BC580F6FB0080580BC0E16F5B580B47 +:101F5000C3210C9CFEFA02E4303BF01F00B93FFCA9 +:101F60002F8DE3CD80FE7568EDB80001CF011A9A80 +:101F7000EECCFFA8F01F00B3CEA16B484029126839 +:101F8000CE606B3840191268CE206B584039126809 +:101F9000CDE0FEFA02B2301B0C9CF01F00A9EEC48B +:101FA000FFD4302A303BECFC00DCF01F00A8089C7A +:101FB0006F5AC4386B68EDB80000CCC1EEC4FFD4D2 +:101FC0001A9A089CF01F009FCC516B484029126858 +:101FD000CC106B3840191268CBD06B58403912685E +:101FE000CB90FEFA026A301B0C9CF01F0095301A51 +:101FF000CDAB7568E21800021A93F9B40102F9B486 +:102000000001F8FC00DC1A9BF01F0092C1F05BECB1 +:10201000C4001A9C320A300BF01F008F6B48502806 +:102020006B3950196B585038089A303BECFC00DC87 +:10203000F01F0086300C189A189BECFC00DCF01F97 +:102040000087C3602F8DE3CFC0FE402A6B49F3EABF +:102050000008C0D0401A6B39F3EA0008C110403ABA +:102060006B59F3EA0008C1B04004CDFB1AD9302BFC +:102070001ADA0C9C4FAAF01F00722FEDCCBB1AD9B4 +:10208000302B1ADA0C9C4F7AF01F006D2FEDCC2B01 +:102090004F5A302B0C9CF01F006ACBCB1AD9302B37 +:1020A0001ADA0C9C4F1AF01F00662FEDCB3B580735 +:1020B000EE0B1700F60A1700F9B80158EFD8E10B3C +:1020C000EFFA1020ECFC00DCF01F0069CBC16B487C +:1020D0004029F1E90009EDB90004C5D0EDB90003CC +:1020E000C750EDB90002E081009430484E1AED4827 +:1020F00000B8301B0C9CF01F00526B384019F1E9FE +:102100000009EDB90004C500EDB90003C7513088DE +:102110004D9AED4800B4301B0C9CF01F00496B58E1 +:102120004039F1E90009EDB90000E080007FEDB928 +:102130000001C55130284D1AED4800BC301B0C9CE5 +:10214000F01F003FECFA00BC306BECFC00DCF01F31 +:10215000003FECFA00B4304BECFC00DCF01F003B1D +:10216000ECFA00B8305BECFC00DCF01F0038029A9F +:10217000049BECFC00DCF01F00421894FE91FF640D +:102180006B57E2170002C191ECFC00DCF01F003D30 +:102190000E9CCE7A31084BCAED4800B8301B0C9C1F +:1021A000F01F0027CABB31084B8AED4800B4301B32 +:1021B0000C9CF01F0023CB4BECFC00DCEACBFFDCDB +:1021C000320AF01F0033089CCCCA30884B1AED4805 +:1021D00000B8301B0C9CF01F001AC90BEDB90004AD +:1021E000FE91FF3231084ACAED4800BC301B0C9CFE +:1021F000F01F0013CA8BEDB90000FE91FF25301BC4 +:102200004A6AED4B00B40C9CF01F000DC89BEDB961 +:102210000001FE91FF1930284A1AED4800B8301B22 +:102220000C9CF01F0007C6AB301B49EAED4B00BC0D +:102230000C9CF01F0003C87B8003C8EC80023A1A94 +:102240008002BD688003C6C08002B4D48003C6E0AB +:102250008002C04C800091D08002B58C8003C734CE +:102260008003C7788003C7008003C7BC8002B52CF9 +:102270008003C8288003C86C8003C8B08002B64CB5 +:102280008002B9EC8003C8008003C8588002B91CE2 +:102290008003C8148003C8CC8003C8808003C84072 +:1022A0008003C894EBCD40C07758EDB80003F9B86F +:1022B0000008F9F80A2FF9B80104F9F81A2F18974D +:1022C000300A1696F8FC00DC149BF01F0025300A3B +:1022D000EEFC00DC149BF01F0023300AEEFC00DC57 +:1022E000149BF01F002130183009ECCBFECCEF48D6 +:1022F00000B8EF4800B4EF4900C02FF976085858ED +:10230000E08B00225808C2512FCB5849CF71EEFA0A +:1023100000BC306BEEFC00DCF01F0014EEFA00B4E1 +:10232000304BEEFC00DCF01F0011EEFA00B8305B21 +:10233000EEFC00DCF01F000DEEFC00DCF01F000CDA +:10234000E3CD80C03048EF4800B8EF4800B4CE0B72 +:102350003028EF4800B8EF4800B4CDAB8002B58C10 +:102360008002B52C8002B5EC8002B4D480028F804C +:10237000EBCD40E0205D1897F8F600B0F8F800BC0F +:102380005828C57059085F0958485F081248C2901C +:10239000302BEEFC00E0F01F002F314A300B1A9C6E +:1023A000F01F002D1A95EEFA00BC588AC200EEF814 +:1023B00000905808C03070785028149958895F18D8 +:1023C00058195F191069ECF8017CEEFC00E01A9ACC +:1023D0000C9B50495038F01F00212FBDE3CD80E009 +:1023E000300BEEFC00E0F01F001BCD8B30085018C6 +:1023F000301B500BECF900F0F3EB0008FBFB1A016B +:10240000EDB90001C120EEF800905808C1F0EEFCD3 +:1024100000D4580CCD10780C491BF01F0012FBFCA7 +:102420000A01EEFA00BCCC4B4018A1B85018CECB34 +:10243000300BF8FC00E0F01F000C300BEEFC00E06D +:10244000F01F000AEEF800BCC9EB3089CB8B00000E +:1024500080026178800091D08002581C8003C65CA5 +:10246000800091A0800261A48002618CEBCD40E0ED +:10247000189716951496F8F800905808C0D0704830 +:102480005808C0A1F8FC00D4580CC060780C48EB88 +:10249000F01F000EC1501AD648DA1AD5301B0E9C18 +:1024A000F01F000C300A0E9B48BCF01F000C0E9968 +:1024B0000C9B0A9C3008488AF01F00092FEDE3CDE1 +:1024C00080E000008003C65C800091A08003C960AA +:1024D00080023A1A800230588002740080027474BC +:1024E000D4211295169614941897F8F900BC5849FF +:1024F000C1C0F8FA00F4580AC10158895F08581998 +:102500005F0B104BF40B1800F9BB000AF9BB014636 +:10251000F01F0019EEFA00F4F4C8FFFFEF4800F4D2 +:10252000EEF900945809C020D822306A0C9BEECCFA +:10253000FF04F01F0012EEF800BC5828C111EEF89D +:1025400000D471585808C040EEFC00C45D180A99C8 +:10255000089A0C9BEEFC00DCF01F0009D8220A99B7 +:10256000089A0C9BEEFC00E0F01F0006FE99FFDECF +:10257000CE7B00008002246C800091DC8002C3CC02 +:10258000800261FCEBCD406C1ADA18951ADB1692CA +:102590001493301B48AAF01F000B48B6300A0A9B60 +:1025A0000C9CF01F000A0A990C9A069B049C3008A8 +:1025B000F01F00072FEDE3CD806C00008003C99071 +:1025C00080023A1A8002360080027400800274741D +:1025D000D401F01F0002D80280022584EBCD40C058 +:1025E000189E1497109CFCF800BC5888C240580BE9 +:1025F000C1A0FCCAFF64FCF600D46C585808C19016 +:102600001ADC16981AD9300BFCFC00C41ADBFD4BFF +:102610000104490E0E991ADE301B6C565D162FCD43 +:10262000E3CD80C0FCF600D448BA6C585808CE916F +:10263000E3CFC0C0585CF9B80002F9B80104580BE8 +:10264000C040FD4800B4CD6BFD4800B8482ACD4BD2 +:1026500080037E2080039C38EBCD40F8FACEFFE863 +:1026600018967C35F8F400D47C037C17685C7C2ECB +:10267000580CC0F01AD51ADE300E1AD71AD3ED4E08 +:102680000104ECFC00C468565D162FCDE3CD80F844 +:10269000E3CFC0F8D42118951694F8F70104580731 +:1026A000C020D822F8F900D472585808C4C01AD7EC +:1026B000F94701041AD70E981AD74B6A1AD70E9BFE +:1026C0007256F8FC00C40E995D16EAF900D42FCDBD +:1026D00072585808C3801AD7EB4701041AD70E98CE +:1026E0001AD74ACA1AD70E9B7256EAFC00C4301990 +:1026F0005D16EAF900D42FCD72585808C2401AD797 +:10270000EB4701041AD70E981AD74A2A1AD70E9BFC +:102710007256EAFC00C430295D16EAF900D42FCDC8 +:1027200072585808C1001AD7EB4701041AD70E98FF +:102730001AD7498A1AD70E9B7256EAFC00C4303960 +:102740005D162FCD5804C200EAFA00D47458580818 +:10275000C12030091AD91AD9EB4901041AD91298A3 +:102760001AD9129B7456EAFC00C4089A5D16EAFA5C +:1027700000D42FCD75A85808C070089B3019300AB6 +:10278000EAFC00C45D183018EB480104D8220000B0 +:1027900080039C38D421204DF8F900D41897169561 +:1027A00073885808C2C11094F8C6FFEAC1C8EEFC8D +:1027B00000C45D1B1AD4189B0E984C19E06A888ED1 +:1027C0000C9CF01F00408F2C2FFD580CC111580598 +:1027D000C140189B305CF01F003CEEF900D47388B8 +:1027E0005808C0D1737B580BCE31169CCE4BEECB24 +:1027F000FFF0F01F0036C1302FCDDC2A7378580867 +:10280000C0B0EEFC00C45D18C070189B306AEECCFE +:10281000FFF0F01F002F6E2C580CCEA1EF39007A7C +:102820003008F0091800C3A1EEF800D47048580829 +:10283000C100301BEEFC00C45D18C0B4EEF800D43B +:1028400071485808C0601A9BEEFC00C45D18C214A1 +:10285000300B0E9CF01F001FEEF800D47099580941 +:10286000C070300BEEFC00C45D19EEF800D470A807 +:102870005808C050301BEEFC00C45D183018EF48FB +:1028800000C84959300C72082FF893082FCDD82270 +:102890004038F1D8C002CDD0CB0B300848891AD8C7 +:1028A000E06A888E0E98EECBFFF0EECCFF86F01F2C +:1028B00000058F3C2FFD580CCB81C9FB800224E022 +:1028C0008002819C80028F1C800281E4800091DC68 +:1028D0008002269400007A6CEBCD40E018971695A4 +:1028E000300BF01F001DEEC6FF64306A49BB0C9C24 +:1028F000F01F001BC2E0EEF801185808C1F00C9B55 +:102900000E9CF01F00183006EEFC00DC0C9BEF461E +:1029100000B0F01F00150C9A0C9BEEFC00E0F01FBD +:1029200000130C9BEEFC00E0F01F00110C9BEEFC72 +:1029300000E0F01F0010E3CD80E0EEF800D470D886 +:102940005808CDE00A9A0C9BEEFC00C45D18CD8BB4 +:102950001896CD6B800217D0800217C88000917C3A +:10296000800226948002B9D48002581C800261E85B +:10297000800261D4D401F01F0002D802800228D85E +:10298000EBCD40C01897F8F800C45808C230303B6F +:10299000F01F003DEEF800D470495809C070300BAC +:1029A000EEFC00C45D19EEF800D470A95809C0709F +:1029B000300BEEFC00C45D19EEF800D47098580896 +:1029C000C050300BEEFC00C45D18300B0E9CF01FA5 +:1029D000002F6E2C3006F01F002E8F266E3C580CF8 +:1029E000C040F01F002B8F36EEF800E45808F9B80D +:1029F0000100EFF81A39EEFC0090580CC060F01F8F +:102A000000253008EF480090EEFC008CF01F0022FB +:102A10003006EEFC00DC0C9BEF46008CF01F001F24 +:102A2000EEFC00E0F01F001EEEFC00DCEF4600E0D4 +:102A3000F01F001CEEFC00DCF01F001BEEFC00DCB5 +:102A4000F01F001A0E9CEF4600DCF01F0019EEFC90 +:102A500000CCF01F00110E9CEF4600D0EF4600CCDA +:102A6000F01F00140E9CF01F0014EEFC00C4580C64 +:102A7000C070EEF800D470785808C0205D18E3CD1F +:102A800080C00000800228D88002269480028174D1 +:102A9000800242B4800091E88002B4CC800256ECFF +:102AA00080029438800294088002C0788002189CCA +:102AB00080021DB880021CE0EBCD4080169778099B +:102AC0001639C0F1761899080E9CF01F000A0E9C6A +:102AD000F01F0009E3CF808072180E38C060109993 +:102AE0005809CFB1E3CFC0806E189318CEEB000029 +:102AF00080022980800091E8EBCD40801897580C27 +:102B0000C051C1980E9CF01F000D6E0B580BCFB139 +:102B1000F01F000BF01F000B6E4C580CC060F01F34 +:102B2000000A6E4CF01F00096E8CF01F00080E9C0E +:102B3000F01F0006E3CD808080022AB88002724C2C +:102B40008002728480028F20800091E8EBCD40C02B +:102B50001897580CC05130060C9CE3CD80C0F01F74 +:102B60000021CFA1334CF01F00201896CF606E08D3 +:102B70006E19991899296E286E89993899996E3C21 +:102B8000580CC040F01F00198D4C6E7C580CC04092 +:102B9000F01F00168D8C6E498D59495891096E5A57 +:102BA0008D6A4948910A49486E698D7991090C9C52 +:102BB000F01F0012C11130196C988DB95808EDF949 +:102BC0001A0C6C285808CC906C185808CC606C4CC7 +:102BD000F01F000BCC200C9C3006F01F000ACBDB52 +:102BE0008002720880028F24800091940000046C9F +:102BF00000007AA400007AA0800275F880028F1E7F +:102C000080022AF8D431204D580C5F08580B5F0918 +:102C1000189316971248C05030050A9C2FCDD83211 +:102C2000E06C011CF01F00C01895CF803018F948E7 +:102C3000010CFEF102F66E22620B580BC100580225 +:102C4000E0800144E2C4FFFC3006760B049CF01FD8 +:102C500000B8C0C02FF6090B580BCF810A9CF01F9B +:102C600000B50A9CF01F00B4CD8BE2060328EB48A8 +:102C700000D46E0C580CE0800122F01F00B0EB4C29 +:102C8000008CF01F00AFEB4C0090CE906E185808EF +:102C9000C0A0785CF01F00A86E1CEAF60090F01F40 +:102CA00000A78D5C6E385808C0C0EAF8009070BC70 +:102CB000F01F00A16E3CEAF60090F01F00A08DBC52 +:102CC000EAF800905808CCB06E4C580CCC80F01F3D +:102CD000009DE04C0063FE9BFFC3EAC1FFEA364A59 +:102CE0006E4B029CF01F00986E5C580CE08100F95E +:102CF0006620340CF01F008C1897CB10FEF8024CA5 +:102D00008F78FEF8024AFEF9024A8F98FEF80248D0 +:102D10008F058F458F658F898FC83006FEF4023C82 +:102D20008F168FA4FEF202388FB2EAF900907288F3 +:102D30008FD8EAF9009072988FE8EAF9009072A8AB +:102D40008FF8F01F0088EB4C00E0E08000C20C9B85 +:102D5000F01F00850C9BEAFC00E0F01F0084EAF8FD +:102D600000D470685808E08000A7029B0A9C5D1898 +:102D7000EB4C00C4FE90FF74EAF8009070BBEAF8D8 +:102D800000D470895809C0605D19FE95FF69EAF8A2 +:102D900000D471685808C0F0EAFC00C45D181897A8 +:102DA000C0A0029BF01F0062C0600E9B364A029CCE +:102DB000F01F006534CCF01F005CFE90FF514EC840 +:102DC0004EC9991899294EC84EC9993899494EC883 +:102DD0004EC9995899694EC84EC9997899894EC873 +:102DE0004EC9999899A94EC84EC999B899D94EC853 +:102DF0004EC999C899E94EC84EC9F9440040F942F4 +:102E00000044990599F8F9490048F01F0069EB4C16 +:102E100000DCFE90FF25EB39007A3008F00918003D +:102E2000C5C1300A029BF01F0063EAF80090EAFC7B +:102E300000DC707BF01F0060EAFB00E0EAFC00DCD5 +:102E4000F01F005EEAFA009074C85808C60174D8F2 +:102E50005808C52174EA580AC080302BEAFC00DC0F +:102E6000F01F0057FE91FEFC009B0A9CF01F0055CE +:102E7000FE95FEF6EACBFFF0EAFC00DCF01F005204 +:102E80003FF8EB4800E4EAF900D473485808C0D092 +:102E90001A9BEAFC00C45D18C0814038EDB80002FE +:102EA000C0413018EB4801188B0366088B18870562 +:102EB000FE9FFEB5EB4800C4CD2A6E3B6E1CF01F92 +:102EC0000043EB4C0090CFDAF94B00D4CD3A0E9C86 +:102ED000F01F0019FE9FFEC4EACAFF86CA4BF01F0E +:102EE000001958FCFE9BFEBC6E5B310AEACCFF86E3 +:102EF000F01F0015CFEA109A301BEAFC00DCF01F2F +:102F00000030FE91FEADEAFA0090CA5B109A300BD9 +:102F1000EAFC00DCF01F002AFE91FEA2EAFA009013 +:102F2000C97B000080028F2400000470800091A003 +:102F300080022980800091E88000919480021348EB +:102F4000800091B8800091AC80021D60800225DC79 +:102F500080021BB8800218C8800218E8800218D8C6 +:102F60008002609C800261E8800261D48002184483 +:102F700080021850800225D0800229748002304CD3 +:102F8000800226588002360080021A3C80021928EE +:102F900080021CA880021F0480021BA480021D5412 +:102FA0008002186E80021884800218568002C0DCED +:102FB0008002B4C08002B4B88002B4CC8002B4D421 +:102FC000800227948002B90480023B4CEBCD40E0A4 +:102FD000306A18971695F8C6FF64497B0C9CF01F61 +:102FE0000017C270EEF801185808C1800C9B0E9CA7 +:102FF000F01F00130E9CF01F00133006EEFC00DCE7 +:103000000C9BEF4600B0F01F00100C9A0C9BEEFCDE +:1030100000E0F01F000EE3CD80E0EEF800D470E891 +:103020005808CE500A9A0C9BEEFC00C45D18CDFBEC +:103030001896CDDB800217C88000917C8002269410 +:10304000800276648002B9D48002581CD401F01F3B +:103050000002D80280022FCCEBCD40C0499BF8C7BC +:10306000FF641896306A0E9CF01F0017EDFB189C49 +:10307000E06800A2EDD8E007EDFB08A20FD81AD84F +:103080000FC91AD90FB81AD80FA91AD90F9848FA28 +:103090001AD80C9C1ADB302BF01F000D0E9B0C9CD9 +:1030A000F01F000CECFC00DCF01F000B303B0C9C14 +:1030B000F01F000A30182FADED4800A8E3CD80C006 +:1030C000800217C88000917C8003C9B880023A1A38 +:1030D00080021AE08002BA1C80022FCCD431FACDD3 +:1030E00000D03007F94700A8189516941491580B92 +:1030F000E0800217F6F60084E8CCFFFA76ABF01F0A +:10310000012A1AD61ADC09D81AD809C91AD909B855 +:103110001AD809A91AD909981AD809890A9C1AD95A +:10312000FEFA0488302BF01F01220E9B306A2F8D8F +:10313000EACCFF64F01F011F306A089BEACCFF5EF7 +:10314000F01F011D0A9CF01F011D300AEAFC00DC83 +:10315000149BF01F011B635AEDBA0003C061E2F833 +:1031600001745808E08100B1301063795809C0E05B +:10317000E1D9C0011298EDB90001E08000A4EDB9D9 +:103180000002F9B80004E1D8E030EAF800D4710890 +:103190005808C060009BEAFC00C45D18635A5804DC +:1031A000C07069585808C5A0F1DAC002C6E114978A +:1031B000E2170013C5B1029B0A9CF01F0102FAC876 +:1031C000FF9453375028089B0A9CF01F00FFEAF831 +:1031D00000B45828E08001BAE089007F5818E080E8 +:1031E000017130285038EAF800B85828C7F058283C +:1031F000E08900805818E080016230285048EAF9E0 +:1032000000BC58495F0B58895F08F7E81008C78071 +:10321000E2C9FECCE2C8FF0C16963007EC1600019E +:103220005019500812931092505766095809E081BE +:1032300001122FF72FC32F025847CF81EAF900BCA4 +:103240005889C671E2F800F04059F1D8C002F3E89D +:103250001008E08101311096C5F8E8F800805808A0 +:10326000CA70F1DAC002CA40C1083509FAC8FF3095 +:1032700010D9029AFAC9FF94300B50290A9CF01F0A +:1032800000D3CA202CCDD832E2F801485808E0819A +:10329000010FEAF900B0089A300BEAFC00DCF01FDD +:1032A00000CCE080017A3509FAC8FF3010D9029AC3 +:1032B000FAC9FF94089B50290A9CF01F00C4C8401B +:1032C000CE2BA1B0C5DBE2F801785808F9B00004B4 +:1032D000F9B00105C4BB5848C8605908C831303935 +:1032E0005039EAF800B85828C83130195049C88B0D +:1032F0005848C8505908C82130395049C81B3008AF +:103300005058E2C8FECC30165018E2C8FF0C5008E6 +:103310005909E080011FEAF800D470A85808C0508D +:103320000C9BEAFC00C45D18303B0A9CF01F00A90E +:10333000354AFAC7FFE8300B0E9CF01F009E580478 +:10334000E0800126E8F8008450645098E8C8FFFA4D +:10335000507868A95089E2FA0184581AE080009EEA +:103360004029403850A950C84049433850D950B836 +:10337000EAF800BC5848E08000E7E0890088581867 +:10338000E08000A43018510A4014400350E850F087 +:10339000FACAFFAC0899069BFACCFF9C7208580841 +:1033A000C040F54BFFF0720814A82FC92F0B183A34 +:1033B000CF61E2F801445198EAF601185806E0801E +:1033C0000089FEFA0212302B0A9CF01F0079301996 +:1033D000EAF800BC5908E080008F5809E0800098A6 +:1033E000305B300A0A9CF01F007D40585808C1C06D +:1033F000EAF800D471485808C170FACBFF44EAFCDF +:1034000000C45D18C1114328EDB80001C0D1189760 +:103410004F30189268095809E08100A12FF72FC496 +:103420002F035847CF81EAF800B05808C070103118 +:10343000C050EAFC00E0F01F006BEAFC00DC029BDD +:10344000EB4100B0F01F00680A9CF01F00682CCD13 +:10345000D832EAFB00D4E2FA014476585808C13069 +:103460001AD91AD23009EB4901041AD94DC90E3ABA +:103470005F081AD94DEA76560E99301BEAFC00C453 +:103480005D162FCD30165056CD5A5888C2005908B7 +:10349000FE91FF7A3048C78BE2F901A45809FE9AE1 +:1034A000FF6140985808FBF90A09C5BB6368F1D869 +:1034B000C021CF0A50375047C2FB30085048CA0AD3 +:1034C00030085038FE9FFE913008C5EB3038C5CB30 +:1034D000EAF800D470F85808FE90FF750E9BEAFCDD +:1034E00000C45D18FE95FF6F0C99EAF800BC5908FE +:1034F000FE91FF75029B0A9CF01F003E0A9CF01F84 +:10350000003E307B0A9CF01F0033C70BEAF80090A6 +:1035100070495819F9BB000AF9BB013CC63B745B02 +:10352000744CF01F00214B5A1ADC302B0A9CF01F00 +:103530000020306A089BEACCFF5EF01F001E2FFDC2 +:10354000FE9FFE023028C20B30195039FE9FFE4DFF +:10355000029B0A9CF01F0027CDFAEAFB00D4E2FA96 +:10356000014476585808FE90FF5B1AD91AD3EB42F3 +:1035700001041AD20E3A5F081AD00E99765649CA3B +:10358000301BEAFC00C45D162FCDC49B6248507806 +:1035900062595089CE1A301BEAFC00E0F01F001877 +:1035A000FE9FFE8380023A1C8003C9F880023A1A0B +:1035B000800091D0800091DC80021DB88002B5ECC3 +:1035C000800222A48002269480021F308002938011 +:1035D000800217D08003CA6C8002246C80037E2096 +:1035E000800257488002B9D48002237080039C383F +:1035F00080021A4880021CE08003CA488002559667 +:10360000EBCD40C021AD1897F8F800AC5808C68142 +:10361000F8F6010CEEFB009076095809C061C8F875 +:1036200072095809E080008CF2F801945808CF9193 +:103630003008EF48010C76495809C670EEFC00D4FA +:10364000580CC0E04DAB780CF01F005AEFF8002486 +:10365000F1FC0A04EEFB009076485808C560EEF8CD +:1036600000E85818E088008D760AEEF800C858186F +:10367000C3F0580AC090103AC041C3981438C370C0 +:10368000740A580ACFC15826C04076485828C690B8 +:10369000580AEFFA1A32F9B80001EFF80A32EEF9D7 +:1036A00001105809C04176485818C710EEF80118A3 +:1036B0005808C4F1580AF40B1700F60A1700F5FB76 +:1036C0001004F5FA1005EEF800D470B85808C410CC +:1036D000EEFC00C45D18C3D12E6DE3CD80C0F8F6BA +:1036E000010C5806C9812E6DE3CD80C0740A580ABA +:1036F000CCB0F4F801945808CFA175885808CC4193 +:1037000076485828CF41CC0B0E9CF01F002BCE5092 +:10371000EEF800B05808EFFC0A2C0E9CF01F0027B2 +:10372000300B1A9C368AF01F00261A961A9A0E9CA5 +:10373000300BF01F00242E6DE3CD80C05806FE91A3 +:10374000FF790E9C301BF01F00202E6DE3CD80C052 +:103750000E9C300A30ABF01F001D2E6DE3CD80C0F3 +:10376000580AC1D074085808EFFA1A32F9B80001A3 +:10377000EFF80A320E9C300BF01F0015CAEB302B0D +:103780000E9CF01F0011EEFB0090C6FBEF480110ED +:10379000129A0E9C303BF01F000BC9FB30180E9C98 +:1037A000EF4800C8149BF01F0009C97B8003C65C6A +:1037B000800091A08002195C80022370800091D06B +:1037C0008002792C800217D080022584800230DCB0 +:1037D0004848300A48499118910A930A5EFF000050 +:1037E00000007A7000007A78EBCD40681695189347 +:1037F000F6CCFFEDF01F0022314A1896300BF01F77 +:1038000000210A9A8D15ECCCFFF0069BF01F001EDC +:1038100049EAF5090042AC09F50800422FF8F558CD +:10382000004249B530088D286A198D3993062F86D4 +:103830008B1649866C08F0C9FFFF8D095909E0888D +:1038400000180A936A0C782A580AF9F80003E7F876 +:103850000A01F9F81003F5F81A0320197838910ACB +:103860008D09F01F000D6C095909FE9BFFED300A10 +:10387000326C149BF01F0009E3CF90688000920027 +:10388000800091D0800091DC000087F400007A7005 +:1038900000007A78800091E880014658EBCD40E046 +:1038A00030961697305E300B33A51989F2C8003078 +:1038B000EC081800E08B0019F2CA0030580AC2C5A3 +:1038C0001999F2C80030EC081800E08B0017F2C814 +:1038D00000305808C215F1EA1048EE0B0B08585B8F +:1038E000C291E3CF80E0F2C80061FC081800E08BD1 +:1038F000000EF2CA0057CE3BF2C80061FC08180067 +:10390000E08B000DF2C80057CE5BF2C80041FC0806 +:103910001800E088000DE3CFC0E0F2C80041FC08C9 +:103920001800FE9BFFFAF2C80037CD4BF2CA0037F1 +:10393000CC6B19A8EA081800CEF12FFB586BCD20EC +:103940002FDCCB4BEBCD40E016961497580AC4C041 +:10395000300B3095305EC1B8F2CA0030580AC365EA +:103960001999F2C80030EA081800E08B0021F2C86B +:1039700000305808C2B5F1EA10485808C275EC0B7F +:103980000B082FFB1637E08800302FEC1989F2C89E +:103990000030EA081800FE98FFE1F2C80061FC0858 +:1039A0001800E08B000EF2CA0057CD9BF2C80061F0 +:1039B000FC081800E08B000DF2C80057CDBBF2C820 +:1039C0000041FC081800E088000DE3CFC0E0F2C819 +:1039D0000041FC081800FE9BFFFAF2C80037CCAB90 +:1039E000F2CA0037CBCBE3CF80E0F6CA00015E6CB1 +:1039F000F80A000913882FF85C58B2885E1CF6C8D4 +:103A00000002100CC08819882FF85C58B888201C58 +:103A100058085E1C201ACF875EFC5EFCEBCD40C0D0 +:103A200049071696189BE0460020F9B60B200E9C1D +:103A30000C9AF01F000D3008EE060B080F8858088E +:103A4000C0D00E9C35E935FA2208F2081800F9FAC0 +:103A5000BE002FFC19885808CF81482CE3CD80C0C8 +:103A600000007A7C800091DCEBCD40FE189114922E +:103A7000169C1293580BC2A0E20B00045809C20016 +:103A800002973006C0881835E08A001418070C33F6 +:103A9000E0880018E4060708E80701051AD80E9C1C +:103AA00048CA0A9B2FF6F01F000C2FFD580CCEC4FD +:103AB0003008EE01010CE968FFFFE3CD80FE0297BC +:103AC0003008EE01010CE968FFFFE3CD80FE000045 +:103AD0008003DA3080009148580CC140F8FC00D0D7 +:103AE000580CC1002FCCF8F8FFFC5808C0417809E9 +:103AF0005809C0901638C0302F8CCF6B7808143816 +:103B0000CFC15EFF5EF9780C580C5E0C7828163831 +:103B1000C0515EFC782816385E0C780C580CCFB17A +:103B20005EFC30383189F94800F0F9480058F9480E +:103B3000005431E8F949004CF94800503FF9E06879 +:103B40000576F949017CF948019C5EFCEBCD40E02B +:103B500018961695344CF01F000C1897C1103018A9 +:103B60009978993899485806C0500C9CF01F000766 +:103B70008F5C5805C0500A9CF01F00048FBC0E9C3F +:103B8000E3CD80E080028F2480009194EBCD40C093 +:103B9000169679075807C051C0C86E375807C090AD +:103BA0006E0C0C9BF01F0004CF910E9CE3CD80C0E7 +:103BB000E3CF80C0800091A0EBCD40FC1695189417 +:103BC000580C5F0B58055F081493104B1292C040BD +:103BD0003FFCE3CD80FC580ACFC048E73006C06800 +:103BE0002FF62E07E0460038CF406E0B0A9CF01FE0 +:103BF000000ACF710699049A089B0E9C6E185D18F6 +:103C0000F9BC01FFF9BC0000E0460038CE31CE1B04 +:103C10008003CC00800091A0EBCD40801897580C19 +:103C2000C0A0780CF01F00056E1CF01F00040E9C55 +:103C3000F01F0002E3CD8080800091E8D421189429 +:103C4000169579075807C1A03006C0680E966E3CDD +:103C5000580CC14018970A9B6E0CF01F0009CF71D9 +:103C60005806EFF81003EDF81A03EFF80003E9F82F +:103C70000A100E9CF01F0003D82ADC2A800091A0B5 +:103C800080023C18EBCD406016961895760BF01F1D +:103C900000056B088D38EB460040E3CD80600000E6 +:103CA00080023C3CD431202D500B129CF01F003C74 +:103CB0001890C730198A580AC670300118965011EA +:103CC000320230930294C0382FF60D8AE40A1800AD +:103CD0005F08E60A18005F091248E8081800CF518B +:103CE000580AC2C00D87E40718005F18E6071800DD +:103CF0005F191268E8081800C4505807C4300C95C2 +:103D0000C0385807C0D02FF50B87E40718005F189C +:103D1000E60718005F191268E8081800CF31AA8476 +:103D20004A0B0C9CF01F0020C171A1A15807C06074 +:103D3000EAC6FFFF0D8A580ACCA1009CF01F001BA9 +:103D40005801C2404008F141005C40195809C25175 +:103D5000129C2FEDD832496B0C9CF01F0013C03120 +:103D6000A1B1CE5B0C9C493BF01F000FF9B80004D9 +:103D7000E3D8E031FBF91001F7B901FFFBF91A01B3 +:103D8000CD6B0C95CCDBF01F0009300840093FFCDF +:103D9000F348005C2FEDD8322FEDDC3A800091948F +:103DA0008003D304800091A0800091E88003D30CAD +:103DB0008003D314EBCD40FE169CF01F00451891F4 +:103DC000C6B0198A580AC7A0189630023203309438 +:103DD000E80A18005F08E60A18005F091049300871 +:103DE000F0091800C0E0109B2FF60D8AE60A1800B3 +:103DF0005F08E80A18005F091248F6081800CF515A +:103E0000580AC4500D87E80718005F18E607180025 +:103E10005F1910693008F0091800C3705807C350C3 +:103E2000109A0C95C0385807C0D02FF50B87E607BD +:103E300018005F18E80718005F191268F4081800E6 +:103E4000CF3130084A3BAA880C9CF01F0023C0F1F8 +:103E5000A5A25807C060EAC6FFFF0D8A580ACB9199 +:103E6000029CF01F001E049CE3CD80FE49CB0C9CFD +:103E7000F01F0019C031A3B2CEDB49AB0C9CF01F80 +:103E80000016C0E1A3A2CE6B0C95CDCB029CF01F17 +:103E900000135802CE913FF2049CE3CD80FE492BE3 +:103EA0000C9CF01F000DC031A1B2CD4B0C9C48FB07 +:103EB000F01F0009C071A1A2CCDBF01F00083FF287 +:103EC000CD3B029C3FF2F01F0005CCEB80009194AB +:103ED00080039A74800091A0800091E880039A6C1E +:103EE0008003D31C8003D3248003C8E4EBCD40803F +:103EF0001697149C129BF01F00085BFCC031E3CFA7 +:103F0000C0801898E018FFE1CFB1EF4C0050109C32 +:103F1000E3CD808080023DB4EBCD40801697149CA9 +:103F2000129BF01F00085BFCC031E3CFC0801898E3 +:103F3000E018FFE6CFB1EF4C004C109CE3CD808041 +:103F400080023DB4D431201D500B129CF01F00485C +:103F50001891E080007F198A580AC6B0300218967E +:103F6000049032033094E80A18005F08E60A18004B +:103F70005F0910493008F0091800C0E0109B2FF6C7 +:103F80000D8AE60A18005F08E80A18005F0912485F +:103F9000F6081800CF51580AC2F00D87E80718003C +:103FA0005F18E60718005F1910693008F00918005B +:103FB000C3E05807C3C0109A0C95C0385807C0D04A +:103FC0002FF50B87E60718005F18E80718005F1940 +:103FD0001268F4081800CF3130084A6BAA880C9C8C +:103FE000F01F0025C161A1B25807C060EAC6FFFFFB +:103FF0000D8A580ACB91029CF01F00205802C1B0D4 +:104000004009F34200545800C241009C2FFDD832B1 +:1040100049BB0C9CF01F0018C031A1A2CE6B499B7C +:104020000C9CF01F0015C0E1A3B2CDFB0C95CD5B3D +:10403000F01F0012300840093FFCF34800542FFDE8 +:10404000D832491B0C9CF01F000CC051A3A2CCDB42 +:104050002FFDDC3A0C9C48DBF01F0007F9B800107C +:10406000E5D8E032F7B001FFCC0B0000800091945E +:104070008003C8C4800091A0800091E88003D32C05 +:104080008003D3348003C8E48003C8E0D431202DFA +:10409000500B129CF01F00391890C6D0198A580A8C +:1040A000C610300118955011320230930294C03876 +:1040B0002FF50B8AE40A18005F08E60A18005F096A +:1040C0001248E8081800CF51580AC2C00B87E4070D +:1040D00018005F18E60718005F191268E808180052 +:1040E000C3F05807C3D00A96C0385807C0D02FF67F +:1040F0000D87E40718005F18E60718005F191268BB +:10410000E8081800CF31AC8449DB0A9CF01F001D81 +:10411000C171A1A15807C060ECC5FFFF0B8A580A06 +:10412000CCA1009CF01F00185801C1E04008F141EB +:10413000005840195809C1F1129C2FEDD832493B63 +:104140000A9CF01F0010C031A1B1CE5B0A9C490B44 +:10415000F01F000CCFA040192FF95019CDCB0A96B3 +:10416000CD3BF01F0009300840093FFCF3480058E0 +:104170002FEDD8322FEDDC3A800091948003D340AC +:10418000800091A0800091E88003D3448003D3484D +:10419000EBCD40401896784CF01F00466D2CF01F78 +:1041A0000045ECFC00D0F01F00436DACF01F004157 +:1041B0006DCCF01F00406DECF01F003EECFC008069 +:1041C000F01F003CECFC0088F01F003AECFC009073 +:1041D000F01F0038ECFC0094F01F0036ECFC009857 +:1041E000F01F0034ECFC009CF01F0032ECFC00A03F +:1041F000F01F0030ECFC00A4F01F002EECFC00A827 +:10420000F01F002CECFC00ACF01F002AECFC00B00E +:10421000F01F0028ECFC00B4F01F0026ECFC00B8F6 +:10422000F01F0024ECFC00BCF01F0022ECFC00C0DE +:10423000F01F0020ECFC00C4F01F001EECFC00C8C6 +:10424000F01F001CECFC00CCF01F001AECFC00D4AA +:10425000F01F0018ECFC00D8F01F0016ECFC00DC8E +:10426000F01F0014ECFC00E0F01F0012ECFC00E872 +:10427000F01F0010ECFC00ECF01F000EECFC0150F5 +:10428000F01F000CECFC016CF01F000AECFC01803C +:10429000F01F0008ECFC018CF01F0006ECFC01A0F4 +:1042A000F01F00040C9CF01F0003E3CD80400000D1 +:1042B000800091E8EBCD40C0189678085808C031CE +:1042C000C0880E987007109CF01F00155807CFA1EA +:1042D0006D085808C031C0880E987037109CF01FC8 +:1042E00000115807CFA16C5CF01F000F6C6CF01F21 +:1042F000000E6C8CF01F000C6C9CF01F000B6CAC63 +:10430000F01F00096CBCF01F00086C1CF01F0006B9 +:104310000C9CF01F0005E3CD80C00000800241909E +:1043200080023C18800091E8EBCD4040320818969E +:104330001AD8E0691000F8C8FFDC785A784B792C5D +:10434000F01F000430182FFDED480044E3CD8040FD +:104350008002B254D421F60815011695F0C6FFFF6D +:1043600018940C9CF01F00061897C0600A99089AD0 +:104370000C9BF01F00040E9CD822000080028F24AA +:1043800080023A68EBCD40E016951896F6CCFFFD1A +:10439000F01F00091897C0C00C9B0A9A322618C655 +:1043A000F01F0006EE0500093008B296B2A80E9C78 +:1043B000E3CD80E080009200800091DCD401580CB5 +:1043C000C1D0580BC160198835E92208F2081800DD +:1043D000E08B0013129A3009C088F80907082208F8 +:1043E000F4081800E08B00092FF9123BFE9BFFF741 +:1043F000F01F0003D802F01F0003D802800243849C +:1044000080024354D4011698F6FC0140580CC06059 +:10441000189BF0CCFEDCF01F0002D802800243BCE7 +:10442000D4011698F6FC013C580CC060189BF0CCE7 +:10443000FEECF01F0002D802800243BCD4011698A3 +:10444000F6FC0138580CC060189BF0CCFEFCF01F45 +:104450000002D802800243BCD4011698F6FC013455 +:10446000580CC060189BF0CCFF0CF01F0002D80263 +:10447000800243BCEBCD40F831EC1694F01F0028CD +:104480001896C3906979F8C3FFE2EDB90000C360E4 +:104490001897EDB90001C1614A294A380C37F20872 +:1044A0001710E60701051AD84A0A0A9B0E9CF01F4E +:1044B00000202FFD580CC1C51835E08A001A1807D6 +:1044C0006979EDB90002C171496949780C37F20880 +:1044D00017100E9C1AD8E6070107496A0E9BF01FB9 +:1044E00000142FFD580CC0451837E089000530082E +:1044F000E768FFFF0C9CE3CD80F848B848EA1AD87B +:1045000031EBF01F000B2FFD580CCF2559DCFE9925 +:10451000FFF0EC0C00076979CBDB000080028F24F0 +:104520008003936480037E208003D35880009148E9 +:104530008003D3648003D350EBCD40F81894332C20 +:10454000F01F003E1896C650F8C3FFCEEDB400042D +:10455000C6301897EDB40003C1514B994B980C37F6 +:10456000F2081710E60701051AD84B7A0A9B0E9C31 +:10457000F01F00362FFD580CC4951835E08A00470F +:104580001807EDB40002C1514AD94AE80C37F208C5 +:104590001710E60701051AD84ADA0A9B0E9CF01F8D +:1045A000002B2FFD580CC3251835E08A0030180762 +:1045B000EDB40001C1514A294A280C37F2081710FE +:1045C000E60701051AD84A3A0A9B0E9CF01F001F05 +:1045D0002FFD580CC1B51835E08A00191807EDB445 +:1045E0000000C171496949780C37F20817100E9C18 +:1045F0001AD8E6070107498A0E9BF01F00142FFD09 +:10460000580CC0451837E08900053008E768FFFFFF +:104610000C9CE3CD80F848B8490A1AD8332BF01F18 +:10462000000B2FFD580CCF25E04C0031FE99FFEF19 +:10463000EC0C0007C90B000080028F2480039364F8 +:1046400080037E208003D374800091488003D37C54 +:104650008003D3888003D3908003D36CD401774C3C +:10466000F01F0002D802000080024538D401773CD8 +:10467000F01F0002D802000080024538EBCD40F860 +:10468000332C1693F01F00401896C6906759F8C453 +:10469000FFCEEDB90001C6601897EDB90000C16109 +:1046A0004BA94BB80C37F2081710E80701051AD8C8 +:1046B0004B8A0A9B0E9CF01F00382FFD580CC4C576 +:1046C0001835E08A004A18076759EDB90003C1613F +:1046D0004AE94AF80C37F2081710E80701051AD81A +:1046E0004AEA0A9B0E9CF01F002C2FFD580CC34574 +:1046F0001835E08A003218076759EDB90002C16128 +:104700004A294A380C37F2081710E80701051AD869 +:104710004A3A0A9B0E9CF01F00202FFD580CC1C581 +:104720001835E08A001A18076759EDB90004C171FD +:10473000496949780C37F20817100E9C1AD8E80717 +:104740000107498A0E9BF01F00142FFD580CC0452D +:104750001837E08900053008E968FFFF0C9CE3CDBD +:1047600080F848B8490A1AD8332BF01F000B2FFDE8 +:10477000580CCF25E04C0031FE99FFEFEC0C000700 +:104780006759C8CB80028F248003936480037E2006 +:104790008003D3A4800091488003D3B08003D390DA +:1047A0008003D3BC8003D398EBCD40C030AC1696C9 +:1047B000F01F00181897C1806D69EDB90000C17035 +:1047C000189A301BEDB90001C0F149384939580B2E +:1047D000F0091700149C1AD9EECBFFF6141B490AF6 +:1047E000F01F00102FFD0E9CE3CD80C048B848EAB2 +:1047F0001AD830ABF01F000B2FFD580CCF55589C2A +:10480000FE99FFF3EE0C000A6D69300BCDCB000072 +:1048100080028F248003936480037E208003D3D0A2 +:10482000800091488003D3C8EBCD40C01697768CAA +:10483000580CC05118960C9CE3CD80C0314CF01F31 +:1048400000101896CF90EF38001DEF3A00181AD8D4 +:10485000EF39001C1AD9EF38001B1AD8EF39001AAB +:104860001AD9EF380019314B1AD81ADA485AF01F02 +:10487000000630082FADED680013CDEB80009200EC +:104880008003DA4880009148EBCD40E078351696F9 +:10489000314CF01F000A1897C0C0EC050308488A85 +:1048A0001AD8314BF01F000730082FFDEF680013B6 +:1048B0000E9CE3CD80E00000800092008003DD6864 +:1048C00080009148EBCD40801697772C580CC09013 +:1048D000F01F0009189B6F2CF01F0008E3CD8080AB +:1048E000771C580CC060F6CCFFDC320BF01F0004C4 +:1048F000E3CD8080800091B88002438480024354DD +:10490000EBCD40807838F60800076E085808C0C024 +:10491000784C580CC0C0F60C030C189B109CF01F70 +:104920000007E3CD8080109CE3CD8080109CF01FB9 +:1049300000046E08CF3B0000800243BC800091B8A9 +:10494000EBCD40F83228169418961989F009180012 +:10495000C0A0F01F001BEBDCC001C19030070E9C13 +:10496000E3CD80F8F8C7FFFF322B0E9CF01F001537 +:10497000CF6019985808CF31B8880E9CF01F0010EE +:10498000890C0E9CF01F00101897CEABF80316018F +:10499000E6CCFFFFF01F000D1897CE200C9C069A66 +:1049A0000E9BF01F000BC051EE030B0C8903CD8B47 +:1049B0000E9C0A97F01F0007CD3B0000800091B8C5 +:1049C00080009158800091948000920080023944C8 +:1049D000800091E8D421205D18951094129C1696C1 +:1049E000F01F000F1897C1906C0A590AE08B001451 +:1049F000189B0A9CF01F000B0E9CF01F000B48BA7E +:104A00001AD4314BFACCFFFCF01F0009300C2FFDFB +:104A10002FBDD822F01F00042FBDDC2A80024940A0 +:104A2000800091DC800091E88003D3D88000914819 +:104A3000D4013038F6CCFEDCF6CBFEC0F01F00020D +:104A4000D8020000800249D4D4013028F6CCFEEC14 +:104A5000F6CBFEC4F01F0002D8020000800249D449 +:104A6000D4013018F6CCFEFCF6CBFEC8F01F0002D5 +:104A7000D8020000800249D4D4013008F6CCFF0CE3 +:104A8000F6CBFECCF01F0002D8020000800249D411 +:104A9000EBCD40F8201D18971693129C1A9BF01F1F +:104AA00000171895C2306E595809C0504008103987 +:104AB000E08B00206E695809C04040081039C133AE +:104AC0006E366E44E60600066C0CF01F000D8D0578 +:104AD0006E4C580CC0504008300CE60409082FFDFD +:104AE000E3CD80F80A9CF01F00062FFDE3CFC0F84D +:104AF000F01F00033FFCCF4B80024940800091E84B +:104B0000EBCD40FEF6F700D05807C0510E94089C3C +:104B1000E3CD80FE364CF01F00191894CF90EEC6FE +:104B2000FFFCF8C3FF9C189749514962ECFCFFFC5D +:104B3000580CC2116C0B580BC1A02F86F01F00122D +:104B4000CF600837E2081700E40817101ADCE60700 +:104B500001051AD80E9C48DA0A9BF01F000D2FEDB4 +:104B60001807580CC0451835FE99FFE23008E76871 +:104B7000FFFFCCEB6C0BCE2B80028F2480037E20BA +:104B800080039364800271BC8003D3E48000914869 +:104B9000D431205D500B129CF01F0056502CE08049 +:104BA000008E198A580AE080009B3009402650196F +:104BB000503912905049320230931294C0382FF677 +:104BC0000D8AE40A18005F08E60A18005F09124817 +:104BD000E8081800CF51580AC4E00D87E407180010 +:104BE0005F18E60718005F191268E8081800C64049 +:104BF0005807C6200C95C0385807C0D02FF50B8732 +:104C0000E40718005F18E60718005F191268E80843 +:104C10001800CF31AA842FF0403CE00B1503F01FA1 +:104C200000361891C4E040490C9CE20900060C9B38 +:104C3000F01F00328D1C6C085808C141580CC1018E +:104C400040182FF850185807C15040482F88504836 +:104C5000EAC6FFFF0D8A580AC3C05031CB3B591C2E +:104C6000C2404009F2F801782FF8F348017858075C +:104C7000CED15031E0C8FFFFF0071503402CF01FE4 +:104C800000200E9B403CF01F001CC2E0F8000039E1 +:104C90003008931893084008F14C00D04019580987 +:104CA000C0D1129C2FBDD8324009F2F801742FF800 +:104CB000F3480174CC9B0C95CAEB3FFC2FBDD83256 +:104CC000403CF01F000F402CF01F000D2FBDDC3AC0 +:104CD000E0C8FFFF5031F0071503CD1B501A308795 +:104CE000503A1490CCCB403CF01F00053FFCCE7BEB +:104CF00080009194800091F48002720C800091E811 +:104D0000D4213228129716951389F0091800C0A0F3 +:104D1000320A2DCB0E9CF01F00271896C2F03FFCE4 +:104D2000D822EEC6FFFF322B0C9CF01F0023C3C01D +:104D3000F8060107EEC80008E0480037FE9BFFF1C7 +:104D40006B2C580CC060F01F001D0E3CC2606B2C19 +:104D50003004EB440044F01F001AEECCFFFFF01FBC +:104D60000019EB4C0048CDC00C9B0E9AF01F0016AA +:104D70006B28089CF0070B04D822EF390040F80993 +:104D80001800CCE16B2CF01F000E3018EB460048E9 +:104D90000C9CEB480044D8220E9A0C9B6B2CF01F05 +:104DA000000BCD61CBEB0C9CF01F00041897CC3BA3 +:104DB0008002394480009158800091B8800091E8C9 +:104DC00080009200800091DC8000917CEBCD4080DF +:104DD0001697129C2E8BF01F0006F9BC01FFF9B844 +:104DE0000001EFF80A08E3CD808000008002389CC3 +:104DF000EBCD40C018976E38129CF00B000630AA1D +:104E0000300BF01F000C8D0C18996E585808C030EC +:104E1000103CC0956E6C580CC0401839E0890007F2 +:104E2000E3CF80C08D08E3CFC0C08D0CE3CFC0C0FE +:104E300080009170D42116941895782B580BE08A35 +:104E400000557817683E6E0C78381C38C410EECACE +:104E5000FFFC3009C058150C78381C38C3902FF966 +:104E60001639CFA52FFB0E9CA36BF01F00241896BC +:104E7000C3506A2C580CE08A003B6C08683E7039BD +:104E80001C39C355ECC8FFFC300AC0A81097700845 +:104E9000F40B15027039EEC8FFFC1C39C2052FFA5D +:104EA000143CFE99FFF5F4C8FFFFEC0A002BA36841 +:104EB0001697F80A010AEC08000CA36AF01F00100C +:104EC0008F048B166A28300C2FF88B28D82218985C +:104ED000781C580CCFD19114D822DC2AF4C8FFFFDB +:104EE000EC0B000BA368CE6B7817CBDB0C97300A6A +:104EF00030480C9BCDFB0000800091F4800091C4F1 +:104F0000D4211895781CF01F000D300C8B1C8B2CB5 +:104F10006A075807C0F0189618948F140E9B0A9CC5 +:104F2000F01F00076E07F9B605FF5807CF710C9CFC +:104F3000D8220E96CFDB0000800091E880024E342C +:104F4000D421189578095809C1E03FFAC028109972 +:104F50007228F4080C4A72085808CFA1F4C4FFFF65 +:104F60001296E06C01A8F01F000A1897C0A09924BF +:104F70005806EDFC1A00EBFC0A000A9CF01F000525 +:104F80000E9CD82212961294CEDB000080028F2451 +:104F900080024F005EFD5EFD5EFD5EFD5EFD5EFD1E +:104FA000D401584BC0E0E0880007586BC0A0587B84 +:104FB000C040D802580BC091300CF01F0005D80239 +:104FC000301CF01F0003D802D80200008002172016 +:104FD000D401581BC070300A323C149BF01F0005EE +:104FE000D80A300A322C149BF01F0002D80A0000A5 +:104FF00080014658EBCD40FE201D1094129216956C +:10500000F01F0057E8C8FFF25C7C4D69F00C000609 +:10501000F33A0109580AC060EC0A0D085809E0810A +:10502000008F3003500CE6060001029CF01F004E7A +:105030000A9B1897306A400CEE0C000CF01F004BD6 +:10504000400C306A4CAB140CEE0C000CF01F004707 +:10505000400C302A4C7B2F4CEE0C000CF01F004310 +:10506000400C089A049B2F2CEE0C000CF01F003F04 +:10507000FAC8FFFC3005114A0E991AD5EE0A000C49 +:105080001AD5EC0A010A30EBF01F003B2FED581C3B +:10509000C5914009EC090108E048003EE08B001092 +:1050A0008E085CC806085CC8AED3029B0E9CAE0896 +:1050B000F01F0032300C2FFDE3CD80FEEE09000E14 +:1050C0003888FD39000CF0091800CEB1FD39000D0B +:1050D00038E8F0091800CE51FD38000EF808180025 +:1050E000CE01FD39000F3038F0091800CDA130286D +:1050F000FD3A0012F00A18005F1B3FE8F00A1800A2 +:105100005F19126BEA0B1800CCC1FD380013E218CE +:10511000001D5818CC61FD380014E21800C85888EA +:10512000CC01FCCAFFC1FCC9FFE1C0482FF914390A +:10513000C0E01388F6081800CFA0CB3BF4090103A8 +:10514000C72B0E9CF01F000E3FFCCB6B0FC92FA985 +:10515000EE0900091388A3A8B288CA3B8001F4E8CD +:10516000000087F480009200800091DC00007AA8A3 +:105170008003D6548001F54480014664800091E8A4 +:10518000D401201D3068FACBFFFC16D81A9B486C5E +:10519000F01F00064848581CF00C1700F9BC01002D +:1051A0002FFDD80200007AA880017A88EBCD40401C +:1051B000310A1696300B0C9CF01F000630F930783F +:1051C0008D198D09300C30398D288D39E3CD804013 +:1051D000800091D0D401F01F0002D80A80016048FD +:1051E000EBCD4068206DFAC3FFEE1496069C306A42 +:1051F000F01F0010FAC5FFFE0C9B310A0A9CF01F3D +:10520000000D0A9B204D310A1A9CF01F000B069BD3 +:10521000202D306A1A9CF01F0008F01F00082FADE7 +:10522000581CF9BC01FFF9BC00002FADE3CD80682C +:10523000800091DC8002E73680016094EBCD40680D +:10524000206DFAC3FFEE1496069C306AF01F001022 +:10525000FAC5FFFE0C9B310A0A9CF01F000D0A9B49 +:10526000204D310A1A9CF01F000B069B202D306A3E +:105270001A9CF01F0008F01F00082FAD581CF9BC45 +:1052800001FFF9BC00002FADE3CD8068800091DC08 +:105290008002E73680016168D401F01F0005581CC8 +:1052A000F9BC01FFF9BC0000D80200008001F370D6 +:1052B000D401F01F0005581CF9BC01FFF9BC000027 +:1052C000D80200008001F310D401169CF01F0004E6 +:1052D000581CF9BC01FFF9BC0000D802800163E052 +:1052E000D431207DFACEFFC050287C027C387C1758 +:1052F00050087C2E501E16901894149B1293580A36 +:10530000C5C0FAC5FFEA306A0A9CF01F0031202DA3 +:10531000306A0A9B1A9CF01F002FF01F002F5802C2 +:105320005F1858075F1918912FED1268C181300678 +:105330005800C26168193018F0030948F00811FFDD +:10534000F1E9000C891C580CC365BFBC891CF01F17 +:10535000002318975817C2F02F9DDC3A5887FE9B00 +:10536000FFFDFAC6FFF2308A300B0C9CF01F001CC8 +:105370000E9A049B0C9CF01F00165800CDC04028CC +:1053800058015F091AD8069C1AD630381AD530163B +:10539000404A403B1AD6F01F00136819EC03094835 +:1053A0001248F1D8C01F189789180C9CF01F000EE6 +:1053B0002FCDCD1B2F9DD83AFAC5FFEA306AE06B9E +:1053C00000FF0A9CF01F0006CA3B0000800091DC31 +:1053D0008002E736800188B080016584800091D02A +:1053E0008001661C8001639CEBCD40C01896308C18 +:1053F000F01F00091897C0C0300899069918F01FCF +:105400000007301CF01F00060E9CE3CD80C0E3CDEA +:1054100080C0000080028F248001604880017A10E3 +:10542000EBCD4080209D1697FACCFFFEF01F0009BF +:10543000581CC0402F7DE3CFC0800E9C1BBAFACB16 +:10544000FFFCF01F00051BBC2F7DE3CD808000001A +:1054500080017800800091DCEBCD4080202D580B3E +:10546000C120FAC7FFFE306A0E9CF01F000C0E9C94 +:10547000F01F000B581CF9BC01FFF9BC00002FED18 +:10548000E3CD8080FAC7FFFE306AE06B00FF0E9C20 +:10549000F01F0004CEDB0000800091DC8001793039 +:1054A000800091D0EBCD4040485B1896F01F00057E +:1054B0000C9CF01F0005E3CD8040000080039C3869 +:1054C00080025458800091E8EBCD40C0202DFAC7EF +:1054D000FFFE16960E9CF01F0008581CC0402FEDD2 +:1054E000E3CFC0C00E9B0C9C306AF01F00042FED70 +:1054F000E3CF80C080017864800091DCEBCD40C0B8 +:1055000018977939580BC0305839C0E03018EF4837 +:1055100000BC3038EF48004C1039C0808F2830086C +:105520008F58E3CD80C0F949004C6F682FF8EEFA30 +:10553000010CEF4800586FA830098F288F59301B95 +:10554000746C7486487A5D16EEF80094EEF900905B +:105550002FF82FF9EF480094EF490090E3CD80C079 +:1055600080037E20580C5E0C580BF9FB4A19580A30 +:10557000F9FA4A225809F9F94A1A5808F9F84A1B5F +:105580005EFC580CF9F81024F9B90101F1D9E108D1 +:10559000F9F81A245EFC580C5E0C580BF9B801019E +:1055A000F9F81A45F9FB0A455EFCD703EBCD40C07C +:1055B0001897580CC04079385858C030E3CD80C097 +:1055C000F8F8010C3009706C7086488A301B5D1643 +:1055D000EEF80094EEF900902FF82FF9EF480094C0 +:1055E000EF490090E3CD80C080037E20580CF9FC89 +:1055F00010315EFC580CC0B0F8F800D45808C070E8 +:10560000F8F800D89708F8FC00D45EFC300897083A +:105610005EF8D703580CC040588BE08800035EFD4D +:1056200048D8F00B032FF8FC00E05EFCF8FC00DC2F +:105630005EFC78BC5EFCF8FC00805EFC79FC5EFCE5 +:10564000F8FC00845EFC784C5EFC797C5EFC786C37 +:105650005EFC00008003D6FC580C5E0C588B5EBCD0 +:1056600048E8F00B032FF94A00E05EFCF94A00DC41 +:105670005EFC99BA5EFCF94A00805EFCF94A007C47 +:105680005EFCF94A00845EFC994A5EFCF94A005CC3 +:105690005EFC996A5EFC00008003D720580CC05065 +:1056A000580BC031783C5EFC5EFD580C5E0C580B0C +:1056B000F9FA0A035EFCD401580CC0A0F8FC010CF6 +:1056C000580CC06078A85808C030780C5D18D80213 +:1056D000D401580CC021D80AF8FC010C580CCFC0DA +:1056E00078B85808CF90780C5D18D802EBCD408080 +:1056F0001897580CC1E0189A300B48FCF01F000FA7 +:105700000E9A300B48ECF01F000DEEFC00C0F01FAD +:10571000000DEEFC00CCF01F000CEEFC00D4F01FDE +:10572000000AEEFC010CF01F00080E9CF01F0006A2 +:10573000E3CD80808002608C800274008002602053 +:10574000800270E0800091E8D401580CC050F8FC51 +:1057500000C0F01F0002D80280026410D401580C6F +:10576000C050F8FC00C0F01F0002D802800264287C +:10577000D401189A580CC0A030583019F8FC00C059 +:10578000F548004C95C9F01F0002D802800263BAA8 +:10579000EBCD40801897580BC04079E85888C0403E +:1057A0003018EF4800BC30193088EF490044EF480A +:1057B00000788F99EEFC00C0F01F0004F9B80100DA +:1057C000EFF81A39E3CD8080800263B2EBCD40E080 +:1057D000201D189716951496580CC0513FFC2FFDAC +:1057E000E3CD80E0F8FC00C0F01F000ACF801A9BD8 +:1057F000EEFC00C0F01F0008189BCF10400C0C3CC2 +:10580000CEF30C9A0A9CF01F0005300CCE9B0000D2 +:10581000800263B2800263CE800091DCEBCD40C099 +:1058200018971496580CC1F0F94B00C4580AC1B02F +:1058300074087419F94800F8F94900FC7428F9480B +:105840000100F8FC00C0580CC0E0742BF01F0007EA +:105850006C3BEEFC00C0F01F00066C4BEEFC00C081 +:10586000F01F0004E3CD80C0800263A6800263AC19 +:1058700080026408D431FACD00A81897F8F600CC5D +:105880005806C0F0F8F800F85808C0B00DA80DB9D7 +:10589000F3E81089F8F800D02FC91039E088000427 +:1058A0002D6DD832ECC4FFFC0999500909A0F01FF6 +:1058B000006FFAC1FFF8340A029B0E9CF01F006CC7 +:1058C0001895CEF5590CE0800090580CCEA132020C +:1058D0005012EEF800E45808C7D1E8C5FFE4FAC357 +:1058E000FF68310A0A9B069CF01F0062310A300BE8 +:1058F0000A9CF01F00610DAA0DB9049BF3EA108900 +:10590000FACCFFD8EEFA00CC0A982FC9F01F005B42 +:10591000310A0A9B069CF01F005AC7614009E1E961 +:1059200010880DB9EBD8B0100DA8F3E81089320833 +:10593000F2CE002CF00519005FB9E04E00205F9A0E +:10594000124AF80A1800CAD15C751C35C630580EC8 +:10595000CA81FAC3FF88029B0A9A069CF01F004581 +:105960003018308AEF4800E4E8CBFFFDEECCFF189A +:10597000F01F0040EEFC010C78965806C0D0E93AC2 +:10598000001B0A98149B0699780CE21B0080F5DA3C +:10599000C0025D16C865E939001B3008F00918001F +:1059A000C5753018EF48011CEEF901185809C0718F +:1059B000EEF800FCEDB80000FE90FF7430188FD8B0 +:1059C000EEFC010C78785808FE90FF6C780C5D189E +:1059D000C68B308AE8CBFFFDEECCFF18F01F002805 +:1059E000FE94FF60C7BB189A029B0E9CF01F00201C +:1059F000FE91FF580A9A029BFACCFFD80A92F01F38 +:105A0000001D5015C67B069B0A9C310AF01F001929 +:105A1000C48BFAC6FFB8E8CBFFF50C9C310AF01F27 +:105A20000015049A029BFACCFFA8F01F0012FAC3DB +:105A3000FF880A9AE8CBFFD4069CF01F000E40199D +:105A40000C9A2F090A9B069CF01F000EC8AB301859 +:105A5000EF480118EEF9011C5809CB11EEF800FCD3 +:105A6000EDB80001CAC1C1DB8002575C800257CC8F +:105A7000800091DC800091D080028EF88000917CC3 +:105A800080029C38D431201D3003189730140695BD +:105A900030213040EF4500BC6F4A580AE08000C911 +:105AA0006F585808E08100C56E7C580CE08100C238 +:105AB0006EB85808E08000BE6F385828EFF41A2FEF +:105AC000EEF8010CEF41004C3009706C7086FEFA64 +:105AD000051E029B5D16EF4400548FC5EEF800983A +:105AE000EEF900902FF82FF9EF480098EF49009059 +:105AF0006E7C580CC0516EB85808E08100EC6FC83D +:105B0000EF4400705818EFF41A2F6FD85808E0814E +:105B100000F8580CE08100A76EE85808E08100A367 +:105B20006FE8F0C900015879E08B000EFEF804C45C +:105B3000F009032FEF4400BCEF410078EF4500402F +:105B4000EF4400C8EEFC00C0F01F012BE08000B560 +:105B5000EF4400BC2FF3E0430064C9D10E9A300B30 +:105B6000FEFC0498F01F012630090E98FEFA048C02 +:105B7000129B129CF01F0123EEF9010C72285808A9 +:105B8000C0E0EEF801105808C0A058185F0B3008AC +:105B90000E9CEF480110723A72285D182FFDD83222 +:105BA000EEF80088EF4400BCEF4000788F55EF45D9 +:105BB000007CEF4500C88F08CC6B6E585808E08118 +:105BC00000DF6E4B580BE08100D06E085808C161B1 +:105BD0003078EF4400BCEF480078EF440048CB3BFE +:105BE000EEF900845809E08101846FF85808E081DB +:105BF000015C6E4B580BE08100B86E685808CA30E3 +:105C00000E9CF01F0101C9FB6E485808E08100A9F5 +:105C10006E585808E08100B06E685808C9406F0897 +:105C20005808C910300B0E9CF01F00F7C8CB6E7CD3 +:105C30006EA95809C2F16F885808C2C06F38EF4585 +:105C400000605818EFF41A2FEF44004CEF4500584D +:105C5000EF4500548FC58FE4EF450118EF45011C57 +:105C6000C49B6FE8EEFC00CC5818EFF41A2FEF44F9 +:105C70000078F01F00E6EEFC00D4EF4500CCF01FEA +:105C800000E3EEFC00C0EF4500D4F01F00E18FE51B +:105C9000C5AB580CCD416EB85808CD105829C3B0CB +:105CA0005819C4706F3820185878FE9BFF26FEF9EB +:105CB0000362F208032FEEF800BC5808FE91FF4C77 +:105CC000C5CB6E585808E08100FE6ED85808E080B9 +:105CD00000FE6FC95819FE90FF1A5829FE91FF1E49 +:105CE0006FD85808FE90FF1A0E9CEF490070EF44E1 +:105CF00000BCF01F00C96E7CEF450074C0BB0E9C59 +:105D0000EF4400BCEF410070F01F00C36E7CEF4514 +:105D10000074C00B6F885828CC606F388FC45898B7 +:105D2000EFF41A2FEF4100603098EF48004CCE4A54 +:105D30006F885818CB806F3858A8EFF91A2FEEF9F2 +:105D4000010C30A88FC5EF440060EF48004CFEFA0C +:105D5000029E7286726C302B0A995D16CC0A6F080F +:105D60005808FE90FF573068EF4400BC8FF4EF48AE +:105D70000078CE9A6F085808FE90FF503038EF44F4 +:105D800000BC8F05EF440080EF480078CDCA6E69F3 +:105D90005809C0A06ED85808E0810117EEF800F845 +:105DA0005808E08100FC6E485808E08100EB6E88DE +:105DB0005808C0506ED85808E08000E46F28580892 +:105DC000C050300B0E9CF01F00956E7CC93A6F7866 +:105DD0005808C8018F88EF4400BCEF40004CEF48E2 +:105DE0000058EF4800448FF8EF4800488F98EF4480 +:105DF0000040C82A6E1B580BCE606E585808FE90A3 +:105E0000FF6A3089EF4400BCEF49004CEF44005C6E +:105E1000C73A6E2B580BC2716F696FB81039CD330A +:105E20006ED85808C2003058EF4400BCEF48004C10 +:105E30008FC4EF440110FE9FFE60580AFE91FF4B95 +:105E4000EF4A011CEF4400BCEF44004CEF4A0060F5 +:105E5000EF4A0058EF4A00548FCA8FE4EF4A011806 +:105E6000FE9FFE4B6E685808C7B16E485808C78140 +:105E70006E585808CC71580BFE91FF2D6F696FB8A2 +:105E80001039FE93FF286ED85808FE91FF24307811 +:105E90008FCBEF48004CEF4400BC6F98EF410110EE +:105EA0008F18FE9FFE2AEEF80088EF4900C8EF44E5 +:105EB00000BCEF4000788F59EF49007C8F08FE9FAF +:105EC000FE436ED85808E081008AEF4400BCEF44DE +:105ED000004CEF450060EF450058EF4500548FC57A +:105EE0008FE4EF450118EF45011CFE9FFE06305977 +:105EF000EF4400BCEF4900781A9BEEFC00C0F01F95 +:105F000000481892C290EEF8010C4009189A708669 +:105F1000706C300B5D16049CF01F003CEEF800C85E +:105F20005808EFF81028F9B90101F1D9E108EFF8A4 +:105F30001A28EFF80029F9B90001F1D9E008EFF8C3 +:105F40000A29EEF90090EEF8009C2FF92FF8EF499E +:105F50000090EF48009CEF450084FE9FFDF5EF4464 +:105F600000BCEF40004CEF450058EF4500448FF572 +:105F7000EF4500488F958F85EF440040FE9FFDBDA3 +:105F80003078EF4400BCEF48004C8FC56F98EF416C +:105F900001108F186E7CFE9FFDAEEEF800FC5808D5 +:105FA000FE91FF038FD4EEFC010C78785808C040B6 +:105FB000780C5D186E695809FE90FEF76ED8580887 +:105FC000FE90FEF36E7C3059EF4400BCEF49004C6C +:105FD0008FC4EF440110FE9FFD8E3088EF4400BC5B +:105FE000EF48004CEF44005CFE9FFD8780037E205D +:105FF0008003D744800268308002608C8002740085 +:106000008002747480025790800091E88002653CA1 +:106010008003D76480025874800254FC800263E6D7 +:10602000EBCD408076085808F9B901FFF1D9E108B5 +:10603000F7F81A0076185808F9B901FFF1D9E10804 +:10604000F7F81A0176285808F9B901FFF1D9E108E3 +:10605000F7F81A0276385808F9B901FFF1D9E108C2 +:10606000F7F81A03169718991698486A300B301CDF +:10607000F01F00050E9CF01F0005E3CD808000009E +:10608000800260208002747480025A84D401169CBD +:10609000F01F0002D802000080025A84D421203D63 +:1060A0001895E06C0120F01F00221897C38031E89A +:1060B0003039F9480088F948006833C8F949006C5C +:1060C000F9480064F945010C300430CA99A4089BD2 +:1060D0001A9CF01F00186AF850286ADA500A6AE819 +:1060E0005018EEF8010C1A99704A493B0E9CF01FAB +:1060F0000013EF4C00C01A961898C14030160E9C41 +:106100008F76F01F000F0E9C8F74F01F000D0E98FD +:1061100008990C9C48BA089BF01F000B0E9C2FDDC1 +:10612000D8220E9C1097F01F0009CF9B80028F246D +:10613000800091D0000004788002711C80025A8493 +:106140008002602080027474800091E8D401580CB1 +:10615000C090F8F800D45808C050F8F800805808EB +:10616000C020D8023018F94800809958F01F00026A +:10617000D802000080025A84D401580CC04099AB68 +:10618000F01F0002D802000080025A84D401580C8B +:10619000C060F94B00E0994BF01F0002D8020000EC +:1061A00080025A84EBCD40801897580CC090996BB0 +:1061B000F94B00DC580BC0610E9CF01F0005E3CDCD +:1061C0008080F8FC00C0F01F0003CF7B80025A845F +:1061D000800263BAD401580CC04099DBF01F000262 +:1061E000D802000080025A84D401580CC04099BBE8 +:1061F000F01F0002D802000080025A84EBCD40E07C +:10620000189714951296580CC3A0F8F8008C2FF824 +:10621000F948008C5839E08B0009F8F800A82FF8ED +:10622000F94800A8E3CF80E01588306AF94800B04B +:10623000F8CCFF4CF01F0042ECCA00040BA90BB8CD +:10624000F1E910861436E08B00130B99300CF80935 +:106250001800C4603038F0091800C130EEF800A80A +:10626000301C2FF8EF4800A8E3CD80E0EEF800AC3A +:10627000300C2FF8EF4800ACE3CD80E0E3CF80E0B6 +:10628000E046002BE088004C3FE80BCBF00B1800F9 +:106290005F0A3028F00B18005F09124AF80A18004C +:1062A000CEE13018F00B1800C3A1EEFC00CCF01FBB +:1062B00000252FC60C9CF01F0024EF4C00CCC2F030 +:1062C0000C9A0A9BF01F001E0E9CEF4600D0301661 +:1062D000EF460074F01F001D0C9CE3CD80E0EEF84B +:1062E00001145808C100300830398FC8EF48011434 +:1062F0008F29EF49004CEEFC010C78C85808C030DB +:10630000780C5D18EEFC00D4F01F000E0C9CEF46DC +:1063100000D8F01F000DEF4C00D4C031E3CF90E067 +:10632000EACBFFFCEEFA00D8F01F00050E9C3016F9 +:106330008F56F01F00060C9CE3CD80E0800091DCBE +:10634000800091E88000920080025A84EBCD40806A +:10635000189779685808C0B079BB580BC08070494D +:106360005D193008EF480058EF48006CE3CD80809D +:10637000EBCD40C01897580BC04078085878C04003 +:106380003018EF48006030786FA68F086F9C6C293A +:10639000300A305B5D196FA86F9C7029301A304B42 +:1063A0005D19E3CD80C0F94B00745EFCF94B00B081 +:1063B0005EFC580CF9FC10135EFC580CF9B8010196 +:1063C000F9F81A06F9B9010BF9F91A005EFC580C34 +:1063D000C08079485808C05079589708794C5EFCBD +:1063E000300897085EF8580CC0C0791A580AC09057 +:1063F000792897083009F9490048F94900445EFABC +:106400003008109A97085EFAF94B00C45EFCD70377 +:10641000D401580CC040483BF01F0003D8020000D4 +:106420008003D7B08002634CEBCD40801897580CA6 +:10643000C0F079A8300B7019799C5D19C0916E6815 +:106440005808C0606E2820385818E0880004E3CD52 +:1064500080806F485808F9B80101EFF81A136FA847 +:106460006F9C7029301A300B5D19EEFC00A4483A7D +:10647000302BF01F0003CECB8003D7BC80023A1A2A +:10648000EBCD40801897580BC040780858B8C040F2 +:106490003018EF4800606F4930B88F085809F9B8D4 +:1064A0000101EFF81A136FA86F9C7029301A300B96 +:1064B0005D196FA86F9C7029300A305B5D196FA859 +:1064C0006F9C301A7029304B5D19EEFC00A4484ACD +:1064D000302BF01F0004E3CD808000008003D81C27 +:1064E00080023A1AEBCD40C01897580BC04078088C +:1064F00058C8C0403018EF48006030C86FA68F08F9 +:106500006F9C6C29301A302B5D196FA86F9C702915 +:10651000300A305B5D196FA86F9C301A7029304BC0 +:106520005D19EEFC00A4484A302BF01F0004E3CDB7 +:1065300080C000008003D86080023A1AEBCD406032 +:106540001896784CF01F000B30056D1C8D45F01F20 +:1065500000096D4CED450044F01F00066DA8ED45A7 +:1065600000500A9A6D9C70290A9B5D19E3CD8060EA +:10657000800091E8EBCD40E01897580BC4F0780804 +:106580005808C4C130088F086FD95809C0B06F6867 +:106590005808C08070985808C0506FBB0E9C5D189A +:1065A000C4114A4B0E9CF01F00246FA83006301512 +:1065B0008F16EF4500408F268F666EFA70490C9B50 +:1065C0006F9C5D196FA80C9A70290C9B6F9C5D19CC +:1065D0006FA80C9A7029302B6F9C5D196F4CF01FBF +:1065E00000176FA80A9BEF460050EF46004C0C9A2C +:1065F00070296F9C5D193FF80C9A8F386FA5303B5E +:106600006F9C6A295D196FA80C9A7029304B6F9C9A +:106610005D19EF4600C0E3CD80E03018EF48006020 +:10662000CB2B6F686FBB70A90E9C5D19CBFB000074 +:106630008003D8948002634C800091E8EBCD40E069 +:10664000205D1897580BC04078085858C040301843 +:10665000EF48006030588F086F695809C4406FA830 +:10666000FACBFFF070596F9C5D19310A300B189509 +:106670001A9CF01F00256F1C6EE850086E295019F7 +:106680006E6850286F095039F01F002030086F6B7A +:10669000EF48005CEF480044EEC8FFB81A9A0A9928 +:1066A0001AD80E9C405876566FBB5D16EF4C0044CE +:1066B00040188FE82FFD5808C1616F785808C13124 +:1066C00040188F2840298F694038EF4800406F6894 +:1066D00070695809C08070785808C0506FBB0E9C14 +:1066E0005D19C0412FBDE3CD80E06F4CF01F000766 +:1066F0006F68EECAFFAC70796FBB0E9C5D19EF4CF2 +:106700000050CF1B800091D0800091E8EBCD4080FD +:106710001897580BC04078085868C0403018EF48A8 +:10672000006030686E4C8F08F01F001A6F18580810 +:10673000C2E0EEF800B05808C2216EA86F2C8F3866 +:10674000F01F00158F4CC0706F2A6F1BF01F0013D5 +:106750006F288F586FA8301A7029303B6F9C5D19D5 +:106760006FA86F9C7029300A305B5D196FA86F9C11 +:1067700070496EFA300B5D19E3CD8080310AEECBA3 +:10678000FF7CEECCFF6CF01F0005CD8B8F48CE9BBD +:10679000800091E880009200800091DCEBCD40FC0D +:1067A000201D79A81897169214931294799C700959 +:1067B0005D191896C2F06F685808C23070C8580842 +:1067C000C2000E9C1A9A6FBB5D181895C1A0400CB0 +:1067D0002FBC870CF01F0015C1D03028B892B888A4 +:1067E00030188699B8B9A9891897B8A9B8C80A9B6A +:1067F000400A2FBCF01F000E0E9C2FFDE3CD80FC45 +:106800005804C0416DCC580CC0A16DB86DA5580599 +:10681000C0A130070E9C2FFDE3CD80FC6DD81895EC +:106820005008CD6B5008CD4B80009200800091DC69 +:10683000D431209D3004F8C9FF7CF8C8FF6C18974C +:1068400050195008F8C0FFB808956FA8EF450060D0 +:10685000301B70196F9C5D19C0706FA8306B701978 +:106860006F9C5D19C2F16FA8306B70196F9C5D1938 +:10687000C140EEF800C45808C101EEF800C0E0487D +:106880000032E08A0025E0480033E080011C6F8878 +:106890005808C1003014CDAB6E085818F9B8010182 +:1068A000EFF81A18EF4500C030188F086F885808A5 +:1068B000CF216F7C580CE80C1700F9BC01012F7D2B +:1068C000D832301B0E9CF01F01EECE2B6E0958A95A +:1068D000FE9BFFDFFEF807ACF009032F30183029CC +:1068E000EF4800608F09CD4B300B0E9CF01F01E686 +:1068F000CCFB6E196EB81039C760300B0E9CF01FC0 +:1069000001E2CC6B6EA96E381039E0800137300B94 +:106910006E8E580EC1B06E685808C1806EAA6E396E +:10692000123AE08000BBEEF800B05808C0F0F2C8A0 +:10693000FFFFF1D8C008103AE08000B0F2C8FFFEB7 +:10694000F1D8C008103AE08000A96E2C582CC20083 +:106950006E985808E08001236E685828E080011F77 +:106960006EAA6E39123AE0800146EEF800B058087F +:10697000C0F0F2C8FFFFF1D8C008103AE080013B38 +:10698000F2C8FFFEF1D8C008103AE08001346E78FA +:1069900058085F1A3008F5EB0009F0091800E0818B +:1069A000010FEC1B0001F5EB0008F2081800E08075 +:1069B00001056EBB1699582BE080012A6E16580609 +:1069C000C071581BE080021B582BE08101630C3B17 +:1069D000E080014F0C995919C0F1580EC0416FE881 +:1069E0005808C0A0300B0E9CF01F01A8C51B6EEB11 +:1069F000580BFE90FF7C300B0E9CF01F01A5C48B42 +:106A00006FA8305B70196F9C5D19C7016FA8307B50 +:106A100070196F9C5D19C0506E685808FE91FF395F +:106A20006FA8300B70396F9C5D19C0516E68582883 +:106A3000FE90FF2F6FA8308B70196F9C5D19FE912F +:106A4000FF286FA8189B70396F9C5D19C0516E6844 +:106A50005828FE91FF1E6FA8307B70196F9C5D193E +:106A6000C0806E285828C0506E685808FE90FF11EC +:106A70006E185918E080025C5998FE91FF0AEEF8F2 +:106A800000805808FE90FF056E685808FE90FF01D0 +:106A90006E285848FE91FEFD300B0E9CF01F017DC4 +:106AA000CF7A6FA8306B70196F9C5D19FE90FEF164 +:106AB000EEFB00C4580BFE91FEEC0E9CF01F017023 +:106AC000CE7A3328EEFC00A4FEFA05CC1AD8302B7F +:106AD000F01F0172EEF800C0301B16080E9CEF4844 +:106AE00000C0F01F016F2FFDCD3A6FAA3038FACBEE +:106AF000FFE08F0830136F9CEF43006074595D19FD +:106B00008F95507C8F85EF4500788F758FA58FB559 +:106B10008FC58FD55F0A408B1896583B5F88104A07 +:106B2000EA0A1800C23119A919B8F1E910885068A9 +:106B3000103BC1C319988FA8EEF900B05809C09056 +:106B4000069C4019FACAFFE8FACBFFE4F01F015592 +:106B50000D893028F0091800E080011CE08B008DC1 +:106B60003018F0091800E0800123EEF800C02FF87B +:106B7000EF4800C0FE9FFE8D6E785808FE90FEC95B +:106B8000EEF800B05808C080310A400B401CF01FDE +:106B90000146FE91FEBE301BCBCA580EFE90FEF998 +:106BA0006E685808FE91FEF56E185918FE91FEDACF +:106BB000583CFE91FED7CECA6E19C0EB301830A9F2 +:106BC000EF4800608F096F1CF01F01386E485808AD +:106BD000C1A06E5CF01F0136EF4C0044FE90FE59E0 +:106BE0006E5A6E4BF01F01336E58EF480048FE9FFF +:106BF000FE50300B0E9CF01F012AFE9FFE4A30090A +:106C000050494048EF480044FE9FFE436F08580833 +:106C1000FE90FED6301830996FAA8F09EF480060B9 +:106C20007458FACBFFE86F9C5D1819A919B818962B +:106C3000F1E910885848E08B01476F1CF01F011BD9 +:106C4000305CEF450044EF4C00486EA6F01F011881 +:106C5000E08001853029B896B889EF18004AB8C994 +:106C6000B8B8A988B8A8EF4C0044FE9FFE12584C53 +:106C7000FE90FEB3CB8A3038F0091800E08000DCCB +:106C80003048F0091800FE91FF7230188F98C6EB5B +:106C900030181693EF48006030496FA8E04B00FEB3 +:106CA000EFF3000D8F096EC670096F9C5D19069A8F +:106CB0000C9BF01F0101E08100C36F1CF01F00FB63 +:106CC0006FA8EF4500446EA270096F9C5D19503C9F +:106CD000FACCFFE8F01F00F91893C9206EB8E0481D +:106CE00000FEE08101516FA8406670096F9C5D193C +:106CF00030C8505CA376EF480048ECCCFFECF01FA6 +:106D000000EC1891E080012E3FE9B892B8C9302913 +:106D1000B889F8C8FFFBB0A5B085B095F8C9FFF8F1 +:106D20003038B285B295B2A5B2B8504CF8C2FFF473 +:106D30000A96C298661A6ED81438C210405CF01FCA +:106D400000DE049AE4CBFFFC580CC1903FE814C865 +:106D50008689B4896608A988B4986609B4A907C861 +:106D6000B68886A9B6996618A988B6A86619B6B96C +:106D7000F6C2FFFC60082FF62F88810866F35803DF +:106D8000E0800099660B6EC81638CD50661ACD7B30 +:106D90006E185918FE91FEEB40685848FE98FEE7C1 +:106DA0003018EF4800780DC98FB9CE0A406A584AAA +:106DB000FE98FEDD30188F780DC98FB9E04900FECE +:106DC000FE91FED558BAFE98FED2ECC9FFFB139C8B +:106DD000138A13A8F1EA1108F1EC1088ECCBFFF844 +:106DE0008FC817AC17B81789179AF1E91188F1EA1B +:106DF0001108F1EC10888FD8CB9A6FA83089EF4B2F +:106E000000608F09FACBFFE0705A6F9C5D1AFEFAA2 +:106E100002AE302BEEFC00A4F01F00A06F1CF01F90 +:106E200000A30C99EF460044009A6EAB0E9CF01F35 +:106E300000A5C1AB30188F88FE9FFE990C9C069B65 +:106E4000F01F00A1FE90FF3B6FD85808C0906F6AFA +:106E5000580AC06074096EC81039E0800086FEFBD5 +:106E6000026A0E9C3006F01F009A6EB88F186F6C85 +:106E7000580CE08000CD5806C54078B86FBB0E9C1A +:106E80005D18EF4C006C6FB65806E08000CA6F6A60 +:106E90006ECB30188F287429FEFA02381AD91AD30B +:106EA0001ADB302BEEFC00A4F01F007C2FDDFE9FD0 +:106EB000FCF05806C4206F285C78A2B8A988A2A864 +:106EC000FE9FFEA1F0CC0004F0C20005F01F007888 +:106ED0001893FE90FEB45802C120ECCCFFFB300AA0 +:106EE00035DB1938F0C90021F6091800F9B80B5F35 +:106EF000E60A0B082FFA1432FE9BFFF53008E60273 +:106F00000B084F581AD34F5A1AD8302BEEFC00A456 +:106F1000F01F0062069CF01F00652FEDFE9FFE8FA4 +:106F200078380E9C5D18EF4C006CCAEB6FF858086F +:106F3000FE90FCAFFE9FFDAA04983FE910C9B0A6E1 +:106F4000B086B096E4C9FFFCB2B6B286B296B2A6DD +:106F50006F282F88EF480048CB0B0A9CFE9FFE85C8 +:106F60005045FE9FFE5074181033FE91FF7A7499BD +:106F70005809FE90FF766FBB0E9C5D19FE90FF7165 +:106F80003016C74B3058406CEF4800482FACF01F0C +:106F900000481896FE90FE35B89230283039B888EF +:106FA000B8C9504CF8C2FFFB50250A91C1A8661A17 +:106FB0006EB8103AC130403CF01F003FC0F0660888 +:106FC0005808C5A040285808C0913FE904C93018A6 +:106FD000502860082FF12FF8810866F35803C0602D +:106FE000660B580BCE50661ACE7B5801EFF8101284 +:106FF000E5F10E00EFF80012F7B800FFEFF80A1203 +:107000005C78ACB8A988ACA8FE9FFDFD069B6ECC51 +:10701000F01F002DEF4C0058FE90FE51C2DB6FA810 +:107020006F9C70095D196F6870291AD91AD36EC8E0 +:1070300018921AD8302B4AAAEEFC00A4F01F0017B1 +:10704000EF4600588F268F1658025F1B6EB92FDD52 +:1070500058D95F081668EC081800FE90FE30E4F876 +:1070600001605808FE91FC15E4F801685808FE908C +:10707000FE26FE9FFC0E661804C8CACB800265740B +:107080008003D7848002670C8002663C80026370B4 +:10709000800264808003D8A080023A1A800264E4EF +:1070A00080028D9C8000917C800091E8800092009D +:1070B000800091DC80023AD8800271E48003D8F02D +:1070C0008002679C800271908003D9248002634C07 +:1070D0008003D9708003D8D08003D3E48003D930F3 +:1070E000EBCD40801897580CC0E0488BF01F00088B +:1070F0000E9CF01F0008EEFC00ACF01F00070E9C79 +:10710000F01F0006E3CD80808003D9AC8002634C81 +:107110008002653C8002D298800091E8EBCD40F877 +:10712000203D1896169414931295E06C00C8F01F39 +:1071300000151897C1C033C8F946006499F8F9449E +:107140000068F94300A430CA300B1A9CF01F000EEF +:107150006A2850286A0950096A181A9C5018F01FAA +:10716000000BEF4C00AC1A961898C0500E9C2FDD07 +:10717000E3CD80F80E9C1097F01F0005CF8B000028 +:1071800080028F24800091D08002D2C4800091E8D8 +:10719000189948A8700C580CC051C0D878FC580CED +:1071A000C0A078081238CFB1781816385E0C78FC79 +:1071B000580CCF815EFD000000007AB01899489805 +:1071C000700C580CC051C0C878FC580CC09078089E +:1071D0001238CFB178181638CF81782C5EFC5EFD5E +:1071E00000007AB0189B4888700C580CC0A0189901 +:1071F000300A2FFA72F95809CFD1149897085EFC1B +:107200001898CFDB00007AB05EFDD703EBCD40E0ED +:1072100048D81896169570075807C051C0E86EF701 +:107220005807C0B06E2C0C9BF01F0008CF916E0861 +:107230008B086E1CE3CD80E030088B08109CE3CDFA +:1072400080E0000000007AB0800091A0EBCD40C04B +:1072500048B70E966E095809C0B072F88D08129C96 +:1072600072D85808C0705D186E095809CF71E3CD07 +:1072700080C0129CF01F0003CEEB000000007AB02B +:10728000800091E8EBCD40C048D66C485808C0312A +:10729000C0880E987057109CF01F000A5807CFA1A5 +:1072A0006C6CF01F000930086C3C8D68F01F000505 +:1072B0006C8CF01F0004E3CD80C0000000008C90B7 +:1072C000800091E880014544EBCD40F8495718967D +:1072D000169314946E2B12952FFB6E3CA56BF01F2A +:1072E0000012C1D06E28A568F80809066E29A569A4 +:1072F000F8090009932593146E2AF4081504F80878 +:10730000000891336E188F3C2FFA1036EFF69A0171 +:107310008F2A3018300C8FC8E3CD80F8E3CFC0F847 +:1073200000008C90800091F4EBCD404CE0634DD395 +:10733000EA1310621896F01F000DF8030648A7899B +:10734000E06A03E8F20A0248F8080109121CF20A8E +:10735000024AF80304428D1ABF5CA743E60C010CF5 +:107360008D0CE3CD804C0000800145C4EBCD408006 +:10737000202D4A076E495809C2C06E581039C29074 +:107380001A9CF01F001D6E484009700A1439C2444F +:107390007018401BF40901091618C276F00B141F6F +:1073A000E06A03E8F20A024AE0694DD3EA19106282 +:1073B000F0090448A7491619F20A000C580CE08A93 +:1073C000000E300948DA6E6BF01F000D6E488F58C2 +:1073D0002FEDE3CD80801439C030301CCF3B7018C6 +:1073E000401B103BCFB4CD7B2019F028BDC0CD7B16 +:1073F00000008C9080027328800275188001455827 +:10740000D43149A0189516931492604C580CC2B010 +:1074100030060C940C91785778480A38C09018962A +:107420000E9C5807CF91F01F0012089CD8325BF3D6 +:107430005F0A782906395F081448E2081800CF006F +:107440005BF25F0A783904395F081448E2081800D3 +:10745000CE705806E1F70A04EDF71A052FF4F01F75 +:107460000005CDFB1894CE0B00008C908002736C4D +:10747000800091E8EBCD40FC18961695149212947A +:107480001093318CF01F00211897C3A0F01F00202B +:107490006E0A6E1B0C0AEA0B000B8F0A8F1BEE5B49 +:1074A000423FE08A000B2FFAEE3B42408F0A8F1BCF +:1074B000EE5B423FFE99FFF98F248F338F423008F5 +:1074C0008F58494C78495809C1D072081438E0895E +:1074D000001A2F0CC0A8F2CCFFEC72595809C0A0BA +:1074E00072081438E0890007103ACF617218103B17 +:1074F000CF348F599907F01F0008E3CF80FCE3CF0A +:10750000C0FC2F0CCF7B000080009200800273280B +:1075100000008C908002736CEBCD40E0202D49661A +:107520001A9CF01F00166C475807C1F040096E08FE +:107530001238E089001B3005C05840096E08103928 +:10754000C1451039C0516E1940181238C0E56E5847 +:107550008D558D486E3B6E486E2C5D180E9CF01F4D +:1075600000086C475807CEA1F01F00062FEDE3CFAF +:1075700080E0000000008C9080027328800091E879 +:107580008002736CEBCD408049A76E3E580EC2B0AE +:107590006E2A580AC280E08A002B7C081838C27014 +:1075A000FCC9FFF0300BC05872082F091838C050C2 +:1075B0002FFB163AFE99FFFA143BC170201A163AB7 +:1075C000C0F0161AF60C1504A56AFC0C000C2FFB73 +:1075D000A56BFC0B000BF01F00086E2A201A301858 +:1075E0008F2A8FC8E3CD8080E3CD8080300BCE7BA7 +:1075F00000008C90800091C4EBCD406048861895C7 +:10760000334A300B0C9CF01F0007ECCCFFE88D05D3 +:10761000301BF01F0005E3CF8060000000008C905D +:10762000800091D0800144F80050F2010100000078 +:107630000000000000000000F6F800DC5808C05010 +:10764000F8F800F85808C0205EFDF6FB00D0580B93 +:10765000CFC076085808C04176185808CF602F8BE5 +:10766000CF9BD703EBCD4080300B1897F01F001352 +:10767000306A300BEECCFF64F01F0011306A300B23 +:10768000EECCFF5EF01F000E300BEEFC00E0F01FB2 +:10769000000D300BEEFC00E0F01F000BEEF800BC1C +:1076A0005828C030E3CD8080EEFC00E0300BF01FA6 +:1076B0000007E3CD80800000800217D0800091D0C9 +:1076C000800261E8800261D4800261A4EBCD408039 +:1076D0001897F8F800945808C160300BF94B0094E3 +:1076E000F8F800D470985808C040F8FC00C45D1841 +:1076F000486A302B0E9CF01F0006300A0E9C149B2B +:10770000F01F0004E3CD80808003D9D480023A1AB0 +:1077100080022584D431209D500C761558155F9831 +:107720007607169058075F1910693008F00918009D +:10773000E08000B8EEC4FFFF0989F2C6FFFE0C35F9 +:10774000E08500B010923DD33301C168E208180013 +:10775000C2800C0758155F9958075F181268E40833 +:107760001800E080009EEEC4FFFF0989F2C6FFFE0C +:107770000A36E08900960C150F88E6081800CE71CD +:10778000305AF4091800FE98FFE6EECCFFFE306A8E +:107790004DFBF01F0060C0B00F88E2081800CDA1BB +:1077A00009883019F2081800FE98FFD540080E9B92 +:1077B0000C9AF0FC00DCF01F00581897C711400A23 +:1077C000FACBFFFCF4FC00DCF01F0054C21540793A +:1077D0005809C1E040685808E0890007C19840682E +:1077E0001037C1644079EE0B1504F20B000B400911 +:1077F0003008F2FC00DC2FF71099109AF01F0048B7 +:10780000CEF14008301BF0FC00E0F01F004660465F +:10781000605558065F1958155F981069C760ECC429 +:10782000FFFF0989F2C7FFFE0E35C6F53003069249 +:107830000691C1A85802C0610D88330AF4081800E7 +:10784000C3A00E060E1558065F1858155F991268EA +:10785000E2081800C3F0ECC4FFFF0989F2C7FFFE7D +:107860000A37E08900385803CE610D883DDAF40804 +:107870001800CE113058F0091800FE98FFDD306A6C +:107880004A3BECCCFFFEF01F0023CD5140090E9A7D +:107890000C9BF2FC00DC3013F01F0023CCCB600704 +:1078A0005807CB604009300AF2FC00DC149BF01F43 +:1078B000001ACAEB09883019F2081800FE98FFC3B5 +:1078C00040080E9A0C9BF0FC00DC3012F01F0017F1 +:1078D000CB9B5803C0F05802C0B160485808C08024 +:1078E0004008049AF0FC00DC049BF01F00102F7D80 +:1078F000D83260465806CF004009300AF2FC00DC5E +:10790000149BF01F0009CE8B3002CF5B80027628DB +:107910008000917C8002B5EC8002C04C8002938094 +:10792000800255968002B58C8002B52CD431FACDF8 +:10793000009018911497586BE08B00C4FEF807482C +:10794000F00B032F580AC0A0F8F800907009739A42 +:10795000580AC0410E9BF01F01CD304B029CF01F16 +:1079600001CCE2F801185808E0810312FAC7FF942D +:10797000E2F800D470285808C4C00E9BE2FC00C492 +:107980005D18C475E2C6FF64306A0C9B0E9CF01F44 +:1079900001C1C3F0FB3800711AD8FB3900741AD941 +:1079A000FB3800771AD8FB39007A1AD9FB38007DEA +:1079B0001AD8FB390080FEFA06DE1AD9301B029C69 +:1079C000F01F01B6306A0E9B0C9CF01F01B5306AA7 +:1079D000300BE2CCFF5EF01F01B3E2FA00BC2FAD2A +:1079E000584A5F08590A5F091248C081588AE080E6 +:1079F000030C0E9B029CF01F01ACE2F80090704952 +:107A00005819E08102D5E2F800B05808E08002D0B1 +:107A1000FB3800711AD8FB3900741AD9FB3800778B +:107A20001AD8FB39007A1AD9FB38007D1AD8FB39ED +:107A30000080302B1AD9FEFA0672029CF01F0197C3 +:107A4000E2FB00B02FAD580BC040029CF01F019824 +:107A50000E9BE2FC00DCF01F0197622CF01F0196E8 +:107A6000300BE2FC00E0F01F0195300BE2FC00E07F +:107A7000F01F0193E2F800BC5828C061300BE2FC13 +:107A800000E0F01F0190301BE2FC00E0F01F018BD2 +:107A9000300BE34B00F4E2F900BC59095F0A584986 +:107AA0005F081448F6081800E0800216029CF01FD8 +:107AB0000186307B029CF01F0176029CF01F01833F +:107AC0002DCDD832580ACFD0149B7439F8FC00DC85 +:107AD000742AF01F017F2DCDD832F8FB00BC590B62 +:107AE000CF00F8F800E85858E08002355838E08BAD +:107AF0000234E2C7FF64306AFEFB05D80E9C2F8B70 +:107B0000F01F0164EE0B1710E06800A2E3D8E00B51 +:107B1000029CF01F0171E2FC00DCF01F0170FEFA14 +:107B200005BE302B029CF01F015DE2FA00BC584AF2 +:107B30005F08590A5F091248C0B1588AE08002976D +:107B400030080E9BE3480104029CF01F0157029C81 +:107B5000F01F01642DCDD832FEFA058C303BF01FAA +:107B6000014F5807E08002806E0858085F1B169A84 +:107B7000E2FC00DC301BF01F015DFACCFF94F01F2B +:107B8000015CE2F800985808E08001D541B9F2089C +:107B90000108E048003CE08A01A6E34900982DCDA9 +:107BA000D832F01F0154E08501EBE2F900907248F1 +:107BB0005828C870E2F800AC5808C831E2FA00CC86 +:107BC0001094500AE2F000D072285808E08A00A908 +:107BD000300850187218401AF00A032850585800FC +:107BE000E08A0097400530020A96C11808973003D2 +:107BF00030142FF2ECC6FF6404305F983009E9E8D6 +:107C00000008F2081800E08000970E940C9B029C7C +:107C10000C93F01F0139C05078385818FE99FFE8CE +:107C20006D585808C051ECF800805808CE004059F3 +:107C30005809CDD0ECC8FFFAECCAFFA8ECC9FFD4B4 +:107C40005048502A50394057C0486E175807CCF05A +:107C5000EEF801945808CFA16CAA6E58103ACF6183 +:107C60006E4B404CF01F010BCF116E885808E0811D +:107C700000E16F6AEDBA0001C061ECFB0080580BB7 +:107C8000E08100E3F1DAC001300AF4081800CDE029 +:107C90006D5B580BCDB0FACAFF94403CF01F011742 +:107CA000CD516F6841B91268CD106F3841C9126863 +:107CB000CCD06F4841D91268CC906F5841E9126816 +:107CC000CC5058065F04C96B149BF01F00F02DCDFB +:107CD000D832149B2EACF01F010A1896FE91FEF2CA +:107CE0006F9B580BE080012A581BFE91FEEBE34B83 +:107CF00000D8029CF01F00FB622CF01F01028326BB +:107D0000CE0A5803E08100BF0E94E2F900904018BB +:107D10002FF850187228401A103AFE95FF5DE2F8CD +:107D200001085808E0800121029CF01F00F7E2F9E9 +:107D30000090C4BB5804CE600E923006C108049770 +:107D4000089930032FF6EAC5FF640C305F98F3E81A +:107D500000083009F2081800CD500E920A9B029CD0 +:107D60000A93F01F00E5C05078385818FE99FFE9D3 +:107D700040585808CE50EACAFFFA4057506AC078B7 +:107D80006AA8103AC5006E175807CDA0EEF8019406 +:107D90005808CFA16E5A580ACF416E885808C1E1E1 +:107DA0006F5BEDBB0002C040EDBB0003CED1F1DB49 +:107DB000C002C0806B585808CE71EAF8008058089D +:107DC000CE31EEF8014C5808C110EB190088EDB91E +:107DD0000001CDA058055F09CB6B306AEECBFFE800 +:107DE0000A9CF01F00ACCD01CDCB1099EEC8FECCA3 +:107DF0002FF9700A580AC2612FC85849CFA1EDBBAC +:107E00000003C071EEF800F0F1D8C002F9BA010128 +:107E1000EB190088EDB90004C030580A5F0A580A0F +:107E2000CB30CD6B6E4B406CF01F009ACAD1CB6B40 +:107E3000306AEECBFFE80C9CF01F0096FE91FF0726 +:107E4000C19B301ACDDBFACAFF94402CF01F00AB67 +:107E5000C0306F6AC18B6F6A41B8F5E80008FE90C8 +:107E6000FF136F3841C91268FE90FF0E6F4841D969 +:107E70001268FE90FF096F5841E91268FE90FF04F6 +:107E8000C21BE2F800A85808C131306AE2CBFF6497 +:107E9000069CF01F0080C170E2F800E85838C081ED +:107EA000306AE2CBFF5E069CF01F007AC0C00E9BDA +:107EB000029CF01F007FE08100B50E9A069B029C99 +:107EC000F01F0092009A400BE2FC00DCF01F0090D3 +:107ED000FE9FFDF8169A029C30ABF01F008EFE9FAD +:107EE000FDEE3017FEFA0230303B029CE34700946F +:107EF000F01F006AE06B2710300CF01F0088E2F8DA +:107F000000D470985808C0500E9BE2FC00C45D1865 +:107F100030EB029CF01F0082300A029BFEFC020440 +:107F2000F01F0081300802994FEA109B33CCF01FFC +:107F3000007F41B9FE9FFE33E2F800D85808FE905A +:107F4000FDC1E34B00D8029C301BF01F0079FE9F5F +:107F5000FDB9582BC780E07A86A0300B029CF01F39 +:107F60000075FE9FFDC8305BE2F801105818C7206D +:107F7000029C300AF01F006FFE9FFDA4E2F9009002 +:107F800072485828FE90FD9E301BCEFBFAC7FF9426 +:107F9000E2C6FF64306A0C9B0E9CF01F0041E2F8C1 +:107FA00001185808FE91FCF8FE9FFCE4029CF01FAB +:107FB00000621896C230F8FB0194580BC1F1795851 +:107FC000E2180013C351189B029CF01F005CE2F8FA +:107FD00000B05808C0701036C050E2FC00E0F01F3E +:107FE0000058E2FC00DC0C9BE34600B0F01F00559B +:107FF000029CF01F0055FE9FFD0D029C303BF01FC0 +:108000000053FE9FFD5FE2F800B05808FE90FCF3BD +:10801000F0F800F0F1D8C002FE91FCEDFE9FFCEFFD +:10802000029C300A30ABF01F0043FE9FFD4B350928 +:10803000FAC8FF70189A10D9029CFAC9FFE4F01F21 +:108040000044CC6B4C3AF01F0015E2F800E8FE9FAC +:10805000FD4F72485818F9B80002E3F80A44F9BB1A +:108060000000C87B0E9BFE9FFD84E2F800B058081C +:10807000FE90FD68F0F800F0F1D8C002FE91FD62BC +:10808000FE9FFD678003D9B880027714800217D065 +:108090008000917C8003D9F880023A1A800091DC3C +:1080A000800091D0800226948003DA3880027638EE +:1080B0008002BA4C80028172800261E8800261D441 +:1080C000800261A480021CE080021DB88002979C9F +:1080D0008002762880021AE08002BA1C8003DAA8A7 +:1080E000800276648003DAE48002D19C80028F549F +:1080F00080021E84800218F88002BD68800091A072 +:10810000800281748002189C800230DC800298A476 +:108110008002246C8003DB0480028F1C800228D83C +:10812000800276CC800274008002747480022794EE +:10813000800225848002195C800222A480025748B4 +:108140008002B9D48002237080022FCC80021F30BD +:108150008003DA68580C5E0E5E1DD401201D3008C5 +:10816000767C3009BA881A9A7668129B5D182FFDC2 +:10817000D8025EFCEBCD40801897580CC090789CDC +:10818000580CC035F01F00040E9CF01F0004E3CD16 +:108190008080000080027584800091E8EBCD40F87B +:1081A0001896129510944063328CF01F000B1897AC +:1081B000C0F00C9B311AF01F00093FFC8F658F74D3 +:1081C0008F838F9C30090E9A485BF01F00060E9C2F +:1081D000E3CD80F880028F24800091AC8002815A28 +:1081E000800272C8D4011698306AF8CBFFEF109C59 +:1081F000F01F0002D80A0000800091DCD431213D3C +:1082000076FE511E760A503A761950497628505813 +:10821000763E506E764A507A7669508976785098D4 +:10822000768E50AE769A50BA76B950D976C850E864 +:1082300076DE189850FEF8C9FFF876EA510A7654AF +:1082400076AB500C5019E02BA44F50CB110EF8CB4D +:10825000FFF45008512E403A700340487205502BED +:10826000E069A478EA19D76AFC0900091409760ABA +:10827000E06BB756EA1BE8C7F40B000B100BF5E5F3 +:108280002008066814581009E06870DBEA182420FA +:10829000EBE3200AF20E1507FDE9139E060EFDEA38 +:1082A000000A0A5A1005140BFDE32008F606150C07 +:1082B000EDEB13461C06EDE800080658405AE0694D +:1082C000CEEEEA19C1BD14051005EDEE2008EA0B4B +:1082D0001511F7E512FB0C0BF7E800081C58120308 +:1082E0004069120310034078E6051516E0690FAFE8 +:1082F000EA19F57CEBE312A5F00900091605F7E68B +:108300002008EBE800080C581C091009EBEB2008CA +:10831000F2031507E7E913930A03E7E80008165884 +:10832000E06AC62AEA1A4787E80A000A0C0A100A15 +:10833000E7E52008F402150CE5EA13420602E5E839 +:1083400000080A58408EE0694613EA19A830FC0973 +:10835000000916091009E5E32008F2061511EDE9F8 +:1083600012F60406EDE800080658409AE06B950105 +:10837000EA1BFD46F40B000B0A0B100B40A840C98A +:10838000F60E1516FE395BB1FDEB12AEE06A98D819 +:10839000EA1A69800C0E40BBF00A000AEDE22008E0 +:1083A000FDE80008045840C1060A50C9100AE069F7 +:1083B000F7AFEA198B44FDE62008F6090009F40B33 +:1083C0001507F7EA139B1C0BF7E800080C58F7EEAB +:1083D000200A0C0104091009F206150CEDE91346F8 +:1083E0001606EDEB2008EDEA000A1C5A1401E2051E +:1083F0001511EBE112F50C05EBE80008165840DA10 +:10840000E069D7BEEA19895CF40900091C09100962 +:1084100040E8F20E1516E06A1122EA1A6B90FDE9A7 +:1084200012AEF00A000A0A0EEBE62008160AFDE872 +:10843000000840FB0C58E0697193EA19FD98100A96 +:10844000F6090009FDE52008F40B1507F7EA139B70 +:108450001C0BF7E800080A580C0910094108F2063D +:10846000150CE06A438EEA1AA679EDE91346F00A84 +:10847000000A1606F7EE2008EDE800081C580A0A64 +:10848000100A4118F4051511E0690821EA1949B4E8 +:10849000EBEA12F5F00900090C05EDEB2008EBE81A +:1084A000000816581C091009F2031516E7E912A373 +:1084B0000A03E7E520080C680A58404EE06A256286 +:1084C000EA1AF61EFC0A000A160A408B100A40D867 +:1084D000F40E1505E069B340EA19C040FDEA13BE89 +:1084E000F6090009060E403B0C09E0665A51EA16EF +:1084F000265EF0060006FDE320080A68065810090B +:10850000E062C7AAEA12E9B6F6020002F20B150908 +:10851000F7E9137B41191C0BF7EE200806681C587D +:108520000A0606021006E063E681EA13D8A1F20308 +:108530000003EC09150EF3E613291609F3EB2008E6 +:108540001C68165840CA10024078E065105DEA15B4 +:10855000D62FE0611453EA110244E8050005F40146 +:1085600000011C051601E40A1514E06EFBC8EA1EA2 +:10857000E7D3F5E212CAF00E000E120AF5E9200860 +:10858000166840BB125812031005E066CDE6EA16E5 +:1085900021E1F6060006EA0B1505F7E513BB140BFF +:1085A000F7EA2008126841091458E06507D6EA1571 +:1085B000C3371001F2050005E2091509F3E113794B +:1085C0001609F3EB20081468165810034068140EBF +:1085D0001606E60A150EE0620D87EA12F4D5F5E3F9 +:1085E000132AF0020002120AF5E92008166840ABCF +:1085F00012581205100EE06314EDEA13455AF60303 +:108600000003FC0B1514F7EE12CB140BF7EA20084D +:10861000126840F91458E061E905EA11A9E310066F +:10862000F2010001EC091505F3E613B91609F3EBA5 +:10863000200814681658100540581402E066A3F884 +:10864000EA16FCEFEA0A1509F0060006F5E5137ACA +:10865000120AF5E9200816681258409E1002160307 +:10866000E40B150EF7E2132B140BF7EA200812683F +:108670001458E06502D9EA15676F1003FC05000580 +:10868000E60E1514FDE312CE160EFDEB200814685D +:1086900016581201100140A840E91406E060F68166 +:1086A000EA108771E20A1505F0000000F5E113BA3F +:1086B0001C0AF5EE200816681C58E0624C8AEA1283 +:1086C0008D2A1006F2020002EC091509F3E613796F +:1086D0001409F3EA20081C681458160540DB10053D +:1086E0004108E434C6BEE0616122EA116D9DE80AEA +:1086F0000007F6010001E066380CEA16FDE5F00619 +:108700000006EA08150EF1E513281208F1E9200B1E +:10871000F7EA000A125A1C021402407A404E120074 +:108720001001E063CFA9EA134BDEF4030003E40A6F +:108730001514F5E212CA100AF5EB200BF5E8200833 +:10874000EE0B000BF6091504F3EB13C914091258CC +:1087500014061000F3EA200AE065EA44EA15A4BE14 +:10876000E008150BFC050005F1E01358120512088E +:10877000105A10031401F1E92009E20B1510F7E17A +:10878000130B100B1659F7E820081206EC0E1517FC +:10879000FDE6129E160E1C5810054098FDEB200AAF +:1087A000EA061504E0694B60EA19F6BBEDE513C66D +:1087B000F00900091C0616090C5AEDEE20081403F6 +:1087C00040CBE605150BEBE313550C050A58E06AA0 +:1087D000BC70EA1ABEBF1009F60A000AEBE62008D0 +:1087E000F20B1510F7E9130B0A0B16581C0A100AA6 +:1087F00040F8F40E1517E0697EC6EA19289BFDEAD9 +:10880000129EF0090009160EF7E520081C580C0905 +:1088100010094038F2061504E06A27FAEA1AEAA1BC +:10882000EDE913C6F00A000A1C06FDEB20080C58FF +:108830000A0A100A4068F405150BE0693085EA1948 +:10884000D4EFEBEA1355F00900090C05EDEE200812 +:1088500016090A58408B1009E06A1D05EA1A0488B7 +:10886000EBE62008F60A000AF20B1510F7E9130BE5 +:108870000A0B16581C0A100A40B8F40E1517E069C6 +:10888000D039EA19D9D4FDEA129EF0090009160E72 +:10889000F7E520081C580C09100940E8F2061504F9 +:1088A000E06A99E5EA1AE6DBEDE913C6F00A000A88 +:1088B0001C06FDEB20080C580A0A100A4118F405A2 +:1088C000150BE0697CF8EA191FA2EBEA1355F009D1 +:1088D00000090C05EDEE200816090A58405B100946 +:1088E000E06A5665EA1AC4ACEBE62008F60A000A0C +:1088F000F20B15101C0AF7E9130BE0692244EA1980 +:10890000F4290A0B1658100A4032F40E15171202F9 +:10891000FDEA129EEA0811FF160E409AFDE81008C3 +:10892000E069FF97EA19432A1658F40900090A0971 +:108930000C0241061002F60811FFE40A1506F5E2E2 +:1089400013AA1C0AF5E810081C58F2080005E06993 +:1089500023A7EA19AB941206FC0811FFEC0B000BDD +:10896000EA06150AEDE513661406EDE8100814583A +:10897000F6080008E069A039EA19FC93F00B150F1E +:10898000FA243942F7E8131BE80900050C0BEA0E3C +:10899000000EF40811FFF7E810080C58E06959C3FD +:1089A000EA19655BFC08000540E2EA0E15151202A3 +:1089B000FDE512BEEC0811FF160EFDE81008165872 +:1089C000E40A000AE069CC92EA198F0CF40800026C +:1089D0004068F00900090C09E40A1506F60811FFC1 +:1089E000F5E213AA1C0AF5E810081C58F208000268 +:1089F000E069F47DEA19FFEF40C1FC0811FF1201A4 +:108A0000E406150AE20B000BE0695DD1EA198584E2 +:108A1000EDE213661406EDE8100814584045F60818 +:108A200000011205E20B150FEA0E000EF7E1131B11 +:108A3000F40811FF0C0BE0697E4FEA196FA8F7E804 +:108A4000100840A30C581203E60A000AFC080005AF +:108A5000EC0811FFEA0E1515FDE512BE160EFDE835 +:108A600010081658F4080003411AF60811FFE069CF +:108A7000E6E0EA19FE2CF4090009E60A15060C09DD +:108A8000F5E313AA1C0AF5E810081C58F2080003C5 +:108A90004088E0694314EA19A301F00900091609A6 +:108AA000FC0811FF40FBE605150AEBE3136514050E +:108AB000EBE810081458F2080008E06911A1EA195F +:108AC0004E08F6090009F20E000EF006150FE069D7 +:108AD0007E82EA19F753EDE81316F40811FF0A062F +:108AE000EDE810080A58FC080001407E120EEA0862 +:108AF00011FFFC0A000AE20E1515FDE112BE0C0E74 +:108B0000FDE810080C58F40800094128F20A15067F +:108B1000F5E913AA1C0AF4080009E068F235EA181E +:108B2000BD3A990940D91009EC0811FFF205000B74 +:108B3000F5E8100840091C58720CF6080001E069BD +:108B4000D2BBEA192AD740581208E20B150AF006E0 +:108B50000009F7E1136BFC0811FF140BF7E810088C +:108B60001458F208000640B8E069D391EA19EB8680 +:108B7000F0090009F20E0008F40A11FF400EEC099A +:108B8000150FF3E613191609F20C000CF3EA100A9C +:108B9000165AF00A0006EC081515F1E612B8100C8A +:108BA0009D0C401A7408120895084028700916098F +:108BB00091092EDDD832D703EBCD40E03809764855 +:108BC000F1D8C066F608000AF56900181895F00A91 +:108BD000113F1697F6080008F0CCFFE7587AE08BB3 +:108BE0000056300BF01F002DEEC6FFE8EECCFFA8BC +:108BF0000C9B1798178917BAF3E8108917A8F1EAA0 +:108C00001088F3E8110916A9183BCF410C9B0E9C64 +:108C1000F01F0023338A300B0C9CF01F00200C9BAC +:108C2000ECCCFFC81798178917BAF3E8108917A872 +:108C3000F1EA1088F3E8110916A9183BCF416E48F4 +:108C40006E590C9B0E9CEF480050EF490054F01FEA +:108C500000140E9BEECCFFF01798178917BAF3E8B3 +:108C6000108917A8F1EA1088F3E8110916A9183B32 +:108C7000CF410E9B0A9C310AF01F000A0E9C304A1D +:108C8000300BF01F0006E3CD80E0208A300BEEC6EB +:108C9000FFE8F01F0002CC4B800091D0800281FCE5 +:108CA000800091DCEBCD40FC1493784AF40300384B +:108CB000103AF9F98005F9F9B005F7B90BFFF9F9A0 +:108CC000BA059948E608161DF20800089958189444 +:108CD0001692F1DAC066C381F8C5FFE8E043003FB1 +:108CE000E088002C3006EAC7FFC0E406000B340A17 +:108CF0000A9CF01F00290A9B1798178917BAF3E8F6 +:108D0000108917A8F1EA1088F3E8110916A90E3B9B +:108D1000CF410A9B089CF01F00212C06E6060108A3 +:108D2000E048003FFE9BFFE3E6C80040E7D8C006EE +:108D3000E018FFC02C081002069A049B0A9CF01F42 +:108D40000016E3CD80FCF00711402E88100C0E3386 +:108D5000C1D30E9AF01F0010E8C5FFE8E8CCFFA8C9 +:108D60000A9B1798178917BAF3E8108917A8F1EA30 +:108D70001088F3E8110916A9183BCF410E130E0213 +:108D80000A9B089CF01F0005CAAB069AF01F000260 +:108D9000E3CD80FC800091DC800281FCEBCD40FCC7 +:108DA000216DE0682301EA186745E06EAB89EA1E91 +:108DB000EFCD30075008501EE068DCFEEA1898BA84 +:108DC000E06E5476EA1E1032504750575028503EFD +:108DD00018931292580CC140149416951A962FF7B6 +:108DE000090A0B0B1A9CF01F00080E33FE9BFFF9BB +:108DF0001A9B049CF01F00052EADE3CD80FC1A9653 +:108E0000CF8B000080028CA480028BB8D431FACDC5 +:108E10000088501C500B14931292109142B0585A73 +:108E2000E08B0056E04B0040E08B0054FAC4FFF8A2 +:108E3000340A300B089CF01F002E400A401B089C8F +:108E40000896F01F002CFAC5FFB808970D88EC189B +:108E500000360CC80A36CFB1340851845128580363 +:108E6000C110FACCFF9CFACBFFB4300AE60E150213 +:108E7000E40A030818A8E20A030916A92FCA1C3A33 +:108E8000CF81E6CCFFFF00990A9AFAC3FFA0069BA8 +:108E9000F01F0019340A300B089CF01F0015400A1F +:108EA000401B089CF01F00130F88EC18005C0EC8D4 +:108EB0000C37CFB1310C3408513C5184519000999A +:108EC0000A9A069B5128302CF01F000B2DEDD8324A +:108ED000FAC6FF881A9A0C99FACBFFFC301CF01FD7 +:108EE0000006310850165008CA2B0000800091D0AF +:108EF000800091DC80028D9CD401202D501A5009F5 +:108F0000301A1AD8FAC9FFF8FAC8FFFCF01F00039C +:108F10002FFD2FEDD802000080028E0C5EFC5EFE5D +:108F20005EFCD703EBCD40C01896F01F00061897E3 +:108F3000C0500C9A300BF01F00040E9CE3CD80C093 +:108F400080009200800091D0D401F01F0002D80A66 +:108F500080014600D401F8CBFFFCF01F0002D80AC4 +:108F6000800145D4780C580C5E0C3008F948004C50 +:108F7000780C580CCFC15EFC580CF9FC10435EFC19 +:108F8000580CF9B80100F9F81A435EFCEBCD40E04B +:108F9000189716961495314CF01F0005F9F71A032F +:108FA000F9F61A04F9F51A02E3CD80E080028F2465 +:108FB000EBCD40E01696149578075807C160580627 +:108FC000C080306A0C9BEECCFFC0F01F000AC0A12D +:108FD0005805C0B0EECCFFFC310A0A9BF01F00051B +:108FE000C0406E075807CEC10E9CE3CD80E0000064 +:108FF0008000917CEBCD4040781820181696991887 +:10900000784B78390C9C5D190C9CF01F0003E3CD64 +:1090100080400000800091E8EBCD4080202D300A98 +:109020001897189B49BCF01F001C300A0E9B49BCC6 +:10903000F01F00196E085808C2201A9CF01F001873 +:109040006E08400A70EC0E993008141C109BF8084A +:109050000C4C490A2FFCF01F00136E2BF6FA010C82 +:10906000580AC1006E08400A712C0E99141C300871 +:1090700048AAF8080C4C109BF01F000A2FEDE3CD16 +:109080008080F6CBFEB80E9CF01F0007CF80CEBBD1 +:10909000800290E4800274008002913080028F543C +:1090A0008002747480028FB0EBCD40C01896580CCB +:1090B000C1407809300899085809C031C0880E9914 +:1090C0007207129CF01F00065807CFA10C9CF01FDE +:1090D00000050C9CF01F0002E3CD80C0800091E8E9 +:1090E00080029018EBCD4080202D18971A9CF01F1D +:1090F000000E6E0A580AC0C1C1087408149B8F087C +:10910000300A0E9CF01F00096E0A580AC06074E90C +:1091100040081039FE9AFFF30E9CF01F00052FED5A +:10912000E3CD808080028F5480028FF480029018FB +:10913000D4013008782AF548010C7829F2FC0104A2 +:10914000F01F0002D8020000800255ACD43120CDBF +:109150001096782814941293E04A00205FBAF0F930 +:109160000160189758295F18169241511448C05051 +:1091700030060C9C2F4DD832354CF01F00621890F1 +:10918000CF80089A049B2ECCF01F005F81D4FAC9CF +:10919000FFE450965083FAC5FFF84DC81AD5303A0F +:1091A000089B049C4DA65086F01F005AE0C8FFFCA7 +:1091B0000A9B5018310A109CF01F0053FACCFFD4C0 +:1091C000F01F0055E0C8FFC0502840BC6E29F2F8DF +:1091D0000150F808000881E86E2AF4FB0150F4F908 +:1091E0000154E06A851FEA1A51EBB739F20A0648C2 +:1091F000301AA599180981FAE1490048306A402CD3 +:10920000069BF01F0041E141004C2FFD6E06580601 +:10921000C2903005C0680C956C0C580CC58018962F +:10922000ECCBFFC0306A069CF01F003CCF516CD8DD +:109230000838C5505805EDF80000EFF80A00EDF8C1 +:109240001000EBF81A006E29F2F8010C0C38F9B88E +:109250000000F3F80A430C9B301A0E9CF01F0030FC +:109260006E066E1859F8E08A00155806C3200C9A4D +:1092700015088F086E28F0F90128ECCBFFC0720C9E +:1092800072F85D180C9B300A0E9CF01F00256E06CC +:109290005806C1F060EA6CE8103AC074C1A872E8E0 +:1092A0001438E089000612966C095809CF9181099B +:1092B0008D006E2C6E18400A401B2FF88F18F8F99D +:1092C00001280096720C72E85D18C54B6E06CCAB97 +:1092D00081068F000E9CF01F0013CECB089A049BD2 +:1092E000ECCCFFECF01F000DCA61310A400BECCC56 +:1092F000FFFCF01F000AC9F1009CF01F000BC3AB7C +:1093000080028F24800091DC8003DB248003DB9CBF +:109310008002B14480028F548000917C80028FF4DF +:1093200080029018800091E8EBCD4080189E78076D +:10933000580BC06116970E9CE3CD80806E075807CE +:10934000CFB06F381638CFB11AD814997C286EDA9E +:10935000F0C8FEC8EECBFFEC1C9CF01F00092FFDEF +:10936000580CF8071700EFF8100EF9F81A0EF80766 +:109370001710F9B80101F9F81A14CDEB8002914CDD +:10938000EBCD40FC1897300CEF4C010C1496129268 +:109390001094EEF50108580BC080169A189B0A9C91 +:1093A000F01F0016EF4C010C58065F13EEFC010C89 +:1093B000580C5F09F3E30008C16158045F18F3E833 +:1093C0000008C0A05803C0800C9A049B0A9CF01FA0 +:1093D000000CEF4C010C580CF9BC00FFF9BC01006B +:1093E000E3CD80FC300A0C9B0A9CF01F00045F094F +:1093F000EF4C010CCE3B000080028FB0800293281E +:109400000000000000000000EBCD4080580CC100BF +:10941000F8F901103008F94801105809C031C08826 +:109420000E997207129CF01F00045807CFA1E3CDDC +:1094300080800000800091E8EBCD40C01897580C68 +:10944000C250F8F801245808C210189B300A491C71 +:10945000F01F0011EEFC0124F01F00103006306AEE +:109460000C9BEF460124EECCFEE4F01F000DEEFC59 +:109470000114F01F000CEF460114EEFC0118580C0B +:10948000C050F01F0008EF460118E3CD80C0000077 +:109490008002996880027400800256EC800091D0AE +:1094A00080028174EBCD40F8205D189716951494D6 +:1094B000F8F601245806C0503FFC2FBDE3CD80F8DC +:1094C000F8FA012817D81AD817C91AD917B81AD80C +:1094D00017A91AD917981AD81789301B1AD9740CDA +:1094E0004C6AF01F0047EEC3FEC81AD60E984C59BE +:1094F000E06A88C7069BEEFC0140F01F0043EF4C7A +:1095000001142F9D580CC6F0EEFC0144580CC0E02D +:109510001AD6069B0E984BB9E06A88C7F01F003A2E +:10952000EF4C01182FFD580CC5E0340CF01F00372C +:109530001896C5B0EEF8012870099909EEF80128CF +:109540003019700A4B2899199928994A99374B185C +:10955000EEF9012C998899599967EEF8012871095B +:1095600099A9EEF80128711999B9F01F002BEF4C59 +:109570000124C3D0314A300B1A9CF01F0028EEF9A9 +:1095800001305804E9F8105FFBF81A03300650293F +:109590001A9A089B50165006EEFC0124F01F00207A +:1095A000306830593FFAEEFC0124149BF01F001D77 +:1095B000306A0A9BEECCFEE4F01F001B301BEEFC71 +:1095C0000124F01F001A301BEEFC0124F01F0018CC +:1095D0000C980E99497A0C9BEEFC0158F01F00166E +:1095E0000C9CC6CB3FECC6AB3FCCC68B0C9CF01F93 +:1095F00000133FDCC63B00008003DBA880023A1A60 +:1096000080029AF08002819C80028F2480029A243A +:10961000800299C48002609C800091D08002581C16 +:1096200080025564800091DC800261D4800261E890 +:109630008002996880027474800091E8EBCD40FC50 +:109640001897F8F801105808C6F0F8F801284CAA45 +:10965000700C301BF01F0049EEF801245808C0A020 +:10966000EEF801284C6A700C301BF01F0044E3CD6B +:1096700080FCEEF801605828CF41EEF80128700C0C +:1096800070295D19587CCED1EEF8016C5818CE9136 +:10969000EEF501105805C410EEC2FEB8EAC3FFFC97 +:1096A000300A069BEEFC0108F01F0036306A189461 +:1096B000069B049CF01F0034C0605804C3706948C6 +:1096C0005808C341EB3800091AD8EB3800081AD8FB +:1096D0000BF81AD80BE8EEF601281AD80BD91AD9CC +:1096E0000BC84AAA1AD8301B6C0CF01F00242FADEF +:1096F0005804C090EEF90128E8CAFFFC069B720CE2 +:1097000072E85D186A080A9CEF480110F01F0020FB +:10971000EEF501105805CC31EEF8012849DA700C4D +:10972000301BF01F0016E3CD80FCEB3800091AD87F +:10973000EB380008EEF601281AD80BF81AD80BE817 +:109740001AD80BD91AD90BC8493A1AD8301B6C0C45 +:10975000F01F000A6A08069BEEFA0134EF48011078 +:109760000E9CF01F000E0A9CF01F00092FADE3CDE8 +:1097700080FC00008003DBEC80023A1A8003DC14DA +:1097800080028FB08000917C8003DCA0800091E893 +:109790008003DCFC8003DC4C800294A4EBCD40F819 +:1097A0001695189414931297F8FB0134580BC05077 +:1097B000F6F801485808C5D15807C4C0E8F60110AA +:1097C0005806C4A03007C0680C976C0C580CC440F5 +:1097D0001896306A0A9BECCCFFFCF01F002CCF518E +:1097E0005807EDF81000EFF81A00EDF80000E9F85E +:1097F0000A44E04303E7E08A003BE8FA0110580A14 +:10980000C4006C3B74381638C065C3B8723816385B +:10981000C054129A74095809CFA18D0995061AD31C +:109820000BD80B8CE8F601281AD80BC91AD90BB83B +:109830001AD80BA91AD90B98495A1AD8301B1ADC16 +:109840006C0CF01F0014089CF01F00132F9DE3CD3B +:1098500080F8E3CD80F8310CF01F00101896C0F0AE +:10986000306A0A9BECCCFFFCF01F000D8D33CC6BF3 +:109870000A9AF8FC0108F01F000BC9FBE3CD80F841 +:109880008D0AE9460110CCCB8000917C8003DD2459 +:1098900080023A1A8002963C80028F24800091DC7C +:1098A00080029328EBCD40F8208D169414971895DC +:1098B000F8F801345808C470F01F0027EEC6000104 +:1098C000C426E068009C1A93EC080248E8080007E8 +:1098D000EAC4FEB8C0682016EEC7009C5806C3351F +:1098E000EAF901346EAA7258103ACF61724BEECC8D +:1098F000FFFAF01F001ACF01306A089B0E9CF01F80 +:109900000017CEA0EEFB0080580BCE601A9AEECC6A +:10991000FFA8F01F0013CE01189A0E9BEAFC010865 +:10992000F01F0010C13079485808CD604048EDB8AC +:109930000000CD213019E06A03E80E9B0A9CF01F5D +:10994000000ACCAB2F8DE3CD80F84048F3D8C0019E +:10995000CF3B0000800294088000917C8002BD68AB +:1099600080028FB08002979CEBCD4060F9380121D6 +:10997000F8F501281AD8F93901201AD9F938011F48 +:109980001AD8F939011E1AD9F938011D1AD8F9392E +:10999000011C489A1AD9302B18966A0CF01F000740 +:1099A0000C9CF01F00070C9CF01F00062FADE3CDB0 +:1099B000806000008003DD6C80023A1A80029438D7 +:1099C0008002963CEBCD40E0201D1897F8F801147A +:1099D0005808C0613FF60C9C2FFDE3CD80E0F8F8FD +:1099E0000128300C5C791ADC5C5B700C70D6FAC80C +:1099F000FFFC5D162FFD1895580CCED01899400825 +:109A0000E06A88C7EECBFEE4EEFC0114F01F000410 +:109A100018960A9CF01F0003CDFB000080028154C1 +:109A2000800091E8EBCD40E0208D14971896580BFC +:109A3000C2614A781AD8EEF60128EF3801211AD807 +:109A4000EF3901201AD9EF38011F1AD8EF39011E5A +:109A50001AD9EF38011D1AD8EF39011C49DA1AD981 +:109A6000302B6C0CF01F001C0E9CF01F001C0E9C79 +:109A7000F01F001B2F9D2F8DE3CD80E01A95320A39 +:109A80001A9BF01F0018C1211A9B320AEEF801340C +:109A90008F8A1AD8EEC9FEE4EEC8FEC8EEFC0108B3 +:109AA000F01F001149182FFDCC6B0C9C310A1A9B3A +:109AB000F01F000CC090EEF8012848DA700C302B33 +:109AC000F01F0005CB7B1A9B310ACE1B8003AD2C07 +:109AD0008003DE1880023A1A800294388002963C95 +:109AE000800257CC8002914C8003DDB48003DDCC32 +:109AF000EBCD40F81897169514931294F8F80124BA +:109B00005808C090F8C6FEE4306A48BB0C9CF01FB1 +:109B1000000BC031E3CD80F80C9C306A0A9BF01F2B +:109B20000007CF910899069A0A9BEEFC0124F01FCA +:109B30000004CF1B800294008000917C800261FCB5 +:109B4000EBCD40F8FACD01001293109418961697B9 +:109B5000149530081A99F2080B082FF8E048010014 +:109B6000CFB1300E1A9C1C9BEC0B0709198AFC0A1A +:109B700000081208FAC9FF00FDD8C0081C09F33814 +:109B8000FF0018C8F36AFF002FFBFAC8FF000E3B66 +:109B9000F9BB0200103CCE915805C4C0300E1C9792 +:109BA0001C9CF8C8FFFFFACAFF00F9D8C008180AC1 +:109BB000F53BFF00F60E0008FAC9FF00FDD8C0080B +:109BC0001C09F338FF00F568FF00F36BFF002FF767 +:109BD0000E35FE9BFFE85804C2A006963007F8C871 +:109BE000FFFFFACAFF00F9D8C008180AF539FF00CC +:109BF000F20E0008FACBFF00FDD8C0081C0BF738A6 +:109C0000FF00F568FF00F769FF00F538FF00100955 +:109C1000F3D9C008FACAFF00120A0D89F538FF000F +:109C200012580CC82FF70E34FE9BFFDB2C0DE3CD32 +:109C300080F80A9E0A9CCD0BD401129E16981899A2 +:109C40001C9B149C300AF01F0002D80280029B402B +:109C500000000000D431FACD0180340AFAC4FEC0FD +:109C6000510C089CF01F04BF688A516A689950A97A +:109C700068A8509868B65086684568216830416683 +:109C800050E5685250D2686A50CA687950B968087D +:109C90005158E3E8200868D50C580A586812F00AB1 +:109CA000150150F2F5E813FA517A68E868F640E5D4 +:109CB00040A9105940980C580A5802580059F00A07 +:109CC00015010459F5E813FAF20215014178E5E9A6 +:109CD00013F2519A518240C54089105968C80458FE +:109CE00040E20A58045840D6F00A15010C59F5E82C +:109CF00013FA005951AA419840B640D5416240CA72 +:109D0000F2071501EFE913F768D9105968E80E5802 +:109D1000045814580C590A59F0051501F20615019A +:109D2000EBE813F5EDE913F640B851C551B641A281 +:109D300068F940AA416504591459105941780C58E2 +:109D400040960C580A58F2021501F00A1501E5E98F +:109D500013F2F5E813FA41C851EA51D2408640A502 +:109D6000409A418910594198045868C204581458BF +:109D70000C590A59F0051501F2061501EBE813F527 +:109D8000EDE913F6408851F6520541E268DA68C5FC +:109D9000EFE220091459105941A80C5868E60C58F4 +:109DA0000A58F2021501F00A1501E5E913F2F5E887 +:109DB00013FA52124208522A41B968F668D568EA85 +:109DC000105941C804584172045814580C590A5982 +:109DD000F0051501F2061501EBE813F5EDE913F6B0 +:109DE0005245523668F84222418A417541D9045998 +:109DF0001459105941E80C5841960C580A58F2026F +:109E00001501F00A1501E5E913F2F5E813FA4248E5 +:109E1000418641A5525241F9105942080E59045841 +:109E20000C5941920A580458526AF20A1501F5E990 +:109E300013FAF0091501F3E813F9426841B641C578 +:109E400041A2527A52894219105942280C59145889 +:109E50000E590A580458F20A1501F5E913FAF009E7 +:109E60001501529AF3E813F9428852A941D641B537 +:109E700041E2423910594248145841CA0458145812 +:109E80000C5941FA0A59F0051501F2061501EBE8E3 +:109E900013F5EDE913F641D852C542A241E552B699 +:109EA00042590459145942CA105942680C58420682 +:109EB0000C580A5841F6F20E1501F0021501FDE9A1 +:109EC00013FEE5E813F2421942781458420A42257B +:109ED000125842890C581C59F00615010A59EDE830 +:109EE00013F61459F20A1501F5E913FA0C951493B7 +:109EF000423952E652FA4216424A52D24298045825 +:109F0000125842A90C580A5942261459F00A150150 +:109F1000F5E813FA0C59530A1496F2081501425A3F +:109F2000F1E913F84239109C531842B806581458F6 +:109F3000426A125842C90C591459424A1459F00A3B +:109F40001501F5E813FAF2081501F1E913F8109B71 +:109F500053384278FDEC20091059425810595019D5 +:109F60004289E5EA200812584269125840195008FF +:109F70004018A178F1E913F8400953484008A17846 +:109F8000F1E913F853584298EBEB20091059427845 +:109F9000105942A850194349E7E92009105942884D +:109FA000105940185009532A4019A179F3E813F9C0 +:109FB000400853694009A179F3E813F953794358EC +:109FC000EDE8200942B810594298105942C850197A +:109FD0004369F9E92009105942A81059401850095D +:109FE0004019A179F3E813F9400853894009A17990 +:109FF000F3E813F943785399F5E8200942B81C595E +:10A00000105950194389F7E92009129842C9045898 +:10A010001258401950084018A178F1E913F8400986 +:10A0200053A84008A178F1E913F8434953B843987D +:10A0300010590A591C59501943A94358125840192C +:10A04000065804584012A172E5E913F253C2F00217 +:10A050001501E5E813F243B84369105943780C59E8 +:10A060000A5943C50A581858065853D2F202150126 +:10A07000E5E913F2F0091501F3E813F943D853F9B0 +:10A08000438910594398145904580C5916581858B4 +:10A0900053E243F54342F20C1501F0061501F9E9CC +:10A0A00013FCEDE813F643A943B80A5918580459AC +:10A0B0001459435A145816585406436A4402F20677 +:10A0C0001501F0051501EDE913F6EBE813F543482A +:10A0D00054255416435543C904591459105943D8AB +:10A0E000F20215010C58E5E913F2437654320C588C +:10A0F0000A58F00A1501F5E813FA544A890A442966 +:10A1000043864365437A43E8125843F90C5804598F +:10A110000A584392F0061501EDE813F654568916D5 +:10A1200004591459F2051501EBE913F55465892515 +:10A13000444243AA4389F9E2200814581258F00215 +:10A140001501E5E813F25472439544090C5943B6DE +:10A1500089320C590A59F20A1501F5E913FA548AA1 +:10A16000894A43C6446943A5441812580C580A58F2 +:10A17000F0061501EDE813F6549643BA4429045944 +:10A1800043D2895604591459F2051501EBE913F528 +:10A1900054A58965448243EA43C944380458145895 +:10A1A0001258F0021501E5E813F254B243D54449C0 +:10A1B0000C5943F689720C5944080A59446A045AE6 +:10A1C000105A0C5AF2061501EDE913F654C6447BF9 +:10A1D00089860C5BF4061501EDEA13F654E6441586 +:10A1E00044A243E9445889A60A5B045818581258F7 +:10A1F000F0051501EBE813F554D58995185BF602C7 +:10A200001501E5EB13F254F289B2444A4489449BA8 +:10A210000A590C5B4405442644A804581458F3E634 +:10A22000200A0C580A5A5028E0657999EA155A8292 +:10A23000504A410644325116441AEE050009F7E22D +:10A2400020081458E062EBA1EA126ED95038507918 +:10A25000040E0C99506EE068BCDCEA188F1B0C9A57 +:10A26000100C2F8A505C512A1306511941087403AF +:10A27000720C2F485138410A2F0A514A700A41483E +:10A28000700941580A08F0090009EC081505F1E6C3 +:10A2900013B8F2080008F5E3200918691459F00909 +:10A2A000000740F80A08F00A0009F80B151EF7EC41 +:10A2B000122BF7E320080C680658F2080008EE0994 +:10A2C0001505F3E713B9EC0A151EF009000EF5E6C3 +:10A2D000122AFC091505F7EA2008F3EE13B9EFE896 +:10A2E000000816580A01EE0C151E0601F9E7122C9B +:10A2F0001001F9EA200812011C68E209150514583A +:10A30000F3E113B90A001600100040E812000A0831 +:10A31000F00A0009FC0B151EF7EE122BF7EC2008D3 +:10A3200002681858F2080008E0091505F3E013B9AF +:10A33000F009000640D80A08F00C0009E20A151ED0 +:10A34000F5E1122AF5EB200800681658F20800081B +:10A35000EC091505F3E613B9F009000E40C80A0828 +:10A36000F00B0009E00C151EF9E0122CF9EA2008A8 +:10A370000C681458F2080008FC091505F3EE13B92F +:10A38000F009000340B80A08F00A0009EC0B151E9A +:10A39000F7E6122BF7EC20081C681858F2080008A2 +:10A3A000E6091505F3E313B9F009000641680A0848 +:10A3B000F00C0009FC0A151EF5EE122AF5EB200838 +:10A3C00006681658F2080008EC091505F3E613B9FB +:10A3D000F009000E40A90A091609E60C151EF9E35A +:10A3E000122CF9EA20080C681458F2080008FC093D +:10A3F0001505F3EE13B9F009000340980A08F00AB6 +:10A400000009EC0B151EF7E6122BF7EC20081C6870 +:10A410001858F2080008E6091505F3E313B9F00926 +:10A42000000640890A091809FC0A151EF5EE122AD1 +:10A43000F5EB200806681658F2080008EC09150527 +:10A44000F3E613B9F009000E68C80A08F00B00091A +:10A45000E60C151EF9E3122CF9EA20080C681458D2 +:10A46000F2080008FC091505F3EE13B9F009000124 +:10A4700068D90A091409EC0B151EF7E6122BF7EC44 +:10A4800020081C681858F2080006E2091505F3E1D7 +:10A4900013B968E8EC0900030A08F00C0009FC0A8B +:10A4A000151EF5EE122AF5EB200802681658F20880 +:10A4B0000008E6091505F3E313B9F009000E68F981 +:10A4C0000A091609E20C151EF9E1122CF9EA200816 +:10A4D00006681458F208000BFC091505F3EE13B9D1 +:10A4E0004178F60900000A08F00A0009E606151E80 +:10A4F000EDE31226EDEC20081C681858F208000A5B +:10A50000E0091505F3E013B9F409000341890A09CC +:10A510001809FC0A151EF5EE122AF5E62008006857 +:10A520000C58F208000CE6091505F3E313B941983D +:10A53000F80900010A08F0060009E00B151EF7E013 +:10A54000122BF7EA200806681458F2080008E209FE +:10A550001505F3E113B94077F009000E1407FC0963 +:10A560001505E60A151EF3EE13B9F5E3122AF5EB0D +:10A57000200802681658EE080008F009000341A8F8 +:10A580000408F00B0009E20C151EF9E1122CF9EA9F +:10A5900020081C58F2080008E6091505F3E313B972 +:10A5A000F009000541B904091409FC0B151EF7EE6A +:10A5B000122BF7EC20080658F2080008EA091505E6 +:10A5C000F3E513B9F009000641C80408F00C0009CE +:10A5D000E60A151EF5E3122AF5EB20080A58F208E0 +:10A5E0000008EC091505F3E613B9F009000E41D98E +:10A5F00004091609EA0C151EF9E5122CF9EA2008DF +:10A600000C58F2080008FC091505F3EE13B9F0091F +:10A61000000541E80408F00A0009EC0B151EF7E6F6 +:10A62000122BF7EC20081C58F2080008EA0915055F +:10A63000F3E513B9F009000641F904091809FC0A09 +:10A64000151EF5EE122AF5EB20080A58F20800084C +:10A65000EC091505F3E613B9F009000E42080408E9 +:10A66000F00B0009EA0C151EF9E5122CF9EA200896 +:10A670000C58F2080008FC091505F3EE13B9F009AF +:10A680000005421904091409EC0B151EF7E6122BFC +:10A69000F7EC20081C58F2080008EA091505F3E554 +:10A6A00013B9F009000642280408F00C0009FC0A5E +:10A6B000151EF5EE122AF5EB20080A58F2080008DC +:10A6C000EC091505F3E613B9F009000E4239040947 +:10A6D0001609EA0C151EF9E5122CF9EA20080C58A7 +:10A6E000F2080008FC091505F3EE13B9F00900059E +:10A6F00042480408F00A0009EC0B151EF7E6122B7D +:10A70000F7EC20081C58F2080008EA091505F3E5E3 +:10A7100013B9F0090006425904091809FC0A151E6C +:10A72000F5EE122AF5EB20080A58F2080008EC09A9 +:10A730001505F3E613B9F009000E42680408F00BA2 +:10A740000009EA0C151EF9E5122CF9EA20080C584C +:10A75000F2080008FC091505F3EE13B9F00900032F +:10A76000427904091409EC0B151EF7E6122BF7ECDD +:10A7700020081C58F2080008E6091505F3E313B990 +:10A78000F0090005428904091809FC0A151EF5EEB6 +:10A79000122AF5EB20080658F2080008EA09150508 +:10A7A000F3E513B9F009000E429904091609E60C05 +:10A7B000151EF9E3122CF9EA20080A58F208000BDA +:10A7C000FC091505F3EE13B9F609000042A90409C6 +:10A7D0001409EA06151EEDE51226EDEC20081C58BA +:10A7E000F208000AE0091505F3E013B9F4090003C3 +:10A7F00042B9FC0A151E0409F5EE122A1809F5E6FD +:10A80000200800584065F208000C1405E6091505FB +:10A81000E00B151EF3E313B9F7E0122BF809000162 +:10A82000F7EA200AE2081505065AF1E113B842C911 +:10A8300004090C091409E60A151EF208000EF5E3D6 +:10A84000122AF5EB20080258EA080008E066BCDC92 +:10A85000EA168F1BFC091505F3EE13B9F009000089 +:10A8600042D80C08E20C151EF00B0002F9E1122C84 +:10A87000FDEC0008FDEC100914691049E00815050D +:10A88000F1E013B8E4090009F208000242E80C08FC +:10A89000FC0B151EF00A0005F7EE122BE1EB000889 +:10A8A000E1EB100918691049E4081505EA090009E7 +:10A8B000F1E213B8E00A151EF2080005F5E0122ACD +:10A8C00042F9E5EA00080C09F20C0003E5EA100978 +:10A8D00016691049EA081505F1E513B8E6090009FB +:10A8E000F208000343080C08E40C151EF00B0006E8 +:10A8F000F9E2122CEBEC0008EBEC1009146910499A +:10A90000E6081505EC090009F1E313B8EA0B151E7A +:10A91000F2080006F7E5122B4319E065BCDCEA15E6 +:10A920008F1BE7EB00080A09F20A000AE7EB10099F +:10A9300018691049EC081505F1E613B8F409000987 +:10A94000F208000243280A08E60A151EF00C000C63 +:10A95000F5E3122AEDEA0008EDEA1009166910493C +:10A96000E4081505F8090009F1E213B8EC0C151E0E +:10A97000F208000EF9E6122C4339E5EC00080A094A +:10A98000F20B000BE5EC100914691049FC081505E1 +:10A99000120BF1EE13B84349F6080005E40B151E3F +:10A9A000F7E2122BE062BCDCEA128F1BFDEB000821 +:10A9B0000409F20A000AFDEB100918691049EA08B7 +:10A9C0001505F1E513B8F4090009F208000643582B +:10A9D0000408FC0A151EF00C000CF5EE122AEBEA36 +:10A9E0000008EBEA100916691049EC081505F8098A +:10A9F0000009F1E613B8EA0C151EF208000EF9E59D +:10AA0000122C4369EDEC00080409F20B000BEDEC8D +:10AA1000100914691049FC081505F1EE13B8F60980 +:10AA20000009F208000543780408EC0B151EF00A33 +:10AA3000000AF7E6122BFDEB0008FDEB1009186980 +:10AA40001049EA081505F4090009F1E513B8FC0AF4 +:10AA5000151EF2080006F5EE122A4389EBEA0008FB +:10AA60000409F20C000CEBEA100916691049EC0815 +:10AA70001505F1E613B8F8090009F208000E43982D +:10AA80000408EA0C151EF00B000BF9E5122CEDEC96 +:10AA90000008EDEC100914691049FC081505F609C9 +:10AAA0000009F1EE13B8EC0B151EF2080005F7E6ED +:10AAB000122B43A9FDEB00080409F20A000AFDEB82 +:10AAC000100918691049EA081505F1E513B8F409E9 +:10AAD0000009F208000643B80408FC0A151EF00C31 +:10AAE000000CF5EE122AEBEA0008EBEA10091669F1 +:10AAF0001049EC081505F8090009F1E613B8EA0C4D +:10AB0000151EF208000EF9E5122C43C9EDEC000801 +:10AB10000409F20B000BEDEC100914691049FC0854 +:10AB20001505F1EE13B8F6090009F208000343D841 +:10AB30000408EC0B151EF00A000AF7E6122BFDEBD9 +:10AB40000008FDEB100918691049F4090009E6082E +:10AB50001505F1E313B8F208000543E90409FC0AFE +:10AB6000151EF20C000CF5EE122AE7EA0008E7EADF +:10AB7000100916691049F8090009EA081505F1E5F8 +:10AB800013B8F208000E43F90409E60C151EF20B87 +:10AB9000000BF9E3122CEBEC0008EBEC1009146944 +:10ABA00010494057FC0815051407F1EE13B8F609D3 +:10ABB000000AEA0B151EF7E5122BFDEB0009F4085D +:10ABC0000003FDEB1008E60A15051868F5E313BA53 +:10ABD0001248EE080009F20A00054409E06AC1D6ED +:10ABE000EA1ACA6214091809FC06151EEDEE1226AF +:10ABF000EDEB20080658F2080008EA091505F3E510 +:10AC000013B9F009000A4419E068C1D6EA18CA620B +:10AC100010091609E60C151EF9E3122CF9E62008B6 +:10AC20000A58F2080008F4091505F3EA13B9EA0B0B +:10AC3000151EF0090003F7E5122B4429E065C1D683 +:10AC4000EA15CA620A090C09F7EC20081458F20840 +:10AC50000008E6091505F3E313B9F009000EFC0935 +:10AC60001505F3EE13B9F406151EEDEA1226443A63 +:10AC7000EDEB20080A0A0658180A100A120A44497D +:10AC80000A091609E60C151EF9E3122CF9E620084C +:10AC90001C58F2080008F4091505F3EA13B9FC057D +:10ACA000151EF0090003EBEE1225E6091505EBEC85 +:10ACB0002008F3E313B91458E062C1D6EA12CA625D +:10ACC000445B040B0C0BF406151E100BEDEA122668 +:10ACD000120BEDE52008F60915050658F3EB13B93C +:10ACE000446A040A180A100A4478F409000E040899 +:10ACF000F0050009E60A151EF5E3122AF5E620081C +:10AD00001658F2080008FC091505F3EE13B9F0090E +:10AD10000005448904090C09F60C151EF9EB122CE8 +:10AD2000F9EA20081C58F2080008EA091505F3E5BD +:10AD300013B9F009000344980408F00A0009FC0B59 +:10AD4000151EF7EE122BF7EC20080A58F20800083F +:10AD5000E6091505F3E313B9F009000E44A9040947 +:10AD60001809EA06151EEDE51226EDEB2008065837 +:10AD7000F2080008FC091505F3EE13B9F009000507 +:10AD8000EA091505F3E513B944BAE60C151E040AE1 +:10AD9000F9E3122C160AF9E620081C58100A120AC8 +:10ADA00044C904090C09FC0B151EF7EE122BF7EC35 +:10ADB00020080A58F2080002F4091505F3EA13B94D +:10ADC00044D8E409000EE069C1D6EA19CA62120843 +:10ADD000EA06151EF00C0009EDE51226EDEB200841 +:10ADE0001458F2080008FC091505F3EE13B9F00930 +:10ADF000000CE068C1D6EA18CA62F405151EF8090D +:10AE00001505EBEA1225F3EC13B944EA100AEBE658 +:10AE10002008160A1C58100AFC02151EF40900012D +:10AE2000E5EE1222E06AC1D6EA1ACA62E5E5200818 +:10AE3000E20915051858F3E113B944FB140B404A15 +:10AE40000C0BA17A100B44B8F609000E4049F5E945 +:10AE500013FA14584459F1E9200B4438E069C1D67B +:10AE6000EA19CA6289CAF7E820074108F806151EE0 +:10AE7000120AEDEC1226700CEDE22008120C0258BA +:10AE8000FC091505F3EE13B90A0AE203151E100AB0 +:10AE9000E7E11223120AE7E62008E069C1D6EA19C1 +:10AEA000CA621C5840354030A170E1E513F0E0095A +:10AEB000000BF4091505040BF3EA13B9100B402835 +:10AEC0004021120BE065C1D6EA15CA62A171E3E820 +:10AED00013F1E2050008F0060009FC02151EE5EE7C +:10AEE0001222E5E320081458F2080008F6091505B7 +:10AEF000F3EB13B9F406151EF009000EEDEA122665 +:10AF0000EE051501410AEBE713F5EDE220080A0C06 +:10AF10001658060CFC091505100CF3EE13B9120CAB +:10AF2000950C411972081C089308F609151E412A50 +:10AF3000F3EB1229740812089508413870090C09BE +:10AF4000910989D089E189F541466C080408089C7B +:10AF50008D08340A300BF01F00042A0DD83200008F +:10AF6000800091DC800091D0EBCD40F878581494AB +:10AF7000A37AF40800099959123AF9F98006F9F907 +:10AF8000B006F7B90BFFF9F9BA06FDD8C066E808B4 +:10AF9000161DF2080008996818951693E80E000926 +:10AFA000E049003FE08B000F3006FCCCFFE4E606F2 +:10AFB000000BEA0C000CE806010AF01F0014E3CDB8 +:10AFC00080F8FC061140FCCCFFE40C9AEA0C000C63 +:10AFD000F01F000EEACBFFE40A9CF01F000DECC846 +:10AFE000FFC11034E088000FE60600070E9B0A9CA4 +:10AFF0002C07F01F00072C06ECC8FFC11034FE9B85 +:10B00000FFF7300ECD3B0000800091DC80029C54A5 +:10B01000D421202D16961895300B1A94583BF9B868 +:10B020000B14F9B80818F60911FFEC08030AF3D954 +:10B03000C002A379F4090A4AE80B0B0A2FFB588BCC +:10B04000CEE1301A49EBC038301A49EB0C9CF01FA6 +:10B05000001E6C58E21801F8E04801C0CF61308A48 +:10B060001A9B0C9CF01F00183007EE081602EE0920 +:10B0700011FFEC08032AF3D9C002A379F4090A4AA4 +:10B08000EA070B0A2FF75947CF11300B340AECCCE3 +:10B09000FFE4F01F000E0E9A300B0C9CF01F000B0B +:10B0A000ECCCFFEC308A300BF01F00081A9C308A81 +:10B0B000300BF01F00062FEDD82200008003DE5871 +:10B0C00080029C508002AF68800091D0EBCD40FCA4 +:10B0D000217DE0682301EA186745E06EAB89EA1E2E +:10B0E000EFCD5008E068DCFEEA1898BA3007501E31 +:10B0F0005028E06E5476EA1E1032E068E1F0EA185B +:10B10000C3D250675057503E504818931292580C73 +:10B11000C140149416951A962FF7090A0B0B1A9C26 +:10B12000F01F00070E33FE9BFFF91A9B049CF01FD3 +:10B1300000052E9DE3CD80FC1A96CF8B8002AF6870 +:10B140008002B010D431FACD008C501C500B1493F7 +:10B150001292109142C0585AE08B0056E04B0040CA +:10B16000E08B0054FAC4FFF8340A300B089CF01F3F +:10B17000002E400A401B089C0896F01F002CFAC5C0 +:10B18000FFB808970D88EC1800360CC80A36CFB106 +:10B190003408518451285803C110FACCFF9CFACBD3 +:10B1A000FFB4300AE60E1502E40A030818A8E20A02 +:10B1B000030916A92FCA1C3ACF81E6CCFFFF0099DC +:10B1C0000A9AFAC3FFA0069BF01F0019340A300B3D +:10B1D000089CF01F0015400A401B089CF01F00133C +:10B1E0000F88EC18005C0EC80C37CFB1314C340816 +:10B1F000513C5184519000990A9A069B5128302C59 +:10B20000F01F000B2DDDD832FAC6FF881A9A0C9970 +:10B21000FACBFFFC301CF01F0006314850165008D6 +:10B22000CA2B0000800091D0800091DC8002B0CC5D +:10B23000D401202D501A5009301A1AD8FAC9FFF833 +:10B24000FAC8FFFCF01F00032FFD2FEDD80200000D +:10B250008002B144D43121AD5009502B501A1892BC +:10B2600042395809C6D0504850593008FAC7FFAC87 +:10B270005038FAC3FFD4FAC0FFC0FAC4FFE8049CF8 +:10B28000F01F003140382FF850381AD34038518819 +:10B2900040285168FAC8FF98519830484046517884 +:10B2A000B986FB380013FAC9FFA0FB68006B189B36 +:10B2B0000E98FB66006840454046302A1891B185DB +:10B2C000049CFB650069A986FB66006AF01F001FED +:10B2D000314A069B009CF01F001E2FFD40085818A5 +:10B2E000E08A001C301608983149069A029B049C9B +:10B2F000F01F0018314A089B069CF01F0015009AA9 +:10B30000089B17381589125814C80E3ACFB12FF67A +:10B3100040080C38FE99FFE940560C985946F9B69A +:10B320000B140C180C9A5058009B404CF01F00084E +:10B3300040585808C05040480C085048CA1B2E6D51 +:10B34000D8320000800091B88002B144800091DCC6 +:10B350008002B230D43120EDFACEFFA4109530082F +:10B3600018927C14149716911296FB680036FB68AD +:10B3700000377C00149CF01F00275804C3003018CD +:10B38000FAC9FFC9508850685097FAC8FFCA505C84 +:10B3900050B6507550A950C85934E0880023300782 +:10B3A000FAC3FFECFAC6FFDCC088FB680036E8078A +:10B3B00001055935E088001CE00700080C991AD8EF +:10B3C0002EC70698304A029B049CF01F00132FFDE5 +:10B3D000FB3800362FF80E34FE9BFFE92F2DD832B4 +:10B3E00008953007FAC3FFECFAC6FFDC0C99069803 +:10B3F0001A96049C1AD6029B304AF01F00070A9A3C +:10B400000C9BE007000CF01F00052FFD2F2DD832FC +:10B41000800091B88002B144800091DC00000000FF +:10B4200000000000EBCD4080129E1097584CC26087 +:10B43000E08A0013588CC140590CC101590B5F18A8 +:10B4400058FA5FA91248C0A130689D083039300C05 +:10B450008F09E3CD8080582CC1E0E3CFC080E04B62 +:10B4600000205F1859FA5FA91248CF8130689D0803 +:10B470003029300C8F09E3CD808058DB5F1858CA23 +:10B480005FA91248CEB130099D093018129C8F086F +:10B49000E3CD8080585B5F18584A5FA91248CF40BF +:10B4A000E3CFC080580C5E0CF8F8010C5808F9B8CE +:10B4B0000100F9F81A435EFC580CF9FB1A4C5EFCCB +:10B4C000580CF9FA1A51F9FB1A505EFC580CF9FBAA +:10B4D0001A415EFC580CC080586BE08800035EFD8A +:10B4E0004928F00B032F5EFEF94A016C5EFDF94A14 +:10B4F00001685EFDF94A01645EFDF94A01605EFD86 +:10B50000580ACF20F94A01585EFDF4C80001E0480E +:10B510000063FE9BFFEAF94A01545EFD580ACE40E3 +:10B52000F94A01505EFD00008003DE5CEBCD40E097 +:10B53000189716951496580CC130F8FC0180F01F2E +:10B54000001158055F0858065F091248C0B030085E +:10B55000EF480188EF480180109CE3CD80E0E3CF05 +:10B56000C0E00C9CF01F0008EF4C0180CF900A9BBC +:10B570000C9AF01F0006300CEF460188E3CD80E006 +:10B58000800091E880009200800091DCEBCD40E0EB +:10B59000189716951496580CC130F8FC017CF01FD2 +:10B5A000001158055F0858065F091248C0B03008FE +:10B5B000EF480184EF48017C109CE3CD80E0E3CFAD +:10B5C000C0E00C9CF01F0008EF4C017CCF900A9B60 +:10B5D0000C9AF01F0006300CEF460184E3CD80E0AA +:10B5E000800091E880009200800091DCEBCD40E08B +:10B5F000189716951496580CC130F8FC0174F01F7A +:10B60000001158055F0858065F091248C0B030089D +:10B61000EF480178EF480174109CE3CD80E0E3CF60 +:10B62000C0E00C9CF01F0008EF4C0174CF900A9B07 +:10B630000C9AF01F0006300CEF460178E3CD80E055 +:10B64000800091E880009200800091DCEBCD40FE0C +:10B65000189716961493580CC031E3CFC0FE7409A6 +:10B66000F8F801605828C5E0F8F1016CF8F50168B8 +:10B67000F8F201645979FE98FFF23DD8304AB68855 +:10B68000ECCCFFFEFEFB0238F01F008E30083019B4 +:10B69000ACF8ACE9ECC4FFF85905E08000A158858E +:10B6A000E08000AA5845E08100BC0A9AFEFB02181F +:10B6B000089CF01F00843018A8C8E8C9FFFB3008B8 +:10B6C000B288E8C5FFFA5902E08000905882E08114 +:10B6D000009F304A4FDB0A9CF01F007A3018AAC83E +:10B6E000EAC9FFFB3008B2882FA55811E080008A14 +:10B6F0005821E08100A5304A4F5B0A9CF01F007181 +:10B70000EAC9FFFCEC0811FE1208AC98F206010C25 +:10B71000CA56870CEEF501745805E08000C1E3CFEE +:10B7200080FEF8F8010CF8F2016C5808F9B801280D +:10B73000F9B80016F8FA0168F8F401641039C8E3A2 +:10B7400033083009B688B6B93018B6A8F6C5FFFC7C +:10B75000590AC6F0588AE0800082584AE081009772 +:10B760004DCB0A9CF01F00573018AAC8EAC9FFFB4E +:10B770003008B2882FA55904C6B05884E081007EF5 +:10B78000304A4D5B0A9CF01F004F3018AAC8EAC926 +:10B79000FFFB3008B2882FA55812C661304A4CFB17 +:10B7A0000A9CF01F0048EAC8FFFC300AB08AB09A31 +:10B7B000EAC9FFFAEEF8010C5808CA503018B288EE +:10B7C000EAC9FFF9EACCFFF8B28A310AEEFB010CB4 +:10B7D0002FCBF01F003CEAC9FFE8C95B304A4C0B95 +:10B7E000089CF01F0038C68B304A4BDB0A9CF01FC8 +:10B7F0000035C75B304A4B5B089CF01F0032C5CB5D +:10B80000304A4B8B0A9CF01F002FC7BB5812FE9189 +:10B81000FF26304A4B4B0A9CF01F002AC60B5825C6 +:10B82000FE91FF1D304A4B1B089CF01F0026C44BA5 +:10B83000304A4AFB0A9CF01F0023C97B5901FE9144 +:10B84000FF0E304A4ABB0A9CF01F001EC5AB304AAF +:10B850004A7B0A9CF01F001BC99B304A49EB0A9C9B +:10B86000F01F0018C82B5822FE91FEF9304A4A2BCF +:10B870000A9CF01F0014C98B5814FE91FEF0304A48 +:10B8800049EB0A9CF01F000FC81B582AFE91FEE7E7 +:10B89000304A49BB0A9CF01F000BC67BF01F001901 +:10B8A000EF4C0174FE90FEDB0C9B660AF01F000556 +:10B8B00066080A9CEF480178E3CD80FE8003DE989D +:10B8C000800091DC8003DEA08003DE8C8003DE7CC0 +:10B8D0008003DE888003DE808003E1EC8003E1E406 +:10B8E0008003DE9C8003DEA48003DE948003DEB44C +:10B8F0008003DEB08003E1E88003DEA88003DE84FD +:10B9000080009200D401580CC060F8CCFEC8306AA8 +:10B91000F01F0002D8020000800091DCD4011898CA +:10B92000580CC040918AF01F0002D802800091DCC0 +:10B93000EBCD40F8208D189416971493F6C6FFF0BF +:10B94000F8F501685885C2E0E8F801645818C1604C +:10B950006EC8E8F901286E0B1AD81AD66E2849CAA3 +:10B960001AD81AD3720C72666E186E395D162FCD06 +:10B97000580CC1552F8DE3CF80F86EC9E8FA012825 +:10B980006E0B1AD91AD66E291AD91AD3740C74668A +:10B990006E3948FA5D162FCD580CCED42F8DE3CFDB +:10B9A000C0F80C9B310A1A9CF01F000A0A9AEECBD1 +:10B9B000FFD8FACCFFF0F01F00070A9AEECBFFE0A9 +:10B9C000FACCFFE81A96F01F0003CBFB80039C38EB +:10B9D000800091DCD401580CC070F94B0134F8FCA4 +:10B9E0000108F01F0002D80280028F64D401580CB5 +:10B9F000C110F8F8010C5808C08070DAF0CBFFECE9 +:10BA0000998AF01F0005D802320A109B998AF01F0C +:10BA10000003D802800091DC800091D0EBCD408003 +:10BA20001897F01F000AEEF801287029700C5D19B4 +:10BA3000585CEFF80057F9B90001F1D9E008EFF8C8 +:10BA40000A57E3CD8080000080029438EBCD40C0DF +:10BA500018971696580CC190306AF8CCFEB8F01FB3 +:10BA6000000F308A300BEECCFF10F01F000D3008B5 +:10BA700030190C9BEF4800F8EF4900EC306AEECC2F +:10BA8000FEE4F01F0008C030E3CD80C00E9CF01F24 +:10BA90000006E3CD80C00000800091DC800091D0E2 +:10BAA0008000917C80029438EBCD40C016971496AC +:10BAB000F6F8010C1838C0D0768A78D8103AC03021 +:10BAC000E3CD80C0F8CBFFEC0E9CF01F000ECF91B1 +:10BAD0003008EF48010C5806CF41320A0C9B0E9CEF +:10BAE000F01F0009EEF90128301B720C72485D1836 +:10BAF000EEF801280C9A700C70390C9B5D19CE1B66 +:10BB00008000917C800091D0D431189716941493C2 +:10BB1000300B324A069CEE040005F01F0052EEC6C0 +:10BB2000FFFF0C35E0880034E8C800013DD2EE0884 +:10BB30000004C0D8E4091800C2B01499F2C8FFFE8E +:10BB40001007EEC6FFFF0C35E08800220F89E409DC +:10BB50001800C4B10837C1B00D8A580AC180F4C8B2 +:10BB6000FFFEEE0800081035C4733308F009180012 +:10BB7000CE2187270D882FE887380D89F2C8FFFE70 +:10BB80001007EEC6FFFF0C35FE9BFFE2D83A580ABD +:10BB9000CFE03058F00A1800E08B003FEEC8FFFB02 +:10BBA0001035E08B002B14993061E2091800FE98E3 +:10BBB000FFC7EEC0FFFE304A4ABB009CF01F002BBF +:10BBC000C3900D89E2091800FE98FFBA009C304A24 +:10BBD0004A7BF01F0026C071EEC9FFFA87790D88F5 +:10BBE000204887880D89CABB0D8AF4C8FFFEEE087D +:10BBF00000081035CBB2DC3A14993138F00A18003D +:10BC0000FE98FFD4304A49BBEECCFFFEF01F001770 +:10BC1000C1900D89CCAB304A497BEECCFFFEF01FC2 +:10BC20000013C0610FE93018F0091800C1000D8A37 +:10BC3000CB6BEEC9FFFA87590D88204887680D89BC +:10BC4000C7EBEEC8FFFA87480D89C79B0FF8F808C5 +:10BC50001800CEE187070D882FE887180D89C6FBED +:10BC6000800091D08003DE788000917C8003DEAC80 +:10BC70008003DE908003DE98EBCD4080304A189739 +:10BC8000496BF01F0017C031E3CF9080304A495B09 +:10BC90000E9CF01F0013C041302CE3CD8080304A51 +:10BCA000491B0E9CF01F000EC041308CE3CD8080FC +:10BCB000304A48EB0E9CF01F000AC041310CE3CD26 +:10BCC00080800E9C304A48ABF01F0005F9BC000490 +:10BCD000F9BC0100E3CD80808003DEA88000917C68 +:10BCE0008003DE848003DE808003DEB48003DE8890 +:10BCF000EBCD4080304A1897496BF01F0017C031D8 +:10BD0000E3CF9080304A495B0E9CF01F0013C04186 +:10BD1000302CE3CD8080304A491B0E9CF01F000E72 +:10BD2000C041308CE3CD8080304A48EB0E9CF01F40 +:10BD3000000AC041310CE3CD80800E9C304A48ABF4 +:10BD4000F01F0005F9BC0004F9BC0100E3CD8080C0 +:10BD50008003DEA48000917C8003DE948003DE8C6F +:10BD60008003E1E48003DEA0EBCD40FC189416963E +:10BD70001497580BC160198B3308F00B1800C1D011 +:10BD80003008301595789548956895589505308810 +:10BD90009535952895185876E08B009BE3CFC0FC2D +:10BDA000301830898F7B8F4B8F6B8F5B9538950860 +:10BDB00095299519E3CFC0FC300531099545956566 +:10BDC000955595759529951930289508301A8F3A0B +:10BDD0005836FE98FFE51988F6081800CE01199923 +:10BDE000ECC800021039CDB119B919A8F1E91088D1 +:10BDF000F4081900CD4120465836E08A01112FC4BD +:10BE0000089CF01F008A8F2C20465816E08A010BF0 +:10BE10008F15E8CCFFFC19991988F1E91082CBF055 +:10BE2000ECC30002E40815021033CB95F8C4FFFE02 +:10BE300030056E16089CF01F007D0C4C8F1C2FC423 +:10BE400020432FF50A32FE99FFF65813E08A00E5E9 +:10BE5000300A8F3A09990988F1E91082CA00202333 +:10BE6000E40815021033C9B5E8C6FFFE14956E3418 +:10BE7000304A4EFB0C9CF01F006FE08100C430186C +:10BE800008488F382FC620432FF50A32FE99FFF15C +:10BE90005813E08A00940D990D88F1E910888F48B5 +:10BEA000E6CB0002581BE08A008AECCCFFFE199812 +:10BEB0001989F3E810898F59F6C80002A56912386C +:10BEC000C7F5F8C8FFFE300C8F68E3CD80FC1989F8 +:10BED0003DD8F0091800FE91FF631999ECC80002E3 +:10BEE0001039FE91FF5D304A4D3B2FECF01F0051A1 +:10BEF0001893FE91FF5509F909E8F1E91088EA085D +:10BF00001900FE91FF4DECCA0008583AE08A005E25 +:10BF1000E8CCFFF8F01F00498F2CECCA000C0A3A5D +:10BF2000E08A00578F13E8CCFFF419991988F1E9DA +:10BF30001082FE90FF35F4C30002E40815021033AE +:10BF4000FE95FF2EF8C4FFFE30056E16089CF01F0C +:10BF5000003B0C4C8F1C2FC420432FF50A32FE9956 +:10BF6000FFF65813E08A0042300A8F3A099909888F +:10BF7000F1E91082FE90FF142023E408150210332B +:10BF8000FE95FF0EE8C6FFFE14956E340C9C304AF9 +:10BF90004ABBF01F0028C211301808488F382FC63E +:10BFA00020432FF50A32FE99FFF25813E08A00145D +:10BFB0000D880D99F1E910888F48E3CF80FC300897 +:10BFC0008F58109CE3CD80FC580AFE99FEE9581A60 +:10BFD000FE90FEE6E3CF80FC304A49AB0C9CF01F9C +:10BFE0000015C0613028CDAB5813CF51CD8A0C9CC1 +:10BFF000304A495BF01F000FF9B80010F9B8010092 +:10C00000CCDB0C9C304A491BF01F000AF9B8000237 +:10C01000F9B80100C36B5813CD11CC1A5806FE991C +:10C02000FEBF5816CCB1CBBA8002BC788003E1ECDD +:10C030008000917C8003DE988002BCF08003DE9C4F +:10C040008003DE7C8003DEB08003E1E8D401580C7D +:10C05000C021DC0AF8F801745808CFC0169AF8FB22 +:10C060000178109CF01F0004F9BC01FEF9BC00002F +:10C07000D80200008002BD68EBCD40801897580CB4 +:10C08000C1D0F8FC0108F01F000F300A0E9B48ECED +:10C09000F01F000EEEFC0174F01F000DEEFC017CA1 +:10C0A000F01F000BEEFC0180F01F0009EEFC0128E0 +:10C0B000F01F00070E9CF01F0006E3CD80800000FB +:10C0C000800290A88002C0D080027400800091E8B5 +:10C0D000D401F01F0002D8028002963CEBCD40C094 +:10C0E0001896E06C018CF01F00131897C19030185F +:10C0F000E069A8C0F94800ECF9490150346833C937 +:10C10000F9480154F9460128F9490158189A189B31 +:10C11000489CF01F000AEF4C01081898C0400E9C84 +:10C12000E3CD80C00E9C1097F01F0005CF9B000050 +:10C1300080028F248002BAA880028F8C800091E850 +:10C14000EBCD4060149E1DD81896158CECF5012897 +:10C150001AD81DC91AD91DB81AD81DA91AD91D98DF +:10C1600048CA1AD81ADC1ADB303B6A0CF01F000AE6 +:10C17000ECF90128311B720C72585D18ECF901289A +:10C18000300A720C7238149B5D182F9DE3CD8060CD +:10C190008003DF4880023A1AEBCD40C0205D109743 +:10C1A000581BC130582BC0402FBDE3CD80C0310B90 +:10C1B0001A98F01F00091A961A9B0E9C310AF01F5C +:10C1C00000072FBDE3CD80C0310BF01F00052FBD50 +:10C1D000E3CD80C08002B230800091DC80028EF816 +:10C1E000D431201DFACEFFD81894500B149012961B +:10C1F00010917C237C077C12306A49AB129CF01FA3 +:10C20000001AC1D05803C0800698009B400C0499C6 +:10C210000E9AF01F00160C9BE8F501280498F5D142 +:10C22000C0100E996A0C6AA65D16E8FC0104F01FA6 +:10C2300000100E9CF01F000F2FFDD832E8C5FEB88D +:10C24000306A488B0A9CF01F0008CDD1E8F801281D +:10C250000A9B700C70995D19EA061740CD4B0000DF +:10C260008002B41C8000917C8002C19880025582BB +:10C27000800091E8EBCD40E0189716961495F8F8F9 +:10C2800001685848E0800081E08A00495888C780EA +:10C290005908C4F04C19EEF801645848C480584855 +:10C2A000E089004A5818C6605828C6604BB81AD9A9 +:10C2B0001AD8EEFA01280DD81AD80DC91AD90DB816 +:10C2C0001AD80DA91AD90D981AD80D89302B1AD958 +:10C2D000740C4B3AF01F0033EEF801282F8D700BD1 +:10C2E000707C300AF01F0030EEF90128720C72C821 +:10C2F0005D18EEF90128307B720C72185D18580534 +:10C30000C201EEFC010C580CC07079485808F9B80D +:10C310000100F9F81A14E3CD80E05818C33058280A +:10C32000CBA14A29EEF801645848CBA14A08CC0BAE +:10C330004A09CB2B5888C2205908CB9149D8CB8BBE +:10C34000EEF801280C9B700C71263019303A5D16FE +:10C35000301BEEFC0104F01F0018EEF8016C5828A9 +:10C36000C15030080E99495A109B301CF01F001420 +:10C37000CC9B4948C9DB48D8C9BB4938C99B492926 +:10C38000C8BB4909C89B48A9C87B301BEEFC010407 +:10C39000F01F000ECE7B00008003C6288003DF74F0 +:10C3A00080023A1A800274008003DF088003DF10E5 +:10C3B00080039A74800261D48002C0D080027474B9 +:10C3C0008003C8E480039A6C800261A4D431FACD62 +:10C3D00000DC1897169314951296E0490062E08BE2 +:10C3E000000630060C9C2C9DD832129CF01F034492 +:10C3F0001892E08000D60C9A0A9BF01F034205A910 +:10C4000005B8F1E910880599F5D8B0103038F00971 +:10C410001800C0603006049CF01F033BCE4BECC8F4 +:10C420000004EBDAC01030090A385F3AE045005EDC +:10C430005F88F5E8100CF20C1800CED13FE8E4C19B +:10C44000FFFC038AF00A18005F1B3028F00A18006E +:10C450005F19F7E90004F8041800CDD1EEFC0104DF +:10C46000F01F032A039903A8F1E91088EDD8B01052 +:10C47000FDD6C003506E1C9930182019F009190020 +:10C48000E08800043FF6CC8BEEF8016459085F0A9F +:10C490003028F00E19005F19126AE80A1800C080EF +:10C4A000EEF801685908CEF0EDB60003CEC0EEF804 +:10C4B00000F85808E08100ABE1D6C0100098E218FF +:10C4C0002080CE10009AE21A0800502ACDC12FC554 +:10C4D00000995055E21901005039C641405AE339DC +:10C4E000005DE338005E263AF1E91088F7D8B01015 +:10C4F000E9DBC010083AE0830598EEF9016058299D +:10C50000E0800550EDB00003E0810333E21000301D +:10C51000CBA140395809E08001CAEEF90128305B0F +:10C52000720C72185D18039903A8F1E91088E339B9 +:10C53000005DEBD8B010E33B005EFACAFF50F7E9AC +:10C54000108BE2CCFFA1F01F02F243185808C04044 +:10C55000EDB5000CC231EEC3FEB8EEF60134EEF8D4 +:10C56000017C5808E08004E742C95809E08004C80B +:10C57000EEFB017C580BC79042DAEEF80184103ACA +:10C58000C70042FE42EC1ADE14981ADC069A0E9C92 +:10C59000FEFB0B80F01F02E02FED3016C3DB3FF6F1 +:10C5A000C22BE2C6FFB3FAC4FF84310A0C9B089C7D +:10C5B000F01F02D440685C785048EEF800A8580894 +:10C5C000C301EEF800A45808FE90FF5E310A300B5C +:10C5D0000C9CF01F02D2049A404BEECCFFDC0C986E +:10C5E0004059F01F02CF0C9B089C310AF01F02CD6E +:10C5F000FE91FF4A308AE2CBFFFBEECCFF10F01F2A +:10C6000002C13018EF4800F8C6AB308AEECBFF10FD +:10C61000E2CCFFFBF01F02C3FE99FF503FF6CFCAEA +:10C62000402B310A0C9CF01F02BD049A404B0C9821 +:10C630004059EEC5FF9C0A9CF01F02B9310A0C9BC1 +:10C64000089CF01F02B8CBE13018EF4C00A80A9B01 +:10C65000EF4800A4340AEECCFFDCF01F02AACCBBEA +:10C66000129CF01F02B0C10142EC580CC160EEFBFD +:10C670000180580BC12042FEEEF80188103EC090A8 +:10C6800042C942DAC81B42FE42C942EC42DAC7CB79 +:10C690001C9AF01F02A4CF81EEF801605818E080C8 +:10C6A00000E6320AE2CBFFF3EECCFF34F01F029D2E +:10C6B000FE91FF7503B903C8F1E91088F3D8B010F3 +:10C6C000EEF801645888E08000CC5908E08000CA88 +:10C6D000EEF80128FAC9FF2C1AD970D6700C35F97A +:10C6E000FAC8FF24300A303B5D162FFD1896580C0F +:10C6F000FE90FF55EEF80160E06900FE5828F20850 +:10C700001710435AB48840680A99E2190200F1E907 +:10C7100010094358E8190108F20B1608B09B435A58 +:10C72000B4A9EEF801605828E0810093300843591D +:10C73000B2B8435AB4C8435C308AE2CBFFFB2FBC8B +:10C74000F01F02704358300AF16A005D4359F36AE2 +:10C75000005E4358406A2B381AD84379E068888EC7 +:10C760001AD9EECBFFDC1AD606990E9CF01F026E8A +:10C770003018EF4800EC5C752FDDEDB50006C0F118 +:10C78000FEFA09A8F4E80000FAE9007CEEF801647A +:10C790005888E08003F65908E08003D90A90E21037 +:10C7A0000200C0E0EEFA01283019740C069B7528CF +:10C7B000129A5D18301BEEFC0104F01F025DEEF8CA +:10C7C0000128306B700C70195D1943165806FE90E5 +:10C7D000FEE64328FAC4FF84F0C50002334A300B5A +:10C7E000089CF01F024EE0450020FE9BFED80D88FD +:10C7F000F1D8C00252280D89F3D9C041C050EEF8DB +:10C80000016458185F095209ECCBFFFE0A9AFACC72 +:10C81000FF74F01F023C0A9A52B50898FAC9FF7CCF +:10C820000A9BEEFC0168F01F0243FE91FEB8E2CACB +:10C83000FFC3089B0E9CF01F0240FE91FEB0009AC1 +:10C84000069B0E9C3016F01F023DFE9FFDE6435CEA +:10C85000302AE2CBFFFD2FDCF01F022AC6DB3208B4 +:10C86000F0091900FE91FE9BC34B42EB580BFE9062 +:10C87000FF1A58065F1AEEF9018058095F0814681C +:10C88000FE90FF116D68EDB80001FE91FF0C42F8BB +:10C89000069A1AD80E9C1ADBFEFB08A442F842E95D +:10C8A000F01F021D2FEDFE9FFE7AEEF90128720C9B +:10C8B00072885D18FE90FE73EEF80128305B700CF4 +:10C8C00070195D19403BFAC6FF50324A0C9CF01FAC +:10C8D0000213EEF801605828C0C1E338005DE33B65 +:10C8E000005E0C9AF7E8108BE2CCFFA1F01F020863 +:10C8F00043065806C0E0EEFC010C580CE08003D162 +:10C90000F8CBFFFC310A0C9CF01F0206E08003C04C +:10C910003005EEF8016C5818E08000D45805C0606E +:10C92000EEFB016C581BE080029BEEF800EC58080F +:10C93000E08102B5EEC8FF545008EECAFEB8EEC959 +:10C94000FF9CE2C8FFF3508AEEC6FEC850A950987B +:10C95000306A6E85408B0C9CF01F01F2E08500FB75 +:10C96000306A408BFAC0FFD0009CF01F01E60C9BA0 +:10C97000306AFACCFFCAF01F01E3320A409B400C38 +:10C98000F01F01E8E08500D0320A409BFACCFFC4DA +:10C99000F01F01DC320A400BFACCFFA4F01F01D9D2 +:10C9A000340E1ADE40BE00991ADE34C80A9BFEFA25 +:10C9B00007920E9CF01F01E4EEC5FF6CFAC3FF7CEA +:10C9C0000A9B308A069CF01F01CF0A9CEEC6FF64CA +:10C9D000308A0C9BF01F01CB069B0C9C308AF01F09 +:10C9E00001C93018EF4800A82FEDEEF50178EEF000 +:10C9F00001745800FE90FDD3EEFA0128FAC8FF2812 +:10CA0000E9D5B0101AD8E8C9FFA1740C74D6FAC8D9 +:10CA1000FF285C79300A303B5D162FFD1893580CC7 +:10CA2000FE90FDBDEEF80160E06900FE5828F208B6 +:10CA30001710436AB48843683019B0994066436858 +:10CA40005C760C9AA3BAB0AAEEF901605829C631F7 +:10CA500030084369B2B8436AB4C8436CE2CBFFFB09 +:10CA6000308A2FBCF01F01A74368F3D4C108F169D5 +:10CA7000005D43680A9AF165005E009B436C2A1CC6 +:10CA8000F01F01A0400B436C320A2F3CF01F019DA8 +:10CA9000408940AB43682B381AD8436C0C9A1ADC97 +:10CAA000E068888E1AD30E9CF01F019F40CBEECC1D +:10CAB000FF34320A3016F01F01932FDDFE9FFCADCC +:10CAC000EEFC0104580CFE90FF2B320A0E9BF01F67 +:10CAD000019FC361320A8F8AEEF8013406991AD891 +:10CAE0000E9BEEC8FEC8EEFC0108F01F0199580627 +:10CAF0005F1AEEF9010C2FFD58095F081468FE90CB +:10CB0000FF0F0C9A069BEEFC0108F01F0192FE91AC +:10CB1000FF0EC05B436C302AE2CBFFFD2FDCF01F21 +:10CB20000179C9CB400B320AFACCFFC4F01F017562 +:10CB3000320A409BFACCFFA4F01F0172C32B310ACA +:10CB40000E9BEEFC0104F01F0181E08101B4310A6B +:10CB5000CC3B0C9BFAC0FFD0306A009CF01F0169EF +:10CB6000306A408BFACCFFCAF01F0166C07B009B85 +:10CB7000E21B2000FE91FD13403A580AFE90FD0F83 +:10CB8000334AFAC0FFD0009CF01F0164EEF901287F +:10CB90007228720C5D1850BC039903A8F1E9108843 +:10CBA000E339005DE7D8B010E338005EF1E91088A2 +:10CBB000EEF90160F7D8B0105829E080011303B9ED +:10CBC00003C8F1E910895189EBDBC0100A34E08316 +:10CBD00000CB3028406EF00E1900E08001D80A9694 +:10CBE000129B0098FAC9FFC80C9AEEFC0168F01F6E +:10CBF0000151E08100B9F5D3C010F1DAC082501ABA +:10CC000050F830194068F2081900E08000C7302859 +:10CC1000406EF00E1900E08000A4401AF1DAC0C1A5 +:10CC2000C050EEF8016458185F0850D8EEF801289B +:10CC3000306B700C70195D19009BE2CAFFC30E9C2B +:10CC4000F01F013D1895FE91FCAAEEF80128FAC9E3 +:10CC5000FF2C0A9A1AD9303B700C70D635F9FAC8F5 +:10CC6000FF245D162FFD1894580CFE90FC98EEF8EA +:10CC70000160E06900FE5828F20817104066435A28 +:10CC80005C76B488E21300304358E8130300E7E60B +:10CC9000100CF80B1608B09B4359B2ACEEF80160CB +:10CCA0005828E08102234358B0B54359B2C5435CCC +:10CCB000E2CBFFFB308A2FBCF01F01124358300A31 +:10CCC000F16A005D4359F36A005E43582B381AD865 +:10CCD00043790C9A1AD9EEC6FEB81AD40C99E068BA +:10CCE000888EEECBFFDC0E9CF01F010F2FDD40B9CC +:10CCF0005879E08101F1EEF801685848E08001E6DA +:10CD0000E08901DC5818E080014B5828E08001469A +:10CD1000FEF804441AD8EEFA0128EF38014D1AD86B +:10CD2000EF39014C1AD9EF38014B1AD8EF39014AC3 +:10CD30001AD9EF3801491AD8EF390148302B1AD9DE +:10CD4000740CFEFA0416F01F0106EEF80128307B81 +:10CD5000700C701930165D192F9DFE9FFB5EF1D58A +:10CD6000C003C0A0EEF80128306B700C70193016AB +:10CD70005D19FE9FFB52E0460020FE9BFFF5EC0B89 +:10CD80001603FAC9FFC0E2CAFFA1EECCFFCCF01F28 +:10CD900000F5FE90FF44CE7B310AE2CBFFD3FAC40C +:10CDA000FF84089CF01F00D7310AEECBFFCCFACCF1 +:10CDB000FF74F01F00D4E0450020FE9BFFD5FAC6AB +:10CDC000FFC00A9AE2CBFFA10C9CF01F00CE0A988C +:10CDD0000C99089CE06A0100320BF01F00E3C1EBE4 +:10CDE0005C7BFACAFF50E2CCFFA1F01F00C94318D8 +:10CDF0005808CB90F3D3C0105019EDB9000CCB31CB +:10CE000043282028FAC9FFC8109A5188149B00981B +:10CE1000EEFC0168F01F00C7CA61431B1788F1D8F8 +:10CE2000C00250F81789F3D9C041C050EEF8016430 +:10CE300058185F0950D94328F0CA0002E04A002080 +:10CE4000FE9BFF922FEBFACCFFC0F01F00AEEEF975 +:10CE50000128306B720C72185D18CEFAEEF80128BA +:10CE600030091AD9129A700C70D6FAC8FF285D16CC +:10CE70002FFD1893580CFE90FB92EEF5012818999F +:10CE8000EECBFEB84358E06A888E6A0C6AA65D163F +:10CE9000069CF01F009DFE9FFB82EECEFF54320BDE +:10CEA000500E1C9CF01F00B1C1F1EF4C00ECFE9F36 +:10CEB000FD46EEF80128FEFA02B6700C303BF01F7A +:10CEC00000A8EEF80128FEFA02AA700C303BF01F11 +:10CED00000A4EEF8010C5808FE90FB613008EF4802 +:10CEE000010CFE9FFD1FEEF80128FEFA028A700C6D +:10CEF000303B3016F01F009AFE9FFA8F42EC580C20 +:10CF0000FE91FBB7EEF8017C5808C061EEF8018095 +:10CF10005808FE90FBC342F830091AD8069A1AD96D +:10CF20000E9C42F8FEFB0254F01F007B2FEDFE9F8B +:10CF3000FB36EEF801805808FE91FB18EEF9012847 +:10CF4000720C72B85D18FE9FFB111099303BEEF821 +:10CF500001605828C180E2CCFFC31AD9EEC8FFBCDB +:10CF6000EEFA012830691AD830181AD930091ADCBB +:10CF7000740C7466069A5D162FCDFE9FFC11302B43 +:10CF80003209CE6BFACCFF84CE9B5875FE98FEEC2E +:10CF9000EAC60008FE9FFE264F98CBDA4F98CBBA20 +:10CFA000EDB0000CFE91FAB0EEF800A45808FE9027 +:10CFB000FA6B3018406EF00E1900C490406AF20A05 +:10CFC0001900FE91FAA1F1D4C003FE91FA5DF6C8F2 +:10CFD00000085C88109550785C750A9CF01F00482A +:10CFE0001896FE90FA51E2C4FFA11899089AEA0B2C +:10CFF0001603EECCFFCCF01F005BC2310A9A0C9BEB +:10D00000089CF01F00400C9CF01F003F4078EA098C +:10D0100016085C58E369005DE368005E5C59F1E95D +:10D020001084FE9FFA711ADA1AD4EEF801284D6ABC +:10D03000700C302B3FF6F01F004A2FEDFE9FF9EDEC +:10D040000C9C3FF6F01F0030FE9FF9E7FAC6FF8404 +:10D05000310AE2CBFFD30C9CF01F002A310AEECB41 +:10D06000FFCCFACCFF74F01F00270898E2C9FFA19B +:10D070000C9CE06A0100320BF01F003BE339005DBD +:10D08000E338005EF1E91084FE9FFA3E0E9CF01F2B +:10D09000003FEEFC0104F01F003EFE9FFC480C9A8E +:10D0A000069BEEFC0108F01F002BEF4C010CFE91DB +:10D0B000FC293015FE9FFC2F5888C0A05908FE910E +:10D0C000FE294B48FE9FFE284B38FE9FFE254B381D +:10D0D000FE9FFE22401A0C9BE21A02000E9C3016A4 +:10D0E000F01F0016FE9FF999435C302AE2CBFFFD4A +:10D0F0002FDCF01F0004FE9FFDDC0000800092008A +:10D10000800091DC800091E88002575C8002BB08BF +:10D110008003E0488002C140800091D08002C19825 +:10D120008000917C8002C1E08003E1DC800261D458 +:10D130008002B4248002B9308002C2748003E0848B +:10D140008003E1788002B354800257CC8002914C76 +:10D1500080028FB08003C6288003E19080023A1AD3 +:10D160008002D8A080029B4080028F488003E0F0BC +:10D170008003E1308003E14C8003E0048003DF089A +:10D180008003C8E48003DFC88002B9EC80025770D6 +:10D1900080039A748003DF1080039A6CD431204D91 +:10D1A0001894F8F80128E8F9016416955909F9B3BB +:10D1B0000002F9B301011492700C1A9070991A9B35 +:10D1C0005D19C635E8F80128FAC9FFF8300A1AD9FE +:10D1D000303B700C70D635F9FAC8FFF05D162FFDA4 +:10D1E0001891580CC520E8F80160E06900FE402A5B +:10D1F0005828F2081710B4880697E8F800A4ABB7CF +:10D200005808C050E0680900E7E810075805E068D2 +:10D210000400EFD8E1375802F9B80108EFD8E13738 +:10D220004028F3D7C108B09940283006B0A740295C +:10D23000B2B64028308AB0C6E8C5FF04402C0A9B2D +:10D240002FBCF01F00130A9C308BF01F00124028E7 +:10D25000F166005D4029F366005E0E99E219010057 +:10D26000FBF81002F9BA014DF1DAE1091AD9404888 +:10D2700000991AD8069A1AD1089CE068888EE8CBE3 +:10D28000FFDCF01F00052FDD2FCDD832800091DCB0 +:10D29000800239EA8002C1E0EBCD40804879720813 +:10D2A000201893081897C031F01F00050E9CF01F3E +:10D2B0000005E3CD8080000000007AB48002D2F83F +:10D2C000800091E8EBCD40C048976E065806C041FB +:10D2D000F01F0008C0916E082FF8304C8F08F01F27 +:10D2E0000006E3CD80C00C9CE3CD80C000007AB482 +:10D2F0008002D30480028F24D401F01F0002D802E0 +:10D300008002D996D401F01F0002D8028002D9947D +:10D31000D4211789179A17B8F1E9118817A9F1EAEA +:10D320001108F1E91088990817CA17D8B168F1EA0D +:10D33000118817EA17F91258F1EA10889918F73A84 +:10D340000008F739000BF7380009B168F1EA1188D5 +:10D35000F73A000A1258F1EA10889928189EF73A0D +:10D36000000CF738000DF739000FF8C5FFE4B1687D +:10D37000F73C000EF1EA11883007125849B4F1EC7D +:10D38000108C49B69D3CC038149C2F05E80707084F +:10D390002F0EFCF9FFF0F3E82189EC0C0F88E2185E +:10D3A000FF001059EC0C0F98E61800FF1059EC0C18 +:10D3B0000FB8F1D8C1081059FCF8FFF4EC0C0FAB12 +:10D3C000A96BE61BFF0016599D091059FCF8FFF8E0 +:10D3D0009D1910599D29FCF8FFFCF3E8200A8B0ADF +:10D3E0002FF758A7CD21D8228003E2F08003E6FC76 +:10D3F000EBCD40FE1892F01F002F0493E4CBFF60AA +:10D40000E4C4FFFCE4C5FF5CE4C6FFF8E4C7FF58D2 +:10D41000E4CEFFF4E4CCFF54E4C1FFB06609760823 +:10D4200087089709680A6A0889088B0A6E086C09D8 +:10D430008D088F097C0A78089D08990A2F03210B13 +:10D440002F0421052F0621072F0E210C023BCE7140 +:10D45000E4C4FFF030134985498608972F046E0A0B +:10D46000EC0A0F98EA080F9EEC0A0F88EA080F9C56 +:10D47000EC0A0FB8EA080F9BEC0A0FA8F809150888 +:10D48000FC0A1510F3EC1389F5EE130A1659EA0895 +:10D490000F9BF6081518F1EB1288105914590EA9B4 +:10D4A0000E34CDE12FF358A3CD91E3CD80FE0000E3 +:10D4B0008002D3108003E2FC8003E6FCD431209D7F +:10D4C000F736000E505A178A780917B8F1EA118812 +:10D4D000179A1258F1EA210817AEF1EE208E506E1D +:10D4E000781817CA17F9105917D8F3EA2189F3E801 +:10D4F000210917EEF3EE208E507E7828F7390008C8 +:10D50000F73A000B105AF7380009F5E9218AF73984 +:10D51000000AF5E8210AF5E920827839F73A000C8B +:10D52000F738000FFEF7034412581894F1EA2188E7 +:10D53000F739000DF8CAFF60F1E92108500AF1E659 +:10D5400020800E91E0081618406AEE080326F3DAF0 +:10D55000C008F1D2C208EE090329EE080328504999 +:10D560005038407AEE0A0F9950296878684B105667 +:10D570004068EE000FACEE080FBA4079165AEE097B +:10D580000F8BF6081508F1EB1388F8091518105AD7 +:10D59000F3EC1289EE020F9C125AF8081510F1EC08 +:10D5A0001308F5E82008685E68654079EE090FBB4E +:10D5B00050884068EE020F8C1C5BEE080FAEF80836 +:10D5C0001508F1EC1388EE000F9A105BFC09151892 +:10D5D000F4081510F3EE1289F1EA1308125B407992 +:10D5E000F7E82003EE000F8BF6081508F1EB13881F +:10D5F000EE020FBCEE090FAE0A5CFC091518105CB8 +:10D60000F3EE12894068125CEE080F9B404A4048D6 +:10D61000F6091510A968F3EB1309F1EA1388F9E983 +:10D620002000105640394038B968F1E912882E04BC +:10D63000105640294028B169400AF3E81309EDE982 +:10D6400020021434C770E4081618408AF3DAC008C0 +:10D65000E208032EE2090326F1D0C208E2030F9983 +:10D66000E20803255019E2020FACE2030F8B6809B0 +:10D67000F6081508F1EB1388E20A0FBA125AF809F6 +:10D680001518105AF3EC1289E2000F9C125AF80890 +:10D690001510F1EC1308F5E82008E2030FBB506801 +:10D6A00040886819E2000F8AE2080FAC125BF408A8 +:10D6B0001508F8091518F1EA1388F3EC1289E2004D +:10D6C0000FBAE2020F9C105BF8081510125BF1EC28 +:10D6D0001308F7E8200850786829E2030FAC125AC3 +:10D6E000F8091518F3EC1289E2020F8BF6081508F9 +:10D6F000F1EB1388105A125A4089E2090F9B6839DE +:10D70000F6081510F1EB1308125EF5E82002EC099B +:10D710001508EA081518F3E61389F1E51288125E78 +:10D720004019105EB1694018F3E81309FDE92000C3 +:10D73000C0AB4089F1D3C1084CDBFDD9C008F60865 +:10D740000706E40A1618EBD0C208F60A0709F60520 +:10D750000708F60E070CF9E9118CF3D3C008F9E8B5 +:10D76000110C4088B988F608070AF6090708F3D2B1 +:10D77000C208F1EA1188F609070AF3D0C108680E59 +:10D78000F1EA1108F609070AF1EA10881C58F009B5 +:10D790001618405AB4B8B4894059F00A1610A9882E +:10D7A000B29AB2A8E6091618F609070AF3D0C0081B +:10D7B000F6090708F1EA1188408AF3DAC208F60987 +:10D7C000070AF3D2C108F1EA1108F609070A40591D +:10D7D000681EF1EA10881C58B2F8F0091618405A71 +:10D7E000B4C94059F00A1610A988B2DAB2E8E009C3 +:10D7F0001618F609070AF3D2C008F6090708F3D38A +:10D80000C208F1EA1188F609070AF1EA1108408A0C +:10D81000F3DAC108F609070A4059682EF1EA1088C0 +:10D820001C58F368000BF0091618405AF5690008F7 +:10D830004059F00A1610A988F36A0009F368000A33 +:10D840006839405AF9E6108C125CF8081618F80985 +:10D850001610F56C000FF568000CA98CF569000D29 +:10D86000F56C000E2F7DD8328003E2FC8003E1F0DE +:10D87000EBCD40C01897590BC030E3CF80C0E06CAF +:10D8800000B0F01F00061896CF900E9BF01F00040A +:10D890000C9CE3CD80C00000800092008002D3F099 +:10D8A000D431209D129714961895500B308A0C9BFA +:10D8B000FAC2FFE4049CF01F0034ECCBFFF8400AEE +:10D8C0000E9CA37AF01F00300A9C310BF01F002F32 +:10D8D0001893C57040082018EE08003840095028F9 +:10D8E0005C39400A5C59F40A00285019E9D8C0088C +:10D8F0003050FAC7FFF4FAC1FFEC40095809E08A3A +:10D90000002940251296308A049B0E9CF01F001EB1 +:10D91000FB390013E806000812580A9BFB68001345 +:10D92000308A029CF01F00180E9A0E9B069CF01F76 +:10D930000018308A0E9B049CF01F001320160A9CCE +:10D94000308A2085029BF01F00105806FE99FFDDEB +:10D95000401A2010E80A0008E9D8C0085BF0CCE1C2 +:10D96000069CF01F000C049C3A691988F208180004 +:10D97000C0812FFCFAC8FFDC103CCF812F7DD83A44 +:10D980002F7DDC3A800091DC8002D8708002D4BC0C +:10D99000800091E85EFD5EFCD4311A97202D109E28 +:10D9A000129514965809C4911638E0880057F0086B +:10D9B0001200C0D0F608094BF0091120FC08094EEE +:10D9C000F4090A49F4080946F3EB100BFC0516109C +:10D9D000F9DEC010F6050D0AEC0816101499F1EBEB +:10D9E0001108B93A103AE088000C20191C08103EC2 +:10D9F000E08B0007103AF7B90B01F1DEEB08F00AF3 +:10DA0000010BEDD6C010F6050D0AEDEB11061498CA +:10DA1000F40C024C0C3CE088000A20181C060C3E5A +:10DA2000E08B00050C3CF7B80B01F1E9110B300C51 +:10DA3000169A189B2FEDD8321639E08B0051F20C54 +:10DA40001200C53114385F8916355F381049F8095E +:10DA50001800C450301BC4585808C0513019F2087F +:10DA60000D08109EFC081200E08100911C1BFC05B3 +:10DA70001610F3DEC010301CF6050D0AEC08161067 +:10DA8000F4090243F1EB1108149B1033E088000CF9 +:10DA9000201B1C08103EE08B00071033F7BB0B0166 +:10DAA000F1DEEB08F0030103EDD6C010E6050D0230 +:10DAB000EDE311060498E40902490C39E088000AF4 +:10DAC00020181C060C3EE08B00050C39F7B80B0142 +:10DAD000F1EB110B169A189B2FEDD832300B169CD8 +:10DAE000169A189B2FEDD832F20C0945F80E11202A +:10DAF000F00C0943F40E0A46F00E0A48F60E0A4EE0 +:10DB00000A48F0011610FC010D04EEE5FFF8F60CD2 +:10DB10000949EBD8C010EDE910090896F20E16106D +:10DB2000EEF4FFF8EC05024BFDE4110E1C3BE0881F +:10DB300000072016100E1C38E088006D161EF3D961 +:10DB4000C010FC010D00F3E11109009BE005024E3D +:10DB5000123EE0880007201B10091238E0880055AB +:10DB6000F7E6110B1C19F60306420639C0935F094C +:10DB7000F40C094C043C5F38F3E80008C020201B7B +:10DB8000300C169A189B2FEDD832F6080949FC087C +:10DB9000094EF0011120FC051610F4010A42F601AD +:10DBA0000A411242E2050D00F3DEC010E406161031 +:10DBB0000093EDE11106E009024C0C3CE0880007FF +:10DBC00020131C060C3EE088002CEC0C0101F7D25F +:10DBD000C010E2050D00F7E1110B009CE0090241C5 +:10DBE0001631E088000C201C1C0B163EE08B000751 +:10DBF0001631F7BC0B01F7DEEB0BF4080946021BEC +:10DC0000F9E3110CC3AB123EF3D8EB09F7BB0B01E0 +:10DC1000CA8B1C3BF7B60B01FDD8EB0EC90B0C3CB5 +:10DC2000F7B30B01EDDEEB06CD1BD703D40130AA11 +:10DC3000300BF01F0002D8028002F0ECD4014848FB +:10DC4000169A189B700CF01F0003D802000005986C +:10DC50008002DC54D421F40B024BF01F00151897FE +:10DC6000C230F8FAFFFCE01AFFFC204AE04A002428 +:10DC7000E08B00181898593AE088000F300910A975 +:10DC800010A959BAE088000910A910A9E04A002497 +:10DC9000C03110A910A9300910A991199109C048E3 +:10DCA000300BF01F00040E9CD82200008002E2BC62 +:10DCB0008002E8BCD421300EF6C80001F60614013B +:10DCC000F808002818991897C07870046E050EA4FB +:10DCD00091052FFE20480C3ECF95F40B000B1897B2 +:10DCE000F6C80001300EF8080028A15BC078700566 +:10DCF0006E060EA591062FFE2048163ECF95F4C85D +:10DD00000001A15AF808002C3008C078780E720B78 +:10DD100012AE990B2FF8204C1438CF95D822D70388 +:10DD2000D431205D502C503816971496580C5F0B48 +:10DD300058075F0C1295F9EB100B40E33008F00B1D +:10DD40001800E081028058095F09580A5F08F3E86B +:10DD50000008F6081800E08102764BE4402B6808C2 +:10DD60001638E0840270EE08032C580CE080026B39 +:10DD70004B9BF01F003AC06168082FF88908E08FBC +:10DD8000026268085808C05130184B598908930836 +:10DD90005806C14032D90D88F20818005F0232B926 +:10DDA000F20818005F08E5E81008C0805802F9B2D0 +:10DDB0000101F9B200022FF6C0884AACF01F002A18 +:10DDC000F9B20102F9B200004A5870085818C61199 +:10DDD0005812C2B049F95822C4A0129872043001F6 +:10DDE00032DB32BA7009F2C0FFFFEE09032C580C87 +:10DDF000E080023B1989F6091800C0805803E080D2 +:10DE00000225F4091800E081022150015014492B29 +:10DE1000F01F0012C411EE04002C029B301A2FF4E4 +:10DE2000F01F0012E08F022148A87009EE090328B4 +:10DE30005808C2F0118A32DBF60A1800C2A0580353 +:10DE4000E080020832BBF60A1800E0810203C21823 +:10DE500000007AB88003EC008002ECC800007ABCB5 +:10DE60008003EC04800326948002DCB47208EE0880 +:10DE700003285808C0E0118832D9F2081800C09071 +:10DE80005803E08001E032B9F2081800E08101DBBC +:10DE90003009500950195805E08000A44BE4680887 +:10DEA000302AEE08032C4BDBF01F003DC0D0580396 +:10DEB000E08000986808EE080328118932B8F0095C +:10DEC0001800E081008F4B7468085818E081008AC0 +:10DED0004B187008302AEE08032C4B0BF01F003053 +:10DEE000F9B80002E9F80A004AB468084AD1EE0815 +:10DEF000032C620833DB100CF01F002B1893C0E1D9 +:10DF00006808EE08032CF01F002968096208EE0972 +:10DF10000323F80801081803C08868086209EE089E +:10DF20000328F8080108121850430A910C933FF493 +:10DF300030001096C4784989720849A9EE08032C6C +:10DF400072080C9A100CF01F0016C3A1620CF01F8F +:10DF500000171836C051069600944043C3C85BF4BE +:10DF6000C2E0493870085808C7C062081AD848A8E3 +:10DF700070096E08EE090329A564EA04030A1ADA97 +:10DF80001AD91AD848B8700848BB702CF01F000B7B +:10DF90002FCDC67800007AB88003EC008002E7102D +:10DFA00000007ABC8002ECAC8002EDD0000004A43A +:10DFB000000005988003EC1480031FE800942FF004 +:10DFC0002F01620B580BCB81069640435BF4C031A6 +:10DFD0000898C0A8E8081504EA0800087018C048A6 +:10DFE0003FF83003109458065F19F3E403F9C03189 +:10DFF0003006C5484BE162084BE3EE08032966088A +:10E000000C9CF208070BF01F003C1896C2D14BB8CD +:10E0100070085808C11062096608EE090329F20861 +:10E0200007081AD86E081AD84B5870084B5B702C2A +:10E03000F01F00352FED4AF8700B2FFB910B4AC9EA +:10E04000720AEE0A032CF80B070C300BF60C1800C2 +:10E05000F7BA00FFF3FA0A00F9B90001F1F90A0072 +:10E0600033F8109CC818199833A9F2081800C0306A +:10E070003008C08819A9F0091800F9B80002F9B8E9 +:10E08000010149CA49A97209EE09032974030D8ADD +:10E090002FF3F203000349D9930A5818C1505828A6 +:10E0A000C0405808C6C0C208078933D8F009180014 +:10E0B000F7B300FF4968078A3009F20A1800C10166 +:10E0C00030069106C718078933D8F0091800F7B34E +:10E0D00000FF30080789F0091800C1B048C8910353 +:10E0E0003019484891093006C5F8000000007AB898 +:10E0F00000007ABC8002ECAC000004A4000005988B +:10E100008003EC5080031FE8000004A000007AC0E8 +:10E110004C08402B70082FF81638C2954BE8700851 +:10E120005808C1C06E084BD71AD86E084BCB702C5C +:10E13000F01F003C2FFD5BF4C0906E08A5644BAB54 +:10E14000EA0403091AD9702CC0686E080D894B7B4C +:10E150001AD9702CF01F00332FFD4AE933A8720A38 +:10E16000109C2FFA930A4B299308C6D84B19EE0836 +:10E17000032A3018930A10964AF9C1584AE95BF409 +:10E18000C0D1720A2FFA930A4A2B760BEE0B032B9F +:10E19000F60A070AF00A1800C03130189308300850 +:10E1A0004A49109693085802C1B140094A285809B3 +:10E1B0005F19700858185F08F3E80008E4081800B1 +:10E1C000C0F04018ECCAFFFFEE08002C400BF01F17 +:10E1D000001B40182FF8F006000648E8C0A8496860 +:10E1E00070085818C07148B870092FF9F206000677 +:10E1F00091065BF4C240403B580BF7F41A00A5644B +:10E2000008056A3C6A285808C1E0910C300CC1B876 +:10E2100000007AB8000004A4000005988003EC70A8 +:10E2200080031FE88003EC948003EC9C000004A0B2 +:10E2300000007AC000007ABC8002DCB448C8700CD0 +:10E24000C0283FFC2FBDD83291002FF1FE9FFDCC9E +:10E25000488B97084888F2CAFFFF3019910A129C30 +:10E2600048389109CF0B48489104CECB000004A058 +:10E2700000007AC000007AB8D40130091AD9129887 +:10E28000F01F00022FFDD8028002DD20D401484893 +:10E29000189B700CF01F0003D802000000000598C6 +:10E2A0008003217CD4014848189B700CF01F0003A8 +:10E2B000D8020000000005988002E2BCD431F6C705 +:10E2C000FFF518955967F9B70810F9B80BF8EFD8AA +:10E2D000EB2716375F38F1E713F8C05030C899388C +:10E2E000E08F01F4F01F0050E04701F7E08B001CC5 +:10E2F000EE0316034CD8F003003870361036C061B8 +:10E30000ECC8FFF870361036C0C06C18E018FFFC7F +:10E310006C3AEC0800090A9C6C289528913AC4785C +:10E320002FE3C4D8EE081609C041EE031603C278E5 +:10E330005848E08B0006EE0316062C83C2085948A5 +:10E34000E08B0005F0C3FFA5C1A8E0480054E08BB6 +:10E350000006EE03160C2923C128E0480154E08B87 +:10E360000006EE03160F2893C0A8EE031612E0482D +:10E370000554E088000437E3C02828434ABAF40370 +:10E38000003A7436C1986C19E019FFFCF207010BD2 +:10E3900058FBE08A00042013C1186C38580BC0B534 +:10E3A0006C2AEC0900090A9C912A95387218A1A8D8 +:10E3B0009318CBD810961436CE712FF349BAF4CCFB +:10E3C000FFF878261836C6F06C19E019FFFCF20742 +:10E3D000010858F8E0890091993C992C5808C055DB +:10E3E000EC0900090A9CCE3BE04901FFE08B0013D9 +:10E3F000A399F4090038702B8D388D2B9736912610 +:10E40000A3497418301BF6090949F1E91009951957 +:10E41000C4A8F20816095848E08B000AF20A16064A +:10E420002C8AC2488002E8CA0000059C5948E08B4B +:10E430000005F0CAFFA5C1A8E0480054E08B000623 +:10E44000F20A160C292AC128E0480154E08B000684 +:10E45000F20A160F289AC0A8F20A1612E0480554CC +:10E46000E088000437EAC028284A4C8BF60A0034BA +:10E4700068280838C0E17619A34A301EFC0A094A08 +:10E48000F3EA100A1099971AC0A870280838C060DB +:10E49000701AE01AFFFC1439CF9370398D398D282A +:10E4A00091369326E6081402301B4B84F608094B7C +:10E4B0006818103BE08B006EF7E80009C0B1E0136C +:10E4C000FFFCA17B2FC3C0382FC3A17BF7E8000955 +:10E4D000CFC0E803003E06921C916236C2E86C1A77 +:10E4E000E01AFFFCF407010858F8E08A00156C3ABE +:10E4F0006C299529933A0E99EC070007A1A9993741 +:10E5000099278D19EE0809088F2C8F3CA1A80A9C29 +:10E510008F18C0D86C395808C0F5EC0A000A741876 +:10E52000A1A80A9C95186C2893289139F01F00180F +:10E53000ECCCFFF8D83212960236CD212FF2F1D270 +:10E54000C002C0302F81CCAB1C98F3D3C002C08175 +:10E550006819F60811FFF3E800088918C078F0C9B7 +:10E560000008201370081238CF10A17B6818103BE8 +:10E57000E08B0010580BC0D00493C0382FC3A17B90 +:10E58000F7E80009CA71CFBB0000059C8002E8CC07 +:10E5900068236612E012FFFC0E325F39E4070108BF +:10E5A00058F85FAAF5E91009E08000A24C887001D4 +:10E5B0004C882F0170080E015BF8C0402811E01153 +:10E5C000FF80029B0A9CF01F004418965BFCC6E08B +:10E5D000E6020008103CC0320833C6814BFA7409C9 +:10E5E000E209000995091036C0A1F5D6C007C0712F +:10E5F000E20200026828A1A29112C4C84B5A740B0F +:10E600005BFBC0319506C068EC0900094B3A101954 +:10E610009509F1D6C003F00911085808F20817103F +:10E62000EDD8E1062808EC0100010A9CE3D1C007FF +:10E63000F0010101029BF01F00284A885BFCEC0CF2 +:10E640001700F9B1000070090C1C8926020C120198 +:10E65000A1AC91018D1C0833C1D058F2E08B0005AC +:10E6600030188D18C238305920C2E012FFF8E60287 +:10E670000008912991196618F1D8C001E5E8100841 +:10E68000871858F2E0880007E6CBFFF80A9CF01FD5 +:10E6900000144949720A491870081438F3F8BA008E +:10E6A0004919720A1438F3F8BA0068287018E0188B +:10E6B000FFFC0E385F390E1858F85FAAF5E910090B +:10E6C000C1600A9CF01F0009D83A000000007ACC13 +:10E6D000000009A88002EBC800007AD08003217CEA +:10E6E00000007AC800007AC48002E8CC6826A1A89D +:10E6F0000E99A1A98D19EC0700070A9C89278F188C +:10E70000F01F0003ECCCFFF8D83200008002E8CC08 +:10E71000D4013008C0D8F808070EF6080709201AF7 +:10E720002FF8F20E1800C040FC09010CD802580A5C +:10E73000CF31149CD802588AC2F5F9EB1009E219BE +:10E740000003E0810097E04A0020C3B4F4081402FB +:10E75000F0091108FE09002F7669996976599959CF +:10E7600076499949763999397629992976199919E5 +:10E7700076099909F608002BF8080028E01A00032A +:10E78000F40A1104FE0A002F17A9B0A91799B0992D +:10E790001789B0895EFCF40A1109FE0A002F17F9E7 +:10E7A000B8F917E9B8E917D9B8D917C9B8C917B965 +:10E7B000B8B917A9B8A91799B8991789B8895EFC8B +:10E7C000EBCD40C01899220AB707B326B707B32686 +:10E7D000B707B326B707B326220ACF742F0AC0653E +:10E7E000B707B326B707B326210A5C3AFE0A003FF3 +:10E7F000D703D703F736000EF366000EF736000D89 +:10E80000F366000DF736000CF366000CF736000BCC +:10E81000F366000BF736000AF366000AF7360009C4 +:10E82000F3660009F7360008F3660008F7360007BC +:10E83000F3660007F7360006F3660006F7360005B4 +:10E84000F3660005F7360004F3660004F7360003AC +:10E85000F3660003F7360002F3660002F7360001A4 +:10E86000F3660001F7360000F3660000E3CD80C0D8 +:10E87000201AF60A0709F80A0B09CFB15EFCD40189 +:10E88000183BC192F60A0009123CC152F80A000B6B +:10E890003008C068F208070E201AF6080B0E201880 +:10E8A000580ACF91D802F6080709201AF8080B0970 +:10E8B0002FF8C0283008580ACF71D8021898C038ED +:10E8C00010CB201A580ACFD15EFC5EFC5EFCD70349 +:10E8D000D4014848169A189B700CF01F0003D80208 +:10E8E000000005988002E8E8D431201D16941892A3 +:10E8F000149B5804C051F01F005B1895C5B9500A0D +:10E90000F01F0059400BE8C10008F6C6FFF5621C75 +:10E910005966F9B60810F9B80BF8EDD8EB2616369B +:10E920005F38F1E613F8C05030C830058538C42987 +:10E930001890E010FFFC0C30E08401124CB8E200AB +:10E94000000970250A39C090721AA1CAF20A000A99 +:10E95000741AEDBA0000C220721AE01AFFFCF4002B +:10E9600000030A39C131ECC7FFF00E33C195E2064E +:10E9700000090C13A1A393139129049C6218089514 +:10E98000F1D8C00110468316C1390C33C0957228E6 +:10E990000297723993289139CE48300A1499EDBC08 +:10E9A0000000E080009D6207E20701076E1CE01C8A +:10E9B000FFFC5809C5E0F80000030A39C4811403BC +:10E9C000ECC9FFF01233C5556E3A6E299529933A7A +:10E9D000EEC5FFF8E0CA0004E04A0024E08B002501 +:10E9E0000A99593AE088001A09098B0909098F39EF +:10E9F000EEC9FFF059BAE0880011090B930B090921 +:10EA00008F59EEC9FFE8E04A0024C071090A930A51 +:10EA1000EEC9FFE0090A8F7A090A12AA680A930A66 +:10EA2000681A931AC0785008089B0A9CF01F0010BF +:10EA30004008EE0600090C13A1A393139129049C2E +:10EA40006E18F1D8C00110468F16CB2814030C3372 +:10EA5000C10572287239932891396E286E39C0F831 +:10EA60008002E2BC8002E8CA0000059C8002E87EC9 +:10EA7000F80000030C33C3356E396E2893289139A2 +:10EA8000E0CA0004EECCFFF8E04A0024E08B00244A +:10EA9000593AE088001A0908990809088F38EECC1D +:10EAA000FFF059BAE08800110908990809088F5841 +:10EAB000EECCFFE8E04A0024C07109089908EECCCA +:10EAC000FFE009088F78090818A8680899086818ED +:10EAD0009918C478089BF01F0039C438049CF01FB3 +:10EAE00000381895C3A06218F8C90008A1C8E20848 +:10EAF00000081039C07172130297E013FFFC000385 +:10EB0000C308E0CA0004E04A0024E08B0020089912 +:10EB10001898593AE0880014130B10AB130B10AB84 +:10EB200059BAE088000D130B10AB130B10ABE04A81 +:10EB30000024C051130A10AA130A10AA130A10AA1B +:10EB4000720A910A72199119C048089BF01F001BA4 +:10EB5000089B049CF01F001B049CC2A80093029712 +:10EB6000E60601096E1858F9E0880016F1D8C001D0 +:10EB7000EDE810088F181298A1A8EE06000BF60910 +:10EB8000000997187218A1A82F8B9318049CF01FE6 +:10EB9000000DC0B8F1D8C001E7E810088F18EE03E7 +:10EBA00000036618A1A88718049CEEC5FFF8F01FA3 +:10EBB00000060A9C2FFDD8328002E87E8002E2BC6B +:10EBC0008003217C8002E8CCD42130081897487655 +:10EBD000169C8D08F01F00065BFCC0516C0858089D +:10EBE000EFF81A03D822000000008CC48002F1E87C +:10EBF0005EFDD703D421217DE06802041697BA6830 +:10EC0000504C500CF01F000B3008512850D848A829 +:10EC100050983FF8BA784898505C501CFAC9FF9059 +:10EC20000E9A700C1A9BF01F00062E9DD822000031 +:10EC30008002EDD08002EBF00000059880030C4CC0 +:10EC4000D421217D4988FAC9FF9016977006580B88 +:10EC5000C064E068008B3FFC8D38C228580BF60872 +:10EC600017005807F9BB01FFEFDBE10850585028A7 +:10EC7000E0680208BA683FF8504C500CBA781A9B0A +:10EC80000C9CF01F000A5BFCC044E068008B8D38D0 +:10EC90005807F9B90100FBF81000F1F91E002E9D8C +:10ECA000D8220000000005988002F5685C5BC0284F +:10ECB0002FFC19885808C050F6081800CFA15EFC38 +:10ECC000580B5E0C5E1DD703F9EB100AE21A000325 +:10ECD000C341780A76095CEAC170123AC151781AC8 +:10ECE00076195CEAC110123AC0F1782A76295CEAFA +:10ECF000C0B0123AC091783A76395CEAC0502F0C15 +:10ED00002F0B123ACE70F9DAC308F7D9C3085E0C9C +:10ED1000161C5E1CF9DAC208F7D9C2085E0C161C74 +:10ED20005E1CF9DAC108F7D9C1085E0C161C5E1C1E +:10ED30005C5A5C59121A5EFA178A1989580A5E09D8 +:10ED400014195E19179A1999580A5E0914195E194F +:10ED500017AA19A9580A5E0914195E1917BA19B920 +:10ED6000580A5E0914195E192FCB2FCCCE6B000008 +:10ED70003008F6080709F8080B092FF85809CFA141 +:10ED80005EFCD703D4014848189B700CF01F0003A9 +:10ED9000D8020000000005988002ED9CD42118974D +:10EDA0001696169CF01F0008F8C5FFFF0E9C0A9BE4 +:10EDB000F01F00061897C0500A9A0C9BF01F000421 +:10EDC0000E9CD8228002EDD08002E2BC8002E736A1 +:10EDD00030091898C0282FF8118AF20A1800CFC1FC +:10EDE000F00C010C5EFC580AC0815EFA580AC0B0F3 +:10EDF0005808C0902FFC2FFB201A19881789F0099A +:10EE00001800CF50198C1788101C5EFC3008103A7F +:10EE10005E0CF6080709F8080B092FF85809CF818E +:10EE2000103A5E0CF8080B092FF8CFBBD401484804 +:10EE3000169A189B700CF01F0003D802000005986A +:10EE40008002EE44D421300816951696C0282FF67D +:10EE5000580AC060201A0D89F0091800CF910A16CF +:10EE6000ECCBFFFFF01F00071897C0800A9B0C9A9D +:10EE7000F01F00053008EE060B080E9CD82200009B +:10EE80008002E2BC8002E736D42118981696580B0F +:10EE9000C0C03007C0481897F8C8FFFF109C0C9BF3 +:10EEA000F01F0005CF91C048F01F000318970E9C7B +:10EEB000D82200008002ECACD421201D4A351897DE +:10EEC0006A04E8F600E85806C351500B350CF01FF1 +:10EED00000206A08E94C00E8F0F900E89326930660 +:10EEE0009316F0F900E893469336F0F900E893663C +:10EEF0009356F0F900E893B693A6F0F900E893D69C +:10EF000093C6F0F900E893F693E6F0F900E8F346CB +:10EF10000044F3460040F0F900E8F346004CF346A5 +:10EF20000048F0F900E8F366001CF0F800E8400B38 +:10EF30009196486870080E9CF0FA00E83019F01FAE +:10EF400000052FFDD8220000000005988002E2A4F1 +:10EF50008002EF54D421580CC041740C580CC2905C +:10EF600018981697113EC0A80C3EC0815809C030B1 +:10EF7000109CCF7B9508B889D8220F365806CF5100 +:10EF8000580EC051950E1C9CD822129810991697B5 +:10EF9000133E0F361C36C0A1580EFC091700F9BBF2 +:10EFA0000100F1FB1E009509D8225806CF31CEEBA7 +:10EFB000D822D703D431203D4CC8502C700116986C +:10EFC000113EE20E0706E2160008CFB1E04E002D1A +:10EFD000C041113E3016C058E04E002BC021113EFA +:10EFE00058095F0C59095F053007F9E51005EE0572 +:10EFF0001800C1E0E04E0030C131118535843783FF +:10F00000E80518005F04E60518005F05E9E510054E +:10F01000EE051800C050119E31092FE8C098580C19 +:10F02000C070E04E0030F9B90008F9B9010AE06C8F +:10F03000FFFFEA1C7FFF3007FC1580000E930E36A1 +:10F04000F80517000E9CEA090D0408925005E20E1F +:10F050000704E1D4C001F9B00137F9B000575010EE +:10F06000FCC500300890E2100004C0814010E9D4D3 +:10F07000C002FC0001055804C1C01235C1A4043C03 +:10F080005FBEFDE713FEE60E1800C101043C5F0EF3 +:10F0900040070E355F97EFEE000EE60E1800C061D8 +:10F0A000B33C3017EA0C000CC0283FF7113ECD0BE3 +:10F0B0005BF7C0E1E069FFFFEA197FFFFC1C8000FD +:10F0C00040205806F20C170032298139C0485806F2 +:10F0D000FBBC0100580AC0705807F9B901FFF1D90B +:10F0E000E10B950B2FDDD8320000049CD401485869 +:10F0F0001499169A189B700CF01F0003D802000098 +:10F10000000005988002EFB43028D6733FFC358BA1 +:10F11000580C5E4C482A950B5EFC000000008CC425 +:10F120003058D6733FFC358B580C5E4C482A950BF3 +:10F130005EFC000000008CC43038D6733FFC358B79 +:10F14000580C5E4C482A950B5EFC000000008CC4F5 +:10F150003048D6733FFC358B580C5E4C482A950BD3 +:10F160005EFC000000008CC430B8D6733FFC358BC9 +:10F17000580C5E4C482A950B5EFC000000008CC4C5 +:10F180003098D6733FFC358B580C5E4C482A950B53 +:10F190005EFC000000008CC4D421210D16971A9B40 +:10F1A000F01F0011C0343FFCC1C84008AE08401831 +:10F1B000AE1840288F184038AE484048AE584058E6 +:10F1C000AE684068AE7840888F4840A88FB840C885 +:10F1D0008FC840D88F5840E8300C8F7840F88F980F +:10F1E0002F0DD8228002F180D40148C87009580937 +:10F1F000C03148B99109489948AA7208F00C000C2E +:10F20000143CE08B0004930CC068F01F000730C86A +:10F2100099083FF8109CD80200007AF800008CC8CA +:10F220000000F00080031D20D431208DFAC4FFBC03 +:10F23000504B682E505812967C0B7005506E580B30 +:10F24000F40B17006803681140493008C2C92FFB4E +:10F25000325C178AF80A18005F1EF00A18005F1C5B +:10F26000FDEC000CF00C1800CF31580AE0800129A9 +:10F27000300C3FFA1890503A18941892F80C003C51 +:10F280001697507C4CDC0F3AF80A070E407C1C0C99 +:10F290004CBEFC0C070E201E500E4CAEFC0C070C96 +:10F2A000507C400C587CE08B00F84C7EFC0C032F0B +:10F2B000368BF60A1800E08000F0371BF60A1800BB +:10F2C000C07034CBF60A1800C051A3B4CE58A5B410 +:10F2D000CE380F8B36CAF40B1800C051A5B4EECB54 +:10F2E000FFFFCDB8A5A4CD88EBD5C005367CF80AC4 +:10F2F0001800E08B0027365BF60A1800C48234FB46 +:10F30000F60A1800C480E08B000C345BF60A180083 +:10F31000C3E0347BF60A1800C3A0344BC088358B99 +:10F32000F60A1800C2C0E08B0007355BF60A180029 +:10F33000C351C318363BF60A1800C2F0364BC0E87A +:10F34000370BF60A1800C250E08B000D36EBF60AB8 +:10F350001800C1F0E08B0014369BF60A1800C1E1DA +:10F36000C0E8375BF60A1800C0A0378BF60A180011 +:10F37000C060373BF60A1800C111C0B8EDB40004F4 +:10F38000C0A0EDB40005C0913020C0883040C068F6 +:10F390003030C0483010C0283000403B5BFBC040DC +:10F3A000E20B0920C7985860E08B00776C0AEACC22 +:10F3B000FFFF486EFC00032F8003EE088003ED641E +:10F3C0008003ECF88003ECAC8003ECCCF4CBFFF8CA +:10F3D0008D0BF4EA0000E605083AC0F8F4CBFFFC18 +:10F3E0008D0B740AE605093AC088F4CBFFF88D0B43 +:10F3F000F4EA0000E605083A0E9B1895C4E8620A94 +:10F400005BFAC0B150195028E06A0080300B029CB2 +:10F41000F01F004D40284019E4CC00010E9B503CE9 +:10F42000F20C0C49C3A8620A5BFAC0B1501950280B +:10F43000E06A0080300B029CF01F00434028401916 +:10F440002012300A0E9BE202092AF2020C49C2582D +:10F4500016976C0AF4CBFFFC8D0B740A0E9BE60525 +:10F46000093A2FF5C1A8F4C20030C068E4020022B6 +:10F470002FF7F40200120F8A580AC0E0230A589AA4 +:10F48000FE98FFF6C0982FF70F8A580AC050230A3B +:10F49000589AFE98FFFA0E9B407C30BAF40C180084 +:10F4A000FE91FEEE4042178C0A325F4AF00C1800C3 +:10F4B0005F1CF9EA000AF00A1800FE91FECB300842 +:10F4C000404E178AE2050021F00A1800FC091710C7 +:10F4D000E6050038069EC2A8620A583AC1E0E089F3 +:10F4E0000007581AC1A0582AC181C058585AC0C034 +:10F4F000C0B5C1386C0AF4CCFFF88D0CF4E2000002 +:10F50000F0E30000C1086C0AF4CCFFF88D0CF4E2C3 +:10F510000000F0E30000C0786C0AF4CCFFFC8D0C16 +:10F52000740A910A2FF52F882FC11235FE9AFFD643 +:10F530001C934052406E85059D0B404BE60B003CF2 +:10F540002F8DD8328002E8BCD42114977428580833 +:10F55000C0419518109CD822F01F000330088F1866 +:10F560008F28D82280032320D431FACD068850A9D1 +:10F57000169014971893580CC06078685808C031DA +:10F58000F01F004E4CE81030C0316600C0A84CD8C7 +:10F590001030C0316610C0584CB81030E7F000028F +:10F5A0008068EDB80003C04160485808C071009BF6 +:10F5B000069CF01F0046E0810B4080681099E2191C +:10F5C000001A58A9C3D18079300AF4091900C385FB +:10F5D000A1D8FB5805B86088FB4805CC60A8FB485B +:10F5E00005D4FAC8FFD4FB4805BCFB4805ACE0686D +:10F5F0000400FB4805C0FB4805B43008FB5905BAB8 +:10F600000E9A40A9FAC7FA54FB4805C4069C0E9B03 +:10F61000F01F002F506CC0950E9B069CF01F002D14 +:10F62000406EF9BE01FF506EFB0805B8EDB800064C +:10F63000E0810B058068A7A8A068E08F0B00300868 +:10F64000FAC4F9F85098FB480678409CFB480674C9 +:10F65000FB48067CFB48068050573FF8FB44067089 +:10F66000FB48052C506C1896069150204055C02838 +:10F670002FF50B88300B325AF60818005F19F40882 +:10F6800018005F181268F6081800CF314059EA09CF +:10F690000107C2E0FAF806780E088909FB480678E7 +:10F6A0008917FAF806742FF8FB4806745878E08931 +:10F6B00000132F84C1A8000080031F388003EF2CA3 +:10F6C0008003EF4C8003EF6C80031C388002F568E8 +:10F6D00080031D2CFACAF990402B029CF01F00A158 +:10F6E000E0810AA6FAC4F9F840680E0850680B8851 +:10F6F0003007EE081800E0800A8AEAC2FFFF3003F4 +:10F700005052FB6706873FFE50745043503E0690B0 +:10F71000508506920C944057C0683FFC0A97503CB5 +:10F72000C02830000F38C0281292E0480063E08003 +:10F7300001CCE0890045E0480039E0890026E04836 +:10F740000031E0840198E048002BE0800101E0896D +:10F75000000FE0480023E080008EE048002AE080AF +:10F76000008CE0480020E0810897C7B8E048002EF0 +:10F77000E08000F1E0480030E080017BE048002DAF +:10F78000E081088ACE28505750420897408540743F +:10F790001092E048004FE0800439E0890008E0481A +:10F7A0000044E081087DE08F01DEE0480055E08004 +:10F7B00005DFE0480058E0810873C428E048006F86 +:10F7C000C430E089001FE0480069C450E089000AA5 +:10F7D000E0480064C400E0480068E081085DC63984 +:10F7E000E048006CE0800163505750420897408524 +:10F7F00040741092E048006EE0810852E08F02ED04 +:10F80000E0480073E0800553E089000BE048007099 +:10F81000E08004F9E0480071E081083EC5295057B6 +:10F8200050420897408540741092E0480075E0808F +:10F8300005A0E0480078E0810833E08F06964CABE5 +:10F84000509BE08F06945057408508975042407473 +:10F85000E08F03DD50574085089750424074C83907 +:10F86000FB380687300AF4081800FE91FF5D320865 +:10F87000C6E8A1A3C58B0F89F2C800305898E08B69 +:10F88000001EEEC8FFFF300B2309F60B002BF20B16 +:10F89000001B1139F2CA0030589AFE98FFF7E04970 +:10F8A0000024FE91FF40E04B0020E08909C1201BAD +:10F8B000FAF90680123BC095C108FAF90680ECCA35 +:10F8C000FFFF1236C1F5C268FAC9F9781097F20B3A +:10F8D000003BF6F2FDA4C358FAC7F9841AD7109773 +:10F8E000FAC2FAD01AD2FAC8FBCC029C1AD8FAC8CB +:10F8F000F974FAC9FFCC40BAF01F001C2FDD780262 +:10F90000C208FACEF9781496FC040038F0F2FDA48F +:10F91000C18840A859F9E0890011F0CBFFFC50AB39 +:10F920007002FACCF978F8090038F142FDA42FF9F9 +:10F930001496FB490680C058700214962FC850A830 +:10F940005802FE94FEF15C32A3A3CEDAFB68068770 +:10F95000CEAA0F38E048002AC0A03009C7D800005E +:10F960008002F5488003EDD08002F2280F88F0C9AC +:10F9700000305899E08B001EEEC5FFFF300B2308C6 +:10F98000F60B002BF00B001B0B38F0C90030589918 +:10F99000FE98FFF7E0480024FE91FEC5E04B0020F2 +:10F9A000E0890946201BFAF80680103BC095C10883 +:10F9B000FAF90680ECCAFFFF1236C1F5C288FACA0E +:10F9C000F978F40B003BF6FBFDA4503BC3C8FAC921 +:10F9D000F9841AD9FAC8FAD01AD8FAC8FBCC029C12 +:10F9E0001AD8FAC8F974FAC9FFCC40BAF01F027AE3 +:10F9F0002FDD780C503CC278FACEF9780E95FC04D5 +:10FA000000381496F0F8FDA45038C1D840A859F930 +:10FA1000E0890014F0CBFFFC700850AB5038FACCF2 +:10FA2000F978403BF8090038F14BFDA42FF90E9509 +:10FA3000FB4906801496C07870090E952FC850397E +:10FA4000149650A840385808FE95FE690A97C6BA21 +:10FA5000F40B00190F38F209002BF0CA0030589A45 +:10FA6000FE98FFF83FFEF20E0C495039C5FAA7B3D5 +:10FA7000C5AA30092308F2090029F00900190F3836 +:10FA8000F0CA0030589AFE98FFF7E0480024FE9133 +:10FA9000FE4DE0490020E08908CBF2C4000130109F +:10FAA000FE9FFE42A7A3FE9FFE3F0F89F0091800AC +:10FAB000C0512FF7A5B3FE9FFE37A5A3FE9FFE34CE +:10FAC000A5B3FE9FFE3150575042089740854074C1 +:10FAD0000C99FAF806805800C1D01037C064FACCEF +:10FAE000F978F8070037C1D8FAC8F9841AD8FAC8E3 +:10FAF000FAD01AD8FAC8FBCC1AD8FAC8F974FAC9DD +:10FB0000FFCC0A9A0E9B029CF01F02332FDD19B81E +:10FB1000C2282FF61039C084FACBF978F6070037DF +:10FB2000EF38FDA7C18840A959F8E0890012F2CA50 +:10FB3000FFFC50AA7209FAC2F978E408003A2FF8DB +:10FB4000F549FDA4FB480680F1D9C008C04813B8A8 +:10FB50002FC950A9300EFB680648FB6E0687E08F60 +:10FB600006A7A5A30C92EDB30005C4D1FAF8068050 +:10FB70005800C1E01037C064FACCF978F8070037B4 +:10FB8000C1F8FAC8F9841AD8FAC8FAD00A9A1AD869 +:10FB9000FAC8FBCC1AD8FAC9FFCCFAC8F9740E9B84 +:10FBA000029CF01F020D2FDD781A7809C288ECC282 +:10FBB000FFFF1036C0A4FACBF978F6070037EEFA4B +:10FBC000FDA8EEF9FDA4C1B840A959F8E0890013D9 +:10FBD000F2CAFFF850AAFAC6F978721AEC08003B8C +:10FBE0007209F74AFDA8F749FDA42FF8FB480680E3 +:10FBF000C068F2C8FFF8721A50A87209049650093A +:10FC0000501ACD58EDB30004C441FAF806805800EC +:10FC1000C1D01037C064FACEF978FC070037C1E8CC +:10FC2000FAC8F9841AD8FAC8FAD00A9A1AD8FAC8BF +:10FC3000FBCC0E9B1AD8029CFAC8F974FAC9FFCC07 +:10FC4000F01F01E52FDD780AC218ECC2FFFF103665 +:10FC5000C084FACCF978F8070037EEFAFDA4C16841 +:10FC600040A959F8E0890010F2CAFFFC50AAFACB6B +:10FC7000F978720AF6080039F34AFDA42FF8FB4818 +:10FC80000680C048720A2FC950A90496501AC8D8D5 +:10FC9000EDB30006C481FAF806805800C1D01037D1 +:10FCA000C064FAC8F978F0070037C1E8FAC8F984E7 +:10FCB0001AD8FAC8FAD01AD8FAC8FBCC1AD8FAC897 +:10FCC000F974FAC9FFCC0A9A0E9B029CF01F01C27C +:10FCD0002FDD9818C238ECC2FFFF1036C084FAC678 +:10FCE000F978EC070037EF08FDA6C18840A959F85C +:10FCF000E0890012F2CAFFFC50AA7209FACEF97824 +:10FD0000FC08003A2FF8F549FDA4FB480680F1D91C +:10FD1000B010C04892182FC950A950180496BF5867 +:10FD20005008C458FAF806805800C1D01037C06493 +:10FD3000FACBF978F6070037C1E8FAC8F9841AD87F +:10FD4000FAC8FAD00A9A1AD8FAC8FBCC0E9B1AD86D +:10FD5000029CFAC8F974FAC9FFCCF01F019F2FDD8D +:10FD6000780AC218ECC2FFFF1036C084FACAF978CC +:10FD7000F4070037EEFAFDA4C16840A959F8E089FC +:10FD80000010F2CAFFFC50AAFAC6F978720AEC0811 +:10FD90000039F34AFDA42FF8FB480680C048720AD8 +:10FDA0002FC950A90496501ABF5A500AFAEA000007 +:10FDB000580A5C2BC0E43008FAEA00003009F00A67 +:10FDC000010AF20B014B32D8FAEB0000FB68068700 +:10FDD0003010E08F04E30C99EDB30005C471FAF81C +:10FDE00006805800C1D01037C064FACAF978F40709 +:10FDF0000037C1D8FAC8F9841AD8FAC8FAD00A9AD2 +:10FE00001AD8FAC8FBCC0E9B1AD8029CFAC8F9740F +:10FE1000FAC9FFCCF01F01702FDD780AC2082FF657 +:10FE20001039C084FAC9F978F2070037EEFAFDA458 +:10FE3000C16840A959F8E0890010F2CAFFFC50AA35 +:10FE4000FAC3F978720AE6080039F34AFDA42FF8DC +:10FE5000FB480680C048720A2FC950A94062049826 +:10FE60009512BF589508FE9FFC03EDB30004C441F2 +:10FE7000FAF806805800C1D01037C064FACEF9787D +:10FE8000FC070037C1D8FAC8F9841AD8FAC8FAD0E2 +:10FE90000A9A1AD8FAC8FBCC0E9B1AD8029CFAC848 +:10FEA000F974FAC9FFCCF01F014C2FDD780AC208A3 +:10FEB0002FF61039C084FACCF978F8070037EEFA3B +:10FEC000FDA4C16840A959F8E0890010F2CAFFFCFE +:10FED00050AAFACBF978720AF6080039F34AFDA461 +:10FEE0002FF8FB480680C048720A2FC950A9406904 +:10FEF0009509FE9FFBBDE2130040C440FAF806805E +:10FF00005800C1D01037C064FAC8F978F00700373C +:10FF1000C1D8FAC8F9841AD8FAC8FAD00A9A1AD8F5 +:10FF2000FAC8FBCC0E9B1AD8029CFAC8F974FAC91D +:10FF3000FFCCF01F01292FDD780AC2082FF61039F7 +:10FF4000C084FAC3F978E6070037EEFAFDA4C16869 +:10FF500040A959F8E0890010F2CAFFFC50AAFAC281 +:10FF6000F978720AE4080039F34AFDA42FF8FB4837 +:10FF70000680C048720A2FC950A9406EB40EFE9F79 +:10FF8000FB77FAF806805800C1D01037C064FACC6D +:10FF9000F978F8070037C1D8FAC8F9841AD8FAC82E +:10FFA000FAD00A9A1AD8FAC8FBCC0E9B1AD8029C2F +:10FFB000FAC8F974FAC9FFCCF01F01072FDD780ADF +:10FFC000C2082FF61039C084FACBF978F60700374B +:10FFD000EEFAFDA4C16840A959F8E0890010F2CA00 +:10FFE000FFFC50AAFAC3F978720AE6080039F34A0E +:10FFF000FDA42FF8FB480680C048720A2FC950A9FB +:02000004800377 +:1000000040629502FE9FFB34A5A30C99EDB3000559 +:10001000C571FAF806805800C2601037C0A4FACE45 +:10002000F978FC070037EEEAFDA4FAEB0000C1887E +:10003000FAC8F9841AD8FAC8FAD01AD8FAC8FBCC88 +:100040001AD8FAC8F974FAC9FFCC0A9A0E9B029C16 +:10005000F01F00E12FDDF8E80000FAE900003000B1 +:10006000E08F03992FF61039C0B4FAC8F978F00779 +:100070000037EEEAFDA4FAEB0000E08F038C40A904 +:1000800059F8E0890016F2CAFFF850AAF2EA000017 +:10009000FAEB0000FACAF978F4080039FAEA00002D +:1000A000F2EBFDA42FF8FB480680E08F0374F2EA20 +:1000B00000002F89FAEB000050A9E08F036CEDB32C +:1000C0000004C141FAF806805800C0801037C60409 +:1000D000FACAF978F4070037C7782FF61039C774D1 +:1000E000FAC9F978F2070037C6F8EDB30006C45133 +:1000F000FAF806805800C1D01037C064FACCF978FD +:10010000F8070037C1D8FAC8F9841AD8FAC8FAD063 +:100110001AD8FAC8FBCC1AD8FAC8F974FAC9FFCCB5 +:100120000A9A0E9B029CF01F00AC2FDD9818C22883 +:100130002FF61039C084FACBF978F6070037EF08AC +:10014000FDA6C18840A959F8E0890012F2CAFFFC57 +:1001500050AA7209FAC2F978E408003A2FF8F54972 +:10016000FDA4FB480680F1D9B010C04892182FC9F1 +:1001700050A95C785018C418FAF806805800C1D00D +:100180001037C064FACCF978F8070037C1D8FAC83C +:10019000F9841AD8FAC8FAD00A9A1AD8FAC8FBCC45 +:1001A0000E9B1AD8029CFAC8F974FAC9FFCCF01F4A +:1001B000008A2FDD780AC2082FF61039C084FACBE6 +:1001C000F978F6070037EEFAFDA4C16840A959F89E +:1001D000E0890010F2CAFFFC50AAFAC2F978720A4C +:1001E000E4080039F34AFDA42FF8FB480680C04814 +:1001F000720A2FC950A9501A300E500E1C90E08F71 +:1002000002CA505750420897408540740C99FAF83A +:1002100006805800C1D01037C064FACCF978F807CE +:100220000037C1D8FAC8F9841AD8FAC8FAD01AD84F +:10023000FAC8FBCC1AD8FAC9FFCCFAC8F9740A9AE2 +:100240000E9B029CF01F00642FDD7809C2182FF668 +:100250001039C084FACBF978F6070037EEF9FDA41F +:10026000C17840A959F8E0890010F2CAFFFC50AAF1 +:10027000FAC2F9787209E408003AF549FDA42FF8AA +:10028000FB480680C058F2C8FFFC50A8720933082A +:10029000300EFB6806844D1C37885019A1B3FB68EB +:1002A0000685500E509CE08F02755057300B50421F +:1002B000FB6B06870897408540740C99FAF8068016 +:1002C0005800C1D01037C064FACAF978F407003773 +:1002D000C1D8FAC8F9841AD8FAC8FAD01AD8FAC814 +:1002E000FBCC0E9B1AD80A9AFAC8F974FAC9FFCC4B +:1002F000029CF01F00392FDD7807C2082FF6103955 +:10030000C084FAC9F978F2070037EEF7FDA4C16896 +:1003100040A959F8E0890010F2CAFFFC50AA720700 +:10032000FAC2F978E4080039F347FDA42FF8FB4836 +:100330000680C04872072FC950A9403E580EC1051B +:100340001C9A300B0E9CF01F0026E08002B6F807C6 +:100350000105403C1835E08902B0E08F02AF0E9CE9 +:100360003000F01F00201895E08F02A9A5A30C997A +:10037000EDB30005C581FAF806805800C2001037B9 +:10038000C064FACBF978F6070037C208FAC8F984D6 +:100390001AD8FAC8FAD00A9A1AD80E9BFAC8FBCC17 +:1003A000029C1AD8FAC8F974FAC9FFCCF01F000AE7 +:1003B0002FDDF8EA0000FAEB0000C3282FF6103911 +:1003C000C124FACAF978F4070037EEE8FDA4FAE987 +:1003D0000000C2688002F2288003EDE4800328A4B4 +:1003E0008002EDD040A959F8E0890015F2CAFFF863 +:1003F00050AAF2EA0000FAEB0000FACAF978F40811 +:100400000039FAEA0000F2EBFDA42FF8FB48068061 +:10041000C078F2EA00002F89FAEB000050A93010F2 +:10042000E08F01B9EDB30004C141FAF8068058002D +:10043000C0801037C604FACAF978F4070037C778C5 +:100440002FF61039C774FAC9F978F2070037C6F8E1 +:10045000EDB30006C451FAF806805800C1D0103739 +:10046000C064FACCF978F8070037C1D8FAC8F98423 +:100470001AD8FAC8FAD01AD8FAC8FBCC1AD8FAC8CF +:10048000F974FAC9FFCC0A9A0E9B029CF01F0086F1 +:100490002FDD9818C2282FF61039C084FACBF978CE +:1004A000F6070037EF08FDA6C18840A959F8E08992 +:1004B0000012F2CAFFFC50AA7209FAC2F978E408E5 +:1004C000003A2FF8F549FDA4FB480680F1D9B01099 +:1004D000C04892182FC950A95C785018C418FAF86F +:1004E00006805800C1D01037C064FACCF978F807FC +:1004F0000037C1D8FAC8F9841AD8FAC8FAD00A9ACB +:100500001AD8FAC8FBCC0E9B1AD8029CFAC8F97408 +:10051000FAC9FFCCF01F00642FDD780AC2082FF65D +:100520001039C084FACBF978F6070037EEFAFDA44B +:10053000C16840A959F8E0890010F2CAFFFC50AA2E +:10054000FAC2F978720AE4080039F34AFDA42FF8D8 +:10055000FB480680C048720A2FC950A9501A300EB5 +:100560003010500EC1794D1C509CEDB30005C541B3 +:10057000FAF806805800C2201037C0A4FACBF978E8 +:10058000F6070037EEE8FDA4FAE90000CF28FAC824 +:10059000F9841AD8FAC8FAD00A9A1AD80E9BFAC85F +:1005A000FBCC029C1AD8FAC8F974FAC9FFCCF01F28 +:1005B000003E2FDDF8EA0000C0C8ECCAFFFF10368D +:1005C000C0B4FAC9F9781496F2070037EEEAFDA430 +:1005D000FAEB0000CCE840A959F8E0890016F2E6F1 +:1005E0000000F2CBFFF8FAE7000050ABFAC6F9784A +:1005F000EC080039FAE60000F2E7FDA42FF81496A3 +:10060000FB480680CB68F2E600002F89FAE700007D +:1006100050A91496CAE8EDB30004C161FAF8068047 +:100620005800C0801037C6A4FACEF978FC0700370E +:10063000C838ECCAFFFF1036E0840082FACCF978A3 +:10064000F8070037C788EDB30006C4D1FAF8068072 +:100650005800C1D01037C064FACCF978F8070037D9 +:10066000C1F8FAC8F9841AD8FAC8FAD01AD8FAC860 +:10067000FBCC1AD8FAC8F974FAC9FFCC0A9A0E9BB7 +:10068000029CF01F00092FDD9818C2A8ECCAFFFFDA +:100690001036C0D4FACBF9781496F6070037EF0875 +:1006A000FDA6C1E88002F2288003EDE440A959F8D4 +:1006B000E0890013F2CBFFFC50AB7209FAC6F9785F +:1006C000EC08003B2FF8F749FDA4FB480680149680 +:1006D000F1D9B010C058921814962FC950A95C785F +:1006E0005018C458FAF806805800C1D01037C064BA +:1006F000FACCF978F8070037C1F8FAC8F9841AD8A3 +:10070000FAC8FAD00E9B1AD8FAC8FBCC0A9A1AD8A3 +:10071000029CFAC8F974FAC9FFCCF01F00C42FDD9F +:10072000780BC248ECCAFFFF1036C094FACBF978B8 +:10073000F60700371496EEFBFDA4C18840A959F8CE +:10074000E0890011F2CBFFFC50ABFAC6F978720BCE +:10075000EC080039F34BFDA42FF81496FB480680F3 +:10076000C058720B14962FC950A9501B300E500E52 +:100770004008401C300B18485F18E7E80008F608EE +:100780001800C0703308FB620685A1B3FB680684BD +:100790003020300AFB6A068740395809C025A7D3A4 +:1007A0004038401758085F194008FAC5F9900E48BC +:1007B00030025F18F3E81008E4081800C5E03018AC +:1007C000F0001800C0603028F0001800C051C3E8E5 +:1007D0000A970690C2C80A97FAE80000F5D8C00345 +:1007E0002D0A0EFAF00B1603F20C1603F7E911DBD3 +:1007F0001899169858085C29CF21FAE90000EDB342 +:100800000000C4613309F20A1800C4200EF9C408BC +:10081000F01F008730A82D0A3009AE8AFAEA0000DE +:10082000F01F008416991498FAE90000EECC00013C +:1008300030A83009FAEA00001897589A5C2BFE9B02 +:10084000FFE91BF800932D08C2080A97FAE8000098 +:10085000F5D8C004409EFC0A070A0EFAF20B1604F3 +:10086000F00A1604F5E911CA1699149858085C297B +:10087000CF01FAE90000C0C85800C091EDB30000F4 +:10088000C061FAC7F9913308AE88C0280A970E15DF +:100890004030C14850425057407410925802E08096 +:1008A00001B6300CFB620648FB6C06873015300041 +:1008B000FAC7F9B8C03840353000069A0699E21AEE +:1008C0000002E2190084508A5079EA000C42FB3899 +:1008D0000687300BF6081800F7B201FF580AF7B286 +:1008E00001FE5809C4514048041850385808E0899E +:1008F000001DC3E8FB4C06784CFE310C890E891CA8 +:10090000FB4B0674587BE08900042F84C0B8FACAF8 +:10091000F990402B029CF01F0049E0810189FAC444 +:10092000F9F8403B210B503BFAF90678FAF80674C7 +:10093000F2CCFFF0F0CBFFFF4BFA403E590EFE9990 +:10094000FFDB1C09890AFB490678891EFB4B0674EC +:10095000587BE08900042F84C0B8FACAF990402B74 +:10096000029CF01F0036E0810163FAC4F9F8FB38FD +:100970000687300CF8081800C1F0FAF80678FAC9B2 +:10098000F9792FF88909FB4806783019FAF80674C6 +:1009900089192FF8FB4806745878E08900042F84E1 +:1009A000C0B8FACAF990402B029CF01F0024E081E5 +:1009B000013FFAC4F9F8408B580BC1F0FAF80678F9 +:1009C000FAC9F97C2FE88909FB4806783029FAF83A +:1009D000067489192FF8FB4806745878E0890004DA +:1009E0002F84C0B8FACAF990402B029CF01F001364 +:1009F000E081011EFAC4F9F8407AE04A0080C5118E +:100A00004049041950395809E0890029C4A848C848 +:100A1000310EFB4C06788908891EFB4B0674587B07 +:100A2000E08900102F84C1788002F228800373408F +:100A30008002D9988003EDF88002F5488003ECE845 +:100A4000FACAF990402B029CF01F0052E08100F09E +:100A5000FAC4F9F8403C210C503CFAF90678FAF84F +:100A60000674F2CCFFF0F0CBFFFF4CBA403E590EBB +:100A7000FE99FFCF1C09890AFB490678891EFB4BAA +:100A80000674587BE08900042F84C0B8FACAF99034 +:100A9000402B029CF01F003FE08100CAFAC4F9F825 +:100AA0000A105800E089001BC3B8FB4C0678310AD5 +:100AB0004B9C891A890CFB4B0674587BE089000417 +:100AC0002F84C0B8FACAF990402B029CF01F003165 +:100AD000E08100AEFAC4F9F82100FAF90678FAF8D4 +:100AE0000674F2CCFFF0F0CBFFFF4ABA5900FE9932 +:100AF000FFDE0009890AFB4906788910FB4B067462 +:100B0000587BE08900042F84C0B8FACAF990402BC2 +:100B1000029CF01F0020E081008BFAC4F9F8FAF87B +:100B2000067889158907F0050005FAF80674FB4573 +:100B300006782FF8FB4806745878E08900042F8463 +:100B4000C0A8FACAF990402B029CF01F0012C6F10F +:100B5000FAC4F9F8E2130004C41040470417580718 +:100B6000E089001CC3B8FB4C067889058913FB4B50 +:100B70000674587BE08900042F84C098009A402BAB +:100B8000029CF01F0004C531FAC4F9F82107C0988F +:100B90008002F5488003ECE84AB53103FAC0F990C9 +:100BA000FAF90678FAF80674F2CCFFF0F0CBFFFF02 +:100BB0004A5A5907FE99FFD90E09890A8917FB4934 +:100BC0000678FB4B0674587BE08A0009FACAF99054 +:100BD000402B029CF01F001DC2A140684049E4095F +:100BE0000C4204085068FAF806785808C080FACA1F +:100BF000F990402B029CF01F0015C1913003FAC4FC +:100C0000F9F8FB430674FE9FF53302934020FAF88F +:100C100006785808C080029CFACAF990009BF01F21 +:100C2000000BC0613008FB480674C0284020806873 +:100C3000EDB80006C0313FF25062406CFE3DF978DD +:100C4000D83200008003EDF88002F548D431FACDA7 +:100C500001E03007503C16961295507A5087505755 +:100C60000E930E905047407E1D8957795809E080B9 +:100C700007A22FFE4D5C507E780C502CF809070817 +:100C8000E2180008C1B06C185808E08900070C9BF6 +:100C9000403CF01F004FCE816C084CCBF0C9FFFFE9 +:100CA000760A1188F4080708EDB80003CDD16C1856 +:100CB0008D0920182FF08D18CE7BE0490025E081AA +:100CC000008906941091109236CA344C358E407BC0 +:100CD0001739507B364BF6091800E08000BBE08BDB +:100CE0000042F8091800E08000B4E08B0021339B3B +:100CF000F6091800E08B01D2330BF6091800E082E8 +:100D00000094325BF6091800C640E08B000B5809CE +:100D1000E080074F324BF6091800E08101BFC8A8F8 +:100D200032ABF6091800E08101B9C6D8FC091800F9 +:100D3000E08000A4E08B000C34CBF6091800C7005B +:100D400034FAF4091800E08101A9C8C835BAF409D9 +:100D50001800E0800098363AF4091800E081019EFE +:100D6000C9E836FBF6091800C7E0E08B0017369B90 +:100D7000F6091800C720E08B0008368BF60918002A +:100D8000E081018CC4F8F4091800C3F036EAF409D4 +:100D90001800E0810183C8D8373AF4091800C1303F +:100DA000E08B0008370AF4091800E0810177C7A832 +:100DB000375AF4091800C5C0378AF4091800E081D1 +:100DC000016DC5B83029C7590000049C800328BCB8 +:100DD0006C185808E08900080C9B403CF01F006428 +:100DE000E08106E0407A6C08F539FFFF118AF20ACB +:100DF0001800E08106E02FF82FF08D086C182018FD +:100E00008D18C32BA5A1C64B407B1789F409180088 +:100E1000C0512FFBA1B1507BC5BBA1A1C59BA1B106 +:100E2000C57BA3A1C55BE4020022A17223021202CA +:100E3000C4FBE0420020E08B0007E4C4000130184E +:100E40003002C46B3168403A9538E08F06ABA1A1FF +:100E50004C8930AE5089C2B84C6C300B508C505B12 +:100E6000C279A1A14C4A3089508A5059C2194C2EDE +:100E700030AC508E505CC1C94BFBA9B1508B310ACC +:100E8000C169301950085019407BFACCFFD4F01FCB +:100E9000003BA7A1507C40194008C0B9A7A1300968 +:100EA000C0894B59E81102205089310E505EC009AB +:100EB000EDB10004FE90FED9EDB10002C441580826 +:100EC000C2500E34C064FACCFE20F8040024C2786C +:100ED000FACAFED40A99F407002A0E98130B14AB31 +:100EE0002FF81034CFC4EEC9FFFFEE0811FFF0C792 +:100EF000FFFF2FE808080807EA080025F2070007A7 +:100F0000FAC8FED4F0040324C1C8E6C8FFFF0E33BC +:100F1000C094FACBFE201093F6040024E8F4FF4CB2 +:100F2000C1086A042FC559F7E089000B1093FACA6B +:100F3000FE20F40700282FF7F144FF4CC02810933F +:100F4000A800C92AEDB10000C1A15808E0800088BE +:100F50000E34C635FACAFED40A99F407002A0E9850 +:100F6000130B14AB2FF81034CFC4C678800328BC01 +:100F70008002EFB480032E6C800329ECE2110002A2 +:100F8000C4805808C2500E34C064FACCFE20F80465 +:100F90000024C278FACAFED40A99F407002A0E98EF +:100FA000130B14AB2FF81034CFC4EEC9FFFFEE08BB +:100FB00011FFF0C7FFFF2FE808080807EA0800251F +:100FC000F2070007FAC8FED4F0040324C1C8E6C83B +:100FD000FFFF0E33C094FACBFE201093F6040024DA +:100FE000E8F4FF4CC1086A042FC559F7E089000BEB +:100FF0001093FACAFE20F40700282FF7F144FF4CA3 +:10100000C0281093E008141F89108908FE9FFE2D48 +:101010005808C2500E34C064FAC9FE20F2040024FD +:10102000C278FACAFED40A99F407002A0E98130B64 +:1010300014AB2FF81034CFC4EEC9FFFFEE0811FF38 +:10104000F0C7FFFF2FE808080807EA080025F207A5 +:101050000007FAC8FED4F0040324C1C8E6C8FFFFA5 +:101060000E33C094FAC2FE201093E4040024E8F486 +:10107000FF4CC1086A042FC559F7E089000B109393 +:10108000FACEFE20FC0700282FF7F144FF4CC028C1 +:1010900010938900FE9FFDE9402CF8090709EDB97E +:1010A0000000C021A1A14C7B30AA508B505A30398E +:1010B0006C1A580AE089000C501950080C9B403CEF +:1010C000F01F004140194008E081056CEDB10006B9 +:1010D000C151C1F86C1A201A8D1A580AE08A00040E +:1010E0008D0CC0B8501950080C9B403CF01F0036C6 +:1010F00040194008E08105562FF06C0A4B3EF4CCB5 +:10110000FFFF7C0B158AF60A070AEDBA0003CE3002 +:101110005829E08001C05839E080031D5819E0804B +:10112000011B029CE21C0010502C5802F9B2000175 +:10113000E3D1C001E080009B580CC0303001C4985E +:101140005808C2500E34C064FACBFE20F6040024C6 +:10115000C278FACAFED40A99F407002A0E98130B33 +:1011600014AB2FF81034CFC4EEC9FFFFEE0811FF07 +:10117000F0C7FFFF2FE808080807EA080025F20774 +:101180000007FAC8FED4F0040324C228E6C8FFFF13 +:101190000E33C094FACAFE201093F4040024E8F43D +:1011A000FF4CC1686A042FC559F7E08900111093FC +:1011B000FAC9FE20F20700282FF7F144FF4CC0883F +:1011C0008002EFB4800328BC0000049C10930891B7 +:1011D00030044D5E7C081034E08004E46C08118912 +:1011E000FAC8FE200808F169FFCC6C1820188D1889 +:1011F0006C082FF8308A8D08300BFACCFE2CF01FCB +:10120000004B2FF4FAC8FE2C0899FACAFE54029B30 +:10121000403CF01F00475BFCE08004C4580CC061F8 +:10122000402C580CC051830CC0385BECC0B0080097 +:10123000402B2012580BF9B40100F7B100FCFBF46D +:1012400000026C185808E089000B0C9B403CF01F12 +:101250000039C0505804C050E08F04A45802CBA1FC +:10126000402A580AFE91FD01C718402E580EC1A011 +:101270006C186C090438C0F4100910128D091001A3 +:101280000C9B403CF01F002BCF405801E08101E651 +:10129000E08F0488040904188D098D180401E08F7B +:1012A00001DD5808C2500E34C064FACCFE20F804A8 +:1012B0000024C278FACAFED40A99F407002A0E98CC +:1012C000130B14AB2FF81034CFC4EEC9FFFFEE0898 +:1012D00011FFF0C7FFFF2FE808080807EA080025FC +:1012E000F2070007FAC8FED4F0040324C258E6C887 +:1012F000FFFF0E33C094FACBFE201093F6040024B7 +:10130000E8F4FF4CC1986A042FC559F7E08900142E +:101310001093FACAFE20F40700282FF7F144FF4C7F +:10132000C0B80000000009AC8002E8BC800328407F +:10133000800328BC1093049A089C0C99301BF01F62 +:1013400000C9E080042FF800000040492FF95049FF +:10135000FE9FFC8B5802F9B200FFEDB10004C261A0 +:1013600030040891C1286C188D0920188D182FF4AD +:101370000832E080008D5808E08900080C9B403C52 +:10138000F01F00B9E08100846C08FACEFE20F0C99D +:10139000FFFF1188FC080008F138FE4CE208180035 +:1013A000CE315804C741E08F04065808C2500E34AD +:1013B000C064FACCFE20F8040024C278FACAFED435 +:1013C0000A99F407002A0E98130B14AB2FF8103467 +:1013D000CFC4EEC9FFFFEE0811FFF0C7FFFF2FE8F3 +:1013E00008080807EA080025F2070007FAC8FED433 +:1013F000F0040324C1C8E6C8FFFF0E33C094FACB43 +:10140000FE201093F6040024E8F4FF4CC1086A049F +:101410002FC559F7E089000B1093FACAFE20F40794 +:1014200000282FF7F144FF4CC02810930891300892 +:10143000C1886C1A201A8D1A133A02CA8D095802F3 +:10144000C1D06C195809E089000D50080C9B403C34 +:10145000F01F00854008C0500831C101E08F03A291 +:101460006C0AFACEFE2014992012158AFC0A000A92 +:10147000F53AFE4CF00A1800CDD1E2040104E080F8 +:10148000039A404C2FFC504C3008A2880800FE9F65 +:10149000FBEC029BE21B0010502B5802F9B200FF3C +:1014A000E3D1C001E08000BC580BC050FACAFE2452 +:1014B000506AC4385808C2500E34C064FAC9FE20BD +:1014C000F2040024C278FACAFED40A99F407002A6A +:1014D0000E98130B14AB2FF81034CFC4EEC9FFFFD6 +:1014E000EE0811FFF0C7FFFF2FE808080807EA0819 +:1014F0000025F2070007FAC8FED4F0040324C1C88F +:10150000E6C8FFFF0E33C094FACEFE201093FC0411 +:101510000024E8F4FF4CC1086A042FC559F7E0899C +:10152000000B1093FACCFE20F80700282FF7F144A7 +:10153000FF4CC0281093506430014CC4C598680813 +:101540001031E080032FFAC8FE200208F169FFCCB9 +:101550006C1820188D186C082FF8308A8D08300B05 +:10156000FACCFE2CF01F00422FF1FAC8FE2C029993 +:10157000FACAFE54406B403CF01F003E5BFCE0802A +:101580000311580CC041406B970CC0385BECC23063 +:10159000406A740CF01F0038C100FAC4FE20020437 +:1015A0002354C088098B201120140C9A403CF01F52 +:1015B00000335801CF81C2C80200402920125809C7 +:1015C000F8011710FBF80006F7B800FCFBF80A0654 +:1015D000FBF100026C185808E089000B0C9B403CA2 +:1015E000F01F0021C0505801E08102DCC1186C08D6 +:1015F00058025F1A11894A2E300C7C08F00907083E +:10160000EC180008F5E80238F8081800C991402BDA +:10161000580BFE91FB2A406A950BC98A402E580E42 +:10162000C300C1086C188D0A20188D182FF10232E2 +:10163000C1405808E08900070C9B403CF01F000A9D +:10164000C0C16C0848ECF0CAFFFF78091188F208A5 +:101650000708EDB80003CE710200FE9FFB060000F4 +:10166000800320B8800328BC000009AC8002E8BCDD +:10167000800328408003274880032FF40000049C47 +:101680005808C2500E34C064FACBFE20F604002481 +:10169000C278FACAFED40A99F407002A0E98130BEE +:1016A00014AB2FF81034CFC4EEC9FFFFEE0811FFC2 +:1016B000F0C7FFFF2FE808080807EA080025F2072F +:1016C0000007FAC8FED4F0040324C1C8E6C8FFFF2F +:1016D0000E33C094FACAFE201093F4040024E8F4F8 +:1016E000FF4CC1086A042FC559F7E089000B10931D +:1016F000FAC9FE20F20700282FF7F144FF4CC0285A +:1017000010930891C1286C1920198D19113902C93B +:101710008D085802C1506C185808E08900070C9BCE +:10172000403CF01F0059C0C16C094D8E12987C0AD4 +:1017300013892012F4090709EDB90003CE51404C7A +:101740002FFC504C08103008E2000000A288FE9FD9 +:10175000FA8CE4C90001E0490026E08B0005300B5B +:10176000506BC058E4CA00273272506A3009FACE72 +:10177000FE54509950A7E8110D80502E35894057DE +:101780006C0A339C158AF80A1800E08B0015338B1D +:10179000F60A1800C4E2330BF60A1800C270E08B98 +:1017A000004532BBF60A1800C51032DBF60A1800F5 +:1017B000C7C1C4C8F20A1800C4E0E08B000AF4CB29 +:1017C0000041305EFC0B1800E08B0070C398361CA3 +:1017D000F80A1800C6A3366BF60A1800E088003134 +:1017E000378EFC0A1800C611C368029BEDB1000BCE +:1017F000C3C15807E06B0200E3DBE031F9B7000832 +:10180000EDB1000AC041E011FA7FC2F8409B406C84 +:101810002FFB580CF7BC0101FBFC1A06F7B201FFC5 +:10182000E011FC7F509BC248499EFC070417C0B8DA +:10183000497CF80704175887E0890006C36858A751 +:10184000E08A0034E011F47FC108EDB10007C2D195 +:10185000A7D1C0B8029BE21B0600E04B0200C251B8 +:10186000A9D13107E8110500402B16CA502B6C1A7C +:10187000201A8D1A580AE08A000D6C0A2FFA8D0A78 +:10188000C1180000800328BC0000049C8003EF08FE +:10189000501950080C9B403CF01F00BD40194008F7 +:1018A000C0412012FE91FF6E505740A7EDB10008D5 +:1018B000C161FAC9FE54402A123AE088000B40295F +:1018C0000C9A137B403C50085029F01F00B240088E +:1018D000FAC9FE5440221232E080016D029AE21AE7 +:1018E0000010E081014B402EBC8A50084059FACBD1 +:1018F000FE54403C40825D1202994008E2190020EB +:10190000C2A05808C1400E34C064FACEFE20FC04C8 +:101910000024C1D9FACAFED40A99F407002A0E9805 +:10192000130B14AB2FF81034CFC4CF68E6C8FFFFF9 +:101930000E33C064FACBFE20F6040024C0796A049A +:101940002FC559F7E08901151093FACAFE20F40754 +:101950000028C0A9EDB10002C4415808C2500E349D +:10196000C064FAC9FE20F2040024C278FACAFED488 +:101970000A99F407002A0E98130B14AB2FF81034B1 +:10198000CFC4EEC9FFFFEE0811FFF0C7FFFF2FE83D +:1019900008080807EA080025F2070007FAC8FED47D +:1019A000F0040324C1C8E6C8FFFF0E33C094FAC296 +:1019B000FE201093E4040024E8F4FF4CC1086A04FC +:1019C0002FC559F7E089000B1093FACEFE20FC07D3 +:1019D00000282FF7F144FF4CC0281093A80CCCA886 +:1019E000F5D1C001C2A05808C1400E34C064FACB82 +:1019F000FE20F6040024CAB8FACAFED40A99F407F5 +:101A0000002A0E98130B14AB2FF81034CFC4C8481B +:101A1000E6C8FFFF0E33C064FACAFE20F4040024B7 +:101A2000C9586A042FC559F7E08900A31093FAC971 +:101A3000FE20F2070028C988E2110002C5904D6916 +:101A400040821232C091FACBFE544059403C5008BB +:101A5000F01F0052C088FACBFE544059403C500859 +:101A6000F01F004F40085808C2500E34C064FACE30 +:101A7000FE20FC040024C278FACCFED40A99F807B0 +:101A8000002C0E98130E18AE2FF81034CFC4EEC9E8 +:101A9000FFFFEE0811FFF0C7FFFF2FE80808080757 +:101AA000EA080025F2070007FAC8FED4F004032470 +:101AB000C1C8E6C8FFFF0E33C094FACCFE201093D5 +:101AC000F8040024E8F4FF4CC1086A042FC559F754 +:101AD000E089000B1093FAC9FE20F20700282FF7C7 +:101AE000F144FF4CC0281093891A890BC438580858 +:101AF000C2500E34C064FAC8FE20F0040024C2783C +:101B0000FACAFED40A99F407002A0E98130B14ABF4 +:101B10002FF81034CFC4EEC9FFFFEE0811FFF0C755 +:101B2000FFFF2FE808080807EA080025F20700076A +:101B3000FAC8FED4F0040324C1C8E6C8FFFF0E3380 +:101B4000C094FAC2FE20E40400241093E8F4FF4C91 +:101B5000C1086A042FC559F7E089000B1093FACE2B +:101B6000FE20FC070028F144FF4C2FF7C0281093FB +:101B7000890C404C2FFC504CFAC8FE54409B10106E +:101B8000402A1600F4000000FE9FF86F800328BC76 +:101B900080032FF480032E6C80032CE480032B340D +:101BA00040495809C0508C68EDB80006C0313FF874 +:101BB0005048404C288DD832D421217D1497189656 +:101BC000129A5807C064E068008B99383FFCC2281D +:101BD0005807EE0C1700F9B901FFEFD9E10C109985 +:101BE000E0680208BA683FF8504B505C500B502C2C +:101BF000BA781A9B0C9CF01F00095BFCC044E0689B +:101C0000008B8D385807F9B90100FBF81000F1F985 +:101C10001E002E9DD82200008002F568D401129883 +:101C20001499169A189B483C780CF01F0003D802B0 +:101C30000000059880031BB8D4214B3818961697DE +:101C4000700C580CC06078685808C031F01F002F25 +:101C50004AF81037C0514AC870087007C0E84AD81F +:101C60001037C0514A8870087017C0784AA81037DA +:101C7000C0414A58700870278E68EDB80003C1E073 +:101C8000EDB80004C3E1EDB80002C1516EDB580BA2 +:101C9000C0A0EEC8FFBC103BC0400C9CF01F001F52 +:101CA00030088FD88E68E018FFDBAE6830088F18D8 +:101CB0006E488F088E68A3B8AE686E485808C0B1E9 +:101CC0008E68E2180280E0480200C0500C9C0E9B17 +:101CD000F01F00138E69F1D9C001C07030088F2841 +:101CE0006E585C388F68C068EDB90001EFF81005D8 +:101CF0008F286E485808C0618E68EDB80007C02173 +:101D0000DC2AD82A0000059880031F388003EF2CB6 +:101D10008003EF4C8003EF6C8003217C8003276CF1 +:101D20004828700C2F4C5EFC00000598D4211697B3 +:101D3000189676485808C7D0580CC060786858087C +:101D4000C031F01F003D4BD81037C0316C07C0A820 +:101D50004BB81037C0316C17C0584BA81037EDF78F +:101D600000028E6A1498EDBA0003C420ABBAAE6AC2 +:101D70006E185808E08900066F085808E08A005A73 +:101D80006EB85808C560E21A1000C0306F55C0F830 +:101D900030196E8B0C9C5D1818955BFCC0816C38FB +:101DA00059D8C4708E68A7A8AE68D8228E68EDB8DE +:101DB0000002C0916E1810156ED85808EFF8101078 +:101DC000EBD8E1156EB80C9C30090A9A6E8B5D1841 +:101DD0008E680A3CC261ABD8300C6E49AE688F1C6D +:101DE0008F09EDB8000CC251EF450054D8226E4562 +:101DF0005805C1F06E04F5DAC0028F05F9B801008C +:101E0000EFF800050A148F28C11808990A9A6EA8DD +:101E10006E8B0C9C5D181814580CE08900078E68B6 +:101E2000A7A83FFCAE68D82218055804FE99FFEF1A +:101E3000D82A000080031F388003EF2C8003EF4C6A +:101E40008003EF6CD401189B580CC0714868487B24 +:101E5000700CF01F0007D8024868700CF01F0003D8 +:101E6000D80200008003ECA880031D2C800325E825 +:101E7000000005985EFC5EFCD401483BF01F0003A7 +:101E8000D80200008003629080032640D42116957A +:101E9000F606105CECCBFFF4F01F00071897C0901B +:101EA0009915300B2F4C0C9A8F2C8F0BF01F0003C1 +:101EB0000E9CD8228002E2BC8002E8BCD42149C832 +:101EC000189670076E685808C0410E9CF01F0019E4 +:101ED000EEC7FF2830056E2C6E18C0689869EA09B5 +:101EE0001900C1202A4C2018CFA76E085808C071CD +:101EF000304B0C9CF01F00108F0CC0306E07CECB07 +:101F000030C88D38D8223008F948004C99089928F3 +:101F1000991899489958996899D899E8F9480048C2 +:101F20003FF8B8783018B868D82200008003ECA8D1 +:101F300080031F3880031E8CD421189678675807B9 +:101F4000C4714A48301599A8F94700D8F94700DC10 +:101F5000F94700E09965F01F00208D0C0C9CF01FE4 +:101F6000001E8D1C0C9CF01F001C6C093048930750 +:101F7000B268931793276C18B27793479357936778 +:101F80009389910791179127494E495B939E93AB93 +:101F9000494A495493BA93C43099B069B07591C411 +:101FA0009147915791679188919E91AB91BA8D2CF1 +:101FB00031289907B868991799273028B87899C4B3 +:101FC0009967999E99AB99BA99479957998CD82254 +:101FD00080031E7880031EBC80032B1080032AD848 +:101FE00080032AAC80032A9CD4014858169AFAC967 +:101FF000FFFC189B700CF01F0003D802000005982E +:1020000080033424D43114901291169310971895AC +:10201000F20A02425802C0310491C418580CC06040 +:1020200078685808C031F01F001F49F81037C031D8 +:102030006A07C0A849D81037C0316A17C05849C8C4 +:102040001037EBF700026E185808C03430088F18AC +:102050000496C148F01F00176E08080308160E9B6F +:10206000F00400040A9C8F04F01F0013C070E40603 +:102070000109F2000D081091C1286E146E08069C2B +:10208000089A109B0836FE9BFFE70C9AF01F000988 +:102090006E080C088F086E180C188F18029CD83226 +:1020A00080031F388003EF2C8003EF4C8003EF6C1C +:1020B0008002E736800328BCD40112981499169A3E +:1020C000189B483C780CF01F0003D80200000598CC +:1020D00080032004D42116951897F01F00234A345A +:1020E00068287016E016FFFCECC8FF91F0050105AA +:1020F000E015FF80EAC50080E045007FE08A00230C +:10210000300B0E9CF01F001A68280C08103CC1A16F +:10211000EA0B11000E9CF01F00165BFCC171300B26 +:102120000E9CF01F00136828F808010958F9E08A8E +:10213000000AA1A9911948F8700948F8F80901099D +:1021400091090E9CF01F000DD82A68280A16A1A636 +:102150009116489870090A190E9C9109F01F000702 +:10216000DA2A00008002E8CA0000059C8002EBC861 +:10217000000009A800007AD08002E8CCD42116968D +:102180001897580BE08000CAF01F004E20864CEADA +:102190006C18742EF9D8C001A1C8EC080009721B94 +:1021A000E01BFFFC1C39C1D1F6080008580CC081A7 +:1021B0006C09121612086C3B6C299729933B1099F5 +:1021C0009526A1A98D194C1972091238C0634C08C3 +:1021D0000E9C700BF01F003F0E9CF01F003FD8229A +:1021E000931B580CC030300CC1086C0EF4C5FFF8BE +:1021F0001C161C086C2E0A3EF9BC0001EDF51003FC +:10220000EBFE1A02FDF51A03F20B000E7C1EEDBE6A +:102210000000C1301608580CC0C14ABE722B2F8E68 +:102220001C3BC071973697268D2B8D3B301CC058B8 +:10223000722B7239932B97391099EC080908A1A9D0 +:102240008D19580CC671E04801FFE08B0013A3986C +:10225000F4080039722B8D398D2B97369326A348BD +:102260007419301BF6080948F3E810089518C528BA +:10227000F00916095849E08B0006F00B16062C8B66 +:10228000C2D85949E08B0005F2CBFFA5C278E049DE +:102290000054E08B0006F00B160C292BC1F8E04926 +:1022A0000154E08B0006F00B160F289BC178F00B51 +:1022B0001612E0490554E088001137EBC0F8000021 +:1022C0008002E8CA0000059C000009A400007ACC46 +:1022D000800320D48002E8CC284BF40B003C782902 +:1022E0001839C0E17418A34B301CF80B094BF1EB03 +:1022F000100B1298951BC0A872291839C060721A69 +:10230000E01AFFFC1438CF9372388D388D2993363C +:1023100091260E9CF01F0002D82200008002E8CC1B +:10232000D431203D14941895169774285808E080ED +:10233000014A9668EDB80003C04176485808C0C10C +:102340000E9B0A9CF01F00A1C0708E68A7A8AE6803 +:1023500030988B38C3598E6368000696E2160002E7 +:10236000C2103003E06204000696C04860036016A5 +:102370002F805806CFC0E0460400EC091780E4091E +:1023800017B0069A6EA86E8B0A9C5D181816580C2A +:10239000E08A0114682818188928E08001141803BD +:1023A000CE9BE7D3C001C07050060C930C91501522 +:1023B0000892CA0806960891C048600360162F80EC +:1023C0005806CFC08E686E241099E2190200C570BD +:1023D0000836C4531099E2190480C4106E4B6E097C +:1023E000161950096E59109CF209001A3028F40889 +:1023F0000C08FAE9000410944009E21C04002FF9CB +:102400000C091238F2041730580CC110089B0A9CB2 +:10241000F01F006F1892C150400A6E4BF01F006D04 +:102420008E68E018FB7FA7B8AE68C0E8089A0A9CDF +:10243000F01F00691892C0816E4B0A9CF01F006764 +:1024400030C88B38CBA8400A4009E80A010AE409E1 +:1024500000088F548F2A8F088F420C940836EC04A2 +:102460001730069B089A6E0CF01F005D6E08080876 +:102470008F086E2808180C948F28C30808365FBA96 +:102480006E0C6E48103C5FB8F5E80008F2081800C2 +:10249000C0E0069B089AF01F00526E0808080E9BC9 +:1024A0008F080A9CF01F004FC190C8786E591236F1 +:1024B000C0A36EA8069A6E8B0A9C5D181894E089DA +:1024C000000EC7B80C9A069BF01F00456E080C085A +:1024D0000C948F086E280C188F28622808188328FF +:1024E000C71008160803C6DB6003601130082F8090 +:1024F00050085801CFA0400A580AC181029A30AB57 +:10250000069CF01F0039F9B80101F9D8E106EDD3B6 +:10251000E116F9B90101FBF91A00F9B80001E3D895 +:10252000E006F9B80001FBF80A000236EC04178057 +:10253000E20417B06E596E25F20500050A345F9A61 +:102540006E0C6E48103C5FB8F5E80008300AF408DD +:102550001800C0E0069B0A9AF01F00216E080A08C6 +:102560000E9B8F08401CF01F001FC180C2681234F0 +:10257000C0A56EA8069A6E8B401C5D181895E08960 +:10258000000EC1B8089A069BF01F00156E080808D7 +:1025900008958F086E2808188F280A16C0710E9BA0 +:1025A000401CF01F0010C091500664280A188528AE +:1025B000C0900A110A03C9EB8E68A7A8AE683FFC59 +:1025C000C028300C2FDDD83280031C388002E2BCDA +:1025D0008002E7368002E8E88003217C8002E87E02 +:1025E00080031D2C800328A4D43130051893169045 +:1025F0000A91F01F00123FF2E6C7FF28C1786E264D +:102600006E142F46C0D88C08E2081900C0808C18C0 +:10261000E4081900C040069C5D1018452A462014A5 +:10262000ECCB000C5804CF046E075807CE91F01F76 +:1026300000040A9CD832000080031E7480031E76BA +:10264000D43130051691F8C7FF280A92F01F001008 +:102650003FF3C1686E266E142F46C0C88C08E4088C +:102660001900C0708C18E6081900C0305D111845BB +:102670002A462014ECCC000C5804CF146E075807DF +:10268000CEA1F01F00040A9CD832000080031E7403 +:1026900080031E76D401201D4848189B1A9A700C9E +:1026A000F01F00032FFDD80200000598800326B01C +:1026B000D431169414921895F01F00204A08700720 +:1026C0005807C050300633DA0C98C0780A9CF01FC7 +:1026D000001D0E9CD8322FF6E8060709F0091800F5 +:1026E0005F1BF40918005F191669F0091800CF4143 +:1026F000C1A8029C0C9A089BF01F0013C1216E0117 +:102700000C010388E6081800C0C148D870080A9C6C +:102710001017A3478507F01F000BE2CCFFFFD8324C +:102720002FC7C02833D36E015801CE410A9CF01F39 +:102730000005029CD8320000800361BC000009B093 +:10274000800361BE8002EDE6E04C00FFE0880003FC +:102750005EFD48487008F00C070CE21C00085EFCA7 +:102760000000049C481C5EFC8003EF8CD42120FDFB +:10277000966816971896E2180002C3C1967BF00B74 +:102780001900C0551A9AF01F002AC0F48E650A98E5 +:10279000ABB8E2150080AE683004E0680400F9B51B +:1027A0000140F0051700C1B84018E218F000E048F9 +:1027B00020005F04E0488000C0D16EB949D81039CC +:1027C000C0918E68E0650400ABA8EF450050AE688C +:1027D000C0688E68E0650400ABB8AE680A9B0C9CCC +:1027E000F01F00158E68C0D1EDB80009C1E0A1B896 +:1027F000AE68EEC8FFB98F488F0830188F58C1589F +:10280000A7B88F4CAE688F5548C88F0C8DA8580458 +:10281000C0C08E7CF01F000AEFF81206F9B9010162 +:10282000F1D9E138EFF81C062F1DD822800362A8E9 +:1028300080032AAC8002E2BC80031E788002F1682B +:10284000D42118971096580AC041149B3019486A31 +:10285000F01F00065BFCC06130088D08E068008A4C +:102860008F38D82280037E208003286C201D5809D1 +:102870005F09580BFA0B1700580A5F18F3E80008B5 +:102880003009F2081800C0303FECC0B8580AC03117 +:10289000149CC078158997091589F00918005F1CE8 +:1028A0002FFD5EFCF7DBC008C068201A19881638B7 +:1028B0005E0C2FFC580ACFA15EFAD703D4211697DD +:1028C0001896580CC06078685808C031F01F00385E +:1028D0004B881037C0316C07C0A84B781037C03117 +:1028E0006C17C0584B581037EDF7000230088F189E +:1028F0008E68EDB80005C590EDB80002C1A0EDB836 +:102900000004C060A7A8AE6830988D38C4D8EDB870 +:102910000003C0B10E9B0C9CF01F0029C4618E689F +:102920008F6CA3D88F2CAE688E68A3A8AE68C14800 +:102930006EDB580BC110EEC8FFBC103BC0400C9CB6 +:10294000F01F0020300C6F088FDC8F185808C04033 +:102950006EF88F08D8226E485808C0510E9B0C9C08 +:10296000F01F00198E68F1D8C002C0604978498B09 +:10297000700CF01F00186E4A6E980C9C8F0A6E59EE +:102980006E8B5D188E688F1CADD8AE68580CE08ACF +:102990000003D82A580CC041A5B8AE68C058A7A8F3 +:1029A000AE6830088F18DC2ADC2A000080031F384C +:1029B0008003EF2C8003EF4C8003EF6C80031D2C11 +:1029C0008003217C8003276C8003ECA8800329D43A +:1029D00080032640D4019868E21800095898C02066 +:1029E000D80AF01F0002D80280031E44D431189E7A +:1029F0001738E048005EC030300AC0381738301A47 +:102A00003009FC090B0A2FF9E0490100CFB1580841 +:102A1000C041F6CC0001D832149632D4EC16000135 +:102A2000300735D5C0381498129BFC080B06F6C940 +:102A3000FFFF178A129CE80A1800C090EA0A1800E3 +:102A4000C1E0EE0A1800CF01169CD832138C103C5E +:102A50005F53E04C005D5F0AE7EA100AEE0A1800D7 +:102A6000C03032D8CE2BF0CAFFFFFC0A000A14C6D1 +:102A70002FF81838CFD52FEB2FE9CDCBD8321498BB +:102A8000F5DBC01FF00C1100104CFC187FF0F5ECCA +:102A900013FCF00C010CBF9C5EFCD703D401967BA9 +:102AA000F01F0002D8020000800353E0D4211697E3 +:102AB000967BF01F00098E681099ADC95BFCEFF999 +:102AC0000C06EFFC1A15E0691000F1D9E138EFF8B7 +:102AD0001C06D822800362D4D421966816971495D8 +:102AE0001294E21801001896C0603029300A967BD3 +:102AF000F01F00068E68ADC808990A9A8E7B0C9C60 +:102B0000AE68F01F0003D822800362D4800353B460 +:102B1000D4211697967BF01F0007C0656F581808E0 +:102B2000EF480054D8228E68ADC8AE68D8220000A5 +:102B30008003694CD431208D4DB8500B7008507C07 +:102B4000502A1295501816970F36401AF4060704AB +:102B5000E2140008CFA1E046002DC0410F3630142A +:102B6000C058E046002BC0210F3658055F085905B4 +:102B70005F0A3009F1EA100AF20A1800C1D0E046F3 +:102B80000030C1210F8A358B378CF60A18005F0B95 +:102B9000F80A18005F0A144BF20B1800C0500F9689 +:102BA00031052FE7C0985808C070E0460030F9B5ED +:102BB0000008F9B5010A5804C0713FF0E061FFFF59 +:102BC000EA117FFFC0483000FC118000EA03141FA7 +:102BD0000A980699009A029BF01F00340699505AF1 +:102BE0000A98009A029BF01F0032069C14981699CE +:102BF000300A30003001149E109212934019F206F0 +:102C0000070BF3DBC001F9B90137F9B90057506977 +:102C1000ECC80030EDBB0002C0804069F7DBC002A9 +:102C2000EC090108580BC2D00A38C2B40430E601DE +:102C300013005FB9F3EA13FAFC0A1800C1F104307B +:102C4000E60113005F09405A14385F9AF5E900095C +:102C5000FC091800C131E005064AEA010249504862 +:102C6000F8000349BF58F20B000B5038FAE0000C93 +:102C70001400E20B0041301AC0283FFA0F36CBFB9C +:102C80005BFAC1715804C0713FF0E061FFFFEA11C7 +:102C90007FFFC0483000FC11800032284079933813 +:102CA000C10800000000049C800373408002D99892 +:102CB0005804C07030083009F0000100F2010141F1 +:102CC00040285808C0B0580AF9B801FFEFD8E10A07 +:102CD000FBFA1A00402940089308009A029B2F8DA6 +:102CE000D8320000D431209D4DE816927008508CE7 +:102CF000505A1295504816970F36404EFC0607035F +:102D0000E2130008CFA1E046002DC0410F3630137A +:102D1000C058E046002BC0210F3658055F08590502 +:102D20005F0A3009F1EA100AF20A1800C1D0E04641 +:102D30000030C1210F8A358B378CF60A18005F0BE3 +:102D4000F80A18005F0A144BF20B1800C0500F96D7 +:102D500031052FE7C0985808C070E0460030F9B53B +:102D60000008F9B5010AEA04141F0A9808993FFA05 +:102D70003FFBF01F003D0899502B503A0A983FFA4C +:102D80003FFBF01F003A300B300830094041E206AB +:102D9000070EE1DEC001ECCC00305800F9B101377C +:102DA000F9B100571C90E2100004C061EC01010C65 +:102DB000FDDEC002C3700A3CC354FAE000080038CC +:102DC000E20913005FBE3000FDEB13FBE00B1800BF +:102DD000C261FAE00008143C5F9E0038E20913006B +:102DE0005F0B3000FDEB000BE00B1800C181F0051C +:102DF0000640EA09024BFAE10000E808034BF6013D +:102E00000001507C5001BF5CFAE00000506C301BA8 +:102E1000FAE800180008F2010049C0283FFB0F360D +:102E2000CB6B5BFBC071322840803FF981383FF8A3 +:102E3000C0985803C07030043005E8080108EA095A +:102E40000149405E580EC080580BF9BA01FFEFDA15 +:102E5000E102405A9502109A129B2F7DD832000051 +:102E60000000049C8002D99880037340D431203D37 +:102E70004C48502C70011698113EE20E0705E215E1 +:102E80000008CFB1E04E002DC041113E3015C058B2 +:102E9000E04E002BC021113E58095F0C59095F0616 +:102EA0003007F9E61006EE061800C1E0E04E0030EB +:102EB000C131118635843783E80618005F04E606C1 +:102EC00018005F06E9E61006EE061800C050119ED5 +:102ED00031092FE8C098580CC070E04E0030F9B9A5 +:102EE0000008F9B9010A3FF3E6090D023007500363 +:102EF0000E9C0E93E20E0704E1D4C001F9B0013735 +:102F0000F9B000575010FCC600300890E2100004E1 +:102F1000C0814010E9D4C002FC0001065804C1C0C1 +:102F20001236C1A4043C5FBEFDE713FEE60E180096 +:102F3000C101043C5F0E40070E365F97EFEE000EB6 +:102F4000E60E1800C061B33C3017EC0C000CC02832 +:102F50003FF7113ECD0B5BF7C061322940200E9C3C +:102F60008139C0485805FBBC0100580AC070580799 +:102F7000F9B901FFF1D9E10B950B2FDDD832000033 +:102F80000000049CD421169776DBEEC8FFBC103BF2 +:102F9000C171E06B0400F01F0015C250E06804002E +:102FA0008FDC8FE8EF380046F8CCFC03B8A8EF3888 +:102FB0000045B898EF380044B8888F0CC1386EE5EA +:102FC000EA041501089AF01F000A1896C0C00A9A70 +:102FD000189BF80500050A9CF01F00068FE48F057A +:102FE0008FD6D82ADC2A00008002E2BC8002E8E802 +:102FF0008002E736D4211697149618955BFBC650CD +:10300000580CC06078685808C031F01F00314B1868 +:103010001036C0316A06C0A84AF81036C0316A16A8 +:10302000C0584AE81036EBF600028C68A5D8AC68A8 +:10303000EDB80002C140EDB80004C461EDB8000372 +:10304000C0B10C9B0A9CF01F0026C3E18C688D6CFC +:10305000A3D88D2CAC688C68A3A8AC680E946CD8EF +:103060005C545808C1006C196CE81039C0650A9CA2 +:103070000C9BF01F001CC2816C0820188D08B084C6 +:103080000897C0C86C495809C0C06C081238E0885D +:10309000000911770837C0518D086C182FF8C12826 +:1030A0006C18ED4800406C088DF8ECC8FFBC8DD85A +:1030B00030388DE8ECC8FFBAED6400468D080897FB +:1030C00030188D18C0283FF70E9CD82280031F3877 +:1030D0008003EF2C8003EF4C8003EF6C80031D2CEA +:1030E00080032F84D431208DFAC4FFBC504B682E4E +:1030F000505812967C0B7005506E580BF40B17004D +:103100006803681140493008C2C92FFB325C178A36 +:10311000F80A18005F1EF00A18005F1CFDEC000C96 +:10312000F00C1800CF31580AE0800129300C3FFA2A +:103130001890503A18941892F80C003C1697507C4E +:103140004CDC0F3AF80A070E407C1C0C4CBEFC0C01 +:10315000070E201E500E4CAEFC0C070C507C400C91 +:10316000587CE08B00F84C7EFC0C032F368BF60A63 +:103170001800E08000F0371BF60A1800C07034CB4E +:10318000F60A1800C051A3B4CE58A5B4CE380F8BA0 +:1031900036CAF40B1800C051A5B4EECBFFFFCDB872 +:1031A000A5A4CD88EBD5C005367CF80A1800E08BC5 +:1031B0000027365BF60A1800C48234FBF60A1800B2 +:1031C000C480E08B000C345BF60A1800C3E0347B4B +:1031D000F60A1800C3A0344BC088358BF60A1800D5 +:1031E000C2C0E08B0007355BF60A1800C351C31854 +:1031F000363BF60A1800C2F0364BC0E8370BF60A29 +:103200001800C250E08B000D36EBF60A1800C1F032 +:10321000E08B0014369BF60A1800C1E1C0E8375B6A +:10322000F60A1800C0A0378BF60A1800C060373BBA +:10323000F60A1800C111C0B8EDB40004C0A0EDB486 +:103240000005C0913020C0883040C0683030C04890 +:103250003010C0283000403B5BFBC040E20B09202F +:10326000C7985860E08B00776C0AEACCFFFF486E85 +:10327000FC00032F8003F2708003F1D48003F16817 +:103280008003EFC88003EFE8F4CBFFF88D0BF4EA7E +:103290000000E605083AC0F8F4CBFFFC8D0B740A79 +:1032A000E605093AC088F4CBFFF88D0BF4EA00007C +:1032B000E605083A0E9B1895C4E8620A5BFAC0B1AD +:1032C00050195028E06A0080300B029CF01F004D1E +:1032D00040284019E4CC00010E9B503CF20C0C49F4 +:1032E000C3A8620A5BFAC0B150195028E06A008096 +:1032F000300B029CF01F0043402840192012300A76 +:103300000E9BE202092AF2020C49C25816976C0A77 +:10331000F4CBFFFC8D0B740A0E9BE605093A2FF5E2 +:10332000C1A8F4C20030C068E40200222FF7F40202 +:1033300000120F8A580AC0E0230A589AFE98FFF636 +:10334000C0982FF70F8A580AC050230A589AFE983F +:10335000FFFA0E9B407C30BAF40C1800FE91FEEE92 +:103360004042178C0A325F4AF00C18005F1CF9EAE1 +:10337000000AF00A1800FE91FECB3008404E178A72 +:10338000E2050021F00A1800FC091710E6050038D4 +:10339000069EC2A8620A583AC1E0E0890007581A9E +:1033A000C1A0582AC181C058585AC0C0C0B5C13840 +:1033B0006C0AF4CCFFF88D0CF4E20000F0E300009E +:1033C000C1086C0AF4CCFFF88D0CF4E20000F0E3C5 +:1033D0000000C0786C0AF4CCFFFC8D0C740A910AD2 +:1033E0002FF52F882FC11235FE9AFFD61C9340521D +:1033F000406E85059D0B404BE60B003C2F8DD8326F +:103400008002E8BCD421149774285808C04195184C +:10341000109CD822F01F000330088F188F28D82264 +:1034200080032320D431FACD06BC5109169114979C +:103430001895F01F0056780C50CC5805C0706A687B +:103440005808C0410A9CF01F00524D281031C0316D +:103450006A01C0A84D081031C0316A11C0584CF83B +:103460001031EBF100028268EDB80003C041624800 +:103470005808C071029B0A9CF01F0049E0810F941C +:1034800082681099E219001A58A9C3D18279300ACA +:10349000F4091900C385A1D8FB5805D06288FB4800 +:1034A00005E462A8FB4805ECFAC8FFBCFB4805D45C +:1034B000FB4805C4E0680400FB4805D8FB4805CC80 +:1034C0003008FB5905D20E9A4109FAC7FA3CFB486D +:1034D00005DC0A9C0E9BF01F003350BCC0950E9B70 +:1034E0000A9CF01F003140BEF9BE01FF50BEFB0830 +:1034F00005D0EDB80006E0810F598268A7A8A26840 +:10350000E08F0F543008FB4806B4FB480690FB4898 +:10351000068CFB4806B03008300950A75078FAC432 +:10352000F9E03FF85059FB440688FB480544129CDB +:10353000506950D950E950B9129740A2325A300818 +:10354000C0282FF20589F00918005F1BF409180044 +:103550005F19F3EB000BF00B1800CF4140ABE40B0D +:103560000106C300FAF806900C08890BFB48069088 +:103570008916FAF8068C2FF8FB48068C5878E089F3 +:1035800000152F84C1C800008003276480031F3802 +:103590008003EF2C8003EF4C8003EF6C80031C381A +:1035A0008003342480031D2CFACAF978029B0A9CFC +:1035B000F01F0071E0810EF4FAC4F9E040BA0C0A81 +:1035C00050BA05893008F0091800E0800ED930099A +:1035D000FB6806BB0E96E4C8FFFF3FFE50945041C7 +:1035E0000E940491508950A8502E50391293129085 +:1035F00010970A92C0783FFC0A97502CC038300BC5 +:10360000503B0F38C0281290F0C90020E049005804 +:10361000E08B0A4A4D9AF409032F50A750800C976B +:103620000495089602924D6940941090404150D9FB +:10363000E08F08AA3008FB3906BBF0091800CE213C +:103640003208C6E8A1A3CDEB0F89F2C80030589824 +:10365000E08B001DEEC8FFFF300B2309F60B002B9B +:10366000F20B001B1139F2CA0030589AFE98FFF78E +:10367000E0490024CC51E04B0020E0890E90201B53 +:10368000FAF906B4123BC095C108FAF906B4ECCABF +:10369000FFFF1236C1F5C268FACEF9441097FC0B51 +:1036A000003BF6F0FD88C3581097FAC8F9501AD8B5 +:1036B000FAC8FAB81AD8FAC8FBB4029A1AD8049C05 +:1036C000FAC8F940FAC9FFB4F01F002E2FDD7800C8 +:1036D000C208FACCF9441496F8040038F0F0FD88DA +:1036E000C188410859F9E0890011F0CBFFFC510B6A +:1036F0007000FACBF944F6090038F140FD882FF943 +:103700001496FB4906B4C058700014962FC851088F +:103710005800FE94FF785C30A3A3C74B32B8FB6817 +:1037200006BBC70B0F38E048002AC0303009C80874 +:103730000F88F0C900305899E08B0026EEC5FFFFD6 +:10374000300B2308F60B002BF00B001B0B38F0C9D5 +:1037500000305899FE98FFF7E0480024FE91FF5191 +:10376000E04B0020E0890E1B201BFAF806B4103B4A +:10377000C115C188800334048003F0048003EDD0B8 +:10378000800330E4FAFA06B4ECC9FFFF1436C1F541 +:10379000C288FACAF944F40B003BF6FBFD88502BB3 +:1037A000C3C8FAC8F9501AD8FAC8FAB81AD8FAC869 +:1037B000FBB4029A1AD8049CFAC8F940FAC9FFB4BB +:1037C000F01F017B2FDD780C502CC27812960E95DD +:1037D000FAC9F944F2040038F0F8FD885028C1D83D +:1037E000410859FAE0890014F0CBFFFC7008510B36 +:1037F0005028FAC6F944402EEC0A0038F14EFD88F4 +:103800002FFA0E95FB4A06B41296C078700C0E95EE +:103810002FC8502C12965108402B580BFE95FEEDE8 +:103820000A97CF0AF20900290F38F4090019F0CAE3 +:103830000030589AFE98FFF83FFAF20A0C495029D6 +:10384000CE4AA7B3CDFA30092308F2090029F009BE +:1038500000190F38F0CA0030589AFE98FFF7E04878 +:103860000024FE91FED2E0490020E0890D98F2C4C8 +:10387000000130195039CC6AA3B3CC4AA7A3CC2A93 +:103880000F8836CEFC081800C0412FF7A5B3CBAA8D +:10389000A5A3CB8AA5B3CB6A50A750800C971090F4 +:1038A00008960495409402920E994041FAF806B4A5 +:1038B000403C580CC1D01036C064FACBF944F6062F +:1038C0000036C1D8FAC8F9501AD8FAC8FAB81AD8C6 +:1038D000FAC8FBB41AD8FAC8F940FAC9FFB4049A76 +:1038E0000C9B0A9CF01F01322FDD19B8C2282FF75C +:1038F0001039C084FACAF944F4060036ED38FD8B5D +:10390000C188410959F8E0890012F2CAFFFC510A46 +:103910007209FAC6F944EC08003A2FF8F549FD8817 +:10392000FB4806B4F1D9C008C04813B82FC95109E3 +:10393000FB680660300E30083012FB6806BB502E64 +:10394000E08F08C450A750800C9704950896029207 +:10395000409410904041A5A3C0A850A750800C9758 +:10396000049508960292409410904041EDB30005F2 +:10397000C511FAF806B4403C580CC1E01036C064DA +:10398000FACBF944F6060036C208FAC8F9501AD83C +:10399000FAC8FAB80C9B1AD8FAC8FBB41AD8FAC9F4 +:1039A000FFB4FAC8F940049A0A9CF01F01012FDD08 +:1039B000781B7809C2B8EECAFFFF1037C0B4FAC945 +:1039C000F9441497F2060036ECFBFD8CECF9FD8807 +:1039D000C1D8410959F8E0890014F2CBFFF8510B26 +:1039E000FAC6F944721BEC08003C7209F94BFD8CD5 +:1039F000F949FD882FF81497FB4806B4C078F2C83F +:103A0000FFF8721B1497510872091698FAE9000022 +:103A1000CAE8EDB30004C171FAF806B4403E580E8E +:103A2000C0801036C694FACCF944F8060036C8288F +:103A3000EECAFFFF1037E0840081FACBF944F606A6 +:103A40000036C778EDB30006C4B1FAF806B4403CBE +:103A5000580CC1D01036C064FACBF944F6060036D3 +:103A6000C1F8FAC8F9501AD8FAC8FAB81AD8FAC878 +:103A7000FBB41AD8FAC8F940FAC9FFB4049A0C9BEF +:103A80000A9CF01F00CB2FDD9818C268EECAFFFF1A +:103A90001037C094FAC9F9441497F2060036ED08BD +:103AA000FD8AC1A8410959F8E0890013F2CBFFFC57 +:103AB000510B7209FAC6F944EC08003B2FF8F7499C +:103AC000FD88FB4806B41497F1D9B010C05892187D +:103AD00014972FC951095018BF585008C488FAF8D4 +:103AE00006B4403C580CC1D01036C064FACBF9443F +:103AF000F6060036C1F8FAC8F9501AD8FAC8FAB86A +:103B00000C9B1AD8FAC8FBB4049A1AD80A9CFAC8B3 +:103B1000F940FAC9FFB4F01F00A62FDD780BC248A8 +:103B2000EECAFFFF1037C094FAC9F944F206003616 +:103B30001497ECFBFD88C188410959F8E089001110 +:103B4000F2CBFFFC510BFAC6F944720BEC080039BA +:103B5000F34BFD882FF81497FB4806B4C058720B3E +:103B600014972FC95109501BBF5B500BFAEA000094 +:103B7000580A5C2BC0E43008FAEA00003009F00A69 +:103B8000010AF20B014B32D8FAEB0000FB6806BBCE +:103B90003018E08F071150A750800C9704950896B5 +:103BA00002924094109040410E99EDB30003C4116D +:103BB000FAF806B4403A580AC1901036C645FAC819 +:103BC000F9501AD8FAC8FAB81AD8FAC8FBB40C9B3C +:103BD0001AD8049AFAC8F940FAC9FFB40A9CF01F2F +:103BE00000742FDD78165076C4882FF71039C0C4C2 +:103BF000FACEF944FC060036ECFCFD8C507CECF669 +:103C0000FD885056C668410959F8E0890010F2CA8B +:103C1000FFF8721B510A7209FACAF944507B5059D5 +:103C2000F4080039405B407AC47872185078C4C8F0 +:103C3000FAF806B4403E580EC2301036C094FACCA2 +:103C4000F944F8060036ECFBFD8C507BCD9BFAC89E +:103C5000F9501AD8FAC8FAB8049A1AD8FAC8FBB4B4 +:103C60000C9B1AD80A9CFAC8F940FAC9FFB4F01F95 +:103C700000502FDD781A507A780C505CC2A82FF7CC +:103C80001039C094FAC9F944F2060036ECF8FD8CFC +:103C90005078CB6B410959F8E0890015F2CAFFF85A +:103CA00072167209510A5059FACEF9445076FC083E +:103CB0000039405B0C9AF2EBFD882FF8FB4806B404 +:103CC000C088721C507CF2C8FFF851087209505924 +:103CD000405B407AF01F00371896C1503008300919 +:103CE000405B407AF01F0034C04032D8FB6806BB0E +:103CF0004B284B36A7D3E0400047F00617A03032E0 +:103D0000E08F06E7405B407AF01F002EC0C05026CF +:103D10004AD84AE6A7D3E0400047F00617A0303261 +:103D2000E08F06DD402A5BFAC04130695029C11896 +:103D3000E04000475F09E04000675F08F3E81008D3 +:103D4000F8081800C06040285808F9B80001502849 +:103D500040784059FAE90694A9A3FAF8069458085D +:103D6000C065405E300C506E509CC078405B32DACB +:103D7000EE1B8000509A506BE04000465F09E04027 +:103D800000665F08F3E810085048C0404022303910 +:103D9000C228E04000455F09E04000655F084046FA +:103DA0001049EC091800C1314022C148800330E4B9 +:103DB0008003697880036FC08003F2408003F2447F +:103DC00080032A7E8003F2488003F24C402EFCC21E +:103DD000FFFF3029FAC8F95C1AD8FAC8F9541AD882 +:103DE000FAC8F94C0A9C1AD80498409B40AAF01FC4 +:103DF00001E0E04000475F19E04000675F18189657 +:103E00002FDDF3E80008C041EDB30000C301EC0270 +:103E1000000C503C404B580BC1500D893308F00941 +:103E20001800C0B130083009406B407AF01F01D152 +:103E3000FBB20001FBF20BAB403AFAF806AC100AF9 +:103E4000503A406B30083009407AF01F01CAC090E8 +:103E50004039FB4906A4C05810C9FB4806A4C02835 +:103E60003309FAF806A4403E1C38CF73E0400047FF +:103E70005F09E04000675F08F3E81008FAF906A45C +:103E80000C1950695808C0B0FAF806AC5BD8C05598 +:103E9000402C1838E08A006A2020C058E0400065B5 +:103EA000E0890046FAFB06ACFB60069C201BFB4B3E +:103EB00006ACC0475C3B32D8C02832B8FB68069DD0 +:103EC000589BE08A001DFAC9FA3530AA12980E9C58 +:103ED0000C92F60A0C060E9B2D0B10FB0C9B5896B1 +:103EE000FE99FFF92D0B1897049610FBFACAF96298 +:103EF000C038113B14CB1238CFD3C0982D0B3308E8 +:103F0000FB6B069FFB68069EFACAF960FAC8F96463 +:103F1000F408010850E81092406B1602581BE08923 +:103F20000005EDB30000C3512FF2C338E040006636 +:103F3000C1C1FAF206AC5802E08A000C402A580AC5 +:103F4000C041EDB30000C2512FF240291202C0B8A7 +:103F500040285808C061EDB30000C0303012C1984D +:103F600040222FE23660C158FAF206AC406E1C3295 +:103F7000C065EDB30000F7B200FFC0A8E40811026D +:103F8000406C5802F00217A0F9B20901180236700D +:103F9000409B580BE080059D32D8FB6806BBE08F44 +:103FA000059C50A704950C970292089640414094B6 +:103FB0000E99EDB30005C481FAF806B4403E580EE0 +:103FC000C1D01036C064FACCF944F8060036C1D826 +:103FD000FAC8F9501AD8FAC8FAB8049A1AD8FAC81E +:103FE000FBB40C9B1AD80A9CFAC8F940FAC9FFB472 +:103FF000F01F01612FDD780AC2082FF71039C08445 +:10400000FACBF944F6060036ECFAFD88C16841099E +:1040100059F8E0890010F2CAFFFC510AFAC6F944C7 +:10402000720AEC080039F34AFD882FF8FB4806B401 +:10403000C048720A2FC9510940BE1C98951EBF582E +:104040009508FE9FFA7CEDB30004C480E2130040A3 +:10405000C450FAF806B4403C580CC1D01036C064C5 +:10406000FACBF944F6060036C1D8FAC8F9501AD886 +:10407000FAC8FAB8049A1AD8FAC8FBB40C9B1AD832 +:104080000A9CFAC8F940FAC9FFB4F01F013B2FDDC2 +:10409000780AC2082FF71039C084FACAF944F40626 +:1040A0000036ECFAFD88C168410959F8E089001032 +:1040B000F2CAFFFC510AFAC6F944720AEC08003948 +:1040C000F34AFD882FF8FB4806B4C048720A2FC98E +:1040D000510940BEB40EFE9FFA32FAF806B4403CD5 +:1040E000580CC1D01036C064FACBF944F60600363D +:1040F000C1D8FAC8F9501AD8FAC8FAB8049A1AD826 +:10410000FAC8FBB40C9B1AD80A9CFAC8F940FAC941 +:10411000FFB4F01F01192FDD780AC2082FF71039FC +:10412000C084FACAF944F4060036ECFAFD88C16886 +:10413000410959F8E0890010F2CAFFFC510AFAC699 +:10414000F944720AEC080039F34AFD882FF8FB485D +:1041500006B4C048720A2FC9510940BE950EFE9F91 +:10416000F9EE50A750800C9704950896029240945F +:1041700010904041A5A3C0A850A750800C9704956B +:1041800008960292409410904041EDB30005C5D1CD +:10419000FAF806B4403C580CC2601036C0A4FACB02 +:1041A000F944F6060036ECE8FD88FAE90000C1881B +:1041B000FAC8F9501AD8FAC8FAB8049A1AD80C9B57 +:1041C000FAC8FBB40A9C1AD8FAC8F940FAC9FFB475 +:1041D000F01F00E92FDDF8EA0000FAEB00003008DC +:1041E000E08F03E7EECAFFFF1037C0B4FAC9F94405 +:1041F0001497F2060036ECEAFD88FAEB0000C1885D +:10420000410959F8E0890018F2E60000F2CBFFF806 +:10421000FAE70000510BFAC6F944EC080039FAE657 +:104220000000F2E7FD882FF81497FB4806B44038E9 +:10423000E08F03BFF2E600004038FAE700002F8964 +:1042400014975109E08F03B5EDB30004C161FAF88A +:1042500006B4403E580EC0801036C674FACCF944FD +:10426000F8060036C808EECAFFFF1037C7F4FACBCD +:10427000F944F6060036C768EDB30006C4A1FAF8A3 +:1042800006B4403C580CC1D01036C064FACBF94497 +:10429000F6060036C1F8FAC8F9501AD8FAC8FAB8C2 +:1042A0001AD8FAC8FBB41AD8FAC8F940FAC9FFB448 +:1042B000049A0C9B0A9CF01F00B02FDD9818C2686E +:1042C000EECAFFFF1037C094FAC9F9441497F206FA +:1042D0000036ED08FD8AC1A8410959F8E0890013AC +:1042E000F2CBFFFC510B7209FAC6F944EC08003B13 +:1042F0002FF8F749FD88FB4806B41497F1D9B010A0 +:10430000C058921814972FC951095C785018C46886 +:10431000FAF806B4403C580CC1D01036C064FACB51 +:10432000F944F6060036C1F8FAC8F9501AD8FAC8A6 +:10433000FAB80C9B1AD8FAC8FBB4049A1AD80A9C8B +:10434000FAC8F940FAC9FFB4F01F008B2FDD780BD3 +:10435000C248EECAFFFF1037C094FAC9F944F2060A +:1043600000361497ECFBFD88C188410959F8E089B3 +:104370000011F2CBFFFC510BFAC6F944720BEC08AA +:104380000039F34BFD882FF81497FB4806B4C0584A +:10439000720B14972FC95109501B300E500E1C98E8 +:1043A000E08F030750A750800C970495089602925F +:1043B000409440410E99FAF806B4403C580CC1D0E4 +:1043C0001036C064FACBF944F6060036C1D8FAC8F4 +:1043D000F9501AD8FAC8FAB81AD8FAC8FBB41AD8D9 +:1043E000FAC9FFB4FAC8F940049A0C9B0A9CF01F62 +:1043F00000622FDD7809C2182FF71039C084FACA7D +:10440000F944F4060036ECF9FD88C178410959F801 +:10441000E0890010F2CAFFFC510AFAC6F944720999 +:10442000EC08003AF549FD882FF8FB4806B4C0585F +:10443000F2C8FFFC510872093308FB6806B83788D8 +:10444000300EFB6806B94CDC5019A1B3500E50DC9D +:1044500030283780E08F02AD50A750801090300890 +:10446000FB6806BB0C970495089602924094404165 +:104470000E99FAF806B4403B580BC1D01036C06410 +:10448000FACAF944F4060036C1D8FAC8F9501AD865 +:10449000FAC8FAB81AD8FAC8FBB40C9B1AD8049A0E +:1044A000FAC8F940FAC9FFB40A9CF01F00332FDDA7 +:1044B0007806C2082FF71039C084FAC9F944F20609 +:1044C0000036ECF6FD88C168410959F8E089001012 +:1044D000F2CAFFFC510A7206FACEF944FC08003910 +:1044E000F346FD882FF8FB4806B4C04872062FC972 +:1044F0005109402C580CC105189A300B0C9CF01F28 +:104500000020E08002E9F8060102402B1632E08923 +:1045100002E3E08F02DE300A0C9C502AF01F0019E3 +:104520001892E08F02DC50A750800C9704950896F3 +:104530000292409410904041A5A3C0A850A750807B +:104540000C97049508960292409410904041EDB368 +:104550000005C611FAF806B440395809C2C0103631 +:10456000C124FAC8F944F0060036C2E88003552C8D +:1045700080036F32800330E48003EDE4800328A4DD +:104580008002EDD0FAC8F9501AD8FAC8FAB81AD889 +:10459000FAC8FBB41AD8FAC8F940FAC9FFB4049AA9 +:1045A0000C9B0A9CF01F00C82FDDF8E80000FAE918 +:1045B0000000C2E8EECAFFFF1037C0B4FAC8F944E1 +:1045C0001497F0060036ECEAFD88FAEB0000C2080A +:1045D000410959F8E0890016F2E60000F2CBFFF835 +:1045E000FAE70000510BFAC6F944EC080039FAE684 +:1045F0000000F2E7FD882FF81497FB4806B4C08846 +:10460000F2E600002F89FAE70000510914973018EC +:10461000E08F01CFEDB30004C161FAF806B4403E6B +:10462000580EC0801036C674FACCF944F80600362D +:10463000C808EECAFFFF1037C7F4FACBF944F606F4 +:104640000036C768EDB30006C4A1FAF806B4403CD2 +:10465000580CC1D01036C064FACBF944F6060036C7 +:10466000C1F8FAC8F9501AD8FAC8FAB81AD8FAC86C +:10467000FBB41AD8FAC8F940FAC9FFB4049A0C9BE3 +:104680000A9CF01F00912FDD9818C268EECAFFFF48 +:104690001037C094FAC9F9441497F2060036ED08B1 +:1046A000FD8AC1A8410959F8E0890013F2CBFFFC4B +:1046B000510B7209FAC6F944EC08003B2FF8F74990 +:1046C000FD88FB4806B41497F1D9B010C058921871 +:1046D00014972FC951095C785018C468FAF806B4C9 +:1046E000403C580CC1D01036C064FACBF944F606F1 +:1046F0000036C1F8FAC8F9501AD8FAC8FAB80C9BB3 +:104700001AD8FAC8FBB4049A1AD80A9CFAC8F94015 +:10471000FAC9FFB4F01F006C2FDD780BC248EECA57 +:10472000FFFF1037C094FAC9F944F2060036149717 +:10473000ECFBFD88C188410959F8E0890011F2CBF2 +:10474000FFFC510BFAC6F944720BEC080039F34B2D +:10475000FD882FF81497FB4806B4C058720B1497C5 +:104760002FC95109501B300E3018500EC21950A7D6 +:1047700050800C970495089602924D4C40941090EE +:10478000404150DCEDB30005C551FAF806B4403B9A +:10479000580BC2201036C0A4FACAF944F4060036F9 +:1047A000ECE8FD88FAE90000CF58FAC8F9501AD8A9 +:1047B000FAC8FAB8049A1AD80C9BFAC8FBB40A9C37 +:1047C0001AD8FAC8F940FAC9FFB4F01F003F2FDD2C +:1047D000F8EA0000C0C8EECAFFFF1037C0B4FAC93B +:1047E000F9441497F2060036ECEAFD88FAEB000073 +:1047F000CD18410959F8E0890016F2E60000F2CB25 +:10480000FFF8FAE70000510BFAC6F944EC0800394A +:10481000FAE60000F2E7FD882FF81497FB4806B48B +:10482000CB98F2E600002F89FAE7000051091497AF +:10483000CB18EDB30004C171FAF806B4403E580E2F +:10484000C0801036C6C4FACCF944F8060036C85801 +:10485000EECAFFFF1037E0840084FACBF944F60675 +:104860000036C7A8EDB30006C4E1FAF806B4403C30 +:10487000580CC1D01036C064FACBF944F6060036A5 +:10488000C1F8FAC8F9501AD8FAC8FAB81AD8FAC84A +:10489000FBB41AD8FAC8F940FAC9FFB4049A0C9BC1 +:1048A0000A9CF01F00092FDD9818C2A8EECAFFFF6E +:1048B0001037C0D4FAC9F9441497F2060036ED084F +:1048C000FD8AC1E8800330E48003EDE4410959F832 +:1048D000E0890013F2CBFFFC510B7209FAC6F944D0 +:1048E000EC08003B2FF8F749FD88FB4806B4149705 +:1048F000F1D9B010C058921814972FC951095C789B +:104900005018C468FAF806B4403C580CC1D01036B0 +:10491000C064FACBF944F6060036C1F8FAC8F9507B +:104920001AD8FAC8FAB80C9B1AD8FAC8FBB4049A79 +:104930001AD80A9CFAC8F940FAC9FFB4F01F00C996 +:104940002FDD780BC248EECAFFFF1037C094FAC9BA +:10495000F944F20600361497ECFBFD88C188410942 +:1049600059F8E0890011F2CBFFFC510BFAC6F9446B +:10497000720BEC080039F34BFD882FF81497FB48B5 +:1049800006B4C058720B14972FC95109501B300E32 +:10499000500E4008401C18485F18E7E80008C07037 +:1049A0003308FB6006B9A1B3FB6806B830283009AC +:1049B000FB6906BB402B580BC025A7D3402A4009F2 +:1049C000580A5F1A4016FAC2F9780C495F19F5E9DE +:1049D0001009C5C03019F2081800C0603029F2086B +:1049E0001800C041C3C80496C3080496FAE8000042 +:1049F000F5D8C0032D0A0CFAF00B1603F20C1603BF +:104A0000F7E911DB1899169858085C29CF21FAE9C3 +:104A10000000EDB30000C4513309F20A1800C410BD +:104A20000CF9C3F8FAEA000030A83009F01F008E34 +:104A300030A82D0A3009AC8AFAEA0000F01F008B7A +:104A400016991498FAE900002016FAEA0000589A1C +:104A50005C2BFE9BFFE91BF82D08C2080496FAE8C0 +:104A60000000F5D8C00440DEFC0A070A0CFAF20B7D +:104A70001604F00A1604F5E911CA16991498580894 +:104A80005C29CF01FAE90000C0C85808C091EDB315 +:104A90000000C061FAC6F9793308AC88C0280496D2 +:104AA0000C12C1C850A7508040940C9710900495E8 +:104AB00040415808E0800464FB680660300C300810 +:104AC0003012FB6806BB502CFAC6F9A0C078300B38 +:104AD000502BC0484022300A502A4029E4090C4992 +:104AE000FB3806BB5039069E3009E21E0002F20870 +:104AF0001800FBF81003F7B801FFFBF81A03069B38 +:104B0000580EFBFC1003F7BC01FEFBFC1A03E21B72 +:104B1000008450FE509BC451408A4039121A504ABA +:104B2000580AE089001FC3D82F092FF84D0E310C09 +:104B3000FB490690890E891CFB48068C5878E08951 +:104B400000042F84C0B8FACAF978029B0A9CF01FAF +:104B50000049E0810425FAC4F9E0404B210B504B99 +:104B6000FAF90690FAF8068C4C1A404E590EFE9946 +:104B7000FFDD1C092FF8890AFB490690891EFB48B6 +:104B8000068C5878E08900042F84C0B8FACAF978F6 +:104B9000029B0A9CF01F0037E0810402FAC4F9E08E +:104BA0003009FB3806BBF2081800C1F0FAF806908D +:104BB000FAC9F9452FF88909FB4806903019FAF827 +:104BC000068C89192FF8FB48068C5878E089000478 +:104BD0002F84C0B8FACAF978029B0A9CF01F0025FE +:104BE000E08103DEFAC4F9E040FC580CC1F0FAF8A9 +:104BF0000690FAC9F9482FE88909FB480690302940 +:104C0000FAF8068C89192FF8FB48068C5878E08949 +:104C100000042F84C0B8FACAF978029B0A9CF01FDE +:104C20000015E08103BDFAC4F9E0409BE04B008031 +:104C3000C511408A4039121A504A580AE089002B9F +:104C4000C4982F092FF848CE310CFB490690890EE5 +:104C5000891CFB48068C5878E08900102F84C178A5 +:104C6000800330E4800373408002D9988003F250BF +:104C7000800334048003F260FACAF978029B0A9C2C +:104C8000F01F004CE081038CFAC4F9E0404B210B8B +:104C9000504BFAF90690FAF8068C4C7A404E590EB1 +:104CA000FE99FFD11C092FF8890AFB490690891E3D +:104CB000FB48068C5878E08900042F84C0B8FACAF3 +:104CC000F978029B0A9CF01F003BE0810369FAC45B +:104CD000F9E0402C041C502C580CE089001FC3D86C +:104CE0002F092FF84B4B310AFB490690890B891A83 +:104CF000FB48068C5878E08900042F84C0B8FACAB3 +:104D0000F978029B0A9CF01F002BE0810349FAC44A +:104D1000F9E0402921095029FAF90690FAF8068CA1 +:104D20004A5A402E590EFE99FFDD1C092FF8890AB8 +:104D3000FB490690891EFB48068C5878E0890004E0 +:104D40002F84C0B8FACAF978029B0A9CF01F001998 +:104D5000E0810326FAC4F9E0EDB30008C0B0FAF828 +:104D6000069089128906F0020002FB420690E08F4D +:104D700001DBE0400065E08A01DD30083009405B7E +:104D8000407AF01F000EC7E0FAF8069048C92FF8E5 +:104D90008909FB4806903019FAF8068C89192FF812 +:104DA000FB48068C5878E089000D2F84C14800002C +:104DB000800334048003F26080036F328003A6C056 +:104DC000FACAF978029B0A9CF01F0078E08102E899 +:104DD000FAC4F9E0FAF806AC406C1838C055EDB3E7 +:104DE0000000E081026DFAF806902FF840CBFB48F6 +:104DF00006903019FAF8068C890B2FF88919FB48B0 +:104E0000068C5878E08900042F84C0B8FACAF97873 +:104E1000029B0A9CF01F0065E08102C2FAC4F9E01F +:104E2000406620165806E089001DE08F02492F09D0 +:104E30002FF8FB49069089028910FB48068C5878A8 +:104E4000E08900042F84C0B8FACAF978029B0A9C52 +:104E5000F01F0056E08102A4FAC4F9E02106C03830 +:104E60004D323100FAF90690FAF8068C4D0A5906CF +:104E7000FE99FFDF0C09890AFB4906902FF8891675 +:104E8000C559FAFA06AC580AE0890096FAF8069075 +:104E90004C892FF88909FB4806903019FAF8068CDE +:104EA00089192FF8FB48068C5878E08900042F8474 +:104EB000C0B8FACAF978029B0A9CF01F003CE08156 +:104EC000026FFAC4F9E0FAF806AC5808C081406AEB +:104ED000580AC051EDB30000E08101F240C9FAF870 +:104EE00006902FF88909FB4806903019FAF8068CCD +:104EF00089192FF8FB48068C5878E08900042F8424 +:104F0000C0B8FACAF978029B0A9CF01F0028E08119 +:104F10000247FAC4F9E0FAF206AC5C325802E089C2 +:104F2000001DC3B82F092FF8310EFB4906908900E8 +:104F3000891EFB48068C5878E08900042F84C0B88D +:104F4000FACAF978029B0A9CF01F0018E081022837 +:104F5000FAC4F9E02102C0284950FAF90690FAF89B +:104F6000068C493A5902FE99FFDF04092FF8890A95 +:104F7000FB4906908912FB48068C5878E0890004AA +:104F80002F84C0B8FACAF978029B0A9CF01F000768 +:104F9000E0810206FAC4F9E0406CFAF8069089064E +:104FA000891C1808CBE80000800334048003F260F9 +:104FB0008003A6C0FAF90690FAF8068C406B163A00 +:104FC000C6D516092FF88906FB490690891BFB48B0 +:104FD000068C5878E08900042F84C0B8FACAF978A2 +:104FE000029B0A9CF01F006FE08101DAFAC4F9E02D +:104FF000FAF606AC406A14165806E089001CC3B8DD +:105000002F092FF8FB49069089028910FB48068C6E +:105010005878E08900042F84C0B8FACAF978029B56 +:105020000A9CF01F0060E08101BBFAC4F9E0210690 +:10503000C0384DD23100FAF90690FAF8068C4DAA24 +:105040005906FE99FFDF0C092FF8890AFB490690E3 +:105050008916FB48068C5878E08900042F84C0B874 +:10506000FACAF978029B0A9CF01F004EE081019871 +:10507000FAC4F9E0EDB30000E081012240C9FAF87A +:1050800006902FF88909FB4806903019FAF8068C2B +:1050900089192FF8FB48068CC04914092FF8FB49E1 +:1050A00006908906891AFB48068C5878E089000426 +:1050B0002F84C0B8FACAF978029B0A9CF01F003905 +:1050C000E081016EFAC4F9E040C88908FAF8069058 +:1050D0002FF83019FB4806908919FAF8068C2FF83A +:1050E000FB48068CFAF206AC5878E08900042F845D +:1050F000C0B8FACAF978029B0A9CF01F002AE08126 +:10510000014FFAC4F9E00406FAF806AC8906FAF988 +:1051100006904066406E1016F208010889161C08B9 +:10512000FB480690FAF8068C2FF8FB48068CCB98C3 +:10513000406C581CE0890006EDB30000E081008758 +:10514000FAF806902FF83019FB4806908906FAF80D +:10515000068C89192FF8FB48068C5878E0890004E2 +:105160002F84C0B8FACAF978029B0A9CF01F000D80 +:10517000E0810116FAC4F9E0FAF806902FF840CB66 +:10518000FB4806903019FAF8068C890B2FF889191C +:10519000FB48068C5878E08900092F84C10800007C +:1051A000800334048003F260FACAF978029B0A9CF7 +:1051B000F01F006FE08100F4FAC4F9E03008300914 +:1051C000405B407AF01F006B40682018580CC0D13B +:1051D0002FF689188906FAF606901006FAF8068C5A +:1051E000FB4606902FF8C2F810965808E089001C7C +:1051F000C4982F092FF8FB49069089028910FB48B3 +:10520000068C5878E08900042F84C0B8FACAF9786F +:10521000029B0A9CF01F0056E08100C2FAC4F9E02C +:105220002106C0384D423100FAF90690FAF8068C92 +:105230004D1A5906FE99FFDF0C09890AFB490690B1 +:105240002FF88916FB48068CC0E8FAF806902FF86C +:105250003019FB4806908906FAF8068C89192FF850 +:10526000FB48068C5878E08900042F84C0B8FACA3D +:10527000F978029B0A9CF01F003EE0810091FAC47D +:10528000F9E040EAFAF806901408FAC9F964FB4814 +:105290000690891AFAF8068C89092FF8FB48068CC3 +:1052A0005878E08900042F84C0A8FACAF978029BD4 +:1052B0000A9CF01F002FC731FAC4F9E0E213000482 +:1052C000C3D04086403912165806E089001AC368D8 +:1052D0002F092FF8FB49069089038912FB48068C99 +:1052E0005878E08900042F84C098009A029B0A9C99 +:1052F000F01F001FC541FAC4F9E02106C05849F368 +:105300003102FAC0F978FAF90690FAF8068C49BA2F +:105310005906FE99FFDF0C092FF8890A8916FB4907 +:105320000690FB48068C5878E08A0009FACAF9789A +:10533000029B0A9CF01F000EC32140BC4036408EE9 +:10534000EC0E0C48100C50BCFAF806905808C080BF +:10535000FACAF978029B0A9CF01F0005C201300BC3 +:10536000FAC4F9E0FB4B068CFE9FF0E9800334049D +:1053700080036F328003F2608003F250FAF80690E7 +:105380005808C0800A9CFACAF978029BF01F0009ED +:10539000C0613008FB48068CC02840418268EDB8E7 +:1053A0000006C0313FFA50BA40BCFE3DF944D83245 +:1053B00080033404D42116981897109C3008149B4D +:1053C0004866129A8D08F01F00065BFCC0516C08FD +:1053D0005808EFF81A03D82200008CC48002F1505C +:1053E000D421300818974876169C8D08F01F0006C7 +:1053F0005BFCC0516C085808EFF81A03D822000073 +:1054000000008CC48002F108D431202D1897784810 +:1054100076460C38C034300CC858ECC2FFFCF6C3DA +:10542000FFECF6020329F802032C2FF92016F809E5 +:105430000D08F6020022EEC4FFEC10955808C410C7 +:105440003009069A08981291500B700EB18E501EBA +:10545000150EFC001610FDDEC010EA0E0341FDD152 +:10546000C010B181401BEA000240E2000000E3D01E +:10547000C010021B501B700BE3DBC0100209F20EC0 +:10548000010EB01EFC091410401EFC090009B009F1 +:10549000E00116102FC8B149043AFE98FFD8400B1E +:1054A000580CC0F1ECC8FFFBEE080028C0282016FD +:1054B00020480838E088000570095809CF908F46C9 +:1054C0000E9CF01F001AC2D52FF508983009070B63 +:1054D000F60A1610700CF7DBC010F80E1610141E2A +:1054E000F5DCC010161A120AB01AB14AFC0A0009FB +:1054F000B0092FC8B1490433FE98FFEBECC8FFFB9D +:10550000EE0803295809C0D1EE080028C02820164B +:1055100020480838E088000570095809CF908F4668 +:105520000A9C2FEDD8320000800363EED43121AD08 +:10553000FAC4FF7418971695682C50C96816680944 +:1055400050E81494512CFAE5000851596E9558050D +:10555000C091310CF01F004799358F9C9915992502 +:1055600099056E9972085808C0F0721A911A301A8B +:105570007219F4090949109B91290E9CF01F003EF5 +:105580006E9830099109402810945808C064F1D8E9 +:10559000C01F50283018C02830088D08FC1C7FF030 +:1055A00040260C98E6187FF01838C1C1E068270F34 +:1055B000415B9708403A580AC061EDD6C014C0312B +:1055C0004AECC0284AEC41295809E08005DEF8C8B9 +:1055D000FFFD3009118AF20A1800C190F8C8FFF8DF +:1055E000C168FAEA00083008FAEB003C3009F01F05 +:1055F0000025C1103018415A950841294A285809F8 +:10560000C041109CE08F05C1109C2FF841258B08EC +:10561000E08F05BBFAC8FF9CFAC9FFA0FAEA003C7C +:105620000E9CEBD6C28BF01F001918935805C0D002 +:10563000FAEA003C3004F1DBC014EAC503FF109B1A +:105640005174EA1B3FF0C3284188419C100CF8C5F7 +:10565000FBCEE0450020E08A001BF8CCFBEE403B8F +:10566000EA081140F60C0A4CEC0809460C4CC148FB +:105670008002E2A4800364208003F3708003F37C43 +:1056800080036F328003A6C0800364D0EA0C11202F +:10569000403AF40C094CF01F006BFC18FE10301956 +:1056A000EAC50433F00B000B51793008FC193FF8C0 +:1056B000F01F0065E0684361EA18636FE06987A73F +:1056C000EA193FD2F01F0061E068C8B3EA188B60A6 +:1056D000E0698A28EA193FC6F01F005D0A9C149011 +:1056E0001691F01F005CE06879FBEA18509FE069B2 +:1056F0004413EA193FD3F01F005514981699009AE5 +:10570000029BF01F005314901691F01F00533008B5 +:1057100018963009009A029BF01F0050C0C00C9CE4 +:10572000F01F004C14981699009A029BF01F004C31 +:10573000F7B600015966E088000530185148C128C5 +:105740004C88FAEA003CF0060238F01F0044F9B435 +:105750000000FBF40A14F7B60101F9BC0100FBFCE0 +:105760001A14419020100A10C04650403000C04822 +:10577000300B5C30504BEC0211005806FBFA400431 +:10578000F5D6E40AFBFA4A04FBF64A11F9B2040022 +:10579000E1D6E510F9B90500FBF95A1140C858984F +:1057A000E08B00205858F9B40A01FBF5900CF7B5CE +:1057B0000904FBF59A0CF9B4090040CC583CC2D05E +:1057C000E0890005582CC101C18840CB584BC0600E +:1057D000585BC0A1301A50DAC228301950D9C0F82D +:1057E0003008301450C83FF5301C300B509550DC59 +:1057F0000A91312850EBC208300A50DA40E95809C2 +:10580000E089000730185098109150E8C15840E5E1 +:1058100050950A910A98C108300C50DC40EBEC0B13 +:10582000000B509B16982FF85808E089000510913E +:105830003018C028109130096E9A95193049C178F6 +:1058400080036E4A80036B7C800369A480036D181B +:1058500080036E5280036E2480036FC080036F321A +:105860008003F38C6A1AA1792FFA8B1A6E95F2CA0B +:10587000FFEC103AFE98FFF86A1B0E9CF01F0053D5 +:1058800058E15F888B0CF1E400046E987008508832 +:10589000E08001985806E08A0040F3D6C0044CC866 +:1058A000F0090234FAE50018EC041404EDB4000425 +:1058B000C0303025C0F84C78F0E80020FAEA003C0F +:1058C000E9D4C004F01F0044303514981699FAE961 +:1058D00000084C0C50A30C931896C0F8FAEA001874 +:1058E000EDB40000C081ECE800002FF5F01F003B94 +:1058F000FAEB0018A1542F865804CF11FAE80018CB +:10590000FAEA00080696F01F003440A3149816998E +:10591000FAE90008C2D8EC081100C0313025C2886D +:105920004ACCF0041404501CF1D8C0044A89FAEAA5 +:10593000003CF2080238F01F0029401C506330255B +:105940000C93FAEB00081896C0F8FAEA0008EDB4D8 +:105950000000C081ECE800002FF5F01F0020FAEBFA +:105960000008A1542F865804CF1106964063414A7F +:10597000580AC370FAE8000858015F94FAE9001861 +:105980003008FC193FF0FAEA0018F01F0015F9BCC6 +:105990000000F9BC0101E9EC000CC2304098580845 +:1059A000E08A010C3008FC194024ECC40001FAEA3A +:1059B00000182FF55064F01F0009409414981699B0 +:1059C000FAE90008C1080000800364588003F38CE2 +:1059D0008003F45480037028800369A480036FC09F +:1059E000506602940A9CF01F0069FAE80008F01F54 +:1059F00000683008FC19401CF01F006614981699C6 +:105A0000FAE90028FC18FCC040A5100550A5580470 +:105A1000C211FAEA00083008FC194014F01F005EB9 +:105A200040BCFAEB000814981699189A0A9BF01FCC +:105A3000005BE08102740A9840B9EE188000FAEA2F +:105A40000008109512980A99F01F0054E081025E38 +:105A5000CB484D39E8C8000140D55805C4F0300C9A +:105A6000F2080238513C300AFC1B3FE0F01F004DA9 +:105A7000FAE800284085F01F0048FAEB0028FAEA0F +:105A80000008F01F0049516CF01F0040149816994F +:105A9000FAEA0008F01F0040FAEB000841682D0800 +:105AA0000AC841392FF95139FAE80028F01F003BA4 +:105AB000E081035AFAE80008300AFC1B3FF0F01FAF +:105AC0000036FAE80028F01F0035FAEA002830080E +:105AD000FC194024E08100E8413C083CC6E4F01F8A +:105AE000002C3008FAEB0028FC194024FAEA0008E0 +:105AF000F01F0027FAEB0008CC3B40850805F208B0 +:105B0000023A5135FAE800284085F01F0021FAEBEF +:105B10000028FAEA0008F01F0024516CF01F001B57 +:105B200014981699FAEA0008F01F001BFAEB000817 +:105B300041682D080AC8413C1835C3713008FC196A +:105B40003FE0FAEA0028F01F00134085FAE8000859 +:105B50000805F01F0012E08100A7FAE80028300ACB +:105B6000FC1B3FE0F01F000C14981699FAEA00089D +:105B7000F01F000AC22033090A98117AF20A1800AD +:105B8000E08102F21095CF9B80036E52800369A4DE +:105B900080036D1880036B7C80036FC08003F38CDF +:105BA0008003702880036E243008FC194024F01F05 +:105BB0000056FAEB0008CAEBFAEA003CFAEB0008E0 +:105BC00058E65FAB418A3008F40911FFF7E903F9A1 +:105BD000F0091800E080008140EA58015FA9F3EA6B +:105BE00003F94CAAF4060234FAE50010F009180093 +:105BF000C1405801E081018A3008FC194014089A1C +:105C00000A9BF01F0041FAE80008F01F0041E08104 +:105C1000017D0292E08F018540853014FAE8001082 +:105C2000FAEA0008F01F003BF01F003B1892F01F3B +:105C3000003BFAE80010F01F003414981699FAEAB5 +:105C40000008F01F0037FAEB0008E4C8FFD00AC8CC +:105C5000FC19402430080234C331FAE80008F01F70 +:105C600000311691149014980299FAEA0010F01F6E +:105C7000002EC1A1FAE80010009A029BF01F002B31 +:105C8000E0800271E5D2C001C0F1E08F026C408A71 +:105C90001438C0301095C098330840892FF6B28868 +:105CA0004088C088406633990A98117AF20A180031 +:105CB000CEF0506611892FF9B089E08F0255F01FA0 +:105CC00000122FF4FAEB000830083009F01F00171B +:105CD000CA60E08F024840D85808C0510498009527 +:105CE00040D4C4A840C55815E08900224174580426 +:105CF000C040F4C9FBCDC0484199F209113604985F +:105D00000095C2F8800369A48003F38C80036F5868 +:105D10008003702880036E2480036E5280036B7CA6 +:105D200080036D1880036FC080036F32E2C80001EA +:105D30005801E0051740E2091740E1D1E515F9B92E +:105D400005001032E5D8E418F1D2E518E5D8E502EF +:105D5000FBFC5011F9D8E50CFBFC5A11F9B8050011 +:105D6000404B120B5008504B1200301B0E9CF01F82 +:105D7000010840081894404A58055F99580A5F9AEC +:105D8000F5E90009C080404CF8050D49121C1210BD +:105D9000504C12155802E08A002740DB580BC1D046 +:105DA0005808E08A0017109A5008089B0E9CF01FB4 +:105DB00000F9069A189B18940E9CF01F00F718998A +:105DC000069B50190E9CF01F00F5401940081293D5 +:105DD000E408010AC080C028049A069B0E9CF01FAC +:105DE00000ED1893301B0E9CF01F00E9411A189229 +:105DF000580AE08A0007189B0E9CF01F00E61892D4 +:105E000040C95819E089001440385808C101402998 +:105E1000F1D9C014C0C11298E6187FF0C080404C80 +:105E2000301B2FFC2FF0504C506BC038300A506A9A +:105E300041195809C031301CC09864482FC8E40883 +:105E4000032CF01F00D7F80C1120404BF80B000872 +:105E5000F1D8C005C0C0F00811205848E08A0006FB +:105E60002048100B504BC0785848C070404A2E480C +:105E7000100A504A100010055800E08A0008069BDE +:105E8000009A0E9CF01F00C7189340495809E08AF9 +:105E90000008049B129A0E9CF01F00C21892414801 +:105EA0005808C1B0049B069CF01F00BFC164069B4C +:105EB000300930AA0E9CF01F00BD2016189340DC5C +:105EC000580CC0314091C098089B4091300930AACD +:105ED0000E9CF01F00B6189458015FA940CB582BB8 +:105EE0005F98F3E80008C2505801C111049B029961 +:105EF000305A0E9CF01F00AD1892189B069CF01FA4 +:105F000000AAE089000FC0383002049440EA30094A +:105F10005CDA4085506A5049C0F9089240660494A2 +:105F20002FF65066331840850AC830085048C049DB +:105F300040DC580CE08000B55805E08A0008089B5A +:105F40000A9A0E9CF01F00971894406B580BC031B2 +:105F5000089CC138681B0E9CF01F0095684A189574 +:105F6000E8CBFFF42FEA2F4CA36AF01F00920A9BA4 +:105F7000301A0E9CF01F008B5044403A3019F5DA6D +:105F8000C001189450DA40855099502650E1049B86 +:105F9000069CF01F0089404BF8C0FFD0069CF01F04 +:105FA0000082089A506C049B0E9CF01F008418918C +:105FB00078385808C0303016C068189B069CF01F0F +:105FC000007A18960E9C029BF01F007440CCEDECFA +:105FD0001008C0D140DB580BC0A14026E04000397A +:105FE000C300406A580AE0890024C2F84069580991 +:105FF000C085129840CC1848C1D140DB580BC1A1D4 +:106000000C9940265809E08A0021069B301A0E9C04 +:10601000F01F0064049B1893F01F0063E0890006E2 +:10602000C141EDB00000C111E0400039C0A02FF027 +:10603000C0C85806E08A000C4026E0400039C04144 +:1060400033980AC8C6782FF00AC0C7580AC0409AC9 +:1060500040E9123AC430069B300930AA0E9CF01F6A +:106060000053404818930838C091109B300930AA5B +:106070000E9CF01F004E504CC0E8404B300930AA37 +:106080000E9CF01F004A089B504C300930AA0E9C11 +:10609000F01F00461894409C2FFC509CC79B301862 +:1060A0000690408508930C941096049B009CF01F6A +:1060B00000422D0C0ACC0236C0A4009B300930AA45 +:1060C0000E9C2FF6F01F00391890CF0B0896300B5E +:1060D0000694504B00931890C0284026069B301A17 +:1060E0000E9CF01F0030049B1893F01F002FE089D6 +:1060F0000012C1B1E1D0C001C0D1C17840891238CD +:10610000C0301095C0882FF650663318408CB88880 +:10611000C138339A0A981179F4091800CF002FF981 +:10612000B089C0981095C02833090A98117AF20AEC +:106130001800CF905066049B0E9CF01F0018580466 +:10614000C120404B083B5F19580B5F18F3E800086B +:10615000C0400E9CF01F0011089B0E9CF01F000F0A +:10616000C02850660E9C069BF01F000C3008AA88C1 +:106170004068415A2FF841299508408C5809FBF88E +:106180001012F1F51A002E6DD8320000800368005D +:10619000800368A0800366F88003642080036300A6 +:1061A00080036664800363EE80036818800364588C +:1061B0008002E736800354088003658C5EFC5EFC39 +:1061C000D42118961697580BC0311695C508F01FA4 +:1061D00000295806C0706C685808C0410C9CF01F1C +:1061E00000264A681037C0316C07C0A84A481037EB +:1061F000C0316C17C0584A381037EDF700028E696D +:106200003008F0091900C051F01F001F3005C2F816 +:106210000E9B0C9CF01F001D6EC818955808C0609E +:106220006E8B0C9C5D18F9B505FF8E68EDB8000704 +:10623000C0516E4B0C9CF01F00166EDB580BC0A0BB +:10624000EEC8FFBC103BC0400C9CF01F0011300892 +:106250008FD86F2B580BC0700C9CF01F000D3008AE +:10626000EF4800483008AE68F01F00070A9CD822AB +:1062700080031E7480031F388003EF2C8003EF4CD3 +:106280008003EF6C80031E7680031D2C8003217C2D +:10629000D4014848189B700CF01F0003D80200007E +:1062A00000000598800361C0D42116981897109CAF +:1062B00030084876149B8D08F01F00065BFCC05127 +:1062C0006C085808EFF81A03D822000000008CC4AC +:1062D0008002F198D42116981897109C3008149BCE +:1062E0004866129A8D08F01F00065BFCC0516C08CE +:1062F0005808EFF81A03D82200008CC48002F1205D +:106300001898E01C0000F0091510580CF20817004E +:10631000F9BC0010F9BC0100109AF0091508E61A42 +:10632000FF00F7BC00F8F2081700109AF0091504F6 +:10633000E61AF000F7BC00FCF2081700109AF0090A +:106340001502E61AC000F7BC00FEF2081700580854 +:106350005E5CEDB8001EF9BC0120F7BC00FF5EFCDE +:1063600018997808F9D8C003C150EDB80000C021D1 +:106370005EFD109BF00A1601E21B0002A388580B79 +:10638000F3FA1A00F9BC0101F3F80A00F9BC0002A3 +:106390005EFCF5D8C010F00B1610580AF60817006E +:1063A000F9BC0010F7D8C008F00A1608580BF7BC63 +:1063B00000F8F4081700F7D8C004F00A1604580BC8 +:1063C000F7BC00FCF4081700F7D8C002F00A160268 +:1063D000580BF7BC00FEF4081700EDB80000C060D1 +:1063E000A198C031320C5EFC2FFC93085EFCD401F6 +:1063F00018987649784C121CC1312FB9A369120B39 +:10640000F00900092EC8134E174A143EC060F9BCAB +:1064100003FFF9BC0201D8021039FE9BFFF6D80237 +:10642000D4211897169578965806C091310CF01F14 +:10643000000A99368F9C9916992699065805C0909E +:106440006A196E987038F009032A8B0AF009092539 +:10645000D82200008002E2A4D421189716967895DD +:106460005805C091310CF01F001999358F9C991572 +:10647000992599056E956A385808C0B1310A304B94 +:106480000E9CF01F00138B3C6E98703C580CC1B0F2 +:106490006E987038F0060028700C580CC0407809CF +:1064A0009109C0E80E9C30170E9BEE060947EECA14 +:1064B000FFFBA36AF01F0006C060991699273008F9 +:1064C00099389948D82200008002E2A48002DC5466 +:1064D000D431202D1693129610951492301BF01F74 +:1064E0000029F3D3C0145009F1D3C01FF0011614D2 +:1064F000FC1A0010F3DAE139FBF91A00189458027B +:10650000C1E0FACCFFF818D2F01F001F4018C0D02D +:106510004009F80A1120F20A094AF5E810088958DA +:10652000F20C0A495009C028895840085808F9B3A4 +:106530000102F9B3000189688943C0981A9CF01FD1 +:106540000012301340082E0C894389585801C0901E +:10655000E2C1043318018D01F80C11358B0CC0D841 +:10656000E6C8FFFCF8CC0432A5738D0CE808032CB8 +:10657000F01F000618138B03089C2FEDD832000083 +:10658000800364588003636080036300D4317448DF +:106590007645169714961015C1312FB8EECEFFEC44 +:1065A000A368F408000BEE080008114A1749123AD4 +:1065B000C030C0E2C0781C38FE9BFFF9C4A8580563 +:1065C000C0640E9830150C971096C02830056E1BCD +:1065D000F01F00246E496C4499352FB4F2C5FFFBBF +:1065E000EC040024EE0500252EC62EC7F8C8FFECEB +:1065F000300A0F0E0D0BFC021610F6031610FDDE0E +:10660000C010E4030103F7DBC010FC0B010BF60A1A +:10661000000AB01AB14AE60A000AB00A2FC8B14A05 +:106620000836CE83C0D80F0BF60E1610F7DBC0105D +:10663000160AB01AB14A1C0AB00A2FC8B14A0A3762 +:10664000CF33C0282019114A580ACFD09949D832DF +:10665000300BF01F00043018994830089958D83290 +:1066600080036458D43116977646F40214052FF649 +:10667000149318940406761B6E28C0382FFBA1785B +:106680001036FE99FFFD089CF01F001A300918957E +:10669000F8C8FFEC129AC03810AA2FF90439CFD5E8 +:1066A0006E4BE7D3C0052FBBEEC9FFECEE0B002B02 +:1066B0005803C130E60C1120300A7202E40309428B +:1066C000044A10AA130AF40C0A4A1639CF73910A25 +:1066D000580AC0702FF6C058130A10AA1639CFD323 +:1066E000089C20160E9B8B46F01F00030A9CD83294 +:1066F0008003645880036420D431202D7649744887 +:10670000169614951039EC081750EA061750F00544 +:1067100017506C2876437442761BE4030007103749 +:10672000F7BB09FFF01F0036EEC4FFFBF8C9FFEC12 +:10673000F8040024300A1298C02810AA0838CFE3C1 +:106740002FB32FB2EC030023EA020022ECCBFFECC4 +:106750005012EACAFFECC44894955805C20012983A +:106760001696300E50090D02E400161070017009E3 +:10677000B181E5D2C010E0050341AB32E1D9C010D0 +:106780000002E40E000EB01EB18E1C01B001E20E3C +:1067900016102FC80636CE834009910E94865806EF +:1067A000C1D072021298169E3005B0121D0190825F +:1067B000E1D1C010AD30E0020002E4050005B005F3 +:1067C000B185B1812FC8AD319092E20200020A0278 +:1067D000E4051610063ECEA391022FCA2FC9401819 +:1067E000103ACBB3C02820175807E08A00050948A3 +:1067F0005808CFA099472FEDD83200008003645885 +:10680000D4211697301BF01F00043019995799496D +:10681000D822000080036458D431300812951697AE +:1068200018967644F6C9FFEC720BF60C1610F7DBDF +:10683000C010F40C024CF40B0345F7D5C010B18521 +:106840001805EA0C1510F80B000B12AB2FF8B185E8 +:106850000838CEB55805C1D06E281034C1456E1B1E +:106860000C9C2FFBF01F000C6E4AEECBFFF418932C +:106870002FEA2F4CA36AF01F00090E9B0C9CF01FFF +:1068800000080697E8C8FFFF2FB48F48EE040925DB +:106890000E9CD832800364588002E736800364205F +:1068A000D431149618971694F1DAC002C0902018CB +:1068B0004A19F208032A3009F01F00201894A34651 +:1068C000C3706E955805C091310CF01F001D9935AD +:1068D0008F9C9915992599056E9366255805C0D109 +:1068E000E06B02710E9CF01F0017872C3008189582 +:1068F0009908C038069C1895EDB60000C0C1089BE9 +:106900000A9A0E9CF01F0010089B18930E9C069488 +:10691000F01F000EA156C0C06A035803CEC10A9AE8 +:106920000A9B0E9CF01F00088B0C9903CE5B089C01 +:10693000D83200008003F380800368188002E2A44C +:1069400080036800800366F880036420D4211698D1 +:106950001897109C3008149B4866129A8D08F01FF7 +:1069600000065BFCC0516C085808EFF81A03D822E7 +:1069700000008CC48002F1381498FC197FF0F5DB1C +:10698000C01FF00B1100F7E81008F5E813F8F20843 +:106990000108F00C1100F9E81008F00C141F2FFC8E +:1069A0005EFCD703F5EB101CE08000DCD421F7E996 +:1069B000200EEFDBC28B3015C430AB6BF7EA136BE4 +:1069C000AB6AF7D5D3C2EDD9C28BC5C0A1785CF94B +:1069D000F3D5D2ABE04707FFC770E04607FFC740DB +:1069E000EE06000CE02C03FEF6080644F40907440A +:1069F000F4080646F609064A0807F405004A5C0B47 +:106A0000EDBB0014C050A1775CFA5CFB201C580C55 +:106A1000E08A006FE04C07FFE084009CF7DCD28B3B +:106A2000EDEA11F6EFE61217EE178000F1B7042039 +:106A30000E0A5C0BEDBE001FEFBB001FD822E41B4B +:106A4000000FF40C1200F6061200F7BC03E1F80682 +:106A50001730F7B60201E0460020C0D4EC0C11203C +:106A6000F606094BF40C0A4C184BF406094A20B6FA +:106A70000C17CAABF406094BC640300A20B60C17F7 +:106A8000CA3BE419000FF00C1200F2051200F7BC2B +:106A900003EAF8051730F7B5020AE0450020C0D434 +:106AA000EA0C1120F2050949F00C0A4C1849F005CE +:106AB000094820250A16C8FBF0050949C4203008FA +:106AC00020250A16C88BE419000FE41B000F144B95 +:106AD0001049E04707FFC091580BC381E04607FF0C +:106AE000C3815809C360C3285809C330C2F85C3C4D +:106AF0002FFCF1BC04C0E04C0020C114F8081120A8 +:106B00000E46EE0C0A47F40809491247F40C0A4AEB +:106B1000F6080949124AF60C0A4BC83BF80811203E +:106B2000F9B90000C030F60809490E46EDEA101622 +:106B3000F40C0A4AF3EA1007F60C0A4A300BC71B9A +:106B40001C9BE61B8000300AD8223FFB3FFAD8226C +:106B5000F06B0000EDBE001FEFBB001F300AD82213 +:106B6000F7E9200BE61B8000F9D9C28BE04C07FF48 +:106B70005E1C3FFA3FFB5EFCEE198000F7E9200C3B +:106B8000E08600CAEBCD40E0169CE61C8000BFDB2F +:106B9000BFD9103AF20B1300C0921697129B0E99B0 +:106BA0001497109A0E98EE1C8000F6071614AB7B13 +:106BB000F7EA135BAB7ABFBBF2061614C440AB799D +:106BC000F3E81359AB78BFB9E04707FFC4F00E26CE +:106BD000C120EC051120E0460020C7C2F005094E97 +:106BE000F2050945F0060A48F2060A490A48580E15 +:106BF0005F1E1C48101AF609014BF6061200C0E091 +:106C0000C783EC0E1120F606094BF40E0A4E1C4BFE +:106C1000F406094A0C17E08A0039F4091515AB9AF5 +:106C2000F5EB115AAB9BF7D7D28B184BFC178000B2 +:106C3000EDBA0000F7B701FF0E395F29120A5C0BAD +:106C4000E3CD80E0AB79F3E81359AB78F3E8100EAD +:106C5000F9B60101EE0E1100F9B70001EFBB001FFC +:106C6000F7EA100EF9B70000CB0BBFDBF7EA100E06 +:106C7000C081E04607FFC050F9E7114BE3CD80E04B +:106C80003FFA3FFBE3CD80E05C372FF7F1B704C05C +:106C9000E0470020C114EE081120F40809495F16EE +:106CA000F4070A4A0C4AF6080949F5E9100AF407FC +:106CB0000A4B3007CB3BEE081140F608094914494E +:106CC0005F16F6070A4A0C4A300B3007CA7BE3CD41 +:106CD00080E0F1B604C0F00E1700C040F205094E86 +:106CE000104EF2060A483009580E5F1E1C48C83B79 +:106CF000F4061200F9B70300F9B60300F9BC03006B +:106D0000F7B602E0F406094B300A0C17FE9AFFBEF4 +:106D1000C85B0000EE198000F7E9200CFE96FF2EFC +:106D2000EBCD40E0169CE61C8000BFDBBFD9123BD8 +:106D3000C0721697129B0E991497109A0E98300EE7 +:106D4000EFDBC28BF7DBC014B5ABEDD9C28BC5F05E +:106D5000F3D9C014B5A9E04707FFC2500E26C0F012 +:106D6000EC051120E0460020C352F005094EF20563 +:106D70000945F0060A48F2060A490A48100AF609C7 +:106D8000004BEDBB0015C340F7D7D28B184BF9DA97 +:106D9000C001184EEE1E8000F1BE04201C0A5C0BE0 +:106DA000E3CD80E0B5CBF7EA100EC101E04607FF66 +:106DB000C030E3CD80E0B5C9F3E8100EC071300AF1 +:106DC000FC1B7FF0184BE3CD80E03FFA3FFBE3CDA7 +:106DD00080E0F1B604C0F00E1700C060F205094E65 +:106DE00058085F18104EF2060A483009CC8BFDEEA9 +:106DF000101EA19B5D0A5D0E2FF7E04707FFF9BA51 +:106E00000000F9BB0000F9BE0000CBFB30165807AC +:106E1000CA31B5CB100AF609004B184BE3CD80E020 +:106E2000580B5E6DF60C1501B59CE02C03FF5E3D22 +:106E3000F80C111F1699AB7BBFBBF7EA135BF60C7E +:106E40000A4BA1795E2B5C3B5EFBF8CB0000300C5B +:106E5000C038189B5C4B300A5E0BD401E069041EFD +:106E6000F6081200C170C0C3F00E1120F608094BDD +:106E7000F40E0A4E1C4BF408094A1019C0B8F40865 +:106E80001200F9B80300F7B802E0F408094B300A21 +:106E900010195809E08900305C392FF9E0490036B3 +:106EA000C043300B300AC2682F69F2081120E04954 +:106EB0000020C0B2F408094EF6080948F4090A4A4D +:106EC000F6090A4B104BC088F608094E144E169A64 +:106ED000300BF4090A4AEDBA0000C0921C7EC04192 +:106EE000EDBA0001C0422FFAF7BB02FF5CFC5D0B5C +:106EF0005D0AD802E06803FFEDBA000BF7B800FFA7 +:106F0000100A5C0BF7B903FEE04907FFC055300AD1 +:106F1000FC1BFFE0C0C8EDBB001FF7B90101AB9A35 +:106F2000F5EB115AA17BAB9BF7E9115BA17C5D0BE3 +:106F3000D802103AF20B1300C080A17BA179144B48 +:106F4000124B104B5E0F5EFDA17BFC1CFFE0580A4C +:106F5000F80B13005E8F5EFD1ADE1AD7A17B5F3C33 +:106F6000A1795F375CFCFC1EFFE0580AFC0B1300A4 +:106F7000E08B001D5808FC091300E08B0018580B2B +:106F8000F5BA0000C1501B071B0E583CC0A0581C8E +:106F9000C0335E0F5E1D103AF20B13005E2F5E3D94 +:106FA0001438F60913005E2F5E3D1B07D80A5817E8 +:106FB0005F0C5809F5B800001B071B0E5E0F5EFC46 +:106FC0001ADE1AD7A17B5F3CA1795F375CFCFC1EFF +:106FD000FFE0580AFC0B1300E08B001D5808FC0969 +:106FE0001300E08B0018580BF5BA0000C1501B07C6 +:106FF0001B0E583CC0A0581CC0335E0D5E1F103ADB +:10700000F20B13005E2D5E3F1438F60913005E2D5F +:107010005E3F1B07D80A58175F1C5809F5B80000D7 +:107020001B071B0E5E0D5EFCEBCD40FFF7E9200E4B +:10703000F6071614A97BF7EA137BA97ABDBBE41BFC +:107040003FFFABD7E08000CCE04707FFE08400B50E +:10705000F2061614A979F3E81379A978BDB9E419F1 +:107060003FFFABD6E08000E2E04607FFE08400B2DD +:107070000C17FE37FC01FC1C8000F8031601E9D94F +:10708000C3625CD4E7D4D382E6090644F80501253F +:10709000E6050644EA031502E6090644F80501255B +:1070A000E6050644EA031502E6090644F80501254B +:1070B000E6050644EA031502E6080640E40907402F +:1070C000E609064402045C05A365EBE413E5A3644A +:1070D0005C34F8050145E6040640E4050740E60592 +:1070E000064402045C05EA031502E7E413E3E80240 +:1070F0001502E6080640E4090740E60906440204D2 +:107100005C05A365EBE413E5A3645C34F805014575 +:10711000E6040640E4050740E605064402045C0573 +:10712000EA031502E7E413E3E8021502E60A064063 +:10713000E40B0740E60B064202025C03EDB3001CC1 +:10714000C090A1725CF32017A39AF5EB11DAA39B10 +:10715000C058A58AF5EB11CAA58B5807E08A008BA9 +:10716000E012FF00E8120080E6080640E40907404C +:10717000E4080644E60906480005F00100485C09F9 +:10718000F9D2C10158045C25F4081300F609130074 +:107190005F36F8061700E40A1608F5E3118AE60BD5 +:1071A0001608F7D7D28BEDBE001FEFBB001F0C0AED +:1071B0005C0BE3CD80FFE41B000F144BE08100A7C4 +:1071C000F2061614ABD6E04607FFE08100A4C9E83A +:1071D000E419000F1049E081009AC928A37BF7EA5F +:1071E00013DBA37AF5EB1004E08000A0F604120094 +:1071F000C170C0C3E8051120F604094BF4050A4527 +:107200000A4BF404094A0817C0B8F4041200F9B490 +:107210000300F7B402E0F404094B300A0817A38A0C +:10722000F5EB11EAA38BC11BA379F3E813D9A3787B +:10723000F3E81004C6F0F2041200C170C0C3E80500 +:107240001120F2040949F0050A450A49F0040948E9 +:107250000816C0B8F0041200F9B40300F7B402E055 +:10726000F004094930080816A388F1E911E8A38958 +:10727000CFCA5C372FF7F1B704C0E0470020C154F4 +:10728000EE061120E4070A42E606094C1842E6071A +:107290000A43F4060941F4070A4AF606094C184A5B +:1072A000F6070A4B3000C158EE061120F9B0000075 +:1072B000F9BC0000C050F4060940F606094CE60788 +:1072C0000A423003F4070A411841F6070A4A300B14 +:1072D000E012FF00E8120080E6080646E4090746CF +:1072E000E4080644E60906480C05F00700485C0976 +:1072F0003007F9D2C1010034E2051300C46B1C9BB6 +:10730000E61B8000300AE3CD80FF3FFB300AE3CD6F +:1073100080FFF5EB1004C0901C9BE61B8000EA1B6D +:107320007FF0300AE3CD80FFF1E91015CEF0E9D906 +:10733000C28BE04407FFCE41F1E910C5CE10CE6B01 +:10734000D4311A97202D109C1295149E16931696E0 +:107350005809C4411638E088005AF0081200C0D01D +:10736000F6080946F808094CF00B1120F408094EFC +:10737000F40B0A4BF7E61006F80A1610EBDCC01007 +:10738000EC0A0D02FC091610EA02024BF3E31109A4 +:10739000123BE08800091809123CE08B0005123B03 +:1073A000F3DCEB09F20B010BFDDEC010F60A0D0A4F +:1073B000FDEB110EEA0A024A1C3AE0880009180E99 +:1073C0001C3CE08B00051C3AFDDCEB0EFC0A010ABC +:1073D000300BF4080A4A2FEDD8321639FE9BFFFD18 +:1073E000F2091200C46114385F8B06355F3AF7EA80 +:1073F000100AF20A1800C060FC08010AE6050146FE +:10740000149E0C9B1C9A2FEDD8325808C05130198D +:10741000F2080D08109CF8081200E0810084EC0CC2 +:10742000010BF8031610EBDCC010F6030D0AFC0983 +:107430001610EA0A024AF3EB1109123AE088000931 +:107440001809123CE08B0005123AF3DCEB09141921 +:10745000FDDEC010F2030D02FDE3110EEA02024A46 +:107460001C3AFE98FFB5180E1C3CFE9BFFB1CACB20 +:10747000F20E1120EA090945F609094BE60E0A4306 +:10748000F0090941F4090942F00E0A48F40E0A4ACB +:107490000A48164AF0061610F9D8C010E6060D0480 +:1074A000F4031610089BE7E51103E80C02450635C6 +:1074B000E0880007201B10030638E0880072F5DA28 +:1074C000C0100A13E6060D04F5E51106E80C024C9F +:1074D000089A0C3CE0880007201A10060C38E08857 +:1074E000005AF5EB110B1816F601064A149C1636D5 +:1074F000C0735F0514325F3AEBEA000AC060F8011E +:107500000104F608014B089CE40C010AEC0B01464F +:10751000EC090A4BF4090A4AEC0E09460C4A2FED15 +:10752000D832F0011120F4010A4BF808094CEC089C +:107530000949EC010A41F7E91009F8031610EBDCE0 +:10754000C010E2030D00F20B1610EA00024EF7E144 +:10755000110B163EE0880006180B163CE088002749 +:10756000F60E0101F3D9C010E2030D00F3E1110999 +:10757000EA00024B123BE08800091809123CE08B3C +:107580000005123BF3DCEB09F20B010BF408094E8A +:10759000C4DB0C3CF7BA0B01EDD8EB06CA3B063551 +:1075A000F7BB0B01E7D8EB03C8BB163EF7DCEB0BD0 +:0275B000CD8B81 +:10760000C0080000C0080000C0080000C00800005A +:10761000C0080000C0080000C0080000C00800004A +:10762000C0080000C0080000C0080000C00800003A +:10763000C0080000C0080000C0080000C00800002A +:10764000C0080000C00800000000000000000000AA +:10765000C008000000000000000000000000000062 +:10766000C008000000000000000000000000000052 +:10767000C008000000000000000000000000000042 +:1076800000000000000000000000000000000000FA +:1076900000000000000000000000000000000000EA +:1076A00000000000000000000000000000000000DA +:1076B00000000000000000000000000000000000CA +:1076C00000000000000000000000000000000000BA +:1076D00000000000000000000000000000000000AA +:1076E000000000000000000000000000000000009A +:1076F000000000000000000000000000000000008A +:10770000C0080000300CF01F0012580CF80F1710C2 +:10771000D603301CF01F000E580CF80F1710D603BC +:10772000302CF01F000B580CF80F1710D603303C0C +:10773000F01F0007580CF80F1710D60300000104C3 +:107740004000011280000120C000012E8000A41C16 +:107750000000000000000000000000000000000029 +:107760000000000000000000000000000000000019 +:107770000000000000000000000000000000000009 +:1077800000000000000000000000000000000000F9 +:1077900000000000000000000000000000000000E9 +:1077A00000000000000000000000000000000000D9 +:1077B00000000000000000000000000000000000C9 +:1077C00000000000000000000000000000000000B9 +:1077D00000000000000000000000000000000000A9 +:1077E0000000000000000000000000000000000099 +:1077F0000000000000000000000000000000000089 +:1078000073656E645265706C790000006765745F23 +:10781000646174615F7463705F636D645F63620071 +:107820006765745F7265706C795F686F73745F62AF +:10783000795F6E616D655F63620000006765745F0C +:107840007265706C795F7363616E5F6E6574776F7C +:10785000726B735F636200006765745F7265706C62 +:10786000795F6964785F6E65745F63620000000031 +:107870007365745F706173737068726173655F6361 +:107880006D645F63620000007365745F6B65795FB0 +:10789000636D645F6362000063616C6C5F7265704E +:1078A0006C795F6362000000617661696C5F64619E +:1078B00074615F7463705F636D645F636200000096 +:1078C0007365744D6170536F636B4D6F6465000039 +:1078D0006765745374617274436D6453657100001D +:1078E0007365745F6E65745F636D645F63620000EF +:1078F0007365745F69705F636F6E6669675F636D00 +:10790000645F63620000000073656E644572726FAD +:107910007200000073746172745F736572766572D1 +:107920005F7463705F636D645F6362007370695F4F +:10793000736C61766552656365697665496E74003E +:107940006765745F636C69656E745F737461746599 +:107950005F7463705F636D645F63620073656E6420 +:107960005F646174615F7564705F636D645F6362BF +:1079700000000000636865636B4D7367466F726D4E +:107980006174000073746172745F7363616E5F6E23 +:1079900065745F636D645F6362000000666F756E9F +:1079A00064486F737442794E616D65007365745FEE +:1079B0006B65795F636D645F63620000696E697413 +:1079C0005370690073746172745F636C69656E747F +:1079D0005F746370000000007370695F706F6C6C9F +:1079E000000000006765745F726573756C745F6397 +:1079F0006D645F636200000073746F705F636C6935 +:107A0000656E745F7463705F636D645F63620000D2 +:107A100073746172745F7365727665725F7463709C +:107A2000000000007365745F706173737068726149 +:107A300073655F636D645F63620000007365745F0C +:107A4000726573756C745F636D6400007365745F59 +:107A5000646E735F636F6E6669675F636D645F63B7 +:107A6000620000006765745F73746174655F7463BE +:107A7000705F636D645F6362000000007265715F38 +:107A80007265706C795F686F73745F62795F6E6145 +:107A90006D655F636200000073746172745F636C94 +:107AA00069656E745F7463705F636D645F636200C9 +:107AB000572D5B25735D2057726F6E67207465725A +:107AC0006D696E6174696F6E20696E6465783A25C0 +:107AD00064206E506172616D3A2564206964783A61 +:107AE00025642031366269743A25640A000000007A +:107AF0003078257820000000572D5B25735D2049E4 +:107B00006E646578206F7574206F662072616E6791 +:107B1000653A2025640A00005B25735D20535349B4 +:107B2000443A25730A0000005B25735D20525353CD +:107B3000493A25640A0000005B25735D20454E43E9 +:107B4000543A25640A0000005B25735D205365618B +:107B5000726368696E6720666F7220486F73743A4B +:107B60002069703D3078257820666F756E643D25FC +:107B7000640A00005B25735D20666F756E64486F54 +:107B8000737442794E616D653A20466F756E64205C +:107B9000486F73743A206E616D653D25732069707E +:107BA0003D307825780A00005B25735D20696653B7 +:107BB00074617475733A256420726573756C743AD8 +:107BC00025640A004C69737420436F6D6D616E64A7 +:107BD000732066756C6C210A000000005245434515 +:107BE000495645005452414E534D4954000000003F +:107BF0005B25735D204D6170205B25642C20257012 +:107C00002C2025735D0A00005B25735D20535049CD +:107C100020696E697469616C697A6174696F6E203C +:107C20006661696C65642100572D5B25735D204595 +:107C300072726F7220636F6E6669677572696E67C4 +:107C4000205350490A000000572D5B25735D202505 +:107C5000645D20446973616C6C2E2025642F25645B +:107C600020636D643A25640A00000000572D5B25EF +:107C7000735D2025645D20446973616C6C2E202542 +:107C8000640A00005B25735D3A200000572D5B25D8 +:107C9000735D2025645D204E6F7420666F756E6481 +:107CA00020656E6420636D643A20307825780A0080 +:107CB0005B25735D2025732025640A00572D5B2505 +:107CC000735D20456E64206F6620636D6420706173 +:107CD00072616D73000000005B25735D2064617448 +:107CE00061417661696C3A25640A0000572D5B2575 +:107CF000735D2054544350206E6F7420666F756E10 +:107D00006420666F7220736F636B3A25640A00000B +:107D10005B25735D20736F636B3A25642073746118 +:107D200074653A25640A00005B25735D20737461F5 +:107D300074653A25640A00005B25735D2053746105 +:107D40007274204E6574776F726B205363616E207E +:107D500025640A00572D5B25735D206572723D25F1 +:107D6000640A00005B25735D204C6F6F6B696E6762 +:107D700020666F7220486F73743A206E616D653DA6 +:107D800025730A005B25735D20466F756E6420487D +:107D90006F73743A206E616D653D25732069703D87 +:107DA000307825780A0000005B25735D2053746FDE +:107DB0007020636C69656E7420736F636B3A256421 +:107DC0000A00000055445000544350005B25735D89 +:107DD00020416464723A307825782C20706F727478 +:107DE0003A25642C20736F636B3A25642C207072E3 +:107DF0006F743A25730A0000572D5B25735D205080 +:107E0000726576696F757320636C69656E74202581 +:107E100070206E6F742073746F7070656420210A17 +:107E2000000000005B25735D205374617274204371 +:107E30006C69656E74202573202570205B30782571 +:107E4000782C2025642C2025645D204F4B210A00CE +:107E50005B25735D20537461727420436C69656E99 +:107E600074202573202570205B307825782C202500 +:107E7000642C2025645D204641494C4544210A007C +:107E8000572D5B25735D205374696C6C20636F6E96 +:107E90006E65637465642E2E2E776169740A000026 +:107EA000572D5B25735D20494620646F776E2E2E1B +:107EB0002E776169740A00005B25735D205374613D +:107EC000727420536572766572202573205B256479 +:107ED0002C2025645D204F4B210A0000572D5B2587 +:107EE000735D2053746172742053657276657220DD +:107EF0002573205B25642C2025645D204641494C78 +:107F00004544210A000000005B25735D2025702098 +:107F10006E756D506172616D3D2564207061726D8A +:107F200073546F4368616E67653D25640A00000005 +:107F30005B25735D2025645D206E69663A2570209F +:107F40006C7769705F616464723D307825780A00EF +:107F50005B25735D20257320706172616D733D2513 +:107F6000640A00005B25735D20506173733A20251D +:107F7000732025640A000000572D5B25735D2025C2 +:107F800073203A204661696C656420746F206164D7 +:107F90006420706173737068726173650A00000019 +:107FA000436F6E6E65637420746F206E6574776FB7 +:107FB000726B2E2E2E0000006572723D25640A0041 +:107FC0004F4B0A00572D5B25735D205353494420C6 +:107FD0006C656E206F7574206F662072616E6765C8 +:107FE000000000005B25735D2025730A000000007F +:107FF000572D5B25735D2053656E642053504920D7 +:108000006572726F72210A003D3D3E003C3D3D00AD +:10801000572D5B25735D20556E6B6E6F776E2063F9 +:108020006D6420307825780A00000000572D5B250C +:10803000735D2025645D20436865636B20666F7205 +:108040006D6174206D7367206661696C6564210AD7 +:1080500000000000444F574E000000005550000043 +:1080600049462020207374617475733A2025730A81 +:1080700000000000434F4E4E207374617475733AD4 +:108080002025730A00000000536F636B6574206E37 +:108090002E3A256428256429205B307825785D20D8 +:1080A000257320257320616464723A257320706FF4 +:1080B00072743A25640A00005B2564207470637052 +:1080C0002D25705D2D5374617475733A25640A0013 +:1080D0005B746C63702D25705D2D537461747573C2 +:1080E0003A25640A000000005B757063702D2570EE +:1080F0005D20666C6167733A3078257820206C6F5C +:1081000063616C3A25735B307825785D2D25640AB0 +:108110000000000072656D6F74653A257328307831 +:108120002578292D25640A004E4F0000594553003B +:108130004461746120617661696C3A25730A0000BC +:108140002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D5F +:108150002D2D2D2D2D2D2D2D2D2D2D2D2D2D0A009F +:108160005B25735D205363616E206E6F7420636FB7 +:108170006D706C65746564210A0000005B25735D99 +:10818000204E6574776F726B73206E6F7420666F0C +:10819000756E64210A000000636F756C64206E6F59 +:1081A0007420616C6C6F6361746520616C6C206716 +:1081B0007569206E65742061727261790A00000031 +:1081C000636F756C64206E6F7420616C6C6F63619B +:1081D000746520616C6C20677569206E6574730A24 +:1081E000000000005B25735D202564202D20257391 +:1081F000205B25645D2D202564202D202564202D05 +:1082000020307825780A000D000B000C000A0000D1 +:108210007365745F726573756C745F636D64000081 +:108220008000636C800063988000637E80006398A8 +:108230008000638E80006398800063648000639890 +:10824000800063688000638A800063786174637073 +:108250005F706F6C6C5F636F6E6E00007564705F53 +:10826000737461727400000072656D6F76654E659F +:1082700077436C69656E74436F6E6E0061756470F0 +:108280005F726563765F6362000000006765745328 +:1082900074617465546370006172645F7463705FCD +:1082A00073746F7000000000617463705F636F6EC1 +:1082B0006E5F6572725F6362000000006765744EF6 +:1082C0006577436C69656E74436F6E6E4964000038 +:1082D000617463705F636F6E6E5F636C695F65721C +:1082E000725F636200000000617463705F616363CA +:1082F0006570745F636200007564705F73746172AF +:10830000740000005B25735D20747463703A2570FF +:108310002069643D25642C20747063623D25700AD9 +:1083200000000000572D5B25735D204E6F205661C5 +:108330006C696420636C69656E7420666F7220746A +:108340007463703A25700A005B25735D2025645DB7 +:1083500020747463703A257020747063623A2570DB +:108360002073746174653A2564206C7063623A25E9 +:10837000702073746174653A2564206C6566743A84 +:1083800025642073656E743A25640A00572D5B25B9 +:10839000735D20544350206E6F7420696E69746958 +:1083A000616C697A656420747463703A2570207416 +:1083B0007063623A2570206C7063623A25700A001F +:1083C000572D5B25735D204E6F2056616C696420CC +:1083D000496420666F7220747463703A257020704F +:1083E00063623A25700A00005B25735D2062756642 +:1083F0003A2570206C656E3A25640A00572D5B257E +:10840000735D2054544350205B25705D3A20636FA8 +:10841000756C64206E6F7420616C6C6F6361746541 +:1084200020706275660A0000572D5B25735D20542D +:10843000544350205B25705D3A207564705F73650E +:108440006E642829206661696C65640A000000007A +:108450005B25735D2054544350205B25702D25709F +:108460005D3A20636F6E6E65637420256420256419 +:108470000A0000005B25735D206C6566743D256411 +:10848000206C656E3A25640A000000005B25735D70 +:10849000207463705F7772697465206661696C65CA +:1084A000642025702073746174653A2564206C65BE +:1084B0006E3A2564206572723A25640A0000000055 +:1084C000572D5B25735D2074746370203D3D204EF5 +:1084D000554C4C210A0000005B25735D20747463C9 +:1084E000703A2570207063623A2570206275663A92 +:1084F0002570206C656E3A25640A00005B25735D6B +:1085000020272573270A00005B25735D20506163D7 +:108510006B65742073656E74207063623A257020F9 +:108520006C656E3A2564206475723A2564206C652A +:1085300066743A25640A00005B25735D2054544339 +:1085400050205B25705D3A20636C65616E536F63EC +:108550006B53746174655F63622025640A000000D8 +:108560005B25735D20436C6F73696E672074706365 +:10857000623A2073746174653A30782578206572A8 +:10858000723A25640A0000005B25735D20436C6F1E +:1085900073696E67206C7063623A207374617465EE +:1085A0003A30782578206572723A25640A00000016 +:1085B0005B25735D2046726565696E672070617921 +:1085C0006C6F61642025642D25700A005B25735D46 +:1085D00020436C6F73696E6720747063625B2570F3 +:1085E0005D3A2073746174653A307825782065723D +:1085F000723A25640A000000572D5B25735D204305 +:10860000616E6E6F7420636C6F73652069643A25C8 +:10861000642D2570207075742070656E64696E67B6 +:108620000A0000005B25735D202D2D2D2D2D2D2D95 +:108630002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0A8D +:1086400000000000572D5B25735D2074746370205B +:108650003D204E554C4C210A000000005B25735D07 +:1086600020666C75736820646174613A207470636D +:10867000623A2570206572723A25640A0000000093 +:10868000572D5B25735D2054544350205B25705D4E +:108690003A20636F6E6E656374696F6E20657272E7 +:1086A0006F723A202564206375727249643A2564BA +:1086B0000A00000041626F727420636F6E6E656322 +:1086C00074696F6E0A000000572D5B25735D20549E +:1086D000544350205B25705D3A20636F6E6E656376 +:1086E00074696F6E206572726F723A202564206122 +:1086F00072673A25700A0000572D5B25735D205480 +:10870000544350205B25705D3A2066726565206D8C +:10871000656D6F72790A00005B25735D20554450CA +:1087200020496E7365727420257020736F636B3AF5 +:10873000256420616464723A257320706F72743A04 +:1087400025640A00572D5B25735D20545443502047 +:108750005B2D5D3A20696E76616C6964206D6F6493 +:10876000650A0000572D5B25735D2054544350204B +:108770005B2D5D3A20696E76616C6964206E62756E +:10878000660A0000572D5B25735D2054544350202A +:108790005B2D5D3A20696E76616C69642062756656 +:1087A0006C656E0A00000000572D5B25735D205438 +:1087B000544350205B2D5D3A20636F756C64206ECE +:1087C0006F7420616C6C6F63617465206D656D6F93 +:1087D000727920666F7220747463700A0000000062 +:1087E000572D5B25735D2054544350205B25705DED +:1087F0003A20636F756C64206E6F7420616C6C6FCF +:1088000063617465207063620A0000005B25735D1C +:108810002025732C20757063623A25702025733AE9 +:1088200025640A00572D5B25735D20545443502066 +:108830005B25705D3A2075647020636F6E6E6563B2 +:1088400074206661696C65640A000000572D5B2521 +:10885000735D2054544350205B25705D3A2062695B +:108860006E64206661696C6564206572723D256482 +:1088700020506F727420616C726561647920757329 +:1088800065640A005B25735D2025732C206C6F6383 +:108890003A307825782D25642072656D3A30782538 +:1088A000782D25640A0000005B25735D20416C6C07 +:1088B0006F63207061796C6F61642025642D257071 +:1088C0000A000000572D5B25735D2054544350204F +:1088D0005B25705D3A20636F756C64206E6F742049 +:1088E000616C6C6F63617465207061796C6F616439 +:1088F0000A0000005B25735D205B747063625D2D70 +:108900002570207061796C6F61643A25700A0000EF +:10891000572D5B25735D2054544350205B25705DBB +:108920003A2074637020636F6E6E656374206661B5 +:10893000696C65640A0000005B25735D2042454652 +:108940004F52452042494E4420747463703A25705A +:10895000206C7063623A2570207063623A25700A59 +:1089600000000000572D5B25735D205454435020B8 +:108970005B25705D3A206C697374656E2066616971 +:108980006C65640A00000000572D5B25735D205361 +:108990007461727420736572766572204641494C29 +:1089A0004544210A000000005B25735D20545443B8 +:1089B00050205B25702D25705D3A206E6275663DF6 +:1089C00025642C206275666C656E3D25642C2070D4 +:1089D0006F72743D2564202825732F2573290A00A2 +:1089E0007574726C3A6E3A703A7600002573000026 +:1089F0005B25735D2041524420544350205B257019 +:108A00005D3A20616363657074206E6577205B2535 +:108A1000705D0A005B25735D206C6F63616C3A25A5 +:108A2000642072656D6F74653A2564207374617497 +:108A3000653A25640A0000007061796C6F616420FA +:108A40006E6F74206672656564210000572D5B258A +:108A5000735D2041524420544350205B25705D20BB +:108A60006172673D257020726574726965733D257A +:108A7000642061626F72740A000000005B25735D00 +:108A8000206B656570416C697665436E743A256448 +:108A9000206B6565705F69646C653A25642070655C +:108AA00072736973745F636E743A25640A00000020 +:108AB0005B25735D2041524420544350205B257058 +:108AC0002D25705D206172673D257020726574727E +:108AD0006965733D25642070656E642E636C6F73E9 +:108AE000653A2564206C656E3A25640A0000000032 +:108AF0005B25735D2041524420544350205B257018 +:108B00002D25705D2074727920746F20636C6F73F3 +:108B1000652070656E64696E673A256420657272BF +:108B20003A25642069643A25640A00005B25735D78 +:108B30002041524420544350205B25702D25705D08 +:108B4000206172673D257020726574726965733D9E +:108B500025642070656E642E636C6F73653A2564BE +:108B600020636F6E6E3A25640A000000572D5B2566 +:108B7000735D2041524420544350205B25702D25C5 +:108B8000705D206172673D25702072657472696541 +:108B9000733D25640A0000005B25735D204152444B +:108BA00020544350205B25702D25705D2074727910 +:108BB00020746F20636C6F73652070656E64696EDE +:108BC000673A25640A0000005B25735D206C656EC2 +:108BD0003A25640A000000005B25735D20736F6313 +:108BE0006B3A2564207063623A2570207062756666 +:108BF0003A2570206572723A256420627566537456 +:108C00006F72653A2570206C656E3A25640A000023 +:108C10005B25735D20617463705F726563765F636B +:108C20006220703D4E554C4C206F6E20736F636B0D +:108C30003A2564207063623A25700A00572D5B253F +:108C4000735D206572723D256420703D25700A00B9 +:108C50005B25735D205265636569766564202570C8 +:108C6000206C656E3A25640A000000006174637030 +:108C70005F737461727400007463705F73656E6417 +:108C80005F646174615F70636200000061746370AF +:108C90005F706F6C6C000000617463705F7265637D +:108CA000765F6362000000006172645F7463705FEE +:108CB000737461727400000067657446697273743E +:108CC000436C69656E7400006172645F7463705F09 +:108CD00064657374726F7900636C6F73655F636F43 +:108CE0006E6E000073656E6455647044617461005B +:108CF000696E736572744E6577436C69656E744313 +:108D00006F6E6E0061636B5F726563766564000011 +:108D10007463705F636F6E6E6563745F636200009F +:108D200073656E645463704461746100636C6F7347 +:108D3000655F636F6E6E5F7063620000636C656198 +:108D40006E536F636B53746174655F636200000000 +:108D50007463705F646174615F73656E74000000BA +:108D600061636B416E6446726565446174610000C5 +:108D7000676574417661696C5463704461746142E3 +:108D80007974650066726565744461746100000001 +:108D9000676574546370446174614279746500005E +:108DA00063616C634D657267654C656E0000000021 +:108DB000696E73657274427566000000697341766E +:108DC00061696C5463704461746142797465000038 +:108DD00066726565744461746149647800000000DE +:108DE0005B25735D202570205B25642C25645D0A5E +:108DF00000000000686561644275663D256420746A +:108E000061696C4275663D25640A000025645D2039 +:108E10007063623A2570204275663A202570204CB6 +:108E2000656E3A25640A00005B25735D20205B2592 +:108E3000645D3A206C656E3A2564206964783A2551 +:108E40006420746F743A25640A0000005B25735D2A +:108E500020417661696C61626C6564206461746153 +:108E60003A2025640A000000572D5B25735D2069B8 +:108E70006478427566206F7574206F662072616E2B +:108E800067653A2025640A005B25735D2025702004 +:108E90006964783A25640A00572D5B25735D20428A +:108EA0007566203D3D204E554C4C21005B25735D81 +:108EB0002041636B207063623A2570206C656E3AC6 +:108EC000256420736F636B3A256420646174613A92 +:108ED00025700A005B25735D206765743A25642060 +:108EE00025702025640A00005B25735D206368659A +:108EF000636B3A25642025642025700A0000000079 +:108F00005B25735D2046726565202570206F74684F +:108F1000657220627566202564207461696C3A254B +:108F20006420686561643A25640A0000572D5B255A +:108F3000735D204F76657277726974696E6720621F +:108F40007566666572202570206964783A2564210B +:108F50000A000000572D5B25735D20706275665F07 +:108F6000636F70795F7061727469616C20666169AA +:108F70006C65643A207372633A25702C20647374B4 +:108F80003A25702C206C656E3A25640A00000000BA +:108F9000572D5B25735D2041766F696420746F20C7 +:108FA0004F76657277726974652064617461205BC5 +:108FB00025642D25645D210A000000005B25735D9A +:108FC00020496E736572745B25645D3A2025703AA2 +:108FD00025642D2564205B25642C25645D0A000032 +:108FE000572D5B25735D20536F636B206F75742065 +:108FF0006F662072616E67653A20736F636B3D2503 +:1090000064000000696E736572745F70427566007B +:109010006765745F70427566000000000000E10043 +:1090200008040000000000000F01110110011301ED +:109030000E01110110010F0106000500636D645F50 +:109040007365745F69700000636D645F736574704D +:1090500061737300636D645F7374617274436C69F0 +:1090600000000000466F756E6420486F73743A20EC +:109070006E616D653D25732069703D307825780AF5 +:109080000000000075736167653A206474203C310C +:109090007C303E0A0000000075736167653A2073FA +:1090A000656E64556470205B736F636B5D0A097352 +:1090B0006F636B3A20736F636B6574204E756D62DE +:1090C00065720A00536F636B65743A2025640A0069 +:1090D0005061747465726E547970653A2025640A23 +:1090E0000000000050726F766100000031323334AE +:1090F000353637383930000046696E65546573740B +:10910000000000006F6666004465627567204F4688 +:10911000460A00007072696E740000004465627552 +:10912000672009656E61626C65643A203078257845 +:109130000A000000566572626F736520656E616299 +:109140006C65643A20307825780A000044756D70AB +:109150002009656E61626C65643A20307825780A72 +:1091600000000000504F6F6C6C2009656E61626CEE +:1091700065643A20307825780A00000044656275FD +:1091800067204F4E0A00000075736167653A2064DE +:1091900065627567203C73656374696F6E3E203C41 +:1091A0006C6576656C3E0A0973656374696F6E3A27 +:1091B00020696E69742C20636D2C207370692C20DB +:1091C000746370202C207574696C2C207761726E2A +:1091D0000A096C6576656C20203A203020286F667D +:1091E00066292C203120286F6E292C2032202876E9 +:1091F0006572626F7365290A096F723A206465624D +:109200007567207072696E742F6F6E2F6F66660AB5 +:1092100000000000696E697400000000737069004E +:1092200074637000636D00007574696C0000000069 +:109230007761726E00000000616C6C0044756D70A7 +:1092400020416C6C20427566666572730A000000EE +:1092500075736167653A2064756D7050627566203C +:109260005B736F636B5D0A09736F636B3A20736F97 +:10927000636B6574204E756D6265720A00000000B4 +:109280006E6F6E650000000044656C6574696E6702 +:1092900020574550206B6579730A0000757361672C +:1092A000653A207365746B6579203C6B65795F69FD +:1092B00064782028302D33293E203C6B6579206965 +:1092C0006E206865783E0A09206F723A20736574D3 +:1092D0006B6579206E6F6E650A000000205745505F +:1092E000206B6579206D75737420626520313020A4 +:1092F000285745502D343029206F722032362028CF +:109300005745502D31303429206469676974730AD8 +:1093100000000000776C5F61706920766572736988 +:109320006F6E2076322E372E300A00006661696C2F +:10933000656420746F20676574206D6163206164CB +:1093400064726573730A0000687720616464723A1E +:109350002025730A000000006C696E6B2073746135 +:109360007475733A20000000697020616464723A79 +:10937000202573202D2000006E65746D61736B3A9B +:10938000202573202D200000676174657761793A8C +:109390002025730A00000000697020696E746572F0 +:1093A0006661636520697320646F776E0A00000050 +:1093B00064686370203A2000656E61626C65640ABF +:1093C0000000000064697361626C65640A0000005B +:1093D000444E533A202573202D2000007573616799 +:1093E000653A207374617274436C69203C697061E2 +:1093F0006464723E203C706F72743E203C736F63F5 +:109400006B3E203C7463702830292F7564702831BE +:10941000293E0A00537461727420636C69656E742E +:10942000206F6E206164647220307825782C207063 +:109430006F727420256420736F636B202564206D28 +:109440006F64652025640A00572D5B25735D2053EA +:109450007461727420636C69656E74206F6E207025 +:109460006F727420256420736F636B2025642070F5 +:10947000726F74202564206D6F646520256420461A +:1094800041494C45440A000075736167653A207391 +:1094900074617274537276203C706F72743E203C1B +:1094A000736F636B3E203C7463702830292F7564A2 +:1094B000702831293E0A00005374617274202573AC +:1094C00020736572766572206F6E20706F727420E3 +:1094D000256420736F636B2025640A00572D5B257C +:1094E000735D2053746172742025732073657276E6 +:1094F0006572206F6E20706F727420256420736F08 +:10950000636B202564204641494C45440A00000015 +:1095100075736167653A20736574646E73205B319F +:109520002D325D206161612E6262622E6363632E63 +:109530006464640A0000000053657420444E5320A4 +:1095400073657276657220256420746F2025730A16 +:10955000000000003D3D3E20444E53313A2025732B +:109560000A0000003D3D3E20444E53323A20257310 +:109570000A00000075736167653A20676574486F7B +:109580007374203C686F73746E616D653E0A0000F1 +:1095900075736167653A207770617373203C7373EC +:1095A00069643E203C706173737068726173653EDC +:1095B0000A0000002573203A204661696C6564202A +:1095C000746F20616464207061737370687261737A +:1095D000650A000075736167653A20647061737392 +:1095E000203C737369643E0A000000002573203A32 +:1095F000204661696C656420746F2064656C6574D5 +:109600006520706173737068726173650A00000091 +:1096100075736167653A206970636F6E666967206C +:109620003C69703E203C6E65746D61736B3E203CFE +:10963000676174657761792D69703E0A00000000EA +:1096400020206F72203A206970636F6E6669672010 +:109650006E6F6E652028746F20656E61626C652088 +:1096600044484350290A00005B25735D206E6966FB +:109670003A2570206C7769705F616464723D307860 +:1096800025780A0075736167653A20636F6E6E65B1 +:109690006374203C737369643E0A0000636D645F09 +:1096A000737461727453727600000000636D645FBE +:1096B00064656C70617373004D494D4C4644000005 +:1096C0000A24200024200000617661696C61626CCC +:1096D0006520636F6D6D616E64733A0A000000006F +:1096E000202025730A000000636F756C64206E6F84 +:1096F0007420616C6C6F63617465206669726D774C +:10970000617265206275666665720A00547565202F +:109710004D61722032362032323A30393A353420B7 +:109720003230313300000000776C5F696E69745F1E +:10973000636F6D706C6574655F6362006661696C10 +:10974000656420746F20696E697420776C20636F84 +:109750006E6E206D67720000572D5B25735D205380 +:109760007069206E6F7420696E697469616C697AC2 +:1097700065640A006C696E6B20646F776E2C2072D2 +:10978000656C6561736520646863700A00000000A1 +:109790006C696E6B20646F776E0A00006C696E6B8B +:1097A0002075702C20636F6E6E6563746564207421 +:1097B0006F20222573220A007265717565737469C2 +:1097C0006E672064686370202E2E2E20000000003B +:1097D0004641494C45440A00626F756E6420746FBF +:1097E0002025730A00000000572D5B25735D20497A +:1097F0006E74657266616365206E6F74207570218A +:109800000A0000007363616E00000000636F6E6EFB +:10981000656374007365746B6579000073746174BB +:1098200075730000646562756700000064756D7093 +:10983000427566006970636F6E66696700000000BC +:10984000747463700000000077706173730000002F +:109850006470617373000000676574486F7374000F +:10986000736574444E53000073746172745372765E +:10987000000000007374617274436C6900000000A2 +:1098800073656E645564700041726475696E6F2013 +:109890005769666920537461727475702E2E2E207C +:1098A0005B25735D0A0000006F7574206F66206D84 +:1098B000656D6F72790000006661696C6564207483 +:1098C0006F207072657061726520666F72206669C4 +:1098D000726D7761726520646F776E6C6F61640A78 +:1098E00000000000436F756C64206E6F7420646527 +:1098F0007465637420776C206465766963652C20D9 +:1099000061626F7274696E670A000000496E766169 +:109910006C6964206669726D776172652064617438 +:10992000612C2061626F7274696E670A000000002A +:109930004661696C656420746F2073746172742071 +:10994000776C20696E697469616C697A6174696F9A +:109950006E0A0000312E312E3000000069705F73F6 +:1099600074617475735F63620000000002000000A0 +:1099700000B71B000800000100010000286E756C94 +:109980006C290000253032782D253032782D253095 +:1099900032782D253032782D253032782D25303211 +:1099A00078000000256C752E256C752E256C752EA3 +:1099B000256C75007373696420746F6F206C6F6E13 +:1099C0006720286D6178202564290A00257320000E +:1099D00022257322000000002052535349202564A1 +:1099E0002064426D200000002041642D486F6320F8 +:1099F00000000000202857455020656E6372797082 +:109A000074696F6E290000002028544B495020656E +:109A10006E6372797074696F6E2900002028434369 +:109A20004D5020656E6372797074696F6E29000005 +:109A3000202020002530325820000000256300003F +:109A40006E6F206E65747320666F756E640A000019 +:109A5000496E76616C6964206C656E6774680A0093 +:109A600025642E25642E25642E256400544B495010 +:109A70000000000043434D500000000057455000D7 +:109A8000776C5F636D5F696E6974000073656C6508 +:109A900063745F6E65740000776C5F636F6E6E5FFA +:109AA0006C6F73745F636200776C5F7363616E5F8A +:109AB000636F6D706C6574655F636200776C5F6582 +:109AC00076656E745F636200776C5F6D6564696173 +:109AD0005F636F6E6E65637465645F636200000050 +:109AE0005B25735D20434D3A206F7574206F6620AF +:109AF0006D656D6F72790A005B25735D20434D3A89 +:109B000020636F756C64206E6F7420726567697373 +:109B1000746572206576656E742063620A000000C9 +:109B20005B25735D20434D3A20696E697469616CF1 +:109B3000697A65640A0000005B25735D20434D3A35 +:109B400020636F6E6E656374656420746F20257387 +:109B50000A0000005B25735D20434D3A20636F6E61 +:109B60006E656374206661696C65642C2073636143 +:109B70006E6E696E670A00005B25735D20434D3A87 +:109B800020636F756C64206E6F74207374617274DF +:109B9000207363616E20616674657220636F6E6E00 +:109BA000656374206661696C210A00005B25735D42 +:109BB00020434D3A20646973636F6E6E656374650C +:109BC000640A00005B25735D20434D3A20636F6E8D +:109BD0006E656374696F6E206C6F73742C20736391 +:109BE000616E6E696E670A005B25735D20434D3AB6 +:109BF00020636F756C64206E6F742073746172746F +:109C0000207363616E20616674657220636F6E6E8F +:109C1000656374206C6F7374210A00005B25735DAB +:109C200020434D3A207363616E20636F6D706C65E5 +:109C30007465640A00000000FFFFFFFFFFFF0000E3 +:109C40005B25735D20434D3A20526F616D696E67ED +:109C50002066726F6D207273736920256420746FA3 +:109C60002025640A000000005B25735D20434D3A07 +:109C7000204E6F2063616E64696461746520666F55 +:109C8000756E6420666F7220737369642022257379 +:109C9000220A00005B25735D20434D3A206661690E +:109CA0006C656420746F20636F6E6E6563740A0068 +:109CB0005B25735D20434D3A206661696C656420C5 +:109CC000746F207363616E0A000000005B25735D92 +:109CD00020434D3A20756E68616E646C6564206542 +:109CE00076656E740A000000776C5F636F6E6E5F5E +:109CF0006661696C7572655F636200000000000157 +:109D0000000018500000000B00001854000000096B +:109D1000000018800000000F000018A400000001DF +:109D2000000018E000000001000018E4000000013D +:109D300000001810000000010000181400000001CD +:109D400000001818000000010000181C00000001AD +:109D5000000018200000000100001824000000018D +:109D600000001828000000010000182C000000036B +:109D700000001830000000010000183C0000000145 +:109D8000000018400000000100001844000000011D +:109D900000001848000000010000184C4173736572 +:109DA0007274696F6E2022257322206661696C656A +:109DB00064206174206C696E6520256420696E20C2 +:109DC00025730A002E2E2F7372632F534F4654575C +:109DD0004152455F4652414D45574F524B2F5345D7 +:109DE0005256494345532F4C5749502F6C77697051 +:109DF0002D312E332E322F7372632F636F72652FC6 +:109E0000646863702E630000646863705F6F7074D1 +:109E1000696F6E3A20646863702D3E6F7074696F6D +:109E20006E735F6F75745F6C656E202B2032202B14 +:109E3000206F7074696F6E5F6C656E203C3D2044CE +:109E40004843505F4F5054494F4E535F4C454E006E +:109E5000646863705F6F7074696F6E5F6279746558 +:109E60003A20646863702D3E6F7074696F6E735F23 +:109E70006F75745F6C656E203C20444843505F4FA3 +:109E80005054494F4E535F4C454E00006468637018 +:109E90005F6F7074696F6E5F747261696C65723A3E +:109EA000206468637020213D204E554C4C0000001A +:109EB000646863705F6F7074696F6E5F74726169FC +:109EC0006C65723A20646863702D3E6D73675F6FD6 +:109ED000757420213D204E554C4C0A006468637017 +:109EE0005F6F7074696F6E5F747261696C65723AEE +:109EF00020646863702D3E6F7074696F6E735F6F5E +:109F000075745F6C656E203C20444843505F4F5031 +:109F100054494F4E535F4C454E0A000064686370CD +:109F20005F6F7074696F6E5F73686F72743A2064EC +:109F30006863702D3E6F7074696F6E735F6F7574B8 +:109F40005F6C656E202B2032203C3D2044484350FE +:109F50005F4F5054494F4E535F4C454E0000000038 +:109F6000646863705F6F7074696F6E5F6C6F6E674B +:109F70003A20646863702D3E6F7074696F6E735F12 +:109F80006F75745F6C656E202B2034203C3D20443F +:109F90004843505F4F5054494F4E535F4C454E001D +:109FA0007265706C79207761736E277420667265B4 +:109FB00065640000646863705F6372656174655F07 +:109FC000726571756573743A206E657469662021D7 +:109FD0003D204E554C4C0000646863705F637265B1 +:109FE0006174655F726571756573743A2064686346 +:109FF0007020213D204E554C4C0000006468637079 +:10A000005F6372656174655F726571756573743ADB +:10A0100020646863702D3E705F6F7574203D3D2035 +:10A020004E554C4C00000000646863705F637265BD +:10A030006174655F726571756573743A20646863F5 +:10A04000702D3E6D73675F6F7574203D3D204E55DA +:10A050004C4C0000646863705F6372656174655F97 +:10A06000726571756573743A20636865636B2074FB +:10A07000686174206669727374207062756620630B +:10A08000616E20686F6C64207374727563742064F1 +:10A090006863705F6D736700646863705F64656CAC +:10A0A0006574655F726571756573743A206E657469 +:10A0B000696620213D204E554C4C00006468637059 +:10A0C0005F64656C6574655F726571756573743A1C +:10A0D000206468637020213D204E554C4C000000E8 +:10A0E000646863705F64656C6574655F72657175E3 +:10A0F0006573743A20646863702D3E705F6F757489 +:10A1000020213D204E554C4C0000000064686370D7 +:10A110005F64656C6574655F726571756573743ACB +:10A1200020646863702D3E6D73675F6F75742021C6 +:10A130003D204E554C4C00006E6574696620213DF3 +:10A14000204E554C4C0000007062756620705F6FA9 +:10A150007574207761736E2774206672656564007C +:10A16000646863705F62696E643A206E65746966E4 +:10A1700020213D204E554C4C000000006468637067 +:10A180005F62696E643A206468637020213D204EEE +:10A19000554C4C00726574203D3D2073697A656FA3 +:10A1A000662873747275637420646863705F6D737E +:10A1B0006729202D20444843505F4F5054494F4E4B +:10A1C000535F4C454E000000726574203D3D206495 +:10A1D0006863702D3E6F7074696F6E735F696E5F38 +:10A1E0006C656E002E2E2F7372632F534F4654579B +:10A1F0004152455F4652414D45574F524B2F5345B3 +:10A200005256494345532F4C5749502F6C7769702C +:10A210002D312E332E322F7372632F636F72652FA1 +:10A22000646E732E63000000646E73207365727633 +:10A230006572206F7574206F66206172726179009B +:10A24000646E732073657276657220686173206E28 +:10A250006F20495020616464726573732073657464 +:10A260000000000070627566206D75737420626571 +:10A2700020696E206F6E652070696563650000005F +:10A28000617272617920696E646578206F757420DF +:10A290006F6620626F756E6473000000756E6B6E82 +:10A2A0006F776E20646E735F7461626C6520656E9B +:10A2B0007472792073746174653A00006C6F636125 +:10A2C0006C686F73740000003230382E36372E32CF +:10A2D00032322E3232320000000400040004000248 +:10A2E000002000050002001E002000002E2E2F730B +:10A2F00072632F534F4654574152455F4652414D6A +:10A3000045574F524B2F53455256494345532F4CB7 +:10A310005749502F6C7769702D312E332E322F73A1 +:10A3200072632F636F72652F6D656D702E63000011 +:10A330006D656D705F667265653A206D656D207044 +:10A34000726F7065726C7920616C69676E6564000C +:10A350006D656D705F6D616C6C6F633A20747970C0 +:10A3600065203C204D454D505F4D41580000000098 +:10A370006D656D705F6D616C6C6F633A206D656DBE +:10A38000702070726F7065726C7920616C69676E95 +:10A3900065640000001C002000B0002400140020B0 +:10A3A00000080010025400002E2E2F7372632F53EA +:10A3B0004F4654574152455F4652414D45574F52C3 +:10A3C0004B2F53455256494345532F4C5749502F15 +:10A3D0006C7769702D312E332E322F7372632F6399 +:10A3E0006F72652F6E657469662E6300626F6775A4 +:10A3F0007320706275663A206C656E20213D207472 +:10A400006F745F6C656E20627574206E6578742061 +:10A410003D3D204E554C4C210000000073686F7587 +:10A420006C64206E6F74206265206E756C6C207396 +:10A43000696E636520666972737420213D206C61CA +:10A4400073742100696620666972737420213D204F +:10A450004E554C4C2C206C617374206D75737420B8 +:10A46000616C736F20626520213D204E554C4C007D +:10A470002E2E2F7372632F534F4654574152455F10 +:10A480004652414D45574F524B2F53455256494323 +:10A4900045532F4C5749502F6C7769702D312E330F +:10A4A0002E322F7372632F636F72652F7062756621 +:10A4B0002E630000286820213D204E554C4C292059 +:10A4C000262620287420213D204E554C4C2920283A +:10A4D00070726F6772616D6D65722076696F6C6105 +:10A4E000746573204150492900000000702D3E74AE +:10A4F0006F745F6C656E203D3D20702D3E6C656E07 +:10A5000020286F66206C6173742070627566206904 +:10A510006E20636861696E2900000000696E6372D5 +:10A52000656D656E745F6D61676E697475646520D5 +:10A530003C3D20702D3E6C656E0000006261642021 +:10A5400070627566207479706500000070627566CF +:10A550005F74616B653A20696E76616C6964206234 +:10A5600075660000706275665F74616B653A20699C +:10A570006E76616C6964206461746170747200004D +:10A58000706275665F74616B653A20696E76616CA6 +:10A590006964207062756600646964206E6F74205F +:10A5A000636F707920616C6C2064617461000000DD +:10A5B000706275665F636F70795F706172746961F4 +:10A5C0006C3A20696E76616C696420627566000081 +:10A5D000706275665F636F70795F706172746961D4 +:10A5E0006C3A20696E76616C696420646174617094 +:10A5F00074720000706275665F636F70793A2074E0 +:10A600006172676574206E6F742062696720656E81 +:10A610006F75676820746F20686F6C6420736F7546 +:10A6200072636500705F746F20213D204E554C4C65 +:10A63000000000006F66667365745F746F203C3DB8 +:10A6400020705F746F2D3E6C656E00006F666673E0 +:10A6500065745F66726F6D203C3D20705F66726F3F +:10A660006D2D3E6C656E0000706275665F636F7085 +:10A6700079282920646F6573206E6F7420616C6C7B +:10A680006F77207061636B65742071756575657394 +:10A69000210A0000706275665F667265653A207314 +:10A6A000616E6520747970650000000070627566E7 +:10A6B0005F667265653A20702D3E726566203E20A9 +:10A6C00030000000702D3E746F745F6C656E203D2D +:10A6D0003D20702D3E6C656E202B20712D3E746FD9 +:10A6E000745F6C656E000000702D3E746F745F6C5B +:10A6F000656E203D3D20702D3E6C656E00000000B3 +:10A70000706275665F7265616C6C6F633A20702071 +:10A71000213D204E554C4C00706275665F7265613C +:10A720006C6C6F633A2073616E6520702D3E747996 +:10A730007065000067726F77203C206D61785F75EF +:10A7400031365F7400000000706275665F7265618B +:10A750006C6C6F633A207120213D204E554C4C00AB +:10A76000706275665F616C6C6F633A206261642031 +:10A7700070627566206C617965720000636865635C +:10A780006B20702D3E7061796C6F6164202B20709E +:10A790002D3E6C656E20646F6573206E6F74206F44 +:10A7A000766572666C6F77207062756600000000D7 +:10A7B000504255465F504F4F4C5F42554653495AA1 +:10A7C00045206D75737420626520626967676572E4 +:10A7D000207468616E204D454D5F414C49474E4D98 +:10A7E000454E540072656D5F6C656E203C206D6156 +:10A7F000785F7531365F7400706275665F616C6C8E +:10A800006F633A207062756620712D3E7061796CBD +:10A810006F61642070726F7065726C7920616C6911 +:10A82000676E656400000000706275665F616C6C45 +:10A830006F633A206572726F6E656F7573207479FD +:10A8400070650000706275665F636F707920666185 +:10A85000696C656400000000010203040506070737 +:10A8600007070707070000002E2E2F7372632F5370 +:10A870004F4654574152455F4652414D45574F52FE +:10A880004B2F53455256494345532F4C5749502F50 +:10A890006C7769702D312E332E322F7372632F63D4 +:10A8A0006F72652F7463702E630000007463705FB5 +:10A8B000706362735F73616E653A20616374697679 +:10A8C00065207063622D3E737461746520213D20A4 +:10A8D000434C4F53454400007463705F7063627370 +:10A8E0005F73616E653A2061637469766520706399 +:10A8F000622D3E737461746520213D204C49535490 +:10A90000454E00007463705F706362735F73616EC5 +:10A91000653A20616374697665207063622D3E73C9 +:10A920007461746520213D2054494D452D5741499E +:10A93000540000007463705F706362735F73616ED4 +:10A94000653A207477207063622D3E73746174657C +:10A95000203D3D2054494D452D57414954000000AC +:10A960007463705F62696E643A2063616E206F6E1B +:10A970006C792062696E6420696E207374617465FD +:10A9800020434C4F534544007463705F7265637697 +:10A9900065643A206C656E20776F756C6420777201 +:10A9A0006170207263765F776E640A00756E7365FE +:10A9B0006E74207365676D656E7473206C65616B72 +:10A9C000696E6700756E61636B6564207365676DA2 +:10A9D000656E7473206C65616B696E6700000000C2 +:10A9E0006F6F736571207365676D656E7473206C2E +:10A9F00065616B696E6700007463705F7063625FAE +:10AA000072656D6F76653A207463705F7063627310 +:10AA10005F73616E652829007463705F6C6973747D +:10AA2000656E3A2070636220616C726561647920A2 +:10AA3000636F6E6E65637465640000007463705FBD +:10AA4000736C6F77746D723A2061637469766520F8 +:10AA50007063622D3E737461746520213D20434C08 +:10AA60004F5345440A0000007463705F736C6F7746 +:10AA7000746D723A20616374697665207063622D2B +:10AA80003E737461746520213D204C495354454EFA +:10AA90000A0000007463705F736C6F77746D723AB4 +:10AAA00020616374697665207063622D3E73746102 +:10AAB000746520213D2054494D452D574149540A84 +:10AAC000000000007463705F736C6F77746D723A8E +:10AAD000206D6964646C652074637020213D20746E +:10AAE00063705F6163746976655F706362730000B1 +:10AAF0007463705F736C6F77746D723A20666972FD +:10AB0000737420706362203D3D207463705F6163E5 +:10AB1000746976655F706362730000007463705FD0 +:10AB2000736C6F77746D723A2054494D452D5741BF +:10AB30004954207063622D3E7374617465203D3DFD +:10AB40002054494D452D5741495400007463705FAE +:10AB5000736C6F77746D723A206D6964646C6520F4 +:10AB600074637020213D207463705F74775F70633D +:10AB7000627300007463705F736C6F77746D723A08 +:10AB800020666972737420706362203D3D20746397 +:10AB9000705F74775F706362730000007463705F4E +:10ABA000636F6E6E6563743A2063616E206F6E6CC6 +:10ABB0007920636F6E6E65637465642066726F6D75 +:10ABC00020737461746520434C4F5345440000006A +:10ABD00053594E5F53454E540000000053594E5F89 +:10ABE000524356440000000045535441424C4953DF +:10ABF0004845440046494E5F574149545F31000083 +:10AC000046494E5F574149545F320000434C4F5311 +:10AC1000455F574149540000434C4F53494E47004C +:10AC20004C4153545F41434B0000000054494D4593 +:10AC30005F5741495400000003060C18306078004B +:10AC40008000FAFC8000FC6C8000FD4E8000FDB4AA +:10AC50008000FE368000FD4E8000FE788000FEF809 +:10AC60002E2E2F7372632F534F4654574152455F18 +:10AC70004652414D45574F524B2F5345525649432B +:10AC800045532F4C5749502F6C7769702D312E3317 +:10AC90002E322F7372632F636F72652F7463705F30 +:10ACA000696E2E63000000007063622D3E736E6457 +:10ACB0005F71756575656C656E203E3D20706275CF +:10ACC000665F636C656E286E6578742D3E70290032 +:10ACD0007463705F726563656976653A2076616C4E +:10ACE0006964207175657565206C656E67746800B0 +:10ACF000696E7365672E7020213D204E554C4C00C7 +:10AD0000696E73616E65206F6666736574210000FD +:10AD10007062756620746F6F2073686F72742100A3 +:10AD2000706275665F686561646572206661696CF2 +:10AD3000656400007463705F726563656976653A87 +:10AD4000207365676D656E74206E6F742074726910 +:10AD50006D6D656420636F72726563746C792074C5 +:10AD60006F207263765F776E640A00007463705FB1 +:10AD7000726563656976653A207365676D656E74A3 +:10AD8000206E6F74207472696D6D656420636F72DC +:10AD9000726563746C7920746F206F6F73657120B6 +:10ADA00071756575650A00007463705F726563652F +:10ADB0006976653A207463706C656E203E2072631C +:10ADC000765F776E640A00007463705F7265636516 +:10ADD0006976653A206F6F736571207463706C6576 +:10ADE0006E203E207263765F776E640A000000007A +:10ADF0007463705F696E7075743A2061637469760C +:10AE000065207063622D3E737461746520213D205E +:10AE1000434C4F53454400007463705F696E707516 +:10AE2000743A20616374697665207063622D3E73A5 +:10AE30007461746520213D2054494D452D57414989 +:10AE4000540000007463705F696E7075743A20611D +:10AE50006374697665207063622D3E7374617465F6 +:10AE600020213D204C495354454E00007463705FCF +:10AE7000696E7075743A207063622D3E6E657874E9 +:10AE800020213D2070636220286265666F72652014 +:10AE900063616368652900007463705F696E707533 +:10AEA000743A207063622D3E6E65787420213D20D7 +:10AEB00070636220286166746572206361636865EF +:10AEC000290000007463705F696E7075743A2054D5 +:10AED000494D452D57414954207063622D3E73748E +:10AEE000617465203D3D2054494D452D57414954DD +:10AEF000000000007463705F696E7075743A2070B2 +:10AF000063622D3E737461746520213D20434C4F74 +:10AF1000534544007063622D3E736E645F717565C6 +:10AF200075656C656E203E20300000007063622DF8 +:10AF30003E61636365707420213D204E554C4C008A +:10AF40007463705F696E7075743A207463705F70BB +:10AF50006362735F73616E65282900002E2E2F7364 +:10AF600072632F534F4654574152455F4652414DED +:10AF700045574F524B2F53455256494345532F4C3B +:10AF80005749502F6C7769702D312E332E322F7325 +:10AF900072632F636F72652F7463705F6F75742EA9 +:10AFA00063000000636865636B20746861742066E9 +:10AFB0006972737420706275662063616E20686FB9 +:10AFC0006C6420737472756374207463705F68645A +:10AFD000720000007463705F656E71756575653A27 +:10AFE000207061636B6574206E65656473207061A9 +:10AFF000796C6F61642C206F7074696F6E732C2094 +:10B000006F722053594E2F46494E202870726F6739 +:10B0100072616D6D65722076696F6C617465732005 +:10B0200041504929000000007463705F656E7175BE +:10B030006575653A206C656E20213D2030207C7C52 +:10B0400020617267203D3D204E554C4C2028707287 +:10B050006F6772616D6D65722076696F6C61746582 +:10B0600073204150492900007463705F656E7175EB +:10B070006575653A207062756673206F6E20717514 +:10B08000657565203D3E206174206C656173742098 +:10B090006F6E65207175657565206E6F6E2D656DBF +:10B0A000707479007463705F656E71756575653A6B +:10B0B000206E6F207062756673206F6E20717565EB +:10B0C0007565203D3E20626F7468207175657565F9 +:10B0D0007320656D707479007573656720213D205C +:10B0E0004E554C4C00000000636865636B2074682B +:10B0F0006174206669727374207062756620636182 +:10B100006E20686F6C642074686520636F6D706C6E +:10B11000657465207365676C656E000070627566A6 +:10B120005F686561646572206661696C65640A00C8 +:10B1300046494E20656E71756575656420746F674C +:10B140006574686572207769746820646174610051 +:10B150007A65726F2D6C656E6774682070627566B3 +:10B16000000000007463705F656E71756575653A07 +:10B170002076616C6964207175657565206C656EFB +:10B1800067746800525354206E6F74206578706540 +:10B190006374656420686572652100002E2E2F732C +:10B1A00072632F534F4654574152455F4652414DAB +:10B1B00045574F524B2F53455256494345532F4CF9 +:10B1C0005749502F6C7769702D312E332E322F73E3 +:10B1D00072632F636F72652F7564702E63000000B9 +:10B1E000726562696E64203D3D203000636865636E +:10B1F0006B20746861742066697273742070627564 +:10B20000662063616E20686F6C642073747275636E +:10B2100074207564705F686472000000702D3E7069 +:10B2200061796C6F6164203D3D20697068647200D3 +:10B230002E2E2F7372632F534F4654574152455F42 +:10B240004652414D45574F524B2F53455256494355 +:10B2500045532F4C5749502F6C7769702D312E3341 +:10B260002E322F7372632F636F72652F697076347D +:10B270002F69636D702E6300636865636B2074686B +:10B2800061742066697273742070627566206361F0 +:10B290006E20686F6C642069636D70206D657373D8 +:10B2A0006167650069636D705F696E7075743A20DF +:10B2B0006D6F76696E6720702D3E7061796C6F617D +:10B2C0006420746F2069702068656164657220660F +:10B2D00061696C65640A0000636865636B2074686B +:10B2E0006174206669727374207062756620636190 +:10B2F0006E20686F6C642073747275637420746858 +:10B30000652049434D502068656164657200000006 +:10B3100069636D705F696E7075743A20636F7079E0 +:10B32000696E6720746F206E657720706275662085 +:10B330006661696C65640A0069636D705F696E704F +:10B3400075743A20726573746F72696E67206F72DC +:10B350006967696E616C20702D3E7061796C6F61F8 +:10B3600064206661696C65640A00000043616E27B1 +:10B3700074206D6F7665206F7665722068656164F4 +:10B38000657220696E207061636B65740000000057 +:10B390002E2E2F7372632F534F4654574152455FE1 +:10B3A0004652414D45574F524B2F534552564943F4 +:10B3B00045532F4C5749502F6C7769702D312E33E0 +:10B3C0002E322F7372632F636F72652F697076341C +:10B3D0002F69702E63000000636865636B207468DA +:10B3E000617420666972737420706275662063618F +:10B3F0006E20686F6C64207374727563742069705A +:10B400005F68647200FFFFFFFF00000000000000A3 +:10B410002E2E2F7372632F534F4654574152455F60 +:10B420004652414D45574F524B2F53455256494373 +:10B4300045532F4C5749502F6C7769702D312E335F +:10B440002E322F7372632F636F72652F697076349B +:10B450002F69705F667261672E630000746869739C +:10B46000206E656564732061207062756620696E68 +:10B47000206F6E65207069656365210073616E6978 +:10B48000747920636865636B206C696E6B656420FA +:10B490006C697374000000007072657620213D2095 +:10B4A00069707200707265762D3E6E657874203D0D +:10B4B0003D2069707200000069705F72656173738E +:10B4C0005F70627566636F756E74203E3D20636CBD +:10B4D000656E0000636865636B20667261676D6509 +:10B4E0006E747320646F6E2774206F7665726C6162 +:10B4F000700000006E6F2070726576696F75732042 +:10B50000667261676D656E742C2074686973206D56 +:10B51000757374206265207468652066697273743F +:10B5200020667261676D656E7421000073616E69DB +:10B53000747920636865636B0000000076616C6954 +:10B54000646174655F646174616772616D3A6E65B0 +:10B5500078745F70627566213D4E554C4C0000005A +:10B5600076616C69646174655F646174616772615E +:10B570006D3A646174616772616D20656E64213D2E +:10B58000646174616772616D206C656E00FFFFFF1E +:10B59000FFFFFF002E2E2F7372632F534F46545719 +:10B5A0004152455F4652414D45574F524B2F5345EF +:10B5B0005256494345532F4C5749502F6C77697069 +:10B5C0002D312E332E322F7372632F6E65746966A0 +:10B5D0002F6574686172702E630000006E65746977 +:10B5E000662D3E6877616464725F6C656E206D7570 +:10B5F0007374206265207468652073616D652061D5 +:10B6000073204554484152505F4857414444525F6B +:10B610004C454E20666F722065746861727021001F +:10B620007120213D204E554C4C000000712D3E7084 +:10B6300020213D204E554C4C00000000722D3E70E4 +:10B6400020213D204E554C4C000000006172705F7F +:10B650007461626C655B695D2E71203D3D204E55C5 +:10B660004C4C000069203C204152505F5441424CF8 +:10B67000455F53495A4500006E657469662D3E6802 +:10B6800077616464725F6C656E203D3D204554486F +:10B690004152505F4857414444525F4C454E000070 +:10B6A000636865636B207468617420666972737483 +:10B6B00020706275662063616E20686F6C64207311 +:10B6C0007472756374206574686172705F68647207 +:10B6D000000000006172705F7461626C655B695D9F +:10B6E0002E7374617465203D3D2050454E44494E93 +:10B6F00047206F7220535441424C45006E6F2070BA +:10B7000061636B65742071756575657320616C6C20 +:10B710006F77656421000000000000002E2E2F735B +:10B7200072632F534F4654574152455F4652414D25 +:10B7300045574F524B2F53455256494345532F4C73 +:10B740005749502F6C7769702D706F72742D312EA0 +:10B75000332E322F48442F69662F6E657469662F29 +:10B76000776C69662E6300000A09000052580000D9 +:10B7700054580000FFFFFF740000000001FFFFFFAE +:10B780000000FFFFFFFFFF400000000001FFFFFF80 +:10B7900041505000484D4700312E352E312E370094 +:10B7A000312E352E312E3100312E352E312E3400F2 +:10B7B00080017C7C80017C7480017C7C80017C6ABF +:10B7C00080017DCA80017D7880017D2A80017CD83E +:10B7D00080017C86800185D2800185CA800185CA6E +:10B7E000800185D2800185C2800185C2800185BA31 +:10B7F000800185BA02040B0C121618242C30424822 +:10B80000606C0000322E312E312E310078C40E00D3 +:10B81000352E332E31000000352E332E350000003A +:10B82000352E332E340000008001BF808001BF928E +:10B830008001BFA88001BF5A8001BF668001BFD4CC +:10B840008001BF5A8001BFE08001BF5A8001BF5A0A +:10B850008001BF5A8001BF5A8001BF5A8001BF5A80 +:10B860008001BF5A8001BF5A8001BF5A8001BF5A70 +:10B870008001BF5A8001BF5A8001BF5A8001BF5A60 +:10B880008001BF5A8001BF5A8001BF5A8001BF5A50 +:10B890008001BF5A8001BF5A8001BF5A8001BF5A40 +:10B8A0008001BF5A8001BF5A8001BF5A8001BF5A30 +:10B8B0008001BF5A8001BF5A8001BF5A8001BF5A20 +:10B8C0008001BF5A8001BF5A8001BF5A8001BF5A10 +:10B8D0008001BF5A8001BF5A8001BF5A8001BF5A00 +:10B8E0008001BF5A8001BF5A8001BF5A8001BF5AF0 +:10B8F0008001BF5A8001BF5A8001BF5A8001BF5AE0 +:10B900008001BF5A8001BF5A8001BF5A8001BF5ACF +:10B910008001BF5A8001BF5A8001BF5A8001BF5ABF +:10B920008001BF5A8001BF7C8001C0448001BF5AA2 +:10B930008001C0448001BF5A8001C17C8001BF5A90 +:10B940008001C1708001BF5A8001C1648001BF5A6B +:10B950008001BF5A8001BF5A8001BF5A8001C1AC2B +:10B960008001BF5A8001BF5A8001C1A08001BF5A27 +:10B970008001C1948001BF5A8001BF5A8001BF5A23 +:10B980008001BF5A8001BF5A8001BF5A8001BF5A4F +:10B990008001BF5A8001BF5A8001BF5A8001BF5A3F +:10B9A0008001BF5A8001BF5A8001BF5A8001BF5A2F +:10B9B0008001BF5A8001BF5A8001BF5A8001BF5A1F +:10B9C0008001BF5A8001BF5A8001BF5A8001BF5A0F +:10B9D0008001BF5A8001BF5A8001BF5A8001BF5AFF +:10B9E0008001BF5A8001BF5A8001BF5A8001BF5AEF +:10B9F0008001BF5A8001BF5A8001BF5A8001BF5ADF +:10BA00008001BF5A8001BF5A8001BF5A8001BF5ACE +:10BA10008001BF5A8001BF5A8001BF5A8001BF5ABE +:10BA20008001BF5A8001BF5A8001BF5A8001BF5AAE +:10BA30008001BF5A8001BF5A8001BF5A8001BF5A9E +:10BA40008001BF5A8001BF5A8001BF5A8001BF5A8E +:10BA50008001BF5A8001BF5A8001BF5A8001BF5A7E +:10BA60008001BF5A8001BF5A8001BF5A8001BF5A6E +:10BA70008001BF5A8001BF5A8001BF5A8001BF5A5E +:10BA80008001BF5A8001BF5A8001BF5A8001BF5A4E +:10BA90008001BF5A8001BF5A8001BF5A8001BF5A3E +:10BAA0008001BF5A8001BF5A8001BF5A8001BF5A2E +:10BAB0008001BF5A8001BF5A8001BF5A8001BF5A1E +:10BAC0008001BF5A8001BF5A8001BF5A8001BF5A0E +:10BAD0008001BF5A8001BF5A8001BF5A8001BF5AFE +:10BAE0008001BF5A8001BF5A8001BF5A8001BF5AEE +:10BAF0008001BF5A8001BF5A8001BF5A8001BF5ADE +:10BB00008001BF5A8001BF5A8001BF5A8001BF5ACD +:10BB10008001BF5A8001C02C8001C1588001C02C17 +:10BB20008001C02C8001C1888001BF5A8001C044BF +:10BB30008001BF5A8001C0508001BF5A8001C050AF +:10BB40008001BF5A8001C02C8001BF5A8001C02CE7 +:10BB50008001C0388001C0388001C0388001BF5AE0 +:10BB60008001C02C8001C02C8001C14C8001BF5AD3 +:10BB70008001BF5A8001C1408001BF5A8001BF5A75 +:10BB80008001BF5A8001BF5A8001BF5A8001BF5A4D +:10BB90008001BF5A8001BF5A8001BF5A8001BF5A3D +:10BBA0008001C1348001BF5A8001BF5A8001BF5A51 +:10BBB0008001BF5A8001BF5A8001BF5A8001BF5A1D +:10BBC0008001C1288001BF5A8001BF5A8001BF5A3D +:10BBD0008001BF5A8001BF5A8001BF5A8001BF5AFD +:10BBE0008001BF5A8001BF5A8001BF5A8001BF5AED +:10BBF0008001BF5A8001BF5A8001BF5A8001BF5ADD +:10BC00008001BF5A8001BF5A8001BF5A8001BF5ACC +:10BC10008001BF5A8001BF5A8001BF5A8001BF5ABC +:10BC20008001BF5A8001BF5A8001BF5A8001BF5AAC +:10BC30008001BF5A8001BF5A8001BF5A8001BF5A9C +:10BC40008001BF5A8001BF5A8001BF5A8001BF5A8C +:10BC50008001BF5A8001BF5A8001BF5A8001BF5A7C +:10BC60008001BF5A8001BF5A8001BF5A8001BF5A6C +:10BC70008001BF5A8001BF5A8001BF5A8001BF5A5C +:10BC80008001BF5A8001BF5A8001BF5A8001BF5A4C +:10BC90008001BF5A8001BF5A8001BF5A8001BF5A3C +:10BCA0008001BF5A8001BF5A8001BF5A8001BF5A2C +:10BCB0008001BF5A8001BF5A8001BF5A8001BF5A1C +:10BCC0008001BF5A8001BF5A8001BF5A8001BF5A0C +:10BCD0008001BF5A8001BF5A8001BF5A8001BF5AFC +:10BCE0008001BF5A8001BF5A8001BF5A8001BF5AEC +:10BCF0008001BF5A8001BF5A8001BF5A8001BF5ADC +:10BD00008001BF5A8001BF5A8001BF5A8001BF5ACB +:10BD10008001BF5A8001BF5A8001BF5A8001BF5ABB +:10BD20008001BF5A8001BF5A8001BF5A8001BF5AAB +:10BD30008001BF5A8001BF5A8001BF5A8001BF5A9B +:10BD40008001BF5A8001BF5A8001BF5A8001BF5A8B +:10BD50008001BF5A8001BF5A8001BF5A8001BF5A7B +:10BD60008001BF5A8001BF5A8001BF5A8001C11CA7 +:10BD70008001C1108001BF5A8001C1048001BF5AF7 +:10BD80008001BF5A8001BF5A8001C0F88001C0EC19 +:10BD90008001BF5A8001BF5A8001C0E08001BF5AB4 +:10BDA0008001BF5A8001C0D48001C0C88001C0BCDE +:10BDB0008001C0B08001C0A48001C0988001C08C07 +:10BDC0008001BF5A8001C0808001C0748001BF5AC9 +:10BDD0008001C0688001C05C8001C48E8001C47C89 +:10BDE0008001C46A8001C4588001C4468001C43403 +:10BDF0008001C3928001C3928001C4228001C410DB +:10BE00008001C3FE8001C3EC8001C3DA8001C3C896 +:10BE10008001C3B68001C3A48001C3A48001C4A073 +:10BE20008001C2D48001C2D48001C2D48001C5C0C7 +:10BE30008001C5AE8001C59C8001C2D48001C2D4FE +:10BE40008001C58A8001C2D48001C2D48001C57836 +:10BE50008001C5668001C5548001C5428001C5309E +:10BE60008001C51E8001C50C8001C4FA8001C4E8B0 +:10BE70008001C2D48001C4D68001C4C48001C2D470 +:10BE80008001C2D48001C2D48001C2D48001C2D456 +:10BE90008001C2D48001C2D48001C2D48001C2D446 +:10BEA0008001C2D48001C2D48001C2D48001C2D436 +:10BEB0008001C2D48001C2D48001C2D48001C2D426 +:10BEC0008001C2D48001C2D48001C2D48001C2D416 +:10BED0008001C2D48001C2D48001C2D48001C2D406 +:10BEE0008001C2D48001C2D48001C2D48001C2D4F6 +:10BEF0008001C2D48001C2D48001C2D48001C2D4E6 +:10BF00008001C2D48001C2D48001C2D48001C2D4D5 +:10BF10008001C2D48001C2D48001C2D48001C2D4C5 +:10BF20008001C2D48001C2D48001C2D48001C2D4B5 +:10BF30008001C2D48001C2D48001C2D48001C2D4A5 +:10BF40008001C2D48001C2D48001C2D48001C2D495 +:10BF50008001C2D48001C2D48001C2D48001C2D485 +:10BF60008001C2D48001C2D48001C2D48001C2D475 +:10BF70008001C2D48001C2D48001C2D48001C2D465 +:10BF80008001C2D48001C2D48001C2D48001C2D455 +:10BF90008001C2D48001C2D48001C2D48001C2D445 +:10BFA0008001C2D48001C2D48001C2D48001C2D435 +:10BFB0008001C2D48001C2D48001C2D48001C2D425 +:10BFC0008001C2D48001C2D48001C2D48001C2D415 +:10BFD0008001C2D48001C2D48001C2D48001C2D405 +:10BFE0008001C2D48001C2D48001C2D48001C2D4F5 +:10BFF0008001C2D48001C2D48001C2D48001C2D4E5 +:10C000008001C2D48001C2D48001C2D48001C2D4D4 +:10C010008001C4B28001EFCA8001EFCE8001EF7AC7 +:10C020008001EF7A8001EF828001EF8A8001EF9238 +:10C030008001EF9A8001EFA28001EFAA8001EFB2A8 +:10C040008001EFBA8001EFC28001EFD68001F96074 +:10C050008001F93E8001F9CC8001F8A68001F9BE8B +:10C060008001F91C8001F8A68001F8E28001F8A6A1 +:10C070008001F8A68001F8A68001F8A68001F8A644 +:10C080008001F8A68001F8A68001F8A68001F8A634 +:10C090008001F8A68001F8A68001F8A68001F8A624 +:10C0A0008001F8A68001F8A68001F8A68001F8A614 +:10C0B0008001F8A68001F8A68001F8A68001F8A604 +:10C0C0008001F8A68001F8A68001F8A68001F8A6F4 +:10C0D0008001F8A68001F8A68001F8A68001F8A6E4 +:10C0E0008001F8A68001F8A68001F8A68001F8A6D4 +:10C0F0008001F8A68001F8A68001F8A68001F8A6C4 +:10C100008001F8A68001F8A68001F8A68001F8A6B3 +:10C110008001F8A68001F8A68001F8A68001F8A6A3 +:10C120008001F8A68001F8A68001F8A68001F8A693 +:10C130008001F8A68001F8A68001F8A68001F8A683 +:10C140008001F8A68001F8A68001F8C08001FA58A5 +:10C150008001F8F08001F8F08001F90E8001F8F01C +:10C160008001F8F08001F8F08001F8F08001F8F02B +:10C170008001F8F08001F8F08001F8F08001F8F01B +:10C180008001F8F08001F90E8001F8F08001F8F0EC +:10C190008001F8F08001F8F08001F8F08001F8F0FB +:10C1A0008001F8F08001FA488001F8F08001F8F091 +:10C1B0008001F8F08001F8F08001F8F08001F8F0DB +:10C1C0008001F8F08001F8F08001F8F08001F8F0CB +:10C1D0008001F8F08001F8F08001F8F08001F8F0BB +:10C1E0008001F8F08001F8F08001F8F08001F8F0AB +:10C1F0008001F8F08001F8F08001F8F08001F8F09B +:10C200008001F8F08001F8F08001F8F08001F8F08A +:10C210008001F8F08001F8F08001F8F08001F8F07A +:10C220008001F8F08001F8F08001F8F08001F8F06A +:10C230008001F8F08001F8F08001F8F08001F8F05A +:10C240008001F8F08001F8F08001F8F08001F8F04A +:10C250008001F8F08001F8F08001F8F08001F8F03A +:10C260008001F8F08001F8F08001F8F08001F8F02A +:10C270008001F8F08001F8F08001F8F08001F8F01A +:10C280008001F8F08001F8F08001F8F08001F8F00A +:10C290008001F8F08001F8F08001F8F08001F8F0FA +:10C2A0008001F8F08001F8F08001F8F08001F8F0EA +:10C2B0008001F8F08001F8F08001F8F08001F8F0DA +:10C2C0008001F8F08001F8F08001F8F08001F8F0CA +:10C2D0008001F8F08001F8F08001F8F08001F8F0BA +:10C2E0008001F8F08001F8F08001F8F08001F8F0AA +:10C2F0008001F8F08001F8F08001F8F08001F8F09A +:10C300008001F8F08001F8F08001F8F08001F8F089 +:10C310008001F8F08001F8F08001F8F08001F8F079 +:10C320008001F8F08001F8F08001F8F08001F8F069 +:10C330008001F8F08001F8F08001F8F08001F8F059 +:10C340008001F8F08001F8F08001F8F08001F8F049 +:10C350008001F90E8001FA348001F8F08001F90EB5 +:10C360008001F8F08001F8F08001F8F08001F8F029 +:10C370008001F8F08001F8F08001F8F08001F90EFA +:10C380008001F8F08001F8F08001FA2C8001FA2495 +:10C390008001FA1C8001FA148001FA0C8001FA0471 +:10C3A0008001FA408001F8F08001FA5057455F495A +:10C3B0004E445F38303231315F434F4E4E45435427 +:10C3C0004544000057455F494E445F3830323131B3 +:10C3D0005F444953434F4E4E454354494E47000036 +:10C3E00057455F494E445F38303231315F494253DF +:10C3F000535F444953434F4E4E4543544544000018 +:10C40000332E312E322E312E34000000352E3233B1 +:10C4100000000000352E32322E320000352E32322E +:10C420002E310000352E322E39000000352E3138E5 +:10C430002E310000352E31382E320000352E3232AA +:10C440002E340000352E32342E320000352E323498 +:10C450002E310000352E31312E310000352E322E96 +:10C4600032000000352E31362E320000352E3136A6 +:10C470002E310000312E312E312E323200000000DC +:10C48000352E322E31392E3500000000352E322E59 +:10C4900031392E3400000000352E322E31392E3342 +:10C4A00000000000352E322E31392E3200000000FF +:10C4B000352E322E31392E3100000000352E322E2D +:10C4C00031000000352E31312E320000352E313151 +:10C4D0002E330000352E31312E340000352E31310F +:10C4E0002E350000352E31312E360000352E3131FB +:10C4F0002E380000352E31312E37000073736964F9 +:10C500000000000070736B004A756E6B41500000B4 +:10C5100057534300656170005746412D53696D7054 +:10C520006C65436F6E6669672D456E726F6C6C65E6 +:10C53000652D312D300000006964656E7469747971 +:10C54000000000006E7277696669000064656661CC +:10C55000756C740057455F494E445F383032313155 +:10C560005F444953434F4E4E4543544544000000F9 +:10C5700057455F494E445F50414952574953455FC3 +:10C580004D49435F4552524F5200000057455F49A5 +:10C590004E445F47524F55505F4D49435F4552529D +:10C5A0004F52000057455F494E445F43414E444956 +:10C5B000444154455F4C495354000000494E4143A7 +:10C5C0005449564500000000444953434F4E4E45E0 +:10C5D00043544544000000005343414E4E494E47EA +:10C5E000000000004153534F43494154494E470016 +:10C5F0004153534F43494154454400003457415936 +:10C600005F48414E445348414B45000047524F5507 +:10C61000505F48414E445348414B4500434F4D50B5 +:10C620004C45544544000000554E4B4E4F574E006C +:10C630004354524C2D4556454E542D5445524D4968 +:10C640004E4154494E47202D207369676E616C201E +:10C650002564207265636569766564007769726533 +:10C660006400000043616E63656C6C696E672061F5 +:10C67000757468656E7469636174696F6E2074693E +:10C680006D656F75740000005750413A2045415068 +:10C690004F4C2070726F63657373696E6720636FB0 +:10C6A0006D706C657465000043616E63656C6C69E8 +:10C6B0006E67207363616E207265717565737400B7 +:10C6C00052534E3A207573696E672049454545209F +:10C6D0003830322E3131692F44392E3000000000BD +:10C6E0005750413A207573696E672049454545208A +:10C6F0003830322E3131692F44332E3000000000A3 +:10C700005750413A204661696C656420746F20700F +:10C7100061727365205750412049452066726F6DE4 +:10C72000206173736F63696174696F6E20696E66EF +:10C730006F0000005750413A2044726976657220BC +:10C74000757365642064697361626C6564206772E7 +:10C750006F75702063697068657220307825782065 +:10C76000286D61736B203078257829202D20726523 +:10C770006A656374000000005750413A20447269B2 +:10C7800076657220757365642064697361626C6597 +:10C790006420706169727769736520636970686588 +:10C7A00072203078257820286D61736B20307825D1 +:10C7B0007829202D2072656A656374005750413ACC +:10C7C00020447269766572207573656420646973AC +:10C7D00061626C6564206B6579206D616E6167656F +:10C7E0006D656E74203078257820286D61736B201C +:10C7F0003078257829202D2072656A6563740000E1 +:10C800005750413A207573696E672047544B204357 +:10C81000434D50005750413A207573696E67204769 +:10C82000544B20544B4950005750413A207573697E +:10C830006E672047544B205745503130340000007C +:10C840005750413A207573696E672047544B205703 +:10C8500045503430000000005750413A207573694C +:10C860006E672050544B2043434D50005750413A7F +:10C87000207573696E672050544B20544B4950000B +:10C880005750413A207573696E672050544B204EC3 +:10C890004F4E45005750413A207573696E67204BE3 +:10C8A00045595F4D474D54203830322E31580000E5 +:10C8B0005750413A207573696E67204B45595F4D5B +:10C8C000474D54205750412D50534B005750413A3B +:10C8D000207573696E67204B45595F4D474D542055 +:10C8E0005750412D4E4F4E45000000005750413AE1 +:10C8F000204661696C656420746F2073656C6563A4 +:10C9000074205750412F52534E0000004661696C0D +:10C91000656420746F20706172736520746865208F +:10C92000636F6E66696775726174696F6E206669A0 +:10C930006C652027257327202D2065786974696E22 +:10C94000670000005265636F6E6669677572617497 +:10C95000696F6E20636F6D706C65746564000000B4 +:10C9600053657474696E672061757468656E746967 +:10C97000636174696F6E2074696D656F75743A20B8 +:10C98000256420736563202564207573656300004A +:10C9900053657474696E67207363616E207265718C +:10C9A000756573743A2025642073656320256420BF +:10C9B000757365630000000041757468656E746985 +:10C9C000636174696F6E20776974682025303278EE +:10C9D0003A253032783A253032783A253032783A72 +:10C9E000253032783A253032782074696D656420BC +:10C9F0006F75742E00000000547279696E672074A0 +:10CA00006F206173736F63696174652077697468FF +:10CA100020253032783A253032783A253032783A4B +:10CA2000253032783A253032783A2530327820284D +:10CA3000535349443D2725732720667265713D2570 +:10CA400064204D487A290000547279696E67207419 +:10CA50006F206173736F63696174652077697468AF +:10CA60002053534944202725732700004173736FD7 +:10CA700063696174696F6E20726571756573742086 +:10CA8000746F2074686520647269766572206661CF +:10CA9000696C6564000000007770615F7375707089 +:10CAA0006C6963616E742076302E352E31300A4306 +:10CAB0006F7079726967687420286329203230307A +:10CAC000332D323030382C204A6F756E69204D611D +:10CAD0006C696E656E203C6A4077312E66693E2037 +:10CAE000616E6420636F6E7472696275746F7273C5 +:10CAF00000000000546869732070726F6772616D86 +:10CB0000206973206672656520736F667477617241 +:10CB1000652E20596F752063616E2064697374728D +:10CB2000696275746520697420616E642F6F72206C +:10CB30006D6F646966792069740A756E6465722028 +:10CB4000746865207465726D73206F662074686503 +:10CB500020474E552047656E6572616C20507562A6 +:10CB60006C6963204C6963656E73652076657273CA +:10CB7000696F6E20322E0A0A416C7465726E6174A0 +:10CB80006976656C792C207468697320736F66749C +:10CB900077617265206D61792062652064697374C4 +:10CBA0007269627574656420756E6465722074685C +:10CBB00065207465726D73206F66207468650A4223 +:10CBC0005344206C6963656E73652E205365652040 +:10CBD000524541444D4520616E6420434F505949B0 +:10CBE0004E4720666F72206D6F72652064657461B8 +:10CBF000696C732E0A0000002530325800000000D6 +:10CC00008003C4FC80024A908002490000000010AA +:10CC100000000014000000000000002000000000E0 +:10CC20008003D3EC80024DF0800248880000006051 +:10CC300000000000000000000000000100000000F3 +:10CC40008003D3F880024DCC800248280000000009 +:10CC500000000000000000000000000000000000D4 +:10CC60008003C50480024D00800248C4000000001B +:10CC700000000000000000000000000000000001B3 +:10CC80008003D4008002408C800247A8000000008E +:10CC90000000000000000000000000000000000094 +:10CCA0008003D40880023F448002467C00000000DC +:10CCB0000000000000000000000000000000000074 +:10CCC0008003D41480023F188002466C00000000EC +:10CCD0000000000000000000000000000000000054 +:10CCE0008003D42080023EEC8002465C00000000FD +:10CCF0000000000000000000000000000000000034 +:10CD00008003D42880023CA4800244740000000008 +:10CD10000000000000000000000000000000000013 +:10CD20008003C51480024B9080024B00000000007D +:10CD300000000000000000000000000000000000F3 +:10CD40008003C53880024A908002490000000068D4 +:10CD50000000006C00000000000000000000000067 +:10CD60008003D43480024A908002490000000070A1 +:10CD7000000000740000000000000000000000003F +:10CD80008003D44880024A90800249000000007865 +:10CD90000000007C000000100000002000000001E6 +:10CDA0008003D45080024A90800249000000008035 +:10CDB00000000084000000000000000000000000EF +:10CDC0008003D45480024A90800249000000008809 +:10CDD0000000008C000000000000000000000001C6 +:10CDE0008003D46080024A908002490000000090D5 +:10CDF0000000000000000000000000000000000033 +:10CE00008003D46880024A908002490000000094A8 +:10CE10000000000000000000000000000000000012 +:10CE20008003D47080024A9080024900000000987C +:10CE300000000000000000000000000000000000F2 +:10CE40008003D47C80024A90800249000000009C4C +:10CE500000000000000000000000000000000000D2 +:10CE60008003D48880024A9080024900000000A01C +:10CE700000000000000000000000000000000001B1 +:10CE80008003D49C80024A9080024900000000A4E4 +:10CE90000000000000000000000000000000000092 +:10CEA0008003D4A480024A9080024900000000A8B8 +:10CEB0000000000000000000000000000000000072 +:10CEC0008003D4B480024A9080024900000000AC84 +:10CED0000000000000000000000000000000000052 +:10CEE0008003D4C880024A9080024900000000B04C +:10CEF0000000000000000000000000000000000032 +:10CF00008003D4D480024A9080024900000000B41B +:10CF10000000000000000000000000000000000011 +:10CF20008003D4E080024A9080024900000000B8EB +:10CF300000000000000000000000000000000000F1 +:10CF40008003D4F080024A9080024900000000BCB7 +:10CF500000000000000000000000000000000000D1 +:10CF60008003D50080024A9080024900000000C082 +:10CF700000000000000000000000000000000001B0 +:10CF80008003D51480024A9080024900000000C44A +:10CF90000000000000000000000000000000000091 +:10CFA0008003D52080024A9080024900000000C81A +:10CFB0000000000000000000000000000000000071 +:10CFC0008003D53080024A9080024900000000CCE6 +:10CFD0000000000000000000000000000000000051 +:10CFE0008003D54480024A9080024900000000D4AA +:10CFF0000000000000000000000000000000000031 +:10D000008003D54C80024A9080024900000000D87D +:10D010000000000000000000000000000000000010 +:10D020008003D55480024A9080024900000000DC51 +:10D0300000000000000000000000000000000000F0 +:10D040008003D55C80024A9080024900000000E025 +:10D0500000000000000000000000000000000001CF +:10D060008003D56080024A9080024900000000E8F9 +:10D0700000000000000000000000000000000000B0 +:10D080008003D56C80024A9080024900000000ECC9 +:10D090000000000000000000000000000000000090 +:10D0A0008003D65C80024DF080024888000000E4D6 +:10D0B0000000000000000000000000000000000070 +:10D0C0008003D57480024DF080024888000000F093 +:10D0D0000000000000000000000000000000000050 +:10D0E0008003D58080024A78800244580000000006 +:10D0F000000000000000000000000000000000012F +:10D100008003D58C80024A608002443C000000000D +:10D11000000000000000000000000000000000010E +:10D120008003D59880024A48800244200000000015 +:10D1300000000000000000000000000000000001EE +:10D140008003D5A480024A3080024404000000001D +:10D1500000000000000000000000000000000001CE +:10D160008003D5B080024DF0800248880000014461 +:10D1700000000000000000000000000000000000AF +:10D180008003D5C080024DF0800248880000000C6A +:10D19000000000000000000000000000000000008F +:10D1A0008003D5CC80024DF0800248880000017CCD +:10D1B000000000000000000000000000000000006F +:10D1C0008003D5DC80024A90800249000000018083 +:10D1D000000000000000000000000000000000004F +:10D1E0008003D5E880024DF0800248880000019C51 +:10D1F000000000000000000000000000000000002F +:10D200008003D5F880024DF0800248880000018438 +:10D21000000000000000000000000001000000000D +:10D220008003D60080024DF0800248880000006430 +:10D2300000000000000000000000000200000000EC +:10D240008003D60880024DF0800248880000014823 +:10D2500000000000000000000000000100000000CD +:10D260008003D62080024DF080024888000001949F +:10D2700000000000000000000000000100000000AD +:10D280008003D62C80024A9080024900000001A051 +:10D29000000000000000000000000000000000008E +:10D2A0008003D63480024DF0800248880000019847 +:10D2B000000000000000000000000001000000006D +:10D2C0008003D63C80024DF0800248880000014C6B +:10D2D000000000000000000000000001000000004D +:10D2E0008003D64880024DF080024888000001A4E7 +:10D2F00000000000000000000000271000000000F7 +:10D300002A0000004F50454E000000005348415293 +:10D31000454400004C454150000000005745503145 +:10D320003034000057455034300000005750412D34 +:10D3300045415000494545453830323158000000DC +:10D340005750410052534E005750413200000000E8 +:10D3500025734F50454E00002573534841524544B4 +:10D360000000000025734C454150000025734343E5 +:10D370004D5000002573544B49500000257357450C +:10D3800050313034000000002573574550343000D0 +:10D3900025734E4F4E45000025735750412D505375 +:10D3A0004B00000025735750412D454150000000AF +:10D3B000257349454545383032315800257357505B +:10D3C000412D4E4F4E45000025735750410000003F +:10D3D000257352534E0000007765705F6B657925A9 +:10D3E0006400000025732573000000007363616E04 +:10D3F0005F73736964000000627373696400000006 +:10D4000070726F746F0000006B65795F6D676D748B +:10D4100000000000706169727769736500000000A8 +:10D4200067726F7570000000617574685F616C678A +:10D4300000000000616E6F6E796D6F75735F6964D7 +:10D44000656E74697479000065617070736B0000BB +:10D450006E61690070617373776F72640000000021 +:10D4600063615F636572740063615F70617468001B +:10D47000636C69656E745F6365727400707269765F +:10D480006174655F6B657900707269766174655F60 +:10D490006B65795F706173737764000064685F66C1 +:10D4A000696C65007375626A6563745F6D6174634E +:10D4B00068000000616C747375626A6563745F6D07 +:10D4C000617463680000000063615F6365727432B9 +:10D4D0000000000063615F7061746832000000004A +:10D4E000636C69656E745F6365727432000000007E +:10D4F000707269766174655F6B6579320000000057 +:10D50000707269766174655F6B6579325F706173A3 +:10D510007377640064685F66696C653200000000C0 +:10D520007375626A6563745F6D617463683200006D +:10D53000616C747375626A6563745F6D617463684E +:10D5400032000000706861736531000070686173BB +:10D5500065320000706373630000000070696E0044 +:10D56000656E67696E655F69640000006B65795F71 +:10D57000696400006561706F6C5F666C6167730061 +:10D580007765705F6B657930000000007765705FCC +:10D590006B657931000000007765705F6B657932EB +:10D5A000000000007765705F6B6579330000000054 +:10D5B0007765705F74785F6B6579696478000000E7 +:10D5C0007072696F72697479000000006561705F44 +:10D5D000776F726B61726F756E6400007061635F6C +:10D5E00066696C6500000000667261676D656E7447 +:10D5F0005F73697A650000006D6F6465000000006C +:10D600007573655F7770730070726F6163746976AC +:10D61000655F6B65795F63616368696E67000000D1 +:10D6200064697361626C65640000000069645F7323 +:10D6300074720000706565726B6579006D6978655C +:10D64000645F63656C6C00006672657175656E631E +:10D6500079000000888E000077696669656E6769E9 +:10D660006E65000057694669456E67696E65000022 +:10D670008003D6588003D664800254C880025420A8 +:10D6800080024F98800252E0800253E8800254A446 +:10D690000000000080024F9A800252C880024F941E +:10D6A00080024F96800252B08002529880024F9CB6 +:10D6B00080024F9E8002523C800251E0800251D491 +:10D6C000800251AC00000000000000008002518088 +:10D6D00080024FF480024FD00000000000000000E4 +:10D6E000000000000000000000000000000000003A +:10D6F000000000000000000080024FA08002564E93 +:10D700008002564A80025646800256408002563CAD +:10D7100080025636800256328002562C80025626EF +:10D72000800256928002568C800256888002568271 +:10D730008002567C80025676800256728002566CB9 +:10D740008002566680025B3480025C0880025BE0E7 +:10D7500080025BBA80025BA080025B3480025B3493 +:10D7600080025B3480025DC280025E3A80025E12FB +:10D7700080025D8E80025CC280025AF680025DF4F7 +:10D7800080025DCE800268DC80026AA280026A00AC +:10D7900080026904800268F2800269EE800268DC1F +:10D7A000800268DC800268E8800268E8800268E83D +:10D7B000696E76616C696461746500004354524C13 +:10D7C0002D4556454E542D4541502D535543434507 +:10D7D0005353204541502061757468656E746963C8 +:10D7E0006174696F6E20636F6D706C657465642021 +:10D7F0007375636365737366756C6C7920286261F9 +:10D80000736564206F6E206C6F776572206C617930 +:10D810006572207375636365737329004354524CBA +:10D820002D4556454E542D4541502D5355434345A6 +:10D830005353204541502061757468656E74696367 +:10D840006174696F6E20636F6D706C6574656420C0 +:10D850007375636365737366756C6C7900000000A3 +:10D860004354524C2D4556454E542D4541502D465E +:10D8700041494C55524520454150206175746865B9 +:10D880006E7469636174696F6E206661696C65644A +:10D8900000000000494E495449414C495A45000096 +:10D8A0004541503A206D6F7265207468616E202585 +:10D8B000642061757468656E7469636174696F6E04 +:10D8C00020726F756E6473202D2061626F72740018 +:10D8D0004354524C2D4556454E542D4541502D4EE6 +:10D8E0004F54494649434154494F4E2000000000DF +:10D8F0004354524C2D4556454E542D4541502D53C1 +:10D900005441525445442045415020617574686526 +:10D910006E7469636174696F6E207374617274658B +:10D92000640000004745545F4D4554484F44000093 +:10D930004541503A204661696C656420746F2069E6 +:10D940006E697469616C697A6520454150206D6526 +:10D9500074686F643A2076656E646F722025752056 +:10D960006D6574686F642025752028257329000073 +:10D970004354524C2D4556454E542D4541502D4D46 +:10D980004554484F44204541502076656E646F727F +:10D99000202575206D6574686F6420257520282505 +:10D9A00073292073656C656374656400454150207C +:10D9B0006465696E697400008002794480027ADAD5 +:10D9C00080027B5880027BA280027CC880027CD2CD +:10D9D00080027AC45750413A20544B495020636F1B +:10D9E000756E7465726D656173757265732073749D +:10D9F0006F707065640000004173736F63696174D8 +:10DA0000656420746F2061206E6577204253533A1D +:10DA10002042535349443D253032783A25303278FC +:10DA20003A253032783A253032783A253032783A11 +:10DA300025303278000000004173736F63696174B0 +:10DA40006564207769746820253032783A25303251 +:10DA5000783A253032783A253032783A25303278A3 +:10DA60003A253032780000005750413A20342D5783 +:10DA700061792048616E647368616B6520666169D5 +:10DA80006C6564202D207072652D73686172656409 +:10DA9000206B6579206D617920626520696E636F06 +:10DAA00072726563740000004354524C2D45564514 +:10DAB0004E542D444953434F4E4E45435445442004 +:10DAC0002D20446973636F6E6E656374206576659F +:10DAD0006E74202D2072656D6F7665206B6579738D +:10DAE000000000004D69636861656C204D4943206A +:10DAF0006661696C757265206465746563746564DC +:10DB000000000000544B495020636F756E746572BD +:10DB10006D65617375726573207374617274656489 +:10DB200000000000000000080000000600000006E1 +:10DB3000496E646578202F204141202F20504D4BA5 +:10DB40004944202F2065787069726174696F6E2076 +:10DB500028696E207365636F6E647329202F206FB0 +:10DB600070706F7274756E69737469630A00000077 +:10DB7000256420253032783A253032783A25303203 +:10DB8000783A253032783A253032783A2530327872 +:10DB9000200000002025642025640A00504D4B2001 +:10DBA0004E616D650000000052534E3A207374615F +:10DBB0007274696E67207072652D61757468656E28 +:10DBC0007469636174696F6E2077697468202530A9 +:10DBD00032783A253032783A253032783A25303268 +:10DBE000783A253032783A253032780052534E3A1E +:10DBF0002070726F63657373696E6720504D4B536D +:10DC0000412063616E646964617465206C6973743A +:10DC10000000000052534E3A206E6F7420696E204F +:10DC20007375697461626C652073746174652066D4 +:10DC30006F72206E6577207072652D6175746865EE +:10DC40006E7469636174696F6E00000052534E3ADE +:10DC500020504D4B53412063616E6469646174656B +:10DC600020253032783A253032783A253032783AE9 +:10DC7000253032783A253032783A253032782073A0 +:10DC8000656C656374656420666F72207072652DC3 +:10DC900061757468656E7469636174696F6E0000A4 +:10DCA00052534E3A20504D4B53412063616E64698C +:10DCB0006461746520253032783A253032783A250F +:10DCC0003032783A253032783A253032783A253079 +:10DCD000327820646F6573206E6F74206E656564A2 +:10DCE000207072652D61757468656E746963617406 +:10DCF000696F6E20616E796D6F72650052534E3A96 +:10DD0000206E6F206D6F72652070656E64696E673E +:10DD100020504D4B53412063616E646964617465AA +:10DD20007300000052534E3A2061646465642050D1 +:10DD30004D4B53412063616368652063616E646984 +:10DD40006461746520253032783A253032783A257E +:10DD50003032783A253032783A253032783A2530E8 +:10DD60003278207072696F202564000052534E3A59 +:10DD7000207072652D61757468656E746963617475 +:10DD8000696F6E207769746820253032783A2530C3 +:10DD900032783A253032783A253032783A253032A6 +:10DDA000783A253032782074696D6564206F757417 +:10DDB00000000000636F6D706C657465642073759E +:10DDC000636365737366756C6C79000052534E3AE9 +:10DDD000206661696C656420746F20676574206DCE +:10DDE00061737465722073657373696F6E206B6500 +:10DDF000792066726F6D207072652D617574682070 +:10DE00004541504F4C207374617465206D616368A7 +:10DE1000696E65730000000052534E3A20707265BF +:10DE20002D61757468656E7469636174696F6E20C5 +:10DE30007769746820253032783A253032783A256F +:10DE40003032783A253032783A253032783A2530F7 +:10DE50003278202573000000800000008002B51C8D +:10DE60008002B50A8002B5008002B4FA8002B4F4E0 +:10DE70008002B4EE8002B4E8000FAC010050F20260 +:10DE8000000FAC02000FAC01000FAC050050F20215 +:10DE9000000FAC040050F2010050F2010050F201FA +:10DEA0000050F2050050F200000FAC00000FAC0370 +:10DEB0000050F200000FAC0449454545203830328F +:10DEC0002E315820286E6F20575041290000000045 +:10DED0005750412F49454545203830322E31582F73 +:10DEE00045415000575041322F4945454520383073 +:10DEF000322E31582F45415000000000575041321A +:10DF00002D50534B000000005745502D3430000079 +:10DF10005745502D313034007061697277697365EF +:10DF20005F6369706865723D25730A67726F75700B +:10DF30005F6369706865723D25730A6B65795F6D13 +:10DF4000676D743D25730A005750413A20257320B0 +:10DF5000287372633D253032783A253032783A257D +:10DF60003032783A253032783A253032783A2530D6 +:10DF7000327829005750413A204B6579206E656709 +:10DF80006F74696174696F6E20636F6D706C657416 +:10DF90006564207769746820253032783A253032FC +:10DFA000783A253032783A253032783A253032784E +:10DFB0003A25303278205B50544B3D25732047542E +:10DFC0004B3D25735D0000005750413A20496E7665 +:10DFD000616C6964204541504F4C2D4B657920663A +:10DFE00072616D65202D206B65795F6461746120BD +:10DFF0006F766572666C6F7720282564203E202539 +:10E000006C752900494520696E20332F34206D73CB +:10E010006720646F6573206E6F74206D6174636830 +:10E02000207769746820494520696E2042656163E4 +:10E030006F6E2F50726F62655265737020286E6F1D +:10E040002049453F29000000494520696E20332FB3 +:10E0500034206D736720646F6573206E6F74206D5C +:10E0600061746368207769746820494520696E206F +:10E07000426561636F6E2F50726F62655265737097 +:10E0800000000000506F737369626C6520646F77E5 +:10E090006E67726164652061747461636B2064658E +:10E0A000746563746564202D2052534E207761732C +:10E0B00020656E61626C656420616E642052534E0F +:10E0C0002049452077617320696E206D7367203386 +:10E0D0002F342C20627574206E6F7420696E20427C +:10E0E0006561636F6E2F50726F6265526573700069 +:10E0F0005750413A204661696C656420746F20670F +:10E100006574206D61737465722073657373696FD4 +:10E110006E206B65792066726F6D204541504F4CC3 +:10E12000207374617465206D616368696E65730046 +:10E130005750413A204B65792068616E647368617D +:10E140006B652061626F7274656400005750413ADC +:10E15000204661696C656420746F20676574207265 +:10E16000616E646F6D206461746120666F7220530C +:10E170004E6F6E6365000000506169727769736568 +:10E18000206B657920657870616E73696F6E000031 +:10E190005750413A2047726F75702072656B6579F0 +:10E1A000696E6720636F6D706C6574656420776954 +:10E1B000746820253032783A253032783A2530326A +:10E1C000783A253032783A253032783A253032782C +:10E1D000205B47544B3D25735D00000000000000AC +:10E1E000000000000050F204000FAC02000FAC0170 +:10E1F00052096AD53036A538BF40A39E81F3D7FBBC +:10E200007CE339829B2FFF87348E4344C4DEE9CB05 +:10E21000547B9432A6C2233DEE4C950B42FAC34E7A +:10E22000082EA16628D924B2765BA2496D8BD12530 +:10E2300072F8F66486689816D4A45CCC5D65B692D4 +:10E240006C704850FDEDB9DA5E154657A78D9D8478 +:10E2500090D8AB008CBCD30AF7E45805B8B3450698 +:10E26000D02C1E8FCA3F0F02C1AFBD0301138A6BB2 +:10E270003A9111414F67DCEA97F2CFCEF0B4E673E2 +:10E2800096AC7422E7AD3585E2F937E81C75DF6E90 +:10E2900047F11A711D29C5896FB7620EAA18BE1BF6 +:10E2A000FC563E4BC6D279209ADBC0FE78CD5AF49C +:10E2B0001FDDA8338807C731B11210592780EC5FE2 +:10E2C00060517FA919B54A0D2DE57A9F93C99CEF3E +:10E2D000A0E03B4DAE2AF5B0C8EBBB3C835399613F +:10E2E000172B047EBA77D626E169146355210C7D7D +:10E2F00001020408102040801B36000051F4A75092 +:10E300007E4165531A17A4C33A275E963BAB6BCB8D +:10E310001F9D45F1ACFA58AB4BE303932030FA55FF +:10E32000AD766DF688CC7691F5024C254FE5D7FC9D +:10E33000C52ACBD726354480B562A38FDEB15A49B2 +:10E3400025BA1B6745EA0E985DFEC0E1C32F750232 +:10E35000814CF0128D4697A36BD3F9C6038F5FE70C +:10E3600015929C95BF6D7AEB955259DAD4BE832DE8 +:10E37000587421D349E069298EC9C84475C2896A95 +:10E38000F48E797899583E6B27B971DDBEE14FB6AE +:10E39000F088AD17C920AC667DCE3AB463DF4A1869 +:10E3A000E51A31829751336062537F45B16477E05B +:10E3B000BB6BAE84FE81A01CF9082B947048685892 +:10E3C0008F45FD1994DE6C87527BF8B7AB73D3236E +:10E3D000724B02E2E31F8F576655AB2AB2EB280758 +:10E3E0002FB5C20386C57B9AD33708A5302887F29C +:10E3F00023BFA5B202036ABAED16825C8ACF1C2B3A +:10E40000A779B492F307F2F04E69E2A165DAF4CD90 +:10E410000605BED5D134621FC4A6FE8A342E539D94 +:10E42000A2F355A0058AE132A4F6EB750B83EC3913 +:10E430004060EFAA5E719F06BD6E10513E218AF9C1 +:10E4400096DD063DDD3E05AE4DE6BD4691548DB5EB +:10E4500071C45D050406D46F605015FF1998FB2444 +:10E46000D6BDE997894043CC67D99E77B0E842BDD5 +:10E4700007898B88E7195B3879C8EEDBA17C0A47EE +:10E480007C420FE9F8841EC90000000009808683E1 +:10E49000322BED481E1170AC6C5A724EFD0EFFFB14 +:10E4A0000F8538563DAED51E362D39270A0FD96453 +:10E4B000685CA6219B5B54D124362E3A0C0A67B1C6 +:10E4C0009357E70FB4EE96D21B9B919E80C0C54F29 +:10E4D00061DC20A25A774B691C121A16E293BA0A21 +:10E4E000C0A02AE53C22E043121B171D0E090D0BAC +:10E4F000F28BC7AD2DB6A8B9141EA9C857F119855E +:10E50000AF75074CEE99DDBBA37F60FDF701269F39 +:10E510005C72F5BC44663BC55BFB7E348B4329765D +:10E52000CB23C6DCB6EDFC68B8E4F163D731DCCAB6 +:10E53000426385101397224084C61120854A247DAA +:10E54000D2BB3DF8AEF93211C729A16D1D9E2F4BEC +:10E55000DCB230F30D8652EC77C1E3D02BB3166CEE +:10E56000A970B999119448FA47E96422A8FC8CC4AF +:10E57000A0F03F1A567D2CD8223390EF87494EC722 +:10E58000D938D1C18CCAA2FE98D40B36A6F581CF5A +:10E59000A57ADE28DAB78E263FADBFA42C3A9DE4DB +:10E5A0005078920D6A5FCC9B547E4662F68D13C202 +:10E5B00090D8B8E82E39F75E82C3AFF59F5D80BE74 +:10E5C00069D0937C6FD52DA9CF2512B3C8AC993BE8 +:10E5D00010187DA7E89C636EDB3BBB7BCD267809DA +:10E5E0006E5918F4EC9AB701834F9AA8E6956E65B8 +:10E5F000AAFFE67E21BCCF08EF15E8E6BAE79BD973 +:10E600004A6F36CEEA9F09D429B07CD631A4B2AF86 +:10E610002A3F2331C6A5943035A266C0744EBC375C +:10E62000FC82CAA6E090D0B033A7D815F104984A6E +:10E6300041ECDAF77FCD500E1791F62F764DD68D3F +:10E6400043EFB04DCCAA4D54E49604DF9ED1B5E320 +:10E650004C6A881BC12C1FB84665517F9D5EEA0439 +:10E66000018C355DFA877473FB0B412EB3671D5A1D +:10E6700092DBD252E91056336DD647139AD7618C8C +:10E6800037A10C7A59F8148EEB133C89CEA927EEEA +:10E69000B761C935E11CE5ED7A47B13C9CD2DF5941 +:10E6A00055F2733F1814CE7973C737BF53F7CDEACD +:10E6B0005FFDAA5BDF3D6F147844DB86CAAFF38150 +:10E6C000B968C43E3824342CC2A3405F161DC372FF +:10E6D000BCE2250C283C498BFF0D954139A80171FE +:10E6E000080CB3DED8B4E49C6456C1907BCB846143 +:10E6F000D532B670486C5C74D0B85742C66363A517 +:10E70000F87C7C84EE777799F67B7B8DFFF2F20DB7 +:10E71000D66B6BBDDE6F6FB191C5C55460303050A4 +:10E7200002010103CE6767A9562B2B7DE7FEFE1978 +:10E73000B5D7D7624DABABE6EC76769A8FCACA45B1 +:10E740001F82829D89C9C940FA7D7D87EFFAFA153B +:10E75000B25959EB8E4747C9FBF0F00B41ADADEC18 +:10E76000B3D4D4675FA2A2FD45AFAFEA239C9CBFA0 +:10E7700053A4A4F7E47272969BC0C05B75B7B7C28E +:10E78000E1FDFD1C3D9393AE4C26266A6C36365A4D +:10E790007E3F3F41F5F7F70283CCCC4F6834345CC1 +:10E7A00051A5A5F4D1E5E534F9F1F108E2717193D1 +:10E7B000ABD8D873623131532A15153F0804040CC5 +:10E7C00095C7C752462323659DC3C35E30181828DA +:10E7D000379696A10A05050F2F9A9AB50E070709D5 +:10E7E000241212361B80809BDFE2E23DCDEBEB264C +:10E7F0004E2727697FB2B2CDEA75759F1209091BB2 +:10E800001D83839E582C2C74341A1A2E361B1B2DF4 +:10E81000DC6E6EB2B45A5AEE5BA0A0FBA45252F664 +:10E82000763B3B4DB7D6D6617DB3B3CE5229297B1B +:10E83000DDE3E33E5E2F2F7113848497A65353F5D7 +:10E84000B9D1D16800000000C1EDED2C402020605E +:10E85000E3FCFC1F79B1B1C8B65B5BEDD46A6ABE5C +:10E860008DCBCB4667BEBED97239394B944A4ADE4E +:10E87000984C4CD4B05858E885CFCF4ABBD0D06B19 +:10E88000C5EFEF2A4FAAAAE5EDFBFB16864343C569 +:10E890009A4D4DD766333355118585948A4545CFBA +:10E8A000E9F9F91004020206FE7F7F81A05050F0C2 +:10E8B000783C3C44259F9FBA4BA8A8E3A25151F352 +:10E8C0005DA3A3FE804040C0058F8F8A3F9292AD2A +:10E8D000219D9DBC70383848F1F5F50463BCBCDF60 +:10E8E00077B6B6C1AFDADA75422121632010103055 +:10E8F000E5FFFF1AFDF3F30EBFD2D26D81CDCD4CF3 +:10E90000180C0C1426131335C3ECEC2FBE5F5FE11B +:10E91000359797A2884444CC2E17173993C4C4570F +:10E9200055A7A7F2FC7E7E827A3D3D47C86464AC61 +:10E93000BA5D5DE73219192BE6737395C06060A06C +:10E94000198181989E4F4FD1A3DCDC7F442222663F +:10E95000542A2A7E3B9090AB0B8888838C4646CA0B +:10E96000C7EEEE296BB8B8D32814143CA7DEDE79C5 +:10E97000BC5E5EE2160B0B1DADDBDB76DBE0E03B45 +:10E9800064323256743A3A4E140A0A1E924949DBEE +:10E990000C06060A4824246CB85C5CE49FC2C25D85 +:10E9A000BDD3D36E43ACACEFC46262A6399191A8DB +:10E9B000319595A4D3E4E437F279798BD5E7E73242 +:10E9C0008BC8C8436E373759DA6D6DB7018D8D8CA2 +:10E9D000B1D5D5649C4E4ED249A9A9E0D86C6CB48F +:10E9E000AC5656FAF3F4F407CFEAEA25CA6565AFE8 +:10E9F000F47A7A8E47AEAEE9100808186FBABAD525 +:10EA0000F07878884A25256F5C2E2E72381C1C24DD +:10EA100057A6A6F173B4B4C797C6C651CBE8E8238E +:10EA2000A1DDDD7CE874749C3E1F1F21964B4BDDFD +:10EA300061BDBDDC0D8B8B860F8A8A85E07070907E +:10EA40007C3E3E4271B5B5C4CC6666AA904848D8B3 +:10EA500006030305F7F6F6011C0E0E12C26161A350 +:10EA60006A35355FAE5757F969B9B9D017868691BF +:10EA700099C1C1583A1D1D27279E9EB9D9E1E13899 +:10EA8000EBF8F8132B9898B322111133D26969BBB4 +:10EA9000A9D9D970078E8E89339494A72D9B9BB6E4 +:10EAA0003C1E1E2215878792C9E9E92087CECE49F0 +:10EAB000AA5555FF50282878A5DFDF7A038C8C8F64 +:10EAC00059A1A1F8098989801A0D0D1765BFBFDA10 +:10EAD000D7E6E631844242C6D06868B8824141C375 +:10EAE000299999B05A2D2D771E0F0F117BB0B0CBFD +:10EAF000A85454FC6DBBBBD62C16163A002020201F +:10EB000020202020202028282828282020202020DD +:10EB100020202020202020202020202020881010AD +:10EB20001010101010101010101010101004040409 +:10EB300004040404040404101010101010104141C7 +:10EB400041414141010101010101010101010101B5 +:10EB500001010101010101011010101010104242C9 +:10EB60004242424202020202020202020202020285 +:10EB70000202020202020202101010102000000025 +:10EB80000000000000000000000000000000000085 +:10EB90000000000000000000000000000000000075 +:10EBA0000000000000000000000000000000000065 +:10EBB0000000000000000000000000000000000055 +:10EBC0000000000000000000000000000000000045 +:10EBD0000000000000000000000000000000000035 +:10EBE0000000000000000000000000000000000025 +:10EBF0000000000000000000000000000000000015 +:10EC00002D2D0000504F5349584C595F434F5252DD +:10EC10004543540025733A206F7074696F6E20600D +:10EC200025732720697320616D626967756F75733D +:10EC30002028636F756C6420626520602D2D25731C +:10EC400027206F7220602D2D257327290A000000D0 +:10EC500025733A20696E76616C6964206F707469FF +:10EC60006F6E202D2D20602D2563270A00000000E7 +:10EC700025733A20617267756D656E7420726571D7 +:10EC8000756972656420666F72206F7074696F6E4B +:10EC9000206000002D2D2573270A00002D256327F5 +:10ECA0000A00000043000000000004A88002F4668F +:10ECB0008002F4888002F2B08002F2E88002F4520E +:10ECC0008002F4508002F3FE8002F4268002F3DC1E +:10ECD0008002F3DC8002F3CC8002F3DC8002F3EAF2 +:10ECE0008002F3EA8002F3DC3030303030303030F4 +:10ECF000303030303030303001020B040B0506016B +:10ED00000B01020B040B0506010B0B0B03040B0597 +:10ED10000B0B0B0B0B0B040B050B0B0B0B0B0B0B50 +:10ED20000B0B0B0B0B05080B040B0B070B0B0B0949 +:10ED30000B040B050B0B0B0B0A0B040B0B0B0B0B38 +:10ED40000B0B0B040B0B0B0B0B0B0B030B0B0B0B22 +:10ED50000B0B0B0B080B0B0B0B0B0B00000000003D +:10ED6000000000000001000304000000000001009A +:10ED7000030400000000000007030400000000007E +:10ED80000000030400000000000000000400000078 +:10ED90000000020003040000000000010005060559 +:10EDA0000000000001000506000000000000000354 +:10EDB0000400000000000008000000000000000047 +:10EDC000080000000000000000000000000000003B +:10EDD0003031323334353637383941424344454691 +:10EDE0000000000030313233343536373839616253 +:10EDF0006364656600000000202020202020202081 +:10EE000020202020202020200808080808080808C2 +:10EE10000808080808080808080808080808080872 +:10EE2000080808080808080807080807020808076B +:10EE30000808060708070508000101010101010192 +:10EE40000101080808080808080408040404040468 +:10EE50000808080803080804080808040804080843 +:10EE6000040808080808080808040804040404043E +:10EE70000304030803080404040308040304080843 +:10EE8000040803080808080808080808080808080B +:10EE900008080808080808080808080808080808F2 +:10EEA00008080808080808080808080808080808E2 +:10EEB00008080808080808080808080808080808D2 +:10EEC00008080808080808080808080808080808C2 +:10EED00008080808080808080808080808080808B2 +:10EEE00008080808080808080808080808080808A2 +:10EEF0000808080808080808080808080808080892 +:10EF00000808080808080808000A000100020003B1 +:10EF1000000400050006000700080009000A000BB5 +:10EF2000000C000D000E000F00100000000000009B +:10EF300000000000000000000000000000000000D1 +:10EF400000000000000000000000000000000000C1 +:10EF500000000000000000000000000000000000B1 +:10EF600000000000000000000000000000000000A1 +:10EF70000000000000000000000000000000000091 +:10EF800000000000000000000000000080037FB4CB +:10EF900080037E2080037E2080037E2080037E20ED +:10EFA00080037E2080037E2080037E2080037E20DD +:10EFB00080037E20FFFFFFFFFFFFFFFF49534F2D20 +:10EFC000383835392D310000800333228003334433 +:10EFD0008003316C800331A48003330E8003330C33 +:10EFE000800332BA800332E2800332988003329881 +:10EFF0008003328880033298800332A6800332A6D1 +:10F00000800332988003363480034AA480034AA4E4 +:10F010008003364480034AA480034AA480034AA4A0 +:10F0200080034AA480034AA480034AA4800336488C +:10F030008003371C80034AA48003371880033724D9 +:10F0400080034AA480033842800338468003384650 +:10F0500080033846800338468003384680033846AC +:10F0600080033846800338468003384680034AA42C +:10F0700080034AA480034AA480034AA480034AA4CC +:10F0800080034AA480034AA480034AA480034AA4BC +:10F0900080034AA48003394480033B9680034AA43A +:10F0A00080033B9680034AA480034AA480034AA4B9 +:10F0B00080034AA48003387880034AA480034AA4CA +:10F0C0008003416280034AA480034AA480034AA4C7 +:10F0D00080034AA480034AA48003452680034AA4EF +:10F0E00080034AA48003361A80034AA480034AA4FA +:10F0F00080034AA480034AA480034AA480034AA44C +:10F1000080034AA480034AA480034AA480034AA43B +:10F11000800338988003395A80033B9680033B96DE +:10F1200080033B968003387C8003395A80034AA4CD +:10F1300080034AA48003388080034AA480033FA24E +:10F1400080034178800343A48003389480034AA459 +:10F150008003445880034AA48003453C80034AA4AA +:10F1600080034AA48003476E01020B040B050601CD +:10F170000B01020B040B0506010B0B0B03040B0523 +:10F180000B0B0B0B0B0B040B050B0B0B0B0B0B0BDC +:10F190000B0B0B0B0B05080B040B0B070B0B0B09D5 +:10F1A0000B040B050B0B0B0B0A0B040B0B0B0B0BC4 +:10F1B0000B0B0B040B0B0B0B0B0B0B030B0B0B0BAE +:10F1C0000B0B0B0B080B0B0B0B0B0B0000000000C9 +:10F1D0000000000000010003040000000000010026 +:10F1E000030400000000000007030400000000000A +:10F1F0000000030400000000000000000400000004 +:10F2000000000200030400000000000100050605E4 +:10F2100000000000010005060000000000000003DF +:10F2200004000000000000080000000000000000D2 +:10F2300008000000000000000000000000000000C6 +:10F24000494E4600696E66004E414E006E616E008A +:10F2500020202020202020202020202020202020AE +:10F26000303030303030303030303030303030309E +:10F27000080808080808080808080808080808080E +:10F2800008080808080808080808080808080808FE +:10F2900007080807020808070808060708070508FE +:10F2A0000001010101010101010108080808080825 +:10F2B00008040804040404040808080803080804EF +:10F2C00008080804080408080408080808080808CA +:10F2D00008040804040404040304030803080404E1 +:10F2E00004030804030408080408030808080808BD +:10F2F000080808080808080808080808080808088E +:10F30000080808080808080808080808080808087D +:10F31000080808080808080808080808080808086D +:10F32000080808080808080808080808080808085D +:10F33000080808080808080808080808080808084D +:10F34000080808080808080808080808080808083D +:10F35000080808080808080808080808080808082D +:10F36000080808080808080808080808080808081D +:10F37000496E66696E697479000000004E614E0046 +:10F3800000000005000000190000007D3FF00000B3 +:10F390000000000040240000000000004059000070 +:10F3A00000000000408F40000000000040C38800C3 +:10F3B0000000000040F86A0000000000412E848038 +:10F3C00000000000416312D0000000004197D78484 +:10F3D0000000000041CDCD65000000004202A05FAA +:10F3E0002000000042374876E8000000426D1A9481 +:10F3F000A200000042A2309CE540000042D6BCC4FE +:10F400001E900000430C6BF5263400004341C37985 +:10F4100037E080004376345785D8A00043ABC16DF8 +:10F42000674EC80043E158E460913D004415AF1DAC +:10F4300078B58C40444B1AE4D6E2EF504480F0CFCC +:10F44000064DD59244B52D02C7E14AF644EA784309 +:10F4500079D99DB44341C37937E080004693B8B56C +:10F46000B5056E174D384F03E93FF9F55A827748D5 +:0CF47000F9301D3275154FDD7F73BF3C75 +:10F480000000000455736167653A2074746370204E +:10F490002D742F2D72205B2D6F7074696F6E735DEC +:10F4A00020686F73740A20202020202020202D6CDB +:10F4B0002020202020206C656E677468206F6620F5 +:10F4C00062756673207772697474656E20746F203C +:10F4D0006E6574776F726B202864656661756C74F5 +:10F4E0002031303234290A20202020202020202DD5 +:10F4F0006E2020202020206E756D626572206F6660 +:10F500002062756673207772697474656E20746FFB +:10F51000206E6574776F726B202864656661756C08 +:10F52000742031303234290A20202020202020204D +:10F530002D70202020202020706F7274206E756D39 +:10F5400062657220746F2073656E6420746F20286A +:10F5500064656661756C742032303030290A202071 +:10F560002020202020202D752020202020207564A0 +:10F57000700A20202020202020202D7620202020EE +:10F580002020766572626F73650A000080039954CB +:10F59000000000000000000000000000000000006B +:10F5A000000000000000000000000000000000005B +:10F5B000000000000000000000000000000000004B +:10F5C000000000000000000000000000000000003B +:10F5D000000000000000000000000000000000002B +:10F5E000000000000000000000000000000000001B +:10F5F000000000000000000000000000000000000B +:10F6000000000000000000000000000000000000FA +:10F6100000000000000000000000000000000000EA +:10F6200000000000000000000000000000000000DA +:10F6300000000000000000000000000000000000CA +:10F6400000000000000000000000000000000000BA +:10F6500000000000000000000000000000000000AA +:10F660000000000400000000ABCD00000000196E97 +:10F6700010000000FFFFFFFFFFFFFFFFFF7590007E +:10F68000000001FFFFFFFFFEFFFFFFFFFF751000FF +:10F69000000001FFFFFFFFFE00050000800149ECB4 +:10F6A000800149EC800149EC800149EC0000000038 +:10F6B000000002340000000C02040B0C1216182487 +:10F6C0003048606C000000000000000000000000F6 +:10F6D00000000010010000146D3E86B0FFFFFFFF28 +:10F6E000FFFF0000000003E800000001000000012F +:10F6F00000000320000000010000000000000008DE +:10F70000000000020000006400000000000000058E +:10F710000000000F000000050000000F000013882B +:10F7200000001388000007D00000138800003E800E +:10F73000000000020000000C02040B0C121618243A +:10F740003048606C00000000000000000000000075 +:10F7500000000000000000000D0102030405060780 +:10F7600008090A0B0C0D000000000011FF0000004A +:10F770000000000000000000000000000000000089 +:10F780000000000000000000000000000000FFFF7B +:10F79000FFFFFFFF00000001000000030000000168 +:10F7A0000000000100000000000000010000000156 +:10F7B0000000000100000001000000000000000146 +:10F7C0000000000A00000005000000000000000525 +:10F7D00000000000FFFFFFFF00000001000000002C +:10F7E00000000002FF000000000000000000000018 +:10F7F0000000000000000000000000000000000009 +:10F80000000000000000FFFFFFFFFFFF00000001FD +:10F810000000000300000000000007D000000064AA +:10F8200003010100060200000000000C82848B8CA2 +:10F83000129618243048606C0000000000000000A0 +:10F8400000000000000000000000000100000001B6 +:10F85000000000010014000000000014000007D0A8 +:10F860000000000000000001000000000000000691 +:10F8700000000001FFFFFFFF0A00000064756D6DCE +:10F88000795F7373696400000000000000000000ED +:10F890000000000000000000000000000000000068 +:10F8A000303030313032303330343035303630373C +:10F8B0003038303930613062306330643065306602 +:10F8C0003130313131323133313431353136313714 +:10F8D00031383139316131623163316431653166DA +:10F8E00000000000000000028003D670000000004D +:10F8F000800255EC80025614800256588002569CB5 +:10F90000800256AA800255F4800256B6800256D074 +:10F910008002614C8003EAFD0000003F000000010E +:10F920008003EF2C8003EF4C8003EF6C000000009D +:10F9300000000000000000000000000000000000C7 +:10F940008003ECA4000000000000000000000000A4 +:10F9500000000000000000000000000000000000A7 +:10F960000000000000000000000000000000000097 +:10F970000000000000000000000000000000000087 +:10F980000000000000000000000000000000000077 +:10F990000000000000000000000000000000000067 +:10F9A0000000000000000000000000000000000057 +:10F9B0000000000000000000000000000000000047 +:10F9C0000000000000000000000000000000000037 +:10F9D0000000000000000000000000000000000027 +:10F9E0000000000000000000000000000000000017 +:10F9F0000000000000000000000000000000000007 +:10FA000000000000000000000000000000000000F6 +:10FA1000000004A800000000000000000000059C99 +:10FA20000000059C000005A4000005A4000005AC32 +:10FA3000000005AC000005B4000005B4000005BCE2 +:10FA4000000005BC000005C4000005C4000005CC92 +:10FA5000000005CC000005D4000005D4000005DC42 +:10FA6000000005DC000005E4000005E4000005ECF2 +:10FA7000000005EC000005F4000005F4000005FCA2 +:10FA8000000005FC00000604000006040000060C4F +:10FA90000000060C00000614000006140000061CFE +:10FAA0000000061C00000624000006240000062CAE +:10FAB0000000062C00000634000006340000063C5E +:10FAC0000000063C00000644000006440000064C0E +:10FAD0000000064C00000654000006540000065CBE +:10FAE0000000065C00000664000006640000066C6E +:10FAF0000000066C00000674000006740000067C1E +:10FB00000000067C00000684000006840000068CCD +:10FB10000000068C00000694000006940000069C7D +:10FB20000000069C000006A4000006A4000006AC2D +:10FB3000000006AC000006B4000006B4000006BCDD +:10FB4000000006BC000006C4000006C4000006CC8D +:10FB5000000006CC000006D4000006D4000006DC3D +:10FB6000000006DC000006E4000006E4000006ECED +:10FB7000000006EC000006F4000006F4000006FC9D +:10FB8000000006FC00000704000007040000070C4A +:10FB90000000070C00000714000007140000071CF9 +:10FBA0000000071C00000724000007240000072CA9 +:10FBB0000000072C00000734000007340000073C59 +:10FBC0000000073C00000744000007440000074C09 +:10FBD0000000074C00000754000007540000075CB9 +:10FBE0000000075C00000764000007640000076C69 +:10FBF0000000076C00000774000007740000077C19 +:10FC00000000077C00000784000007840000078CC8 +:10FC10000000078C00000794000007940000079C78 +:10FC20000000079C000007A4000007A4000007AC28 +:10FC3000000007AC000007B4000007B4000007BCD8 +:10FC4000000007BC000007C4000007C4000007CC88 +:10FC5000000007CC000007D4000007D4000007DC38 +:10FC6000000007DC000007E4000007E4000007ECE8 +:10FC7000000007EC000007F4000007F4000007FC98 +:10FC8000000007FC00000804000008040000080C45 +:10FC90000000080C00000814000008140000081CF4 +:10FCA0000000081C00000824000008240000082CA4 +:10FCB0000000082C00000834000008340000083C54 +:10FCC0000000083C00000844000008440000084C04 +:10FCD0000000084C00000854000008540000085CB4 +:10FCE0000000085C00000864000008640000086C64 +:10FCF0000000086C00000874000008740000087C14 +:10FD00000000087C00000884000008840000088CC3 +:10FD10000000088C00000894000008940000089C73 +:10FD20000000089C000008A4000008A4000008AC23 +:10FD3000000008AC000008B4000008B4000008BCD3 +:10FD4000000008BC000008C4000008C4000008CC83 +:10FD5000000008CC000008D4000008D4000008DC33 +:10FD6000000008DC000008E4000008E4000008ECE3 +:10FD7000000008EC000008F4000008F4000008FC93 +:10FD8000000008FC00000904000009040000090C40 +:10FD90000000090C00000914000009140000091CEF +:10FDA0000000091C00000924000009240000092C9F +:10FDB0000000092C00000934000009340000093C4F +:10FDC0000000093C00000944000009440000094CFF +:10FDD0000000094C00000954000009540000095CAF +:10FDE0000000095C00000964000009640000096C5F +:10FDF0000000096C00000974000009740000097C0F +:10FE00000000097C00000984000009840000098CBE +:10FE10000000098C00000994000009940002000011 +:0CFE2000FFFFFFFF0000000100007AFC63 +:040000058000000077 +:00000001FF diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_access.h b/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_access.h new file mode 100644 index 0000000..2d38d50 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_access.h @@ -0,0 +1,170 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Memory access control configuration file. + * + * This file contains the possible external configuration of the memory access + * control. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CONF_ACCESS_H_ +#define _CONF_ACCESS_H_ + +#include "compiler.h" +#include "board.h" + + +/*! \name Activation of Logical Unit Numbers + */ +//! @{ +#define LUN_0 DISABLE //!< On-Chip Virtual Memory. +#define LUN_1 ENABLE //!< AT45DBX Data Flash. +#define LUN_2 DISABLE //!< SD/MMC Card over SPI. +#define LUN_3 DISABLE +#define LUN_4 DISABLE +#define LUN_5 DISABLE +#define LUN_6 DISABLE +#define LUN_7 DISABLE +#define LUN_USB DISABLE //!< Host Mass-Storage Memory. +//! @} + +/*! \name LUN 0 Definitions + */ +//! @{ +#define VIRTUAL_MEM LUN_0 +#define LUN_ID_VIRTUAL_MEM LUN_ID_0 +#define LUN_0_INCLUDE "virtual_mem.h" +#define Lun_0_test_unit_ready virtual_test_unit_ready +#define Lun_0_read_capacity virtual_read_capacity +#define Lun_0_wr_protect virtual_wr_protect +#define Lun_0_removal virtual_removal +#define Lun_0_usb_read_10 virtual_usb_read_10 +#define Lun_0_usb_write_10 virtual_usb_write_10 +#define Lun_0_mem_2_ram virtual_mem_2_ram +#define Lun_0_ram_2_mem virtual_ram_2_mem +#define LUN_0_NAME "\"On-Chip Virtual Memory\"" +//! @} + +/*! \name LUN 1 Definitions + */ +//! @{ +#define AT45DBX_MEM LUN_1 +#define LUN_ID_AT45DBX_MEM LUN_ID_1 +#define LUN_1_INCLUDE "at45dbx_mem.h" +#define Lun_1_test_unit_ready at45dbx_test_unit_ready +#define Lun_1_read_capacity at45dbx_read_capacity +#define Lun_1_wr_protect at45dbx_wr_protect +#define Lun_1_removal at45dbx_removal +#define Lun_1_usb_read_10 at45dbx_usb_read_10 +#define Lun_1_usb_write_10 at45dbx_usb_write_10 +#define Lun_1_mem_2_ram at45dbx_df_2_ram +#define Lun_1_ram_2_mem at45dbx_ram_2_df +#define LUN_1_NAME "\"AT45DBX Data Flash\"" +//! @} + +/*! \name LUN 2 Definitions + */ +//! @{ +#define SD_MMC_SPI_MEM LUN_2 +#define LUN_ID_SD_MMC_SPI_MEM LUN_ID_2 +#define LUN_2_INCLUDE "sd_mmc_spi_mem.h" +#define Lun_2_test_unit_ready sd_mmc_spi_test_unit_ready +#define Lun_2_read_capacity sd_mmc_spi_read_capacity +#define Lun_2_wr_protect sd_mmc_spi_wr_protect +#define Lun_2_removal sd_mmc_spi_removal +#define Lun_2_usb_read_10 sd_mmc_spi_usb_read_10 +#define Lun_2_usb_write_10 sd_mmc_spi_usb_write_10 +#define Lun_2_mem_2_ram sd_mmc_spi_mem_2_ram +#define Lun_2_ram_2_mem sd_mmc_spi_ram_2_mem +#define LUN_2_NAME "\"SD/MMC Card over SPI\"" +//! @} + +/*! \name USB LUNs Definitions + */ +//! @{ +#define MEM_USB LUN_USB +#define LUN_ID_MEM_USB LUN_ID_USB +#define LUN_USB_INCLUDE "host_mem.h" +#define Lun_usb_test_unit_ready(lun) host_test_unit_ready(lun) +#define Lun_usb_read_capacity(lun, nb_sect) host_read_capacity(lun, nb_sect) +#define Lun_usb_read_sector_size(lun) host_read_sector_size(lun) +#define Lun_usb_wr_protect(lun) host_wr_protect(lun) +#define Lun_usb_removal() host_removal() +#define Lun_usb_mem_2_ram(addr, ram) host_read_10_ram(addr, ram) +#define Lun_usb_ram_2_mem(addr, ram) host_write_10_ram(addr, ram) +#define LUN_USB_NAME "\"Host Mass-Storage Memory\"" +//! @} + +/*! \name Actions Associated with Memory Accesses + * + * Write here the action to associate with each memory access. + * + * \warning Be careful not to waste time in order not to disturb the functions. + */ +//! @{ +#define memory_start_read_action(nb_sectors) +#define memory_stop_read_action() +#define memory_start_write_action(nb_sectors) +#define memory_stop_write_action() +//! @} + +/*! \name Activation of Interface Features + */ +//! @{ +#define ACCESS_USB DISABLED //!< MEM <-> USB interface. +#define ACCESS_MEM_TO_RAM ENABLED //!< MEM <-> RAM interface. +#define ACCESS_STREAM ENABLED //!< Streaming MEM <-> MEM interface. //mlf +#define ACCESS_STREAM_RECORD DISABLED //!< Streaming MEM <-> MEM interface in record mode. +#define ACCESS_MEM_TO_MEM DISABLED //!< MEM <-> MEM interface. +#define ACCESS_CODEC DISABLED //!< Codec interface. +//! @} + +/*! \name Specific Options for Access Control + */ +//! @{ +#define GLOBAL_WR_PROTECT DISABLED //!< Management of a global write protection. +//! @} + + +#endif // _CONF_ACCESS_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_at45dbx.h b/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_at45dbx.h new file mode 100644 index 0000000..3280e4f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_at45dbx.h @@ -0,0 +1,83 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT45DBX configuration file. + * + * This file contains the possible external configuration of the AT45DBX. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CONF_AT45DBX_H_ +#define _CONF_AT45DBX_H_ + + +#include "conf_access.h" + +#if AT45DBX_MEM == DISABLE + #error conf_at45dbx.h is #included although AT45DBX_MEM is disabled +#endif + + +#include "at45dbx.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +//! Size of AT45DBX data flash memories to manage. +#define AT45DBX_MEM_SIZE AT45DBX_1MB + +//! Number of AT45DBX components to manage. +#define AT45DBX_MEM_CNT 1 + +//! First chip select used by AT45DBX components on the SPI module instance. +//! AT45DBX_SPI_NPCS0_PIN always corresponds to this first NPCS, whatever it is. +#define AT45DBX_SPI_FIRST_NPCS AT45DBX_SPI_NPCS + +//! SPI master speed in Hz. +#define AT45DBX_SPI_MASTER_SPEED 12000000 + +//! Number of bits in each SPI transfer. +#define AT45DBX_SPI_BITS 8 + + +#endif // _CONF_AT45DBX_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_ebi.h b/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_ebi.h new file mode 100644 index 0000000..aacdb13 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_ebi.h @@ -0,0 +1,108 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief CONF_EBI EBI/SMC driver for AVR32 UC3. + * + * \note The values defined in this file are device-specific. See the device + * datasheet for further information. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SMC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CONF_EBI_H_ +#define _CONF_EBI_H_ + +#include "compiler.h" +#include "board.h" + +#if (ET024006DHU_SMC_USE_NCS == 0) +#define SMC_USE_NCS0 +#define SMC_COMPONENT_CS0 ET024006DHU_SMC_COMPONENT_CS +#else + +#if (ET024006DHU_SMC_USE_NCS == 2) +#define SMC_USE_NCS2 +#define SMC_COMPONENT_CS2 ET024006DHU_SMC_COMPONENT_CS + +#else +#error This board is not supported +#endif +#endif + +#define EBI_DATA_0 ET024006DHU_EBI_DATA_0 +#define EBI_DATA_1 ET024006DHU_EBI_DATA_1 +#define EBI_DATA_2 ET024006DHU_EBI_DATA_2 +#define EBI_DATA_3 ET024006DHU_EBI_DATA_3 +#define EBI_DATA_4 ET024006DHU_EBI_DATA_4 +#define EBI_DATA_5 ET024006DHU_EBI_DATA_5 +#define EBI_DATA_6 ET024006DHU_EBI_DATA_6 +#define EBI_DATA_7 ET024006DHU_EBI_DATA_7 +#define EBI_DATA_8 ET024006DHU_EBI_DATA_8 +#define EBI_DATA_9 ET024006DHU_EBI_DATA_9 +#define EBI_DATA_10 ET024006DHU_EBI_DATA_10 +#define EBI_DATA_11 ET024006DHU_EBI_DATA_11 +#define EBI_DATA_12 ET024006DHU_EBI_DATA_12 +#define EBI_DATA_13 ET024006DHU_EBI_DATA_13 +#define EBI_DATA_14 ET024006DHU_EBI_DATA_14 +#define EBI_DATA_15 ET024006DHU_EBI_DATA_15 + +#if BOARD==EVK1105 +#ifdef EVK1105_REV3 +#define EBI_ADDR_19 AVR32_EBI_ADDR_19 +#define EBI_NCS_2 ET024006DHU_EBI_NCS +#else +#define EBI_ADDR_21 ET024006DHU_EBI_ADDR_21 +#define EBI_NCS_0 ET024006DHU_EBI_NCS +#endif +#elif BOARD == UC3C_EK +#define EBI_ADDR_22 AVR32_EBI_ADDR_22 +#define EBI_NCS_0 ET024006DHU_EBI_NCS +#elif BOARD == EVK1104 +#define EBI_ADDR_21 ET024006DHU_EBI_ADDR_21 +#define EBI_NCS_0 ET024006DHU_EBI_NCS +#endif + + +#define EBI_NWE0 ET024006DHU_EBI_NWE +#define EBI_NRD ET024006DHU_EBI_NRD + +#endif // _CONF_EBI_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_sd_mmc_spi.h b/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_sd_mmc_spi.h new file mode 100644 index 0000000..94b55e1 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/CONFIG/conf_sd_mmc_spi.h @@ -0,0 +1,73 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief SD/MMC configuration file. + * + * This file contains the possible external configuration of the SD/MMC. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CONF_SD_MMC_SPI_H_ +#define _CONF_SD_MMC_SPI_H_ + + +#include "conf_access.h" + +#if SD_MMC_SPI_MEM == DISABLE + #error conf_sd_mmc_spi.h is #included although SD_MMC_SPI_MEM is disabled +#endif + + +#include "sd_mmc_spi.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +//! SPI master speed in Hz. +#define SD_MMC_SPI_MASTER_SPEED 12000000 + +//! Number of bits in each SPI transfer. +#define SD_MMC_SPI_BITS 8 + + +#endif // _CONF_SD_MMC_SPI_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/ASM/trampoline.x b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/ASM/trampoline.x new file mode 100644 index 0000000..c127121 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/ASM/trampoline.x @@ -0,0 +1,74 @@ +/* This file is part of the ATMEL AVR32-SoftwareFramework-AT32UC3A-1.4.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AVR32 UC3 ISP trampoline. + * + * In order to be able to program a project with both BatchISP and JTAGICE mkII + * without having to take the general-purpose fuses into consideration, add this + * file to the project and change the program entry point to _trampoline. + * + * The pre-programmed ISP will be erased if JTAGICE mkII is used. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32UC devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (C) 2006-2008, Atmel Corporation All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of ATMEL may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +#include "conf_isp.h" + + +//! @{ +//! \verbatim + + + // This must be linked @ 0x80000000 if it is to be run upon reset. + .section .reset, "ax", @progbits + + + .global _trampoline + .type _trampoline, @function +_trampoline: + // Jump to program start. + rjmp program_start + + .org PROGRAM_START_OFFSET +program_start: + // Jump to the C runtime startup routine. + lda.w pc, _stext + + +//! \endverbatim +//! @} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h new file mode 100644 index 0000000..e687723 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h @@ -0,0 +1,237 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1100 board header file. + * + * This file contains definitions and services related to the features of the + * EVK1100 board rev. B and C. + * + * To use this board, define BOARD=EVK1100. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _ARDUINO_H_ +#define _ARDUINO_H_ + +#include "compiler.h" + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. +# include "led.h" +#endif // __AVR32_ABI_COMPILER__ + + +/*! \name Oscillator Definitions + */ +//! @{ + +// RCOsc has no custom calibration by default. Set the following definition to +// the appropriate value if a custom RCOsc calibration has been applied to your +// part. +//#define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< RCOsc frequency: Hz. + +#define FOSC32 32768 //!< Osc32 frequency: Hz. +#define OSC32_STARTUP AVR32_PM_OSCCTRL32_STARTUP_8192_RCOSC //!< Osc32 startup time: RCOsc periods. + +#define FOSC0 12000000 //!< Osc0 frequency: Hz. +#define OSC0_STARTUP AVR32_PM_OSCCTRL0_STARTUP_2048_RCOSC //!< Osc0 startup time: RCOsc periods. + +// Osc1 crystal is not mounted by default. Set the following definitions to the +// appropriate values if a custom Osc1 crystal is mounted on your board. +//#define FOSC1 12000000 //!< Osc1 frequency: Hz. +//#define OSC1_STARTUP AVR32_PM_OSCCTRL1_STARTUP_2048_RCOSC //!< Osc1 startup time: RCOsc periods. + +//! @} + + +//! Number of LEDs. +#define LED_COUNT 0 + +/*! \name GPIO Connections of LEDs + */ +//! @{ +#define LED0_GPIO AVR32_PIN_PB19 +#define LED1_GPIO AVR32_PIN_PB20 +#define LED2_GPIO AVR32_PIN_PB21 +#define DEB_PIN_GPIO AVR32_PIN_PA20 +#define DEB2_PIN_GPIO AVR32_PIN_PB00 +//! @} + +/*! \name PWM Channels of LEDs + */ +//! @{ +#define LED0_PWM 0 +#define LED1_PWM 1 +#define LED2_PWM 2 +//! @} + +/*! \name PWM Functions of LEDs + */ +//! @{ +#define LED0_PWM_FUNCTION AVR32_PWM_0_FUNCTION +#define LED1_PWM_FUNCTION AVR32_PWM_1_FUNCTION +#define LED2_PWM_FUNCTION AVR32_PWM_2_FUNCTION +//! @} + +/*! \name Color Identifiers of LEDs to Use with LED Functions + */ +//! @{ +#define LED_MONO0_GREEN LED0 +#define LED_MONO1_RED LED1 +#define LED_MONO2_BLU LED2 +//! @} + +#if 0 +/*! \name SPI Connections of the DIP204 LCD + */ +//! @{ +#define DIP204_SPI (&AVR32_SPI1) +#define DIP204_SPI_NPCS 2 +#define DIP204_SPI_SCK_PIN AVR32_SPI1_SCK_0_0_PIN +#define DIP204_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_0_FUNCTION +#define DIP204_SPI_MISO_PIN AVR32_SPI1_MISO_0_0_PIN +#define DIP204_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_0_FUNCTION +#define DIP204_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_0_PIN +#define DIP204_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_0_FUNCTION +#define DIP204_SPI_NPCS_PIN AVR32_SPI1_NPCS_2_0_PIN +#define DIP204_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_2_0_FUNCTION +//! @} + +/*! \name GPIO and PWM Connections of the DIP204 LCD Backlight + */ +//! @{ +#define DIP204_BACKLIGHT_PIN AVR32_PIN_PB18 +#define DIP204_PWM_CHANNEL 6 +#define DIP204_PWM_PIN AVR32_PWM_6_PIN +#define DIP204_PWM_FUNCTION AVR32_PWM_6_FUNCTION +//! @} +#endif + +/*! \name SPI Connections of the AT45DBX Data Flash Memory + */ +//! @{ +#define AT45DBX_SPI (&AVR32_SPI1) +#define AT45DBX_SPI_NPCS 2 +#define AT45DBX_SPI_SCK_PIN AVR32_SPI1_SCK_0_0_PIN +#define AT45DBX_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_0_FUNCTION +#define AT45DBX_SPI_MISO_PIN AVR32_SPI1_MISO_0_0_PIN +#define AT45DBX_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_0_FUNCTION +#define AT45DBX_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_0_PIN +#define AT45DBX_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_0_FUNCTION +#define AT45DBX_SPI_NPCS2_PIN AVR32_SPI1_NPCS_2_0_PIN +#define AT45DBX_SPI_NPCS2_FUNCTION AVR32_SPI1_NPCS_2_0_FUNCTION +#define AT45DBX_CHIP_RESET AVR32_PIN_PA02 +//! @} + + +/*! \name GPIO and SPI Connections of the SD/MMC Connector + */ +//! @{ +//#define SD_MMC_CARD_DETECT_PIN AVR32_PIN_PA02 +//#define SD_MMC_WRITE_PROTECT_PIN AVR32_PIN_PA07 +#define SD_MMC_SPI (&AVR32_SPI1) +#define SD_MMC_SPI_NPCS 1 +#define SD_MMC_SPI_SCK_PIN AVR32_SPI1_SCK_0_0_PIN +#define SD_MMC_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_0_FUNCTION +#define SD_MMC_SPI_MISO_PIN AVR32_SPI1_MISO_0_0_PIN +#define SD_MMC_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_0_FUNCTION +#define SD_MMC_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_0_PIN +#define SD_MMC_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_0_FUNCTION +#define SD_MMC_SPI_NPCS_PIN AVR32_SPI1_NPCS_1_0_PIN +#define SD_MMC_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_1_0_FUNCTION +//! @} + +/* Timer Counter to generate clock for WiFi chip*/ +# define WIFI_TC (&AVR32_TC) +# define WIFI_TC_CHANNEL_ID 0 +# define WIFI_TC_CHANNEL_PIN AVR32_TC_A0_0_0_PIN +# define WIFI_TC_CHANNEL_FUNCTION AVR32_TC_A0_0_0_FUNCTION +// Note that TC_A0_0_0 pin is pin 6 (PB23) on AT32UC3A1512 QFP100. + +/* Pin related to WiFi chip communication */ +#ifndef USE_POLL + #define USE_POLL +#endif + #define SPI_CS 0 + #define AVR32_SPI AVR32_SPI1 + #define GPIO_IRQ_PIN AVR32_PIN_PA03 + #define GPIO_IRQ AVR32_GPIO_IRQ_7 + #define GPIO_W_RESET_PIN AVR32_PIN_PA07 + #define GPIO_W_SHUTDOWN_PIN AVR32_PIN_PA09 + +/* Pin related to shield communication */ + #define ARDUINO_HANDSHAKE_PIN AVR32_PIN_PA25 + #define ARDUINO_EXTINT_PIN AVR32_PIN_PA04 //not used + + #define AVR32_PDCA_PID_TX AVR32_PDCA_PID_SPI1_TX + #define AVR32_PDCA_PID_RX AVR32_PDCA_PID_SPI1_RX + + +#if 0 +/*! \name TWI Connections of the Spare TWI Connector + */ +//! @{ +#define SPARE_TWI (&AVR32_TWI) +#define SPARE_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define SPARE_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define SPARE_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define SPARE_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION +//! @} + + +/*! \name SPI Connections of the Spare SPI Connector + */ +//! @{ +#define SPARE_SPI (&AVR32_SPI0) +#define SPARE_SPI_NPCS 0 +#define SPARE_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define SPARE_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define SPARE_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define SPARE_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define SPARE_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define SPARE_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define SPARE_SPI_NPCS_PIN AVR32_SPI0_NPCS_0_0_PIN +#define SPARE_SPI_NPCS_FUNCTION AVR32_SPI0_NPCS_0_0_FUNCTION +//! @} +#endif + +#endif // _ARDUINO_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c new file mode 100644 index 0000000..d7cd439 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c @@ -0,0 +1,346 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1100 board LEDs support package. + * + * This file contains definitions and services related to the LED features of + * the EVK1100 board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include "preprocessor.h" +#include "compiler.h" +#include "arduino.h" +#include "led.h" + + +//! Structure describing LED hardware connections. +typedef const struct +{ + struct + { + U32 PORT; //!< LED GPIO port. + U32 PIN_MASK; //!< Bit-mask of LED pin in GPIO port. + } GPIO; //!< LED GPIO descriptor. + struct + { + S32 CHANNEL; //!< LED PWM channel (< 0 if N/A). + S32 FUNCTION; //!< LED pin PWM function (< 0 if N/A). + } PWM; //!< LED PWM descriptor. +} tLED_DESCRIPTOR; + + +//! Hardware descriptors of all LEDs. +static tLED_DESCRIPTOR LED_DESCRIPTOR[LED_COUNT] = +{ +#define INSERT_LED_DESCRIPTOR(LED_NO, unused) \ + { \ + {LED##LED_NO##_GPIO / 32, 1 << (LED##LED_NO##_GPIO % 32)},\ + {LED##LED_NO##_PWM, LED##LED_NO##_PWM_FUNCTION } \ + }, + MREPEAT(LED_COUNT, INSERT_LED_DESCRIPTOR, ~) +#undef INSERT_LED_DESCRIPTOR +}; + + +//! Saved state of all LEDs. +static volatile U32 LED_State = (1 << LED_COUNT) - 1; + + +U32 LED_Read_Display(void) +{ + return LED_State; +} + + +void LED_Display(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor; + volatile avr32_gpio_port_t *led_gpio_port; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + LED_State = leds; + + // For all LEDs... + for (led_descriptor = &LED_DESCRIPTOR[0]; + led_descriptor < LED_DESCRIPTOR + LED_COUNT; + led_descriptor++) + { + // Set the LED to the requested state. + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + if (leds & 1) + { + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= 1; + } +} + + +U32 LED_Read_Display_Mask(U32 mask) +{ + return Rd_bits(LED_State, mask); +} + + +void LED_Display_Mask(U32 mask, U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + mask &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Wr_bits(LED_State, mask, leds); + + // While there are specified LEDs left to manage... + while (mask) + { + // Select the next specified LED and set it to the requested state. + led_shift = 1 + ctz(mask); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + leds >>= led_shift - 1; + if (leds & 1) + { + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= 1; + mask >>= led_shift; + } +} + + +Bool LED_Test(U32 leds) +{ + return Tst_bits(LED_State, leds); +} + + +void LED_Off(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Clr_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and turn it off. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +void LED_On(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Set_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and turn it on. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +void LED_Toggle(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Tgl_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and toggle it. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrt = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +U32 LED_Read_Display_Field(U32 field) +{ + return Rd_bitfield(LED_State, field); +} + + +void LED_Display_Field(U32 field, U32 leds) +{ + // Move the bit-field to the appropriate position for the bit-mask. + LED_Display_Mask(field, leds << ctz(field)); +} + + +U8 LED_Get_Intensity(U32 led) +{ + tLED_DESCRIPTOR *led_descriptor; + + // Check that the argument value is valid. + led = ctz(led); + led_descriptor = &LED_DESCRIPTOR[led]; + if (led >= LED_COUNT || led_descriptor->PWM.CHANNEL < 0) return 0; + + // Return the duty cycle value if the LED PWM channel is enabled, else 0. + return (AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL)) ? + AVR32_PWM.channel[led_descriptor->PWM.CHANNEL].cdty : 0; +} + + +void LED_Set_Intensity(U32 leds, U8 intensity) +{ + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_pwm_channel_t *led_pwm_channel; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // For each specified LED... + for (leds &= (1 << LED_COUNT) - 1; leds; leds >>= led_shift) + { + // Select the next specified LED and check that it has a PWM channel. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + if (led_descriptor->PWM.CHANNEL < 0) continue; + + // Initialize or update the LED PWM channel. + led_pwm_channel = &AVR32_PWM.channel[led_descriptor->PWM.CHANNEL]; + if (!(AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL))) + { + led_pwm_channel->cmr = (AVR32_PWM_CPRE_MCK << AVR32_PWM_CPRE_OFFSET) & + ~(AVR32_PWM_CALG_MASK | + AVR32_PWM_CPOL_MASK | + AVR32_PWM_CPD_MASK); + led_pwm_channel->cprd = 0x000000FF; + led_pwm_channel->cdty = intensity; + AVR32_PWM.ena = 1 << led_descriptor->PWM.CHANNEL; + } + else + { + AVR32_PWM.isr; + while (!(AVR32_PWM.isr & (1 << led_descriptor->PWM.CHANNEL))); + led_pwm_channel->cupd = intensity; + } + + // Switch the LED pin to its PWM function. + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + if (led_descriptor->PWM.FUNCTION & 0x1) + { + led_gpio_port->pmr0s = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->pmr0c = led_descriptor->GPIO.PIN_MASK; + } + if (led_descriptor->PWM.FUNCTION & 0x2) + { + led_gpio_port->pmr1s = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->pmr1c = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->gperc = led_descriptor->GPIO.PIN_MASK; + } +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h new file mode 100644 index 0000000..a577124 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h @@ -0,0 +1,191 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1100 board LEDs support package. + * + * This file contains definitions and services related to the LED features of + * the EVK1100 board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _LED_H_ +#define _LED_H_ + +#include "compiler.h" + + +/*! \name Identifiers of LEDs to Use with LED Functions + */ +//! @{ +#define LED0 0x01 +#define LED1 0x02 +#define LED2 0x04 +#define LED3 0x08 +#define LED4 0x10 +#define LED5 0x20 +#define LED6 0x40 +#define LED7 0x80 +//! @} + + +/*! \brief Gets the last state of all LEDs set through the LED API. + * + * \return State of all LEDs (1 bit per LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display(void); + +/*! \brief Sets the state of all LEDs. + * + * \param leds New state of all LEDs (1 bit per LED). + * + * \note The pins of all LEDs are set to GPIO output mode. + */ +extern void LED_Display(U32 leds); + +/*! \brief Gets the last state of the specified LEDs set through the LED API. + * + * \param mask LEDs of which to get the state (1 bit per LED). + * + * \return State of the specified LEDs (1 bit per LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display_Mask(U32 mask); + +/*! \brief Sets the state of the specified LEDs. + * + * \param mask LEDs of which to set the state (1 bit per LED). + * + * \param leds New state of the specified LEDs (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Display_Mask(U32 mask, U32 leds); + +/*! \brief Tests the last state of the specified LEDs set through the LED API. + * + * \param leds LEDs of which to test the state (1 bit per LED). + * + * \return \c TRUE if at least one of the specified LEDs has a state on, else + * \c FALSE. + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern Bool LED_Test(U32 leds); + +/*! \brief Turns off the specified LEDs. + * + * \param leds LEDs to turn off (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Off(U32 leds); + +/*! \brief Turns on the specified LEDs. + * + * \param leds LEDs to turn on (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_On(U32 leds); + +/*! \brief Toggles the specified LEDs. + * + * \param leds LEDs to toggle (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Toggle(U32 leds); + +/*! \brief Gets as a bit-field the last state of the specified LEDs set through + * the LED API. + * + * \param field LEDs of which to get the state (1 bit per LED). + * + * \return State of the specified LEDs (1 bit per LED, beginning with the first + * specified LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display_Field(U32 field); + +/*! \brief Sets as a bit-field the state of the specified LEDs. + * + * \param field LEDs of which to set the state (1 bit per LED). + * \param leds New state of the specified LEDs (1 bit per LED, beginning with + * the first specified LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Display_Field(U32 field, U32 leds); + +/*! \brief Gets the intensity of the specified LED. + * + * \param led LED of which to get the intensity (1 bit per LED; only the least + * significant set bit is used). + * + * \return Intensity of the specified LED (0x00 to 0xFF). + * + * \warning The PWM channel of the specified LED is supposed to be used only by + * this module. + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U8 LED_Get_Intensity(U32 led); + +/*! \brief Sets the intensity of the specified LEDs. + * + * \param leds LEDs of which to set the intensity (1 bit per LED). + * \param intensity New intensity of the specified LEDs (0x00 to 0xFF). + * + * \warning The PWM channels of the specified LEDs are supposed to be used only + * by this module. + * + * \note The pins of the specified LEDs are set to PWM output mode. + */ +extern void LED_Set_Intensity(U32 leds, U8 intensity); + + +#endif // _LED_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/evk1105.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/evk1105.h new file mode 100644 index 0000000..edda44c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/evk1105.h @@ -0,0 +1,433 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1105 board header file. + * + * This file contains definitions and services related to the features of the + * EVK1105 board rev. B. + * + * To use this board, define BOARD=EVK1105. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _EVK1105_H_ +#define _EVK1105_H_ + +#ifdef EVK1105_REV3 +# include "evk1105_rev3.h" +#else + +#include "compiler.h" + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. +# include "led.h" +#endif // __AVR32_ABI_COMPILER__ + + +/*! \name Oscillator Definitions + */ +//! @{ + +// RCOsc has no custom calibration by default. Set the following definition to +// the appropriate value if a custom RCOsc calibration has been applied to your +// part. +//#define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< RCOsc frequency: Hz. + +#define FOSC32 32768 //!< Osc32 frequency: Hz. +#define OSC32_STARTUP AVR32_PM_OSCCTRL32_STARTUP_8192_RCOSC //!< Osc32 startup time: RCOsc periods. + +#define FOSC0 12000000 //!< Osc0 frequency: Hz. +#define OSC0_STARTUP AVR32_PM_OSCCTRL0_STARTUP_2048_RCOSC //!< Osc0 startup time: RCOsc periods. + +#define FOSC1 11289600 //!< Osc1 frequency: Hz +#define OSC1_STARTUP AVR32_PM_OSCCTRL1_STARTUP_2048_RCOSC //!< Osc1 startup time: RCOsc periods. + + +//! @} + + +/*! \name SDRAM Definitions + */ +//! @{ + +//! Part header file of used SDRAM(s). +#define SDRAM_PART_HDR "MT48LC16M16A2TG7E/mt48lc16m16a2tg7e.h" + +//! Data bus width to use the SDRAM(s) with (16 or 32 bits; always 16 bits on +//! UC3). +#define SDRAM_DBW 16 +//! @} + + +/*! \name USB Definitions + */ +//! @{ +//! Multiplexed pin used for USB_ID: AVR32_USBB_USB_ID_x_x. +//! To be selected according to the AVR32_USBB_USB_ID_x_x_PIN and +//! AVR32_USBB_USB_ID_x_x_FUNCTION definitions from <avr32/uc3axxxx.h>. +#define AVR32_USBB_USB_ID_0_2_PIN 21 +#define AVR32_USBB_USB_ID_0_2_FUNCTION 2 +#define USB_ID AVR32_USBB_USB_ID_0_2 + +//! Multiplexed pin used for USB_VBOF: AVR32_USBB_USB_VBOF_x_x. +//! To be selected according to the AVR32_USBB_USB_VBOF_x_x_PIN and +//! AVR32_USBB_USB_VBOF_x_x_FUNCTION definitions from <avr32/uc3axxxx.h>. +# define USB_VBOF AVR32_USBB_USB_VBOF_0_1 + + +//! Active level of the USB_VBOF output pin. +# define USB_VBOF_ACTIVE_LEVEL LOW + +//! USB overcurrent detection pin. +# define USB_OVERCURRENT_DETECT_PIN AVR32_PIN_PX15 + +//! @} + + +//! GPIO connection of the MAC PHY PWR_DOWN/INT signal. +# define MACB_INTERRUPT_PIN AVR32_PIN_PA26 + + + +//! Number of LEDs. +#define LED_COUNT 4 + +/*! \name GPIO Connections of LEDs + */ +//! @{ +# define LED0_GPIO AVR32_PIN_PB27 +# define LED1_GPIO AVR32_PIN_PB28 +# define LED2_GPIO AVR32_PIN_PA05 +# define LED3_GPIO AVR32_PIN_PA06 +//! @} + +/*! \name Color Identifiers of LEDs to Use with LED Functions + */ +//! @{ +#define LED_MONO0_GREEN LED0 +#define LED_MONO1_GREEN LED1 +#define LED_MONO2_GREEN LED2 +#define LED_MONO3_GREEN LED3 +//! @} + +/*! \name PWM Channels of LEDs + */ +//! @{ +#define LED0_PWM 4 +#define LED1_PWM 5 +#define LED2_PWM (-1) +#define LED3_PWM (-1) +//! @} + +/*! \name PWM Functions of LEDs + */ +//! @{ +/* TODO: Implement PWM functionality */ +#define LED0_PWM_FUNCTION (-1)//AVR32_PWM_0_FUNCTION +#define LED1_PWM_FUNCTION (-1)//AVR32_PWM_1_FUNCTION +#define LED2_PWM_FUNCTION (-1) +#define LED3_PWM_FUNCTION (-1) +//! @} + +//! External interrupt connection of touch sensor. +#define QT1081_EIC_EXTINT_PIN AVR32_EIC_EXTINT_1_PIN +#define QT1081_EIC_EXTINT_FUNCTION AVR32_EIC_EXTINT_1_FUNCTION +#define QT1081_EIC_EXTINT_IRQ AVR32_EIC_IRQ_1 +#define QT1081_EIC_EXTINT_INT AVR32_EIC_INT1 +/*! \name Touch sensor low power mode select + */ +#define QT1081_LP_MODE AVR32_PIN_PB29 + +/*! \name GPIO Connections of touch buttons + */ +//! @{ +#define QT1081_TOUCH_SENSOR_0 AVR32_PIN_PB22 +#define QT1081_TOUCH_SENSOR_0_PRESSED 1 +#define QT1081_TOUCH_SENSOR_1 AVR32_PIN_PB23 +#define QT1081_TOUCH_SENSOR_1_PRESSED 1 +#define QT1081_TOUCH_SENSOR_2 AVR32_PIN_PB24 +#define QT1081_TOUCH_SENSOR_2_PRESSED 1 +#define QT1081_TOUCH_SENSOR_3 AVR32_PIN_PB25 +#define QT1081_TOUCH_SENSOR_3_PRESSED 1 +#define QT1081_TOUCH_SENSOR_4 AVR32_PIN_PB26 +#define QT1081_TOUCH_SENSOR_4_PRESSED 1 + +#define QT1081_TOUCH_SENSOR_ENTER QT1081_TOUCH_SENSOR_4 +#define QT1081_TOUCH_SENSOR_ENTER_PRESSED QT1081_TOUCH_SENSOR_4_PRESSED +#define QT1081_TOUCH_SENSOR_LEFT QT1081_TOUCH_SENSOR_3 +#define QT1081_TOUCH_SENSOR_LEFT_PRESSED QT1081_TOUCH_SENSOR_3_PRESSED +#define QT1081_TOUCH_SENSOR_RIGHT QT1081_TOUCH_SENSOR_2 +#define QT1081_TOUCH_SENSOR_RIGHT_PRESSED QT1081_TOUCH_SENSOR_2_PRESSED +#define QT1081_TOUCH_SENSOR_UP QT1081_TOUCH_SENSOR_0 +#define QT1081_TOUCH_SENSOR_UP_PRESSED QT1081_TOUCH_SENSOR_0_PRESSED +#define QT1081_TOUCH_SENSOR_DOWN QT1081_TOUCH_SENSOR_1 +#define QT1081_TOUCH_SENSOR_DOWN_PRESSED QT1081_TOUCH_SENSOR_1_PRESSED +//! @} + +/*! \name SPI Connections of the AT45DBX Data Flash Memory + */ +//! @{ +#define AT45DBX_SPI (&AVR32_SPI0) +#define AT45DBX_SPI_NPCS 0 +#define AT45DBX_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define AT45DBX_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define AT45DBX_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define AT45DBX_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define AT45DBX_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define AT45DBX_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define AT45DBX_SPI_NPCS0_PIN AVR32_SPI0_NPCS_0_0_PIN +#define AT45DBX_SPI_NPCS0_FUNCTION AVR32_SPI0_NPCS_0_0_FUNCTION +//! @} + +/*! \name GPIO and SPI Connections of the SD/MMC Connector + */ +//! @{ +#define SD_MMC_CARD_DETECT_PIN AVR32_PIN_PA02 +#define SD_MMC_WRITE_PROTECT_PIN AVR32_PIN_PA18 +#define SD_MMC_SPI (&AVR32_SPI0) +#define SD_MMC_SPI_NPCS 1 +#define SD_MMC_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define SD_MMC_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define SD_MMC_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define SD_MMC_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define SD_MMC_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define SD_MMC_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define SD_MMC_SPI_NPCS_PIN AVR32_SPI0_NPCS_1_0_PIN +#define SD_MMC_SPI_NPCS_FUNCTION AVR32_SPI0_NPCS_1_0_FUNCTION +//! @} + + +/*! \name TWI expansion + */ +//! @{ +#define EXPANSION_TWI (&AVR32_TWI) +#define EXPANSION_RESET AVR32_PIN_PX16 +#define EXPANSION_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define EXPANSION_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define EXPANSION_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define EXPANSION_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION +//! @} + +/*! \name Wireless expansion + */ + +#define WEXPANSION_EXTINT_PIN AVR32_EIC_EXTINT_8_PIN +#define WEXPANSION_EXTINT_FUNCTION AVR32_EIC_EXTINT_8_FUNCTION +#define WEXPANSION_GPIO1 AVR32_PIN_PB30 +#define WEXPANSION_GPIO2 AVR32_PIN_PB31 + +#define WEXPANSION_SPI (&AVR32_SPI0) +#define WEXPANSION_SPI_NPCS 2 +#define WEXPANSION_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define WEXPANSION_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define WEXPANSION_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define WEXPANSION_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define WEXPANSION_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define WEXPANSION_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define WEXPANSION_SPI_NPCS_PIN AVR32_SPI0_NPCS_2_0_PIN +#define WEXPANSION_SPI_NPCS_FUNCTION AVR32_SPI0_NPCS_2_0_FUNCTION + +//! @} + +/*! \name ET024006DHU TFT display + */ +//! @{ + +#define ET024006DHU_TE_PIN AVR32_PIN_PX19 +#define ET024006DHU_RESET_PIN AVR32_PIN_PX22 +#define ET024006DHU_BL_PIN AVR32_PWM_6_PIN +#define ET024006DHU_BL_FUNCTION AVR32_PWM_6_FUNCTION +#define ET024006DHU_DNC_PIN AVR32_EBI_ADDR_21_1_PIN +#define ET024006DHU_DNC_FUNCTION AVR32_EBI_ADDR_21_1_FUNCTION +#define ET024006DHU_EBI_NCS_PIN AVR32_EBI_NCS_0_1_PIN +#define ET024006DHU_EBI_NCS_FUNCTION AVR32_EBI_NCS_0_1_FUNCTION + +//! @} +/*! \name Optional SPI connection to the TFT + */ +//! @{ + +#define ET024006DHU_SPI (&AVR32_SPI0) +#define ET024006DHU_SPI_NPCS 3 +#define ET024006DHU_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define ET024006DHU_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define ET024006DHU_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define ET024006DHU_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define ET024006DHU_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define ET024006DHU_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define ET024006DHU_SPI_NPCS_PIN AVR32_SPI1_NPCS_3_0_PIN +#define ET024006DHU_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_3_0_FUNCTION + +//! @} + + +/*! \name Audio amplifier connection to the DAC + */ +//! @{ + +#define TPA6130_ABDAC (&AVR32_ABDAC) + +#define TPA6130_DATA0_PIN AVR32_ABDAC_DATA_0_1_PIN +#define TPA6130_DATA0_FUNCTION AVR32_ABDAC_DATA_0_1_FUNCTION +#define TPA6130_DATAN0_PIN AVR32_ABDAC_DATAN_0_1_PIN +#define TPA6130_DATAN0_FUNCTION AVR32_ABDAC_DATAN_0_1_FUNCTION +#define TPA6130_DATA1_PIN AVR32_ABDAC_DATA_1_1_PIN +#define TPA6130_DATA1_FUNCTION AVR32_ABDAC_DATA_1_1_FUNCTION +#define TPA6130_DATAN1_PIN AVR32_ABDAC_DATAN_1_1_PIN +#define TPA6130_DATAN1_FUNCTION AVR32_ABDAC_DATAN_1_1_FUNCTION + +#define TPA6130_ABDAC_PDCA_PID AVR32_PDCA_PID_ABDAC_TX +#define TPA6130_ABDAC_PDCA_CHANNEL 0 +#define TPA6130_ABDAC_PDCA_IRQ AVR32_PDCA_IRQ_0 +#define TPA6130_ABDAC_PDCA_INT_LEVEL AVR32_INTC_INT3 + +#define TPA6130_TWI (&AVR32_TWI) +#define TPA6130_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define TPA6130_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define TPA6130_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define TPA6130_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION + +//! }@ +/*! \name TI TLV320AIC23B sound chip + */ +//! @{ +#define TLV320_SSC (&AVR32_SSC) +#define TLV320_SSC_TX_CLOCK_PIN AVR32_SSC_TX_CLOCK_0_PIN +#define TLV320_SSC_TX_CLOCK_FUNCTION AVR32_SSC_TX_CLOCK_0_FUNCTION +#define TLV320_SSC_TX_DATA_PIN AVR32_SSC_TX_DATA_0_PIN +#define TLV320_SSC_TX_DATA_FUNCTION AVR32_SSC_TX_DATA_0_FUNCTION +#define TLV320_SSC_TX_FRAME_SYNC_PIN AVR32_SSC_TX_FRAME_SYNC_0_PIN +#define TLV320_SSC_TX_FRAME_SYNC_FUNCTION AVR32_SSC_TX_FRAME_SYNC_0_FUNCTION + +#define TLV320_TWI (&AVR32_TWI) +#define TLV320_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define TLV320_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define TLV320_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define TLV320_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION + +#define TLV320_PM_GCLK_PIN AVR32_PM_GCLK_0_0_PIN +#define TLV320_PM_GCLK_FUNCTION AVR32_PM_GCLK_0_0_FUNCTION +//! @} + +////! \name SPI: Apple Authentication Chip Hardware Connections +////! @{ +#define IPOD_AUTH_CHIP_SPI (&AVR32_SPI0) +#define IPOD_AUTH_CHIP_SPI_IRQ AVR32_SPI0_IRQ +#define IPOD_AUTH_CHIP_SPI_NPCS 2 +#define IPOD_AUTH_CHIP_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define IPOD_AUTH_CHIP_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define IPOD_AUTH_CHIP_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define IPOD_AUTH_CHIP_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define IPOD_AUTH_CHIP_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define IPOD_AUTH_CHIP_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define IPOD_AUTH_CHIP_SPI_NPCS_PIN AVR32_SPI0_NPCS_2_0_PIN +#define IPOD_AUTH_CHIP_SPI_NPCS_FUNCTION AVR32_SPI0_NPCS_2_0_FUNCTION +#define IPOD_AUTH_CHIP_SPI_N_RESET_PIN AVR32_PIN_PB30 +#define IPOD_AUTH_CHIP_SPI_CP_READY_PIN AVR32_PIN_PB31 +//! }@ + +/*! \name Connections of the iPOD Authentication Coprocessor + */ +//! @{ + +#define IPOD_AUTH_CHIP_TWI (&AVR32_TWI) +#define IPOD_AUTH_CHIP_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define IPOD_AUTH_CHIP_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define IPOD_AUTH_CHIP_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define IPOD_AUTH_CHIP_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION +#define IPOD_AUTH_CHIP_TWI_N_RESET_PIN AVR32_PIN_PX16 + +//! @} + +/*! \name USART connection to the UC3B board controller + */ +//! @{ + +#define USART0_RXD_PIN AVR32_USART0_RXD_0_0_PIN +#define USART0_RXD_FUNCTION AVR32_USART0_RXD_0_0_FUNCTION +#define USART0_TXD_PIN AVR32_USART0_TXD_0_0_PIN +#define USART0_TXD_FUNCTION AVR32_USART0_TXD_0_0_FUNCTION +#define USART0_RTS_PIN AVR32_USART0_RTS_0_0_PIN +#define USART0_RTS_FUNCTION AVR32_USART0_RTS_0_0_FUNCTION +#define USART0_CTS_PIN AVR32_USART0_CTS_0_0_PIN +#define USART0_CTS_FUNCTION AVR32_USART0_CTS_0_0_FUNCTION + +//! @} + +#define ADC_VEXT_PIN AVR32_ADC_AD_7_PIN +#define ADC_VEXT_FUNCTION AVR32_ADC_AD_7_FUNCTION + +/*! \name LCD Connections of the ET024006DHU display + */ +//! @{ +#define ET024006DHU_SMC_USE_NCS 0 +#define ET024006DHU_SMC_COMPONENT_CS "smc_et024006dhu.h" + +#define ET024006DHU_EBI_DATA_0 AVR32_EBI_DATA_0 +#define ET024006DHU_EBI_DATA_1 AVR32_EBI_DATA_1 +#define ET024006DHU_EBI_DATA_2 AVR32_EBI_DATA_2 +#define ET024006DHU_EBI_DATA_3 AVR32_EBI_DATA_3 +#define ET024006DHU_EBI_DATA_4 AVR32_EBI_DATA_4 +#define ET024006DHU_EBI_DATA_5 AVR32_EBI_DATA_5 +#define ET024006DHU_EBI_DATA_6 AVR32_EBI_DATA_6 +#define ET024006DHU_EBI_DATA_7 AVR32_EBI_DATA_7 +#define ET024006DHU_EBI_DATA_8 AVR32_EBI_DATA_8 +#define ET024006DHU_EBI_DATA_9 AVR32_EBI_DATA_9 +#define ET024006DHU_EBI_DATA_10 AVR32_EBI_DATA_10 +#define ET024006DHU_EBI_DATA_11 AVR32_EBI_DATA_11 +#define ET024006DHU_EBI_DATA_12 AVR32_EBI_DATA_12 +#define ET024006DHU_EBI_DATA_13 AVR32_EBI_DATA_13 +#define ET024006DHU_EBI_DATA_14 AVR32_EBI_DATA_14 +#define ET024006DHU_EBI_DATA_15 AVR32_EBI_DATA_15 + +#define ET024006DHU_EBI_ADDR_21 AVR32_EBI_ADDR_21_1 + +#define ET024006DHU_EBI_NWE AVR32_EBI_NWE0_0 +#define ET024006DHU_EBI_NRD AVR32_EBI_NRD_0 +#define ET024006DHU_EBI_NCS AVR32_EBI_NCS_0_1 +//! @} + + +#endif // !EVK1105_REVA + +#endif // _EVK1105_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c new file mode 100644 index 0000000..561652a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c @@ -0,0 +1,346 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1105 board LEDs support package. + * + * This file contains definitions and services related to the LED features of + * the EVK1105 board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include "preprocessor.h" +#include "compiler.h" +#include "evk1105.h" +#include "led.h" + + +//! Structure describing LED hardware connections. +typedef const struct +{ + struct + { + U32 PORT; //!< LED GPIO port. + U32 PIN_MASK; //!< Bit-mask of LED pin in GPIO port. + } GPIO; //!< LED GPIO descriptor. + struct + { + S32 CHANNEL; //!< LED PWM channel (< 0 if N/A). + S32 FUNCTION; //!< LED pin PWM function (< 0 if N/A). + } PWM; //!< LED PWM descriptor. +} tLED_DESCRIPTOR; + + +//! Hardware descriptors of all LEDs. +static tLED_DESCRIPTOR LED_DESCRIPTOR[LED_COUNT] = +{ +#define INSERT_LED_DESCRIPTOR(LED_NO, unused) \ + { \ + {LED##LED_NO##_GPIO / 32, 1 << (LED##LED_NO##_GPIO % 32)},\ + {LED##LED_NO##_PWM, LED##LED_NO##_PWM_FUNCTION } \ + }, + MREPEAT(LED_COUNT, INSERT_LED_DESCRIPTOR, ~) +#undef INSERT_LED_DESCRIPTOR +}; + + +//! Saved state of all LEDs. +static volatile U32 LED_State = (1 << LED_COUNT) - 1; + + +U32 LED_Read_Display(void) +{ + return LED_State; +} + + +void LED_Display(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor; + volatile avr32_gpio_port_t *led_gpio_port; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + LED_State = leds; + + // For all LEDs... + for (led_descriptor = &LED_DESCRIPTOR[0]; + led_descriptor < LED_DESCRIPTOR + LED_COUNT; + led_descriptor++) + { + // Set the LED to the requested state. + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + if (leds & 1) + { + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= 1; + } +} + + +U32 LED_Read_Display_Mask(U32 mask) +{ + return Rd_bits(LED_State, mask); +} + + +void LED_Display_Mask(U32 mask, U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + mask &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Wr_bits(LED_State, mask, leds); + + // While there are specified LEDs left to manage... + while (mask) + { + // Select the next specified LED and set it to the requested state. + led_shift = 1 + ctz(mask); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + leds >>= led_shift - 1; + if (leds & 1) + { + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= 1; + mask >>= led_shift; + } +} + + +Bool LED_Test(U32 leds) +{ + return Tst_bits(LED_State, leds); +} + + +void LED_Off(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Clr_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and turn it off. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +void LED_On(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Set_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and turn it on. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +void LED_Toggle(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Tgl_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and toggle it. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrt = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +U32 LED_Read_Display_Field(U32 field) +{ + return Rd_bitfield(LED_State, field); +} + + +void LED_Display_Field(U32 field, U32 leds) +{ + // Move the bit-field to the appropriate position for the bit-mask. + LED_Display_Mask(field, leds << ctz(field)); +} + + +U8 LED_Get_Intensity(U32 led) +{ + tLED_DESCRIPTOR *led_descriptor; + + // Check that the argument value is valid. + led = ctz(led); + led_descriptor = &LED_DESCRIPTOR[led]; + if (led >= LED_COUNT || led_descriptor->PWM.CHANNEL < 0) return 0; + + // Return the duty cycle value if the LED PWM channel is enabled, else 0. + return (AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL)) ? + AVR32_PWM.channel[led_descriptor->PWM.CHANNEL].cdty : 0; +} + + +void LED_Set_Intensity(U32 leds, U8 intensity) +{ + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_pwm_channel_t *led_pwm_channel; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // For each specified LED... + for (leds &= (1 << LED_COUNT) - 1; leds; leds >>= led_shift) + { + // Select the next specified LED and check that it has a PWM channel. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + if (led_descriptor->PWM.CHANNEL < 0) continue; + + // Initialize or update the LED PWM channel. + led_pwm_channel = &AVR32_PWM.channel[led_descriptor->PWM.CHANNEL]; + if (!(AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL))) + { + led_pwm_channel->cmr = (AVR32_PWM_CPRE_MCK << AVR32_PWM_CPRE_OFFSET) & + ~(AVR32_PWM_CALG_MASK | + AVR32_PWM_CPOL_MASK | + AVR32_PWM_CPD_MASK); + led_pwm_channel->cprd = 0x000000FF; + led_pwm_channel->cdty = intensity; + AVR32_PWM.ena = 1 << led_descriptor->PWM.CHANNEL; + } + else + { + AVR32_PWM.isr; + while (!(AVR32_PWM.isr & (1 << led_descriptor->PWM.CHANNEL))); + led_pwm_channel->cupd = intensity; + } + + // Switch the LED pin to its PWM function. + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + if (led_descriptor->PWM.FUNCTION & 0x1) + { + led_gpio_port->pmr0s = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->pmr0c = led_descriptor->GPIO.PIN_MASK; + } + if (led_descriptor->PWM.FUNCTION & 0x2) + { + led_gpio_port->pmr1s = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->pmr1c = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->gperc = led_descriptor->GPIO.PIN_MASK; + } +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h new file mode 100644 index 0000000..7766b6a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h @@ -0,0 +1,187 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1105 board LEDs support package. + * + * This file contains definitions and services related to the LED features of + * the EVK1105 board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _LED_H_ +#define _LED_H_ + +#include "compiler.h" + + +/*! \name Identifiers of LEDs to Use with LED Functions + */ +//! @{ +#define LED0 0x01 +#define LED1 0x02 +#define LED2 0x04 +#define LED3 0x08 +//! @} + + +/*! \brief Gets the last state of all LEDs set through the LED API. + * + * \return State of all LEDs (1 bit per LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display(void); + +/*! \brief Sets the state of all LEDs. + * + * \param leds New state of all LEDs (1 bit per LED). + * + * \note The pins of all LEDs are set to GPIO output mode. + */ +extern void LED_Display(U32 leds); + +/*! \brief Gets the last state of the specified LEDs set through the LED API. + * + * \param mask LEDs of which to get the state (1 bit per LED). + * + * \return State of the specified LEDs (1 bit per LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display_Mask(U32 mask); + +/*! \brief Sets the state of the specified LEDs. + * + * \param mask LEDs of which to set the state (1 bit per LED). + * + * \param leds New state of the specified LEDs (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Display_Mask(U32 mask, U32 leds); + +/*! \brief Tests the last state of the specified LEDs set through the LED API. + * + * \param leds LEDs of which to test the state (1 bit per LED). + * + * \return \c TRUE if at least one of the specified LEDs has a state on, else + * \c FALSE. + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern Bool LED_Test(U32 leds); + +/*! \brief Turns off the specified LEDs. + * + * \param leds LEDs to turn off (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Off(U32 leds); + +/*! \brief Turns on the specified LEDs. + * + * \param leds LEDs to turn on (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_On(U32 leds); + +/*! \brief Toggles the specified LEDs. + * + * \param leds LEDs to toggle (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Toggle(U32 leds); + +/*! \brief Gets as a bit-field the last state of the specified LEDs set through + * the LED API. + * + * \param field LEDs of which to get the state (1 bit per LED). + * + * \return State of the specified LEDs (1 bit per LED, beginning with the first + * specified LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display_Field(U32 field); + +/*! \brief Sets as a bit-field the state of the specified LEDs. + * + * \param field LEDs of which to set the state (1 bit per LED). + * \param leds New state of the specified LEDs (1 bit per LED, beginning with + * the first specified LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Display_Field(U32 field, U32 leds); + +/*! \brief Gets the intensity of the specified LED. + * + * \param led LED of which to get the intensity (1 bit per LED; only the least + * significant set bit is used). + * + * \return Intensity of the specified LED (0x00 to 0xFF). + * + * \warning The PWM channel of the specified LED is supposed to be used only by + * this module. + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U8 LED_Get_Intensity(U32 led); + +/*! \brief Sets the intensity of the specified LEDs. + * + * \param leds LEDs of which to set the intensity (1 bit per LED). + * \param intensity New intensity of the specified LEDs (0x00 to 0xFF). + * + * \warning The PWM channels of the specified LEDs are supposed to be used only + * by this module. + * + * \note The pins of the specified LEDs are set to PWM output mode. + */ +extern void LED_Set_Intensity(U32 leds, U8 intensity); + + +#endif // _LED_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/board.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/board.h new file mode 100644 index 0000000..78ee91e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/board.h @@ -0,0 +1,120 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Standard board header file. + * + * This file includes the appropriate board header file according to the + * defined board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +#include <avr32/io.h> + +/*! \name Base Boards + */ +//! @{ +#define EVK1100 1 //!< AT32UC3A EVK1100 board. +#define EVK1101 2 //!< AT32UC3B EVK1101 board. +#define UC3C_EK 3 //!< AT32UC3C UC3C_EK board. +#define EVK1104 4 //!< AT32UC3A3 EVK1104 board. +#define EVK1105 5 //!< AT32UC3A EVK1105 board. +#define STK1000 6 //!< AT32AP7000 STK1000 board. +#define NGW100 7 //!< AT32AP7000 NGW100 board. +#define STK600_RCUC3L0 8 //!< STK600 RCUC3L0 board. +#define UC3L_EK 9 //!< AT32UC3L-EK board. +#define USER_BOARD 99 //!< User-reserved board (if any). +//! @} + +/*! \name Extension Boards + */ +//! @{ +#define EXT1102 1 //!< AT32UC3B EXT1102 board. +#define MC300 2 //!< AT32UC3 MC300 board. +#define USER_EXT_BOARD 99 //!< User-reserved extension board (if any). +//! @} + +#if BOARD == EVK1100 + #include "EVK1100/evk1100.h" +#elif BOARD == EVK1101 + #include "EVK1101/evk1101.h" +#elif BOARD == UC3C_EK + #include "UC3C_EK/uc3c_ek.h" +#elif BOARD == EVK1104 + #include "EVK1104/evk1104.h" +#elif BOARD == EVK1105 + #include "EVK1105/evk1105.h" +#elif BOARD == STK1000 + #include "STK1000/stk1000.h" +#elif BOARD == NGW100 + #include "NGW100/ngw100.h" +#elif BOARD == STK600_RCUC3L0 + #include "STK600/RCUC3L0/stk600_rcuc3l0.h" +#elif BOARD == UC3L_EK + #include "UC3L_EK/uc3l_ek.h" +#elif BOARD == ARDUINO + #include "ARDUINO/arduino.h" +#else + #error No known AVR32 board defined +#endif + +#if (defined EXT_BOARD) + #if EXT_BOARD == EXT1102 + #include "EXT1102/ext1102.h" + #elif EXT_BOARD == MC300 + #include "MC300/mc300.h" + #elif EXT_BOARD == USER_EXT_BOARD + // User-reserved area: #include the header file of your extension board here + // (if any). + #endif +#endif + + +#ifndef FRCOSC + #define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< Default RCOsc frequency. +#endif + + +#endif // _BOARD_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/board.h.my b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/board.h.my new file mode 100644 index 0000000..78ee91e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/board.h.my @@ -0,0 +1,120 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Standard board header file. + * + * This file includes the appropriate board header file according to the + * defined board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +#include <avr32/io.h> + +/*! \name Base Boards + */ +//! @{ +#define EVK1100 1 //!< AT32UC3A EVK1100 board. +#define EVK1101 2 //!< AT32UC3B EVK1101 board. +#define UC3C_EK 3 //!< AT32UC3C UC3C_EK board. +#define EVK1104 4 //!< AT32UC3A3 EVK1104 board. +#define EVK1105 5 //!< AT32UC3A EVK1105 board. +#define STK1000 6 //!< AT32AP7000 STK1000 board. +#define NGW100 7 //!< AT32AP7000 NGW100 board. +#define STK600_RCUC3L0 8 //!< STK600 RCUC3L0 board. +#define UC3L_EK 9 //!< AT32UC3L-EK board. +#define USER_BOARD 99 //!< User-reserved board (if any). +//! @} + +/*! \name Extension Boards + */ +//! @{ +#define EXT1102 1 //!< AT32UC3B EXT1102 board. +#define MC300 2 //!< AT32UC3 MC300 board. +#define USER_EXT_BOARD 99 //!< User-reserved extension board (if any). +//! @} + +#if BOARD == EVK1100 + #include "EVK1100/evk1100.h" +#elif BOARD == EVK1101 + #include "EVK1101/evk1101.h" +#elif BOARD == UC3C_EK + #include "UC3C_EK/uc3c_ek.h" +#elif BOARD == EVK1104 + #include "EVK1104/evk1104.h" +#elif BOARD == EVK1105 + #include "EVK1105/evk1105.h" +#elif BOARD == STK1000 + #include "STK1000/stk1000.h" +#elif BOARD == NGW100 + #include "NGW100/ngw100.h" +#elif BOARD == STK600_RCUC3L0 + #include "STK600/RCUC3L0/stk600_rcuc3l0.h" +#elif BOARD == UC3L_EK + #include "UC3L_EK/uc3l_ek.h" +#elif BOARD == ARDUINO + #include "ARDUINO/arduino.h" +#else + #error No known AVR32 board defined +#endif + +#if (defined EXT_BOARD) + #if EXT_BOARD == EXT1102 + #include "EXT1102/ext1102.h" + #elif EXT_BOARD == MC300 + #include "MC300/mc300.h" + #elif EXT_BOARD == USER_EXT_BOARD + // User-reserved area: #include the header file of your extension board here + // (if any). + #endif +#endif + + +#ifndef FRCOSC + #define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< Default RCOsc frequency. +#endif + + +#endif // _BOARD_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.c new file mode 100644 index 0000000..93d3dd9 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.c @@ -0,0 +1,653 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Management of the AT45DBX data flash controller through SPI. + * + * This file manages the accesses to the AT45DBX data flash components. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +//_____ I N C L U D E S ___________________________________________________ + +#include "conf_access.h" + + +#if AT45DBX_MEM == ENABLE + +#include "compiler.h" +#include "board.h" +#include "gpio.h" +#include "spi.h" +#include "conf_at45dbx.h" +#include "at45dbx.h" + + +#if AT45DBX_MEM_CNT > 4 + #error AT45DBX_MEM_CNT must not exceed 4 +#endif + + +//_____ D E F I N I T I O N S ______________________________________________ + +/*! \name AT45DBX Group A Commands + */ +//! @{ +#define AT45DBX_CMDA_RD_PAGE 0xD2 //!< Main Memory Page Read (Serial/8-bit Mode). +#define AT45DBX_CMDA_RD_ARRAY_LEG 0xE8 //!< Continuous Array Read, Legacy Command (Serial/8-bit Mode). +#define AT45DBX_CMDA_RD_ARRAY_LF_SM 0x03 //!< Continuous Array Read, Low-Frequency Mode (Serial Mode). +#define AT45DBX_CMDA_RD_ARRAY_AF_SM 0x0B //!< Continuous Array Read, Any-Frequency Mode (Serial Mode). +#define AT45DBX_CMDA_RD_SECTOR_PROT_REG 0x32 //!< Read Sector Protection Register (Serial/8-bit Mode). +#define AT45DBX_CMDA_RD_SECTOR_LKDN_REG 0x35 //!< Read Sector Lockdown Register (Serial/8-bit Mode). +#define AT45DBX_CMDA_RD_SECURITY_REG 0x77 //!< Read Security Register (Serial/8-bit Mode). +//! @} + +/*! \name AT45DBX Group B Commands + */ +//! @{ +#define AT45DBX_CMDB_ER_PAGE 0x81 //!< Page Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_ER_BLOCK 0x50 //!< Block Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_ER_SECTOR 0x7C //!< Sector Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_ER_CHIP 0xC794809A //!< Chip Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_XFR_PAGE_TO_BUF1 0x53 //!< Main Memory Page to Buffer 1 Transfer (Serial/8-bit Mode). +#define AT45DBX_CMDB_XFR_PAGE_TO_BUF2 0x55 //!< Main Memory Page to Buffer 2 Transfer (Serial/8-bit Mode). +#define AT45DBX_CMDB_CMP_PAGE_TO_BUF1 0x60 //!< Main Memory Page to Buffer 1 Compare (Serial/8-bit Mode). +#define AT45DBX_CMDB_CMP_PAGE_TO_BUF2 0x61 //!< Main Memory Page to Buffer 2 Compare (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_BUF1_TO_PAGE_ER 0x83 //!< Buffer 1 to Main Memory Page Program with Built-in Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_BUF2_TO_PAGE_ER 0x86 //!< Buffer 2 to Main Memory Page Program with Built-in Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_BUF1_TO_PAGE 0x88 //!< Buffer 1 to Main Memory Page Program without Built-in Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_BUF2_TO_PAGE 0x89 //!< Buffer 2 to Main Memory Page Program without Built-in Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_PAGE_TH_BUF1 0x82 //!< Main Memory Page Program through Buffer 1 (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_PAGE_TH_BUF2 0x85 //!< Main Memory Page Program through Buffer 2 (Serial/8-bit Mode). +#define AT45DBX_CMDB_RWR_PAGE_TH_BUF1 0x58 //!< Auto Page Rewrite through Buffer 1 (Serial/8-bit Mode). +#define AT45DBX_CMDB_RWR_PAGE_TH_BUF2 0x59 //!< Auto Page Rewrite through Buffer 2 (Serial/8-bit Mode). +//! @} + +/*! \name AT45DBX Group C Commands + */ +//! @{ +#define AT45DBX_CMDC_RD_BUF1_LF_SM 0xD1 //!< Buffer 1 Read, Low-Frequency Mode (Serial Mode). +#define AT45DBX_CMDC_RD_BUF2_LF_SM 0xD3 //!< Buffer 2 Read, Low-Frequency Mode (Serial Mode). +#define AT45DBX_CMDC_RD_BUF1_AF_SM 0xD4 //!< Buffer 1 Read, Any-Frequency Mode (Serial Mode). +#define AT45DBX_CMDC_RD_BUF2_AF_SM 0xD6 //!< Buffer 2 Read, Any-Frequency Mode (Serial Mode). +#define AT45DBX_CMDC_RD_BUF1_AF_8M 0x54 //!< Buffer 1 Read, Any-Frequency Mode (8-bit Mode). +#define AT45DBX_CMDC_RD_BUF2_AF_8M 0x56 //!< Buffer 2 Read, Any-Frequency Mode (8-bit Mode). +#define AT45DBX_CMDC_WR_BUF1 0x84 //!< Buffer 1 Write (Serial/8-bit Mode). +#define AT45DBX_CMDC_WR_BUF2 0x87 //!< Buffer 2 Write (Serial/8-bit Mode). +#define AT45DBX_CMDC_RD_STATUS_REG 0xD7 //!< Status Register Read (Serial/8-bit Mode). +#define AT45DBX_CMDC_RD_MNFCT_DEV_ID_SM 0x9F //!< Manufacturer and Device ID Read (Serial Mode). +//! @} + +/*! \name AT45DBX Group D Commands + */ +//! @{ +#define AT45DBX_CMDD_EN_SECTOR_PROT 0x3D2A7FA9 //!< Enable Sector Protection (Serial/8-bit Mode). +#define AT45DBX_CMDD_DIS_SECTOR_PROT 0x3D2A7F9A //!< Disable Sector Protection (Serial/8-bit Mode). +#define AT45DBX_CMDD_ER_SECTOR_PROT_REG 0x3D2A7FCF //!< Erase Sector Protection Register (Serial/8-bit Mode). +#define AT45DBX_CMDD_PR_SECTOR_PROT_REG 0x3D2A7FFC //!< Program Sector Protection Register (Serial/8-bit Mode). +#define AT45DBX_CMDD_LKDN_SECTOR 0x3D2A7F30 //!< Sector Lockdown (Serial/8-bit Mode). +#define AT45DBX_CMDD_PR_SECURITY_REG 0x9B000000 //!< Program Security Register (Serial/8-bit Mode). +#define AT45DBX_CMDD_PR_CONF_REG 0x3D2A80A6 //!< Program Configuration Register (Serial/8-bit Mode). +#define AT45DBX_CMDD_DEEP_PWR_DN 0xB9 //!< Deep Power-down (Serial/8-bit Mode). +#define AT45DBX_CMDD_RSM_DEEP_PWR_DN 0xAB //!< Resume from Deep Power-down (Serial/8-bit Mode). +//! @} + + +/*! \name Bit-Masks and Values for the Status Register + */ +//! @{ +#define AT45DBX_MSK_BUSY 0x80 //!< Busy status bit-mask. +#define AT45DBX_BUSY 0x00 //!< Busy status value (0x00 when busy, 0x80 when ready). +#define AT45DBX_MSK_DENSITY 0x3C //!< Device density bit-mask. +//! @} +#if AT45DBX_MEM_SIZE == AT45DBX_1MB + +/*! \name AT45DB081 Memories + */ +//! @{ +#define AT45DBX_DENSITY 0x24 //!< Device density value. +#define AT45DBX_BYTE_ADDR_BITS 9 //!< Address bits for byte position within buffer. + +//! @} +#elif AT45DBX_MEM_SIZE == AT45DBX_2MB + +/*! \name AT45DB161 Memories + */ +//! @{ +#define AT45DBX_DENSITY 0x2C //!< Device density value. +#define AT45DBX_BYTE_ADDR_BITS 10 //!< Address bits for byte position within buffer. +//! @} + +#elif AT45DBX_MEM_SIZE == AT45DBX_4MB + +/*! \name AT45DB321 Memories + */ +//! @{ +#define AT45DBX_DENSITY 0x34 //!< Device density value. +#define AT45DBX_BYTE_ADDR_BITS 10 //!< Address bits for byte position within buffer. +//! @} + +#elif AT45DBX_MEM_SIZE == AT45DBX_8MB + +/*! \name AT45DB642 Memories + */ +//! @{ +#define AT45DBX_DENSITY 0x3C //!< Device density value. +#define AT45DBX_BYTE_ADDR_BITS 11 //!< Address bits for byte position within buffer. +//! @} + +#else + #error AT45DBX_MEM_SIZE is not defined to a supported value +#endif + +//! Address bits for page selection. +#define AT45DBX_PAGE_ADDR_BITS (AT45DBX_MEM_SIZE - AT45DBX_PAGE_BITS) + +//! Number of bits for addresses within pages. +#define AT45DBX_PAGE_BITS (AT45DBX_BYTE_ADDR_BITS - 1) + +//! Page size in bytes. +#define AT45DBX_PAGE_SIZE (1 << AT45DBX_PAGE_BITS) + +//! Bit-mask for byte position within buffer in \ref gl_ptr_mem. +#define AT45DBX_MSK_PTR_BYTE ((1 << AT45DBX_PAGE_BITS) - 1) + +//! Bit-mask for page selection in \ref gl_ptr_mem. +#define AT45DBX_MSK_PTR_PAGE (((1 << AT45DBX_PAGE_ADDR_BITS) - 1) << AT45DBX_PAGE_BITS) + +//! Bit-mask for byte position within sector in \ref gl_ptr_mem. +#define AT45DBX_MSK_PTR_SECTOR ((1 << AT45DBX_SECTOR_BITS) - 1) + + +/*! \brief Sends a dummy byte through SPI. + */ +#define spi_write_dummy() spi_write(AT45DBX_SPI, 0xFF) + + +//! Boolean indicating whether memory is in busy state. +static Bool at45dbx_busy; + +//! Memory data pointer. +static U32 gl_ptr_mem; + +//! Sector buffer. +static U8 sector_buf[AT45DBX_SECTOR_SIZE]; + + +/*! \name Control Functions + */ +//! @{ + + +Bool at45dbx_init(spi_options_t spiOptions, unsigned int pba_hz) +{ + // Setup SPI registers according to spiOptions. + for (spiOptions.reg = AT45DBX_SPI_FIRST_NPCS; + spiOptions.reg < AT45DBX_SPI_FIRST_NPCS + AT45DBX_MEM_CNT; + spiOptions.reg++) + { + if (spi_setupChipReg(AT45DBX_SPI, &spiOptions, pba_hz) != SPI_OK) return KO; + } + + // Memory ready. + at45dbx_busy = FALSE; + + return OK; +} + + +/*! \brief Selects or unselects a DF memory. + * + * \param memidx Memory ID of DF to select or unselect. + * \param bSelect Boolean indicating whether the DF memory has to be selected. + */ +static void at45dbx_chipselect_df(U8 memidx, Bool bSelect) +{ + if (bSelect) + { + // Select SPI chip. + spi_selectChip(AT45DBX_SPI, AT45DBX_SPI_FIRST_NPCS + memidx); + } + else + { + // Unselect SPI chip. + spi_unselectChip(AT45DBX_SPI, AT45DBX_SPI_FIRST_NPCS + memidx); + } +} + + +Bool at45dbx_mem_check(void) +{ + U8 df; + U16 status = 0; + + // DF memory check. + for (df = 0; df < AT45DBX_MEM_CNT; df++) + { + // Select the DF memory to check. + at45dbx_chipselect_df(df, TRUE); + + // Send the Status Register Read command. + spi_write(AT45DBX_SPI, AT45DBX_CMDC_RD_STATUS_REG); + + // Send a dummy byte to read the status register. + spi_write_dummy(); + spi_read(AT45DBX_SPI, &status); + + // Unselect the checked DF memory. + at45dbx_chipselect_df(df, FALSE); + + // Unexpected device density value. + if ((status & AT45DBX_MSK_DENSITY) < AT45DBX_DENSITY) return KO; + } + + return OK; +} + + +/*! \brief Waits until the DF is ready. + */ +static void at45dbx_wait_ready(void) +{ + U16 status; + + // Select the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, TRUE); + + // Send the Status Register Read command. + spi_write(AT45DBX_SPI, AT45DBX_CMDC_RD_STATUS_REG); + + // Read the status register until the DF is ready. + do + { + // Send a dummy byte to read the status register. + spi_write_dummy(); + spi_read(AT45DBX_SPI, &status); + } while ((status & AT45DBX_MSK_BUSY) == AT45DBX_BUSY); + + // Unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); +} + + +Bool at45dbx_read_open(U32 sector) +{ + U32 addr; + + // Set the global memory pointer to a byte address. + gl_ptr_mem = sector << AT45DBX_SECTOR_BITS; // gl_ptr_mem = sector * AT45DBX_SECTOR_SIZE. + + // If the DF memory is busy, wait until it's ready. + if (at45dbx_busy) at45dbx_wait_ready(); + at45dbx_busy = FALSE; + + // Select the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, TRUE); + + // Initiate a page read at a given sector. + + // Send the Main Memory Page Read command. + spi_write(AT45DBX_SPI, AT45DBX_CMDA_RD_PAGE); + + // Send the three address bytes, which comprise: + // - (24 - (AT45DBX_PAGE_ADDR_BITS + AT45DBX_BYTE_ADDR_BITS)) reserved bits; + // - then AT45DBX_PAGE_ADDR_BITS bits specifying the page in main memory to be read; + // - then AT45DBX_BYTE_ADDR_BITS bits specifying the starting byte address within that page. + // NOTE: The bits of gl_ptr_mem above the AT45DBX_MEM_SIZE bits are useless for the local + // DF addressing. They are used for DF discrimination when there are several DFs. + addr = (Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_PAGE) << AT45DBX_BYTE_ADDR_BITS) | + Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE); + spi_write(AT45DBX_SPI, LSB2W(addr)); + spi_write(AT45DBX_SPI, LSB1W(addr)); + spi_write(AT45DBX_SPI, LSB0W(addr)); + + // Send 32 don't care clock cycles to initialize the read operation. + spi_write_dummy(); + spi_write_dummy(); + spi_write_dummy(); + spi_write_dummy(); + + return OK; +} + + +void at45dbx_read_close(void) +{ + // Unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory ready. + at45dbx_busy = FALSE; +} + + +Bool at45dbx_write_open(U32 sector) +{ + U32 addr; + + // Set the global memory pointer to a byte address. + gl_ptr_mem = sector << AT45DBX_SECTOR_BITS; // gl_ptr_mem = sector * AT45DBX_SECTOR_SIZE. + + // If the DF memory is busy, wait until it's ready. + if (at45dbx_busy) at45dbx_wait_ready(); + at45dbx_busy = FALSE; + +#if AT45DBX_PAGE_SIZE > AT45DBX_SECTOR_SIZE + // Select the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, TRUE); + + // Transfer the content of the current page to buffer 1. + + // Send the Main Memory Page to Buffer 1 Transfer command. + spi_write(AT45DBX_SPI, AT45DBX_CMDB_XFR_PAGE_TO_BUF1); + + // Send the three address bytes, which comprise: + // - (24 - (AT45DBX_PAGE_ADDR_BITS + AT45DBX_BYTE_ADDR_BITS)) reserved bits; + // - then AT45DBX_PAGE_ADDR_BITS bits specifying the page in main memory to be read; + // - then AT45DBX_BYTE_ADDR_BITS don't care bits. + // NOTE: The bits of gl_ptr_mem above the AT45DBX_MEM_SIZE bits are useless for the local + // DF addressing. They are used for DF discrimination when there are several DFs. + addr = Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_PAGE) << AT45DBX_BYTE_ADDR_BITS; + spi_write(AT45DBX_SPI, LSB2W(addr)); + spi_write(AT45DBX_SPI, LSB1W(addr)); + spi_write(AT45DBX_SPI, LSB0W(addr)); + + // Unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Wait for end of page transfer. + at45dbx_wait_ready(); +#endif + + // Select the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, TRUE); + + // Initiate a page write at a given sector. + + // Send the Main Memory Page Program through Buffer 1 command. + spi_write(AT45DBX_SPI, AT45DBX_CMDB_PR_PAGE_TH_BUF1); + + // Send the three address bytes, which comprise: + // - (24 - (AT45DBX_PAGE_ADDR_BITS + AT45DBX_BYTE_ADDR_BITS)) reserved bits; + // - then AT45DBX_PAGE_ADDR_BITS bits specifying the page in main memory to be written; + // - then AT45DBX_BYTE_ADDR_BITS bits specifying the starting byte address within that page. + // NOTE: The bits of gl_ptr_mem above the AT45DBX_MEM_SIZE bits are useless for the local + // DF addressing. They are used for DF discrimination when there are several DFs. + addr = (Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_PAGE) << AT45DBX_BYTE_ADDR_BITS) | + Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE); + spi_write(AT45DBX_SPI, LSB2W(addr)); + spi_write(AT45DBX_SPI, LSB1W(addr)); + spi_write(AT45DBX_SPI, LSB0W(addr)); + + return OK; +} + + +void at45dbx_write_close(void) +{ + // While end of logical sector not reached, zero-fill remaining memory bytes. + while (Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_SECTOR)) + { + spi_write(AT45DBX_SPI, 0x00); + gl_ptr_mem++; + } + + // Unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; +} + + +//! @} + + +/*! \name Single-Byte Access Functions + */ +//! @{ + + +U8 at45dbx_read_byte(void) +{ + U16 data; + + // Memory busy. + if (at45dbx_busy) + { + // Being here, we know that we previously finished a page read. + // => We have to access the next page. + + // Memory ready. + at45dbx_busy = FALSE; + + // Eventually select the next DF and open the next page. + // NOTE: at45dbx_read_open input parameter is a sector. + at45dbx_read_open(gl_ptr_mem >> AT45DBX_SECTOR_BITS); // gl_ptr_mem / AT45DBX_SECTOR_SIZE. + } + + // Send a dummy byte to read the next data byte. + spi_write_dummy(); + spi_read(AT45DBX_SPI, &data); + gl_ptr_mem++; + + // If end of page reached, + if (!Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE)) + { + // unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; + } + + return data; +} + + +Bool at45dbx_write_byte(U8 b) +{ + // Memory busy. + if (at45dbx_busy) + { + // Being here, we know that we previously launched a page programming. + // => We have to access the next page. + + // Eventually select the next DF and open the next page. + // NOTE: at45dbx_write_open input parameter is a sector. + at45dbx_write_open(gl_ptr_mem >> AT45DBX_SECTOR_BITS); // gl_ptr_mem / AT45DBX_SECTOR_SIZE. + } + + // Write the next data byte. + spi_write(AT45DBX_SPI, b); + gl_ptr_mem++; + + // If end of page reached, + if (!Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE)) + { + // unselect the DF memory gl_ptr_mem points to in order to program the page. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; + } + + return OK; +} + + +//! @} + + +/*! \name Multiple-Sector Access Functions + */ +//! @{ + + +Bool at45dbx_read_multiple_sector(U16 nb_sector) +{ + while (nb_sector--) + { + // Read the next sector. + at45dbx_read_sector_2_ram(sector_buf); + at45dbx_read_multiple_sector_callback(sector_buf); + } + + return OK; +} + + +Bool at45dbx_write_multiple_sector(U16 nb_sector) +{ + while (nb_sector--) + { + // Write the next sector. + at45dbx_write_multiple_sector_callback(sector_buf); + at45dbx_write_sector_from_ram(sector_buf); + } + + return OK; +} + + +//! @} + + +/*! \name Single-Sector Access Functions + */ +//! @{ + + +Bool at45dbx_read_sector_2_ram(void *ram) +{ + U8 *_ram = ram; + U16 i; + U16 data; + + // Memory busy. + if (at45dbx_busy) + { + // Being here, we know that we previously finished a page read. + // => We have to access the next page. + + // Memory ready. + at45dbx_busy = FALSE; + + // Eventually select the next DF and open the next page. + // NOTE: at45dbx_read_open input parameter is a sector. + at45dbx_read_open(gl_ptr_mem >> AT45DBX_SECTOR_BITS); // gl_ptr_mem / AT45DBX_SECTOR_SIZE. + } + + // Read the next sector. + for (i = AT45DBX_SECTOR_SIZE; i; i--) + { + // Send a dummy byte to read the next data byte. + spi_write_dummy(); + spi_read(AT45DBX_SPI, &data); + *_ram++ = data; + } + + // Update the memory pointer. + gl_ptr_mem += AT45DBX_SECTOR_SIZE; + +#if AT45DBX_PAGE_SIZE > AT45DBX_SECTOR_SIZE + // If end of page reached, + if (!Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE)) +#endif + { + // unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; + } + + return OK; +} + + +Bool at45dbx_write_sector_from_ram(const void *ram) +{ + const U8 *_ram = ram; + U16 i; + + // Memory busy. + if (at45dbx_busy) + { + // Being here, we know that we previously launched a page programming. + // => We have to access the next page. + + // Eventually select the next DF and open the next page. + // NOTE: at45dbx_write_open input parameter is a sector. + at45dbx_write_open(gl_ptr_mem >> AT45DBX_SECTOR_BITS); // gl_ptr_mem / AT45DBX_SECTOR_SIZE. + } + + // Write the next sector. + for (i = AT45DBX_SECTOR_SIZE; i; i--) + { + // Write the next data byte. + spi_write(AT45DBX_SPI, *_ram++); + } + + // Update the memory pointer. + gl_ptr_mem += AT45DBX_SECTOR_SIZE; + +#if AT45DBX_PAGE_SIZE > AT45DBX_SECTOR_SIZE + // If end of page reached, + if (!Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE)) +#endif + { + // unselect the DF memory gl_ptr_mem points to in order to program the page. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; + } + + return OK; +} + + +//! @} + + +#endif // AT45DBX_MEM == ENABLE diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.h new file mode 100644 index 0000000..e5263b2 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.h @@ -0,0 +1,270 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Management of the AT45DBX data flash controller through SPI. + * + * This file manages the accesses to the AT45DBX data flash components. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _AT45DBX_H_ +#define _AT45DBX_H_ + + +#include "conf_access.h" + +#if AT45DBX_MEM == DISABLE + #error at45dbx.h is #included although AT45DBX_MEM is disabled +#endif + + +#include "spi.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +/*! \name Available AT45DBX Sizes + * + * Number of address bits of available AT45DBX data flash memories. + * + * \note Only memories with page sizes of at least 512 bytes (sector size) are + * supported. + */ +//! @{ +#define AT45DBX_1MB 20 +#define AT45DBX_2MB 21 +#define AT45DBX_4MB 22 +#define AT45DBX_8MB 23 +//! @} + +// AT45DBX_1MB +#define AT45DBX_SECTOR_BITS 8 //! Number of bits for addresses within sectors. +// AT45DBX_2MB AT45DBX_4MB AT45DBX_8MB +//#define AT45DBX_SECTOR_BITS 9 //! Number of bits for addresses within sectors. + +//! Sector size in bytes. +#define AT45DBX_SECTOR_SIZE (1 << AT45DBX_SECTOR_BITS) + + +//_____ D E C L A R A T I O N S ____________________________________________ + +/*! \name Control Functions + */ +//! @{ + +/*! \brief Initializes the data flash controller and the SPI channel by which + * the DF is controlled. + * + * \param spiOptions Initialization options of the DF SPI channel. + * \param pba_hz SPI module input clock frequency (PBA clock, Hz). + * + * \retval OK Success. + * \retval KO Failure. + */ +extern Bool at45dbx_init(spi_options_t spiOptions, unsigned int pba_hz); + +/*! \brief Performs a memory check on all DFs. + * + * \retval OK Success. + * \retval KO Failure. + */ +extern Bool at45dbx_mem_check(void); + +/*! \brief Opens a DF memory in read mode at a given sector. + * + * \param sector Start sector. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note Sector may be page-unaligned (depending on the DF page size). + */ +extern Bool at45dbx_read_open(U32 sector); + +/*! \brief Unselects the current DF memory. + */ +extern void at45dbx_read_close(void); + +/*! \brief This function opens a DF memory in write mode at a given sector. + * + * \param sector Start sector. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note Sector may be page-unaligned (depending on the DF page size). + * + * \note If \ref AT45DBX_PAGE_SIZE > \ref AT45DBX_SECTOR_SIZE, page content is + * first loaded in buffer to then be partially updated by write byte or + * write sector functions. + */ +extern Bool at45dbx_write_open(U32 sector); + +/*! \brief Fills the end of the current logical sector and launches page programming. + */ +extern void at45dbx_write_close(void); + +//! @} + + +/*! \name Single-Byte Access Functions + */ +//! @{ + +/*! \brief Performs a single byte read from DF memory. + * + * \return The read byte. + * + * \note First call must be preceded by a call to the \ref at45dbx_read_open + * function. + */ +extern U8 at45dbx_read_byte(void); + +/*! \brief Performs a single byte write to DF memory. + * + * \param b The byte to write. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_write_open + * function. + */ +extern Bool at45dbx_write_byte(U8 b); + +//! @} + + +/*! \name Multiple-Sector Access Functions + */ +//! @{ + +/*! \brief Reads \a nb_sector sectors from DF memory. + * + * Data flow is: DF -> callback. + * + * \param nb_sector Number of contiguous sectors to read. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_read_open + * function. + * + * \note As \ref AT45DBX_PAGE_SIZE is always a multiple of + * \ref AT45DBX_SECTOR_SIZE, there is no need to check page end for each + * byte. + */ +extern Bool at45dbx_read_multiple_sector(U16 nb_sector); + +/*! \brief Callback function invoked after each sector read during + * \ref at45dbx_read_multiple_sector. + * + * \param psector Pointer to read sector. + */ +extern void at45dbx_read_multiple_sector_callback(const void *psector); + +/*! \brief Writes \a nb_sector sectors to DF memory. + * + * Data flow is: callback -> DF. + * + * \param nb_sector Number of contiguous sectors to write. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_write_open + * function. + * + * \note As \ref AT45DBX_PAGE_SIZE is always a multiple of + * \ref AT45DBX_SECTOR_SIZE, there is no need to check page end for each + * byte. + */ +extern Bool at45dbx_write_multiple_sector(U16 nb_sector); + +/*! \brief Callback function invoked before each sector write during + * \ref at45dbx_write_multiple_sector. + * + * \param psector Pointer to sector to write. + */ +extern void at45dbx_write_multiple_sector_callback(void *psector); + +//! @} + + +/*! \name Single-Sector Access Functions + */ +//! @{ + +/*! \brief Reads 1 DF sector to a RAM buffer. + * + * Data flow is: DF -> RAM. + * + * \param ram Pointer to RAM buffer. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_read_open + * function. + */ +extern Bool at45dbx_read_sector_2_ram(void *ram); + +/*! \brief Writes 1 DF sector from a RAM buffer. + * + * Data flow is: RAM -> DF. + * + * \param ram Pointer to RAM buffer. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_write_open + * function. + */ +extern Bool at45dbx_write_sector_from_ram(const void *ram); + +//! @} + + +#endif // _AT45DBX_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c new file mode 100644 index 0000000..4c0ace2 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c @@ -0,0 +1,234 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief CTRL_ACCESS interface for the AT45DBX data flash controller. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +//_____ I N C L U D E S ___________________________________________________ + +#include "conf_access.h" + + +#if AT45DBX_MEM == ENABLE + +#include "conf_at45dbx.h" +#include "at45dbx.h" +#include "at45dbx_mem.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +//! Whether to detect write accesses to the memory. +#define AT45DBX_MEM_TEST_CHANGE_STATE ENABLED + + +#if (ACCESS_USB == ENABLED || ACCESS_MEM_TO_RAM == ENABLED) && AT45DBX_MEM_TEST_CHANGE_STATE == ENABLED + +//! Memory data modified flag. +static volatile Bool s_b_data_modify = FALSE; + +#endif + + +/*! \name Control Interface + */ +//! @{ + + +Ctrl_status at45dbx_test_unit_ready(void) +{ + return (at45dbx_mem_check() == OK) ? CTRL_GOOD : CTRL_NO_PRESENT; +} + + +Ctrl_status at45dbx_read_capacity(U32 *u32_nb_sector) +{ + *u32_nb_sector = (AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) - 1; + + return CTRL_GOOD; +} + + +Bool at45dbx_wr_protect(void) +{ + return FALSE; +} + + +Bool at45dbx_removal(void) +{ + return FALSE; +} + + +//! @} + + +#if ACCESS_USB == ENABLED + +#include "usb_drv.h" +#include "scsi_decoder.h" + + +/*! \name MEM <-> USB Interface + */ +//! @{ + + +Ctrl_status at45dbx_usb_read_10(U32 addr, U16 nb_sector) +{ + if (addr + nb_sector > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; + + at45dbx_read_open(addr); + at45dbx_read_multiple_sector(nb_sector); + at45dbx_read_close(); + + return CTRL_GOOD; +} + + +void at45dbx_read_multiple_sector_callback(const void *psector) +{ + U16 data_to_transfer = AT45DBX_SECTOR_SIZE; + + // Transfer read sector to the USB interface. + while (data_to_transfer) + { + while (!Is_usb_in_ready(g_scsi_ep_ms_in)) + { + if(!Is_usb_endpoint_enabled(g_scsi_ep_ms_in)) + return; // USB Reset + } + + Usb_reset_endpoint_fifo_access(g_scsi_ep_ms_in); + data_to_transfer = usb_write_ep_txpacket(g_scsi_ep_ms_in, psector, + data_to_transfer, &psector); + Usb_ack_in_ready_send(g_scsi_ep_ms_in); + } +} + + +Ctrl_status at45dbx_usb_write_10(U32 addr, U16 nb_sector) +{ + if (addr + nb_sector > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; + +#if AT45DBX_MEM_TEST_CHANGE_STATE == ENABLED + if (nb_sector) s_b_data_modify = TRUE; +#endif + + at45dbx_write_open(addr); + at45dbx_write_multiple_sector(nb_sector); + at45dbx_write_close(); + + return CTRL_GOOD; +} + + +void at45dbx_write_multiple_sector_callback(void *psector) +{ + U16 data_to_transfer = AT45DBX_SECTOR_SIZE; + + // Transfer sector to write from the USB interface. + while (data_to_transfer) + { + while (!Is_usb_out_received(g_scsi_ep_ms_out)) + { + if(!Is_usb_endpoint_enabled(g_scsi_ep_ms_out)) + return; // USB Reset + } + + Usb_reset_endpoint_fifo_access(g_scsi_ep_ms_out); + data_to_transfer = usb_read_ep_rxpacket(g_scsi_ep_ms_out, psector, + data_to_transfer, &psector); + Usb_ack_out_received_free(g_scsi_ep_ms_out); + } +} + + +//! @} + +#endif // ACCESS_USB == ENABLED + + +#if ACCESS_MEM_TO_RAM == ENABLED + +/*! \name MEM <-> RAM Interface + */ +//! @{ + + +Ctrl_status at45dbx_df_2_ram(U32 addr, void *ram) +{ + if (addr + 1 > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; + + at45dbx_read_open(addr); + at45dbx_read_sector_2_ram(ram); + at45dbx_read_close(); + + return CTRL_GOOD; +} + + +Ctrl_status at45dbx_ram_2_df(U32 addr, const void *ram) +{ + if (addr + 1 > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; + +#if AT45DBX_MEM_TEST_CHANGE_STATE == ENABLED + s_b_data_modify = TRUE; +#endif + + at45dbx_write_open(addr); + at45dbx_write_sector_from_ram(ram); + at45dbx_write_close(); + + return CTRL_GOOD; +} + + +//! @} + +#endif // ACCESS_MEM_TO_RAM == ENABLED + + +#endif // AT45DBX_MEM == ENABLE diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h new file mode 100644 index 0000000..de24fa3 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h @@ -0,0 +1,164 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief CTRL_ACCESS interface for the AT45DBX data flash controller. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _AT45DBX_MEM_H_ +#define _AT45DBX_MEM_H_ + + +#include "conf_access.h" + +#if AT45DBX_MEM == DISABLE + #error at45dbx_mem.h is #included although AT45DBX_MEM is disabled +#endif + + +#include "ctrl_access.h" + + +//_____ D E C L A R A T I O N S ____________________________________________ + +/*! \name Control Interface + */ +//! @{ + +/*! \brief Tests the memory state and initializes the memory if required. + * + * The TEST UNIT READY SCSI primary command allows an application client to poll + * a LUN until it is ready without having to allocate memory for returned data. + * + * This command may be used to check the media status of LUNs with removable + * media. + * + * \return Status. + */ +extern Ctrl_status at45dbx_test_unit_ready(void); + +/*! \brief Returns the address of the last valid sector in the memory. + * + * \param u32_nb_sector Pointer to the address of the last valid sector. + * + * \return Status. + */ +extern Ctrl_status at45dbx_read_capacity(U32 *u32_nb_sector); + +/*! \brief Returns the write-protection state of the memory. + * + * \return \c TRUE if the memory is write-protected, else \c FALSE. + * + * \note Only used by removable memories with hardware-specific write + * protection. + */ +extern Bool at45dbx_wr_protect(void); + +/*! \brief Tells whether the memory is removable. + * + * \return \c TRUE if the memory is removable, else \c FALSE. + */ +extern Bool at45dbx_removal(void); + +//! @} + + +#if ACCESS_USB == ENABLED + +/*! \name MEM <-> USB Interface + */ +//! @{ + +/*! \brief Tranfers data from the memory to USB. + * + * \param addr Address of first memory sector to read. + * \param nb_sector Number of sectors to transfer. + * + * \return Status. + */ +extern Ctrl_status at45dbx_usb_read_10(U32 addr, U16 nb_sector); + +/*! \brief Tranfers data from USB to the memory. + * + * \param addr Address of first memory sector to write. + * \param nb_sector Number of sectors to transfer. + * + * \return Status. + */ +extern Ctrl_status at45dbx_usb_write_10(U32 addr, U16 nb_sector); + +//! @} + +#endif + + +#if ACCESS_MEM_TO_RAM == ENABLED + +/*! \name MEM <-> RAM Interface + */ +//! @{ + +/*! \brief Copies 1 data sector from the memory to RAM. + * + * \param addr Address of first memory sector to read. + * \param ram Pointer to RAM buffer to write. + * + * \return Status. + */ +extern Ctrl_status at45dbx_df_2_ram(U32 addr, void *ram); + +/*! \brief Copies 1 data sector from RAM to the memory. + * + * \param addr Address of first memory sector to write. + * \param ram Pointer to RAM buffer to read. + * + * \return Status. + */ +extern Ctrl_status at45dbx_ram_2_df(U32 addr, const void *ram); + +//! @} + +#endif + + +#endif // _AT45DBX_MEM_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR1/GCC/lib_ucr1_hd_sdio_v2.7.0.a b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR1/GCC/lib_ucr1_hd_sdio_v2.7.0.a new file mode 100644 index 0000000000000000000000000000000000000000..e01ab14a691e081f3275b30325962e774806089d GIT binary patch literal 11978 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 Z{61je@7DZ1;6n_5AI4hv`+*hze*vLUPqF|2 literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR1/GCC/lib_ucr1_hd_spi_v2.7.0.a b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR1/GCC/lib_ucr1_hd_spi_v2.7.0.a new file mode 100644 index 0000000000000000000000000000000000000000..9aa4f2410792b1311cf48b51b9b0b5c7e85cf6f2 GIT binary patch literal 13134 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 literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR1/GCC/lib_ucr1_hd_wl_sta_intwpa_v2.7.0.a b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR1/GCC/lib_ucr1_hd_wl_sta_intwpa_v2.7.0.a new file mode 100644 index 0000000000000000000000000000000000000000..00536f5dcf8c1c8d99b6bcfcf75cd697b0d59c70 GIT binary patch literal 1007102 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 z%0A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%0DWDznokcpZuoutF4SrCztJ45v`5nt+Kl4mqZ?7 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%0A8U-8r*>hU4Mxt!>-;9yMtar9*Gz~%Hhz6cc(V;_ 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 I1a|!Y3p6c)DF6Tf literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC/lib_ucr2_hd_sdio_v2.7.0.a b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC/lib_ucr2_hd_sdio_v2.7.0.a new file mode 100644 index 0000000000000000000000000000000000000000..a61dea3d026b10fd3f8ad131f83ee232421d191a GIT binary patch literal 11946 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 LTKETmHUEDBMNds- literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC/lib_ucr2_hd_spi_v2.7.0.a b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC/lib_ucr2_hd_spi_v2.7.0.a new file mode 100644 index 0000000000000000000000000000000000000000..688319295c8d90082c9b0afc4f4aa78dea5913d2 GIT binary patch literal 13110 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 Z0SiB^`4}q~YWNs0exguZj90nh|2JLLktzTH literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC/lib_ucr2_hd_wl_sta_intwpa_v2.7.0.a b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC/lib_ucr2_hd_wl_sta_intwpa_v2.7.0.a new file mode 100644 index 0000000000000000000000000000000000000000..0b09aa811b4c7b20fb53d507fb6050128124889b GIT binary patch literal 1004426 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%0DgPi?`G-9}3m*ymBiswE{G(vypYZ%)_(<TN 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 literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/revision.txt b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/revision.txt new file mode 100644 index 0000000..5420c93 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/revision.txt @@ -0,0 +1 @@ +Revision: 2491 diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_api.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_api.h new file mode 100644 index 0000000..17ba2ba --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_api.h @@ -0,0 +1,1687 @@ +/* + * Programming interface for wl_api. + * Copyright (C) 2010 HD Wireless AB + * + * You should have received a copy of the license along with this library. + */ + +/*! \file wl_api.h ************************************************************* + * + * \brief Basic WiFi API + * + * This file provides the wl_api interface. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: + * \li SPB104 + EVK1100 + * \li SPB104 + EVK1101 + * \li SPB104 + EVK1104 + * \li SPB104 + EVK1105 (SPI) + * \li SPB104 + EVK1105 (SPI + irq) + * \li SPB105 + EVK1105 (SPI) + * - AppNote: + * + * \author H&D Wireless AB: \n + * + ***************************************************************************** + * + * \section intro Introduction + * This is the documentation for the generic WiFi Driver API \a wl_api. + * + * \section files Main Files + * - wl_api.h : WiFi driver interface. + * - lib_ucr*_hd_wifi_standalone_v*.*.a - Driver library. + * + */ +/** \mainpage wl_api Reference Manual + +\image html images/wl_api_block_diagram_small.png "wl_api Architecture" + +(o)WL API &copy; is a programming interface for WiFi (802.11). It aims +to be a complete interface for embedded applications wanting to use +wireless as a communications interface. (o)WL API &copy; is shortened +"wl_api" in this document. + +wl_api has been designed to meet the following goals : + \li Simple : The API is as simple as is practicable + to make it easy to use. + \li Minimal size : The API is usable on very resource constrained + platforms. + \li Portable : The API is deployable on any platform with a standards + compliant C compiler. + \li OS independent : The API is deployable on systems using a real time + operating system as well as with applications running on the + "bare metal" of a hardware platform (that is without an operating system). + +As a consequence of these design goals wl_api does not allow very fine +grained control of most parameters relating to 802.11 networks. That +would increase the flexibility of the API while also increasing +complexity and code size. When the underlying WiFi hardware can +support a richer feature set the extra features can be offered as a +add-on library if required. + +The wl_api is implemented by two libraries. The core library is +compiled for a hardware platform and is independent of operating +system or IP stack. The core library contains all WiFi +functionality. The core library is supported by a suite of transport +libraries. The transport libraries implements the hardware +communication layer and are specific to the type of hardware interface +used to connect the host platform to the WiFi hardware. For example, +there are transport libraries for SPI and for SDIO. Only the core +library has a public interface (wl_api.h) but applications will need +to link with both the core library and a transport library matching +the hardware configuration. + +\section wl_api_princ Operation Principles + +There are three important properties of wl_api to keep in mind when +programming with it. + +The first is that wl_api is \b asynchronous. For instance, when the +\a wl_connect() function is called to attempt connection with an access +point it will trigger a sequence of packets being exchanged with the +access point after which, if everything is okay, a connection has been +established. The \a wl_connect() call is asynchronous (or non-blocking) +which means that you don't know if the connection attempt has +succeeded after the call returns. You only know if the sequence was +successfully started or not. To find out if, and when, the connection +attempt was successful you must register an event handler using the +function \a wl_register_event_cb(). This is true of a number of API calls +(which is indicated in their documentation). + +The second important property is that wl_api is \b polled. wl_api +never executes "by itself", since it would then have to support +interrupts, timers, locks and other operating system dependent +features. Instead all asynchronous processes proceed when wl_api is +polled by calling the \a wl_tick() function. When \a wl_tick() is called +wl_api reacts to any received management frames, expires any internal timers and +performs any other tasks necessary for forward progress. After +\a wl_tick() returns nothing will happen unless it or some other wl_api +function is called again. Also, to send and receive data, the \a wl_process_rx() +and \a wl_process_tx() must be invoked upon reception and transmission of data. + +The third important property is that wl_api is \b not \b thread \b safe. +All wl_api calls must execute in the same context since the +library has no knowledge of the locking mechanisms available (if any). + +\section wl_api_code_examples A note on the code examples + +The code examples illustrate how to call the different wl_api functions. +They do not constitute a complete program. Functions with the prefix "app_" +in the code examples are application specific calls that illustrate a +particular action. These functions are not part of the API and will have +to be implemented if needed. For a complete working code example see +one of the H&D Wireless software reference designs, such as the WiFi HTTP +server demo code in the Atmel Software Framework. + +The API is structured into these functional groups: + +\li \ref wl_api +\li \ref wl_wifi +\li \ref wl_data +\li \ref wl_transport +\li \ref wl_custom + +Also documented here is the transport layers for SPI and SDIO. +There interfaces are only necessary when porting the library to +a new hardware platform. + +\li \ref wl_spi +\li \ref wl_sdio + + * \section contactinfo Contact Information + * For further information, visit + * <A href="http://www.hd-wireless.se/">H&D Wireless</A>.\n + * Support and FAQ: http://www.atmel.com/ + */ + +#ifndef WL_API_H +#define WL_API_H + +#define WL_API_RELEASE_NAME "v2.7.0" + +/*! Maximum size of a SSID */ +#define WL_SSID_MAX_LENGTH 32 +/*! Size of a MAC-address or BSSID */ +#define WL_MAC_ADDR_LENGTH 6 +/*! Maximum length of a passphrase */ +#define WL_MAX_PASS_LEN 64 +/*! Indicates that there is no SNR information */ +#define WL_SNR_UNKNOWN -128 + +#define SPB104 104 +#define SPB105 105 + +/*! \ingroup wl_api + * API Error codes */ +typedef enum { + WL_FAILURE = -1, + WL_SUCCESS = 1, + WL_NOEFFECT, + WL_OOM, + WL_INVALID_LENGTH, + WL_NOT_SUPPORTED, + WL_ABSORBED, + WL_RESOURCES, + WL_BUSY, + WL_RETRY, /*!< Retry the operation later. The driver is busy + resolving an operation that conflicts with the + request. */ + WL_INVALID_ARGS, + WL_AVAIL, + WL_CARD_FAILURE, /*!< Could not detect SPB device */ + WL_FIRMWARE_INVALID, /*!< Invalid firmware data */ + +} wl_err_t; + +/*! \ingroup wl_wifi + * Event identifiers */ +enum wl_event_id_t { + WL_EVENT_MEDIA_CONNECTED = 0, + WL_EVENT_CONN_FAILURE, + WL_EVENT_MEDIA_DISCONNECTED, + WL_EVENT_SCAN_COMPLETE, + WL_EVENT_FAILURE, + MAX_WL_EVENT +}; + +/*! \ingroup wl_wifi + * Authentication modes */ +enum wl_auth_mode { + AUTH_MODE_INVALID, + AUTH_MODE_AUTO, + AUTH_MODE_OPEN_SYSTEM, + AUTH_MODE_SHARED_KEY, + AUTH_MODE_WPA, + AUTH_MODE_WPA2, + AUTH_MODE_WPA_PSK, + AUTH_MODE_WPA2_PSK +}; + +/*! \ingroup wl_wifi + * Encryption modes */ +enum wl_enc_type { /* Values map to 802.11 encryption suites... */ + ENC_TYPE_WEP = 5, + ENC_TYPE_TKIP = 2, + ENC_TYPE_CCMP = 4, + /* ... except these two, 7 and 8 are reserved in 802.11-2007 */ + ENC_TYPE_NONE = 7, + ENC_TYPE_AUTO = 8 +}; + +enum wl_host_attention_mode { + WL_HOST_ATTENTION_SDIO = 0x1, /*!< For SDIO or polled SPI */ + WL_HOST_ATTENTION_SPI = 0x5a /*!< For SPI with interrupt line */ +}; + +/*! \ingroup wl_wifi + * Event descriptor +*/ +struct wl_event_t { + enum wl_event_id_t id; /**< Event identifier. */ + +}; + +/*! \ingroup wl_wifi + * Infrastructure (ESS) or Ad-hoc (IBSS) connection modes. + */ +enum wl_conn_type_t { + WL_CONN_TYPE_INFRA, /*!< For infrastructure mode (default) */ + WL_CONN_TYPE_ADHOC /*!< For ad-hoc mode */ +}; + +/* Note: + * If your environment does not have stdint.h you will have to + * define the fixed-width integer types specified in that file + * yourself, make sure that those definitions are included + * before any inclusions of wl_api.h, and build with the macro + * WITHOUT_STDINT defined. In this case the wl_api library + * must have been built with the same integer type definitions. + */ + +#ifndef WITHOUT_STDINT +#include <stdint.h> +#endif + +/* Note: + * If your environment does not have stdio.h you will have to define + * the size_t type yourself, make sure that that definition is + * included before any inclusions of wl_api.h, and build with the + * macro WITHOUT_STDIO defined. In this case the wl_api library must + * have been built with the same size_t type definition. + */ +#ifndef WITHOUT_STDIO +#include <stdio.h> +#endif + +/*! \ingroup wl_wifi + * + * \brief SSID representation. + * + * The SSID is a binary string and cannot be treated as a + * C-string safely. An empty SSID is represented by a + * SSID struct with the len field set to 0. + */ +struct wl_ssid_t +{ + char ssid[WL_SSID_MAX_LENGTH]; /**< Octet array containing the SSID data. */ + uint8_t len; /**< Length of valid data in ssid member. + * Cannot be longer than WL_SSID_MAX_LENGTH. */ +}; + +/*! \ingroup wl_wifi + * + * MAC-address/BSSID representation + * + * A broadcast BSSID is one with all octets set to 0xFF. + */ +struct wl_mac_addr_t +{ + uint8_t octet[WL_MAC_ADDR_LENGTH]; /**< Octet array containing the MAC address + * data. This array is always WL_MAC_ADDR_LENGTH bytes. + */ +}; + +/*! \ingroup wl_wifi + * + * Network representation + * + */ +struct wl_network_t +{ + struct wl_ssid_t ssid; /**< The SSID of the network. */ + struct wl_mac_addr_t bssid; /**< The BSSID of the network. */ + uint8_t channel; /**< The wlan channel which the network uses */ + uint32_t beacon_period; /**< Beacon period for the network */ + uint16_t dtim_period; /**< DTIM period for the network */ + int32_t rssi; /**< Received Signal Strength in dBm (measured on beacons) */ + int32_t snr; /**< Received Signal to noise ratio in dBm (measured on beacons) */ + uint8_t enc_type; /**< The encryption type used in the network. */ + + enum wl_conn_type_t net_type; /**< Type of network (Infrastructure or Ad-Hoc */ + size_t ie_len; /**< Always 0 unless wl_api has been built with WL_CONFIG_WPA_SUPPLICANT */ + + uint8_t ie[0]; /**< Not used unless wl_api has been built with WL_CONFIG_WPA_SUPPLICANT */ +}; + +/*! \ingroup wl_wifi + * Network list representation. Array of pointers to wl_network_t entries. + * + */ +struct wl_network_list_t +{ + struct wl_network_t **net; /**< The list of pointers to networks */ + size_t cnt; /**< Number of networks */ +}; + +#define WL_RATE_1MBIT 2 +#define WL_RATE_2MBIT 4 +#define WL_RATE_5_5MBIT 11 +#define WL_RATE_6MBIT 12 +#define WL_RATE_9MBIT 18 +#define WL_RATE_11MBIT 22 +#define WL_RATE_12MBIT 24 +#define WL_RATE_18MBIT 36 +#define WL_RATE_22MBIT 44 +#define WL_RATE_24MBIT 48 +#define WL_RATE_33MBIT 66 +#define WL_RATE_36MBIT 72 +#define WL_RATE_48MBIT 96 +#define WL_RATE_54MBIT 108 +#define WL_RATE_NUM_RATES 14 +#define WL_RATE_INVALID WL_RATE_NUM_RATES + +/*! \ingroup wl_wifi + * + * Rate representation + * + */ +typedef uint8_t wl_rate_t; + +/** \defgroup wl_api Library support functions + * + * These functions manage the library in general. They concern initalizing + * the library, downloading firmware to the WiFi chip and handling events + * from the library. + +For this example we assume that the application is running stand-alone +without an operating system. + +Before the library can do anything it needs to start up the WiFi +hardware by downloading a firmware image. The firmware image is +relatively big (around 144kB) and is therefore not included in the library +it is only needed once. It is up to the application to decide where to +store the firmware image and how to read it into the wl_api library. + +Step one is to write a function of the type \a ::wl_fw_read_cb_t +that wl_api will call to retrive the firmware image. Assuming that you +have some spare RAM (or whatever memory type is used for read only +data, such as FLASH memory) on your platform you can simply include +the firmware image from the \a wl_fw.h header file and write a +firmware read function like this + +\code +static size_t fw_read_cb(void* ctx, + uint8_t** buf, + size_t offset, + size_t len) +{ + if ( NULL == buf ) { + return 0; + } + *buf = ((uint8_t*) fw_buf) + offset; + if ( len > ( fw_len - offset ) ) { + return fw_len - offset; + } + return len; +} + +\endcode + +If the firmware image is stored in ROM this function may have to read +it back block by block instead. + +First, firmware must be downloaded to the device + +\code +if ( wl_transport_init(fw_read_cb, NULL, &mode) != WL_SUCCESS ) { + app_error("Firmware download failed"); + return 0; +} +\endcode + +The wl_api library is then initialized like this + +\code +if ( wl_init(NULL, init_complete_cb, mode) != WL_SUCCESS ) { + app_error("Init failed"); + return 0; +} +\endcode + +The library startup process will now require \a wl_poll() to be called +a number of times before it can complete. In addition, if the +application needs to know when the startup process has completed so +that it can, for example, start up an IP stack it will have to supply +a valid callback function of the type \a ::wl_init_complete_cb_t as a parameter +to the \a wl_init() call and start polling the wl_api library. + +The init complete callback will only be executed during a call to \a wl_poll() +or another wl_api function. This simplifies the implementation since no +internal locking is required and the wl_api library becomes OS-independent. + +\code +static void init_complete_cb(void* ctx) { + init_ip_stack(); +} +\endcode + +Registering the event callback is straightforward : + +\code +if (wl_register_event_cb(event_cb, NULL) != WL_SUCCESS) { + app_error("Failed to register event handler"); + return 0; +} +\endcode + +Similar to \a wl_poll(), there is also a \a wl_tick() function that takes a +free running "tick" counter with millisecond resolution as an argument so +that it can trigger internal timers when necessary. Assuming that such a tick +counter is provided by the macro GET_MS_TICK() the wl_api execution loop becomes + +\code +while (TRUE) { + wl_tick(GET_MS_TICK()); + wl_poll(); +} +\endcode + +In a stand-alone application this loop would usually be the main application +loop and include application specific calls as well. + +After some number of main loop iterations the init_complete_cb will be +invoked and the application can initialize its IP stack. + + * @{ + */ + +/*! \brief WiFi event callback. + * + * This function receives WiFi events that the application + * wants notification of. This function is supplied by the user + * of the API. + * + * @param event Struct describing the type of event and, for some + * events, additional information regarding the + * status of the event. See wl_event_t for additional + * information. + * @param ctx A context handle. This handle is passed + * untouched to the callback and has the same value + * as the context registered with the callback in + * wl_register_event_cb(). + */ +typedef void (*wl_event_cb_t) (struct wl_event_t event, void* ctx); + + +/*! \brief Initialization complete callback function. + * + * Invoked when WiFi initialization is complete. + * + * @param ctx Opaque context pointer as provided to \a wl_init() that will be + * passed back to the callback. + */ +typedef void (wl_init_complete_cb_t)(void* ctx); + + +/*! \brief Register an event handler. + * + * Register an event handler with the driver. This + * event handler will be called whenever a event + * listed in #wl_event_id_t occurs. + * See #wl_event_cb_t and #wl_event_id_t for more details. + * + * @param cb Event callback function to register. + * @param ctx Opaque context pointer that will be + * passed to the callback when it is + * invoked. This parameter is never + * accessed by the API. + * @return WL_SUCCESS + */ +wl_err_t wl_register_event_cb(wl_event_cb_t cb, void* ctx); + +/*! \brief Initialize the wl_api library. + * + * Note that \a wl_poll() must be called for this function to progress + * towards complete init + * + * The startup process will proceed asynchronously and will inkove + * init_complete_cb when completed. The callback will not be invoked if any + * error occurs during initialization. + * + * This function should be called after firmware has been downloaded to the + * device. + * + * @param ctx Opaque context pointer that will be passed to the callback + * when invoked. This parameter is never accessed by the API. + * @param init_complete_cb callback function to invoke when initialization is + * complete. + * @param mode Indicates the host attention mode used by the device. If + * \a wl_transport_init() was used to download the firmware image to the + * device, the proper mode can be obtained from the mode parameter of + * that function. + * + * @return + * - WL_SUCCESS + * - WL_FAILURE + */ +wl_err_t wl_init(void* ctx, wl_init_complete_cb_t init_complete_cb, + enum wl_host_attention_mode mode); + + +/*! \brief Shutdown the wl_api library and free resources. + * + * \a wl_init() must be invoked to startup the library + * again. + * + * @return + * - WL_SUCCESS on success + * - WL_FAILURE + * + */ +wl_err_t wl_shutdown(void); + + +/*! \brief WiFi driver timer tick function + * + * Periodic timers are triggered from this function so it should be called as + * often as possible if precision timing is required (traffic timeouts, + * authentication timeouts etc). + * + * @param tick A tick count in us. This is used to expire timers + * in the driver. + */ +void wl_tick(uint32_t tick); + +/*! @} */ + + +/** \defgroup wl_wifi Connection Management + * + * These functions access WiFi-specific functionality such as + * scanning, connect/disconnect, authentication and encryption, + * and power save modes. + * + +\section scanning Scanning + +To scan all channels that are available in the current regulatory +domain + +\code + if ( wl_scan() != WL_SUCCESS ) { + // May be busy scanning already, no fatal error + return 0; + } +\endcode + +Since wl_scan() only starts the scanning process the application +should add code to the event handler to catch the "scan complete" event +and retrieve the list of seen networks from the library + +\code +static void event_cb(struct wl_event_t event, void* ctx) { + switch(event.id) { + case WL_EVENT_SCAN_COMPLETE: + struct wl_network_list_t *netlist; + uint8_t netcnt; + + wl_get_network_list(&netlist); + netcnt = netlist->cnt; + while (--netcnt) { + print_network(netlist->net[netcnt]); + } + break; + } +} +\endcode + +The function print_network() could display the network name, the SSID, in +a user interface. It is important to keep in mind is that despite the fact +that the SSID is usually presented as a ASCII string, it is +in fact just a byte string and can legally contain all kinds of +non-printable characters, including a 0-byte. This means that it is +easy to end up with buffer overrun bugs if the SSID is ever treated +as a normal string without precautions. + +\code +void print_network(struct wl_network_t* wl_network) +{ + char ssid[WL_SSID_MAX_LENGTH + 1]; + memset(ssid, 0, sizeof(ssid)); + memcpy(ssid, wl_network->ssid.ssid, wl_network->ssid.len); + if (app_is_printable(ssid)) { + app_print("\"%s\" ", ssid); + } + else { + app_print("<binary SSID> "); + } + switch (wl_network->enc_type) { + case ENC_TYPE_WEP : + app_print("(WEP encryption)"); + break; + case ENC_TYPE_TKIP : + app_print("(TKIP encryption)"); + break; + case ENC_TYPE_CCMP : + app_print("(CCMP encryption)"); + break; + } + app_print("\n"); +} +\endcode + +\section connecting Connecting + +To connect to an access point (beware binary SSIDs) the connection process +must be started + +\code + if ( wl_connect("My AP", strlen("My AP")) + != WL_SUCCESS ) { + app_error("Connection failed.\n"); + return 0; + } +\endcode + +and the \a WL_EVENT_MEDIA_CONNECTED and \a WL_EVENT_CONN_FAILURE events should be +caught. To detect that a connection is terminated after it has been successfully established +(such as when the AP goes out of range) the \a WL_EVENT_MEDIA_DISCONNECTED event +must be also be caught + + +\code +static void event_cb(struct wl_event_t event, void* ctx) { + switch(event.id) { + case WL_EVENT_SCAN_COMPLETE: + struct wl_network_list_t *netlist; + uint8_t netcnt; + + wl_get_network_list(&netlist); + netcnt = netlist->cnt; + while (--netcnt) { + print_network(netlist->net[netcnt]); + } + break; + case WL_EVENT_CONN_FAILURE: + app_error("Connection failed\n"); + break; + case WL_EVENT_MEDIA_CONNECTED: + app_print("Connected to Access Point\n"); + app_ip_interface_up(); + break; + case WL_EVENT_MEDIA_DISCONNECTED: + app_print("Disconnected from Access Point\n"); + app_ip_interface_down(); + break; + } +} +\endcode + +\section security Security + +To use WEP a WEP key must be added before the connection is initiated. +To set the 40-bit WEP key 0xDEADBEEF00 as default key for key index 0 do + +\code + char key[5] = { 0xDE, 0xAD, 0xBE, 0xEF, 0x00 }; + struct wl_mac_addr_t bssid; + + // This means that the bssid is a broadcast bssid and the WEP key will be a default key instead of a key-mapping key. + memset(&bssid.octet, 0xff, sizeof bssid.octet); + + if ( wl_add_wep_key(0, sizeof key, key, &bssid) + != WL_SUCCESS ) { + app_error("Failed to add WEP key."); + return 0; + } +\endcode + +To use WPA/WPA2 with a Pre-shared key a passphrase must be associated +with the network before the connection is initiated. + +\code + struct wl_network_t net; + char passphrase[] = "MySecretKey"; + + memset(&net, 0, sizeof net); + memset(net.bssid.octet, 0xFF, sizeof net.bssid.octet); + strncpy(net.ssid.ssid, "My AP", strlen("My AP")); + net.ssid.len = strlen("My AP"); + net.enc_type = ENC_TYPE_AUTO; + if (wl_set_passphrase(&net, + passphrase, + strlen(passphrase), + ENC_TYPE_AUTO, + AUTH_MODE_AUTO) + != WL_SUCCESS) { + app_error("Failed to add passphrase"); + } +\endcode + +The library supports several passphrase-network associations to be +configured simultaneously. Be aware that the \a wl_connect() call +can take up to 15 seconds longer than normal when using a pre-shared +WPA/WPA2 key since the platform must calculate a temporal encryption +key from the passphrase before the connection attempt can start. + + * @{ + */ + + +/*! \brief Scan all channels. + * + * Starts a scan of all WiFi channels allowed in this regulatory + * domain. The list of allowed channels (the domain) is adapted to the + * channels announced as allowed by the first AP heard. + * + * The scan will proceed asynchronously and will raise a + * WL_EVENT_SCAN_COMPLETE event when completed. + * + * Currently, there's a limit on the scan list size that depends on the + * architecture (6 networks for the AVR32 UCR1 architecture 16 networks for + * other architectures. If more network exist, the strongest networks are + * chosen. Note that the limitation on the scan list size does not limit the + * networks which the device can connect to. See wl_connect() for more + * details. + * + * @return + * - WL_SUCCESS + * - WL_FAILURE. + */ +wl_err_t wl_scan(void); + +/*! \brief Get the list of currently known networks. + * + * Retrieves the list of currently known networks from + * the driver. To ensure that this list is up-to-date + * a wl_scan() call should be issued and this function + * should be called upon reception of the WL_EVENT_SCAN_COMPLETE + * event. This function can be called at other times + * but the list of networks retrieved then might not + * correspond to the networks actually in range. + * + * Note that a successful scan does not necessarily + * find any networks. + * + * @param network_list Output buffer. The API call returns + * a pointer to allocated memory containing the network list. + * @return + * - WL_SUCCESS + * - WL_FAILURE. + */ +wl_err_t wl_get_network_list(struct wl_network_list_t **network_list); + +#ifdef WFE_6_12 +/*! \brief Start a Ad-hoc network. + * + * Attempt to start a Ad-hoc (IBSS) network. If a Ad-hoc network + * is successfully started then a WL_EVENT_MEDIA_CONNECTED event + * will be raised once the first peer station connects to the Ad-hoc + * network (and not when the network is announced on the air). + * + * If a Ad-hoc network should be started with encryption + * enabled then \a wl_set_passphrase() should be called before + * \a wl_start_adhoc_net() to configure the security parameters. + * The Ad-hoc network is started with the security parameters + * (if any) that was configured for the specified \a ssid. + * + * @param ssid The SSID of the new network. If there's a network + * already present with this SSID this call will fail. + * @param channel The channel to use. Valid channels are 1-14 + * @param auth_mode The authentication mode to use. Supported + * authentication modes for Ad-hoc networks are + * AUTH_MODE_OPEN_SYSTEM and AUTH_MODE_SHARED_KEY. + * Passing other modes will cause a WL_INVALID_ARGS return. + * If AUTH_MODE_SHARED_KEY is used then a valid WEP + * key must be set with a call to \a wl_add_wep_key() + * and the default WEP key index must be set with a + * call to \a wl_set_default_wep_key(). + * @return + * - WL_SUCCESS on success. + * - WL_INVALID_ARGS if the ssid is malformed, if + * the channel not valid or if the authentication mode + * is invalid. + * - WL_RETRY if the driver is busy resolving a conflicting + * operation. The operation should be retried after a wait + * (at least one call to wl_poll() for polled implementations). + * - WL_BUSY if the driver is already connected or if a network + * with the same SSID is already known. + * + */ +wl_err_t wl_start_adhoc_net(struct wl_ssid_t ssid, + uint8_t channel, + enum wl_auth_mode auth_mode); +#endif +/*! \brief Connect to a SSID. + * + * Attempt to connect to a given SSID. If the driver is already + * connected to an AP with a different SSID then this call will + * return WL_BUSY and wl_disconnect() should be called before + * trying again. + * + * The connection process will proceed asynchronously and will raise a + * WL_EVENT_MEDIA_CONNECTED event when completed, or a WL_EVENT_CONN_FAILURE + * when failed. After a WL_EVENT_MEDIA_CONNECTED event has been raised + * a WL_EVENT_MEDIA_DISCONNECT event will be raised if the connection is + * terminated. Note that this can be caused by external factors and can + * happen at any time. + * + * If wl_connect() is invoked with a network that is not shown in the + * scan list, the device will probe for that specific network and connect + * to it, if found. This is also the method to use in order to connect to + * "hidden" networks (AP's that doesn't broadcast its SSID). + * + * @param ssid Pointer to the SSID string. + * Freed by caller. + * @param ssid_len Length of the SSID string in octets. Max value is 32. + * @return + * - WL_SUCCESS + * - WL_FAILURE if the network could not be found + * - WL_BUSY if the driver is already connected + * - WL_RETRY if the driver is busy resolving a conflicting operation. + * The operation should be retried after a wait (at least one call to wl_poll() + * for polled implementations). + */ +wl_err_t wl_connect(char* ssid, size_t ssid_len); + +/*! \brief Connect to a BSSID + * + * Attempt to connect to a given BSSID. If the driver is already + * connected to an AP with a different BSSID then this call will + * return WL_BUSY and wl_disconnect() should be called before + * trying again. + * + * The connection process will proceed asynchronously and will raise a + * WL_EVENT_MEDIA_CONNECTED event when completed, or a WL_EVENT_CONN_FAILURE + * when failed. After a WL_EVENT_MEDIA_CONNECTED event has been raised + * a WL_EVENT_MEDIA_DISCONNECT event will be raised if the connection is + * terminated. Note that this can be caused by external factors and can + * happen at any time. + * + * If wl_connect_bssid() is invoked with a network that is not shown in the + * scan list, the device will probe for that specific network and connect + * to it, if found. + * + * @param bssid Pointer to the BSSID. Freed by caller. + * @return + * - WL_SUCCESS + * - WL_FAILURE if the network could not be found + * - WL_BUSY if the driver is already connected + * - WL_RETRY if the driver is busy resolving a conflicting operation. + * The operation should be retried after a wait (at least one call to wl_poll() + * for polled implementations). + */ +wl_err_t wl_connect_bssid(struct wl_mac_addr_t bssid); + +/*! \brief Disconnect from the network + * + * Disconnect from any currently associated network. + * + * The disconnection process will proceed asynchronously and will raise a + * WL_EVENT_MEDIA_DISCONNECTED event when completed. + * @return + * - WL_SUCCESS if the disconnect process was started + * - WL_FAILURE if the driver was not connected + * - WL_RETRY if the driver is in the process of connecting. + * In this case the disconnect must be retried after + * the connection attempt has completed (resulted in a + * WL_EVENT_MEDIA_CONNECTED or a WL_EVENT_CONN_FAILURE event). + */ +wl_err_t wl_disconnect(void); + +/*! + * @brief Add a WEP encryption key to the device. + * + * Configure a key into the device. The key type (WEP-40, WEP-104) + * is determined by the size of the key (5 bytes for WEP-40, 13 bytes for WEP-104). + * + * @param key_idx The key index to set. Valid values are 0-3. + * @param key_len Length of key in bytes. Valid values are 5 and 13. + * @param key Key input buffer. + * @param bssid BSSID that the key applies to. If this is + * the broadcast BSSID then the key is configured + * as one of the default keys (not _the_ default key, + * this must be set by calling set_default_wep_key() + * after adding it). If the BSSID is a valid unicast + * bssid then the key is configured as a key-mapping + * key ( See 802.11-2007 8.2.1.3 ). + * @return + * - WL_SUCCESS on success. + * - WL_INVALID_LENGTH if the key length is bad. + * - WL_FAILURE on failure + */ +wl_err_t wl_add_wep_key(uint8_t key_idx, + size_t key_len, + const void *key, + struct wl_mac_addr_t *bssid); + +/*! @brief Set the default WEP key index. + * + * Select which WEP key to use for transmitted packets. + * For this to work correctly you must have added a WEP + * key with \a wl_add_wep_key() as a default key, using the + * same index as the one set in this call. + * @param key_idx Index of the key to make the default key. + * Valid values are 0-3. + * @return WL_SUCCESS or WL_FAILURE. + */ +wl_err_t wl_set_default_wep_key(uint8_t key_idx); + +/*! \brief Delete a WEP key. + * + * Deletes a WEP key from the driver. + * + * @param key_idx The index of the key to delete. Valid values are 0-3. + * @param bssid BSSID that the key applies to. If this is + * the broadcast BSSID then the key deleted is a default key. + * If the BSSID is a valid unicast bssid then the deleted + * key is a key-mapping key. + * @return WL_SUCCESS or WL_FAILURE + */ +wl_err_t wl_delete_wep_key(uint8_t key_idx, struct wl_mac_addr_t *bssid); + +/*! @brief Set a WPA/WPA2 passphase + * + * Associate a WPA/WPA2/RSN passphrase with a network. + * The number of passphrases that can be stored can + * vary but is always at least one. Passphrases can + * be added until \a wl_add_wpa_passphrase() returns + * WL_RESOURCES. + * + * @param net Network with which to associate the passphrase. + * @param passphrase Passphrase. Valid characters in a passphrase + * must lie between ASCII 32-126 (decimal). + * @param len Length of passphrase. Valid lengths are 8-63. + * @param enc_type Encryption type. If this is set to ENC_TYPE_AUTO + * then the most secure supported mode will be automatically + * selected. Normally you only need to pass something else here + * if you need to enforce picking a certain encryption mode when + * the network supports several modes and you don't want to use + * the best one. + * @param auth_mode Authentication mode. If this is set to AUTH_MODE_AUTO + * then the most secure mode will be automatically selected. + * Normally you only need to pass something else here if the network + * announces support for both WPA and WPA2/RSN and the passphrases are + * different. + * @return + * - WL_SUCCESS + * - WL_INVALID_ARGS if the passphrase length is invalid. + * - WL_RESOURCES if no more passphrases can be added. + */ +wl_err_t wl_set_passphrase(const struct wl_network_t *net, + const char *passphrase, + const size_t len, + const enum wl_enc_type enc_type, + const enum wl_auth_mode auth_mode); + +/*! @brief Remove a WPA/WPA2 passphase + * + * Remove a WPA/WPA2/RSN passphrase associated with a network. + * + * @param net Network with which to associate the passphrase. + * If net is NULL then all stored passphrases will be + * cleared. + * @return + * - WL_SUCCESS + * - WL_FAILURE if no passphrase was associated with the net. + */ +wl_err_t wl_clear_passphrase(struct wl_network_t *net); + + +/*! \brief Enable legacy power save mode + * + * Enable legacy power save mode. In legacy power save mode, the device + * will power down when idle. When connected, the device will wake up to + * receive beacon frames and any buffered data from the AP. The response + * time when legacy power save is enabled might therefore be as long as the + * AP beacon interval (mostly 100 ms). However, the throughput should not + * be affected. + * + * @return WL_SUCCESS or WL_FAILURE. + */ +wl_err_t wl_enable_ps(void); + +/*! \brief Disable legacy power save mode + * + * @return WL_SUCCESS or WL_FAILURE. + */ +wl_err_t wl_disable_ps(void); + +/*! \brief Configure power save parameters. + * + * @param use_ps_poll Use PS-Poll frames to retrieve buffered data. Any changes + * to this parameter will take effect upon next connect + * or when power save is enabled through wl_enable_ps(). + * Note: To retrieve one buffered packet, the ps poll scheme + * needs one ps poll packet to the AP instead of two null + * packets in the power management bit scheme. Ps poll avoids + * the overhead of traffic monitoring time in active mode as + * well. But since each ps poll request can make the AP + * release only one buffered packet, it is not the optimal + * scheme for applications with heavy downlink traffic. + * @param ps_traffic_timeout Timeout in [ms] to wait for more buffered data + * from AP. This setting has no effect if + * use_ps_poll is 1. Any changes to this parameter + * will take effect immediately. + * @param ps_delay Power save will de delayed ps_delay [ms] after connecting to + * an AP. + * @param rx_all_dtim If set to 1, then STA will wake up to listen to every + * beacon containing DTIM (delivery traffic indication messages) when + * connected. The actual DTIM interval is configured in the AP. + * If the DTIM interval, as configured in the AP, is larger than + * \a listen_interval, the STA will wakeup according to the + * \a listen_interval parameter. + * @param listen_interval The Listen Interval field is used to indicate to the + * AP how often a STA in power save mode wakes to listen + * to beacon frames. The value of this parameter is expressed in units + * of Beacon Interval. An AP may use the Listen Interval information in + * determining the lifetime of frames that it buffers for a STA. + * Any changes to this parameter will take effect upon next association. + * + * @return WL_SUCCESS or WL_FAILURE. + */ +wl_err_t wl_conf_ps(uint8_t use_ps_poll, + uint32_t ps_traffic_timeout, + uint32_t ps_delay, + uint8_t rx_all_dtim, + uint16_t listen_interval); + +/*! \brief Get the interface MAC address. + * + * Return the 802.3 MAC address of the network interface. + * + * @param buf Output buffer. It must be at least WL_MAC_ADDR_LENGTH + * bytes long and only the first WL_MAC_ADDR_LENGTH bytes + * will contain valid data. + * @return + * - WL_FAILURE if the interface is not up. + * - WL_SUCCESS + */ +wl_err_t wl_get_mac_addr(uint8_t* buf); + +/*! \brief Return the associated network. + * + * Return the description of the currently associated + * network, if any. + * + * @return The network description, or NULL of the driver + * is unconnected. + */ +struct wl_network_t* wl_get_current_network(void); +/*! @} */ + +/** \defgroup wl_data Data Transfer + * + * \brief Packet processing interface. + * + * Note that the examples in this group assumes that the transport library + * functions in the \a wl_transport group are being used. For more information, + * See the documentation for those functions in the \a wl_transport group. + +For the IP stack integration you need to intercept received packets so +they can be sent up the stack and to transmit packets coming down the +stack. + +By default the wl_api library discards all data packets. To receive +them the application must register a rx interrupt service routine (isr) +using the \a wl_register_rx_isr() function. + +\code +static void rx_isr(void* ctx) { + rx_pending = TRUE; +} +\endcode + +Since the rx_isr() function is only called in interrupt context, it is not +safe to perform the actual read directly from rx_isr(). If an OS is used, +the normal case is to signal a receiver thread to invoke the ip stack +read function to read the pending data. In a system that runs without an OS +(as in the example), a flag is set to indicate that wl_rx() can be invoked +from the ip stack read function next time the ip stack is polled. +The beginning of a ip stack read function can look like this + +\code +static void ip_stack_rx_pkt() { + char *pkt = malloc(MAX_PKT_SIZE); + uint16_t len = MAX_PKT_SIZE; + + if (p == NULL) { + app_error("Out of memory."); + return; + } + wl_rx(pkt, &len); + if (0 == len) { + app_error("Packet reception failed."); + free(pkt); + return + } +} +\endcode + +Since the ip_stack_rx_pkt() function should only be called when there is +actually a packet ready to read you do not have to check the return value +from \a wl_rx() since it only returns failure if there is no packet ready to +read. + +A packet arriving from the WiFi interface can be either a data +packet or a message from the WiFi hardware to the WiFi driver +(which is implemented by the wl_api library). This means that +wl_api must process every packet to decide if it is an internal +message or a data frame that +should be passed up to the application. Data packets are +prefixed with an extra header containing some administrative +information, and may be followed by padding bytes and so +wl_api also needs to strip the extra header and any padding +before the packet can be safely ingested by the IP stack. +All this happens in the function \a wl_process_rx() which \b must +be called on every packet received by a call to \a wl_rx(). + +Continuing the ip_stack_rx_pkt() example + +\code + { + char* stripped_pkt; + size_t stripped_pkt_len; + uint16_t vlan; + int status; + + status = wl_process_rx(pkt, + len, + &stripped_pkt, + &stripped_pkt_len, + &vlan); + if (WL_ABSORBED == status) { + // This is normal. The packet was a + // wl_api-internal message. + free(pkt); + return; + } + app_ip_stack_input(stripped_pkt, + stripped_pkt_len, + vlan); + free(pkt); + } +} +\endcode + +If \a wl_process_rx() decides that the packet was a command it processes +it and returns \a WL_ABSORBED to signal that the packet should +not be used by anyone else. Otherwise stripped_pkt is +pointing to the beginning of a 802.3 Ethernet frame of length +stripped_pkt_len. If the IP stack supports VLAN and QoS +the extra VLAN tag should be passed to the IP stack +together with the packet. For IP stacks without this support the VLAN tag +contents can safely be ignored, but it must still be filled in by \a wl_process_tx(). + +To register the receive isr + +\code + wl_register_rx_isr(rx_isr, NULL); +\endcode + +Transmitting data packets happens in a similar way but does not +require a callback/isr since the application/IP stack knows when it has +packets to send. + +\code +int ip_stack_tx_pkt(char *pkt, size_t len, uint16_t vlan_tag) { + int status; + char wlan_hdr[WL_HEADER_SIZE]; + // The packet must have an Ethernet header + if (len < ETHERNET_HEADER_SIZE) { + app_error("Invalid packet length"); + return 0; + } + hdr_len = sizeof wlan_hdr; + status = wl_process_tx(pkt, + ETHERNET_HEADER_SIZE, + len, + wlan_hdr, + vlan_tag, + NULL); + if ( WL_SUCCESS != status ) { + app_error("Packet processing failed"); + return 0; + } + // Transmit the header first + if (wl_tx(wlan_hdr, hdr_len) != WL_SUCCESS) { + app_error("Header transmission failed"); + return 0; + } + // Then transmit the data packet + if (wl_tx(pkt, len) != WL_SUCCESS) { + app_error("Packet transmission failed"); + return 0; + } +} +\endcode + +The final piece of the puzzle in the IP stack integration is +the MAC address of the WiFi interface + +\code + char mac_addr[WL_MAC_ADDR_LENGTH]; + + wl_get_mac_addr(mac_addr); + ip_stack_set_mac_address(mac_addr); +\endcode + + * @{ + */ + +/*! Size of the wl_api packet header */ +#ifdef WFE_6_12 +#define WL_HEADER_SIZE 16 +#else +#define WL_HEADER_SIZE 14 +#endif + +/*! Maximum packet size (including wl_api headers and paddings) + * + * Maximum packet size is obtained with the following data: + * + * 1500 bytes of Ethernet payload (MTU) + 14 bytes of Ethernet header + + * WL_HEADER_SIZE of wl header. This data is then size-aligned to 16. + * + */ +#define WL_MAX_PKT_LEN 1536 + + +/*! + * \brief Process rx packet. + * + * Processes a raw rx packet by unencrypting it (if necessary) + * and stripping headers so as to output a 802.3 frame. + * + * wl_process_rx() will strip bytes both from the head and from the tail. + * + * Upon return from wl_process_rx(), the pointer at stripped_pkt will + * point to the start of the Ethernet header, hence adjusting the offset + * by WL_HEADER_LEN bytes. Any padding (added by the wifi device) will + * be removed from the tail of the packet, hence making len smaller. + * + * The wl_api library of the device will not perform any Ethernet padding + * removal. The padding removal performed by wl_process_rx() is only for + * the padding used in the protocol shared by the host and the device. + * This padding is mainly there to ensure that the host does not have to + * deal with rx of odd-sized data buffers (which some DMA's have problems + * to handle). + * + * @param pkt Input buffer (raw packet) + * @param pkt_len Length of the input buffer (in bytes) + * @param stripped_pkt Pointer to the packet with the + * transport header stripped. + * @param stripped_pkt_len Length of the stripped packet. + * @param vlanid_prio VLAN ID and 802.1p priority value + * using following format: + * <PRE> + * 1 + * 5|432109876543|210 + * -+------------+--- + * 0| VLANID |PRI + * </PRE> + * + * @returns + * - WL_FAILURE + * - WL_ABSORBED if the packet was an internal driver command + * and not a proper data packet. The packet should + * be freed and the stripped_pkt will not point + * to a valid packet. + * - WL_SUCCESS + */ +wl_err_t wl_process_rx(char *pkt, size_t pkt_len, char **stripped_pkt, + size_t *stripped_pkt_len, uint16_t *vlanid_prio); + +/*! \brief Process tx packet. + * + * Prepare tx packet for transmission. + * + * This function is typically used only by the TCP/IP stack driver. + * + * Takes a Ethernet II frame header and generates a message passing header + * for it. + * + * The caller should ensure that any frames injected into wl_process_tx() + * are proper Ethernet frames. The wl_api library or the device will not + * perform any Ethernet padding if the frames are too short. + * + * The Ethernet header is assumed to have the following layout : + * <dst addr:6><src addr:6><type:2>... + * The rest of the Ethernet header buffer (if any) is ignored. + * + * A note on the TX packet representation : + * If your TX packets are simple contiguous buffers you can ignore + * the rest of this note and pass NULL in parameter \a pkt_handle. + * A TX packet may have a more complex structure than a RX packet + * (which must be a contiguous, flat buffer). The IP stack may + * for example represent a packet as a linked list of buffers where + * the Ethernet header, the IP header and other headers, are represented + * by separate buffers. In some cases, such as when the driver is + * running in SoftAP mode, a TX packet has to be copied and queued + * internally for later processing and to support this when packets + * have a complicated structure a special data access function can + * be registered. See \a wl_register_pkt_read_cb() for details. + * If you use \a wl_process_tx() with non-simple packets you + * should pass a handle to the packet in parameter \a pkt_handle + * and register an access function with \a wl_register_pkt_read_cb(). + * + * @param eth_hdr Input buffer (Ethernet header) + * @param eth_hdr_len Input buffer length (must be >= 14) + * This is usually the same as pkt_len unless e.g linked list or buffers + * chained in other ways are being used. + * @param pkt_len Length of the complete data packet (in bytes) + * @param hdr Pointer to the header buffer (must be + * allocated by the caller). The length of the buffer + * must be at least WL_HEADER_SIZE bytes. + * @param vlanid_prio VLAN ID and 802.1p priority value + * using following format: + * <PRE> + * 1 + * 5|432109876543|210 + * -+------------+--- + * 0| VLANID |PRI + * </PRE> + * Ignored for legacy association (no WMM) + * @param pkt_handle A handle to the complete packet. If this parameter + * is NULL then \a eth_hdr is expected to point to the whole packet + * in a single contiguous buffer (the default). If a different packet + * representation is used this parameter should be a handle to the + * complete packet and will be passed unmodified to the data + * access function that was registered with \a wl_register_pkt_read_cb(). + * + * @returns + * - WL_FAILURE + * - WL_RESOURCES if packet can not be processed at the moment. + * The caller must either drop the packet or try + * retransmit it later. + * - WL_AVAIL if network not available + * - WL_SUCCESS if packet is ready for transmission through wl_tx(). + */ +wl_err_t wl_process_tx(char *eth_hdr, + size_t eth_hdr_len, + size_t pkt_len, + char *hdr, + uint16_t vlanid_prio, + void *pkt_handle); + + +/*! \brief Get current TX and RX rate used for data transfer + * + * During transmission and reception of data, the actual rate used will depend + * on the signal quality. This function can be used to get the actual rate used + * for the last tx and rx data. + * + * @param tx will hold the tx rate upon successful return. + * @param rx will hold the rx rate upon successful return. + * + * @return + * - WL_SUCCESS on success + * - WL_FAILURE on failure. + */ +wl_err_t wl_get_rate(wl_rate_t *tx, wl_rate_t *rx); + + +/*! @} */ /* End wl_data group */ + + +/** \defgroup wl_transport Transport interface + * + * \brief Low level transport interface. + * + * These functions access the low level transport driver which makes + * the application independent of the actual physical transport + * layer (usually SDIO or SPI). + * + +For applications running on an real time kernel or without an +operating system, the provided transport library will fit right into the +application design. However, when running on a more complex operating system +(such as windows or linux) which has its own transport primitivies and +components (and probably its own IP stack) it might be preferred to design a +custom transport library for that specific environment. Therefore, these +transport interface functions are fully optional. + + + * @{ + */ + +#define WL_RX_MIN_PKT_LEN 32 + + +/*! \brief WiFi event callback. + * + * This function is invoked in interrupt context when there is new data + * available from the mac. This function is supplied by the user + * of the API. + * + * This function is typically used only by the TCP/IP stack driver. + * + * @param ctx A context handle. This handle is passed + * untouched to the callback and has the same value + * as the context registered with the callback in + * wl_register_event_cb(). + */ +typedef void (*wl_rx_isr_t) (void* ctx); + + +/*! \brief Firmware access function. + * + * Reads the WiFi firmware image. This function is supplied by + * the user of this API since storage for the firmware image is + * managed by the application. + * + * This function should read the specified number of bytes of the + * firmware image starting at the specified \a offset. The number of + * bytes to read is given in \a len. Upon return, \a buf should point + * to a buffer which holds the read data and the number of valid bytes + * in \a buf is returned from the call. + * + * This function will be called repeatedly until the complete firmware + * image has been read. + * + * This function may be called again at any time while the driver is + * running to download further pieces of the WiFi firmware image as + * needed by the runtime requirements. This will normally only happen + * when the driver switches between networks of different kinds such + * as from WEP to WPA, or from ESS to IBSS for example. + * + * For convenience, any time a firmware chunk has been completely + * downloaded this function will be called once with the \a buf + * parameter set to NULL to indicate that no more data is needed right + * now and that any dynamically allocated buffers which holds firmware + * data can be freed without much performance impact. + * + * @param ctx Opaque context pointer as provided to \a wl_init() that will be + * passed back to the callback. + * @param buf Should be assigned the address of the buffer holding the read + * data upon return. This parameter can be NULL which indicates + * that there are no further immediately pending accesses. + * @param offset Offset in bytes from the start of the firmware image. + * Data should be copied into buf starting at \a offset. + * @param len The number of bytes to copy into \a buf. + * @return The number of bytes copied into buf. This may be smaller than + * \len if the implementation of the function so requires. + */ +typedef size_t (wl_fw_read_cb_t)(void *ctx, + const uint8_t **buf, + size_t offset, + size_t len); + + +/*! \brief Initialize the transport interface and download the WiFi firmware + * image to the device. + * + * This operation will proceed synchronously until the firmware is completely + * downloaded. wl_init() should be called after this function has returned to + * perform device initialization. + * + * @param fw_read_cb callback function to invoke during firmware download. + * @param ctx Opaque context pointer that will be passed to the callbacks + * when they are invoked. This parameter is never + * accessed by the API. + * @param mode will hold the host attention mode used by the transport layer. + * This parameter can be passed directly to \a wl_init(). + * + * @return + * + * - WL_CARD_FAILURE if the wl hardware device is not available + * - WL_FIRMWARE_INVALID if the firmware obtained through fw_read_cb is + * invalid. + * - WL_OOM if the necessary memory could not be allocated. + */ +wl_err_t wl_transport_init(wl_fw_read_cb_t *fw_read_cb, + void *ctx, + enum wl_host_attention_mode *mode); + +/*! \brief WiFi driver forward progress function + * + * This function must be called in polled environments to + * ensure forward progress. The call can be made as often as possible from + * the main application loop. However, the call will not have any effect unless + * there is an interrupt pending from the hardware. + * + * In interrupt mode, wl_poll() must be called if no interrupt + * handler is registered through wl_register_rx_isr(). When an interrupt + * handler is registered, it is no longer necessary to invoke wl_poll(). + * + * Note that this function should not be invoked from interrupt context. + * + */ +void wl_poll(void); + + +/*! \brief Register RX callback + * + * Register function to be called by the low level transport driver + * when a new packet is available or when there is a state change in the + * data path. When invoked, any pending data can be fetched by calling wl_rx(). + * + * This function is typically used only by the TCP/IP stack driver. + * Note, the registered function is called in interrupt context. + * + * @param isr rx interrup handler. + * @param ctx Opaque context pointer that is passed unmodified to the + * rx_cb callback when it is invoked. + * + * @return WL_SUCCESS + */ +wl_err_t wl_register_rx_isr(wl_rx_isr_t isr, void* ctx); + + +/*! \brief Read pending packet + * + * Read a pending packet from the low level transport driver. + * The read packet must be passed to the wl_process_rx() function + * for proper driver operation. + * + * @param buf Buffer to read the packet into. This buffer must be + * at least WL_MAX_PKT_LEN bytes long. + * @param len Length of buf in bytes. Contains the length of the + * read packet in bytes on output. + * @return + * - WL_FAILURE if no RX packet is pending. + * - WL_SUCCESS + */ +wl_err_t wl_rx(uint8_t* buf, uint16_t* len); + +/*! \brief Send processed tx packet + * + * Send a packet to the low level transport driver. + * This packet has to have been successfully processed by the + * wl_process_tx() function. + * + * @param buf Buffer to send. + * @param len Length of buf in bytes. + * + * @return + * - WL_FAILURE if the interface is not ready to send. + * - WL_SUCCESS if the packet was successfully transmitted. + */ +wl_err_t wl_tx(const uint8_t* buf, uint16_t len); + + +/*! \brief Configure data alignment + * + * This function can be used if the host SDIO/SPI controller has certain + * requirements on the data transfer sizes that can be used on the SDIO/SPI bus. + * + * If the txsize parameter is non-zero, additional padding data should be added + * when performing the low level transfer of data buffer of sizes that are not + * a multiple of the size_align parameter. See \ref wl_sdio and \ref wl_spi for + * more information. + * + * @param txsize will configure the size alignment for tx data. + * + */ +void wl_conf_alignment(uint8_t txsize); + + +/*! @} */ /* End wl_transport group */ + + +/** \defgroup wl_custom Custom environment support + * + * \brief Support for custom environments + * + * These functions should only be used in cases where the transport library is + * not used at all. This usually applies to operating systems and environments + * where there already exists a transport layer framework, e.g. linux or + * windows. + * + * + +Note that the \a wl_poll() function is part of the transport library. Therefore, +it should not be used in custom environments. Therefore, it is necessary to +implement a custom polling or interrupt based scheme to ensure that any +incoming packets are processed by the core. + + * @{ + */ + + /*! \brief Wakeup callback function. + * + * Invoked when the WiFi device should wake up from power save mode. + * This function should send the proper commands to the device. + * + * Note that this type should only be used in custom environments, where + * the transport library is not used. + * + * @param ctx Opaque context pointer as provided to \a wl_register_wakeup_cb() + * that will be passed back to the callback. + * @param wakeup indicates whether wakeup should be set or cleared in the + * device. + */ +typedef void (wl_wakeup_cb_t)(void* ctx, uint8_t wakeup); + +/*! \brief Register wakeup callback function. + * + * Register a function that will be invoked when the WiFi device should wake + * up from power save mode. + * + * Note that this function should only be used in custom environments, where + * the transport library is not used. + * + * @param wakeup_cb Will be invoked when the device should wakeup from sleep + * mode. + * @param ctx Opaque context pointer that will be passed back to the callback. + */ +void wl_register_wakeup_cb(wl_wakeup_cb_t *wakeup_cb, void *ctx); + + +/*! \brief Management tx callback function. + * + * Invoked when the a management message should be transmitted to the + * WiFi device. This function should ensure that the message is passed through + * to the device and should never fail. + * + * Note that this type should only be used in custom environments, where + * the transport library is not used. + * + * @param ctx Opaque context pointer as provided to \a wl_register_mgmt_tx_cb() + * that will be passed back to the callback. + * @param buf Points to the buffer which holds the management data, + * @param len Size of the buffer. + */ +typedef void (wl_mgmt_tx_cb_t)(void *ctx, const uint8_t *buf, uint16_t len); + + +/*! \brief Register management tx callback function + * + * Register a function that will be invoked when a management message should + * be transmitted to the device. + * + * Note that this function should only be used in custom environments, where + * the transport library is not used. + * + * IMPORTANT : In a custom environment without a transport library \a + * wl_register_mgmt_tx_cb() \b must have been called + * before \a wl_fw_download() is called since \a + * wl_fw_download() depends on the \a mgmt_tx_cb() to send + * the firmware data to the WiFi chip. + * + * @param mgmt_tx_cb The callback function to invoke. + * @param ctx Opaque context pointer that will be passed back to the callback. + */ +void wl_register_mgmt_tx_cb(wl_mgmt_tx_cb_t *mgmt_tx_cb, void *ctx); + + + +/*! \brief Download the WiFi firmware image to the device. + * + * This operation will proceed synchronously until the firmware is completely + * downloaded. wl_init() should be called after this function has returned to + * perform device initialization. This function depends on \a + * wl_register_mgmt_tx_cb(). See that function for details. + * + * @param ctx Opaque context pointer that will be passed to the callbacks + * when they are invoked. This parameter is never + * accessed by the API. + * @param fw_read_cb callback function to invoke during firmware download. + * + * @return + * + * - WL_CARD_FAILURE if the wl hardware device is not available + * - WL_FIRMWARE_INVALID if the firmware obtained through fw_read_cb is + * invalid. + * - WL_OOM if the necessary memory could not be allocated. + */ + wl_err_t wl_fw_download(wl_fw_read_cb_t *fw_read_cb, void *ctx); + + + +/*! @} */ /* End wl_custom group */ + + + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_fw.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_fw.h new file mode 100644 index 0000000..5be5f37 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_fw.h @@ -0,0 +1,19287 @@ +/* + * Programming interface for wl_api. + * Copyright (C) 2010 HD Wireless AB + * + * You should have received a copy of the license along with this library. + */ + +#ifndef WITHOUT_STDINT +#include <stdint.h> +#endif +const uint8_t fw_buf[154188] = { + 0x10, 0x61, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x10, 0x61, 0x04, 0x00, + 0x38, 0x61, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x20, 0x61, 0x04, 0x00, + 0x30, 0x61, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x30, 0x61, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x61, 0x04, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0xee, + 0xee, 0xee, 0x18, 0xf0, 0x9f, 0xe5, 0x18, 0xf0, + 0x9f, 0xe5, 0x18, 0xf0, 0x9f, 0xe5, 0x18, 0xf0, + 0x9f, 0xe5, 0x00, 0x00, 0xa0, 0xe1, 0x18, 0xf0, + 0x9f, 0xe5, 0x18, 0xf0, 0x9f, 0xe5, 0x44, 0x00, + 0x00, 0x00, 0xb4, 0x08, 0x00, 0x00, 0xb4, 0x08, + 0x00, 0x00, 0xb4, 0x08, 0x00, 0x00, 0xb4, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x08, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xe1, 0x1f, 0x00, 0xc0, 0xe3, + 0x13, 0x00, 0x80, 0xe3, 0xc0, 0x00, 0x80, 0xe3, + 0x00, 0xf0, 0x2f, 0xe1, 0x1c, 0xf0, 0x9f, 0xe5, + 0x3d, 0x02, 0x00, 0xeb, 0x5a, 0x02, 0x00, 0xeb, + 0x8d, 0x02, 0x00, 0xeb, 0x01, 0x00, 0x8f, 0xe2, + 0x10, 0xff, 0x2f, 0xe1, 0x41, 0xf0, 0xde, 0xfb, + 0x01, 0xf0, 0xdc, 0xfd, 0x3c, 0x00, 0x78, 0x00, + 0x00, 0x00, 0xfe, 0xe7, 0x00, 0x00, 0x5c, 0x00, + 0x00, 0x00, 0x78, 0x47, 0xc0, 0x46, 0x01, 0x00, + 0x00, 0xea, 0x78, 0x47, 0xc0, 0x46, 0x17, 0x00, + 0x00, 0xea, 0x8c, 0x11, 0x9f, 0xe5, 0x00, 0x20, + 0x91, 0xe5, 0x00, 0x30, 0x0f, 0xe1, 0x84, 0x11, + 0x9f, 0xe5, 0xfd, 0x20, 0xa1, 0xe8, 0x80, 0x01, + 0x9f, 0xe5, 0x80, 0x21, 0x9f, 0xe5, 0x01, 0x20, + 0x42, 0xe0, 0x0d, 0x00, 0x40, 0xe0, 0x3c, 0x00, + 0xb4, 0x00, 0x00, 0x00, 0x02, 0x00, 0x50, 0xe1, + 0x28, 0x00, 0x00, 0xaa, 0x68, 0x01, 0x9f, 0xe5, + 0x0d, 0x00, 0x50, 0xe1, 0x02, 0x00, 0x00, 0xba, + 0x04, 0x20, 0x10, 0xe4, 0x04, 0x20, 0x81, 0xe4, + 0xfa, 0xff, 0xff, 0xea, 0x58, 0x11, 0x9f, 0xe5, + 0x58, 0x01, 0x9f, 0xe5, 0x00, 0x00, 0x81, 0xe5, + 0x3c, 0x11, 0x9f, 0xe5, 0x50, 0x01, 0x9f, 0xe5, + 0x00, 0x00, 0x81, 0xe5, 0x1e, 0xff, 0x2f, 0xe1, + 0x3c, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x48, 0x11, + 0x9f, 0xe5, 0x00, 0x00, 0x91, 0xe5, 0x24, 0x11, + 0x9f, 0xe5, 0x00, 0x00, 0x81, 0xe5, 0x2c, 0x11, + 0x9f, 0xe5, 0x38, 0x01, 0x9f, 0xe5, 0x00, 0x00, + 0x81, 0xe5, 0x1e, 0xff, 0x2f, 0xe1, 0x74, 0x02, + 0x00, 0xeb, 0x10, 0x01, 0x9f, 0xe5, 0x28, 0x11, + 0x9f, 0xe5, 0x04, 0x20, 0x91, 0xe4, 0x04, 0x20, + 0x00, 0xe4, 0x04, 0x21, 0x9f, 0xe5, 0x02, 0x00, + 0x51, 0xe1, 0x3c, 0x00, 0x2c, 0x01, 0x00, 0x00, + 0xfa, 0xff, 0xff, 0x1a, 0xf0, 0x10, 0x9f, 0xe5, + 0xfd, 0x20, 0xb1, 0xe8, 0x03, 0xf0, 0x2f, 0xe1, + 0xe0, 0x10, 0x9f, 0xe5, 0x00, 0x20, 0x81, 0xe5, + 0xe8, 0x10, 0x9f, 0xe5, 0xf4, 0x20, 0x9f, 0xe5, + 0x00, 0x20, 0x81, 0xe5, 0x02, 0x10, 0x80, 0xe2, + 0x00, 0x00, 0x20, 0xe0, 0x01, 0x00, 0x40, 0xe2, + 0x11, 0xff, 0x2f, 0xe1, 0x01, 0x00, 0x8f, 0xe2, + 0x10, 0xff, 0x2f, 0xe1, 0x3c, 0x00, 0x68, 0x01, + 0x00, 0x00, 0x01, 0xf0, 0x9c, 0xf8, 0x78, 0x47, + 0x00, 0x00, 0x01, 0x00, 0x8f, 0xe2, 0x10, 0xff, + 0x2f, 0xe1, 0x01, 0xf0, 0x94, 0xf8, 0x78, 0x47, + 0x00, 0x00, 0x03, 0x00, 0x2d, 0xe9, 0x00, 0x10, + 0x0f, 0xe1, 0x00, 0x10, 0x80, 0xe5, 0xb8, 0x10, + 0x9f, 0xe5, 0x04, 0x10, 0x80, 0xe5, 0x00, 0x10, + 0xa0, 0xe1, 0x10, 0x00, 0x80, 0xe2, 0xfc, 0x1f, + 0xa0, 0xe8, 0x00, 0x20, 0xa0, 0xe1, 0x3c, 0x00, + 0xa4, 0x01, 0x00, 0x00, 0x01, 0x30, 0xa0, 0xe1, + 0x03, 0x00, 0xbd, 0xe8, 0x08, 0x00, 0x83, 0xe5, + 0x0c, 0x10, 0x83, 0xe5, 0xd3, 0x00, 0xa0, 0xe3, + 0x00, 0xf0, 0x21, 0xe1, 0x00, 0x60, 0xa2, 0xe8, + 0x00, 0x10, 0x4f, 0xe1, 0x04, 0x10, 0x82, 0xe4, + 0xd2, 0x00, 0xa0, 0xe3, 0x00, 0xf0, 0x21, 0xe1, + 0x00, 0x60, 0xa2, 0xe8, 0x00, 0x10, 0x4f, 0xe1, + 0x04, 0x10, 0x82, 0xe4, 0xd1, 0x00, 0xa0, 0xe3, + 0x3c, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0xf0, + 0x21, 0xe1, 0x00, 0x7f, 0xa2, 0xe8, 0x00, 0x10, + 0x4f, 0xe1, 0x04, 0x10, 0x82, 0xe4, 0xd7, 0x00, + 0xa0, 0xe3, 0x00, 0xf0, 0x21, 0xe1, 0x00, 0x60, + 0xa2, 0xe8, 0x00, 0x10, 0x4f, 0xe1, 0x04, 0x10, + 0x82, 0xe4, 0xdb, 0x00, 0xa0, 0xe3, 0x00, 0xf0, + 0x21, 0xe1, 0x00, 0x60, 0xa2, 0xe8, 0x00, 0x10, + 0x4f, 0xe1, 0x00, 0x10, 0x82, 0xe5, 0x00, 0x00, + 0x93, 0xe5, 0x3c, 0x00, 0x1c, 0x02, 0x00, 0x00, + 0x00, 0xf0, 0x2f, 0xe1, 0x1e, 0xff, 0x2f, 0xe1, + 0x20, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, + 0x20, 0xee, 0x01, 0x00, 0xd8, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0xf0, 0x9f, 0xe5, + 0x10, 0x01, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, + 0xee, 0xee, 0xee, 0xee, 0x24, 0x03, 0x00, 0x00, + 0x20, 0x02, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x63, 0x1c, 0x0b, 0x4d, 0x3c, 0x00, 0x58, 0x02, + 0x00, 0x00, 0x01, 0xd1, 0x6c, 0x69, 0x10, 0xe0, + 0x00, 0xf0, 0x6c, 0xfb, 0x09, 0x48, 0xff, 0xf7, + 0x0c, 0xff, 0xec, 0x60, 0x08, 0x4a, 0x51, 0x68, + 0x50, 0x68, 0x88, 0x42, 0xfc, 0xd0, 0x02, 0x20, + 0x28, 0x70, 0x01, 0x21, 0x8a, 0x20, 0x01, 0xf0, + 0x12, 0xf8, 0x20, 0x1c, 0xb0, 0xbd, 0x30, 0x00, + 0x07, 0x00, 0x51, 0x02, 0x00, 0x00, 0x00, 0x03, + 0x07, 0x00, 0xb0, 0xb5, 0x05, 0x1c, 0x3c, 0x00, + 0x94, 0x02, 0x00, 0x00, 0x00, 0x24, 0x00, 0xf0, + 0x50, 0xfb, 0x14, 0x48, 0xff, 0xf7, 0xf0, 0xfe, + 0x13, 0x49, 0x14, 0x48, 0xc1, 0x60, 0x01, 0x21, + 0x13, 0x4a, 0x49, 0x03, 0x91, 0x60, 0x13, 0x49, + 0xca, 0x78, 0x08, 0x23, 0x9a, 0x43, 0xca, 0x70, + 0xca, 0x78, 0x04, 0x23, 0x1a, 0x43, 0xca, 0x70, + 0x6b, 0x1c, 0x0d, 0xd0, 0x0e, 0x4b, 0x5a, 0x68, + 0x59, 0x68, 0x91, 0x42, 0xfc, 0xd0, 0xbe, 0x21, + 0x3c, 0x00, 0xd0, 0x02, 0x00, 0x00, 0x19, 0x73, + 0x19, 0x7a, 0x11, 0x22, 0x91, 0x43, 0x19, 0x72, + 0x19, 0x7a, 0xc9, 0x07, 0xfc, 0xd4, 0x02, 0x21, + 0x01, 0x70, 0xff, 0xf7, 0xd0, 0xfe, 0x20, 0x1c, + 0xb0, 0xbd, 0x91, 0x02, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x30, 0x00, 0x07, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, + 0x08, 0x47, 0x10, 0x47, 0x18, 0x47, 0x20, 0x47, + 0x28, 0x47, 0x30, 0x47, 0x38, 0x47, 0x10, 0xb5, + 0x04, 0x1c, 0x10, 0x1c, 0x00, 0xf0, 0x23, 0xf9, + 0x03, 0xc4, 0x10, 0xbc, 0x08, 0xbc, 0x18, 0x47, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x03, 0x00, 0x00, + 0x10, 0xb4, 0x04, 0x2a, 0x0e, 0xd3, 0x03, 0x1c, + 0x0b, 0x43, 0x9b, 0x07, 0x0a, 0xd1, 0x08, 0xc8, + 0x10, 0xc9, 0xa3, 0x42, 0x02, 0xd1, 0x04, 0x3a, + 0x04, 0x2a, 0xf8, 0xd2, 0xa3, 0x42, 0x01, 0xd0, + 0x04, 0x38, 0x04, 0x39, 0x00, 0x2a, 0x02, 0xd1, + 0x00, 0x20, 0x10, 0xbc, 0x70, 0x47, 0xd3, 0x07, + 0x01, 0xd5, 0x01, 0x32, 0x05, 0xe0, 0x03, 0x78, + 0x0c, 0x78, 0x01, 0x31, 0x3c, 0x00, 0x38, 0x04, + 0x00, 0x00, 0x01, 0x30, 0xa3, 0x42, 0x07, 0xd1, + 0x03, 0x78, 0x0c, 0x78, 0x01, 0x31, 0x01, 0x30, + 0xa3, 0x42, 0x01, 0xd1, 0x02, 0x3a, 0xf1, 0xd1, + 0x18, 0x1b, 0xe9, 0xe7, 0x00, 0x00, 0x78, 0x47, + 0x00, 0x00, 0x00, 0x20, 0xa0, 0xe3, 0x04, 0x00, + 0x51, 0xe3, 0x08, 0x00, 0x00, 0x3a, 0x03, 0xc0, + 0x10, 0xe2, 0x0d, 0x00, 0x00, 0x0a, 0x04, 0xc0, + 0x6c, 0xe2, 0x02, 0x00, 0x5c, 0xe3, 0x3c, 0x00, + 0x74, 0x04, 0x00, 0x00, 0x01, 0x20, 0xc0, 0xe4, + 0x01, 0x20, 0xc0, 0xa4, 0x01, 0x20, 0xc0, 0xc4, + 0x0c, 0x10, 0x41, 0xe0, 0x06, 0x00, 0x00, 0xea, + 0x81, 0xcf, 0xb0, 0xe1, 0x01, 0x20, 0xc0, 0x24, + 0x01, 0x20, 0xc0, 0x24, 0x01, 0x20, 0xc0, 0x44, + 0x1e, 0xff, 0x2f, 0xe1, 0x78, 0x47, 0x00, 0x00, + 0x00, 0x20, 0xa0, 0xe3, 0x00, 0x40, 0x2d, 0xe9, + 0x02, 0x30, 0xa0, 0xe1, 0x02, 0xc0, 0xa0, 0xe1, + 0x3c, 0x00, 0xb0, 0x04, 0x00, 0x00, 0x02, 0xe0, + 0xa0, 0xe1, 0x20, 0x10, 0x51, 0xe2, 0x0c, 0x50, + 0xa0, 0x28, 0x0c, 0x50, 0xa0, 0x28, 0x20, 0x10, + 0x51, 0x22, 0xfb, 0xff, 0xff, 0x2a, 0x01, 0x1e, + 0xb0, 0xe1, 0x0c, 0x50, 0xa0, 0x28, 0x0c, 0x00, + 0xa0, 0x48, 0x00, 0x40, 0xbd, 0xe8, 0x01, 0x11, + 0xb0, 0xe1, 0x04, 0x20, 0x80, 0x24, 0x1e, 0xff, + 0x2f, 0x01, 0x01, 0x20, 0xc0, 0x44, 0x01, 0x20, + 0xc0, 0x44, 0x3c, 0x00, 0xec, 0x04, 0x00, 0x00, + 0x40, 0x04, 0x11, 0xe3, 0x01, 0x20, 0xc0, 0x14, + 0x1e, 0xff, 0x2f, 0xe1, 0x78, 0x47, 0x00, 0x00, + 0x03, 0x00, 0x52, 0xe3, 0x3e, 0x00, 0x00, 0x9a, + 0x03, 0xc0, 0x10, 0xe2, 0x08, 0x00, 0x00, 0x0a, + 0x01, 0x30, 0xd1, 0xe4, 0x02, 0x00, 0x5c, 0xe3, + 0x0c, 0x20, 0x82, 0xe0, 0x01, 0xc0, 0xd1, 0x94, + 0x01, 0x30, 0xc0, 0xe4, 0x01, 0x30, 0xd1, 0x34, + 0x04, 0x20, 0x42, 0xe2, 0x3c, 0x00, 0x28, 0x05, + 0x00, 0x00, 0x01, 0xc0, 0xc0, 0x94, 0x01, 0x30, + 0xc0, 0x34, 0x03, 0x30, 0x11, 0xe2, 0x1e, 0x00, + 0x00, 0x0a, 0x04, 0x20, 0x52, 0xe2, 0x2f, 0x00, + 0x00, 0x3a, 0x03, 0xc0, 0x31, 0xe7, 0x02, 0x00, + 0x53, 0xe3, 0x08, 0x00, 0x00, 0x0a, 0x0f, 0x00, + 0x00, 0x8a, 0x2c, 0x34, 0xa0, 0xe1, 0x04, 0xc0, + 0xb1, 0xe5, 0x04, 0x20, 0x52, 0xe2, 0x0c, 0x3c, + 0x83, 0xe1, 0x04, 0x30, 0x80, 0xe4, 0x3c, 0x00, + 0x64, 0x05, 0x00, 0x00, 0xf9, 0xff, 0xff, 0x2a, + 0x01, 0x10, 0x81, 0xe2, 0x23, 0x00, 0x00, 0xea, + 0x2c, 0x38, 0xa0, 0xe1, 0x04, 0xc0, 0xb1, 0xe5, + 0x04, 0x20, 0x52, 0xe2, 0x0c, 0x38, 0x83, 0xe1, + 0x04, 0x30, 0x80, 0xe4, 0xf9, 0xff, 0xff, 0x2a, + 0x02, 0x10, 0x81, 0xe2, 0x1b, 0x00, 0x00, 0xea, + 0x2c, 0x3c, 0xa0, 0xe1, 0x04, 0xc0, 0xb1, 0xe5, + 0x04, 0x20, 0x52, 0xe2, 0x0c, 0x34, 0x83, 0xe1, + 0x3c, 0x00, 0xa0, 0x05, 0x00, 0x00, 0x04, 0x30, + 0x80, 0xe4, 0xf9, 0xff, 0xff, 0x2a, 0x03, 0x10, + 0x81, 0xe2, 0x13, 0x00, 0x00, 0xea, 0x78, 0x47, + 0x00, 0x00, 0x10, 0x40, 0x2d, 0xe9, 0x20, 0x20, + 0x52, 0xe2, 0x05, 0x00, 0x00, 0x3a, 0x18, 0x50, + 0xb1, 0x28, 0x18, 0x50, 0xa0, 0x28, 0x18, 0x50, + 0xb1, 0x28, 0x18, 0x50, 0xa0, 0x28, 0x20, 0x20, + 0x52, 0x22, 0xf9, 0xff, 0xff, 0x2a, 0x02, 0xce, + 0xb0, 0xe1, 0x3c, 0x00, 0xdc, 0x05, 0x00, 0x00, + 0x18, 0x50, 0xb1, 0x28, 0x18, 0x50, 0xa0, 0x28, + 0x18, 0x00, 0xb1, 0x48, 0x18, 0x00, 0xa0, 0x48, + 0x10, 0x40, 0xbd, 0xe8, 0x02, 0xcf, 0xb0, 0xe1, + 0x04, 0x30, 0x91, 0x24, 0x04, 0x30, 0x80, 0x24, + 0x1e, 0xff, 0x2f, 0x01, 0x82, 0x2f, 0xb0, 0xe1, + 0x01, 0x20, 0xd1, 0x44, 0x01, 0x30, 0xd1, 0x24, + 0x01, 0xc0, 0xd1, 0x24, 0x01, 0x20, 0xc0, 0x44, + 0x01, 0x30, 0xc0, 0x24, 0x3c, 0x00, 0x18, 0x06, + 0x00, 0x00, 0x01, 0xc0, 0xc0, 0x24, 0x1e, 0xff, + 0x2f, 0xe1, 0x78, 0x47, 0x00, 0x00, 0xff, 0x30, + 0x01, 0xe2, 0x02, 0x10, 0xa0, 0xe1, 0x03, 0x24, + 0x83, 0xe1, 0x02, 0x28, 0x82, 0xe1, 0x88, 0xff, + 0xff, 0xea, 0x78, 0x47, 0x00, 0x00, 0x80, 0x24, + 0x10, 0xe2, 0x00, 0x00, 0x60, 0x42, 0x41, 0x30, + 0x32, 0xe0, 0x00, 0x10, 0x61, 0x22, 0xa1, 0xc1, + 0x70, 0xe0, 0x20, 0x00, 0x00, 0x3a, 0x3c, 0x00, + 0x54, 0x06, 0x00, 0x00, 0x21, 0xc4, 0x70, 0xe0, + 0x0f, 0x00, 0x00, 0x3a, 0x00, 0x04, 0xa0, 0xe1, + 0xff, 0x24, 0x82, 0xe3, 0x21, 0xc2, 0x70, 0xe0, + 0x17, 0x00, 0x00, 0x3a, 0x21, 0xc4, 0x70, 0xe0, + 0x09, 0x00, 0x00, 0x3a, 0x00, 0x04, 0xa0, 0xe1, + 0xff, 0x28, 0x82, 0xe3, 0x21, 0xc4, 0x70, 0xe0, + 0x00, 0x04, 0xa0, 0x21, 0xff, 0x2c, 0x82, 0x23, + 0x21, 0xc2, 0x70, 0xe0, 0x0e, 0x00, 0x00, 0x3a, + 0x3c, 0x00, 0x90, 0x06, 0x00, 0x00, 0x00, 0xc0, + 0x70, 0xe2, 0x83, 0x00, 0x00, 0x2a, 0x20, 0x04, + 0xa0, 0x21, 0xa1, 0xc3, 0x70, 0xe0, 0x80, 0x13, + 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0x21, 0xc3, + 0x70, 0xe0, 0x00, 0x13, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0xa1, 0xc2, 0x70, 0xe0, 0x80, 0x12, + 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0x21, 0xc2, + 0x70, 0xe0, 0x00, 0x12, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0x3c, 0x00, 0xcc, 0x06, 0x00, 0x00, + 0xa1, 0xc1, 0x70, 0xe0, 0x80, 0x11, 0x41, 0x20, + 0x02, 0x20, 0xa2, 0xe0, 0x21, 0xc1, 0x70, 0xe0, + 0x00, 0x11, 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, + 0xa1, 0xc0, 0x70, 0xe0, 0x80, 0x10, 0x41, 0x20, + 0x02, 0x20, 0xa2, 0xe0, 0x01, 0xc0, 0x70, 0xe0, + 0x00, 0x10, 0x41, 0x20, 0x02, 0x20, 0xb2, 0xe0, + 0xe5, 0xff, 0xff, 0x2a, 0xc3, 0x0f, 0x32, 0xe0, + 0xa3, 0x0f, 0x80, 0xe0, 0x3c, 0x00, 0x08, 0x07, + 0x00, 0x00, 0x00, 0x10, 0x61, 0x22, 0x1e, 0xff, + 0x2f, 0xe1, 0x78, 0x47, 0x00, 0x00, 0x00, 0x20, + 0xa0, 0xe3, 0xa1, 0xc1, 0x70, 0xe0, 0x20, 0x00, + 0x00, 0x3a, 0x21, 0xc4, 0x70, 0xe0, 0x0f, 0x00, + 0x00, 0x3a, 0x00, 0x04, 0xa0, 0xe1, 0xff, 0x24, + 0x82, 0xe3, 0x21, 0xc2, 0x70, 0xe0, 0x17, 0x00, + 0x00, 0x3a, 0x21, 0xc4, 0x70, 0xe0, 0x09, 0x00, + 0x00, 0x3a, 0x00, 0x04, 0xa0, 0xe1, 0x3c, 0x00, + 0x44, 0x07, 0x00, 0x00, 0xff, 0x28, 0x82, 0xe3, + 0x21, 0xc4, 0x70, 0xe0, 0x00, 0x04, 0xa0, 0x21, + 0xff, 0x2c, 0x82, 0x23, 0x21, 0xc2, 0x70, 0xe0, + 0x0e, 0x00, 0x00, 0x3a, 0x00, 0xc0, 0x70, 0xe2, + 0x50, 0x00, 0x00, 0x2a, 0x20, 0x04, 0xa0, 0x21, + 0xa1, 0xc3, 0x70, 0xe0, 0x80, 0x13, 0x41, 0x20, + 0x02, 0x20, 0xa2, 0xe0, 0x21, 0xc3, 0x70, 0xe0, + 0x00, 0x13, 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, + 0x3c, 0x00, 0x80, 0x07, 0x00, 0x00, 0xa1, 0xc2, + 0x70, 0xe0, 0x80, 0x12, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0x21, 0xc2, 0x70, 0xe0, 0x00, 0x12, + 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0xa1, 0xc1, + 0x70, 0xe0, 0x80, 0x11, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0x21, 0xc1, 0x70, 0xe0, 0x00, 0x11, + 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0xa1, 0xc0, + 0x70, 0xe0, 0x80, 0x10, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0x3c, 0x00, 0xbc, 0x07, 0x00, 0x00, + 0x01, 0xc0, 0x70, 0xe0, 0x00, 0x10, 0x41, 0x20, + 0x02, 0x20, 0xb2, 0xe0, 0xe5, 0xff, 0xff, 0x2a, + 0x02, 0x00, 0xa0, 0xe1, 0x1e, 0xff, 0x2f, 0xe1, + 0x78, 0x47, 0x00, 0x00, 0x0a, 0x10, 0x40, 0xe2, + 0x20, 0x01, 0x40, 0xe0, 0x20, 0x02, 0x80, 0xe0, + 0x20, 0x04, 0x80, 0xe0, 0x20, 0x08, 0x80, 0xe0, + 0xa0, 0x01, 0xa0, 0xe1, 0x00, 0x21, 0x80, 0xe0, + 0x82, 0x10, 0x51, 0xe0, 0x3c, 0x00, 0xf8, 0x07, + 0x00, 0x00, 0x01, 0x00, 0x80, 0x52, 0x0a, 0x10, + 0x81, 0x42, 0x1e, 0xff, 0x2f, 0xe1, 0x30, 0xb4, + 0x44, 0x1c, 0x81, 0x07, 0x08, 0xd0, 0x01, 0x78, + 0x01, 0x30, 0x00, 0x29, 0x02, 0xd1, 0x00, 0x1b, + 0x30, 0xbc, 0x70, 0x47, 0x81, 0x07, 0xf6, 0xd1, + 0x0b, 0x4a, 0xd5, 0x01, 0x02, 0xc8, 0x8b, 0x1a, + 0x8b, 0x43, 0x2b, 0x40, 0xfa, 0xd0, 0x00, 0x1b, + 0x0a, 0x06, 0x01, 0xd1, 0x03, 0x38, 0x3c, 0x00, + 0x34, 0x08, 0x00, 0x00, 0xef, 0xe7, 0x0a, 0x04, + 0x12, 0x0e, 0x01, 0xd1, 0x02, 0x38, 0xea, 0xe7, + 0x09, 0x02, 0x09, 0x0e, 0xe7, 0xd1, 0x01, 0x38, + 0xe5, 0xe7, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0xf0, 0xb4, 0x03, 0x1c, 0x04, 0x1c, 0x0c, 0x43, + 0xa4, 0x07, 0x0c, 0xd1, 0x10, 0x4d, 0xef, 0x01, + 0x02, 0xe0, 0x04, 0x31, 0x04, 0x3a, 0x10, 0xc3, + 0x04, 0x2a, 0x04, 0xd3, 0x0c, 0x68, 0x66, 0x1b, + 0x3c, 0x00, 0x70, 0x08, 0x00, 0x00, 0xa6, 0x43, + 0x3e, 0x40, 0xf5, 0xd0, 0x00, 0x2a, 0x07, 0xd0, + 0x0c, 0x78, 0x01, 0x31, 0x1c, 0x70, 0x01, 0x33, + 0x00, 0x2c, 0x03, 0xd0, 0x01, 0x3a, 0xf7, 0xd1, + 0xf0, 0xbc, 0x70, 0x47, 0x01, 0x2a, 0xfb, 0xd9, + 0x51, 0x1e, 0x00, 0x22, 0x1a, 0x70, 0x01, 0x33, + 0x01, 0x39, 0xfb, 0xd1, 0xf4, 0xe7, 0x01, 0x01, + 0x01, 0x01, 0x78, 0x47, 0x00, 0x00, 0x02, 0x00, + 0xa0, 0xe3, 0x3c, 0x00, 0xac, 0x08, 0x00, 0x00, + 0x02, 0x10, 0xa0, 0xe3, 0x2e, 0xfe, 0xff, 0xea, + 0x1f, 0x40, 0x2d, 0xe9, 0x00, 0x00, 0x0f, 0xe1, + 0xc0, 0x00, 0x80, 0xe3, 0x00, 0xf0, 0x2f, 0xe1, + 0x81, 0x00, 0xa0, 0xe3, 0x02, 0x10, 0xa0, 0xe3, + 0x01, 0x20, 0x8f, 0xe2, 0x12, 0xff, 0x2f, 0xe1, + 0x00, 0xf0, 0xe6, 0xfc, 0x78, 0x47, 0x00, 0x00, + 0x1f, 0x40, 0xbd, 0xe8, 0xfe, 0xff, 0xff, 0xea, + 0x1f, 0x50, 0x2d, 0xe9, 0x3c, 0x00, 0xe8, 0x08, + 0x00, 0x00, 0x01, 0x00, 0x8f, 0xe2, 0x10, 0xff, + 0x2f, 0xe1, 0x00, 0xf0, 0x40, 0xfb, 0x78, 0x47, + 0x00, 0x00, 0x1f, 0x50, 0xbd, 0xe8, 0x04, 0xf0, + 0x5e, 0xe2, 0x1f, 0x50, 0x2d, 0xe9, 0x01, 0x00, + 0x8f, 0xe2, 0x10, 0xff, 0x2f, 0xe1, 0x00, 0xf0, + 0x18, 0xfb, 0x78, 0x47, 0x00, 0x00, 0x1f, 0x50, + 0xbd, 0xe8, 0x04, 0xf0, 0x5e, 0xe2, 0x00, 0xbd, + 0x01, 0xb5, 0x00, 0xa0, 0x00, 0x47, 0x3c, 0x00, + 0x24, 0x09, 0x00, 0x00, 0x00, 0x30, 0x0f, 0xe1, + 0xc0, 0x30, 0xc3, 0xe3, 0x03, 0xf0, 0x21, 0xe1, + 0x01, 0x00, 0x8f, 0xe2, 0x10, 0xff, 0x2f, 0xe1, + 0x01, 0xbd, 0x01, 0xb5, 0x00, 0xa0, 0x00, 0x47, + 0x00, 0x30, 0x0f, 0xe1, 0xc0, 0x30, 0x83, 0xe3, + 0x03, 0xf0, 0x21, 0xe1, 0x01, 0x00, 0x8f, 0xe2, + 0x10, 0xff, 0x2f, 0xe1, 0x01, 0xbd, 0x00, 0x00, + 0x18, 0x00, 0x9f, 0xe5, 0x04, 0x10, 0x90, 0xe4, + 0x3c, 0x00, 0x60, 0x09, 0x00, 0x00, 0x00, 0x00, + 0x51, 0xe3, 0x02, 0x00, 0x00, 0x0a, 0x04, 0x20, + 0x90, 0xe4, 0x00, 0x20, 0x81, 0xe5, 0xf9, 0xff, + 0xff, 0xea, 0x0e, 0xf0, 0xa0, 0xe1, 0x7c, 0x09, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, + 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xd8, 0x03, + 0x00, 0x00, 0xd8, 0x03, 0x00, 0x00, 0xd8, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x09, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, + 0x00, 0x80, 0x01, 0x00, 0x10, 0x8e, 0x01, 0x00, + 0x10, 0x8e, 0x01, 0x00, 0x88, 0xf8, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, + 0xc4, 0x33, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0e, 0x50, 0xa0, 0xe1, + 0x58, 0x40, 0x9f, 0xe5, 0x3c, 0x00, 0xd8, 0x09, + 0x00, 0x00, 0x04, 0x00, 0x94, 0xe4, 0x01, 0x00, + 0x50, 0xe3, 0x05, 0xf0, 0xa0, 0x01, 0x04, 0x10, + 0x94, 0xe4, 0x04, 0x20, 0x94, 0xe4, 0x03, 0x00, + 0x00, 0xeb, 0x04, 0x00, 0x94, 0xe4, 0x04, 0x10, + 0x94, 0xe4, 0x07, 0x00, 0x00, 0xeb, 0xf5, 0xff, + 0xff, 0xea, 0x01, 0x00, 0x50, 0xe1, 0x0e, 0xf0, + 0xa0, 0x01, 0x02, 0x00, 0x51, 0xe1, 0x04, 0x30, + 0x90, 0x14, 0x04, 0x30, 0x81, 0x14, 0x3c, 0x00, + 0x14, 0x0a, 0x00, 0x00, 0xfb, 0xff, 0xff, 0x1a, + 0x0e, 0xf0, 0xa0, 0xe1, 0x14, 0x20, 0x9f, 0xe5, + 0x00, 0x20, 0x92, 0xe5, 0x01, 0x00, 0x50, 0xe1, + 0x04, 0x20, 0x80, 0x14, 0xfc, 0xff, 0xff, 0x1a, + 0x0e, 0xf0, 0xa0, 0xe1, 0x80, 0x09, 0x00, 0x00, + 0xcc, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, + 0x20, 0xe6, 0x01, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x53, 0x56, 0x43, 0x5f, 0x00, 0x04, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x0a, 0x00, 0x00, 0x20, 0xee, + 0x01, 0x00, 0x12, 0x00, 0x00, 0x00, 0x49, 0x52, + 0x51, 0x5f, 0x00, 0x02, 0x00, 0x00, 0x20, 0xf2, + 0x01, 0x00, 0x11, 0x00, 0x00, 0x00, 0x46, 0x49, + 0x51, 0x5f, 0x80, 0x00, 0x00, 0x00, 0x20, 0xf4, + 0x01, 0x00, 0x17, 0x00, 0x00, 0x00, 0x41, 0x42, + 0x54, 0x5f, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xf4, + 0x01, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x55, 0x4e, + 0x44, 0x5f, 0x3c, 0x00, 0x8c, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa0, 0xf4, 0x01, 0x00, + 0x1f, 0x00, 0x00, 0x00, 0x55, 0x53, 0x52, 0x5f, + 0x01, 0x00, 0x00, 0x00, 0x0e, 0x50, 0xa0, 0xe1, + 0x00, 0x60, 0x0f, 0xe1, 0x8c, 0x40, 0x9f, 0xe5, + 0x04, 0x10, 0x94, 0xe4, 0x01, 0x00, 0x51, 0xe3, + 0x09, 0x00, 0x00, 0x0a, 0x04, 0x00, 0x94, 0xe4, + 0x01, 0x10, 0x80, 0xe0, 0x03, 0x10, 0xc1, 0xe3, + 0x04, 0x20, 0x94, 0xe4, 0x3c, 0x00, 0xc8, 0x0a, + 0x00, 0x00, 0xc0, 0x20, 0x82, 0xe3, 0x02, 0xf0, + 0x2f, 0xe1, 0x04, 0xd0, 0x41, 0xe2, 0x04, 0x20, + 0x94, 0xe4, 0x13, 0x00, 0x00, 0xeb, 0xf2, 0xff, + 0xff, 0xea, 0x06, 0xf0, 0x2f, 0xe1, 0x05, 0xf0, + 0xa0, 0xe1, 0x0e, 0x50, 0xa0, 0xe1, 0x00, 0x60, + 0x0f, 0xe1, 0x44, 0x40, 0x9f, 0xe5, 0x04, 0x10, + 0x94, 0xe4, 0x01, 0x00, 0x51, 0xe3, 0x08, 0x00, + 0x00, 0x0a, 0x04, 0x00, 0x94, 0xe4, 0x3c, 0x00, + 0x04, 0x0b, 0x00, 0x00, 0x01, 0x10, 0x80, 0xe0, + 0x03, 0x10, 0xc1, 0xe3, 0x04, 0x20, 0x94, 0xe4, + 0xc0, 0x20, 0x82, 0xe3, 0x02, 0xf0, 0x2f, 0xe1, + 0x04, 0xd0, 0x41, 0xe2, 0x04, 0x20, 0x94, 0xe4, + 0xf3, 0xff, 0xff, 0xea, 0x06, 0xf0, 0x2f, 0xe1, + 0x05, 0xf0, 0xa0, 0xe1, 0x01, 0x00, 0x50, 0xe1, + 0x04, 0x20, 0x80, 0x14, 0xfc, 0xff, 0xff, 0x1a, + 0x0e, 0xf0, 0xa0, 0xe1, 0x3c, 0x0a, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x0b, 0x00, 0x00, 0x01, 0x60, + 0xc0, 0x46, 0xc0, 0x46, 0xc0, 0x46, 0x70, 0x47, + 0x00, 0x00, 0x10, 0x1e, 0x10, 0xee, 0x02, 0x00, + 0x11, 0xe3, 0xfc, 0xff, 0xff, 0x1a, 0x10, 0x0e, + 0x01, 0xee, 0x10, 0x1e, 0x10, 0xee, 0x02, 0x00, + 0x11, 0xe3, 0xfc, 0xff, 0xff, 0x1a, 0x1e, 0xff, + 0x2f, 0xe1, 0x10, 0x1e, 0x10, 0xee, 0x01, 0x00, + 0x11, 0xe3, 0x03, 0x00, 0x00, 0x0a, 0x10, 0x1e, + 0x11, 0xee, 0x3c, 0x00, 0x7c, 0x0b, 0x00, 0x00, + 0x00, 0x10, 0x80, 0xe5, 0x01, 0x00, 0xa0, 0xe3, + 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x00, 0x20, 0xe0, + 0x1e, 0xff, 0x2f, 0xe1, 0x8d, 0x46, 0x97, 0x46, + 0x78, 0x47, 0xc0, 0x46, 0x78, 0xfd, 0xff, 0xea, + 0x10, 0xb5, 0x04, 0x1c, 0x03, 0x28, 0x01, 0xd9, + 0x00, 0xf0, 0xac, 0xfb, 0x0c, 0x48, 0x40, 0x68, + 0x00, 0x28, 0x00, 0xd0, 0x03, 0x24, 0x0b, 0x48, + 0x01, 0x68, 0x09, 0x48, 0x3c, 0x00, 0xb8, 0x0b, + 0x00, 0x00, 0x12, 0x30, 0x00, 0x29, 0x05, 0xd0, + 0x06, 0x21, 0x61, 0x43, 0x40, 0x5c, 0xc3, 0x00, + 0x18, 0x18, 0x04, 0xe0, 0x06, 0x21, 0x61, 0x43, + 0x40, 0x5c, 0x14, 0x23, 0x58, 0x43, 0x0a, 0x30, + 0x00, 0x06, 0x00, 0x0e, 0x10, 0xbd, 0xd4, 0x7a, + 0x01, 0x00, 0xa8, 0x69, 0x01, 0x00, 0x80, 0xb5, + 0x09, 0x4a, 0x09, 0x49, 0x03, 0x20, 0x00, 0xf0, + 0xf2, 0xf9, 0x08, 0x49, 0x08, 0x20, 0x3c, 0x00, + 0xf4, 0x0b, 0x00, 0x00, 0x08, 0x60, 0x48, 0x60, + 0x07, 0x49, 0x1d, 0x20, 0x01, 0xf0, 0xb2, 0xfc, + 0x06, 0x49, 0x1e, 0x20, 0x01, 0xf0, 0xae, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0x00, 0x6c, 0x01, 0x00, + 0x31, 0x27, 0x00, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x29, 0x25, 0x00, 0x00, 0x31, 0x25, 0x00, 0x00, + 0x05, 0x49, 0x80, 0xb5, 0x08, 0x20, 0x88, 0x60, + 0x1d, 0x20, 0x01, 0xf0, 0xbf, 0xfc, 0x1e, 0x20, + 0x3c, 0x00, 0x30, 0x0c, 0x00, 0x00, 0x01, 0xf0, + 0xbc, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x02, 0x1c, 0x08, 0x1c, 0xd1, 0x2a, + 0x80, 0xb5, 0x01, 0xd1, 0x05, 0xf0, 0x19, 0xfc, + 0x80, 0xbd, 0x03, 0x49, 0x80, 0xb5, 0x00, 0x20, + 0x08, 0x80, 0x05, 0x20, 0x05, 0xf0, 0xd5, 0xfb, + 0x80, 0xbd, 0xb0, 0x74, 0x01, 0x00, 0x80, 0xb5, + 0x54, 0x28, 0x01, 0xd1, 0x06, 0xf0, 0xcd, 0xf8, + 0x80, 0xbd, 0x3c, 0x00, 0x6c, 0x0c, 0x00, 0x00, + 0xb0, 0xb5, 0x10, 0x4d, 0x02, 0x1c, 0x01, 0x24, + 0x01, 0x2a, 0x0d, 0x48, 0x29, 0x68, 0x06, 0xd0, + 0xc4, 0x2a, 0x03, 0xd1, 0x6a, 0x68, 0x00, 0x2a, + 0x05, 0xd0, 0xac, 0x60, 0xb0, 0xbd, 0x0e, 0xf0, + 0x89, 0xfb, 0x6c, 0x60, 0x08, 0xe0, 0x00, 0x22, + 0xaa, 0x60, 0x6c, 0x60, 0x0e, 0xf0, 0x82, 0xfb, + 0x00, 0x21, 0x04, 0x20, 0x12, 0xf0, 0xc8, 0xfc, + 0x06, 0xf0, 0xd8, 0xf8, 0x3c, 0x00, 0xa8, 0x0c, + 0x00, 0x00, 0xb0, 0xbd, 0x00, 0x00, 0xc4, 0x60, + 0x01, 0x00, 0xbc, 0x74, 0x01, 0x00, 0x05, 0x4a, + 0x51, 0x69, 0x08, 0x1a, 0x11, 0x69, 0x09, 0x68, + 0x10, 0x31, 0x81, 0x42, 0x01, 0xd8, 0x50, 0x61, + 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x8c, 0x6e, + 0x01, 0x00, 0x01, 0x49, 0x49, 0x68, 0x40, 0x1a, + 0x70, 0x47, 0x8c, 0x6e, 0x01, 0x00, 0x01, 0x48, + 0x40, 0x69, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x0c, 0x00, 0x00, 0x8c, 0x6e, 0x01, 0x00, + 0x02, 0x4a, 0x51, 0x69, 0x08, 0x18, 0x50, 0x61, + 0x70, 0x47, 0x00, 0x00, 0x8c, 0x6e, 0x01, 0x00, + 0x0e, 0x49, 0x0f, 0x48, 0x10, 0xb5, 0x19, 0x22, + 0x92, 0x01, 0x41, 0x60, 0x89, 0x18, 0xc1, 0x60, + 0x0b, 0x49, 0x00, 0x22, 0x0c, 0x31, 0x01, 0x60, + 0x0a, 0x49, 0x82, 0x60, 0x09, 0x68, 0x01, 0x23, + 0xdb, 0x03, 0xc9, 0x18, 0x08, 0x4c, 0x41, 0x61, + 0x3c, 0x00, 0x20, 0x0d, 0x00, 0x00, 0x21, 0x68, + 0x00, 0x29, 0x02, 0xd0, 0x07, 0x49, 0x01, 0x61, + 0x01, 0xe0, 0x00, 0xf0, 0x0c, 0xf8, 0x22, 0x60, + 0x10, 0xbd, 0x44, 0xdc, 0x01, 0x00, 0x8c, 0x6e, + 0x01, 0x00, 0xc8, 0x09, 0x00, 0x00, 0x34, 0x58, + 0x01, 0x00, 0xc4, 0x09, 0x00, 0x00, 0x01, 0x48, + 0x02, 0x49, 0x08, 0x61, 0x70, 0x47, 0xc8, 0x09, + 0x00, 0x00, 0x8c, 0x6e, 0x01, 0x00, 0x08, 0x28, + 0x05, 0xd2, 0x3c, 0x00, 0x5c, 0x0d, 0x00, 0x00, + 0x03, 0x4b, 0x80, 0x00, 0x19, 0x50, 0x02, 0x49, + 0x20, 0x31, 0x0a, 0x50, 0x70, 0x47, 0x00, 0x00, + 0x64, 0x6d, 0x01, 0x00, 0x70, 0xb5, 0x06, 0x1c, + 0x0d, 0x48, 0x0d, 0x1c, 0x00, 0x68, 0x14, 0x1c, + 0x00, 0x28, 0x03, 0xd1, 0x20, 0x1c, 0x00, 0xf0, + 0x09, 0xfc, 0x70, 0xbd, 0x28, 0x06, 0x01, 0xd5, + 0x00, 0xf0, 0x22, 0xfe, 0x22, 0x1c, 0x29, 0x1c, + 0x30, 0x1c, 0x08, 0xf0, 0x3c, 0x00, 0x98, 0x0d, + 0x00, 0x00, 0xdd, 0xfd, 0x01, 0x1c, 0x03, 0x48, + 0x54, 0x30, 0x43, 0x69, 0x32, 0x1c, 0xff, 0xf7, + 0x1b, 0xfb, 0x70, 0xbd, 0x00, 0x00, 0x50, 0x6d, + 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x0d, 0x48, + 0x1f, 0x1c, 0x00, 0x68, 0x15, 0x1c, 0x0c, 0x1c, + 0x00, 0x28, 0x02, 0xd1, 0x28, 0x1c, 0x00, 0xf0, + 0xe8, 0xfb, 0x20, 0x06, 0x01, 0xd5, 0x00, 0xf0, + 0x02, 0xfe, 0x2a, 0x1c, 0x21, 0x1c, 0x3c, 0x00, + 0xd4, 0x0d, 0x00, 0x00, 0x30, 0x1c, 0x08, 0xf0, + 0xbd, 0xfd, 0x01, 0x1c, 0x03, 0x48, 0x54, 0x30, + 0x43, 0x69, 0x3a, 0x1c, 0xff, 0xf7, 0xfb, 0xfa, + 0xf8, 0xbd, 0x00, 0x00, 0x50, 0x6d, 0x01, 0x00, + 0xf8, 0xb5, 0xf1, 0x28, 0x4e, 0xd1, 0x2a, 0x48, + 0x69, 0x46, 0x82, 0x69, 0xff, 0xf7, 0xee, 0xfa, + 0x27, 0x49, 0x00, 0x26, 0x54, 0x39, 0xc8, 0x68, + 0x8b, 0x68, 0xc2, 0x00, 0x01, 0x30, 0xd5, 0x18, + 0x3c, 0x00, 0x10, 0x0e, 0x00, 0x00, 0x07, 0x28, + 0xc8, 0x60, 0x00, 0xd1, 0xce, 0x60, 0x22, 0x48, + 0x6c, 0x68, 0x00, 0x68, 0x00, 0x28, 0x03, 0xd0, + 0x00, 0x21, 0x20, 0x1c, 0x08, 0xf0, 0x3b, 0xfb, + 0x6e, 0x60, 0x25, 0x68, 0x20, 0x89, 0xa9, 0x78, + 0x02, 0x39, 0x40, 0x1a, 0xe9, 0x78, 0x40, 0x1a, + 0x20, 0x81, 0xa8, 0x78, 0x28, 0x18, 0x02, 0x38, + 0x20, 0x60, 0x6e, 0x78, 0x28, 0x78, 0x08, 0x28, + 0x17, 0xd2, 0x3c, 0x00, 0x4c, 0x0e, 0x00, 0x00, + 0x30, 0x06, 0x07, 0xd5, 0x27, 0x1c, 0x20, 0x1c, + 0x00, 0xf0, 0x7a, 0xfc, 0x04, 0x1c, 0x38, 0x1c, + 0x00, 0xf0, 0x9c, 0xfb, 0x28, 0x78, 0x0f, 0x49, + 0x40, 0x39, 0x80, 0x00, 0x0a, 0x58, 0x00, 0x2a, + 0x04, 0xd0, 0x31, 0x1c, 0x20, 0x1c, 0xff, 0xf7, + 0xb3, 0xfa, 0x08, 0xe0, 0x05, 0x21, 0x00, 0xe0, + 0x04, 0x21, 0x06, 0x20, 0x00, 0xf0, 0x10, 0xfa, + 0x20, 0x1c, 0x00, 0xf0, 0x3c, 0x00, 0x88, 0x0e, + 0x00, 0x00, 0x87, 0xfb, 0x30, 0x06, 0x01, 0xd5, + 0x00, 0xf0, 0xa1, 0xfd, 0xf8, 0xbd, 0x01, 0x21, + 0x06, 0x20, 0x00, 0xf0, 0x04, 0xfa, 0xf9, 0xe7, + 0x00, 0x00, 0xa4, 0x6d, 0x01, 0x00, 0xcc, 0x5c, + 0x01, 0x00, 0xf8, 0xb5, 0x1a, 0x4d, 0x19, 0x4f, + 0x01, 0x24, 0x54, 0x35, 0x29, 0x1c, 0x03, 0x20, + 0x7c, 0x60, 0x17, 0x4b, 0x18, 0x4a, 0x05, 0xf0, + 0xf4, 0xfb, 0x00, 0x28, 0x02, 0xd0, 0x3c, 0x00, + 0xc4, 0x0e, 0x00, 0x00, 0x00, 0x20, 0x38, 0x60, + 0x1f, 0xe0, 0x3c, 0x60, 0x07, 0x21, 0x28, 0x1c, + 0xea, 0x69, 0xff, 0xf7, 0x83, 0xfa, 0x38, 0x20, + 0x00, 0xf0, 0x80, 0xfc, 0x00, 0x24, 0xb8, 0x60, + 0xb8, 0x68, 0xe6, 0x00, 0x35, 0x18, 0x68, 0x46, + 0x02, 0x21, 0x00, 0xf0, 0x75, 0xfb, 0x28, 0x60, + 0x28, 0x1c, 0x00, 0xf0, 0xa5, 0xfd, 0xb8, 0x68, + 0x81, 0x59, 0x06, 0x48, 0x54, 0x30, 0x02, 0x6a, + 0x3c, 0x00, 0x00, 0x0f, 0x00, 0x00, 0xff, 0xf7, + 0x6c, 0xfa, 0x01, 0x34, 0x07, 0x2c, 0xea, 0xdb, + 0x00, 0x20, 0xf8, 0x60, 0x38, 0x61, 0xf8, 0xbd, + 0x00, 0x00, 0x50, 0x6d, 0x01, 0x00, 0x81, 0x9a, + 0x00, 0x00, 0x61, 0x9a, 0x00, 0x00, 0x05, 0x48, + 0x80, 0xb5, 0x00, 0x68, 0x00, 0x28, 0x05, 0xd0, + 0x03, 0x48, 0x54, 0x30, 0x42, 0x6a, 0x00, 0x21, + 0xff, 0xf7, 0x53, 0xfa, 0x80, 0xbd, 0x50, 0x6d, + 0x01, 0x00, 0x3c, 0x00, 0x3c, 0x0f, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x70, 0xb5, 0x0a, 0x4e, + 0x09, 0x4d, 0x08, 0x4c, 0x08, 0x3e, 0xa1, 0x69, + 0x00, 0x29, 0x07, 0xd0, 0x30, 0x68, 0x41, 0x60, + 0x00, 0x7b, 0x81, 0x00, 0x69, 0x58, 0xff, 0xf7, + 0x3e, 0xfa, 0xf4, 0xe7, 0x03, 0x49, 0x02, 0x20, + 0x08, 0x70, 0x70, 0xbd, 0x00, 0x10, 0x07, 0x00, + 0xe0, 0x7e, 0x01, 0x00, 0x00, 0x02, 0x07, 0x00, + 0x70, 0xb5, 0x0a, 0x4e, 0x3c, 0x00, 0x78, 0x0f, + 0x00, 0x00, 0x09, 0x4d, 0x08, 0x4c, 0x08, 0x3e, + 0xe1, 0x69, 0x00, 0x29, 0x07, 0xd0, 0x70, 0x68, + 0x41, 0x60, 0x00, 0x7b, 0x81, 0x00, 0x69, 0x58, + 0xff, 0xf7, 0x24, 0xfa, 0xf4, 0xe7, 0x03, 0x49, + 0x02, 0x20, 0x08, 0x70, 0x70, 0xbd, 0x00, 0x10, + 0x07, 0x00, 0xe0, 0x7e, 0x01, 0x00, 0x00, 0x02, + 0x07, 0x00, 0xb0, 0xb5, 0x09, 0x4d, 0x04, 0x1c, + 0x28, 0x1c, 0x20, 0x22, 0x40, 0x30, 0x3c, 0x00, + 0xb4, 0x0f, 0x00, 0x00, 0x05, 0x49, 0xff, 0xf7, + 0x9f, 0xfa, 0xe0, 0x68, 0xe8, 0x60, 0x20, 0x69, + 0x28, 0x61, 0xa0, 0x6a, 0xa8, 0x62, 0x60, 0x68, + 0x68, 0x60, 0xb0, 0xbd, 0x70, 0x52, 0x01, 0x00, + 0x00, 0x10, 0x07, 0x00, 0xf8, 0xb5, 0x00, 0x24, + 0x00, 0x23, 0x20, 0x28, 0x01, 0xdb, 0x01, 0x24, + 0x07, 0xe0, 0x08, 0x4e, 0x80, 0x00, 0x35, 0x58, + 0x07, 0x4f, 0xbd, 0x42, 0x00, 0xd0, 0x2b, 0x1c, + 0x3c, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x31, 0x50, + 0x13, 0x60, 0x00, 0x2c, 0x03, 0xd0, 0x21, 0x1c, + 0x82, 0x20, 0x00, 0xf0, 0x52, 0xf9, 0x20, 0x1c, + 0xf8, 0xbd, 0xe0, 0x7e, 0x01, 0x00, 0x75, 0x75, + 0x00, 0x00, 0xb0, 0xb5, 0x0b, 0x4d, 0x04, 0x1c, + 0x28, 0x68, 0x00, 0x28, 0x0f, 0xd0, 0x20, 0x1c, + 0x12, 0xf0, 0xb7, 0xfd, 0x00, 0x28, 0x0a, 0xd0, + 0x21, 0x7a, 0x28, 0x7a, 0x0a, 0x07, 0x00, 0x07, + 0x00, 0x0f, 0x3c, 0x00, 0x2c, 0x10, 0x00, 0x00, + 0x12, 0x0f, 0x90, 0x42, 0x29, 0x72, 0x01, 0xd0, + 0x01, 0x20, 0xb0, 0xbd, 0x00, 0x20, 0xb0, 0xbd, + 0x70, 0x78, 0x01, 0x00, 0xf0, 0xb5, 0x42, 0x4e, + 0x05, 0x1c, 0x30, 0x68, 0x85, 0xb0, 0x00, 0x28, + 0x63, 0xd0, 0x00, 0x24, 0x00, 0x20, 0x00, 0x2d, + 0x06, 0xd0, 0x69, 0x78, 0x18, 0x29, 0x03, 0xd1, + 0xe9, 0x79, 0x01, 0x29, 0x00, 0xd1, 0x01, 0x20, + 0x00, 0x28, 0x45, 0xd0, 0x3c, 0x00, 0x68, 0x10, + 0x00, 0x00, 0x00, 0x20, 0xb0, 0x72, 0x81, 0x00, + 0x4a, 0x19, 0x93, 0x7a, 0x59, 0x06, 0x89, 0x0f, + 0xdb, 0x06, 0x04, 0xd5, 0xb3, 0x7a, 0x01, 0x27, + 0x8f, 0x40, 0x3b, 0x43, 0xb3, 0x72, 0xd2, 0x7a, + 0x13, 0x09, 0x12, 0x07, 0x12, 0x0f, 0x93, 0x42, + 0x05, 0xd3, 0x01, 0x22, 0x8a, 0x40, 0x14, 0x43, + 0x01, 0xaa, 0x89, 0x00, 0x50, 0x50, 0x01, 0x30, + 0x04, 0x28, 0xe4, 0xdb, 0xb0, 0x7a, 0x3c, 0x00, + 0xa4, 0x10, 0x00, 0x00, 0x20, 0x40, 0x01, 0x07, + 0x0d, 0xd5, 0x41, 0x07, 0x09, 0xd5, 0xc1, 0x07, + 0x05, 0xd5, 0x81, 0x07, 0x01, 0xd5, 0x00, 0x24, + 0x05, 0xe0, 0x02, 0x99, 0x02, 0xe0, 0x01, 0x99, + 0x00, 0xe0, 0x03, 0x99, 0x04, 0x91, 0x41, 0x07, + 0x09, 0xd5, 0xc1, 0x07, 0x05, 0xd5, 0x81, 0x07, + 0x01, 0xd5, 0x00, 0x24, 0x03, 0xe0, 0x02, 0x99, + 0x00, 0xe0, 0x01, 0x99, 0x03, 0x91, 0xc1, 0x07, + 0x3c, 0x00, 0xe0, 0x10, 0x00, 0x00, 0x05, 0xd5, + 0x81, 0x07, 0x01, 0xd5, 0x00, 0x24, 0x01, 0xe0, + 0x02, 0x99, 0x01, 0x91, 0x80, 0x07, 0x01, 0xd5, + 0x00, 0x24, 0x22, 0xe0, 0x0f, 0x2c, 0x20, 0xd1, + 0x70, 0x68, 0x00, 0x28, 0x0b, 0xd0, 0x04, 0x9a, + 0x02, 0xab, 0x00, 0x92, 0x0a, 0xcb, 0x01, 0x9a, + 0x28, 0x1c, 0x0b, 0xf0, 0x8a, 0xfb, 0x00, 0x20, + 0x70, 0x60, 0x10, 0xe0, 0x17, 0xe0, 0x30, 0x7a, + 0x29, 0x7a, 0x3c, 0x00, 0x1c, 0x11, 0x00, 0x00, + 0x00, 0x07, 0x09, 0x07, 0x09, 0x0f, 0x00, 0x0f, + 0x88, 0x42, 0x07, 0xd0, 0x04, 0x9a, 0x02, 0xab, + 0x00, 0x92, 0x0a, 0xcb, 0x01, 0x9a, 0x28, 0x1c, + 0x0b, 0xf0, 0x76, 0xfb, 0x28, 0x7a, 0x30, 0x72, + 0x01, 0x20, 0x0f, 0x2c, 0x00, 0xd0, 0x00, 0x20, + 0x05, 0xb0, 0xf0, 0xbd, 0x01, 0x20, 0xfb, 0xe7, + 0x70, 0x78, 0x01, 0x00, 0x0d, 0x4a, 0x70, 0xb5, + 0x11, 0x68, 0x00, 0x20, 0x3c, 0x00, 0x58, 0x11, + 0x00, 0x00, 0x00, 0x29, 0x0e, 0xd0, 0x11, 0x7a, + 0x09, 0x06, 0x0b, 0xd5, 0x53, 0x7a, 0x94, 0x7a, + 0x03, 0x21, 0x01, 0x25, 0x2a, 0x1c, 0x8a, 0x40, + 0x1e, 0x1c, 0x16, 0x40, 0x03, 0xd0, 0x22, 0x40, + 0x01, 0xd1, 0x01, 0x20, 0x70, 0xbd, 0xff, 0x31, + 0x09, 0x06, 0x09, 0x16, 0xf2, 0xd5, 0x70, 0xbd, + 0x00, 0x00, 0x70, 0x78, 0x01, 0x00, 0x10, 0xb5, + 0x08, 0x4c, 0x20, 0x68, 0x00, 0x28, 0x3c, 0x00, + 0x94, 0x11, 0x00, 0x00, 0x04, 0xd0, 0x60, 0x68, + 0x00, 0x28, 0x01, 0xd1, 0x0b, 0xf0, 0xc0, 0xfb, + 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x07, 0xc4, + 0x0c, 0x3c, 0x01, 0x20, 0x60, 0x60, 0x10, 0xbd, + 0x70, 0x78, 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, + 0x08, 0x60, 0x70, 0x47, 0x70, 0x78, 0x01, 0x00, + 0xf8, 0xb5, 0x0e, 0x4d, 0x04, 0x1c, 0x00, 0x20, + 0x68, 0x72, 0x20, 0x1c, 0x12, 0xf0, 0xde, 0xfc, + 0x3c, 0x00, 0xd0, 0x11, 0x00, 0x00, 0x00, 0x28, + 0x12, 0xd0, 0x00, 0x20, 0x03, 0x21, 0x01, 0x22, + 0x0f, 0x1a, 0x16, 0x1c, 0x23, 0x7a, 0xbe, 0x40, + 0x33, 0x40, 0x04, 0xd0, 0x6b, 0x7a, 0x16, 0x1c, + 0x86, 0x40, 0x33, 0x43, 0x6b, 0x72, 0x01, 0x30, + 0x00, 0x06, 0x00, 0x0e, 0x03, 0x28, 0xef, 0xd9, + 0xf8, 0xbd, 0x70, 0x78, 0x01, 0x00, 0x92, 0x00, + 0x51, 0x18, 0x8a, 0x7a, 0x12, 0x07, 0x12, 0x0f, + 0x02, 0x70, 0x3c, 0x00, 0x0c, 0x12, 0x00, 0x00, + 0xca, 0x7a, 0x12, 0x07, 0x12, 0x0f, 0x42, 0x70, + 0xca, 0x7a, 0x12, 0x09, 0x82, 0x70, 0x09, 0x7b, + 0x81, 0x80, 0x70, 0x47, 0x03, 0x4a, 0x0f, 0x21, + 0x52, 0x7a, 0x01, 0x20, 0x91, 0x43, 0x00, 0xd0, + 0x00, 0x20, 0x70, 0x47, 0x70, 0x78, 0x01, 0x00, + 0x40, 0x07, 0x05, 0x49, 0x40, 0x0f, 0x05, 0x4a, + 0x09, 0x56, 0x52, 0x7a, 0x01, 0x20, 0x0a, 0x40, + 0x00, 0xd1, 0x00, 0x20, 0x3c, 0x00, 0x48, 0x12, + 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x5e, 0x46, + 0x01, 0x00, 0x70, 0x78, 0x01, 0x00, 0x12, 0x4a, + 0x70, 0xb5, 0x53, 0x7a, 0x94, 0x7a, 0xff, 0x20, + 0x03, 0x21, 0x01, 0x25, 0x2a, 0x1c, 0x8a, 0x40, + 0x1e, 0x1c, 0x16, 0x40, 0x14, 0xd0, 0x22, 0x40, + 0x12, 0xd1, 0x08, 0x06, 0x00, 0x0e, 0x07, 0xd0, + 0x01, 0x28, 0x07, 0xd0, 0x02, 0x28, 0x07, 0xd0, + 0x03, 0x28, 0x07, 0xd1, 0x07, 0x20, 0x3c, 0x00, + 0x84, 0x12, 0x00, 0x00, 0x70, 0xbd, 0x03, 0x20, + 0x70, 0xbd, 0x01, 0x20, 0x70, 0xbd, 0x05, 0x20, + 0x70, 0xbd, 0xff, 0x20, 0x70, 0xbd, 0xff, 0x31, + 0x09, 0x06, 0x09, 0x16, 0xe1, 0xd5, 0x70, 0xbd, + 0x70, 0x78, 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, + 0x13, 0x48, 0x0d, 0x1c, 0x81, 0x68, 0x00, 0x29, + 0x05, 0xd0, 0x01, 0x7b, 0x00, 0x29, 0x01, 0xd1, + 0x04, 0x73, 0x45, 0x73, 0xf8, 0xbd, 0x0f, 0x4e, + 0x3c, 0x00, 0xc0, 0x12, 0x00, 0x00, 0x31, 0x1c, + 0x20, 0x31, 0x8a, 0x79, 0x00, 0xab, 0x1a, 0x70, + 0xc9, 0x79, 0x59, 0x70, 0x42, 0x68, 0x00, 0x2a, + 0x07, 0xd0, 0x20, 0x02, 0x28, 0x43, 0x01, 0x1c, + 0x00, 0x20, 0xff, 0xf7, 0x7e, 0xf8, 0x00, 0x28, + 0x04, 0xd1, 0x2a, 0x1c, 0x21, 0x1c, 0x00, 0x20, + 0x11, 0xf0, 0x0f, 0xf8, 0x00, 0xab, 0x18, 0x88, + 0xf0, 0x84, 0xe2, 0xe7, 0x00, 0x00, 0x88, 0x5a, + 0x01, 0x00, 0x3c, 0x00, 0xfc, 0x12, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x80, 0xb5, 0x01, 0x21, + 0x81, 0x20, 0xff, 0xf7, 0xcd, 0xff, 0x80, 0xbd, + 0x01, 0x49, 0x01, 0x20, 0x88, 0x60, 0x70, 0x47, + 0x88, 0x5a, 0x01, 0x00, 0x05, 0x49, 0x80, 0xb5, + 0x00, 0x20, 0x88, 0x60, 0x08, 0x7b, 0x00, 0x28, + 0x02, 0xd0, 0x49, 0x7b, 0xff, 0xf7, 0xbc, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0x88, 0x5a, 0x01, 0x00, + 0x02, 0x4a, 0x01, 0x1c, 0x3c, 0x00, 0x38, 0x13, + 0x00, 0x00, 0x50, 0x68, 0x51, 0x60, 0x70, 0x47, + 0x00, 0x00, 0x88, 0x5a, 0x01, 0x00, 0x10, 0xb5, + 0x0c, 0x1c, 0x07, 0xf0, 0x64, 0xfa, 0x04, 0x61, + 0x00, 0x20, 0x10, 0xbd, 0x00, 0x00, 0xff, 0xb5, + 0x0e, 0x1c, 0x1f, 0x1c, 0x38, 0x20, 0x81, 0xb0, + 0x00, 0xf0, 0x3d, 0xfa, 0x1d, 0x49, 0x04, 0x1c, + 0x48, 0x69, 0x00, 0x28, 0x01, 0xd1, 0x4c, 0x61, + 0x00, 0xe0, 0x04, 0x60, 0x30, 0x01, 0x3c, 0x00, + 0x74, 0x13, 0x00, 0x00, 0x00, 0x90, 0x00, 0x04, + 0x00, 0x0c, 0x00, 0xf0, 0x15, 0xfa, 0x05, 0x1c, + 0x00, 0x99, 0xff, 0xf7, 0x8b, 0xf8, 0x00, 0x20, + 0x73, 0x1e, 0x04, 0xe0, 0x01, 0x01, 0x4a, 0x19, + 0x10, 0x32, 0x6a, 0x50, 0x01, 0x30, 0x98, 0x42, + 0xf8, 0xd3, 0x00, 0x01, 0x2d, 0x50, 0x38, 0x21, + 0x20, 0x1c, 0xff, 0xf7, 0x7b, 0xf8, 0xa5, 0x60, + 0x65, 0x60, 0xe6, 0x85, 0x0c, 0x20, 0x60, 0x86, + 0x3c, 0x00, 0xb0, 0x13, 0x00, 0x00, 0xaf, 0x20, + 0x80, 0x01, 0xe0, 0x61, 0x0e, 0x20, 0xe0, 0x86, + 0x00, 0x20, 0x20, 0x60, 0x01, 0x98, 0xe0, 0x60, + 0x38, 0x68, 0x60, 0x61, 0x03, 0x99, 0x04, 0x48, + 0x08, 0x60, 0x04, 0x48, 0x38, 0x60, 0x05, 0xb0, + 0x00, 0x20, 0xf0, 0xbd, 0x00, 0x00, 0xfc, 0x5a, + 0x01, 0x00, 0xdd, 0x15, 0x01, 0x00, 0xfd, 0x16, + 0x01, 0x00, 0x02, 0x1c, 0x08, 0x1c, 0xf0, 0x2a, + 0x80, 0xb5, 0x3c, 0x00, 0xec, 0x13, 0x00, 0x00, + 0x04, 0xd0, 0xf1, 0x2a, 0x07, 0xd1, 0x06, 0xf0, + 0x09, 0xfb, 0x80, 0xbd, 0x07, 0xf0, 0x0c, 0xfa, + 0x0d, 0xf0, 0xa8, 0xfa, 0x80, 0xbd, 0x01, 0x21, + 0x02, 0x20, 0xff, 0xf7, 0x4d, 0xff, 0x80, 0xbd, + 0x01, 0x49, 0x00, 0x20, 0x48, 0x61, 0x70, 0x47, + 0xfc, 0x5a, 0x01, 0x00, 0x00, 0x28, 0x02, 0xd0, + 0x00, 0x29, 0x00, 0xd0, 0xc1, 0x60, 0x70, 0x47, + 0xf8, 0xb5, 0x17, 0x1c, 0x3c, 0x00, 0x28, 0x14, + 0x00, 0x00, 0x0e, 0x1c, 0x05, 0x1c, 0x1c, 0x1c, + 0x1c, 0x30, 0x07, 0xf0, 0xc8, 0xf8, 0x01, 0x69, + 0x42, 0x69, 0x80, 0x68, 0x89, 0x19, 0x89, 0x1a, + 0x81, 0x42, 0x06, 0xd2, 0x23, 0x1c, 0x3a, 0x1c, + 0x31, 0x1c, 0x28, 0x1c, 0x00, 0xf0, 0x05, 0xf8, + 0xf8, 0xbd, 0x00, 0x20, 0x38, 0x60, 0x20, 0x60, + 0xfa, 0xe7, 0xff, 0xb5, 0x85, 0xb0, 0x05, 0x98, + 0x01, 0x27, 0x0e, 0x1c, 0x1c, 0x30, 0x3c, 0x00, + 0x64, 0x14, 0x00, 0x00, 0x07, 0xf0, 0xae, 0xf8, + 0x04, 0x1c, 0x80, 0x88, 0x04, 0x30, 0x03, 0x90, + 0x2c, 0x48, 0x04, 0x90, 0x80, 0x79, 0x02, 0x90, + 0xa0, 0x69, 0xb0, 0x42, 0x17, 0xd2, 0x35, 0x1a, + 0x11, 0xe0, 0x03, 0x98, 0xff, 0xf7, 0x16, 0xfc, + 0x00, 0x28, 0x06, 0xd1, 0x01, 0x21, 0x8e, 0x20, + 0xff, 0xf7, 0x08, 0xff, 0x00, 0x25, 0x00, 0x27, + 0x05, 0xe0, 0x21, 0x68, 0x01, 0x60, 0x20, 0x60, + 0x3c, 0x00, 0xa0, 0x14, 0x00, 0x00, 0xa0, 0x69, + 0x01, 0x30, 0xa0, 0x61, 0x01, 0x3d, 0xeb, 0xd2, + 0x00, 0x2f, 0x35, 0xd0, 0xa0, 0x69, 0x80, 0x1b, + 0xa0, 0x61, 0x20, 0x69, 0x80, 0x19, 0x20, 0x61, + 0x61, 0x69, 0x40, 0x1a, 0xe1, 0x68, 0x88, 0x42, + 0x03, 0xd9, 0x07, 0x21, 0x8e, 0x20, 0xff, 0xf7, + 0xec, 0xfe, 0x25, 0x68, 0x2f, 0x1c, 0x70, 0x1e, + 0x01, 0x95, 0x00, 0xe0, 0x3f, 0x68, 0x01, 0x38, + 0xfc, 0xd2, 0x3c, 0x00, 0xdc, 0x14, 0x00, 0x00, + 0x38, 0x68, 0x20, 0x60, 0x02, 0x98, 0x04, 0x99, + 0x88, 0x71, 0x2e, 0x68, 0x2c, 0x60, 0x32, 0x1d, + 0x00, 0x92, 0x29, 0x1c, 0x20, 0x31, 0x01, 0x22, + 0x28, 0x1d, 0x05, 0x9b, 0x08, 0xf0, 0x7a, 0xfc, + 0xbd, 0x42, 0x01, 0xd0, 0x35, 0x1c, 0xf0, 0xe7, + 0x00, 0x20, 0x38, 0x61, 0x01, 0x98, 0x07, 0x99, + 0x04, 0x30, 0x08, 0x60, 0x08, 0x98, 0x04, 0x37, + 0x07, 0x60, 0x09, 0xb0, 0x3c, 0x00, 0x18, 0x15, + 0x00, 0x00, 0xf0, 0xbd, 0x02, 0x98, 0x04, 0x99, + 0x88, 0x71, 0xf9, 0xe7, 0x00, 0x00, 0x20, 0x10, + 0x07, 0x00, 0x38, 0xb5, 0x04, 0x1c, 0x15, 0x1c, + 0x00, 0x20, 0x0c, 0x60, 0x09, 0xe0, 0xe2, 0x68, + 0x20, 0x1c, 0x00, 0x92, 0xa3, 0x8a, 0x21, 0x68, + 0xa2, 0x69, 0x08, 0xf0, 0x56, 0xfc, 0x20, 0x1c, + 0xe4, 0x68, 0x00, 0x2c, 0xf3, 0xd1, 0x28, 0x60, + 0x38, 0xbd, 0x80, 0xb5, 0x0c, 0xe0, 0x3c, 0x00, + 0x54, 0x15, 0x00, 0x00, 0xc2, 0x68, 0x8a, 0x42, + 0x08, 0xd1, 0x00, 0x21, 0xc1, 0x60, 0x00, 0x28, + 0x03, 0xd1, 0x06, 0x21, 0x8e, 0x20, 0xff, 0xf7, + 0x9d, 0xfe, 0x80, 0xbd, 0x10, 0x1c, 0x00, 0x28, + 0xf7, 0xd0, 0xef, 0xe7, 0x10, 0xb5, 0x04, 0x1c, + 0x0c, 0xd0, 0xa0, 0x69, 0x00, 0x28, 0x06, 0xd1, + 0x20, 0x69, 0x00, 0x28, 0x03, 0xd0, 0x06, 0xf0, + 0xf7, 0xfd, 0x00, 0x20, 0x20, 0x61, 0x20, 0x1c, + 0x3c, 0x00, 0x90, 0x15, 0x00, 0x00, 0x06, 0xf0, + 0xf2, 0xfd, 0x10, 0xbd, 0x00, 0x00, 0x10, 0xb5, + 0x00, 0x28, 0x09, 0xd0, 0xc4, 0x68, 0x03, 0xe0, + 0xff, 0xf7, 0xe7, 0xff, 0x20, 0x1c, 0xf9, 0xe7, + 0x00, 0x2c, 0xf9, 0xd1, 0xff, 0xf7, 0xe1, 0xff, + 0x10, 0xbd, 0x01, 0x1c, 0x00, 0x20, 0x04, 0xe0, + 0x0a, 0x89, 0xc9, 0x68, 0x10, 0x18, 0x00, 0x04, + 0x00, 0x0c, 0x00, 0x29, 0xf8, 0xd1, 0x70, 0x47, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x15, 0x00, 0x00, + 0x00, 0xe0, 0x08, 0x1c, 0xc1, 0x68, 0x00, 0x29, + 0xfb, 0xd1, 0x70, 0x47, 0xf8, 0xb5, 0x06, 0x1c, + 0x0c, 0x1c, 0x1c, 0x20, 0x00, 0xf0, 0x68, 0xfa, + 0x05, 0x1c, 0x00, 0x2e, 0x01, 0xd1, 0x00, 0x2c, + 0x02, 0xd1, 0x30, 0x1c, 0x01, 0x21, 0x03, 0xe0, + 0x20, 0x1c, 0x00, 0xf0, 0x5d, 0xfa, 0x00, 0x21, + 0x00, 0x22, 0x00, 0x92, 0x0a, 0x1c, 0x01, 0x1c, + 0x23, 0x1c, 0x28, 0x1c, 0x3c, 0x00, 0x08, 0x16, + 0x00, 0x00, 0x08, 0xf0, 0xf2, 0xfb, 0x28, 0x1c, + 0xf8, 0xbd, 0xb0, 0xb5, 0x03, 0x32, 0x92, 0x08, + 0x92, 0x00, 0x14, 0x04, 0x24, 0x0c, 0x09, 0x19, + 0x1d, 0x1c, 0xc9, 0x18, 0x09, 0x04, 0x09, 0x0c, + 0xff, 0xf7, 0xd7, 0xff, 0x01, 0x89, 0x02, 0x68, + 0x12, 0x19, 0x09, 0x1b, 0x49, 0x1b, 0x02, 0x60, + 0x01, 0x81, 0xb0, 0xbd, 0x00, 0x00, 0xf8, 0xb5, + 0x0a, 0x4c, 0xa0, 0x21, 0x20, 0x1c, 0x3c, 0x00, + 0x44, 0x16, 0x00, 0x00, 0xfe, 0xf7, 0x2a, 0xff, + 0x00, 0x20, 0x26, 0x1c, 0xa0, 0x36, 0x07, 0x4d, + 0x07, 0xe0, 0x0c, 0x21, 0x41, 0x43, 0x49, 0x19, + 0x0e, 0xc9, 0x27, 0x1d, 0x0e, 0xc7, 0x20, 0x34, + 0x01, 0x30, 0xa6, 0x42, 0xf5, 0xd1, 0xf8, 0xbd, + 0xd0, 0x5c, 0x01, 0x00, 0xc8, 0x3f, 0x01, 0x00, + 0xf7, 0xb5, 0xc4, 0x68, 0x06, 0x1c, 0x00, 0x25, + 0x00, 0x2c, 0x82, 0xb0, 0x23, 0xd0, 0x20, 0x89, + 0x3c, 0x00, 0x80, 0x16, 0x00, 0x00, 0x90, 0x42, + 0x20, 0xd3, 0xe1, 0x68, 0x87, 0x1a, 0x01, 0x91, + 0x00, 0x21, 0xe1, 0x60, 0x03, 0x99, 0x00, 0x20, + 0xff, 0xf7, 0xa1, 0xff, 0x05, 0x1c, 0x20, 0x89, + 0xc0, 0x1b, 0x20, 0x81, 0x2a, 0x68, 0x03, 0x99, + 0x30, 0x1c, 0x00, 0xf0, 0x16, 0xf8, 0x20, 0x89, + 0xc0, 0x19, 0x20, 0x81, 0x01, 0x99, 0x20, 0x1c, + 0xff, 0xf7, 0xb1, 0xfe, 0x21, 0x1c, 0x28, 0x1c, + 0xff, 0xf7, 0x3c, 0x00, 0xbc, 0x16, 0x00, 0x00, + 0xad, 0xfe, 0x29, 0x1c, 0x30, 0x1c, 0xff, 0xf7, + 0xa9, 0xfe, 0x01, 0x20, 0x00, 0x2d, 0x00, 0xd1, + 0x00, 0x20, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0xf7, 0xb5, 0x04, 0x1c, 0x0e, 0x1c, 0x00, 0x20, + 0x01, 0xe0, 0x20, 0x1c, 0x0c, 0x1c, 0xe1, 0x68, + 0x00, 0x29, 0xfa, 0xd1, 0x27, 0x89, 0xb7, 0x42, + 0x0a, 0xd3, 0xb8, 0x1b, 0x00, 0x04, 0x00, 0x0c, + 0x20, 0x81, 0x21, 0x68, 0x3c, 0x00, 0xf8, 0x16, + 0x00, 0x00, 0x09, 0x18, 0x02, 0x98, 0x32, 0x1c, + 0xfe, 0xf7, 0xfb, 0xfe, 0xfe, 0xbd, 0xf1, 0x1b, + 0x0d, 0x04, 0x2d, 0x0c, 0x00, 0x28, 0x19, 0xd0, + 0x01, 0x89, 0xa9, 0x42, 0x16, 0xd3, 0x49, 0x1b, + 0x09, 0x04, 0x09, 0x0c, 0x01, 0x81, 0x00, 0x68, + 0x41, 0x18, 0x02, 0x98, 0x2a, 0x1c, 0xfe, 0xf7, + 0xe8, 0xfe, 0x21, 0x68, 0x02, 0x98, 0x72, 0x1b, + 0x40, 0x19, 0xfe, 0xf7, 0xe2, 0xfe, 0x3c, 0x00, + 0x34, 0x17, 0x00, 0x00, 0x20, 0x89, 0xc0, 0x1b, + 0x20, 0x81, 0x20, 0x68, 0xc0, 0x19, 0x20, 0x60, + 0xdf, 0xe7, 0x03, 0x21, 0x8e, 0x20, 0xff, 0xf7, + 0xad, 0xfd, 0xda, 0xe7, 0xf8, 0xb5, 0x04, 0x1c, + 0x00, 0x26, 0x13, 0xe0, 0x21, 0x89, 0x00, 0x20, + 0xff, 0xf7, 0x3e, 0xff, 0x05, 0x1c, 0x22, 0x89, + 0x21, 0x68, 0x00, 0x68, 0xfe, 0xf7, 0xc8, 0xfe, + 0x00, 0x2e, 0x01, 0xd1, 0x2e, 0x1c, 0x03, 0xe0, + 0x3c, 0x00, 0x70, 0x17, 0x00, 0x00, 0x29, 0x1c, + 0x38, 0x1c, 0xff, 0xf7, 0x50, 0xfe, 0xe4, 0x68, + 0x2f, 0x1c, 0x00, 0x2c, 0xe9, 0xd1, 0x30, 0x1c, + 0xf8, 0xbd, 0xb0, 0xb5, 0x04, 0x1c, 0x00, 0x89, + 0x40, 0x1a, 0x05, 0x04, 0x20, 0x68, 0x2d, 0x0c, + 0x40, 0x18, 0x29, 0x1c, 0xff, 0xf7, 0x1f, 0xff, + 0x21, 0x89, 0x49, 0x1b, 0x21, 0x81, 0xe1, 0x68, + 0xc1, 0x60, 0xe0, 0x60, 0xb0, 0xbd, 0x10, 0xb5, + 0x03, 0x30, 0x3c, 0x00, 0xac, 0x17, 0x00, 0x00, + 0x09, 0x4a, 0x81, 0x08, 0x10, 0x68, 0x3d, 0x24, + 0x08, 0x4b, 0x64, 0x01, 0x89, 0x00, 0x09, 0x18, + 0x1b, 0x19, 0x99, 0x42, 0x01, 0xd8, 0x11, 0x60, + 0x10, 0xbd, 0x0f, 0x21, 0x80, 0x20, 0xff, 0xf7, + 0x6b, 0xfd, 0x00, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0xb4, 0xcf, 0x01, 0x00, 0x14, 0xc8, 0x01, 0x00, + 0x10, 0xb5, 0x11, 0xf0, 0x61, 0xff, 0x04, 0x1c, + 0x03, 0xd1, 0x0d, 0x21, 0x3c, 0x00, 0xe8, 0x17, + 0x00, 0x00, 0x80, 0x20, 0xff, 0xf7, 0x5b, 0xfd, + 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, 0xb0, 0xb5, + 0x01, 0x1f, 0x0b, 0x68, 0x0d, 0x48, 0x00, 0x22, + 0x83, 0x42, 0x04, 0xd0, 0x01, 0x32, 0x10, 0x30, + 0x03, 0x2a, 0xf9, 0xd3, 0x01, 0xe0, 0x03, 0x2a, + 0x06, 0xd3, 0x09, 0x24, 0x21, 0x1c, 0x80, 0x20, + 0xff, 0xf7, 0x45, 0xfd, 0x20, 0x1c, 0xb0, 0xbd, + 0x05, 0x4b, 0x00, 0x24, 0x9a, 0x79, 0x3c, 0x00, + 0x24, 0x18, 0x00, 0x00, 0x85, 0x68, 0x0d, 0x60, + 0x81, 0x60, 0x9a, 0x71, 0xf5, 0xe7, 0x00, 0x00, + 0x20, 0x57, 0x01, 0x00, 0x20, 0x10, 0x07, 0x00, + 0xb0, 0xb5, 0x00, 0x21, 0x10, 0x4a, 0x00, 0x23, + 0xd4, 0x68, 0x84, 0x42, 0x04, 0xd2, 0x01, 0x33, + 0x10, 0x32, 0x03, 0x2b, 0xf8, 0xd3, 0x01, 0xe0, + 0x03, 0x2b, 0x01, 0xd3, 0x04, 0x21, 0x0e, 0xe0, + 0x0a, 0x4c, 0xa3, 0x79, 0x90, 0x68, 0x00, 0x28, + 0x3c, 0x00, 0x60, 0x18, 0x00, 0x00, 0x02, 0xd1, + 0xa3, 0x71, 0x03, 0x21, 0x06, 0xe0, 0x05, 0x68, + 0x95, 0x60, 0xa3, 0x71, 0x00, 0x29, 0x01, 0xd1, + 0x04, 0xc0, 0xb0, 0xbd, 0x80, 0x20, 0xff, 0xf7, + 0x14, 0xfd, 0x00, 0x20, 0xb0, 0xbd, 0x20, 0x57, + 0x01, 0x00, 0x20, 0x10, 0x07, 0x00, 0xa0, 0x30, + 0x00, 0x8a, 0x40, 0x07, 0x40, 0x0f, 0x08, 0x28, + 0x0f, 0xd2, 0x01, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, + 0x9f, 0x44, 0x3c, 0x00, 0x9c, 0x18, 0x00, 0x00, + 0x05, 0x03, 0x03, 0x05, 0x07, 0x07, 0x09, 0x09, + 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x02, 0x20, 0x70, 0x47, 0x03, 0x20, 0x70, 0x47, + 0x04, 0x20, 0x70, 0x47, 0xb0, 0xb5, 0x10, 0x4d, + 0x68, 0x69, 0x00, 0x28, 0x07, 0xd0, 0x0e, 0x49, + 0x00, 0x22, 0x2c, 0x31, 0x03, 0xc9, 0x01, 0x43, + 0x03, 0x20, 0x06, 0xf0, 0xcf, 0xff, 0x0b, 0x4c, + 0x00, 0x22, 0x03, 0xcc, 0x3c, 0x00, 0xd8, 0x18, + 0x00, 0x00, 0x08, 0x3c, 0x01, 0x43, 0x03, 0x20, + 0x06, 0xf0, 0xaf, 0xff, 0x03, 0xcc, 0x08, 0x43, + 0x07, 0x49, 0x4a, 0x68, 0x02, 0x43, 0x4a, 0x60, + 0x8a, 0x68, 0x10, 0x43, 0x88, 0x60, 0x01, 0x20, + 0x68, 0x61, 0xb0, 0xbd, 0x00, 0x00, 0x64, 0x73, + 0x01, 0x00, 0xb0, 0x58, 0x01, 0x00, 0x10, 0x00, + 0x07, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, 0x0f, 0xf0, + 0xa8, 0xfa, 0x05, 0x4d, 0xe8, 0x6a, 0x3c, 0x00, + 0x14, 0x19, 0x00, 0x00, 0x00, 0x28, 0x06, 0xd1, + 0x00, 0x2c, 0x04, 0xd0, 0x20, 0x1c, 0x0f, 0xf0, + 0xb7, 0xfd, 0x01, 0x20, 0x28, 0x70, 0xb0, 0xbd, + 0xf4, 0x6e, 0x01, 0x00, 0x05, 0x49, 0x80, 0xb5, + 0x88, 0x6a, 0x00, 0x28, 0x04, 0xda, 0x00, 0x20, + 0x88, 0x62, 0x01, 0x21, 0x0d, 0xf0, 0x42, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0xac, 0x7e, 0x01, 0x00, + 0xf8, 0xb5, 0x1e, 0x4d, 0x04, 0x1c, 0x00, 0x20, + 0x3c, 0x00, 0x50, 0x19, 0x00, 0x00, 0x68, 0x62, + 0xa8, 0x70, 0x1c, 0x48, 0x00, 0x78, 0xc0, 0x07, + 0x22, 0xd5, 0xb8, 0x20, 0x03, 0x59, 0x1a, 0x48, + 0x00, 0x78, 0x0e, 0x28, 0x09, 0xd1, 0x0a, 0x1c, + 0x80, 0x32, 0x06, 0xd0, 0x18, 0x4e, 0x0d, 0x20, + 0x32, 0x5c, 0x8a, 0x42, 0x01, 0xdd, 0x01, 0x38, + 0xfa, 0xd1, 0x59, 0x1e, 0x0b, 0x06, 0x1b, 0x0e, + 0xab, 0x70, 0xab, 0x62, 0x0e, 0x28, 0x0b, 0xd2, + 0x08, 0xe0, 0x3c, 0x00, 0x8c, 0x19, 0x00, 0x00, + 0x62, 0x18, 0xb0, 0x32, 0x12, 0x7b, 0x82, 0x42, + 0x02, 0xd8, 0x58, 0x1a, 0xa8, 0x62, 0x02, 0xe0, + 0x01, 0x39, 0x00, 0x29, 0xf4, 0xda, 0x0e, 0xf0, + 0x35, 0xf9, 0x00, 0x90, 0x00, 0xab, 0x18, 0x78, + 0x59, 0x78, 0x81, 0x42, 0x00, 0xd9, 0x58, 0x78, + 0xed, 0x30, 0xe8, 0x70, 0x01, 0x21, 0x20, 0x1c, + 0x0d, 0xf0, 0x02, 0xfd, 0xf8, 0xbd, 0x00, 0x00, + 0xac, 0x7e, 0x01, 0x00, 0x3c, 0x00, 0xc8, 0x19, + 0x00, 0x00, 0x1d, 0x75, 0x01, 0x00, 0x11, 0x67, + 0x01, 0x00, 0xc7, 0x52, 0x01, 0x00, 0x0e, 0x49, + 0x10, 0xb5, 0x08, 0x69, 0x8b, 0x68, 0xc2, 0x00, + 0xd4, 0x18, 0x62, 0x68, 0x00, 0x2a, 0x0f, 0xd1, + 0x01, 0x30, 0x08, 0x61, 0x07, 0x28, 0x01, 0xd1, + 0x00, 0x20, 0x08, 0x61, 0x20, 0x1c, 0x00, 0xf0, + 0x24, 0xf8, 0x05, 0x48, 0x21, 0x68, 0x54, 0x30, + 0x02, 0x6a, 0xfe, 0xf7, 0xec, 0xfc, 0x3c, 0x00, + 0x04, 0x1a, 0x00, 0x00, 0x10, 0xbd, 0x06, 0x21, + 0x06, 0x20, 0xff, 0xf7, 0x4b, 0xfc, 0x10, 0xbd, + 0x50, 0x6d, 0x01, 0x00, 0x08, 0x49, 0x09, 0x79, + 0xc9, 0x07, 0x08, 0x4a, 0x08, 0xd4, 0x00, 0xe0, + 0x08, 0x1c, 0xc1, 0x68, 0x00, 0x29, 0xfb, 0xd1, + 0x01, 0x89, 0x04, 0x31, 0x01, 0x81, 0x00, 0xe0, + 0x00, 0x20, 0xd0, 0x62, 0x70, 0x47, 0x00, 0x00, + 0x60, 0x80, 0x07, 0x00, 0x04, 0x6c, 0x01, 0x00, + 0x3c, 0x00, 0x40, 0x1a, 0x00, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x19, 0x21, 0x89, 0x01, 0x00, 0x20, + 0xff, 0xf7, 0xc5, 0xfd, 0x01, 0x1c, 0x60, 0x60, + 0x20, 0x68, 0xff, 0xf7, 0xe0, 0xfc, 0x60, 0x68, + 0x21, 0x68, 0x08, 0x30, 0x08, 0x60, 0x10, 0xbd, + 0x00, 0x00, 0x0a, 0x28, 0x01, 0xda, 0x04, 0x20, + 0x04, 0xe0, 0x50, 0x28, 0x01, 0xda, 0x05, 0x20, + 0x00, 0xe0, 0x07, 0x20, 0x04, 0x4a, 0x11, 0x78, + 0x38, 0x23, 0x3c, 0x00, 0x7c, 0x1a, 0x00, 0x00, + 0xc0, 0x00, 0x18, 0x40, 0x99, 0x43, 0x08, 0x43, + 0x10, 0x70, 0x70, 0x47, 0x88, 0x00, 0x07, 0x00, + 0xb0, 0xb5, 0x05, 0x1c, 0x07, 0x48, 0x40, 0x68, + 0x08, 0xe0, 0x01, 0x69, 0xa9, 0x42, 0x04, 0xd1, + 0x44, 0x68, 0x05, 0xf0, 0xc7, 0xfd, 0x20, 0x1c, + 0x00, 0xe0, 0x40, 0x68, 0x00, 0x28, 0xf4, 0xd1, + 0xb0, 0xbd, 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, + 0xf8, 0xb5, 0x00, 0x25, 0x3c, 0x00, 0xb8, 0x1a, + 0x00, 0x00, 0x06, 0xf0, 0x84, 0xfd, 0x11, 0x4f, + 0x04, 0x1c, 0xbe, 0x79, 0x20, 0x68, 0x00, 0x28, + 0x07, 0xd1, 0xa0, 0x88, 0x04, 0x30, 0xff, 0xf7, + 0xf2, 0xf8, 0x00, 0x28, 0x06, 0xd1, 0x01, 0x21, + 0x0f, 0xe0, 0x01, 0x68, 0x21, 0x60, 0xa1, 0x69, + 0x01, 0x39, 0xa1, 0x61, 0x10, 0xc0, 0x05, 0x1c, + 0x20, 0x69, 0x01, 0x30, 0x20, 0x61, 0x61, 0x69, + 0x40, 0x1a, 0xe1, 0x68, 0x88, 0x42, 0x3c, 0x00, + 0xf4, 0x1a, 0x00, 0x00, 0x03, 0xd9, 0x07, 0x21, + 0x8e, 0x20, 0xff, 0xf7, 0xd3, 0xfb, 0xbe, 0x71, + 0x28, 0x1c, 0xf8, 0xbd, 0x20, 0x10, 0x07, 0x00, + 0xb0, 0xb5, 0x09, 0xf0, 0xbb, 0xff, 0x2f, 0x4c, + 0x00, 0x28, 0x20, 0x74, 0x03, 0xd0, 0x01, 0x21, + 0x01, 0x20, 0x0a, 0xf0, 0x71, 0xfc, 0x2b, 0x4d, + 0x14, 0x35, 0x28, 0x68, 0x00, 0x28, 0x4d, 0xd0, + 0x01, 0x21, 0x0f, 0x20, 0x11, 0xf0, 0x82, 0xfd, + 0x3c, 0x00, 0x30, 0x1b, 0x00, 0x00, 0x28, 0x89, + 0x08, 0xf0, 0xfb, 0xff, 0x01, 0x1c, 0x01, 0x22, + 0x0f, 0x20, 0x11, 0xf0, 0x40, 0xfd, 0xe0, 0x78, + 0x01, 0x25, 0x02, 0x28, 0x36, 0xd1, 0x0a, 0xf0, + 0xc6, 0xf8, 0x00, 0x28, 0x0a, 0xd0, 0x0b, 0xf0, + 0x92, 0xfb, 0x1e, 0x49, 0x09, 0x68, 0x40, 0x18, + 0x11, 0xf0, 0x5f, 0xf8, 0x00, 0x28, 0x01, 0xd1, + 0x02, 0x20, 0x2f, 0xe0, 0xe0, 0x78, 0x02, 0x28, + 0x24, 0xd1, 0x3c, 0x00, 0x6c, 0x1b, 0x00, 0x00, + 0x60, 0x70, 0x25, 0x70, 0x60, 0x68, 0x01, 0x28, + 0x1c, 0xd0, 0x15, 0x48, 0x10, 0x38, 0x81, 0x7b, + 0x00, 0x29, 0x04, 0xd1, 0x85, 0x73, 0x0f, 0x20, + 0x13, 0x49, 0x10, 0xf0, 0x01, 0xfc, 0x08, 0xf0, + 0x4f, 0xfe, 0x00, 0x28, 0x07, 0xd0, 0x0e, 0x48, + 0x01, 0x21, 0x98, 0x38, 0x00, 0x69, 0x01, 0xf0, + 0xb7, 0xfd, 0x00, 0x28, 0x05, 0xd0, 0x01, 0x20, + 0x0e, 0xf0, 0x0c, 0xfd, 0x3c, 0x00, 0xa8, 0x1b, + 0x00, 0x00, 0x01, 0x20, 0x0e, 0xf0, 0x1d, 0xfc, + 0xb0, 0xbd, 0x05, 0xf0, 0xdc, 0xfe, 0xb0, 0xbd, + 0xe0, 0x78, 0x00, 0x28, 0x01, 0xd1, 0x25, 0x70, + 0xf7, 0xe7, 0x03, 0x20, 0x00, 0xe0, 0x04, 0x20, + 0x0d, 0xf0, 0x8d, 0xfa, 0xb0, 0xbd, 0x84, 0x66, + 0x01, 0x00, 0x6c, 0x57, 0x01, 0x00, 0xe9, 0x03, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0x00, 0x21, + 0x00, 0x20, 0x0a, 0x4d, 0x00, 0xe0, 0x3c, 0x00, + 0xe4, 0x1b, 0x00, 0x00, 0x01, 0x31, 0xcb, 0x00, + 0x5a, 0x19, 0x16, 0x79, 0x01, 0x2e, 0x02, 0xd0, + 0x52, 0x79, 0xa2, 0x42, 0x02, 0xd0, 0x0b, 0x29, + 0xf4, 0xd3, 0x70, 0xbd, 0x0b, 0x29, 0xfc, 0xd2, + 0xc8, 0x00, 0x01, 0x21, 0x5a, 0x19, 0x28, 0x58, + 0x11, 0x71, 0x70, 0xbd, 0x38, 0x58, 0x01, 0x00, + 0x05, 0x48, 0x80, 0xb5, 0x00, 0x7f, 0x24, 0x23, + 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, 0x00, 0x6a, + 0x3c, 0x00, 0x20, 0x1c, 0x00, 0x00, 0xfe, 0xf7, + 0xda, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x94, 0x46, 0x01, 0x00, 0x80, 0xb5, + 0x04, 0xf0, 0x37, 0xff, 0x00, 0x20, 0x11, 0xf0, + 0x84, 0xfc, 0x00, 0x20, 0x80, 0xbd, 0xb0, 0xb5, + 0x05, 0x4c, 0x05, 0x1c, 0x20, 0x6b, 0xe1, 0x6a, + 0x02, 0xf0, 0xe3, 0xfd, 0x29, 0x1c, 0xa0, 0x6a, + 0x02, 0xf0, 0x11, 0xfb, 0xb0, 0xbd, 0xa4, 0x6c, + 0x01, 0x00, 0x3c, 0x00, 0x5c, 0x1c, 0x00, 0x00, + 0xb0, 0xb5, 0x03, 0x1c, 0x08, 0x1c, 0x14, 0x1c, + 0x00, 0x2b, 0x0c, 0x4d, 0x09, 0xd0, 0x69, 0x69, + 0x89, 0x00, 0x01, 0x31, 0x0a, 0x04, 0x12, 0x0c, + 0x22, 0x80, 0x29, 0x1c, 0xfe, 0xf7, 0x3e, 0xfc, + 0x0a, 0xe0, 0x01, 0x1c, 0x28, 0x1c, 0x22, 0x88, + 0xfe, 0xf7, 0x38, 0xfc, 0x20, 0x88, 0x01, 0x28, + 0x02, 0xd9, 0x80, 0x08, 0x01, 0x38, 0x68, 0x61, + 0x01, 0x20, 0xb0, 0xbd, 0x3c, 0x00, 0x98, 0x1c, + 0x00, 0x00, 0x20, 0x6e, 0x01, 0x00, 0xf1, 0xb5, + 0x00, 0x98, 0x00, 0x26, 0xc1, 0x68, 0x08, 0x68, + 0x09, 0x89, 0x1c, 0x29, 0x34, 0xd3, 0xc1, 0x88, + 0xff, 0x23, 0x01, 0x33, 0x99, 0x42, 0x2f, 0xd1, + 0x01, 0x88, 0xc9, 0x1a, 0x2c, 0xd1, 0x41, 0x88, + 0x08, 0x29, 0x29, 0xd1, 0x01, 0x79, 0x06, 0x29, + 0x26, 0xd1, 0x41, 0x79, 0x04, 0x29, 0x23, 0xd1, + 0x00, 0x25, 0x00, 0x24, 0x07, 0x1c, 0x3c, 0x00, + 0xd4, 0x1c, 0x00, 0x00, 0x18, 0x37, 0x0b, 0xe0, + 0xa0, 0x00, 0x41, 0x18, 0x04, 0x31, 0x04, 0x22, + 0x38, 0x1c, 0xfe, 0xf7, 0x8b, 0xfb, 0x00, 0x28, + 0x01, 0xd1, 0x01, 0x25, 0x04, 0xe0, 0x01, 0x34, + 0x0a, 0x49, 0x48, 0x69, 0xa0, 0x42, 0xef, 0xd8, + 0x08, 0x49, 0x08, 0x78, 0x00, 0x28, 0x0a, 0xd0, + 0x01, 0x28, 0x01, 0xd0, 0x02, 0x28, 0x06, 0xd1, + 0x00, 0x2d, 0x04, 0xd1, 0x00, 0x98, 0xc0, 0x68, + 0x3c, 0x00, 0x10, 0x1d, 0x00, 0x00, 0xff, 0xf7, + 0x42, 0xfc, 0x01, 0x26, 0x30, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x20, 0x6e, 0x01, 0x00, 0x01, 0x48, + 0x40, 0x68, 0x70, 0x47, 0x00, 0x00, 0x20, 0x6e, + 0x01, 0x00, 0x02, 0x49, 0x48, 0x60, 0x01, 0x20, + 0x48, 0x61, 0x70, 0x47, 0x00, 0x00, 0x20, 0x6e, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0x01, 0x26, + 0x03, 0xf0, 0xef, 0xfa, 0x25, 0x1c, 0x10, 0x35, + 0x00, 0x28, 0x3c, 0x00, 0x4c, 0x1d, 0x00, 0x00, + 0x04, 0xd0, 0x00, 0x20, 0x20, 0x77, 0x03, 0xf0, + 0xf1, 0xfb, 0x07, 0xe0, 0x03, 0xf0, 0x38, 0xfd, + 0x00, 0x28, 0x09, 0xd0, 0x01, 0x20, 0x20, 0x77, + 0x03, 0xf0, 0xce, 0xfc, 0x01, 0x1c, 0x06, 0x22, + 0x28, 0x1c, 0xfe, 0xf7, 0xc3, 0xfb, 0x02, 0xe0, + 0x02, 0x20, 0x20, 0x77, 0x00, 0x26, 0x30, 0x1c, + 0x70, 0xbd, 0x00, 0x00, 0x03, 0x48, 0x80, 0x7a, + 0xc0, 0x07, 0x03, 0x49, 0x3c, 0x00, 0x88, 0x1d, + 0x00, 0x00, 0xc0, 0x0f, 0x88, 0x62, 0x70, 0x47, + 0x00, 0x00, 0x40, 0x90, 0x07, 0x00, 0xa4, 0x6c, + 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, 0x88, 0x62, + 0x70, 0x47, 0xa4, 0x6c, 0x01, 0x00, 0x06, 0x48, + 0x80, 0x7a, 0xc1, 0x07, 0x06, 0x4a, 0xc9, 0x0f, + 0x91, 0x62, 0x20, 0x21, 0x80, 0x07, 0x00, 0xd4, + 0x00, 0x21, 0xa0, 0x32, 0x11, 0x70, 0x70, 0x47, + 0x00, 0x00, 0x40, 0x90, 0x07, 0x00, 0x3c, 0x00, + 0xc4, 0x1d, 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x07, 0x4a, 0x12, 0x68, 0x07, 0x4b, 0x9b, 0x69, + 0x1a, 0x40, 0x01, 0xd0, 0x01, 0x22, 0x00, 0xe0, + 0x00, 0x22, 0x0a, 0x60, 0x01, 0x21, 0x00, 0x2a, + 0x00, 0xd0, 0x00, 0x21, 0x01, 0x60, 0x70, 0x47, + 0x10, 0x00, 0x07, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x01, 0x22, 0x02, 0x60, 0x0a, 0x60, 0x70, 0x47, + 0xb0, 0xb5, 0x0d, 0x1c, 0x01, 0x1c, 0x58, 0x31, + 0x3c, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x04, 0x1c, + 0x06, 0x22, 0x28, 0x1d, 0xfe, 0xf7, 0x77, 0xfb, + 0x21, 0x1c, 0x5e, 0x31, 0x06, 0x22, 0x28, 0x1c, + 0x0a, 0x30, 0xfe, 0xf7, 0x70, 0xfb, 0x21, 0x1c, + 0x64, 0x31, 0x06, 0x22, 0x28, 0x1c, 0x10, 0x30, + 0xfe, 0xf7, 0x69, 0xfb, 0xb0, 0xbd, 0xfe, 0xb5, + 0x00, 0x25, 0x1d, 0x72, 0x17, 0x1c, 0x0e, 0x1c, + 0xb2, 0x6d, 0x00, 0x21, 0x92, 0x19, 0x50, 0x32, + 0xd2, 0x7a, 0x3c, 0x00, 0x3c, 0x1e, 0x00, 0x00, + 0x1c, 0x1c, 0x5a, 0x72, 0x00, 0x78, 0x32, 0x1c, + 0x80, 0x32, 0xc0, 0x07, 0xc0, 0x17, 0x01, 0x30, + 0x01, 0x90, 0x08, 0x98, 0x02, 0x92, 0x00, 0x28, + 0x01, 0xd1, 0x30, 0x7f, 0x2b, 0xe0, 0x37, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x00, 0xdd, 0x01, 0x1c, + 0x01, 0x98, 0x00, 0x28, 0x02, 0xd0, 0x08, 0x98, + 0x01, 0x28, 0x10, 0xd1, 0x02, 0x9a, 0x90, 0x6b, + 0x00, 0x28, 0x06, 0xd0, 0x3c, 0x00, 0x78, 0x1e, + 0x00, 0x00, 0x88, 0x42, 0x01, 0xd9, 0x45, 0x1a, + 0x01, 0x3d, 0x70, 0x19, 0xb0, 0x30, 0x03, 0xe0, + 0xb5, 0x6d, 0x01, 0x3d, 0x70, 0x19, 0x50, 0x30, + 0x00, 0x7b, 0x0f, 0xe0, 0x02, 0x9a, 0x10, 0x6a, + 0x00, 0x28, 0x07, 0xd0, 0x88, 0x42, 0x01, 0xd9, + 0x45, 0x1a, 0x01, 0x3d, 0x70, 0x19, 0xa0, 0x30, + 0x00, 0x79, 0x03, 0xe0, 0xbd, 0x69, 0x01, 0x3d, + 0x78, 0x19, 0x00, 0x7f, 0xa0, 0x72, 0x3c, 0x00, + 0xb4, 0x1e, 0x00, 0x00, 0x0e, 0xf0, 0x0c, 0xf8, + 0x0e, 0x28, 0x11, 0xd1, 0xa0, 0x7a, 0x08, 0xf0, + 0x67, 0xff, 0x00, 0x28, 0x0c, 0xd0, 0x78, 0x68, + 0x00, 0x28, 0x05, 0xd1, 0x1b, 0x48, 0x00, 0x25, + 0x00, 0x78, 0x08, 0xf0, 0x4b, 0xff, 0x02, 0xe0, + 0x45, 0x1e, 0x78, 0x19, 0x00, 0x7a, 0xa0, 0x72, + 0x02, 0x9a, 0x50, 0x69, 0x00, 0x28, 0x17, 0xd0, + 0x08, 0x98, 0x01, 0x28, 0x14, 0xd0, 0xa0, 0x7a, + 0x3c, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0x08, 0xf0, + 0x4e, 0xff, 0x00, 0x28, 0x0f, 0xd0, 0x01, 0x98, + 0x00, 0x28, 0x07, 0xd0, 0x02, 0x20, 0x20, 0x72, + 0x70, 0x6c, 0x80, 0x19, 0x40, 0x30, 0xc0, 0x79, + 0x60, 0x72, 0x04, 0xe0, 0x7d, 0x68, 0x01, 0x3d, + 0x78, 0x19, 0x00, 0x7a, 0xa0, 0x72, 0x02, 0x9a, + 0xa0, 0x7a, 0x91, 0x69, 0x08, 0xf0, 0x51, 0xff, + 0x20, 0x60, 0x02, 0x9a, 0x60, 0x7a, 0x91, 0x69, + 0x08, 0xf0, 0x3c, 0x00, 0x2c, 0x1f, 0x00, 0x00, + 0x4b, 0xff, 0x60, 0x60, 0xa0, 0x7a, 0xe0, 0x72, + 0x25, 0x73, 0xfe, 0xbd, 0xd4, 0x7e, 0x01, 0x00, + 0x90, 0x57, 0x01, 0x00, 0x00, 0x06, 0x00, 0x0e, + 0x00, 0x2a, 0x8c, 0xb5, 0x01, 0xd0, 0x8a, 0x22, + 0x00, 0xe0, 0x88, 0x22, 0x00, 0xab, 0x1a, 0x80, + 0x0c, 0xf0, 0xc2, 0xf8, 0x01, 0x90, 0x68, 0x46, + 0x0b, 0xf0, 0xbc, 0xfa, 0x8c, 0xbd, 0x00, 0x00, + 0x01, 0x1c, 0x08, 0x48, 0x3c, 0x00, 0x68, 0x1f, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0x68, 0x00, 0x28, + 0x09, 0xd0, 0x49, 0x68, 0x02, 0x20, 0x00, 0x29, + 0x00, 0xd1, 0x01, 0x20, 0x01, 0x06, 0x09, 0x0e, + 0x00, 0x20, 0x06, 0xf0, 0xd8, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0x20, 0x67, 0x01, 0x00, 0x1c, 0xb5, + 0x01, 0x90, 0x04, 0x1c, 0x44, 0x30, 0x01, 0xaa, + 0x69, 0x46, 0x11, 0xf0, 0xb8, 0xfd, 0x00, 0x28, + 0x0b, 0xd0, 0xa0, 0x69, 0x00, 0x21, 0x3c, 0x00, + 0xa4, 0x1f, 0x00, 0x00, 0xc2, 0x07, 0xd2, 0x0f, + 0x02, 0x20, 0xff, 0xf7, 0xc9, 0xff, 0x00, 0x21, + 0x20, 0x1c, 0x0f, 0xf0, 0xd9, 0xfe, 0x1c, 0xbd, + 0x04, 0x21, 0x98, 0x20, 0xff, 0xf7, 0x72, 0xf9, + 0xf9, 0xe7, 0x00, 0x00, 0x8c, 0xb5, 0x00, 0xab, + 0x84, 0x21, 0x19, 0x80, 0x05, 0x4b, 0x02, 0x1c, + 0x18, 0x1c, 0x99, 0x8a, 0x0c, 0xf0, 0x8e, 0xf8, + 0x01, 0x90, 0x68, 0x46, 0x0b, 0xf0, 0x7c, 0xfa, + 0x3c, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0x8c, 0xbd, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x06, 0x49, 0x80, 0xb5, 0xc9, 0x68, + 0x14, 0x23, 0x40, 0x31, 0x89, 0x7a, 0x04, 0x4a, + 0x59, 0x43, 0x89, 0x18, 0x80, 0x00, 0x08, 0x58, + 0xfe, 0xf7, 0xe9, 0xf9, 0x80, 0xbd, 0x70, 0x7c, + 0x01, 0x00, 0x54, 0x47, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x20, 0xff, 0xf7, 0xd6, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x20, 0x00, 0x00, + 0x80, 0xb5, 0x12, 0x48, 0x11, 0x49, 0x80, 0x8a, + 0x0a, 0x8b, 0x00, 0x21, 0x00, 0x28, 0xc2, 0xb0, + 0x0c, 0xd1, 0x01, 0x2a, 0x05, 0xd0, 0x02, 0x2a, + 0x15, 0xd0, 0x00, 0xab, 0x5a, 0x80, 0x0e, 0x22, + 0x07, 0xe0, 0x02, 0x22, 0x00, 0xab, 0x5a, 0x80, + 0x99, 0x80, 0x04, 0xe0, 0x00, 0xab, 0x5a, 0x80, + 0x0d, 0x22, 0x00, 0xab, 0x9a, 0x80, 0x00, 0xab, + 0x18, 0x80, 0xff, 0x20, 0x3c, 0x00, 0x58, 0x20, + 0x00, 0x00, 0x98, 0x71, 0xd9, 0x71, 0x68, 0x46, + 0x00, 0xf0, 0xd1, 0xf9, 0x42, 0xb0, 0x80, 0xbd, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x10, 0xb5, + 0x09, 0xf0, 0x5f, 0xfc, 0x00, 0x20, 0x05, 0xf0, + 0x2a, 0xf9, 0x03, 0x4c, 0xe0, 0x8a, 0x05, 0xf0, + 0x36, 0xf9, 0x20, 0x1c, 0x0f, 0xf0, 0xb3, 0xfe, + 0x10, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x1c, 0xb5, + 0x09, 0xf0, 0x4f, 0xfc, 0x07, 0x20, 0x3c, 0x00, + 0x94, 0x20, 0x00, 0x00, 0x00, 0xab, 0x07, 0x4c, + 0x18, 0x80, 0xe1, 0x8a, 0x20, 0x1c, 0x0c, 0xf0, + 0x0b, 0xf8, 0x01, 0x90, 0x68, 0x46, 0x0b, 0xf0, + 0x17, 0xfa, 0x20, 0x1c, 0x0f, 0xf0, 0x9e, 0xfe, + 0x1c, 0xbd, 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x98, 0x20, 0xff, 0xf7, + 0xf1, 0xf8, 0x80, 0xbd, 0x10, 0xb5, 0x15, 0x4c, + 0xc2, 0xb0, 0xa0, 0x8a, 0x00, 0x28, 0x03, 0xd0, + 0x3c, 0x00, 0xd0, 0x20, 0x00, 0x00, 0x01, 0x28, + 0x1e, 0xd1, 0x02, 0x20, 0x00, 0xe0, 0x01, 0x20, + 0xe1, 0x68, 0x40, 0x31, 0x88, 0x72, 0x20, 0x69, + 0x08, 0xf0, 0x23, 0xfd, 0x02, 0x1c, 0x0c, 0x48, + 0x18, 0x38, 0x80, 0x88, 0xe1, 0x68, 0x0f, 0xf0, + 0xa4, 0xfe, 0xa0, 0x8a, 0x00, 0xab, 0x18, 0x80, + 0x01, 0x20, 0x58, 0x80, 0x00, 0x20, 0x98, 0x80, + 0xff, 0x21, 0x99, 0x71, 0xd8, 0x71, 0x68, 0x46, + 0x00, 0xf0, 0x3c, 0x00, 0x0c, 0x21, 0x00, 0x00, + 0x7b, 0xf9, 0x42, 0xb0, 0x10, 0xbd, 0x03, 0x21, + 0x98, 0x20, 0xff, 0xf7, 0xc5, 0xf8, 0xf8, 0xe7, + 0x70, 0x7c, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0x03, 0x48, 0x0f, 0xf0, 0x60, 0xfe, + 0x00, 0x20, 0x05, 0xf0, 0xcd, 0xf8, 0x80, 0xbd, + 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x48, + 0x0f, 0xf0, 0x56, 0xfe, 0x80, 0xbd, 0x00, 0x00, + 0x70, 0x7c, 0x01, 0x00, 0x3c, 0x00, 0x48, 0x21, + 0x00, 0x00, 0x80, 0xb5, 0x02, 0x21, 0x98, 0x20, + 0xff, 0xf7, 0xa9, 0xf8, 0x80, 0xbd, 0x80, 0xb5, + 0x03, 0x20, 0xff, 0xf7, 0x34, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0xf0, 0xb5, 0x21, 0x4e, 0x00, 0x27, + 0xb1, 0x8a, 0x30, 0x1c, 0x00, 0x25, 0x04, 0x24, + 0x00, 0x29, 0x00, 0x8b, 0xc3, 0xb0, 0x1e, 0xd1, + 0x01, 0x28, 0x07, 0xd0, 0x31, 0x1c, 0x49, 0x8b, + 0x02, 0x28, 0x12, 0xd1, 0x00, 0x29, 0x3c, 0x00, + 0x84, 0x21, 0x00, 0x00, 0x07, 0xd1, 0x00, 0x24, + 0x05, 0xe0, 0x00, 0x24, 0x01, 0x25, 0x02, 0x20, + 0x00, 0xab, 0xd8, 0x80, 0x1f, 0x81, 0x0f, 0xf0, + 0x7f, 0xff, 0x00, 0x2c, 0x10, 0xd1, 0xf1, 0x68, + 0x05, 0x20, 0x40, 0x31, 0x88, 0x72, 0x0e, 0xe0, + 0x00, 0x29, 0x1a, 0xd1, 0x00, 0xab, 0xd8, 0x80, + 0x0e, 0x20, 0x02, 0xe0, 0x00, 0xab, 0xd8, 0x80, + 0x0d, 0x20, 0x00, 0xab, 0x18, 0x81, 0x07, 0xe0, + 0x3c, 0x00, 0xc0, 0x21, 0x00, 0x00, 0x30, 0x1c, + 0x0f, 0xf0, 0x13, 0xfe, 0x20, 0x1c, 0xff, 0xf7, + 0xfc, 0xfe, 0x00, 0x2d, 0x08, 0xd0, 0xb0, 0x8a, + 0x00, 0xab, 0x98, 0x80, 0xff, 0x20, 0x98, 0x72, + 0xdf, 0x72, 0x01, 0xa8, 0x00, 0xf0, 0x11, 0xf9, + 0x43, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x70, 0x7c, + 0x01, 0x00, 0x10, 0xb5, 0x00, 0x20, 0x05, 0xf0, + 0x6c, 0xf8, 0x04, 0x4c, 0xe0, 0x8a, 0x05, 0xf0, + 0x78, 0xf8, 0x3c, 0x00, 0xfc, 0x21, 0x00, 0x00, + 0x0f, 0xf0, 0x4c, 0xff, 0x20, 0x1c, 0x0f, 0xf0, + 0xf3, 0xfd, 0x10, 0xbd, 0x70, 0x7c, 0x01, 0x00, + 0x80, 0xb5, 0x04, 0x20, 0xff, 0xf7, 0xd8, 0xfe, + 0x01, 0x48, 0x0f, 0xf0, 0xe9, 0xfd, 0x80, 0xbd, + 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x20, + 0xff, 0xf7, 0xce, 0xfe, 0x01, 0x20, 0x05, 0xf0, + 0x5f, 0xf8, 0x02, 0x48, 0x0f, 0xf0, 0xdc, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x22, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, + 0x03, 0x20, 0xff, 0xf7, 0xc0, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0xb0, 0xb5, 0x1d, 0x4d, 0xc2, 0xb0, + 0x28, 0x8b, 0x00, 0xab, 0xff, 0x21, 0x58, 0x80, + 0x99, 0x71, 0x00, 0x21, 0xd9, 0x71, 0xaa, 0x8a, + 0x00, 0x24, 0x01, 0x2a, 0x18, 0xd1, 0x2a, 0x1c, + 0x52, 0x8b, 0x02, 0x28, 0x0f, 0xd1, 0x00, 0x2a, + 0x16, 0xd1, 0x03, 0x20, 0x58, 0x80, 0x3c, 0x00, + 0x74, 0x22, 0x00, 0x00, 0x99, 0x80, 0x2c, 0x1c, + 0xff, 0x22, 0x98, 0x1d, 0xe9, 0x69, 0xfe, 0xf7, + 0x3b, 0xf9, 0xe1, 0x68, 0x04, 0x20, 0x40, 0x31, + 0x88, 0x72, 0x10, 0xe0, 0x00, 0x2a, 0x06, 0xd1, + 0x01, 0x24, 0x0e, 0x20, 0x01, 0xe0, 0x01, 0x24, + 0x0d, 0x20, 0x00, 0xab, 0x98, 0x80, 0x28, 0x1c, + 0x0f, 0xf0, 0xa4, 0xfd, 0x04, 0x20, 0xff, 0xf7, + 0x8d, 0xfe, 0x00, 0x2c, 0x05, 0xd0, 0xa8, 0x8a, + 0x3c, 0x00, 0xb0, 0x22, 0x00, 0x00, 0x00, 0xab, + 0x18, 0x80, 0x68, 0x46, 0x00, 0xf0, 0xa5, 0xf8, + 0x42, 0xb0, 0xb0, 0xbd, 0x00, 0x00, 0x70, 0x7c, + 0x01, 0x00, 0x10, 0xb5, 0x00, 0x20, 0x05, 0xf0, + 0x00, 0xf8, 0x03, 0x4c, 0xe0, 0x8a, 0x05, 0xf0, + 0x0c, 0xf8, 0x20, 0x1c, 0x0f, 0xf0, 0x89, 0xfd, + 0x10, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, + 0x04, 0x20, 0xff, 0xf7, 0x6e, 0xfe, 0x01, 0x48, + 0x0f, 0xf0, 0x3c, 0x00, 0xec, 0x22, 0x00, 0x00, + 0x7f, 0xfd, 0x80, 0xbd, 0x70, 0x7c, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x20, 0xff, 0xf7, 0x64, 0xfe, + 0x01, 0x20, 0x04, 0xf0, 0xf5, 0xff, 0x02, 0x48, + 0x0f, 0xf0, 0x72, 0xfd, 0x80, 0xbd, 0x00, 0x00, + 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x03, 0x20, + 0xff, 0xf7, 0x56, 0xfe, 0x80, 0xbd, 0x00, 0x00, + 0xb0, 0xb5, 0x19, 0x4d, 0x04, 0x24, 0xa9, 0x8a, + 0x28, 0x1c, 0x02, 0x8b, 0x3c, 0x00, 0x28, 0x23, + 0x00, 0x00, 0xc2, 0xb0, 0x01, 0x29, 0x14, 0xd1, + 0x40, 0x8b, 0x04, 0x2a, 0x0b, 0xd1, 0x00, 0x28, + 0x00, 0xd1, 0x00, 0x24, 0x0f, 0xf0, 0xad, 0xfe, + 0x00, 0x2c, 0x19, 0xd1, 0xe9, 0x68, 0x05, 0x20, + 0x40, 0x31, 0x88, 0x72, 0x17, 0xe0, 0x00, 0x28, + 0x10, 0xd1, 0x00, 0xab, 0x5a, 0x80, 0x0e, 0x20, + 0x02, 0xe0, 0x00, 0xab, 0x5a, 0x80, 0x0d, 0x20, + 0x00, 0xab, 0x98, 0x80, 0x19, 0x80, 0x3c, 0x00, + 0x64, 0x23, 0x00, 0x00, 0xff, 0x20, 0x98, 0x71, + 0x00, 0x20, 0xd8, 0x71, 0x68, 0x46, 0x00, 0xf0, + 0x49, 0xf8, 0x42, 0xb0, 0xb0, 0xbd, 0x28, 0x1c, + 0x0f, 0xf0, 0x38, 0xfd, 0x20, 0x1c, 0xff, 0xf7, + 0x21, 0xfe, 0xf6, 0xe7, 0x70, 0x7c, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x20, 0x04, 0xf0, 0x9e, 0xff, + 0x03, 0x4c, 0xe0, 0x8a, 0x04, 0xf0, 0xaa, 0xff, + 0x20, 0x1c, 0x0f, 0xf0, 0x27, 0xfd, 0x10, 0xbd, + 0x3c, 0x00, 0xa0, 0x23, 0x00, 0x00, 0x70, 0x7c, + 0x01, 0x00, 0x80, 0xb5, 0x04, 0x20, 0xff, 0xf7, + 0x0c, 0xfe, 0x01, 0x48, 0x0f, 0xf0, 0x1d, 0xfd, + 0x80, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x20, 0xff, 0xf7, 0x02, 0xfe, 0x01, 0x20, + 0x04, 0xf0, 0x93, 0xff, 0x02, 0x48, 0x0f, 0xf0, + 0x10, 0xfd, 0x80, 0xbd, 0x00, 0x00, 0x70, 0x7c, + 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x4d, 0x01, 0x1c, + 0x44, 0x31, 0x3c, 0x00, 0xdc, 0x23, 0x00, 0x00, + 0x04, 0x1c, 0x06, 0x22, 0x28, 0x1c, 0xfe, 0xf7, + 0x89, 0xf8, 0xec, 0x60, 0x20, 0x69, 0x03, 0xf0, + 0x97, 0xf8, 0x01, 0x1c, 0x06, 0x22, 0xa8, 0x18, + 0xfe, 0xf7, 0x80, 0xf8, 0x04, 0x20, 0xff, 0xf7, + 0xf7, 0xfd, 0xb0, 0xbd, 0x70, 0x7c, 0x01, 0x00, + 0x90, 0xb5, 0x04, 0x1c, 0x80, 0x88, 0x93, 0xb0, + 0x00, 0x28, 0x06, 0xd0, 0x15, 0x49, 0x06, 0x22, + 0x48, 0x80, 0x18, 0x31, 0x3c, 0x00, 0x18, 0x24, + 0x00, 0x00, 0x88, 0x1f, 0xfe, 0xf7, 0x6d, 0xf8, + 0x68, 0x46, 0x0c, 0xf0, 0x14, 0xf8, 0x20, 0x88, + 0x01, 0x28, 0x08, 0xd1, 0x60, 0x88, 0x03, 0x28, + 0x05, 0xd1, 0xa0, 0x88, 0x00, 0x28, 0x02, 0xd1, + 0x06, 0x20, 0x0c, 0xa9, 0x08, 0x70, 0xa0, 0x79, + 0x06, 0x21, 0xff, 0x28, 0x04, 0xd0, 0xe0, 0x79, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x1c, 0x08, 0x31, + 0x0b, 0x20, 0x08, 0xaa, 0x50, 0x72, 0x3c, 0x00, + 0x54, 0x24, 0x00, 0x00, 0x20, 0x1c, 0x08, 0xf0, + 0x3b, 0xff, 0x03, 0x90, 0x68, 0x46, 0x0b, 0xf0, + 0x31, 0xf8, 0x13, 0xb0, 0x90, 0xbd, 0x00, 0x00, + 0x58, 0x7c, 0x01, 0x00, 0x07, 0x4b, 0x1a, 0x78, + 0x82, 0x42, 0x01, 0xd0, 0x00, 0x29, 0x07, 0xd0, + 0xff, 0x20, 0x18, 0x70, 0x04, 0x48, 0x01, 0x88, + 0x01, 0x22, 0x52, 0x03, 0x91, 0x43, 0x01, 0x80, + 0x70, 0x47, 0x00, 0x00, 0x4c, 0x7b, 0x01, 0x00, + 0x3c, 0x00, 0x90, 0x24, 0x00, 0x00, 0x32, 0x80, + 0x07, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x0c, 0x23, + 0x07, 0x49, 0x58, 0x43, 0x40, 0x18, 0x00, 0x79, + 0x0a, 0xf0, 0x4f, 0xf9, 0x01, 0x20, 0x03, 0x49, + 0xa0, 0x40, 0x08, 0x39, 0x0a, 0x78, 0x10, 0x43, + 0x08, 0x70, 0x10, 0xbd, 0x00, 0x00, 0x74, 0x7a, + 0x01, 0x00, 0x03, 0x4a, 0x00, 0x21, 0x11, 0x54, + 0x80, 0x00, 0x30, 0x32, 0x10, 0x58, 0x01, 0x70, + 0x70, 0x47, 0x3c, 0x00, 0xcc, 0x24, 0x00, 0x00, + 0xe0, 0x7a, 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x05, 0x28, 0x01, 0xd3, 0xfe, 0xf7, 0x12, 0xff, + 0x20, 0x1c, 0xff, 0xf7, 0xed, 0xff, 0x00, 0x21, + 0x20, 0x1c, 0x0e, 0xf0, 0x89, 0xfb, 0x10, 0xbd, + 0x05, 0x49, 0x80, 0xb5, 0x88, 0x60, 0x08, 0x7f, + 0x24, 0x23, 0x04, 0x49, 0x58, 0x43, 0x08, 0x58, + 0xfd, 0xf7, 0x6c, 0xff, 0x80, 0xbd, 0x00, 0x00, + 0xd4, 0x79, 0x01, 0x00, 0x3c, 0x00, 0x08, 0x25, + 0x00, 0x00, 0x94, 0x46, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x21, 0x91, 0x20, 0xfe, 0xf7, 0xc7, 0xfe, + 0x80, 0xbd, 0x02, 0x4a, 0x11, 0x68, 0x81, 0x43, + 0x11, 0x60, 0x70, 0x47, 0x00, 0x00, 0x78, 0x6e, + 0x01, 0x00, 0x80, 0xb5, 0xfe, 0xf7, 0xe9, 0xfe, + 0x80, 0xbd, 0x80, 0xb5, 0xfe, 0xf7, 0xe5, 0xfe, + 0x80, 0xbd, 0x80, 0xb5, 0x00, 0xf0, 0x31, 0xfa, + 0x80, 0xbd, 0x03, 0x49, 0x80, 0xb5, 0x3c, 0x00, + 0x44, 0x25, 0x00, 0x00, 0x04, 0x20, 0x88, 0x60, + 0x00, 0xf0, 0xd0, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0x00, 0x30, 0x07, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0x99, 0xfa, 0x80, 0xbd, 0x80, 0xb5, 0x00, 0xf0, + 0x99, 0xfb, 0x80, 0xbd, 0x38, 0xb5, 0x20, 0x28, + 0x15, 0xd2, 0x0d, 0x4c, 0x22, 0x1c, 0x20, 0x32, + 0x95, 0x79, 0x00, 0xab, 0x1d, 0x70, 0xd2, 0x79, + 0x5a, 0x70, 0x0a, 0x4b, 0x82, 0x00, 0x99, 0x50, + 0x3c, 0x00, 0x80, 0x25, 0x00, 0x00, 0x01, 0x21, + 0x81, 0x40, 0x08, 0x48, 0x01, 0x60, 0x42, 0x68, + 0x11, 0x43, 0x41, 0x60, 0x00, 0xab, 0x18, 0x88, + 0xe0, 0x84, 0x38, 0xbd, 0x01, 0x21, 0xff, 0x20, + 0xfe, 0xf7, 0x83, 0xfe, 0xf9, 0xe7, 0x00, 0x10, + 0x07, 0x00, 0x30, 0x74, 0x01, 0x00, 0x00, 0x40, + 0x07, 0x00, 0x20, 0x28, 0x09, 0xd2, 0x05, 0x49, + 0x06, 0x4b, 0x82, 0x00, 0x99, 0x50, 0x05, 0x4a, + 0x51, 0x68, 0x3c, 0x00, 0xbc, 0x25, 0x00, 0x00, + 0x01, 0x23, 0x83, 0x40, 0x99, 0x43, 0x51, 0x60, + 0x70, 0x47, 0x00, 0x00, 0xa9, 0x75, 0x00, 0x00, + 0x30, 0x74, 0x01, 0x00, 0x00, 0x40, 0x07, 0x00, + 0x02, 0x4a, 0x11, 0x68, 0x08, 0x43, 0x10, 0x60, + 0x70, 0x47, 0x00, 0x00, 0x78, 0x6e, 0x01, 0x00, + 0x0b, 0x48, 0x01, 0x68, 0x03, 0x22, 0x12, 0x04, + 0x11, 0x43, 0x01, 0x60, 0x01, 0x68, 0x07, 0x22, + 0x12, 0x06, 0x91, 0x43, 0x3c, 0x00, 0xf8, 0x25, + 0x00, 0x00, 0x01, 0x22, 0x52, 0x06, 0x89, 0x18, + 0x01, 0x60, 0x01, 0x68, 0x12, 0x0c, 0x11, 0x43, + 0x01, 0x60, 0x01, 0x68, 0x52, 0x08, 0x11, 0x43, + 0x01, 0x60, 0x70, 0x47, 0x00, 0x00, 0x80, 0x00, + 0x07, 0x00, 0xfe, 0xb5, 0x1c, 0x4e, 0x05, 0x1c, + 0xb0, 0x8a, 0xf2, 0x68, 0x12, 0xd0, 0x01, 0x24, + 0x00, 0x29, 0x09, 0xd1, 0x11, 0x6d, 0x02, 0xaa, + 0x01, 0xab, 0xfe, 0xf7, 0xf8, 0xfe, 0x3c, 0x00, + 0x34, 0x26, 0x00, 0x00, 0x02, 0x98, 0x00, 0x28, + 0x01, 0xd0, 0x00, 0x24, 0x0b, 0xe0, 0x01, 0xaa, + 0x02, 0xa9, 0x28, 0x1c, 0xfe, 0xf7, 0x70, 0xff, + 0x05, 0xe0, 0x11, 0x6d, 0x02, 0xaa, 0x00, 0x24, + 0x01, 0xab, 0xfe, 0xf7, 0x01, 0xff, 0x0e, 0x49, + 0x08, 0x1c, 0x20, 0x30, 0x82, 0x79, 0x00, 0xab, + 0x1a, 0x70, 0xc0, 0x79, 0x58, 0x70, 0x30, 0x68, + 0x00, 0x28, 0x02, 0xd1, 0x02, 0x98, 0x30, 0x60, + 0x3c, 0x00, 0x70, 0x26, 0x00, 0x00, 0x02, 0xe0, + 0x02, 0x98, 0x72, 0x68, 0xd0, 0x60, 0x01, 0x98, + 0x00, 0xab, 0x70, 0x60, 0x18, 0x88, 0xc8, 0x84, + 0xf0, 0x68, 0xc0, 0x6c, 0xf0, 0x60, 0x20, 0x1c, + 0xfe, 0xbd, 0x24, 0x7e, 0x01, 0x00, 0x00, 0x10, + 0x07, 0x00, 0xf8, 0xb5, 0x04, 0x1c, 0x54, 0x27, + 0x1d, 0x4e, 0x00, 0x20, 0x30, 0x60, 0x70, 0x60, + 0x67, 0x43, 0x38, 0x04, 0x15, 0x1c, 0x00, 0x0c, + 0xb1, 0x82, 0x3c, 0x00, 0xac, 0x26, 0x00, 0x00, + 0xff, 0xf7, 0x96, 0xf8, 0x08, 0x21, 0x30, 0x61, + 0x00, 0x26, 0x17, 0x4a, 0x14, 0xe0, 0x03, 0x1c, + 0x24, 0x33, 0x42, 0x61, 0x03, 0x61, 0xc6, 0x61, + 0x01, 0x83, 0x08, 0x33, 0x03, 0x60, 0xb1, 0x23, + 0x43, 0x60, 0x03, 0x1c, 0x64, 0x33, 0xc3, 0x60, + 0x0c, 0x23, 0x03, 0x81, 0x03, 0x1c, 0x54, 0x33, + 0x4c, 0x30, 0x28, 0xc0, 0x01, 0x3c, 0x18, 0x1c, + 0x00, 0x2c, 0xe8, 0xd1, 0x3c, 0x00, 0xe8, 0x26, + 0x00, 0x00, 0x09, 0x4e, 0x07, 0x22, 0x30, 0x69, + 0xd2, 0x43, 0xc1, 0x19, 0x50, 0x50, 0x02, 0x1c, + 0x10, 0x32, 0x80, 0x39, 0x8a, 0x63, 0xf0, 0x60, + 0xb0, 0x60, 0x00, 0x21, 0x00, 0x20, 0xff, 0xf7, + 0x88, 0xff, 0x30, 0x69, 0xf0, 0x60, 0xb0, 0x60, + 0xf8, 0xbd, 0x24, 0x7e, 0x01, 0x00, 0x91, 0x00, + 0x05, 0x00, 0x01, 0x48, 0x40, 0x6a, 0x70, 0x47, + 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, 0x3c, 0x00, + 0x24, 0x27, 0x00, 0x00, 0x01, 0x48, 0x00, 0x88, + 0x70, 0x47, 0x00, 0x00, 0xfc, 0x6b, 0x01, 0x00, + 0x06, 0x49, 0x80, 0xb5, 0x08, 0x88, 0x01, 0x30, + 0x08, 0x80, 0x05, 0x49, 0x08, 0x20, 0x08, 0x60, + 0x04, 0x49, 0x88, 0x69, 0x88, 0x61, 0x00, 0xf0, + 0x21, 0xf8, 0x80, 0xbd, 0xfc, 0x6b, 0x01, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x03, 0x4a, 0x01, 0x20, 0x12, 0x1d, 0x06, 0xca, + 0x3c, 0x00, 0x60, 0x27, 0x00, 0x00, 0x91, 0x42, + 0x00, 0xd1, 0x00, 0x20, 0x70, 0x47, 0xe8, 0x7d, + 0x01, 0x00, 0x06, 0x48, 0x00, 0xb5, 0xc0, 0x7c, + 0x00, 0x28, 0x03, 0xd1, 0xff, 0xf7, 0xef, 0xff, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x20, 0x00, 0xbd, + 0x00, 0x20, 0x00, 0xbd, 0x00, 0x00, 0xa0, 0x80, + 0x07, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x80, 0x07, + 0x02, 0xd5, 0x06, 0xf0, 0x3e, 0xfd, 0x03, 0xe0, + 0xe0, 0x07, 0x3c, 0x00, 0x9c, 0x27, 0x00, 0x00, + 0x01, 0xd5, 0x06, 0xf0, 0xe3, 0xfd, 0x60, 0x07, + 0x01, 0xd5, 0xfe, 0xf7, 0xab, 0xfd, 0x10, 0xbd, + 0x02, 0x4a, 0x01, 0x1c, 0x10, 0x68, 0x11, 0x60, + 0x70, 0x47, 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, + 0x38, 0xb5, 0x20, 0x4d, 0x2c, 0x1c, 0x20, 0x34, + 0xa0, 0x79, 0x00, 0xab, 0x18, 0x70, 0xe0, 0x79, + 0x58, 0x70, 0xfe, 0xf7, 0x27, 0xfa, 0x00, 0xab, + 0x18, 0x88, 0xe8, 0x84, 0x3c, 0x00, 0xd8, 0x27, + 0x00, 0x00, 0x1a, 0x48, 0x81, 0x78, 0x08, 0x22, + 0x91, 0x43, 0x81, 0x70, 0x81, 0x78, 0x11, 0x43, + 0x81, 0x70, 0x17, 0x48, 0x41, 0x68, 0x80, 0x22, + 0x91, 0x43, 0x41, 0x60, 0x01, 0x68, 0x11, 0x43, + 0x01, 0x60, 0x00, 0x20, 0x01, 0x30, 0x64, 0x28, + 0xfc, 0xd3, 0xa0, 0x79, 0x0f, 0x4d, 0x00, 0xab, + 0x18, 0x70, 0xe0, 0x79, 0x10, 0x4c, 0x58, 0x70, + 0x20, 0x1c, 0x10, 0x30, 0x00, 0xf0, 0x3c, 0x00, + 0x14, 0x28, 0x00, 0x00, 0xdf, 0xfb, 0x00, 0x20, + 0xc0, 0x43, 0xa0, 0x61, 0xff, 0xf7, 0x9c, 0xff, + 0x00, 0x28, 0x09, 0xd0, 0x0a, 0x49, 0x08, 0x69, + 0x01, 0x30, 0x08, 0x61, 0x00, 0x20, 0x3c, 0x31, + 0x89, 0x68, 0x48, 0x63, 0x06, 0xf0, 0xee, 0xfc, + 0x00, 0xab, 0x18, 0x88, 0xe8, 0x84, 0x38, 0xbd, + 0x00, 0x10, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, + 0xf4, 0x00, 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x3c, 0x00, 0x50, 0x28, 0x00, 0x00, 0xe8, 0x7d, + 0x01, 0x00, 0x0a, 0x48, 0x80, 0xb5, 0x00, 0x6a, + 0x00, 0x28, 0x01, 0xd0, 0xfe, 0xf7, 0xc1, 0xf9, + 0x07, 0x48, 0x07, 0x49, 0x3c, 0x30, 0x80, 0x68, + 0x10, 0x30, 0x48, 0x61, 0x01, 0x20, 0x08, 0x61, + 0x05, 0x49, 0x08, 0x68, 0x80, 0x22, 0x90, 0x43, + 0x08, 0x60, 0x80, 0xbd, 0x00, 0x00, 0xe8, 0x7d, + 0x01, 0x00, 0x00, 0x30, 0x07, 0x00, 0xf4, 0x00, + 0x07, 0x00, 0x3c, 0x00, 0x8c, 0x28, 0x00, 0x00, + 0x80, 0xb5, 0x0c, 0xf0, 0xcb, 0xfe, 0x06, 0xf0, + 0xbf, 0xfc, 0x80, 0xbd, 0x01, 0x49, 0xc8, 0x62, + 0x70, 0x47, 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, + 0x02, 0x4a, 0x91, 0x6a, 0x08, 0x43, 0x90, 0x62, + 0x70, 0x47, 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, + 0x18, 0x23, 0x06, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x00, 0x21, 0x02, 0x79, 0x03, 0x68, 0x1a, 0x70, + 0x01, 0x31, 0x08, 0x30, 0x3c, 0x00, 0xc8, 0x28, + 0x00, 0x00, 0x03, 0x29, 0xf8, 0xd3, 0x70, 0x47, + 0x00, 0x00, 0x28, 0x52, 0x01, 0x00, 0x03, 0x49, + 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, + 0x81, 0x62, 0x70, 0x47, 0x00, 0x00, 0x85, 0x75, + 0x00, 0x00, 0x04, 0x6c, 0x01, 0x00, 0xf8, 0xb5, + 0xff, 0xf7, 0x33, 0xff, 0x28, 0x4f, 0x00, 0x28, + 0x04, 0xd0, 0xff, 0xf7, 0xc8, 0xff, 0x38, 0x6a, + 0x01, 0x30, 0x38, 0x62, 0xf8, 0x6a, 0x3c, 0x00, + 0x04, 0x29, 0x00, 0x00, 0x00, 0x28, 0x02, 0xd0, + 0x01, 0x89, 0x04, 0x39, 0x01, 0x81, 0x38, 0x6b, + 0x00, 0x25, 0x00, 0x28, 0x08, 0xd0, 0x0b, 0x20, + 0x3d, 0x63, 0x10, 0xf0, 0xe5, 0xfa, 0x1e, 0x49, + 0x08, 0x68, 0x21, 0x22, 0x90, 0x43, 0x08, 0x60, + 0x38, 0x78, 0x3c, 0x21, 0x1b, 0x4a, 0x41, 0x43, + 0x8c, 0x18, 0xff, 0x22, 0x79, 0x6a, 0x3a, 0x70, + 0x00, 0x29, 0x0c, 0xd0, 0xb9, 0x69, 0x01, 0x31, + 0x3c, 0x00, 0x40, 0x29, 0x00, 0x00, 0xb9, 0x61, + 0x7d, 0x62, 0xbd, 0x68, 0x00, 0x2d, 0x04, 0xd0, + 0x63, 0x6b, 0x7a, 0x6b, 0x00, 0x21, 0xfd, 0xf7, + 0x47, 0xfd, 0xf8, 0xbd, 0x04, 0x28, 0x03, 0xd3, + 0x01, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0xa1, 0xfc, + 0x38, 0x69, 0x26, 0x1c, 0x01, 0x30, 0x38, 0x61, + 0x20, 0x36, 0x30, 0x78, 0x02, 0x28, 0x03, 0xd0, + 0x0c, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0x95, 0xfc, + 0x35, 0x70, 0x3c, 0x00, 0x7c, 0x29, 0x00, 0x00, + 0xa1, 0x69, 0x00, 0x29, 0xe8, 0xd0, 0x63, 0x6b, + 0x30, 0x34, 0x20, 0x78, 0x0c, 0x1c, 0x00, 0x21, + 0x7a, 0x6b, 0xfd, 0xf7, 0x27, 0xfd, 0xdf, 0xe7, + 0x04, 0x6c, 0x01, 0x00, 0xf4, 0x00, 0x07, 0x00, + 0x18, 0xdb, 0x01, 0x00, 0x10, 0xb5, 0x0b, 0x4c, + 0x60, 0x6a, 0x00, 0x28, 0x0e, 0xd0, 0x0a, 0x48, + 0x00, 0xf0, 0x12, 0xfb, 0x00, 0x20, 0x60, 0x62, + 0xa4, 0x68, 0x00, 0x2c, 0x3c, 0x00, 0xb8, 0x29, + 0x00, 0x00, 0x05, 0xd0, 0x7e, 0x23, 0xdb, 0x43, + 0x00, 0x22, 0x01, 0x21, 0xfd, 0xf7, 0x0d, 0xfd, + 0x10, 0xbd, 0xe0, 0x69, 0x01, 0x30, 0xe0, 0x61, + 0x10, 0xbd, 0x04, 0x6c, 0x01, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x09, 0x48, 0x41, 0x68, 0x3f, 0x22, + 0x12, 0x04, 0x91, 0x43, 0x0d, 0x22, 0x12, 0x04, + 0x89, 0x18, 0x41, 0x60, 0x41, 0x68, 0x01, 0x22, + 0x52, 0x02, 0x91, 0x43, 0x41, 0x60, 0x3c, 0x00, + 0xf4, 0x29, 0x00, 0x00, 0x03, 0x48, 0x81, 0x78, + 0x81, 0x70, 0x81, 0x78, 0x81, 0x70, 0x70, 0x47, + 0x80, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, + 0xf0, 0xb5, 0x01, 0x25, 0x08, 0x24, 0x00, 0x20, + 0x0e, 0x4a, 0x0f, 0x49, 0x00, 0x26, 0x3c, 0x23, + 0x43, 0x43, 0xd1, 0x52, 0x9b, 0x18, 0x5d, 0x71, + 0x9b, 0x60, 0x5e, 0x61, 0x1c, 0x82, 0xc0, 0x27, + 0xdf, 0x60, 0x20, 0x27, 0xfe, 0x54, 0x9e, 0x61, + 0x3c, 0x00, 0x30, 0x2a, 0x00, 0x00, 0x30, 0x27, + 0xfe, 0x54, 0x07, 0x4f, 0x3f, 0x18, 0x20, 0x37, + 0x01, 0x30, 0x05, 0x28, 0x9f, 0x63, 0xe9, 0xd3, + 0x05, 0x48, 0xff, 0x32, 0x01, 0x32, 0x90, 0x62, + 0xf0, 0xbd, 0x18, 0xdb, 0x01, 0x00, 0xbe, 0xba, + 0x00, 0x00, 0x30, 0x80, 0x07, 0x00, 0x06, 0x6c, + 0x01, 0x00, 0x01, 0x49, 0x48, 0x60, 0x70, 0x47, + 0x00, 0x00, 0x04, 0x6c, 0x01, 0x00, 0x05, 0x49, + 0x08, 0x5c, 0x3c, 0x00, 0x6c, 0x2a, 0x00, 0x00, + 0x05, 0x49, 0x49, 0x68, 0x40, 0x18, 0xc0, 0x06, + 0xc0, 0x0e, 0x04, 0x49, 0x20, 0x30, 0x48, 0x72, + 0x70, 0x47, 0x00, 0x00, 0xa0, 0x57, 0x01, 0x00, + 0x04, 0x6c, 0x01, 0x00, 0x00, 0x80, 0x07, 0x00, + 0x80, 0xb5, 0x15, 0x21, 0x84, 0x20, 0xfe, 0xf7, + 0x07, 0xfc, 0x80, 0xbd, 0xf8, 0xb5, 0x43, 0x48, + 0x84, 0x68, 0x03, 0x34, 0x42, 0x4d, 0x04, 0xe0, + 0x20, 0x1c, 0x10, 0xf0, 0x3c, 0x00, 0xa8, 0x2a, + 0x00, 0x00, 0xb9, 0xf8, 0x00, 0x28, 0x71, 0xd1, + 0x28, 0x69, 0xc0, 0x07, 0xf7, 0xd5, 0x3e, 0x48, + 0x28, 0x60, 0x3e, 0x4a, 0x14, 0x1c, 0x20, 0x34, + 0x20, 0x79, 0x00, 0x90, 0x3c, 0x23, 0x3c, 0x49, + 0x58, 0x43, 0x45, 0x18, 0x28, 0x79, 0xff, 0xf7, + 0xcc, 0xff, 0x28, 0x1c, 0x3a, 0x49, 0x08, 0x30, + 0x48, 0x60, 0x01, 0x26, 0x08, 0x1c, 0x06, 0x60, + 0x68, 0x6a, 0x00, 0x28, 0x0d, 0xd0, 0x3c, 0x00, + 0xe4, 0x2a, 0x00, 0x00, 0xa9, 0x6a, 0x92, 0x6a, + 0x35, 0x4b, 0x9f, 0x68, 0xd7, 0x1b, 0x1a, 0x68, + 0x51, 0x18, 0x79, 0x18, 0x8a, 0x42, 0x5a, 0x68, + 0x00, 0xd8, 0x00, 0xe0, 0x01, 0x32, 0x06, 0xc0, + 0xe8, 0x6a, 0xfe, 0xf7, 0x87, 0xff, 0x2d, 0x49, + 0xe8, 0x6a, 0x48, 0x60, 0x30, 0x1c, 0x0e, 0x60, + 0x66, 0x79, 0x1f, 0xe0, 0x2b, 0x48, 0x46, 0x61, + 0x04, 0x7f, 0x29, 0x49, 0x20, 0x1c, 0x50, 0x39, + 0x3c, 0x00, 0x20, 0x2b, 0x00, 0x00, 0x89, 0x6a, + 0xfd, 0xf7, 0x5a, 0xfc, 0x00, 0x98, 0x84, 0x42, + 0x10, 0xd0, 0x3c, 0x20, 0x22, 0x49, 0x60, 0x43, + 0x40, 0x18, 0x87, 0x69, 0x00, 0x2f, 0x09, 0xd0, + 0x00, 0x21, 0x20, 0x30, 0x01, 0x70, 0x7e, 0x23, + 0xdb, 0x43, 0x02, 0x21, 0x00, 0x22, 0x20, 0x1c, + 0xfd, 0xf7, 0x4c, 0xfc, 0x01, 0x20, 0xa0, 0x40, + 0x86, 0x43, 0x00, 0x2e, 0xdd, 0xd1, 0xe9, 0x69, + 0x00, 0x29, 0x3c, 0x00, 0x5c, 0x2b, 0x00, 0x00, + 0x03, 0xd0, 0x30, 0x20, 0x40, 0x5d, 0xfd, 0xf7, + 0x3a, 0xfc, 0x16, 0x4c, 0x50, 0x3c, 0x60, 0x6a, + 0x00, 0x28, 0x03, 0xd0, 0x0a, 0x21, 0x84, 0x20, + 0xfe, 0xf7, 0x96, 0xfb, 0x20, 0x35, 0x28, 0x78, + 0x01, 0x28, 0x03, 0xd0, 0x0b, 0x21, 0x84, 0x20, + 0xfe, 0xf7, 0x8e, 0xfb, 0x02, 0x20, 0x28, 0x70, + 0xe0, 0x68, 0x01, 0x30, 0x00, 0xe0, 0x07, 0xe0, + 0xe0, 0x60, 0x00, 0x98, 0x3c, 0x00, 0x98, 0x2b, + 0x00, 0x00, 0x20, 0x70, 0x00, 0x98, 0x60, 0x70, + 0x0a, 0x48, 0x00, 0x68, 0x60, 0x63, 0xf8, 0xbd, + 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x40, + 0x07, 0x00, 0x01, 0x00, 0x00, 0x01, 0x30, 0x80, + 0x07, 0x00, 0x18, 0xdb, 0x01, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x54, 0x6c, 0x01, 0x00, 0x00, 0xa0, + 0x07, 0x00, 0x78, 0x6e, 0x01, 0x00, 0x3c, 0x22, + 0x3c, 0x23, 0x4a, 0x43, 0x09, 0x49, 0x3c, 0x00, + 0xd4, 0x2b, 0x00, 0x00, 0xb0, 0xb5, 0x54, 0x18, + 0x58, 0x43, 0x45, 0x18, 0x21, 0x1c, 0x38, 0x22, + 0x28, 0x1c, 0xfd, 0xf7, 0xe5, 0xfc, 0xa0, 0x6b, + 0x00, 0x78, 0xa9, 0x6b, 0x08, 0x70, 0x00, 0x20, + 0x20, 0x34, 0x20, 0x70, 0xb0, 0xbd, 0x00, 0x00, + 0x18, 0xdb, 0x01, 0x00, 0x3c, 0x23, 0x07, 0x49, + 0x58, 0x43, 0x10, 0xb5, 0x44, 0x18, 0x20, 0x34, + 0x20, 0x78, 0x02, 0x28, 0x03, 0xd1, 0x0d, 0x21, + 0x3c, 0x00, 0x10, 0x2c, 0x00, 0x00, 0x84, 0x20, + 0xfe, 0xf7, 0x47, 0xfb, 0x00, 0x20, 0x20, 0x70, + 0x10, 0xbd, 0x18, 0xdb, 0x01, 0x00, 0xff, 0xb5, + 0x3c, 0x20, 0x48, 0x43, 0x1a, 0x49, 0x81, 0xb0, + 0x44, 0x18, 0x26, 0x1c, 0x20, 0x36, 0x30, 0x78, + 0x15, 0x1c, 0x0f, 0x9f, 0x02, 0x28, 0x03, 0xd1, + 0x04, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0x31, 0xfb, + 0x01, 0x20, 0x30, 0x70, 0x25, 0x71, 0x0b, 0x99, + 0x30, 0x22, 0x3c, 0x00, 0x4c, 0x2c, 0x00, 0x00, + 0x61, 0x80, 0x0a, 0x99, 0xe1, 0x62, 0x0d, 0x99, + 0xa1, 0x61, 0x0c, 0x99, 0xe1, 0x61, 0x0e, 0x99, + 0x61, 0x62, 0xa7, 0x62, 0x01, 0x99, 0x11, 0x55, + 0x7e, 0x21, 0xc9, 0x43, 0x61, 0x63, 0x04, 0x99, + 0x00, 0x29, 0x00, 0xd1, 0x00, 0x20, 0x06, 0x1c, + 0x28, 0x1c, 0x08, 0xf0, 0x8b, 0xf8, 0x00, 0x28, + 0x01, 0xd0, 0x02, 0x20, 0x00, 0xe0, 0x00, 0x20, + 0xa1, 0x6b, 0x30, 0x43, 0x3c, 0x00, 0x88, 0x2c, + 0x00, 0x00, 0x08, 0x70, 0x05, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0x18, 0xdb, 0x01, 0x00, 0x80, 0xb5, + 0x14, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0x03, 0xfb, + 0x80, 0xbd, 0x01, 0x48, 0x40, 0x78, 0x70, 0x47, + 0x00, 0x00, 0x04, 0x6c, 0x01, 0x00, 0x02, 0x48, + 0x00, 0x69, 0xc0, 0x07, 0xc0, 0x0f, 0x70, 0x47, + 0x00, 0x00, 0x00, 0x40, 0x07, 0x00, 0x01, 0x1c, + 0x3c, 0x23, 0x04, 0x4a, 0x59, 0x43, 0x3c, 0x00, + 0xc4, 0x2c, 0x00, 0x00, 0x89, 0x18, 0x20, 0x31, + 0x09, 0x78, 0x01, 0x20, 0x00, 0x29, 0x00, 0xd0, + 0x00, 0x20, 0x70, 0x47, 0x18, 0xdb, 0x01, 0x00, + 0x08, 0x48, 0x40, 0x6a, 0x00, 0x28, 0x0a, 0xd1, + 0x07, 0x4a, 0x00, 0x21, 0x20, 0x23, 0x9b, 0x5c, + 0x02, 0x2b, 0x04, 0xd0, 0x01, 0x31, 0x3c, 0x32, + 0x05, 0x29, 0xf7, 0xd3, 0x70, 0x47, 0x01, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x04, 0x6c, 0x01, 0x00, + 0x3c, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x18, 0xdb, + 0x01, 0x00, 0xf8, 0xb5, 0x0e, 0x1c, 0x04, 0x1c, + 0x17, 0x1c, 0xfe, 0xf7, 0x82, 0xfe, 0x20, 0x1c, + 0x11, 0x4c, 0x60, 0x60, 0x01, 0x20, 0x20, 0x60, + 0x10, 0x4d, 0x68, 0x69, 0x01, 0x30, 0x68, 0x61, + 0x68, 0x6a, 0x00, 0x28, 0x03, 0xd0, 0x07, 0x21, + 0x84, 0x20, 0xfe, 0xf7, 0xba, 0xfa, 0xa0, 0x68, + 0x40, 0x07, 0x03, 0xd5, 0x06, 0x21, 0x84, 0x20, + 0xfe, 0xf7, 0x3c, 0x00, 0x3c, 0x2d, 0x00, 0x00, + 0xb3, 0xfa, 0x08, 0x48, 0x00, 0x69, 0x00, 0x28, + 0x03, 0xda, 0xaa, 0x21, 0x84, 0x20, 0xfe, 0xf7, + 0xab, 0xfa, 0x02, 0x20, 0x68, 0x62, 0xae, 0x60, + 0x2f, 0x70, 0xf8, 0xbd, 0x00, 0x30, 0x07, 0x00, + 0x04, 0x6c, 0x01, 0x00, 0x00, 0x40, 0x07, 0x00, + 0x04, 0x4a, 0x51, 0x80, 0x10, 0x71, 0x03, 0x48, + 0x03, 0x49, 0x08, 0x30, 0x48, 0x60, 0x01, 0x20, + 0x08, 0x60, 0x70, 0x47, 0x3c, 0x00, 0x78, 0x2d, + 0x00, 0x00, 0x3c, 0x6c, 0x01, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x00, 0x21, 0x00, 0x23, 0x05, 0xe0, + 0x02, 0x89, 0x43, 0x60, 0xc0, 0x68, 0x51, 0x18, + 0x09, 0x04, 0x09, 0x0c, 0x00, 0x28, 0xf7, 0xd1, + 0x04, 0x31, 0x08, 0x04, 0x00, 0x0c, 0x70, 0x47, + 0x00, 0x00, 0x02, 0x4a, 0x51, 0x6b, 0x08, 0x43, + 0x50, 0x63, 0x70, 0x47, 0x00, 0x00, 0x04, 0x6c, + 0x01, 0x00, 0x38, 0xb5, 0x0a, 0x4c, 0x3c, 0x00, + 0xb4, 0x2d, 0x00, 0x00, 0x22, 0x1c, 0x20, 0x32, + 0x95, 0x79, 0x00, 0xab, 0x1d, 0x70, 0xd2, 0x79, + 0x5a, 0x70, 0x03, 0x68, 0x40, 0x68, 0x06, 0x4a, + 0x50, 0x65, 0x05, 0x48, 0x13, 0x65, 0x50, 0x30, + 0x81, 0x60, 0x00, 0xab, 0x18, 0x88, 0xe0, 0x84, + 0x38, 0xbd, 0x00, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x04, 0x6c, 0x01, 0x00, 0x98, 0xb5, 0x0d, 0x4c, + 0x20, 0x1c, 0x20, 0x30, 0x81, 0x79, 0x00, 0xab, + 0x3c, 0x00, 0xf0, 0x2d, 0x00, 0x00, 0x19, 0x70, + 0xc0, 0x79, 0x58, 0x70, 0x0a, 0x48, 0x00, 0xf0, + 0xec, 0xf8, 0x09, 0x49, 0x00, 0x20, 0x48, 0x62, + 0xff, 0xf7, 0x69, 0xff, 0x00, 0x28, 0x03, 0xd0, + 0x12, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0x49, 0xfa, + 0x00, 0xab, 0x18, 0x88, 0xe0, 0x84, 0x98, 0xbd, + 0x00, 0x00, 0x00, 0x10, 0x07, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x04, 0x6c, 0x01, 0x00, 0x03, 0x48, + 0x01, 0x7a, 0x3c, 0x00, 0x2c, 0x2e, 0x00, 0x00, + 0xfe, 0x22, 0x91, 0x43, 0x0a, 0x31, 0x01, 0x72, + 0x70, 0x47, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, + 0x90, 0xb5, 0x0e, 0x4c, 0x85, 0xb0, 0xa0, 0x78, + 0x02, 0x28, 0x14, 0xd1, 0x03, 0x20, 0xa0, 0x70, + 0x0b, 0x49, 0x00, 0x20, 0x00, 0x22, 0x04, 0x92, + 0x02, 0x90, 0x03, 0x91, 0xe1, 0x88, 0x01, 0x22, + 0x01, 0x92, 0x00, 0x91, 0x61, 0x78, 0x20, 0x78, + 0x22, 0x69, 0xe3, 0x68, 0x3c, 0x00, 0x68, 0x2e, + 0x00, 0x00, 0x08, 0xf0, 0x94, 0xfd, 0x04, 0x48, + 0x09, 0xf0, 0x7f, 0xf9, 0x05, 0xb0, 0x90, 0xbd, + 0x00, 0x00, 0xb4, 0x79, 0x01, 0x00, 0xad, 0xb6, + 0x00, 0x00, 0x71, 0xb6, 0x00, 0x00, 0xb0, 0xb5, + 0x0c, 0x4d, 0xac, 0x79, 0x0c, 0x49, 0x09, 0x78, + 0x00, 0x29, 0x03, 0xd0, 0x01, 0x29, 0x0e, 0xd0, + 0x02, 0x29, 0x08, 0xd1, 0xc2, 0x88, 0x00, 0x2a, + 0x09, 0xd0, 0x01, 0x23, 0x81, 0x68, 0x3c, 0x00, + 0xa4, 0x2e, 0x00, 0x00, 0x02, 0x20, 0x0f, 0xf0, + 0xc1, 0xf8, 0x03, 0xe0, 0x02, 0x21, 0x86, 0x20, + 0xfe, 0xf7, 0xf8, 0xf9, 0xac, 0x71, 0xb0, 0xbd, + 0x20, 0x10, 0x07, 0x00, 0xa0, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x68, 0x07, 0x49, 0x4a, 0x60, + 0x03, 0x79, 0xca, 0x78, 0xcb, 0x70, 0x00, 0x79, + 0x90, 0x42, 0x06, 0xd0, 0x03, 0x48, 0x14, 0x30, + 0x00, 0x89, 0x07, 0xf0, 0x27, 0xfe, 0x06, 0xf0, + 0x3c, 0x00, 0xe0, 0x2e, 0x00, 0x00, 0xab, 0xfa, + 0x80, 0xbd, 0x84, 0x66, 0x01, 0x00, 0x70, 0xb5, + 0x16, 0x4c, 0x15, 0x4d, 0xa0, 0x78, 0x00, 0x26, + 0x98, 0x3d, 0x01, 0x28, 0x03, 0xd1, 0x28, 0x69, + 0x08, 0xf0, 0xfb, 0xfc, 0xa6, 0x70, 0x60, 0x68, + 0x01, 0x28, 0x03, 0xd0, 0x00, 0x21, 0x28, 0x69, + 0x00, 0xf0, 0xff, 0xfb, 0x0e, 0x48, 0x29, 0x69, + 0x0c, 0xf0, 0x31, 0xfa, 0x01, 0x20, 0x0c, 0xf0, + 0xe4, 0xf8, 0x3c, 0x00, 0x1c, 0x2f, 0x00, 0x00, + 0xe0, 0x78, 0x01, 0x28, 0x02, 0xd0, 0x01, 0x20, + 0x60, 0x70, 0x00, 0xe0, 0x66, 0x70, 0x06, 0x48, + 0x14, 0x30, 0x41, 0x68, 0x01, 0x29, 0x06, 0xd1, + 0x06, 0x60, 0x41, 0x6f, 0x00, 0x29, 0x02, 0xd0, + 0x00, 0x20, 0xfd, 0xf7, 0x4c, 0xfa, 0x70, 0xbd, + 0x84, 0x66, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x30, 0xb5, 0x00, 0x22, 0x00, 0x23, 0x01, 0x25, + 0x2c, 0x1c, 0x94, 0x40, 0x3c, 0x00, 0x58, 0x2f, + 0x00, 0x00, 0x04, 0x40, 0x01, 0xd0, 0xca, 0x54, + 0x01, 0x33, 0x01, 0x32, 0x0e, 0x2a, 0xf6, 0xdb, + 0x18, 0x1c, 0x30, 0xbd, 0x00, 0x00, 0xff, 0xb5, + 0x01, 0x27, 0x00, 0x26, 0x05, 0x1c, 0x02, 0x20, + 0x81, 0xb0, 0x00, 0x90, 0x00, 0x2d, 0x18, 0xd0, + 0x28, 0x78, 0xff, 0x28, 0x15, 0xd0, 0x00, 0x24, + 0x10, 0xe0, 0x28, 0x19, 0x80, 0x78, 0x0a, 0x99, + 0x00, 0x29, 0x01, 0xd0, 0x01, 0x06, 0x3c, 0x00, + 0x94, 0x2f, 0x00, 0x00, 0x08, 0xd5, 0x07, 0xf0, + 0xe9, 0xfe, 0x0e, 0x28, 0x03, 0xd0, 0x01, 0x21, + 0x81, 0x40, 0x0e, 0x43, 0x00, 0xe0, 0x00, 0x27, + 0x01, 0x34, 0x68, 0x78, 0xa0, 0x42, 0xeb, 0xdc, + 0x00, 0x98, 0x02, 0x9d, 0x01, 0x38, 0x00, 0x90, + 0xdf, 0xd1, 0x03, 0x98, 0x31, 0x1c, 0x81, 0x43, + 0x02, 0xd0, 0x03, 0x98, 0x06, 0x40, 0x00, 0x27, + 0x04, 0x98, 0x06, 0x60, 0x05, 0xb0, 0x38, 0x1c, + 0x3c, 0x00, 0xd0, 0x2f, 0x00, 0x00, 0xf0, 0xbd, + 0x00, 0x00, 0x02, 0x21, 0x01, 0x60, 0x64, 0x21, + 0x01, 0xe0, 0x01, 0x39, 0x02, 0xd0, 0x02, 0x68, + 0x92, 0x07, 0xfa, 0xd4, 0x01, 0x20, 0x00, 0x29, + 0x00, 0xd1, 0x00, 0x20, 0x70, 0x47, 0x10, 0xb5, + 0x00, 0x20, 0xc4, 0x43, 0x05, 0x4b, 0x02, 0x22, + 0x01, 0x01, 0x5a, 0x50, 0xc9, 0x18, 0x8c, 0x60, + 0x01, 0x30, 0x08, 0x28, 0xf8, 0xdb, 0x10, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x30, 0x00, 0x00, + 0x00, 0x30, 0x07, 0x00, 0xf0, 0xb5, 0x05, 0x1c, + 0x60, 0x35, 0xc7, 0x6a, 0x04, 0x1c, 0x28, 0x7b, + 0x00, 0x2f, 0x8b, 0xb0, 0x15, 0xd0, 0x08, 0x28, + 0x15, 0xd2, 0x02, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, + 0x9f, 0x44, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, + 0x09, 0x09, 0x0c, 0x0c, 0x01, 0x26, 0x00, 0x21, + 0x09, 0xe0, 0x00, 0x26, 0x06, 0xe0, 0x02, 0x26, + 0x02, 0x21, 0x04, 0xe0, 0x3c, 0x00, 0x48, 0x30, + 0x00, 0x00, 0x03, 0x26, 0x03, 0x21, 0x01, 0xe0, + 0x04, 0x26, 0x01, 0x21, 0x8c, 0x22, 0x12, 0x59, + 0x07, 0x91, 0x26, 0x49, 0x06, 0x90, 0x04, 0x91, + 0x00, 0x20, 0x03, 0x90, 0x05, 0x97, 0x08, 0x92, + 0xe0, 0x69, 0x22, 0x69, 0x21, 0x1c, 0x70, 0x31, + 0x01, 0x91, 0x21, 0x49, 0x00, 0x90, 0x70, 0x00, + 0x40, 0x18, 0x60, 0x30, 0x02, 0x92, 0x03, 0x88, + 0x59, 0x1c, 0x01, 0x80, 0x1e, 0x48, 0x3c, 0x00, + 0x84, 0x30, 0x00, 0x00, 0x02, 0x88, 0xa1, 0x68, + 0x0a, 0xa8, 0x09, 0xf0, 0xe1, 0xff, 0x60, 0x60, + 0xe8, 0x7a, 0xa1, 0x6a, 0xc9, 0x07, 0x00, 0x07, + 0x00, 0x0e, 0xc9, 0x0d, 0x08, 0x43, 0x61, 0x6a, + 0x22, 0x69, 0xc9, 0x07, 0x89, 0x0d, 0x01, 0x43, + 0x01, 0x20, 0x00, 0x2a, 0x00, 0xd1, 0x00, 0x20, + 0x80, 0x03, 0x08, 0x43, 0x21, 0x6a, 0xc9, 0x03, + 0x08, 0x43, 0x08, 0x21, 0x08, 0x43, 0x0a, 0x99, + 0x3c, 0x00, 0xc0, 0x30, 0x00, 0x00, 0x08, 0x80, + 0x20, 0x1c, 0xfe, 0xf7, 0x98, 0xfe, 0x20, 0x69, + 0x00, 0x28, 0x04, 0xd1, 0x20, 0x1c, 0x0a, 0xf0, + 0x82, 0xf9, 0x0b, 0xb0, 0xf0, 0xbd, 0x80, 0x79, + 0x06, 0x28, 0x01, 0xd9, 0xfe, 0xf7, 0x0f, 0xf9, + 0x20, 0x69, 0x06, 0x49, 0x80, 0x79, 0x80, 0x00, + 0x09, 0x58, 0x20, 0x1c, 0xfd, 0xf7, 0x74, 0xf9, + 0xef, 0xe7, 0x79, 0x2f, 0x01, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x3c, 0x00, 0xfc, 0x30, 0x00, 0x00, + 0x08, 0x61, 0x01, 0x00, 0x74, 0x57, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x58, 0x30, 0x8a, 0xb0, + 0x0e, 0xf0, 0x7c, 0xfe, 0x22, 0x1c, 0x80, 0x32, + 0x51, 0x68, 0x00, 0x29, 0x01, 0xd0, 0x11, 0x7a, + 0x07, 0xe0, 0x00, 0x28, 0x04, 0xd0, 0x80, 0x69, + 0x80, 0x07, 0x01, 0xd5, 0x03, 0x21, 0x00, 0xe0, + 0x01, 0x21, 0xd2, 0x68, 0x07, 0x91, 0x22, 0x49, + 0x00, 0x20, 0x08, 0x92, 0x3c, 0x00, 0x38, 0x31, + 0x00, 0x00, 0x04, 0x91, 0x00, 0x22, 0x05, 0x92, + 0x06, 0x90, 0x03, 0x90, 0xe0, 0x69, 0x22, 0x69, + 0x00, 0x90, 0x21, 0x1c, 0x70, 0x31, 0x1c, 0x48, + 0x01, 0x91, 0x02, 0x92, 0x03, 0x89, 0x59, 0x1c, + 0x01, 0x81, 0x1a, 0x48, 0x02, 0x88, 0xa1, 0x68, + 0x09, 0xa8, 0x09, 0xf0, 0x76, 0xff, 0x60, 0x60, + 0x6b, 0x20, 0x00, 0x5d, 0xa1, 0x6a, 0x22, 0x69, + 0xc9, 0x07, 0x00, 0x07, 0x00, 0x0e, 0x3c, 0x00, + 0x74, 0x31, 0x00, 0x00, 0xc9, 0x0d, 0x01, 0x43, + 0x01, 0x20, 0x00, 0x2a, 0x00, 0xd1, 0x00, 0x20, + 0x80, 0x03, 0x08, 0x43, 0x09, 0x99, 0x08, 0x80, + 0x20, 0x1c, 0xfe, 0xf7, 0x35, 0xfe, 0x20, 0x69, + 0x00, 0x28, 0x04, 0xd1, 0x20, 0x1c, 0x0a, 0xf0, + 0x1f, 0xf9, 0x0a, 0xb0, 0x10, 0xbd, 0x80, 0x79, + 0x06, 0x28, 0x01, 0xd9, 0xfe, 0xf7, 0xac, 0xf8, + 0x20, 0x69, 0x07, 0x49, 0x80, 0x79, 0x80, 0x00, + 0x3c, 0x00, 0xb0, 0x31, 0x00, 0x00, 0x09, 0x58, + 0x20, 0x1c, 0xfd, 0xf7, 0x11, 0xf9, 0xef, 0xe7, + 0x00, 0x00, 0xbd, 0x2f, 0x01, 0x00, 0x24, 0x6a, + 0x01, 0x00, 0x08, 0x61, 0x01, 0x00, 0x74, 0x57, + 0x01, 0x00, 0x3e, 0xb5, 0x05, 0x1c, 0x00, 0x69, + 0x04, 0x21, 0x07, 0xf0, 0xd2, 0xfa, 0x00, 0x28, + 0x09, 0xd0, 0x42, 0x78, 0x02, 0x32, 0x01, 0x1c, + 0x68, 0x46, 0xfd, 0xf7, 0x88, 0xf9, 0xe8, 0x6a, + 0x6c, 0x46, 0x3c, 0x00, 0xec, 0x31, 0x00, 0x00, + 0x02, 0x90, 0x00, 0xe0, 0x00, 0x24, 0x28, 0x1c, + 0x14, 0x30, 0x02, 0xf0, 0x03, 0xfb, 0x00, 0x28, + 0x04, 0xd0, 0x21, 0x1c, 0x28, 0x1c, 0x05, 0xf0, + 0xa5, 0xfe, 0x3e, 0xbd, 0x00, 0x2c, 0xfc, 0xd0, + 0x02, 0x49, 0x20, 0x1c, 0x49, 0x69, 0xfd, 0xf7, + 0xe2, 0xf8, 0xf6, 0xe7, 0x44, 0x7d, 0x01, 0x00, + 0x70, 0xb5, 0x1e, 0x1c, 0x18, 0x23, 0x58, 0x43, + 0x06, 0x4b, 0x04, 0x9d, 0x3c, 0x00, 0x28, 0x32, + 0x00, 0x00, 0x19, 0x50, 0xc4, 0x18, 0x00, 0x20, + 0x60, 0x61, 0x62, 0x60, 0xa6, 0x60, 0xe5, 0x60, + 0x0f, 0xf0, 0xb9, 0xfd, 0x20, 0x61, 0x70, 0xbd, + 0x00, 0x00, 0xb8, 0x7d, 0x01, 0x00, 0x02, 0x4a, + 0x01, 0x1c, 0x90, 0x69, 0x91, 0x61, 0x70, 0x47, + 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, 0x01, 0x48, + 0x40, 0x6b, 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x04, 0x49, 0x04, 0x4b, 0x3c, 0x00, + 0x64, 0x32, 0x00, 0x00, 0xca, 0x68, 0x09, 0x69, + 0x5c, 0x3b, 0x5b, 0x68, 0xc9, 0x1a, 0x41, 0x43, + 0x50, 0x18, 0x70, 0x47, 0xa0, 0x7d, 0x01, 0x00, + 0x01, 0x48, 0x00, 0x78, 0x70, 0x47, 0x00, 0x00, + 0x78, 0x69, 0x01, 0x00, 0x80, 0xb5, 0x06, 0x22, + 0x01, 0x49, 0xfd, 0xf7, 0x35, 0xf9, 0x80, 0xbd, + 0xfe, 0x67, 0x01, 0x00, 0xf0, 0xb5, 0x89, 0xb0, + 0x00, 0x93, 0x16, 0x4f, 0x13, 0x1c, 0x0e, 0x1c, + 0x3c, 0x00, 0xa0, 0x32, 0x00, 0x00, 0x04, 0x1c, + 0x3a, 0x1c, 0x01, 0xf0, 0x62, 0xff, 0x01, 0xa9, + 0x06, 0xa8, 0xa2, 0x68, 0x02, 0xf0, 0x0b, 0xf9, + 0x01, 0xaa, 0x06, 0xa9, 0x38, 0x1c, 0x63, 0x6a, + 0x02, 0xf0, 0x81, 0xfc, 0x05, 0x1c, 0x01, 0x28, + 0x14, 0xd1, 0x0c, 0x48, 0xfc, 0x21, 0xc8, 0x51, + 0x38, 0x1c, 0x02, 0xf0, 0x0c, 0xf8, 0x03, 0x21, + 0x30, 0x1c, 0x07, 0xf0, 0x52, 0xfa, 0x00, 0x28, + 0x07, 0xd0, 0x3c, 0x00, 0xdc, 0x32, 0x00, 0x00, + 0x80, 0x78, 0x00, 0xf0, 0x33, 0xfc, 0x20, 0x1c, + 0x10, 0x30, 0x0e, 0xf0, 0x47, 0xfd, 0x00, 0xe0, + 0x00, 0x25, 0x28, 0x1c, 0x09, 0xb0, 0xf0, 0xbd, + 0xf4, 0x67, 0x01, 0x00, 0xc1, 0x38, 0x00, 0x00, + 0x10, 0xb5, 0x07, 0x4c, 0x06, 0x48, 0x06, 0x22, + 0x21, 0x1d, 0x08, 0x38, 0xfd, 0xf7, 0xf6, 0xf8, + 0x01, 0xf0, 0xfc, 0xff, 0x00, 0xf0, 0x42, 0xfc, + 0x20, 0x1c, 0x02, 0xf0, 0x3c, 0x00, 0x18, 0x33, + 0x00, 0x00, 0x27, 0xfc, 0x10, 0xbd, 0xf4, 0x67, + 0x01, 0x00, 0x08, 0x49, 0xc9, 0x68, 0x00, 0x29, + 0x0a, 0xd0, 0x06, 0x4a, 0x01, 0x32, 0x51, 0x78, + 0x12, 0x78, 0x48, 0x43, 0x00, 0x2a, 0x01, 0xd1, + 0x08, 0x18, 0x70, 0x47, 0x10, 0x18, 0x70, 0x47, + 0x01, 0x30, 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x04, 0x4b, 0x05, 0x49, 0x00, 0x28, + 0x5a, 0x69, 0x00, 0xd0, 0x01, 0x1c, 0x3c, 0x00, + 0x54, 0x33, 0x00, 0x00, 0x10, 0x1c, 0x59, 0x61, + 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, + 0xb9, 0x75, 0x00, 0x00, 0x07, 0x49, 0x00, 0x20, + 0x0a, 0x78, 0x02, 0x2a, 0x09, 0xd1, 0x0a, 0x7c, + 0x00, 0x2a, 0x05, 0xd1, 0xca, 0x68, 0x00, 0x2a, + 0x03, 0xd0, 0x49, 0x69, 0x00, 0x29, 0x00, 0xd0, + 0x01, 0x20, 0x70, 0x47, 0x78, 0x69, 0x01, 0x00, + 0x0c, 0x4a, 0x80, 0xb5, 0x01, 0x21, 0x51, 0x60, + 0x3c, 0x00, 0x90, 0x33, 0x00, 0x00, 0x09, 0xf0, + 0x6a, 0xf8, 0x09, 0x48, 0x1c, 0x30, 0x81, 0x69, + 0x00, 0x29, 0x07, 0xd0, 0x00, 0x23, 0x83, 0x61, + 0x00, 0x22, 0x00, 0x21, 0x00, 0x20, 0x00, 0xf0, + 0xd2, 0xf8, 0x80, 0xbd, 0x00, 0x22, 0x00, 0x21, + 0x03, 0x48, 0x00, 0xf0, 0x5c, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0x5c, 0x69, 0x01, 0x00, 0x51, 0x35, + 0x00, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, 0x01, 0x28, + 0x16, 0xd1, 0x3c, 0x00, 0xcc, 0x33, 0x00, 0x00, + 0x0e, 0x4d, 0x02, 0x2c, 0x09, 0xd1, 0x00, 0xf0, + 0x2b, 0xfa, 0x00, 0x28, 0x0e, 0xd0, 0x68, 0x69, + 0x00, 0x28, 0x0b, 0xd1, 0x21, 0x1c, 0x13, 0x20, + 0x0c, 0xe0, 0x03, 0x2c, 0xfa, 0xd1, 0x00, 0xf0, + 0xf9, 0xf9, 0x00, 0x28, 0x02, 0xd0, 0x28, 0x7c, + 0x00, 0x28, 0xf3, 0xd0, 0xb0, 0xbd, 0x21, 0x1c, + 0x00, 0x06, 0x00, 0x0e, 0x04, 0xf0, 0x62, 0xfc, + 0xb0, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x34, + 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, 0xb0, 0xb5, + 0x0c, 0x4c, 0x00, 0x25, 0x25, 0x74, 0x65, 0x61, + 0xe5, 0x60, 0x00, 0xf0, 0x3c, 0xfa, 0x00, 0xf0, + 0x34, 0xfa, 0x07, 0x48, 0x1c, 0x38, 0x05, 0x61, + 0x09, 0xf0, 0x33, 0xff, 0x20, 0x78, 0x00, 0x28, + 0x02, 0xd1, 0x04, 0xf0, 0x6e, 0xfa, 0xb0, 0xbd, + 0x02, 0x28, 0xfc, 0xd1, 0x04, 0xf0, 0xa5, 0xfb, + 0xb0, 0xbd, 0x78, 0x69, 0x01, 0x00, 0x3c, 0x00, + 0x44, 0x34, 0x00, 0x00, 0x0c, 0x48, 0x80, 0xb5, + 0x01, 0x78, 0x00, 0x29, 0x12, 0xd0, 0xc0, 0x68, + 0x00, 0x28, 0x0f, 0xd1, 0x08, 0x48, 0x1c, 0x38, + 0x40, 0x69, 0x00, 0x28, 0x0a, 0xd1, 0x07, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x06, 0xd0, 0x00, 0x22, + 0x07, 0x21, 0x10, 0x20, 0x10, 0xf0, 0xa0, 0xf9, + 0x02, 0xf0, 0x2c, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0x78, 0x69, 0x01, 0x00, 0xd4, 0x67, 0x01, 0x00, + 0x3c, 0x00, 0x80, 0x34, 0x00, 0x00, 0xf8, 0xb5, + 0x1d, 0x4e, 0x1c, 0x4d, 0x04, 0x1c, 0xf0, 0x68, + 0x02, 0x27, 0x1c, 0x3d, 0x00, 0x28, 0x07, 0xd0, + 0xe8, 0x68, 0x00, 0x28, 0x04, 0xd0, 0xfd, 0xf7, + 0xc2, 0xfe, 0x00, 0x28, 0x00, 0xd0, 0xbc, 0x43, + 0x00, 0x2c, 0x14, 0xd0, 0x37, 0x70, 0xf0, 0x68, + 0x14, 0x4f, 0x00, 0x28, 0x10, 0xd0, 0xe0, 0x07, + 0x17, 0xd4, 0xfd, 0xf7, 0xb4, 0xfe, 0x00, 0x28, + 0x13, 0xd0, 0x3c, 0x00, 0xbc, 0x34, 0x00, 0x00, + 0x70, 0x69, 0x00, 0x28, 0x06, 0xd1, 0xe8, 0x68, + 0x00, 0x28, 0x01, 0xd0, 0xfd, 0xf7, 0x1a, 0xff, + 0x0d, 0xf0, 0x0a, 0xfa, 0xf8, 0xbd, 0x68, 0x69, + 0x00, 0x28, 0x05, 0xd1, 0x09, 0x48, 0x00, 0x68, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x2c, 0x04, 0xd1, + 0x39, 0x1c, 0x20, 0x1c, 0x0e, 0xf0, 0x52, 0xfd, + 0xf0, 0xe7, 0x04, 0xf0, 0x1d, 0xfb, 0x02, 0xf0, + 0xeb, 0xfb, 0xeb, 0xe7, 0x3c, 0x00, 0xf8, 0x34, + 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, 0x50, 0xc3, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0x05, 0x48, + 0x41, 0x69, 0x00, 0x29, 0x04, 0xd0, 0x40, 0x6a, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x20, 0x70, 0x47, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x06, 0x49, + 0x00, 0x20, 0x48, 0x60, 0x08, 0x60, 0x88, 0x60, + 0x08, 0xf0, 0x9b, 0xff, 0x07, 0x21, 0x3c, 0x00, + 0x34, 0x35, 0x00, 0x00, 0x12, 0x20, 0x22, 0x79, + 0x10, 0xf0, 0x3a, 0xf9, 0x10, 0xbd, 0x00, 0x00, + 0x5c, 0x69, 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, + 0x08, 0x60, 0x70, 0x47, 0xe8, 0x67, 0x01, 0x00, + 0xf8, 0xb5, 0x07, 0x1c, 0x0e, 0x1c, 0x08, 0xf0, + 0xa3, 0xfa, 0x13, 0x4d, 0x04, 0x1c, 0x68, 0x68, + 0x00, 0x28, 0x17, 0xd0, 0x00, 0x2f, 0x02, 0xd0, + 0xa8, 0x68, 0x03, 0x28, 0x13, 0xd3, 0x00, 0x20, + 0x3c, 0x00, 0x70, 0x35, 0x00, 0x00, 0xa8, 0x60, + 0x68, 0x60, 0x21, 0x1c, 0x0f, 0x20, 0x0e, 0xf0, + 0xf0, 0xfe, 0x28, 0x68, 0x00, 0x28, 0x03, 0xd0, + 0x00, 0x2c, 0x06, 0xd1, 0x01, 0x20, 0x02, 0xe0, + 0x01, 0x2c, 0x02, 0xd1, 0x00, 0x20, 0xff, 0xf7, + 0xfa, 0xfe, 0xf8, 0xbd, 0x72, 0x1c, 0x00, 0x21, + 0x04, 0x48, 0x00, 0xf0, 0x68, 0xf8, 0xa8, 0x68, + 0x01, 0x30, 0xa8, 0x60, 0xf5, 0xe7, 0x5c, 0x69, + 0x01, 0x00, 0x3c, 0x00, 0xac, 0x35, 0x00, 0x00, + 0x51, 0x35, 0x00, 0x00, 0x0a, 0x49, 0x80, 0xb5, + 0xca, 0x68, 0x00, 0x2a, 0x0b, 0xd0, 0x42, 0x68, + 0x00, 0x2a, 0x09, 0xd0, 0x00, 0x22, 0x4a, 0x62, + 0x02, 0x68, 0x0a, 0x62, 0x02, 0x68, 0x07, 0x21, + 0x17, 0x20, 0x10, 0xf0, 0xef, 0xf8, 0x80, 0xbd, + 0x01, 0x20, 0x48, 0x62, 0x80, 0xbd, 0x00, 0x00, + 0x78, 0x69, 0x01, 0x00, 0x70, 0xb5, 0x14, 0x4d, + 0x84, 0x6c, 0xe9, 0x68, 0x3c, 0x00, 0xe8, 0x35, + 0x00, 0x00, 0x00, 0x29, 0x17, 0xd0, 0x40, 0x30, + 0xec, 0x61, 0x40, 0x78, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x68, 0x62, 0x28, 0x6a, 0x0e, 0x4e, + 0x00, 0x1b, 0xb0, 0x42, 0x0c, 0xd2, 0x08, 0xf0, + 0x3a, 0xfe, 0x29, 0x6a, 0x40, 0x1a, 0xb0, 0x42, + 0x03, 0xd2, 0x02, 0x22, 0x07, 0x21, 0x13, 0x20, + 0x09, 0xe0, 0x04, 0xf0, 0xb6, 0xfa, 0x70, 0xbd, + 0x07, 0x48, 0xa9, 0x68, 0x0b, 0xf0, 0x3c, 0x00, + 0x24, 0x36, 0x00, 0x00, 0xbd, 0xfe, 0x22, 0x1c, + 0x07, 0x21, 0x16, 0x20, 0x10, 0xf0, 0xc0, 0xf8, + 0x70, 0xbd, 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, + 0xa0, 0x86, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x0a, 0x49, 0x80, 0xb5, 0x00, 0x20, 0x88, 0x61, + 0x08, 0x69, 0x00, 0x28, 0x0c, 0xd0, 0x07, 0x48, + 0x1c, 0x30, 0x00, 0x78, 0x00, 0x28, 0x07, 0xd0, + 0x01, 0xf0, 0xd2, 0xff, 0x02, 0x28, 0x03, 0xd1, + 0x3c, 0x00, 0x60, 0x36, 0x00, 0x00, 0x00, 0xf0, + 0x12, 0xf9, 0x00, 0xf0, 0xbc, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0x5c, 0x69, 0x01, 0x00, 0xf0, 0xb5, + 0x06, 0x1c, 0x0c, 0x1c, 0x15, 0x1c, 0x91, 0xb0, + 0x01, 0xa8, 0x40, 0x21, 0xfc, 0xf7, 0x0d, 0xff, + 0x00, 0x21, 0x68, 0x46, 0xfd, 0xf7, 0xa7, 0xff, + 0x04, 0x90, 0x01, 0xa8, 0x06, 0x22, 0x08, 0x49, + 0xfc, 0xf7, 0x31, 0xff, 0x06, 0x22, 0x02, 0xa8, + 0x02, 0x30, 0x3c, 0x00, 0x9c, 0x36, 0x00, 0x00, + 0x06, 0x49, 0xfc, 0xf7, 0x2b, 0xff, 0x00, 0xab, + 0xdc, 0x76, 0x0c, 0x95, 0x31, 0x1c, 0x01, 0xa8, + 0x07, 0xf0, 0x4e, 0xf8, 0x11, 0xb0, 0xf0, 0xbd, + 0x12, 0x61, 0x01, 0x00, 0xf8, 0x67, 0x01, 0x00, + 0x03, 0x1c, 0x08, 0x1c, 0x19, 0x1c, 0x11, 0x4b, + 0x80, 0xb5, 0x06, 0xd0, 0x04, 0x21, 0x11, 0x80, + 0x04, 0x22, 0x19, 0x1c, 0xfc, 0xf7, 0x12, 0xff, + 0x16, 0xe0, 0x04, 0x22, 0x3c, 0x00, 0xd8, 0x36, + 0x00, 0x00, 0x01, 0x1c, 0x18, 0x1c, 0xfc, 0xf7, + 0x0c, 0xff, 0x09, 0x48, 0x10, 0x38, 0x00, 0x69, + 0x00, 0x28, 0x0c, 0xd0, 0x07, 0x48, 0x0c, 0x30, + 0x00, 0x78, 0x00, 0x28, 0x07, 0xd0, 0x01, 0xf0, + 0x84, 0xff, 0x02, 0x28, 0x03, 0xd1, 0x00, 0xf0, + 0xc4, 0xf8, 0x00, 0xf0, 0x6e, 0xf8, 0x01, 0x20, + 0x80, 0xbd, 0x6c, 0x69, 0x01, 0x00, 0xf8, 0xb5, + 0x04, 0x1c, 0x0f, 0x1c, 0x00, 0x25, 0x3c, 0x00, + 0x14, 0x37, 0x00, 0x00, 0x00, 0x26, 0x01, 0xf0, + 0x73, 0xff, 0x02, 0x28, 0x2f, 0xd1, 0x19, 0x49, + 0x01, 0x2f, 0x08, 0x68, 0x07, 0xd1, 0x02, 0x1c, + 0x22, 0x40, 0x0a, 0xd1, 0x20, 0x43, 0x08, 0x60, + 0xa0, 0x42, 0x06, 0xd1, 0x04, 0xe0, 0x00, 0x28, + 0x03, 0xd0, 0xa0, 0x43, 0x08, 0x60, 0x00, 0xd1, + 0x01, 0x25, 0x48, 0x68, 0x00, 0x28, 0x1a, 0xd1, + 0x00, 0x2d, 0x17, 0xd0, 0x01, 0x20, 0x48, 0x60, + 0x3c, 0x00, 0x50, 0x37, 0x00, 0x00, 0x38, 0x1c, + 0x08, 0xf0, 0x89, 0xfe, 0x0b, 0x48, 0x1c, 0x30, + 0x81, 0x69, 0x00, 0x29, 0x07, 0xd0, 0x00, 0x23, + 0x83, 0x61, 0x00, 0x22, 0x00, 0x21, 0x00, 0x20, + 0xff, 0xf7, 0xf1, 0xfe, 0x06, 0xe0, 0x00, 0x22, + 0x00, 0x21, 0x04, 0x48, 0xff, 0xf7, 0x7b, 0xff, + 0x00, 0xe0, 0x01, 0x26, 0x30, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x5c, 0x69, 0x01, 0x00, 0x51, 0x35, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x37, 0x00, 0x00, + 0x03, 0x1c, 0x08, 0x1c, 0x19, 0x1c, 0x12, 0x4b, + 0x80, 0xb5, 0x06, 0xd0, 0x04, 0x21, 0x11, 0x80, + 0x04, 0x22, 0x19, 0x1c, 0xfc, 0xf7, 0xaa, 0xfe, + 0x18, 0xe0, 0x04, 0x22, 0x01, 0x1c, 0x18, 0x1c, + 0xfc, 0xf7, 0xa4, 0xfe, 0x0a, 0x48, 0x10, 0x30, + 0xc1, 0x68, 0x00, 0x29, 0x0e, 0xd0, 0x00, 0x78, + 0x00, 0x28, 0x0b, 0xd0, 0x01, 0xf0, 0x1e, 0xff, + 0x02, 0x28, 0x07, 0xd1, 0x3c, 0x00, 0xc8, 0x37, + 0x00, 0x00, 0x00, 0xf0, 0x64, 0xf8, 0x00, 0xf0, + 0x2e, 0xf8, 0x00, 0x28, 0x01, 0xd1, 0x09, 0xf0, + 0x7a, 0xfd, 0x01, 0x20, 0x80, 0xbd, 0x68, 0x69, + 0x01, 0x00, 0x10, 0xb5, 0x0a, 0x4c, 0x20, 0x69, + 0x00, 0x28, 0x09, 0xd0, 0xa1, 0x69, 0x00, 0x29, + 0x06, 0xd1, 0x7d, 0x21, 0xc9, 0x00, 0x41, 0x43, + 0x03, 0x22, 0x07, 0x20, 0x0f, 0xf0, 0xe1, 0xfe, + 0x21, 0x69, 0x01, 0x20, 0x00, 0x29, 0x3c, 0x00, + 0x04, 0x38, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x20, + 0x10, 0xbd, 0x00, 0x00, 0x5c, 0x69, 0x01, 0x00, + 0x10, 0xb5, 0x05, 0x4c, 0x00, 0x28, 0x03, 0xd0, + 0xfd, 0xf7, 0x9a, 0xfc, 0xe0, 0x60, 0x10, 0xbd, + 0x01, 0x20, 0x00, 0x21, 0xe1, 0x60, 0x10, 0xbd, + 0x78, 0x69, 0x01, 0x00, 0x0a, 0x48, 0x0a, 0x49, + 0x10, 0xb5, 0xc0, 0x68, 0x1c, 0x39, 0xc9, 0x68, + 0x00, 0x28, 0x03, 0xd0, 0x00, 0x29, 0x01, 0xd0, + 0x3c, 0x00, 0x40, 0x38, 0x00, 0x00, 0x01, 0x24, + 0x00, 0xe0, 0x00, 0x24, 0x00, 0x2c, 0x03, 0xd0, + 0x02, 0x22, 0x07, 0x20, 0x0f, 0xf0, 0xb7, 0xfe, + 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x10, 0xb5, 0x09, 0x4c, 0x00, 0x20, + 0x21, 0x69, 0x00, 0x29, 0x0c, 0xd0, 0x06, 0x49, + 0x1c, 0x31, 0x09, 0x78, 0x00, 0x29, 0x07, 0xd0, + 0x00, 0xf0, 0x09, 0xf8, 0x01, 0x20, 0xa0, 0x61, + 0x20, 0x69, 0x3c, 0x00, 0x7c, 0x38, 0x00, 0x00, + 0x7d, 0x23, 0xdb, 0x00, 0x58, 0x43, 0x10, 0xbd, + 0x5c, 0x69, 0x01, 0x00, 0x80, 0xb5, 0x03, 0x21, + 0x07, 0x20, 0x0f, 0xf0, 0xd1, 0xfe, 0x80, 0xbd, + 0x80, 0xb5, 0x02, 0x21, 0x07, 0x20, 0x0f, 0xf0, + 0xcb, 0xfe, 0x80, 0xbd, 0x06, 0x48, 0x80, 0xb5, + 0x00, 0x78, 0x00, 0x28, 0x01, 0xd0, 0xfd, 0xf7, + 0x29, 0xfd, 0x00, 0x22, 0x07, 0x21, 0x11, 0x20, + 0x0f, 0xf0, 0x7c, 0xff, 0x3c, 0x00, 0xb8, 0x38, + 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x10, 0x1c, + 0x06, 0x4a, 0x51, 0x61, 0x00, 0xf0, 0xa3, 0xf8, + 0x10, 0x20, 0x00, 0x2c, 0x00, 0xd1, 0x11, 0x20, + 0x00, 0x22, 0x07, 0x21, 0x0f, 0xf0, 0x69, 0xff, + 0x10, 0xbd, 0x5c, 0x69, 0x01, 0x00, 0x01, 0x49, + 0x48, 0x62, 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x10, 0xb5, 0x09, 0x4c, 0x3c, 0x00, + 0xf4, 0x38, 0x00, 0x00, 0xe0, 0x69, 0x00, 0x28, + 0x0c, 0xd1, 0xe0, 0x62, 0x01, 0x20, 0xe0, 0x61, + 0x0b, 0xf0, 0x08, 0xfd, 0x0b, 0xf0, 0x74, 0xfe, + 0x01, 0x20, 0x00, 0xf0, 0xb5, 0xf8, 0x0f, 0xf0, + 0x4d, 0xfa, 0x60, 0x63, 0x10, 0xbd, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x05, 0x49, 0x80, 0xb5, + 0x00, 0x20, 0xc8, 0x61, 0x88, 0x63, 0x00, 0xf0, + 0x89, 0xf8, 0x00, 0xf0, 0x01, 0xf9, 0x02, 0xf0, + 0x3c, 0x00, 0x30, 0x39, 0x00, 0x00, 0x91, 0xfb, + 0x80, 0xbd, 0x44, 0x7d, 0x01, 0x00, 0x10, 0xb5, + 0x01, 0x28, 0x38, 0xd1, 0x08, 0x06, 0x00, 0x0e, + 0x05, 0x28, 0x32, 0xd1, 0x1d, 0x4c, 0x20, 0x78, + 0x01, 0x28, 0x09, 0xd0, 0x02, 0x28, 0x1b, 0xd0, + 0x03, 0x28, 0x2a, 0xd1, 0x02, 0xf0, 0x7d, 0xfb, + 0x00, 0xf0, 0x6f, 0xf8, 0x01, 0x20, 0x10, 0xe0, + 0x17, 0x48, 0x21, 0x6b, 0x0b, 0xf0, 0x1b, 0xfd, + 0x0b, 0xf0, 0x3c, 0x00, 0x6c, 0x39, 0x00, 0x00, + 0x41, 0xfe, 0x15, 0x48, 0x00, 0x69, 0x03, 0x28, + 0x01, 0xd3, 0xc0, 0x07, 0x03, 0xd5, 0x01, 0x21, + 0x20, 0x6b, 0x07, 0xf0, 0x19, 0xff, 0x02, 0x20, + 0x00, 0xf0, 0x78, 0xf8, 0x10, 0xbd, 0x0f, 0x48, + 0x00, 0x68, 0x20, 0x64, 0x0a, 0x48, 0x5c, 0x30, + 0xc1, 0x68, 0x02, 0x69, 0x89, 0x18, 0xc1, 0x60, + 0x03, 0xf0, 0xcc, 0xfc, 0x03, 0x20, 0x00, 0xf0, + 0x69, 0xf8, 0x01, 0x20, 0x3c, 0x00, 0xa8, 0x39, + 0x00, 0x00, 0xe0, 0x62, 0x10, 0xbd, 0x09, 0x21, + 0x00, 0xe0, 0x08, 0x21, 0x09, 0x20, 0xfd, 0xf7, + 0x76, 0xfc, 0x10, 0xbd, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, 0xf4, 0x68, + 0x01, 0x00, 0x78, 0x6e, 0x01, 0x00, 0xb0, 0xb5, + 0x0f, 0x4c, 0x20, 0x78, 0x65, 0x1e, 0x01, 0x28, + 0x0f, 0xd1, 0x00, 0x20, 0xff, 0xf7, 0xa1, 0xfc, + 0x0c, 0x49, 0x09, 0x88, 0x49, 0x08, 0x3c, 0x00, + 0xe4, 0x39, 0x00, 0x00, 0x40, 0x1a, 0x0f, 0xf0, + 0x19, 0xf9, 0x00, 0x28, 0x04, 0xd0, 0x28, 0x78, + 0x01, 0x28, 0x07, 0xd0, 0x02, 0x28, 0x05, 0xd0, + 0x20, 0x78, 0x00, 0x28, 0x04, 0xd1, 0x28, 0x78, + 0x03, 0x28, 0x01, 0xd1, 0x01, 0x20, 0xb0, 0xbd, + 0x00, 0x20, 0xb0, 0xbd, 0x45, 0x7d, 0x01, 0x00, + 0xf4, 0x67, 0x01, 0x00, 0x01, 0x49, 0xc8, 0x64, + 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, + 0x3c, 0x00, 0x20, 0x3a, 0x00, 0x00, 0x04, 0x49, + 0x05, 0x4a, 0x89, 0x68, 0x12, 0x6d, 0x01, 0x20, + 0x91, 0x42, 0x00, 0xd3, 0x00, 0x20, 0x70, 0x47, + 0x00, 0x00, 0xf4, 0x68, 0x01, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x10, 0xb5, 0x06, 0x4c, 0x20, 0x6b, + 0x07, 0xf0, 0xf9, 0xfe, 0xa0, 0x6b, 0x00, 0x28, + 0x03, 0xd1, 0x03, 0x48, 0x21, 0x6b, 0x0b, 0xf0, + 0x92, 0xfc, 0x10, 0xbd, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x3c, 0x00, 0x5c, 0x3a, 0x00, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x04, 0x48, 0x00, 0x78, + 0x02, 0x28, 0x01, 0xd0, 0x03, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x44, 0x7d, 0x01, 0x00, 0xf8, 0xb5, 0x07, 0x1c, + 0xff, 0xf7, 0xd0, 0xff, 0x06, 0x1c, 0x01, 0x2f, + 0x26, 0x4d, 0x1f, 0xd0, 0x02, 0x2f, 0x45, 0xd0, + 0x03, 0x2f, 0x12, 0xd1, 0x24, 0x48, 0x25, 0x4b, + 0x00, 0x69, 0x6a, 0x69, 0x3c, 0x00, 0x98, 0x3a, + 0x00, 0x00, 0x41, 0x08, 0x5a, 0x43, 0x23, 0x4b, + 0xd4, 0x18, 0x8c, 0x42, 0x00, 0xd9, 0x0c, 0x1c, + 0x00, 0x2e, 0x05, 0xd0, 0x1e, 0x49, 0x5b, 0x39, + 0x09, 0x78, 0x00, 0x29, 0x00, 0xd1, 0x04, 0x1c, + 0x05, 0x22, 0x21, 0x1c, 0x09, 0x20, 0x0f, 0xf0, + 0x80, 0xfd, 0x18, 0x4a, 0x5c, 0x3a, 0x17, 0x70, + 0xf8, 0xbd, 0xff, 0xf7, 0xd6, 0xfb, 0x00, 0x28, + 0x02, 0xd0, 0x28, 0x69, 0x00, 0x28, 0x3c, 0x00, + 0xd4, 0x3a, 0x00, 0x00, 0x0e, 0xd0, 0x04, 0xf0, + 0xcf, 0xfb, 0x13, 0x4b, 0x69, 0x69, 0x11, 0x4a, + 0x59, 0x43, 0x5c, 0x3a, 0xd2, 0x6b, 0x89, 0x18, + 0x88, 0x42, 0x01, 0xd9, 0x44, 0x1a, 0x04, 0xe0, + 0x00, 0x24, 0x02, 0xe0, 0x04, 0xf0, 0xae, 0xfd, + 0x04, 0x1c, 0x00, 0x2e, 0xdb, 0xd0, 0x09, 0x48, + 0x5b, 0x38, 0x00, 0x78, 0x01, 0x28, 0xd6, 0xd1, + 0x08, 0x4b, 0x9c, 0x42, 0x02, 0xd9, 0x58, 0x42, + 0x3c, 0x00, 0x10, 0x3b, 0x00, 0x00, 0x24, 0x18, + 0xd0, 0xe7, 0x00, 0x24, 0xce, 0xe7, 0x04, 0xf0, + 0xae, 0xfb, 0xca, 0xe7, 0x00, 0x00, 0xf4, 0x68, + 0x01, 0x00, 0xa0, 0x7d, 0x01, 0x00, 0x98, 0x3a, + 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, 0x80, 0xb5, + 0x05, 0x21, 0x09, 0x20, 0x0f, 0xf0, 0x7d, 0xfd, + 0x02, 0x49, 0x00, 0x20, 0x08, 0x70, 0x80, 0xbd, + 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, 0x70, 0xb5, + 0x06, 0x1c, 0x3c, 0x00, 0x4c, 0x3b, 0x00, 0x00, + 0x0d, 0xf0, 0xbc, 0xfa, 0xff, 0xf7, 0xce, 0xfe, + 0x09, 0x4c, 0x0a, 0x48, 0x21, 0x6b, 0x0b, 0xf0, + 0x21, 0xfc, 0x01, 0x25, 0x01, 0x21, 0x30, 0x06, + 0x00, 0x0e, 0xa5, 0x63, 0x07, 0xf0, 0x3a, 0xfe, + 0x05, 0x48, 0x29, 0x02, 0x09, 0x58, 0x00, 0x29, + 0x00, 0xd1, 0x05, 0x61, 0x70, 0xbd, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0xf4, 0x67, 0x01, 0x00, 0x3c, 0x00, 0x88, 0x3b, + 0x00, 0x00, 0x02, 0x4a, 0x11, 0x6c, 0x08, 0x43, + 0x10, 0x64, 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x80, 0xb5, 0xff, 0xf7, 0xbf, 0xfe, + 0x0b, 0xf0, 0xa1, 0xfb, 0x80, 0xbd, 0x02, 0x4a, + 0x01, 0x1c, 0x10, 0x69, 0x11, 0x61, 0x70, 0x47, + 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, 0xf3, 0xb5, + 0x06, 0x1c, 0x00, 0x20, 0x89, 0xb0, 0xf8, 0x4c, + 0x08, 0x90, 0xe2, 0x69, 0x08, 0x25, 0x3c, 0x00, + 0xc4, 0x3b, 0x00, 0x00, 0x00, 0x2a, 0x03, 0xd0, + 0x06, 0xa9, 0x07, 0xa8, 0xfc, 0xf7, 0x06, 0xfc, + 0x30, 0x1c, 0xf3, 0x4e, 0x00, 0x27, 0x20, 0x36, + 0x82, 0x28, 0x6f, 0xd0, 0x15, 0xdc, 0x01, 0x28, + 0x18, 0xd0, 0x80, 0x28, 0x6b, 0xd1, 0xee, 0x4d, + 0x80, 0x3d, 0xa8, 0x68, 0x01, 0x28, 0x67, 0xd1, + 0x68, 0x68, 0x0f, 0xf0, 0x1b, 0xf8, 0x00, 0x28, + 0x63, 0xd1, 0x01, 0x21, 0x01, 0x20, 0x0d, 0xf0, + 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x9d, 0xf8, + 0x08, 0xf0, 0xdb, 0xfd, 0x0b, 0xb0, 0xf0, 0xbd, + 0x83, 0x28, 0x6d, 0xd0, 0x84, 0x28, 0x55, 0xd1, + 0xe7, 0xe0, 0x0a, 0x98, 0x0a, 0x28, 0x04, 0xd2, + 0x03, 0xa3, 0x1b, 0x18, 0x1b, 0x5a, 0x5b, 0x00, + 0x9f, 0x44, 0xf6, 0xe0, 0x00, 0x00, 0xee, 0x00, + 0x0b, 0x00, 0xf7, 0x00, 0xf7, 0x00, 0xf7, 0x00, + 0xf7, 0x00, 0x2f, 0x00, 0x88, 0x00, 0x8b, 0x00, + 0xad, 0x00, 0x3c, 0x00, 0x3c, 0x3c, 0x00, 0x00, + 0x00, 0xf0, 0x56, 0xfe, 0x00, 0x28, 0x17, 0xd0, + 0xd6, 0x4a, 0x80, 0x3a, 0xd1, 0x6a, 0x06, 0x98, + 0x81, 0x42, 0x16, 0xd0, 0x06, 0x21, 0x00, 0x28, + 0x00, 0xd1, 0x07, 0x21, 0x0d, 0x06, 0x2d, 0x0e, + 0x00, 0x28, 0x0e, 0xd0, 0xcf, 0x4a, 0x01, 0x20, + 0x80, 0x3a, 0x50, 0x65, 0x0f, 0xf0, 0xa0, 0xf8, + 0xcc, 0x4a, 0x80, 0x3a, 0x50, 0x66, 0x04, 0xe0, + 0x00, 0x21, 0x16, 0x20, 0x3c, 0x00, 0x78, 0x3c, + 0x00, 0x00, 0x0f, 0xf0, 0xdc, 0xfc, 0x01, 0x25, + 0x02, 0x20, 0x05, 0x90, 0x2e, 0xe2, 0xc6, 0x48, + 0x80, 0x38, 0x40, 0x6d, 0x00, 0x28, 0x2e, 0xd0, + 0xc6, 0x49, 0x20, 0x69, 0xc4, 0x4d, 0x40, 0x18, + 0x0e, 0xf0, 0xc1, 0xff, 0x00, 0x28, 0x12, 0xd0, + 0x0f, 0xf0, 0x85, 0xf8, 0xc1, 0x49, 0x49, 0x42, + 0x40, 0x18, 0xbd, 0x49, 0x20, 0x61, 0x80, 0x39, + 0x48, 0x6e, 0x40, 0x19, 0x0e, 0xf0, 0x3c, 0x00, + 0xb4, 0x3c, 0x00, 0x00, 0xbb, 0xff, 0x00, 0x28, + 0x11, 0xd0, 0x0a, 0xe0, 0xf7, 0xe0, 0x17, 0xe2, + 0xb2, 0xe0, 0xb0, 0xe0, 0xb6, 0x49, 0x20, 0x69, + 0x80, 0x39, 0x49, 0x6e, 0x40, 0x1a, 0xa8, 0x42, + 0x05, 0xdb, 0xb3, 0x49, 0xb5, 0x4d, 0x80, 0x39, + 0x4f, 0x65, 0x03, 0xf0, 0x27, 0xfb, 0x06, 0x22, + 0x29, 0x1c, 0x16, 0x20, 0x0f, 0xf0, 0x72, 0xfc, + 0x47, 0xe0, 0x95, 0xe0, 0x00, 0xf0, 0xfe, 0xfd, + 0x3c, 0x00, 0xf0, 0x3c, 0x00, 0x00, 0x00, 0x28, + 0x42, 0xd1, 0xaa, 0x4d, 0xc4, 0x3d, 0xef, 0x60, + 0x08, 0xf0, 0x19, 0xfd, 0x03, 0xf0, 0x15, 0xfb, + 0xa8, 0x6a, 0x00, 0x28, 0x02, 0xd0, 0xff, 0xf7, + 0x4c, 0xff, 0xaf, 0x62, 0xa4, 0x48, 0x80, 0x38, + 0x00, 0x68, 0x00, 0x21, 0xff, 0xf7, 0xf9, 0xfc, + 0x08, 0xf0, 0x3f, 0xf9, 0x09, 0x21, 0x16, 0x20, + 0x0f, 0xf0, 0x87, 0xfc, 0x00, 0x22, 0x16, 0x21, + 0x83, 0x20, 0x3c, 0x00, 0x2c, 0x3d, 0x00, 0x00, + 0x0f, 0xf0, 0x40, 0xfd, 0xff, 0xf7, 0x86, 0xfc, + 0x21, 0xe0, 0x00, 0xf0, 0x1b, 0xfe, 0x1e, 0xe0, + 0x06, 0xf0, 0x54, 0xfa, 0x97, 0x4d, 0x80, 0x3d, + 0xa9, 0x6f, 0x40, 0x1a, 0x04, 0x90, 0x06, 0x98, + 0x00, 0x28, 0x01, 0xd0, 0xaf, 0x65, 0x02, 0xe0, + 0xa8, 0x6d, 0x00, 0x28, 0x08, 0xd1, 0x91, 0x48, + 0xc4, 0x38, 0x00, 0x78, 0x80, 0x07, 0x03, 0xd5, + 0x92, 0x48, 0x47, 0x60, 0x3c, 0x00, 0x68, 0x3d, + 0x00, 0x00, 0x00, 0xf0, 0x02, 0xfe, 0x04, 0x98, + 0xff, 0x38, 0x23, 0x38, 0x14, 0x28, 0x02, 0xd2, + 0x01, 0x20, 0xe8, 0x63, 0x53, 0xe0, 0xef, 0x63, + 0x51, 0xe0, 0x87, 0x4a, 0xb5, 0x7a, 0x80, 0x3a, + 0x00, 0x2d, 0x4c, 0xd0, 0x0d, 0xf0, 0x71, 0xff, + 0x00, 0xf0, 0xad, 0xfd, 0x07, 0x1c, 0x82, 0x48, + 0x80, 0x38, 0x40, 0x6f, 0xff, 0x30, 0x5f, 0x30, + 0x0e, 0xf0, 0x3d, 0xff, 0x02, 0x1c, 0x3c, 0x00, + 0xa4, 0x3d, 0x00, 0x00, 0x7e, 0x48, 0x80, 0x38, + 0x40, 0x6d, 0x00, 0x28, 0x1a, 0xd1, 0x00, 0xf0, + 0xf1, 0xfd, 0x00, 0x28, 0x16, 0xd1, 0x04, 0x2d, + 0x02, 0xd1, 0x00, 0x2f, 0x12, 0xd1, 0x1b, 0xe0, + 0x00, 0x2f, 0x06, 0xd0, 0x02, 0x2d, 0x14, 0xd0, + 0x79, 0x48, 0x40, 0x68, 0x00, 0x28, 0x09, 0xd0, + 0x12, 0xe0, 0x00, 0x2a, 0x10, 0xd1, 0x4b, 0x21, + 0xc9, 0x00, 0x01, 0x23, 0x09, 0x22, 0x16, 0x20, + 0x3c, 0x00, 0xe0, 0x3d, 0x00, 0x00, 0x0f, 0xf0, + 0xd6, 0xfc, 0x6e, 0x4a, 0x73, 0x48, 0x80, 0x3a, + 0x11, 0x68, 0x0b, 0xf0, 0xd8, 0xfa, 0x18, 0xe0, + 0x01, 0x21, 0x00, 0x20, 0x01, 0xe0, 0x01, 0x21, + 0x01, 0x20, 0x00, 0xf0, 0x2a, 0xfe, 0x10, 0xe0, + 0x67, 0x4a, 0x6c, 0x49, 0x80, 0x3a, 0x90, 0x6e, + 0x40, 0x18, 0x90, 0x66, 0x01, 0x25, 0x08, 0x95, + 0x8b, 0xe1, 0x04, 0x21, 0x6c, 0xe1, 0x61, 0x4a, + 0x66, 0x48, 0x3c, 0x00, 0x1c, 0x3e, 0x00, 0x00, + 0x80, 0x3a, 0x11, 0x68, 0x0b, 0xf0, 0xaa, 0xfa, + 0x88, 0xe1, 0xaf, 0x60, 0xa8, 0x6f, 0xe8, 0x67, + 0x63, 0x48, 0x01, 0x6d, 0xa9, 0x67, 0x07, 0x9a, + 0x14, 0x20, 0x00, 0x2a, 0x00, 0xd1, 0x00, 0x20, + 0x08, 0x18, 0x12, 0x30, 0xa8, 0x66, 0x70, 0x78, + 0xb0, 0x70, 0x30, 0x78, 0x70, 0x70, 0x02, 0x20, + 0x30, 0x70, 0xa0, 0x69, 0xfc, 0xf7, 0xc2, 0xfa, + 0xef, 0x64, 0xa8, 0x6f, 0x3c, 0x00, 0x58, 0x3e, + 0x00, 0x00, 0xe9, 0x6f, 0x59, 0x4b, 0x40, 0x1a, + 0x98, 0x42, 0x12, 0xd2, 0x68, 0x6d, 0x06, 0x99, + 0x88, 0x42, 0x0e, 0xd0, 0x30, 0x78, 0x02, 0x28, + 0x0b, 0xd8, 0x0e, 0xf0, 0x9c, 0xff, 0xa9, 0x6f, + 0x08, 0x22, 0x40, 0x1a, 0x52, 0x49, 0x09, 0x1a, + 0x3b, 0x1c, 0x16, 0x20, 0x0f, 0xf0, 0x85, 0xfc, + 0x00, 0xe0, 0xaf, 0x65, 0x01, 0x20, 0x05, 0x90, + 0x08, 0x90, 0x43, 0x48, 0x02, 0x25, 0x3c, 0x00, + 0x94, 0x3e, 0x00, 0x00, 0xc4, 0x38, 0xc1, 0x68, + 0x00, 0x29, 0x72, 0xd1, 0x01, 0x21, 0xc1, 0x60, + 0x49, 0x48, 0x00, 0x6b, 0x00, 0x28, 0x6c, 0xd0, + 0x08, 0xf0, 0x66, 0xfc, 0x69, 0xe0, 0x3c, 0x48, + 0x00, 0x22, 0x01, 0x92, 0x80, 0x38, 0x80, 0x68, + 0x01, 0x28, 0x04, 0xd1, 0x38, 0x48, 0x80, 0x38, + 0x87, 0x60, 0x01, 0x20, 0x48, 0xe1, 0x3a, 0x48, + 0x01, 0x23, 0x43, 0x60, 0x34, 0x48, 0xc4, 0x38, + 0x3c, 0x00, 0xd0, 0x3e, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x28, 0x0a, 0xd1, 0x00, 0xf0, 0x25, 0xfe, + 0x00, 0x28, 0x06, 0xd0, 0xff, 0x21, 0x91, 0x31, + 0x01, 0x23, 0x09, 0x22, 0x16, 0x20, 0x0f, 0xf0, + 0x52, 0xfc, 0x2c, 0x49, 0x80, 0x39, 0x48, 0x6f, + 0x89, 0x6f, 0x42, 0x1a, 0x03, 0x92, 0x06, 0xf0, + 0x76, 0xf9, 0x28, 0x49, 0x80, 0x39, 0x89, 0x6f, + 0x03, 0x9a, 0x40, 0x1a, 0x02, 0x90, 0x37, 0x20, + 0x00, 0x01, 0x3c, 0x00, 0x0c, 0x3f, 0x00, 0x00, + 0x10, 0x1a, 0x50, 0x28, 0x0d, 0xd2, 0x23, 0x48, + 0x80, 0x38, 0x40, 0x6d, 0x00, 0x28, 0x04, 0xd1, + 0x02, 0x98, 0xff, 0x38, 0x55, 0x38, 0x14, 0x28, + 0x01, 0xd2, 0x01, 0x22, 0x00, 0xe0, 0x00, 0x22, + 0x01, 0x92, 0x03, 0x9a, 0x01, 0x20, 0xff, 0x3a, + 0x0b, 0x3a, 0x50, 0x2a, 0x00, 0xd3, 0x00, 0x20, + 0x04, 0x90, 0x00, 0x28, 0x0a, 0xd0, 0x17, 0x48, + 0x80, 0x38, 0xc0, 0x6f, 0x3c, 0x00, 0x48, 0x3f, + 0x00, 0x00, 0x08, 0x1a, 0x9b, 0x21, 0xc9, 0x00, + 0x40, 0x1a, 0x14, 0x28, 0x01, 0xd2, 0x01, 0x22, + 0x00, 0xe0, 0x00, 0x22, 0x00, 0x92, 0x00, 0x2a, + 0x11, 0xd0, 0x0f, 0x4d, 0x01, 0x20, 0x80, 0x3d, + 0x68, 0x65, 0x0e, 0xf0, 0x20, 0xff, 0x68, 0x66, + 0x01, 0x25, 0x01, 0x21, 0x16, 0x20, 0x0f, 0xf0, + 0x5e, 0xfb, 0x00, 0x21, 0x16, 0x20, 0x0f, 0xf0, + 0x5a, 0xfb, 0x00, 0xe0, 0xba, 0xe0, 0x3c, 0x00, + 0x84, 0x3f, 0x00, 0x00, 0xf0, 0x79, 0x02, 0x28, + 0x3c, 0xd8, 0x05, 0x4a, 0x80, 0x3a, 0x51, 0x6c, + 0x00, 0x29, 0x37, 0xd1, 0x13, 0x6c, 0x11, 0x1c, + 0x00, 0x2b, 0x33, 0xd1, 0x16, 0xe0, 0x00, 0x00, + 0x24, 0x6d, 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, + 0xc0, 0x5c, 0x15, 0x00, 0x70, 0x99, 0x14, 0x00, + 0xb0, 0x57, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0xe2, 0x04, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, + 0x3c, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x53, 0x07, + 0x00, 0x00, 0x1e, 0x02, 0x00, 0x00, 0xc8, 0x57, + 0x01, 0x00, 0x4a, 0x6d, 0x00, 0x2a, 0x02, 0xd0, + 0xb2, 0x7a, 0x02, 0x2a, 0x15, 0xd1, 0x00, 0x9a, + 0x00, 0x2a, 0x03, 0xd0, 0xca, 0x6d, 0x01, 0x32, + 0xca, 0x65, 0x00, 0xe0, 0xcf, 0x65, 0x01, 0x9a, + 0x00, 0x2a, 0x0b, 0xd0, 0x8a, 0x6f, 0xcb, 0x6f, + 0xd2, 0x1a, 0x5a, 0x4b, 0x9a, 0x42, 0x02, 0xd2, + 0x8a, 0x6d, 0x3c, 0x00, 0xfc, 0x3f, 0x00, 0x00, + 0x01, 0x32, 0x00, 0xe0, 0x01, 0x22, 0x8a, 0x65, + 0x00, 0xe0, 0x8f, 0x65, 0x04, 0x99, 0x00, 0x29, + 0x01, 0xd1, 0x02, 0x28, 0x0b, 0xd9, 0x54, 0x4a, + 0x02, 0x28, 0x1e, 0xd9, 0xd0, 0x6f, 0x61, 0x68, + 0x88, 0x42, 0x1a, 0xd1, 0x91, 0x6f, 0x08, 0x1a, + 0x50, 0x49, 0x88, 0x42, 0x15, 0xdd, 0x4e, 0x4b, + 0x98, 0x6f, 0xe1, 0x68, 0x40, 0x1a, 0x7d, 0x21, + 0xc9, 0x00, 0x88, 0x42, 0x3c, 0x00, 0x38, 0x40, + 0x00, 0x00, 0x0b, 0xdd, 0x61, 0x69, 0x40, 0x1a, + 0x00, 0x28, 0x04, 0xdd, 0x02, 0x11, 0x40, 0x11, + 0x10, 0x18, 0x40, 0x18, 0x01, 0xe0, 0x80, 0x10, + 0x08, 0x18, 0x60, 0x61, 0x58, 0x6f, 0xe0, 0x60, + 0x03, 0x98, 0xff, 0x38, 0x23, 0x38, 0x14, 0x28, + 0x09, 0xd2, 0x02, 0x98, 0xff, 0x38, 0x23, 0x38, + 0x14, 0x28, 0x04, 0xd2, 0x3e, 0x4a, 0x90, 0x6f, + 0x50, 0x64, 0x90, 0x6a, 0x90, 0x64, 0x3c, 0x00, + 0x74, 0x40, 0x00, 0x00, 0x0e, 0xf0, 0x9a, 0xfe, + 0x3a, 0x49, 0x49, 0x6c, 0x40, 0x1a, 0x3b, 0x49, + 0x88, 0x42, 0x01, 0xd9, 0x37, 0x49, 0x4f, 0x64, + 0x39, 0x49, 0x03, 0x98, 0x40, 0x18, 0x14, 0x28, + 0x07, 0xd2, 0x34, 0x49, 0xc8, 0x6b, 0x00, 0x28, + 0x03, 0xd0, 0x88, 0x6f, 0x08, 0x64, 0x88, 0x6a, + 0x88, 0x64, 0x0e, 0xf0, 0x83, 0xfe, 0x2f, 0x49, + 0x09, 0x6c, 0x40, 0x1a, 0x31, 0x49, 0x88, 0x42, + 0x3c, 0x00, 0xb0, 0x40, 0x00, 0x00, 0x01, 0xd9, + 0x2c, 0x48, 0x07, 0x64, 0x04, 0x20, 0x05, 0x90, + 0x08, 0x21, 0x16, 0x20, 0x0f, 0xf0, 0xb9, 0xfa, + 0x28, 0x48, 0x40, 0x6d, 0x00, 0x28, 0x02, 0xd0, + 0x04, 0x99, 0x00, 0x29, 0x08, 0xd0, 0x29, 0x49, + 0x00, 0x28, 0x00, 0xd1, 0x29, 0x49, 0x3b, 0x1c, + 0x06, 0x22, 0x16, 0x20, 0x0f, 0xf0, 0x57, 0xfb, + 0x02, 0x2d, 0x09, 0xd0, 0x06, 0x2d, 0x0a, 0xd0, + 0x07, 0x2d, 0x3c, 0x00, 0xec, 0x40, 0x00, 0x00, + 0x13, 0xd1, 0x07, 0xe0, 0x01, 0x21, 0x16, 0x20, + 0xfd, 0xf7, 0xd6, 0xf8, 0x1e, 0xe0, 0x1a, 0x4a, + 0x57, 0x63, 0x97, 0x63, 0x18, 0x4a, 0x06, 0x98, + 0xd0, 0x62, 0x07, 0x99, 0x11, 0x63, 0x53, 0x6b, + 0x18, 0x43, 0x50, 0x63, 0x90, 0x6b, 0x08, 0x43, + 0x90, 0x63, 0x05, 0x98, 0x00, 0x28, 0x05, 0xd0, + 0x05, 0x98, 0x0c, 0xf0, 0x5f, 0xfa, 0x05, 0x98, + 0x0c, 0xf0, 0xd2, 0xf9, 0x3c, 0x00, 0x28, 0x41, + 0x00, 0x00, 0x08, 0x2d, 0x05, 0xd0, 0x0d, 0x48, + 0x44, 0x38, 0x85, 0x70, 0x28, 0x1c, 0x03, 0xf0, + 0xdc, 0xfd, 0x11, 0x49, 0xe0, 0x69, 0x88, 0x42, + 0x00, 0xd1, 0x61, 0xe5, 0x08, 0x98, 0x00, 0x28, + 0xfb, 0xd0, 0xb0, 0x7a, 0x02, 0x28, 0xf8, 0xd1, + 0x01, 0x21, 0x16, 0x20, 0x0f, 0xf0, 0x6f, 0xfa, + 0x02, 0x20, 0x0d, 0xf0, 0xe8, 0xfe, 0x53, 0xe5, + 0x00, 0x00, 0x53, 0x07, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x41, 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x20, 0xa1, 0x07, 0x00, 0x20, 0x4e, 0x00, 0x00, + 0x3f, 0xfb, 0xff, 0xff, 0xa0, 0x86, 0x01, 0x00, + 0x50, 0xc3, 0x00, 0x00, 0xc0, 0x5c, 0x15, 0x00, + 0xf1, 0x1d, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0xf8, 0xb5, 0x21, 0x48, + 0x00, 0x68, 0x21, 0x4d, 0x69, 0x69, 0x08, 0x40, + 0x01, 0xd1, 0x01, 0x27, 0x00, 0xe0, 0x00, 0x27, + 0x3c, 0x00, 0xa0, 0x41, 0x00, 0x00, 0x1d, 0x4d, + 0x01, 0x26, 0x69, 0x6a, 0x00, 0x29, 0x00, 0xd0, + 0x00, 0x26, 0x1b, 0x4d, 0x1a, 0x48, 0x2c, 0x1c, + 0xa0, 0x30, 0x02, 0x7a, 0x28, 0x1c, 0x40, 0x30, + 0x80, 0x34, 0x10, 0x23, 0xb7, 0x42, 0x10, 0xd1, + 0x01, 0x25, 0xc5, 0x80, 0x00, 0x29, 0x00, 0xd0, + 0x00, 0x23, 0x1a, 0x43, 0x11, 0x1c, 0x01, 0x73, + 0x01, 0x20, 0x0e, 0xf0, 0x88, 0xfe, 0x08, 0x20, + 0x20, 0x70, 0x3c, 0x00, 0xdc, 0x41, 0x00, 0x00, + 0x00, 0x22, 0x16, 0x21, 0x80, 0x20, 0x13, 0xe0, + 0x11, 0x27, 0xc7, 0x80, 0x2e, 0x1c, 0x0b, 0x4d, + 0x00, 0x29, 0x00, 0xd1, 0x00, 0x23, 0x1a, 0x43, + 0x11, 0x1c, 0x01, 0x73, 0x01, 0x20, 0x0e, 0xf0, + 0x75, 0xfe, 0x08, 0x20, 0x20, 0x70, 0x30, 0x6d, + 0x00, 0x22, 0x16, 0x21, 0x68, 0x67, 0x82, 0x20, + 0x0f, 0xf0, 0xd0, 0xfa, 0xf8, 0xbd, 0x00, 0x00, + 0x10, 0x00, 0x07, 0x00, 0x3c, 0x00, 0x18, 0x42, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x00, 0x90, + 0x07, 0x00, 0xb0, 0xb5, 0x0f, 0x4d, 0x04, 0x1c, + 0xaa, 0x7a, 0x01, 0x21, 0x08, 0x1c, 0x00, 0x2a, + 0x00, 0xd0, 0x00, 0x20, 0x00, 0x2c, 0x00, 0xd0, + 0x00, 0x21, 0x88, 0x42, 0x0a, 0xd0, 0x00, 0x2c, + 0x04, 0xd1, 0x00, 0xf0, 0x42, 0xfb, 0x00, 0xf0, + 0xd6, 0xfa, 0x03, 0xe0, 0x00, 0xf0, 0xd9, 0xfa, + 0x00, 0xf0, 0x09, 0xf8, 0xa8, 0x7a, 0x3c, 0x00, + 0x54, 0x42, 0x00, 0x00, 0x02, 0x49, 0xe4, 0x39, + 0x48, 0x71, 0xac, 0x72, 0xb0, 0xbd, 0x00, 0x00, + 0x44, 0x6d, 0x01, 0x00, 0x80, 0xb5, 0x3e, 0xf0, + 0x55, 0xf8, 0x02, 0x49, 0x01, 0x20, 0x08, 0x70, + 0x80, 0xbd, 0x00, 0x00, 0x68, 0x7e, 0x01, 0x00, + 0xf3, 0xb5, 0x01, 0x20, 0x8d, 0xb0, 0x0f, 0x1c, + 0x01, 0x24, 0x08, 0x90, 0x0e, 0xf0, 0x92, 0xfd, + 0x06, 0x1c, 0x00, 0xf0, 0xb5, 0xfa, 0x09, 0x90, + 0x3c, 0x00, 0x90, 0x42, 0x00, 0x00, 0x00, 0xf0, + 0x80, 0xfb, 0x07, 0x90, 0xfe, 0xf7, 0x3f, 0xfa, + 0x05, 0x1c, 0x00, 0x21, 0x0c, 0x91, 0x08, 0xf0, + 0xf0, 0xfb, 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x0a, 0x90, 0xfe, 0xf7, + 0x12, 0xfd, 0x05, 0xf0, 0xe0, 0xfe, 0x0b, 0x90, + 0x00, 0x2d, 0x23, 0xd0, 0x28, 0x88, 0x41, 0x07, + 0x20, 0xd4, 0x29, 0x1d, 0x04, 0x91, 0x0a, 0x35, + 0x00, 0x06, 0x3c, 0x00, 0xcc, 0x42, 0x00, 0x00, + 0x80, 0x0e, 0x01, 0x21, 0x20, 0x28, 0x03, 0x95, + 0x00, 0xd0, 0x00, 0x21, 0x0d, 0x1c, 0x04, 0x98, + 0x06, 0xf0, 0x38, 0xfd, 0x0c, 0x90, 0x04, 0x98, + 0x06, 0xf0, 0x10, 0xfd, 0x00, 0x28, 0x08, 0xd0, + 0x03, 0x98, 0x01, 0xf0, 0x87, 0xfa, 0x00, 0x28, + 0x03, 0xd0, 0x00, 0x2d, 0x01, 0xd1, 0x01, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x0c, 0x99, 0x01, 0x43, + 0x0c, 0x91, 0xfc, 0xf7, 0x3c, 0x00, 0x08, 0x43, + 0x00, 0x00, 0x23, 0xff, 0x00, 0x28, 0x2f, 0xd0, + 0x07, 0xf0, 0x99, 0xff, 0x05, 0x1c, 0x07, 0xf0, + 0xb2, 0xff, 0x04, 0x90, 0xff, 0xf7, 0xf3, 0xf8, + 0x0c, 0x99, 0x01, 0x43, 0x00, 0x2d, 0x06, 0xd0, + 0x04, 0x98, 0xf0, 0x4a, 0x30, 0x1a, 0x90, 0x42, + 0x01, 0xd2, 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, + 0x08, 0x43, 0x0c, 0x90, 0x0b, 0x98, 0x0a, 0x9b, + 0x18, 0x43, 0x01, 0x1c, 0x0b, 0x91, 0x3c, 0x00, + 0x44, 0x43, 0x00, 0x00, 0x05, 0xf0, 0xce, 0xfe, + 0x00, 0x28, 0x1a, 0xd1, 0x00, 0x2d, 0x06, 0xd0, + 0x04, 0x98, 0xe7, 0x49, 0x30, 0x1a, 0x88, 0x42, + 0x01, 0xd2, 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, + 0x0c, 0x99, 0x08, 0x43, 0x05, 0x1c, 0x00, 0xf0, + 0x1f, 0xfb, 0x28, 0x43, 0x03, 0xe0, 0x00, 0xf0, + 0x1b, 0xfb, 0x0c, 0x99, 0x08, 0x43, 0x0c, 0x90, + 0x00, 0xf0, 0xd4, 0xfb, 0x0b, 0x99, 0x01, 0x43, + 0x3c, 0x00, 0x80, 0x43, 0x00, 0x00, 0x0b, 0x91, + 0xdc, 0x49, 0xc8, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0x01, 0x38, 0xc8, 0x60, 0x08, 0xf0, 0xe7, 0xfb, + 0x06, 0x90, 0x08, 0xf0, 0x90, 0xfd, 0x31, 0x1a, + 0x05, 0x91, 0x06, 0x99, 0xd6, 0x48, 0x81, 0x42, + 0x08, 0xd8, 0x00, 0x2f, 0x08, 0xd1, 0x05, 0x99, + 0x40, 0x08, 0x81, 0x42, 0x04, 0xd9, 0x06, 0x99, + 0x81, 0x42, 0x01, 0xd9, 0x00, 0x24, 0x8b, 0xe0, + 0xd0, 0x48, 0x3c, 0x00, 0xbc, 0x43, 0x00, 0x00, + 0x05, 0x99, 0xd0, 0x4d, 0x81, 0x42, 0x26, 0xd2, + 0xe8, 0x79, 0x10, 0x28, 0x06, 0xd2, 0x00, 0x2f, + 0x21, 0xd1, 0xcc, 0x48, 0xa0, 0x38, 0x80, 0x6a, + 0x00, 0x28, 0x1c, 0xd1, 0x09, 0xf0, 0x62, 0xff, + 0x04, 0x90, 0x00, 0x28, 0x02, 0xd1, 0x00, 0x20, + 0xc3, 0x49, 0x13, 0xe0, 0x09, 0xf0, 0x10, 0xfe, + 0x00, 0x28, 0x03, 0xd0, 0xc4, 0x48, 0xc0, 0x69, + 0x00, 0x28, 0xf4, 0xd0, 0x3c, 0x00, 0xf8, 0x43, + 0x00, 0x00, 0x04, 0x98, 0x05, 0x28, 0x03, 0xd0, + 0xc1, 0x48, 0x00, 0x6a, 0x00, 0x28, 0x65, 0xd1, + 0xbb, 0x49, 0x48, 0x6a, 0x00, 0x28, 0x23, 0xd0, + 0x01, 0x38, 0x48, 0x62, 0x00, 0xf0, 0x87, 0xff, + 0x00, 0x28, 0x11, 0xd0, 0xbb, 0x48, 0x05, 0x99, + 0x81, 0x42, 0x0d, 0xd2, 0x01, 0xf0, 0x9b, 0xf8, + 0x04, 0x30, 0x0d, 0xf0, 0xee, 0xfc, 0x40, 0x30, + 0xc1, 0x7a, 0x01, 0x29, 0x4e, 0xd0, 0x3c, 0x00, + 0x34, 0x44, 0x00, 0x00, 0x80, 0x7a, 0x00, 0x28, + 0x01, 0xd0, 0x05, 0x28, 0x49, 0xd3, 0x01, 0xf0, + 0xdf, 0xf8, 0x02, 0x28, 0x10, 0xd0, 0x00, 0x2f, + 0x02, 0xd1, 0x06, 0x98, 0x00, 0x28, 0x40, 0xd1, + 0x00, 0x20, 0x08, 0x90, 0x82, 0xe1, 0xaa, 0x48, + 0xa0, 0x38, 0xc0, 0x68, 0x00, 0x28, 0x38, 0xd0, + 0xa8, 0x48, 0x80, 0x69, 0x48, 0x62, 0x34, 0xe0, + 0x0a, 0xa9, 0x03, 0xc9, 0x08, 0x43, 0x45, 0xd0, + 0x3c, 0x00, 0x70, 0x44, 0x00, 0x00, 0xa3, 0x48, + 0x29, 0x78, 0xa0, 0x38, 0x02, 0x29, 0x40, 0xd8, + 0x40, 0x6d, 0x00, 0x28, 0x0a, 0xd0, 0x9f, 0x48, + 0xa2, 0x49, 0x20, 0x38, 0xc0, 0x68, 0x40, 0x18, + 0x0e, 0xf0, 0xc7, 0xfb, 0x00, 0x28, 0x01, 0xd0, + 0x01, 0x21, 0x00, 0xe0, 0x00, 0x21, 0x96, 0x4a, + 0x90, 0x6a, 0x00, 0x28, 0x02, 0xda, 0x64, 0x08, + 0x64, 0x00, 0x2a, 0xe0, 0x00, 0x29, 0x09, 0xd1, + 0x95, 0x4b, 0x3c, 0x00, 0xac, 0x44, 0x00, 0x00, + 0xa0, 0x3b, 0x5b, 0x6d, 0x00, 0x2b, 0x02, 0xd0, + 0x05, 0x28, 0x0d, 0xdb, 0x01, 0xe0, 0x07, 0x28, + 0x0a, 0xdb, 0x01, 0x20, 0xc0, 0x43, 0x90, 0x62, + 0x64, 0x08, 0x8e, 0x49, 0x64, 0x00, 0x00, 0x20, + 0xa0, 0x39, 0x88, 0x65, 0x14, 0xe0, 0xd1, 0xe0, + 0x39, 0x43, 0x11, 0xd1, 0x89, 0x49, 0xa0, 0x39, + 0xcb, 0x6d, 0x00, 0x2b, 0x02, 0xd1, 0x89, 0x6d, + 0x01, 0x29, 0x09, 0xd9, 0x3c, 0x00, 0xe8, 0x44, + 0x00, 0x00, 0x07, 0x9b, 0x00, 0x2b, 0x01, 0xd1, + 0x07, 0x28, 0x01, 0xdb, 0x64, 0x08, 0x64, 0x00, + 0x01, 0x30, 0x90, 0x62, 0xbd, 0xe0, 0x7d, 0x49, + 0x88, 0x69, 0x04, 0x90, 0x00, 0x20, 0x88, 0x61, + 0x0c, 0x98, 0x00, 0x28, 0x2c, 0xd0, 0x07, 0xf0, + 0x66, 0xfc, 0x00, 0x28, 0x02, 0xd0, 0x02, 0x20, + 0x04, 0x43, 0x25, 0xe0, 0x7a, 0x48, 0xc0, 0x6a, + 0x00, 0x28, 0x04, 0xd1, 0x77, 0x48, 0x3c, 0x00, + 0x24, 0x45, 0x00, 0x00, 0xa0, 0x38, 0xc0, 0x68, + 0x00, 0x28, 0x1c, 0xd1, 0x04, 0x98, 0x00, 0x28, + 0x0d, 0xd1, 0x28, 0x78, 0x10, 0x28, 0x02, 0xd3, + 0xe8, 0x78, 0x02, 0x28, 0x02, 0xd9, 0x28, 0x79, + 0x10, 0x28, 0x04, 0xd3, 0x04, 0x24, 0x6b, 0x49, + 0x01, 0x22, 0x8a, 0x61, 0x94, 0xe0, 0x6c, 0x48, + 0xa0, 0x38, 0x40, 0x6d, 0x00, 0x28, 0x71, 0xd0, + 0x05, 0xf0, 0xa2, 0xfd, 0x00, 0x28, 0x6d, 0xd0, + 0x3c, 0x00, 0x60, 0x45, 0x00, 0x00, 0x64, 0x08, + 0x64, 0x00, 0x88, 0xe0, 0xff, 0xf7, 0x5b, 0xfa, + 0x00, 0x28, 0x1a, 0xd0, 0x68, 0x48, 0x00, 0x78, + 0x02, 0x28, 0x01, 0xd1, 0x00, 0x2f, 0x14, 0xd1, + 0x00, 0x20, 0xfe, 0xf7, 0x70, 0xfe, 0x30, 0x1a, + 0x04, 0x90, 0xff, 0xf7, 0x6c, 0xfa, 0x00, 0x28, + 0x07, 0xd0, 0xff, 0xf7, 0x1e, 0xfa, 0x00, 0x28, + 0x03, 0xd0, 0x5d, 0x49, 0x04, 0x98, 0x88, 0x42, + 0x4f, 0xd3, 0x3c, 0x00, 0x9c, 0x45, 0x00, 0x00, + 0x05, 0xf0, 0x6c, 0xfd, 0x00, 0x28, 0x4b, 0xd1, + 0x53, 0x49, 0x08, 0x78, 0x03, 0x28, 0x08, 0xd1, + 0x88, 0x68, 0x01, 0x22, 0xd2, 0x07, 0x30, 0x1a, + 0x90, 0x42, 0x41, 0xd2, 0x01, 0x22, 0x0a, 0x70, + 0x57, 0xe0, 0x54, 0x48, 0x00, 0x78, 0x02, 0x28, + 0x01, 0xd1, 0x00, 0x2f, 0x51, 0xd1, 0x4a, 0x49, + 0x88, 0x68, 0x51, 0x49, 0x80, 0x1b, 0x88, 0x42, + 0x07, 0xd9, 0x01, 0x20, 0x3c, 0x00, 0xd8, 0x45, + 0x00, 0x00, 0xfe, 0xf7, 0x42, 0xfe, 0x7d, 0x21, + 0x09, 0x01, 0x40, 0x18, 0x44, 0x49, 0x88, 0x60, + 0x4a, 0x48, 0x00, 0x78, 0x02, 0x28, 0x04, 0xd1, + 0x07, 0x9b, 0x00, 0x2b, 0x01, 0xd1, 0x01, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x47, 0x4b, 0x47, 0x49, + 0x58, 0x43, 0x40, 0x18, 0x3c, 0x49, 0x89, 0x68, + 0x89, 0x1b, 0x88, 0x42, 0x30, 0xd9, 0x07, 0x9b, + 0x00, 0x20, 0x03, 0x93, 0x00, 0xf0, 0x3c, 0x00, + 0x14, 0x46, 0x00, 0x00, 0x79, 0xff, 0x02, 0x90, + 0xff, 0xf7, 0xd8, 0xf9, 0x04, 0x90, 0x01, 0xf0, + 0x57, 0xf8, 0x04, 0x99, 0x02, 0x9a, 0x51, 0x43, + 0x48, 0x43, 0x01, 0x90, 0x00, 0xf0, 0xdc, 0xff, + 0x41, 0x1c, 0x01, 0x98, 0x01, 0x22, 0x48, 0x43, + 0x11, 0x1c, 0x00, 0xe0, 0x1b, 0xe0, 0x31, 0x4b, + 0x5b, 0x6a, 0x83, 0x42, 0x00, 0xd3, 0x00, 0x21, + 0x03, 0x9b, 0x01, 0x22, 0x00, 0x2b, 0x00, 0xd0, + 0x3c, 0x00, 0x50, 0x46, 0x00, 0x00, 0x00, 0x22, + 0x2c, 0x4b, 0x51, 0x43, 0x9b, 0x6a, 0x01, 0x22, + 0x83, 0x42, 0x00, 0xd3, 0x00, 0x22, 0x50, 0x00, + 0x08, 0x18, 0x03, 0xd0, 0x23, 0x49, 0x03, 0x20, + 0x08, 0x70, 0x03, 0xe0, 0x09, 0x98, 0xc0, 0x68, + 0x06, 0x28, 0x08, 0xd9, 0x02, 0x24, 0x08, 0x98, + 0x00, 0x28, 0x6e, 0xd0, 0x1d, 0x49, 0x00, 0x20, + 0xc8, 0x61, 0x48, 0x61, 0xa5, 0xe0, 0x1a, 0x49, + 0x48, 0x69, 0x3c, 0x00, 0x8c, 0x46, 0x00, 0x00, + 0x00, 0x28, 0x0a, 0xd1, 0x00, 0x2f, 0x05, 0xd0, + 0x01, 0x22, 0x4a, 0x61, 0xc8, 0x69, 0x80, 0x18, + 0xc8, 0x61, 0x0a, 0xe0, 0x00, 0x20, 0xc8, 0x61, + 0x03, 0xe0, 0x00, 0x2f, 0x05, 0xd1, 0x00, 0x20, + 0x48, 0x61, 0x0d, 0x98, 0x00, 0x28, 0x00, 0xd1, + 0xc8, 0x68, 0x00, 0x20, 0x08, 0x90, 0x08, 0x78, + 0x01, 0x28, 0x2f, 0xd0, 0x02, 0x28, 0x4b, 0xd1, + 0x00, 0x2f, 0x08, 0xd1, 0x3c, 0x00, 0xc8, 0x46, + 0x00, 0x00, 0xe8, 0x78, 0x00, 0x28, 0x02, 0xd1, + 0x28, 0x78, 0x10, 0x28, 0x43, 0xd2, 0x28, 0x79, + 0x10, 0x28, 0x40, 0xd2, 0x48, 0x68, 0x0a, 0x69, + 0x30, 0x1a, 0x90, 0x42, 0x67, 0xd3, 0x01, 0x22, + 0x0a, 0x70, 0x38, 0xe0, 0x00, 0x00, 0xe2, 0x04, + 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x68, 0x7e, + 0x01, 0x00, 0xa0, 0x86, 0x01, 0x00, 0x88, 0x13, + 0x00, 0x00, 0x44, 0x6d, 0x01, 0x00, 0x3c, 0x00, + 0x04, 0x47, 0x00, 0x00, 0xc8, 0x57, 0x01, 0x00, + 0x50, 0xc3, 0x00, 0x00, 0x98, 0x3a, 0x00, 0x00, + 0xc0, 0x57, 0x01, 0x00, 0x40, 0x0d, 0x03, 0x00, + 0xc4, 0x09, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, + 0x00, 0x20, 0x0b, 0x9a, 0x0a, 0x9b, 0xc0, 0x43, + 0x1a, 0x43, 0x37, 0xd0, 0x00, 0x2f, 0x35, 0xd1, + 0x07, 0x9b, 0x00, 0x2b, 0x08, 0xd0, 0x6a, 0x78, + 0x02, 0x2a, 0x2f, 0xd9, 0x2a, 0x78, 0x10, 0x2a, + 0x3c, 0x00, 0x40, 0x47, 0x00, 0x00, 0x2c, 0xd2, + 0x2a, 0x79, 0x10, 0x2a, 0x29, 0xd2, 0x25, 0x4b, + 0x1a, 0x6c, 0x00, 0x2a, 0x06, 0xd0, 0x9a, 0x6a, + 0x9f, 0x6c, 0xba, 0x42, 0x02, 0xd1, 0x1f, 0x20, + 0x1f, 0xe0, 0x2e, 0xe0, 0x20, 0x4b, 0x5a, 0x6c, + 0x00, 0x2a, 0x03, 0xd0, 0x1f, 0x4f, 0xb3, 0x1a, + 0xbb, 0x42, 0x16, 0xd3, 0x1c, 0x4b, 0x00, 0x2a, + 0x05, 0xd0, 0x9a, 0x6a, 0x9f, 0x6c, 0xba, 0x42, + 0x01, 0xd1, 0x3c, 0x00, 0x7c, 0x47, 0x00, 0x00, + 0x0f, 0x20, 0x0d, 0xe0, 0x07, 0x9a, 0x00, 0x2a, + 0x04, 0xd0, 0xea, 0x79, 0x20, 0x2a, 0x01, 0xd1, + 0x00, 0x20, 0x05, 0xe0, 0xea, 0x79, 0x10, 0x2a, + 0x01, 0xd3, 0x03, 0x20, 0x00, 0xe0, 0x9a, 0x6a, + 0x12, 0x4a, 0x12, 0x68, 0x02, 0x40, 0x0b, 0xd1, + 0x01, 0x20, 0x08, 0x90, 0x02, 0x20, 0x08, 0x70, + 0x0f, 0x48, 0x08, 0x61, 0x4e, 0x60, 0x64, 0xe7, + 0xff, 0xe7, 0x01, 0x20, 0x3c, 0x00, 0xb8, 0x47, + 0x00, 0x00, 0x08, 0x90, 0x60, 0xe7, 0x0c, 0x49, + 0x88, 0x6a, 0x00, 0x28, 0x01, 0xda, 0x01, 0x30, + 0x02, 0xe0, 0x00, 0x28, 0x01, 0xdd, 0x00, 0x20, + 0x88, 0x62, 0x00, 0x20, 0x08, 0x62, 0x08, 0x99, + 0x20, 0x04, 0x08, 0x43, 0x0f, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x71, 0x02, + 0x00, 0x00, 0x08, 0x20, 0x07, 0x00, 0x53, 0x07, + 0x00, 0x00, 0x68, 0x7e, 0x01, 0x00, 0x3c, 0x00, + 0xf4, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x00, 0x48, 0x70, 0x47, 0x50, 0x7e, 0x01, 0x00, + 0x80, 0xb5, 0x3d, 0xf0, 0x7f, 0xfd, 0x02, 0x49, + 0x01, 0x20, 0x08, 0x70, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x7e, 0x01, 0x00, 0xf8, 0xb5, 0x0d, 0x1c, + 0x0e, 0xf0, 0xc8, 0xfa, 0x26, 0x49, 0x04, 0x1c, + 0x88, 0x6a, 0x26, 0x4e, 0x00, 0x28, 0x01, 0xd0, + 0x04, 0x20, 0x03, 0xe0, 0x70, 0x6a, 0x00, 0x28, + 0x3c, 0x00, 0x30, 0x48, 0x00, 0x00, 0x01, 0xd0, + 0x01, 0x38, 0x70, 0x62, 0x00, 0x27, 0x00, 0x2d, + 0x02, 0xd0, 0xb7, 0x61, 0xf7, 0x61, 0x0a, 0xe0, + 0xb0, 0x69, 0x1c, 0x49, 0x01, 0x30, 0xb0, 0x61, + 0x49, 0x6d, 0x00, 0x29, 0x03, 0xd0, 0x03, 0x28, + 0x01, 0xd9, 0x01, 0x20, 0xf0, 0x61, 0xb4, 0x60, + 0xf1, 0x68, 0x00, 0x91, 0x08, 0xf0, 0xf7, 0xfc, + 0xf0, 0x60, 0x00, 0x99, 0x88, 0x42, 0x02, 0xd0, + 0x30, 0x62, 0x3c, 0x00, 0x6c, 0x48, 0x00, 0x00, + 0x34, 0x61, 0x0b, 0xe0, 0x00, 0xf0, 0x90, 0xf8, + 0x00, 0x28, 0x01, 0xd0, 0x11, 0x48, 0x00, 0xe0, + 0x11, 0x48, 0x31, 0x69, 0x61, 0x1a, 0x81, 0x42, + 0x00, 0xd9, 0x37, 0x62, 0x0b, 0x4a, 0x0c, 0x48, + 0xd1, 0x6c, 0x20, 0x30, 0x00, 0x29, 0x01, 0xd0, + 0x0a, 0x21, 0x03, 0xe0, 0x01, 0x7a, 0x00, 0x29, + 0x01, 0xd0, 0xff, 0x31, 0x01, 0x72, 0x00, 0x2d, + 0x03, 0xd1, 0x01, 0x7a, 0x3c, 0x00, 0xa8, 0x48, + 0x00, 0x00, 0x00, 0x29, 0x00, 0xd0, 0x91, 0x6a, + 0x00, 0x7a, 0x00, 0x28, 0x00, 0xd1, 0x17, 0x65, + 0xf8, 0xbd, 0xa4, 0x6c, 0x01, 0x00, 0x3c, 0x7e, + 0x01, 0x00, 0xa6, 0x0e, 0x00, 0x00, 0xa8, 0x61, + 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x06, 0x49, + 0x80, 0xb5, 0x89, 0x68, 0x00, 0x29, 0x07, 0xd0, + 0x05, 0x21, 0x00, 0x28, 0x00, 0xd1, 0x04, 0x21, + 0x08, 0x06, 0x00, 0x0e, 0x03, 0xf0, 0x3c, 0x00, + 0xe4, 0x48, 0x00, 0x00, 0x05, 0xfa, 0x80, 0xbd, + 0x60, 0x6c, 0x01, 0x00, 0x07, 0x48, 0x00, 0x68, + 0x07, 0x49, 0x4a, 0x69, 0x10, 0x40, 0x01, 0xd0, + 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, 0x49, 0x6a, + 0x88, 0x42, 0x01, 0xd1, 0x01, 0x20, 0x70, 0x47, + 0x00, 0x20, 0x70, 0x47, 0x10, 0x00, 0x07, 0x00, + 0xa4, 0x6c, 0x01, 0x00, 0x70, 0xb5, 0x0e, 0xf0, + 0x49, 0xfa, 0x02, 0x1c, 0x00, 0xf0, 0x3a, 0xf8, + 0x3c, 0x00, 0x20, 0x49, 0x00, 0x00, 0x10, 0x49, + 0x00, 0x28, 0x0e, 0xd0, 0x08, 0x1c, 0xa0, 0x31, + 0x0e, 0x78, 0x0e, 0x4b, 0x10, 0x2e, 0x01, 0xd3, + 0x80, 0x6f, 0x03, 0xe0, 0x49, 0x78, 0x10, 0x29, + 0x0e, 0xd3, 0xc0, 0x6f, 0xc0, 0x18, 0x84, 0x1a, + 0x0a, 0xe0, 0x08, 0x1c, 0x80, 0x30, 0x45, 0x69, + 0x08, 0x49, 0x8d, 0x42, 0x01, 0xd9, 0x0c, 0x1c, + 0x05, 0xe0, 0xc0, 0x68, 0x10, 0x1a, 0x2c, 0x1a, + 0x00, 0x2c, 0x3c, 0x00, 0x5c, 0x49, 0x00, 0x00, + 0x00, 0xda, 0x64, 0x19, 0x20, 0x1c, 0x70, 0xbd, + 0xa4, 0x6c, 0x01, 0x00, 0xa6, 0x0e, 0x00, 0x00, + 0x50, 0xc3, 0x00, 0x00, 0x80, 0xb5, 0x05, 0xf0, + 0xb7, 0xfb, 0x00, 0x28, 0x02, 0xd0, 0x07, 0xf0, + 0x1f, 0xff, 0x80, 0xbd, 0x03, 0x48, 0x00, 0x78, + 0x00, 0x28, 0xfa, 0xd0, 0x07, 0xf0, 0x70, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, + 0x03, 0x49, 0x01, 0x20, 0x3c, 0x00, 0x98, 0x49, + 0x00, 0x00, 0x49, 0x69, 0x03, 0x29, 0x00, 0xd8, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x60, 0x6c, + 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x4d, 0x00, 0x24, + 0x28, 0x78, 0x01, 0x28, 0x03, 0xd0, 0x05, 0xf0, + 0x6a, 0xfb, 0x04, 0x06, 0x24, 0x0e, 0xfe, 0xf7, + 0xd2, 0xfc, 0x00, 0x02, 0x20, 0x43, 0x02, 0xd1, + 0x68, 0x6a, 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, + 0xb0, 0xbd, 0x00, 0x20, 0xb0, 0xbd, 0x3c, 0x00, + 0xd4, 0x49, 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, + 0x01, 0x21, 0x01, 0x28, 0x00, 0xd0, 0x00, 0x21, + 0x01, 0x48, 0x41, 0x62, 0x70, 0x47, 0x00, 0x00, + 0x60, 0x6c, 0x01, 0x00, 0x15, 0x48, 0x10, 0xb5, + 0x04, 0x68, 0x15, 0x48, 0x00, 0x6a, 0x00, 0x28, + 0x14, 0xd0, 0xff, 0xf7, 0xcb, 0xff, 0x00, 0x28, + 0x0e, 0xd1, 0x11, 0x48, 0x11, 0x49, 0xc4, 0x30, + 0x40, 0x69, 0x88, 0x42, 0x08, 0xd2, 0xcc, 0x08, + 0x3c, 0x00, 0x10, 0x4a, 0x00, 0x00, 0xa0, 0x42, + 0x05, 0xd3, 0xff, 0xf7, 0x7e, 0xff, 0xa0, 0x42, + 0x01, 0xda, 0x0c, 0x4c, 0x01, 0xe0, 0xff, 0x24, + 0x91, 0x34, 0x7d, 0x20, 0x00, 0x01, 0x84, 0x42, + 0x04, 0xd9, 0x00, 0x22, 0x16, 0x21, 0x83, 0x20, + 0x0e, 0xf0, 0xbd, 0xfe, 0x01, 0x23, 0x09, 0x22, + 0x21, 0x1c, 0x16, 0x20, 0x0e, 0xf0, 0xa7, 0xfe, + 0x10, 0xbd, 0xb0, 0x57, 0x01, 0x00, 0x60, 0x6c, + 0x01, 0x00, 0x3c, 0x00, 0x4c, 0x4a, 0x00, 0x00, + 0xc0, 0x5d, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x0e, 0x1c, 0x00, 0xf0, + 0x43, 0xf8, 0x00, 0x28, 0x0f, 0xd0, 0x08, 0x4c, + 0x20, 0x78, 0xc0, 0x07, 0x03, 0xd4, 0x05, 0xf0, + 0xab, 0xf9, 0x09, 0xf0, 0x31, 0xfe, 0x00, 0x2d, + 0x05, 0xd0, 0x20, 0x78, 0x80, 0x07, 0x02, 0xd4, + 0x30, 0x1c, 0x02, 0xf0, 0xfd, 0xfe, 0x70, 0xbd, + 0x60, 0x6c, 0x01, 0x00, 0x3c, 0x00, 0x88, 0x4a, + 0x00, 0x00, 0xb0, 0xb5, 0x00, 0x28, 0x18, 0xd0, + 0x11, 0x48, 0x81, 0x42, 0x15, 0xd2, 0x10, 0x48, + 0x0c, 0x1c, 0x0d, 0x18, 0x07, 0xf0, 0xdf, 0xfa, + 0x81, 0x00, 0x09, 0x18, 0xa1, 0x42, 0x01, 0xd2, + 0x40, 0x00, 0x03, 0xe0, 0x41, 0x00, 0x09, 0x18, + 0xa1, 0x42, 0x01, 0xd2, 0x24, 0x1a, 0x06, 0xe0, + 0x41, 0x00, 0xa1, 0x42, 0x03, 0xd2, 0x40, 0x08, + 0xf8, 0xe7, 0x06, 0x4d, 0x07, 0x4c, 0x3c, 0x00, + 0xc4, 0x4a, 0x00, 0x00, 0x0e, 0xf0, 0x72, 0xf9, + 0x00, 0x19, 0x29, 0x1c, 0x07, 0xf0, 0xdc, 0xfa, + 0xb0, 0xbd, 0x00, 0x00, 0x80, 0xb9, 0x2a, 0x00, + 0x53, 0x07, 0x00, 0x00, 0x4c, 0x1d, 0x00, 0x00, + 0x88, 0x13, 0x00, 0x00, 0xb0, 0xb5, 0x05, 0xf0, + 0xfd, 0xfa, 0x00, 0x28, 0x13, 0xd1, 0xfe, 0xf7, + 0xb5, 0xfe, 0x0a, 0x4c, 0x0a, 0x4d, 0x00, 0x28, + 0x60, 0x63, 0x00, 0xd0, 0x28, 0x60, 0x0e, 0xf0, + 0x3c, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x55, 0xf9, + 0x21, 0x6a, 0x00, 0x29, 0x04, 0xd1, 0xe1, 0x69, + 0x40, 0x1a, 0x29, 0x68, 0x88, 0x42, 0x01, 0xd9, + 0x01, 0x20, 0xb0, 0xbd, 0x00, 0x20, 0xb0, 0xbd, + 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, 0xb0, 0x57, + 0x01, 0x00, 0x80, 0xb5, 0xff, 0xf7, 0xdd, 0xff, + 0x00, 0x28, 0x05, 0xd0, 0x05, 0xf0, 0xb7, 0xfa, + 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, 0x80, 0xbd, + 0x00, 0x20, 0x3c, 0x00, 0x3c, 0x4b, 0x00, 0x00, + 0x80, 0xbd, 0x00, 0x00, 0x10, 0xb5, 0x0a, 0x4c, + 0x00, 0x21, 0xa2, 0x68, 0x00, 0x2a, 0x03, 0xd0, + 0xa1, 0x60, 0x02, 0xf0, 0x83, 0xf9, 0x10, 0xbd, + 0x61, 0x60, 0x01, 0x1c, 0x00, 0x22, 0x04, 0x20, + 0x0e, 0xf0, 0x36, 0xfd, 0x03, 0x48, 0x21, 0x68, + 0x0a, 0xf0, 0x08, 0xfc, 0x10, 0xbd, 0x00, 0x00, + 0xbc, 0x74, 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x3c, 0x00, 0x78, 0x4b, + 0x00, 0x00, 0x01, 0xd1, 0xfc, 0xf7, 0xc1, 0xfb, + 0x20, 0x4c, 0xe0, 0x6a, 0x00, 0x28, 0x15, 0xd0, + 0x1f, 0x4b, 0xa0, 0x69, 0x58, 0x43, 0xc6, 0x0b, + 0x20, 0x88, 0x46, 0x43, 0xf0, 0x00, 0x80, 0x19, + 0xe6, 0x60, 0xfb, 0xf7, 0x1c, 0xfe, 0xa8, 0x42, + 0x05, 0xd8, 0x30, 0x1c, 0xfb, 0xf7, 0x17, 0xfe, + 0x80, 0x19, 0xa8, 0x42, 0x02, 0xd2, 0x00, 0x20, + 0xe0, 0x60, 0x20, 0xe0, 0xe5, 0x60, 0x3c, 0x00, + 0xb4, 0x4b, 0x00, 0x00, 0x00, 0x2d, 0x1d, 0xd0, + 0x26, 0x88, 0xa0, 0x69, 0x70, 0x43, 0xc1, 0x03, + 0x28, 0x1c, 0xfb, 0xf7, 0xa5, 0xfd, 0x60, 0x61, + 0x0d, 0x48, 0x32, 0x1c, 0x29, 0x1c, 0x30, 0x30, + 0xfb, 0xf7, 0x0a, 0xfc, 0x0c, 0x4b, 0x60, 0x69, + 0x58, 0x43, 0xc0, 0x0b, 0x60, 0x62, 0x01, 0xf0, + 0xb7, 0xfd, 0xa0, 0x62, 0xe0, 0x68, 0x00, 0x28, + 0x04, 0xd0, 0x20, 0x69, 0xa1, 0x68, 0xfb, 0xf7, + 0x3c, 0x00, 0xf0, 0x4b, 0x00, 0x00, 0xf4, 0xfb, + 0x70, 0xbd, 0x05, 0x48, 0xa1, 0x68, 0xfb, 0xf7, + 0xef, 0xfb, 0x70, 0xbd, 0x00, 0x00, 0xc8, 0x74, + 0x01, 0x00, 0x40, 0x42, 0x0f, 0x00, 0xc0, 0xc6, + 0x2d, 0x00, 0x88, 0x13, 0x00, 0x00, 0xf1, 0xb5, + 0x3e, 0x48, 0x00, 0xab, 0x81, 0x78, 0xc0, 0x78, + 0x3e, 0x4f, 0x0a, 0x07, 0x04, 0x07, 0x58, 0x78, + 0x3b, 0x49, 0x12, 0x0f, 0x08, 0x5c, 0x14, 0x39, + 0x24, 0x0f, 0x3c, 0x00, 0x2c, 0x4c, 0x00, 0x00, + 0x80, 0x18, 0x78, 0x60, 0x01, 0x30, 0xb8, 0x60, + 0x18, 0x78, 0x35, 0x4d, 0x08, 0x5c, 0x00, 0x19, + 0xb8, 0x61, 0x01, 0x30, 0xf8, 0x61, 0xeb, 0x78, + 0x33, 0x48, 0x1e, 0x09, 0x33, 0x4b, 0x18, 0x38, + 0x81, 0x78, 0x5e, 0x43, 0xab, 0x78, 0x1d, 0x09, + 0xc8, 0x23, 0x6b, 0x43, 0x00, 0x29, 0x08, 0xd1, + 0x2b, 0x4d, 0x2d, 0x78, 0x3d, 0x60, 0xc5, 0x60, + 0x7d, 0x25, 0xed, 0x00, 0x3c, 0x00, 0x68, 0x4c, + 0x00, 0x00, 0x5d, 0x1b, 0x2c, 0x4b, 0x07, 0xe0, + 0x27, 0x4d, 0x6d, 0x78, 0x3d, 0x60, 0xc5, 0x60, + 0x4b, 0x25, 0x2d, 0x01, 0x5d, 0x1b, 0x28, 0x4b, + 0xf6, 0x18, 0x02, 0x20, 0x00, 0xf0, 0x57, 0xf8, + 0x28, 0x1a, 0xf8, 0x60, 0x22, 0x48, 0x22, 0x1c, + 0x18, 0x38, 0x81, 0x78, 0x03, 0x20, 0x00, 0xf0, + 0x4e, 0xf8, 0x30, 0x1a, 0x38, 0x62, 0x39, 0x68, + 0x00, 0xab, 0x79, 0x61, 0x5a, 0x78, 0x3c, 0x00, + 0xa4, 0x4c, 0x00, 0x00, 0x56, 0x23, 0xf9, 0x68, + 0x5a, 0x43, 0x89, 0x1a, 0xf9, 0x60, 0xc8, 0x31, + 0x39, 0x61, 0x18, 0x49, 0x18, 0x39, 0x89, 0x78, + 0x00, 0x29, 0xb9, 0x69, 0x11, 0xd1, 0x00, 0xab, + 0x1a, 0x78, 0x13, 0x4b, 0x14, 0x3b, 0x9a, 0x5c, + 0x53, 0x1c, 0x59, 0x43, 0x0a, 0x23, 0x59, 0x43, + 0x14, 0x4b, 0x59, 0x1a, 0x51, 0x43, 0x0a, 0x23, + 0x59, 0x43, 0x40, 0x1a, 0x38, 0x62, 0x12, 0x49, + 0x3c, 0x00, 0xe0, 0x4c, 0x00, 0x00, 0x10, 0xe0, + 0x00, 0xab, 0x1a, 0x78, 0x0a, 0x4b, 0x14, 0x3b, + 0x9a, 0x5c, 0x53, 0x1c, 0x59, 0x43, 0x0a, 0x23, + 0x59, 0x43, 0x0d, 0x4b, 0x59, 0x1a, 0x51, 0x43, + 0x0a, 0x23, 0x59, 0x43, 0x40, 0x1a, 0x0b, 0x49, + 0x38, 0x62, 0x40, 0x18, 0x78, 0x62, 0xf8, 0xbd, + 0x00, 0x00, 0x0c, 0x5a, 0x01, 0x00, 0x66, 0x5a, + 0x01, 0x00, 0x94, 0x78, 0x01, 0x00, 0xa0, 0x86, + 0x01, 0x00, 0x3c, 0x00, 0x1c, 0x4d, 0x00, 0x00, + 0x00, 0x48, 0x71, 0x00, 0xb0, 0xd6, 0x8c, 0x00, + 0x88, 0x10, 0x00, 0x00, 0x80, 0x38, 0x01, 0x00, + 0x58, 0x12, 0x00, 0x00, 0x70, 0x11, 0x01, 0x00, + 0x30, 0xb5, 0x19, 0x4b, 0x02, 0x28, 0xdd, 0x68, + 0x06, 0xd1, 0x00, 0x29, 0x04, 0xd1, 0x2b, 0x1c, + 0x0c, 0x33, 0x9c, 0x1a, 0x64, 0x23, 0x5c, 0x43, + 0x02, 0x28, 0x09, 0xd1, 0x01, 0x29, 0x07, 0xd1, + 0x64, 0x23, 0x7d, 0x24, 0x3c, 0x00, 0x58, 0x4d, + 0x00, 0x00, 0xe4, 0x00, 0x6b, 0x43, 0x1c, 0x19, + 0xa0, 0x23, 0x53, 0x43, 0xe4, 0x1a, 0x0a, 0x23, + 0x5a, 0x43, 0x03, 0x28, 0x09, 0xd1, 0x00, 0x29, + 0x07, 0xd1, 0x13, 0x23, 0xff, 0x24, 0xe4, 0x00, + 0x6b, 0x43, 0x1b, 0x19, 0x9b, 0x1a, 0x1c, 0x1c, + 0x5c, 0x43, 0x03, 0x28, 0x08, 0xd1, 0x01, 0x29, + 0x06, 0xd1, 0x0e, 0x20, 0x05, 0x49, 0x68, 0x43, + 0x40, 0x18, 0x80, 0x1a, 0x04, 0x1c, 0x3c, 0x00, + 0x94, 0x4d, 0x00, 0x00, 0x44, 0x43, 0x20, 0x1c, + 0x30, 0xbd, 0x00, 0x00, 0x7c, 0x78, 0x01, 0x00, + 0x84, 0x08, 0x00, 0x00, 0x10, 0xb5, 0x07, 0x4c, + 0x0c, 0x23, 0x60, 0x78, 0x05, 0x49, 0x14, 0x31, + 0x58, 0x43, 0x40, 0x18, 0x40, 0x68, 0x01, 0xf0, + 0x4f, 0xfc, 0x00, 0x21, 0x60, 0x78, 0x02, 0xf0, + 0x4b, 0xff, 0x10, 0xbd, 0x4c, 0x7b, 0x01, 0x00, + 0x0c, 0x48, 0xf8, 0xb5, 0x40, 0x78, 0x0c, 0x23, + 0x3c, 0x00, 0xd0, 0x4d, 0x00, 0x00, 0x0a, 0x49, + 0x58, 0x43, 0x14, 0x31, 0x44, 0x18, 0x26, 0x1d, + 0x60, 0xce, 0x30, 0x1c, 0x0b, 0xf0, 0x0b, 0xfd, + 0x00, 0x27, 0x41, 0x20, 0x47, 0x55, 0x05, 0x48, + 0x29, 0x1c, 0x02, 0xf0, 0xf0, 0xfe, 0x28, 0x1c, + 0x01, 0xf0, 0x31, 0xfc, 0x04, 0x34, 0xc0, 0xc4, + 0xf8, 0xbd, 0x4c, 0x7b, 0x01, 0x00, 0x55, 0x80, + 0x00, 0x00, 0xb0, 0xb5, 0x0a, 0x4d, 0x4c, 0x21, + 0x28, 0x78, 0x3c, 0x00, 0x0c, 0x4e, 0x00, 0x00, + 0x09, 0x4a, 0x41, 0x43, 0x8c, 0x18, 0x22, 0x68, + 0x01, 0x21, 0xfb, 0xf7, 0xe1, 0xfa, 0x28, 0x78, + 0x01, 0xf0, 0xfa, 0xfb, 0x3c, 0x23, 0xe0, 0x56, + 0x41, 0x1e, 0x01, 0x20, 0x07, 0xf0, 0x34, 0xfb, + 0xb0, 0xbd, 0x00, 0x00, 0x3c, 0x7c, 0x01, 0x00, + 0x58, 0xe3, 0x01, 0x00, 0x0c, 0x23, 0x07, 0x49, + 0x58, 0x43, 0x40, 0x18, 0x80, 0xb5, 0x40, 0x68, + 0x41, 0x6b, 0x00, 0x29, 0x3c, 0x00, 0x48, 0x4e, + 0x00, 0x00, 0x02, 0xd0, 0x0b, 0xf0, 0xfb, 0xfd, + 0x80, 0xbd, 0x0b, 0xf0, 0x2c, 0xfd, 0x80, 0xbd, + 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, 0x38, 0x22, + 0x0a, 0x4b, 0x42, 0x43, 0xd2, 0x18, 0x00, 0x29, + 0x80, 0xb5, 0x04, 0xd0, 0x02, 0x29, 0x07, 0xd1, + 0x0b, 0xf0, 0xfb, 0xfc, 0x80, 0xbd, 0xd2, 0x6a, + 0x01, 0x21, 0xfb, 0xf7, 0xb0, 0xfa, 0x80, 0xbd, + 0x03, 0x21, 0x86, 0x20, 0xfc, 0xf7, 0x3c, 0x00, + 0x84, 0x4e, 0x00, 0x00, 0x0f, 0xfa, 0x80, 0xbd, + 0xd4, 0xe4, 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x06, + 0x24, 0x0e, 0x0c, 0x20, 0x0e, 0x49, 0x60, 0x43, + 0x40, 0x18, 0x45, 0x68, 0xa8, 0x6b, 0x00, 0x28, + 0x03, 0xd1, 0x00, 0x21, 0x20, 0x1c, 0xfd, 0xf7, + 0xe1, 0xfa, 0x20, 0x1c, 0x07, 0xf0, 0xf2, 0xff, + 0x00, 0x28, 0x08, 0xd0, 0x28, 0x1c, 0x60, 0x30, + 0xc1, 0x79, 0x01, 0x29, 0x03, 0xd9, 0xff, 0x31, + 0x3c, 0x00, 0xc0, 0x4e, 0x00, 0x00, 0xc1, 0x71, + 0xff, 0x31, 0x81, 0x71, 0x01, 0x21, 0x20, 0x1c, + 0x02, 0xf0, 0xc5, 0xfe, 0xb0, 0xbd, 0x60, 0x7b, + 0x01, 0x00, 0x70, 0xb5, 0x00, 0x06, 0x00, 0x0e, + 0x05, 0x1c, 0x4c, 0x23, 0x0a, 0x49, 0x58, 0x43, + 0x44, 0x18, 0x3c, 0x20, 0x00, 0x5d, 0xff, 0x30, + 0x06, 0x06, 0x36, 0x16, 0x28, 0x1c, 0x01, 0xf0, + 0x90, 0xfb, 0x00, 0x21, 0x28, 0x1c, 0x22, 0x68, + 0xfb, 0xf7, 0x3c, 0x00, 0xfc, 0x4e, 0x00, 0x00, + 0x6f, 0xfa, 0x31, 0x1c, 0x00, 0x20, 0x07, 0xf0, + 0xc7, 0xfa, 0x70, 0xbd, 0x58, 0xe3, 0x01, 0x00, + 0x0c, 0x22, 0x0f, 0x4b, 0x42, 0x43, 0xd2, 0x18, + 0x10, 0xb5, 0x54, 0x68, 0x00, 0x29, 0x0d, 0xd0, + 0x02, 0x29, 0x0f, 0xd1, 0x2c, 0x20, 0x00, 0x5d, + 0x00, 0x28, 0x03, 0xd0, 0x07, 0x21, 0x0c, 0x20, + 0xfc, 0xf7, 0xba, 0xf9, 0x20, 0x1c, 0x0b, 0xf0, + 0xbb, 0xfc, 0x10, 0xbd, 0x3c, 0x00, 0x38, 0x4f, + 0x00, 0x00, 0x00, 0x21, 0x02, 0xf0, 0x8d, 0xfe, + 0x10, 0xbd, 0x04, 0x21, 0x0c, 0x20, 0xfc, 0xf7, + 0xae, 0xf9, 0x10, 0xbd, 0x00, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x29, 0x07, 0xd0, + 0x0c, 0x23, 0x05, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x40, 0x68, 0x0b, 0xf0, 0x4a, 0xfc, 0x80, 0xbd, + 0x01, 0x21, 0x02, 0xf0, 0x76, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, 0x3c, 0x00, + 0x74, 0x4f, 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x00, 0x29, 0x05, 0xd0, 0x02, 0x29, 0x1a, 0xd1, + 0x20, 0x1c, 0x0b, 0xf0, 0xeb, 0xfc, 0x10, 0xbd, + 0x0d, 0x48, 0x04, 0x70, 0x0d, 0x48, 0x07, 0xf0, + 0x07, 0xf9, 0x0d, 0x48, 0x01, 0x88, 0x01, 0x22, + 0x12, 0x03, 0x11, 0x43, 0x01, 0x80, 0x4c, 0x20, + 0x0a, 0x49, 0x60, 0x43, 0x40, 0x18, 0x40, 0x30, + 0x00, 0x78, 0xfd, 0xf7, 0x5d, 0xfd, 0x20, 0x1c, + 0x3c, 0x00, 0xb0, 0x4f, 0x00, 0x00, 0x0a, 0xf0, + 0xd4, 0xf8, 0x10, 0xbd, 0x03, 0x21, 0x86, 0x20, + 0xfc, 0xf7, 0x73, 0xf9, 0x10, 0xbd, 0x3c, 0x7c, + 0x01, 0x00, 0x05, 0x4e, 0x00, 0x00, 0x32, 0x80, + 0x07, 0x00, 0x58, 0xe3, 0x01, 0x00, 0xff, 0xb5, + 0x05, 0x1c, 0x01, 0x20, 0x83, 0xb0, 0x01, 0x90, + 0x0c, 0x20, 0x5d, 0x4a, 0x68, 0x43, 0x86, 0x18, + 0x01, 0x27, 0x00, 0x29, 0x74, 0x68, 0x0e, 0xd0, + 0x02, 0x29, 0x3c, 0x00, 0xec, 0x4f, 0x00, 0x00, + 0x6a, 0xd1, 0x2c, 0x20, 0x00, 0x5d, 0x00, 0x28, + 0x03, 0xd0, 0x06, 0x21, 0x0c, 0x20, 0xfc, 0xf7, + 0x53, 0xf9, 0x20, 0x1c, 0x0b, 0xf0, 0x20, 0xfd, + 0x07, 0xb0, 0xf0, 0xbd, 0x52, 0x48, 0x14, 0x38, + 0x45, 0x70, 0xa0, 0x6b, 0x00, 0x28, 0x07, 0xd0, + 0x50, 0x48, 0x07, 0xf0, 0x7f, 0xf8, 0x01, 0x21, + 0x28, 0x1c, 0xfd, 0xf7, 0x25, 0xfa, 0x1c, 0xe0, + 0x4d, 0x48, 0x07, 0xf0, 0x3c, 0x00, 0x28, 0x50, + 0x00, 0x00, 0x77, 0xf8, 0x4a, 0x48, 0x14, 0x38, + 0x05, 0x70, 0x4b, 0x48, 0x01, 0x88, 0x01, 0x22, + 0x52, 0x03, 0x11, 0x43, 0x01, 0x80, 0x40, 0x20, + 0x00, 0x5d, 0xfd, 0xf7, 0x12, 0xfd, 0xb0, 0x68, + 0x00, 0x28, 0x09, 0xd1, 0x28, 0x1c, 0x07, 0xf0, + 0x64, 0xff, 0xb0, 0x60, 0x00, 0x28, 0x03, 0xd1, + 0x09, 0x21, 0x0c, 0x20, 0xfc, 0xf7, 0x23, 0xf9, + 0x05, 0x98, 0x00, 0x28, 0x03, 0xd0, 0x3c, 0x00, + 0x64, 0x50, 0x00, 0x00, 0xe0, 0x6c, 0x01, 0x30, + 0xe0, 0x64, 0x0e, 0xe0, 0x67, 0x20, 0x00, 0x5d, + 0x00, 0x28, 0x07, 0xd1, 0xe0, 0x6c, 0x00, 0x28, + 0x04, 0xd1, 0x39, 0x48, 0x02, 0x38, 0xc0, 0x6a, + 0xa0, 0x64, 0x09, 0xe0, 0x20, 0x6d, 0x00, 0x28, + 0x01, 0xd0, 0x00, 0x27, 0x04, 0xe0, 0x28, 0x1c, + 0x07, 0xf0, 0x00, 0xff, 0x00, 0x28, 0xe5, 0xd1, + 0x05, 0x98, 0x20, 0x65, 0x20, 0x1c, 0x20, 0x30, + 0x3c, 0x00, 0xa0, 0x50, 0x00, 0x00, 0x62, 0x6a, + 0x02, 0x90, 0x81, 0x7b, 0x28, 0x1c, 0x07, 0xf0, + 0x78, 0xff, 0x00, 0x2f, 0x19, 0xd0, 0x20, 0x1c, + 0x60, 0x30, 0xc1, 0x79, 0x4a, 0x1c, 0xc2, 0x71, + 0x80, 0x79, 0x81, 0x42, 0x02, 0xd2, 0x01, 0x20, + 0x01, 0xe0, 0x40, 0xe0, 0x00, 0x20, 0x01, 0x90, + 0x00, 0x28, 0x0a, 0xd0, 0x25, 0x48, 0x00, 0x78, + 0x80, 0x07, 0x06, 0xd5, 0x00, 0xf0, 0x0d, 0xfb, + 0x01, 0x1c, 0x3c, 0x00, 0xdc, 0x50, 0x00, 0x00, + 0x20, 0x1c, 0x0b, 0xf0, 0x15, 0xfd, 0x01, 0x90, + 0x01, 0x98, 0x00, 0x28, 0x0f, 0xd0, 0x02, 0x98, + 0x00, 0x7b, 0x02, 0x28, 0x03, 0xd1, 0x20, 0x1c, + 0x04, 0xf0, 0xd0, 0xfe, 0x84, 0xe7, 0x01, 0x28, + 0x00, 0xd0, 0x7e, 0xe7, 0x21, 0x1c, 0x30, 0x1c, + 0x04, 0xf0, 0xe2, 0xfe, 0x7c, 0xe7, 0x25, 0x1c, + 0x60, 0x35, 0xe8, 0x79, 0xff, 0x30, 0xa8, 0x71, + 0x68, 0x7a, 0x06, 0xf0, 0x3c, 0x00, 0x18, 0x51, + 0x00, 0x00, 0x9d, 0xfc, 0x0d, 0xf0, 0x47, 0xfe, + 0x07, 0x1c, 0x05, 0xf0, 0x12, 0xff, 0x3f, 0x18, + 0x02, 0x98, 0x81, 0x7b, 0x20, 0x69, 0x04, 0x30, + 0x00, 0xf0, 0x35, 0xfa, 0x61, 0x6a, 0x05, 0xf0, + 0xea, 0xfe, 0x39, 0x18, 0x6b, 0x7a, 0x30, 0x88, + 0x80, 0x31, 0x09, 0x4a, 0x0d, 0xf0, 0x91, 0xfe, + 0x5d, 0xe7, 0x03, 0x21, 0x0c, 0x20, 0xfc, 0xf7, + 0xaa, 0xf8, 0x58, 0xe7, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x51, 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, + 0xa5, 0x4d, 0x00, 0x00, 0xc9, 0x4d, 0x00, 0x00, + 0x32, 0x80, 0x07, 0x00, 0x1d, 0x75, 0x01, 0x00, + 0x8d, 0x4e, 0x00, 0x00, 0xff, 0xb5, 0x81, 0xb0, + 0x1f, 0x1c, 0x05, 0x1c, 0x14, 0x1c, 0x10, 0x1c, + 0x0a, 0x9e, 0x00, 0xf0, 0xf5, 0xfc, 0x29, 0x1c, + 0x10, 0x31, 0x20, 0x1d, 0x06, 0x22, 0xfb, 0xf7, + 0xb7, 0xf9, 0xa8, 0x8e, 0x20, 0x80, 0xe8, 0x8e, + 0x3c, 0x00, 0x90, 0x51, 0x00, 0x00, 0x60, 0x80, + 0x02, 0x99, 0x20, 0x1c, 0x00, 0xf0, 0x07, 0xf9, + 0xff, 0x34, 0x01, 0x34, 0x66, 0x60, 0x27, 0x60, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xf8, 0xb5, + 0x0f, 0x1c, 0x1e, 0x1c, 0x05, 0x1c, 0x14, 0x1c, + 0x10, 0x1c, 0x00, 0xf0, 0xd8, 0xfc, 0xa8, 0x88, + 0x39, 0x1c, 0x20, 0x80, 0x28, 0x89, 0x60, 0x80, + 0x20, 0x1c, 0x00, 0xf0, 0xf0, 0xf8, 0xff, 0x34, + 0x01, 0x34, 0x3c, 0x00, 0xcc, 0x51, 0x00, 0x00, + 0x66, 0x60, 0xf8, 0xbd, 0x70, 0xb5, 0x04, 0x1c, + 0xc0, 0x68, 0x05, 0x68, 0x20, 0x1c, 0x14, 0x30, + 0x06, 0x1c, 0x00, 0xf0, 0x0f, 0xfb, 0x00, 0x28, + 0x16, 0xd0, 0x01, 0x22, 0x02, 0x21, 0x20, 0x69, + 0x05, 0xf0, 0xf8, 0xfa, 0x00, 0x28, 0x01, 0xd0, + 0xfb, 0xf7, 0x24, 0xff, 0x00, 0x22, 0x02, 0x21, + 0x20, 0x69, 0x05, 0xf0, 0xef, 0xfa, 0x00, 0x28, + 0x06, 0xd0, 0xfb, 0xf7, 0x3c, 0x00, 0x08, 0x52, + 0x00, 0x00, 0x01, 0xff, 0x00, 0x28, 0x02, 0xd0, + 0x30, 0x1c, 0x0b, 0xf0, 0x7c, 0xfb, 0x68, 0x89, + 0x80, 0x07, 0xc0, 0x0f, 0x03, 0xf0, 0xa7, 0xf8, + 0x18, 0x23, 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, + 0xc1, 0x68, 0x00, 0x29, 0x02, 0xd0, 0x20, 0x1c, + 0xfb, 0xf7, 0xd4, 0xf8, 0x70, 0xbd, 0x94, 0x67, + 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, 0x10, 0x1c, + 0x0d, 0x1c, 0x19, 0x1c, 0xff, 0x22, 0x3c, 0x00, + 0x44, 0x52, 0x00, 0x00, 0x00, 0x27, 0xff, 0x2d, + 0x25, 0xd0, 0x00, 0x29, 0x05, 0xd0, 0x4b, 0x88, + 0x00, 0x2b, 0x02, 0xd0, 0x00, 0xf0, 0x50, 0xfc, + 0x15, 0xe0, 0x00, 0x21, 0x10, 0x4e, 0x4b, 0x00, + 0x9e, 0x19, 0x02, 0x23, 0xf6, 0x5e, 0x86, 0x42, + 0x01, 0xdd, 0x0a, 0x1c, 0x04, 0xe0, 0x01, 0x31, + 0x09, 0x06, 0x09, 0x0e, 0x26, 0x29, 0xf1, 0xd3, + 0x09, 0x4e, 0x50, 0x00, 0x80, 0x19, 0x4e, 0x23, + 0x3c, 0x00, 0x80, 0x52, 0x00, 0x00, 0xc0, 0x5e, + 0x27, 0x2a, 0x07, 0xd2, 0x06, 0x49, 0x20, 0x39, + 0x49, 0x57, 0x47, 0x31, 0x40, 0x1a, 0x20, 0x60, + 0x01, 0x27, 0x02, 0xe0, 0x7e, 0x20, 0xc0, 0x43, + 0x20, 0x60, 0x38, 0x1c, 0xf8, 0xbd, 0xfa, 0x47, + 0x01, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, 0x7e, 0x21, + 0x05, 0x1c, 0x00, 0x20, 0xc9, 0x43, 0x00, 0x2c, + 0x0f, 0xd0, 0x10, 0x1c, 0x05, 0xf0, 0x6b, 0xfd, + 0x00, 0x28, 0x3c, 0x00, 0xbc, 0x52, 0x00, 0x00, + 0x02, 0xd0, 0x21, 0x1c, 0xc9, 0x39, 0x01, 0xe0, + 0x21, 0x1c, 0x86, 0x39, 0x02, 0x20, 0xc0, 0x43, + 0xfb, 0xf7, 0xb4, 0xf9, 0x01, 0x1c, 0x01, 0x20, + 0x29, 0x60, 0xb0, 0xbd, 0x98, 0xb5, 0x14, 0x1c, + 0x00, 0x22, 0x00, 0x92, 0x22, 0x1c, 0xfd, 0xf7, + 0x43, 0xfe, 0x98, 0xbd, 0x05, 0x49, 0x80, 0xb5, + 0x08, 0x60, 0x05, 0x49, 0x01, 0x20, 0xc8, 0x61, + 0x01, 0x21, 0x00, 0x20, 0x3c, 0x00, 0xf8, 0x52, + 0x00, 0x00, 0x03, 0xf0, 0x1c, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x20, 0x67, 0x01, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x21, 0x00, 0x20, + 0x03, 0xf0, 0x11, 0xfe, 0x06, 0xf0, 0x0d, 0xfb, + 0x02, 0x49, 0x00, 0x20, 0x08, 0x60, 0x80, 0xbd, + 0x00, 0x00, 0x20, 0x67, 0x01, 0x00, 0x03, 0x49, + 0x01, 0x20, 0x09, 0x69, 0x00, 0x29, 0x00, 0xd1, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x53, 0x00, 0x00, 0x10, 0x67, 0x01, 0x00, + 0x03, 0x48, 0x00, 0x69, 0x00, 0x28, 0x01, 0xd0, + 0x40, 0x69, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x10, 0x67, 0x01, 0x00, 0x70, 0xb5, 0x16, 0x1c, + 0x0d, 0x1c, 0x04, 0x1c, 0x00, 0x28, 0x01, 0xd0, + 0x01, 0x2c, 0x07, 0xd1, 0x00, 0xf0, 0x36, 0xfa, + 0x00, 0x28, 0x05, 0xd0, 0x13, 0xf0, 0xca, 0xf9, + 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, 0x70, 0xbd, + 0x3c, 0x00, 0x70, 0x53, 0x00, 0x00, 0x01, 0x20, + 0x00, 0x2c, 0x00, 0xd0, 0x00, 0x20, 0x0a, 0x4c, + 0x04, 0x34, 0x61, 0xc4, 0x10, 0x3c, 0x00, 0xf0, + 0x24, 0xfa, 0x00, 0x28, 0x02, 0xd0, 0x00, 0xf0, + 0xc6, 0xf9, 0x01, 0xe0, 0x00, 0xf0, 0xe5, 0xf8, + 0xc0, 0x30, 0xc3, 0x6b, 0x22, 0x1d, 0x07, 0xca, + 0xfb, 0xf7, 0x20, 0xf8, 0x00, 0x20, 0x70, 0xbd, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0xf8, 0xb5, + 0x0d, 0x1c, 0x3c, 0x00, 0xac, 0x53, 0x00, 0x00, + 0x00, 0x21, 0x04, 0x1c, 0x28, 0x1c, 0x05, 0xf0, + 0xe3, 0xf9, 0x23, 0x1c, 0xff, 0x33, 0x21, 0x33, + 0xff, 0x27, 0x00, 0x28, 0x05, 0xd0, 0x22, 0x22, + 0x01, 0x1c, 0x18, 0x1c, 0xfb, 0xf7, 0x96, 0xf8, + 0x00, 0xe0, 0x1f, 0x70, 0x03, 0x21, 0x28, 0x1c, + 0x05, 0xf0, 0xd2, 0xf9, 0x26, 0x1c, 0xff, 0x36, + 0x41, 0x36, 0x00, 0x28, 0x05, 0xd0, 0x03, 0x22, + 0x01, 0x1c, 0xb0, 0x1c, 0x3c, 0x00, 0xe8, 0x53, + 0x00, 0x00, 0xfb, 0xf7, 0x86, 0xf8, 0x00, 0xe0, + 0xb7, 0x70, 0x01, 0x21, 0x28, 0x1c, 0x05, 0xf0, + 0xc2, 0xf9, 0x00, 0x28, 0x07, 0xd0, 0x01, 0x1c, + 0x20, 0x1c, 0xff, 0x30, 0x0a, 0x22, 0x46, 0x30, + 0xfb, 0xf7, 0x77, 0xf8, 0x00, 0xe0, 0x77, 0x71, + 0x32, 0x21, 0x28, 0x1c, 0x05, 0xf0, 0xb3, 0xf9, + 0x00, 0x28, 0x07, 0xd0, 0x01, 0x1c, 0x20, 0x1c, + 0xff, 0x30, 0x12, 0x22, 0x50, 0x30, 0x3c, 0x00, + 0x24, 0x54, 0x00, 0x00, 0xfb, 0xf7, 0x68, 0xf8, + 0x00, 0xe0, 0xf7, 0x73, 0x06, 0x21, 0x28, 0x1c, + 0x05, 0xf0, 0xa4, 0xf9, 0x00, 0x28, 0x07, 0xd0, + 0x01, 0x1c, 0x20, 0x1c, 0xff, 0x30, 0x04, 0x22, + 0x63, 0x30, 0xfb, 0xf7, 0x59, 0xf8, 0xf8, 0xbd, + 0xff, 0x34, 0x61, 0x34, 0xa7, 0x70, 0xfa, 0xe7, + 0x08, 0x49, 0x80, 0xb5, 0x09, 0x68, 0x00, 0x28, + 0x01, 0xd1, 0x07, 0x48, 0x01, 0x68, 0x08, 0x1c, + 0x3c, 0x00, 0x60, 0x54, 0x00, 0x00, 0x05, 0xd1, + 0x03, 0x21, 0x90, 0x20, 0xfb, 0xf7, 0x1d, 0xff, + 0x00, 0x20, 0x80, 0xbd, 0x01, 0xf0, 0xd7, 0xfb, + 0x80, 0xbd, 0x1c, 0x67, 0x01, 0x00, 0x20, 0x67, + 0x01, 0x00, 0x80, 0xb5, 0xff, 0xf7, 0xe7, 0xff, + 0x80, 0xbd, 0xf0, 0xb5, 0x00, 0x24, 0x84, 0x46, + 0x00, 0x20, 0x0b, 0xe0, 0x87, 0x40, 0x17, 0x40, + 0x07, 0xd0, 0x14, 0x23, 0x0b, 0x4d, 0x43, 0x43, + 0x5b, 0x19, 0x3c, 0x00, 0x9c, 0x54, 0x00, 0x00, + 0x1b, 0x7c, 0x65, 0x46, 0x2b, 0x55, 0x01, 0x34, + 0x01, 0x30, 0x01, 0x27, 0x3b, 0x1c, 0x0e, 0x28, + 0x00, 0xd3, 0x00, 0x23, 0x0e, 0x88, 0x3d, 0x1c, + 0xa6, 0x42, 0x00, 0xdc, 0x00, 0x25, 0x2b, 0x40, + 0xe7, 0xd1, 0x0c, 0x80, 0xf0, 0xbd, 0x00, 0x00, + 0x74, 0x40, 0x01, 0x00, 0x78, 0xb5, 0x04, 0x1c, + 0x01, 0x20, 0x20, 0x70, 0x08, 0x20, 0x00, 0xab, + 0x0d, 0x1c, 0x18, 0x80, 0x3c, 0x00, 0xd8, 0x54, + 0x00, 0x00, 0x16, 0x1c, 0xa0, 0x1c, 0x69, 0x46, + 0xff, 0xf7, 0xd1, 0xff, 0x00, 0xab, 0x00, 0x22, + 0xd2, 0x43, 0x19, 0x88, 0x82, 0x40, 0x61, 0x70, + 0x32, 0x20, 0x28, 0x70, 0x10, 0x20, 0x18, 0x80, + 0x32, 0x40, 0xa8, 0x1c, 0x69, 0x46, 0xff, 0xf7, + 0xc2, 0xff, 0x00, 0xab, 0x18, 0x88, 0x68, 0x70, + 0x78, 0xbd, 0x80, 0xb5, 0x02, 0xf0, 0x35, 0xff, + 0x00, 0x21, 0x00, 0x28, 0x00, 0xd0, 0x3c, 0x00, + 0x14, 0x55, 0x00, 0x00, 0x01, 0x69, 0x08, 0x1c, + 0x80, 0xbd, 0x00, 0x00, 0x05, 0x49, 0x00, 0x28, + 0x01, 0xd0, 0xc8, 0x68, 0x00, 0xe0, 0x08, 0x69, + 0x00, 0x28, 0x01, 0xd0, 0x04, 0x30, 0x70, 0x47, + 0x00, 0x20, 0x70, 0x47, 0x10, 0x67, 0x01, 0x00, + 0x03, 0x48, 0x00, 0x69, 0x00, 0x28, 0x01, 0xd0, + 0x04, 0x30, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x10, 0x67, 0x01, 0x00, 0x02, 0x48, 0x00, 0x69, + 0x3c, 0x00, 0x50, 0x55, 0x00, 0x00, 0x00, 0x28, + 0xff, 0xd1, 0x70, 0x47, 0x00, 0x00, 0x10, 0x67, + 0x01, 0x00, 0x10, 0xb5, 0x05, 0x4c, 0x20, 0x69, + 0x00, 0x28, 0x03, 0xd1, 0x04, 0x21, 0x90, 0x20, + 0xfb, 0xf7, 0x9b, 0xfe, 0x20, 0x69, 0x10, 0xbd, + 0x00, 0x00, 0x10, 0x67, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x00, 0xf0, 0x40, 0xf9, 0x00, 0x28, + 0x01, 0xd0, 0x00, 0x20, 0x10, 0xbd, 0x20, 0x1c, + 0x00, 0xf0, 0x3c, 0x00, 0x8c, 0x55, 0x00, 0x00, + 0x57, 0xf9, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x20, + 0x10, 0xbd, 0x02, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0x70, 0xb5, 0x0f, 0x4e, 0x04, 0x1c, 0x30, 0x68, + 0x0d, 0x1c, 0x00, 0x28, 0x07, 0xd0, 0x21, 0x1c, + 0x04, 0x30, 0x05, 0xf0, 0xc1, 0xfb, 0x00, 0x28, + 0x01, 0xd0, 0x30, 0x68, 0x0b, 0xe0, 0x09, 0x4a, + 0x10, 0x68, 0x00, 0x28, 0x09, 0xd0, 0x21, 0x1c, + 0x14, 0x1c, 0x04, 0x30, 0x3c, 0x00, 0xc8, 0x55, + 0x00, 0x00, 0x05, 0xf0, 0xb4, 0xfb, 0x00, 0x28, + 0x02, 0xd0, 0x20, 0x68, 0x9c, 0x30, 0x00, 0xe0, + 0x03, 0x48, 0x40, 0x5d, 0x70, 0xbd, 0x20, 0x67, + 0x01, 0x00, 0x1c, 0x67, 0x01, 0x00, 0xcc, 0x47, + 0x01, 0x00, 0x04, 0x49, 0x00, 0x20, 0x09, 0x69, + 0x00, 0x29, 0x02, 0xd0, 0xff, 0x31, 0x01, 0x31, + 0x88, 0x69, 0x70, 0x47, 0x00, 0x00, 0x10, 0x67, + 0x01, 0x00, 0x01, 0x48, 0x00, 0x7a, 0x3c, 0x00, + 0x04, 0x56, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0xac, 0x7c, 0x01, 0x00, 0xfe, 0xb5, 0x06, 0x1c, + 0x00, 0x20, 0x1f, 0x1c, 0x14, 0x1c, 0x00, 0x29, + 0x02, 0x90, 0x19, 0xd0, 0x01, 0x29, 0x26, 0xd0, + 0x02, 0x29, 0x47, 0xd1, 0x26, 0x48, 0x00, 0x78, + 0x05, 0xf0, 0xa0, 0xfb, 0xa0, 0x72, 0x0a, 0xf0, + 0x4f, 0xfc, 0x0e, 0x28, 0x09, 0xd1, 0xa0, 0x7a, + 0x05, 0xf0, 0xaa, 0xfb, 0x00, 0x28, 0x04, 0xd0, + 0x3c, 0x00, 0x40, 0x56, 0x00, 0x00, 0x20, 0x48, + 0x00, 0x78, 0x05, 0xf0, 0x92, 0xfb, 0xa0, 0x72, + 0x00, 0x20, 0x20, 0x72, 0x2f, 0xe0, 0x1d, 0x4d, + 0x28, 0x68, 0x00, 0x28, 0x01, 0xd1, 0xfb, 0xf7, + 0x52, 0xfe, 0x00, 0x97, 0x2a, 0x68, 0x23, 0x1c, + 0x18, 0x32, 0x11, 0x1c, 0x30, 0x1c, 0xfc, 0xf7, + 0xde, 0xfb, 0x26, 0xe0, 0x30, 0x1c, 0x0c, 0xf0, + 0xca, 0xfb, 0x05, 0x1c, 0x02, 0xd0, 0xa8, 0x68, + 0x00, 0x28, 0x3c, 0x00, 0x7c, 0x56, 0x00, 0x00, + 0x08, 0xd1, 0x13, 0x48, 0x00, 0x68, 0x00, 0x28, + 0x01, 0xd1, 0xfb, 0xf7, 0x3b, 0xfe, 0x10, 0x48, + 0x00, 0x68, 0x18, 0x30, 0x02, 0x1c, 0x0e, 0x48, + 0x00, 0x97, 0x01, 0x68, 0x23, 0x1c, 0x18, 0x31, + 0x30, 0x1c, 0xfc, 0xf7, 0xc3, 0xfb, 0x00, 0x2d, + 0x0a, 0xd0, 0x40, 0x35, 0x28, 0x88, 0x80, 0x06, + 0x06, 0xd4, 0x00, 0x20, 0x20, 0x60, 0x03, 0xe0, + 0x01, 0x21, 0x90, 0x20, 0x3c, 0x00, 0xb8, 0x56, + 0x00, 0x00, 0xfb, 0xf7, 0xf4, 0xfd, 0x02, 0x98, + 0xfe, 0xbd, 0xb0, 0x69, 0x01, 0x00, 0x90, 0x57, + 0x01, 0x00, 0x20, 0x67, 0x01, 0x00, 0x1c, 0x67, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x20, 0x02, 0xf0, + 0x4a, 0xfe, 0x18, 0x23, 0x05, 0x4a, 0x58, 0x43, + 0x80, 0x18, 0x40, 0x69, 0x01, 0x21, 0x00, 0x28, + 0x00, 0xd0, 0x41, 0x78, 0x08, 0x1c, 0x80, 0xbd, + 0x00, 0x00, 0x94, 0x67, 0x01, 0x00, 0x3c, 0x00, + 0xf4, 0x56, 0x00, 0x00, 0x02, 0x49, 0x08, 0x69, + 0x00, 0x28, 0x00, 0xd1, 0xc8, 0x68, 0x70, 0x47, + 0x10, 0x67, 0x01, 0x00, 0x03, 0x48, 0xc0, 0x68, + 0x00, 0x28, 0x01, 0xd0, 0x04, 0x30, 0x70, 0x47, + 0x00, 0x20, 0x70, 0x47, 0x10, 0x67, 0x01, 0x00, + 0x10, 0xb5, 0x05, 0x4c, 0xe0, 0x68, 0x00, 0x28, + 0x03, 0xd1, 0x05, 0x21, 0x90, 0x20, 0xfb, 0xf7, + 0xbd, 0xfd, 0xe0, 0x68, 0x10, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x57, 0x00, 0x00, 0x10, 0x67, + 0x01, 0x00, 0xf8, 0xb5, 0x0d, 0x1c, 0x00, 0x2a, + 0x03, 0xd0, 0x11, 0x49, 0x12, 0x4f, 0x0e, 0x78, + 0x01, 0xe0, 0x11, 0x4f, 0x0c, 0x26, 0x08, 0x2e, + 0x01, 0xd2, 0x34, 0x1c, 0x00, 0xe0, 0x08, 0x24, + 0x01, 0x21, 0x01, 0x70, 0x44, 0x70, 0x39, 0x1c, + 0x22, 0x1c, 0x02, 0x30, 0xfa, 0xf7, 0xcb, 0xfe, + 0x32, 0x1b, 0x00, 0x2a, 0x07, 0xdd, 0x32, 0x20, + 0x28, 0x70, 0x3c, 0x00, 0x6c, 0x57, 0x00, 0x00, + 0x39, 0x19, 0xa8, 0x1c, 0x6a, 0x70, 0xfa, 0xf7, + 0xc1, 0xfe, 0xf8, 0xbd, 0xff, 0x20, 0x28, 0x70, + 0x00, 0x20, 0x68, 0x70, 0xf9, 0xe7, 0x00, 0x00, + 0xa4, 0x69, 0x01, 0x00, 0xb0, 0x69, 0x01, 0x00, + 0x90, 0x57, 0x01, 0x00, 0x01, 0x49, 0x48, 0x62, + 0x70, 0x47, 0x00, 0x00, 0x94, 0x67, 0x01, 0x00, + 0x03, 0x49, 0x80, 0xb5, 0x08, 0x60, 0x01, 0x21, + 0x01, 0x20, 0x03, 0xf0, 0x3c, 0x00, 0xa8, 0x57, + 0x00, 0x00, 0xc5, 0xfb, 0x80, 0xbd, 0x1c, 0x67, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x21, 0x01, 0x20, + 0x03, 0xf0, 0xbd, 0xfb, 0x06, 0xf0, 0xb9, 0xf8, + 0x02, 0x49, 0x00, 0x20, 0x08, 0x60, 0x80, 0xbd, + 0x00, 0x00, 0x1c, 0x67, 0x01, 0x00, 0x03, 0x49, + 0x01, 0x20, 0xc9, 0x68, 0x00, 0x29, 0x00, 0xd1, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x10, 0x67, + 0x01, 0x00, 0x03, 0x48, 0xc0, 0x68, 0x3c, 0x00, + 0xe4, 0x57, 0x00, 0x00, 0x00, 0x28, 0x01, 0xd0, + 0x40, 0x69, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x10, 0x67, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x01, 0x20, 0x03, 0xf0, 0x9b, 0xfb, 0x80, 0xbd, + 0x05, 0x4a, 0x80, 0xb5, 0x12, 0x69, 0x00, 0x21, + 0x00, 0x2a, 0x03, 0xd0, 0x11, 0x1d, 0x05, 0xf0, + 0x91, 0xfa, 0x01, 0x1c, 0x08, 0x1c, 0x80, 0xbd, + 0x10, 0x67, 0x01, 0x00, 0x06, 0x4a, 0x80, 0xb5, + 0x3c, 0x00, 0x20, 0x58, 0x00, 0x00, 0x12, 0x69, + 0x00, 0x21, 0x00, 0x2a, 0x05, 0xd0, 0x11, 0x1c, + 0xff, 0x31, 0x21, 0x31, 0x05, 0xf0, 0x8b, 0xfa, + 0x01, 0x1c, 0x08, 0x1c, 0x80, 0xbd, 0x10, 0x67, + 0x01, 0x00, 0x05, 0x4a, 0x80, 0xb5, 0xd2, 0x68, + 0x00, 0x21, 0x00, 0x2a, 0x03, 0xd0, 0x11, 0x1d, + 0x05, 0xf0, 0x73, 0xfa, 0x01, 0x1c, 0x08, 0x1c, + 0x80, 0xbd, 0x10, 0x67, 0x01, 0x00, 0x06, 0x4a, + 0x80, 0xb5, 0x3c, 0x00, 0x5c, 0x58, 0x00, 0x00, + 0xd2, 0x68, 0x00, 0x21, 0x00, 0x2a, 0x05, 0xd0, + 0x11, 0x1c, 0xff, 0x31, 0x21, 0x31, 0x05, 0xf0, + 0x6d, 0xfa, 0x01, 0x1c, 0x08, 0x1c, 0x80, 0xbd, + 0x10, 0x67, 0x01, 0x00, 0xff, 0xb5, 0x0d, 0x1c, + 0x1f, 0x1c, 0x87, 0xb0, 0x10, 0x9e, 0x00, 0x24, + 0x02, 0xf0, 0x72, 0xfd, 0x18, 0x23, 0x13, 0x49, + 0x58, 0x43, 0x08, 0x58, 0x00, 0x28, 0x19, 0xd0, + 0x04, 0x1c, 0x33, 0x1c, 0x3c, 0x00, 0x98, 0x58, + 0x00, 0x00, 0x3a, 0x1c, 0x28, 0x1c, 0x09, 0x99, + 0xfa, 0xf7, 0x9f, 0xfd, 0x04, 0x1c, 0x14, 0xd0, + 0x18, 0x20, 0x00, 0xab, 0x18, 0x80, 0xaa, 0x68, + 0x01, 0xa8, 0x69, 0x46, 0xff, 0xf7, 0xe7, 0xfd, + 0x6a, 0x46, 0x01, 0xa9, 0x00, 0x20, 0x07, 0xf0, + 0x44, 0xfe, 0x00, 0x28, 0x05, 0xd1, 0x0a, 0x21, + 0x00, 0xe0, 0x0f, 0x21, 0x90, 0x20, 0xfb, 0xf7, + 0xea, 0xfc, 0x20, 0x1c, 0x0b, 0xb0, 0x3c, 0x00, + 0xd4, 0x58, 0x00, 0x00, 0xf0, 0xbd, 0x00, 0x00, + 0x94, 0x67, 0x01, 0x00, 0x10, 0xb5, 0x00, 0x24, + 0x02, 0xf0, 0x44, 0xfd, 0x18, 0x23, 0x05, 0x49, + 0x58, 0x43, 0x40, 0x18, 0x80, 0x68, 0x00, 0x28, + 0x02, 0xd0, 0xfa, 0xf7, 0x71, 0xfd, 0x01, 0x24, + 0x20, 0x1c, 0x10, 0xbd, 0x94, 0x67, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x4b, 0x00, 0xf0, 0x4e, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x10, 0x67, 0x01, 0x00, + 0x3c, 0x00, 0x10, 0x59, 0x00, 0x00, 0x80, 0xb5, + 0x02, 0x4b, 0x00, 0xf0, 0x46, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0x11, 0x67, 0x01, 0x00, 0xf8, 0xb5, + 0x0e, 0x1c, 0x15, 0x1c, 0x00, 0x28, 0x1c, 0x49, + 0x10, 0xd0, 0x48, 0x68, 0x1c, 0x4a, 0x28, 0x80, + 0x00, 0x20, 0x07, 0xe0, 0x0b, 0x18, 0x1c, 0x7a, + 0x14, 0x23, 0x63, 0x43, 0x9b, 0x18, 0x1b, 0x7c, + 0x33, 0x54, 0x01, 0x30, 0x2b, 0x88, 0x83, 0x42, + 0xf4, 0xdc, 0x3c, 0x00, 0x4c, 0x59, 0x00, 0x00, + 0x24, 0xe0, 0x00, 0x20, 0x0f, 0x1c, 0x00, 0x24, + 0x08, 0x60, 0x0f, 0xe0, 0x30, 0x5d, 0x05, 0xf0, + 0x07, 0xfa, 0x0e, 0x28, 0x01, 0xd1, 0x00, 0x20, + 0xf8, 0xbd, 0x39, 0x19, 0x08, 0x72, 0x01, 0x22, + 0x39, 0x68, 0x82, 0x40, 0x11, 0x43, 0x08, 0x1c, + 0x38, 0x60, 0x01, 0x34, 0x28, 0x88, 0xa0, 0x42, + 0xec, 0xdc, 0x28, 0x88, 0x78, 0x60, 0xff, 0xf7, + 0xb7, 0xfe, 0x00, 0x28, 0x3c, 0x00, 0x88, 0x59, + 0x00, 0x00, 0x06, 0xd0, 0x01, 0x69, 0x00, 0x29, + 0x03, 0xd0, 0x7f, 0x21, 0xc9, 0x43, 0x0b, 0xf0, + 0x52, 0xfb, 0x01, 0x20, 0xe3, 0xe7, 0x2c, 0x7d, + 0x01, 0x00, 0x74, 0x40, 0x01, 0x00, 0x10, 0xb5, + 0x1c, 0x1c, 0x00, 0x28, 0x0b, 0xd0, 0x20, 0x78, + 0x0e, 0x28, 0x05, 0xd2, 0x14, 0x23, 0x0c, 0x4a, + 0x58, 0x43, 0x80, 0x18, 0x00, 0x7c, 0x00, 0xe0, + 0x00, 0x20, 0x08, 0x70, 0x0e, 0xe0, 0x3c, 0x00, + 0xc4, 0x59, 0x00, 0x00, 0x08, 0x78, 0x05, 0xf0, + 0xd1, 0xf9, 0x20, 0x70, 0xff, 0xf7, 0x92, 0xfe, + 0x00, 0x28, 0x06, 0xd0, 0x01, 0x69, 0x00, 0x29, + 0x03, 0xd0, 0x7f, 0x21, 0xc9, 0x43, 0x0b, 0xf0, + 0x2d, 0xfb, 0x01, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0x74, 0x40, 0x01, 0x00, 0x80, 0xb5, 0x27, 0x20, + 0xc0, 0x43, 0x09, 0xf0, 0x31, 0xfc, 0x80, 0xbd, + 0x80, 0xb5, 0x27, 0x20, 0xc0, 0x43, 0x09, 0xf0, + 0x3c, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x39, 0xfc, + 0x80, 0xbd, 0x80, 0xb5, 0x28, 0x20, 0x09, 0xf0, + 0x42, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0x28, 0x20, 0x09, 0xf0, 0x4a, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0xb0, 0xb5, 0x01, 0x28, 0x28, 0xd1, + 0x01, 0x29, 0x01, 0xd0, 0xfb, 0xf7, 0x6b, 0xfc, + 0xff, 0xf7, 0xe9, 0xfd, 0x02, 0x28, 0x1a, 0xd1, + 0x07, 0xf0, 0x13, 0xfc, 0x12, 0x4c, 0x21, 0x69, + 0x88, 0x42, 0x3c, 0x00, 0x3c, 0x5a, 0x00, 0x00, + 0x15, 0xd0, 0x07, 0xf0, 0x0d, 0xfc, 0x20, 0x61, + 0x20, 0x68, 0x7d, 0x24, 0xe4, 0x00, 0x44, 0x43, + 0x0d, 0xf0, 0xae, 0xf9, 0x05, 0x1c, 0x07, 0xf0, + 0x0b, 0xfc, 0x28, 0x1a, 0x84, 0x42, 0x00, 0xd9, + 0x24, 0x1a, 0x01, 0x22, 0x21, 0x1c, 0x0a, 0x20, + 0x0d, 0xf0, 0xb2, 0xfd, 0xb0, 0xbd, 0x00, 0x21, + 0x09, 0x20, 0x0c, 0xf0, 0x75, 0xfc, 0xb0, 0xbd, + 0x07, 0x21, 0x0a, 0x20, 0x3c, 0x00, 0x78, 0x5a, + 0x00, 0x00, 0xfb, 0xf7, 0x14, 0xfc, 0xb0, 0xbd, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0x7d, 0x20, + 0x02, 0x49, 0x00, 0x01, 0x08, 0x60, 0x70, 0x47, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0x10, 0xb5, + 0x81, 0x6d, 0x04, 0x1c, 0xff, 0x30, 0x46, 0x30, + 0x0c, 0xf0, 0xd1, 0xfc, 0x20, 0x1c, 0xff, 0x30, + 0x50, 0x30, 0xa1, 0x6d, 0x0c, 0xf0, 0xcb, 0xfc, + 0x10, 0xbd, 0xb0, 0xb5, 0x04, 0x1c, 0x3c, 0x00, + 0xb4, 0x5a, 0x00, 0x00, 0x0d, 0x1c, 0x02, 0xf0, + 0x59, 0xfc, 0x20, 0x1c, 0x02, 0xf0, 0x56, 0xfc, + 0x18, 0x23, 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x18, 0x22, 0x29, 0x1c, 0xfa, 0xf7, 0x70, 0xfd, + 0xb0, 0xbd, 0x00, 0x00, 0x94, 0x67, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x09, 0xf0, 0xbc, 0xfb, + 0x20, 0x1c, 0x09, 0xf0, 0xc7, 0xfb, 0x10, 0xbd, + 0x10, 0xb5, 0x04, 0x1c, 0x09, 0xf0, 0xd0, 0xfb, + 0x3c, 0x00, 0xf0, 0x5a, 0x00, 0x00, 0x20, 0x1c, + 0x09, 0xf0, 0xdb, 0xfb, 0x10, 0xbd, 0x70, 0xb5, + 0x0c, 0x78, 0x06, 0x1c, 0x48, 0x88, 0x4d, 0x78, + 0xe2, 0x00, 0x80, 0x1a, 0xe9, 0x00, 0x40, 0x1a, + 0x01, 0x1c, 0x41, 0x43, 0x12, 0x31, 0x24, 0x20, + 0xfa, 0xf7, 0x91, 0xfd, 0x21, 0x1c, 0x61, 0x43, + 0xc9, 0x00, 0x40, 0x18, 0x29, 0x1c, 0x69, 0x43, + 0xc9, 0x00, 0x42, 0x18, 0x0c, 0x49, 0x88, 0x79, + 0x0c, 0x4b, 0x3c, 0x00, 0x2c, 0x5b, 0x00, 0x00, + 0x53, 0x43, 0x0c, 0x4a, 0x13, 0x60, 0x53, 0x7b, + 0x34, 0x02, 0x14, 0x60, 0x52, 0x7b, 0x88, 0x71, + 0x01, 0x33, 0x58, 0x10, 0x08, 0x4b, 0x80, 0x1a, + 0x01, 0x21, 0x49, 0x02, 0x58, 0x43, 0x00, 0x28, + 0x00, 0xda, 0x49, 0x42, 0x08, 0x18, 0x80, 0x12, + 0x21, 0x38, 0x70, 0xbd, 0x20, 0x10, 0x07, 0x00, + 0xec, 0x04, 0x00, 0x00, 0x00, 0xa0, 0x07, 0x00, + 0x03, 0x03, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x5b, + 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x06, 0x21, + 0x04, 0x30, 0xfa, 0xf7, 0x70, 0xfc, 0xff, 0x20, + 0x21, 0x30, 0xff, 0x21, 0x01, 0x55, 0x20, 0x1c, + 0xff, 0x30, 0x41, 0x30, 0x81, 0x70, 0x41, 0x71, + 0xc1, 0x73, 0xff, 0x20, 0x63, 0x30, 0x01, 0x55, + 0x00, 0x20, 0x20, 0x61, 0x60, 0x61, 0xff, 0x34, + 0x01, 0x34, 0xa0, 0x60, 0xe0, 0x60, 0x10, 0xbd, + 0x00, 0x00, 0x70, 0xb5, 0x06, 0x1c, 0x3c, 0x00, + 0xa4, 0x5b, 0x00, 0x00, 0x08, 0x1c, 0x58, 0x60, + 0x9a, 0x60, 0x1c, 0x1c, 0x1e, 0x60, 0x15, 0x1c, + 0x9b, 0x8a, 0xe2, 0x8a, 0x31, 0x1c, 0x02, 0xf0, + 0xa1, 0xfc, 0x28, 0x1a, 0xe0, 0x60, 0x70, 0xbd, + 0x70, 0xb5, 0x04, 0x1c, 0x08, 0x1c, 0x11, 0x1c, + 0x1e, 0x1c, 0x00, 0x25, 0xeb, 0x43, 0x22, 0x1c, + 0x18, 0x32, 0x0b, 0xf0, 0xf7, 0xfb, 0x22, 0x1c, + 0xff, 0x32, 0x50, 0x32, 0x11, 0x1c, 0x0a, 0x39, + 0x3c, 0x00, 0xe0, 0x5b, 0x00, 0x00, 0x01, 0x23, + 0x20, 0x1c, 0x00, 0xf0, 0xc6, 0xf8, 0x0c, 0x28, + 0x10, 0xd0, 0x01, 0x25, 0x20, 0x1c, 0x0b, 0xf0, + 0xac, 0xfa, 0x20, 0x1c, 0x00, 0xf0, 0x19, 0xf8, + 0x20, 0x1c, 0x00, 0xf0, 0x0a, 0xf8, 0x20, 0x1c, + 0x00, 0xf0, 0x29, 0xf8, 0x31, 0x1c, 0x20, 0x1c, + 0x0b, 0xf0, 0x17, 0xfa, 0x28, 0x1c, 0x70, 0xbd, + 0x00, 0x00, 0xff, 0x21, 0x1d, 0x31, 0x09, 0x58, + 0x80, 0x30, 0x3c, 0x00, 0x1c, 0x5c, 0x00, 0x00, + 0x89, 0x07, 0x00, 0x29, 0x01, 0xda, 0x01, 0x21, + 0x00, 0xe0, 0x00, 0x21, 0xc1, 0x62, 0x70, 0x47, + 0x01, 0x1c, 0x80, 0x31, 0x00, 0x22, 0x0a, 0x63, + 0x07, 0x4a, 0x12, 0x68, 0x00, 0x2a, 0x09, 0xd0, + 0x42, 0x88, 0x92, 0x06, 0x06, 0xd5, 0xff, 0x30, + 0x01, 0x30, 0xc0, 0x69, 0x40, 0x07, 0x01, 0xd4, + 0x01, 0x20, 0x08, 0x63, 0x70, 0x47, 0x00, 0x00, + 0xac, 0x69, 0x01, 0x00, 0x3c, 0x00, 0x58, 0x5c, + 0x00, 0x00, 0x80, 0xb5, 0x01, 0x1c, 0x4a, 0x88, + 0x00, 0x20, 0x52, 0x05, 0x05, 0xd5, 0xff, 0x31, + 0x01, 0x31, 0xc9, 0x69, 0x49, 0x07, 0x00, 0xd4, + 0x01, 0x20, 0x06, 0xf0, 0xec, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0xf8, 0xb5, 0x05, 0x1c, 0x98, 0x68, + 0x17, 0x1c, 0x0e, 0x1c, 0x1c, 0x1c, 0x00, 0x28, + 0x02, 0xd1, 0x20, 0x1c, 0x0c, 0xf0, 0x31, 0xf8, + 0xab, 0x69, 0x39, 0x1c, 0x30, 0x1c, 0x3c, 0x00, + 0x94, 0x5c, 0x00, 0x00, 0xa2, 0x68, 0x0b, 0xf0, + 0x95, 0xfb, 0xf8, 0xbd, 0xf8, 0xb5, 0x16, 0x1c, + 0x0d, 0x1c, 0x1f, 0x1c, 0x00, 0x24, 0x02, 0xf0, + 0x61, 0xfb, 0x18, 0x23, 0x06, 0x49, 0x58, 0x43, + 0x40, 0x18, 0x43, 0x68, 0x00, 0x2b, 0x05, 0xd0, + 0x3a, 0x1c, 0x31, 0x1c, 0x28, 0x1c, 0xfa, 0xf7, + 0x8e, 0xfb, 0x01, 0x24, 0x20, 0x1c, 0xf8, 0xbd, + 0x94, 0x67, 0x01, 0x00, 0x80, 0xb5, 0x07, 0xf0, + 0x3c, 0x00, 0xd0, 0x5c, 0x00, 0x00, 0xc5, 0xfa, + 0x09, 0x49, 0x08, 0x61, 0x08, 0x68, 0x00, 0x28, + 0x02, 0xd1, 0x7d, 0x20, 0x00, 0x01, 0x08, 0x60, + 0x08, 0x68, 0x7d, 0x21, 0xc9, 0x00, 0x41, 0x43, + 0x00, 0x23, 0x01, 0x22, 0x0a, 0x20, 0x0d, 0xf0, + 0x4e, 0xfd, 0x80, 0xbd, 0x00, 0x00, 0xd4, 0x67, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x21, 0x0a, 0x20, + 0x0d, 0xf0, 0x97, 0xfc, 0x80, 0xbd, 0xf8, 0xb5, + 0x0e, 0x1c, 0x3c, 0x00, 0x0c, 0x5d, 0x00, 0x00, + 0x51, 0x68, 0x14, 0x1c, 0x12, 0x68, 0xa5, 0x68, + 0x0b, 0x1c, 0x75, 0x1b, 0x57, 0x19, 0x97, 0x42, + 0x00, 0xd2, 0x01, 0x31, 0x42, 0x68, 0x00, 0x25, + 0x8a, 0x42, 0x02, 0xdd, 0x01, 0x25, 0x62, 0x60, + 0x05, 0xe0, 0x9a, 0x42, 0x03, 0xd1, 0x01, 0x68, + 0xb9, 0x42, 0x00, 0xd9, 0x01, 0x25, 0x00, 0x2d, + 0x09, 0xd0, 0x01, 0x68, 0x21, 0x60, 0xa6, 0x60, + 0xa3, 0x8a, 0xe2, 0x8a, 0x3c, 0x00, 0x48, 0x5d, + 0x00, 0x00, 0x60, 0x68, 0x02, 0xf0, 0xd7, 0xfb, + 0x30, 0x1a, 0xe0, 0x60, 0x28, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x02, 0xf0, 0x07, 0xfb, + 0x18, 0x23, 0x03, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x18, 0x21, 0xfa, 0xf7, 0x98, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0x94, 0x67, 0x01, 0x00, 0xfe, 0xb5, + 0x04, 0x1c, 0x08, 0x1c, 0x11, 0x1c, 0x1e, 0x1c, + 0x0c, 0x25, 0x01, 0x22, 0x00, 0x92, 0x3c, 0x00, + 0x84, 0x5d, 0x00, 0x00, 0xa2, 0x69, 0x02, 0xab, + 0xfd, 0xf7, 0xf0, 0xf8, 0x00, 0x28, 0x45, 0xd0, + 0x02, 0x98, 0x27, 0x21, 0x02, 0x1c, 0x0a, 0x40, + 0x01, 0xd1, 0x08, 0x43, 0x02, 0x90, 0x21, 0x49, + 0xa0, 0x69, 0x08, 0x40, 0x06, 0xd0, 0x02, 0x98, + 0x01, 0x40, 0x03, 0xd1, 0x49, 0x21, 0xc9, 0x00, + 0x08, 0x43, 0x02, 0x90, 0xa0, 0x6d, 0x02, 0x99, + 0x88, 0x42, 0x30, 0xd0, 0x00, 0x2e, 0x2d, 0xd0, + 0x3c, 0x00, 0xc0, 0x5d, 0x00, 0x00, 0x40, 0x21, + 0x20, 0x1c, 0x58, 0x30, 0xfa, 0xf7, 0x69, 0xfb, + 0x02, 0x98, 0x00, 0x25, 0x00, 0x26, 0x37, 0x1c, + 0xa0, 0x65, 0x19, 0xe0, 0xc0, 0x07, 0x11, 0xd5, + 0xf0, 0x19, 0x00, 0x19, 0x70, 0x30, 0x05, 0x71, + 0x28, 0x1c, 0x04, 0xf0, 0xd4, 0xff, 0x00, 0x28, + 0x04, 0xd0, 0xa0, 0x19, 0x80, 0x30, 0x05, 0x72, + 0x01, 0x36, 0x03, 0xe0, 0xe0, 0x19, 0x60, 0x30, + 0x05, 0x70, 0x3c, 0x00, 0xfc, 0x5d, 0x00, 0x00, + 0x01, 0x37, 0x01, 0x35, 0x2d, 0x06, 0x02, 0x98, + 0x2d, 0x0e, 0x40, 0x08, 0x02, 0x90, 0x02, 0x98, + 0x00, 0x28, 0xe2, 0xd1, 0x84, 0x20, 0x06, 0x51, + 0xf0, 0x19, 0x20, 0x67, 0xe7, 0x65, 0x00, 0x25, + 0x00, 0xe0, 0x0b, 0x25, 0x28, 0x1c, 0xfe, 0xbd, + 0xd8, 0x3a, 0x00, 0x00, 0x38, 0xb5, 0x05, 0x1c, + 0x08, 0x1c, 0x11, 0x1c, 0x00, 0x24, 0xe2, 0x43, + 0x6b, 0x46, 0xff, 0xf7, 0x3c, 0x00, 0x38, 0x5e, + 0x00, 0x00, 0x4f, 0xfa, 0x00, 0x28, 0x05, 0xd0, + 0xa8, 0x69, 0x00, 0x99, 0x01, 0x40, 0x81, 0x42, + 0x00, 0xd1, 0x01, 0x24, 0x20, 0x1c, 0x38, 0xbd, + 0x00, 0x00, 0x7c, 0xb5, 0x05, 0x6a, 0x86, 0x69, + 0x04, 0x1c, 0xc0, 0x68, 0xfb, 0xf7, 0xb7, 0xfb, + 0xe1, 0x69, 0xfb, 0xf7, 0xda, 0xfa, 0x20, 0x1c, + 0xe2, 0x69, 0x40, 0x30, 0xc1, 0x8b, 0x12, 0x89, + 0x89, 0x18, 0xc1, 0x83, 0x06, 0x49, 0x3c, 0x00, + 0x74, 0x5e, 0x00, 0x00, 0x01, 0x94, 0x00, 0x91, + 0x28, 0x69, 0x33, 0x1c, 0x82, 0x88, 0x01, 0x68, + 0xe0, 0x68, 0xc0, 0x68, 0x00, 0xf0, 0xf2, 0xf9, + 0x7c, 0xbd, 0x00, 0x00, 0x91, 0x5e, 0x00, 0x00, + 0xb0, 0xb5, 0xd1, 0x68, 0x55, 0x69, 0xc8, 0x68, + 0x14, 0x1c, 0x14, 0x4b, 0x0c, 0xe0, 0x02, 0x68, + 0x9a, 0x42, 0x07, 0xd1, 0xc2, 0x68, 0xca, 0x60, + 0x00, 0x21, 0xc1, 0x60, 0x01, 0x60, 0xfb, 0xf7, + 0x3c, 0x00, 0xb0, 0x5e, 0x00, 0x00, 0x73, 0xfb, + 0x03, 0xe0, 0x01, 0x1c, 0xc0, 0x68, 0x00, 0x28, + 0xf0, 0xd1, 0xe0, 0x68, 0xc0, 0x68, 0xe8, 0x60, + 0xe0, 0x68, 0xc5, 0x60, 0x20, 0x1c, 0x40, 0x30, + 0xc1, 0x8b, 0x2a, 0x89, 0x89, 0x18, 0xc1, 0x83, + 0x20, 0x68, 0x00, 0x28, 0x02, 0xd0, 0xff, 0xf7, + 0xba, 0xff, 0xb0, 0xbd, 0x04, 0x48, 0x04, 0xf0, + 0x4e, 0xf9, 0x00, 0x6a, 0x07, 0xf0, 0x77, 0xfa, + 0xb0, 0xbd, 0x3c, 0x00, 0xec, 0x5e, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0xa0, 0x6a, 0x01, 0x00, + 0xf1, 0xb5, 0x82, 0xb0, 0x02, 0x98, 0x06, 0x69, + 0x01, 0x1c, 0x08, 0x36, 0x60, 0x31, 0x45, 0x68, + 0x01, 0x91, 0x82, 0xe0, 0x10, 0x21, 0x00, 0x20, + 0x2f, 0x69, 0xfb, 0xf7, 0x63, 0xfb, 0x68, 0x61, + 0x01, 0x89, 0x08, 0x39, 0x09, 0x04, 0x09, 0x0c, + 0x01, 0x81, 0x68, 0x69, 0x00, 0x68, 0x40, 0x18, + 0x08, 0x21, 0xfb, 0xf7, 0x3c, 0x00, 0x28, 0x5f, + 0x00, 0x00, 0x57, 0xfb, 0xe8, 0x61, 0x68, 0x69, + 0x71, 0x88, 0x00, 0x68, 0x20, 0x22, 0x01, 0x80, + 0x71, 0x68, 0x41, 0x60, 0x01, 0x99, 0x49, 0x7b, + 0x89, 0x01, 0x11, 0x43, 0xc1, 0x70, 0x00, 0x21, + 0x81, 0x70, 0x28, 0x20, 0xfb, 0xf7, 0x75, 0xfc, + 0x39, 0x88, 0x04, 0x1c, 0xc1, 0x81, 0xa8, 0x6b, + 0x00, 0x28, 0x03, 0xd1, 0x01, 0x20, 0x80, 0x02, + 0x08, 0x43, 0xe0, 0x81, 0x06, 0x22, 0x3c, 0x00, + 0x64, 0x5f, 0x00, 0x00, 0x39, 0x1d, 0x20, 0x1c, + 0x10, 0x30, 0xfa, 0xf7, 0xc5, 0xfa, 0x39, 0x1c, + 0x0a, 0x31, 0x06, 0x22, 0x20, 0x1c, 0x16, 0x30, + 0x00, 0x90, 0xfa, 0xf7, 0xbd, 0xfa, 0x39, 0x1c, + 0x10, 0x31, 0x06, 0x22, 0x20, 0x1c, 0x1c, 0x30, + 0xfa, 0xf7, 0xb6, 0xfa, 0xe1, 0x89, 0x25, 0x4a, + 0x5c, 0x20, 0x11, 0x40, 0x01, 0x22, 0x92, 0x03, + 0x11, 0x43, 0x40, 0x5b, 0xe1, 0x81, 0x0f, 0x21, + 0x3c, 0x00, 0xa0, 0x5f, 0x00, 0x00, 0x08, 0x40, + 0x60, 0x84, 0x20, 0x1c, 0x20, 0x30, 0x16, 0x21, + 0x81, 0x71, 0x00, 0x21, 0x21, 0x70, 0xe9, 0x6b, + 0x00, 0x29, 0x07, 0xd0, 0x29, 0x69, 0x09, 0x8b, + 0x09, 0x07, 0x09, 0x0f, 0x21, 0x70, 0xa1, 0x84, + 0x18, 0x21, 0x81, 0x71, 0x06, 0x22, 0x60, 0x1c, + 0x00, 0x99, 0xfa, 0xf7, 0x94, 0xfa, 0x70, 0x68, + 0x00, 0x0e, 0xe0, 0x71, 0x70, 0x68, 0x00, 0x02, + 0x00, 0x0e, 0x3c, 0x00, 0xdc, 0x5f, 0x00, 0x00, + 0x20, 0x72, 0x70, 0x68, 0x00, 0x04, 0x00, 0x0e, + 0x60, 0x72, 0x70, 0x68, 0xa0, 0x72, 0x70, 0x88, + 0x00, 0x0a, 0xe0, 0x72, 0x70, 0x88, 0x20, 0x73, + 0x70, 0x88, 0x01, 0x30, 0x00, 0x04, 0x00, 0x0c, + 0x70, 0x80, 0x02, 0xd1, 0x70, 0x68, 0x01, 0x30, + 0x70, 0x60, 0xac, 0x61, 0x02, 0x98, 0x28, 0x62, + 0x2d, 0x68, 0x00, 0x2d, 0x00, 0xd0, 0x79, 0xe7, + 0x02, 0x98, 0x04, 0x49, 0x3c, 0x00, 0x18, 0x60, + 0x00, 0x00, 0x42, 0x68, 0x04, 0x48, 0x04, 0xf0, + 0x74, 0xf8, 0xfe, 0xbd, 0x00, 0x00, 0x8f, 0xc7, + 0xff, 0xff, 0x3d, 0xda, 0x00, 0x00, 0xa0, 0x6a, + 0x01, 0x00, 0xb0, 0xb5, 0x07, 0x4d, 0x28, 0x78, + 0x03, 0x28, 0x08, 0xd0, 0x00, 0x24, 0x2c, 0x70, + 0x69, 0x68, 0x00, 0x29, 0x03, 0xd0, 0x01, 0x20, + 0xfa, 0xf7, 0xc8, 0xf9, 0x6c, 0x60, 0xb0, 0xbd, + 0x00, 0x00, 0x9c, 0x73, 0x01, 0x00, 0x3c, 0x00, + 0x54, 0x60, 0x00, 0x00, 0xf8, 0xb5, 0x2b, 0x4b, + 0xd8, 0x6a, 0x00, 0x28, 0x50, 0xd0, 0x2a, 0x48, + 0x01, 0x1c, 0xff, 0x31, 0x01, 0x31, 0xca, 0x68, + 0x01, 0x32, 0xca, 0x60, 0x1a, 0x6c, 0x00, 0x2a, + 0x02, 0xd1, 0x4a, 0x69, 0x01, 0x32, 0x4a, 0x61, + 0x0a, 0x69, 0x01, 0x32, 0x0a, 0x61, 0xda, 0x68, + 0x00, 0x2a, 0x04, 0xd0, 0x1f, 0x4a, 0x01, 0x32, + 0x12, 0x78, 0x00, 0x2a, 0x02, 0xd1, 0x8a, 0x69, + 0x3c, 0x00, 0x90, 0x60, 0x00, 0x00, 0x01, 0x32, + 0x8a, 0x61, 0x00, 0x25, 0x07, 0x1d, 0x18, 0x26, + 0x1a, 0x4a, 0x6e, 0x43, 0x74, 0x32, 0x90, 0x59, + 0x00, 0x28, 0x29, 0xd0, 0xb4, 0x18, 0x60, 0x69, + 0x00, 0x28, 0x25, 0xd1, 0x60, 0x68, 0x00, 0x28, + 0x02, 0xd0, 0x01, 0x68, 0x00, 0x29, 0x05, 0xd1, + 0xa1, 0x68, 0x00, 0x29, 0x1c, 0xd0, 0x09, 0x68, + 0x00, 0x29, 0x19, 0xd0, 0x00, 0x28, 0x05, 0xd0, + 0xe1, 0x68, 0x3c, 0x00, 0xcc, 0x60, 0x00, 0x00, + 0x01, 0x31, 0xe1, 0x60, 0x00, 0x68, 0x81, 0x42, + 0x11, 0xd3, 0xa0, 0x68, 0x00, 0x28, 0x06, 0xd0, + 0x21, 0x69, 0x00, 0x68, 0x08, 0x18, 0x0c, 0xf0, + 0xa3, 0xfd, 0x00, 0x28, 0x07, 0xd0, 0x06, 0x4a, + 0x01, 0x20, 0x60, 0x61, 0x74, 0x32, 0x91, 0x59, + 0x38, 0x1c, 0xfa, 0xf7, 0x70, 0xf9, 0x01, 0x35, + 0x02, 0x2d, 0xcb, 0xdb, 0xf8, 0xbd, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x3c, 0x00, 0x08, 0x61, + 0x00, 0x00, 0xf4, 0x67, 0x01, 0x00, 0xf8, 0xb5, + 0x0f, 0x1c, 0x00, 0x25, 0x04, 0x1c, 0x00, 0x28, + 0x25, 0xd0, 0x20, 0x1c, 0x04, 0xf0, 0x03, 0xfe, + 0x00, 0x28, 0x06, 0xd0, 0xff, 0xf7, 0xff, 0xf8, + 0x04, 0x1c, 0xff, 0xf7, 0x50, 0xfb, 0x06, 0x1c, + 0x07, 0xe0, 0x20, 0x1c, 0xff, 0xf7, 0x91, 0xfb, + 0x06, 0x1c, 0x20, 0x1c, 0xff, 0xf7, 0x6f, 0xfb, + 0x04, 0x1c, 0x00, 0x2e, 0x06, 0xd0, 0x3c, 0x00, + 0x44, 0x61, 0x00, 0x00, 0xff, 0xf7, 0x4c, 0xfb, + 0x00, 0x28, 0x02, 0xd0, 0x01, 0x25, 0x01, 0x20, + 0x07, 0xe0, 0x00, 0x2c, 0x06, 0xd0, 0xff, 0xf7, + 0xef, 0xf8, 0x00, 0x28, 0x02, 0xd0, 0x01, 0x25, + 0x00, 0x20, 0x38, 0x60, 0x28, 0x1c, 0xf8, 0xbd, + 0xb0, 0xb5, 0xc5, 0x68, 0x04, 0x1c, 0x0d, 0xf0, + 0x8f, 0xfc, 0x20, 0x7e, 0xc1, 0x07, 0x08, 0xd5, + 0xe1, 0x68, 0xa9, 0x42, 0x05, 0xd9, 0x22, 0x69, + 0x3c, 0x00, 0x80, 0x61, 0x00, 0x00, 0x91, 0x42, + 0x02, 0xd3, 0xe1, 0x8a, 0x01, 0x31, 0xe1, 0x82, + 0x81, 0x07, 0x08, 0xd5, 0xe1, 0x68, 0xa9, 0x42, + 0x05, 0xd2, 0x22, 0x69, 0x91, 0x42, 0x02, 0xd8, + 0xe1, 0x8a, 0x01, 0x31, 0xe1, 0x82, 0x40, 0x07, + 0x06, 0xd5, 0xe0, 0x68, 0x21, 0x69, 0x88, 0x42, + 0x02, 0xd1, 0xe0, 0x8a, 0x01, 0x30, 0xe0, 0x82, + 0xe0, 0x8a, 0xa1, 0x8a, 0x88, 0x42, 0x0d, 0xd3, + 0x60, 0x7e, 0x3c, 0x00, 0xbc, 0x61, 0x00, 0x00, + 0x02, 0x28, 0x0b, 0xd0, 0x20, 0x68, 0xe1, 0x68, + 0x04, 0x22, 0x07, 0xf0, 0x65, 0xfb, 0x60, 0x7e, + 0x00, 0x28, 0x03, 0xd1, 0x20, 0x68, 0x08, 0xf0, + 0xab, 0xff, 0xb0, 0xbd, 0x00, 0x20, 0xe0, 0x82, + 0xb0, 0xbd, 0x00, 0x00, 0x70, 0xb5, 0x06, 0x1c, + 0x0c, 0x23, 0x20, 0x49, 0x58, 0x43, 0x45, 0x18, + 0x00, 0x20, 0xa8, 0x60, 0x30, 0x1c, 0x06, 0xf0, + 0x91, 0xfe, 0x04, 0x1c, 0x3c, 0x00, 0xf8, 0x61, + 0x00, 0x00, 0x68, 0x60, 0x33, 0xd0, 0x01, 0x20, + 0xa8, 0x70, 0x2c, 0x20, 0x00, 0x5d, 0x02, 0x28, + 0x03, 0xd1, 0x20, 0x1c, 0x03, 0xf0, 0x45, 0xfe, + 0x10, 0xe0, 0x61, 0x6b, 0x00, 0x29, 0x0a, 0xd0, + 0x01, 0x28, 0x04, 0xd1, 0x21, 0x1c, 0x28, 0x1c, + 0x03, 0xf0, 0x55, 0xfe, 0x06, 0xe0, 0x20, 0x1c, + 0x0a, 0xf0, 0x0d, 0xfc, 0x02, 0xe0, 0x20, 0x1c, + 0x0a, 0xf0, 0x3d, 0xfb, 0x0d, 0x48, 0x3c, 0x00, + 0x34, 0x62, 0x00, 0x00, 0x14, 0x38, 0x41, 0x68, + 0x00, 0x29, 0x10, 0xd0, 0x20, 0x1c, 0x40, 0x30, + 0x02, 0x8b, 0x12, 0x07, 0x92, 0x0f, 0x01, 0x2a, + 0x09, 0xd0, 0x80, 0x8b, 0x32, 0x02, 0x00, 0x09, + 0x00, 0x04, 0x10, 0x43, 0x81, 0x22, 0x02, 0x43, + 0x0c, 0x20, 0x0d, 0xf0, 0xb7, 0xf9, 0x0c, 0xf0, + 0xa5, 0xfd, 0x60, 0x64, 0x70, 0xbd, 0x00, 0x00, + 0x60, 0x7b, 0x01, 0x00, 0xff, 0xb5, 0x08, 0x1c, + 0x3c, 0x00, 0x70, 0x62, 0x00, 0x00, 0x11, 0x1c, + 0x0c, 0x32, 0x20, 0x24, 0x14, 0x43, 0x0c, 0x4a, + 0x83, 0xb0, 0x0c, 0xae, 0x52, 0x68, 0x60, 0xce, + 0x94, 0x70, 0x00, 0x24, 0xd4, 0x70, 0x93, 0x63, + 0x0d, 0x23, 0x40, 0x27, 0xbb, 0x52, 0x94, 0x61, + 0x14, 0x84, 0x01, 0x22, 0x02, 0x92, 0x32, 0x1c, + 0x00, 0x90, 0x01, 0x91, 0x23, 0x1c, 0x29, 0x1c, + 0x03, 0x98, 0x00, 0xf0, 0x66, 0xf9, 0x07, 0xb0, + 0xf0, 0xbd, 0x3c, 0x00, 0xac, 0x62, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, + 0x00, 0x27, 0x11, 0x4e, 0x1d, 0xe0, 0xe0, 0x68, + 0x00, 0x28, 0x70, 0x68, 0x0c, 0xd1, 0x80, 0x88, + 0x00, 0x07, 0x0d, 0xd1, 0x01, 0x21, 0x0c, 0x48, + 0xfb, 0xf7, 0x84, 0xf9, 0xc4, 0x60, 0xe8, 0x60, + 0x70, 0x68, 0x81, 0x88, 0x01, 0x31, 0x02, 0xe0, + 0x81, 0x88, 0x22, 0x89, 0x89, 0x18, 0x81, 0x80, + 0xe0, 0x68, 0x39, 0x1c, 0x3c, 0x00, 0xe8, 0x62, + 0x00, 0x00, 0x00, 0x28, 0x01, 0xd1, 0x71, 0x68, + 0xc9, 0x6d, 0x25, 0x1c, 0x61, 0x60, 0x04, 0x1c, + 0x00, 0x2c, 0xdf, 0xd1, 0xf8, 0xbd, 0xa0, 0x7e, + 0x01, 0x00, 0x06, 0x49, 0x10, 0xb5, 0x49, 0x68, + 0x00, 0x23, 0x05, 0xe0, 0x8a, 0x88, 0x04, 0x89, + 0x12, 0x19, 0x8a, 0x80, 0x43, 0x60, 0xc0, 0x68, + 0x00, 0x28, 0xf7, 0xd1, 0x10, 0xbd, 0xa0, 0x7e, + 0x01, 0x00, 0x10, 0xb5, 0x09, 0x49, 0x3c, 0x00, + 0x24, 0x63, 0x00, 0x00, 0x00, 0x24, 0x49, 0x68, + 0x0a, 0xe0, 0x8a, 0x88, 0x03, 0x89, 0xd2, 0x18, + 0x8a, 0x80, 0xc3, 0x68, 0x22, 0x1c, 0x00, 0x2b, + 0x00, 0xd1, 0xca, 0x6d, 0x42, 0x60, 0x18, 0x1c, + 0x00, 0x28, 0xf2, 0xd1, 0x10, 0xbd, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0x01, 0x1c, 0x13, 0x48, + 0x10, 0xb5, 0x40, 0x68, 0x00, 0x23, 0x09, 0xe0, + 0x82, 0x88, 0x0c, 0x89, 0x12, 0x19, 0x82, 0x80, + 0x3c, 0x00, 0x60, 0x63, 0x00, 0x00, 0x4b, 0x60, + 0xca, 0x68, 0x00, 0x2a, 0x00, 0xd1, 0x41, 0x66, + 0xc9, 0x68, 0x00, 0x29, 0xf3, 0xd1, 0x01, 0x1c, + 0x68, 0x31, 0x81, 0x64, 0xc3, 0x64, 0x43, 0x65, + 0x82, 0x88, 0x08, 0x23, 0x11, 0x1c, 0x08, 0x31, + 0x89, 0x07, 0x89, 0x0f, 0x59, 0x1a, 0x50, 0x23, + 0x19, 0x52, 0x51, 0x18, 0x81, 0x80, 0x01, 0x1c, + 0x40, 0x6e, 0x48, 0x31, 0xc1, 0x60, 0x10, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x63, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0x10, 0xb5, 0x07, 0x49, + 0x00, 0x24, 0x4b, 0x68, 0x06, 0xe0, 0xc2, 0x68, + 0x21, 0x1c, 0x00, 0x2a, 0x00, 0xd1, 0xd9, 0x6d, + 0x41, 0x60, 0x10, 0x1c, 0x00, 0x28, 0xf6, 0xd1, + 0x10, 0xbd, 0x00, 0x00, 0xa0, 0x7e, 0x01, 0x00, + 0x70, 0x47, 0x00, 0x00, 0xfe, 0xb5, 0x06, 0x1c, + 0x0c, 0x48, 0x0c, 0x1c, 0x40, 0x68, 0x80, 0x21, + 0x81, 0x70, 0x00, 0x21, 0x3c, 0x00, 0xd8, 0x63, + 0x00, 0x00, 0xc1, 0x70, 0x15, 0x1c, 0x40, 0x22, + 0x81, 0x63, 0x11, 0x52, 0x81, 0x61, 0x01, 0x84, + 0x00, 0x20, 0x04, 0x22, 0x02, 0x92, 0x00, 0x90, + 0x01, 0x91, 0x29, 0x1c, 0x20, 0x1c, 0x1a, 0x1c, + 0x33, 0x1c, 0x00, 0xf0, 0xbc, 0xf8, 0xfe, 0xbd, + 0x00, 0x00, 0xa0, 0x7e, 0x01, 0x00, 0x70, 0xb5, + 0x06, 0x1c, 0x17, 0x48, 0x80, 0x78, 0x02, 0x21, + 0x16, 0x4a, 0x88, 0x43, 0x90, 0x70, 0x3c, 0x00, + 0x14, 0x64, 0x00, 0x00, 0x10, 0x1c, 0x80, 0x78, + 0x08, 0x43, 0x11, 0x1c, 0x88, 0x70, 0x13, 0x48, + 0x00, 0x24, 0xc4, 0x70, 0x70, 0x20, 0xfb, 0xf7, + 0xd9, 0xf9, 0x11, 0x4d, 0x70, 0x21, 0x68, 0x60, + 0xfa, 0xf7, 0x34, 0xf8, 0x30, 0x07, 0x00, 0x0f, + 0x69, 0x68, 0x90, 0x30, 0xc8, 0x65, 0x0d, 0x48, + 0x68, 0x22, 0x08, 0x80, 0x08, 0x1c, 0x28, 0x30, + 0x89, 0x60, 0x48, 0x61, 0x08, 0x20, 0x08, 0x82, + 0x3c, 0x00, 0x50, 0x64, 0x00, 0x00, 0x08, 0x1c, + 0x38, 0x30, 0x48, 0x63, 0x20, 0x38, 0x48, 0x64, + 0x5a, 0x20, 0x50, 0x54, 0x06, 0x48, 0x08, 0x31, + 0x41, 0x64, 0x44, 0x65, 0x70, 0xbd, 0x00, 0x00, + 0x07, 0x00, 0x58, 0x00, 0x07, 0x00, 0xa0, 0x7e, + 0x01, 0x00, 0xde, 0xc0, 0x00, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x0a, 0x4b, 0x10, 0xb5, 0x58, 0x6d, + 0x0a, 0x49, 0x00, 0x22, 0x49, 0x68, 0x00, 0x24, + 0x4a, 0x62, 0x3c, 0x00, 0x8c, 0x64, 0x00, 0x00, + 0x5c, 0x65, 0x4b, 0x6e, 0x00, 0x2b, 0x01, 0xd0, + 0xda, 0x60, 0x4a, 0x66, 0x8b, 0x6d, 0x00, 0x2b, + 0x03, 0xd0, 0x0a, 0x6e, 0x00, 0x21, 0xf9, 0xf7, + 0x9c, 0xff, 0x10, 0xbd, 0x00, 0x30, 0x07, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0x09, 0x49, 0x10, 0xb5, + 0x08, 0x88, 0x01, 0x30, 0x08, 0x80, 0x01, 0x20, + 0x07, 0x49, 0x80, 0x02, 0x08, 0x60, 0x07, 0x4c, + 0xa2, 0x6d, 0x00, 0x2a, 0x3c, 0x00, 0xc8, 0x64, + 0x00, 0x00, 0x05, 0xd0, 0x05, 0x21, 0xd1, 0x20, + 0x0d, 0xf0, 0x6f, 0xf9, 0x01, 0x20, 0xa0, 0x65, + 0x10, 0xbd, 0xb0, 0x74, 0x01, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, 0xff, 0xb5, + 0x83, 0xb0, 0x0c, 0xae, 0x86, 0x46, 0x8c, 0x46, + 0x0e, 0x4a, 0x43, 0xce, 0x0f, 0xad, 0x0f, 0x1c, + 0x52, 0x68, 0x0c, 0x37, 0x30, 0xcd, 0x97, 0x70, + 0xd3, 0x70, 0x96, 0x63, 0x0d, 0x26, 0x3c, 0x00, + 0x04, 0x65, 0x00, 0x00, 0x40, 0x27, 0xbe, 0x52, + 0x05, 0x9e, 0x96, 0x61, 0x13, 0x84, 0x00, 0x22, + 0x02, 0x92, 0x2a, 0x1c, 0x00, 0x90, 0x01, 0x91, + 0x21, 0x1c, 0x60, 0x46, 0x73, 0x46, 0x00, 0xf0, + 0x29, 0xf8, 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0xff, 0xb5, 0x10, 0x1c, + 0x1a, 0x1c, 0x0c, 0x1c, 0x19, 0x1c, 0x60, 0x23, + 0xff, 0x32, 0x13, 0x43, 0x0c, 0x4a, 0x83, 0xb0, + 0x3c, 0x00, 0x40, 0x65, 0x00, 0x00, 0x0c, 0xae, + 0x52, 0x68, 0x60, 0xce, 0x93, 0x70, 0x00, 0x23, + 0xd3, 0x70, 0x93, 0x63, 0x40, 0x27, 0xbb, 0x52, + 0x93, 0x61, 0x13, 0x84, 0x03, 0x22, 0x02, 0x92, + 0x01, 0x91, 0x29, 0x1c, 0x32, 0x1c, 0x00, 0x90, + 0x20, 0x1c, 0x03, 0x9b, 0x00, 0xf0, 0x05, 0xf8, + 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xa0, 0x7e, + 0x01, 0x00, 0xf8, 0xb5, 0x05, 0x1c, 0x11, 0x48, + 0x1c, 0x1c, 0x3c, 0x00, 0x7c, 0x65, 0x00, 0x00, + 0x08, 0x9b, 0x07, 0x9f, 0x40, 0x68, 0xde, 0x00, + 0x81, 0x65, 0x02, 0x66, 0x00, 0x21, 0x81, 0x80, + 0x0d, 0x48, 0x81, 0x59, 0x20, 0x1c, 0xf9, 0xf7, + 0x22, 0xff, 0x0b, 0x48, 0x30, 0x18, 0x41, 0x68, + 0x28, 0x1c, 0xf9, 0xf7, 0x1c, 0xff, 0x07, 0x49, + 0x06, 0x98, 0x49, 0x68, 0x00, 0x2c, 0x88, 0x62, + 0x0f, 0x86, 0x00, 0xd1, 0x2c, 0x1c, 0x05, 0x48, + 0x4c, 0x62, 0x45, 0x65, 0x3c, 0x00, 0xb8, 0x65, + 0x00, 0x00, 0x01, 0x21, 0x01, 0x65, 0x01, 0x64, + 0xf8, 0xbd, 0xa0, 0x7e, 0x01, 0x00, 0x90, 0x52, + 0x01, 0x00, 0x00, 0x30, 0x07, 0x00, 0xff, 0xb5, + 0x83, 0xb0, 0x0d, 0xae, 0x60, 0xce, 0x0c, 0x9f, + 0x08, 0x1c, 0x11, 0x1c, 0xd2, 0x19, 0xff, 0x32, + 0x40, 0x24, 0x14, 0x43, 0x0b, 0x4a, 0x52, 0x68, + 0x94, 0x70, 0x00, 0x24, 0xd4, 0x70, 0x93, 0x63, + 0x40, 0x23, 0x9f, 0x52, 0x94, 0x61, 0x3c, 0x00, + 0xf4, 0x65, 0x00, 0x00, 0x14, 0x84, 0x02, 0x22, + 0x02, 0x92, 0x32, 0x1c, 0x00, 0x90, 0x01, 0x91, + 0x23, 0x1c, 0x29, 0x1c, 0x03, 0x98, 0xff, 0xf7, + 0xb5, 0xff, 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0x4c, 0x21, 0x0d, 0x4a, + 0x41, 0x43, 0x10, 0xb5, 0x8c, 0x18, 0x0c, 0x49, + 0x09, 0x78, 0x88, 0x42, 0x07, 0xd1, 0x05, 0xf0, + 0xc7, 0xfd, 0x0a, 0x48, 0x01, 0x88, 0x01, 0x22, + 0x3c, 0x00, 0x30, 0x66, 0x00, 0x00, 0x12, 0x03, + 0x91, 0x43, 0x01, 0x80, 0x20, 0x1c, 0x30, 0x30, + 0x0c, 0x23, 0xc1, 0x56, 0x40, 0x7b, 0x81, 0x42, + 0x02, 0xdd, 0x20, 0x8d, 0x0c, 0xf0, 0xe5, 0xfb, + 0x10, 0xbd, 0x58, 0xe3, 0x01, 0x00, 0x3c, 0x7c, + 0x01, 0x00, 0x32, 0x80, 0x07, 0x00, 0x01, 0x1c, + 0x60, 0x31, 0x80, 0xb5, 0xca, 0x79, 0x8b, 0x79, + 0x9a, 0x42, 0x07, 0xd9, 0x48, 0x7a, 0x0c, 0x23, + 0x07, 0x49, 0x3c, 0x00, 0x6c, 0x66, 0x00, 0x00, + 0x58, 0x43, 0x08, 0x5a, 0x0c, 0xf0, 0xd0, 0xfb, + 0x80, 0xbd, 0x20, 0x30, 0x00, 0x7b, 0x01, 0x28, + 0xfa, 0xd1, 0x48, 0x7a, 0x05, 0xf0, 0x40, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x1c, 0x21, 0xf9, 0xf7, + 0x03, 0xff, 0x03, 0x48, 0xa0, 0x80, 0xe0, 0x80, + 0x20, 0x81, 0x60, 0x81, 0xa0, 0x81, 0x10, 0xbd, + 0xff, 0xff, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x66, + 0x00, 0x00, 0xff, 0xb5, 0x04, 0x1c, 0x00, 0x20, + 0x83, 0xb0, 0x0d, 0x1c, 0x06, 0x2c, 0x02, 0x90, + 0x38, 0xd2, 0x1f, 0x4a, 0xff, 0x26, 0xc1, 0x00, + 0x89, 0x18, 0x89, 0x78, 0xa1, 0x42, 0x03, 0xd1, + 0xc0, 0x00, 0x80, 0x18, 0x46, 0x78, 0x04, 0xe0, + 0x01, 0x30, 0x00, 0x06, 0x00, 0x16, 0x06, 0x28, + 0xf1, 0xdb, 0xff, 0x2e, 0x24, 0xd0, 0x01, 0x93, + 0x20, 0x1c, 0x0d, 0xf0, 0xe8, 0xf9, 0x3c, 0x00, + 0xe4, 0x66, 0x00, 0x00, 0x00, 0x28, 0x05, 0xd0, + 0x24, 0x21, 0x28, 0x1c, 0x01, 0xab, 0x02, 0xaa, + 0xfa, 0xf7, 0x30, 0xfe, 0x10, 0x49, 0xf0, 0x00, + 0x30, 0x39, 0x0f, 0x58, 0x31, 0x06, 0x09, 0x16, + 0x28, 0x1c, 0x05, 0x9a, 0x01, 0x9b, 0xf9, 0xf7, + 0x6e, 0xfe, 0x06, 0x1c, 0x10, 0xd1, 0x20, 0x1c, + 0x0d, 0xf0, 0xd0, 0xf9, 0x00, 0x28, 0x0b, 0xd0, + 0x28, 0x1c, 0x69, 0x69, 0xfa, 0xf7, 0x12, 0xfe, + 0x3c, 0x00, 0x20, 0x67, 0x00, 0x00, 0x02, 0x98, + 0x68, 0x61, 0x04, 0xe0, 0x06, 0x2c, 0x01, 0xd3, + 0x07, 0x26, 0x00, 0xe0, 0x08, 0x26, 0x30, 0x1c, + 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xcc, 0x5a, + 0x01, 0x00, 0x10, 0xb5, 0x0c, 0x1c, 0x09, 0xf0, + 0x86, 0xf8, 0x00, 0x28, 0x02, 0xd0, 0x20, 0x1c, + 0x09, 0xf0, 0xb5, 0xf8, 0x10, 0xbd, 0xfe, 0xb5, + 0x13, 0x4d, 0x04, 0x1c, 0xae, 0x69, 0x00, 0x2e, + 0x1c, 0xd0, 0x3c, 0x00, 0x5c, 0x67, 0x00, 0x00, + 0x10, 0x4f, 0x30, 0x37, 0x78, 0x68, 0x60, 0x43, + 0x01, 0x1c, 0x28, 0x88, 0xf9, 0xf7, 0xd2, 0xff, + 0x39, 0x68, 0x61, 0x43, 0x41, 0x18, 0x01, 0xa8, + 0x32, 0x1c, 0xf9, 0xf7, 0x37, 0xfe, 0x02, 0x98, + 0x29, 0x6a, 0x40, 0x18, 0x28, 0x62, 0x0b, 0xd4, + 0xe9, 0x69, 0x88, 0x42, 0x08, 0xd9, 0xa9, 0x69, + 0x40, 0x1a, 0x28, 0x62, 0x01, 0x98, 0x01, 0x30, + 0x01, 0xe0, 0x00, 0x20, 0x3c, 0x00, 0x98, 0x67, + 0x00, 0x00, 0x02, 0x90, 0x01, 0x90, 0x01, 0x98, + 0xfe, 0xbd, 0xc8, 0x74, 0x01, 0x00, 0xf8, 0xb5, + 0x00, 0x28, 0x28, 0xd0, 0x00, 0x24, 0x14, 0x4d, + 0x00, 0xe0, 0x01, 0x34, 0x61, 0x00, 0x09, 0x19, + 0x49, 0x19, 0x49, 0x78, 0x00, 0x29, 0xf8, 0xd1, + 0x63, 0x00, 0x1b, 0x19, 0x03, 0x33, 0x07, 0x22, + 0x69, 0x46, 0x03, 0xf0, 0xd4, 0xfb, 0x00, 0x2c, + 0x0f, 0xd0, 0x00, 0x20, 0x00, 0x99, 0x3c, 0x00, + 0xd4, 0x67, 0x00, 0x00, 0x0a, 0xe0, 0x42, 0x00, + 0x12, 0x18, 0xae, 0x5c, 0x53, 0x18, 0x52, 0x19, + 0x5e, 0x71, 0x56, 0x78, 0x01, 0x30, 0x9e, 0x71, + 0x92, 0x78, 0xda, 0x71, 0xa0, 0x42, 0xf2, 0xdb, + 0x00, 0x98, 0x03, 0x22, 0x02, 0x30, 0x03, 0x49, + 0xf9, 0xf7, 0x7e, 0xfe, 0xf8, 0xbd, 0x00, 0x00, + 0xeb, 0x62, 0x01, 0x00, 0xe8, 0x62, 0x01, 0x00, + 0xb0, 0xb5, 0x05, 0x1c, 0x08, 0x1c, 0xfa, 0xf7, + 0x3c, 0x00, 0x10, 0x68, 0x00, 0x00, 0x9d, 0xff, + 0x04, 0x1c, 0x28, 0x1c, 0xfa, 0xf7, 0xd9, 0xfe, + 0x21, 0x1c, 0xfa, 0xf7, 0xfc, 0xfd, 0x20, 0x1c, + 0xb0, 0xbd, 0xf3, 0xb5, 0x44, 0x48, 0x0c, 0x1c, + 0x00, 0x78, 0x81, 0xb0, 0x01, 0x28, 0x72, 0xd1, + 0xfa, 0xf7, 0x82, 0xf8, 0x41, 0x4d, 0xe8, 0x6a, + 0x41, 0x49, 0x08, 0x60, 0xe8, 0x6b, 0x48, 0x60, + 0x40, 0x48, 0xfa, 0xf7, 0xa6, 0xf9, 0xe8, 0x6a, + 0x00, 0x28, 0x3c, 0x00, 0x4c, 0x68, 0x00, 0x00, + 0xfc, 0xda, 0x22, 0x1c, 0x0f, 0x20, 0x01, 0x99, + 0x0a, 0xf0, 0xa4, 0xf8, 0x38, 0x4d, 0x02, 0x27, + 0x2f, 0x63, 0x38, 0x4a, 0x64, 0x26, 0x00, 0x20, + 0xaa, 0x21, 0x08, 0x32, 0x13, 0x18, 0x01, 0x30, + 0x00, 0x04, 0x00, 0x0c, 0x64, 0x28, 0x19, 0x74, + 0xf8, 0xd3, 0x16, 0x81, 0x00, 0x20, 0x50, 0x60, + 0x10, 0x1c, 0x10, 0x30, 0x10, 0x60, 0x00, 0x25, + 0x17, 0x1c, 0xd2, 0x60, 0x3c, 0x00, 0x88, 0x68, + 0x00, 0x00, 0x08, 0xe0, 0x28, 0x1c, 0xf9, 0xf7, + 0xa2, 0xff, 0x41, 0x31, 0x78, 0x19, 0x01, 0x35, + 0x2d, 0x04, 0x2d, 0x0c, 0x01, 0x74, 0xb5, 0x42, + 0xf4, 0xd3, 0x26, 0x4d, 0x6f, 0x63, 0x01, 0x20, + 0x28, 0x63, 0x24, 0x4d, 0xe8, 0x6a, 0x00, 0x28, + 0xfb, 0xda, 0x0b, 0x22, 0x3b, 0x1c, 0x24, 0x4e, + 0x03, 0xe0, 0x01, 0x32, 0x64, 0x2a, 0x00, 0xd1, + 0x00, 0x22, 0x10, 0x1c, 0x0c, 0x21, 0x3c, 0x00, + 0xc4, 0x68, 0x00, 0x00, 0x01, 0x39, 0x75, 0x5c, + 0x1f, 0x18, 0x3f, 0x7c, 0xbd, 0x42, 0xf3, 0xd1, + 0x01, 0x38, 0x00, 0xd5, 0x63, 0x20, 0x00, 0x29, + 0xf4, 0xd1, 0x18, 0x4e, 0x50, 0x1c, 0xf1, 0x6b, + 0x1a, 0x4a, 0x10, 0x1c, 0x01, 0x38, 0xfd, 0xd1, + 0xf0, 0x6b, 0x88, 0x42, 0x01, 0xd0, 0x01, 0x1c, + 0xf7, 0xe7, 0x02, 0x27, 0x37, 0x63, 0x16, 0x4d, + 0x90, 0x21, 0x28, 0x1c, 0xf9, 0xf7, 0xce, 0xfd, + 0x3c, 0x00, 0x00, 0x69, 0x00, 0x00, 0x28, 0x1c, + 0x28, 0x30, 0x28, 0x60, 0x28, 0x1c, 0x10, 0x30, + 0x2f, 0x81, 0xe8, 0x60, 0x28, 0x1c, 0x20, 0x30, + 0x28, 0x61, 0x04, 0x21, 0x00, 0xe0, 0x0c, 0xe0, + 0x29, 0x83, 0xe8, 0x61, 0xed, 0x62, 0x75, 0x63, + 0x01, 0x20, 0x30, 0x63, 0x22, 0x1c, 0x89, 0x20, + 0x01, 0x99, 0x0a, 0xf0, 0x38, 0xf8, 0x00, 0x20, + 0x28, 0x63, 0xfe, 0xbd, 0x00, 0x00, 0x08, 0x57, + 0x01, 0x00, 0x3c, 0x00, 0x3c, 0x69, 0x00, 0x00, + 0x00, 0x30, 0x07, 0x00, 0x10, 0x8e, 0x01, 0x00, + 0x74, 0xff, 0x01, 0x00, 0x09, 0x57, 0x01, 0x00, + 0x20, 0x4e, 0x00, 0x00, 0xe4, 0xfe, 0x01, 0x00, + 0x80, 0xb5, 0x13, 0x28, 0x1e, 0xd0, 0xf0, 0x28, + 0x16, 0xd1, 0x09, 0xf0, 0xb5, 0xf9, 0x00, 0x28, + 0x13, 0xd1, 0x0d, 0xf0, 0xbf, 0xfa, 0x11, 0xf0, + 0x0d, 0xfc, 0x00, 0x22, 0x04, 0x21, 0xc4, 0x20, + 0x0c, 0xf0, 0x1c, 0xff, 0x3c, 0x00, 0x78, 0x69, + 0x00, 0x00, 0x09, 0x48, 0x00, 0x21, 0x00, 0x78, + 0x05, 0xf0, 0x3f, 0xfd, 0x05, 0xf0, 0x93, 0xf8, + 0x07, 0x49, 0x01, 0x20, 0x08, 0x60, 0x80, 0xbd, + 0x01, 0x1c, 0x01, 0x20, 0xfa, 0xf7, 0x87, 0xfc, + 0x80, 0xbd, 0x00, 0xf0, 0x32, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0x6a, 0x57, 0x01, 0x00, 0x3c, 0xd9, + 0x01, 0x00, 0xb0, 0xb5, 0x0c, 0xf0, 0xff, 0xf9, + 0x0b, 0x49, 0x02, 0x24, 0x48, 0x60, 0x3c, 0x00, + 0xb4, 0x69, 0x00, 0x00, 0x0a, 0x48, 0x04, 0x61, + 0x01, 0x20, 0x77, 0x21, 0x09, 0x03, 0x08, 0x61, + 0x08, 0x4d, 0x68, 0x68, 0x80, 0x07, 0x02, 0xd4, + 0x68, 0x68, 0x20, 0x43, 0x68, 0x60, 0x09, 0xf0, + 0xc7, 0xf9, 0x68, 0x68, 0xa0, 0x43, 0x68, 0x60, + 0x00, 0x20, 0xb0, 0xbd, 0xe0, 0x60, 0x01, 0x00, + 0x00, 0x30, 0x07, 0x00, 0x00, 0x01, 0x07, 0x00, + 0x80, 0xb5, 0x01, 0x23, 0x03, 0x22, 0x00, 0x21, + 0x3c, 0x00, 0xf0, 0x69, 0x00, 0x00, 0x02, 0x20, + 0x3c, 0xf0, 0xf1, 0xfa, 0x00, 0x28, 0x01, 0xd0, + 0xfa, 0xf7, 0x81, 0xfc, 0x80, 0xbd, 0x1c, 0xb5, + 0xfc, 0xf7, 0xf5, 0xfa, 0xfa, 0xf7, 0x19, 0xfe, + 0x01, 0xf0, 0x03, 0xf9, 0x00, 0x24, 0x21, 0x1c, + 0x68, 0x46, 0x01, 0xf0, 0xe2, 0xfb, 0x00, 0xab, + 0x18, 0x78, 0x01, 0x28, 0x03, 0xd0, 0x02, 0x28, + 0x01, 0xd0, 0x03, 0x28, 0x01, 0xd1, 0x0c, 0xf0, + 0xb2, 0xfc, 0x3c, 0x00, 0x2c, 0x6a, 0x00, 0x00, + 0x01, 0x34, 0x24, 0x06, 0x24, 0x16, 0x06, 0x2c, + 0xec, 0xdb, 0xfa, 0xf7, 0x09, 0xf9, 0xfa, 0xf7, + 0xe7, 0xfc, 0xfa, 0xf7, 0x33, 0xfa, 0xfa, 0xf7, + 0x6d, 0xfa, 0xfb, 0xf7, 0xdf, 0xff, 0x05, 0xf0, + 0x4d, 0xfb, 0x06, 0xf0, 0x81, 0xfc, 0x0b, 0xf0, + 0x7d, 0xf9, 0x07, 0xf0, 0x29, 0xfc, 0x11, 0x48, + 0x10, 0x21, 0x01, 0x60, 0x09, 0x01, 0x01, 0x60, + 0xc9, 0x02, 0x01, 0x60, 0x3c, 0x00, 0x68, 0x6a, + 0x00, 0x00, 0x89, 0x00, 0x01, 0x60, 0x20, 0x21, + 0x01, 0x60, 0x04, 0x21, 0x01, 0x60, 0x08, 0x21, + 0x01, 0x60, 0x40, 0x21, 0x01, 0x60, 0x80, 0x21, + 0x01, 0x60, 0x89, 0x00, 0x01, 0x60, 0x49, 0x00, + 0x01, 0x60, 0x49, 0x00, 0x01, 0x60, 0x49, 0x00, + 0x01, 0x60, 0xc9, 0x03, 0x01, 0x60, 0x89, 0x0b, + 0x01, 0x60, 0xf9, 0xf7, 0x41, 0xff, 0x1c, 0xbd, + 0x00, 0x00, 0x00, 0x10, 0x07, 0x00, 0x3c, 0x00, + 0xa4, 0x6a, 0x00, 0x00, 0x80, 0xb5, 0x3b, 0xf0, + 0x4f, 0xf8, 0x3b, 0xf0, 0x7d, 0xf9, 0xfa, 0xf7, + 0x4b, 0xf9, 0x80, 0xbd, 0xf8, 0xb5, 0x00, 0x25, + 0x00, 0x24, 0x00, 0x22, 0x00, 0x28, 0x71, 0xd0, + 0x43, 0x4f, 0xb9, 0x68, 0x0b, 0x1a, 0xbb, 0x60, + 0xf8, 0x68, 0x39, 0x1c, 0x01, 0x30, 0xf8, 0x60, + 0x89, 0x6a, 0x00, 0x2b, 0x1e, 0xdc, 0x02, 0x24, + 0x00, 0x29, 0x06, 0xda, 0xfb, 0x69, 0x98, 0x42, + 0x3c, 0x00, 0xe0, 0x6a, 0x00, 0x00, 0x06, 0xdd, + 0x3b, 0x69, 0x98, 0x42, 0x09, 0xdd, 0x07, 0xe0, + 0xbb, 0x69, 0x98, 0x42, 0x01, 0xdc, 0x01, 0x24, + 0x03, 0xe0, 0x7b, 0x69, 0x98, 0x42, 0x00, 0xdd, + 0x03, 0x24, 0x78, 0x6a, 0x00, 0x28, 0x08, 0xd0, + 0x00, 0x20, 0x78, 0x62, 0x03, 0x2c, 0x01, 0xd1, + 0x02, 0x24, 0x02, 0xe0, 0x02, 0x2c, 0x00, 0xd1, + 0x01, 0x24, 0x2e, 0x48, 0x01, 0x2c, 0x00, 0x79, + 0x18, 0xd1, 0x3c, 0x00, 0x1c, 0x6b, 0x00, 0x00, + 0xbb, 0x78, 0x99, 0x42, 0x15, 0xda, 0x3b, 0x78, + 0x7b, 0x70, 0x39, 0x70, 0x01, 0x31, 0xb9, 0x62, + 0x01, 0xd5, 0x01, 0x31, 0xb9, 0x62, 0xb9, 0x6a, + 0x01, 0x25, 0x99, 0x42, 0x03, 0xd1, 0x04, 0x28, + 0x04, 0xd2, 0x01, 0x30, 0x00, 0xe0, 0x00, 0x20, + 0x38, 0x71, 0x01, 0x22, 0x00, 0x29, 0x33, 0xda, + 0x27, 0xe0, 0x03, 0x2c, 0x35, 0xd1, 0x00, 0x26, + 0x00, 0x28, 0x07, 0xd0, 0x3c, 0x00, 0x58, 0x6b, + 0x00, 0x00, 0x1e, 0x49, 0x81, 0x40, 0x38, 0x6a, + 0x08, 0x18, 0x0c, 0xf0, 0x5c, 0xf8, 0x00, 0x28, + 0x2c, 0xd0, 0x1b, 0x48, 0x00, 0x78, 0x40, 0x07, + 0x05, 0xd5, 0xf8, 0x68, 0x39, 0x69, 0x88, 0x42, + 0x01, 0xdb, 0x03, 0x23, 0xfe, 0x56, 0xb8, 0x6a, + 0xb0, 0x42, 0x12, 0xdd, 0x01, 0x21, 0x79, 0x62, + 0x39, 0x78, 0x01, 0x25, 0x79, 0x70, 0x38, 0x70, + 0x01, 0x38, 0xb8, 0x62, 0x88, 0x42, 0x3c, 0x00, + 0x94, 0x6b, 0x00, 0x00, 0x01, 0xd0, 0x00, 0x21, + 0x39, 0x71, 0x00, 0x28, 0x0c, 0xda, 0x07, 0x20, + 0x38, 0x71, 0x00, 0xe0, 0x12, 0xe0, 0x07, 0xe0, + 0x38, 0x79, 0x00, 0x28, 0x09, 0xd0, 0xff, 0x30, + 0x38, 0x71, 0x06, 0xe0, 0x00, 0x2a, 0x02, 0xd0, + 0x0c, 0xf0, 0xf8, 0xf8, 0x38, 0x62, 0x00, 0x2c, + 0x04, 0xd0, 0xfe, 0xf7, 0x97, 0xfd, 0x29, 0x1c, + 0x08, 0xf0, 0xfc, 0xfb, 0xf8, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x6b, 0x00, 0x00, 0xac, 0x7e, + 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x1d, 0x75, + 0x01, 0x00, 0x80, 0xb5, 0x10, 0x68, 0x00, 0x28, + 0x02, 0xd0, 0x00, 0xf0, 0x0a, 0xf8, 0x80, 0xbd, + 0x03, 0x48, 0xc0, 0x69, 0x80, 0x68, 0x08, 0xf0, + 0xb2, 0xf9, 0x80, 0xbd, 0x00, 0x00, 0x84, 0x6a, + 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0xc0, 0x68, + 0xc0, 0x68, 0x00, 0x28, 0x01, 0xd1, 0xfa, 0xf7, + 0x7a, 0xfb, 0x3c, 0x00, 0x0c, 0x6c, 0x00, 0x00, + 0xe0, 0x68, 0xe1, 0x69, 0xc0, 0x68, 0x23, 0x1c, + 0x01, 0x4a, 0xff, 0xf7, 0xd7, 0xfb, 0x10, 0xbd, + 0xdd, 0x6b, 0x00, 0x00, 0xb0, 0xb5, 0x05, 0x1c, + 0x0c, 0x21, 0x00, 0x20, 0xfa, 0xf7, 0xd6, 0xfc, + 0x04, 0x1c, 0x00, 0x68, 0x00, 0x21, 0x41, 0x60, + 0x01, 0x60, 0x29, 0x88, 0x01, 0x81, 0x69, 0x88, + 0x41, 0x81, 0x29, 0x1c, 0xff, 0x31, 0x21, 0x31, + 0x20, 0x1c, 0x03, 0xf0, 0x3c, 0x00, 0x48, 0x6c, + 0x00, 0x00, 0x77, 0xf9, 0x29, 0x1c, 0xff, 0x31, + 0x46, 0x31, 0x20, 0x1c, 0x03, 0xf0, 0x71, 0xf9, + 0x29, 0x1c, 0xff, 0x31, 0x50, 0x31, 0x20, 0x1c, + 0x03, 0xf0, 0x6b, 0xf9, 0x29, 0x1c, 0xff, 0x31, + 0x43, 0x31, 0x20, 0x1c, 0x03, 0xf0, 0x65, 0xf9, + 0x29, 0x1c, 0xff, 0x31, 0x63, 0x31, 0x20, 0x1c, + 0x03, 0xf0, 0x5f, 0xf9, 0x04, 0x48, 0x00, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0x20, 0x1c, 0x3c, 0x00, + 0x84, 0x6c, 0x00, 0x00, 0xff, 0xf7, 0x8e, 0xfd, + 0x20, 0x1c, 0xb0, 0xbd, 0xe4, 0x62, 0x01, 0x00, + 0xf8, 0xb5, 0x05, 0x1c, 0x0c, 0x1c, 0x04, 0xd1, + 0x05, 0x21, 0x18, 0x20, 0xfa, 0xf7, 0x02, 0xfb, + 0x4d, 0xe0, 0x29, 0x1c, 0x12, 0x31, 0x06, 0x22, + 0x60, 0x1c, 0xf9, 0xf7, 0x25, 0xfc, 0x22, 0x1c, + 0x30, 0x32, 0x00, 0x26, 0x00, 0x21, 0x00, 0x20, + 0x16, 0x70, 0x34, 0x4b, 0x1b, 0x5c, 0x2f, 0x8a, + 0x3c, 0x00, 0xc0, 0x6c, 0x00, 0x00, 0xdf, 0x40, + 0xff, 0x07, 0x07, 0xd5, 0x17, 0x78, 0x01, 0x33, + 0x01, 0x37, 0x17, 0x70, 0x67, 0x18, 0x30, 0x37, + 0x7b, 0x70, 0x01, 0x31, 0x01, 0x30, 0x0e, 0x28, + 0xee, 0xdb, 0xa8, 0x7b, 0x60, 0x72, 0x10, 0x78, + 0x00, 0x28, 0x2b, 0xd0, 0x2a, 0x48, 0x1e, 0x21, + 0x09, 0x5c, 0x27, 0x1c, 0x10, 0x37, 0x21, 0x72, + 0x01, 0x68, 0x61, 0x81, 0xc1, 0x89, 0x21, 0x77, + 0x81, 0x89, 0x3c, 0x00, 0xfc, 0x6c, 0x00, 0x00, + 0x79, 0x73, 0xc1, 0x8a, 0xa1, 0x81, 0x01, 0x8b, + 0xe1, 0x81, 0x42, 0x8a, 0x21, 0x1c, 0x60, 0x31, + 0x4a, 0x80, 0x82, 0x8a, 0x8a, 0x80, 0x1f, 0x49, + 0x2c, 0x31, 0x09, 0x7a, 0x00, 0x29, 0x09, 0xd0, + 0x02, 0x29, 0x0a, 0xd1, 0x01, 0x22, 0x62, 0x62, + 0x62, 0x72, 0x42, 0x8b, 0xa2, 0x81, 0x80, 0x8b, + 0xe0, 0x81, 0x03, 0xe0, 0x01, 0x21, 0x66, 0x62, + 0x00, 0xe0, 0x00, 0x21, 0x3c, 0x00, 0x38, 0x6d, + 0x00, 0x00, 0xe8, 0x7b, 0x08, 0x40, 0x01, 0xd1, + 0x00, 0x20, 0xf8, 0xbd, 0xa8, 0x68, 0x43, 0x1c, + 0x09, 0xd0, 0x22, 0x1c, 0x12, 0x32, 0x00, 0x92, + 0x93, 0x1d, 0x02, 0x32, 0x21, 0x1c, 0x01, 0xf0, + 0x9c, 0xfa, 0xa0, 0x62, 0x00, 0xe0, 0xa6, 0x62, + 0x68, 0x7b, 0x29, 0x1c, 0x1d, 0x31, 0x20, 0x74, + 0x0b, 0x48, 0x20, 0x22, 0x20, 0x62, 0x20, 0x1c, + 0x42, 0x30, 0xbe, 0x73, 0xf9, 0xf7, 0x3c, 0x00, + 0x74, 0x6d, 0x00, 0x00, 0xc1, 0xfb, 0x40, 0x34, + 0x26, 0x70, 0x68, 0x7e, 0x04, 0x49, 0x60, 0x70, + 0x68, 0x68, 0x2c, 0x31, 0x48, 0x60, 0x01, 0x20, + 0xda, 0xe7, 0x00, 0x00, 0x90, 0x58, 0x01, 0x00, + 0xc8, 0x6e, 0x01, 0x00, 0x91, 0x02, 0x01, 0x00, + 0x70, 0xb5, 0x16, 0x1c, 0x0d, 0x1c, 0x04, 0x1c, + 0x00, 0x28, 0x06, 0xd0, 0x0c, 0x20, 0xfa, 0xf7, + 0x47, 0xfd, 0x30, 0xc0, 0x08, 0x38, 0x06, 0x72, + 0x3c, 0x00, 0xb0, 0x6d, 0x00, 0x00, 0x70, 0xbd, + 0x00, 0x20, 0x70, 0xbd, 0x00, 0x00, 0x01, 0x1c, + 0x05, 0x48, 0x80, 0xb5, 0x00, 0x68, 0x01, 0xd0, + 0x01, 0x21, 0x00, 0xe0, 0x00, 0x21, 0xfc, 0xf7, + 0xa0, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x0c, 0x79, + 0x01, 0x00, 0x70, 0xb5, 0x0e, 0x1c, 0x04, 0x1c, + 0x00, 0x28, 0x01, 0xd1, 0xfa, 0xf7, 0x8f, 0xfa, + 0x06, 0x4d, 0x28, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0xfa, 0xf7, 0x3c, 0x00, 0xec, 0x6d, 0x00, 0x00, + 0x89, 0xfa, 0x04, 0x48, 0x2e, 0x60, 0xc4, 0x60, + 0x01, 0x21, 0x01, 0x70, 0x70, 0xbd, 0x00, 0x00, + 0xa8, 0x7e, 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, + 0x10, 0xb5, 0x07, 0x4c, 0x20, 0x68, 0x00, 0x28, + 0x01, 0xd1, 0xfa, 0xf7, 0x77, 0xfa, 0x05, 0x48, + 0x00, 0x69, 0x21, 0x68, 0xf9, 0xf7, 0xdf, 0xfa, + 0x00, 0x20, 0x20, 0x60, 0x10, 0xbd, 0x00, 0x00, + 0xa8, 0x7e, 0x01, 0x00, 0x3c, 0x00, 0x28, 0x6e, + 0x00, 0x00, 0x30, 0x00, 0x07, 0x00, 0x01, 0x20, + 0x05, 0x49, 0xc0, 0x06, 0x80, 0xb5, 0x08, 0x60, + 0x00, 0x22, 0x03, 0x21, 0x54, 0x20, 0x0c, 0xf0, + 0xb8, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x04, 0x21, + 0xc4, 0x20, 0x0c, 0xf0, 0xae, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0x04, 0x48, 0x80, 0xb5, 0x00, 0x88, + 0x02, 0x49, 0xff, 0xf7, 0xb8, 0xff, 0x3c, 0x00, + 0x64, 0x6e, 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, + 0x75, 0x4b, 0x00, 0x00, 0xc8, 0x74, 0x01, 0x00, + 0xf8, 0xb5, 0x06, 0x1c, 0x31, 0x48, 0x00, 0x25, + 0xc0, 0x68, 0x0c, 0x1c, 0x00, 0x28, 0x30, 0xd0, + 0x2e, 0x48, 0x2f, 0x4f, 0x04, 0x30, 0x00, 0x78, + 0x38, 0x76, 0x2c, 0x48, 0x04, 0x30, 0x40, 0x78, + 0x38, 0x81, 0x00, 0x2a, 0x0b, 0xd0, 0xf9, 0xf7, + 0xa5, 0xfa, 0x1f, 0x20, 0xb8, 0x76, 0x20, 0x1c, + 0x3c, 0x00, 0xa0, 0x6e, 0x00, 0x00, 0xf9, 0xf7, + 0xf6, 0xf9, 0x25, 0x48, 0x04, 0x30, 0x80, 0x78, + 0xb8, 0x76, 0x43, 0xe0, 0x25, 0x48, 0x22, 0x49, + 0x84, 0x42, 0x4d, 0x69, 0x02, 0xd2, 0x6c, 0x43, + 0xe4, 0x0b, 0x0f, 0xe0, 0x1f, 0x48, 0x21, 0x1c, + 0x80, 0x6a, 0x00, 0x90, 0xf9, 0xf7, 0x23, 0xfc, + 0x00, 0x99, 0x02, 0x1c, 0x4a, 0x43, 0xa1, 0x1a, + 0x1a, 0x4a, 0x69, 0x43, 0x52, 0x6a, 0xc9, 0x0b, + 0x50, 0x43, 0x3c, 0x00, 0xdc, 0x6e, 0x00, 0x00, + 0x44, 0x18, 0x02, 0x2c, 0x01, 0xd8, 0x00, 0x20, + 0xf8, 0xbd, 0xf9, 0xf7, 0x7d, 0xfa, 0x1f, 0x20, + 0xb8, 0x76, 0x20, 0x1c, 0xf9, 0xf7, 0xae, 0xf9, + 0x04, 0x1c, 0x11, 0x48, 0x04, 0x30, 0x80, 0x78, + 0xb8, 0x76, 0x0f, 0x4f, 0x7d, 0x6a, 0xac, 0x42, + 0x04, 0xd2, 0x20, 0x1c, 0xff, 0xf7, 0x22, 0xfc, + 0x05, 0x1c, 0x12, 0xe0, 0x21, 0x1c, 0x28, 0x1c, + 0xf9, 0xf7, 0xfc, 0xfb, 0x3c, 0x00, 0x18, 0x6f, + 0x00, 0x00, 0x06, 0x1c, 0x68, 0x43, 0x20, 0x1a, + 0xff, 0xf7, 0x17, 0xfc, 0x05, 0x1c, 0x00, 0x24, + 0x04, 0xe0, 0x78, 0x6a, 0xff, 0xf7, 0x11, 0xfc, + 0x45, 0x19, 0x01, 0x34, 0xb4, 0x42, 0xf8, 0xd3, + 0x28, 0x1c, 0xd4, 0xe7, 0x00, 0x00, 0xc8, 0x74, + 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, 0xc0, 0xc6, + 0x2d, 0x00, 0x01, 0x1c, 0x7d, 0x20, 0x80, 0xb5, + 0xc0, 0x00, 0xf9, 0xf7, 0x72, 0xfb, 0x3c, 0x00, + 0x54, 0x6f, 0x00, 0x00, 0x02, 0x49, 0x88, 0x61, + 0x40, 0x08, 0xc8, 0x61, 0x80, 0xbd, 0x00, 0x00, + 0xc8, 0x74, 0x01, 0x00, 0x10, 0xb5, 0x06, 0x4c, + 0x21, 0x1c, 0x00, 0x20, 0x0b, 0xf0, 0x42, 0xfa, + 0x21, 0x1c, 0x00, 0x20, 0x0b, 0xf0, 0x0a, 0xfa, + 0x00, 0xf0, 0x68, 0xfe, 0x10, 0xbd, 0x00, 0x00, + 0x85, 0x6f, 0x00, 0x00, 0x30, 0xb5, 0x0f, 0x4d, + 0x2a, 0x78, 0x04, 0x2a, 0x19, 0xd8, 0x00, 0x2a, + 0x3c, 0x00, 0x90, 0x6f, 0x00, 0x00, 0x17, 0xd0, + 0x00, 0x21, 0x07, 0xe0, 0x4b, 0x00, 0x5b, 0x18, + 0x5c, 0x19, 0x01, 0x23, 0xe4, 0x56, 0x84, 0x42, + 0x02, 0xda, 0x01, 0x31, 0x8a, 0x42, 0xf5, 0xdc, + 0x8a, 0x42, 0x00, 0xd1, 0x01, 0x39, 0x48, 0x00, + 0x40, 0x18, 0x40, 0x19, 0x81, 0x78, 0x02, 0x4a, + 0x34, 0x3a, 0x11, 0x70, 0xc0, 0x78, 0x50, 0x70, + 0x30, 0xbd, 0x00, 0x75, 0x01, 0x00, 0x30, 0xb5, + 0x11, 0x1c, 0x3c, 0x00, 0xcc, 0x6f, 0x00, 0x00, + 0x38, 0x31, 0x85, 0xb0, 0x91, 0x62, 0x08, 0x21, + 0x11, 0x86, 0x00, 0x23, 0x14, 0x1c, 0x01, 0x1c, + 0x53, 0x63, 0xc0, 0x68, 0x15, 0x4d, 0x0b, 0xe0, + 0x02, 0x68, 0xaa, 0x42, 0x06, 0xd1, 0xc2, 0x68, + 0xca, 0x60, 0xc3, 0x60, 0x03, 0x60, 0xfa, 0xf7, + 0xd1, 0xfa, 0x03, 0xe0, 0x01, 0x1c, 0xc0, 0x68, + 0x00, 0x28, 0xf1, 0xd1, 0x22, 0x1c, 0x40, 0x32, + 0x08, 0x21, 0x20, 0x68, 0x3c, 0x00, 0x08, 0x70, + 0x00, 0x00, 0xfa, 0xf7, 0x64, 0xfb, 0x0b, 0x49, + 0x20, 0x1c, 0x48, 0x30, 0x02, 0x90, 0x04, 0x94, + 0x03, 0x91, 0xe0, 0x69, 0x82, 0x88, 0x01, 0x68, + 0x6e, 0x20, 0x01, 0x92, 0x00, 0x91, 0x22, 0x1c, + 0x56, 0x32, 0x03, 0x5d, 0x21, 0x1c, 0x28, 0x31, + 0x20, 0x68, 0xff, 0xf7, 0x58, 0xfa, 0x05, 0xb0, + 0x30, 0xbd, 0xa0, 0x7e, 0x01, 0x00, 0xd5, 0x70, + 0x00, 0x00, 0x1c, 0xb5, 0x07, 0x49, 0x3c, 0x00, + 0x44, 0x70, 0x00, 0x00, 0x02, 0x1c, 0x01, 0x90, + 0x00, 0x91, 0xc0, 0x69, 0x13, 0x1c, 0x84, 0x88, + 0x01, 0x68, 0x10, 0x68, 0x48, 0x33, 0x22, 0x1c, + 0xff, 0xf7, 0x08, 0xf9, 0x1c, 0xbd, 0x00, 0x00, + 0xc9, 0x6f, 0x00, 0x00, 0x10, 0xb5, 0x14, 0x1c, + 0x18, 0x48, 0x03, 0xf0, 0x89, 0xf8, 0xa0, 0x42, + 0x01, 0xd0, 0xfa, 0xf7, 0x45, 0xf9, 0x04, 0x22, + 0x20, 0x1c, 0x40, 0x30, 0xa1, 0x6a, 0xf9, 0xf7, + 0x3c, 0x00, 0x80, 0x70, 0x00, 0x00, 0xbd, 0xf9, + 0x00, 0x28, 0x02, 0xd1, 0x01, 0x20, 0x20, 0x62, + 0x05, 0xe0, 0x00, 0x20, 0x20, 0x62, 0x84, 0x20, + 0x00, 0x5d, 0x00, 0x28, 0x03, 0xd1, 0x20, 0x1c, + 0x09, 0xf0, 0x23, 0xfb, 0x05, 0xe0, 0x20, 0x68, + 0xfa, 0xf7, 0x79, 0xfa, 0x20, 0x1c, 0xfa, 0xf7, + 0xa4, 0xfb, 0xe0, 0x69, 0x80, 0x79, 0x06, 0x28, + 0x06, 0xd1, 0x20, 0x6a, 0x06, 0x49, 0x00, 0x28, + 0x03, 0xd0, 0x3c, 0x00, 0xbc, 0x70, 0x00, 0x00, + 0x08, 0x69, 0x01, 0x30, 0x08, 0x61, 0x10, 0xbd, + 0x48, 0x69, 0x01, 0x30, 0x48, 0x61, 0x10, 0xbd, + 0xa0, 0x6a, 0x01, 0x00, 0x28, 0x61, 0x01, 0x00, + 0x1c, 0xb5, 0x14, 0x1c, 0x15, 0x48, 0x03, 0xf0, + 0x51, 0xf8, 0xa0, 0x42, 0x01, 0xd0, 0xfa, 0xf7, + 0x0d, 0xf9, 0x20, 0x1c, 0x4f, 0x30, 0x02, 0x79, + 0x41, 0x79, 0x00, 0xab, 0x12, 0x02, 0x11, 0x43, + 0xc2, 0x78, 0x12, 0x04, 0x3c, 0x00, 0xf8, 0x70, + 0x00, 0x00, 0x11, 0x43, 0x82, 0x78, 0x12, 0x06, + 0x11, 0x43, 0x00, 0x91, 0x01, 0x78, 0x40, 0x78, + 0x09, 0x02, 0x08, 0x43, 0x98, 0x80, 0x20, 0x1c, + 0x69, 0x46, 0x06, 0xf0, 0x3c, 0xf9, 0x00, 0x28, + 0x03, 0xd1, 0x20, 0x1c, 0x09, 0xf0, 0xe3, 0xfa, + 0x1c, 0xbd, 0x20, 0x68, 0xfa, 0xf7, 0x39, 0xfa, + 0x20, 0x1c, 0xfa, 0xf7, 0x64, 0xfb, 0xf7, 0xe7, + 0x00, 0x00, 0xa0, 0x6a, 0x01, 0x00, 0x3c, 0x00, + 0x34, 0x71, 0x00, 0x00, 0xbc, 0xb5, 0x1f, 0x4d, + 0x14, 0x1c, 0x28, 0x1c, 0xdc, 0x30, 0x03, 0xf0, + 0x1f, 0xf8, 0xa0, 0x42, 0x01, 0xd0, 0xfa, 0xf7, + 0xdb, 0xf8, 0xa0, 0x6c, 0x00, 0xab, 0x02, 0x78, + 0x81, 0x78, 0x12, 0x02, 0x11, 0x43, 0x02, 0x79, + 0x12, 0x04, 0x11, 0x43, 0x42, 0x79, 0x12, 0x06, + 0x11, 0x43, 0x00, 0x91, 0x81, 0x79, 0xc0, 0x79, + 0x00, 0x02, 0x08, 0x43, 0x98, 0x80, 0x20, 0x1c, + 0x3c, 0x00, 0x70, 0x71, 0x00, 0x00, 0x69, 0x46, + 0x06, 0xf0, 0x0b, 0xf9, 0x00, 0x28, 0x17, 0xd0, + 0x01, 0x28, 0x0e, 0xd1, 0xed, 0x6c, 0x00, 0x2d, + 0x0b, 0xd0, 0x80, 0x20, 0x02, 0x5d, 0xe0, 0x6c, + 0x01, 0x21, 0x00, 0x28, 0x00, 0xd1, 0x00, 0x21, + 0x60, 0x68, 0x6b, 0x46, 0x0a, 0x30, 0xf9, 0xf7, + 0x23, 0xf9, 0x20, 0x68, 0xfa, 0xf7, 0xfb, 0xf9, + 0x20, 0x1c, 0xfa, 0xf7, 0x26, 0xfb, 0xbc, 0xbd, + 0x20, 0x1c, 0x3c, 0x00, 0xac, 0x71, 0x00, 0x00, + 0x00, 0xf0, 0x8e, 0xfe, 0xfa, 0xe7, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0xbc, 0xb5, 0x04, 0x1c, + 0x40, 0x6a, 0x00, 0x25, 0x00, 0x28, 0x03, 0xd0, + 0x60, 0x68, 0x00, 0x8b, 0x05, 0x07, 0x2d, 0x0f, + 0x22, 0x1c, 0x40, 0x32, 0x08, 0x21, 0x20, 0x68, + 0xfa, 0xf7, 0x7e, 0xfa, 0xa1, 0x68, 0x01, 0x95, + 0x00, 0x91, 0x21, 0x1c, 0x22, 0x1c, 0x60, 0x32, + 0x20, 0x68, 0x50, 0x31, 0x3c, 0x00, 0xe8, 0x71, + 0x00, 0x00, 0x0d, 0x1c, 0xe3, 0x68, 0x09, 0xf0, + 0xe2, 0xff, 0xe0, 0x69, 0x80, 0x6b, 0x00, 0x28, + 0x03, 0xd1, 0xfe, 0xf7, 0xe8, 0xfa, 0x00, 0x28, + 0x01, 0xd0, 0x18, 0x20, 0x00, 0xe0, 0x10, 0x20, + 0x06, 0x49, 0x01, 0x94, 0x00, 0x91, 0xe1, 0x69, + 0x08, 0x23, 0x09, 0x68, 0x0a, 0x18, 0x21, 0x1c, + 0x28, 0x31, 0x28, 0x1c, 0xff, 0xf7, 0x87, 0xf9, + 0xbc, 0xbd, 0x35, 0x71, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x72, 0x00, 0x00, 0x10, 0xb5, 0x10, 0x1c, + 0x38, 0x30, 0x90, 0x62, 0x04, 0x20, 0x10, 0x86, + 0x00, 0x20, 0x50, 0x63, 0x10, 0x68, 0x14, 0x1c, + 0x40, 0x32, 0x04, 0x21, 0xfa, 0xf7, 0x4a, 0xfa, + 0x23, 0x1c, 0x21, 0x1c, 0x28, 0x31, 0x02, 0x4a, + 0x20, 0x68, 0xff, 0xf7, 0xbd, 0xf8, 0x10, 0xbd, + 0x65, 0x70, 0x00, 0x00, 0x0e, 0xb5, 0xc3, 0x69, + 0x02, 0x1c, 0x98, 0x88, 0x05, 0x49, 0x02, 0x92, + 0x3c, 0x00, 0x60, 0x72, 0x00, 0x00, 0x01, 0x91, + 0x00, 0x90, 0x1b, 0x68, 0x10, 0x68, 0x91, 0x69, + 0x03, 0x22, 0xff, 0xf7, 0xae, 0xf9, 0x0e, 0xbd, + 0x00, 0x00, 0x25, 0x72, 0x00, 0x00, 0x0e, 0xb5, + 0x02, 0x1c, 0x06, 0x49, 0x10, 0x20, 0x00, 0x90, + 0x02, 0x92, 0x13, 0x1c, 0x01, 0x91, 0x10, 0x68, + 0x00, 0x22, 0x70, 0x33, 0x00, 0x21, 0xff, 0xf7, + 0x9c, 0xf9, 0x0e, 0xbd, 0x00, 0x00, 0x25, 0x72, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x72, 0x00, 0x00, + 0x10, 0xb5, 0x03, 0x1c, 0x00, 0x21, 0x00, 0x20, + 0x08, 0x4c, 0x00, 0xe0, 0x01, 0x31, 0xca, 0x00, + 0xa2, 0x58, 0x9a, 0x42, 0x02, 0xd0, 0x0b, 0x29, + 0xf8, 0xd3, 0x10, 0xbd, 0x0b, 0x29, 0xfc, 0xd2, + 0xc9, 0x00, 0x09, 0x19, 0x00, 0x20, 0x08, 0x71, + 0x01, 0x20, 0x10, 0xbd, 0x38, 0x58, 0x01, 0x00, + 0x8c, 0xb5, 0x00, 0xab, 0x86, 0x21, 0x19, 0x80, + 0x01, 0x1c, 0x04, 0x48, 0x3c, 0x00, 0xd8, 0x72, + 0x00, 0x00, 0x06, 0xf0, 0xee, 0xfe, 0x01, 0x90, + 0x68, 0x46, 0x06, 0xf0, 0xfa, 0xf8, 0x8c, 0xbd, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x0d, 0x48, 0x0d, 0x49, 0x94, 0xb0, + 0x04, 0x80, 0x06, 0x22, 0x18, 0x31, 0x0c, 0x30, + 0xf9, 0xf7, 0xfb, 0xf8, 0x01, 0xa8, 0x07, 0xf0, + 0xa2, 0xf8, 0x0c, 0x20, 0x09, 0xa9, 0x48, 0x72, + 0x00, 0xab, 0x1c, 0x80, 0x02, 0x21, 0x3c, 0x00, + 0x14, 0x73, 0x00, 0x00, 0x68, 0x46, 0x03, 0xf0, + 0xdb, 0xff, 0x04, 0x90, 0x01, 0xa8, 0x06, 0xf0, + 0xd1, 0xf8, 0x14, 0xb0, 0x10, 0xbd, 0x00, 0x00, + 0x58, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x04, 0xf0, + 0x45, 0xfe, 0x05, 0xf0, 0x53, 0xfa, 0x80, 0xbd, + 0x10, 0xb5, 0x19, 0x4c, 0xe0, 0x68, 0x00, 0x28, + 0x06, 0xd0, 0x61, 0x1c, 0x08, 0x78, 0x00, 0x28, + 0x03, 0xd1, 0x48, 0x78, 0xff, 0x30, 0x08, 0x70, + 0x3c, 0x00, 0x50, 0x73, 0x00, 0x00, 0x10, 0xbd, + 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, 0x08, 0x70, + 0xa1, 0x68, 0x00, 0x29, 0xf7, 0xd0, 0x00, 0x28, + 0xf5, 0xd1, 0x0e, 0x48, 0x54, 0x30, 0x81, 0x78, + 0x00, 0x29, 0x03, 0xd1, 0xc1, 0x78, 0xff, 0x31, + 0x81, 0x70, 0x10, 0xbd, 0xff, 0x31, 0x09, 0x06, + 0x09, 0x0e, 0x81, 0x70, 0xf9, 0xd1, 0xa1, 0x69, + 0x00, 0x29, 0xf6, 0xd0, 0x80, 0x88, 0x03, 0xf0, + 0xd0, 0xfb, 0x3c, 0x00, 0x8c, 0x73, 0x00, 0x00, + 0x04, 0x4a, 0x01, 0x1c, 0x5c, 0x32, 0x0c, 0x32, + 0x05, 0xca, 0x80, 0x1a, 0xa2, 0x69, 0xf9, 0xf7, + 0x1f, 0xf8, 0x10, 0xbd, 0x44, 0x7d, 0x01, 0x00, + 0xf0, 0xb5, 0x04, 0x1c, 0x40, 0x68, 0x00, 0x25, + 0x01, 0x79, 0x00, 0x22, 0x85, 0xb0, 0xc9, 0x07, + 0xcb, 0x17, 0x69, 0x49, 0x01, 0x33, 0x89, 0x6a, + 0x10, 0x29, 0x05, 0xd3, 0x66, 0x49, 0xc0, 0x39, + 0x08, 0x6b, 0x01, 0x30, 0x3c, 0x00, 0xc8, 0x73, + 0x00, 0x00, 0x08, 0x63, 0x8e, 0xe0, 0x21, 0x68, + 0x0e, 0x68, 0xf6, 0x78, 0xb7, 0x06, 0xff, 0x0f, + 0xb6, 0x09, 0x00, 0x2b, 0x04, 0x97, 0x06, 0xd0, + 0x63, 0x69, 0x1f, 0x1c, 0x1b, 0x6a, 0x50, 0x37, + 0x9f, 0x42, 0x00, 0xd1, 0x01, 0x25, 0x00, 0x2d, + 0x02, 0xd0, 0x63, 0x69, 0x1b, 0x6a, 0x04, 0xe0, + 0x3c, 0x23, 0x59, 0x4f, 0x73, 0x43, 0xdb, 0x19, + 0x04, 0x33, 0xe3, 0x61, 0x9f, 0x88, 0x3c, 0x00, + 0x04, 0x74, 0x00, 0x00, 0x00, 0x2f, 0x70, 0xd0, + 0x9b, 0x79, 0x02, 0x2b, 0x6e, 0xd0, 0x04, 0x2b, + 0x17, 0xd0, 0x06, 0x2b, 0x69, 0xd1, 0x08, 0x68, + 0xa0, 0x61, 0x08, 0x89, 0x04, 0x38, 0x08, 0x81, + 0x20, 0x68, 0x01, 0x68, 0x04, 0x31, 0x01, 0x60, + 0x4e, 0x49, 0x00, 0x29, 0x5d, 0xd0, 0x04, 0x9f, + 0xba, 0x42, 0x5a, 0xd1, 0x49, 0x48, 0x22, 0x1c, + 0x1c, 0x30, 0x02, 0xf0, 0x65, 0xfe, 0x05, 0xb0, + 0x3c, 0x00, 0x40, 0x74, 0x00, 0x00, 0xf0, 0xbd, + 0x09, 0x68, 0x25, 0x1c, 0xca, 0x79, 0x40, 0x35, + 0x26, 0x1c, 0xea, 0x73, 0x8b, 0x79, 0x22, 0x1c, + 0x50, 0x32, 0x13, 0x70, 0x4b, 0x79, 0x60, 0x36, + 0x53, 0x70, 0x0b, 0x79, 0x93, 0x70, 0x4b, 0x78, + 0xd3, 0x70, 0x09, 0x78, 0x11, 0x71, 0x00, 0x21, + 0x29, 0x72, 0x16, 0x21, 0xb1, 0x73, 0x61, 0x6a, + 0x00, 0x29, 0x06, 0xd0, 0x01, 0x8b, 0x09, 0x07, + 0x09, 0x0f, 0x3c, 0x00, 0x7c, 0x74, 0x00, 0x00, + 0x29, 0x72, 0xb1, 0x81, 0x18, 0x21, 0xb1, 0x73, + 0x01, 0x1c, 0x0a, 0x31, 0x20, 0x1c, 0x06, 0x22, + 0x49, 0x30, 0xf9, 0xf7, 0x33, 0xf8, 0x60, 0x68, + 0x14, 0x22, 0x01, 0x88, 0xe9, 0x82, 0x01, 0x1d, + 0x20, 0x1c, 0x58, 0x30, 0xf9, 0xf7, 0x2a, 0xf8, + 0xe8, 0x8a, 0x30, 0x49, 0x08, 0x40, 0x01, 0x21, + 0x89, 0x03, 0x08, 0x43, 0xe8, 0x82, 0x70, 0x89, + 0x0f, 0x21, 0x08, 0x40, 0x3c, 0x00, 0xb8, 0x74, + 0x00, 0x00, 0x70, 0x81, 0x20, 0x68, 0x01, 0x89, + 0x08, 0x39, 0x01, 0x81, 0x20, 0x68, 0x01, 0x68, + 0x08, 0x31, 0x01, 0x60, 0x08, 0x21, 0x00, 0x20, + 0xfa, 0xf7, 0x83, 0xf8, 0x05, 0x1c, 0x02, 0x68, + 0x20, 0x68, 0x08, 0x21, 0xfa, 0xf7, 0xfb, 0xf8, + 0x20, 0x68, 0xfa, 0xf7, 0x74, 0xf8, 0x21, 0x49, + 0xc5, 0x60, 0x2f, 0xe0, 0x30, 0xe0, 0xff, 0xe7, + 0x21, 0x68, 0x60, 0x68, 0x0a, 0x68, 0x3c, 0x00, + 0xf4, 0x74, 0x00, 0x00, 0x80, 0x23, 0xa2, 0x64, + 0x1e, 0x55, 0xe5, 0x64, 0x55, 0x79, 0x13, 0x79, + 0x2d, 0x02, 0x5b, 0x19, 0x95, 0x79, 0x2d, 0x04, + 0x5b, 0x19, 0xd5, 0x79, 0x2d, 0x06, 0x5b, 0x19, + 0x95, 0x78, 0x12, 0x78, 0x12, 0x02, 0xaa, 0x18, + 0x15, 0x04, 0x0a, 0x89, 0x2d, 0x0c, 0x08, 0x3a, + 0x0a, 0x81, 0x21, 0x68, 0x0a, 0x68, 0x08, 0x32, + 0x0a, 0x60, 0xe1, 0x69, 0x02, 0x1c, 0x0a, 0x32, + 0x3c, 0x00, 0x30, 0x75, 0x00, 0x00, 0x01, 0xa8, + 0x09, 0x68, 0x0b, 0xf0, 0x3e, 0xf9, 0xe0, 0x69, + 0x2b, 0x1c, 0x01, 0x68, 0x20, 0x1c, 0x70, 0x30, + 0x01, 0xaa, 0x0b, 0xf0, 0x86, 0xf9, 0x09, 0x49, + 0x01, 0x22, 0x6d, 0xe7, 0x20, 0x68, 0xfa, 0xf7, + 0x22, 0xf8, 0x20, 0x1c, 0xfa, 0xf7, 0x4d, 0xf9, + 0x70, 0xe7, 0x84, 0x6a, 0x01, 0x00, 0x68, 0x61, + 0x01, 0x00, 0x55, 0x72, 0x00, 0x00, 0x8f, 0xc7, + 0xff, 0xff, 0x3c, 0x00, 0x6c, 0x75, 0x00, 0x00, + 0x41, 0x70, 0x00, 0x00, 0x79, 0x72, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x82, 0x20, 0xf9, 0xf7, + 0x93, 0xfe, 0x80, 0xbd, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0xc0, 0x68, 0xf9, 0xf7, 0xfa, 0xff, + 0x01, 0x20, 0x80, 0xbd, 0x3c, 0x00, 0xa8, 0x75, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0x21, 0xff, 0x20, + 0xf9, 0xf7, 0x79, 0xfe, 0x80, 0xbd, 0x70, 0x47, + 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x01, 0x20, + 0x70, 0x47, 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x06, 0x21, 0x99, 0x20, + 0xf9, 0xf7, 0x65, 0xfe, 0x80, 0xbd, 0xb0, 0xb5, + 0x00, 0x25, 0x01, 0x29, 0x12, 0x4c, 0x3c, 0x00, + 0xe4, 0x75, 0x00, 0x00, 0x0f, 0xd1, 0x0a, 0xf0, + 0x0f, 0xfc, 0x00, 0x28, 0x1d, 0xd0, 0x61, 0x78, + 0x3c, 0x23, 0x59, 0x43, 0x09, 0x19, 0x04, 0x31, + 0x01, 0x62, 0x61, 0x1c, 0x41, 0x62, 0x84, 0x62, + 0x04, 0x1c, 0x50, 0x34, 0x06, 0xe0, 0x00, 0x29, + 0x0f, 0xd1, 0x3c, 0x20, 0x50, 0x43, 0x25, 0x70, + 0x04, 0x19, 0x04, 0x34, 0x00, 0x2c, 0x08, 0xd0, + 0x20, 0x68, 0x00, 0x28, 0x02, 0xd0, 0x20, 0x21, + 0x3c, 0x00, 0x20, 0x76, 0x00, 0x00, 0xf8, 0xf7, + 0x18, 0xff, 0xa5, 0x80, 0x07, 0x20, 0xa0, 0x71, + 0xb0, 0xbd, 0x68, 0x61, 0x01, 0x00, 0x70, 0xb5, + 0x04, 0x1c, 0x00, 0x21, 0x01, 0xf0, 0x41, 0xfc, + 0x60, 0x68, 0x00, 0x28, 0x01, 0xd0, 0x21, 0x68, + 0x01, 0x60, 0x20, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0x61, 0x68, 0x41, 0x60, 0x12, 0x4e, 0x70, 0x68, + 0xa0, 0x42, 0x01, 0xd1, 0x60, 0x68, 0x70, 0x60, + 0xe0, 0x68, 0x3c, 0x00, 0x5c, 0x76, 0x00, 0x00, + 0x00, 0x28, 0x0b, 0xd0, 0x00, 0x25, 0x06, 0xe0, + 0xe0, 0x68, 0xe9, 0x00, 0x41, 0x18, 0x14, 0x20, + 0x0b, 0xf0, 0xe2, 0xff, 0x01, 0x35, 0x30, 0x88, + 0x85, 0x42, 0xf5, 0xdb, 0x06, 0x21, 0x20, 0x1c, + 0x44, 0x30, 0xf8, 0xf7, 0xe9, 0xfe, 0x20, 0x6b, + 0x00, 0x28, 0x01, 0xd0, 0xf9, 0xf7, 0x86, 0xff, + 0xe0, 0x69, 0x00, 0x28, 0x01, 0xd0, 0xfa, 0xf7, + 0xaf, 0xf8, 0x70, 0xbd, 0x3c, 0x00, 0x98, 0x76, + 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, 0xf0, 0xb5, + 0x1d, 0x4f, 0x05, 0x9d, 0x3f, 0x68, 0x01, 0x26, + 0x1c, 0x1c, 0x33, 0x1c, 0x00, 0x2f, 0x00, 0xd0, + 0x2b, 0x1c, 0x1d, 0x06, 0x2d, 0x0e, 0x00, 0x29, + 0x06, 0xd0, 0x11, 0x78, 0x0e, 0x23, 0x16, 0x4f, + 0x09, 0x18, 0x09, 0x7a, 0x6b, 0x43, 0x10, 0xe0, + 0x21, 0x78, 0x00, 0x29, 0x13, 0xd0, 0xff, 0x31, + 0x0d, 0xe0, 0x01, 0x29, 0x01, 0xd9, 0x3c, 0x00, + 0xd4, 0x76, 0x00, 0x00, 0x01, 0x31, 0x11, 0x70, + 0x11, 0x78, 0x0e, 0x23, 0x0f, 0x4f, 0x49, 0x08, + 0x11, 0x70, 0x09, 0x18, 0x09, 0x7a, 0x6b, 0x43, + 0xdb, 0x19, 0x59, 0x5c, 0x21, 0x70, 0x21, 0x78, + 0x00, 0x29, 0x02, 0xd1, 0x11, 0x78, 0x00, 0x29, + 0xea, 0xd1, 0x09, 0x48, 0xc0, 0x68, 0x00, 0x28, + 0x05, 0xd0, 0x21, 0x78, 0x30, 0x1c, 0x00, 0x29, + 0x00, 0xd1, 0x00, 0x20, 0xf0, 0xbd, 0x01, 0x20, + 0x3c, 0x00, 0x10, 0x77, 0x00, 0x00, 0xf0, 0xbd, + 0x00, 0x00, 0x18, 0x67, 0x01, 0x00, 0x24, 0x67, + 0x01, 0x00, 0x5c, 0x67, 0x01, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0x84, 0x46, 0x00, 0x20, 0xf0, 0xb5, + 0x00, 0x29, 0x09, 0xd0, 0x11, 0x78, 0x1a, 0x4e, + 0xb1, 0x70, 0x19, 0x4e, 0xb1, 0x78, 0x71, 0x70, + 0x31, 0x70, 0x01, 0x21, 0x31, 0x61, 0x27, 0xe0, + 0x16, 0x4e, 0x01, 0x23, 0xf1, 0x56, 0x63, 0x46, + 0x5f, 0x68, 0x3c, 0x00, 0x4c, 0x77, 0x00, 0x00, + 0x00, 0x23, 0xf6, 0x56, 0x01, 0x25, 0xcc, 0x0f, + 0xb7, 0x42, 0x00, 0xd9, 0x00, 0x25, 0x00, 0x2c, + 0x01, 0xd0, 0x00, 0x2d, 0xe8, 0xd1, 0x0e, 0x4f, + 0x3b, 0x69, 0x00, 0x2b, 0x03, 0xd0, 0x00, 0x2d, + 0x01, 0xd1, 0x16, 0x70, 0x02, 0xe0, 0x1c, 0x43, + 0x01, 0xd1, 0x11, 0x70, 0x01, 0x20, 0x01, 0x24, + 0x00, 0x2b, 0x00, 0xd0, 0x00, 0x24, 0x3c, 0x61, + 0x00, 0x2c, 0x02, 0xd0, 0x3c, 0x00, 0x88, 0x77, + 0x00, 0x00, 0x71, 0x1c, 0x39, 0x70, 0x01, 0xe0, + 0xff, 0x31, 0x79, 0x70, 0x00, 0x28, 0xd5, 0xd0, + 0x01, 0x20, 0xf0, 0xbd, 0x00, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0x90, 0xb5, 0x0a, 0x4c, 0x00, 0x20, + 0x93, 0xb0, 0x20, 0x61, 0x03, 0x90, 0x68, 0x46, + 0x00, 0x21, 0x08, 0xf0, 0x84, 0xfd, 0x20, 0x7a, + 0x02, 0x28, 0x01, 0xd1, 0xe0, 0x6b, 0x00, 0xe0, + 0x20, 0x6c, 0xe0, 0x61, 0x01, 0x20, 0x3c, 0x00, + 0xc4, 0x77, 0x00, 0x00, 0x08, 0xf0, 0x8a, 0xfd, + 0x13, 0xb0, 0x90, 0xbd, 0xf4, 0x6e, 0x01, 0x00, + 0xf7, 0xb5, 0x05, 0x1c, 0x88, 0x88, 0x0c, 0x1c, + 0x82, 0xb0, 0x1f, 0x4f, 0x00, 0x28, 0x00, 0xd1, + 0x00, 0x27, 0x04, 0x98, 0x00, 0x28, 0x01, 0xd1, + 0xf9, 0xf7, 0x8a, 0xfd, 0x1b, 0x48, 0x3b, 0x1c, + 0x00, 0x68, 0x21, 0x1c, 0x02, 0x68, 0x28, 0x1c, + 0x00, 0x92, 0x04, 0x9a, 0xfe, 0xf7, 0x3c, 0xf8, + 0x3c, 0x00, 0x00, 0x78, 0x00, 0x00, 0x06, 0x1c, + 0x22, 0xd0, 0x03, 0x21, 0x04, 0x98, 0x02, 0xf0, + 0xb8, 0xff, 0x00, 0x28, 0x1b, 0xd0, 0x80, 0x78, + 0x01, 0x21, 0x03, 0xf0, 0xe4, 0xff, 0xa0, 0x88, + 0xa1, 0x8e, 0x48, 0x43, 0x00, 0x04, 0x0f, 0x49, + 0x00, 0x0c, 0x08, 0x80, 0x03, 0xf0, 0x81, 0xf9, + 0x01, 0x22, 0x00, 0x2d, 0x00, 0xd1, 0x00, 0x22, + 0x01, 0x1c, 0x0e, 0x20, 0x0b, 0xf0, 0xc9, 0xfe, + 0x00, 0x2f, 0x3c, 0x00, 0x3c, 0x78, 0x00, 0x00, + 0x08, 0xd1, 0x00, 0x21, 0x28, 0x1c, 0x02, 0xf0, + 0xbd, 0xfc, 0x03, 0xe0, 0x00, 0x26, 0x28, 0x1c, + 0x00, 0xf0, 0x0a, 0xf8, 0x30, 0x1c, 0x05, 0xb0, + 0xf0, 0xbd, 0x00, 0x00, 0xc1, 0xa1, 0x00, 0x00, + 0xe4, 0x65, 0x01, 0x00, 0xa8, 0x7c, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0xfe, 0xf7, 0x38, 0xf8, + 0x01, 0x21, 0x00, 0x2c, 0x00, 0xd1, 0x00, 0x21, + 0x0e, 0x20, 0x0b, 0xf0, 0x3c, 0x00, 0x78, 0x78, + 0x00, 0x00, 0xdd, 0xfe, 0x10, 0xbd, 0xf8, 0xb5, + 0x07, 0x1c, 0x0b, 0xf0, 0x94, 0xfa, 0xfd, 0xf7, + 0xbc, 0xfe, 0x00, 0x26, 0x02, 0x28, 0x1e, 0x4d, + 0x01, 0xd0, 0x2e, 0x70, 0xf8, 0xbd, 0xfd, 0xf7, + 0x3e, 0xf8, 0x04, 0x1c, 0xf9, 0xf7, 0x59, 0xfc, + 0x00, 0x28, 0x14, 0xd0, 0xfd, 0xf7, 0x77, 0xf8, + 0x00, 0x28, 0x10, 0xd0, 0x02, 0xf0, 0xf9, 0xfb, + 0x00, 0x28, 0x01, 0xd0, 0x00, 0x24, 0x3c, 0x00, + 0xb4, 0x78, 0x00, 0x00, 0x00, 0xe0, 0x15, 0x4c, + 0x33, 0x1c, 0x21, 0x1c, 0x07, 0x22, 0x16, 0x20, + 0x0b, 0xf0, 0x66, 0xff, 0x68, 0x78, 0x80, 0x21, + 0x08, 0x43, 0x68, 0x70, 0x02, 0xf0, 0x0a, 0xfc, + 0x00, 0x28, 0xde, 0xd1, 0x28, 0x78, 0x80, 0x07, + 0xdb, 0xd4, 0xfd, 0xf7, 0x23, 0xf9, 0x00, 0x28, + 0x05, 0xd1, 0x28, 0x78, 0xc0, 0x07, 0x02, 0xd5, + 0xfd, 0xf7, 0x42, 0xf8, 0xd1, 0xe7, 0x02, 0xf0, + 0x3c, 0x00, 0xf0, 0x78, 0x00, 0x00, 0xcd, 0xfb, + 0x00, 0x28, 0xcd, 0xd0, 0x28, 0x78, 0x02, 0x21, + 0x08, 0x43, 0x28, 0x70, 0x21, 0x1c, 0x38, 0x1c, + 0xfd, 0xf7, 0xc1, 0xf8, 0xc4, 0xe7, 0x60, 0x6c, + 0x01, 0x00, 0x71, 0x02, 0x00, 0x00, 0x10, 0xb5, + 0x12, 0x4c, 0x01, 0x20, 0x20, 0x70, 0xfe, 0xf7, + 0xf0, 0xf9, 0x01, 0x21, 0xa0, 0x68, 0xfb, 0xf7, + 0xf4, 0xfe, 0xa0, 0x68, 0x03, 0xf0, 0x87, 0xff, + 0x0d, 0x48, 0x3c, 0x00, 0x2c, 0x79, 0x00, 0x00, + 0xa1, 0x68, 0x07, 0xf0, 0x23, 0xfd, 0xfb, 0xf7, + 0x55, 0xff, 0xe0, 0x68, 0x00, 0x28, 0x0d, 0xd0, + 0x09, 0x49, 0x06, 0x20, 0x0a, 0xf0, 0x24, 0xfd, + 0x08, 0x49, 0x05, 0x20, 0x0a, 0xf0, 0x20, 0xfd, + 0xfb, 0xf7, 0x6e, 0xff, 0x00, 0x28, 0x01, 0xd0, + 0x05, 0xf0, 0xf8, 0xfc, 0x10, 0xbd, 0x00, 0x00, + 0x78, 0x69, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0xe1, 0x35, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x79, + 0x00, 0x00, 0xb1, 0x35, 0x00, 0x00, 0xf0, 0xb5, + 0x24, 0x4d, 0x23, 0x4c, 0x68, 0x7c, 0x20, 0x3c, + 0x9b, 0xb0, 0x00, 0x28, 0x08, 0xd0, 0x02, 0x28, + 0x03, 0xd8, 0x20, 0x89, 0x01, 0x38, 0x20, 0x81, + 0x37, 0xe0, 0x00, 0x27, 0x6f, 0x74, 0x34, 0xe0, + 0x1c, 0x4e, 0x68, 0x22, 0x14, 0x36, 0x31, 0x1c, + 0x0c, 0x31, 0x01, 0xa8, 0xf8, 0xf7, 0x09, 0xfe, + 0x18, 0x48, 0x33, 0x89, 0x01, 0x21, 0x3c, 0x00, + 0xa4, 0x79, 0x00, 0x00, 0x44, 0x30, 0x0a, 0x1c, + 0x00, 0x2b, 0x00, 0x7b, 0x00, 0xd1, 0x02, 0x1c, + 0x12, 0x06, 0x12, 0x0e, 0x0d, 0xaf, 0x3a, 0x70, + 0x94, 0x46, 0xaa, 0x7b, 0x93, 0x19, 0x30, 0x33, + 0x5b, 0x7b, 0x7b, 0x70, 0xea, 0x73, 0x01, 0x32, + 0x12, 0x06, 0x12, 0x0e, 0x00, 0x27, 0x82, 0x42, + 0xaa, 0x73, 0x01, 0xd3, 0xaf, 0x73, 0x04, 0xe0, + 0x62, 0x46, 0x01, 0x2a, 0x01, 0xd1, 0x77, 0x60, + 0x3c, 0x00, 0xe0, 0x79, 0x00, 0x00, 0x00, 0xe0, + 0x71, 0x60, 0x06, 0x48, 0x07, 0x4a, 0x80, 0x38, + 0x81, 0x67, 0x42, 0x67, 0x68, 0x22, 0x01, 0xa9, + 0xf8, 0xf7, 0xdd, 0xfd, 0x27, 0x81, 0x08, 0xf0, + 0x12, 0xfd, 0x1b, 0xb0, 0xf0, 0xbd, 0x84, 0x66, + 0x01, 0x00, 0xe9, 0x2e, 0x00, 0x00, 0xf1, 0xb5, + 0x86, 0xb0, 0x06, 0x99, 0x00, 0x20, 0x88, 0x61, + 0x06, 0x98, 0x84, 0x68, 0x80, 0x8d, 0x65, 0x68, + 0x01, 0x28, 0x3c, 0x00, 0x1c, 0x7a, 0x00, 0x00, + 0x4c, 0xd9, 0x35, 0x49, 0x49, 0x68, 0x05, 0x91, + 0x00, 0x29, 0x47, 0xd0, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x23, 0x03, 0x90, 0x28, 0x1c, 0x96, 0x46, + 0x94, 0x46, 0x06, 0x68, 0x04, 0x96, 0xf2, 0x78, + 0x80, 0x26, 0xb2, 0x43, 0x3f, 0x2a, 0x2e, 0xd8, + 0xd7, 0x06, 0xff, 0x0e, 0x01, 0x26, 0xbe, 0x40, + 0x37, 0x1c, 0x04, 0x9e, 0x52, 0x09, 0xb6, 0x78, + 0x76, 0x00, 0xb2, 0x18, 0x3c, 0x00, 0x58, 0x7a, + 0x00, 0x00, 0x26, 0x4e, 0x92, 0x00, 0x1c, 0x36, + 0xb2, 0x58, 0x3a, 0x40, 0x1e, 0xd0, 0x03, 0xe0, + 0x02, 0x90, 0x02, 0x89, 0xc0, 0x68, 0x51, 0x18, + 0x00, 0x28, 0xf9, 0xd1, 0x05, 0x98, 0x81, 0x42, + 0x14, 0xd8, 0x70, 0x46, 0x01, 0x30, 0x86, 0x46, + 0x00, 0x2b, 0x04, 0xd0, 0x60, 0x46, 0xd8, 0x60, + 0x01, 0x98, 0x62, 0x46, 0xd0, 0x60, 0x03, 0x98, + 0x01, 0x38, 0x03, 0x90, 0x06, 0xd0, 0x3c, 0x00, + 0x94, 0x7a, 0x00, 0x00, 0x23, 0x1c, 0x24, 0x68, + 0x60, 0x68, 0x02, 0x9a, 0x01, 0x90, 0x94, 0x46, + 0xc9, 0xe7, 0x70, 0x46, 0x01, 0x28, 0x07, 0xd9, + 0x2a, 0x1c, 0x00, 0x21, 0x3f, 0x20, 0x01, 0xf0, + 0x51, 0xff, 0x05, 0x1c, 0x06, 0x98, 0x85, 0x61, + 0x28, 0x1c, 0x01, 0xf0, 0xb3, 0xff, 0x0e, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x07, 0xd0, 0x28, 0x68, + 0x01, 0x88, 0x40, 0x79, 0x02, 0x31, 0x09, 0x1a, + 0x3c, 0x00, 0xd0, 0x7a, 0x00, 0x00, 0x28, 0x1c, + 0x01, 0xf0, 0xe5, 0xfc, 0xa2, 0x68, 0x06, 0x98, + 0xc0, 0x68, 0x06, 0x99, 0x0b, 0x69, 0x29, 0x1c, + 0xf8, 0xf7, 0x7c, 0xfc, 0x03, 0x49, 0x08, 0x69, + 0x01, 0x30, 0x08, 0x61, 0x07, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xfc, 0x5a, 0x01, 0x00, 0xcc, 0x5c, + 0x01, 0x00, 0x10, 0xb5, 0x09, 0x4a, 0x80, 0x00, + 0x12, 0x58, 0xd0, 0x06, 0xc0, 0x0e, 0x01, 0x30, + 0x07, 0x4b, 0x3c, 0x00, 0x0c, 0x7b, 0x00, 0x00, + 0x1c, 0x68, 0x00, 0x2c, 0xfc, 0xdb, 0x5a, 0x60, + 0x20, 0x22, 0x12, 0x1a, 0x91, 0x40, 0x19, 0x60, + 0x19, 0x68, 0x00, 0x29, 0xfc, 0xdb, 0x10, 0xbd, + 0xe8, 0x60, 0x01, 0x00, 0x30, 0x20, 0x07, 0x00, + 0xb0, 0xb5, 0x12, 0x4c, 0x00, 0x25, 0x25, 0x70, + 0xa1, 0x68, 0x11, 0x48, 0x07, 0xf0, 0x32, 0xfc, + 0x65, 0x61, 0xfb, 0xf7, 0xa3, 0xfe, 0xe0, 0x68, + 0x00, 0x28, 0x0d, 0xd0, 0x3c, 0x00, 0x48, 0x7b, + 0x00, 0x00, 0xfb, 0xf7, 0xa4, 0xfe, 0x01, 0x21, + 0x07, 0x20, 0x0b, 0xf0, 0x70, 0xfd, 0x0a, 0x49, + 0x06, 0x20, 0x0a, 0xf0, 0x4c, 0xfc, 0x09, 0x49, + 0x05, 0x20, 0x0a, 0xf0, 0x48, 0xfc, 0xa0, 0x68, + 0x03, 0xf0, 0x67, 0xfe, 0x00, 0x21, 0xa0, 0x68, + 0xfb, 0xf7, 0xcd, 0xfd, 0x05, 0xf0, 0xab, 0xfb, + 0xb0, 0xbd, 0x78, 0x69, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0xe1, 0x35, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x7b, 0x00, 0x00, 0xb1, 0x35, 0x00, 0x00, + 0x10, 0xb5, 0x0f, 0x4c, 0x20, 0x7c, 0x00, 0x28, + 0x19, 0xd1, 0x60, 0x69, 0x00, 0x28, 0x16, 0xd1, + 0xe0, 0x68, 0x00, 0x28, 0x06, 0xd0, 0x0a, 0x48, + 0x1c, 0x38, 0xc0, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0x05, 0xf0, 0xce, 0xfb, 0x01, 0x21, 0x07, 0x20, + 0x0b, 0xf0, 0x40, 0xfd, 0xa0, 0x68, 0x03, 0xf0, + 0x3f, 0xfe, 0x04, 0x48, 0xa1, 0x68, 0x07, 0xf0, + 0x3c, 0x00, 0xc0, 0x7b, 0x00, 0x00, 0xdb, 0xfb, + 0x01, 0x20, 0x20, 0x70, 0x10, 0xbd, 0x78, 0x69, + 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, 0x70, 0xb5, + 0x0e, 0x4c, 0x01, 0x22, 0xa3, 0x68, 0xe5, 0x68, + 0x26, 0x8a, 0x5d, 0x1b, 0xb5, 0x42, 0x01, 0xd1, + 0x00, 0x22, 0x06, 0xe0, 0x25, 0x68, 0x01, 0x33, + 0x2e, 0x68, 0xa3, 0x60, 0x26, 0x60, 0x04, 0x35, + 0x03, 0xc5, 0x00, 0x2a, 0x04, 0xd1, 0x01, 0x21, + 0x9d, 0x20, 0x3c, 0x00, 0xfc, 0x7b, 0x00, 0x00, + 0xf9, 0xf7, 0x52, 0xfb, 0x70, 0xbd, 0x03, 0x49, + 0x02, 0x20, 0x08, 0x60, 0x70, 0xbd, 0x00, 0x00, + 0x44, 0xe3, 0x01, 0x00, 0x40, 0x20, 0x07, 0x00, + 0x80, 0xb5, 0x02, 0xf0, 0xb9, 0xf8, 0x80, 0xbd, + 0x80, 0xb5, 0x02, 0x21, 0x2d, 0x20, 0xf9, 0xf7, + 0x3f, 0xfb, 0x00, 0x20, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x2a, 0x20, 0xf9, 0xf7, + 0x37, 0xfb, 0x00, 0x20, 0x3c, 0x00, 0x38, 0x7c, + 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0x01, 0x21, 0x2b, 0x20, 0xf9, 0xf7, 0x2f, 0xfb, + 0x02, 0x20, 0x80, 0xbd, 0x00, 0x00, 0x01, 0x49, + 0x01, 0x20, 0x08, 0x61, 0x70, 0x47, 0x7c, 0x78, + 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x0c, 0x23, + 0x0f, 0x1c, 0x17, 0x49, 0x58, 0x43, 0x45, 0x18, + 0x6c, 0x68, 0x30, 0x1c, 0x0b, 0xf0, 0x3f, 0xfe, + 0x00, 0x2f, 0x09, 0xd1, 0x30, 0x1c, 0x3c, 0x00, + 0x74, 0x7c, 0x00, 0x00, 0x03, 0xf0, 0xee, 0xfe, + 0x41, 0x20, 0x07, 0x55, 0x11, 0x48, 0x21, 0x1c, + 0xff, 0xf7, 0xa6, 0xff, 0xf8, 0xbd, 0x41, 0x20, + 0x07, 0x55, 0xa0, 0x6b, 0x00, 0x28, 0x03, 0xd0, + 0x20, 0x1c, 0x00, 0xf0, 0xdf, 0xf9, 0xf5, 0xe7, + 0x20, 0x1c, 0x00, 0xf0, 0xdb, 0xf9, 0xac, 0x68, + 0x00, 0x2c, 0x02, 0xd0, 0x00, 0x20, 0xa8, 0x60, + 0xed, 0xe7, 0x30, 0x1c, 0x05, 0xf0, 0x34, 0xf9, + 0x3c, 0x00, 0xb0, 0x7c, 0x00, 0x00, 0x04, 0x1c, + 0xe8, 0xd1, 0x08, 0x21, 0x0c, 0x20, 0xf9, 0xf7, + 0xf4, 0xfa, 0xe3, 0xe7, 0x00, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0x55, 0x80, 0x00, 0x00, 0x07, 0x4a, + 0x80, 0xb5, 0x50, 0x70, 0x51, 0x60, 0x12, 0x78, + 0x06, 0x4b, 0x80, 0x00, 0x52, 0x01, 0xd2, 0x18, + 0x10, 0x18, 0x40, 0x38, 0x02, 0x68, 0x08, 0x1c, + 0xf8, 0xf7, 0x7b, 0xfb, 0x80, 0xbd, 0x78, 0x69, + 0x01, 0x00, 0x3c, 0x00, 0xec, 0x7c, 0x00, 0x00, + 0xfc, 0x42, 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x49, + 0x04, 0x1c, 0xc8, 0x70, 0x08, 0x4d, 0xe4, 0x35, + 0xa8, 0x7a, 0x08, 0x71, 0x08, 0x2c, 0x01, 0xd3, + 0xf9, 0xf7, 0xfc, 0xfa, 0xa8, 0x7a, 0x05, 0x49, + 0x40, 0x01, 0x40, 0x18, 0xa1, 0x00, 0x40, 0x58, + 0xf8, 0xf7, 0x60, 0xfb, 0xb0, 0xbd, 0x00, 0x00, + 0x60, 0x6c, 0x01, 0x00, 0x80, 0x43, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x28, 0x3c, 0x00, 0x28, 0x7d, + 0x00, 0x00, 0x01, 0xd0, 0x09, 0xf0, 0x1d, 0xf9, + 0x80, 0xbd, 0xb0, 0xb5, 0x05, 0x1c, 0x0c, 0x1c, + 0x00, 0x20, 0x08, 0x60, 0x68, 0x68, 0x09, 0xf0, + 0x36, 0xfb, 0x6c, 0x60, 0xb0, 0xbd, 0x10, 0xb5, + 0x04, 0x1c, 0x09, 0xf0, 0x34, 0xfb, 0x21, 0x68, + 0x00, 0x29, 0x00, 0xd1, 0x64, 0x60, 0x10, 0xbd, + 0x00, 0x00, 0x00, 0x21, 0x01, 0x60, 0x40, 0x60, + 0x70, 0x47, 0xf8, 0xb5, 0x46, 0x68, 0x3c, 0x00, + 0x64, 0x7d, 0x00, 0x00, 0x04, 0x1c, 0x40, 0x6a, + 0x35, 0x1c, 0x0a, 0x35, 0x00, 0x28, 0x04, 0xd0, + 0x20, 0x1c, 0xf9, 0xf7, 0x89, 0xfd, 0x07, 0x1c, + 0x00, 0xe0, 0x04, 0x27, 0x29, 0x1c, 0x60, 0x69, + 0x00, 0xf0, 0xf6, 0xfc, 0x79, 0x00, 0x0f, 0x18, + 0xba, 0x88, 0xf1, 0x8a, 0x05, 0x1c, 0x8a, 0x42, + 0x05, 0xd1, 0x30, 0x88, 0x00, 0x05, 0x02, 0xd5, + 0x04, 0xf0, 0xbe, 0xfb, 0x3c, 0xe0, 0x28, 0x68, + 0x3c, 0x00, 0xa0, 0x7d, 0x00, 0x00, 0x00, 0x28, + 0x0f, 0xd0, 0x01, 0x32, 0x8a, 0x42, 0x04, 0xd1, + 0xf9, 0xf7, 0x0f, 0xfc, 0x21, 0x68, 0xc1, 0x60, + 0x0b, 0xe0, 0xf9, 0xf7, 0xf0, 0xfb, 0xf0, 0x8a, + 0x00, 0x07, 0x04, 0xd0, 0x00, 0x21, 0x29, 0x60, + 0x29, 0xe0, 0x08, 0x07, 0x27, 0xd1, 0x20, 0x68, + 0x28, 0x60, 0xf0, 0x8a, 0xb8, 0x80, 0x13, 0x48, + 0x01, 0x68, 0x01, 0x31, 0x01, 0x60, 0x31, 0x88, + 0x49, 0x05, 0x3c, 0x00, 0xdc, 0x7d, 0x00, 0x00, + 0x18, 0xd4, 0x29, 0x68, 0x21, 0x60, 0x00, 0x21, + 0x29, 0x60, 0xe1, 0x69, 0x00, 0x29, 0x0d, 0xd0, + 0x89, 0x79, 0x02, 0x29, 0x0a, 0xd1, 0x08, 0x21, + 0x21, 0x86, 0x21, 0x1c, 0x38, 0x31, 0xa1, 0x62, + 0x22, 0x1c, 0xdc, 0x30, 0x08, 0x49, 0x02, 0xf0, + 0x81, 0xf9, 0xf8, 0xbd, 0x20, 0x1c, 0x00, 0xf0, + 0x5f, 0xf8, 0xfa, 0xe7, 0x20, 0x1c, 0xf9, 0xf7, + 0xef, 0xfc, 0xf6, 0xe7, 0x3c, 0x00, 0x18, 0x7e, + 0x00, 0x00, 0x20, 0x68, 0xf9, 0xf7, 0xbd, 0xfb, + 0xf7, 0xe7, 0xc4, 0x69, 0x01, 0x00, 0xb9, 0x71, + 0x00, 0x00, 0xf8, 0xb5, 0x0f, 0x1c, 0x09, 0x78, + 0x01, 0x24, 0xc9, 0x07, 0x21, 0xd5, 0x02, 0xf0, + 0x8c, 0xff, 0x00, 0x28, 0x01, 0xd0, 0x00, 0x24, + 0x1b, 0xe0, 0x0e, 0x4e, 0x75, 0x6e, 0x00, 0x2d, + 0x17, 0xd0, 0x34, 0x6e, 0x06, 0x22, 0x31, 0x1c, + 0x38, 0x1c, 0xf8, 0xf7, 0xd4, 0xfa, 0x3c, 0x00, + 0x54, 0x7e, 0x00, 0x00, 0x00, 0x28, 0x05, 0xd1, + 0x01, 0x20, 0x00, 0x2c, 0x00, 0xd0, 0x00, 0x20, + 0x04, 0x1c, 0x03, 0xe0, 0x01, 0x3d, 0x06, 0x36, + 0x00, 0x2d, 0xee, 0xd1, 0x00, 0x2c, 0x03, 0xd1, + 0x02, 0x4e, 0xb0, 0x6e, 0x01, 0x30, 0xb0, 0x66, + 0x20, 0x1c, 0xf8, 0xbd, 0x10, 0x79, 0x01, 0x00, + 0x30, 0xb5, 0x05, 0x1c, 0x00, 0x20, 0x06, 0x49, + 0x00, 0x22, 0x1c, 0x23, 0xcc, 0x56, 0xac, 0x42, + 0x3c, 0x00, 0x90, 0x7e, 0x00, 0x00, 0x01, 0xd1, + 0x08, 0x1c, 0x30, 0xbd, 0x01, 0x32, 0x48, 0x31, + 0x01, 0x2a, 0xf5, 0xd3, 0x30, 0xbd, 0xcc, 0x6d, + 0x01, 0x00, 0x10, 0xb5, 0x08, 0x4c, 0x00, 0x22, + 0x1c, 0x23, 0x53, 0x43, 0xe3, 0x58, 0x83, 0x42, + 0x04, 0xd1, 0x1c, 0x20, 0x50, 0x43, 0x00, 0x19, + 0x0a, 0x60, 0x10, 0xbd, 0x01, 0x32, 0x0e, 0x2a, + 0xf2, 0xd3, 0x00, 0x20, 0x10, 0xbd, 0xdc, 0x71, + 0x01, 0x00, 0x3c, 0x00, 0xcc, 0x7e, 0x00, 0x00, + 0xf0, 0xb5, 0x41, 0x68, 0x95, 0xb0, 0x07, 0x1c, + 0x90, 0x37, 0x13, 0x91, 0x04, 0x1c, 0xf8, 0x78, + 0x25, 0x1c, 0x80, 0x35, 0xc6, 0x07, 0x28, 0x79, + 0xf6, 0x0f, 0x4a, 0x49, 0x02, 0x28, 0x4d, 0xd1, + 0x0a, 0x6d, 0x00, 0x2a, 0x4a, 0xd0, 0x48, 0x68, + 0x01, 0x30, 0x48, 0x60, 0x0a, 0xf0, 0x58, 0xff, + 0x44, 0x49, 0x08, 0x61, 0x48, 0x61, 0x13, 0x99, + 0x09, 0x79, 0xc9, 0x07, 0x3c, 0x00, 0x08, 0x7f, + 0x00, 0x00, 0x01, 0xd4, 0x41, 0x49, 0x88, 0x61, + 0x20, 0x68, 0x06, 0x22, 0x06, 0x90, 0xa1, 0x68, + 0x03, 0xa8, 0xf8, 0xf7, 0xee, 0xfa, 0x06, 0x22, + 0x04, 0xa8, 0x02, 0x30, 0xe1, 0x68, 0xf8, 0xf7, + 0xe8, 0xfa, 0x07, 0xa8, 0x06, 0x22, 0x21, 0x69, + 0xf8, 0xf7, 0xe3, 0xfa, 0xb8, 0x78, 0x08, 0xab, + 0x00, 0x21, 0x98, 0x70, 0x0c, 0x96, 0x63, 0x6a, + 0x20, 0x1c, 0xa0, 0x30, 0x0a, 0x1c, 0x3c, 0x00, + 0x44, 0x7f, 0x00, 0x00, 0x00, 0x2b, 0x02, 0xd0, + 0x02, 0x8a, 0x52, 0x07, 0x52, 0x0f, 0x08, 0xab, + 0xda, 0x70, 0x00, 0xab, 0x99, 0x84, 0x13, 0x99, + 0x09, 0x88, 0xc9, 0x0b, 0xd9, 0x84, 0x69, 0x6b, + 0x10, 0xab, 0x10, 0x91, 0xa9, 0x6b, 0x11, 0x91, + 0x80, 0x8b, 0x29, 0x49, 0x18, 0x81, 0x09, 0x6d, + 0x03, 0xa8, 0xf8, 0xf7, 0x32, 0xfa, 0x29, 0x79, + 0x68, 0x6b, 0x0b, 0xf0, 0x4d, 0xfd, 0x29, 0x79, + 0x3c, 0x00, 0x80, 0x7f, 0x00, 0x00, 0xa8, 0x6b, + 0x0b, 0xf0, 0x67, 0xfd, 0x3d, 0xe0, 0x00, 0x28, + 0x38, 0xd1, 0x48, 0x6d, 0x14, 0x90, 0x00, 0x28, + 0x34, 0xd0, 0x20, 0x68, 0x06, 0x22, 0x03, 0x90, + 0xa1, 0x68, 0x68, 0x46, 0xf8, 0xf7, 0xab, 0xfa, + 0x06, 0x22, 0x68, 0x46, 0x80, 0x18, 0xe1, 0x68, + 0xf8, 0xf7, 0xa5, 0xfa, 0x05, 0xa8, 0x06, 0x22, + 0x21, 0x69, 0xf8, 0xf7, 0xa0, 0xfa, 0x00, 0x21, + 0x04, 0x91, 0x3c, 0x00, 0xbc, 0x7f, 0x00, 0x00, + 0xb9, 0x78, 0x08, 0xa8, 0x10, 0xab, 0x01, 0x72, + 0x08, 0x96, 0xe9, 0x68, 0x0b, 0x91, 0x69, 0x79, + 0x41, 0x72, 0x68, 0x6b, 0x0e, 0x90, 0xa8, 0x6b, + 0x10, 0x90, 0x28, 0x8d, 0xd8, 0x80, 0x68, 0x8d, + 0x18, 0x81, 0xe1, 0x69, 0x0c, 0xa8, 0x00, 0x29, + 0x04, 0xd0, 0x89, 0x79, 0x01, 0x70, 0x20, 0x6a, + 0x0d, 0x90, 0x01, 0xe0, 0x07, 0x21, 0x01, 0x70, + 0x68, 0x46, 0x14, 0x99, 0x3c, 0x00, 0xf8, 0x7f, + 0x00, 0x00, 0xf8, 0xf7, 0xef, 0xf9, 0x02, 0xe0, + 0x20, 0x68, 0xf9, 0xf7, 0xca, 0xfa, 0x20, 0x1c, + 0xf9, 0xf7, 0xf5, 0xfb, 0x15, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0xc0, 0x68, 0x06, 0x22, 0x01, 0x89, + 0x0c, 0x31, 0x01, 0x81, 0x05, 0x68, 0x21, 0x1c, + 0x0c, 0x3d, 0x05, 0x60, 0xa8, 0x18, 0xf8, 0xf7, + 0x64, 0xfa, 0x06, 0x22, 0xa1, 0x18, 0x3c, 0x00, + 0x34, 0x80, 0x00, 0x00, 0x28, 0x1c, 0xf8, 0xf7, + 0x5f, 0xfa, 0xa0, 0x8f, 0x00, 0x09, 0xe0, 0x62, + 0x20, 0x63, 0x03, 0x48, 0x01, 0x69, 0x20, 0x1c, + 0xf8, 0xf7, 0xc7, 0xf9, 0xb0, 0xbd, 0x00, 0x00, + 0x7c, 0x79, 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, + 0x60, 0x36, 0x05, 0x1c, 0x70, 0x7a, 0x0c, 0x23, + 0x25, 0x49, 0x58, 0x43, 0x44, 0x18, 0xa8, 0x6b, + 0x00, 0x27, 0x00, 0x28, 0x06, 0xd0, 0xa0, 0x78, + 0x3c, 0x00, 0x70, 0x80, 0x00, 0x00, 0x01, 0x28, + 0x03, 0xd1, 0xa7, 0x70, 0x70, 0x7a, 0x0a, 0xf0, + 0xb6, 0xfd, 0x2a, 0x1c, 0x0c, 0x21, 0x80, 0x20, + 0x0b, 0xf0, 0x95, 0xfb, 0xa8, 0x6b, 0x00, 0x28, + 0x33, 0xd0, 0xa0, 0x78, 0x02, 0x28, 0x0b, 0xd0, + 0x04, 0x28, 0x22, 0xd1, 0xa7, 0x70, 0x2f, 0x1c, + 0x40, 0x37, 0x78, 0x78, 0x02, 0x28, 0x0c, 0xd1, + 0x70, 0x7a, 0x0a, 0xf0, 0xa0, 0xfd, 0x18, 0xe0, + 0x03, 0x20, 0x3c, 0x00, 0xac, 0x80, 0x00, 0x00, + 0xa0, 0x70, 0x12, 0x49, 0x00, 0x20, 0x14, 0x39, + 0x09, 0x69, 0xf8, 0xf7, 0x90, 0xf9, 0x0f, 0xe0, + 0x2c, 0x1c, 0x07, 0xe0, 0x78, 0x78, 0x41, 0x21, + 0x22, 0x1c, 0x08, 0x55, 0x0c, 0x21, 0x80, 0x20, + 0x0b, 0xf0, 0x70, 0xfb, 0x60, 0x34, 0x60, 0x7a, + 0x04, 0xf0, 0x20, 0xff, 0x04, 0x1c, 0xf1, 0xd1, + 0x70, 0x7a, 0x40, 0x35, 0xa9, 0x8b, 0x00, 0x02, + 0x09, 0x09, 0x09, 0x04, 0x3c, 0x00, 0xe8, 0x80, + 0x00, 0x00, 0x08, 0x43, 0x81, 0x21, 0x01, 0x43, + 0x0c, 0x20, 0x0b, 0xf0, 0xa0, 0xfa, 0xf8, 0xbd, + 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, 0xf8, 0xb5, + 0x1c, 0x49, 0x05, 0x1c, 0x88, 0x6a, 0x01, 0x30, + 0x88, 0x62, 0x28, 0x1c, 0x0b, 0xf0, 0x7d, 0xfd, + 0x04, 0x1c, 0x11, 0xd0, 0x2b, 0x1c, 0x20, 0x33, + 0x1e, 0x1c, 0x5a, 0x79, 0x20, 0x1c, 0xb4, 0x30, + 0x19, 0x79, 0x14, 0x4f, 0xfd, 0xf7, 0x3c, 0x00, + 0x24, 0x81, 0x00, 0x00, 0x89, 0xf8, 0xaa, 0x7a, + 0x20, 0x1c, 0xb8, 0x30, 0xb1, 0x79, 0xfd, 0xf7, + 0xb9, 0xf8, 0x00, 0x2f, 0x04, 0xd1, 0x01, 0x21, + 0x28, 0x68, 0xfa, 0xf7, 0x6d, 0xfa, 0xf8, 0xbd, + 0x60, 0x68, 0xbc, 0x21, 0xc0, 0x8a, 0x08, 0x53, + 0x28, 0x68, 0x00, 0x21, 0xfa, 0xf7, 0x64, 0xfa, + 0x00, 0x28, 0x09, 0xd0, 0x06, 0x49, 0xc8, 0x6a, + 0x01, 0x30, 0xc8, 0x62, 0x00, 0x2c, 0xee, 0xd0, + 0x3c, 0x00, 0x60, 0x81, 0x00, 0x00, 0x20, 0x1c, + 0xf9, 0xf7, 0x47, 0xfb, 0xea, 0xe7, 0x20, 0x1c, + 0xf8, 0xf7, 0x3c, 0xf9, 0xe6, 0xe7, 0xc4, 0x69, + 0x01, 0x00, 0xa1, 0xff, 0x00, 0x00, 0xf8, 0xb5, + 0x16, 0x4c, 0x05, 0x1f, 0x00, 0x22, 0x21, 0x1c, + 0xa0, 0x31, 0x03, 0xe0, 0x28, 0x68, 0xa0, 0x42, + 0x09, 0xd0, 0x20, 0x34, 0xa1, 0x42, 0xf9, 0xd1, + 0x00, 0x2a, 0x04, 0xd1, 0x02, 0x21, 0x8e, 0x20, + 0xf9, 0xf7, 0x3c, 0x00, 0x9c, 0x81, 0x00, 0x00, + 0x83, 0xf8, 0xf8, 0xbd, 0x0d, 0x4f, 0xbe, 0x79, + 0x60, 0x69, 0x01, 0x30, 0x60, 0x61, 0xf8, 0xf7, + 0x97, 0xfd, 0xa8, 0x42, 0x07, 0xd1, 0xa0, 0x88, + 0x04, 0x30, 0xf8, 0xf7, 0x97, 0xfd, 0xe0, 0x69, + 0x01, 0x30, 0xe0, 0x61, 0x05, 0xe0, 0x20, 0x68, + 0x28, 0x60, 0x25, 0x60, 0xa0, 0x69, 0x01, 0x30, + 0xa0, 0x61, 0xbe, 0x71, 0xe5, 0xe7, 0x00, 0x00, + 0xd0, 0x5c, 0x01, 0x00, 0x3c, 0x00, 0xd8, 0x81, + 0x00, 0x00, 0x20, 0x10, 0x07, 0x00, 0x00, 0x29, + 0x01, 0xdb, 0x06, 0x29, 0x01, 0xdb, 0x02, 0x20, + 0x70, 0x47, 0x06, 0x4b, 0xc9, 0x00, 0x5a, 0x5c, + 0xc9, 0x18, 0x02, 0x70, 0x4a, 0x78, 0x42, 0x70, + 0x8a, 0x78, 0x82, 0x70, 0x49, 0x68, 0x41, 0x60, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0xcc, 0x5a, + 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x05, 0x28, 0x01, 0xd3, 0xf9, 0xf7, 0x3c, 0x00, + 0x14, 0x82, 0x00, 0x00, 0x75, 0xf8, 0x10, 0x48, + 0x40, 0x68, 0x00, 0x28, 0x00, 0xd0, 0x03, 0x24, + 0x10, 0x2d, 0x00, 0xd3, 0x0f, 0x25, 0x06, 0x20, + 0x0b, 0x49, 0x60, 0x43, 0x12, 0x31, 0x40, 0x18, + 0x41, 0x78, 0x80, 0x78, 0x49, 0x19, 0x09, 0x06, + 0x09, 0x0e, 0x88, 0x42, 0x00, 0xd2, 0x01, 0x1c, + 0x01, 0x20, 0x88, 0x40, 0x05, 0x49, 0x01, 0x38, + 0x09, 0x68, 0x08, 0x40, 0x00, 0x04, 0x00, 0x0c, + 0x3c, 0x00, 0x50, 0x82, 0x00, 0x00, 0x02, 0xf0, + 0x44, 0xfe, 0xb0, 0xbd, 0x00, 0x00, 0xd4, 0x7a, + 0x01, 0x00, 0x08, 0x20, 0x07, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0d, 0x1c, 0x09, 0xf0, 0xcf, 0xfd, + 0x00, 0x28, 0x03, 0xd1, 0x20, 0x1c, 0x09, 0xf0, + 0x82, 0xfd, 0x05, 0x61, 0xb0, 0xbd, 0x80, 0xb5, + 0x0a, 0xf0, 0x97, 0xfd, 0x03, 0x4a, 0x0c, 0x32, + 0x06, 0xca, 0x89, 0x18, 0x08, 0x1a, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x82, 0x00, 0x00, + 0xa0, 0x7d, 0x01, 0x00, 0x70, 0xb5, 0x0b, 0x4c, + 0x04, 0x9e, 0x64, 0x68, 0x0d, 0xe0, 0x65, 0x68, + 0x85, 0x42, 0x09, 0xd1, 0x20, 0x7a, 0x08, 0x70, + 0xe0, 0x68, 0x10, 0x60, 0x20, 0x69, 0x18, 0x60, + 0x20, 0x7d, 0x30, 0x80, 0x01, 0x20, 0x70, 0xbd, + 0x24, 0x68, 0x00, 0x2c, 0xef, 0xd1, 0x00, 0x20, + 0x70, 0xbd, 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x3c, 0x00, 0xc8, 0x82, + 0x00, 0x00, 0x20, 0x30, 0x81, 0x7b, 0x20, 0x69, + 0x04, 0x30, 0xfd, 0xf7, 0x64, 0xf9, 0x01, 0x1c, + 0x62, 0x20, 0x02, 0x5b, 0x63, 0x6a, 0x40, 0x34, + 0x20, 0x78, 0x02, 0xf0, 0xce, 0xfd, 0x10, 0xbd, + 0x00, 0x00, 0x0b, 0x49, 0x10, 0xb5, 0x08, 0x88, + 0x8a, 0x69, 0x0a, 0x23, 0x50, 0x43, 0x58, 0x43, + 0x0e, 0xd0, 0x08, 0x4a, 0x53, 0x89, 0x94, 0x88, + 0xd2, 0x88, 0x1b, 0x19, 0x52, 0x04, 0x3c, 0x00, + 0x04, 0x83, 0x00, 0x00, 0x52, 0x0c, 0x9a, 0x18, + 0xc9, 0x68, 0x06, 0x32, 0x4a, 0x43, 0x0a, 0x21, + 0x51, 0x43, 0xf8, 0xf7, 0xfd, 0xf9, 0x10, 0xbd, + 0xc8, 0x74, 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, + 0x10, 0xb5, 0x43, 0x1c, 0x01, 0xd1, 0x10, 0x48, + 0x10, 0xbd, 0x0f, 0x4a, 0x0e, 0x4b, 0x94, 0x3a, + 0x12, 0x68, 0x44, 0x3b, 0x1b, 0x7a, 0x10, 0xe0, + 0x54, 0x68, 0x84, 0x42, 0x0c, 0xd1, 0x00, 0x29, + 0x3c, 0x00, 0x40, 0x83, 0x00, 0x00, 0x0f, 0xd1, + 0x02, 0x2b, 0x03, 0xd1, 0xd4, 0x7b, 0x02, 0x2c, + 0x0a, 0xd2, 0x04, 0xe0, 0x00, 0x2b, 0x05, 0xd1, + 0xd4, 0x7b, 0xe4, 0x07, 0x04, 0xd4, 0x12, 0x68, + 0x00, 0x2a, 0xec, 0xd1, 0x00, 0x20, 0x10, 0xbd, + 0x10, 0x1c, 0x10, 0xbd, 0x00, 0x00, 0x38, 0x6f, + 0x01, 0x00, 0x01, 0x1c, 0x01, 0x20, 0x01, 0x29, + 0x00, 0xd0, 0x00, 0x20, 0x70, 0x47, 0x00, 0xb5, + 0x02, 0x1c, 0x3c, 0x00, 0x7c, 0x83, 0x00, 0x00, + 0xfd, 0xf7, 0xce, 0xf8, 0x00, 0x28, 0x08, 0xd0, + 0x10, 0x1c, 0xff, 0xf7, 0xf1, 0xff, 0x18, 0x23, + 0x03, 0x49, 0x58, 0x43, 0x40, 0x18, 0x00, 0x69, + 0x00, 0xbd, 0x00, 0x20, 0x00, 0xbd, 0x00, 0x00, + 0x94, 0x67, 0x01, 0x00, 0x80, 0xb5, 0x00, 0x28, + 0x00, 0xd1, 0x08, 0x48, 0x07, 0x49, 0x00, 0x68, + 0x50, 0x31, 0x09, 0x7a, 0x00, 0x29, 0x02, 0xd0, + 0x02, 0x29, 0x04, 0xd1, 0x3c, 0x00, 0xb8, 0x83, + 0x00, 0x00, 0x00, 0xe0, 0x01, 0x21, 0x00, 0xf0, + 0x06, 0xf8, 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, 0x12, 0x4a, + 0x12, 0x4b, 0x12, 0x7a, 0x2c, 0x3b, 0x00, 0x2a, + 0x03, 0xd1, 0x5a, 0x68, 0x00, 0x2a, 0x18, 0xd1, + 0x04, 0xe0, 0x02, 0x2a, 0x02, 0xd1, 0x9a, 0x68, + 0x00, 0x2a, 0x12, 0xd1, 0x00, 0x20, 0x70, 0x47, + 0xc2, 0x7b, 0x8a, 0x42, 0x01, 0xd0, 0x3c, 0x00, + 0xf4, 0x83, 0x00, 0x00, 0x03, 0x2a, 0x0a, 0xd1, + 0x82, 0x7e, 0x01, 0x2a, 0x07, 0xd1, 0x02, 0x7f, + 0x01, 0x32, 0x12, 0x06, 0x12, 0x0e, 0x02, 0x77, + 0xc3, 0x7e, 0x9a, 0x42, 0xee, 0xd2, 0x00, 0x68, + 0x00, 0x28, 0xec, 0xd1, 0x70, 0x47, 0x00, 0x00, + 0xf4, 0x6e, 0x01, 0x00, 0xf7, 0xb5, 0x84, 0x46, + 0x00, 0x20, 0x01, 0x27, 0x00, 0x24, 0x00, 0x25, + 0x88, 0xb0, 0x07, 0xe0, 0x62, 0x46, 0x52, 0x5d, + 0x3c, 0x00, 0x30, 0x84, 0x00, 0x00, 0x00, 0x2a, + 0x05, 0xd0, 0xab, 0x00, 0x6e, 0x46, 0xf2, 0x50, + 0x01, 0x35, 0x8d, 0x42, 0xf5, 0xd3, 0x00, 0x2d, + 0x00, 0xd0, 0x01, 0x20, 0x00, 0x28, 0x28, 0xd0, + 0x00, 0x27, 0x16, 0x4c, 0x6e, 0x46, 0x22, 0xe0, + 0x20, 0x1c, 0x00, 0xf0, 0x30, 0xf8, 0x01, 0x28, + 0x01, 0xd0, 0x07, 0x28, 0x06, 0xd1, 0x00, 0x21, + 0x20, 0x1c, 0x00, 0xf0, 0x34, 0xf8, 0x31, 0x68, + 0x88, 0x42, 0x3c, 0x00, 0x6c, 0x84, 0x00, 0x00, + 0x01, 0xd2, 0x02, 0x27, 0x14, 0xe0, 0x20, 0x68, + 0xc9, 0x00, 0x0c, 0x18, 0x08, 0x3c, 0x20, 0x1c, + 0x00, 0xf0, 0x1c, 0xf8, 0x07, 0x28, 0x07, 0xd1, + 0x01, 0x20, 0x01, 0x2d, 0x00, 0xd0, 0x00, 0x20, + 0x24, 0x68, 0x00, 0x28, 0x00, 0xd1, 0x08, 0x34, + 0x01, 0x3d, 0x04, 0x36, 0x00, 0x2d, 0xda, 0xd1, + 0x0a, 0x98, 0x04, 0x60, 0x0b, 0xb0, 0x38, 0x1c, + 0xf0, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x84, + 0x00, 0x00, 0x20, 0x52, 0x01, 0x00, 0x00, 0x68, + 0x00, 0x29, 0x01, 0xd0, 0x80, 0x02, 0x80, 0x0a, + 0x70, 0x47, 0x10, 0xb5, 0x40, 0x68, 0x80, 0x00, + 0x44, 0x0f, 0x08, 0x2c, 0x03, 0xd3, 0x02, 0x21, + 0x87, 0x20, 0xf8, 0xf7, 0xec, 0xfe, 0x20, 0x1c, + 0x10, 0xbd, 0x00, 0x29, 0x02, 0xd0, 0x00, 0x68, + 0x80, 0x0d, 0x70, 0x47, 0x40, 0x68, 0x80, 0x05, + 0x80, 0x0d, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x84, 0x00, 0x00, 0x10, 0xb5, 0x40, 0x68, + 0x40, 0x01, 0x44, 0x0f, 0x05, 0x2c, 0x03, 0xd3, + 0x05, 0x21, 0x87, 0x20, 0xf8, 0xf7, 0xd6, 0xfe, + 0x20, 0x1c, 0x10, 0xbd, 0xf8, 0xb5, 0x05, 0x1c, + 0x88, 0x0a, 0x00, 0x90, 0x1c, 0x48, 0x8e, 0x05, + 0xc0, 0x69, 0xb6, 0x0d, 0x17, 0x1c, 0x1c, 0x1c, + 0x00, 0x28, 0x05, 0xd1, 0x18, 0x48, 0x81, 0x69, + 0x8d, 0x42, 0x1d, 0xd0, 0x85, 0x61, 0x11, 0xe0, + 0x3c, 0x00, 0x20, 0x85, 0x00, 0x00, 0xfd, 0xf7, + 0xe8, 0xf8, 0x15, 0x49, 0x09, 0x78, 0x0e, 0x29, + 0x07, 0xd1, 0x00, 0x28, 0x05, 0xd0, 0x11, 0x49, + 0x50, 0x31, 0x06, 0x23, 0xc9, 0x56, 0xf9, 0xf7, + 0x06, 0xfa, 0x0e, 0x49, 0x00, 0x20, 0xc8, 0x61, + 0x8d, 0x61, 0x29, 0x1c, 0x20, 0x1c, 0xf8, 0xf7, + 0xe2, 0xf8, 0x79, 0x43, 0x20, 0x1c, 0xf8, 0xf7, + 0xde, 0xf8, 0x08, 0x48, 0x41, 0x61, 0x20, 0x1c, + 0x00, 0x99, 0x3c, 0x00, 0x5c, 0x85, 0x00, 0x00, + 0xf8, 0xf7, 0xd8, 0xf8, 0x05, 0x48, 0x40, 0x69, + 0x0a, 0x18, 0xa2, 0x42, 0x01, 0xd2, 0x40, 0x18, + 0x01, 0xe0, 0x40, 0x18, 0x00, 0x1b, 0x80, 0x02, + 0x80, 0x19, 0xf8, 0xbd, 0xac, 0x7c, 0x01, 0x00, + 0x11, 0x67, 0x01, 0x00, 0xf8, 0xb5, 0x0f, 0x1c, + 0x06, 0x1c, 0x14, 0x1c, 0x1d, 0x1c, 0x07, 0xf0, + 0xa1, 0xfc, 0x0e, 0x28, 0x09, 0xd1, 0x20, 0x1c, + 0x02, 0xf0, 0xfc, 0xfb, 0x3c, 0x00, 0x98, 0x85, + 0x00, 0x00, 0x00, 0x28, 0x04, 0xd0, 0x08, 0x48, + 0x00, 0x78, 0x02, 0xf0, 0xe4, 0xfb, 0x04, 0x1c, + 0x01, 0x21, 0x00, 0x2e, 0xac, 0x72, 0x00, 0xd0, + 0x39, 0x1c, 0x20, 0x1c, 0x02, 0xf0, 0x07, 0xfc, + 0x28, 0x60, 0x00, 0x20, 0x28, 0x72, 0x6c, 0x72, + 0xf8, 0xbd, 0x90, 0x57, 0x01, 0x00, 0x03, 0x1c, + 0x0a, 0x48, 0x10, 0xb5, 0x00, 0x24, 0x02, 0x1c, + 0xa0, 0x32, 0x03, 0xe0, 0x81, 0x88, 0x3c, 0x00, + 0xd4, 0x85, 0x00, 0x00, 0x99, 0x42, 0x09, 0xd2, + 0x20, 0x30, 0x82, 0x42, 0xf9, 0xd1, 0x00, 0x2c, + 0x04, 0xd1, 0x02, 0x21, 0x8e, 0x20, 0xf8, 0xf7, + 0x5d, 0xfe, 0x00, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0xd0, 0x5c, 0x01, 0x00, 0xff, 0xb5, 0x06, 0x1c, + 0x00, 0x20, 0x81, 0xb0, 0x10, 0x60, 0x1f, 0x1c, + 0x01, 0x25, 0x14, 0x1c, 0x30, 0x1c, 0xff, 0xf7, + 0x6d, 0xff, 0x05, 0x28, 0x12, 0xd2, 0x02, 0xa3, + 0x3c, 0x00, 0x10, 0x86, 0x00, 0x00, 0x1b, 0x5c, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x03, 0x03, + 0x03, 0x03, 0x08, 0x00, 0x39, 0x1c, 0x30, 0x1c, + 0xff, 0xf7, 0x55, 0xff, 0x03, 0xe0, 0x02, 0x98, + 0xf8, 0xf7, 0xeb, 0xf8, 0x01, 0x30, 0x20, 0x60, + 0x04, 0xe0, 0x05, 0x21, 0x87, 0x20, 0xf8, 0xf7, + 0x34, 0xfe, 0x00, 0x25, 0x20, 0x68, 0x80, 0x28, + 0x04, 0xd9, 0x06, 0x21, 0x87, 0x20, 0xf8, 0xf7, + 0x2c, 0xfe, 0x3c, 0x00, 0x4c, 0x86, 0x00, 0x00, + 0x00, 0x25, 0x28, 0x1c, 0x05, 0xb0, 0xf0, 0xbd, + 0x70, 0xb5, 0x17, 0x4c, 0x60, 0x6c, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x1d, 0xe0, 0x16, 0x4e, + 0x14, 0x4d, 0x31, 0x88, 0xa0, 0x6c, 0x00, 0x28, + 0x08, 0xd0, 0x28, 0x78, 0x81, 0x42, 0x05, 0xd9, + 0xf8, 0xf7, 0x4c, 0xf8, 0x01, 0x38, 0xfa, 0xf7, + 0x51, 0xfe, 0x0e, 0xe0, 0xe0, 0x6c, 0x00, 0x28, + 0x0a, 0xd0, 0x00, 0x20, 0x3c, 0x00, 0x88, 0x86, + 0x00, 0x00, 0xfa, 0xf7, 0x4a, 0xfe, 0x29, 0x78, + 0x32, 0x88, 0x91, 0x42, 0x04, 0xd9, 0x90, 0x42, + 0x02, 0xd9, 0x10, 0x1c, 0x00, 0xe0, 0x08, 0x1c, + 0xfa, 0xf7, 0xdf, 0xfd, 0xe1, 0x6b, 0x44, 0x1a, + 0x0a, 0xf0, 0x81, 0xfb, 0x20, 0x1a, 0x00, 0xd5, + 0x00, 0x20, 0x70, 0xbd, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0xf8, 0x60, 0x01, 0x00, 0xfc, 0x60, + 0x01, 0x00, 0xff, 0xb5, 0x27, 0x4e, 0x3c, 0x00, + 0xc4, 0x86, 0x00, 0x00, 0x04, 0x1c, 0xb0, 0x79, + 0x0f, 0x1c, 0x15, 0x1c, 0x81, 0xb0, 0x00, 0x90, + 0x0a, 0xf0, 0x6c, 0xfb, 0xc1, 0x19, 0x23, 0x48, + 0x07, 0x68, 0x00, 0x2f, 0x05, 0xd1, 0x0a, 0x21, + 0x80, 0x20, 0xf8, 0xf7, 0xdf, 0xfd, 0x05, 0xb0, + 0xf0, 0xbd, 0x1e, 0x48, 0x40, 0x68, 0x84, 0x46, + 0x00, 0x28, 0x01, 0xd1, 0x00, 0x22, 0x0e, 0xe0, + 0x82, 0x68, 0x03, 0x68, 0xab, 0x42, 0x07, 0xd1, + 0x3c, 0x00, 0x00, 0x87, 0x00, 0x00, 0x03, 0x79, + 0xa3, 0x42, 0x04, 0xd1, 0x0b, 0x21, 0x80, 0x20, + 0xf8, 0xf7, 0xcb, 0xfd, 0x23, 0xe0, 0xc0, 0x68, + 0x00, 0x28, 0xf1, 0xd1, 0x13, 0x4b, 0xf8, 0x68, + 0x18, 0x60, 0x3d, 0x60, 0x3c, 0x71, 0xb9, 0x60, + 0x04, 0x98, 0x8d, 0x1a, 0x38, 0x61, 0x60, 0x46, + 0x00, 0x23, 0x05, 0xe0, 0x84, 0x68, 0xa4, 0x1a, + 0xac, 0x42, 0x03, 0xda, 0x03, 0x1c, 0xc0, 0x68, + 0x00, 0x28, 0x3c, 0x00, 0x3c, 0x87, 0x00, 0x00, + 0xf7, 0xd1, 0xf8, 0x60, 0x00, 0x2b, 0x08, 0xd1, + 0x07, 0x48, 0x3b, 0x1c, 0x47, 0x60, 0x08, 0x48, + 0x06, 0x4a, 0x00, 0x88, 0x0a, 0xf0, 0x8a, 0xfb, + 0x00, 0xe0, 0xdf, 0x60, 0x00, 0x98, 0xb0, 0x71, + 0xc3, 0xe7, 0x00, 0x00, 0x20, 0x10, 0x07, 0x00, + 0x7c, 0x5d, 0x01, 0x00, 0x21, 0x38, 0x01, 0x00, + 0x2c, 0x74, 0x01, 0x00, 0xf3, 0xb5, 0x83, 0xb0, + 0x04, 0x1c, 0x09, 0xd0, 0x3c, 0x00, 0x78, 0x87, + 0x00, 0x00, 0x20, 0x1c, 0x04, 0x99, 0x09, 0xf0, + 0x8e, 0xfb, 0x00, 0x28, 0x03, 0xd0, 0x20, 0x1c, + 0x30, 0x30, 0x05, 0xb0, 0xf0, 0xbd, 0x0a, 0xf0, + 0x0e, 0xfb, 0x1e, 0x4a, 0x00, 0x26, 0x04, 0x9f, + 0x01, 0x96, 0x00, 0x90, 0x02, 0x92, 0x02, 0x9c, + 0x00, 0x25, 0x39, 0x1c, 0x20, 0x1c, 0x14, 0x30, + 0x02, 0xf0, 0xc5, 0xfa, 0x00, 0x28, 0x01, 0xd0, + 0x26, 0x1c, 0x03, 0xe0, 0x01, 0x35, 0x3c, 0x00, + 0xb4, 0x87, 0x00, 0x00, 0x1c, 0x34, 0x04, 0x2d, + 0xf2, 0xd3, 0x00, 0x2e, 0x22, 0xd1, 0x01, 0x98, + 0x13, 0x4f, 0x01, 0x30, 0x01, 0x90, 0x02, 0x28, + 0xe8, 0xd3, 0x01, 0x21, 0xc9, 0x06, 0x02, 0x9a, + 0x00, 0x20, 0x13, 0x69, 0x00, 0x9c, 0xe3, 0x1a, + 0x8b, 0x42, 0x01, 0xdd, 0x19, 0x1c, 0x16, 0x1c, + 0x01, 0x30, 0x1c, 0x32, 0x04, 0x28, 0xf4, 0xd3, + 0x30, 0x68, 0x00, 0x28, 0x01, 0xd0, 0xf8, 0xf7, + 0x3c, 0x00, 0xf0, 0x87, 0x00, 0x00, 0xd3, 0xfe, + 0x30, 0x1c, 0xfd, 0xf7, 0x4a, 0xff, 0x30, 0x1c, + 0x14, 0x30, 0x06, 0x22, 0x04, 0x99, 0xf7, 0xf7, + 0x7a, 0xfe, 0x00, 0x9c, 0x30, 0x1c, 0x34, 0x61, + 0xbd, 0xe7, 0x30, 0x6a, 0x01, 0x00, 0x34, 0x42, + 0x01, 0x00, 0x09, 0x49, 0x10, 0xb5, 0x4c, 0x69, + 0x03, 0xe0, 0xe1, 0x68, 0x81, 0x42, 0x03, 0xd0, + 0x24, 0x68, 0x00, 0x2c, 0xf9, 0xd1, 0x01, 0xe0, + 0x00, 0x2c, 0x3c, 0x00, 0x2c, 0x88, 0x00, 0x00, + 0x03, 0xd1, 0x02, 0x21, 0x02, 0x20, 0xf8, 0xf7, + 0x37, 0xfd, 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, + 0xfc, 0x5a, 0x01, 0x00, 0x10, 0xb5, 0xc3, 0x07, + 0x06, 0xd5, 0x08, 0x4b, 0x5c, 0x69, 0x0c, 0x43, + 0x5c, 0x61, 0x1c, 0x7e, 0x14, 0x43, 0x1c, 0x76, + 0x80, 0x07, 0x06, 0xd5, 0x04, 0x48, 0x43, 0x69, + 0x19, 0x43, 0x41, 0x61, 0x01, 0x7e, 0x11, 0x43, + 0x01, 0x76, 0x10, 0xbd, 0x3c, 0x00, 0x68, 0x88, + 0x00, 0x00, 0xfc, 0x57, 0x01, 0x00, 0x18, 0x58, + 0x01, 0x00, 0x70, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x16, 0x1c, 0x00, 0xf0, 0x08, 0xf8, 0xa0, 0x07, + 0xc0, 0x17, 0x01, 0x30, 0x32, 0x1c, 0x29, 0x1c, + 0x00, 0xf0, 0x21, 0xf8, 0x70, 0xbd, 0x10, 0xb5, + 0xc3, 0x07, 0x06, 0xd5, 0x08, 0x4b, 0x5c, 0x69, + 0x8c, 0x43, 0x5c, 0x61, 0x1c, 0x7e, 0x94, 0x43, + 0x1c, 0x76, 0x80, 0x07, 0x06, 0xd5, 0x3c, 0x00, + 0xa4, 0x88, 0x00, 0x00, 0x04, 0x48, 0x43, 0x69, + 0x8b, 0x43, 0x43, 0x61, 0x01, 0x7e, 0x91, 0x43, + 0x01, 0x76, 0x10, 0xbd, 0xfc, 0x57, 0x01, 0x00, + 0x18, 0x58, 0x01, 0x00, 0x03, 0x22, 0x11, 0x1f, + 0x80, 0xb5, 0x01, 0x20, 0x00, 0xf0, 0x02, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x30, 0xb5, 0x15, 0x1c, + 0x0c, 0x1c, 0x00, 0x28, 0x87, 0xb0, 0x02, 0xd0, + 0x1c, 0x22, 0x22, 0x49, 0x01, 0xe0, 0x22, 0x49, + 0x3c, 0x00, 0xe0, 0x88, 0x00, 0x00, 0x1c, 0x22, + 0x68, 0x46, 0xf7, 0xf7, 0x64, 0xfe, 0x05, 0x99, + 0x00, 0xab, 0x1a, 0x7e, 0x8c, 0x43, 0x20, 0x1c, + 0x95, 0x43, 0x02, 0x9a, 0x29, 0x1c, 0x02, 0x40, + 0x02, 0x92, 0x01, 0x9a, 0x02, 0x40, 0x01, 0x92, + 0x00, 0x9a, 0x02, 0x40, 0x00, 0x92, 0x03, 0x9a, + 0x02, 0x40, 0x03, 0x92, 0x98, 0x7c, 0x08, 0x40, + 0x98, 0x74, 0x58, 0x7c, 0x08, 0x40, 0x58, 0x74, + 0x18, 0x7c, 0x3c, 0x00, 0x1c, 0x89, 0x00, 0x00, + 0x08, 0x40, 0x18, 0x74, 0xd8, 0x7c, 0x08, 0x40, + 0xd8, 0x74, 0x02, 0x99, 0x10, 0x48, 0x41, 0x61, + 0x01, 0xaa, 0x06, 0xca, 0x91, 0x43, 0x81, 0x61, + 0x81, 0x68, 0x01, 0x9a, 0x11, 0x43, 0x81, 0x60, + 0x81, 0x68, 0x00, 0x9a, 0x91, 0x43, 0x81, 0x60, + 0x00, 0xaa, 0x06, 0xca, 0x11, 0x43, 0x42, 0x68, + 0x11, 0x43, 0x41, 0x60, 0x41, 0x68, 0x03, 0x9a, + 0x91, 0x43, 0x41, 0x60, 0x3c, 0x00, 0x58, 0x89, + 0x00, 0x00, 0x04, 0xa8, 0x0b, 0xf0, 0x01, 0xf8, + 0x07, 0xb0, 0x30, 0xbd, 0x00, 0x00, 0xfc, 0x57, + 0x01, 0x00, 0x18, 0x58, 0x01, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x01, 0x1c, + 0x01, 0x20, 0x08, 0xf0, 0xe0, 0xf9, 0x00, 0x2c, + 0x02, 0xd0, 0x03, 0xf0, 0x1c, 0xff, 0x10, 0xbd, + 0xfe, 0xf7, 0xd1, 0xfc, 0x10, 0xbd, 0xf0, 0xb5, + 0x0c, 0x1c, 0x01, 0x0e, 0x01, 0x23, 0x3c, 0x00, + 0x94, 0x89, 0x00, 0x00, 0x1b, 0x06, 0x09, 0x06, + 0x99, 0x42, 0x9f, 0xb0, 0x28, 0xd1, 0x17, 0x49, + 0x08, 0x40, 0x00, 0x21, 0x1a, 0x28, 0x00, 0xd3, + 0x02, 0x21, 0x00, 0x29, 0x19, 0xd1, 0xc5, 0x00, + 0x13, 0x4f, 0x10, 0xa8, 0xee, 0x19, 0xb2, 0x88, + 0x21, 0x68, 0xf7, 0xf7, 0x9d, 0xfd, 0x20, 0x1c, + 0xf8, 0xf7, 0xea, 0xfd, 0x7a, 0x59, 0x01, 0xa9, + 0x10, 0xa8, 0xf7, 0xf7, 0x07, 0xfd, 0x00, 0x28, + 0x3c, 0x00, 0xd0, 0x89, 0x00, 0x00, 0x05, 0xd0, + 0x10, 0x98, 0x01, 0xa9, 0x01, 0x90, 0xb0, 0x79, + 0x00, 0xf0, 0x9d, 0xf8, 0x1f, 0xb0, 0xf0, 0xbd, + 0x2a, 0x20, 0xf8, 0xf7, 0x5e, 0xfc, 0x20, 0x1c, + 0xf8, 0xf7, 0xd5, 0xfd, 0xf6, 0xe7, 0x03, 0x21, + 0x2a, 0x20, 0xf8, 0xf7, 0x56, 0xfc, 0xf1, 0xe7, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0x00, 0x24, 0x45, + 0x01, 0x00, 0x10, 0xb5, 0x0c, 0x1c, 0x80, 0x28, + 0x02, 0xd0, 0x3c, 0x00, 0x0c, 0x8a, 0x00, 0x00, + 0x81, 0x28, 0x08, 0xd1, 0x03, 0xe0, 0x20, 0x1c, + 0x00, 0xf0, 0x06, 0xf9, 0x10, 0xbd, 0x20, 0x1c, + 0xf8, 0xf7, 0xbc, 0xfd, 0x10, 0xbd, 0x03, 0x21, + 0x2c, 0x20, 0xf8, 0xf7, 0x3d, 0xfc, 0xf6, 0xe7, + 0xf0, 0xb5, 0x0c, 0x1c, 0x00, 0x21, 0x8b, 0xb0, + 0x0a, 0x91, 0x01, 0x0e, 0x01, 0x23, 0x1b, 0x06, + 0x09, 0x06, 0x99, 0x42, 0x2a, 0xd1, 0x18, 0x49, + 0x08, 0x40, 0x06, 0x1c, 0x3c, 0x00, 0x48, 0x8a, + 0x00, 0x00, 0x06, 0x2e, 0x01, 0xd3, 0x07, 0x21, + 0x24, 0xe0, 0x20, 0x89, 0xf8, 0xf7, 0xf1, 0xfe, + 0x22, 0x89, 0x21, 0x68, 0x05, 0x1c, 0xf7, 0xf7, + 0x4c, 0xfd, 0x20, 0x1c, 0xf8, 0xf7, 0x99, 0xfd, + 0xf4, 0x00, 0x0f, 0x4e, 0x28, 0x1c, 0x0a, 0xaa, + 0x69, 0x46, 0x33, 0x59, 0xf7, 0xf7, 0xb4, 0xfc, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x28, 0x07, 0xd1, + 0x28, 0x68, 0x69, 0x46, 0x00, 0x90, 0x3c, 0x00, + 0x84, 0x8a, 0x00, 0x00, 0xa0, 0x19, 0x00, 0x79, + 0x0a, 0x9a, 0x00, 0xf0, 0x09, 0xf9, 0x28, 0x1c, + 0xf8, 0xf7, 0xb0, 0xfe, 0x0b, 0xb0, 0xf0, 0xbd, + 0x01, 0x21, 0x2b, 0x20, 0xf8, 0xf7, 0x02, 0xfc, + 0xf8, 0xe7, 0x00, 0x00, 0x7f, 0xff, 0xff, 0x00, + 0x28, 0x46, 0x01, 0x00, 0x0a, 0x1c, 0x01, 0x0e, + 0x01, 0x23, 0x1b, 0x06, 0x09, 0x06, 0x99, 0x42, + 0x80, 0xb5, 0x08, 0xd0, 0x5b, 0x00, 0x99, 0x42, + 0x3c, 0x00, 0xc0, 0x8a, 0x00, 0x00, 0x0b, 0xd1, + 0x00, 0x06, 0x00, 0x0e, 0x11, 0x1c, 0x00, 0xf0, + 0x0e, 0xf9, 0x80, 0xbd, 0x05, 0x49, 0x01, 0x40, + 0x10, 0x1c, 0x05, 0xf0, 0xa2, 0xf9, 0x80, 0xbd, + 0x01, 0x21, 0x2d, 0x20, 0xf8, 0xf7, 0xe1, 0xfb, + 0x80, 0xbd, 0x7f, 0xff, 0xff, 0x00, 0x80, 0xb5, + 0x01, 0x1c, 0x0f, 0x20, 0x00, 0xf0, 0x13, 0xf8, + 0x80, 0xbd, 0x80, 0xb5, 0x01, 0x1c, 0x04, 0x20, + 0x00, 0xf0, 0x3c, 0x00, 0xfc, 0x8a, 0x00, 0x00, + 0x0d, 0xf8, 0x80, 0xbd, 0x80, 0xb5, 0x01, 0x1c, + 0x17, 0x20, 0x00, 0xf0, 0x07, 0xf8, 0x80, 0xbd, + 0x80, 0xb5, 0x01, 0x1c, 0x01, 0x20, 0x00, 0xf0, + 0x01, 0xf8, 0x80, 0xbd, 0xf8, 0xb5, 0x04, 0x1c, + 0x06, 0x1c, 0x80, 0x20, 0x84, 0x43, 0x0f, 0x1c, + 0x19, 0x2c, 0x01, 0xd3, 0xf8, 0xf7, 0xea, 0xfb, + 0x08, 0x48, 0x04, 0x5d, 0x21, 0x1c, 0x00, 0x20, + 0xf8, 0xf7, 0x50, 0xfd, 0x3c, 0x00, 0x38, 0x8b, + 0x00, 0x00, 0x05, 0x1c, 0x22, 0x1c, 0x39, 0x1c, + 0x00, 0x68, 0xf7, 0xf7, 0xda, 0xfc, 0x2a, 0x1c, + 0x31, 0x1c, 0x07, 0x20, 0xf8, 0xf7, 0x11, 0xf9, + 0xf8, 0xbd, 0xf4, 0x45, 0x01, 0x00, 0xf8, 0xb5, + 0x0d, 0x1c, 0x16, 0x1c, 0x04, 0x1c, 0x1f, 0x1c, + 0x08, 0x21, 0x00, 0x20, 0xf8, 0xf7, 0x39, 0xfd, + 0x14, 0x22, 0x01, 0x68, 0x0e, 0x4b, 0x72, 0x43, + 0xd2, 0x18, 0x0c, 0x71, 0x12, 0x7c, 0x3c, 0x00, + 0x74, 0x8b, 0x00, 0x00, 0x4a, 0x71, 0x0d, 0x60, + 0x0b, 0x4a, 0x8f, 0x71, 0x12, 0x68, 0x7f, 0x2a, + 0x03, 0xd9, 0x52, 0x05, 0x52, 0x0e, 0x80, 0x23, + 0x1a, 0x43, 0xca, 0x71, 0x07, 0x4a, 0x00, 0x23, + 0x51, 0x68, 0x01, 0x31, 0x51, 0x60, 0x02, 0x1c, + 0x81, 0x21, 0x00, 0x20, 0xf8, 0xf7, 0x08, 0xf9, + 0xf8, 0xbd, 0x00, 0x00, 0x74, 0x40, 0x01, 0x00, + 0xfc, 0x5a, 0x01, 0x00, 0x80, 0x6e, 0x01, 0x00, + 0x3c, 0x00, 0xb0, 0x8b, 0x00, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x08, 0x21, 0x00, 0x20, 0xf8, 0xf7, + 0x0e, 0xfd, 0x21, 0x8b, 0xe2, 0x7d, 0x05, 0x1c, + 0x09, 0x05, 0x52, 0x07, 0x52, 0x0f, 0x49, 0x0c, + 0x00, 0x68, 0x11, 0x43, 0x81, 0x80, 0xa1, 0x7d, + 0x14, 0x23, 0x0e, 0x4a, 0x59, 0x43, 0x89, 0x18, + 0x09, 0x7c, 0xc1, 0x71, 0xe1, 0x6a, 0x01, 0x60, + 0xe1, 0x68, 0x28, 0x1c, 0xf8, 0xf7, 0x17, 0xfc, + 0x0a, 0x48, 0x3c, 0x00, 0xec, 0x8b, 0x00, 0x00, + 0x00, 0x68, 0x00, 0x28, 0x01, 0xd0, 0xf7, 0xf7, + 0xf1, 0xfb, 0x07, 0x49, 0x04, 0x31, 0x88, 0x68, + 0x01, 0x30, 0x88, 0x60, 0x00, 0x21, 0x2a, 0x1c, + 0x00, 0x20, 0x23, 0x6b, 0xf8, 0xf7, 0xd2, 0xf8, + 0x01, 0x20, 0xb0, 0xbd, 0x74, 0x40, 0x01, 0x00, + 0x7c, 0x6e, 0x01, 0x00, 0x01, 0x48, 0x80, 0x68, + 0x70, 0x47, 0x00, 0x00, 0x80, 0x6e, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x3c, 0x00, 0x28, 0x8c, + 0x00, 0x00, 0x92, 0xb0, 0x01, 0x68, 0x68, 0x46, + 0x08, 0x22, 0xf7, 0xf7, 0x62, 0xfc, 0x00, 0xab, + 0x98, 0x88, 0x40, 0x07, 0x40, 0x0f, 0xd8, 0x77, + 0x98, 0x88, 0x40, 0x04, 0x00, 0x0d, 0x18, 0x84, + 0xd8, 0x88, 0x58, 0x84, 0x00, 0x98, 0x0d, 0x90, + 0x05, 0x94, 0x20, 0x89, 0x08, 0x38, 0x20, 0x81, + 0x05, 0x98, 0x01, 0x68, 0x08, 0x31, 0x01, 0x60, + 0x00, 0x20, 0x0a, 0x90, 0x0c, 0x90, 0x3c, 0x00, + 0x64, 0x8c, 0x00, 0x00, 0x00, 0x21, 0x11, 0x20, + 0x09, 0xf0, 0x78, 0xfb, 0x05, 0x49, 0x06, 0x4a, + 0x08, 0x68, 0x01, 0x30, 0x08, 0x60, 0x02, 0x21, + 0x02, 0xa8, 0x01, 0xf0, 0xcd, 0xfc, 0x12, 0xb0, + 0x10, 0xbd, 0x00, 0x00, 0x80, 0x6e, 0x01, 0x00, + 0x55, 0x8b, 0x00, 0x00, 0x02, 0x1c, 0x01, 0x20, + 0x00, 0x06, 0x08, 0x43, 0x80, 0xb5, 0x2b, 0x21, + 0x0a, 0xf0, 0x8a, 0xfd, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x8c, 0x00, 0x00, 0xf7, 0xb5, + 0x04, 0x1c, 0x06, 0x1c, 0x80, 0x20, 0x84, 0x43, + 0x17, 0x1c, 0x06, 0x2c, 0x01, 0xd3, 0xf8, 0xf7, + 0x26, 0xfb, 0x0b, 0x48, 0x05, 0x5d, 0x29, 0x1c, + 0x00, 0x20, 0xf8, 0xf7, 0x8c, 0xfc, 0x04, 0x1c, + 0x00, 0x68, 0x01, 0x99, 0x2a, 0x1c, 0xf7, 0xf7, + 0x16, 0xfc, 0x39, 0x1c, 0x20, 0x1c, 0xf8, 0xf7, + 0xa2, 0xfb, 0x22, 0x1c, 0x31, 0x1c, 0x00, 0x23, + 0x02, 0x20, 0x3c, 0x00, 0xdc, 0x8c, 0x00, 0x00, + 0xf8, 0xf7, 0x68, 0xf8, 0xfe, 0xbd, 0x00, 0x00, + 0x20, 0x46, 0x01, 0x00, 0x0a, 0x1c, 0x01, 0x1c, + 0x80, 0xb5, 0x00, 0x23, 0x01, 0x20, 0xf8, 0xf7, + 0x5d, 0xf8, 0x80, 0xbd, 0xff, 0xb5, 0x9f, 0xb0, + 0x1f, 0x1c, 0x05, 0x1c, 0x0a, 0x30, 0x1e, 0x90, + 0x1c, 0xaa, 0x1d, 0xa9, 0x0a, 0xf0, 0x00, 0xff, + 0x00, 0x28, 0x71, 0xd0, 0x00, 0x2f, 0x09, 0xd0, + 0x0a, 0x21, 0x00, 0x20, 0x3c, 0x00, 0x18, 0x8d, + 0x00, 0x00, 0xf8, 0xf7, 0x5e, 0xfc, 0x06, 0x68, + 0x04, 0x1c, 0x30, 0x1d, 0xfa, 0xf7, 0xaf, 0xfa, + 0x05, 0xe0, 0x04, 0x21, 0x00, 0x20, 0xf8, 0xf7, + 0x54, 0xfc, 0x06, 0x68, 0x04, 0x1c, 0x28, 0x89, + 0x36, 0x49, 0x01, 0x22, 0x08, 0x80, 0x70, 0x80, + 0xe8, 0x88, 0x14, 0xa9, 0x30, 0x80, 0x19, 0xa8, + 0xfc, 0xf7, 0xf5, 0xfc, 0xfc, 0xf7, 0xff, 0xfb, + 0x01, 0x1c, 0xff, 0x31, 0x21, 0x31, 0x3c, 0x00, + 0x54, 0x8d, 0x00, 0x00, 0x20, 0x1c, 0x01, 0xf0, + 0xef, 0xf8, 0x19, 0xa9, 0x20, 0x1c, 0x01, 0xf0, + 0xeb, 0xf8, 0x14, 0xa9, 0x20, 0x1c, 0x01, 0xf0, + 0xe7, 0xf8, 0x20, 0x1c, 0x20, 0x99, 0xfd, 0xf7, + 0x4b, 0xfd, 0x00, 0x22, 0x02, 0x21, 0x01, 0xf0, + 0x33, 0xfd, 0x06, 0x1c, 0x1c, 0x99, 0x00, 0x20, + 0x88, 0x61, 0x30, 0x1c, 0xf8, 0xf7, 0x1c, 0xfa, + 0x00, 0x2e, 0x0b, 0xd0, 0x30, 0x7a, 0x00, 0x28, + 0x3c, 0x00, 0x90, 0x8d, 0x00, 0x00, 0x02, 0xd0, + 0x40, 0x21, 0x08, 0x43, 0x30, 0x72, 0x1c, 0x98, + 0x02, 0x22, 0x81, 0x69, 0x11, 0x43, 0x81, 0x61, + 0x04, 0xe0, 0x1c, 0x99, 0x02, 0x22, 0x88, 0x69, + 0x90, 0x43, 0x88, 0x61, 0x1d, 0xaa, 0x06, 0xca, + 0x01, 0xa8, 0x05, 0xf0, 0x58, 0xfb, 0x09, 0xa8, + 0x00, 0x2f, 0x02, 0xd0, 0x02, 0x22, 0x42, 0x72, + 0x01, 0xe0, 0x00, 0x21, 0x41, 0x72, 0x04, 0x94, + 0x01, 0xa8, 0x3c, 0x00, 0xcc, 0x8d, 0x00, 0x00, + 0x04, 0xf0, 0x7a, 0xfb, 0x01, 0x21, 0x1c, 0x98, + 0x08, 0xf0, 0xc8, 0xff, 0x00, 0x2f, 0x04, 0xd0, + 0x1c, 0x98, 0x01, 0x22, 0x81, 0x69, 0x11, 0x43, + 0x81, 0x61, 0xa8, 0x88, 0x1c, 0x9c, 0x01, 0xf0, + 0x9f, 0xfe, 0x02, 0x1c, 0x21, 0x1c, 0x00, 0xe0, + 0x04, 0xe0, 0x07, 0x48, 0x40, 0x88, 0x09, 0xf0, + 0x1f, 0xf8, 0x04, 0xe0, 0x3a, 0x1c, 0x00, 0x21, + 0x05, 0x20, 0xf9, 0xf7, 0x3c, 0x00, 0x08, 0x8e, + 0x00, 0x00, 0x9b, 0xf8, 0x00, 0x20, 0x23, 0xb0, + 0xf0, 0xbd, 0xfc, 0x60, 0x01, 0x00, 0x98, 0x7c, + 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, 0xc0, 0x68, + 0x05, 0x68, 0xa0, 0x1d, 0x01, 0xf0, 0x95, 0xff, + 0x00, 0x28, 0x45, 0xd0, 0x21, 0x1c, 0x14, 0x31, + 0x20, 0x1c, 0x6a, 0x46, 0x0a, 0xf0, 0x55, 0xfe, + 0x00, 0x28, 0x3d, 0xd0, 0xfc, 0xf7, 0x7d, 0xfa, + 0x00, 0x28, 0x39, 0xd1, 0x00, 0x98, 0x3c, 0x00, + 0x44, 0x8e, 0x00, 0x00, 0x4b, 0x21, 0x09, 0x5c, + 0x01, 0x29, 0x34, 0xd1, 0x04, 0x26, 0x09, 0xf0, + 0x19, 0xf9, 0x68, 0x88, 0x00, 0x28, 0x1b, 0xd1, + 0xa8, 0x88, 0x03, 0x21, 0x89, 0x03, 0x88, 0x43, + 0x15, 0x49, 0x00, 0x26, 0x08, 0x80, 0x01, 0x22, + 0x02, 0x21, 0x20, 0x69, 0x01, 0xf0, 0xb8, 0xfc, + 0x04, 0x1c, 0x14, 0xd0, 0x00, 0x98, 0x80, 0x69, + 0x80, 0x07, 0x10, 0xd5, 0xf8, 0xf7, 0x9a, 0xf9, + 0x3c, 0x00, 0x80, 0x8e, 0x00, 0x00, 0x20, 0x1c, + 0xf8, 0xf7, 0xdd, 0xf8, 0x00, 0x28, 0x09, 0xd1, + 0xf8, 0xf7, 0x7f, 0xf9, 0x01, 0x26, 0x00, 0x98, + 0x02, 0x22, 0x81, 0x69, 0x91, 0x43, 0x81, 0x61, + 0x00, 0x21, 0x01, 0xe0, 0x00, 0x98, 0x02, 0x21, + 0x08, 0xf0, 0x61, 0xff, 0x00, 0x98, 0x80, 0x69, + 0xa9, 0x88, 0xc2, 0x07, 0xd2, 0x0f, 0x30, 0x1c, + 0xf9, 0xf7, 0x45, 0xf8, 0xf8, 0xbd, 0xfa, 0x60, + 0x01, 0x00, 0x3c, 0x00, 0xbc, 0x8e, 0x00, 0x00, + 0x1c, 0xb5, 0x04, 0x69, 0x00, 0x23, 0x00, 0x22, + 0x00, 0x2c, 0x13, 0xd1, 0x4b, 0x24, 0x24, 0x5c, + 0x02, 0x2c, 0x03, 0xd1, 0x02, 0x29, 0x05, 0xd0, + 0x01, 0x22, 0x03, 0xe0, 0x02, 0x29, 0x01, 0xd1, + 0x01, 0x22, 0x01, 0x23, 0x00, 0x2a, 0x05, 0xd0, + 0x00, 0x90, 0x04, 0x20, 0x01, 0x93, 0x69, 0x46, + 0x09, 0xf0, 0x36, 0xfa, 0x1c, 0xbd, 0x00, 0x00, + 0xb0, 0xb5, 0x04, 0x1c, 0x3c, 0x00, 0xf8, 0x8e, + 0x00, 0x00, 0xf2, 0x21, 0x0f, 0x20, 0x0c, 0x4d, + 0x0a, 0xf0, 0x99, 0xfb, 0x28, 0x78, 0x08, 0x28, + 0x0b, 0xd2, 0x01, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, + 0x9f, 0x44, 0x07, 0x03, 0x03, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x00, 0x2c, 0x01, 0xd1, 0x05, 0xf0, + 0xbc, 0xfb, 0xb0, 0xbd, 0x01, 0x2c, 0xfc, 0xd1, + 0xff, 0x20, 0x07, 0xf0, 0x38, 0xfa, 0xb0, 0xbd, + 0x00, 0x00, 0x74, 0x66, 0x01, 0x00, 0x3c, 0x00, + 0x34, 0x8f, 0x00, 0x00, 0x8c, 0xb5, 0x05, 0x4a, + 0x00, 0xab, 0x11, 0x72, 0x00, 0x90, 0x19, 0x71, + 0x69, 0x46, 0x08, 0x20, 0x09, 0xf0, 0x0a, 0xfa, + 0x8c, 0xbd, 0x00, 0x00, 0xac, 0x7c, 0x01, 0x00, + 0xf3, 0xb5, 0x04, 0x1c, 0xc0, 0x68, 0x06, 0x27, + 0x85, 0xb0, 0x06, 0x68, 0x09, 0xf0, 0x26, 0xff, + 0x98, 0x49, 0x48, 0x63, 0x20, 0x69, 0x03, 0x21, + 0x01, 0xf0, 0x08, 0xfc, 0x96, 0x4d, 0x00, 0x28, + 0x3c, 0x00, 0x70, 0x8f, 0x00, 0x00, 0x4d, 0xd0, + 0x95, 0x49, 0x40, 0x31, 0x09, 0x79, 0x80, 0x78, + 0x81, 0x42, 0x47, 0xd1, 0x01, 0x21, 0x20, 0x69, + 0x01, 0xf0, 0xfb, 0xfb, 0x02, 0x90, 0x20, 0x69, + 0x32, 0x21, 0x01, 0xf0, 0xf6, 0xfb, 0x01, 0x90, + 0x02, 0x1c, 0x8d, 0x48, 0x02, 0x99, 0xfc, 0xf7, + 0x46, 0xff, 0x00, 0x28, 0x36, 0xd0, 0x00, 0x23, + 0x8a, 0x48, 0x02, 0x99, 0x01, 0x9a, 0xfc, 0xf7, + 0xe4, 0xfe, 0x3c, 0x00, 0xac, 0x8f, 0x00, 0x00, + 0x0b, 0x28, 0x2e, 0xd1, 0x86, 0x4a, 0x51, 0x88, + 0x70, 0x89, 0x41, 0x40, 0x03, 0x91, 0x0b, 0x1c, + 0x84, 0x49, 0x0b, 0x40, 0x25, 0xd1, 0x50, 0x80, + 0x03, 0x99, 0x17, 0x1c, 0x00, 0x29, 0x0b, 0xd0, + 0x03, 0x99, 0x48, 0x05, 0x02, 0xd5, 0x38, 0x1c, + 0xfc, 0xf7, 0x40, 0xfe, 0x03, 0x99, 0x88, 0x06, + 0x02, 0xd5, 0x38, 0x1c, 0xfc, 0xf7, 0x24, 0xfe, + 0x2a, 0x21, 0x20, 0x69, 0x3c, 0x00, 0xe8, 0x8f, + 0x00, 0x00, 0x01, 0xf0, 0xc8, 0xfb, 0x00, 0x28, + 0x0d, 0xd0, 0x80, 0x78, 0xe9, 0x69, 0x81, 0x42, + 0x09, 0xd0, 0xe8, 0x61, 0x38, 0x1c, 0xfc, 0xf7, + 0x16, 0xfe, 0x38, 0x1c, 0xfc, 0xf7, 0x07, 0xfe, + 0x38, 0x1c, 0xfc, 0xf7, 0x26, 0xfe, 0x00, 0x27, + 0x20, 0x1c, 0x20, 0x30, 0x04, 0x90, 0x40, 0x7a, + 0x08, 0x28, 0x71, 0xd1, 0x0a, 0xf0, 0xd1, 0xfc, + 0x00, 0x20, 0x68, 0x61, 0x00, 0x23, 0x3c, 0x00, + 0x24, 0x90, 0x00, 0x00, 0x2b, 0x61, 0xa8, 0x68, + 0x66, 0x49, 0x01, 0x30, 0xa8, 0x60, 0x30, 0x89, + 0x5c, 0x31, 0x88, 0x82, 0x01, 0xf0, 0x7a, 0xfd, + 0x62, 0x49, 0x5c, 0x31, 0x08, 0x61, 0x22, 0x6a, + 0x04, 0x98, 0x18, 0x21, 0x00, 0x7a, 0x01, 0xf0, + 0x33, 0xfe, 0xe1, 0x6a, 0x40, 0x18, 0x03, 0x90, + 0x5c, 0x48, 0x00, 0x6a, 0x00, 0x28, 0x0d, 0xd0, + 0x00, 0x2f, 0x0b, 0xd1, 0x59, 0x48, 0x01, 0x23, + 0x3c, 0x00, 0x60, 0x90, 0x00, 0x00, 0x5c, 0x30, + 0x01, 0x68, 0x1b, 0x07, 0x00, 0x22, 0x30, 0x68, + 0x09, 0xf0, 0x49, 0xff, 0x00, 0x28, 0x00, 0xd1, + 0x05, 0x27, 0x00, 0x21, 0xa0, 0x6b, 0x0a, 0xf0, + 0xce, 0xfc, 0x00, 0x21, 0x20, 0x6c, 0x0a, 0xf0, + 0xe8, 0xfc, 0x4f, 0x4b, 0x03, 0xce, 0x03, 0x9a, + 0x5c, 0x33, 0xfc, 0xf7, 0x88, 0xfd, 0x00, 0x20, + 0x4c, 0x4e, 0x05, 0x21, 0xb0, 0x63, 0x20, 0x69, + 0x01, 0xf0, 0x3c, 0x00, 0x9c, 0x90, 0x00, 0x00, + 0x6f, 0xfb, 0x01, 0x1c, 0x01, 0xd1, 0xf0, 0x60, + 0x1c, 0xe0, 0x01, 0x20, 0xf0, 0x60, 0x88, 0x78, + 0x45, 0x4a, 0x01, 0x32, 0x10, 0x70, 0xc8, 0x78, + 0x50, 0x70, 0x47, 0x4a, 0x10, 0x70, 0x30, 0x69, + 0x00, 0x28, 0x0a, 0xd0, 0x4a, 0x78, 0x08, 0x79, + 0x05, 0x31, 0x09, 0xf0, 0xdd, 0xfa, 0x31, 0x69, + 0xf7, 0xf7, 0x85, 0xf9, 0xf0, 0x68, 0x00, 0x28, + 0x04, 0xd0, 0x3b, 0x4a, 0x3c, 0x00, 0xd8, 0x90, + 0x00, 0x00, 0x01, 0x32, 0x10, 0x78, 0x00, 0x28, + 0x08, 0xd1, 0x00, 0x20, 0xa8, 0x61, 0x71, 0x6a, + 0x00, 0x29, 0x03, 0xd0, 0x20, 0x1c, 0x14, 0x30, + 0xf7, 0xf7, 0x74, 0xf9, 0x34, 0x4a, 0x5c, 0x32, + 0x10, 0x69, 0x31, 0x6a, 0x41, 0x18, 0x00, 0xe0, + 0x20, 0xe0, 0x0a, 0x23, 0xd0, 0x68, 0x0a, 0x22, + 0x09, 0xf0, 0xfb, 0xfe, 0x00, 0x28, 0x07, 0xd0, + 0x2d, 0x4a, 0x31, 0x6a, 0x5c, 0x32, 0x3c, 0x00, + 0x14, 0x91, 0x00, 0x00, 0xd0, 0x68, 0x40, 0x1a, + 0x11, 0x69, 0x40, 0x1a, 0x70, 0x60, 0x29, 0x4a, + 0x5c, 0x32, 0xd0, 0x68, 0x30, 0x62, 0xf0, 0x69, + 0x00, 0x28, 0x04, 0xd0, 0xfa, 0xf7, 0x00, 0xfd, + 0x01, 0x20, 0xfa, 0xf7, 0xa1, 0xfc, 0xfa, 0xf7, + 0x81, 0xfc, 0x27, 0x48, 0x00, 0x68, 0x03, 0xf0, + 0x07, 0xf9, 0x06, 0x98, 0x00, 0x28, 0x03, 0xd1, + 0x1e, 0x4e, 0x00, 0x23, 0xb3, 0x60, 0x16, 0xe0, + 0x3c, 0x00, 0x50, 0x91, 0x00, 0x00, 0x1c, 0x4e, + 0x01, 0x20, 0xb0, 0x60, 0x06, 0x98, 0x01, 0x68, + 0x40, 0x68, 0xb0, 0x65, 0x19, 0x48, 0x71, 0x65, + 0x54, 0x30, 0xc0, 0x88, 0x00, 0x28, 0x09, 0xd0, + 0xb1, 0x69, 0x00, 0x29, 0x06, 0xd0, 0x01, 0xf0, + 0xdc, 0xfc, 0x01, 0x1c, 0xe0, 0x6a, 0xb2, 0x69, + 0xf7, 0xf7, 0x2f, 0xf9, 0x00, 0x2f, 0x15, 0xd1, + 0x12, 0x48, 0x01, 0x69, 0x00, 0x29, 0x08, 0xd1, + 0x01, 0x21, 0x3c, 0x00, 0x8c, 0x91, 0x00, 0x00, + 0x01, 0x61, 0x2a, 0x68, 0x00, 0x2a, 0x03, 0xd0, + 0x00, 0x21, 0x00, 0x20, 0xf7, 0xf7, 0x20, 0xf9, + 0x09, 0x49, 0x00, 0x23, 0xcb, 0x62, 0x2b, 0x61, + 0x6b, 0x61, 0x06, 0xf0, 0xb5, 0xf8, 0x07, 0xb0, + 0xf0, 0xbd, 0x6b, 0x68, 0x06, 0x48, 0x00, 0x2b, + 0xf9, 0xd0, 0x02, 0x1d, 0x11, 0x1c, 0x38, 0x1c, + 0xf7, 0xf7, 0x0f, 0xf9, 0xf3, 0xe7, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x3c, 0x00, 0xc8, 0x91, + 0x00, 0x00, 0xf4, 0x68, 0x01, 0x00, 0xf4, 0x67, + 0x01, 0x00, 0x03, 0x08, 0x00, 0x00, 0xf8, 0x60, + 0x01, 0x00, 0xc4, 0x67, 0x01, 0x00, 0x08, 0xb5, + 0xf8, 0xf7, 0x2f, 0xfd, 0x00, 0x90, 0x00, 0xab, + 0x18, 0x88, 0x00, 0x28, 0x0c, 0xd0, 0x05, 0xf0, + 0x50, 0xff, 0x00, 0xab, 0x59, 0x88, 0x18, 0x88, + 0x05, 0xf0, 0x6d, 0xf9, 0xfe, 0xf7, 0x97, 0xf8, + 0x03, 0x20, 0xfb, 0xf7, 0x0e, 0xf8, 0x3c, 0x00, + 0x04, 0x92, 0x00, 0x00, 0x08, 0xbd, 0x01, 0x20, + 0xff, 0xf7, 0xb2, 0xfb, 0x00, 0x20, 0x08, 0xf0, + 0x8d, 0xfe, 0xf7, 0xe7, 0xf8, 0xb5, 0x4f, 0x49, + 0x8c, 0x68, 0x20, 0x6a, 0x00, 0x68, 0x05, 0x78, + 0xfc, 0xf7, 0x68, 0xfa, 0x00, 0x28, 0x12, 0xd0, + 0x2a, 0x07, 0x92, 0x0f, 0x01, 0x21, 0x01, 0x2a, + 0x00, 0xd0, 0x00, 0x21, 0x00, 0x29, 0x03, 0xd0, + 0x29, 0x06, 0x09, 0x0f, 0x0b, 0x29, 0x06, 0xd1, + 0x3c, 0x00, 0x40, 0x92, 0x00, 0x00, 0x2a, 0x21, + 0x09, 0x5d, 0x08, 0x18, 0x90, 0x30, 0x00, 0x7b, + 0xf9, 0xf7, 0x0d, 0xfc, 0x41, 0x4f, 0x3c, 0x3f, + 0xb8, 0x6b, 0x79, 0x6b, 0xf7, 0xf7, 0xc0, 0xf8, + 0xa0, 0x6c, 0x00, 0x26, 0xc6, 0x60, 0x60, 0x6b, + 0x80, 0x08, 0x04, 0xd0, 0xb8, 0x69, 0x01, 0x30, + 0xb8, 0x61, 0x06, 0xf0, 0xdc, 0xf9, 0x39, 0x4d, + 0x28, 0x69, 0x80, 0x05, 0x80, 0x0f, 0x08, 0xd1, + 0x78, 0x69, 0x3c, 0x00, 0x7c, 0x92, 0x00, 0x00, + 0x04, 0x21, 0x01, 0x30, 0x78, 0x61, 0x60, 0x6b, + 0x40, 0x08, 0x40, 0x00, 0x08, 0x43, 0x60, 0x63, + 0xb8, 0x6a, 0x00, 0x28, 0x03, 0xd0, 0x60, 0x6b, + 0x08, 0x21, 0x08, 0x43, 0x60, 0x63, 0x20, 0x1c, + 0x20, 0x30, 0x00, 0x90, 0x39, 0x68, 0xf7, 0xf7, + 0x9a, 0xf8, 0x03, 0x20, 0x00, 0x02, 0x28, 0x60, + 0x2b, 0x49, 0x88, 0x68, 0xa0, 0x63, 0xc8, 0x68, + 0xe0, 0x63, 0x08, 0x79, 0x3c, 0x00, 0xb8, 0x92, + 0x00, 0x00, 0xc0, 0x06, 0xc0, 0x0e, 0x25, 0x1c, + 0x40, 0x35, 0x28, 0x71, 0x48, 0x79, 0x68, 0x71, + 0x23, 0x48, 0x3c, 0x38, 0x46, 0x62, 0x00, 0x98, + 0x80, 0x7a, 0x01, 0xf0, 0x5e, 0xfd, 0x00, 0x21, + 0x00, 0x28, 0x21, 0x4a, 0x01, 0xd0, 0x11, 0x78, + 0x03, 0xe0, 0x93, 0x78, 0xdb, 0x07, 0x00, 0xd5, + 0x51, 0x78, 0xa9, 0x71, 0x00, 0x28, 0x04, 0xd0, + 0x1b, 0x49, 0x14, 0x31, 0x08, 0x68, 0x3c, 0x00, + 0xf4, 0x92, 0x00, 0x00, 0x20, 0x64, 0x00, 0xe0, + 0x6e, 0x80, 0xb8, 0x6a, 0xc0, 0x07, 0x02, 0xd5, + 0xff, 0x20, 0x28, 0x71, 0xae, 0x71, 0xe6, 0x61, + 0xb8, 0x68, 0x01, 0x30, 0xb8, 0x60, 0x79, 0x68, + 0x88, 0x42, 0x03, 0xd0, 0x0b, 0x21, 0x85, 0x20, + 0xf7, 0xf7, 0xc4, 0xff, 0x0d, 0x49, 0x88, 0x68, + 0xc0, 0x6c, 0x88, 0x60, 0xfb, 0x6a, 0x00, 0x2b, + 0x0c, 0xd0, 0x0e, 0x4a, 0xd4, 0x7b, 0x00, 0x2b, + 0x3c, 0x00, 0x30, 0x93, 0x00, 0x00, 0x02, 0xdd, + 0x7f, 0x2c, 0x05, 0xd2, 0x01, 0xe0, 0x00, 0x2c, + 0x02, 0xd0, 0xd4, 0x7b, 0xe3, 0x18, 0xd3, 0x73, + 0xfe, 0x62, 0xc9, 0x68, 0x88, 0x42, 0x03, 0xd1, + 0x05, 0x21, 0x85, 0x20, 0xf7, 0xf7, 0xa9, 0xff, + 0xf8, 0xbd, 0x24, 0x7e, 0x01, 0x00, 0x00, 0x40, + 0x07, 0x00, 0xa0, 0x80, 0x07, 0x00, 0xe8, 0x80, + 0x07, 0x00, 0x40, 0x00, 0x07, 0x00, 0xfe, 0xb5, + 0x30, 0x4c, 0x3c, 0x00, 0x6c, 0x93, 0x00, 0x00, + 0xa0, 0x6b, 0x21, 0x6b, 0xf7, 0xf7, 0x33, 0xf8, + 0x2d, 0x49, 0x3c, 0x31, 0x8e, 0x68, 0x70, 0x8b, + 0x06, 0x28, 0x04, 0xd2, 0xe0, 0x69, 0x01, 0x30, + 0xe0, 0x61, 0x0e, 0x20, 0x30, 0x85, 0x28, 0x49, + 0x3c, 0x31, 0x0d, 0x68, 0x00, 0x2d, 0x03, 0xd1, + 0x03, 0x21, 0x85, 0x20, 0xf7, 0xf7, 0x84, 0xff, + 0x24, 0x48, 0x45, 0x61, 0x35, 0x62, 0x31, 0x8d, + 0xef, 0x68, 0x04, 0x39, 0x3c, 0x00, 0xa8, 0x93, + 0x00, 0x00, 0x0c, 0x04, 0x01, 0x21, 0x02, 0x91, + 0x24, 0x0c, 0x00, 0x21, 0x01, 0x91, 0x1d, 0x48, + 0x3c, 0x30, 0x80, 0x8a, 0xa0, 0x42, 0x03, 0xd3, + 0x2c, 0x81, 0xee, 0x60, 0x00, 0x24, 0x0b, 0xe0, + 0x00, 0x2f, 0x04, 0xd1, 0x03, 0x21, 0x85, 0x20, + 0xf7, 0xf7, 0x69, 0xff, 0x04, 0xe0, 0x3d, 0x1c, + 0x20, 0x1a, 0x04, 0x04, 0xff, 0x68, 0x24, 0x0c, + 0x02, 0x98, 0x00, 0x28, 0x04, 0xd0, 0x3c, 0x00, + 0xe4, 0x93, 0x00, 0x00, 0x12, 0x49, 0x01, 0x20, + 0x08, 0x61, 0x00, 0x20, 0x02, 0x90, 0x01, 0x98, + 0x01, 0x30, 0x01, 0x90, 0x00, 0x2c, 0xdd, 0xd1, + 0x0c, 0x48, 0x0c, 0x4c, 0x3c, 0x30, 0x07, 0x60, + 0x01, 0x98, 0x30, 0x65, 0xb5, 0x64, 0x30, 0x6a, + 0x00, 0x68, 0x60, 0x62, 0x60, 0x68, 0x01, 0x30, + 0x60, 0x60, 0xa1, 0x68, 0x01, 0x31, 0x88, 0x42, + 0x03, 0xd0, 0x0a, 0x21, 0x85, 0x20, 0xf7, 0xf7, + 0x3c, 0x00, 0x20, 0x94, 0x00, 0x00, 0x41, 0xff, + 0x04, 0x48, 0x00, 0x68, 0xa0, 0x62, 0xfe, 0xbd, + 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x78, 0x6e, 0x01, 0x00, 0xb0, 0xb5, + 0x05, 0x1c, 0x01, 0x21, 0x0f, 0x20, 0x0a, 0xf0, + 0xf8, 0xf8, 0xf2, 0x21, 0x0f, 0x20, 0x0a, 0xf0, + 0xf4, 0xf8, 0x0c, 0x48, 0x0c, 0x4c, 0x00, 0x68, + 0x14, 0x3c, 0x00, 0x28, 0x0c, 0xd0, 0xe0, 0x78, + 0x01, 0x28, 0x3c, 0x00, 0x5c, 0x94, 0x00, 0x00, + 0x09, 0xd0, 0x01, 0x22, 0x29, 0x1c, 0x0f, 0x20, + 0x0a, 0xf0, 0xac, 0xf8, 0x60, 0x78, 0x02, 0x28, + 0x06, 0xd0, 0x01, 0x20, 0x03, 0xe0, 0x60, 0x78, + 0x02, 0x28, 0x01, 0xd0, 0x00, 0x20, 0x60, 0x70, + 0xb0, 0xbd, 0x00, 0x00, 0x98, 0x66, 0x01, 0x00, + 0x02, 0x22, 0x00, 0x28, 0x80, 0xb5, 0x00, 0xd1, + 0x03, 0x22, 0x03, 0x49, 0x0e, 0x20, 0x0a, 0xf0, + 0x9b, 0xf8, 0x00, 0x20, 0x3c, 0x00, 0x98, 0x94, + 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, 0x50, 0xc3, + 0x00, 0x00, 0xf8, 0xb5, 0x00, 0x23, 0x00, 0x22, + 0x00, 0x28, 0x2e, 0xd0, 0x06, 0x89, 0x04, 0x68, + 0x75, 0x1e, 0x2d, 0x04, 0xb6, 0x1a, 0xf6, 0x07, + 0x2d, 0x0c, 0xf6, 0x0f, 0xb4, 0x46, 0x0e, 0xe0, + 0xa7, 0x5c, 0xa6, 0x18, 0x02, 0x33, 0x00, 0x97, + 0x77, 0x78, 0xa7, 0x54, 0x02, 0x32, 0x12, 0x04, + 0x00, 0x9f, 0x12, 0x0c, 0x00, 0x29, 0x3c, 0x00, + 0xd4, 0x94, 0x00, 0x00, 0x77, 0x70, 0x01, 0xdd, + 0x8b, 0x42, 0x15, 0xda, 0xaa, 0x42, 0xee, 0xd3, + 0xc0, 0x68, 0x00, 0x28, 0x10, 0xd0, 0x02, 0x89, + 0x00, 0x2a, 0xf9, 0xd0, 0x62, 0x46, 0x00, 0x2a, + 0x0b, 0xd0, 0x02, 0x68, 0x66, 0x5d, 0x17, 0x78, + 0x02, 0x33, 0x67, 0x55, 0x16, 0x70, 0x01, 0x22, + 0x00, 0x29, 0xd2, 0xdd, 0x8b, 0x42, 0xd0, 0xdb, + 0xf8, 0xbd, 0x00, 0x22, 0xcd, 0xe7, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x95, 0x00, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0d, 0x1c, 0x01, 0x20, 0xf8, 0xf7, + 0x5e, 0xfb, 0x0d, 0x49, 0x00, 0x28, 0xc8, 0x61, + 0x14, 0xd0, 0x62, 0x68, 0x42, 0x60, 0xa2, 0x7c, + 0x02, 0x72, 0xa2, 0x68, 0xc2, 0x60, 0xe2, 0x68, + 0x02, 0x61, 0x22, 0x8a, 0x02, 0x75, 0x0a, 0x1d, + 0x0a, 0x62, 0x12, 0x68, 0x00, 0x2a, 0xff, 0xd1, + 0x02, 0x60, 0x48, 0x60, 0x00, 0x20, 0xa8, 0x60, + 0x01, 0x20, 0x3c, 0x00, 0x4c, 0x95, 0x00, 0x00, + 0xb0, 0xbd, 0x01, 0x20, 0xfa, 0xe7, 0x00, 0x00, + 0xa4, 0x6e, 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x40, 0x68, 0x0d, 0x1c, 0x43, 0x1c, 0x02, 0xd1, + 0x21, 0x1c, 0x09, 0x48, 0x08, 0xe0, 0x00, 0x20, + 0xf8, 0xf7, 0x34, 0xfb, 0x06, 0x49, 0x94, 0x39, + 0x08, 0x61, 0x00, 0x28, 0x03, 0xd0, 0x21, 0x1c, + 0x00, 0xf0, 0x48, 0xfe, 0x00, 0xe0, 0x01, 0x20, + 0xa8, 0x60, 0x01, 0x20, 0x3c, 0x00, 0x88, 0x95, + 0x00, 0x00, 0xb0, 0xbd, 0x00, 0x00, 0x38, 0x6f, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x21, 0x97, 0x20, + 0xf7, 0xf7, 0x85, 0xfe, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0x38, 0xb5, 0x0a, 0x1c, 0x14, 0x32, + 0x00, 0x92, 0x13, 0x1f, 0x05, 0x1c, 0x08, 0x3a, + 0x0c, 0x1c, 0x16, 0x31, 0x40, 0x68, 0xfe, 0xf7, + 0x6c, 0xfe, 0x00, 0x28, 0x01, 0xd0, 0x00, 0x20, + 0x00, 0xe0, 0x01, 0x20, 0x69, 0x68, 0x3c, 0x00, + 0xc4, 0x95, 0x00, 0x00, 0xa0, 0x60, 0x61, 0x60, + 0x01, 0x20, 0x38, 0xbd, 0x10, 0xb5, 0x0c, 0x1c, + 0x01, 0x7a, 0x00, 0x29, 0x0f, 0xd0, 0x01, 0x29, + 0x09, 0xd0, 0x02, 0x29, 0x03, 0xd1, 0x00, 0x21, + 0x00, 0x20, 0x0a, 0xf0, 0x73, 0xfc, 0x00, 0x20, + 0x20, 0x71, 0x01, 0x20, 0x10, 0xbd, 0x41, 0x68, + 0x01, 0x20, 0x0a, 0xf0, 0x6b, 0xfc, 0x00, 0xf0, + 0x0d, 0xf9, 0xf4, 0xe7, 0x80, 0xb5, 0x04, 0x49, + 0x3c, 0x00, 0x00, 0x96, 0x00, 0x00, 0x48, 0x68, + 0x01, 0x38, 0x48, 0x60, 0x01, 0xd1, 0x07, 0xf0, + 0x6e, 0xfb, 0x00, 0x20, 0x80, 0xbd, 0xac, 0x79, + 0x01, 0x00, 0xb0, 0xb5, 0x05, 0x1c, 0x0c, 0x1c, + 0x00, 0xf0, 0x4f, 0xfe, 0xa0, 0x60, 0x68, 0x68, + 0x60, 0x60, 0x01, 0x20, 0xb0, 0xbd, 0xb0, 0xb5, + 0x05, 0x1c, 0x0c, 0x1c, 0x00, 0xf0, 0x6f, 0xfe, + 0xa0, 0x60, 0x68, 0x68, 0x60, 0x60, 0x01, 0x20, + 0xb0, 0xbd, 0x3c, 0x00, 0x3c, 0x96, 0x00, 0x00, + 0x08, 0x1c, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x0e, 0xc0, 0x08, 0xc0, 0x01, 0x20, 0x70, 0x47, + 0xf8, 0xb5, 0x0f, 0x1c, 0x04, 0x1c, 0x20, 0x79, + 0x20, 0x28, 0x01, 0xd2, 0x20, 0x20, 0x20, 0x71, + 0x66, 0x79, 0x00, 0x2e, 0x02, 0xd1, 0x25, 0x79, + 0x00, 0x22, 0x0d, 0xe0, 0x25, 0x79, 0x29, 0x1c, + 0x30, 0x1c, 0xf7, 0xf7, 0x4f, 0xf8, 0x00, 0x29, + 0x01, 0xd1, 0x32, 0x1c, 0x3c, 0x00, 0x78, 0x96, + 0x00, 0x00, 0x04, 0xe0, 0x70, 0x43, 0x80, 0x19, + 0x05, 0x06, 0x2d, 0x0e, 0x32, 0x1c, 0xe0, 0x79, + 0x29, 0x1c, 0x00, 0xf0, 0xf2, 0xf9, 0x20, 0x7a, + 0x2f, 0x49, 0xc0, 0x07, 0xc0, 0x0f, 0x08, 0x60, + 0x2e, 0x48, 0x00, 0x78, 0xc0, 0x07, 0x43, 0xd5, + 0xa1, 0x79, 0x2c, 0x4a, 0xc8, 0x07, 0x48, 0xd4, + 0x2c, 0x4e, 0x16, 0x60, 0x8b, 0x07, 0x2b, 0x48, + 0x08, 0xd5, 0xcc, 0x08, 0x01, 0x23, 0x3c, 0x00, + 0xb4, 0x96, 0x00, 0x00, 0xa3, 0x40, 0x03, 0x60, + 0x49, 0x07, 0x04, 0xd5, 0x28, 0x49, 0x11, 0x60, + 0x01, 0xe0, 0x40, 0x21, 0x01, 0x60, 0x13, 0x68, + 0x26, 0x4a, 0xb3, 0x42, 0x10, 0xd1, 0x54, 0x68, + 0x01, 0x68, 0x0c, 0x43, 0x54, 0x60, 0x14, 0x68, + 0x0c, 0x40, 0x01, 0xd0, 0x51, 0x61, 0x00, 0xe0, + 0x91, 0x61, 0x54, 0x68, 0x0c, 0x43, 0x54, 0x60, + 0x94, 0x68, 0x21, 0x43, 0x91, 0x60, 0x13, 0xe0, + 0x3c, 0x00, 0xf0, 0x96, 0x00, 0x00, 0x54, 0x7c, + 0x01, 0x68, 0x0c, 0x43, 0x54, 0x74, 0x14, 0x7c, + 0x0c, 0x40, 0x03, 0xd0, 0x14, 0x7c, 0x0c, 0x43, + 0x14, 0x74, 0x02, 0xe0, 0x14, 0x7c, 0x8c, 0x43, + 0x14, 0x74, 0x54, 0x7c, 0x0c, 0x43, 0x54, 0x74, + 0x94, 0x7c, 0x21, 0x43, 0x91, 0x74, 0xb3, 0x42, + 0x05, 0xd1, 0x00, 0x22, 0x01, 0x68, 0x03, 0x20, + 0xff, 0xf7, 0x8d, 0xf8, 0x09, 0xe0, 0x00, 0x68, + 0x00, 0x21, 0x3c, 0x00, 0x2c, 0x97, 0x00, 0x00, + 0x02, 0x06, 0x12, 0x0e, 0x03, 0x20, 0xff, 0xf7, + 0x85, 0xf8, 0x01, 0xe0, 0x0b, 0x48, 0x10, 0x60, + 0x00, 0x20, 0x38, 0x71, 0x7d, 0x71, 0xf7, 0xf7, + 0xe9, 0xfd, 0x01, 0x20, 0xf8, 0xbd, 0x00, 0x00, + 0xcc, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x07, 0x00, + 0x5c, 0x5b, 0x01, 0x00, 0xb9, 0x9b, 0x00, 0x00, + 0x58, 0x5b, 0x01, 0x00, 0x95, 0x9b, 0x00, 0x00, + 0x10, 0x00, 0x07, 0x00, 0x3c, 0x00, 0x68, 0x97, + 0x00, 0x00, 0x55, 0x9b, 0x00, 0x00, 0xb0, 0xb5, + 0x0d, 0x1c, 0x04, 0x30, 0x00, 0x24, 0xfe, 0xf7, + 0xd6, 0xfa, 0x01, 0x20, 0x6c, 0x60, 0xb0, 0xbd, + 0x00, 0x00, 0xf0, 0xb5, 0x07, 0x7a, 0x43, 0x68, + 0x04, 0x1c, 0x0e, 0x48, 0x0e, 0x1c, 0x00, 0x68, + 0x01, 0x25, 0x01, 0x1c, 0x9b, 0xb0, 0x06, 0xe0, + 0x4a, 0x68, 0x9a, 0x42, 0x02, 0xd1, 0x8f, 0x76, + 0x00, 0x25, 0x02, 0xe0, 0x09, 0x68, 0x3c, 0x00, + 0xa4, 0x97, 0x00, 0x00, 0x00, 0x29, 0xf6, 0xd1, + 0x00, 0x2d, 0x05, 0xd1, 0x21, 0x7a, 0x01, 0x29, + 0x02, 0xd1, 0x01, 0xa9, 0xf8, 0xf7, 0xa8, 0xf8, + 0x60, 0x68, 0x04, 0x36, 0x21, 0xc6, 0x1b, 0xb0, + 0x01, 0x20, 0xf0, 0xbd, 0xa4, 0x6e, 0x01, 0x00, + 0x10, 0xb5, 0x0c, 0x1c, 0x08, 0xf0, 0xae, 0xfc, + 0x60, 0x60, 0x01, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0x10, 0xb5, 0x0c, 0x1c, 0x07, 0xf0, 0x84, 0xfa, + 0x3c, 0x00, 0xe0, 0x97, 0x00, 0x00, 0x04, 0xf0, + 0x54, 0xff, 0x00, 0x20, 0x60, 0x60, 0x01, 0x20, + 0x10, 0xbd, 0x00, 0x20, 0xc0, 0x43, 0x48, 0x60, + 0x01, 0x20, 0x70, 0x47, 0x00, 0x00, 0x10, 0xb5, + 0x0c, 0x1c, 0x00, 0x79, 0xfa, 0xf7, 0x07, 0xf8, + 0x00, 0x28, 0x01, 0xd0, 0x00, 0x20, 0x00, 0xe0, + 0x02, 0x20, 0x60, 0x60, 0x01, 0x20, 0x10, 0xbd, + 0x00, 0x00, 0x1c, 0xb5, 0x06, 0x4c, 0x20, 0x68, + 0x00, 0x28, 0x3c, 0x00, 0x1c, 0x98, 0x00, 0x00, + 0x07, 0xd0, 0x09, 0xf0, 0xc5, 0xfa, 0x01, 0x90, + 0x20, 0x68, 0x41, 0x68, 0x68, 0x46, 0xf6, 0xf7, + 0xd6, 0xfd, 0x1c, 0xbd, 0xac, 0x79, 0x01, 0x00, + 0x01, 0x49, 0x08, 0x60, 0x70, 0x47, 0x00, 0x00, + 0xac, 0x79, 0x01, 0x00, 0x0e, 0xb5, 0x06, 0x4b, + 0x1b, 0x68, 0x00, 0x2b, 0x06, 0xd0, 0x02, 0x90, + 0x00, 0x91, 0x01, 0x92, 0x68, 0x46, 0xd9, 0x68, + 0xf6, 0xf7, 0xc1, 0xfd, 0x3c, 0x00, 0x58, 0x98, + 0x00, 0x00, 0x0e, 0xbd, 0x00, 0x00, 0xac, 0x79, + 0x01, 0x00, 0x1c, 0xb5, 0x04, 0x1c, 0x07, 0xf0, + 0x4c, 0xfa, 0x06, 0x48, 0x41, 0x68, 0x01, 0x31, + 0x41, 0x60, 0x00, 0x94, 0x00, 0x21, 0x01, 0x91, + 0x00, 0x68, 0x01, 0x68, 0x68, 0x46, 0xf6, 0xf7, + 0xad, 0xfd, 0x1c, 0xbd, 0x00, 0x00, 0xac, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0xf8, 0xf7, 0xa3, 0xf8, + 0x80, 0xbd, 0x80, 0xb5, 0x02, 0x1c, 0x3c, 0x00, + 0x94, 0x98, 0x00, 0x00, 0x80, 0x21, 0x03, 0x20, + 0x00, 0xf0, 0x5c, 0xf8, 0x01, 0x1c, 0x03, 0x48, + 0x00, 0x22, 0x43, 0x69, 0xf6, 0xf7, 0x9b, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0xa4, 0x6d, 0x01, 0x00, + 0xf8, 0xb5, 0x0c, 0x1c, 0x13, 0x49, 0x05, 0x1c, + 0x08, 0x68, 0x16, 0x1c, 0x01, 0x30, 0x08, 0x60, + 0x00, 0x20, 0x20, 0x61, 0x22, 0x1c, 0x10, 0x32, + 0x28, 0x1d, 0x00, 0x21, 0x07, 0x1c, 0x00, 0x92, + 0x3c, 0x00, 0xd0, 0x98, 0x00, 0x00, 0x03, 0xf0, + 0xde, 0xfe, 0x20, 0x71, 0x20, 0x69, 0x00, 0x28, + 0x10, 0xd0, 0x01, 0x04, 0x09, 0x0c, 0x00, 0x20, + 0xf7, 0xf7, 0x79, 0xfe, 0x30, 0x60, 0x29, 0x1d, + 0x03, 0xc9, 0xa0, 0x60, 0xe1, 0x60, 0x30, 0x68, + 0x01, 0x68, 0x00, 0x9a, 0x38, 0x1c, 0x03, 0xf0, + 0xca, 0xfe, 0x20, 0x71, 0x01, 0x20, 0xf8, 0xbd, + 0x00, 0x00, 0x10, 0x75, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x1c, 0x3c, 0x00, 0x0c, 0x99, 0x00, 0x00, + 0x08, 0x21, 0x04, 0x20, 0x09, 0xf0, 0x4e, 0xff, + 0x03, 0x20, 0x80, 0xbd, 0x10, 0xb5, 0x07, 0x4a, + 0x0c, 0x1c, 0x51, 0x68, 0x01, 0x31, 0x51, 0x60, + 0x01, 0x1c, 0x10, 0x31, 0xc2, 0x68, 0x04, 0x30, + 0x03, 0xf0, 0xf0, 0xfe, 0x20, 0x71, 0x00, 0x20, + 0x10, 0xbd, 0x00, 0x00, 0x10, 0x75, 0x01, 0x00, + 0x04, 0x49, 0x80, 0xb5, 0x81, 0x61, 0x08, 0x21, + 0x02, 0x1c, 0x03, 0x20, 0x3c, 0x00, 0x48, 0x99, + 0x00, 0x00, 0x09, 0xf0, 0x32, 0xff, 0x03, 0x20, + 0x80, 0xbd, 0x95, 0xd8, 0x00, 0x00, 0xf7, 0xb5, + 0x07, 0x1c, 0x16, 0x1c, 0x06, 0x21, 0x00, 0x20, + 0x82, 0xb0, 0xf7, 0xf7, 0x3a, 0xfe, 0x05, 0x1c, + 0x20, 0x48, 0x00, 0x78, 0x06, 0x28, 0x00, 0xd9, + 0x28, 0x81, 0x2c, 0x68, 0x00, 0x20, 0xa7, 0x70, + 0x03, 0x99, 0xe1, 0x70, 0x31, 0x1c, 0x03, 0xe0, + 0x0a, 0x89, 0x10, 0x18, 0x0f, 0x1c, 0x3c, 0x00, + 0x84, 0x99, 0x00, 0x00, 0xc9, 0x68, 0x00, 0x29, + 0xf9, 0xd1, 0x6b, 0x46, 0x01, 0xaa, 0x21, 0x1d, + 0x00, 0xf0, 0x34, 0xf8, 0x00, 0xab, 0x18, 0x78, + 0x60, 0x71, 0x18, 0x78, 0x00, 0x28, 0x17, 0xd0, + 0x11, 0x48, 0x40, 0x68, 0x00, 0x28, 0x08, 0xd0, + 0x19, 0x78, 0x00, 0x20, 0xf7, 0xf7, 0x14, 0xfe, + 0x01, 0x1c, 0x38, 0x1c, 0xf7, 0xf7, 0x30, 0xfd, + 0x0a, 0xe0, 0x38, 0x68, 0x00, 0x28, 0x02, 0xd1, + 0x3c, 0x00, 0xc0, 0x99, 0x00, 0x00, 0x3f, 0x60, + 0x01, 0x20, 0xb8, 0x61, 0x00, 0xab, 0x19, 0x78, + 0x38, 0x89, 0x40, 0x18, 0x38, 0x81, 0x00, 0xab, + 0x98, 0x88, 0x31, 0x1c, 0x02, 0x38, 0x20, 0x80, + 0x28, 0x1c, 0xf7, 0xf7, 0x1c, 0xfd, 0x28, 0x1c, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xc8, 0x5c, + 0x01, 0x00, 0x01, 0x79, 0x42, 0x79, 0x00, 0x88, + 0x89, 0x18, 0x02, 0x39, 0x40, 0x1a, 0x70, 0x47, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x99, 0x00, 0x00, + 0x70, 0xb5, 0x08, 0x4d, 0x2c, 0x78, 0xad, 0x78, + 0x20, 0x18, 0x06, 0x1c, 0x00, 0x2d, 0x03, 0xd0, + 0x70, 0x19, 0x01, 0x38, 0x01, 0x3d, 0xa8, 0x43, + 0x10, 0x80, 0x80, 0x1b, 0x18, 0x70, 0x0c, 0x70, + 0x70, 0xbd, 0x00, 0x00, 0xc8, 0x5c, 0x01, 0x00, + 0xb0, 0xb5, 0x04, 0x68, 0x0c, 0x4a, 0x21, 0x88, + 0x52, 0x78, 0x02, 0x31, 0x91, 0x42, 0x11, 0xd2, + 0x55, 0x1a, 0xf7, 0xf7, 0x3c, 0x00, 0x38, 0x9a, + 0x00, 0x00, 0xc9, 0xfd, 0x01, 0x68, 0x00, 0x29, + 0x02, 0xd1, 0x00, 0x60, 0x01, 0x21, 0x81, 0x61, + 0x01, 0x89, 0x49, 0x19, 0x01, 0x81, 0x20, 0x88, + 0x40, 0x19, 0x20, 0x80, 0x60, 0x79, 0x40, 0x19, + 0x60, 0x71, 0xb0, 0xbd, 0x00, 0x00, 0xc8, 0x5c, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x06, 0x21, + 0xf1, 0x20, 0x09, 0xf0, 0xa2, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x1c, 0x02, 0x48, 0x3c, 0x00, + 0x74, 0x9a, 0x00, 0x00, 0x03, 0x70, 0x41, 0x70, + 0x82, 0x70, 0x70, 0x47, 0xc8, 0x5c, 0x01, 0x00, + 0xb0, 0xb5, 0x08, 0x1c, 0x09, 0x68, 0x15, 0x1c, + 0x8c, 0x78, 0xf7, 0xf7, 0x85, 0xfd, 0x04, 0x49, + 0xa0, 0x00, 0x09, 0x58, 0x00, 0x29, 0x02, 0xd0, + 0x28, 0x1c, 0xf6, 0xf7, 0x9e, 0xfc, 0xb0, 0xbd, + 0x84, 0x6d, 0x01, 0x00, 0xfe, 0xb5, 0x04, 0x1c, + 0xc0, 0x7a, 0xa1, 0x7a, 0xc6, 0x07, 0xf6, 0x0f, + 0x3c, 0x00, 0xb0, 0x9a, 0x00, 0x00, 0x32, 0x1c, + 0x20, 0x1d, 0x01, 0xf0, 0x3c, 0xf8, 0x60, 0x69, + 0x25, 0x4f, 0xc1, 0x07, 0x37, 0xd5, 0xb8, 0x69, + 0x00, 0x28, 0x01, 0xd0, 0xf6, 0xf7, 0x87, 0xfc, + 0x20, 0x68, 0x05, 0x68, 0x28, 0x88, 0x80, 0x07, + 0x34, 0xd1, 0x01, 0xaa, 0x02, 0xa9, 0x28, 0x1c, + 0x01, 0xf0, 0x0b, 0xfc, 0x28, 0x1c, 0x01, 0xf0, + 0x12, 0xfc, 0x00, 0x78, 0xc0, 0x07, 0x0a, 0xd4, + 0x60, 0x69, 0x3c, 0x00, 0xec, 0x9a, 0x00, 0x00, + 0x80, 0x07, 0x26, 0xd4, 0x33, 0x1c, 0x29, 0x1c, + 0xa2, 0x7a, 0x20, 0x69, 0x7d, 0x69, 0xf6, 0xf7, + 0x72, 0xfc, 0x1e, 0xe0, 0x00, 0xab, 0x18, 0x7a, + 0x00, 0x28, 0x03, 0xd0, 0x01, 0x28, 0x06, 0xd0, + 0x02, 0x28, 0x16, 0xd1, 0x28, 0x1c, 0x79, 0x6a, + 0xf6, 0xf7, 0x61, 0xfc, 0x11, 0xe0, 0x00, 0xab, + 0x18, 0x79, 0x0e, 0x28, 0x01, 0xd0, 0x0f, 0x28, + 0x0b, 0xd1, 0x28, 0x1c, 0x3c, 0x00, 0x28, 0x9b, + 0x00, 0x00, 0x39, 0x6a, 0xf6, 0xf7, 0x56, 0xfc, + 0x06, 0xe0, 0x00, 0x07, 0x80, 0x0f, 0x03, 0xd1, + 0x20, 0x69, 0xf9, 0x69, 0xf6, 0xf7, 0x4e, 0xfc, + 0x78, 0x6b, 0x21, 0x21, 0x01, 0x30, 0x78, 0x63, + 0x22, 0x1c, 0x80, 0x20, 0x09, 0xf0, 0x31, 0xfe, + 0xfe, 0xbd, 0x28, 0x7a, 0x01, 0x00, 0x0b, 0x49, + 0x18, 0xb5, 0x08, 0x78, 0xc0, 0x07, 0x11, 0xd5, + 0x0a, 0x4a, 0x10, 0x1c, 0x20, 0x30, 0x3c, 0x00, + 0x64, 0x9b, 0x00, 0x00, 0x84, 0x79, 0x00, 0xab, + 0x1c, 0x70, 0xc0, 0x79, 0x58, 0x70, 0x08, 0x78, + 0x40, 0x23, 0x18, 0x43, 0x08, 0x70, 0x05, 0x48, + 0x00, 0x78, 0x08, 0x70, 0x00, 0xab, 0x18, 0x88, + 0xd0, 0x84, 0x18, 0xbd, 0x04, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x07, 0x00, 0xe0, 0x60, 0x01, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x05, 0x49, 0x10, 0xb5, + 0x88, 0x79, 0x05, 0x4b, 0x1a, 0x7c, 0x05, 0x4c, + 0x3c, 0x00, 0xa0, 0x9b, 0x00, 0x00, 0x24, 0x68, + 0x62, 0x40, 0x1a, 0x74, 0x88, 0x71, 0x10, 0xbd, + 0x00, 0x00, 0x20, 0x10, 0x07, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x58, 0x5b, 0x01, 0x00, 0x04, 0x49, + 0x0a, 0x68, 0x04, 0x48, 0x00, 0x68, 0x02, 0x40, + 0x01, 0xd0, 0x88, 0x61, 0x70, 0x47, 0x48, 0x61, + 0x70, 0x47, 0x10, 0x00, 0x07, 0x00, 0x58, 0x5b, + 0x01, 0x00, 0x02, 0x1c, 0x01, 0x20, 0x00, 0x06, + 0x08, 0x43, 0x3c, 0x00, 0xdc, 0x9b, 0x00, 0x00, + 0x80, 0xb5, 0x2a, 0x21, 0x09, 0xf0, 0xe6, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x00, 0x29, 0x03, 0xd0, 0x81, 0x29, 0x07, 0xd1, + 0x81, 0x20, 0x00, 0xe0, 0x80, 0x20, 0x22, 0x1c, + 0x2c, 0x21, 0x09, 0xf0, 0xd7, 0xfd, 0x10, 0xbd, + 0x02, 0x21, 0x2c, 0x20, 0xf7, 0xf7, 0x4c, 0xfb, + 0x20, 0x1c, 0xf7, 0xf7, 0xc3, 0xfc, 0x10, 0xbd, + 0x80, 0xb5, 0xb4, 0xb0, 0x3c, 0x00, 0x18, 0x9c, + 0x00, 0x00, 0x01, 0x28, 0x06, 0xd0, 0x82, 0x28, + 0x1c, 0xd1, 0x1a, 0xa8, 0x07, 0xf0, 0x35, 0xfc, + 0x34, 0xb0, 0x80, 0xbd, 0x81, 0x29, 0x13, 0xd1, + 0x0d, 0x48, 0x0c, 0x4a, 0x81, 0x69, 0x00, 0x68, + 0x50, 0x32, 0x81, 0x42, 0x02, 0xd0, 0xd1, 0x6a, + 0x01, 0x29, 0x02, 0xd0, 0x11, 0x78, 0x02, 0x29, + 0x02, 0xd1, 0x07, 0xf0, 0x0a, 0xf9, 0xeb, 0xe7, + 0x69, 0x46, 0xf7, 0xf7, 0x5a, 0xfe, 0x3c, 0x00, + 0x54, 0x9c, 0x00, 0x00, 0xe7, 0xe7, 0x01, 0x21, + 0x00, 0xe0, 0x02, 0x21, 0x18, 0x20, 0xf7, 0xf7, + 0x21, 0xfb, 0xe0, 0xe7, 0xa4, 0x6e, 0x01, 0x00, + 0xb0, 0xb5, 0x04, 0x1c, 0x00, 0x68, 0x17, 0x4d, + 0x9a, 0xb0, 0x68, 0x63, 0x08, 0xf0, 0x3e, 0xfa, + 0x20, 0x79, 0x14, 0x49, 0x13, 0x4a, 0x50, 0x39, + 0x2c, 0x3a, 0x02, 0x28, 0x0a, 0xd1, 0x90, 0x68, + 0x80, 0x02, 0xa8, 0x61, 0xc8, 0x68, 0xe8, 0x61, + 0x3c, 0x00, 0x90, 0x9c, 0x00, 0x00, 0x02, 0x20, + 0x28, 0x72, 0x07, 0xf0, 0xe4, 0xf8, 0x1a, 0xb0, + 0xb0, 0xbd, 0x03, 0x1c, 0x00, 0x20, 0x00, 0x2b, + 0x0b, 0xd1, 0x52, 0x68, 0x92, 0x02, 0xaa, 0x61, + 0x0a, 0x1c, 0x89, 0x68, 0xe9, 0x61, 0x28, 0x72, + 0x10, 0x68, 0x69, 0x46, 0xf7, 0xf7, 0x27, 0xfe, + 0xed, 0xe7, 0xa8, 0x61, 0x01, 0x20, 0x28, 0x72, + 0x28, 0x70, 0x00, 0x20, 0x06, 0xf0, 0x7d, 0xfa, + 0xe5, 0xe7, 0x3c, 0x00, 0xcc, 0x9c, 0x00, 0x00, + 0xf4, 0x6e, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x21, + 0x07, 0x20, 0xf7, 0xf7, 0xe1, 0xfa, 0x80, 0xbd, + 0x70, 0x47, 0x00, 0x00, 0xf8, 0xb5, 0x00, 0x24, + 0x19, 0x4a, 0x00, 0x26, 0xd5, 0x68, 0x11, 0x68, + 0x04, 0x35, 0x08, 0x1c, 0x91, 0x60, 0x02, 0xe0, + 0x01, 0x1c, 0x40, 0x19, 0x08, 0x60, 0x53, 0x68, + 0x83, 0x42, 0xf9, 0xd8, 0x3c, 0x00, 0x08, 0x9d, + 0x00, 0x00, 0x01, 0x34, 0x10, 0x32, 0x03, 0x2c, + 0x0e, 0x60, 0xee, 0xd3, 0xf6, 0xf7, 0xf1, 0xff, + 0x10, 0x48, 0x10, 0x49, 0x12, 0x4c, 0x08, 0x60, + 0x10, 0x49, 0x00, 0x20, 0x01, 0x22, 0x19, 0x23, + 0x5b, 0x01, 0x0c, 0x25, 0x43, 0x43, 0x1b, 0x19, + 0x45, 0x43, 0x4a, 0x51, 0x1f, 0x1c, 0x6d, 0x18, + 0xab, 0x60, 0x6b, 0x60, 0x00, 0x25, 0x1e, 0x1c, + 0x14, 0x36, 0x9e, 0x60, 0x33, 0x1c, 0x3c, 0x00, + 0x44, 0x9d, 0x00, 0x00, 0x01, 0x35, 0x27, 0x2d, + 0xf8, 0xdb, 0x01, 0x30, 0x03, 0x28, 0x9f, 0x60, + 0xe8, 0xdb, 0xf8, 0xbd, 0x20, 0x57, 0x01, 0x00, + 0x14, 0xc8, 0x01, 0x00, 0xb4, 0xcf, 0x01, 0x00, + 0x18, 0xd9, 0x01, 0x00, 0xb8, 0xcf, 0x01, 0x00, + 0xb0, 0xb5, 0x07, 0x4c, 0x25, 0x1c, 0xc0, 0x35, + 0x28, 0x6b, 0x1e, 0x21, 0x00, 0xf0, 0xf2, 0xf9, + 0xa2, 0x6b, 0x20, 0x1c, 0xdc, 0x30, 0x29, 0x6b, + 0x3c, 0x00, 0x80, 0x9d, 0x00, 0x00, 0x00, 0xf0, + 0xb6, 0xf9, 0xb0, 0xbd, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x00, 0x20, 0x10, 0x22, 0x10, 0xb5, + 0x0a, 0x49, 0x05, 0xe0, 0x0c, 0x23, 0x43, 0x43, + 0x5c, 0x18, 0x0c, 0x34, 0xcc, 0x50, 0x01, 0x30, + 0x0f, 0x28, 0xf7, 0xd3, 0x0c, 0x23, 0x58, 0x43, + 0x09, 0x50, 0x04, 0x48, 0x41, 0x60, 0x01, 0x60, + 0x02, 0x82, 0x00, 0x21, 0x81, 0x60, 0xc1, 0x60, + 0x10, 0xbd, 0x3c, 0x00, 0xbc, 0x9d, 0x00, 0x00, + 0x84, 0xe2, 0x01, 0x00, 0x44, 0xe3, 0x01, 0x00, + 0x10, 0xb5, 0x08, 0x4c, 0xa0, 0x6a, 0x00, 0x28, + 0x03, 0xd1, 0x07, 0x48, 0xf9, 0xf7, 0xe8, 0xfe, + 0xa0, 0x62, 0x04, 0x48, 0x44, 0x30, 0x00, 0x68, + 0x01, 0x21, 0xf9, 0xf7, 0x95, 0xfc, 0x60, 0x62, + 0x10, 0xbd, 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, + 0xcd, 0x26, 0x01, 0x00, 0xff, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x1e, 0x1c, 0x3c, 0x00, 0xf8, 0x9d, + 0x00, 0x00, 0x81, 0xb0, 0x0a, 0x9f, 0x1c, 0x21, + 0xf6, 0xf7, 0x4d, 0xfb, 0x03, 0x98, 0xa0, 0x61, + 0x25, 0x60, 0x25, 0x61, 0x26, 0x81, 0xa6, 0x82, + 0xe7, 0x60, 0x05, 0xb0, 0xf0, 0xbd, 0x70, 0xb5, + 0x0d, 0x1c, 0xa4, 0x21, 0x04, 0x1c, 0x08, 0x30, + 0xf6, 0xf7, 0x3d, 0xfb, 0x20, 0x1c, 0x44, 0x30, + 0x06, 0x22, 0x29, 0x1c, 0xf6, 0xf7, 0x65, 0xfb, + 0x18, 0x48, 0x3c, 0x23, 0x41, 0x1c, 0x3c, 0x00, + 0x34, 0x9e, 0x00, 0x00, 0x61, 0x62, 0x41, 0x78, + 0x59, 0x43, 0x09, 0x18, 0x89, 0x7a, 0x06, 0x29, + 0x01, 0xd1, 0xa0, 0x62, 0x02, 0xe0, 0x21, 0x1c, + 0x4d, 0x31, 0xa1, 0x62, 0x41, 0x78, 0x3c, 0x23, + 0x59, 0x43, 0x08, 0x18, 0x04, 0x30, 0x0f, 0x49, + 0x20, 0x62, 0x0b, 0x88, 0x00, 0x2b, 0x15, 0xd0, + 0xac, 0x20, 0x00, 0x5d, 0x0b, 0x4a, 0x18, 0x32, + 0x00, 0x02, 0x80, 0x18, 0xb0, 0x30, 0xe0, 0x60, + 0x3c, 0x00, 0x70, 0x9e, 0x00, 0x00, 0x8d, 0x68, + 0x00, 0x20, 0x08, 0xe0, 0xe2, 0x68, 0xc1, 0x00, + 0x54, 0x50, 0xe6, 0x68, 0x82, 0x00, 0x52, 0x19, + 0x71, 0x18, 0x4a, 0x60, 0x01, 0x30, 0x98, 0x42, + 0xf4, 0xdb, 0x70, 0xbd, 0x00, 0x00, 0x68, 0x61, + 0x01, 0x00, 0x58, 0x75, 0x01, 0x00, 0x1f, 0xb5, + 0x04, 0x1c, 0x60, 0x34, 0x61, 0x7a, 0x03, 0x1c, + 0x80, 0x6a, 0x08, 0x4a, 0x02, 0x91, 0x01, 0x90, + 0x03, 0x92, 0x3c, 0x00, 0xac, 0x9e, 0x00, 0x00, + 0xe2, 0x79, 0x18, 0x1c, 0x20, 0x30, 0x00, 0x92, + 0x44, 0x7b, 0x82, 0x7b, 0x5e, 0x20, 0xc1, 0x5a, + 0x18, 0x69, 0x04, 0x30, 0x23, 0x1c, 0x02, 0xf0, + 0x7f, 0xfe, 0x1f, 0xbd, 0x39, 0x4e, 0x00, 0x00, + 0xb0, 0xb5, 0x0b, 0x1c, 0x01, 0x88, 0x69, 0x20, + 0xc0, 0x5c, 0x86, 0xb0, 0x0e, 0x4a, 0x04, 0x91, + 0x03, 0x90, 0x05, 0x92, 0x0d, 0x4d, 0x59, 0x6a, + 0x9a, 0x6a, 0x2d, 0x68, 0x3c, 0x00, 0xe8, 0x9e, + 0x00, 0x00, 0x01, 0x24, 0x00, 0x2d, 0x00, 0xd0, + 0x04, 0x1c, 0x0a, 0x48, 0x00, 0x5d, 0x01, 0x91, + 0x02, 0x92, 0x00, 0x90, 0x18, 0x1c, 0x20, 0x30, + 0x44, 0x7b, 0x82, 0x7b, 0x5e, 0x20, 0xc1, 0x5a, + 0x18, 0x69, 0x04, 0x30, 0x23, 0x1c, 0x02, 0xf0, + 0xa4, 0xfe, 0x06, 0xb0, 0xb0, 0xbd, 0x51, 0x4f, + 0x00, 0x00, 0x18, 0x67, 0x01, 0x00, 0x0a, 0x61, + 0x01, 0x00, 0x01, 0x89, 0x8a, 0x1c, 0x3c, 0x00, + 0x24, 0x9f, 0x00, 0x00, 0x02, 0x81, 0x02, 0x68, + 0x02, 0x3a, 0x02, 0x60, 0x08, 0x0a, 0x09, 0x02, + 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x00, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x08, 0x78, 0x0e, 0x1c, + 0xff, 0x28, 0x14, 0xd0, 0x71, 0x78, 0x02, 0x31, + 0x00, 0x20, 0xf7, 0xf7, 0x45, 0xfb, 0x04, 0x1c, + 0x02, 0x89, 0x00, 0x68, 0x31, 0x1c, 0xf6, 0xf7, + 0xcf, 0xfa, 0x00, 0x2d, 0x06, 0xd0, 0x28, 0x1c, + 0x3c, 0x00, 0x60, 0x9f, 0x00, 0x00, 0xf7, 0xf7, + 0x34, 0xfb, 0x21, 0x1c, 0xf7, 0xf7, 0x57, 0xfa, + 0x00, 0xe0, 0x25, 0x1c, 0x28, 0x1c, 0x70, 0xbd, + 0x00, 0x00, 0xff, 0xb5, 0x0f, 0x1c, 0x1e, 0x1c, + 0x04, 0x1c, 0x98, 0x1c, 0x01, 0x04, 0x09, 0x0c, + 0x00, 0x20, 0x81, 0xb0, 0xf7, 0xf7, 0x27, 0xfb, + 0x05, 0x1c, 0x00, 0x68, 0x00, 0x2c, 0x38, 0x60, + 0x03, 0x99, 0x01, 0x70, 0x38, 0x68, 0x46, 0x70, + 0x06, 0xd0, 0x3c, 0x00, 0x9c, 0x9f, 0x00, 0x00, + 0x20, 0x1c, 0xf7, 0xf7, 0x15, 0xfb, 0x29, 0x1c, + 0xf7, 0xf7, 0x38, 0xfa, 0x00, 0xe0, 0x2c, 0x1c, + 0x20, 0x1c, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0x70, 0xb5, 0x10, 0x48, 0x04, 0x68, 0x04, 0x60, + 0x0f, 0x49, 0x20, 0x20, 0x08, 0x60, 0xa0, 0x05, + 0x0e, 0x4e, 0x02, 0xd5, 0x70, 0x6a, 0xf6, 0xf7, + 0x05, 0xfa, 0xe0, 0x01, 0x02, 0xd5, 0x30, 0x6e, + 0xf6, 0xf7, 0x00, 0xfa, 0x3c, 0x00, 0xd8, 0x9f, + 0x00, 0x00, 0x0a, 0x48, 0x04, 0x40, 0x00, 0x25, + 0x07, 0xe0, 0xe0, 0x07, 0x03, 0xd5, 0xa8, 0x00, + 0x30, 0x58, 0xf6, 0xf7, 0xf6, 0xf9, 0x01, 0x35, + 0x64, 0x08, 0x00, 0x2c, 0xf5, 0xd1, 0x70, 0xbd, + 0x00, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x30, 0x74, 0x01, 0x00, 0xff, 0xfd, + 0xff, 0xfe, 0x80, 0xb5, 0x07, 0x21, 0x80, 0x20, + 0xf7, 0xf7, 0x49, 0xf9, 0x80, 0xbd, 0x3c, 0x00, + 0x14, 0xa0, 0x00, 0x00, 0xf8, 0xb5, 0x14, 0x4b, + 0x82, 0x00, 0x9c, 0x58, 0xca, 0x06, 0x01, 0x27, + 0x39, 0x1c, 0xd2, 0x0e, 0x91, 0x40, 0x11, 0x4a, + 0x11, 0x60, 0x11, 0x4e, 0x40, 0x00, 0x85, 0x19, + 0x15, 0xe0, 0x60, 0x60, 0x20, 0x7b, 0xc1, 0x00, + 0x89, 0x19, 0x10, 0x31, 0x0a, 0x78, 0x0d, 0x23, + 0x9a, 0x43, 0x0a, 0x70, 0x39, 0x1c, 0x81, 0x40, + 0x31, 0x73, 0x07, 0x49, 0x00, 0x01, 0x08, 0x31, + 0x3c, 0x00, 0x50, 0xa0, 0x00, 0x00, 0x40, 0x18, + 0x08, 0x4a, 0x41, 0x68, 0x42, 0x60, 0x80, 0x68, + 0xf6, 0xf7, 0xbe, 0xf9, 0x28, 0x7b, 0x00, 0x28, + 0xe6, 0xd1, 0xf8, 0xbd, 0x00, 0x00, 0xa4, 0x73, + 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, 0x00, 0x60, + 0x07, 0x00, 0xd1, 0x75, 0x00, 0x00, 0x03, 0x49, + 0x01, 0x20, 0x09, 0x7a, 0x00, 0x29, 0x00, 0xd1, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x04, 0x7a, + 0x01, 0x00, 0x3c, 0x00, 0x8c, 0xa0, 0x00, 0x00, + 0x03, 0x49, 0x01, 0x20, 0x89, 0x7a, 0x00, 0x29, + 0x00, 0xd1, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, + 0x14, 0x7a, 0x01, 0x00, 0xb0, 0xb5, 0x00, 0x24, + 0xfa, 0xf7, 0x76, 0xfc, 0x00, 0x28, 0x14, 0xd0, + 0x01, 0x24, 0x08, 0xf0, 0x7d, 0xfe, 0x0a, 0x4d, + 0x0a, 0x4b, 0x00, 0x21, 0x5a, 0x18, 0xa0, 0x32, + 0x12, 0x78, 0x10, 0x2a, 0x06, 0xd3, 0x8a, 0x00, + 0xd2, 0x18, 0x92, 0x6f, 0x3c, 0x00, 0xc8, 0xa0, + 0x00, 0x00, 0x82, 0x1a, 0xaa, 0x42, 0x00, 0xd2, + 0x00, 0x24, 0x01, 0x31, 0x03, 0x29, 0xf0, 0xd3, + 0x20, 0x1c, 0xb0, 0xbd, 0x00, 0x00, 0x8b, 0x08, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x01, 0x48, + 0xc0, 0x68, 0x70, 0x47, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x70, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x16, 0x1c, 0xfd, 0xf7, 0x2e, 0xfe, 0x00, 0x20, + 0xe0, 0x60, 0x26, 0x61, 0xa5, 0x60, 0x3c, 0x00, + 0x04, 0xa1, 0x00, 0x00, 0x70, 0xbd, 0x00, 0x00, + 0xf8, 0xb5, 0x17, 0x1c, 0x0e, 0x1c, 0x04, 0x1c, + 0x00, 0x28, 0x01, 0xd0, 0x00, 0x2e, 0x01, 0xd1, + 0xf7, 0xf7, 0xf2, 0xf8, 0xa0, 0x68, 0x07, 0xf0, + 0x49, 0xf9, 0x05, 0x1c, 0x01, 0xd1, 0xf7, 0xf7, + 0xeb, 0xf8, 0x29, 0x1c, 0x6e, 0x60, 0xaf, 0x60, + 0x20, 0x1c, 0xfd, 0xf7, 0xfd, 0xfd, 0xe0, 0x68, + 0x41, 0x1c, 0xe1, 0x60, 0x00, 0x28, 0x03, 0xd1, + 0x3c, 0x00, 0x40, 0xa1, 0x00, 0x00, 0x05, 0x48, + 0x21, 0x69, 0x05, 0xf0, 0x2c, 0xf9, 0x20, 0x68, + 0xa8, 0x42, 0x02, 0xd1, 0x38, 0x1c, 0xf6, 0xf7, + 0x48, 0xf9, 0xf8, 0xbd, 0x00, 0x00, 0xc4, 0x60, + 0x01, 0x00, 0x00, 0x22, 0x01, 0x39, 0x10, 0xb5, + 0x05, 0xe0, 0x0c, 0x23, 0x53, 0x43, 0x1c, 0x18, + 0x0c, 0x34, 0xc4, 0x50, 0x01, 0x32, 0x8a, 0x42, + 0xf7, 0xd3, 0x00, 0x21, 0x0c, 0x23, 0x5a, 0x43, + 0x81, 0x50, 0x3c, 0x00, 0x7c, 0xa1, 0x00, 0x00, + 0x10, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x01, 0xd1, 0xf7, 0xf7, 0xbb, 0xf8, 0x20, 0x1c, + 0xfd, 0xf7, 0xda, 0xfd, 0x01, 0x1c, 0x85, 0x68, + 0xa0, 0x68, 0x07, 0xf0, 0x09, 0xf9, 0xe0, 0x68, + 0x01, 0x38, 0xe0, 0x60, 0x03, 0xd1, 0x06, 0x48, + 0x21, 0x69, 0x05, 0xf0, 0xe7, 0xf8, 0x21, 0x68, + 0x00, 0x29, 0x03, 0xd0, 0x88, 0x68, 0x49, 0x68, + 0xf6, 0xf7, 0x11, 0xf9, 0x3c, 0x00, 0xb8, 0xa1, + 0x00, 0x00, 0x28, 0x1c, 0xb0, 0xbd, 0xc4, 0x60, + 0x01, 0x00, 0x01, 0x21, 0x00, 0x28, 0x8c, 0xb5, + 0x00, 0xd1, 0x00, 0x21, 0x0e, 0x20, 0x09, 0xf0, + 0x32, 0xfa, 0x83, 0x20, 0x00, 0xab, 0x18, 0x80, + 0x00, 0x20, 0x04, 0xf0, 0x0c, 0xf8, 0x01, 0x90, + 0x68, 0x46, 0x03, 0xf0, 0x7a, 0xf9, 0x8c, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x08, 0xf0, 0xdf, 0xfd, + 0x06, 0x49, 0x0a, 0x89, 0x06, 0x49, 0x3c, 0x00, + 0xf4, 0xa1, 0x00, 0x00, 0x09, 0x6e, 0x41, 0x1a, + 0x0b, 0x0c, 0x59, 0x18, 0x89, 0x1a, 0x09, 0x04, + 0x09, 0x0c, 0x40, 0x1a, 0x80, 0xbd, 0x00, 0x00, + 0x00, 0x90, 0x07, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x70, 0xb5, 0x04, 0x1c, 0x88, 0x7e, 0x0d, 0x1c, + 0x20, 0x28, 0x03, 0xd9, 0x03, 0x21, 0x18, 0x20, + 0xf7, 0xf7, 0x40, 0xf8, 0x00, 0x26, 0x26, 0x76, + 0xa8, 0x7e, 0x29, 0x1c, 0x1b, 0x31, 0x60, 0x76, + 0x3c, 0x00, 0x30, 0xa2, 0x00, 0x00, 0x20, 0x1c, + 0x1d, 0x30, 0xaa, 0x7e, 0xf6, 0xf7, 0x5f, 0xf9, + 0x68, 0x68, 0x29, 0x1c, 0x60, 0x60, 0xa8, 0x68, + 0x13, 0x31, 0xa0, 0x60, 0xa8, 0x7b, 0x06, 0x22, + 0x20, 0x73, 0xe8, 0x7b, 0x60, 0x73, 0x28, 0x7c, + 0xa0, 0x73, 0x68, 0x7c, 0xe0, 0x73, 0xa8, 0x89, + 0x20, 0x82, 0xa8, 0x7c, 0xe0, 0x76, 0x26, 0x77, + 0x20, 0x1c, 0x12, 0x30, 0xa6, 0x76, 0xf6, 0xf7, + 0x46, 0xf9, 0x3c, 0x00, 0x6c, 0xa2, 0x00, 0x00, + 0x60, 0x68, 0x43, 0x1c, 0x1d, 0xd0, 0x11, 0x4d, + 0x6d, 0x61, 0x28, 0x68, 0x00, 0x28, 0x1a, 0xd0, + 0x22, 0x7b, 0x01, 0x1c, 0x0b, 0x7b, 0x9a, 0x42, + 0x01, 0xd3, 0x20, 0x60, 0x14, 0xe0, 0x0b, 0x1c, + 0x09, 0x68, 0x00, 0x29, 0x0b, 0xd0, 0x0e, 0x7b, + 0xb2, 0x42, 0x08, 0xd2, 0x0b, 0x68, 0x00, 0x2b, + 0xf0, 0xd0, 0x1e, 0x7b, 0xb2, 0x42, 0xed, 0xd3, + 0x23, 0x60, 0x0c, 0x60, 0x3c, 0x00, 0xa8, 0xa2, + 0x00, 0x00, 0x01, 0xe0, 0x21, 0x60, 0x1c, 0x60, + 0x00, 0x20, 0x70, 0xbd, 0x26, 0x60, 0x2c, 0x60, + 0xfa, 0xe7, 0xa4, 0x6e, 0x01, 0x00, 0x13, 0x4a, + 0xb0, 0xb5, 0x51, 0x68, 0x01, 0x24, 0x00, 0x29, + 0x1e, 0xd0, 0x13, 0x1d, 0xd1, 0x61, 0x13, 0x62, + 0x43, 0x68, 0x04, 0xe0, 0x10, 0x62, 0x00, 0x68, + 0xd0, 0x61, 0x00, 0x28, 0x14, 0xd0, 0xd0, 0x69, + 0x45, 0x68, 0x9d, 0x42, 0xf6, 0xd1, 0x3c, 0x00, + 0xe4, 0xa2, 0x00, 0x00, 0x10, 0x6a, 0x81, 0x42, + 0x04, 0xd1, 0x51, 0x60, 0xd0, 0x69, 0x00, 0x68, + 0x08, 0x60, 0x02, 0xe0, 0xd1, 0x69, 0x09, 0x68, + 0x01, 0x60, 0xd0, 0x69, 0xfc, 0xf7, 0xce, 0xff, + 0x00, 0x28, 0x00, 0xd0, 0x00, 0x24, 0x20, 0x1c, + 0xb0, 0xbd, 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, + 0xb0, 0xb5, 0x17, 0x4d, 0x01, 0x24, 0x29, 0x68, + 0x00, 0x29, 0x27, 0xd0, 0x6d, 0x61, 0x29, 0x61, + 0x3c, 0x00, 0x20, 0xa3, 0x00, 0x00, 0x43, 0x68, + 0x04, 0xe0, 0x68, 0x61, 0x00, 0x68, 0x28, 0x61, + 0x00, 0x28, 0x1d, 0xd0, 0x28, 0x69, 0x42, 0x68, + 0x9a, 0x42, 0xf6, 0xd1, 0xaa, 0x69, 0x2b, 0x69, + 0x9a, 0x42, 0x00, 0xd1, 0xa9, 0x61, 0x6a, 0x69, + 0x91, 0x42, 0x03, 0xd1, 0x29, 0x60, 0x00, 0x68, + 0x08, 0x60, 0x06, 0xe0, 0x00, 0x68, 0x10, 0x60, + 0x28, 0x68, 0x00, 0x28, 0x01, 0xd1, 0x07, 0xf0, + 0xcc, 0xfe, 0x3c, 0x00, 0x5c, 0xa3, 0x00, 0x00, + 0x28, 0x69, 0xfc, 0xf7, 0x9d, 0xff, 0x00, 0x28, + 0x02, 0xd0, 0x00, 0x24, 0x00, 0xe0, 0x01, 0x24, + 0x20, 0x1c, 0xb0, 0xbd, 0xa4, 0x6e, 0x01, 0x00, + 0xb0, 0xb5, 0x05, 0x1c, 0x07, 0x48, 0x44, 0x68, + 0x07, 0xe0, 0x21, 0x1c, 0x44, 0x31, 0x28, 0x1c, + 0x00, 0xf0, 0xd6, 0xfc, 0x00, 0x28, 0x02, 0xd1, + 0x64, 0x68, 0x00, 0x2c, 0xf5, 0xd1, 0x20, 0x1c, + 0xb0, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xa3, + 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, 0x70, 0xb5, + 0x0d, 0x1c, 0x14, 0x1c, 0x00, 0x28, 0x0b, 0x4e, + 0x08, 0xd0, 0x70, 0x6e, 0x06, 0x23, 0x58, 0x43, + 0x02, 0x04, 0x12, 0x0c, 0x31, 0x1c, 0x28, 0x1c, + 0x22, 0x80, 0x07, 0xe0, 0x21, 0x88, 0x06, 0x20, + 0xf6, 0xf7, 0xa7, 0xf9, 0x70, 0x66, 0x22, 0x88, + 0x29, 0x1c, 0x30, 0x1c, 0xf6, 0xf7, 0x95, 0xf8, + 0x01, 0x20, 0x70, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xa3, 0x00, 0x00, 0x10, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x03, 0x28, 0x03, 0xd8, 0x04, 0x4a, + 0xc0, 0x00, 0x11, 0x50, 0x80, 0xbd, 0x01, 0x21, + 0x26, 0x20, 0xf6, 0xf7, 0x5b, 0xff, 0x80, 0xbd, + 0x7c, 0x79, 0x01, 0x00, 0xb0, 0xb5, 0x05, 0x1c, + 0xc0, 0x68, 0x01, 0x89, 0x39, 0x29, 0x39, 0xd3, + 0x04, 0x68, 0xa0, 0x79, 0x88, 0x28, 0x35, 0xd1, + 0xe0, 0x79, 0x8e, 0x28, 0x32, 0xd1, 0x20, 0x7a, + 0x3c, 0x00, 0x10, 0xa4, 0x00, 0x00, 0x01, 0x28, + 0x2f, 0xd1, 0x60, 0x7a, 0x03, 0x28, 0x2c, 0xd1, + 0x20, 0x7b, 0x02, 0x28, 0x01, 0xd0, 0xfe, 0x28, + 0x27, 0xd1, 0x60, 0x7b, 0x1d, 0x21, 0x08, 0x40, + 0x01, 0x28, 0x22, 0xd1, 0xa0, 0x7b, 0xc8, 0x21, + 0x08, 0x40, 0x08, 0x28, 0x1d, 0xd1, 0xa8, 0x1d, + 0xfb, 0xf7, 0xe1, 0xf9, 0x00, 0x28, 0x18, 0xd0, + 0x19, 0x20, 0x21, 0x5c, 0x00, 0x29, 0x14, 0xd1, + 0x01, 0x30, 0x3c, 0x00, 0x4c, 0xa4, 0x00, 0x00, + 0x39, 0x28, 0xf9, 0xdb, 0x68, 0x8b, 0x04, 0x21, + 0x08, 0x43, 0x68, 0x83, 0x03, 0xf0, 0xd6, 0xfe, + 0x00, 0x28, 0x09, 0xd1, 0x00, 0x23, 0x00, 0x22, + 0x26, 0x20, 0x04, 0x49, 0x09, 0xf0, 0x92, 0xf9, + 0x03, 0x48, 0x00, 0x68, 0x01, 0xf0, 0x84, 0xf9, + 0xb0, 0xbd, 0x00, 0x00, 0x50, 0xc3, 0x00, 0x00, + 0x0c, 0x79, 0x01, 0x00, 0xb0, 0xb5, 0x08, 0x4c, + 0xa3, 0x68, 0x01, 0x33, 0x3c, 0x00, 0x88, 0xa4, + 0x00, 0x00, 0xa3, 0x60, 0x0c, 0x1c, 0x09, 0xd0, + 0x25, 0x68, 0x00, 0x2d, 0x03, 0xd0, 0x23, 0x7a, + 0x61, 0x68, 0xf5, 0xf7, 0xa3, 0xff, 0x20, 0x1c, + 0xf7, 0xf7, 0xa9, 0xf9, 0xb0, 0xbd, 0x94, 0x79, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0xc0, 0x68, + 0x01, 0x89, 0x05, 0x68, 0x08, 0x29, 0x53, 0xd3, + 0x06, 0x22, 0x28, 0x1c, 0x55, 0x49, 0xf5, 0xf7, + 0x9e, 0xff, 0x00, 0x28, 0x37, 0xd1, 0x3c, 0x00, + 0xc4, 0xa4, 0x00, 0x00, 0xe9, 0x88, 0x52, 0x4e, + 0x04, 0x3e, 0x81, 0x29, 0x24, 0xd1, 0xe5, 0x68, + 0x29, 0x68, 0x08, 0x7a, 0x4a, 0x7a, 0x00, 0x02, + 0x80, 0x18, 0x00, 0x04, 0x00, 0x0c, 0x42, 0x0b, + 0x00, 0x05, 0x00, 0x0d, 0xe2, 0x75, 0x20, 0x83, + 0x4b, 0x89, 0x00, 0x20, 0x42, 0x00, 0xb2, 0x5a, + 0x9a, 0x42, 0x06, 0xd1, 0x28, 0x89, 0x0c, 0x38, + 0x02, 0x0a, 0x00, 0x02, 0x10, 0x43, 0x48, 0x81, + 0x3c, 0x00, 0x00, 0xa5, 0x00, 0x00, 0x02, 0xe0, + 0x01, 0x30, 0x02, 0x28, 0xf1, 0xd3, 0xe0, 0x68, + 0x01, 0x89, 0x0a, 0x39, 0x01, 0x81, 0xe0, 0x68, + 0x01, 0x68, 0x0a, 0x31, 0x1c, 0xe0, 0x00, 0x22, + 0x00, 0x20, 0x43, 0x00, 0xf3, 0x5a, 0x8b, 0x42, + 0x01, 0xd1, 0x01, 0x22, 0x02, 0xe0, 0x01, 0x30, + 0x02, 0x28, 0xf6, 0xd3, 0x00, 0x2a, 0x11, 0xd1, + 0x07, 0xe0, 0x36, 0x49, 0x06, 0x22, 0x06, 0x31, + 0x28, 0x1c, 0x3c, 0x00, 0x3c, 0xa5, 0x00, 0x00, + 0xf5, 0xf7, 0x5e, 0xff, 0x00, 0x28, 0x08, 0xd1, + 0xe0, 0x68, 0x01, 0x89, 0x06, 0x39, 0x01, 0x81, + 0xe0, 0x68, 0x01, 0x68, 0x06, 0x31, 0x01, 0x60, + 0x10, 0xe0, 0xe0, 0x68, 0xff, 0xf7, 0xe2, 0xfc, + 0x0c, 0xe0, 0x02, 0x31, 0x01, 0x81, 0xe0, 0x68, + 0x01, 0x68, 0x02, 0x39, 0x01, 0x60, 0xe0, 0x68, + 0x00, 0x89, 0x02, 0x38, 0x02, 0x0a, 0x00, 0x02, + 0x10, 0x43, 0x08, 0x80, 0x3c, 0x00, 0x78, 0xa5, + 0x00, 0x00, 0xe0, 0x68, 0x03, 0x25, 0x02, 0x89, + 0x01, 0x68, 0x24, 0x4e, 0x02, 0x2a, 0x10, 0xd9, + 0x09, 0x88, 0x08, 0x29, 0x05, 0xd0, 0xc1, 0x23, + 0xdb, 0x00, 0x99, 0x42, 0x03, 0xd1, 0x01, 0x25, + 0x02, 0xe0, 0x00, 0x25, 0x00, 0xe0, 0x02, 0x25, + 0xe9, 0x00, 0x71, 0x58, 0x00, 0x29, 0x00, 0xd1, + 0x02, 0x25, 0xf7, 0xf7, 0x04, 0xf8, 0xe9, 0x00, + 0x89, 0x19, 0x89, 0x88, 0x88, 0x42, 0x3c, 0x00, + 0xb4, 0xa5, 0x00, 0x00, 0x00, 0xd9, 0x03, 0x25, + 0xa1, 0x1d, 0x20, 0x1c, 0xfd, 0xf7, 0x34, 0xfc, + 0x00, 0x28, 0x00, 0xd1, 0x03, 0x25, 0x02, 0x2d, + 0x05, 0xd0, 0x03, 0x2d, 0x07, 0xd1, 0xe0, 0x68, + 0xf6, 0xf7, 0xe2, 0xff, 0x70, 0xbd, 0x20, 0x1c, + 0xfd, 0xf7, 0x1c, 0xfd, 0x70, 0xbd, 0xe0, 0x68, + 0x01, 0x89, 0x02, 0x39, 0x01, 0x81, 0xe0, 0x68, + 0x01, 0x68, 0x02, 0x31, 0x01, 0x60, 0xe8, 0x00, + 0x3c, 0x00, 0xf0, 0xa5, 0x00, 0x00, 0x31, 0x58, + 0x20, 0x1c, 0xf5, 0xf7, 0xf1, 0xfe, 0x00, 0x28, + 0xef, 0xd1, 0xe0, 0x68, 0x01, 0x89, 0x02, 0x31, + 0x01, 0x81, 0xe0, 0x68, 0x01, 0x68, 0x02, 0x39, + 0x01, 0x60, 0xe3, 0xe7, 0x00, 0x00, 0x6a, 0x46, + 0x01, 0x00, 0x7c, 0x79, 0x01, 0x00, 0x70, 0xb5, + 0x0e, 0x1c, 0x04, 0x1c, 0x15, 0x1c, 0xf7, 0xf7, + 0x8c, 0xfb, 0x00, 0x28, 0x2a, 0xd0, 0x1b, 0x49, + 0x08, 0x68, 0x3c, 0x00, 0x2c, 0xa6, 0x00, 0x00, + 0x01, 0x30, 0x08, 0x60, 0x00, 0x2e, 0x0a, 0xd0, + 0x01, 0x2e, 0x0b, 0xd0, 0x02, 0x2e, 0x0f, 0xd1, + 0x20, 0x1c, 0x04, 0xf0, 0xcd, 0xf8, 0x20, 0x1c, + 0xff, 0xf7, 0xd6, 0xfe, 0x0c, 0xe0, 0x08, 0x21, + 0xe0, 0x68, 0x02, 0xe0, 0xc1, 0x21, 0xe0, 0x68, + 0xc9, 0x00, 0x04, 0xf0, 0x35, 0xf9, 0x03, 0xe0, + 0x02, 0x21, 0x26, 0x20, 0xf6, 0xf7, 0x20, 0xfe, + 0xe2, 0x7d, 0xe1, 0x6a, 0x3c, 0x00, 0x68, 0xa6, + 0x00, 0x00, 0x28, 0x1c, 0xfc, 0xf7, 0x95, 0xfb, + 0x20, 0x63, 0x00, 0x20, 0x20, 0x62, 0xa0, 0x62, + 0x20, 0x1c, 0x00, 0xf0, 0x6c, 0xfe, 0x70, 0xbd, + 0xe0, 0x68, 0xf6, 0xf7, 0x8a, 0xff, 0x00, 0x2d, + 0xf9, 0xd0, 0xe3, 0x7d, 0x00, 0x22, 0x01, 0x20, + 0xe1, 0x6a, 0xf5, 0xf7, 0xa7, 0xfe, 0x70, 0xbd, + 0x00, 0x00, 0x94, 0x79, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x28, 0x04, 0xd1, 0x05, 0x48, 0x3c, 0x00, + 0xa4, 0xa6, 0x00, 0x00, 0x00, 0x68, 0x01, 0xf0, + 0x09, 0xf9, 0x80, 0xbd, 0x03, 0x21, 0x26, 0x20, + 0xf6, 0xf7, 0xf8, 0xfd, 0x80, 0xbd, 0x00, 0x00, + 0x0c, 0x79, 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, + 0x80, 0x79, 0x00, 0x24, 0xc0, 0x07, 0x2d, 0xd5, + 0xf0, 0x68, 0x00, 0x68, 0x41, 0x7a, 0x11, 0x29, + 0x28, 0xd1, 0xc1, 0x88, 0x0a, 0x0a, 0x09, 0x02, + 0x11, 0x43, 0xc9, 0x04, 0x22, 0xd1, 0x01, 0x78, + 0x3c, 0x00, 0xe0, 0xa6, 0x00, 0x00, 0x11, 0x4f, + 0x09, 0x07, 0x89, 0x0e, 0x08, 0x18, 0x41, 0x88, + 0x0a, 0x0a, 0x09, 0x02, 0x11, 0x43, 0x0d, 0x04, + 0x2d, 0x0c, 0x43, 0x2d, 0x39, 0x68, 0x01, 0xd1, + 0xca, 0x07, 0x0e, 0xd4, 0x44, 0x2d, 0x06, 0xd1, + 0xc9, 0x07, 0x04, 0xd5, 0x24, 0x30, 0x00, 0xf0, + 0x22, 0xfb, 0x00, 0x28, 0x05, 0xd0, 0x06, 0x48, + 0x85, 0x42, 0x06, 0xd1, 0x38, 0x68, 0x80, 0x07, + 0x03, 0xd5, 0x3c, 0x00, 0x1c, 0xa7, 0x00, 0x00, + 0x01, 0x24, 0xf0, 0x68, 0xf6, 0xf7, 0x3a, 0xff, + 0x20, 0x1c, 0xf8, 0xbd, 0x7c, 0x5a, 0x01, 0x00, + 0x6c, 0x07, 0x00, 0x00, 0x80, 0xb5, 0x00, 0x28, + 0x07, 0xd0, 0x00, 0x21, 0x26, 0x20, 0x08, 0xf0, + 0x7b, 0xff, 0x02, 0x48, 0x00, 0x68, 0x01, 0xf0, + 0xbb, 0xf8, 0x80, 0xbd, 0x0c, 0x79, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x09, 0x4a, 0x08, 0x1c, + 0x51, 0x68, 0x01, 0x31, 0x3c, 0x00, 0x58, 0xa7, + 0x00, 0x00, 0x51, 0x60, 0x00, 0x21, 0x21, 0x62, + 0xa1, 0x62, 0xe2, 0x7d, 0xe1, 0x6a, 0xfc, 0xf7, + 0x18, 0xfb, 0x20, 0x63, 0x20, 0x1c, 0xf7, 0xf7, + 0xe6, 0xfa, 0x20, 0x1c, 0x00, 0xf0, 0xef, 0xfd, + 0x10, 0xbd, 0x94, 0x79, 0x01, 0x00, 0x0c, 0xb5, + 0x02, 0x1c, 0x08, 0x1c, 0x00, 0x21, 0x01, 0x91, + 0x00, 0x92, 0x6a, 0x46, 0x01, 0xa9, 0x00, 0xf0, + 0x02, 0xf8, 0x0c, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xa7, 0x00, 0x00, 0x70, 0xb5, 0x13, 0x68, + 0x00, 0x2b, 0x1e, 0xd0, 0x00, 0x26, 0x0b, 0x68, + 0x00, 0x2b, 0x02, 0xd1, 0x13, 0x68, 0x1b, 0x68, + 0x0b, 0x60, 0x13, 0x68, 0x1c, 0x68, 0x1b, 0x89, + 0xe5, 0x18, 0x08, 0xe0, 0x5c, 0x78, 0x1c, 0x19, + 0x02, 0x34, 0x0c, 0x60, 0x1c, 0x78, 0x84, 0x42, + 0x01, 0xd1, 0x18, 0x1c, 0x70, 0xbd, 0x0b, 0x68, + 0xab, 0x42, 0xf3, 0xd3, 0x13, 0x68, 0xdb, 0x68, + 0x3c, 0x00, 0xd0, 0xa7, 0x00, 0x00, 0x13, 0x60, + 0x0e, 0x60, 0x13, 0x68, 0x00, 0x2b, 0xe1, 0xd1, + 0x00, 0x20, 0x70, 0xbd, 0x00, 0x00, 0x70, 0xb5, + 0x03, 0x1c, 0x20, 0xd0, 0x18, 0x68, 0x1e, 0x89, + 0x05, 0x1c, 0x16, 0xe0, 0x04, 0x78, 0xdd, 0x2c, + 0x10, 0xd1, 0x84, 0x78, 0x00, 0x2c, 0x0d, 0xd1, + 0xc4, 0x78, 0x50, 0x2c, 0x0a, 0xd1, 0x04, 0x79, + 0xf2, 0x2c, 0x07, 0xd1, 0x44, 0x79, 0x8c, 0x42, + 0x04, 0xd1, 0x3c, 0x00, 0x0c, 0xa8, 0x00, 0x00, + 0x02, 0x29, 0x0c, 0xd1, 0x84, 0x79, 0x94, 0x42, + 0x09, 0xd0, 0x44, 0x78, 0x20, 0x18, 0x02, 0x30, + 0x44, 0x1b, 0xb4, 0x42, 0xe5, 0xdb, 0xdb, 0x68, + 0x00, 0x2b, 0xde, 0xd1, 0x00, 0x20, 0x70, 0xbd, + 0x04, 0x49, 0x80, 0xb5, 0x0a, 0x78, 0x0a, 0x20, + 0x00, 0x2a, 0x00, 0xd0, 0x48, 0x6a, 0x00, 0xf0, + 0xd1, 0xf8, 0x80, 0xbd, 0x1c, 0x75, 0x01, 0x00, + 0xb0, 0xb5, 0x17, 0x4c, 0x3c, 0x00, 0x48, 0xa8, + 0x00, 0x00, 0x20, 0x68, 0x00, 0x28, 0x29, 0xd0, + 0x16, 0x4d, 0xe8, 0x69, 0x00, 0x28, 0x25, 0xd1, + 0x01, 0xf0, 0x3f, 0xfa, 0x00, 0x28, 0x21, 0xd1, + 0xff, 0xf7, 0x41, 0xfc, 0x00, 0x28, 0x1d, 0xd1, + 0x20, 0x68, 0xa9, 0x69, 0x40, 0x18, 0x08, 0xf0, + 0xd6, 0xf9, 0x00, 0x28, 0x16, 0xd0, 0x02, 0xf0, + 0x06, 0xfd, 0x21, 0x68, 0x40, 0x18, 0x08, 0xf0, + 0xce, 0xf9, 0x00, 0x28, 0x0e, 0xd0, 0x3c, 0x00, + 0x84, 0xa8, 0x00, 0x00, 0x01, 0x20, 0xe8, 0x61, + 0x00, 0x22, 0x25, 0x21, 0x80, 0x20, 0x08, 0xf0, + 0x8f, 0xff, 0x06, 0x48, 0x29, 0x6a, 0x04, 0xf0, + 0x83, 0xfd, 0x01, 0x21, 0x28, 0x6a, 0x00, 0xf0, + 0x89, 0xff, 0xb0, 0xbd, 0xe8, 0x59, 0x01, 0x00, + 0x1c, 0x75, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x00, 0x24, 0xfa, 0xf7, + 0x0b, 0xff, 0x18, 0x4e, 0x71, 0x6a, 0x40, 0x18, + 0x3c, 0x00, 0xc0, 0xa8, 0x00, 0x00, 0x00, 0xf0, + 0x8e, 0xf8, 0x00, 0x28, 0x0b, 0xd1, 0x04, 0xf0, + 0xfe, 0xfb, 0x00, 0x21, 0x25, 0x20, 0x08, 0xf0, + 0xb0, 0xfe, 0x03, 0x22, 0x29, 0x1c, 0x28, 0x1c, + 0x00, 0xf0, 0xaf, 0xf8, 0x18, 0xe0, 0x70, 0x6a, + 0x44, 0x1e, 0x00, 0xf0, 0x7c, 0xf8, 0x00, 0x28, + 0x12, 0xd1, 0x0c, 0x48, 0x31, 0x6a, 0x04, 0xf0, + 0x56, 0xfd, 0x01, 0x21, 0x30, 0x6a, 0x00, 0xf0, + 0x5c, 0xff, 0x3c, 0x00, 0xfc, 0xa8, 0x00, 0x00, + 0x00, 0x20, 0xfa, 0xf7, 0x0d, 0xfe, 0x06, 0xf0, + 0x03, 0xf8, 0x00, 0x23, 0x00, 0x22, 0x25, 0x20, + 0x05, 0x49, 0x08, 0xf0, 0x3f, 0xff, 0x20, 0x1c, + 0x07, 0xf0, 0xfc, 0xfa, 0x70, 0xbd, 0x00, 0x00, + 0x1c, 0x75, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x10, 0x27, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x28, + 0x07, 0xd0, 0x80, 0x28, 0x0d, 0xd1, 0x00, 0x22, + 0x00, 0x21, 0x08, 0x48, 0x3c, 0x00, 0x38, 0xa9, + 0x00, 0x00, 0xf8, 0xf7, 0x9a, 0xfe, 0x80, 0xbd, + 0x01, 0x29, 0x02, 0xd1, 0x06, 0x49, 0x00, 0x20, + 0xc8, 0x61, 0x04, 0xf0, 0xbe, 0xfb, 0x80, 0xbd, + 0x05, 0x21, 0x25, 0x20, 0xf6, 0xf7, 0xa7, 0xfc, + 0x80, 0xbd, 0x61, 0xa9, 0x00, 0x00, 0x1c, 0x75, + 0x01, 0x00, 0x00, 0x21, 0x00, 0x28, 0x80, 0xb5, + 0x01, 0xd1, 0x03, 0x48, 0x41, 0x68, 0x01, 0x22, + 0x25, 0x20, 0x08, 0xf0, 0x2c, 0xfe, 0x3c, 0x00, + 0x74, 0xa9, 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, + 0xe8, 0x59, 0x01, 0x00, 0x02, 0x49, 0xc8, 0x68, + 0x01, 0x38, 0x48, 0x62, 0x70, 0x47, 0x00, 0x00, + 0x1c, 0x75, 0x01, 0x00, 0x38, 0xb5, 0x03, 0x1c, + 0x08, 0x1c, 0x19, 0x1c, 0x11, 0x4b, 0x06, 0xd0, + 0x01, 0x21, 0x11, 0x80, 0x0a, 0x1c, 0x19, 0x1c, + 0xf5, 0xf7, 0xaa, 0xfd, 0x17, 0xe0, 0x0d, 0x4d, + 0x01, 0x1c, 0x2c, 0x78, 0x12, 0x88, 0x18, 0x1c, + 0x3c, 0x00, 0xb0, 0xa9, 0x00, 0x00, 0xf5, 0xf7, + 0xa2, 0xfd, 0x28, 0x78, 0x84, 0x42, 0x0d, 0xd0, + 0x00, 0x23, 0x6b, 0x61, 0x00, 0x28, 0x03, 0xd0, + 0x00, 0x20, 0x07, 0xf0, 0xa4, 0xfa, 0x05, 0xe0, + 0x00, 0x22, 0x00, 0x21, 0x00, 0x20, 0x00, 0x92, + 0xf8, 0xf7, 0x23, 0xfc, 0x01, 0x20, 0x38, 0xbd, + 0x00, 0x00, 0x1c, 0x75, 0x01, 0x00, 0x70, 0xb5, + 0x04, 0x1c, 0x01, 0x26, 0x08, 0xf0, 0xe1, 0xf9, + 0x05, 0x1c, 0x3c, 0x00, 0xec, 0xa9, 0x00, 0x00, + 0x00, 0x20, 0xfa, 0xf7, 0x8b, 0xfd, 0x44, 0x43, + 0x02, 0xf0, 0x40, 0xfc, 0x02, 0xf0, 0x3e, 0xfc, + 0x01, 0x1c, 0x23, 0x1c, 0x00, 0x22, 0x28, 0x1c, + 0x08, 0xf0, 0x7c, 0xfa, 0x00, 0x28, 0x13, 0xd1, + 0x0a, 0x48, 0x23, 0x1c, 0x00, 0x22, 0x81, 0x69, + 0x28, 0x1c, 0x08, 0xf0, 0x73, 0xfa, 0x00, 0x28, + 0x0a, 0xd1, 0xf8, 0xf7, 0x19, 0xfc, 0x01, 0x1c, + 0x23, 0x1c, 0x00, 0x22, 0x3c, 0x00, 0x28, 0xaa, + 0x00, 0x00, 0x28, 0x1c, 0x08, 0xf0, 0x69, 0xfa, + 0x00, 0x28, 0x00, 0xd1, 0x00, 0x26, 0x30, 0x1c, + 0x70, 0xbd, 0x1c, 0x75, 0x01, 0x00, 0x70, 0xb5, + 0x0d, 0x1c, 0x04, 0x1c, 0x16, 0x1c, 0x07, 0xf0, + 0x76, 0xf9, 0x00, 0x28, 0x0d, 0xd0, 0xfa, 0xf7, + 0x52, 0xfe, 0x00, 0x28, 0x09, 0xd0, 0xff, 0x30, + 0x01, 0x30, 0x43, 0x68, 0x00, 0x2b, 0x04, 0xd0, + 0x22, 0x1c, 0x29, 0x1c, 0x30, 0x1c, 0x3c, 0x00, + 0x64, 0xaa, 0x00, 0x00, 0xf5, 0xf7, 0xbb, 0xfc, + 0x70, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x21, + 0x1d, 0x20, 0x08, 0xf0, 0xdf, 0xfd, 0x07, 0x4a, + 0x07, 0x48, 0x11, 0x69, 0x01, 0x60, 0x51, 0x69, + 0x41, 0x60, 0x06, 0x49, 0x49, 0x68, 0x81, 0x60, + 0x00, 0x21, 0xc1, 0x60, 0x03, 0xf0, 0x74, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0x28, 0x61, 0x01, 0x00, + 0x48, 0x75, 0x01, 0x00, 0x90, 0x5c, 0x01, 0x00, + 0x3c, 0x00, 0xa0, 0xaa, 0x00, 0x00, 0x70, 0xb5, + 0x04, 0x1c, 0x40, 0x6b, 0x00, 0x28, 0x35, 0xd0, + 0x1d, 0x4d, 0x00, 0x26, 0x28, 0x78, 0x00, 0x28, + 0x24, 0xd0, 0x41, 0x20, 0x00, 0x5d, 0x00, 0x28, + 0x03, 0xd1, 0x08, 0xf0, 0x76, 0xf9, 0xa8, 0x61, + 0x1b, 0xe0, 0x69, 0x69, 0x01, 0x31, 0x69, 0x61, + 0xa8, 0x68, 0x00, 0x28, 0x08, 0xd0, 0x81, 0x42, + 0x06, 0xd1, 0x20, 0x69, 0x01, 0x1c, 0x10, 0x31, + 0x04, 0x30, 0x3c, 0x00, 0xdc, 0xaa, 0x00, 0x00, + 0x82, 0x22, 0xff, 0xf7, 0xad, 0xff, 0x68, 0x68, + 0x00, 0x28, 0x0a, 0xd0, 0x69, 0x69, 0x81, 0x42, + 0x07, 0xd1, 0x20, 0x69, 0x01, 0x1c, 0x10, 0x31, + 0x04, 0x30, 0x02, 0x22, 0xff, 0xf7, 0xa0, 0xff, + 0x6e, 0x61, 0x68, 0x78, 0x05, 0x21, 0x08, 0x40, + 0x08, 0xd0, 0x07, 0x48, 0x00, 0x78, 0x0e, 0x28, + 0x03, 0xd3, 0x60, 0x34, 0xe0, 0x79, 0xfb, 0xf7, + 0xcf, 0xff, 0x70, 0xbd, 0x3c, 0x00, 0x18, 0xab, + 0x00, 0x00, 0x03, 0x48, 0x06, 0x60, 0x70, 0xbd, + 0x00, 0x00, 0x1c, 0x75, 0x01, 0x00, 0x10, 0x67, + 0x01, 0x00, 0xd4, 0x7e, 0x01, 0x00, 0x80, 0x02, + 0x70, 0x47, 0x14, 0x23, 0x30, 0xb5, 0x09, 0x4d, + 0x4b, 0x43, 0x5b, 0x19, 0x5b, 0x68, 0x08, 0x24, + 0x00, 0x2b, 0x00, 0xd1, 0x02, 0x24, 0x38, 0x23, + 0x5a, 0x43, 0x05, 0x4b, 0x89, 0x00, 0xd2, 0x18, + 0x51, 0x5a, 0x02, 0x68, 0x09, 0x19, 0x3c, 0x00, + 0x54, 0xab, 0x00, 0x00, 0x51, 0x1a, 0x01, 0x60, + 0x30, 0xbd, 0x00, 0x00, 0x74, 0x40, 0x01, 0x00, + 0x8c, 0x41, 0x01, 0x00, 0xf8, 0xb5, 0x07, 0x1c, + 0x2c, 0x48, 0x14, 0x1c, 0x2c, 0x4a, 0x48, 0x43, + 0x86, 0x46, 0x80, 0x18, 0x80, 0x0d, 0x84, 0x46, + 0x2b, 0x48, 0x2a, 0x4a, 0x06, 0x26, 0x1d, 0x1c, + 0x48, 0x43, 0x4a, 0x43, 0x0e, 0x2f, 0x40, 0xd2, + 0x01, 0xa3, 0xdb, 0x5d, 0x5b, 0x00, 0x9f, 0x44, + 0x3c, 0x00, 0x90, 0xab, 0x00, 0x00, 0x06, 0x08, + 0x0a, 0x0f, 0x14, 0x18, 0x1d, 0x20, 0x27, 0x24, + 0x27, 0x2b, 0x2f, 0x31, 0xc8, 0x00, 0x1f, 0xe0, + 0x88, 0x00, 0x1d, 0xe0, 0x21, 0x49, 0x70, 0x46, + 0x40, 0x18, 0x00, 0x0d, 0x18, 0xe0, 0x1f, 0x4a, + 0x80, 0x18, 0x80, 0x0d, 0x40, 0x18, 0x21, 0xe0, + 0x1e, 0x48, 0x10, 0x18, 0x00, 0x0d, 0x1d, 0xe0, + 0x1d, 0x49, 0x70, 0x46, 0x40, 0x18, 0x40, 0x0d, + 0x0a, 0xe0, 0x3c, 0x00, 0xcc, 0xab, 0x00, 0x00, + 0x1b, 0x49, 0x40, 0x18, 0x01, 0xe0, 0x1b, 0x48, + 0x10, 0x18, 0x40, 0x0d, 0x11, 0xe0, 0x1a, 0x49, + 0x40, 0x18, 0x05, 0xe0, 0x60, 0x46, 0x20, 0x80, + 0x00, 0x20, 0x16, 0xe0, 0x17, 0x48, 0x10, 0x18, + 0x80, 0x0d, 0x06, 0xe0, 0x16, 0x49, 0x02, 0xe0, + 0x16, 0x48, 0x48, 0x43, 0x16, 0x49, 0x40, 0x18, + 0xc0, 0x0d, 0x03, 0x30, 0x80, 0x08, 0x80, 0x00, + 0x20, 0x80, 0x2e, 0x80, 0x3c, 0x00, 0x08, 0xac, + 0x00, 0x00, 0xf8, 0xbd, 0xff, 0x21, 0xff, 0x20, + 0xf6, 0xf7, 0x49, 0xfb, 0x00, 0x20, 0x20, 0x80, + 0x28, 0x80, 0xf6, 0xe7, 0x00, 0x00, 0xd1, 0x45, + 0x17, 0x00, 0xff, 0xff, 0x3f, 0x00, 0xe3, 0x38, + 0x0e, 0x00, 0x55, 0x55, 0x15, 0x00, 0xff, 0xff, + 0x0f, 0x00, 0xa9, 0xaa, 0x2a, 0x01, 0x70, 0x1c, + 0x37, 0x00, 0xff, 0xff, 0x1f, 0x00, 0xcb, 0xcc, + 0x4c, 0x00, 0x70, 0x1c, 0x47, 0x00, 0x3c, 0x00, + 0x44, 0xac, 0x00, 0x00, 0xa9, 0xaa, 0x7a, 0x00, + 0x70, 0x1c, 0x67, 0x00, 0xa9, 0xaa, 0xba, 0x00, + 0x84, 0xf6, 0x12, 0x00, 0xec, 0x25, 0xb4, 0x00, + 0x04, 0x49, 0x00, 0x28, 0x01, 0xd0, 0x09, 0x22, + 0x00, 0xe0, 0x14, 0x22, 0x4a, 0x80, 0x48, 0x60, + 0x70, 0x47, 0x00, 0x00, 0xa4, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0x06, 0x22, 0xf5, 0xf7, 0x40, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0xbc, 0xb5, 0x15, 0x1c, + 0x3c, 0x00, 0x80, 0xac, 0x00, 0x00, 0x04, 0x1c, + 0x04, 0x31, 0x09, 0x04, 0x09, 0x0c, 0x01, 0xaa, + 0x6b, 0x46, 0xff, 0xf7, 0x6a, 0xff, 0x38, 0x20, + 0x06, 0x49, 0x68, 0x43, 0x40, 0x18, 0xa1, 0x00, + 0x40, 0x5a, 0x00, 0xab, 0x99, 0x88, 0x40, 0x18, + 0x19, 0x88, 0x40, 0x18, 0x00, 0x04, 0x00, 0x0c, + 0xbc, 0xbd, 0x8c, 0x41, 0x01, 0x00, 0xbc, 0xb5, + 0x04, 0x1c, 0x15, 0x1c, 0x01, 0xaa, 0x6b, 0x46, + 0xff, 0xf7, 0x3c, 0x00, 0xbc, 0xac, 0x00, 0x00, + 0x53, 0xff, 0x38, 0x20, 0x05, 0x49, 0x68, 0x43, + 0x40, 0x18, 0xa1, 0x00, 0x40, 0x5a, 0x00, 0xab, + 0x99, 0x88, 0x40, 0x18, 0x00, 0x04, 0x00, 0x0c, + 0xbc, 0xbd, 0x00, 0x00, 0x8c, 0x41, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x28, 0x0f, 0xd0, 0x00, 0x29, + 0x0d, 0xd0, 0x02, 0x78, 0x0b, 0x78, 0x9a, 0x42, + 0x09, 0xd1, 0xff, 0x2a, 0x05, 0xd0, 0x42, 0x78, + 0x02, 0x32, 0xf5, 0xf7, 0x3c, 0x00, 0xf8, 0xac, + 0x00, 0x00, 0x81, 0xfb, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x06, 0x22, 0x04, 0x49, + 0xf5, 0xf7, 0x75, 0xfb, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0x5e, 0x40, 0x01, 0x00, 0x01, 0x1c, + 0x49, 0x78, 0x01, 0x20, 0x00, 0x29, 0x00, 0xd0, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xad, 0x00, 0x00, 0x80, 0xb5, 0x06, 0x22, + 0xf5, 0xf7, 0x60, 0xfb, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, + 0x80, 0xb5, 0xff, 0xf7, 0xc7, 0xff, 0x80, 0xbd, + 0x80, 0xb5, 0x06, 0x22, 0x04, 0x49, 0xf5, 0xf7, + 0x51, 0xfb, 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, + 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, 0x00, 0x00, + 0x12, 0x61, 0x01, 0x00, 0x01, 0x1c, 0x80, 0x20, + 0x3c, 0x00, 0x70, 0xad, 0x00, 0x00, 0x81, 0x43, + 0x8a, 0x08, 0x0e, 0x20, 0x1c, 0x2a, 0x10, 0xb5, + 0x06, 0xd2, 0x03, 0x4c, 0x52, 0x00, 0xa3, 0x5c, + 0x8b, 0x42, 0x01, 0xd1, 0x10, 0x19, 0x40, 0x78, + 0x10, 0xbd, 0xfc, 0x41, 0x01, 0x00, 0x14, 0x23, + 0x02, 0x49, 0x58, 0x43, 0x40, 0x18, 0x40, 0x68, + 0x70, 0x47, 0x74, 0x40, 0x01, 0x00, 0x20, 0x22, + 0x01, 0x1c, 0x80, 0xb5, 0x02, 0x48, 0xf5, 0xf7, + 0x52, 0xfd, 0x3c, 0x00, 0xac, 0xad, 0x00, 0x00, + 0x80, 0xbd, 0x00, 0x00, 0x48, 0x61, 0x01, 0x00, + 0x08, 0x06, 0x00, 0x0e, 0x02, 0x28, 0x01, 0xd1, + 0x00, 0x20, 0x70, 0x47, 0x01, 0x20, 0x70, 0x47, + 0x00, 0x29, 0x0c, 0xd0, 0x07, 0x49, 0x09, 0x68, + 0x00, 0x29, 0x08, 0xd0, 0x14, 0x23, 0x06, 0x49, + 0x58, 0x43, 0x40, 0x18, 0xc0, 0x68, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xad, + 0x00, 0x00, 0xac, 0x69, 0x01, 0x00, 0x74, 0x40, + 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x06, 0x22, + 0x01, 0x1c, 0x04, 0x48, 0xf5, 0xf7, 0x7d, 0xfb, + 0x06, 0x22, 0x21, 0x1c, 0x03, 0x48, 0xf5, 0xf7, + 0x78, 0xfb, 0x10, 0xbd, 0x00, 0x00, 0x12, 0x61, + 0x01, 0x00, 0x40, 0x80, 0x07, 0x00, 0x00, 0x29, + 0x01, 0xd1, 0x00, 0x20, 0x70, 0x47, 0x38, 0x23, + 0x5a, 0x43, 0x07, 0x4b, 0xd2, 0x18, 0x3c, 0x00, + 0x24, 0xae, 0x00, 0x00, 0x83, 0x00, 0xd2, 0x5a, + 0x14, 0x23, 0x58, 0x43, 0x05, 0x4b, 0xc0, 0x18, + 0x40, 0x88, 0x10, 0x18, 0x08, 0x1a, 0x0a, 0x38, + 0x00, 0x04, 0x00, 0x0c, 0x70, 0x47, 0x00, 0x00, + 0x8c, 0x41, 0x01, 0x00, 0x74, 0x40, 0x01, 0x00, + 0xf8, 0xb5, 0x07, 0x1c, 0x08, 0x1c, 0x16, 0x1c, + 0x1c, 0x1c, 0x19, 0x1c, 0x00, 0xf0, 0x5a, 0xf8, + 0x05, 0x1c, 0x14, 0x35, 0x22, 0x1c, 0x31, 0x1c, + 0x3c, 0x00, 0x60, 0xae, 0x00, 0x00, 0x38, 0x1c, + 0xff, 0xf7, 0x0b, 0xff, 0x28, 0x18, 0x00, 0x04, + 0x00, 0x0c, 0xf8, 0xbd, 0x00, 0x00, 0x00, 0xb5, + 0x00, 0xf0, 0x4b, 0xf8, 0x0a, 0x30, 0x00, 0x04, + 0x00, 0x0c, 0x00, 0xbd, 0x00, 0x00, 0xf8, 0xb5, + 0x07, 0x1c, 0x08, 0x1c, 0x16, 0x1c, 0x1c, 0x1c, + 0x19, 0x1c, 0x00, 0xf0, 0x3e, 0xf8, 0x45, 0x00, + 0x1e, 0x35, 0x22, 0x1c, 0x31, 0x1c, 0x38, 0x1c, + 0xff, 0xf7, 0x3c, 0x00, 0x9c, 0xae, 0x00, 0x00, + 0xef, 0xfe, 0x28, 0x18, 0x00, 0x04, 0x00, 0x0c, + 0xf8, 0xbd, 0x00, 0x00, 0xff, 0xb5, 0x0f, 0x1c, + 0x81, 0xb0, 0x0a, 0xa9, 0x14, 0x1c, 0x1e, 0x1c, + 0x03, 0xc9, 0x00, 0xf0, 0x29, 0xf8, 0x05, 0x1c, + 0x1e, 0x35, 0x21, 0x1c, 0x30, 0x1c, 0x00, 0xf0, + 0x23, 0xf8, 0x2d, 0x18, 0x22, 0x1c, 0x39, 0x1c, + 0x01, 0x98, 0xff, 0xf7, 0xd5, 0xfe, 0x28, 0x18, + 0x00, 0x04, 0x00, 0x0c, 0x3c, 0x00, 0xd8, 0xae, + 0x00, 0x00, 0x05, 0xb0, 0xf0, 0xbd, 0x0a, 0x49, + 0x80, 0xb5, 0x09, 0x88, 0x09, 0x29, 0x04, 0xd0, + 0x14, 0x29, 0x07, 0xd1, 0x01, 0x01, 0x80, 0x00, + 0x00, 0xe0, 0xc1, 0x00, 0x08, 0x18, 0x00, 0x04, + 0x00, 0x0c, 0x80, 0xbd, 0xff, 0x21, 0xff, 0x20, + 0xf6, 0xf7, 0xd1, 0xf9, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0xa6, 0x69, 0x01, 0x00, 0x38, 0x23, + 0x59, 0x43, 0x06, 0x4a, 0x14, 0x23, 0x3c, 0x00, + 0x14, 0xaf, 0x00, 0x00, 0x89, 0x18, 0x82, 0x00, + 0x89, 0x5a, 0x05, 0x4a, 0x58, 0x43, 0x80, 0x18, + 0x40, 0x88, 0x08, 0x18, 0x00, 0x04, 0x00, 0x0c, + 0x70, 0x47, 0x00, 0x00, 0x8c, 0x41, 0x01, 0x00, + 0x74, 0x40, 0x01, 0x00, 0x02, 0x48, 0x03, 0x49, + 0x00, 0x68, 0x40, 0x00, 0x08, 0x5a, 0x70, 0x47, + 0xa8, 0x69, 0x01, 0x00, 0x54, 0x40, 0x01, 0x00, + 0x0a, 0x20, 0x70, 0x47, 0x10, 0xb5, 0x04, 0x1c, + 0x3c, 0x00, 0x50, 0xaf, 0x00, 0x00, 0xfd, 0xf7, + 0x62, 0xff, 0x20, 0x1c, 0x10, 0xbd, 0xb0, 0xb5, + 0x04, 0x1c, 0xc0, 0x68, 0x05, 0x68, 0xa0, 0x1d, + 0xff, 0xf7, 0xf5, 0xfe, 0x00, 0x28, 0x18, 0xd0, + 0x21, 0x1c, 0x14, 0x31, 0x20, 0x1c, 0x08, 0xf0, + 0xe2, 0xfd, 0x00, 0x28, 0x11, 0xd0, 0x29, 0x88, + 0x09, 0x48, 0x20, 0x22, 0x81, 0x82, 0x69, 0x88, + 0x01, 0x83, 0xa9, 0x88, 0x06, 0x35, 0x41, 0x83, + 0xc5, 0x61, 0x3c, 0x00, 0x8c, 0xaf, 0x00, 0x00, + 0x30, 0x21, 0x09, 0x5d, 0x11, 0x54, 0x61, 0x6b, + 0x41, 0x62, 0x01, 0x20, 0xf7, 0xf7, 0x28, 0xf8, + 0x20, 0x1c, 0xb0, 0xbd, 0x70, 0x7c, 0x01, 0x00, + 0x70, 0xb5, 0x04, 0x1c, 0xc0, 0x68, 0x21, 0x1c, + 0x14, 0x31, 0x05, 0x68, 0x20, 0x1c, 0x08, 0xf0, + 0xc1, 0xfd, 0x00, 0x28, 0x08, 0xd0, 0x05, 0x4e, + 0xf0, 0x68, 0x02, 0xf0, 0xcf, 0xfd, 0x28, 0x88, + 0xf0, 0x82, 0x03, 0x20, 0x3c, 0x00, 0xc8, 0xaf, + 0x00, 0x00, 0xf7, 0xf7, 0x10, 0xf8, 0x20, 0x1c, + 0x70, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x3e, 0xb5, + 0x04, 0x1c, 0xc0, 0x68, 0x05, 0x68, 0xa0, 0x1d, + 0xff, 0xf7, 0xb7, 0xfe, 0x00, 0x28, 0x21, 0xd0, + 0x21, 0x1c, 0x14, 0x31, 0x20, 0x1c, 0x02, 0xaa, + 0x08, 0xf0, 0x77, 0xfd, 0x00, 0x28, 0x19, 0xd0, + 0x02, 0x98, 0x4b, 0x21, 0x09, 0x5c, 0x00, 0x29, + 0x10, 0xd0, 0x01, 0x29, 0x14, 0xd0, 0x3c, 0x00, + 0x04, 0xb0, 0x00, 0x00, 0x02, 0x29, 0x0c, 0xd1, + 0x29, 0x88, 0x0d, 0x20, 0x00, 0xab, 0x18, 0x80, + 0x20, 0x1c, 0x03, 0xf0, 0x51, 0xf8, 0x01, 0x90, + 0x68, 0x46, 0x02, 0xf0, 0x5d, 0xfa, 0xf6, 0xf7, + 0xb5, 0xf8, 0x00, 0x21, 0x02, 0x98, 0x06, 0xf0, + 0x9f, 0xfe, 0x20, 0x1c, 0x3e, 0xbd, 0x07, 0xf0, + 0x29, 0xf8, 0x02, 0x98, 0x00, 0x21, 0x80, 0x69, + 0xc2, 0x07, 0xd2, 0x0f, 0x04, 0x20, 0xf6, 0xf7, + 0x3c, 0x00, 0x40, 0xb0, 0x00, 0x00, 0x7f, 0xff, + 0xee, 0xe7, 0x10, 0xb5, 0x04, 0x1c, 0xfd, 0xf7, + 0xe6, 0xfe, 0x20, 0x1c, 0x10, 0xbd, 0x3e, 0xb5, + 0x05, 0x1c, 0x00, 0xf0, 0x40, 0xfe, 0x00, 0x28, + 0x15, 0xd1, 0x28, 0x1c, 0x14, 0x30, 0xfa, 0xf7, + 0xce, 0xfb, 0x00, 0x28, 0x0f, 0xd0, 0x05, 0x21, + 0x28, 0x69, 0xff, 0xf7, 0x86, 0xfb, 0x04, 0x1c, + 0x09, 0xd0, 0x05, 0x22, 0x21, 0x1c, 0x68, 0x46, + 0xf5, 0xf7, 0x3c, 0x00, 0x7c, 0xb0, 0x00, 0x00, + 0x3d, 0xfa, 0x05, 0x34, 0x02, 0x94, 0x68, 0x46, + 0x03, 0xf0, 0x1a, 0xfb, 0x2a, 0x1c, 0x0d, 0x21, + 0x8f, 0x20, 0x08, 0xf0, 0x8f, 0xfb, 0x00, 0x20, + 0x3e, 0xbd, 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0xfa, 0xf7, 0x98, 0xf8, 0x20, 0x1c, 0x05, 0xf0, + 0xe5, 0xf8, 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, + 0xb0, 0xb5, 0x04, 0x1c, 0x00, 0x69, 0x00, 0x21, + 0x94, 0xb0, 0xff, 0xf7, 0x3c, 0x00, 0xb8, 0xb0, + 0x00, 0x00, 0x61, 0xfb, 0x69, 0x46, 0xfb, 0xf7, + 0x26, 0xf8, 0x00, 0x28, 0x1e, 0xd0, 0x00, 0x98, + 0xfa, 0xf7, 0x29, 0xfa, 0x01, 0x1c, 0x01, 0xa8, + 0x02, 0xf0, 0xd7, 0xf9, 0x00, 0x98, 0xfa, 0xf7, + 0xd2, 0xf9, 0x04, 0x90, 0x05, 0x20, 0x09, 0xad, + 0x68, 0x72, 0x02, 0xa8, 0x21, 0x1c, 0x06, 0x22, + 0x02, 0x30, 0xf5, 0xf7, 0x06, 0xfa, 0x01, 0x20, + 0x08, 0x90, 0x21, 0x6a, 0x0a, 0x90, 0x3c, 0x00, + 0xf4, 0xb0, 0x00, 0x00, 0x28, 0x20, 0x09, 0x91, + 0x00, 0x5d, 0x28, 0x72, 0x01, 0xa8, 0x00, 0xf0, + 0x69, 0xf8, 0x20, 0x1c, 0x14, 0xb0, 0xb0, 0xbd, + 0xff, 0xb5, 0x16, 0x1c, 0x1f, 0x1c, 0x81, 0xb0, + 0x0a, 0x9d, 0x4c, 0x20, 0xf6, 0xf7, 0x90, 0xfb, + 0x04, 0x1c, 0x14, 0x30, 0x06, 0x22, 0x02, 0x99, + 0xf5, 0xf7, 0xea, 0xf9, 0x20, 0x1c, 0x06, 0x22, + 0x01, 0x99, 0xf5, 0xf7, 0xe5, 0xf9, 0x28, 0x20, + 0x3c, 0x00, 0x30, 0xb1, 0x00, 0x00, 0x00, 0x21, + 0x06, 0x55, 0xe1, 0x60, 0x27, 0x62, 0x00, 0x2d, + 0x01, 0xd0, 0x8e, 0x20, 0x00, 0xe0, 0x8d, 0x20, + 0x22, 0x1c, 0x0d, 0x21, 0x08, 0xf0, 0x33, 0xfb, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xb0, 0xb5, + 0x05, 0x1c, 0x4c, 0x20, 0xf6, 0xf7, 0x6f, 0xfb, + 0x04, 0x1c, 0x4c, 0x22, 0x29, 0x1c, 0xf5, 0xf7, + 0x26, 0xfa, 0x29, 0x20, 0x40, 0x5d, 0x0d, 0x28, + 0x2c, 0xd2, 0x3c, 0x00, 0x6c, 0xb1, 0x00, 0x00, + 0x01, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, 0x9f, 0x44, + 0x28, 0x1a, 0x28, 0x1e, 0x06, 0x0a, 0x28, 0x28, + 0x0e, 0x28, 0x22, 0x12, 0x16, 0x00, 0x22, 0x1c, + 0x0d, 0x21, 0x8c, 0x20, 0x1a, 0xe0, 0x22, 0x1c, + 0x0d, 0x21, 0x83, 0x20, 0x16, 0xe0, 0x22, 0x1c, + 0x0d, 0x21, 0x84, 0x20, 0x12, 0xe0, 0x22, 0x1c, + 0x0d, 0x21, 0x85, 0x20, 0x0e, 0xe0, 0x22, 0x1c, + 0x0d, 0x21, 0x86, 0x20, 0x3c, 0x00, 0xa8, 0xb1, + 0x00, 0x00, 0x0a, 0xe0, 0x22, 0x1c, 0x0d, 0x21, + 0x87, 0x20, 0x06, 0xe0, 0x22, 0x1c, 0x0d, 0x21, + 0x89, 0x20, 0x02, 0xe0, 0x22, 0x1c, 0x0d, 0x21, + 0x8b, 0x20, 0x08, 0xf0, 0xf6, 0xfa, 0xb0, 0xbd, + 0xe8, 0x68, 0xf6, 0xf7, 0xe6, 0xf9, 0x20, 0x1c, + 0xf6, 0xf7, 0x11, 0xfb, 0xb0, 0xbd, 0xfe, 0xb5, + 0x05, 0x1c, 0x90, 0x20, 0xf6, 0xf7, 0x2d, 0xfb, + 0x04, 0x1c, 0x90, 0x21, 0xf5, 0xf7, 0x3c, 0x00, + 0xe4, 0xb1, 0x00, 0x00, 0x5b, 0xf9, 0x37, 0x4e, + 0x01, 0x27, 0xf0, 0x69, 0x04, 0x28, 0x03, 0xd9, + 0x70, 0x6b, 0x01, 0x30, 0x70, 0x63, 0x4d, 0xe0, + 0x33, 0x48, 0xb1, 0x6b, 0x04, 0xf0, 0xd0, 0xf8, + 0x01, 0x20, 0x20, 0x62, 0xa8, 0x7e, 0x21, 0x1c, + 0x80, 0x31, 0x02, 0x91, 0x08, 0x70, 0x22, 0x1c, + 0x60, 0x32, 0x01, 0x92, 0x00, 0x20, 0x2f, 0x1c, + 0x20, 0x37, 0x90, 0x72, 0x78, 0x7a, 0x2b, 0x1c, + 0x3c, 0x00, 0x20, 0xb2, 0x00, 0x00, 0x14, 0x33, + 0xd0, 0x72, 0xe8, 0x68, 0xaa, 0x1d, 0xa0, 0x60, + 0xe8, 0x6b, 0x48, 0x60, 0x44, 0x20, 0x40, 0x5d, + 0x08, 0x72, 0x29, 0x1c, 0x20, 0x1c, 0x05, 0xf0, + 0xaa, 0xfc, 0x68, 0x6a, 0x00, 0x28, 0x0a, 0xd1, + 0x01, 0x9a, 0x20, 0x1c, 0x93, 0x7a, 0x02, 0x99, + 0x22, 0x1c, 0x70, 0x32, 0x58, 0x30, 0x09, 0x78, + 0xfa, 0xf7, 0xdb, 0xf9, 0x06, 0xe0, 0x3a, 0x7a, + 0x23, 0x1c, 0x3c, 0x00, 0x5c, 0xb2, 0x00, 0x00, + 0xe8, 0x69, 0x29, 0x6a, 0x70, 0x33, 0xfd, 0xf7, + 0x8d, 0xf9, 0x30, 0x20, 0x40, 0x5d, 0x18, 0x49, + 0x07, 0x28, 0x0b, 0xd1, 0x58, 0x20, 0x00, 0x5d, + 0xc0, 0x07, 0xc0, 0x17, 0x01, 0x30, 0xe0, 0x61, + 0x00, 0x20, 0x20, 0x61, 0x20, 0x1c, 0xf7, 0xf7, + 0x3f, 0xff, 0x18, 0xe0, 0x01, 0x22, 0x20, 0x1c, + 0x05, 0xf0, 0xac, 0xff, 0x07, 0x1c, 0x12, 0xd0, + 0x03, 0xf0, 0x06, 0xff, 0x3c, 0x00, 0x98, 0xb2, + 0x00, 0x00, 0xf3, 0x6d, 0x00, 0x2b, 0x06, 0xd0, + 0x60, 0x68, 0x20, 0x30, 0x82, 0x7b, 0x61, 0x6b, + 0x38, 0x1c, 0xf5, 0xf7, 0x99, 0xf8, 0xe8, 0x68, + 0xf6, 0xf7, 0x73, 0xf9, 0x20, 0x1c, 0xf6, 0xf7, + 0x9e, 0xfa, 0xfe, 0xbd, 0xf0, 0x69, 0x01, 0x30, + 0xf0, 0x61, 0xfa, 0xe7, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, 0x05, 0x31, + 0x00, 0x00, 0x70, 0xb5, 0x06, 0x1c, 0x3c, 0x00, + 0xd4, 0xb2, 0x00, 0x00, 0x0d, 0x1c, 0x09, 0x04, + 0x09, 0x0c, 0x00, 0x20, 0xf6, 0xf7, 0x7c, 0xf9, + 0x04, 0x1c, 0x2a, 0x1c, 0x31, 0x1c, 0x00, 0x68, + 0xf5, 0xf7, 0x06, 0xf9, 0x20, 0x1c, 0x70, 0xbd, + 0x40, 0x88, 0x70, 0x47, 0x03, 0x78, 0x1b, 0x07, + 0x9b, 0x0f, 0x0b, 0x70, 0x00, 0x78, 0x00, 0x09, + 0x10, 0x70, 0x70, 0x47, 0x04, 0x30, 0x70, 0x47, + 0x04, 0x30, 0x70, 0x47, 0xd4, 0x21, 0x01, 0x70, + 0x3c, 0x00, 0x10, 0xb3, 0x00, 0x00, 0x00, 0x21, + 0x41, 0x70, 0x70, 0x47, 0x00, 0x00, 0xc4, 0x21, + 0x01, 0x70, 0x00, 0x21, 0x41, 0x70, 0x70, 0x47, + 0x00, 0x00, 0xb4, 0x21, 0x01, 0x70, 0x00, 0x21, + 0x41, 0x70, 0x70, 0x47, 0x00, 0x00, 0x01, 0x49, + 0x48, 0x65, 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x01, 0x49, 0x08, 0x65, 0x70, 0x47, + 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, 0x01, 0x49, + 0x88, 0x65, 0x3c, 0x00, 0x4c, 0xb3, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, + 0xf8, 0xb5, 0x5f, 0x4f, 0x05, 0x1c, 0xb8, 0x68, + 0x01, 0x30, 0xb8, 0x60, 0x07, 0xf0, 0x24, 0xfd, + 0x38, 0x61, 0x90, 0x20, 0xf6, 0xf7, 0x66, 0xfa, + 0x04, 0x1c, 0x90, 0x21, 0xf5, 0xf7, 0x94, 0xf8, + 0x28, 0x6b, 0x27, 0x1c, 0x60, 0x63, 0x68, 0x8b, + 0x80, 0x37, 0x26, 0x1c, 0xc0, 0x07, 0xc0, 0x0f, + 0x20, 0x62, 0x68, 0x8b, 0x3c, 0x00, 0x88, 0xb3, + 0x00, 0x00, 0x60, 0x36, 0x02, 0x21, 0x40, 0x07, + 0xc0, 0x0f, 0x20, 0x63, 0x68, 0x8b, 0x80, 0x07, + 0xc0, 0x0f, 0xf8, 0x60, 0x28, 0x7f, 0x38, 0x70, + 0xb1, 0x72, 0x00, 0x28, 0x08, 0xd1, 0xf9, 0xf7, + 0xc8, 0xff, 0x00, 0x28, 0x02, 0xd0, 0x01, 0x20, + 0x60, 0x62, 0x01, 0xe0, 0x01, 0x20, 0xa0, 0x62, + 0xf8, 0x68, 0x00, 0x28, 0x03, 0xd0, 0x00, 0x21, + 0x02, 0x20, 0x06, 0xf0, 0xcc, 0xff, 0x3c, 0x00, + 0xc4, 0xb3, 0x00, 0x00, 0x2b, 0x1c, 0x10, 0x33, + 0xaa, 0x1d, 0x29, 0x1c, 0x20, 0x1c, 0x05, 0xf0, + 0xdf, 0xfb, 0xa8, 0x6a, 0x00, 0x28, 0x0c, 0xd1, + 0x39, 0x78, 0x02, 0x29, 0x07, 0xd0, 0x22, 0x1c, + 0x70, 0x32, 0x20, 0x1c, 0x58, 0x30, 0xb3, 0x7a, + 0xfa, 0xf7, 0x10, 0xf9, 0x08, 0xe0, 0x01, 0x26, + 0x5e, 0xe0, 0xaa, 0x7d, 0x23, 0x1c, 0x28, 0x6a, + 0x69, 0x6a, 0x70, 0x33, 0xfd, 0xf7, 0xc0, 0xf8, + 0x3c, 0x00, 0x00, 0xb4, 0x00, 0x00, 0xe9, 0x68, + 0x00, 0x20, 0x09, 0x89, 0x00, 0x29, 0x00, 0xd1, + 0x04, 0x20, 0xf0, 0x72, 0x38, 0x78, 0x01, 0x28, + 0x14, 0xd1, 0x00, 0x27, 0x00, 0x90, 0x00, 0x20, + 0x06, 0xe0, 0x29, 0x69, 0x01, 0x29, 0x03, 0xd1, + 0xa9, 0x69, 0x01, 0x27, 0x89, 0x07, 0x1a, 0xd5, + 0x06, 0xf0, 0x79, 0xfc, 0x00, 0x28, 0xf4, 0xd1, + 0x01, 0x2f, 0x14, 0xd1, 0x00, 0x98, 0x01, 0x28, + 0x11, 0xd1, 0x3c, 0x00, 0x3c, 0xb4, 0x00, 0x00, + 0x08, 0xe0, 0x20, 0x1c, 0x58, 0x30, 0x06, 0xf0, + 0xe1, 0xfc, 0x00, 0x28, 0x0a, 0xd0, 0x80, 0x69, + 0x80, 0x07, 0x07, 0xd5, 0xf0, 0x7a, 0x08, 0x21, + 0x08, 0x43, 0xf0, 0x72, 0x01, 0x20, 0xe0, 0x62, + 0xe8, 0x7d, 0x30, 0x73, 0xe8, 0x68, 0xa0, 0x60, + 0xe0, 0x6a, 0x00, 0x28, 0x12, 0xd0, 0x1a, 0x4f, + 0xf8, 0x6b, 0x00, 0x28, 0x0e, 0xd0, 0x30, 0x7b, + 0xf5, 0xf7, 0xde, 0xfe, 0x3c, 0x00, 0x78, 0xb4, + 0x00, 0x00, 0x00, 0x28, 0x09, 0xd0, 0x21, 0x1c, + 0x38, 0x1c, 0x40, 0x30, 0xfc, 0xf7, 0x55, 0xfc, + 0x14, 0x48, 0xb9, 0x6b, 0x03, 0xf0, 0x89, 0xff, + 0xf8, 0xbd, 0x10, 0x4f, 0x12, 0x48, 0xb9, 0x6b, + 0x03, 0xf0, 0x83, 0xff, 0x00, 0x22, 0x20, 0x1c, + 0x10, 0x49, 0x05, 0xf0, 0xa2, 0xfe, 0x06, 0x1c, + 0x03, 0xd1, 0x38, 0x6a, 0x01, 0x30, 0x38, 0x62, + 0xee, 0xe7, 0x20, 0x1c, 0xf6, 0xf7, 0x3c, 0x00, + 0xb4, 0xb4, 0x00, 0x00, 0x9f, 0xf9, 0xe8, 0x68, + 0xf6, 0xf7, 0x6e, 0xf8, 0x03, 0xf0, 0xf2, 0xfd, + 0x04, 0x48, 0x83, 0x6d, 0x00, 0x2b, 0xe2, 0xd0, + 0x00, 0x22, 0x30, 0x1c, 0x29, 0x6b, 0xf4, 0xf7, + 0x86, 0xff, 0xdc, 0xe7, 0xc4, 0x69, 0x01, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x11, 0x30, 0x00, 0x00, 0x10, 0xb5, 0x0a, 0x20, + 0x07, 0xf0, 0xfe, 0xfc, 0x07, 0xf0, 0x5e, 0xfc, + 0x3c, 0x00, 0xf0, 0xb4, 0x00, 0x00, 0x0b, 0x49, + 0x44, 0x18, 0x0c, 0xe0, 0x20, 0x1c, 0x07, 0xf0, + 0x90, 0xfb, 0x00, 0x28, 0x07, 0xd0, 0xf7, 0xf7, + 0x34, 0xf9, 0x00, 0x28, 0x03, 0xd0, 0x12, 0x21, + 0x86, 0x20, 0xf5, 0xf7, 0xca, 0xfe, 0xf7, 0xf7, + 0x2c, 0xf9, 0x00, 0x28, 0xee, 0xd1, 0x01, 0xf0, + 0x80, 0xfd, 0x10, 0xbd, 0x00, 0x00, 0x40, 0x9c, + 0x00, 0x00, 0x10, 0xb5, 0x0c, 0x1c, 0x01, 0x1c, + 0x17, 0x4a, 0x3c, 0x00, 0x2c, 0xb5, 0x00, 0x00, + 0x01, 0x29, 0x50, 0x69, 0x04, 0xd0, 0x80, 0x29, + 0x1d, 0xd0, 0x81, 0x29, 0x21, 0xd1, 0x1c, 0xe0, + 0x91, 0x78, 0x01, 0x29, 0x15, 0xd1, 0x02, 0x21, + 0x91, 0x70, 0x14, 0x1c, 0x01, 0x1c, 0x10, 0x48, + 0x03, 0xf0, 0x28, 0xff, 0x01, 0x21, 0x60, 0x69, + 0x00, 0xf0, 0x2e, 0xf9, 0x60, 0x69, 0x01, 0xf0, + 0x5f, 0xfc, 0x20, 0x70, 0xa0, 0x88, 0xa1, 0x69, + 0x00, 0x23, 0x0a, 0x4a, 0x3c, 0x00, 0x68, 0xb5, + 0x00, 0x00, 0x07, 0xf0, 0x7e, 0xfc, 0x10, 0xbd, + 0x22, 0x21, 0x06, 0xe0, 0x01, 0xf0, 0x1d, 0xfc, + 0x20, 0x1c, 0x00, 0xf0, 0x4a, 0xf8, 0x10, 0xbd, + 0x1c, 0x21, 0x20, 0x20, 0xf5, 0xf7, 0x8f, 0xfe, + 0x10, 0xbd, 0xb4, 0x79, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0x3d, 0x2e, 0x00, 0x00, 0x70, 0xb5, + 0x1c, 0x4c, 0xa0, 0x78, 0x00, 0x28, 0x32, 0xd0, + 0x05, 0x28, 0x30, 0xd0, 0x60, 0x69, 0x3c, 0x00, + 0xa4, 0xb5, 0x00, 0x00, 0x00, 0xf0, 0xea, 0xf8, + 0x18, 0x4e, 0xb5, 0x79, 0xa0, 0x78, 0x01, 0x28, + 0x0b, 0xd0, 0x02, 0x28, 0x0e, 0xd0, 0x03, 0x28, + 0x10, 0xd0, 0x04, 0x28, 0x17, 0xd1, 0x42, 0x1f, + 0x80, 0x21, 0x20, 0x20, 0x08, 0xf0, 0x08, 0xf8, + 0x0e, 0xe0, 0x00, 0x21, 0x20, 0x20, 0x08, 0xf0, + 0x31, 0xf8, 0x0c, 0xe0, 0xa0, 0x88, 0x07, 0xf0, + 0x1d, 0xfc, 0x05, 0xe0, 0x20, 0x78, 0x00, 0xf0, + 0x3c, 0x00, 0xe0, 0xb5, 0x00, 0x00, 0x39, 0xfa, + 0x00, 0x20, 0x00, 0xf0, 0xc4, 0xfd, 0x60, 0x69, + 0x01, 0xf0, 0xe1, 0xfb, 0x05, 0x20, 0xa0, 0x70, + 0xb5, 0x71, 0x60, 0x69, 0x00, 0xf0, 0x61, 0xf9, + 0x00, 0x22, 0x20, 0x21, 0x81, 0x20, 0x08, 0xf0, + 0xd6, 0xf8, 0x70, 0xbd, 0x00, 0x00, 0xb4, 0x79, + 0x01, 0x00, 0x20, 0x10, 0x07, 0x00, 0xb0, 0xb5, + 0x0d, 0x4d, 0x04, 0x1c, 0xa8, 0x78, 0x00, 0x28, + 0x14, 0xd0, 0x3c, 0x00, 0x1c, 0xb6, 0x00, 0x00, + 0x68, 0x69, 0x00, 0xf0, 0x0b, 0xf9, 0x0a, 0x48, + 0x69, 0x69, 0x03, 0xf0, 0xa7, 0xfe, 0xa8, 0x88, + 0x07, 0xf0, 0x9e, 0xfb, 0x00, 0x2c, 0x02, 0xd0, + 0x68, 0x78, 0x00, 0xf0, 0x79, 0xff, 0x00, 0x20, + 0xa8, 0x70, 0xa9, 0x68, 0x20, 0x1c, 0xf4, 0xf7, + 0xca, 0xfe, 0xb0, 0xbd, 0xb4, 0x79, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x06, 0x4b, 0x80, 0xb5, + 0x99, 0x78, 0x03, 0x29, 0x3c, 0x00, 0x58, 0xb6, + 0x00, 0x00, 0x06, 0xd1, 0x04, 0x21, 0x99, 0x70, + 0x20, 0x21, 0x02, 0x1c, 0x80, 0x20, 0x08, 0xf0, + 0xa4, 0xf8, 0x80, 0xbd, 0x00, 0x00, 0xb4, 0x79, + 0x01, 0x00, 0x10, 0xb5, 0x0c, 0x4c, 0xa1, 0x78, + 0x03, 0x29, 0x0f, 0xd1, 0x10, 0x30, 0xfa, 0xf7, + 0xde, 0xf8, 0x00, 0x28, 0x09, 0xd0, 0x20, 0x78, + 0x00, 0xf0, 0xe5, 0xf9, 0x00, 0x20, 0x00, 0xf0, + 0x70, 0xfd, 0x00, 0x21, 0x05, 0x48, 0x3c, 0x00, + 0x94, 0xb6, 0x00, 0x00, 0xfc, 0xf7, 0x9c, 0xfa, + 0x10, 0xbd, 0x1b, 0x21, 0x20, 0x20, 0xf5, 0xf7, + 0x01, 0xfe, 0x10, 0xbd, 0xb4, 0x79, 0x01, 0x00, + 0x51, 0xb6, 0x00, 0x00, 0x09, 0x49, 0x80, 0xb5, + 0x89, 0x78, 0x03, 0x29, 0x09, 0xd1, 0x00, 0xf0, + 0xcd, 0xf9, 0x00, 0x20, 0x00, 0xf0, 0x58, 0xfd, + 0x01, 0x21, 0x05, 0x48, 0xfc, 0xf7, 0x84, 0xfa, + 0x80, 0xbd, 0x17, 0x21, 0x20, 0x20, 0xf5, 0xf7, + 0x3c, 0x00, 0xd0, 0xb6, 0x00, 0x00, 0xe9, 0xfd, + 0x80, 0xbd, 0xb4, 0x79, 0x01, 0x00, 0x51, 0xb6, + 0x00, 0x00, 0x70, 0xb5, 0x10, 0x4c, 0x1d, 0x1c, + 0xa3, 0x78, 0x06, 0x1c, 0x04, 0x98, 0x00, 0x2b, + 0x18, 0xd1, 0x01, 0x23, 0xa3, 0x70, 0x22, 0x61, + 0xe6, 0x60, 0x61, 0x70, 0xa0, 0x60, 0xa5, 0x61, + 0x00, 0x20, 0x07, 0xf0, 0xac, 0xfa, 0xa0, 0x80, + 0x30, 0x1c, 0xf7, 0xf7, 0x3c, 0xfb, 0xe0, 0x80, + 0x07, 0xf0, 0x3c, 0x00, 0x0c, 0xb7, 0x00, 0x00, + 0x4f, 0xfb, 0xc7, 0x21, 0xc9, 0x00, 0x28, 0x1a, + 0x41, 0x1a, 0x00, 0x22, 0x20, 0x20, 0x07, 0xf0, + 0x57, 0xff, 0x70, 0xbd, 0xb4, 0x79, 0x01, 0x00, + 0xb0, 0xb5, 0x04, 0x1c, 0x0d, 0x1c, 0x00, 0xf0, + 0x09, 0xf8, 0x20, 0x1c, 0x00, 0xf0, 0x24, 0xf8, + 0x00, 0x2d, 0x01, 0xd0, 0xff, 0xf7, 0xd4, 0xfe, + 0xb0, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x0c, 0x4c, + 0x05, 0x1c, 0xa0, 0x68, 0x3c, 0x00, 0x48, 0xb7, + 0x00, 0x00, 0x00, 0x28, 0x0f, 0xd1, 0x0a, 0x48, + 0x01, 0x7e, 0x02, 0x22, 0x11, 0x40, 0x61, 0x60, + 0x01, 0x7e, 0x11, 0x43, 0x01, 0x76, 0x07, 0x20, + 0x03, 0xf0, 0x49, 0xfc, 0x20, 0x60, 0x03, 0xf0, + 0x98, 0xff, 0x03, 0xf0, 0xee, 0xff, 0xa0, 0x68, + 0x28, 0x43, 0xa0, 0x60, 0xb0, 0xbd, 0x40, 0x7c, + 0x01, 0x00, 0x0c, 0x80, 0x07, 0x00, 0x0a, 0x49, + 0x38, 0xb5, 0x0a, 0x1c, 0x20, 0x32, 0x3c, 0x00, + 0x84, 0xb7, 0x00, 0x00, 0x94, 0x79, 0x00, 0xab, + 0x1c, 0x70, 0xd2, 0x79, 0x07, 0x4c, 0x5a, 0x70, + 0xe2, 0x68, 0x00, 0x2a, 0x02, 0xd1, 0x06, 0x4d, + 0x01, 0x23, 0x6b, 0x70, 0x10, 0x43, 0xe0, 0x60, + 0x00, 0xab, 0x18, 0x88, 0xc8, 0x84, 0x38, 0xbd, + 0x00, 0x10, 0x07, 0x00, 0x40, 0x7c, 0x01, 0x00, + 0x00, 0x50, 0x07, 0x00, 0xb0, 0xb5, 0x05, 0x1c, + 0x00, 0x29, 0x01, 0xd0, 0x00, 0xf0, 0x28, 0xf8, + 0x3c, 0x00, 0xc0, 0xb7, 0x00, 0x00, 0x06, 0x4c, + 0x60, 0x78, 0x21, 0x69, 0x08, 0x43, 0x03, 0xd1, + 0x01, 0x21, 0x0e, 0x20, 0x06, 0xf0, 0xc5, 0xfd, + 0x20, 0x69, 0x28, 0x43, 0x20, 0x61, 0xb0, 0xbd, + 0x00, 0x00, 0x18, 0x63, 0x01, 0x00, 0xb0, 0xb5, + 0x0a, 0x4c, 0x05, 0x1c, 0x22, 0x69, 0x00, 0x20, + 0x00, 0x2a, 0x0c, 0xd1, 0x00, 0x29, 0x00, 0xd0, + 0x04, 0xe0, 0x60, 0x78, 0x00, 0x28, 0x02, 0xd1, + 0x04, 0xf0, 0x3c, 0x00, 0xfc, 0xb7, 0x00, 0x00, + 0x69, 0xfb, 0x60, 0x70, 0x28, 0x1c, 0x06, 0xf0, + 0xef, 0xfc, 0x01, 0x20, 0xb0, 0xbd, 0x00, 0x00, + 0x18, 0x63, 0x01, 0x00, 0x10, 0xb5, 0x08, 0x4c, + 0x60, 0x78, 0x00, 0x28, 0x0a, 0xd0, 0x06, 0xf0, + 0xe3, 0xfc, 0x00, 0x20, 0x60, 0x70, 0x20, 0x69, + 0x00, 0x28, 0x03, 0xd0, 0x01, 0x21, 0x0e, 0x20, + 0x06, 0xf0, 0x96, 0xfd, 0x10, 0xbd, 0x00, 0x00, + 0x18, 0x63, 0x01, 0x00, 0x3c, 0x00, 0x38, 0xb8, + 0x00, 0x00, 0x09, 0x49, 0x80, 0xb5, 0x0b, 0x69, + 0x83, 0x42, 0x04, 0xd1, 0x4a, 0x78, 0x00, 0x2a, + 0x01, 0xd1, 0x01, 0x22, 0x00, 0xe0, 0x00, 0x22, + 0x83, 0x43, 0x0b, 0x61, 0x00, 0x2a, 0x03, 0xd0, + 0x00, 0x21, 0x0e, 0x20, 0x06, 0xf0, 0x7f, 0xfd, + 0x80, 0xbd, 0x18, 0x63, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x20, 0xf6, 0xf7, 0x56, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x3c, 0x00, + 0x74, 0xb8, 0x00, 0x00, 0x00, 0xf0, 0x04, 0xf8, + 0x20, 0x1c, 0x00, 0xf0, 0x1f, 0xf8, 0x10, 0xbd, + 0xb0, 0xb5, 0x0c, 0x4d, 0x04, 0x1c, 0xa8, 0x68, + 0xa0, 0x42, 0x0f, 0xd1, 0x07, 0x20, 0x29, 0x68, + 0x08, 0xf0, 0x8c, 0xfb, 0x68, 0x68, 0x02, 0x22, + 0x07, 0x49, 0x00, 0x28, 0x08, 0x7e, 0x01, 0xd0, + 0x10, 0x43, 0x00, 0xe0, 0x90, 0x43, 0x08, 0x76, + 0x04, 0xf0, 0xc4, 0xf8, 0xa8, 0x68, 0xa0, 0x43, + 0x3c, 0x00, 0xb0, 0xb8, 0x00, 0x00, 0xa8, 0x60, + 0xb0, 0xbd, 0x40, 0x7c, 0x01, 0x00, 0x0c, 0x80, + 0x07, 0x00, 0x0a, 0x49, 0x38, 0xb5, 0x0a, 0x1c, + 0x20, 0x32, 0x94, 0x79, 0x00, 0xab, 0x1c, 0x70, + 0xd2, 0x79, 0x07, 0x4c, 0x5a, 0x70, 0xe2, 0x68, + 0x82, 0x42, 0x02, 0xd1, 0x06, 0x4d, 0x00, 0x23, + 0x6b, 0x70, 0x82, 0x43, 0xe2, 0x60, 0x00, 0xab, + 0x18, 0x88, 0xc8, 0x84, 0x38, 0xbd, 0x00, 0x10, + 0x07, 0x00, 0x3c, 0x00, 0xec, 0xb8, 0x00, 0x00, + 0x40, 0x7c, 0x01, 0x00, 0x00, 0x50, 0x07, 0x00, + 0xb0, 0xb5, 0x05, 0x1c, 0x0a, 0x4c, 0x00, 0x21, + 0x60, 0x69, 0xff, 0xf7, 0x11, 0xff, 0x04, 0x20, + 0x01, 0xf0, 0x46, 0xf9, 0x01, 0xf0, 0x88, 0xfb, + 0x00, 0x22, 0x04, 0x21, 0x04, 0x20, 0x01, 0xf0, + 0x8b, 0xf8, 0x28, 0x1c, 0x01, 0xf0, 0x4a, 0xfa, + 0x60, 0x69, 0xff, 0xf7, 0xa7, 0xff, 0xb0, 0xbd, + 0x40, 0x7c, 0x01, 0x00, 0x3c, 0x00, 0x28, 0xb9, + 0x00, 0x00, 0x80, 0xb5, 0x01, 0xf0, 0x77, 0xfa, + 0x80, 0xbd, 0xb0, 0xb5, 0x0d, 0x4d, 0x01, 0x21, + 0x28, 0x69, 0xff, 0xf7, 0xf4, 0xfe, 0xff, 0xf7, + 0x2a, 0xfe, 0x00, 0xf0, 0x2c, 0xfb, 0x00, 0xf0, + 0x84, 0xfa, 0x00, 0x24, 0x00, 0x22, 0x04, 0x21, + 0x20, 0x1c, 0x01, 0xf0, 0x6c, 0xf8, 0x01, 0x34, + 0x24, 0x06, 0x24, 0x0e, 0x04, 0x2c, 0xf5, 0xd3, + 0x28, 0x69, 0xff, 0xf7, 0x86, 0xff, 0x3c, 0x00, + 0x64, 0xb9, 0x00, 0x00, 0xb0, 0xbd, 0x00, 0x00, + 0x40, 0x7c, 0x01, 0x00, 0xf8, 0xb5, 0x05, 0x1c, + 0x0e, 0x1c, 0x07, 0x4c, 0x17, 0x1c, 0x01, 0x21, + 0x20, 0x69, 0xff, 0xf7, 0xd3, 0xfe, 0x3a, 0x1c, + 0x31, 0x1c, 0x28, 0x1c, 0x01, 0xf0, 0x52, 0xf8, + 0x20, 0x69, 0xff, 0xf7, 0x71, 0xff, 0xf8, 0xbd, + 0x40, 0x7c, 0x01, 0x00, 0xff, 0xb5, 0x89, 0xb0, + 0x06, 0x1c, 0x16, 0x98, 0x1d, 0x1c, 0x00, 0x28, + 0x3c, 0x00, 0xa0, 0xb9, 0x00, 0x00, 0x01, 0xd0, + 0x29, 0x48, 0x14, 0x90, 0x28, 0x68, 0x00, 0x88, + 0x00, 0x06, 0x80, 0x0e, 0x20, 0x28, 0x01, 0xd0, + 0x14, 0x28, 0x17, 0xd1, 0x0a, 0xaa, 0x18, 0x24, + 0x18, 0x21, 0x05, 0xca, 0xff, 0xf7, 0x77, 0xf9, + 0x07, 0x1c, 0x28, 0x1c, 0x01, 0x89, 0xa1, 0x42, + 0x02, 0xdd, 0x00, 0x68, 0x01, 0x19, 0x0b, 0xe0, + 0xc0, 0x68, 0x64, 0x1a, 0x00, 0x28, 0xf5, 0xd1, + 0x0f, 0x21, 0x3c, 0x00, 0xdc, 0xb9, 0x00, 0x00, + 0x86, 0x20, 0xf5, 0xf7, 0x61, 0xfc, 0x00, 0x21, + 0x01, 0xe0, 0x00, 0x21, 0x00, 0x27, 0x18, 0x48, + 0x08, 0x90, 0x80, 0x79, 0x07, 0x90, 0x0c, 0x20, + 0x16, 0x4a, 0x70, 0x43, 0x80, 0x18, 0x04, 0x79, + 0x04, 0x91, 0x12, 0x99, 0x15, 0x98, 0x14, 0x9a, + 0x01, 0x91, 0x03, 0x90, 0x05, 0x97, 0x00, 0x95, + 0x0a, 0xab, 0x02, 0x92, 0x21, 0x1c, 0x30, 0x1c, + 0x0c, 0xcb, 0xf7, 0xf7, 0x3c, 0x00, 0x18, 0xba, + 0x00, 0x00, 0x03, 0xf9, 0x01, 0x25, 0xb5, 0x40, + 0x0c, 0x4e, 0x08, 0x3e, 0x30, 0x78, 0x28, 0x40, + 0x06, 0xd0, 0x20, 0x1c, 0x00, 0xf0, 0xc9, 0xfd, + 0x30, 0x78, 0xa8, 0x43, 0x30, 0x70, 0x03, 0xe0, + 0x20, 0x1c, 0x13, 0x99, 0x00, 0xf0, 0x43, 0xff, + 0x07, 0xa9, 0x03, 0xc9, 0x88, 0x71, 0x0d, 0xb0, + 0xf0, 0xbd, 0x95, 0x24, 0x00, 0x00, 0x20, 0x10, + 0x07, 0x00, 0x74, 0x7a, 0x01, 0x00, 0x3c, 0x00, + 0x54, 0xba, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x0c, 0x23, 0x09, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x00, 0x79, 0x05, 0x1c, 0x00, 0xf0, 0x92, 0xfe, + 0x28, 0x1c, 0xf7, 0xf7, 0xc7, 0xf8, 0x01, 0x20, + 0x03, 0x4a, 0xa0, 0x40, 0x08, 0x3a, 0x11, 0x78, + 0x81, 0x43, 0x11, 0x70, 0xb0, 0xbd, 0x00, 0x00, + 0x74, 0x7a, 0x01, 0x00, 0x10, 0xb5, 0x05, 0x4c, + 0x20, 0x78, 0x00, 0x28, 0x03, 0xd1, 0x1a, 0x21, + 0x3c, 0x00, 0x90, 0xba, 0x00, 0x00, 0x86, 0x20, + 0xf5, 0xf7, 0x07, 0xfc, 0x20, 0x78, 0x10, 0xbd, + 0x00, 0x00, 0x18, 0x63, 0x01, 0x00, 0x01, 0x48, + 0x40, 0x78, 0x70, 0x47, 0x00, 0x00, 0x2c, 0x63, + 0x01, 0x00, 0x80, 0xb5, 0xf6, 0xf7, 0xd1, 0xfe, + 0x00, 0xf0, 0x1b, 0xf9, 0x80, 0xbd, 0xfe, 0xb5, + 0x01, 0x68, 0x05, 0x1c, 0x0c, 0x68, 0x0e, 0x1c, + 0x21, 0x78, 0x88, 0x07, 0x71, 0xd1, 0x68, 0x69, + 0xc2, 0x07, 0x3c, 0x00, 0xcc, 0xba, 0x00, 0x00, + 0x6e, 0xd5, 0x80, 0x07, 0x6d, 0xd5, 0xe8, 0x7a, + 0xc2, 0x07, 0x08, 0x07, 0x09, 0x09, 0x02, 0x91, + 0x45, 0x49, 0x80, 0x0f, 0xd2, 0x0f, 0x00, 0x28, + 0x4f, 0x68, 0x05, 0xd0, 0x01, 0x28, 0x09, 0xd0, + 0x02, 0x28, 0x21, 0xd0, 0x03, 0x28, 0x5b, 0xd1, + 0xff, 0x23, 0x20, 0x1c, 0xa9, 0x7a, 0xf4, 0xf7, + 0x74, 0xfc, 0x55, 0xe0, 0x02, 0x98, 0x0b, 0x28, + 0x0a, 0xd0, 0x0c, 0x28, 0x3c, 0x00, 0x08, 0xbb, + 0x00, 0x00, 0x0f, 0xd0, 0x0d, 0x28, 0x4e, 0xd1, + 0x39, 0x4f, 0xf8, 0x68, 0xf4, 0xf7, 0x61, 0xfc, + 0x00, 0x20, 0xc0, 0x43, 0x5a, 0xe0, 0x35, 0x4f, + 0xa9, 0x7a, 0xbb, 0x68, 0x20, 0x1c, 0xf4, 0xf7, + 0x5b, 0xfc, 0x40, 0xe0, 0x32, 0x4f, 0x38, 0x69, + 0xf4, 0xf7, 0x53, 0xfc, 0x3b, 0xe0, 0x00, 0x21, + 0x01, 0x91, 0x02, 0x99, 0x00, 0x20, 0xff, 0x23, + 0x09, 0x07, 0x01, 0xd4, 0x01, 0x20, 0x3c, 0x00, + 0x44, 0xbb, 0x00, 0x00, 0x13, 0xe0, 0x31, 0x89, + 0x19, 0x29, 0x01, 0xd3, 0x26, 0x7e, 0x07, 0xe0, + 0x15, 0x29, 0x04, 0xd3, 0x18, 0x26, 0x71, 0x1a, + 0x49, 0x19, 0x0e, 0x7b, 0x00, 0xe0, 0x00, 0x26, + 0xb1, 0x06, 0x02, 0xd4, 0x01, 0x20, 0x73, 0x07, + 0x5b, 0x0f, 0x01, 0x21, 0x01, 0x91, 0x00, 0x28, + 0x03, 0xd0, 0xa9, 0x7a, 0x20, 0x1c, 0xf4, 0xf7, + 0x36, 0xfc, 0x01, 0x99, 0x01, 0x29, 0x15, 0xd1, + 0x3c, 0x00, 0x80, 0xbb, 0x00, 0x00, 0xf0, 0x06, + 0xc6, 0x0f, 0x20, 0x88, 0x1b, 0x4f, 0xe4, 0x8a, + 0xf9, 0x6b, 0x00, 0x05, 0xc0, 0x0f, 0x00, 0x29, + 0x1a, 0xd0, 0x4b, 0x1c, 0x18, 0xd0, 0x00, 0x2e, + 0x0a, 0xd0, 0x00, 0x28, 0x08, 0xd0, 0x38, 0x88, + 0x84, 0x42, 0x13, 0xd0, 0x02, 0x98, 0x0c, 0x28, + 0x01, 0xe0, 0x1d, 0xe0, 0x12, 0xe0, 0x0d, 0xd0, + 0x08, 0x1c, 0x01, 0xf0, 0x76, 0xf9, 0x00, 0x28, + 0x03, 0xd1, 0x3c, 0x00, 0xbc, 0xbb, 0x00, 0x00, + 0x00, 0xf0, 0xa6, 0xfa, 0xf4, 0xf7, 0x0a, 0xfc, + 0x00, 0x20, 0xc0, 0x43, 0xf8, 0x63, 0x00, 0x2e, + 0x0d, 0xd0, 0x3c, 0x80, 0x00, 0x20, 0xf8, 0x63, + 0x09, 0xe0, 0x20, 0x88, 0x00, 0x06, 0x80, 0x0e, + 0x20, 0x28, 0x04, 0xd1, 0x04, 0x4f, 0x20, 0x1c, + 0xb9, 0x6a, 0xf4, 0xf7, 0xf8, 0xfb, 0x29, 0x1c, + 0x02, 0x48, 0xfb, 0xf7, 0xef, 0xff, 0xfe, 0xbd, + 0x28, 0x7a, 0x01, 0x00, 0x3c, 0x00, 0xf8, 0xbb, + 0x00, 0x00, 0xa5, 0x9a, 0x00, 0x00, 0x03, 0x48, + 0x80, 0xb5, 0x00, 0x78, 0x00, 0x21, 0x00, 0xf0, + 0xfc, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0x18, 0x63, + 0x01, 0x00, 0x04, 0x4b, 0x05, 0x49, 0x00, 0x28, + 0x1a, 0x68, 0x00, 0xd0, 0x01, 0x1c, 0x10, 0x1c, + 0x19, 0x60, 0x70, 0x47, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x95, 0x75, 0x00, 0x00, 0x05, 0x48, + 0x80, 0xb5, 0x00, 0x7f, 0x24, 0x23, 0x3c, 0x00, + 0x34, 0xbc, 0x00, 0x00, 0x04, 0x49, 0x58, 0x43, + 0x40, 0x18, 0xc0, 0x69, 0xf4, 0xf7, 0xcc, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0xd4, 0x79, 0x01, 0x00, + 0x94, 0x46, 0x01, 0x00, 0x02, 0x1c, 0x06, 0x48, + 0x80, 0xb5, 0x81, 0x62, 0x82, 0x60, 0x00, 0x7f, + 0x24, 0x23, 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x80, 0x69, 0xf4, 0xf7, 0xb9, 0xfb, 0x80, 0xbd, + 0xd4, 0x79, 0x01, 0x00, 0x94, 0x46, 0x01, 0x00, + 0x3c, 0x00, 0x70, 0xbc, 0x00, 0x00, 0x80, 0xb5, + 0x00, 0x20, 0x00, 0xf0, 0x3c, 0xfb, 0x00, 0x20, + 0x00, 0xf0, 0x6d, 0xfa, 0x00, 0xf0, 0x65, 0xfa, + 0x04, 0x49, 0xc8, 0x6a, 0x01, 0x30, 0xc8, 0x62, + 0x08, 0x1f, 0x00, 0x88, 0x07, 0xf0, 0xc1, 0xf8, + 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, 0x06, 0x48, + 0x80, 0xb5, 0x00, 0x21, 0x01, 0x77, 0xc1, 0x6a, + 0x01, 0x31, 0xc1, 0x62, 0x04, 0x38, 0x00, 0x88, + 0x07, 0xf0, 0x3c, 0x00, 0xac, 0xbc, 0x00, 0x00, + 0xb3, 0xf8, 0x03, 0xf0, 0xd1, 0xf9, 0x80, 0xbd, + 0xd4, 0x79, 0x01, 0x00, 0x80, 0xb5, 0x05, 0xf0, + 0xe9, 0xfa, 0x80, 0xbd, 0x80, 0xb5, 0x00, 0x28, + 0x03, 0xd1, 0x01, 0x20, 0x04, 0xf0, 0x22, 0xfa, + 0x80, 0xbd, 0x01, 0x20, 0x03, 0xf0, 0xe6, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x03, 0x49, 0x01, 0x20, + 0x49, 0x78, 0x00, 0x29, 0x00, 0xd0, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xbc, + 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, 0x70, 0xb5, + 0x13, 0x4d, 0x28, 0x78, 0x00, 0x28, 0x20, 0xd1, + 0x01, 0x21, 0x2e, 0x1c, 0x70, 0x68, 0xff, 0xf7, + 0x12, 0xfd, 0x00, 0x21, 0x07, 0x20, 0x06, 0xf0, + 0x2a, 0xfb, 0x0d, 0x48, 0x00, 0x24, 0x04, 0x71, + 0x04, 0xf0, 0xed, 0xf8, 0x06, 0xf0, 0xd5, 0xf9, + 0x01, 0x20, 0x28, 0x70, 0x0a, 0x48, 0x04, 0x60, + 0x44, 0x60, 0xf6, 0xf7, 0x4c, 0xfd, 0x3c, 0x00, + 0x24, 0xbd, 0x00, 0x00, 0xf7, 0xf7, 0x5e, 0xf8, + 0xff, 0xf7, 0xa2, 0xff, 0x00, 0xf0, 0xa8, 0xfd, + 0x05, 0x48, 0x71, 0x68, 0x03, 0xf0, 0x20, 0xfb, + 0x01, 0x20, 0x70, 0xbd, 0x2c, 0x63, 0x01, 0x00, + 0x50, 0x00, 0x07, 0x00, 0x80, 0x00, 0x07, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0xb0, 0xb5, 0x1e, 0x4c, + 0x20, 0x78, 0x01, 0x28, 0x35, 0xd1, 0x25, 0x1c, + 0x69, 0x68, 0x1c, 0x48, 0x03, 0xf0, 0x20, 0xfb, + 0x3c, 0x00, 0x60, 0xbd, 0x00, 0x00, 0x04, 0xf0, + 0xf0, 0xf8, 0x1a, 0x48, 0x01, 0x68, 0x49, 0x08, + 0x49, 0x00, 0x01, 0x60, 0x01, 0x68, 0x01, 0x22, + 0x11, 0x43, 0x01, 0x60, 0x00, 0xf0, 0x2b, 0xfe, + 0x00, 0xf0, 0x1b, 0xfc, 0x06, 0xf0, 0x99, 0xf8, + 0xf6, 0xf7, 0x29, 0xfe, 0xf6, 0xf7, 0x2d, 0xfc, + 0x00, 0x20, 0x20, 0x70, 0xff, 0xf7, 0x83, 0xff, + 0x00, 0xf0, 0x8b, 0xfd, 0x0f, 0x48, 0x81, 0x78, + 0x08, 0x22, 0x3c, 0x00, 0x9c, 0xbd, 0x00, 0x00, + 0x91, 0x43, 0x81, 0x70, 0x81, 0x78, 0x11, 0x43, + 0x81, 0x70, 0x0c, 0x49, 0x10, 0x20, 0x08, 0x71, + 0x68, 0x68, 0xff, 0xf7, 0x5f, 0xfd, 0xf7, 0xf7, + 0x39, 0xf8, 0xf6, 0xf7, 0x4d, 0xfd, 0x01, 0x21, + 0x07, 0x20, 0x06, 0xf0, 0xcd, 0xfa, 0x01, 0x20, + 0xb0, 0xbd, 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0xf0, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x07, 0x00, 0x3c, 0x00, 0xd8, 0xbd, + 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x03, 0x49, + 0x01, 0x20, 0x89, 0x7a, 0x01, 0x29, 0x00, 0xd0, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x14, 0x7a, + 0x01, 0x00, 0xb0, 0xb5, 0x15, 0x4d, 0x04, 0x1c, + 0x28, 0x7a, 0x00, 0x28, 0x20, 0xd1, 0xf9, 0xf7, + 0x00, 0xfc, 0x02, 0x28, 0x1c, 0xd1, 0x01, 0x20, + 0x28, 0x72, 0xe8, 0x68, 0x00, 0x28, 0x10, 0xd0, + 0x20, 0x68, 0x29, 0x68, 0x08, 0x60, 0x3c, 0x00, + 0x14, 0xbe, 0x00, 0x00, 0x69, 0x68, 0x0d, 0x48, + 0x03, 0xf0, 0xc2, 0xfa, 0x01, 0x21, 0x68, 0x68, + 0xff, 0xf7, 0xc8, 0xfc, 0x00, 0x22, 0x24, 0x20, + 0x61, 0x68, 0x07, 0xf0, 0xcf, 0xfb, 0xb0, 0xbd, + 0x00, 0x20, 0x28, 0x72, 0x21, 0x68, 0x01, 0x20, + 0xf4, 0xf7, 0xcf, 0xfa, 0xb0, 0xbd, 0x00, 0x20, + 0x21, 0x68, 0xf4, 0xf7, 0xca, 0xfa, 0xb0, 0xbd, + 0x04, 0x7a, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x3c, 0x00, 0x50, 0xbe, 0x00, 0x00, 0x04, 0x48, + 0x80, 0xb5, 0x00, 0x7a, 0x01, 0x28, 0x02, 0xd1, + 0x00, 0x20, 0x02, 0xf0, 0xf0, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x04, 0x7a, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x28, 0x07, 0xd0, 0x80, 0x28, 0x09, 0xd1, + 0x07, 0x48, 0x00, 0x7a, 0x00, 0x28, 0x04, 0xd0, + 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, 0x02, 0xf0, + 0xde, 0xfe, 0x80, 0xbd, 0x0e, 0x21, 0x24, 0x20, + 0xf5, 0xf7, 0x3c, 0x00, 0x8c, 0xbe, 0x00, 0x00, + 0x0b, 0xfa, 0x80, 0xbd, 0x04, 0x7a, 0x01, 0x00, + 0xf8, 0xb5, 0x3a, 0x4e, 0x05, 0x1c, 0xb0, 0x7a, + 0x00, 0x28, 0x69, 0xd1, 0xf9, 0xf7, 0xae, 0xfb, + 0x02, 0x28, 0x65, 0xd1, 0x36, 0x48, 0x00, 0x68, + 0x00, 0x28, 0x61, 0xd0, 0x35, 0x48, 0x71, 0x68, + 0x03, 0xf0, 0x74, 0xfa, 0x01, 0x21, 0x70, 0x68, + 0xff, 0xf7, 0x7a, 0xfc, 0x6c, 0x20, 0xf5, 0xf7, + 0xb9, 0xfc, 0x04, 0x1c, 0x3c, 0x00, 0xc8, 0xbe, + 0x00, 0x00, 0x6c, 0x21, 0xf4, 0xf7, 0xe7, 0xfa, + 0x30, 0x68, 0x2c, 0x22, 0x04, 0x60, 0x29, 0x68, + 0x81, 0x60, 0x69, 0x68, 0xc1, 0x60, 0x00, 0x21, + 0x11, 0x54, 0x81, 0x62, 0xa9, 0x68, 0x00, 0x29, + 0x02, 0xd0, 0xe9, 0x68, 0x01, 0x61, 0x05, 0xe0, + 0x06, 0xf0, 0x5d, 0xff, 0x69, 0x68, 0x40, 0x18, + 0x31, 0x68, 0x08, 0x61, 0x70, 0x68, 0xff, 0xf7, + 0x14, 0xfd, 0x69, 0x21, 0x08, 0x55, 0x3c, 0x00, + 0x04, 0xbf, 0x00, 0x00, 0x00, 0x20, 0xf9, 0xf7, + 0x09, 0xfb, 0x01, 0x27, 0x3b, 0x1c, 0x06, 0x1c, + 0x22, 0x1c, 0x24, 0x32, 0x00, 0x21, 0xf9, 0xf7, + 0x79, 0xfb, 0x1c, 0x48, 0x03, 0x21, 0x00, 0x88, + 0x89, 0x03, 0x08, 0x43, 0x21, 0x1c, 0x40, 0x31, + 0x00, 0x91, 0x48, 0x83, 0x18, 0x48, 0x10, 0x21, + 0x60, 0x60, 0x18, 0x48, 0xa0, 0x60, 0xa7, 0x63, + 0x67, 0x63, 0x00, 0x20, 0xf5, 0xf7, 0x4c, 0xfb, + 0x3c, 0x00, 0x40, 0xbf, 0x00, 0x00, 0xe0, 0x60, + 0x02, 0x89, 0x00, 0x99, 0xca, 0x83, 0x07, 0x68, + 0x31, 0x1c, 0x38, 0x1d, 0x27, 0x61, 0xfe, 0xf7, + 0x8e, 0xfe, 0x38, 0x1c, 0x0a, 0x30, 0x0f, 0x49, + 0xfe, 0xf7, 0x89, 0xfe, 0xa4, 0x20, 0x38, 0x80, + 0x00, 0x20, 0x04, 0xf0, 0xde, 0xfb, 0x00, 0x22, + 0x1f, 0x20, 0x69, 0x68, 0x07, 0xf0, 0x2d, 0xfb, + 0xf8, 0xbd, 0xff, 0xe7, 0x00, 0x20, 0x29, 0x68, + 0xf4, 0xf7, 0x3c, 0x00, 0x7c, 0xbf, 0x00, 0x00, + 0x2e, 0xfa, 0xf8, 0xe7, 0x14, 0x7a, 0x01, 0x00, + 0x80, 0x5a, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0xfa, 0x60, 0x01, 0x00, 0x99, 0xec, 0x00, 0x00, + 0x15, 0xed, 0x00, 0x00, 0x12, 0x61, 0x01, 0x00, + 0x06, 0x48, 0x80, 0xb5, 0x81, 0x7a, 0x00, 0x29, + 0x07, 0xd0, 0x00, 0x68, 0x04, 0x22, 0x20, 0x30, + 0x01, 0x7b, 0x11, 0x43, 0x01, 0x73, 0x02, 0xf0, + 0x6b, 0xfd, 0x80, 0xbd, 0x3c, 0x00, 0xb8, 0xbf, + 0x00, 0x00, 0x14, 0x7a, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x4c, 0xa0, 0x7a, 0x01, 0x28, 0x03, 0xd1, + 0x06, 0xf0, 0xf1, 0xfe, 0x21, 0x68, 0x88, 0x61, + 0x10, 0xbd, 0x14, 0x7a, 0x01, 0x00, 0x03, 0x1c, + 0x08, 0x1c, 0x1f, 0x49, 0x70, 0xb5, 0x0a, 0x68, + 0x01, 0x2b, 0x1c, 0xd0, 0x80, 0x2b, 0x05, 0xd0, + 0x83, 0x2b, 0x30, 0xd1, 0x88, 0x7a, 0x00, 0x28, + 0x14, 0xd0, 0x29, 0xe0, 0x53, 0x69, 0x3c, 0x00, + 0xf4, 0xbf, 0x00, 0x00, 0x00, 0x2b, 0x0e, 0xd0, + 0x94, 0x69, 0xd5, 0x69, 0x2e, 0x1b, 0x0c, 0x69, + 0x5d, 0x1b, 0x36, 0x1b, 0xb6, 0x10, 0xa4, 0x19, + 0x0c, 0x61, 0xcc, 0x68, 0x2d, 0x1b, 0xad, 0x10, + 0x64, 0x19, 0xcc, 0x60, 0x93, 0x61, 0x02, 0xf0, + 0x81, 0xfd, 0x70, 0xbd, 0x02, 0x28, 0x12, 0xd1, + 0x90, 0x6a, 0x0c, 0x1c, 0x00, 0x28, 0xf8, 0xd0, + 0x07, 0xf0, 0x0e, 0xfa, 0xa0, 0x7a, 0x01, 0x28, + 0x3c, 0x00, 0x30, 0xc0, 0x00, 0x00, 0xf3, 0xd1, + 0x20, 0x68, 0x81, 0x6a, 0x00, 0x29, 0xef, 0xd1, + 0x20, 0x30, 0x01, 0x7b, 0x08, 0x22, 0x11, 0x43, + 0x01, 0x73, 0x70, 0xbd, 0x02, 0xf0, 0x21, 0xfd, + 0x70, 0xbd, 0x0e, 0x21, 0x1f, 0x20, 0xf5, 0xf7, + 0x28, 0xf9, 0x70, 0xbd, 0x00, 0x00, 0x14, 0x7a, + 0x01, 0x00, 0x02, 0x49, 0x0c, 0x31, 0x03, 0xc9, + 0x40, 0x18, 0x70, 0x47, 0x00, 0x00, 0x14, 0x7a, + 0x01, 0x00, 0x3c, 0x00, 0x6c, 0xc0, 0x00, 0x00, + 0x05, 0x48, 0x80, 0xb5, 0x00, 0x68, 0x04, 0x22, + 0x20, 0x30, 0x01, 0x7b, 0x11, 0x43, 0x01, 0x73, + 0x07, 0xf0, 0xe4, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0x14, 0x7a, 0x01, 0x00, 0x70, 0xb5, 0x16, 0x4c, + 0x0e, 0x1c, 0xa1, 0x7a, 0x00, 0x29, 0x1c, 0xd0, + 0x21, 0x68, 0x08, 0x61, 0x07, 0xf0, 0x32, 0xfa, + 0x00, 0x28, 0x17, 0xd0, 0x20, 0x68, 0x00, 0x25, + 0x05, 0x62, 0x00, 0x22, 0x3c, 0x00, 0xa8, 0xc0, + 0x00, 0x00, 0x83, 0x21, 0x1f, 0x20, 0x07, 0xf0, + 0x94, 0xfa, 0x60, 0x68, 0xff, 0xf7, 0x03, 0xfc, + 0x21, 0x68, 0x04, 0x22, 0x20, 0x31, 0x08, 0x7b, + 0x2b, 0x1c, 0x90, 0x43, 0x08, 0x73, 0x31, 0x1c, + 0x00, 0x22, 0x1f, 0x20, 0x07, 0xf0, 0x61, 0xfb, + 0x70, 0xbd, 0x20, 0x68, 0x08, 0x22, 0x20, 0x30, + 0x01, 0x7b, 0x11, 0x43, 0x01, 0x73, 0x02, 0xf0, + 0xd6, 0xfc, 0x70, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xc0, 0x00, 0x00, 0x14, 0x7a, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0x77, 0xfc, 0x00, 0xf0, + 0x6f, 0xfc, 0x00, 0xf0, 0x29, 0xff, 0x00, 0xf0, + 0x5d, 0xfa, 0x00, 0xf0, 0xc5, 0xf8, 0x00, 0xf0, + 0x85, 0xff, 0x80, 0xbd, 0x80, 0xb5, 0xfa, 0xf7, + 0x85, 0xfa, 0x80, 0xbd, 0x01, 0x48, 0xc0, 0x68, + 0x70, 0x47, 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, + 0x03, 0x49, 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, + 0x3c, 0x00, 0x20, 0xc1, 0x00, 0x00, 0x02, 0x48, + 0xc1, 0x60, 0x70, 0x47, 0x00, 0x00, 0x81, 0x75, + 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, 0x01, 0x48, + 0x02, 0x49, 0xc8, 0x60, 0x70, 0x47, 0x81, 0x75, + 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, 0x01, 0x49, + 0x88, 0x61, 0x70, 0x47, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x01, 0x49, 0x00, 0x20, 0x88, 0x61, + 0x70, 0x47, 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, + 0x00, 0x28, 0x3c, 0x00, 0x5c, 0xc1, 0x00, 0x00, + 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, 0xc1, 0x61, + 0x70, 0x47, 0x00, 0x00, 0x89, 0x75, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, 0x00, 0x28, + 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, 0x81, 0x62, + 0x70, 0x47, 0x00, 0x00, 0x8d, 0x75, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, 0x00, 0x28, + 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, 0x01, 0x62, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xc1, + 0x00, 0x00, 0x91, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x03, 0x49, 0x00, 0x28, 0x00, 0xd0, + 0x01, 0x1c, 0x02, 0x48, 0x01, 0x61, 0x70, 0x47, + 0x00, 0x00, 0x99, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x01, 0x48, 0x02, 0x49, 0x08, 0x61, + 0x70, 0x47, 0x81, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x02, 0x1c, 0x08, 0x1c, 0x80, 0x2a, + 0x80, 0xb5, 0x02, 0xd1, 0x00, 0xf0, 0x3c, 0x00, + 0xd4, 0xc1, 0x00, 0x00, 0x07, 0xf8, 0x80, 0xbd, + 0x1e, 0x21, 0x21, 0x20, 0xf5, 0xf7, 0x62, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x10, 0x4d, + 0x04, 0x1c, 0xa8, 0x6b, 0x01, 0x30, 0xa8, 0x63, + 0x69, 0x6b, 0x09, 0x1a, 0x28, 0x1c, 0x00, 0x6b, + 0x0c, 0x29, 0x03, 0xd9, 0x00, 0x21, 0xff, 0xf7, + 0x91, 0xfa, 0x03, 0xe0, 0x08, 0x29, 0x01, 0xd1, + 0xff, 0xf7, 0x32, 0xfb, 0x20, 0x1c, 0x00, 0xf0, + 0x3c, 0x00, 0x10, 0xc2, 0x00, 0x00, 0x4d, 0xf9, + 0x60, 0x69, 0x40, 0x07, 0x01, 0xd5, 0x03, 0xf0, + 0x0c, 0xfc, 0x20, 0x1c, 0xe9, 0x6a, 0xf4, 0xf7, + 0xdb, 0xf8, 0xb0, 0xbd, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x03, 0x49, 0x00, 0x28, 0x00, 0xd0, + 0x01, 0x1c, 0x02, 0x48, 0x41, 0x62, 0x70, 0x47, + 0x00, 0x00, 0xb5, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x03, 0x49, 0x01, 0x20, 0x09, 0x6c, + 0x00, 0x29, 0x3c, 0x00, 0x4c, 0xc2, 0x00, 0x00, + 0x00, 0xd1, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x10, 0xb5, 0x07, 0x4c, + 0xe1, 0x6b, 0x00, 0x29, 0x01, 0xd1, 0xe0, 0x63, + 0x04, 0xe0, 0x81, 0x42, 0x02, 0xd0, 0x00, 0x20, + 0xc0, 0x43, 0xf8, 0xe7, 0x06, 0xf0, 0x9c, 0xfd, + 0x20, 0x64, 0x10, 0xbd, 0x28, 0x7a, 0x01, 0x00, + 0x01, 0x48, 0x00, 0x6c, 0x70, 0x47, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x3c, 0x00, 0x88, 0xc2, + 0x00, 0x00, 0x05, 0x49, 0x80, 0xb5, 0x00, 0x20, + 0x48, 0x63, 0x88, 0x63, 0xff, 0x21, 0x09, 0x31, + 0x15, 0x22, 0x10, 0x20, 0xf6, 0xf7, 0xfb, 0xf9, + 0x80, 0xbd, 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, + 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, + 0x81, 0x60, 0x70, 0x47, 0x00, 0x00, 0xc1, 0x75, + 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, + 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, 0x3c, 0x00, + 0xc4, 0xc2, 0x00, 0x00, 0x02, 0x48, 0xc1, 0x62, + 0x70, 0x47, 0x00, 0x00, 0xc5, 0x75, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x04, 0x4b, 0x05, 0x49, + 0x00, 0x28, 0x5a, 0x68, 0x00, 0xd0, 0x01, 0x1c, + 0x10, 0x1c, 0x59, 0x60, 0x70, 0x47, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0xc9, 0x75, 0x00, 0x00, + 0x03, 0x49, 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, + 0x02, 0x48, 0x41, 0x61, 0x70, 0x47, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xc3, 0x00, 0x00, 0xcd, 0x75, + 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, 0x0f, 0x4b, + 0x10, 0xb5, 0xd9, 0x68, 0x00, 0x29, 0x19, 0xd0, + 0x0e, 0x4c, 0x00, 0x21, 0xca, 0x00, 0x12, 0x19, + 0x40, 0x3a, 0xd2, 0x6b, 0x82, 0x42, 0x02, 0xda, + 0x01, 0x31, 0x03, 0x29, 0xf6, 0xd3, 0x48, 0x1c, + 0x1a, 0x78, 0x00, 0x06, 0x00, 0x0e, 0x90, 0x42, + 0x08, 0xd0, 0x18, 0x70, 0x08, 0x06, 0x00, 0x0e, + 0x04, 0x1c, 0x3c, 0x00, 0x3c, 0xc3, 0x00, 0x00, + 0xf6, 0xf7, 0xba, 0xfa, 0x20, 0x1c, 0x03, 0xf0, + 0x1b, 0xfd, 0x10, 0xbd, 0x18, 0x63, 0x01, 0x00, + 0x3c, 0x42, 0x01, 0x00, 0x10, 0xb5, 0x14, 0x4c, + 0xe1, 0x68, 0x00, 0x29, 0x22, 0xd0, 0x21, 0x78, + 0x12, 0x4b, 0xca, 0x00, 0xd2, 0x18, 0x40, 0x3a, + 0xd3, 0x6b, 0x83, 0x42, 0x02, 0xda, 0x48, 0x1c, + 0x20, 0x70, 0x0b, 0xe0, 0x92, 0x6b, 0x82, 0x42, + 0x14, 0xdd, 0xff, 0x31, 0x3c, 0x00, 0x78, 0xc3, + 0x00, 0x00, 0x08, 0x06, 0x00, 0x0e, 0x20, 0x70, + 0x03, 0xd1, 0x19, 0x21, 0x86, 0x20, 0xf4, 0xf7, + 0x8e, 0xff, 0x20, 0x78, 0xff, 0x30, 0x00, 0x06, + 0x00, 0x0e, 0xf6, 0xf7, 0x90, 0xfa, 0x20, 0x78, + 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, 0x03, 0xf0, + 0xee, 0xfc, 0x10, 0xbd, 0x00, 0x00, 0x18, 0x63, + 0x01, 0x00, 0x3c, 0x42, 0x01, 0x00, 0x09, 0x48, + 0x00, 0x21, 0x01, 0x81, 0x41, 0x81, 0x3c, 0x00, + 0xb4, 0xc3, 0x00, 0x00, 0x81, 0x81, 0xc1, 0x81, + 0x07, 0x4a, 0x02, 0x80, 0x01, 0x23, 0xdb, 0x02, + 0x43, 0x80, 0x82, 0x80, 0xc2, 0x80, 0x41, 0x76, + 0x31, 0x21, 0x81, 0x76, 0x01, 0x21, 0x01, 0x76, + 0x70, 0x47, 0x00, 0x00, 0x30, 0x80, 0x07, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x20, + 0xf6, 0xf7, 0xf8, 0xf8, 0x01, 0x20, 0xf6, 0xf7, + 0xdb, 0xfc, 0x01, 0x20, 0xf6, 0xf7, 0x5a, 0xfa, + 0x3c, 0x00, 0xf0, 0xc3, 0x00, 0x00, 0x01, 0x20, + 0x00, 0xf0, 0xf1, 0xfd, 0x01, 0x20, 0xf7, 0xf7, + 0xc6, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0x10, 0xb5, + 0x11, 0x4c, 0x00, 0x29, 0x07, 0xd1, 0x00, 0x28, + 0x02, 0xd1, 0x01, 0x20, 0xe0, 0x60, 0x06, 0xe0, + 0x00, 0x21, 0xe1, 0x60, 0x03, 0xe0, 0x01, 0x29, + 0x07, 0xd1, 0x00, 0x28, 0x01, 0xd0, 0x20, 0x70, + 0x03, 0xe0, 0x18, 0x21, 0x86, 0x20, 0xf4, 0xf7, + 0x3c, 0xff, 0x3c, 0x00, 0x2c, 0xc4, 0x00, 0x00, + 0x20, 0x78, 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, + 0xf6, 0xf7, 0x3e, 0xfa, 0x20, 0x78, 0xff, 0x30, + 0x00, 0x06, 0x00, 0x0e, 0x03, 0xf0, 0x9c, 0xfc, + 0x10, 0xbd, 0x00, 0x00, 0x18, 0x63, 0x01, 0x00, + 0x05, 0x49, 0x80, 0xb5, 0x09, 0x68, 0x88, 0x42, + 0x05, 0xd0, 0xfe, 0xf7, 0xff, 0xfb, 0x00, 0xf0, + 0x87, 0xfa, 0xff, 0xf7, 0x2b, 0xfc, 0x80, 0xbd, + 0xa8, 0x69, 0x01, 0x00, 0x3c, 0x00, 0x68, 0xc4, + 0x00, 0x00, 0x01, 0x49, 0x48, 0x70, 0x70, 0x47, + 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, 0x01, 0x49, + 0xc8, 0x60, 0x70, 0x47, 0x00, 0x00, 0x4c, 0x7b, + 0x01, 0x00, 0x03, 0x49, 0x01, 0x20, 0x09, 0x78, + 0x00, 0x29, 0x00, 0xd0, 0x00, 0x20, 0x70, 0x47, + 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, 0x04, 0x4a, + 0x00, 0x28, 0x02, 0xd0, 0x90, 0x69, 0x01, 0x30, + 0x90, 0x61, 0xd0, 0x69, 0x40, 0x18, 0x3c, 0x00, + 0xa4, 0xc4, 0x00, 0x00, 0xd0, 0x61, 0x70, 0x47, + 0x90, 0x5c, 0x01, 0x00, 0xfe, 0xb5, 0x04, 0x1c, + 0x00, 0x68, 0x05, 0x68, 0x28, 0x1c, 0xfe, 0xf7, + 0x27, 0xff, 0x07, 0x1c, 0x60, 0x69, 0x15, 0x4e, + 0xc0, 0x07, 0xc0, 0x0f, 0x21, 0xd0, 0x01, 0xaa, + 0x02, 0xa9, 0x28, 0x1c, 0xfe, 0xf7, 0x12, 0xff, + 0x38, 0x78, 0xc0, 0x07, 0x0c, 0xd4, 0x60, 0x69, + 0x80, 0x07, 0x08, 0xd5, 0x00, 0xab, 0x18, 0x7a, + 0x3c, 0x00, 0xe0, 0xc4, 0x00, 0x00, 0x00, 0x28, + 0x01, 0xd0, 0x02, 0x28, 0x02, 0xd1, 0x70, 0x6a, + 0x01, 0x30, 0x70, 0x62, 0xfe, 0xbd, 0x00, 0xab, + 0x18, 0x7a, 0x00, 0x28, 0x01, 0xd0, 0x02, 0x28, + 0xf8, 0xd1, 0x70, 0x6a, 0x01, 0x30, 0x70, 0x62, + 0xb0, 0x6a, 0x01, 0x30, 0xb0, 0x62, 0xf1, 0xe7, + 0xf0, 0x6a, 0x01, 0x30, 0xf0, 0x62, 0xed, 0xe7, + 0x00, 0x00, 0x90, 0x5c, 0x01, 0x00, 0x02, 0x49, + 0x48, 0x69, 0x3c, 0x00, 0x1c, 0xc5, 0x00, 0x00, + 0x01, 0x30, 0x48, 0x61, 0x70, 0x47, 0x00, 0x00, + 0x90, 0x5c, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x01, 0x1c, 0x40, 0x31, + 0x10, 0xb5, 0x0a, 0x8b, 0x12, 0x07, 0x92, 0x0f, + 0x01, 0x2a, 0x33, 0xd0, 0x4a, 0x78, 0x1a, 0x49, + 0x04, 0x1c, 0x60, 0x34, 0x00, 0x2a, 0x0b, 0x6a, + 0x22, 0xd1, 0xe2, 0x79, 0x01, 0x2a, 0x02, 0xd9, + 0xcc, 0x68, 0x01, 0x34, 0x3c, 0x00, 0x58, 0xc5, + 0x00, 0x00, 0xcc, 0x60, 0x02, 0x2a, 0x02, 0xd9, + 0x0c, 0x69, 0x01, 0x34, 0x0c, 0x61, 0x0c, 0x68, + 0x01, 0x34, 0x0c, 0x60, 0x44, 0x6b, 0x00, 0x2c, + 0x03, 0xd0, 0x04, 0x69, 0x24, 0x7c, 0xe4, 0x07, + 0x02, 0xd5, 0x4c, 0x68, 0x01, 0x34, 0x4c, 0x60, + 0x80, 0x6b, 0x00, 0x28, 0x02, 0xd0, 0x08, 0x6b, + 0x01, 0x30, 0x08, 0x63, 0x00, 0x2a, 0x0c, 0xd0, + 0x98, 0x18, 0x01, 0x38, 0x08, 0xe0, 0x3c, 0x00, + 0x94, 0xc5, 0x00, 0x00, 0x01, 0x2a, 0x01, 0xd0, + 0x02, 0x2a, 0x02, 0xd1, 0x88, 0x68, 0x01, 0x30, + 0x88, 0x60, 0xe0, 0x79, 0x18, 0x18, 0x08, 0x62, + 0x10, 0xbd, 0x00, 0x00, 0x90, 0x5c, 0x01, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x01, 0x49, 0x0a, 0x20, + 0x08, 0x81, 0x70, 0x47, 0xc4, 0x7a, 0x01, 0x00, + 0xf0, 0xb5, 0x32, 0x4f, 0x04, 0x1c, 0x78, 0x78, + 0x85, 0xb0, 0xc0, 0x07, 0xc0, 0x0f, 0x03, 0x90, + 0x3c, 0x00, 0xd0, 0xc5, 0x00, 0x00, 0xb8, 0x78, + 0x02, 0x90, 0x01, 0x20, 0xa0, 0x40, 0x04, 0x90, + 0x39, 0x1c, 0x88, 0x70, 0x2c, 0x48, 0x00, 0x88, + 0x06, 0xf0, 0x0b, 0xfc, 0x01, 0x90, 0xfe, 0xf7, + 0xae, 0xfc, 0x04, 0x30, 0x29, 0x4e, 0xa5, 0x00, + 0x71, 0x59, 0x09, 0x79, 0x88, 0x42, 0x06, 0xd0, + 0xfe, 0xf7, 0xa5, 0xfc, 0x71, 0x59, 0x04, 0x30, + 0x08, 0x71, 0x01, 0x20, 0x78, 0x70, 0x00, 0x20, + 0x78, 0x70, 0x3c, 0x00, 0x0c, 0xc6, 0x00, 0x00, + 0x21, 0x48, 0x01, 0x21, 0x20, 0x4e, 0x30, 0x38, + 0x01, 0x55, 0x71, 0x59, 0x03, 0x20, 0x08, 0x70, + 0x06, 0xf0, 0xc6, 0xfb, 0x06, 0x1c, 0xfe, 0xf7, + 0x91, 0xfc, 0x36, 0x18, 0x0e, 0x36, 0x09, 0xe0, + 0x30, 0x1c, 0x06, 0xf0, 0xf5, 0xfa, 0x00, 0x28, + 0x04, 0xd0, 0x23, 0x21, 0x86, 0x20, 0xf4, 0xf7, + 0x33, 0xfe, 0x03, 0xe0, 0xf6, 0xf7, 0x34, 0xfb, + 0x00, 0x28, 0xf1, 0xd0, 0x3c, 0x00, 0x48, 0xc6, + 0x00, 0x00, 0x12, 0x48, 0x13, 0x49, 0x3c, 0x38, + 0x00, 0x78, 0x08, 0x72, 0x20, 0x1c, 0xf4, 0xf7, + 0xa2, 0xfa, 0x0e, 0x4e, 0x71, 0x59, 0x08, 0x71, + 0x03, 0x98, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x21, + 0x79, 0x70, 0x09, 0x48, 0x00, 0x88, 0x01, 0x99, + 0x06, 0xf0, 0xbd, 0xfb, 0x02, 0x98, 0xb8, 0x70, + 0x09, 0x49, 0x49, 0x79, 0x04, 0x98, 0x88, 0x42, + 0x03, 0xd0, 0x24, 0x21, 0x86, 0x20, 0x3c, 0x00, + 0x84, 0xc6, 0x00, 0x00, 0xf4, 0xf7, 0x0e, 0xfe, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x50, 0x07, 0x00, + 0xd0, 0x79, 0x01, 0x00, 0x10, 0x7b, 0x01, 0x00, + 0x80, 0x80, 0x07, 0x00, 0x50, 0x80, 0x07, 0x00, + 0xb0, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, 0x05, 0x28, + 0x01, 0xd3, 0xf4, 0xf7, 0x29, 0xfe, 0x05, 0x2d, + 0x01, 0xd3, 0xf4, 0xf7, 0x25, 0xfe, 0x0b, 0x4a, + 0xa8, 0x00, 0x11, 0x58, 0xa0, 0x00, 0x10, 0x58, + 0x3c, 0x00, 0xc0, 0xc6, 0x00, 0x00, 0x0e, 0xc9, + 0x0e, 0xc0, 0x06, 0x21, 0x06, 0x22, 0x06, 0x48, + 0x69, 0x43, 0x2a, 0x38, 0x09, 0x18, 0x62, 0x43, + 0x10, 0x18, 0x06, 0x22, 0xf3, 0xf7, 0x0f, 0xff, + 0x02, 0x48, 0x30, 0x38, 0x41, 0x5d, 0x01, 0x55, + 0xb0, 0xbd, 0x10, 0x7b, 0x01, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0e, 0x48, 0x0d, 0x1c, 0x80, 0x78, + 0x01, 0x21, 0xa1, 0x40, 0x08, 0x40, 0x03, 0xd0, + 0x01, 0x21, 0x3c, 0x00, 0xfc, 0xc6, 0x00, 0x00, + 0x86, 0x20, 0xf4, 0xf7, 0xd1, 0xfd, 0x06, 0x21, + 0x06, 0x22, 0x09, 0x48, 0x69, 0x43, 0x09, 0x18, + 0x62, 0x43, 0x10, 0x18, 0x06, 0x22, 0xf3, 0xf7, + 0xf1, 0xfe, 0x20, 0x1c, 0xf4, 0xf7, 0x40, 0xfa, + 0x03, 0x4a, 0xa1, 0x00, 0x2a, 0x32, 0x51, 0x58, + 0x08, 0x71, 0xb0, 0xbd, 0x00, 0x50, 0x07, 0x00, + 0xe6, 0x7a, 0x01, 0x00, 0x03, 0x49, 0x80, 0xb5, + 0x00, 0x20, 0x48, 0x60, 0x3c, 0x00, 0x38, 0xc7, + 0x00, 0x00, 0x07, 0xf0, 0x32, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0xd4, 0x7a, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x05, 0x28, 0x01, 0xd3, 0xf4, 0xf7, + 0xd8, 0xfd, 0x07, 0x49, 0x08, 0x7a, 0x07, 0x4a, + 0x10, 0x70, 0x01, 0x20, 0x08, 0x72, 0xfe, 0xf7, + 0xf4, 0xfb, 0x04, 0x4a, 0x04, 0x30, 0xa1, 0x00, + 0x3c, 0x32, 0x51, 0x58, 0x08, 0x71, 0x10, 0xbd, + 0x00, 0x00, 0x80, 0x80, 0x07, 0x00, 0x3c, 0x00, + 0x74, 0xc7, 0x00, 0x00, 0xd4, 0x7a, 0x01, 0x00, + 0x03, 0x49, 0x80, 0xb5, 0x01, 0x20, 0x48, 0x60, + 0x07, 0xf0, 0x0e, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0xd4, 0x7a, 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x05, 0x28, 0x01, 0xd3, 0xf4, 0xf7, 0xb4, 0xfd, + 0x20, 0x1c, 0xf5, 0xf7, 0x8f, 0xfe, 0x00, 0x21, + 0x20, 0x1c, 0xfb, 0xf7, 0x31, 0xfd, 0x01, 0x21, + 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, 0x09, 0x04, + 0x3c, 0x00, 0xb0, 0xc7, 0x00, 0x00, 0x09, 0x0c, + 0x20, 0x1c, 0x04, 0xf0, 0x22, 0xfa, 0x10, 0xbd, + 0x00, 0x00, 0x06, 0x49, 0x01, 0x20, 0x05, 0x4b, + 0x88, 0x60, 0x00, 0x20, 0x3c, 0x33, 0x00, 0x21, + 0x82, 0x00, 0x9a, 0x58, 0x11, 0x70, 0x01, 0x30, + 0x05, 0x28, 0xf9, 0xdb, 0x70, 0x47, 0xd4, 0x7a, + 0x01, 0x00, 0x0f, 0x49, 0x38, 0xb5, 0x00, 0x20, + 0x88, 0x60, 0x0e, 0x48, 0x01, 0x1c, 0x20, 0x31, + 0x8a, 0x79, 0x3c, 0x00, 0xec, 0xc7, 0x00, 0x00, + 0x00, 0xab, 0x1a, 0x70, 0xc9, 0x79, 0x0a, 0x4c, + 0x09, 0x4d, 0x59, 0x70, 0x0c, 0x34, 0x3c, 0x35, + 0x00, 0x21, 0x03, 0x22, 0x63, 0x5c, 0x00, 0x2b, + 0x02, 0xd0, 0x8b, 0x00, 0xeb, 0x58, 0x1a, 0x70, + 0x01, 0x31, 0x05, 0x29, 0xf6, 0xdb, 0x00, 0xab, + 0x19, 0x88, 0xc1, 0x84, 0x38, 0xbd, 0x00, 0x00, + 0xd4, 0x7a, 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, + 0xff, 0xb5, 0x14, 0x4f, 0x3c, 0x00, 0x28, 0xc8, + 0x00, 0x00, 0x04, 0x1c, 0xbe, 0x79, 0x0d, 0x1c, + 0x81, 0xb0, 0x0f, 0x20, 0x00, 0xf0, 0xb9, 0xf8, + 0x2a, 0x1c, 0x10, 0x4d, 0x00, 0x90, 0x21, 0x1c, + 0x28, 0x1c, 0xf4, 0xf7, 0xde, 0xfc, 0x21, 0x1c, + 0xa8, 0x1d, 0x03, 0x9a, 0xf4, 0xf7, 0xd9, 0xfc, + 0x21, 0x1c, 0x28, 0x1c, 0x0c, 0x30, 0x04, 0x9a, + 0xf4, 0xf7, 0xd3, 0xfc, 0x21, 0x1c, 0x28, 0x1c, + 0x12, 0x30, 0x0a, 0x9a, 0xf4, 0xf7, 0x3c, 0x00, + 0x64, 0xc8, 0x00, 0x00, 0xcd, 0xfc, 0x07, 0xf0, + 0x9b, 0xf8, 0x00, 0x98, 0x00, 0xf0, 0x76, 0xf8, + 0xbe, 0x71, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0x20, 0x10, 0x07, 0x00, 0xe6, 0x7a, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x20, 0xf6, 0xf7, 0x26, 0xf8, + 0x07, 0x49, 0x88, 0x78, 0x00, 0x09, 0x00, 0x01, + 0x88, 0x70, 0x00, 0x24, 0x20, 0x1c, 0xf5, 0xf7, + 0x11, 0xfe, 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, + 0x3c, 0x00, 0xa0, 0xc8, 0x00, 0x00, 0x04, 0x2c, + 0xf7, 0xd3, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x50, + 0x07, 0x00, 0x80, 0xb5, 0x02, 0xf0, 0xe3, 0xfb, + 0x03, 0x48, 0x81, 0x78, 0x0f, 0x22, 0x11, 0x43, + 0x81, 0x70, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x50, + 0x07, 0x00, 0xf8, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x05, 0x28, 0x01, 0xd3, 0xf4, 0xf7, 0x17, 0xfd, + 0xa6, 0x00, 0x00, 0x2d, 0x11, 0x4f, 0x07, 0xd1, + 0xb8, 0x59, 0x3c, 0x00, 0xdc, 0xc8, 0x00, 0x00, + 0x81, 0x68, 0x00, 0x29, 0x0e, 0xd1, 0x40, 0x78, + 0x00, 0x28, 0x0b, 0xd0, 0x02, 0xe0, 0xff, 0x35, + 0x2d, 0x06, 0x2d, 0x0e, 0x29, 0x1c, 0x20, 0x1c, + 0xfb, 0xf7, 0x88, 0xfc, 0x01, 0x1c, 0x20, 0x1c, + 0x04, 0xf0, 0x7e, 0xf9, 0x06, 0x49, 0x01, 0x20, + 0x30, 0x39, 0x08, 0x55, 0x04, 0x48, 0x3c, 0x38, + 0x80, 0x68, 0x00, 0x28, 0x02, 0xd1, 0xb9, 0x59, + 0x03, 0x20, 0x08, 0x70, 0x3c, 0x00, 0x18, 0xc9, + 0x00, 0x00, 0xf8, 0xbd, 0x00, 0x00, 0x10, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0x04, 0xf0, 0xcd, 0xf9, + 0x80, 0xbd, 0x10, 0xb5, 0x04, 0x1c, 0x05, 0x28, + 0x01, 0xd3, 0xf4, 0xf7, 0xe6, 0xfc, 0x20, 0x1c, + 0xf5, 0xf7, 0xc1, 0xfd, 0x00, 0x20, 0x05, 0x4a, + 0xa1, 0x00, 0x51, 0x58, 0x88, 0x60, 0x04, 0x49, + 0x88, 0x78, 0x01, 0x22, 0xa2, 0x40, 0x10, 0x43, + 0x88, 0x70, 0x10, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xc9, 0x00, 0x00, 0x10, 0x7b, 0x01, 0x00, + 0x00, 0x50, 0x07, 0x00, 0x02, 0x4a, 0x91, 0x78, + 0x08, 0x43, 0x90, 0x70, 0x70, 0x47, 0x00, 0x00, + 0x00, 0x50, 0x07, 0x00, 0xf8, 0xb5, 0x0c, 0x4f, + 0xbe, 0x79, 0x0f, 0x20, 0x00, 0xf0, 0x18, 0xf8, + 0x05, 0x1c, 0x00, 0x24, 0x20, 0x1c, 0xf4, 0xf7, + 0x0d, 0xf9, 0x08, 0x4a, 0xa1, 0x00, 0x51, 0x58, + 0x08, 0x71, 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, + 0x3c, 0x00, 0x90, 0xc9, 0x00, 0x00, 0x04, 0x2c, + 0xf3, 0xd3, 0x28, 0x1c, 0xff, 0xf7, 0xe1, 0xff, + 0xbe, 0x71, 0xf8, 0xbd, 0x00, 0x00, 0x20, 0x10, + 0x07, 0x00, 0x10, 0x7b, 0x01, 0x00, 0xb0, 0xb5, + 0x08, 0x49, 0x8d, 0x78, 0x8a, 0x78, 0x05, 0x40, + 0x82, 0x43, 0x8a, 0x70, 0x06, 0xf0, 0xf9, 0xf9, + 0x04, 0x1c, 0x0a, 0x34, 0x20, 0x1c, 0x06, 0xf0, + 0x34, 0xf9, 0x00, 0x28, 0xfa, 0xd0, 0x28, 0x1c, + 0xb0, 0xbd, 0x3c, 0x00, 0xcc, 0xc9, 0x00, 0x00, + 0x00, 0x50, 0x07, 0x00, 0x01, 0x49, 0x0a, 0x20, + 0x08, 0x81, 0x70, 0x47, 0x38, 0x7b, 0x01, 0x00, + 0xf8, 0xb5, 0x10, 0x48, 0x04, 0x26, 0x04, 0x1c, + 0xe0, 0x34, 0x05, 0x1c, 0x38, 0x3d, 0x00, 0x27, + 0x20, 0x1c, 0x1c, 0x30, 0xe4, 0x60, 0xa0, 0x61, + 0x27, 0x61, 0x0b, 0x48, 0xa6, 0x82, 0xe0, 0x61, + 0x27, 0x62, 0xa7, 0x62, 0x06, 0x20, 0xa0, 0x84, + 0x20, 0x1c, 0xfe, 0xf7, 0x3c, 0x00, 0x08, 0xca, + 0x00, 0x00, 0x87, 0xfc, 0x20, 0x1c, 0x0c, 0x30, + 0xf6, 0xf7, 0xb7, 0xf9, 0x05, 0x49, 0x38, 0x3c, + 0xac, 0x42, 0x08, 0x80, 0xe7, 0xd1, 0xf8, 0xbd, + 0x00, 0x00, 0xd4, 0xe4, 0x01, 0x00, 0x12, 0x61, + 0x01, 0x00, 0x48, 0x7b, 0x01, 0x00, 0xf7, 0xb5, + 0x05, 0x1c, 0x0c, 0x23, 0x0f, 0x1c, 0x12, 0x49, + 0x58, 0x43, 0x44, 0x18, 0x20, 0x88, 0x06, 0xf0, + 0xea, 0xf9, 0xa0, 0x78, 0x01, 0x28, 0x3c, 0x00, + 0x44, 0xca, 0x00, 0x00, 0x1a, 0xd1, 0x66, 0x68, + 0x02, 0x2f, 0x05, 0xd1, 0x5c, 0x20, 0x80, 0x5b, + 0x02, 0x99, 0x00, 0x09, 0x88, 0x42, 0x11, 0xd1, + 0x28, 0x1c, 0xfe, 0xf7, 0xfb, 0xff, 0x30, 0x1c, + 0xf9, 0xf7, 0xfa, 0xfd, 0x04, 0x20, 0xa0, 0x70, + 0x39, 0x1c, 0x28, 0x1c, 0xfb, 0xf7, 0xf4, 0xf8, + 0x03, 0x4a, 0xe8, 0x00, 0x3c, 0x32, 0x11, 0x58, + 0x01, 0x31, 0x11, 0x50, 0xfe, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xca, 0x00, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0x01, 0x20, 0x06, 0x4a, 0x00, 0x21, + 0x0c, 0x23, 0x4b, 0x43, 0x9b, 0x18, 0x9b, 0x78, + 0x00, 0x2b, 0x00, 0xd0, 0x00, 0x20, 0x01, 0x31, + 0x04, 0x29, 0xf5, 0xdb, 0x70, 0x47, 0x60, 0x7b, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0xff, 0xf7, + 0xea, 0xfc, 0x00, 0x28, 0x03, 0xd1, 0x20, 0x21, + 0x0c, 0x20, 0xf4, 0xf7, 0xf6, 0xfb, 0x26, 0x1c, + 0x60, 0x36, 0x3c, 0x00, 0xbc, 0xca, 0x00, 0x00, + 0x00, 0x21, 0xf1, 0x71, 0xe1, 0x64, 0x60, 0x6b, + 0x25, 0x1c, 0x40, 0x35, 0x00, 0x28, 0x31, 0xd0, + 0xff, 0xf7, 0x04, 0xf9, 0x01, 0x22, 0x12, 0x03, + 0x00, 0x28, 0x20, 0x69, 0x01, 0x88, 0x01, 0xd0, + 0x91, 0x43, 0x00, 0xe0, 0x11, 0x43, 0x01, 0x80, + 0x20, 0x69, 0x01, 0x22, 0x00, 0x88, 0xd2, 0x02, + 0x28, 0x83, 0x20, 0x1c, 0x58, 0x30, 0x01, 0x88, + 0x91, 0x43, 0x01, 0x80, 0x3c, 0x00, 0xf8, 0xca, + 0x00, 0x00, 0xa3, 0x6b, 0x52, 0x08, 0x00, 0x2b, + 0x10, 0xd0, 0x91, 0x43, 0x01, 0x80, 0x28, 0x8b, + 0x00, 0x07, 0x80, 0x0f, 0x01, 0x28, 0x15, 0xd0, + 0x2e, 0x20, 0x01, 0x5d, 0x20, 0x69, 0x04, 0x30, + 0xf8, 0xf7, 0x41, 0xfd, 0x61, 0x6a, 0xfe, 0xf7, + 0xa8, 0xf9, 0x04, 0xe0, 0x11, 0x43, 0x01, 0x80, + 0x20, 0x1c, 0xfb, 0xf7, 0xcc, 0xfb, 0x68, 0x83, + 0x04, 0xe0, 0x20, 0x69, 0x41, 0x80, 0x3c, 0x00, + 0x34, 0xcb, 0x00, 0x00, 0xa8, 0x8b, 0x21, 0x69, + 0xc8, 0x82, 0xe0, 0x68, 0xf6, 0xf7, 0x20, 0xf9, + 0x30, 0x80, 0x60, 0x6d, 0x00, 0x28, 0x04, 0xd0, + 0x00, 0x22, 0x03, 0x21, 0x70, 0x7a, 0xfe, 0xf7, + 0x0d, 0xff, 0x20, 0x1c, 0x00, 0xf0, 0xb6, 0xf9, + 0x70, 0x7a, 0x06, 0xf0, 0x45, 0xf8, 0x70, 0xbd, + 0xb0, 0xb5, 0x00, 0x24, 0x06, 0xf0, 0x22, 0xf9, + 0x09, 0x4a, 0x00, 0x21, 0x0c, 0x23, 0x4b, 0x43, + 0x3c, 0x00, 0x70, 0xcb, 0x00, 0x00, 0x9d, 0x18, + 0x6b, 0x68, 0x5b, 0x6c, 0xad, 0x78, 0xc3, 0x1a, + 0x01, 0x2d, 0x02, 0xd1, 0xa3, 0x42, 0x00, 0xdd, + 0x1c, 0x1c, 0x01, 0x31, 0x05, 0x29, 0xf0, 0xd3, + 0x20, 0x1c, 0xb0, 0xbd, 0x00, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x06, 0xf0, + 0xa8, 0xfe, 0x0c, 0x20, 0x08, 0x49, 0x60, 0x43, + 0x45, 0x18, 0x28, 0x88, 0x06, 0xf0, 0x35, 0xf9, + 0x68, 0x68, 0x3c, 0x00, 0xac, 0xcb, 0x00, 0x00, + 0x00, 0x28, 0x06, 0xd0, 0x20, 0x30, 0x00, 0x7b, + 0x01, 0x28, 0x02, 0xd1, 0x20, 0x1c, 0xff, 0xf7, + 0xa3, 0xfa, 0xb0, 0xbd, 0x60, 0x7b, 0x01, 0x00, + 0xff, 0xb5, 0x85, 0xb0, 0x0f, 0xae, 0x60, 0xce, + 0x38, 0x20, 0x1e, 0x49, 0x70, 0x43, 0x17, 0x1c, + 0x44, 0x18, 0xff, 0xf7, 0x7f, 0xf8, 0x01, 0x22, + 0x12, 0x03, 0x00, 0x28, 0x03, 0xd0, 0x20, 0x88, + 0x90, 0x43, 0x20, 0x80, 0x3c, 0x00, 0xe8, 0xcb, + 0x00, 0x00, 0x02, 0xe0, 0x21, 0x88, 0x11, 0x43, + 0x21, 0x80, 0x11, 0x98, 0x39, 0x1c, 0xe0, 0x62, + 0x05, 0x98, 0xf8, 0xf7, 0xd0, 0xfc, 0x01, 0x1c, + 0x2b, 0x1c, 0x38, 0x1c, 0x06, 0x9a, 0xfe, 0xf7, + 0x20, 0xf9, 0x60, 0x80, 0x06, 0x22, 0x20, 0x1d, + 0x0f, 0x49, 0xf3, 0xf7, 0x72, 0xfc, 0x23, 0x1c, + 0x08, 0x98, 0x30, 0x33, 0x18, 0x70, 0x0e, 0x98, + 0x0c, 0x49, 0x58, 0x70, 0x65, 0x63, 0x3c, 0x00, + 0x24, 0xcc, 0x00, 0x00, 0x00, 0x20, 0x02, 0x90, + 0x01, 0x22, 0x04, 0x92, 0x09, 0x48, 0x03, 0x91, + 0x5a, 0x78, 0x01, 0x88, 0x01, 0x92, 0x00, 0x91, + 0x19, 0x78, 0x24, 0x3b, 0x30, 0x1c, 0x62, 0x6b, + 0xfe, 0xf7, 0xa8, 0xfe, 0x09, 0xb0, 0xf0, 0xbd, + 0xd4, 0xe4, 0x01, 0x00, 0x12, 0x61, 0x01, 0x00, + 0x5d, 0x4e, 0x00, 0x00, 0x48, 0x7b, 0x01, 0x00, + 0xff, 0xb5, 0x87, 0xb0, 0x10, 0x98, 0x12, 0xaf, + 0x3c, 0x00, 0x60, 0xcc, 0x00, 0x00, 0x8c, 0x46, + 0xa2, 0xcf, 0x4c, 0x23, 0x30, 0x4c, 0x6b, 0x43, + 0x1c, 0x19, 0x16, 0x1c, 0x15, 0x9a, 0x27, 0x85, + 0x27, 0x1c, 0x30, 0x37, 0x06, 0x97, 0x05, 0x97, + 0x00, 0x23, 0x3b, 0x73, 0x05, 0x9f, 0x78, 0x73, + 0x11, 0x98, 0x27, 0x1c, 0x60, 0x64, 0x61, 0x60, + 0x22, 0x60, 0x40, 0x37, 0x3e, 0x70, 0x61, 0x46, + 0x61, 0x87, 0x07, 0x98, 0x31, 0x1c, 0xf8, 0xf7, + 0x80, 0xfc, 0x3c, 0x00, 0x9c, 0xcc, 0x00, 0x00, + 0x05, 0x99, 0xc8, 0x73, 0x0a, 0x98, 0x78, 0x70, + 0x30, 0x1c, 0xfe, 0xf7, 0x73, 0xf8, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, + 0x41, 0x00, 0x02, 0x20, 0x01, 0x40, 0x11, 0x9a, + 0x01, 0x20, 0x00, 0x2a, 0x00, 0xd1, 0x00, 0x20, + 0x08, 0x43, 0x38, 0x72, 0x20, 0x1c, 0x2e, 0x30, + 0x07, 0x99, 0xfd, 0xf7, 0xcf, 0xff, 0x28, 0x1c, + 0x04, 0xf0, 0xae, 0xf8, 0x3c, 0x00, 0xd8, 0xcc, + 0x00, 0x00, 0xfe, 0xf7, 0xfe, 0xff, 0x4c, 0x22, + 0x12, 0x4b, 0x6a, 0x43, 0xd2, 0x18, 0x01, 0x21, + 0x09, 0x03, 0x2a, 0x32, 0x00, 0x28, 0x04, 0xd0, + 0x10, 0x1c, 0x12, 0x88, 0x8a, 0x43, 0x02, 0x80, + 0x02, 0xe0, 0x10, 0x88, 0x08, 0x43, 0x10, 0x80, + 0x0b, 0x49, 0x00, 0x20, 0x03, 0x91, 0x06, 0x99, + 0x02, 0x90, 0x00, 0x22, 0x04, 0x92, 0x08, 0x48, + 0x0a, 0x7b, 0x41, 0x88, 0x23, 0x1c, 0x3c, 0x00, + 0x14, 0xcd, 0x00, 0x00, 0x01, 0x92, 0x00, 0x91, + 0x79, 0x78, 0x08, 0x33, 0x28, 0x1c, 0x62, 0x68, + 0xfe, 0xf7, 0x38, 0xfe, 0x0b, 0xb0, 0xf0, 0xbd, + 0x58, 0xe3, 0x01, 0x00, 0x75, 0x4f, 0x00, 0x00, + 0x3c, 0x7c, 0x01, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, + 0x01, 0x28, 0x27, 0xd0, 0x80, 0x28, 0x30, 0xd1, + 0xe0, 0x6c, 0x00, 0x28, 0x08, 0xd0, 0x69, 0x20, + 0x00, 0x5d, 0x18, 0x49, 0xc0, 0x00, 0x40, 0x18, + 0x3c, 0x00, 0x50, 0xcd, 0x00, 0x00, 0x04, 0x30, + 0x01, 0x68, 0x01, 0x31, 0x01, 0x60, 0x20, 0x1c, + 0xff, 0xf7, 0xe9, 0xfb, 0x13, 0x4d, 0x50, 0x3d, + 0xe8, 0x68, 0x00, 0x28, 0x05, 0xd0, 0x2e, 0x20, + 0x00, 0x5d, 0xfe, 0xf7, 0x10, 0xf8, 0x02, 0xf0, + 0x42, 0xfe, 0x20, 0x1c, 0x61, 0x68, 0xf3, 0xf7, + 0x2f, 0xfb, 0x40, 0x34, 0x60, 0x78, 0x00, 0x28, + 0x02, 0xd1, 0x06, 0xf0, 0x12, 0xf8, 0xa8, 0x60, + 0xb0, 0xbd, 0x3c, 0x00, 0x8c, 0xcd, 0x00, 0x00, + 0x20, 0x06, 0x00, 0x0e, 0x81, 0x28, 0xfa, 0xd1, + 0x22, 0x0c, 0x20, 0x04, 0x00, 0x0e, 0x02, 0x21, + 0xfe, 0xf7, 0xe6, 0xfd, 0xb0, 0xbd, 0x0a, 0x21, + 0x0c, 0x20, 0xf4, 0xf7, 0x7d, 0xfa, 0xb0, 0xbd, + 0x9c, 0x7b, 0x01, 0x00, 0xf8, 0xb5, 0x18, 0x4e, + 0x18, 0x4f, 0x05, 0x1c, 0x34, 0x79, 0xb8, 0x79, + 0x00, 0x90, 0x20, 0x1c, 0xf5, 0xf7, 0x7c, 0xff, + 0x00, 0x28, 0x06, 0xd0, 0x3c, 0x00, 0xc8, 0xcd, + 0x00, 0x00, 0x12, 0x48, 0x38, 0x38, 0x40, 0x68, + 0x85, 0x42, 0x01, 0xd1, 0x00, 0x2d, 0x03, 0xd1, + 0x10, 0x21, 0x86, 0x20, 0xf4, 0xf7, 0x63, 0xfa, + 0x0d, 0x49, 0x00, 0x20, 0x38, 0x39, 0x48, 0x60, + 0x04, 0x21, 0x20, 0x1c, 0xff, 0xf7, 0x59, 0xfc, + 0x04, 0x21, 0x20, 0x1c, 0xf5, 0xf7, 0xeb, 0xfe, + 0x0c, 0x21, 0x06, 0x4a, 0x61, 0x43, 0x30, 0x3a, + 0x89, 0x18, 0x0c, 0x71, 0x04, 0x20, 0x3c, 0x00, + 0x04, 0xce, 0x00, 0x00, 0x30, 0x71, 0x00, 0x98, + 0xb8, 0x71, 0x0f, 0x20, 0xff, 0xf7, 0xa6, 0xfd, + 0xf8, 0xbd, 0x00, 0x00, 0xa4, 0x7a, 0x01, 0x00, + 0x20, 0x10, 0x07, 0x00, 0xf8, 0xb5, 0x04, 0x1c, + 0x0f, 0x20, 0xff, 0xf7, 0xc1, 0xfd, 0xf5, 0xf7, + 0x3b, 0xff, 0x01, 0x25, 0x00, 0x28, 0x00, 0xd0, + 0x00, 0x25, 0x16, 0x4e, 0xb0, 0x79, 0x16, 0x4f, + 0x00, 0x90, 0x38, 0x79, 0x04, 0x28, 0x01, 0xd1, + 0x3c, 0x00, 0x40, 0xce, 0x00, 0x00, 0x00, 0x2c, + 0x03, 0xd1, 0x11, 0x21, 0x86, 0x20, 0xf4, 0xf7, + 0x2c, 0xfa, 0x10, 0x48, 0x29, 0x06, 0x38, 0x38, + 0x44, 0x60, 0x09, 0x0e, 0x0c, 0x1c, 0x04, 0x20, + 0xff, 0xf7, 0x21, 0xfc, 0x03, 0x21, 0x20, 0x1c, + 0xff, 0xf7, 0x41, 0xfc, 0x21, 0x1c, 0x04, 0x20, + 0xf5, 0xf7, 0xaf, 0xfe, 0x0c, 0x21, 0x07, 0x4a, + 0x69, 0x43, 0x04, 0x20, 0x30, 0x3a, 0x89, 0x18, + 0x08, 0x71, 0x3c, 0x00, 0x7c, 0xce, 0x00, 0x00, + 0x3c, 0x71, 0x00, 0x98, 0xb0, 0x71, 0x20, 0x1c, + 0xff, 0xf7, 0x50, 0xfd, 0x04, 0x20, 0xf8, 0xbd, + 0x20, 0x10, 0x07, 0x00, 0xa4, 0x7a, 0x01, 0x00, + 0x0c, 0x23, 0x02, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x80, 0x68, 0x70, 0x47, 0x74, 0x7a, 0x01, 0x00, + 0x60, 0x30, 0xc1, 0x79, 0x80, 0x79, 0x81, 0x42, + 0x01, 0xd9, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xce, + 0x00, 0x00, 0x01, 0x48, 0x80, 0x68, 0x70, 0x47, + 0x00, 0x00, 0x4c, 0x7b, 0x01, 0x00, 0x38, 0xb5, + 0x69, 0x21, 0x09, 0x5c, 0x18, 0x23, 0x10, 0x4a, + 0x59, 0x43, 0x89, 0x18, 0x8a, 0x68, 0x01, 0x32, + 0x8a, 0x60, 0x4b, 0x69, 0xd2, 0x1a, 0xcb, 0x68, + 0x93, 0x42, 0x00, 0xd2, 0xca, 0x60, 0x00, 0x22, + 0x0b, 0x4c, 0x02, 0x60, 0x22, 0x1c, 0x20, 0x32, + 0x95, 0x79, 0x00, 0xab, 0x1d, 0x70, 0x3c, 0x00, + 0xf4, 0xce, 0x00, 0x00, 0xd2, 0x79, 0x5a, 0x70, + 0x0a, 0x68, 0x00, 0x2a, 0x01, 0xd1, 0x48, 0x60, + 0x00, 0xe0, 0x10, 0x60, 0x00, 0xab, 0x08, 0x60, + 0x18, 0x88, 0xe0, 0x84, 0x38, 0xbd, 0x00, 0x00, + 0xc4, 0x7b, 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x18, 0x23, 0x0a, 0x49, 0x58, 0x43, 0x41, 0x18, + 0x08, 0x69, 0x01, 0x30, 0x08, 0x61, 0x48, 0x68, + 0x00, 0x28, 0x09, 0xd0, 0x48, 0x69, 0x01, 0x30, + 0x3c, 0x00, 0x30, 0xcf, 0x00, 0x00, 0x48, 0x61, + 0x48, 0x68, 0x02, 0x68, 0x4a, 0x60, 0x00, 0x2a, + 0x00, 0xd1, 0x0a, 0x60, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0xc4, 0x7b, 0x01, 0x00, 0xf8, 0xb5, + 0x12, 0x4e, 0x10, 0x4d, 0x0f, 0x4c, 0x0a, 0x27, + 0x21, 0x1c, 0x00, 0x20, 0xe0, 0x60, 0x2a, 0x31, + 0x22, 0x1c, 0x18, 0x32, 0xa1, 0x60, 0x62, 0x61, + 0x27, 0x82, 0x0c, 0x4a, 0xe0, 0x61, 0xa2, 0x61, + 0x60, 0x62, 0x3c, 0x00, 0x6c, 0xcf, 0x00, 0x00, + 0x06, 0x20, 0x20, 0x84, 0x08, 0x1c, 0xfe, 0xf7, + 0xd7, 0xf9, 0x20, 0x1c, 0x08, 0x30, 0xf5, 0xf7, + 0x01, 0xff, 0x4c, 0x3c, 0xac, 0x42, 0x70, 0x80, + 0xe5, 0xd1, 0xff, 0x20, 0x30, 0x70, 0xf8, 0xbd, + 0x88, 0xe4, 0x01, 0x00, 0x0c, 0xe3, 0x01, 0x00, + 0x3c, 0x7c, 0x01, 0x00, 0x12, 0x61, 0x01, 0x00, + 0xf8, 0xb5, 0x04, 0x1c, 0x0b, 0x48, 0x0e, 0x1c, + 0x17, 0x1c, 0x44, 0x70, 0x3c, 0x00, 0xa8, 0xcf, + 0x00, 0x00, 0x05, 0xf0, 0x00, 0xff, 0x05, 0x1c, + 0x39, 0x1c, 0x30, 0x1c, 0xfd, 0xf7, 0xab, 0xff, + 0x0c, 0x21, 0x05, 0x4a, 0x28, 0x18, 0x0a, 0x30, + 0x61, 0x43, 0x08, 0x32, 0x50, 0x50, 0x03, 0x48, + 0x89, 0x18, 0x00, 0x68, 0x88, 0x60, 0xf8, 0xbd, + 0x00, 0x00, 0x6c, 0x7a, 0x01, 0x00, 0x78, 0x6e, + 0x01, 0x00, 0x70, 0xb5, 0x0b, 0x4e, 0x05, 0x1c, + 0x70, 0x78, 0xff, 0x28, 0x0f, 0xd0, 0x3c, 0x00, + 0xe4, 0xcf, 0x00, 0x00, 0x0c, 0x23, 0x08, 0x4c, + 0x58, 0x43, 0x08, 0x34, 0x20, 0x58, 0x05, 0xf0, + 0x1d, 0xfe, 0x00, 0x28, 0x06, 0xd1, 0x70, 0x78, + 0x0c, 0x23, 0x58, 0x43, 0x00, 0x19, 0x81, 0x68, + 0x29, 0x43, 0x81, 0x60, 0x70, 0xbd, 0x00, 0x00, + 0x6c, 0x7a, 0x01, 0x00, 0x80, 0xb5, 0x30, 0x21, + 0x01, 0x48, 0xf3, 0xf7, 0x43, 0xfa, 0x80, 0xbd, + 0xec, 0xe5, 0x01, 0x00, 0x10, 0xb5, 0x05, 0xf0, + 0x3c, 0x00, 0x20, 0xd0, 0x00, 0x00, 0xc5, 0xfe, + 0x0a, 0x49, 0x44, 0x18, 0x0c, 0xe0, 0x20, 0x1c, + 0x05, 0xf0, 0xf7, 0xfd, 0x00, 0x28, 0x07, 0xd0, + 0xf5, 0xf7, 0x51, 0xfe, 0x00, 0x28, 0x03, 0xd0, + 0x13, 0x21, 0x86, 0x20, 0xf4, 0xf7, 0x31, 0xf9, + 0xf5, 0xf7, 0x49, 0xfe, 0x00, 0x28, 0xee, 0xd1, + 0x10, 0xbd, 0xb0, 0x36, 0x00, 0x00, 0xff, 0xb5, + 0x8b, 0xb0, 0x19, 0x9b, 0x0d, 0x1c, 0x04, 0x1c, + 0x1a, 0x20, 0x3c, 0x00, 0x5c, 0xd0, 0x00, 0x00, + 0x00, 0x2b, 0x16, 0x99, 0x00, 0xd1, 0x18, 0x20, + 0x01, 0x90, 0x14, 0x98, 0x00, 0x28, 0x27, 0xd0, + 0xff, 0x20, 0x19, 0x9b, 0x01, 0x30, 0x00, 0x2b, + 0x01, 0xd1, 0x18, 0x23, 0x00, 0xe0, 0x1a, 0x23, + 0x04, 0x33, 0x82, 0x42, 0x04, 0xd3, 0xd0, 0x1a, + 0x40, 0x08, 0x40, 0x00, 0x00, 0x04, 0x00, 0x0c, + 0x0d, 0x90, 0x6a, 0x48, 0x00, 0x88, 0xc2, 0x1a, + 0x12, 0x04, 0x12, 0x0c, 0x3c, 0x00, 0x98, 0xd0, + 0x00, 0x00, 0x04, 0x92, 0x00, 0x29, 0x08, 0xd0, + 0x89, 0x79, 0x66, 0x4a, 0x49, 0x00, 0x51, 0x5a, + 0x04, 0x9a, 0x51, 0x1a, 0x0a, 0x04, 0x12, 0x0c, + 0x04, 0x92, 0x04, 0x9a, 0x82, 0x42, 0x05, 0xd9, + 0x00, 0x20, 0x04, 0x90, 0x02, 0xe0, 0x60, 0x48, + 0x04, 0x90, 0x0d, 0x90, 0x01, 0x98, 0x01, 0x04, + 0x09, 0x0c, 0x0a, 0x91, 0x00, 0x20, 0xf4, 0xf7, + 0x84, 0xfa, 0x00, 0x90, 0x00, 0x68, 0x3c, 0x00, + 0xd4, 0xd0, 0x00, 0x00, 0x00, 0x26, 0x06, 0x90, + 0x20, 0x60, 0x00, 0x20, 0x05, 0x90, 0x0e, 0x98, + 0x00, 0x24, 0x00, 0x05, 0x00, 0x0c, 0x09, 0x90, + 0x1a, 0x98, 0x0d, 0x9f, 0x40, 0x07, 0x40, 0x0f, + 0x08, 0x90, 0x07, 0x94, 0x03, 0x95, 0x00, 0x2d, + 0x0d, 0xd0, 0x28, 0x89, 0xb8, 0x42, 0x04, 0xd8, + 0x36, 0x18, 0x3f, 0x1a, 0x07, 0xd0, 0xed, 0x68, + 0xf5, 0xe7, 0x39, 0x04, 0x09, 0x0c, 0x28, 0x1c, + 0x3c, 0x00, 0x10, 0xd1, 0x00, 0x00, 0xf4, 0xf7, + 0x38, 0xfb, 0xef, 0xe7, 0x00, 0x2e, 0x02, 0xd1, + 0x07, 0x99, 0x00, 0x29, 0x71, 0xd1, 0x27, 0x1c, + 0x6c, 0x20, 0xf4, 0xf7, 0x88, 0xfb, 0x07, 0x99, + 0x04, 0x1c, 0x00, 0x29, 0x20, 0xd1, 0x07, 0x94, + 0x00, 0x20, 0xa0, 0x61, 0x18, 0x98, 0x27, 0x1c, + 0x60, 0x60, 0x17, 0x98, 0x24, 0x37, 0xa0, 0x60, + 0x06, 0x98, 0x20, 0x61, 0x15, 0x98, 0x0f, 0xc8, + 0x0f, 0xc7, 0x3c, 0x00, 0x4c, 0xd1, 0x00, 0x00, + 0x14, 0x98, 0x5c, 0x21, 0x60, 0x63, 0x09, 0x98, + 0x08, 0x53, 0x19, 0x98, 0x69, 0x21, 0xe0, 0x63, + 0x1b, 0x98, 0x08, 0x55, 0x1c, 0x98, 0x60, 0x65, + 0x19, 0x98, 0x00, 0x28, 0x23, 0xd0, 0x08, 0x98, + 0x06, 0x99, 0x08, 0x83, 0x1f, 0xe0, 0x6c, 0x22, + 0x20, 0x1c, 0x07, 0x99, 0xf3, 0xf7, 0x1a, 0xfa, + 0x3c, 0x60, 0x01, 0x98, 0x62, 0x21, 0x30, 0x18, + 0xc8, 0x53, 0x15, 0x98, 0x3c, 0x00, 0x88, 0xd1, + 0x00, 0x00, 0x40, 0x21, 0x80, 0x7a, 0xc8, 0x55, + 0x00, 0x20, 0xb8, 0x63, 0x06, 0x98, 0x0a, 0x99, + 0xf4, 0xf7, 0x1f, 0xfa, 0xf8, 0x60, 0x02, 0x99, + 0xf4, 0xf7, 0x3b, 0xf9, 0x20, 0x1c, 0x40, 0x30, + 0x81, 0x8b, 0x05, 0x9a, 0x12, 0x07, 0x12, 0x0f, + 0x11, 0x43, 0x81, 0x83, 0x03, 0x98, 0x5e, 0x21, + 0x02, 0x90, 0x01, 0x98, 0x22, 0x4a, 0x30, 0x18, + 0x08, 0x53, 0x12, 0x68, 0x01, 0x21, 0x3c, 0x00, + 0xc4, 0xd1, 0x00, 0x00, 0x08, 0x1c, 0x00, 0x2a, + 0x00, 0xd0, 0x1b, 0x98, 0x00, 0x06, 0x04, 0x9a, + 0x00, 0x0e, 0x96, 0x42, 0x03, 0xd9, 0x2c, 0x22, + 0x11, 0x55, 0x1b, 0x49, 0x04, 0xe0, 0x15, 0x99, + 0x2c, 0x22, 0x09, 0x7a, 0x11, 0x55, 0x19, 0x49, + 0x08, 0x5c, 0x66, 0x21, 0x08, 0x55, 0x1c, 0x98, + 0x00, 0x28, 0x01, 0xd0, 0x1f, 0x20, 0x08, 0x55, + 0x00, 0x2d, 0x03, 0xd0, 0xe8, 0x68, 0x03, 0x90, + 0x3c, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x20, + 0x00, 0xe0, 0x09, 0xe0, 0xe8, 0x60, 0x05, 0x98, + 0x00, 0x26, 0x01, 0x30, 0x00, 0x04, 0x00, 0x0c, + 0x0d, 0x9f, 0x05, 0x90, 0x03, 0x9d, 0x6d, 0xe7, + 0x00, 0x98, 0xe0, 0x60, 0x02, 0x99, 0xf4, 0xf7, + 0xfa, 0xf8, 0x00, 0x20, 0x20, 0x60, 0x01, 0x21, + 0xa1, 0x63, 0x60, 0x34, 0x60, 0x80, 0x07, 0x98, + 0x0f, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x06, 0x61, + 0x01, 0x00, 0x3c, 0x00, 0x3c, 0xd2, 0x00, 0x00, + 0x5c, 0x43, 0x01, 0x00, 0x38, 0x09, 0x00, 0x00, + 0x18, 0x67, 0x01, 0x00, 0x0e, 0x61, 0x01, 0x00, + 0x0a, 0x61, 0x01, 0x00, 0x01, 0x48, 0x00, 0x68, + 0x70, 0x47, 0x00, 0x00, 0xc4, 0x6a, 0x01, 0x00, + 0x02, 0x49, 0x09, 0x1d, 0x03, 0xc9, 0x40, 0x18, + 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, + 0x01, 0x48, 0x00, 0x69, 0x70, 0x47, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0x3c, 0x00, 0x78, 0xd2, + 0x00, 0x00, 0x01, 0x48, 0x40, 0x69, 0x70, 0x47, + 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, 0x01, 0x48, + 0x80, 0x69, 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x70, 0xb5, 0x0d, 0x4e, 0x00, 0x20, + 0x35, 0x1c, 0x40, 0x35, 0xf0, 0x63, 0x0d, 0xe0, + 0xa0, 0x68, 0xf4, 0xf7, 0x7a, 0xf9, 0xb3, 0x6d, + 0x00, 0x2b, 0x04, 0xd0, 0x00, 0x22, 0x01, 0x20, + 0x61, 0x6b, 0xf3, 0xf7, 0x95, 0xf8, 0x3c, 0x00, + 0xb4, 0xd2, 0x00, 0x00, 0x20, 0x1c, 0xf4, 0xf7, + 0x9d, 0xfa, 0x28, 0x1c, 0xfa, 0xf7, 0x42, 0xfd, + 0x04, 0x1c, 0xec, 0xd1, 0x70, 0xbd, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0xf8, 0xb5, 0x1a, 0x4f, + 0x00, 0x26, 0xf8, 0x6b, 0x00, 0x28, 0x2c, 0xd0, + 0x38, 0x1c, 0x40, 0x30, 0x00, 0x90, 0x1d, 0xe0, + 0x16, 0x48, 0xb9, 0x6b, 0x02, 0xf0, 0x5c, 0xf8, + 0x00, 0x22, 0x20, 0x1c, 0x14, 0x49, 0x03, 0xf0, + 0x3c, 0x00, 0xf0, 0xd2, 0x00, 0x00, 0x7b, 0xff, + 0x05, 0x1c, 0x04, 0xd1, 0x38, 0x6a, 0x01, 0x30, + 0x38, 0x62, 0x01, 0x36, 0x0d, 0xe0, 0xa0, 0x68, + 0xf4, 0xf7, 0x49, 0xf9, 0xbb, 0x6d, 0x00, 0x2b, + 0x04, 0xd0, 0x00, 0x22, 0x28, 0x1c, 0x61, 0x6b, + 0xf3, 0xf7, 0x64, 0xf8, 0x20, 0x1c, 0xf4, 0xf7, + 0x6c, 0xfa, 0x00, 0x98, 0xfa, 0xf7, 0x11, 0xfd, + 0x04, 0x1c, 0xdc, 0xd1, 0x07, 0x48, 0xb9, 0x6b, + 0x02, 0xf0, 0x3c, 0x00, 0x2c, 0xd3, 0x00, 0x00, + 0x25, 0xf8, 0x00, 0x20, 0xf8, 0x63, 0x30, 0x1c, + 0xf8, 0xbd, 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x11, 0x30, 0x00, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, + 0xc8, 0x63, 0x70, 0x47, 0xc4, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x20, 0x05, 0x4a, 0x00, 0x21, + 0x1c, 0x23, 0x43, 0x43, 0x9b, 0x18, 0x01, 0x30, + 0x04, 0x28, 0xd9, 0x66, 0x3c, 0x00, 0x68, 0xd3, + 0x00, 0x00, 0xf8, 0xdb, 0xfc, 0xf7, 0xfd, 0xfc, + 0x80, 0xbd, 0xc4, 0x69, 0x01, 0x00, 0x01, 0x49, + 0xc8, 0x64, 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x01, 0x49, 0x88, 0x64, 0x70, 0x47, + 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0d, 0x1c, 0x21, 0x1c, 0x02, 0x8e, + 0x80, 0x6a, 0x40, 0x31, 0xf3, 0xf7, 0x2f, 0xf8, + 0x00, 0x28, 0x16, 0xd1, 0x02, 0x21, 0x3c, 0x00, + 0xa4, 0xd3, 0x00, 0x00, 0x20, 0x1c, 0xf4, 0xf7, + 0x6f, 0xfa, 0xe2, 0x69, 0xc0, 0x00, 0x10, 0x18, + 0x82, 0x8b, 0xab, 0x88, 0x9a, 0x42, 0x04, 0xd1, + 0x82, 0x69, 0x2b, 0x68, 0x9a, 0x42, 0x08, 0xd2, + 0x01, 0xe0, 0x9a, 0x42, 0x05, 0xd2, 0x00, 0x21, + 0x18, 0x30, 0x0c, 0xcd, 0x0c, 0xc0, 0x00, 0xe0, + 0x01, 0x21, 0x08, 0x1c, 0xb0, 0xbd, 0x00, 0x00, + 0xf8, 0xb5, 0x06, 0x1c, 0x00, 0x27, 0x44, 0x68, + 0x3c, 0x00, 0xe0, 0xd3, 0x00, 0x00, 0x0f, 0xe0, + 0x09, 0x49, 0x48, 0x6a, 0x01, 0x30, 0x48, 0x62, + 0xa0, 0x69, 0x00, 0x28, 0x02, 0xd0, 0xf4, 0xf7, + 0x00, 0xfa, 0xa7, 0x61, 0x26, 0x62, 0x25, 0x68, + 0x20, 0x1c, 0xff, 0xf7, 0x52, 0xfb, 0x2c, 0x1c, + 0x00, 0x2c, 0xed, 0xd1, 0xf8, 0xbd, 0xc4, 0x69, + 0x01, 0x00, 0x03, 0x30, 0x07, 0x4a, 0x81, 0x08, + 0x13, 0x68, 0x50, 0x68, 0x1b, 0x68, 0x89, 0x00, + 0x09, 0x18, 0x3c, 0x00, 0x1c, 0xd4, 0x00, 0x00, + 0x8b, 0x42, 0x01, 0xd3, 0x51, 0x60, 0x00, 0xe0, + 0x00, 0x20, 0x90, 0x60, 0x70, 0x47, 0x00, 0x00, + 0x8c, 0x6e, 0x01, 0x00, 0x70, 0xb5, 0x12, 0x4e, + 0x80, 0x38, 0xc5, 0x00, 0x70, 0x59, 0x0c, 0x1c, + 0x00, 0x28, 0x04, 0xd1, 0x01, 0x21, 0x0d, 0x20, + 0xf3, 0xf7, 0x2e, 0xff, 0x0d, 0xe0, 0x20, 0x69, + 0x00, 0x28, 0x05, 0xd1, 0xa8, 0x19, 0x81, 0x88, + 0xe0, 0x68, 0x01, 0xf0, 0x3c, 0x00, 0x58, 0xd4, + 0x00, 0x00, 0x47, 0xfa, 0x20, 0x61, 0x71, 0x59, + 0x20, 0x1c, 0xf2, 0xf7, 0xbb, 0xff, 0x04, 0x1c, + 0x00, 0x2c, 0x07, 0xd0, 0xe0, 0x68, 0x00, 0x28, + 0x01, 0xd0, 0xf4, 0xf7, 0x92, 0xf8, 0x20, 0x1c, + 0xf4, 0xf7, 0xbd, 0xf9, 0x70, 0xbd, 0x54, 0x42, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0x0d, 0x1c, + 0x0e, 0x49, 0x06, 0x22, 0xf3, 0xf7, 0x35, 0xf8, + 0x00, 0x26, 0xe6, 0x61, 0x66, 0x62, 0x3c, 0x00, + 0x94, 0xd4, 0x00, 0x00, 0x07, 0x20, 0x30, 0x21, + 0x08, 0x55, 0xe6, 0x63, 0x28, 0x1c, 0xf8, 0xf7, + 0x6b, 0xf8, 0xa0, 0x76, 0x20, 0x1c, 0x14, 0x30, + 0x06, 0x22, 0x29, 0x1c, 0xf3, 0xf7, 0x24, 0xf8, + 0x06, 0x22, 0x29, 0x1c, 0xa0, 0x18, 0xf3, 0xf7, + 0x1f, 0xf8, 0x26, 0x61, 0x70, 0xbd, 0x00, 0x00, + 0x12, 0x61, 0x01, 0x00, 0x80, 0xb5, 0xfd, 0xf7, + 0x85, 0xfe, 0x80, 0xbd, 0x01, 0x49, 0x48, 0x60, + 0x3c, 0x00, 0xd0, 0xd4, 0x00, 0x00, 0x70, 0x47, + 0x00, 0x00, 0xe4, 0x65, 0x01, 0x00, 0x02, 0x49, + 0x80, 0xb5, 0x49, 0x68, 0xf2, 0xf7, 0x7c, 0xff, + 0x80, 0xbd, 0xe4, 0x65, 0x01, 0x00, 0x80, 0xb5, + 0xf4, 0xf7, 0xe5, 0xf9, 0x07, 0x49, 0x07, 0x48, + 0x0e, 0xc9, 0x0e, 0xc0, 0x18, 0x38, 0x00, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0x02, 0xf0, 0xb7, 0xfa, + 0x80, 0xbd, 0x02, 0xf0, 0x9e, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xd5, 0x00, 0x00, + 0xb0, 0x58, 0x01, 0x00, 0x90, 0x73, 0x01, 0x00, + 0x05, 0x49, 0x80, 0xb5, 0x89, 0x68, 0x00, 0x20, + 0x00, 0x29, 0x00, 0xd1, 0x03, 0x20, 0x00, 0x06, + 0x00, 0x0e, 0xfa, 0xf7, 0xe3, 0xfb, 0x80, 0xbd, + 0x60, 0x6c, 0x01, 0x00, 0x80, 0xb5, 0x03, 0x48, + 0x06, 0x22, 0x03, 0x49, 0xf2, 0xf7, 0xde, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0x40, 0x80, 0x07, 0x00, + 0x12, 0x61, 0x01, 0x00, 0x3c, 0x00, 0x48, 0xd5, + 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x0c, 0x4d, + 0x0b, 0x1c, 0x21, 0x1c, 0x00, 0x20, 0x0c, 0x3d, + 0x00, 0x29, 0x09, 0x4c, 0x05, 0xd0, 0x28, 0x78, + 0x21, 0x1c, 0x10, 0x80, 0x02, 0x1c, 0x18, 0x1c, + 0x07, 0xe0, 0x11, 0x88, 0x0e, 0x29, 0x07, 0xd8, + 0x0a, 0x06, 0x12, 0x0e, 0x19, 0x1c, 0x20, 0x1c, + 0x2a, 0x70, 0xf2, 0xf7, 0xbe, 0xff, 0x01, 0x20, + 0xb0, 0xbd, 0xb0, 0x69, 0x01, 0x00, 0x3c, 0x00, + 0x84, 0xd5, 0x00, 0x00, 0x10, 0xb5, 0x00, 0x20, + 0x0a, 0x4a, 0x01, 0x21, 0x11, 0x60, 0x0a, 0x4c, + 0x0a, 0xe0, 0x02, 0x1c, 0x01, 0x6a, 0x50, 0x32, + 0x91, 0x42, 0x05, 0xd0, 0x61, 0x78, 0x3c, 0x23, + 0x59, 0x43, 0x09, 0x19, 0x04, 0x31, 0x01, 0x62, + 0x04, 0xf0, 0xba, 0xfb, 0x00, 0x28, 0xf0, 0xd1, + 0x10, 0xbd, 0x00, 0x00, 0xdc, 0x62, 0x01, 0x00, + 0x68, 0x61, 0x01, 0x00, 0x04, 0x48, 0x80, 0xb5, + 0x3c, 0x00, 0xc0, 0xd5, 0x00, 0x00, 0x00, 0x68, + 0x00, 0x28, 0x03, 0xd0, 0x01, 0x1c, 0x10, 0x20, + 0x04, 0xf0, 0xc7, 0xfe, 0x80, 0xbd, 0x28, 0x61, + 0x01, 0x00, 0x03, 0x22, 0x11, 0x1f, 0x80, 0xb5, + 0x00, 0x20, 0xfb, 0xf7, 0x76, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x0b, 0xf0, 0xb9, 0xfa, + 0x80, 0xbd, 0xff, 0xb5, 0x83, 0xb0, 0x16, 0x1c, + 0x00, 0x21, 0x01, 0x91, 0x1f, 0x1c, 0x08, 0x21, + 0x02, 0xaa, 0x3c, 0x00, 0xfc, 0xd5, 0x00, 0x00, + 0xfa, 0xf7, 0x0e, 0xff, 0x04, 0x1c, 0x2a, 0xd1, + 0x02, 0x98, 0x41, 0x68, 0x49, 0x00, 0x01, 0xd4, + 0x09, 0x24, 0x24, 0xe0, 0xfa, 0xf7, 0x52, 0xff, + 0x38, 0x60, 0x02, 0x98, 0x41, 0x68, 0x49, 0x02, + 0xcd, 0x0f, 0x29, 0x1c, 0xfa, 0xf7, 0x44, 0xff, + 0x01, 0x1c, 0x30, 0x60, 0x38, 0x68, 0x00, 0x06, + 0x00, 0x0e, 0x00, 0xf0, 0x1b, 0xf8, 0x00, 0x28, + 0x01, 0xd1, 0x0a, 0x24, 0x3c, 0x00, 0x38, 0xd6, + 0x00, 0x00, 0x0f, 0xe0, 0x31, 0x68, 0x02, 0x98, + 0x2b, 0x1c, 0x01, 0xaa, 0xfa, 0xf7, 0xd7, 0xff, + 0x00, 0x28, 0x06, 0xd0, 0x01, 0x98, 0x00, 0x28, + 0x04, 0xd0, 0x04, 0x99, 0x09, 0x68, 0x81, 0x42, + 0x00, 0xd2, 0x03, 0x24, 0x01, 0x98, 0x04, 0x99, + 0x08, 0x60, 0x07, 0xb0, 0x20, 0x1c, 0xf0, 0xbd, + 0x00, 0x00, 0x70, 0xb5, 0x05, 0x1c, 0x0e, 0x1c, + 0x01, 0x24, 0x00, 0xf0, 0x84, 0xff, 0x3c, 0x00, + 0x74, 0xd6, 0x00, 0x00, 0x00, 0x28, 0x08, 0xd0, + 0x03, 0x2d, 0x01, 0xd0, 0x04, 0x2d, 0x04, 0xd1, + 0x03, 0x20, 0xc0, 0x03, 0x86, 0x42, 0x00, 0xd3, + 0x00, 0x24, 0x20, 0x1c, 0x70, 0xbd, 0x00, 0x00, + 0x7c, 0xb5, 0x15, 0x1c, 0x06, 0x1c, 0x0c, 0x1c, + 0x29, 0x1c, 0x6a, 0x46, 0x01, 0xab, 0xff, 0xf7, + 0xa5, 0xff, 0x00, 0x28, 0x02, 0xd1, 0x00, 0x2c, + 0x01, 0xd1, 0x03, 0x20, 0x7c, 0xbd, 0x17, 0x48, + 0x3c, 0x00, 0xb0, 0xd6, 0x00, 0x00, 0x00, 0xab, + 0x06, 0x60, 0x18, 0x79, 0x07, 0x28, 0x21, 0xd2, + 0x02, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, 0x9f, 0x44, + 0x00, 0x00, 0x1d, 0x04, 0x04, 0x06, 0x10, 0x17, + 0x13, 0x00, 0x04, 0x20, 0xed, 0xe7, 0x2a, 0x1c, + 0x21, 0x1c, 0x01, 0x20, 0x00, 0x9b, 0xf2, 0xf7, + 0x81, 0xfe, 0x00, 0x28, 0x12, 0xd1, 0x06, 0x20, + 0xe3, 0xe7, 0x2a, 0x68, 0x00, 0x99, 0x05, 0xe0, + 0x00, 0x98, 0x3c, 0x00, 0xec, 0xd6, 0x00, 0x00, + 0x42, 0x78, 0x81, 0x1c, 0x01, 0xe0, 0x2a, 0x68, + 0x69, 0x46, 0x20, 0x1c, 0xf2, 0xf7, 0xfe, 0xfe, + 0x03, 0xe0, 0x04, 0x21, 0x87, 0x20, 0xf3, 0xf7, + 0xcf, 0xfd, 0x00, 0x20, 0xd0, 0xe7, 0x00, 0x00, + 0xf8, 0x6b, 0x01, 0x00, 0xf7, 0xb5, 0x86, 0xb0, + 0x0e, 0x1c, 0x08, 0x21, 0x05, 0xaa, 0x06, 0x98, + 0xfa, 0xf7, 0x7e, 0xfe, 0x04, 0x1c, 0x45, 0xd1, + 0x05, 0x98, 0x41, 0x68, 0x3c, 0x00, 0x28, 0xd7, + 0x00, 0x00, 0x02, 0x90, 0x49, 0x02, 0xc9, 0x0f, + 0x00, 0x25, 0x04, 0x95, 0x03, 0x91, 0x08, 0x9f, + 0xfa, 0xf7, 0xd5, 0xfe, 0x01, 0x90, 0x02, 0xa9, + 0x03, 0xc9, 0xfa, 0xf7, 0xc6, 0xfe, 0x01, 0x99, + 0x05, 0x29, 0x14, 0xd2, 0x02, 0xa3, 0x5b, 0x5c, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x0e, 0x03, + 0x06, 0x0c, 0x03, 0x00, 0x87, 0x42, 0x0e, 0xd8, + 0x07, 0xe0, 0x87, 0x42, 0x0b, 0xd8, 0x3c, 0x00, + 0x64, 0xd7, 0x00, 0x00, 0x01, 0x25, 0xc0, 0x1b, + 0x04, 0x90, 0x07, 0xe0, 0x87, 0x42, 0x05, 0xd1, + 0x01, 0x25, 0x03, 0xe0, 0x05, 0x21, 0x87, 0x20, + 0xf3, 0xf7, 0x94, 0xfd, 0x00, 0x2d, 0x01, 0xd1, + 0x03, 0x24, 0x15, 0xe0, 0x05, 0x98, 0x41, 0x68, + 0x00, 0x29, 0x69, 0xda, 0x3a, 0x4a, 0x06, 0x99, + 0x11, 0x60, 0xfa, 0xf7, 0x91, 0xfe, 0x07, 0x1c, + 0x05, 0x98, 0x03, 0x99, 0xfa, 0xf7, 0x86, 0xfe, + 0x3c, 0x00, 0xa0, 0xd7, 0x00, 0x00, 0x05, 0x1c, + 0x01, 0x1c, 0x38, 0x1c, 0xff, 0xf7, 0x5f, 0xff, + 0x00, 0x28, 0x01, 0xd1, 0x0a, 0x24, 0x5e, 0xe0, + 0x07, 0x2f, 0x57, 0xd2, 0x02, 0xa3, 0xdb, 0x5d, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x53, 0x04, + 0x04, 0x06, 0x2e, 0x50, 0x48, 0x00, 0x04, 0x24, + 0x51, 0xe0, 0x04, 0x98, 0x00, 0x28, 0x01, 0xd1, + 0x00, 0x27, 0x14, 0xe0, 0x08, 0x99, 0x08, 0x18, + 0x00, 0x04, 0x3c, 0x00, 0xdc, 0xd7, 0x00, 0x00, + 0x00, 0x0c, 0xf4, 0xf7, 0x2b, 0xf8, 0x07, 0x1c, + 0x31, 0x1c, 0x08, 0x9a, 0xf2, 0xf7, 0x86, 0xfe, + 0x08, 0x98, 0x04, 0x99, 0x38, 0x18, 0xf2, 0xf7, + 0x2f, 0xfe, 0x08, 0x98, 0x04, 0x99, 0x3e, 0x1c, + 0x40, 0x18, 0x08, 0x90, 0x31, 0x1c, 0x00, 0x20, + 0x08, 0xaa, 0xf2, 0xf7, 0xec, 0xfd, 0x00, 0x28, + 0x00, 0xd1, 0x05, 0x24, 0x00, 0x2f, 0x2d, 0xd0, + 0x38, 0x1c, 0xf3, 0xf7, 0x3c, 0x00, 0x18, 0xd8, + 0x00, 0x00, 0xed, 0xff, 0x29, 0xe0, 0x03, 0x99, + 0x00, 0x29, 0x04, 0xd0, 0x05, 0x98, 0x40, 0x68, + 0x87, 0x02, 0xbf, 0x0a, 0x00, 0xe0, 0x00, 0x27, + 0x31, 0x1c, 0x28, 0x1c, 0x08, 0x9a, 0xf2, 0xf7, + 0x60, 0xfe, 0x04, 0x99, 0x00, 0x29, 0x03, 0xd0, + 0x08, 0x98, 0x28, 0x18, 0xf2, 0xf7, 0x07, 0xfe, + 0x00, 0x2f, 0x12, 0xd0, 0xf2, 0xf7, 0xcc, 0xfd, + 0x0f, 0xe0, 0x31, 0x1c, 0xa8, 0x1c, 0x3c, 0x00, + 0x54, 0xd8, 0x00, 0x00, 0x08, 0x9a, 0xf2, 0xf7, + 0x4f, 0xfe, 0x08, 0x98, 0x68, 0x70, 0x07, 0xe0, + 0xff, 0xe7, 0x07, 0x24, 0x04, 0xe0, 0x08, 0x24, + 0x03, 0x21, 0x87, 0x20, 0xf3, 0xf7, 0x1a, 0xfd, + 0x20, 0x1c, 0x09, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0xf8, 0x6b, 0x01, 0x00, 0x9e, 0xb5, 0x1c, 0x1c, + 0x00, 0xab, 0x19, 0x72, 0x00, 0x92, 0x00, 0x22, + 0x01, 0x94, 0x69, 0x46, 0xfb, 0xf7, 0x08, 0xfa, + 0x3c, 0x00, 0x90, 0xd8, 0x00, 0x00, 0x9e, 0xbd, + 0x00, 0x00, 0x8f, 0xb5, 0x02, 0x92, 0x00, 0x22, + 0x00, 0x90, 0x01, 0x90, 0x03, 0x91, 0x69, 0x46, + 0x04, 0x20, 0xfb, 0xf7, 0xfc, 0xf9, 0x8f, 0xbd, + 0x00, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, 0x01, 0x28, + 0x0a, 0xd0, 0x03, 0x28, 0x19, 0xd0, 0x04, 0x28, + 0x2c, 0xd1, 0x60, 0x68, 0x01, 0xf0, 0x35, 0xfc, + 0x01, 0x1c, 0x83, 0x20, 0x0c, 0xcc, 0x22, 0xe0, + 0x1c, 0x20, 0x3c, 0x00, 0xcc, 0xd8, 0x00, 0x00, + 0x14, 0x49, 0x60, 0x43, 0x40, 0x18, 0x14, 0x49, + 0x45, 0x18, 0x28, 0x1c, 0xf8, 0xf7, 0x46, 0xfc, + 0xa9, 0x68, 0x00, 0x29, 0x03, 0xd0, 0x22, 0x1c, + 0x08, 0x20, 0x05, 0xf0, 0x71, 0xfe, 0xb0, 0xbd, + 0x20, 0x8c, 0xc8, 0x28, 0x01, 0xd3, 0x04, 0x20, + 0x04, 0xe0, 0x65, 0x28, 0x01, 0xd3, 0x02, 0x20, + 0x00, 0xe0, 0x01, 0x20, 0x20, 0x84, 0x20, 0x1c, + 0x03, 0xf0, 0xdc, 0xfa, 0x3c, 0x00, 0x08, 0xd9, + 0x00, 0x00, 0x22, 0x68, 0xe3, 0x68, 0x01, 0x1c, + 0x82, 0x20, 0xff, 0xf7, 0xb4, 0xff, 0xb0, 0xbd, + 0xa0, 0x21, 0x08, 0x20, 0xf3, 0xf7, 0xc3, 0xfc, + 0xb0, 0xbd, 0xdc, 0x71, 0x01, 0x00, 0x64, 0xee, + 0xff, 0xff, 0x03, 0x48, 0x04, 0x4a, 0x81, 0x68, + 0x51, 0x61, 0xc0, 0x68, 0x90, 0x61, 0x70, 0x47, + 0x00, 0x00, 0xf4, 0x68, 0x01, 0x00, 0xc0, 0x71, + 0x01, 0x00, 0x03, 0x49, 0x04, 0x4a, 0x3c, 0x00, + 0x44, 0xd9, 0x00, 0x00, 0x08, 0x6b, 0x90, 0x60, + 0x88, 0x68, 0xd0, 0x60, 0x70, 0x47, 0x00, 0x00, + 0x90, 0x5c, 0x01, 0x00, 0xc0, 0x71, 0x01, 0x00, + 0x00, 0xb5, 0xff, 0xf7, 0xf1, 0xff, 0xff, 0xf7, + 0xe3, 0xff, 0x00, 0xbd, 0xb0, 0xb5, 0x0d, 0x1c, + 0x00, 0x28, 0x14, 0xd0, 0x0b, 0x49, 0x0c, 0x4c, + 0x88, 0x68, 0x62, 0x69, 0xc9, 0x68, 0x80, 0x1a, + 0xa2, 0x69, 0x89, 0x1a, 0x40, 0x18, 0x04, 0xd0, + 0x3c, 0x00, 0x80, 0xd9, 0x00, 0x00, 0x64, 0x23, + 0x59, 0x43, 0xf2, 0xf7, 0xc4, 0xfe, 0x20, 0x61, + 0xff, 0xf7, 0xcd, 0xff, 0x20, 0x69, 0x28, 0x60, + 0x01, 0x20, 0xb0, 0xbd, 0x00, 0x20, 0xb0, 0xbd, + 0x00, 0x00, 0xf4, 0x68, 0x01, 0x00, 0xc0, 0x71, + 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, 0x00, 0x28, + 0x17, 0xd0, 0x0c, 0x49, 0x0d, 0x4c, 0x08, 0x6b, + 0xa2, 0x68, 0x89, 0x68, 0x80, 0x1a, 0xe2, 0x68, + 0x89, 0x1a, 0x3c, 0x00, 0xbc, 0xd9, 0x00, 0x00, + 0x40, 0x18, 0x07, 0xd0, 0x22, 0x88, 0x90, 0x42, + 0x04, 0xd9, 0x64, 0x23, 0x59, 0x43, 0xf2, 0xf7, + 0xa1, 0xfe, 0x60, 0x60, 0xff, 0xf7, 0xb6, 0xff, + 0x60, 0x68, 0x28, 0x60, 0x01, 0x20, 0xb0, 0xbd, + 0x00, 0x20, 0xb0, 0xbd, 0x90, 0x5c, 0x01, 0x00, + 0xc0, 0x71, 0x01, 0x00, 0x7c, 0xb5, 0x10, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0x00, 0xf0, 0x24, 0xf8, + 0x7c, 0xbd, 0x0f, 0x48, 0x3c, 0x00, 0xf8, 0xd9, + 0x00, 0x00, 0xc0, 0x69, 0x84, 0x68, 0xe0, 0x68, + 0x25, 0x6a, 0xa6, 0x69, 0xf3, 0xf7, 0xe3, 0xfd, + 0xe1, 0x69, 0xf3, 0xf7, 0x06, 0xfd, 0x20, 0x1c, + 0xe2, 0x69, 0x40, 0x30, 0xc1, 0x8b, 0x12, 0x89, + 0x89, 0x18, 0xc1, 0x83, 0x07, 0x49, 0x01, 0x94, + 0x00, 0x91, 0x28, 0x69, 0x33, 0x1c, 0x82, 0x88, + 0x01, 0x68, 0xe0, 0x68, 0xc0, 0x68, 0xf8, 0xf7, + 0x1e, 0xfc, 0xe0, 0xe7, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xda, 0x00, 0x00, 0x84, 0x6a, 0x01, 0x00, + 0x91, 0x5e, 0x00, 0x00, 0xf0, 0xb5, 0x85, 0x69, + 0x06, 0x6a, 0x04, 0x1c, 0xc0, 0x68, 0x85, 0xb0, + 0xc0, 0x68, 0x00, 0x28, 0x01, 0xd1, 0xf3, 0xf7, + 0x57, 0xfc, 0x0a, 0x49, 0x02, 0x95, 0x04, 0x94, + 0x03, 0x91, 0x30, 0x69, 0x82, 0x88, 0x01, 0x68, + 0x26, 0x20, 0x01, 0x92, 0x00, 0x91, 0x43, 0x5d, + 0xe0, 0x68, 0xe1, 0x69, 0x2a, 0x1c, 0x0e, 0x32, + 0x3c, 0x00, 0x70, 0xda, 0x00, 0x00, 0xc0, 0x68, + 0xf8, 0xf7, 0x37, 0xfd, 0x05, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xe9, 0xd9, 0x00, 0x00, 0x10, 0xb5, + 0x14, 0x1c, 0x05, 0x48, 0xfc, 0xf7, 0x7b, 0xfb, + 0xa0, 0x68, 0xf3, 0xf7, 0x9e, 0xfd, 0xe1, 0x68, + 0xc1, 0x60, 0x20, 0x1c, 0xf5, 0xf7, 0xbb, 0xfa, + 0x10, 0xbd, 0xa0, 0x6a, 0x01, 0x00, 0x7c, 0xb5, + 0x04, 0x1c, 0x60, 0x30, 0x02, 0x7b, 0xa1, 0x69, + 0x00, 0x91, 0x3c, 0x00, 0xac, 0xda, 0x00, 0x00, + 0x01, 0x92, 0x22, 0x1c, 0x21, 0x1c, 0x38, 0x31, + 0xa0, 0x68, 0x48, 0x32, 0x0d, 0x1c, 0x63, 0x69, + 0x03, 0xf0, 0x7a, 0xfb, 0x08, 0x21, 0x00, 0x20, + 0xf3, 0xf7, 0x88, 0xfd, 0xe0, 0x60, 0x26, 0x69, + 0xb1, 0x6b, 0x00, 0x29, 0x01, 0xd0, 0x10, 0x23, + 0x00, 0xe0, 0x18, 0x23, 0x05, 0x49, 0x01, 0x94, + 0x00, 0x91, 0x31, 0x68, 0xca, 0x18, 0x08, 0x23, + 0x01, 0x1c, 0x28, 0x1c, 0x3c, 0x00, 0xe8, 0xda, + 0x00, 0x00, 0xf8, 0xf7, 0x20, 0xfd, 0x7c, 0xbd, + 0x00, 0x00, 0x81, 0xda, 0x00, 0x00, 0xf0, 0xb5, + 0x46, 0x68, 0x17, 0x1c, 0x04, 0x1c, 0x01, 0x21, + 0x30, 0x1c, 0x9b, 0xb0, 0xfa, 0xf7, 0x0d, 0xfc, + 0x00, 0x25, 0x00, 0x28, 0x03, 0xd0, 0x13, 0x49, + 0x0a, 0x7a, 0x01, 0x2a, 0x01, 0xd1, 0x01, 0x25, + 0x1c, 0xe0, 0x88, 0x62, 0x4e, 0x61, 0x20, 0x89, + 0xc8, 0x61, 0x60, 0x89, 0x00, 0x28, 0x3c, 0x00, + 0x24, 0xdb, 0x00, 0x00, 0x03, 0xd0, 0x00, 0x20, + 0x08, 0x84, 0x48, 0x84, 0x04, 0xe0, 0xe0, 0x68, + 0x08, 0x84, 0x20, 0x8a, 0x48, 0x84, 0x60, 0x8a, + 0x88, 0x84, 0x08, 0x6b, 0x00, 0x28, 0x03, 0xd1, + 0x01, 0xa8, 0x03, 0xf0, 0x77, 0xfc, 0x04, 0xe0, + 0x01, 0x20, 0x08, 0x61, 0x00, 0x20, 0x02, 0xf0, + 0x39, 0xfb, 0x3d, 0x71, 0x1b, 0xb0, 0x01, 0x20, + 0xf0, 0xbd, 0x00, 0x00, 0xf4, 0x6e, 0x01, 0x00, + 0x3c, 0x00, 0x60, 0xdb, 0x00, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0xf7, 0xf7, 0xe8, 0xfb, 0x00, 0x28, + 0x11, 0xd1, 0x4b, 0x20, 0x00, 0x5d, 0x01, 0x28, + 0x0d, 0xd1, 0x20, 0x1c, 0x04, 0xf0, 0x85, 0xfa, + 0x00, 0x21, 0x20, 0x1c, 0x04, 0xf0, 0xf3, 0xf8, + 0xa0, 0x69, 0x00, 0x21, 0xc2, 0x07, 0xd2, 0x0f, + 0x04, 0x20, 0xf4, 0xf7, 0xd8, 0xf9, 0x10, 0xbd, + 0x00, 0x00, 0x38, 0xb5, 0x04, 0x1c, 0x04, 0xf0, + 0x36, 0xf9, 0x3c, 0x00, 0x9c, 0xdb, 0x00, 0x00, + 0x00, 0x28, 0x03, 0xd0, 0x40, 0x30, 0x80, 0x7a, + 0x00, 0x28, 0x25, 0xd1, 0x0c, 0x20, 0x29, 0x21, + 0x08, 0x55, 0x21, 0x1c, 0x06, 0x22, 0xa0, 0x18, + 0xf2, 0xf7, 0xa0, 0xfc, 0x20, 0x1c, 0x06, 0x22, + 0x0e, 0x49, 0xf2, 0xf7, 0x9b, 0xfc, 0x01, 0x20, + 0xe0, 0x61, 0x60, 0x62, 0x07, 0x20, 0x30, 0x21, + 0x08, 0x55, 0x00, 0x25, 0xe5, 0x63, 0x06, 0x20, + 0x00, 0xab, 0x18, 0x80, 0x3c, 0x00, 0xd8, 0xdb, + 0x00, 0x00, 0xe0, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0xf3, 0xf7, 0xdb, 0xfc, 0x02, 0x21, 0x68, 0x46, + 0xfd, 0xf7, 0x73, 0xfb, 0xe0, 0x60, 0x20, 0x1c, + 0xff, 0xf7, 0x69, 0xfc, 0xe5, 0x60, 0x20, 0x1c, + 0x38, 0xbd, 0x12, 0x61, 0x01, 0x00, 0xfe, 0xb5, + 0x05, 0x1c, 0x0e, 0x1c, 0x15, 0x20, 0x00, 0xab, + 0x98, 0x80, 0x14, 0x21, 0x17, 0x1c, 0x00, 0x20, + 0xf3, 0xf7, 0xe3, 0xfc, 0x02, 0x90, 0x3c, 0x00, + 0x14, 0xdc, 0x00, 0x00, 0x04, 0x68, 0x06, 0x22, + 0x31, 0x1c, 0x60, 0x1d, 0x25, 0x71, 0xf2, 0xf7, + 0x6b, 0xfc, 0x06, 0x22, 0x39, 0x1c, 0x20, 0x1c, + 0x0b, 0x30, 0xf2, 0xf7, 0x65, 0xfc, 0x01, 0xa8, + 0xff, 0xf7, 0x52, 0xfc, 0xfe, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0x23, 0xfb, 0xf7, 0x5c, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x70, 0xb5, 0x05, 0x1c, + 0x08, 0x35, 0x0f, 0x4e, 0x29, 0x1c, 0x04, 0x1c, + 0x3c, 0x00, 0x50, 0xdc, 0x00, 0x00, 0x06, 0x22, + 0x30, 0x1c, 0xf2, 0xf7, 0x50, 0xfc, 0xa0, 0x88, + 0xb0, 0x82, 0x28, 0x1c, 0x05, 0xf0, 0xa1, 0xff, + 0x00, 0x28, 0x0b, 0xd0, 0xe0, 0x88, 0x30, 0x61, + 0x28, 0x1c, 0x04, 0xf0, 0xcc, 0xf8, 0xa1, 0x88, + 0x40, 0x30, 0x41, 0x80, 0x00, 0x20, 0xf4, 0xf7, + 0xb8, 0xf9, 0x02, 0xe0, 0x04, 0x20, 0xf4, 0xf7, + 0xa0, 0xf9, 0x00, 0x20, 0x70, 0xbd, 0x70, 0x7c, + 0x01, 0x00, 0x3c, 0x00, 0x8c, 0xdc, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0x20, 0xfb, 0xf7, 0xf8, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x70, 0xb5, 0x04, 0x1c, + 0x04, 0x30, 0x05, 0x1c, 0xfd, 0xf7, 0x32, 0xf8, + 0x00, 0x28, 0x09, 0xd0, 0x00, 0x20, 0xf7, 0xf7, + 0x37, 0xfc, 0x00, 0x28, 0x04, 0xd0, 0x06, 0x22, + 0x01, 0x1c, 0x28, 0x1c, 0xf2, 0xf7, 0x1e, 0xfc, + 0x0a, 0x4e, 0x06, 0x22, 0x29, 0x1c, 0x30, 0x1c, + 0xf2, 0xf7, 0x18, 0xfc, 0x3c, 0x00, 0xc8, 0xdc, + 0x00, 0x00, 0x60, 0x89, 0xf0, 0x82, 0x28, 0x1c, + 0x05, 0xf0, 0x69, 0xff, 0x00, 0x28, 0x03, 0xd0, + 0x02, 0x20, 0xf4, 0xf7, 0x88, 0xf9, 0x02, 0xe0, + 0x05, 0x20, 0xf9, 0xf7, 0xf4, 0xfa, 0x00, 0x20, + 0x70, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x00, 0x79, 0x04, 0x28, 0x1c, 0xd2, + 0x60, 0x79, 0x01, 0x28, 0x01, 0xd0, 0x03, 0x28, + 0x04, 0xd1, 0x00, 0x22, 0x01, 0x21, 0x3c, 0x00, + 0x04, 0xdd, 0x00, 0x00, 0xa0, 0x1d, 0xf9, 0xf7, + 0x69, 0xfc, 0x60, 0x79, 0x00, 0x28, 0x04, 0xd1, + 0x22, 0x79, 0x00, 0x21, 0xf9, 0xf7, 0x62, 0xfc, + 0x0a, 0xe0, 0x03, 0x28, 0x08, 0xd1, 0x00, 0x24, + 0x22, 0x1c, 0x00, 0x21, 0x00, 0x20, 0xf9, 0xf7, + 0x59, 0xfc, 0x01, 0x34, 0x04, 0x2c, 0xf7, 0xdb, + 0x01, 0x20, 0x10, 0xbd, 0xf0, 0xb5, 0x97, 0xb0, + 0x17, 0x1c, 0x05, 0x1c, 0x04, 0x30, 0x04, 0x1c, + 0x3c, 0x00, 0x40, 0xdd, 0x00, 0x00, 0x15, 0xaa, + 0x16, 0xa9, 0x05, 0xf0, 0xe2, 0xfe, 0x00, 0x28, + 0x2e, 0xd0, 0x15, 0x98, 0x4b, 0x21, 0x09, 0x5c, + 0x00, 0x29, 0x23, 0xd0, 0x01, 0x29, 0x02, 0xd0, + 0x02, 0x29, 0x1f, 0xd1, 0x01, 0xe0, 0x04, 0xf0, + 0x90, 0xf9, 0xad, 0x7a, 0x13, 0x48, 0x16, 0x9e, + 0x05, 0x80, 0x06, 0x22, 0x21, 0x1c, 0x08, 0x30, + 0xf2, 0xf7, 0xc1, 0xfb, 0x22, 0x1c, 0x31, 0x1c, + 0x02, 0xa8, 0x3c, 0x00, 0x7c, 0xdd, 0x00, 0x00, + 0x00, 0xf0, 0x74, 0xfb, 0x0a, 0x20, 0x0a, 0xa9, + 0x48, 0x72, 0x00, 0xab, 0x9d, 0x80, 0x02, 0x21, + 0x01, 0xa8, 0xfd, 0xf7, 0x9f, 0xfa, 0x05, 0x90, + 0x02, 0xa8, 0xff, 0xf7, 0x95, 0xfb, 0xf3, 0xf7, + 0xf7, 0xf9, 0x00, 0x21, 0x15, 0x98, 0x03, 0xf0, + 0xe1, 0xff, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, + 0x38, 0x71, 0x17, 0xb0, 0x01, 0x20, 0xf0, 0xbd, + 0x98, 0x7c, 0x01, 0x00, 0x3c, 0x00, 0xb8, 0xdd, + 0x00, 0x00, 0x80, 0xb5, 0x01, 0x20, 0xfb, 0xf7, + 0x62, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x80, 0x7d, 0x15, 0x1c, 0x0a, 0x1c, + 0xc0, 0x07, 0xc0, 0x17, 0x01, 0x30, 0x21, 0x1c, + 0xf9, 0xf7, 0xfb, 0xfc, 0x00, 0x28, 0x03, 0xd1, + 0x04, 0x20, 0x28, 0x71, 0x01, 0x20, 0xb0, 0xbd, + 0x20, 0x6a, 0xf7, 0xf7, 0x76, 0xfe, 0x60, 0x6a, + 0xf7, 0xf7, 0x7b, 0xfe, 0x20, 0x6a, 0x3c, 0x00, + 0xf4, 0xdd, 0x00, 0x00, 0xfe, 0xf7, 0x88, 0xfa, + 0x00, 0x20, 0xb0, 0xbd, 0x10, 0xb5, 0x14, 0x1c, + 0xc2, 0x79, 0x81, 0x79, 0x80, 0x88, 0xf7, 0xf7, + 0xa1, 0xfa, 0x20, 0x71, 0x01, 0x20, 0x10, 0xbd, + 0x80, 0xb5, 0x01, 0x23, 0xfa, 0xf7, 0x70, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0xf0, 0xb5, 0x04, 0x1c, + 0x08, 0x1c, 0x00, 0x21, 0x0f, 0x28, 0x91, 0xb0, + 0x00, 0xd3, 0x02, 0x21, 0x00, 0x29, 0x41, 0xd1, + 0x3c, 0x00, 0x30, 0xde, 0x00, 0x00, 0xc0, 0x00, + 0x24, 0x4f, 0x10, 0x90, 0xc6, 0x19, 0xb2, 0x88, + 0x21, 0x68, 0x02, 0xa8, 0xf2, 0xf7, 0x5b, 0xfb, + 0x21, 0x89, 0xb0, 0x88, 0x09, 0x1a, 0x00, 0x29, + 0x07, 0xdd, 0x09, 0x04, 0x22, 0x68, 0x09, 0x0c, + 0x10, 0x18, 0xf3, 0xf7, 0xc0, 0xfb, 0x05, 0x1c, + 0x00, 0xe0, 0x00, 0x25, 0xb0, 0x79, 0x80, 0x21, + 0x88, 0x43, 0x17, 0x49, 0x78, 0x31, 0x09, 0x5c, + 0x00, 0x20, 0x3c, 0x00, 0x6c, 0xde, 0x00, 0x00, + 0xf3, 0xf7, 0xb4, 0xfb, 0x07, 0x1c, 0x00, 0x68, + 0x13, 0x49, 0x01, 0x90, 0x10, 0x98, 0x0b, 0x58, + 0x01, 0x9a, 0x29, 0x1c, 0x02, 0xa8, 0xf2, 0xf7, + 0xac, 0xfa, 0x00, 0x90, 0x28, 0x1c, 0xf3, 0xf7, + 0x73, 0xfb, 0x20, 0x1c, 0xf3, 0xf7, 0x82, 0xfb, + 0x00, 0x98, 0x00, 0x28, 0x08, 0xd0, 0x02, 0x98, + 0x01, 0x99, 0x08, 0x60, 0xb0, 0x79, 0x39, 0x1c, + 0xfa, 0xf7, 0x20, 0xff, 0x3c, 0x00, 0xa8, 0xde, + 0x00, 0x00, 0x11, 0xb0, 0xf0, 0xbd, 0x38, 0x1c, + 0xf3, 0xf7, 0x61, 0xfb, 0xf9, 0xe7, 0x2d, 0x20, + 0xf3, 0xf7, 0xf5, 0xf9, 0x20, 0x1c, 0xf3, 0xf7, + 0x6c, 0xfb, 0xf2, 0xe7, 0x00, 0x00, 0x24, 0x44, + 0x01, 0x00, 0x70, 0xb5, 0x05, 0x1c, 0x20, 0x35, + 0x06, 0x1c, 0xa8, 0x79, 0x04, 0x28, 0x48, 0xd2, + 0xe9, 0x79, 0x01, 0x29, 0x13, 0xd1, 0x30, 0x1c, + 0x28, 0x30, 0x03, 0xf0, 0x92, 0xff, 0x3c, 0x00, + 0xe4, 0xde, 0x00, 0x00, 0x00, 0x28, 0x3f, 0xd0, + 0x01, 0x1c, 0x8c, 0x31, 0x01, 0x65, 0xa9, 0x79, + 0x4c, 0x22, 0x04, 0x1c, 0x11, 0x54, 0x81, 0x18, + 0x41, 0x62, 0x50, 0x34, 0x04, 0x62, 0xe1, 0x1e, + 0x81, 0x62, 0x0b, 0xe0, 0x00, 0x29, 0x2f, 0xd1, + 0x3c, 0x22, 0x18, 0x49, 0x42, 0x43, 0x54, 0x18, + 0x17, 0x4a, 0x04, 0x34, 0x12, 0x68, 0x00, 0x2a, + 0x00, 0xd1, 0x48, 0x70, 0x00, 0x2c, 0x23, 0xd0, + 0x3c, 0x00, 0x20, 0xdf, 0x00, 0x00, 0x35, 0x1c, + 0x30, 0x35, 0xe8, 0x79, 0x01, 0x28, 0x01, 0xd0, + 0x05, 0x28, 0x01, 0xd1, 0x06, 0x20, 0xe8, 0x71, + 0x20, 0x22, 0x31, 0x1d, 0x20, 0x68, 0xf2, 0xf7, + 0xde, 0xfa, 0xb0, 0x8c, 0xa0, 0x80, 0xe8, 0x79, + 0xa0, 0x71, 0xa8, 0x79, 0x00, 0x25, 0xa0, 0x63, + 0x01, 0x20, 0x60, 0x81, 0x00, 0x20, 0xe0, 0x60, + 0x2e, 0x36, 0xe8, 0x00, 0x00, 0x19, 0x18, 0x30, + 0x08, 0x22, 0x3c, 0x00, 0x5c, 0xdf, 0x00, 0x00, + 0x31, 0x1c, 0xf2, 0xf7, 0xcb, 0xfa, 0x01, 0x35, + 0x04, 0x2d, 0xf5, 0xd3, 0x01, 0x20, 0x70, 0xbd, + 0x68, 0x61, 0x01, 0x00, 0xdc, 0x62, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0xc0, 0x7a, 0x01, 0x28, + 0x01, 0xd0, 0x03, 0x28, 0x07, 0xd1, 0x20, 0x1d, + 0x03, 0xf0, 0x40, 0xff, 0x00, 0x28, 0x02, 0xd0, + 0xa1, 0x7a, 0x40, 0x30, 0x41, 0x73, 0xe0, 0x7a, + 0x00, 0x28, 0x01, 0xd0, 0x3c, 0x00, 0x98, 0xdf, + 0x00, 0x00, 0x03, 0x28, 0x02, 0xd1, 0xa0, 0x7a, + 0x02, 0x49, 0x08, 0x70, 0x01, 0x20, 0x10, 0xbd, + 0x00, 0x00, 0x68, 0x61, 0x01, 0x00, 0x70, 0xb5, + 0x0e, 0x1c, 0x03, 0x21, 0x04, 0x1c, 0x30, 0x1c, + 0xfc, 0xf7, 0xe1, 0xfb, 0x00, 0x28, 0x01, 0xd0, + 0x85, 0x78, 0x00, 0xe0, 0x00, 0x25, 0x0b, 0x48, + 0x32, 0x1c, 0x00, 0x68, 0x03, 0x68, 0x20, 0x7c, + 0x80, 0x07, 0xc0, 0x0f, 0x21, 0x1c, 0x3c, 0x00, + 0xd4, 0xdf, 0x00, 0x00, 0xf7, 0xf7, 0x62, 0xfe, + 0x00, 0x28, 0x05, 0xd0, 0x01, 0x21, 0x28, 0x1c, + 0xfd, 0xf7, 0xfe, 0xfb, 0x00, 0x20, 0x00, 0xe0, + 0x08, 0x20, 0x03, 0xf0, 0xc5, 0xff, 0x00, 0x20, + 0x70, 0xbd, 0x00, 0x00, 0xe4, 0x65, 0x01, 0x00, + 0x80, 0xb5, 0x42, 0x68, 0x00, 0x88, 0x01, 0x21, + 0x49, 0x06, 0x08, 0x43, 0x2d, 0x21, 0x05, 0xf0, + 0xd3, 0xfb, 0x80, 0xbd, 0x03, 0x49, 0x01, 0x20, + 0x3c, 0x00, 0x10, 0xe0, 0x00, 0x00, 0x49, 0x78, + 0x02, 0x29, 0x00, 0xd0, 0x00, 0x20, 0x70, 0x47, + 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, 0x8c, 0xb5, + 0x01, 0x28, 0x1f, 0xd1, 0x00, 0x29, 0x0d, 0xd0, + 0x01, 0x29, 0x0b, 0xd0, 0x02, 0x29, 0x01, 0xd0, + 0x03, 0x29, 0x16, 0xd1, 0x00, 0x20, 0xf9, 0xf7, + 0x14, 0xfc, 0x93, 0x20, 0x00, 0xab, 0x18, 0x80, + 0x00, 0x20, 0x08, 0xe0, 0x01, 0x29, 0x00, 0xd0, + 0x00, 0x20, 0x3c, 0x00, 0x4c, 0xe0, 0x00, 0x00, + 0xf9, 0xf7, 0x0a, 0xfc, 0x83, 0x20, 0x00, 0xab, + 0x18, 0x80, 0x02, 0x20, 0x00, 0xf0, 0xcc, 0xf8, + 0x01, 0x90, 0x68, 0x46, 0xff, 0xf7, 0x3a, 0xfa, + 0x8c, 0xbd, 0x01, 0x21, 0x0e, 0x20, 0xf3, 0xf7, + 0x1b, 0xf9, 0xf9, 0xe7, 0xff, 0xb5, 0x17, 0x1c, + 0x1e, 0x1c, 0x14, 0x21, 0x00, 0x20, 0x83, 0xb0, + 0xf3, 0xf7, 0xac, 0xfa, 0x05, 0x1c, 0x04, 0x68, + 0x12, 0x20, 0x00, 0xab, 0x3c, 0x00, 0x88, 0xe0, + 0x00, 0x00, 0x98, 0x80, 0x06, 0x22, 0x60, 0x1d, + 0x03, 0x99, 0xf2, 0xf7, 0x32, 0xfa, 0x00, 0x20, + 0x20, 0x71, 0x27, 0x73, 0x04, 0x99, 0x20, 0x1c, + 0xe1, 0x72, 0x31, 0x1c, 0x06, 0x22, 0x0d, 0x30, + 0xf2, 0xf7, 0x27, 0xfa, 0x02, 0x95, 0x01, 0xa8, + 0xff, 0xf7, 0x13, 0xfa, 0x07, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x0f, 0x1c, + 0x0c, 0x21, 0x00, 0x20, 0xf3, 0xf7, 0x3c, 0x00, + 0xc4, 0xe0, 0x00, 0x00, 0x89, 0xfa, 0x05, 0x68, + 0x04, 0x1c, 0x28, 0x1d, 0x06, 0x22, 0x31, 0x1c, + 0xf2, 0xf7, 0x12, 0xfa, 0x6f, 0x81, 0x20, 0x1c, + 0xf8, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x0d, 0x1c, 0x08, 0x21, 0x00, 0x20, 0xf3, 0xf7, + 0x77, 0xfa, 0x01, 0x68, 0x8c, 0x71, 0x8d, 0x80, + 0xb0, 0xbd, 0x00, 0x00, 0xf7, 0xb5, 0x0e, 0x1c, + 0x10, 0x21, 0x17, 0x1c, 0x00, 0x20, 0xf3, 0xf7, + 0x3c, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x6b, 0xfa, + 0x04, 0x68, 0x05, 0x1c, 0x20, 0x1d, 0x06, 0x22, + 0x00, 0x99, 0xf2, 0xf7, 0xf4, 0xf9, 0x66, 0x81, + 0xa7, 0x81, 0x28, 0x1c, 0xfe, 0xbd, 0xf3, 0xb5, + 0x0c, 0x1c, 0x08, 0x21, 0x00, 0x20, 0x85, 0xb0, + 0xf3, 0xf7, 0x59, 0xfa, 0x06, 0x1c, 0x07, 0x68, + 0xe0, 0x68, 0x00, 0x28, 0x02, 0xd0, 0x05, 0x99, + 0x01, 0x29, 0x04, 0xd1, 0x05, 0x98, 0x38, 0x71, + 0x00, 0x20, 0x3c, 0x00, 0x3c, 0xe1, 0x00, 0x00, + 0x78, 0x71, 0x56, 0xe0, 0x03, 0x68, 0x01, 0x21, + 0x03, 0x93, 0x20, 0x69, 0x02, 0x90, 0xfc, 0xf7, + 0x17, 0xfb, 0x05, 0x1c, 0x02, 0x98, 0x32, 0x21, + 0xfc, 0xf7, 0x12, 0xfb, 0x00, 0x22, 0xd2, 0x43, + 0x01, 0x1c, 0x28, 0x1c, 0x04, 0xab, 0xf7, 0xf7, + 0xb9, 0xf8, 0x00, 0x28, 0x04, 0xd1, 0x30, 0x1c, + 0xf3, 0xf7, 0x02, 0xfa, 0x00, 0x26, 0x3c, 0xe0, + 0x00, 0x2d, 0x05, 0xd0, 0x3c, 0x00, 0x78, 0xe1, + 0x00, 0x00, 0x68, 0x78, 0x09, 0x38, 0x07, 0x28, + 0x01, 0xd8, 0x32, 0x20, 0x28, 0x70, 0x1c, 0x21, + 0x00, 0x20, 0xf3, 0xf7, 0x26, 0xfa, 0x01, 0x90, + 0x05, 0x68, 0x01, 0x1c, 0x30, 0x1c, 0xf3, 0xf7, + 0x40, 0xf9, 0xe0, 0x68, 0xf3, 0xf7, 0x0b, 0xfa, + 0xa8, 0x61, 0xe1, 0x68, 0x01, 0x98, 0xf3, 0xf7, + 0x38, 0xf9, 0x00, 0x20, 0xe0, 0x60, 0x05, 0x98, + 0x80, 0x21, 0x08, 0x43, 0x38, 0x71, 0x3c, 0x00, + 0xb4, 0xe1, 0x00, 0x00, 0x01, 0x20, 0x21, 0x1c, + 0x14, 0x31, 0x78, 0x71, 0x28, 0x1c, 0x06, 0x22, + 0xf2, 0xf7, 0x9a, 0xf9, 0x02, 0x9a, 0x29, 0x20, + 0x00, 0x92, 0x00, 0x5d, 0x01, 0x21, 0xe2, 0x6a, + 0x08, 0x28, 0x00, 0xd0, 0x00, 0x21, 0x28, 0x1c, + 0x03, 0x9b, 0x02, 0xf0, 0x9d, 0xff, 0xa0, 0x6b, + 0x28, 0x61, 0x20, 0x6c, 0x68, 0x61, 0x7f, 0x30, + 0x01, 0xd1, 0x0f, 0x20, 0x68, 0x61, 0x30, 0x1c, + 0x3c, 0x00, 0xf0, 0xe1, 0x00, 0x00, 0x07, 0xb0, + 0xf0, 0xbd, 0x10, 0xb5, 0x04, 0x1c, 0x08, 0x21, + 0x00, 0x20, 0xf3, 0xf7, 0xec, 0xf9, 0x01, 0x68, + 0x0c, 0x71, 0x10, 0xbd, 0x00, 0x00, 0x01, 0x48, + 0x00, 0x68, 0x70, 0x47, 0x00, 0x00, 0x28, 0x61, + 0x01, 0x00, 0x01, 0x49, 0x08, 0x60, 0x70, 0x47, + 0x00, 0x00, 0xe4, 0x65, 0x01, 0x00, 0x02, 0x1c, + 0x01, 0x20, 0x00, 0x06, 0x08, 0x43, 0x80, 0xb5, + 0x2d, 0x21, 0x3c, 0x00, 0x2c, 0xe2, 0x00, 0x00, + 0x05, 0xf0, 0xc0, 0xfa, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x01, 0x28, 0x07, 0xd0, 0xf1, 0x28, + 0x25, 0xd0, 0xf3, 0x28, 0x27, 0xd1, 0x02, 0x20, + 0x02, 0xf0, 0xbc, 0xf9, 0x80, 0xbd, 0x00, 0x29, + 0x1a, 0xd0, 0x01, 0x29, 0x03, 0xd0, 0xf2, 0x29, + 0xf8, 0xd1, 0x88, 0x21, 0x1c, 0xe0, 0x10, 0x48, + 0x01, 0x78, 0x00, 0x29, 0x05, 0xd1, 0x40, 0x78, + 0x01, 0x28, 0xef, 0xd1, 0x3c, 0x00, 0x68, 0xe2, + 0x00, 0x00, 0x00, 0xf0, 0x16, 0xfa, 0x80, 0xbd, + 0x0b, 0x48, 0x14, 0x30, 0x00, 0x89, 0xfc, 0xf7, + 0x5a, 0xfc, 0x01, 0x1c, 0x01, 0x22, 0x0f, 0x20, + 0x05, 0xf0, 0x9f, 0xf9, 0x80, 0xbd, 0x04, 0xf0, + 0x52, 0xfa, 0x80, 0xbd, 0x00, 0x20, 0xfa, 0xf7, + 0x32, 0xfe, 0x80, 0xbd, 0x02, 0x21, 0x0f, 0x20, + 0xf3, 0xf7, 0x05, 0xf8, 0x80, 0xbd, 0x84, 0x66, + 0x01, 0x00, 0x01, 0x48, 0x00, 0x78, 0x3c, 0x00, + 0xa4, 0xe2, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x74, 0x66, 0x01, 0x00, 0x01, 0x49, 0x00, 0x20, + 0x48, 0x60, 0x70, 0x47, 0xec, 0x65, 0x01, 0x00, + 0xf8, 0xb5, 0x0e, 0x1c, 0x13, 0x4d, 0x01, 0x1c, + 0x14, 0x1c, 0x68, 0x22, 0x28, 0x1c, 0x1f, 0x1c, + 0x0c, 0x30, 0xf2, 0xf7, 0x71, 0xf9, 0x0f, 0x49, + 0x00, 0x20, 0xac, 0x39, 0x48, 0x60, 0x01, 0x21, + 0x29, 0x60, 0x19, 0x21, 0x19, 0x2c, 0x6e, 0x67, + 0x3c, 0x00, 0xe0, 0xe2, 0x00, 0x00, 0x00, 0xd3, + 0x21, 0x1c, 0x29, 0x81, 0x09, 0x49, 0x14, 0x39, + 0x88, 0x73, 0x8f, 0x74, 0xc8, 0x78, 0x01, 0x28, + 0x08, 0xd0, 0x01, 0x21, 0x0f, 0x20, 0x05, 0xf0, + 0x9c, 0xf9, 0x19, 0x20, 0xfc, 0xf7, 0x15, 0xfc, + 0xfb, 0xf7, 0x99, 0xf8, 0x01, 0x20, 0xf8, 0xbd, + 0x00, 0x00, 0x98, 0x66, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x28, 0x02, 0xd1, 0x00, 0xf0, 0x2f, 0xf8, + 0x80, 0xbd, 0x3c, 0x00, 0x1c, 0xe3, 0x00, 0x00, + 0x01, 0x21, 0x1d, 0x20, 0xf2, 0xf7, 0xc0, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x01, 0x20, 0x07, 0x49, 0x00, 0x05, 0x80, 0xb5, + 0x88, 0x60, 0x00, 0x22, 0x80, 0x21, 0x16, 0x20, + 0x05, 0xf0, 0x4c, 0xf9, 0x04, 0xf0, 0x34, 0xfd, + 0x02, 0x49, 0x08, 0x61, 0x80, 0xbd, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x24, 0x6d, 0x01, 0x00, + 0x06, 0x4a, 0x80, 0xb5, 0x3c, 0x00, 0x58, 0xe3, + 0x00, 0x00, 0xd1, 0x6a, 0x81, 0x42, 0x07, 0xd1, + 0x10, 0x7f, 0x24, 0x23, 0x04, 0x49, 0x58, 0x43, + 0x40, 0x18, 0xc0, 0x68, 0xf2, 0xf7, 0x35, 0xf8, + 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, 0x94, 0x46, + 0x01, 0x00, 0x1d, 0x48, 0x1c, 0xb5, 0x00, 0x78, + 0x00, 0x28, 0x2d, 0xd0, 0x1c, 0x48, 0x00, 0x68, + 0x00, 0x28, 0x29, 0xd0, 0x1a, 0x4a, 0x1a, 0x4b, + 0x04, 0x32, 0x11, 0x68, 0x1c, 0x69, 0x3c, 0x00, + 0x94, 0xe3, 0x00, 0x00, 0xa1, 0x42, 0x22, 0xd1, + 0x51, 0x68, 0x5b, 0x69, 0x99, 0x42, 0x1f, 0xd1, + 0x16, 0x49, 0x49, 0x68, 0x93, 0x68, 0xc9, 0x1a, + 0x81, 0x42, 0x19, 0xd2, 0xd0, 0x68, 0x14, 0x49, + 0x01, 0x30, 0xd0, 0x60, 0x09, 0x68, 0x88, 0x42, + 0x0c, 0xd9, 0x06, 0x22, 0xff, 0x21, 0x68, 0x46, + 0xf2, 0xf7, 0x2e, 0xf9, 0xf3, 0xf7, 0xac, 0xfc, + 0x01, 0x1c, 0x00, 0x23, 0x00, 0x22, 0x68, 0x46, + 0x3c, 0x00, 0xd0, 0xe3, 0x00, 0x00, 0x02, 0xf0, + 0xce, 0xf9, 0x01, 0x22, 0x1d, 0x20, 0x0a, 0x49, + 0x05, 0xf0, 0xf7, 0xf8, 0x1c, 0xbd, 0xf7, 0xf7, + 0x88, 0xf9, 0x04, 0x22, 0x81, 0x18, 0x08, 0x1c, + 0xfc, 0xf7, 0x27, 0xfb, 0xf6, 0xe7, 0x1c, 0x75, + 0x01, 0x00, 0x44, 0x75, 0x01, 0x00, 0x28, 0x61, + 0x01, 0x00, 0x90, 0x5c, 0x01, 0x00, 0xf0, 0x59, + 0x01, 0x00, 0xa0, 0x86, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x68, 0x3c, 0x00, 0x0c, 0xe4, 0x00, 0x00, + 0x00, 0x29, 0x15, 0xd1, 0x00, 0x79, 0x02, 0x28, + 0x12, 0xd1, 0x08, 0x1c, 0xf7, 0xf7, 0x80, 0xf8, + 0x00, 0x28, 0x0d, 0xd0, 0x03, 0xf0, 0xf2, 0xfc, + 0x08, 0x30, 0x41, 0x8f, 0x00, 0x29, 0x07, 0xd1, + 0x80, 0x69, 0x00, 0x28, 0x04, 0xd0, 0x80, 0x79, + 0x06, 0x28, 0x01, 0xd1, 0xfc, 0xf7, 0x18, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x01, 0x49, 0x00, 0x20, + 0x88, 0x62, 0x70, 0x47, 0x3c, 0x00, 0x48, 0xe4, + 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, 0xb0, 0xb5, + 0x05, 0x4d, 0x04, 0x1c, 0xa9, 0x1d, 0xff, 0xf7, + 0x14, 0xf8, 0x06, 0x22, 0x29, 0x1c, 0xa0, 0x18, + 0xf2, 0xf7, 0x4b, 0xf8, 0xb0, 0xbd, 0x70, 0x7c, + 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x15, 0x1c, + 0xff, 0xf7, 0x07, 0xf8, 0x06, 0x22, 0x29, 0x1c, + 0xa0, 0x18, 0xf2, 0xf7, 0x3e, 0xf8, 0xb0, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x0a, 0x30, 0x3c, 0x00, + 0x84, 0xe4, 0x00, 0x00, 0xf7, 0xf7, 0xbc, 0xf9, + 0x01, 0x23, 0x00, 0x28, 0x03, 0xd0, 0x05, 0x48, + 0x00, 0x78, 0x01, 0x28, 0x04, 0xd1, 0x00, 0x22, + 0x00, 0x21, 0x00, 0x20, 0x03, 0xf0, 0xc6, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0xa0, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x23, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x20, 0x03, 0xf0, 0xbb, 0xfd, 0x80, 0xbd, + 0xb0, 0xb5, 0x05, 0x4d, 0xac, 0x79, 0x0a, 0x1c, + 0x3c, 0x00, 0xc0, 0xe4, 0x00, 0x00, 0x01, 0x1c, + 0x01, 0x23, 0x01, 0x20, 0x03, 0xf0, 0xb1, 0xfd, + 0xac, 0x71, 0xb0, 0xbd, 0x00, 0x00, 0x20, 0x10, + 0x07, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x0c, 0x1c, + 0x88, 0x07, 0x02, 0xd5, 0xf6, 0xf7, 0x47, 0xfa, + 0x10, 0xe0, 0x60, 0x07, 0x0e, 0xd5, 0x17, 0x4f, + 0xa3, 0x20, 0xc0, 0x5d, 0x15, 0x4d, 0x10, 0x28, + 0x00, 0xd3, 0x15, 0x4d, 0x04, 0xf0, 0x59, 0xfc, + 0xb9, 0x6f, 0x3c, 0x00, 0xfc, 0xe4, 0x00, 0x00, + 0x40, 0x1a, 0x29, 0x1a, 0x01, 0x20, 0xf6, 0xf7, + 0xc1, 0xfa, 0xe0, 0x07, 0x11, 0x49, 0xc0, 0x0f, + 0x48, 0x60, 0x0c, 0xd0, 0x0d, 0x4c, 0x44, 0x3c, + 0x20, 0x78, 0x03, 0x28, 0x0f, 0xd1, 0x00, 0x2e, + 0x06, 0xd0, 0xf6, 0xf7, 0xf9, 0xf9, 0x01, 0x1c, + 0x01, 0x20, 0xf6, 0xf7, 0xaf, 0xfa, 0xf8, 0xbd, + 0x09, 0x49, 0x01, 0x20, 0xf6, 0xf7, 0xaa, 0xfa, + 0x01, 0x20, 0x20, 0x70, 0x3c, 0x00, 0x38, 0xe5, + 0x00, 0x00, 0xf7, 0xe7, 0x01, 0x21, 0x30, 0x1c, + 0xf6, 0xf7, 0x89, 0xfa, 0xf2, 0xe7, 0xa6, 0x0e, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0xc4, 0x09, + 0x00, 0x00, 0xb0, 0x57, 0x01, 0x00, 0x40, 0x42, + 0x0f, 0x00, 0x80, 0xb5, 0x06, 0x28, 0x04, 0xdb, + 0x05, 0x21, 0xff, 0x20, 0xf2, 0xf7, 0x9f, 0xfe, + 0x80, 0xbd, 0x03, 0x4a, 0xc0, 0x00, 0x11, 0x50, + 0x01, 0x21, 0x80, 0x18, 0x01, 0x71, 0x3c, 0x00, + 0x74, 0xe5, 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, + 0x9c, 0x5a, 0x01, 0x00, 0x01, 0x48, 0x80, 0x68, + 0x70, 0x47, 0x00, 0x00, 0xd0, 0x60, 0x01, 0x00, + 0xb0, 0xb5, 0x08, 0x4c, 0x25, 0x1d, 0x28, 0x1c, + 0x21, 0x68, 0x00, 0xf0, 0xf1, 0xfe, 0x00, 0x28, + 0x03, 0xd1, 0x01, 0x21, 0x04, 0x48, 0xf2, 0xf7, + 0xcf, 0xfa, 0x28, 0x1c, 0x21, 0x68, 0x00, 0xf0, + 0xfb, 0xfe, 0xb0, 0xbd, 0xc0, 0x60, 0x01, 0x00, + 0x3c, 0x00, 0xb0, 0xe5, 0x00, 0x00, 0x2c, 0x10, + 0x07, 0x00, 0xb0, 0xb5, 0x10, 0x4d, 0x0c, 0x1c, + 0xa8, 0x68, 0x00, 0x28, 0x02, 0xd1, 0x04, 0xf0, + 0xf4, 0xfb, 0x28, 0x60, 0x20, 0x1c, 0x04, 0xf0, + 0x38, 0xfb, 0x01, 0x21, 0x03, 0x20, 0x03, 0xf0, + 0xc4, 0xfe, 0x04, 0xf0, 0xf0, 0xfb, 0xa8, 0x68, + 0x00, 0x28, 0x0b, 0xd1, 0x04, 0xf0, 0xe5, 0xfb, + 0x29, 0x68, 0x00, 0x1b, 0x40, 0x1a, 0x69, 0x68, + 0x40, 0x18, 0x3c, 0x00, 0xec, 0xe5, 0x00, 0x00, + 0x41, 0x08, 0x40, 0x18, 0x28, 0x60, 0x01, 0x20, + 0xa8, 0x60, 0xb0, 0xbd, 0xd0, 0x60, 0x01, 0x00, + 0xf8, 0xb5, 0x1f, 0x4e, 0x00, 0x24, 0xb0, 0x68, + 0x00, 0x28, 0x02, 0xd1, 0x04, 0xf0, 0xd0, 0xfb, + 0x70, 0x60, 0x05, 0xf0, 0x61, 0xf8, 0x04, 0xf0, + 0x8f, 0xfb, 0x05, 0x1c, 0xf9, 0xf7, 0x66, 0xfe, + 0x31, 0x68, 0x18, 0x4a, 0x41, 0x18, 0x12, 0x68, + 0xe8, 0x0b, 0x00, 0x2a, 0x3c, 0x00, 0x28, 0xe6, + 0x00, 0x00, 0x00, 0xd1, 0xa8, 0x0a, 0x40, 0x18, + 0x85, 0x42, 0x1f, 0xd9, 0x14, 0x4f, 0x2d, 0x1a, + 0x38, 0x1c, 0x20, 0x30, 0x81, 0x79, 0x00, 0xab, + 0x19, 0x70, 0xc0, 0x79, 0x58, 0x70, 0x05, 0xf0, + 0x6e, 0xf8, 0x00, 0x28, 0x03, 0xd1, 0x02, 0x21, + 0x8f, 0x20, 0xf2, 0xf7, 0x28, 0xfe, 0x29, 0x1c, + 0x0c, 0x48, 0xf2, 0x68, 0xf8, 0xf7, 0x09, 0xfc, + 0x00, 0x28, 0x04, 0xd0, 0x01, 0x1c, 0x3c, 0x00, + 0x64, 0xe6, 0x00, 0x00, 0x28, 0x1c, 0xff, 0xf7, + 0xa5, 0xff, 0x01, 0x24, 0x00, 0xab, 0x18, 0x88, + 0xf8, 0x84, 0x05, 0xf0, 0x47, 0xf8, 0x20, 0x1c, + 0xf8, 0xbd, 0x00, 0x00, 0xd0, 0x60, 0x01, 0x00, + 0xf4, 0x74, 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x89, 0x13, 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, + 0xc8, 0x60, 0x70, 0x47, 0xd0, 0x60, 0x01, 0x00, + 0x06, 0x48, 0x80, 0xb5, 0x00, 0x68, 0x01, 0x28, + 0x3c, 0x00, 0xa0, 0xe6, 0x00, 0x00, 0x07, 0xd1, + 0x04, 0x48, 0xac, 0x38, 0x01, 0x69, 0x03, 0x48, + 0x00, 0xf0, 0x79, 0xfe, 0xf3, 0xf7, 0x2b, 0xfa, + 0x80, 0xbd, 0x98, 0x66, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0x80, 0xb5, 0x42, 0x78, 0x81, 0x68, + 0x00, 0x79, 0x03, 0xf0, 0xde, 0xff, 0x00, 0x28, + 0x01, 0xd1, 0xf5, 0xf7, 0xb6, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0x1f, 0xb5, 0x04, 0xf0, 0x69, 0xfb, + 0xf6, 0xf7, 0x3c, 0x00, 0xdc, 0xe6, 0x00, 0x00, + 0x91, 0xff, 0x16, 0x4c, 0x02, 0x28, 0x03, 0xd1, + 0xff, 0xf7, 0xdc, 0xfd, 0x04, 0x28, 0x02, 0xd3, + 0x00, 0x20, 0x20, 0x70, 0x1f, 0xbd, 0xfb, 0xf7, + 0xf7, 0xfc, 0x00, 0x28, 0xfa, 0xd1, 0x60, 0x6a, + 0x00, 0x28, 0xf7, 0xd0, 0x20, 0x78, 0x80, 0x07, + 0xf4, 0xd4, 0x09, 0x21, 0x16, 0x20, 0x04, 0xf0, + 0x93, 0xff, 0x01, 0x20, 0x20, 0x70, 0x0b, 0x4c, + 0x09, 0x49, 0x02, 0x90, 0x3c, 0x00, 0x18, 0xe7, + 0x00, 0x00, 0x01, 0x94, 0x00, 0x91, 0x04, 0xf0, + 0x46, 0xfb, 0x00, 0x19, 0x03, 0x90, 0x68, 0x46, + 0xfd, 0xf7, 0xb5, 0xfb, 0x00, 0x22, 0x16, 0x21, + 0x84, 0x20, 0x05, 0xf0, 0x3e, 0xf8, 0xdc, 0xe7, + 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, 0x61, 0xed, + 0x00, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x23, 0x48, + 0x70, 0xb5, 0x80, 0x78, 0x9c, 0xb0, 0x01, 0x28, + 0x3e, 0xd1, 0x20, 0x4c, 0x09, 0xa8, 0x3c, 0x00, + 0x54, 0xe7, 0x00, 0x00, 0x80, 0x3c, 0x61, 0x1c, + 0xfe, 0xf7, 0x92, 0xfe, 0x04, 0x20, 0x11, 0xad, + 0x68, 0x72, 0xa0, 0x6f, 0x19, 0xa9, 0x18, 0x90, + 0x7c, 0x20, 0x00, 0x5d, 0x01, 0x26, 0x08, 0x71, + 0x1d, 0x20, 0x00, 0x5d, 0x00, 0x28, 0x06, 0xd0, + 0x10, 0x96, 0x12, 0x96, 0xfc, 0xf7, 0xf6, 0xfa, + 0x28, 0x72, 0x20, 0x7a, 0x11, 0x90, 0xf3, 0xf7, + 0xcd, 0xff, 0x6a, 0x21, 0x08, 0x53, 0x40, 0x34, + 0x3c, 0x00, 0x90, 0xe7, 0x00, 0x00, 0x00, 0x22, + 0x01, 0xa9, 0x06, 0xa8, 0xf6, 0xf7, 0xcd, 0xff, + 0x21, 0x1c, 0x00, 0x20, 0xfb, 0xf7, 0xcb, 0xfb, + 0x06, 0xa9, 0xfb, 0xf7, 0xc8, 0xfb, 0x01, 0xa9, + 0xfb, 0xf7, 0xc5, 0xfb, 0x0a, 0x49, 0x09, 0x68, + 0x00, 0x29, 0x07, 0xd0, 0x33, 0x1c, 0x0a, 0x22, + 0x69, 0x46, 0xfb, 0xf7, 0xda, 0xfb, 0x00, 0x9a, + 0x07, 0x21, 0x91, 0x70, 0x0c, 0x90, 0x09, 0xa8, + 0xfe, 0xf7, 0x3c, 0x00, 0xcc, 0xe7, 0x00, 0x00, + 0x7b, 0xfe, 0x1c, 0xb0, 0x70, 0xbd, 0x00, 0x00, + 0x84, 0x66, 0x01, 0x00, 0xe4, 0x62, 0x01, 0x00, + 0xf8, 0xb5, 0x04, 0x1c, 0xc0, 0x68, 0xff, 0x22, + 0x01, 0x68, 0x12, 0x02, 0x0e, 0x1c, 0x08, 0x7b, + 0x49, 0x7b, 0x09, 0x02, 0x11, 0x40, 0x08, 0x43, + 0x05, 0x1c, 0x31, 0x1c, 0x06, 0x22, 0xa0, 0x18, + 0xf1, 0xf7, 0x7c, 0xfe, 0x06, 0x22, 0xb1, 0x18, + 0x20, 0x1c, 0xf1, 0xf7, 0x3c, 0x00, 0x08, 0xe8, + 0x00, 0x00, 0x77, 0xfe, 0x28, 0x0a, 0x29, 0x02, + 0x08, 0x43, 0x00, 0x04, 0x03, 0x21, 0x49, 0x02, + 0x00, 0x0c, 0x88, 0x42, 0x08, 0xd2, 0xe0, 0x68, + 0x01, 0x89, 0x0e, 0x39, 0x01, 0x81, 0xe0, 0x68, + 0x01, 0x68, 0x0e, 0x31, 0x01, 0x60, 0xf8, 0xbd, + 0x00, 0x26, 0x20, 0x1c, 0x10, 0x30, 0x03, 0xf0, + 0xe8, 0xfa, 0x21, 0x8b, 0x00, 0x29, 0x05, 0xd1, + 0xe1, 0x7d, 0x00, 0x29, 0x0b, 0xd0, 0x3c, 0x00, + 0x44, 0xe8, 0x00, 0x00, 0x80, 0x69, 0x80, 0x07, + 0x08, 0xd4, 0xe0, 0x68, 0x01, 0x26, 0x01, 0x89, + 0x02, 0x39, 0x01, 0x81, 0xe0, 0x68, 0x01, 0x68, + 0x02, 0x31, 0x06, 0xe0, 0xe0, 0x68, 0x01, 0x89, + 0x06, 0x39, 0x01, 0x81, 0xe0, 0x68, 0x01, 0x68, + 0x06, 0x31, 0x01, 0x60, 0x14, 0x49, 0x00, 0x20, + 0x0b, 0x1f, 0x42, 0x00, 0x9a, 0x5a, 0xaa, 0x42, + 0x02, 0xd1, 0x11, 0x49, 0x06, 0x31, 0x02, 0xe0, + 0x3c, 0x00, 0x80, 0xe8, 0x00, 0x00, 0x01, 0x30, + 0x02, 0x28, 0xf5, 0xd3, 0xe0, 0x68, 0x06, 0x22, + 0x00, 0x68, 0xf1, 0xf7, 0x34, 0xfe, 0x01, 0x2e, + 0xcb, 0xd1, 0x81, 0x20, 0x00, 0xab, 0x18, 0x80, + 0xe1, 0x7d, 0x20, 0x8b, 0x49, 0x03, 0x08, 0x43, + 0x31, 0x03, 0x08, 0x43, 0x00, 0x04, 0x00, 0x0c, + 0x01, 0x0a, 0x00, 0x02, 0x08, 0x43, 0x58, 0x80, + 0xe0, 0x68, 0x19, 0x88, 0x00, 0x68, 0xc1, 0x80, + 0x59, 0x88, 0x3c, 0x00, 0xbc, 0xe8, 0x00, 0x00, + 0x01, 0x81, 0xb5, 0xe7, 0x6a, 0x46, 0x01, 0x00, + 0xb0, 0xb5, 0x0d, 0x1c, 0x01, 0x89, 0x06, 0x22, + 0x08, 0x31, 0x01, 0x81, 0x04, 0x68, 0x04, 0x49, + 0x08, 0x3c, 0x04, 0x60, 0x20, 0x1c, 0xf1, 0xf7, + 0x0d, 0xfe, 0xe5, 0x80, 0xb0, 0xbd, 0x00, 0x00, + 0x6a, 0x46, 0x01, 0x00, 0xf8, 0xb5, 0x00, 0x29, + 0x01, 0xd0, 0x00, 0x28, 0x01, 0xd1, 0x00, 0x20, + 0xf8, 0xbd, 0x09, 0x04, 0x3c, 0x00, 0xf8, 0xe8, + 0x00, 0x00, 0x09, 0x0c, 0xf2, 0xf7, 0x43, 0xff, + 0x06, 0x1c, 0x05, 0x1c, 0x00, 0x27, 0x20, 0xe0, + 0x2c, 0x89, 0x29, 0x68, 0x02, 0x2c, 0x01, 0xd2, + 0x02, 0x20, 0x01, 0xe0, 0x48, 0x78, 0x02, 0x30, + 0x84, 0x42, 0x02, 0xdd, 0x24, 0x1a, 0x09, 0x18, + 0xf4, 0xe7, 0x84, 0x42, 0x10, 0xd0, 0x01, 0x1b, + 0x0a, 0x04, 0x01, 0x04, 0x09, 0x0c, 0x12, 0x0c, + 0x28, 0x1c, 0xf2, 0xf7, 0x9e, 0xfe, 0x3c, 0x00, + 0x34, 0xe9, 0x00, 0x00, 0x00, 0x28, 0x06, 0xd1, + 0xe8, 0x68, 0xf2, 0xf7, 0x2d, 0xfe, 0xef, 0x60, + 0x28, 0x89, 0x00, 0x1b, 0x28, 0x81, 0xed, 0x68, + 0x00, 0x2d, 0xdc, 0xd1, 0x30, 0x1c, 0xd1, 0xe7, + 0xf8, 0xb5, 0x85, 0x68, 0x04, 0x1c, 0x80, 0x69, + 0x2e, 0x1c, 0x00, 0x28, 0x0d, 0xd0, 0x71, 0x68, + 0xf2, 0xf7, 0xf6, 0xfd, 0xa0, 0x69, 0xf2, 0xf7, + 0x17, 0xfe, 0x06, 0xe0, 0x00, 0x21, 0xc1, 0x60, + 0x3c, 0x00, 0x70, 0xe9, 0x00, 0x00, 0xf1, 0x60, + 0xa0, 0x8d, 0x36, 0x68, 0x01, 0x38, 0xa0, 0x85, + 0xf0, 0x68, 0x00, 0x28, 0xf5, 0xd1, 0x30, 0x68, + 0xa0, 0x60, 0xa0, 0x8d, 0x01, 0x38, 0x00, 0x04, + 0x00, 0x0c, 0xa0, 0x85, 0x02, 0xd0, 0x20, 0x1c, + 0xf9, 0xf7, 0x39, 0xf8, 0x2a, 0x4f, 0x2a, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x03, 0xd0, 0x06, 0x21, + 0x68, 0x68, 0xfa, 0xf7, 0x7c, 0xfd, 0x68, 0x68, + 0x00, 0x68, 0x3c, 0x00, 0xac, 0xe9, 0x00, 0x00, + 0x81, 0x78, 0x00, 0x29, 0x2b, 0xd1, 0xc1, 0x78, + 0x00, 0x29, 0x30, 0xd1, 0x21, 0x8e, 0x01, 0x39, + 0x21, 0x86, 0xfb, 0xf7, 0x15, 0xf8, 0xa1, 0x6a, + 0x08, 0x1a, 0xa0, 0x62, 0xe1, 0x69, 0x88, 0x42, + 0x03, 0xd9, 0x04, 0x21, 0x02, 0x20, 0xf2, 0xf7, + 0x67, 0xfc, 0xb8, 0x68, 0x00, 0x28, 0x1e, 0xd0, + 0x1a, 0x49, 0x20, 0x8e, 0x49, 0x68, 0x0c, 0x22, + 0x52, 0x1a, 0x90, 0x42, 0x3c, 0x00, 0xe8, 0xe9, + 0x00, 0x00, 0x08, 0xd3, 0x19, 0x23, 0x9b, 0x01, + 0xaf, 0x22, 0x92, 0x01, 0x59, 0x43, 0xa0, 0x6a, + 0x51, 0x1a, 0x88, 0x42, 0x0e, 0xd2, 0x00, 0x21, + 0x0c, 0x20, 0x03, 0xf0, 0xac, 0xfc, 0x00, 0x20, + 0xb8, 0x60, 0x07, 0xe0, 0x01, 0x29, 0x05, 0xd1, + 0xc0, 0x78, 0x17, 0x28, 0x02, 0xd1, 0xa0, 0x8e, + 0x01, 0x38, 0xa0, 0x86, 0x2a, 0x1d, 0x06, 0xca, + 0xe0, 0x68, 0x63, 0x69, 0xf1, 0xf7, 0x3c, 0x00, + 0x24, 0xea, 0x00, 0x00, 0xdc, 0xfc, 0xb5, 0x42, + 0x01, 0xd0, 0x2d, 0x68, 0xb4, 0xe7, 0xa0, 0x8d, + 0x00, 0x28, 0x03, 0xd1, 0x05, 0x48, 0xb9, 0x69, + 0x00, 0xf0, 0x9e, 0xfc, 0xf8, 0xbd, 0x00, 0x00, + 0xfc, 0x5a, 0x01, 0x00, 0xcc, 0x5c, 0x01, 0x00, + 0x18, 0x57, 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, + 0x89, 0x07, 0x07, 0x4b, 0xca, 0x0f, 0x80, 0xb5, + 0x19, 0x7c, 0x00, 0x29, 0x06, 0xd0, 0x81, 0x43, + 0x3c, 0x00, 0x60, 0xea, 0x00, 0x00, 0x19, 0x74, + 0x03, 0xd1, 0x07, 0x21, 0x15, 0x20, 0x04, 0xf0, + 0xa2, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x1c, 0x01, 0x20, + 0xff, 0xf7, 0xe9, 0xff, 0x80, 0xbd, 0x80, 0xb5, + 0x01, 0x1c, 0x02, 0x20, 0xff, 0xf7, 0xe3, 0xff, + 0x80, 0xbd, 0xb0, 0xb5, 0x1b, 0x4c, 0x60, 0x68, + 0xfc, 0xf7, 0x2f, 0xff, 0x20, 0x68, 0x00, 0x25, + 0x40, 0x68, 0x3c, 0x00, 0x9c, 0xea, 0x00, 0x00, + 0x00, 0x28, 0x03, 0xd0, 0xfd, 0xf7, 0x18, 0xfc, + 0x20, 0x68, 0x45, 0x60, 0x60, 0x68, 0xfc, 0xf7, + 0xc5, 0xfe, 0x14, 0x48, 0x61, 0x68, 0x00, 0xf0, + 0x61, 0xfc, 0xa0, 0x7a, 0x01, 0x28, 0x05, 0xd0, + 0x02, 0x28, 0x03, 0xd0, 0x20, 0x68, 0x00, 0x68, + 0x00, 0xf0, 0xde, 0xf8, 0x01, 0x21, 0x1f, 0x20, + 0x04, 0xf0, 0xb2, 0xfd, 0x00, 0x21, 0x1f, 0x20, + 0x04, 0xf0, 0xae, 0xfd, 0x3c, 0x00, 0xd8, 0xea, + 0x00, 0x00, 0x02, 0x21, 0x1f, 0x20, 0x04, 0xf0, + 0xaa, 0xfd, 0xa5, 0x72, 0x21, 0x68, 0x2c, 0x20, + 0x40, 0x5c, 0x89, 0x68, 0xf1, 0xf7, 0x76, 0xfc, + 0x60, 0x68, 0xfc, 0xf7, 0xe4, 0xfe, 0x20, 0x68, + 0x05, 0x62, 0xb0, 0xbd, 0x00, 0x00, 0x14, 0x7a, + 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, 0x04, 0x49, + 0x0a, 0x68, 0xc8, 0x68, 0x92, 0x6a, 0x00, 0x2a, + 0x01, 0xd0, 0x09, 0x69, 0x08, 0x18, 0x3c, 0x00, + 0x14, 0xeb, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x14, 0x7a, 0x01, 0x00, 0xb0, 0xb5, 0x13, 0x4c, + 0x05, 0x1c, 0xa0, 0x7a, 0x01, 0x38, 0x02, 0x28, + 0x19, 0xd8, 0x01, 0x21, 0x1f, 0x20, 0x04, 0xf0, + 0x81, 0xfd, 0x20, 0x68, 0xfc, 0x23, 0x01, 0x1c, + 0x20, 0x30, 0x02, 0x7b, 0x1a, 0x40, 0x02, 0x73, + 0x00, 0x2d, 0x0f, 0xd0, 0x01, 0x23, 0x1a, 0x43, + 0x02, 0x73, 0xa0, 0x7a, 0x03, 0x28, 0x07, 0xd1, + 0x3c, 0x00, 0x50, 0xeb, 0x00, 0x00, 0x01, 0x20, + 0x01, 0xf0, 0xe7, 0xfd, 0x00, 0x28, 0x01, 0xd1, + 0xff, 0xf7, 0x97, 0xff, 0xb0, 0xbd, 0x4b, 0x62, + 0xb0, 0xbd, 0x02, 0x21, 0x11, 0x43, 0x01, 0x73, + 0xf6, 0xe7, 0x14, 0x7a, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x0a, 0x30, 0xf6, 0xf7, 0x43, 0xfe, + 0x00, 0x28, 0x0c, 0xd0, 0x22, 0x88, 0x0a, 0x49, + 0x0b, 0x7a, 0x90, 0x04, 0xc0, 0x0f, 0x00, 0x2b, + 0x06, 0xd1, 0x3c, 0x00, 0x8c, 0xeb, 0x00, 0x00, + 0x12, 0x06, 0x92, 0x0e, 0x20, 0x2a, 0x00, 0xd1, + 0x01, 0x20, 0xc8, 0x60, 0x10, 0xbd, 0x00, 0x28, + 0xfc, 0xd1, 0x00, 0x22, 0x24, 0x21, 0x80, 0x20, + 0x04, 0xf0, 0x04, 0xfe, 0x10, 0xbd, 0x00, 0x00, + 0x04, 0x7a, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x1c, + 0x1f, 0x21, 0x80, 0x20, 0x04, 0xf0, 0xfa, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0xf8, 0xb5, 0x1d, 0x4e, + 0x04, 0x1c, 0x30, 0x68, 0x3c, 0x00, 0xc8, 0xeb, + 0x00, 0x00, 0x1d, 0x1c, 0x47, 0x68, 0x20, 0x1c, + 0xf1, 0xf7, 0x0a, 0xfc, 0xfb, 0xf7, 0x87, 0xfa, + 0x00, 0x28, 0x04, 0xd0, 0x28, 0x1c, 0xf2, 0xf7, + 0x2a, 0xfb, 0x00, 0x28, 0x28, 0xd1, 0x20, 0x88, + 0x40, 0x05, 0x25, 0xd4, 0x30, 0x68, 0x00, 0x68, + 0xfe, 0xf7, 0x59, 0xf9, 0x00, 0x28, 0x03, 0xd1, + 0xfd, 0xf7, 0x89, 0xfa, 0xf1, 0xf7, 0xed, 0xfb, + 0x30, 0x68, 0x00, 0x25, 0x40, 0x68, 0x3c, 0x00, + 0x04, 0xec, 0x00, 0x00, 0x00, 0x28, 0x03, 0xd0, + 0xfd, 0xf7, 0x64, 0xfb, 0x30, 0x68, 0x45, 0x60, + 0x20, 0x88, 0x00, 0x09, 0x00, 0x07, 0x03, 0xd1, + 0x04, 0xf0, 0xc8, 0xf8, 0x61, 0x88, 0x45, 0x18, + 0x30, 0x68, 0x45, 0x61, 0x81, 0x6a, 0x01, 0x31, + 0x81, 0x62, 0x20, 0x88, 0x80, 0x04, 0xc1, 0x0f, + 0x02, 0x48, 0xf8, 0xf7, 0xcd, 0xff, 0xf8, 0xbd, + 0x14, 0x7a, 0x01, 0x00, 0xb1, 0xeb, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xec, 0x00, 0x00, 0xb0, 0xb5, + 0x0e, 0x4c, 0x05, 0x1c, 0x60, 0x68, 0xfc, 0xf7, + 0xf6, 0xfd, 0x0c, 0x48, 0x61, 0x68, 0x00, 0xf0, + 0x92, 0xfb, 0x00, 0x21, 0x24, 0x20, 0x04, 0xf0, + 0xec, 0xfc, 0x00, 0x22, 0xd2, 0x43, 0x80, 0x21, + 0x24, 0x20, 0x04, 0xf0, 0xb8, 0xfc, 0x00, 0x20, + 0xe0, 0x60, 0x20, 0x72, 0x20, 0x68, 0x01, 0x68, + 0x28, 0x06, 0x00, 0x0e, 0xf1, 0xf7, 0xb0, 0xfb, + 0xb0, 0xbd, 0x3c, 0x00, 0x7c, 0xec, 0x00, 0x00, + 0x04, 0x7a, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0xc0, 0x68, 0xf2, 0xf7, + 0x85, 0xfc, 0x20, 0x1c, 0xf2, 0xf7, 0xb0, 0xfd, + 0x10, 0xbd, 0x00, 0x00, 0x70, 0xb5, 0x1c, 0x4e, + 0x05, 0x1c, 0xb0, 0x7a, 0x2c, 0x1c, 0x40, 0x34, + 0x02, 0x28, 0x26, 0xd1, 0xa0, 0x8b, 0x31, 0x89, + 0x88, 0x42, 0x22, 0xd1, 0x30, 0x68, 0x41, 0x6a, + 0x00, 0x29, 0x08, 0xd0, 0x3c, 0x00, 0xb8, 0xec, + 0x00, 0x00, 0x20, 0x30, 0x00, 0x7b, 0xc0, 0x07, + 0x04, 0xd5, 0x01, 0x20, 0x01, 0xf0, 0x2f, 0xfd, + 0x00, 0x28, 0x18, 0xd1, 0x60, 0x78, 0x00, 0x28, + 0x09, 0xd1, 0x30, 0x68, 0x02, 0x23, 0x20, 0x30, + 0x02, 0x7b, 0x0d, 0x49, 0x52, 0x08, 0x52, 0x00, + 0x1a, 0x43, 0x02, 0x73, 0x01, 0xe0, 0xff, 0x21, + 0xf5, 0x31, 0x01, 0x22, 0x1f, 0x20, 0x04, 0xf0, + 0x6e, 0xfc, 0x03, 0x20, 0xb0, 0x72, 0x3c, 0x00, + 0xf4, 0xec, 0x00, 0x00, 0x02, 0xe0, 0x28, 0x1c, + 0xff, 0xf7, 0xc4, 0xff, 0x60, 0x78, 0x00, 0x28, + 0x03, 0xd1, 0x29, 0x1c, 0x01, 0x20, 0x03, 0xf0, + 0x29, 0xfb, 0x70, 0xbd, 0x14, 0x7a, 0x01, 0x00, + 0x50, 0xc3, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x60, 0x34, 0xe0, 0x79, 0x0e, 0x4d, 0x00, 0x28, + 0x0a, 0xd1, 0x02, 0x20, 0xa8, 0x72, 0x28, 0x68, + 0x40, 0x68, 0x00, 0x28, 0x04, 0xd1, 0x0b, 0x48, + 0x3c, 0x00, 0x30, 0xed, 0x00, 0x00, 0xfd, 0xf7, + 0xd0, 0xfa, 0x29, 0x68, 0x48, 0x60, 0x04, 0xf0, + 0x38, 0xf8, 0x29, 0x68, 0xc8, 0x61, 0xff, 0xf7, + 0xe0, 0xfe, 0x29, 0x68, 0x09, 0x69, 0x08, 0x1a, + 0x03, 0xf0, 0x6f, 0xff, 0x00, 0x28, 0x01, 0xd0, + 0xe0, 0x79, 0xa0, 0x71, 0xb0, 0xbd, 0x14, 0x7a, + 0x01, 0x00, 0xc1, 0xeb, 0x00, 0x00, 0xf8, 0xb5, + 0x04, 0x1c, 0x00, 0x26, 0x04, 0xf0, 0x21, 0xf8, + 0x05, 0x1c, 0x3c, 0x00, 0x6c, 0xed, 0x00, 0x00, + 0x22, 0x48, 0x00, 0x27, 0x07, 0x70, 0xa1, 0x07, + 0x04, 0xd0, 0xe1, 0x07, 0xc9, 0x0f, 0x01, 0x62, + 0xc5, 0x61, 0x01, 0x26, 0x41, 0x6b, 0x00, 0x29, + 0x34, 0xd1, 0x00, 0x2e, 0x32, 0xd0, 0x06, 0x1c, + 0xf9, 0xf7, 0x44, 0xff, 0x31, 0x6b, 0x1a, 0x4b, + 0x41, 0x1a, 0xa2, 0x07, 0x12, 0xd5, 0xda, 0x68, + 0x00, 0x2a, 0x08, 0xdd, 0x91, 0x42, 0x1a, 0x68, + 0x02, 0xda, 0x14, 0x09, 0x3c, 0x00, 0xa8, 0xed, + 0x00, 0x00, 0xa2, 0x18, 0x06, 0xe0, 0x14, 0x09, + 0x12, 0x1b, 0x03, 0xe0, 0x0a, 0x43, 0x02, 0xd1, + 0x1a, 0x68, 0x52, 0x00, 0x1a, 0x60, 0xb7, 0x63, + 0x0a, 0xe0, 0xb2, 0x6b, 0x01, 0x32, 0xb2, 0x63, + 0x02, 0x2a, 0x1a, 0x68, 0x01, 0xdd, 0x94, 0x08, + 0x00, 0xe0, 0x14, 0x09, 0x12, 0x1b, 0x1a, 0x60, + 0xd9, 0x60, 0x30, 0x63, 0xf5, 0x62, 0x18, 0x68, + 0x08, 0x49, 0x88, 0x42, 0x01, 0xd9, 0x3c, 0x00, + 0xe4, 0xed, 0x00, 0x00, 0x19, 0x60, 0x03, 0xe0, + 0x64, 0x28, 0x01, 0xd2, 0x64, 0x20, 0x18, 0x60, + 0xf5, 0xf7, 0xfc, 0xfd, 0xf8, 0xbd, 0x00, 0x00, + 0x60, 0x6c, 0x01, 0x00, 0xb0, 0x57, 0x01, 0x00, + 0x20, 0xa1, 0x07, 0x00, 0xfe, 0xb5, 0x04, 0x1c, + 0x00, 0x20, 0x50, 0x4d, 0x00, 0x21, 0x68, 0x61, + 0x20, 0x69, 0xfb, 0xf7, 0xb3, 0xfc, 0x07, 0x1c, + 0x20, 0x69, 0x03, 0x21, 0xfb, 0xf7, 0xae, 0xfc, + 0x3c, 0x00, 0x20, 0xee, 0x00, 0x00, 0x00, 0x28, + 0x03, 0xd0, 0x80, 0x78, 0x29, 0x78, 0x88, 0x42, + 0x63, 0xd1, 0x47, 0x4d, 0x20, 0x1c, 0x14, 0x30, + 0x39, 0x1c, 0x06, 0x1c, 0x2a, 0x78, 0x02, 0xf0, + 0x5a, 0xfa, 0x00, 0x28, 0x59, 0xd1, 0xe0, 0x68, + 0x05, 0x68, 0x41, 0x48, 0x01, 0x95, 0x58, 0x30, + 0x02, 0x90, 0xfb, 0xf7, 0x6a, 0xff, 0x3e, 0x4d, + 0x19, 0x35, 0x00, 0x28, 0x0b, 0xd0, 0x28, 0x1c, + 0xfb, 0xf7, 0x3c, 0x00, 0x5c, 0xee, 0x00, 0x00, + 0x55, 0xff, 0x00, 0x28, 0x1e, 0xd1, 0x31, 0x1c, + 0x28, 0x1c, 0xfb, 0xf7, 0x65, 0xff, 0x00, 0x28, + 0x42, 0xd0, 0x17, 0xe0, 0x28, 0x1c, 0xfb, 0xf7, + 0x49, 0xff, 0x00, 0x28, 0x06, 0xd0, 0x39, 0x1c, + 0x02, 0x98, 0xfb, 0xf7, 0x63, 0xff, 0x00, 0x28, + 0x36, 0xd0, 0x0b, 0xe0, 0x39, 0x1c, 0x02, 0x98, + 0xfb, 0xf7, 0x5c, 0xff, 0x00, 0x28, 0x2f, 0xd0, + 0x31, 0x1c, 0x28, 0x1c, 0x3c, 0x00, 0x98, 0xee, + 0x00, 0x00, 0xfb, 0xf7, 0x4c, 0xff, 0x00, 0x28, + 0x29, 0xd0, 0x30, 0x1c, 0xf6, 0xf7, 0xad, 0xfc, + 0x29, 0x4a, 0x18, 0x32, 0x11, 0x7c, 0x00, 0x29, + 0x04, 0xd0, 0x51, 0x6a, 0x00, 0x29, 0x01, 0xd0, + 0x00, 0x28, 0x1c, 0xd1, 0x90, 0x6a, 0x00, 0x28, + 0x3b, 0xd0, 0x13, 0x78, 0x01, 0x9d, 0x01, 0x21, + 0x6d, 0x89, 0x01, 0x20, 0x2b, 0x40, 0x9b, 0x07, + 0x11, 0xd0, 0xa3, 0x6b, 0x1e, 0x4e, 0x3c, 0x00, + 0xd4, 0xee, 0x00, 0x00, 0x1d, 0x1c, 0x7f, 0x35, + 0x98, 0x36, 0x00, 0x2d, 0x14, 0xd0, 0x55, 0x8a, + 0x00, 0x2d, 0x08, 0xd1, 0x55, 0x69, 0xab, 0x42, + 0x0f, 0xda, 0x00, 0x20, 0x17, 0x4d, 0x01, 0x23, + 0x6b, 0x61, 0x0a, 0xe0, 0x29, 0xe0, 0xf5, 0x78, + 0x02, 0x2d, 0x06, 0xd1, 0x14, 0x4f, 0x55, 0x69, + 0x3f, 0x68, 0xed, 0x19, 0xab, 0x42, 0x00, 0xda, + 0x00, 0x20, 0x23, 0x6c, 0x1d, 0x1c, 0x7f, 0x35, + 0x3c, 0x00, 0x10, 0xef, 0x00, 0x00, 0x10, 0xd0, + 0x55, 0x8a, 0x00, 0x2d, 0x03, 0xd1, 0x95, 0x69, + 0xab, 0x42, 0x0a, 0xd2, 0x08, 0xe0, 0xf5, 0x78, + 0x02, 0x2d, 0x06, 0xd1, 0x0b, 0x4e, 0x95, 0x69, + 0x36, 0x68, 0xad, 0x19, 0xab, 0x42, 0x00, 0xd2, + 0x00, 0x21, 0x08, 0x43, 0x08, 0xd0, 0x10, 0x6a, + 0x00, 0x28, 0x01, 0xd0, 0xf1, 0xf7, 0x4b, 0xfa, + 0x00, 0x21, 0x20, 0x1c, 0x01, 0xf0, 0xb9, 0xf9, + 0xfe, 0xbd, 0x3c, 0x00, 0x4c, 0xef, 0x00, 0x00, + 0xec, 0x65, 0x01, 0x00, 0xc4, 0x67, 0x01, 0x00, + 0xcc, 0x67, 0x01, 0x00, 0x3e, 0xb5, 0x05, 0x6a, + 0x04, 0x1c, 0xc0, 0x68, 0xf2, 0xf7, 0x34, 0xfb, + 0xe1, 0x69, 0xf2, 0xf7, 0x57, 0xfa, 0x20, 0x1c, + 0x40, 0x30, 0xc1, 0x8b, 0x04, 0x31, 0xc1, 0x83, + 0x2b, 0x69, 0x10, 0x49, 0x98, 0x79, 0x06, 0x28, + 0x0a, 0xd1, 0x98, 0x88, 0x01, 0x91, 0x02, 0x94, + 0x00, 0x90, 0x60, 0x69, 0x3c, 0x00, 0x88, 0xef, + 0x00, 0x00, 0x1b, 0x68, 0x01, 0x68, 0xe0, 0x68, + 0x03, 0x22, 0xc0, 0x68, 0x0a, 0xe0, 0x02, 0x28, + 0x0b, 0xd1, 0x10, 0x20, 0x00, 0x90, 0x01, 0x91, + 0x02, 0x94, 0xe0, 0x68, 0xa3, 0x69, 0xc0, 0x68, + 0x00, 0x22, 0x00, 0x21, 0xf7, 0xf7, 0x0f, 0xfb, + 0x3e, 0xbd, 0xf2, 0xf7, 0xa6, 0xf9, 0xfb, 0xe7, + 0x00, 0x00, 0xbd, 0xef, 0x00, 0x00, 0x80, 0xb5, + 0xd1, 0x68, 0x50, 0x69, 0xc9, 0x68, 0x3c, 0x00, + 0xc4, 0xef, 0x00, 0x00, 0xc1, 0x60, 0xd1, 0x68, + 0xc8, 0x60, 0x11, 0x1c, 0x40, 0x31, 0xcb, 0x8b, + 0x00, 0x89, 0x18, 0x18, 0xc8, 0x83, 0x10, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0xff, 0xf7, 0xbc, 0xff, + 0x80, 0xbd, 0x03, 0x48, 0xfb, 0xf7, 0xcc, 0xf8, + 0x00, 0x6a, 0xfe, 0xf7, 0xf5, 0xf9, 0x80, 0xbd, + 0xa0, 0x6a, 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, + 0x0a, 0x24, 0x30, 0x07, 0x01, 0x09, 0xa0, 0x07, + 0x3c, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x01, 0x43, + 0x0f, 0x1c, 0x0a, 0x4d, 0x2f, 0x60, 0x04, 0xf0, + 0xfa, 0xfe, 0xad, 0x68, 0x28, 0x01, 0x00, 0x0f, + 0xb0, 0x42, 0x05, 0xd0, 0x01, 0x3c, 0xf4, 0xd2, + 0x01, 0x21, 0x9b, 0x20, 0xf2, 0xf7, 0x41, 0xf9, + 0x28, 0x02, 0x00, 0x0a, 0x08, 0x2e, 0x01, 0xd1, + 0x31, 0x05, 0x08, 0x43, 0xf8, 0xbd, 0x60, 0x00, + 0x07, 0x00, 0x01, 0x22, 0xd2, 0x05, 0x80, 0xb5, + 0x00, 0x21, 0x3c, 0x00, 0x3c, 0xf0, 0x00, 0x00, + 0x04, 0x20, 0x04, 0xf0, 0xdd, 0xfc, 0x0f, 0x20, + 0xff, 0xf7, 0xd6, 0xff, 0x0f, 0x21, 0x09, 0x04, + 0x08, 0x40, 0x00, 0x0c, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x05, 0x48, 0xfd, 0xf7, 0x4a, 0xf9, + 0x04, 0x48, 0xfd, 0xf7, 0x7b, 0xf8, 0x04, 0x48, + 0xfd, 0xf7, 0x6c, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0x89, 0x34, 0x01, 0x00, 0xed, 0x24, 0x00, 0x00, + 0x11, 0x1c, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xf0, + 0x00, 0x00, 0x80, 0xb5, 0x02, 0x48, 0xf3, 0xf7, + 0x2a, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0xd1, 0x24, + 0x00, 0x00, 0x80, 0xb5, 0xf2, 0xf7, 0x53, 0xf9, + 0x80, 0xbd, 0x80, 0xb5, 0x00, 0x21, 0x00, 0x20, + 0x01, 0xf0, 0x51, 0xfe, 0x03, 0x20, 0x02, 0xf0, + 0x46, 0xff, 0x80, 0xbd, 0x00, 0x00, 0x06, 0x48, + 0x80, 0xb5, 0xc1, 0x69, 0x00, 0x29, 0x06, 0xd1, + 0x01, 0x6a, 0x00, 0x29, 0x03, 0xd1, 0x3c, 0x00, + 0xb4, 0xf0, 0x00, 0x00, 0x81, 0x6b, 0x03, 0x48, + 0x00, 0xf0, 0x5e, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x4c, 0x20, 0x6a, 0xfc, 0xf7, + 0xb3, 0xfb, 0x03, 0x48, 0x21, 0x6a, 0x00, 0xf0, + 0x4f, 0xf9, 0x10, 0xbd, 0x1c, 0x75, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x4c, + 0x20, 0x7c, 0x00, 0x28, 0x02, 0xd0, 0x01, 0x21, + 0x3c, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0xfd, 0xf7, + 0x86, 0xf9, 0x00, 0x25, 0x25, 0x70, 0xa0, 0x68, + 0x01, 0x28, 0x03, 0xd1, 0x00, 0x20, 0xa5, 0x60, + 0x01, 0xf0, 0x8f, 0xf8, 0xa0, 0x78, 0x01, 0x28, + 0x05, 0xd1, 0x03, 0x48, 0x98, 0x38, 0x00, 0x69, + 0xfc, 0xf7, 0xef, 0xfb, 0xa5, 0x70, 0xb0, 0xbd, + 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x21, 0x01, 0x20, 0x01, 0xf0, 0x09, 0xfe, + 0x80, 0xbd, 0x3c, 0x00, 0x2c, 0xf1, 0x00, 0x00, + 0x38, 0xb5, 0x69, 0x46, 0x00, 0x25, 0xf8, 0xf7, + 0xb7, 0xfe, 0x04, 0x1c, 0x01, 0xd1, 0x01, 0x20, + 0x38, 0xbd, 0xa0, 0x68, 0x00, 0x28, 0x04, 0xd0, + 0x00, 0x99, 0xa1, 0x31, 0x08, 0x20, 0x04, 0xf0, + 0x73, 0xfa, 0x1c, 0x21, 0x20, 0x1c, 0xf1, 0xf7, + 0xa3, 0xf9, 0x28, 0x1c, 0xf0, 0xe7, 0x00, 0x00, + 0xfe, 0xb5, 0x07, 0x1c, 0x4c, 0x23, 0x39, 0x49, + 0x58, 0x43, 0x44, 0x18, 0x3c, 0x00, 0x68, 0xf1, + 0x00, 0x00, 0x25, 0x1c, 0x40, 0x35, 0x28, 0x7a, + 0x37, 0x49, 0x48, 0x76, 0x21, 0x1c, 0x30, 0x31, + 0x02, 0x91, 0x0c, 0x23, 0xc8, 0x56, 0x42, 0x1c, + 0x0a, 0x73, 0x49, 0x7b, 0x88, 0x42, 0x46, 0xda, + 0x32, 0x48, 0x00, 0x78, 0x80, 0x07, 0x3e, 0xd5, + 0x00, 0x20, 0x01, 0x90, 0xf6, 0xf7, 0xaf, 0xfa, + 0x00, 0x28, 0x2e, 0xd0, 0xac, 0x21, 0x09, 0x58, + 0x00, 0x29, 0x01, 0xd0, 0xe4, 0x30, 0x3c, 0x00, + 0xa4, 0xf1, 0x00, 0x00, 0x00, 0xe0, 0xcc, 0x30, + 0x06, 0x1c, 0x40, 0x68, 0x00, 0x28, 0x25, 0xd0, + 0x02, 0x99, 0x08, 0x7b, 0x01, 0x28, 0x11, 0xd1, + 0x20, 0x1c, 0x2e, 0x30, 0x29, 0x78, 0xf6, 0xf7, + 0xed, 0xf9, 0x71, 0x68, 0x03, 0xe0, 0x72, 0x18, + 0x12, 0x7a, 0x82, 0x42, 0x03, 0xd9, 0xff, 0x31, + 0x09, 0x06, 0x09, 0x0e, 0xf7, 0xd1, 0xa9, 0x70, + 0x01, 0x20, 0x01, 0x90, 0x23, 0x1c, 0x3e, 0x33, + 0x3c, 0x00, 0xe0, 0xf1, 0x00, 0x00, 0x1a, 0x1d, + 0x30, 0x1c, 0x00, 0x97, 0x01, 0x99, 0xf8, 0xf7, + 0x58, 0xfa, 0x00, 0x28, 0x11, 0xd0, 0xa8, 0x78, + 0x80, 0x19, 0x00, 0x7a, 0x00, 0xe0, 0x00, 0x20, + 0x68, 0x70, 0x68, 0x78, 0x01, 0x21, 0xfb, 0xf7, + 0xe0, 0xfd, 0x60, 0x60, 0x38, 0x1c, 0x01, 0xf0, + 0x14, 0xfe, 0x38, 0x1c, 0x01, 0xf0, 0xa5, 0xfb, + 0xfe, 0xbd, 0x02, 0x99, 0x08, 0x7b, 0xff, 0x30, + 0x48, 0x73, 0x3c, 0x00, 0x1c, 0xf2, 0x00, 0x00, + 0x38, 0x1c, 0xfc, 0xf7, 0x19, 0xfc, 0x03, 0xf0, + 0xc3, 0xfd, 0x06, 0x1c, 0xfb, 0xf7, 0x8e, 0xfe, + 0x41, 0x00, 0x76, 0x18, 0x68, 0x78, 0x61, 0x68, + 0xfb, 0xf7, 0x6a, 0xfe, 0x31, 0x18, 0x20, 0x8d, + 0x3b, 0x1c, 0x05, 0x4a, 0x03, 0xf0, 0x12, 0xfe, + 0xe5, 0xe7, 0x00, 0x00, 0x58, 0xe3, 0x01, 0x00, + 0x30, 0x80, 0x07, 0x00, 0x1d, 0x75, 0x01, 0x00, + 0xd5, 0x4e, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xf2, + 0x00, 0x00, 0x03, 0x1c, 0x04, 0x48, 0x80, 0xb5, + 0x02, 0x79, 0x20, 0x30, 0x03, 0x49, 0x00, 0xf0, + 0x30, 0xf8, 0x80, 0xbd, 0x00, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0xc4, 0x67, 0x01, 0x00, 0x03, 0x1c, + 0x04, 0x48, 0x80, 0xb5, 0xc2, 0x78, 0x38, 0x30, + 0x03, 0x49, 0x00, 0xf0, 0x22, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0xac, 0x7c, 0x01, 0x00, 0xc8, 0x67, + 0x01, 0x00, 0x03, 0x1c, 0x04, 0x48, 0x3c, 0x00, + 0x94, 0xf2, 0x00, 0x00, 0x80, 0xb5, 0x82, 0x79, + 0x50, 0x30, 0x03, 0x49, 0x00, 0xf0, 0x14, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0xac, 0x7c, 0x01, 0x00, + 0xcc, 0x67, 0x01, 0x00, 0x03, 0x1c, 0x04, 0x48, + 0x80, 0xb5, 0x42, 0x79, 0x68, 0x30, 0x03, 0x49, + 0x00, 0xf0, 0x06, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0xac, 0x7c, 0x01, 0x00, 0xd0, 0x67, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x24, 0x84, 0x80, 0x0b, 0x60, + 0x3c, 0x00, 0xd0, 0xf2, 0x00, 0x00, 0x19, 0x1c, + 0x51, 0x43, 0x01, 0x60, 0x19, 0x06, 0x09, 0x16, + 0x10, 0x22, 0x06, 0x30, 0xf1, 0xf7, 0x9f, 0xf9, + 0x10, 0xbd, 0xb0, 0xb5, 0x06, 0x4d, 0x00, 0x24, + 0xac, 0x60, 0xec, 0x60, 0xec, 0x61, 0x2c, 0x62, + 0x02, 0xf0, 0xf1, 0xfc, 0x00, 0xf0, 0x0d, 0xf8, + 0xec, 0x62, 0x2c, 0x70, 0xb0, 0xbd, 0x44, 0x7d, + 0x01, 0x00, 0x80, 0xb5, 0x80, 0x21, 0x01, 0x48, + 0xf1, 0xf7, 0x3c, 0x00, 0x0c, 0xf3, 0x00, 0x00, + 0xc7, 0xf8, 0x80, 0xbd, 0x04, 0x66, 0x01, 0x00, + 0xf8, 0xb5, 0x07, 0x4f, 0x00, 0x24, 0x00, 0x26, + 0x18, 0x20, 0x60, 0x43, 0xc5, 0x19, 0xee, 0x60, + 0x03, 0xf0, 0x42, 0xfd, 0x10, 0x35, 0x01, 0x34, + 0x02, 0x2c, 0x41, 0xc5, 0xf4, 0xdb, 0xf8, 0xbd, + 0xb8, 0x7d, 0x01, 0x00, 0x00, 0x23, 0x03, 0x60, + 0x04, 0x4b, 0x00, 0x29, 0x00, 0xd1, 0x19, 0x1c, + 0x41, 0x60, 0x00, 0x2a, 0x3c, 0x00, 0x48, 0xf3, + 0x00, 0x00, 0x00, 0xd1, 0x1a, 0x1c, 0x82, 0x60, + 0x70, 0x47, 0xbd, 0x75, 0x00, 0x00, 0x10, 0xb5, + 0x07, 0x4c, 0x20, 0x68, 0x01, 0x30, 0x20, 0x60, + 0x20, 0x28, 0x03, 0xd9, 0x58, 0x21, 0x58, 0x20, + 0xf1, 0xf7, 0x9d, 0xff, 0x21, 0x68, 0x01, 0x20, + 0x01, 0x39, 0x88, 0x40, 0x10, 0xbd, 0x60, 0x5b, + 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x21, 0x68, 0x00, 0x20, 0x00, 0x29, 0x3c, 0x00, + 0x84, 0xf3, 0x00, 0x00, 0x0a, 0xd0, 0xa9, 0x43, + 0x21, 0x60, 0x07, 0xd1, 0xa0, 0x68, 0xf1, 0xf7, + 0x23, 0xf8, 0x00, 0x28, 0x02, 0xd1, 0x21, 0x68, + 0x29, 0x43, 0x21, 0x60, 0xb0, 0xbd, 0x00, 0x00, + 0xb0, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, 0x21, 0x68, + 0x00, 0x20, 0x29, 0x43, 0x21, 0x60, 0xa9, 0x42, + 0x07, 0xd1, 0x60, 0x68, 0xf1, 0xf7, 0x10, 0xf8, + 0x00, 0x28, 0x02, 0xd1, 0x21, 0x68, 0xa9, 0x43, + 0x3c, 0x00, 0xc0, 0xf3, 0x00, 0x00, 0x21, 0x60, + 0xb0, 0xbd, 0x1a, 0x4b, 0xb0, 0xb5, 0x9a, 0x6a, + 0x00, 0x28, 0x0b, 0xd0, 0x00, 0x2a, 0x07, 0xdb, + 0xb8, 0x24, 0x24, 0x58, 0x01, 0x3c, 0xa4, 0x1a, + 0x00, 0x19, 0xb0, 0x30, 0x00, 0x7b, 0x02, 0xe0, + 0x0e, 0x20, 0x00, 0xe0, 0x0d, 0x20, 0x5d, 0x6a, + 0x12, 0x4c, 0x00, 0x2d, 0x01, 0xd0, 0x20, 0x78, + 0x00, 0xe0, 0x20, 0x5c, 0xff, 0x24, 0xa8, 0x34, + 0xc4, 0x40, 0x3c, 0x00, 0xfc, 0xf3, 0x00, 0x00, + 0x9c, 0x60, 0xf5, 0x24, 0xc4, 0x40, 0x9c, 0x61, + 0xfd, 0x24, 0xc4, 0x40, 0xdc, 0x61, 0xff, 0x24, + 0x29, 0x34, 0xc4, 0x40, 0x5c, 0x61, 0xff, 0x24, + 0x53, 0x34, 0xc4, 0x40, 0x00, 0x20, 0x0c, 0x33, + 0x11, 0xc3, 0x00, 0x29, 0x05, 0xd0, 0x00, 0x2a, + 0x03, 0xdc, 0x02, 0x21, 0x50, 0x42, 0x00, 0xf0, + 0x65, 0xfb, 0xb0, 0xbd, 0xac, 0x7e, 0x01, 0x00, + 0xb8, 0x52, 0x01, 0x00, 0x3c, 0x00, 0x38, 0xf4, + 0x00, 0x00, 0x10, 0xb5, 0x13, 0x4c, 0x13, 0x48, + 0x21, 0x1c, 0xff, 0x31, 0x69, 0x31, 0x0e, 0xc9, + 0x0e, 0xc0, 0x21, 0x1c, 0xff, 0x31, 0x24, 0x22, + 0x75, 0x31, 0x0f, 0x48, 0xf1, 0xf7, 0x51, 0xf8, + 0x21, 0x1c, 0xff, 0x31, 0x3c, 0x22, 0x99, 0x31, + 0x0d, 0x48, 0xf1, 0xf7, 0xa6, 0xf8, 0xfc, 0xf7, + 0xa2, 0xff, 0x21, 0x1c, 0xff, 0x31, 0x10, 0x22, + 0xd5, 0x31, 0x09, 0x48, 0xf1, 0xf7, 0x3c, 0x00, + 0x74, 0xf4, 0x00, 0x00, 0x41, 0xf8, 0x21, 0x1c, + 0xff, 0x31, 0x28, 0x22, 0xe5, 0x31, 0x07, 0x48, + 0xf1, 0xf7, 0x96, 0xf8, 0x10, 0xbd, 0x00, 0x00, + 0x40, 0x63, 0x01, 0x00, 0x00, 0x80, 0x07, 0x00, + 0x0c, 0x80, 0x07, 0x00, 0x30, 0x80, 0x07, 0x00, + 0x80, 0x80, 0x07, 0x00, 0xa0, 0x80, 0x07, 0x00, + 0xf8, 0xb5, 0x00, 0x28, 0x59, 0xd0, 0x04, 0xf0, + 0x4b, 0xf9, 0xf8, 0xf7, 0xb3, 0xfb, 0x00, 0x22, + 0x3c, 0x00, 0xb0, 0xf4, 0x00, 0x00, 0x01, 0x21, + 0x13, 0x20, 0x04, 0xf0, 0x7c, 0xf9, 0x2a, 0x49, + 0x29, 0x48, 0x49, 0x6c, 0x01, 0x60, 0x00, 0x21, + 0x29, 0x48, 0xc9, 0x43, 0x41, 0x60, 0x26, 0x4c, + 0x14, 0x34, 0x61, 0x6c, 0x81, 0x60, 0xa1, 0x6c, + 0xc1, 0x60, 0x00, 0x20, 0x25, 0x4d, 0x02, 0x26, + 0x01, 0x01, 0x6e, 0x50, 0x0a, 0x19, 0x4f, 0x19, + 0x50, 0x32, 0x04, 0x37, 0x0e, 0xca, 0x01, 0x30, + 0x08, 0x28, 0x3c, 0x00, 0xec, 0xf4, 0x00, 0x00, + 0x0e, 0xc7, 0xf4, 0xdb, 0x14, 0x22, 0x21, 0x1c, + 0xcc, 0x31, 0x1e, 0x48, 0xf1, 0xf7, 0x5a, 0xf8, + 0x1d, 0x48, 0x81, 0x78, 0x09, 0x09, 0x09, 0x01, + 0x81, 0x70, 0x00, 0x21, 0xc1, 0x70, 0x41, 0x70, + 0x21, 0x1c, 0xe0, 0x31, 0x0a, 0x78, 0x02, 0x70, + 0x49, 0x78, 0x41, 0x70, 0x21, 0x1c, 0xe8, 0x31, + 0x30, 0x22, 0x08, 0x30, 0xf1, 0xf7, 0x46, 0xf8, + 0x21, 0x1c, 0xff, 0x31, 0x3c, 0x00, 0x28, 0xf5, + 0x00, 0x00, 0x50, 0x22, 0x19, 0x31, 0x12, 0x48, + 0xf1, 0xf7, 0x3f, 0xf8, 0x83, 0x20, 0x80, 0x00, + 0x14, 0x22, 0x21, 0x18, 0x10, 0x48, 0xf1, 0xf7, + 0x38, 0xf8, 0x11, 0x20, 0x40, 0x01, 0x84, 0x22, + 0x21, 0x18, 0x0d, 0x48, 0xf1, 0xf7, 0x31, 0xf8, + 0xff, 0xf7, 0x73, 0xff, 0x20, 0x1c, 0xf1, 0xf7, + 0x28, 0xfd, 0xf8, 0xbd, 0xff, 0xf7, 0x6d, 0xff, + 0xfb, 0xe7, 0x08, 0x20, 0x07, 0x00, 0x3c, 0x00, + 0x64, 0xf5, 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, + 0x40, 0x20, 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x00, 0x40, 0x07, 0x00, 0x00, 0x50, 0x07, 0x00, + 0x00, 0x60, 0x07, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x00, 0x90, 0x07, 0x00, 0xf8, 0xb5, 0x05, 0x1c, + 0x18, 0x48, 0xc0, 0x68, 0x00, 0x28, 0x25, 0xd0, + 0x16, 0x4e, 0x01, 0x36, 0x74, 0x78, 0x30, 0x78, + 0x27, 0x1a, 0x79, 0x19, 0x20, 0x1c, 0xf1, 0xf7, + 0x3c, 0x00, 0xa0, 0xf5, 0x00, 0x00, 0x4b, 0xf8, + 0x00, 0x90, 0x29, 0x1c, 0x20, 0x1c, 0xf1, 0xf7, + 0xb2, 0xf8, 0xc1, 0x19, 0x20, 0x1c, 0xf1, 0xf7, + 0x42, 0xf8, 0x60, 0x1a, 0x30, 0x70, 0x70, 0x1e, + 0x80, 0x68, 0x00, 0x28, 0x0d, 0xd0, 0x53, 0x36, + 0xf4, 0x78, 0x00, 0x99, 0x20, 0x1c, 0xf1, 0xf7, + 0xa2, 0xf8, 0xb1, 0x78, 0x61, 0x1a, 0x41, 0x18, + 0x20, 0x1c, 0xf1, 0xf7, 0x9c, 0xf8, 0x60, 0x1a, + 0xb0, 0x70, 0x3c, 0x00, 0xdc, 0xf5, 0x00, 0x00, + 0x03, 0x48, 0x5c, 0x30, 0x01, 0x69, 0xc2, 0x68, + 0x69, 0x43, 0x51, 0x18, 0xc1, 0x60, 0xf8, 0xbd, + 0x44, 0x7d, 0x01, 0x00, 0xb0, 0xb5, 0x0c, 0x4d, + 0xe8, 0x68, 0x29, 0x69, 0x40, 0x18, 0x7d, 0x21, + 0x09, 0x01, 0x44, 0x18, 0x20, 0x1c, 0x03, 0xf0, + 0x0b, 0xfb, 0x00, 0x28, 0x0a, 0xd0, 0x03, 0xf0, + 0xcf, 0xfb, 0x01, 0x1b, 0x28, 0x69, 0xf1, 0xf7, + 0x7d, 0xf8, 0x01, 0x30, 0x3c, 0x00, 0x18, 0xf6, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x0c, 0xff, 0xf7, + 0xb2, 0xff, 0xb0, 0xbd, 0x00, 0x00, 0xa0, 0x7d, + 0x01, 0x00, 0x70, 0xb5, 0x10, 0x4c, 0x60, 0x68, + 0x80, 0x25, 0xa8, 0x43, 0x60, 0x60, 0x20, 0x68, + 0x28, 0x43, 0x20, 0x60, 0x0d, 0x4e, 0x30, 0x1c, + 0x10, 0x30, 0xf3, 0xf7, 0xc8, 0xfc, 0x00, 0x28, + 0x03, 0xd1, 0x07, 0x21, 0x85, 0x20, 0xf1, 0xf7, + 0x2a, 0xfe, 0x08, 0x48, 0x00, 0x21, 0x3c, 0x00, + 0x54, 0xf6, 0x00, 0x00, 0x80, 0x68, 0x41, 0x63, + 0xc0, 0x6c, 0x10, 0x30, 0x70, 0x61, 0x01, 0x20, + 0x30, 0x61, 0x20, 0x68, 0xa8, 0x43, 0x20, 0x60, + 0x70, 0xbd, 0x00, 0x00, 0xf4, 0x00, 0x07, 0x00, + 0x00, 0x30, 0x07, 0x00, 0x24, 0x7e, 0x01, 0x00, + 0x01, 0x1c, 0x00, 0x20, 0x05, 0x29, 0x80, 0xb5, + 0x09, 0xd2, 0x02, 0xa3, 0x5b, 0x5c, 0x5b, 0x00, + 0x9f, 0x44, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x3c, 0x00, 0x90, 0xf6, 0x00, 0x00, 0x03, 0x00, + 0xff, 0xf7, 0xcf, 0xfc, 0x80, 0xbd, 0x01, 0x22, + 0x92, 0x02, 0x80, 0xb5, 0x00, 0x21, 0x07, 0x20, + 0x04, 0xf0, 0xab, 0xf9, 0x80, 0xbd, 0x80, 0xb5, + 0x40, 0x22, 0x00, 0x21, 0x00, 0x20, 0x04, 0xf0, + 0xa4, 0xf9, 0x03, 0x22, 0x00, 0x21, 0x00, 0x20, + 0x04, 0xf0, 0x9f, 0xf9, 0x80, 0xbd, 0x70, 0xb5, + 0x0e, 0x1c, 0x05, 0x1c, 0x14, 0x1c, 0x08, 0x28, + 0x0e, 0xd1, 0x3c, 0x00, 0xcc, 0xf6, 0x00, 0x00, + 0x00, 0xf0, 0x00, 0xfc, 0x0e, 0x28, 0x01, 0xd1, + 0x14, 0x20, 0x00, 0xe0, 0x10, 0x20, 0xe1, 0x03, + 0x00, 0xd5, 0x01, 0x38, 0xc0, 0x06, 0x0a, 0x49, + 0xc0, 0x0e, 0x88, 0x71, 0x08, 0xe0, 0x09, 0x2d, + 0x06, 0xd1, 0xa0, 0x04, 0x01, 0xd5, 0x00, 0x20, + 0x00, 0xe0, 0x01, 0x20, 0xf3, 0xf7, 0xb0, 0xf9, + 0x34, 0x40, 0x21, 0x1c, 0x32, 0x1c, 0x28, 0x1c, + 0x04, 0xf0, 0x7a, 0xf9, 0x3c, 0x00, 0x08, 0xf7, + 0x00, 0x00, 0x70, 0xbd, 0x00, 0x00, 0x00, 0x80, + 0x07, 0x00, 0x70, 0xb5, 0x00, 0x24, 0x13, 0x29, + 0x11, 0xd8, 0x00, 0x28, 0x01, 0xd1, 0x08, 0x4e, + 0x08, 0x25, 0x01, 0x28, 0x01, 0xd1, 0x07, 0x4e, + 0x09, 0x25, 0x00, 0xf0, 0x78, 0xfa, 0x00, 0x28, + 0x05, 0xd0, 0x02, 0x1c, 0x31, 0x1c, 0x28, 0x1c, + 0xff, 0xf7, 0xc3, 0xff, 0x01, 0x24, 0x20, 0x1c, + 0x70, 0xbd, 0xf8, 0xff, 0x07, 0x00, 0x3c, 0x00, + 0x44, 0xf7, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x01, 0x22, 0xd2, 0x02, 0x80, 0xb5, 0x00, 0x21, + 0x07, 0x20, 0x04, 0xf0, 0x53, 0xf9, 0x80, 0xbd, + 0x0f, 0x22, 0x12, 0x04, 0x07, 0x21, 0x49, 0x04, + 0x80, 0xb5, 0x09, 0x20, 0x04, 0xf0, 0x4a, 0xf9, + 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0x00, 0x21, + 0x04, 0x20, 0x04, 0xf0, 0x1b, 0xfc, 0x40, 0x21, + 0x00, 0x20, 0x04, 0xf0, 0x17, 0xfc, 0x04, 0x49, + 0x3c, 0x00, 0x80, 0xf7, 0x00, 0x00, 0x00, 0x20, + 0x88, 0x60, 0x02, 0x48, 0x09, 0x69, 0x20, 0x30, + 0xff, 0xf7, 0x09, 0xfe, 0x80, 0xbd, 0x64, 0x73, + 0x01, 0x00, 0xb0, 0xb5, 0x60, 0x21, 0x00, 0x20, + 0x04, 0xf0, 0x07, 0xfc, 0x11, 0x4d, 0x00, 0x24, + 0x00, 0x22, 0x04, 0x20, 0x29, 0x5d, 0x04, 0xf0, + 0x28, 0xf9, 0x0c, 0x20, 0x03, 0xf0, 0x9b, 0xfb, + 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, 0x05, 0x2c, + 0xf2, 0xd3, 0x3c, 0x00, 0xbc, 0xf7, 0x00, 0x00, + 0x0f, 0x22, 0x00, 0x21, 0x0a, 0x20, 0x04, 0xf0, + 0x1b, 0xf9, 0x61, 0x21, 0x00, 0x20, 0x04, 0xf0, + 0xef, 0xfb, 0x06, 0x49, 0x01, 0x20, 0x88, 0x60, + 0x04, 0x48, 0x09, 0x69, 0x20, 0x30, 0xff, 0xf7, + 0xcd, 0xfd, 0xff, 0x20, 0x2d, 0x30, 0xb0, 0xbd, + 0xa8, 0x58, 0x01, 0x00, 0x64, 0x73, 0x01, 0x00, + 0xf8, 0xb5, 0x06, 0x1c, 0x12, 0x48, 0xc6, 0x70, + 0x01, 0x20, 0xff, 0xf7, 0x3c, 0x00, 0xf8, 0xf7, + 0x00, 0x00, 0xfd, 0xfb, 0x01, 0x27, 0xbf, 0x02, + 0x04, 0x1c, 0xb8, 0x43, 0x01, 0x1c, 0x01, 0x20, + 0x04, 0xf0, 0xd1, 0xfb, 0x03, 0x20, 0xff, 0xf7, + 0xf2, 0xfb, 0x05, 0x1c, 0xb8, 0x43, 0x01, 0x1c, + 0x03, 0x20, 0x04, 0xf0, 0xc8, 0xfb, 0x30, 0x1c, + 0x00, 0xf0, 0x9f, 0xf9, 0x00, 0xf0, 0x57, 0xf8, + 0x21, 0x1c, 0x01, 0x20, 0x04, 0xf0, 0xbf, 0xfb, + 0x29, 0x1c, 0x03, 0x20, 0x04, 0xf0, 0x3c, 0x00, + 0x34, 0xf8, 0x00, 0x00, 0xbb, 0xfb, 0x00, 0x20, + 0xf8, 0xbd, 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x22, 0x40, 0x21, 0x00, 0x20, + 0x04, 0xf0, 0xd8, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x01, 0x24, 0x09, 0x20, + 0xff, 0xf7, 0xcc, 0xfb, 0x0f, 0x21, 0x09, 0x04, + 0x88, 0x43, 0x03, 0x21, 0x89, 0x04, 0xe2, 0x04, + 0x05, 0x2d, 0x12, 0x4e, 0x20, 0xd2, 0x02, 0xa3, + 0x3c, 0x00, 0x70, 0xf8, 0x00, 0x00, 0x5b, 0x5d, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x06, 0x09, + 0x0c, 0x10, 0x03, 0x00, 0x03, 0x21, 0x09, 0x04, + 0x0c, 0xe0, 0x01, 0x21, 0x09, 0x04, 0x09, 0xe0, + 0x01, 0x21, 0x49, 0x04, 0x06, 0xe0, 0xf3, 0x68, + 0x04, 0x2b, 0x05, 0xd9, 0x02, 0xe0, 0xf3, 0x68, + 0x04, 0x2b, 0x01, 0xd8, 0x01, 0x43, 0x01, 0xe0, + 0x10, 0x43, 0x01, 0x1c, 0x09, 0x20, 0x04, 0xf0, + 0x80, 0xfb, 0x3c, 0x00, 0xac, 0xf8, 0x00, 0x00, + 0x20, 0x1c, 0x70, 0xbd, 0x00, 0x24, 0xfb, 0xe7, + 0x64, 0x73, 0x01, 0x00, 0x01, 0x21, 0xc9, 0x05, + 0x00, 0x28, 0x80, 0xb5, 0x02, 0xd0, 0x0a, 0x1c, + 0x00, 0x21, 0x00, 0xe0, 0x00, 0x22, 0x04, 0x20, + 0x04, 0xf0, 0x96, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0xf0, 0xb5, 0x91, 0xb0, 0x00, 0x26, 0x40, 0x21, + 0x01, 0xa8, 0xf0, 0xf7, 0xdd, 0xfd, 0x2a, 0x4f, + 0xb8, 0x79, 0x01, 0x22, 0x3c, 0x00, 0xe8, 0xf8, + 0x00, 0x00, 0x52, 0x03, 0x00, 0x90, 0x00, 0x21, + 0x06, 0x20, 0x04, 0xf0, 0x84, 0xf8, 0x60, 0x21, + 0x00, 0x20, 0x04, 0xf0, 0x58, 0xfb, 0x61, 0x21, + 0x00, 0x20, 0x04, 0xf0, 0x54, 0xfb, 0x08, 0x20, + 0x03, 0xf0, 0xef, 0xfa, 0x00, 0x24, 0x0f, 0x20, + 0xff, 0xf7, 0x71, 0xfb, 0x40, 0x05, 0x05, 0x0f, + 0xa8, 0x00, 0x01, 0xa9, 0x09, 0x58, 0x01, 0xaa, + 0x01, 0x31, 0x01, 0x34, 0x0c, 0x2c, 0x3c, 0x00, + 0x24, 0xf9, 0x00, 0x00, 0x11, 0x50, 0xf1, 0xd3, + 0x00, 0x20, 0x81, 0x00, 0x01, 0xaa, 0x51, 0x58, + 0xb1, 0x42, 0x01, 0xd9, 0x0e, 0x1c, 0x05, 0x1c, + 0x01, 0x30, 0x10, 0x28, 0xf5, 0xd3, 0x06, 0x20, + 0xff, 0xf7, 0x58, 0xfb, 0x0f, 0x21, 0x49, 0x02, + 0x88, 0x43, 0x69, 0x02, 0x08, 0x43, 0x01, 0x21, + 0x49, 0x03, 0x01, 0x43, 0x06, 0x20, 0x04, 0xf0, + 0x29, 0xfb, 0x0d, 0x48, 0x84, 0x68, 0x64, 0x34, + 0x3c, 0x00, 0x60, 0xf9, 0x00, 0x00, 0x08, 0xe0, + 0x20, 0x1c, 0x03, 0xf0, 0x5a, 0xf9, 0x00, 0x28, + 0x03, 0xd0, 0x01, 0x21, 0x95, 0x20, 0xf1, 0xf7, + 0x98, 0xfc, 0x0f, 0x20, 0xff, 0xf7, 0x3d, 0xfb, + 0x00, 0x04, 0xf1, 0xd5, 0x87, 0x20, 0x03, 0xf0, + 0xb2, 0xfa, 0x00, 0x98, 0xb8, 0x71, 0x11, 0xb0, + 0xf0, 0xbd, 0x20, 0x10, 0x07, 0x00, 0x00, 0x01, + 0x07, 0x00, 0x10, 0xb5, 0x17, 0x4c, 0x61, 0x69, + 0x00, 0x29, 0x3c, 0x00, 0x9c, 0xf9, 0x00, 0x00, + 0x04, 0xd0, 0x0a, 0x21, 0x13, 0x20, 0x03, 0xf0, + 0x47, 0xfe, 0x10, 0xbd, 0x01, 0x1c, 0x12, 0x48, + 0x01, 0x29, 0x00, 0x78, 0x0c, 0xd0, 0x11, 0x29, + 0xf7, 0xd1, 0x05, 0x28, 0x03, 0xd1, 0x01, 0x21, + 0x13, 0x20, 0xf1, 0xf7, 0x71, 0xfc, 0x20, 0x78, + 0x07, 0x28, 0xee, 0xd1, 0x02, 0x21, 0x0a, 0xe0, + 0x05, 0x28, 0x07, 0xd0, 0x06, 0x28, 0x0a, 0xd0, + 0x07, 0x28, 0xf7, 0xd0, 0x3c, 0x00, 0xd8, 0xf9, + 0x00, 0x00, 0x08, 0x28, 0xe4, 0xd1, 0x00, 0x20, + 0x05, 0xe0, 0x01, 0x21, 0x13, 0x20, 0xf1, 0xf7, + 0x5e, 0xfc, 0x10, 0xbd, 0x01, 0x20, 0x02, 0xf0, + 0x6c, 0xfd, 0x10, 0xbd, 0x00, 0x00, 0x7c, 0x78, + 0x01, 0x00, 0x0d, 0x49, 0x80, 0xb5, 0x09, 0x78, + 0x03, 0x29, 0x01, 0xd1, 0x00, 0x28, 0x0b, 0xd0, + 0x07, 0x29, 0x01, 0xd1, 0x00, 0x28, 0x07, 0xd0, + 0x02, 0x29, 0x01, 0xd1, 0x00, 0x28, 0x3c, 0x00, + 0x14, 0xfa, 0x00, 0x00, 0x03, 0xd1, 0x05, 0x29, + 0x09, 0xd1, 0x00, 0x28, 0x07, 0xd0, 0x00, 0x20, + 0xfc, 0xf7, 0x28, 0xfd, 0x00, 0x22, 0x13, 0x21, + 0x11, 0x20, 0x03, 0xf0, 0xc1, 0xfe, 0x80, 0xbd, + 0x7c, 0x78, 0x01, 0x00, 0x80, 0xb5, 0x06, 0x22, + 0x08, 0x21, 0x00, 0x20, 0x03, 0xf0, 0xde, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0x07, 0x48, 0x80, 0xb5, + 0x40, 0x69, 0x00, 0x28, 0x01, 0xd1, 0xf1, 0xf7, + 0x3c, 0x00, 0x50, 0xfa, 0x00, 0x00, 0x33, 0xff, + 0x05, 0x49, 0x05, 0x4a, 0x08, 0x68, 0x50, 0x61, + 0x48, 0x68, 0x90, 0x61, 0x01, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, 0xb0, 0x58, + 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, 0x07, 0x48, + 0x80, 0xb5, 0x40, 0x69, 0x00, 0x28, 0x01, 0xd1, + 0xf1, 0xf7, 0x1d, 0xff, 0x05, 0x49, 0x05, 0x4a, + 0x08, 0x68, 0x90, 0x61, 0x48, 0x68, 0x50, 0x61, + 0x01, 0x20, 0x3c, 0x00, 0x8c, 0xfa, 0x00, 0x00, + 0x80, 0xbd, 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, + 0xb0, 0x58, 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x11, 0xb5, 0x00, 0xab, 0x59, 0x78, 0x14, 0x48, + 0x01, 0x23, 0xc0, 0x56, 0x00, 0x22, 0x09, 0x18, + 0x0b, 0x06, 0x1b, 0x16, 0x13, 0x21, 0x13, 0x2b, + 0x02, 0xdd, 0x00, 0xab, 0x59, 0x70, 0x07, 0xe0, + 0x00, 0x2b, 0x02, 0xda, 0x00, 0xab, 0x5a, 0x70, + 0x02, 0xe0, 0x1c, 0x1c, 0x3c, 0x00, 0xc8, 0xfa, + 0x00, 0x00, 0x00, 0xab, 0x5c, 0x70, 0x00, 0xab, + 0x1b, 0x78, 0x18, 0x18, 0x00, 0x06, 0x00, 0x16, + 0x13, 0x28, 0x02, 0xdd, 0x00, 0xab, 0x19, 0x70, + 0x06, 0xe0, 0x00, 0x28, 0x02, 0xda, 0x00, 0xab, + 0x1a, 0x70, 0x01, 0xe0, 0x00, 0xab, 0x18, 0x70, + 0x00, 0x98, 0x18, 0xbd, 0x00, 0x00, 0x64, 0x73, + 0x01, 0x00, 0x38, 0xb5, 0x0c, 0x1c, 0x15, 0x49, + 0x00, 0xab, 0x49, 0x68, 0x13, 0x25, 0x3c, 0x00, + 0x04, 0xfb, 0x00, 0x00, 0x00, 0x91, 0x59, 0x78, + 0x09, 0x18, 0x59, 0x70, 0x19, 0x78, 0x08, 0x18, + 0x18, 0x70, 0x19, 0x88, 0x10, 0x48, 0x02, 0x2c, + 0xc1, 0x80, 0x01, 0xd0, 0x00, 0x2c, 0x0b, 0xd1, + 0x00, 0xab, 0x18, 0x78, 0x13, 0x28, 0x00, 0xd9, + 0x1d, 0x70, 0x00, 0xab, 0x19, 0x78, 0x00, 0x20, + 0xff, 0xf7, 0xee, 0xfd, 0x02, 0x2c, 0x01, 0xd0, + 0x01, 0x2c, 0x09, 0xd1, 0x00, 0xab, 0x58, 0x78, + 0x3c, 0x00, 0x40, 0xfb, 0x00, 0x00, 0x13, 0x28, + 0x00, 0xd9, 0x5d, 0x70, 0x00, 0xab, 0x59, 0x78, + 0x01, 0x20, 0xff, 0xf7, 0xe0, 0xfd, 0x38, 0xbd, + 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, 0xa0, 0x58, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0e, 0x28, 0x13, 0x4d, 0x04, 0xd0, + 0x12, 0x49, 0xa0, 0x00, 0x00, 0x19, 0x4d, 0x39, + 0x45, 0x18, 0x06, 0x20, 0xff, 0xf7, 0x3d, 0xfa, + 0x0f, 0x49, 0x3c, 0x00, 0x7c, 0xfb, 0x00, 0x00, + 0xe0, 0x22, 0x09, 0x19, 0x10, 0x39, 0xc9, 0x7b, + 0x90, 0x43, 0x49, 0x01, 0x11, 0x40, 0x01, 0x43, + 0x06, 0x20, 0x04, 0xf0, 0x0d, 0xfa, 0x29, 0x1c, + 0x05, 0x20, 0x09, 0x4a, 0x03, 0xf0, 0x30, 0xff, + 0x08, 0x48, 0x1f, 0x22, 0x00, 0x19, 0x10, 0x38, + 0xc0, 0x7b, 0xc1, 0x04, 0xd2, 0x04, 0x08, 0x20, + 0x03, 0xf0, 0x26, 0xff, 0xb0, 0xbd, 0x00, 0x00, + 0xb4, 0x09, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xfb, + 0x00, 0x00, 0x14, 0x45, 0x01, 0x00, 0xff, 0x0f, + 0x00, 0x00, 0xc0, 0x58, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x06, 0x49, 0x00, 0x28, + 0x01, 0xd1, 0x08, 0x68, 0x80, 0xbd, 0x01, 0x28, + 0x01, 0xd1, 0x48, 0x68, 0x80, 0xbd, 0xf1, 0xf7, + 0x90, 0xfb, 0x00, 0x20, 0x80, 0xbd, 0x7c, 0x73, + 0x01, 0x00, 0x01, 0x48, 0x40, 0x68, 0x70, 0x47, + 0x00, 0x00, 0xa0, 0x58, 0x01, 0x00, 0x3c, 0x00, + 0xf4, 0xfb, 0x00, 0x00, 0x04, 0x48, 0x01, 0x23, + 0x04, 0x49, 0xc0, 0x56, 0xc9, 0x56, 0x40, 0x18, + 0x00, 0x04, 0x00, 0x0c, 0x70, 0x47, 0x00, 0x00, + 0xa0, 0x58, 0x01, 0x00, 0xa2, 0x58, 0x01, 0x00, + 0x01, 0x48, 0x40, 0x68, 0x70, 0x47, 0x00, 0x00, + 0x64, 0x73, 0x01, 0x00, 0xf8, 0xb5, 0x05, 0x1c, + 0x0e, 0x1c, 0x00, 0xf0, 0x55, 0xf9, 0x04, 0x1c, + 0x00, 0xf0, 0x58, 0xf9, 0x00, 0x28, 0x2c, 0xd0, + 0x3c, 0x00, 0x30, 0xfc, 0x00, 0x00, 0xb3, 0x00, + 0x60, 0x1e, 0x00, 0x2d, 0x1c, 0x4e, 0x19, 0x49, + 0x1a, 0x4a, 0x06, 0xd1, 0x0b, 0x25, 0x0e, 0x2c, + 0x00, 0xd1, 0x19, 0x4a, 0xd2, 0x58, 0x08, 0x56, + 0x08, 0xe0, 0x01, 0x2d, 0x1c, 0xd1, 0x9a, 0x18, + 0x04, 0x36, 0x08, 0x18, 0x08, 0x25, 0x0e, 0x23, + 0x12, 0x6d, 0xc0, 0x56, 0x07, 0x1c, 0x47, 0x43, + 0xfb, 0x00, 0xdf, 0x19, 0x12, 0x4b, 0x3f, 0x21, + 0x58, 0x43, 0x3c, 0x00, 0x6c, 0xfc, 0x00, 0x00, + 0x11, 0x4b, 0xa9, 0x40, 0x0c, 0x1c, 0x38, 0x18, + 0xc0, 0x18, 0x14, 0x40, 0xec, 0x40, 0xc0, 0x11, + 0x60, 0x43, 0x1b, 0x0a, 0xc0, 0x18, 0x80, 0x12, + 0x03, 0xd1, 0x01, 0x20, 0x04, 0xe0, 0x00, 0x20, + 0xf8, 0xbd, 0x3f, 0x28, 0x00, 0xdd, 0x3f, 0x20, + 0x30, 0x60, 0xa8, 0x40, 0x08, 0x40, 0x8a, 0x43, + 0x10, 0x43, 0xf5, 0xe7, 0xcc, 0x59, 0x01, 0x00, + 0xdc, 0x58, 0x01, 0x00, 0x3c, 0x00, 0xa8, 0xfc, + 0x00, 0x00, 0x7c, 0x73, 0x01, 0x00, 0x7c, 0x59, + 0x01, 0x00, 0x06, 0x06, 0x00, 0x00, 0x26, 0x00, + 0x02, 0x00, 0x03, 0x48, 0x08, 0xb5, 0xc0, 0x88, + 0x00, 0xab, 0x18, 0x80, 0x00, 0x98, 0x08, 0xbd, + 0x00, 0x00, 0xa0, 0x58, 0x01, 0x00, 0xb0, 0xb5, + 0x0b, 0x4d, 0x09, 0x4c, 0x0e, 0x20, 0x6c, 0x60, + 0xff, 0xf7, 0x8d, 0xf9, 0x09, 0x49, 0x02, 0x1c, + 0xc8, 0x60, 0x01, 0x06, 0x09, 0x0e, 0x3c, 0x00, + 0xe4, 0xfc, 0x00, 0x00, 0x13, 0x3a, 0x02, 0x2a, + 0x02, 0xd9, 0x17, 0x38, 0x04, 0x28, 0x00, 0xd8, + 0x00, 0x21, 0x08, 0x1c, 0x6c, 0x60, 0xb0, 0xbd, + 0x04, 0x18, 0x02, 0x00, 0x60, 0x00, 0x07, 0x00, + 0x64, 0x73, 0x01, 0x00, 0x0a, 0x48, 0x98, 0xb5, + 0x02, 0x78, 0x13, 0x21, 0x14, 0x2a, 0x00, 0xd3, + 0x01, 0x70, 0x42, 0x78, 0x14, 0x2a, 0x00, 0xd3, + 0x41, 0x70, 0x06, 0x4c, 0x60, 0x68, 0xff, 0xf7, + 0x3c, 0x00, 0x20, 0xfd, 0x00, 0x00, 0xbd, 0xfe, + 0x00, 0x90, 0x00, 0xab, 0x18, 0x88, 0xe0, 0x80, + 0x00, 0xf0, 0x75, 0xff, 0x98, 0xbd, 0xa4, 0x58, + 0x01, 0x00, 0xa0, 0x58, 0x01, 0x00, 0x03, 0x48, + 0x80, 0xb5, 0x41, 0x78, 0x01, 0x20, 0xff, 0xf7, + 0xe6, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0xa6, 0x58, + 0x01, 0x00, 0x03, 0x48, 0x80, 0xb5, 0x01, 0x78, + 0x00, 0x20, 0xff, 0xf7, 0xdc, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xfd, 0x00, 0x00, + 0xa6, 0x58, 0x01, 0x00, 0xb0, 0xb5, 0x05, 0x4d, + 0x00, 0x24, 0x20, 0x1c, 0xff, 0xf7, 0x44, 0xf9, + 0x01, 0x34, 0x10, 0x2c, 0x01, 0xc5, 0xf8, 0xd3, + 0xb0, 0xbd, 0x00, 0x00, 0xd4, 0x44, 0x01, 0x00, + 0x04, 0x49, 0x80, 0xb5, 0x88, 0x70, 0x04, 0x49, + 0x80, 0x00, 0x09, 0x58, 0x07, 0x20, 0x04, 0xf0, + 0x0f, 0xf9, 0x80, 0xbd, 0x64, 0x73, 0x01, 0x00, + 0xd0, 0x58, 0x01, 0x00, 0x3c, 0x00, 0x98, 0xfd, + 0x00, 0x00, 0xb0, 0xb5, 0x3f, 0x24, 0x02, 0x1c, + 0x00, 0x2a, 0x01, 0xd1, 0x08, 0x20, 0x0b, 0x23, + 0x01, 0x2a, 0x01, 0xd1, 0x09, 0x20, 0x08, 0x23, + 0x25, 0x1c, 0x9d, 0x40, 0x00, 0x29, 0x00, 0xd1, + 0x01, 0x21, 0x3f, 0x29, 0x00, 0xd9, 0x21, 0x1c, + 0x99, 0x40, 0x0a, 0x1c, 0x29, 0x1c, 0xff, 0xf7, + 0x7c, 0xfc, 0xb0, 0xbd, 0x00, 0x00, 0x91, 0xb5, + 0x12, 0x49, 0x00, 0xab, 0x1a, 0x78, 0x3c, 0x00, + 0xd4, 0xfd, 0x00, 0x00, 0x08, 0x78, 0x11, 0x4c, + 0x80, 0x18, 0x00, 0x06, 0x00, 0x0e, 0x20, 0x70, + 0x49, 0x78, 0x5a, 0x78, 0x89, 0x18, 0x09, 0x06, + 0x09, 0x0e, 0x13, 0x22, 0x13, 0x28, 0x61, 0x70, + 0x00, 0xd9, 0x22, 0x70, 0x13, 0x29, 0x00, 0xd9, + 0x62, 0x70, 0x08, 0x49, 0x08, 0x48, 0x06, 0x39, + 0xc9, 0x88, 0x81, 0x80, 0x21, 0x78, 0x00, 0x20, + 0xff, 0xf7, 0x82, 0xfc, 0x61, 0x78, 0x01, 0x20, + 0x3c, 0x00, 0x10, 0xfe, 0x00, 0x00, 0xff, 0xf7, + 0x7e, 0xfc, 0x98, 0xbd, 0x00, 0x00, 0xa4, 0x58, + 0x01, 0x00, 0xa6, 0x58, 0x01, 0x00, 0x64, 0x73, + 0x01, 0x00, 0x70, 0xb5, 0x1d, 0x4d, 0x04, 0x1c, + 0x28, 0x78, 0x0e, 0x1c, 0x03, 0x28, 0x03, 0xd1, + 0x02, 0x21, 0x11, 0x20, 0xf1, 0xf7, 0x35, 0xfa, + 0x20, 0x1c, 0x00, 0xf0, 0x4e, 0xf8, 0x00, 0x28, + 0x25, 0xd0, 0x28, 0x78, 0x01, 0x28, 0x0a, 0xd1, + 0x68, 0x68, 0x3c, 0x00, 0x4c, 0xfe, 0x00, 0x00, + 0x00, 0x28, 0x07, 0xd0, 0x01, 0x21, 0x11, 0x20, + 0x03, 0xf0, 0xee, 0xfb, 0x01, 0x20, 0x69, 0x68, + 0xf0, 0xf7, 0xbd, 0xfa, 0x6c, 0x70, 0x6e, 0x60, + 0x20, 0x1c, 0xff, 0xf7, 0xc1, 0xfc, 0x04, 0x1c, + 0x00, 0xf0, 0xd4, 0xfe, 0x00, 0x2c, 0x02, 0xd0, + 0x68, 0x68, 0x00, 0x28, 0x02, 0xd1, 0xf6, 0xf7, + 0xd9, 0xf8, 0x70, 0xbd, 0x01, 0x20, 0x28, 0x70, + 0x01, 0x22, 0x21, 0x1c, 0x3c, 0x00, 0x88, 0xfe, + 0x00, 0x00, 0x11, 0x20, 0x03, 0xf0, 0x9f, 0xfb, + 0x70, 0xbd, 0x02, 0x21, 0x11, 0x20, 0xf1, 0xf7, + 0x06, 0xfa, 0x70, 0xbd, 0x00, 0x00, 0x9c, 0x73, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x28, 0x05, 0xd1, + 0x00, 0x29, 0x04, 0xd0, 0x01, 0x29, 0x01, 0xd1, + 0xf6, 0xf7, 0xbf, 0xf8, 0x80, 0xbd, 0x05, 0x49, + 0x08, 0x78, 0x03, 0x28, 0x02, 0xd0, 0x00, 0x20, + 0x08, 0x70, 0x80, 0xbd, 0x03, 0x21, 0x3c, 0x00, + 0xc4, 0xfe, 0x00, 0x00, 0x11, 0x20, 0xf1, 0xf7, + 0xed, 0xf9, 0x80, 0xbd, 0x9c, 0x73, 0x01, 0x00, + 0x01, 0x48, 0x40, 0x78, 0x70, 0x47, 0x00, 0x00, + 0x9c, 0x73, 0x01, 0x00, 0x01, 0x1c, 0x01, 0x39, + 0x01, 0x20, 0x0e, 0x29, 0x00, 0xd3, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x10, 0xb5, 0x13, 0x4c, + 0x20, 0x78, 0x01, 0x28, 0x0e, 0xd1, 0x60, 0x68, + 0x00, 0x28, 0x0d, 0xd0, 0x01, 0x21, 0x11, 0x20, + 0x3c, 0x00, 0x00, 0xff, 0x00, 0x00, 0x03, 0xf0, + 0x98, 0xfb, 0x01, 0x20, 0x61, 0x68, 0xf0, 0xf7, + 0x67, 0xfa, 0x00, 0x20, 0x60, 0x60, 0x20, 0x70, + 0x01, 0xe0, 0x03, 0x28, 0x0e, 0xd0, 0x00, 0x21, + 0x11, 0x20, 0x03, 0xf0, 0x8a, 0xfb, 0xff, 0xf7, + 0x24, 0xfc, 0xff, 0xf7, 0xc0, 0xfb, 0x05, 0x49, + 0x08, 0x7b, 0x40, 0x08, 0x40, 0x00, 0x08, 0x73, + 0x03, 0x20, 0x20, 0x70, 0x01, 0x20, 0x10, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xff, 0x00, 0x00, + 0x9c, 0x73, 0x01, 0x00, 0x88, 0x00, 0x07, 0x00, + 0x10, 0xb5, 0x0d, 0x4c, 0x20, 0x78, 0x03, 0x28, + 0x13, 0xd1, 0x00, 0x20, 0x20, 0x70, 0x0b, 0x48, + 0x01, 0x7b, 0x01, 0x22, 0x11, 0x43, 0x01, 0x73, + 0xff, 0xf7, 0x70, 0xfc, 0xff, 0xf7, 0x18, 0xfc, + 0x00, 0x28, 0x06, 0xd0, 0x02, 0x21, 0x21, 0x70, + 0x01, 0x1c, 0x00, 0x22, 0x11, 0x20, 0x03, 0xf0, + 0x2b, 0xfb, 0x01, 0x20, 0x3c, 0x00, 0x78, 0xff, + 0x00, 0x00, 0x10, 0xbd, 0x00, 0x00, 0x9c, 0x73, + 0x01, 0x00, 0x88, 0x00, 0x07, 0x00, 0x80, 0xb5, + 0x05, 0x49, 0x00, 0x28, 0x04, 0xd0, 0x00, 0x20, + 0x08, 0x60, 0x03, 0xf0, 0x5a, 0xfa, 0x80, 0xbd, + 0x01, 0x20, 0x08, 0x60, 0x80, 0xbd, 0x80, 0x5a, + 0x01, 0x00, 0xfe, 0xb5, 0x05, 0x1c, 0x80, 0x35, + 0x04, 0x1c, 0xa8, 0x68, 0x29, 0x79, 0x06, 0x68, + 0x20, 0x1c, 0xa0, 0x30, 0x02, 0x29, 0x3c, 0x00, + 0xb4, 0xff, 0x00, 0x00, 0x1c, 0xd1, 0x69, 0x79, + 0x08, 0x29, 0x01, 0xd0, 0x0c, 0x29, 0x17, 0xd1, + 0x01, 0x21, 0x61, 0x62, 0xa9, 0x68, 0x09, 0x68, + 0x09, 0x8b, 0x01, 0x82, 0xa9, 0x69, 0x01, 0x91, + 0x00, 0x8a, 0xc0, 0x06, 0x05, 0xd5, 0x60, 0x68, + 0x00, 0x88, 0x40, 0x05, 0x01, 0xd4, 0x01, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x02, 0x90, 0x05, 0x20, + 0x01, 0xa9, 0x02, 0xf0, 0xb7, 0xf9, 0x02, 0xe0, + 0x3c, 0x00, 0xf0, 0xff, 0x00, 0x00, 0x00, 0x21, + 0x61, 0x62, 0x01, 0x82, 0xa9, 0x68, 0x1a, 0x23, + 0x0a, 0x89, 0x67, 0x6a, 0x18, 0x1c, 0x00, 0x2f, + 0x00, 0xd1, 0x18, 0x20, 0x10, 0x1a, 0x08, 0x81, + 0xa8, 0x68, 0x01, 0x68, 0x62, 0x6a, 0x00, 0x2a, + 0x00, 0xd1, 0x18, 0x23, 0xc9, 0x18, 0x01, 0x60, + 0xa8, 0x68, 0x41, 0xc4, 0x30, 0x88, 0x08, 0x3c, + 0x40, 0x04, 0x03, 0xd5, 0x20, 0x1c, 0xf7, 0xf7, + 0xbc, 0xf9, 0x3c, 0x00, 0x2c, 0x00, 0x01, 0x00, + 0xfe, 0xbd, 0x00, 0x21, 0xe1, 0x61, 0x30, 0x79, + 0xc0, 0x07, 0x03, 0xd4, 0x20, 0x1c, 0xf7, 0xf7, + 0x91, 0xfe, 0xf5, 0xe7, 0x20, 0x1c, 0xf7, 0xf7, + 0x43, 0xff, 0xf1, 0xe7, 0xf7, 0xb5, 0x05, 0x1c, + 0x0a, 0x30, 0x06, 0x1c, 0xf5, 0xf7, 0xa4, 0xfa, + 0x14, 0x4f, 0x04, 0x1c, 0x39, 0x88, 0xf2, 0xf7, + 0x83, 0xfe, 0x32, 0x88, 0x78, 0x68, 0x02, 0x80, + 0x72, 0x88, 0x02, 0x30, 0x3c, 0x00, 0x68, 0x00, + 0x01, 0x00, 0x02, 0x80, 0xb1, 0x88, 0x41, 0x80, + 0x69, 0x88, 0x02, 0x9a, 0x20, 0x1c, 0xfa, 0xf7, + 0xce, 0xfe, 0x0b, 0x4d, 0x08, 0x35, 0x68, 0x80, + 0xfb, 0xf7, 0x2b, 0xfe, 0x01, 0x21, 0x09, 0x03, + 0x00, 0x28, 0x28, 0x88, 0x01, 0xd0, 0x88, 0x43, + 0x00, 0xe0, 0x08, 0x43, 0x28, 0x80, 0x04, 0x48, + 0x00, 0x22, 0x00, 0x21, 0x14, 0x30, 0xf2, 0xf7, + 0x32, 0xfe, 0x20, 0x1c, 0xfc, 0xf7, 0x3c, 0x00, + 0xa4, 0x00, 0x01, 0x00, 0x85, 0xfa, 0xfe, 0xbd, + 0x24, 0x7b, 0x01, 0x00, 0x10, 0xb5, 0x13, 0x4c, + 0x11, 0x49, 0x20, 0x1c, 0xff, 0x30, 0x69, 0x30, + 0x0e, 0xc9, 0x0e, 0xc0, 0x20, 0x1c, 0xff, 0x30, + 0x24, 0x22, 0x75, 0x30, 0x0e, 0x49, 0xf0, 0xf7, + 0x17, 0xfa, 0x20, 0x1c, 0xff, 0x30, 0x3c, 0x22, + 0x99, 0x30, 0x0c, 0x49, 0xf0, 0xf7, 0x6c, 0xfa, + 0x20, 0x1c, 0xff, 0x30, 0x10, 0x22, 0xd5, 0x30, + 0x3c, 0x00, 0xe0, 0x00, 0x01, 0x00, 0x09, 0x49, + 0xf0, 0xf7, 0x09, 0xfa, 0x20, 0x1c, 0xff, 0x30, + 0x28, 0x22, 0xe5, 0x30, 0x07, 0x49, 0xf0, 0xf7, + 0x5e, 0xfa, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x80, + 0x07, 0x00, 0x40, 0x63, 0x01, 0x00, 0x0c, 0x80, + 0x07, 0x00, 0x30, 0x80, 0x07, 0x00, 0x80, 0x80, + 0x07, 0x00, 0xa0, 0x80, 0x07, 0x00, 0xb0, 0xb5, + 0x00, 0x28, 0x3f, 0xd0, 0x21, 0x48, 0x41, 0x68, + 0x21, 0x4c, 0x3c, 0x00, 0x1c, 0x01, 0x01, 0x00, + 0x61, 0x60, 0xc1, 0x68, 0xe1, 0x60, 0x01, 0x69, + 0x21, 0x61, 0x80, 0x6a, 0xa0, 0x62, 0x1e, 0x49, + 0x1c, 0x48, 0x09, 0x68, 0x14, 0x38, 0x41, 0x64, + 0x1c, 0x48, 0x25, 0x1c, 0x3c, 0x35, 0x0f, 0xc8, + 0x0f, 0xc5, 0x20, 0x1c, 0x80, 0x22, 0x4c, 0x30, + 0x19, 0x49, 0xf0, 0xf7, 0x33, 0xfa, 0x14, 0x22, + 0x20, 0x1c, 0xcc, 0x30, 0x17, 0x49, 0xf0, 0xf7, + 0x2d, 0xfa, 0x38, 0x22, 0x3c, 0x00, 0x58, 0x01, + 0x01, 0x00, 0x20, 0x1c, 0xe0, 0x30, 0x15, 0x49, + 0xf0, 0xf7, 0x27, 0xfa, 0x20, 0x1c, 0xff, 0x30, + 0x50, 0x22, 0x19, 0x30, 0x13, 0x49, 0xf0, 0xf7, + 0x20, 0xfa, 0x83, 0x20, 0x80, 0x00, 0x14, 0x22, + 0x20, 0x18, 0x10, 0x49, 0xf0, 0xf7, 0x19, 0xfa, + 0x11, 0x20, 0x40, 0x01, 0x84, 0x22, 0x20, 0x18, + 0x0e, 0x49, 0xf0, 0xf7, 0x12, 0xfa, 0xff, 0xf7, + 0x8e, 0xff, 0xf8, 0xf7, 0x94, 0xfb, 0x3c, 0x00, + 0x94, 0x01, 0x01, 0x00, 0xb0, 0xbd, 0xff, 0xf7, + 0x89, 0xff, 0xb0, 0xbd, 0x00, 0x10, 0x07, 0x00, + 0x40, 0x63, 0x01, 0x00, 0x08, 0x20, 0x07, 0x00, + 0x40, 0x20, 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x00, 0x40, 0x07, 0x00, 0x00, 0x50, 0x07, 0x00, + 0x00, 0x60, 0x07, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x00, 0x90, 0x07, 0x00, 0x0c, 0x49, 0x80, 0xb5, + 0x01, 0x20, 0x48, 0x60, 0x0a, 0x48, 0x14, 0x38, + 0x3c, 0x00, 0xd0, 0x01, 0x01, 0x00, 0x00, 0x78, + 0x01, 0x28, 0x04, 0xd0, 0x08, 0x48, 0x94, 0x38, + 0x40, 0x6f, 0x00, 0x28, 0x03, 0xd0, 0x00, 0x20, + 0x00, 0xf0, 0x1f, 0xf8, 0x80, 0xbd, 0x08, 0x68, + 0x00, 0x28, 0xfb, 0xd0, 0x03, 0x48, 0xf2, 0xf7, + 0x7a, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x98, 0x66, + 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x80, 0xb5, + 0x00, 0x28, 0x09, 0xd1, 0xf2, 0x21, 0x0f, 0x20, + 0x03, 0xf0, 0x3c, 0x00, 0x0c, 0x02, 0x01, 0x00, + 0x13, 0xfa, 0x00, 0x22, 0x0f, 0x21, 0xf1, 0x20, + 0x03, 0xf0, 0xcc, 0xfa, 0x80, 0xbd, 0x01, 0x20, + 0xf8, 0xf7, 0x6a, 0xfe, 0x80, 0xbd, 0x00, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x03, 0x20, 0x00, 0xf0, + 0xc9, 0xf9, 0x00, 0x21, 0x0f, 0x20, 0x03, 0xf0, + 0xff, 0xf9, 0xff, 0xf7, 0x65, 0xf8, 0x0b, 0x49, + 0x00, 0x20, 0x48, 0x74, 0xfb, 0xf7, 0xe6, 0xfa, + 0x09, 0x48, 0x00, 0x68, 0x3c, 0x00, 0x48, 0x02, + 0x01, 0x00, 0x00, 0x28, 0x03, 0xdc, 0x02, 0x21, + 0x40, 0x42, 0xff, 0xf7, 0x52, 0xfc, 0x04, 0x48, + 0x14, 0x30, 0x00, 0x68, 0x00, 0x28, 0x02, 0xd0, + 0x20, 0x1c, 0xf2, 0xf7, 0x42, 0xfe, 0x10, 0xbd, + 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, 0xd4, 0x7e, + 0x01, 0x00, 0x06, 0x49, 0x80, 0xb5, 0x09, 0x78, + 0x04, 0x29, 0x05, 0xd0, 0x05, 0x29, 0x03, 0xd0, + 0x06, 0x29, 0x01, 0xd0, 0x07, 0x29, 0x3c, 0x00, + 0x84, 0x02, 0x01, 0x00, 0x01, 0xd1, 0xfe, 0xf7, + 0xbd, 0xfd, 0x80, 0xbd, 0x74, 0x66, 0x01, 0x00, + 0x10, 0xb5, 0x09, 0x4c, 0xe0, 0x68, 0x00, 0x28, + 0x0b, 0xd1, 0x07, 0x48, 0x2c, 0x38, 0x00, 0x8a, + 0xc0, 0x07, 0x04, 0xd5, 0x00, 0x21, 0x01, 0x20, + 0x62, 0x68, 0xf9, 0xf7, 0xc9, 0xfa, 0x01, 0x20, + 0xe0, 0x60, 0x01, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0xf4, 0x6e, 0x01, 0x00, 0x8c, 0xb5, 0x02, 0x1c, + 0x3c, 0x00, 0xc0, 0x02, 0x01, 0x00, 0x08, 0x1c, + 0x11, 0x1c, 0xfd, 0xf7, 0x28, 0xff, 0x01, 0x90, + 0x00, 0x28, 0x05, 0xd0, 0x17, 0x20, 0x00, 0xab, + 0x18, 0x80, 0x68, 0x46, 0xfd, 0xf7, 0xff, 0xf8, + 0x8c, 0xbd, 0xf1, 0xb5, 0x2e, 0x4c, 0xae, 0xb0, + 0x00, 0x25, 0x25, 0x63, 0x20, 0x69, 0x01, 0x28, + 0x03, 0xd1, 0x01, 0xa8, 0x01, 0xf0, 0xa1, 0xf8, + 0x4e, 0xe0, 0x01, 0x26, 0x28, 0x4f, 0x26, 0x70, + 0x50, 0x3f, 0x3c, 0x00, 0xfc, 0x02, 0x01, 0x00, + 0xb8, 0x69, 0xf8, 0xf7, 0x4f, 0xf8, 0x25, 0x49, + 0x2c, 0x39, 0x00, 0x28, 0x1d, 0xd0, 0xe0, 0x6a, + 0x01, 0x28, 0x1a, 0xd1, 0x08, 0x8a, 0x0f, 0x1c, + 0x80, 0x07, 0x04, 0xd5, 0x00, 0x21, 0x02, 0x20, + 0x62, 0x68, 0xf9, 0xf7, 0x8f, 0xfa, 0x38, 0x8a, + 0x00, 0x07, 0x07, 0xd5, 0xe0, 0x68, 0x01, 0x28, + 0x04, 0xd1, 0x00, 0x21, 0x08, 0x20, 0x62, 0x68, + 0xf9, 0xf7, 0x84, 0xfa, 0x3c, 0x00, 0x38, 0x03, + 0x01, 0x00, 0x00, 0x22, 0x18, 0x21, 0x82, 0x20, + 0x26, 0x63, 0x03, 0xf0, 0x36, 0xfa, 0x25, 0xe0, + 0x08, 0x8a, 0x0e, 0x1c, 0x80, 0x07, 0x04, 0xd5, + 0x00, 0x21, 0x02, 0x20, 0x62, 0x68, 0xf9, 0xf7, + 0x74, 0xfa, 0x30, 0x8a, 0x00, 0x07, 0x07, 0xd5, + 0xe0, 0x68, 0x01, 0x28, 0x04, 0xd1, 0x00, 0x21, + 0x08, 0x20, 0x62, 0x68, 0xf9, 0xf7, 0x69, 0xfa, + 0x30, 0x8a, 0x40, 0x07, 0x04, 0xd5, 0x3c, 0x00, + 0x74, 0x03, 0x01, 0x00, 0x00, 0x22, 0x00, 0x21, + 0x04, 0x20, 0xf9, 0xf7, 0x61, 0xfa, 0x2e, 0x98, + 0x01, 0x28, 0x04, 0xd0, 0x1e, 0x95, 0x09, 0x21, + 0x1b, 0xa8, 0xff, 0xf7, 0x97, 0xff, 0xe5, 0x62, + 0xbd, 0x61, 0xe5, 0x60, 0x2f, 0xb0, 0xf0, 0xbd, + 0xf4, 0x6e, 0x01, 0x00, 0x80, 0xb5, 0x07, 0x20, + 0xfe, 0xf7, 0xa0, 0xfe, 0x00, 0x21, 0x0f, 0x20, + 0x03, 0xf0, 0x44, 0xf9, 0x0c, 0x48, 0x01, 0x78, + 0x3c, 0x00, 0xb0, 0x03, 0x01, 0x00, 0x00, 0x29, + 0x0f, 0xd0, 0x02, 0x21, 0x01, 0x70, 0x88, 0x38, + 0x00, 0x78, 0x00, 0x28, 0x04, 0xd0, 0x07, 0x49, + 0x10, 0x31, 0x48, 0x7c, 0x01, 0x30, 0x48, 0x74, + 0xf2, 0x22, 0x0f, 0x20, 0x05, 0x49, 0x03, 0xf0, + 0xfc, 0xf8, 0x00, 0x22, 0x0f, 0x21, 0xf3, 0x20, + 0x03, 0xf0, 0xe9, 0xf9, 0x80, 0xbd, 0x74, 0x66, + 0x01, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x3c, 0x00, 0xec, 0x03, 0x01, 0x00, + 0xf2, 0x21, 0x0f, 0x20, 0x03, 0xf0, 0x20, 0xf9, + 0x01, 0x2c, 0x0a, 0xd1, 0x08, 0x48, 0x08, 0x49, + 0x00, 0x68, 0x14, 0x39, 0x00, 0x28, 0x05, 0xd0, + 0xc8, 0x78, 0x02, 0x28, 0x02, 0xd1, 0xf7, 0xf7, + 0xaf, 0xfa, 0x10, 0xbd, 0x00, 0x20, 0x48, 0x70, + 0x05, 0x20, 0xfe, 0xf7, 0x65, 0xfe, 0x10, 0xbd, + 0x98, 0x66, 0x01, 0x00, 0xf8, 0xb5, 0x28, 0x4e, + 0x30, 0x21, 0x35, 0x1c, 0x3c, 0x00, 0x28, 0x04, + 0x01, 0x00, 0x60, 0x35, 0x28, 0x89, 0x89, 0x5d, + 0x88, 0x42, 0x03, 0xd1, 0x00, 0x20, 0xff, 0xf7, + 0xf6, 0xfe, 0xf8, 0xbd, 0x34, 0x1c, 0x70, 0x34, + 0x01, 0x21, 0x21, 0x70, 0x41, 0x18, 0x80, 0x19, + 0x30, 0x30, 0x29, 0x81, 0x40, 0x78, 0x1d, 0x4f, + 0x18, 0x3f, 0x38, 0x70, 0x00, 0x28, 0x08, 0xd0, + 0x00, 0x21, 0xfb, 0xf7, 0xc2, 0xf9, 0x00, 0x28, + 0x07, 0xd1, 0x20, 0x78, 0xff, 0xf7, 0x3c, 0x00, + 0x64, 0x04, 0x01, 0x00, 0x9b, 0xff, 0xe7, 0xe7, + 0x01, 0x21, 0x0f, 0x20, 0xf0, 0xf7, 0x1a, 0xff, + 0x14, 0x48, 0x01, 0x21, 0x80, 0x30, 0x81, 0x70, + 0x38, 0x69, 0xfb, 0xf7, 0x55, 0xfa, 0x20, 0x73, + 0x00, 0x21, 0x0f, 0x20, 0x03, 0xf0, 0xd6, 0xf8, + 0x70, 0x7a, 0x01, 0x28, 0x0e, 0xd1, 0x0e, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x04, 0xd0, 0x38, 0x78, + 0x02, 0xf0, 0xda, 0xfa, 0x00, 0x28, 0x05, 0xd0, + 0x3c, 0x00, 0xa0, 0x04, 0x01, 0x00, 0x30, 0x7f, + 0x60, 0x73, 0x03, 0x20, 0x20, 0x70, 0x71, 0x89, + 0x05, 0xe0, 0x05, 0x20, 0x20, 0x70, 0xa8, 0x88, + 0xfa, 0xf7, 0x3b, 0xfb, 0x01, 0x1c, 0x00, 0x22, + 0x0f, 0x20, 0x03, 0xf0, 0x86, 0xf8, 0xba, 0xe7, + 0x00, 0x00, 0x04, 0x66, 0x01, 0x00, 0xe4, 0x62, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0x02, 0xf0, + 0x6c, 0xfc, 0x36, 0x4b, 0x19, 0x1c, 0xa0, 0x31, + 0x0a, 0x78, 0x3c, 0x00, 0xdc, 0x04, 0x01, 0x00, + 0x10, 0x2a, 0x02, 0xd2, 0x0a, 0x79, 0x10, 0x2a, + 0x01, 0xd3, 0x01, 0x25, 0x00, 0xe0, 0x00, 0x25, + 0x30, 0x4e, 0xca, 0x79, 0x80, 0x36, 0x01, 0x2c, + 0x12, 0xd0, 0x00, 0x25, 0x02, 0x2c, 0x2e, 0xd0, + 0x04, 0x2c, 0x3c, 0xd1, 0x5c, 0x6b, 0x00, 0x2c, + 0x39, 0xd1, 0x9c, 0x6f, 0x00, 0x1b, 0x2a, 0x4c, + 0xa0, 0x42, 0x34, 0xd9, 0xb2, 0x68, 0x98, 0x6a, + 0x82, 0x42, 0x31, 0xd0, 0x3c, 0x00, 0x18, 0x05, + 0x01, 0x00, 0x4d, 0x72, 0x34, 0xe0, 0xb0, 0x68, + 0x9c, 0x6a, 0x02, 0x22, 0xa0, 0x42, 0x21, 0xd1, + 0x58, 0x6b, 0x00, 0x28, 0x1e, 0xd1, 0x00, 0x2d, + 0x1c, 0xd1, 0x48, 0x7a, 0x19, 0x28, 0x20, 0xd0, + 0x34, 0x68, 0x98, 0x6f, 0x64, 0x00, 0x00, 0x1b, + 0x74, 0x68, 0x00, 0x19, 0xff, 0x30, 0x1c, 0x4c, + 0x39, 0x30, 0xa0, 0x42, 0x16, 0xd2, 0x48, 0x79, + 0x8c, 0x79, 0x00, 0x19, 0x30, 0x28, 0x3c, 0x00, + 0x54, 0x05, 0x01, 0x00, 0x11, 0xd3, 0x10, 0x22, + 0x0f, 0xe0, 0x5c, 0x6b, 0x01, 0x2c, 0x06, 0xd1, + 0xb0, 0x68, 0x9a, 0x6a, 0x90, 0x42, 0x00, 0xd1, + 0x4d, 0x72, 0x00, 0x22, 0x05, 0xe0, 0x9c, 0x6f, + 0x00, 0x1b, 0x12, 0x4c, 0xa0, 0x42, 0x00, 0xd3, + 0x20, 0x22, 0x06, 0xe0, 0x4a, 0x7a, 0x19, 0x2a, + 0x01, 0xd2, 0x01, 0x32, 0x4a, 0x72, 0x20, 0x22, + 0xb0, 0x60, 0x30, 0x68, 0x9b, 0x6f, 0x98, 0x42, + 0x3c, 0x00, 0x90, 0x05, 0x01, 0x00, 0x04, 0xd1, + 0x00, 0x2a, 0x00, 0xd1, 0x48, 0x79, 0x4a, 0x71, + 0x06, 0xe0, 0x10, 0x2a, 0x04, 0xd3, 0x70, 0x60, + 0x33, 0x60, 0x48, 0x79, 0x88, 0x71, 0xf6, 0xe7, + 0xca, 0x71, 0x70, 0xbd, 0x00, 0x00, 0xa4, 0x6c, + 0x01, 0x00, 0xa3, 0x04, 0x00, 0x00, 0x71, 0x02, + 0x00, 0x00, 0x35, 0x0c, 0x00, 0x00, 0x05, 0x48, + 0x80, 0xb5, 0x81, 0x7b, 0x00, 0x29, 0x05, 0xd0, + 0x00, 0x21, 0x3c, 0x00, 0xcc, 0x05, 0x01, 0x00, + 0x81, 0x73, 0x03, 0x49, 0x0f, 0x20, 0x01, 0xf0, + 0x0f, 0xff, 0x80, 0xbd, 0x74, 0x66, 0x01, 0x00, + 0xe9, 0x03, 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, + 0x02, 0xf0, 0xe2, 0xfb, 0x05, 0x1c, 0x38, 0x4e, + 0x20, 0x1c, 0x37, 0x49, 0x34, 0x1c, 0xa0, 0x34, + 0x10, 0x22, 0x44, 0x39, 0x01, 0x28, 0x2c, 0xd0, + 0x04, 0x28, 0x4e, 0xd1, 0x37, 0x1c, 0x74, 0x36, + 0x09, 0xce, 0x26, 0x78, 0x3c, 0x00, 0x08, 0x06, + 0x01, 0x00, 0xc0, 0x1a, 0x20, 0x2e, 0x04, 0xd1, + 0x30, 0x4e, 0xb0, 0x42, 0x01, 0xd9, 0x00, 0x26, + 0x4e, 0x61, 0x3e, 0x1c, 0x3f, 0x6c, 0x00, 0x2f, + 0x48, 0xd1, 0x77, 0x6c, 0x00, 0x2f, 0x45, 0xd1, + 0xb7, 0x6a, 0x00, 0x2f, 0x3d, 0xd0, 0x77, 0x6b, + 0x00, 0x2f, 0x3a, 0xd0, 0x27, 0x4f, 0xb8, 0x42, + 0x37, 0xd2, 0x60, 0x78, 0x10, 0x28, 0x06, 0xd3, + 0xf0, 0x6f, 0x18, 0x1a, 0x24, 0x4b, 0x3c, 0x00, + 0x44, 0x06, 0x01, 0x00, 0x98, 0x42, 0x01, 0xd2, + 0xe2, 0x70, 0xf5, 0x66, 0x48, 0x69, 0x06, 0x28, + 0x2f, 0xd2, 0x01, 0x30, 0x2c, 0xe0, 0x20, 0x78, + 0x20, 0x28, 0x01, 0xd1, 0x06, 0x23, 0x4b, 0x61, + 0x02, 0x23, 0x23, 0x71, 0xb3, 0x6a, 0x00, 0x2b, + 0x19, 0xd0, 0x49, 0x69, 0x03, 0x29, 0x16, 0xd9, + 0x71, 0x6b, 0x73, 0x6d, 0x59, 0x40, 0x12, 0xd0, + 0xe1, 0x78, 0x10, 0x29, 0x10, 0xd3, 0x61, 0x78, + 0x3c, 0x00, 0x80, 0x06, 0x01, 0x00, 0x33, 0x1c, + 0x10, 0x29, 0x0c, 0xd3, 0xd9, 0x6f, 0x69, 0x1a, + 0x13, 0x4d, 0xa9, 0x42, 0x07, 0xd2, 0x58, 0x6c, + 0x00, 0x28, 0x02, 0xd0, 0x98, 0x6c, 0x00, 0x28, + 0x00, 0xd1, 0x22, 0x71, 0xf8, 0xbd, 0x02, 0x28, + 0xfc, 0xd1, 0x22, 0x70, 0xfa, 0xe7, 0x48, 0x69, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x38, 0x48, 0x61, + 0x0a, 0x49, 0xf0, 0x6e, 0x40, 0x18, 0x02, 0xf0, + 0xb0, 0xfa, 0x3c, 0x00, 0xbc, 0x06, 0x01, 0x00, + 0x00, 0x28, 0xee, 0xd0, 0x01, 0x20, 0xe0, 0x70, + 0x06, 0x48, 0x28, 0x18, 0xf0, 0x66, 0xe8, 0xe7, + 0xa4, 0x6c, 0x01, 0x00, 0xe2, 0x04, 0x00, 0x00, + 0x1a, 0x06, 0x00, 0x00, 0x53, 0x07, 0x00, 0x00, + 0x00, 0x2d, 0x31, 0x01, 0x00, 0x5a, 0x62, 0x02, + 0x80, 0xb5, 0x41, 0x68, 0x09, 0x79, 0xc9, 0x07, + 0x13, 0xd5, 0xc1, 0x69, 0x00, 0x29, 0x0d, 0xd0, + 0x89, 0x79, 0x02, 0x29, 0x3c, 0x00, 0xf8, 0x06, + 0x01, 0x00, 0x0a, 0xd1, 0x08, 0x21, 0x01, 0x86, + 0x01, 0x1c, 0x38, 0x31, 0x81, 0x62, 0x02, 0x1c, + 0x06, 0x48, 0x04, 0x49, 0xf9, 0xf7, 0xfd, 0xfc, + 0x80, 0xbd, 0xf7, 0xf7, 0xdc, 0xfb, 0x80, 0xbd, + 0xf7, 0xf7, 0x23, 0xfb, 0x80, 0xbd, 0xb9, 0x71, + 0x00, 0x00, 0xa0, 0x6a, 0x01, 0x00, 0x10, 0xb5, + 0x00, 0x24, 0x00, 0x28, 0x03, 0xd0, 0x02, 0xf0, + 0xe8, 0xfe, 0x00, 0x28, 0x17, 0xd0, 0x3c, 0x00, + 0x34, 0x07, 0x01, 0x00, 0x0c, 0x4c, 0x01, 0x20, + 0xa0, 0x72, 0x20, 0x68, 0x00, 0x21, 0x41, 0x62, + 0x0a, 0x49, 0x02, 0x68, 0xc9, 0x78, 0x60, 0x32, + 0x91, 0x71, 0x21, 0x89, 0x01, 0x31, 0x21, 0x81, + 0x00, 0x68, 0x40, 0x30, 0x81, 0x83, 0xfb, 0xf7, + 0x31, 0xfc, 0x20, 0x68, 0x00, 0x68, 0xfc, 0xf7, + 0xa1, 0xf9, 0x01, 0x24, 0x20, 0x1c, 0x10, 0xbd, + 0x14, 0x7a, 0x01, 0x00, 0x0e, 0x61, 0x01, 0x00, + 0x3c, 0x00, 0x70, 0x07, 0x01, 0x00, 0x7f, 0xb5, + 0x06, 0x1c, 0x1e, 0x48, 0x1d, 0x1c, 0x43, 0x88, + 0x02, 0x88, 0x1c, 0x21, 0x00, 0x20, 0x90, 0xb0, + 0xf0, 0xf7, 0x45, 0xff, 0x03, 0x90, 0x04, 0x68, + 0xff, 0x21, 0x01, 0x31, 0x21, 0x80, 0x08, 0x20, + 0x60, 0x80, 0x06, 0x20, 0x20, 0x71, 0x04, 0x20, + 0x60, 0x71, 0xc0, 0x01, 0x00, 0x2d, 0x00, 0xd1, + 0x08, 0x1c, 0xe0, 0x80, 0x01, 0xa8, 0x02, 0x30, + 0x31, 0x1c, 0x3c, 0x00, 0xac, 0x07, 0x01, 0x00, + 0x05, 0x1c, 0xfa, 0xf7, 0x5f, 0xfa, 0x10, 0x49, + 0x68, 0x46, 0xfa, 0xf7, 0x5b, 0xfa, 0x20, 0x1c, + 0x08, 0x30, 0x69, 0x46, 0xfa, 0xf7, 0x56, 0xfa, + 0x29, 0x1c, 0x20, 0x1c, 0x12, 0x30, 0xfa, 0xf7, + 0x51, 0xfa, 0x10, 0xab, 0x98, 0x88, 0x00, 0x22, + 0x01, 0x21, 0x20, 0x83, 0xd8, 0x88, 0x60, 0x83, + 0x18, 0x89, 0xe0, 0x81, 0x58, 0x89, 0x20, 0x82, + 0x68, 0x46, 0xf9, 0xf7, 0x3c, 0x00, 0xe8, 0x07, + 0x01, 0x00, 0x17, 0xff, 0x14, 0xb0, 0x70, 0xbd, + 0x00, 0x00, 0x14, 0x6e, 0x01, 0x00, 0x12, 0x61, + 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x18, 0x48, + 0x25, 0x1c, 0x00, 0x78, 0x60, 0x35, 0x80, 0x07, + 0x00, 0x28, 0x08, 0xda, 0xe8, 0x79, 0x00, 0x28, + 0x05, 0xd0, 0xf4, 0xf7, 0x70, 0xff, 0x01, 0x1c, + 0x20, 0x1c, 0x00, 0xf0, 0x78, 0xf9, 0x29, 0x88, + 0x2e, 0x20, 0x00, 0x5d, 0xf2, 0xf7, 0x3c, 0x00, + 0x24, 0x08, 0x01, 0x00, 0x9f, 0xfa, 0xe8, 0x79, + 0x00, 0x28, 0x0b, 0xd1, 0x20, 0x1c, 0x40, 0x30, + 0x01, 0x8b, 0x22, 0x69, 0x11, 0x80, 0x41, 0x8b, + 0x22, 0x69, 0x51, 0x80, 0x80, 0x8b, 0x21, 0x69, + 0xc8, 0x82, 0x07, 0xe0, 0x01, 0x28, 0x05, 0xd1, + 0x20, 0x69, 0x01, 0x22, 0x01, 0x88, 0xd2, 0x02, + 0x11, 0x43, 0x01, 0x80, 0x6a, 0x7a, 0xe0, 0x68, + 0x02, 0x49, 0xf2, 0xf7, 0x53, 0xfa, 0xb0, 0xbd, + 0x3c, 0x00, 0x60, 0x08, 0x01, 0x00, 0x1d, 0x75, + 0x01, 0x00, 0xd1, 0x4f, 0x00, 0x00, 0x90, 0xb5, + 0x04, 0x1c, 0x38, 0x23, 0x0c, 0x49, 0x58, 0x43, + 0x43, 0x18, 0x85, 0xb0, 0x00, 0x20, 0x0a, 0x49, + 0x02, 0x90, 0x18, 0x1c, 0x01, 0x22, 0x03, 0x91, + 0x09, 0x49, 0x04, 0x92, 0x30, 0x30, 0x42, 0x78, + 0x09, 0x88, 0x01, 0x92, 0x00, 0x91, 0x01, 0x78, + 0x5a, 0x6b, 0x0c, 0x33, 0x20, 0x1c, 0xfb, 0xf7, + 0x7c, 0xf8, 0x3c, 0x00, 0x9c, 0x08, 0x01, 0x00, + 0x05, 0xb0, 0x90, 0xbd, 0xd4, 0xe4, 0x01, 0x00, + 0x5d, 0x4e, 0x00, 0x00, 0x48, 0x7b, 0x01, 0x00, + 0x90, 0xb5, 0x85, 0xb0, 0x03, 0x1c, 0x00, 0x20, + 0x02, 0x90, 0x0a, 0x49, 0x18, 0x1c, 0x00, 0x22, + 0x04, 0x92, 0x60, 0x30, 0x03, 0x91, 0xc2, 0x79, + 0x01, 0x88, 0x01, 0x92, 0x00, 0x91, 0x5a, 0x6a, + 0xdc, 0x68, 0x20, 0x33, 0x99, 0x7b, 0x40, 0x7a, + 0x23, 0x1c, 0xfb, 0xf7, 0x3c, 0x00, 0xd8, 0x08, + 0x01, 0x00, 0x5d, 0xf8, 0x05, 0xb0, 0x90, 0xbd, + 0x00, 0x00, 0x0d, 0x4f, 0x00, 0x00, 0x07, 0x49, + 0x80, 0xb5, 0x88, 0x6a, 0x00, 0x28, 0x08, 0xd1, + 0x01, 0x20, 0x88, 0x62, 0xf0, 0xf7, 0xaf, 0xfc, + 0x01, 0x1c, 0x03, 0x48, 0x00, 0x22, 0xf2, 0xf7, + 0xb8, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x41, 0xe4, 0x00, 0x00, 0xf0, 0xb5, + 0x9b, 0xb0, 0x00, 0x28, 0x20, 0xd0, 0x3c, 0x00, + 0x14, 0x09, 0x01, 0x00, 0x01, 0x1c, 0x08, 0xa8, + 0xfc, 0xf7, 0xb2, 0xfd, 0x01, 0x20, 0x11, 0x90, + 0x03, 0x20, 0x10, 0xad, 0x28, 0x72, 0x04, 0x20, + 0x68, 0x72, 0x05, 0xa8, 0x00, 0x22, 0x69, 0x46, + 0xf4, 0xf7, 0x00, 0xff, 0x00, 0x24, 0x00, 0x26, + 0x05, 0xa9, 0x00, 0x20, 0xf9, 0xf7, 0xfc, 0xfa, + 0x69, 0x46, 0xf9, 0xf7, 0xf9, 0xfa, 0x0b, 0x90, + 0x08, 0xa8, 0xfc, 0xf7, 0xbb, 0xfd, 0x01, 0x34, + 0x3c, 0x00, 0x50, 0x09, 0x01, 0x00, 0x02, 0x2c, + 0x2e, 0x72, 0xf0, 0xdb, 0x1b, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0x90, 0xb5, 0x04, 0x1c, 0x4c, 0x23, + 0x0c, 0x49, 0x58, 0x43, 0x43, 0x18, 0x85, 0xb0, + 0x00, 0x20, 0x0a, 0x49, 0x02, 0x90, 0x00, 0x22, + 0x04, 0x92, 0x3c, 0x20, 0x03, 0x91, 0xc2, 0x5c, + 0x08, 0x48, 0x41, 0x88, 0x01, 0x92, 0x41, 0x20, + 0x00, 0x91, 0xc1, 0x5c, 0x5a, 0x68, 0x08, 0x33, + 0x20, 0x1c, 0x3c, 0x00, 0x8c, 0x09, 0x01, 0x00, + 0xfb, 0xf7, 0x02, 0xf8, 0x05, 0xb0, 0x90, 0xbd, + 0x58, 0xe3, 0x01, 0x00, 0x75, 0x4f, 0x00, 0x00, + 0x3c, 0x7c, 0x01, 0x00, 0xf8, 0xb5, 0x0e, 0x1c, + 0x22, 0x4c, 0x38, 0x21, 0x17, 0x1c, 0x05, 0x1c, + 0x20, 0x1c, 0xef, 0xf7, 0x75, 0xfd, 0x23, 0x1c, + 0x25, 0x33, 0x21, 0x1c, 0x24, 0x31, 0x10, 0x20, + 0x6a, 0x46, 0xf9, 0xf7, 0x1d, 0xf8, 0x00, 0xab, + 0x18, 0x88, 0x07, 0x21, 0x3c, 0x00, 0xc8, 0x09, + 0x01, 0x00, 0x1a, 0x4a, 0x02, 0x38, 0x20, 0x84, + 0x20, 0x1c, 0x20, 0x30, 0x81, 0x70, 0xc5, 0x70, + 0x11, 0x1c, 0x06, 0x73, 0x47, 0x73, 0x34, 0x31, + 0x21, 0x63, 0x30, 0x32, 0x62, 0x63, 0x01, 0x79, + 0x25, 0x1c, 0x10, 0x35, 0x21, 0x81, 0x20, 0x60, + 0xe5, 0x60, 0x18, 0x88, 0x40, 0x1a, 0x20, 0x83, + 0x20, 0x1c, 0x28, 0x30, 0x20, 0x61, 0x20, 0x1c, + 0xf9, 0xf7, 0x11, 0xf8, 0x0d, 0x48, 0x3c, 0x00, + 0x04, 0x0a, 0x01, 0x00, 0x00, 0x68, 0x00, 0x28, + 0x07, 0xd0, 0x06, 0x21, 0x20, 0x1c, 0xf8, 0xf7, + 0x47, 0xfd, 0x10, 0x21, 0x28, 0x1c, 0xf8, 0xf7, + 0x43, 0xfd, 0x08, 0x48, 0x02, 0x21, 0x01, 0x62, + 0x44, 0x62, 0x01, 0x21, 0x01, 0x62, 0x06, 0x48, + 0x00, 0x68, 0xef, 0xf7, 0xd5, 0xfc, 0xf8, 0xbd, + 0x8c, 0x8e, 0x01, 0x00, 0xe4, 0xfe, 0x01, 0x00, + 0xcc, 0x5c, 0x01, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x3c, 0x00, 0x40, 0x0a, 0x01, 0x00, 0x5c, 0x5b, + 0x01, 0x00, 0xf0, 0xb5, 0x06, 0x1c, 0x40, 0x36, + 0x31, 0x8b, 0x04, 0x1c, 0x25, 0x1c, 0x08, 0x07, + 0x80, 0x0f, 0x60, 0x35, 0x01, 0x28, 0x85, 0xb0, + 0x3b, 0xd0, 0xe8, 0x79, 0x00, 0x28, 0x05, 0xd1, + 0x20, 0x69, 0x01, 0x80, 0xb0, 0x8b, 0x21, 0x69, + 0xc8, 0x82, 0x07, 0xe0, 0x01, 0x28, 0x05, 0xd1, + 0x20, 0x69, 0x01, 0x22, 0x01, 0x88, 0xd2, 0x02, + 0x11, 0x43, 0x3c, 0x00, 0x7c, 0x0a, 0x01, 0x00, + 0x01, 0x80, 0x20, 0x48, 0x00, 0x78, 0x80, 0x07, + 0x26, 0xd5, 0xe8, 0x79, 0x00, 0x28, 0x23, 0xd0, + 0xa0, 0x6b, 0x00, 0x28, 0x1c, 0xd0, 0xf4, 0xf7, + 0x2f, 0xfe, 0x00, 0x28, 0x09, 0xd0, 0xb8, 0x21, + 0x09, 0x58, 0x00, 0x29, 0x05, 0xd0, 0x30, 0x21, + 0x09, 0x5d, 0xb4, 0x30, 0x08, 0x18, 0x07, 0x7a, + 0x00, 0xe0, 0x00, 0x27, 0x01, 0x21, 0x38, 0x1c, + 0xfa, 0xf7, 0x86, 0xf9, 0x3c, 0x00, 0xb8, 0x0a, + 0x01, 0x00, 0x04, 0x90, 0x20, 0x69, 0x04, 0x30, + 0x39, 0x1c, 0xf4, 0xf7, 0x6c, 0xfd, 0x04, 0x99, + 0xfa, 0xf7, 0xd3, 0xf9, 0x02, 0xe0, 0x20, 0x1c, + 0xf7, 0xf7, 0xf9, 0xfb, 0x70, 0x83, 0x70, 0x8b, + 0x21, 0x69, 0x00, 0x22, 0x48, 0x80, 0x09, 0x49, + 0x0a, 0x48, 0x04, 0x92, 0x03, 0x91, 0x02, 0x90, + 0xea, 0x79, 0x29, 0x88, 0x01, 0x92, 0x00, 0x91, + 0x62, 0x6a, 0xe3, 0x68, 0x20, 0x34, 0x3c, 0x00, + 0xf4, 0x0a, 0x01, 0x00, 0xa1, 0x7b, 0x68, 0x7a, + 0xfa, 0xf7, 0x4c, 0xff, 0x05, 0xb0, 0xf0, 0xbd, + 0x1d, 0x75, 0x01, 0x00, 0xd1, 0x4f, 0x00, 0x00, + 0xdd, 0x2f, 0x01, 0x00, 0xfe, 0xb5, 0x04, 0x1c, + 0x26, 0x1c, 0x01, 0x20, 0x20, 0x36, 0x00, 0x29, + 0x02, 0x90, 0x2e, 0xd0, 0x58, 0x20, 0x00, 0x5b, + 0x00, 0x07, 0x80, 0x0f, 0x01, 0x28, 0x01, 0xd1, + 0xcc, 0x31, 0x00, 0xe0, 0xb4, 0x31, 0x48, 0x68, + 0x3c, 0x00, 0x30, 0x0b, 0x01, 0x00, 0x0d, 0x1c, + 0x00, 0x28, 0x24, 0xd0, 0x20, 0x1c, 0x60, 0x30, + 0xc2, 0x79, 0x01, 0x21, 0x01, 0x2a, 0x00, 0xd0, + 0x00, 0x21, 0x27, 0x1c, 0x62, 0x6d, 0x30, 0x37, + 0x00, 0x2a, 0x04, 0xd0, 0x3a, 0x1c, 0x28, 0x1c, + 0xf6, 0xf7, 0xe7, 0xfd, 0x07, 0xe0, 0x42, 0x7a, + 0x23, 0x1c, 0x68, 0x33, 0x00, 0x92, 0x3a, 0x1c, + 0x28, 0x1c, 0xf6, 0xf7, 0x9a, 0xfd, 0x02, 0x90, + 0x38, 0x78, 0x3c, 0x00, 0x6c, 0x0b, 0x01, 0x00, + 0x40, 0x19, 0x00, 0x7a, 0x01, 0x21, 0xb0, 0x73, + 0xfa, 0xf7, 0x26, 0xf9, 0x01, 0xe0, 0x00, 0x20, + 0xb0, 0x73, 0x60, 0x62, 0xb0, 0x7b, 0x0d, 0x28, + 0x01, 0xd9, 0xf0, 0xf7, 0xbb, 0xfb, 0x02, 0x98, + 0xfe, 0xbd, 0x00, 0x00, 0xff, 0xb5, 0x04, 0x1c, + 0x80, 0x30, 0x25, 0x1c, 0x5e, 0x35, 0x00, 0x78, + 0xae, 0x1d, 0xaf, 0x1f, 0x00, 0x28, 0x83, 0xb0, + 0x12, 0xd1, 0xf4, 0xf7, 0x3c, 0x00, 0xa8, 0x0b, + 0x01, 0x00, 0xc7, 0xfb, 0x00, 0x28, 0x07, 0xd0, + 0x06, 0x98, 0x05, 0x99, 0x02, 0x90, 0x04, 0x98, + 0x01, 0x90, 0xa6, 0x61, 0x67, 0x61, 0x0d, 0xe0, + 0x04, 0x98, 0x06, 0x99, 0x02, 0x90, 0x05, 0x98, + 0x01, 0x90, 0x66, 0x61, 0x05, 0xe0, 0x04, 0xa9, + 0x03, 0xc9, 0x02, 0x90, 0x06, 0x98, 0x01, 0x90, + 0x67, 0x61, 0xa5, 0x61, 0x06, 0x22, 0x38, 0x1c, + 0xef, 0xf7, 0x8b, 0xfc, 0x06, 0x22, 0x3c, 0x00, + 0xe4, 0x0b, 0x01, 0x00, 0x28, 0x1c, 0x02, 0x99, + 0xef, 0xf7, 0x86, 0xfc, 0x06, 0x22, 0x30, 0x1c, + 0x01, 0x99, 0xef, 0xf7, 0x81, 0xfc, 0x07, 0xb0, + 0xf0, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x05, 0x28, 0x01, 0xd3, 0xf0, 0xf7, + 0x7b, 0xfb, 0x02, 0x49, 0xa0, 0x00, 0x08, 0x58, + 0x85, 0x60, 0xb0, 0xbd, 0x10, 0x7b, 0x01, 0x00, + 0xf8, 0xb5, 0xff, 0xf7, 0x59, 0xf9, 0x05, 0x1c, + 0x3c, 0x00, 0x20, 0x0c, 0x01, 0x00, 0xfe, 0xf7, + 0xe8, 0xff, 0x04, 0x1c, 0x28, 0x1c, 0xff, 0xf7, + 0x58, 0xf9, 0x00, 0x28, 0x42, 0xd0, 0x69, 0x1e, + 0x21, 0x4d, 0x4a, 0x00, 0x20, 0x4b, 0x1c, 0x3d, + 0xae, 0x5c, 0x98, 0x5c, 0x30, 0x40, 0xd6, 0x18, + 0x01, 0x23, 0xf6, 0x56, 0x52, 0x19, 0xd2, 0x56, + 0x96, 0x42, 0x01, 0xdd, 0x15, 0x1c, 0x00, 0xe0, + 0x35, 0x1c, 0x18, 0x4b, 0x2a, 0x3b, 0x59, 0x56, + 0x51, 0x18, 0x3c, 0x00, 0x5c, 0x0c, 0x01, 0x00, + 0xb1, 0x42, 0x00, 0xdb, 0x31, 0x1c, 0x0e, 0x1c, + 0x00, 0x28, 0x26, 0xd0, 0xfe, 0xf7, 0xbe, 0xff, + 0x00, 0x90, 0x00, 0xab, 0x18, 0x78, 0x12, 0x49, + 0x00, 0x23, 0xc9, 0x56, 0x00, 0xab, 0x15, 0x22, + 0x10, 0x1a, 0x5b, 0x78, 0x00, 0x1b, 0x40, 0x18, + 0xd2, 0x1a, 0x12, 0x1b, 0x51, 0x18, 0x00, 0x22, + 0x85, 0x42, 0x02, 0xdb, 0x00, 0xab, 0x1a, 0x70, + 0x02, 0xe0, 0x40, 0x1b, 0x3c, 0x00, 0x98, 0x0c, + 0x01, 0x00, 0x00, 0xab, 0x18, 0x70, 0x8e, 0x42, + 0x02, 0xdb, 0x00, 0xab, 0x5a, 0x70, 0x02, 0xe0, + 0x88, 0x1b, 0x00, 0xab, 0x58, 0x70, 0x00, 0x98, + 0xff, 0xf7, 0x8d, 0xf8, 0x01, 0xf0, 0xff, 0xf8, + 0xf8, 0xbd, 0xe6, 0x78, 0x01, 0x00, 0x65, 0x73, + 0x01, 0x00, 0x70, 0xb5, 0x08, 0x4e, 0x06, 0x4d, + 0x00, 0x24, 0x06, 0x20, 0x60, 0x43, 0x80, 0x19, + 0x06, 0x22, 0x29, 0x1c, 0xef, 0xf7, 0x3c, 0x00, + 0xd4, 0x0c, 0x01, 0x00, 0x11, 0xfc, 0x01, 0x34, + 0x05, 0x2c, 0xf5, 0xdb, 0x70, 0xbd, 0x00, 0x00, + 0x4e, 0x47, 0x01, 0x00, 0xe6, 0x7a, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0x01, 0x68, 0x03, 0x48, + 0xfe, 0xf7, 0x42, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0xa8, 0x79, 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0x01, 0x68, 0x03, 0x48, + 0xfe, 0xf7, 0x4a, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x0d, 0x01, 0x00, 0xa8, 0x79, + 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, 0x10, 0xb5, + 0x00, 0x28, 0x0a, 0xd0, 0x06, 0x4c, 0xa1, 0x69, + 0x00, 0x29, 0x01, 0xd1, 0x00, 0x20, 0x00, 0xe0, + 0x09, 0x68, 0xf7, 0xf7, 0x38, 0xfb, 0xa0, 0x61, + 0x10, 0xbd, 0x00, 0x20, 0x10, 0xbd, 0xa4, 0x6e, + 0x01, 0x00, 0xf3, 0xb5, 0x37, 0x48, 0x83, 0xb0, + 0x02, 0x90, 0x80, 0x79, 0x0e, 0x1c, 0x00, 0x27, + 0x01, 0x90, 0x3c, 0x00, 0x4c, 0x0d, 0x01, 0x00, + 0x34, 0x48, 0x35, 0x4a, 0x01, 0x6a, 0x03, 0x9c, + 0x03, 0x1c, 0x1b, 0x69, 0xa1, 0x42, 0x01, 0xd0, + 0x93, 0x61, 0x00, 0xe0, 0x53, 0x61, 0x31, 0x49, + 0x8a, 0x68, 0x96, 0x42, 0x3f, 0xd0, 0x2d, 0x48, + 0x8e, 0x60, 0xc1, 0x68, 0x00, 0x24, 0x25, 0x1c, + 0x00, 0x29, 0x2d, 0x48, 0x09, 0xd0, 0x00, 0x2e, + 0x0b, 0xd0, 0x28, 0x48, 0x01, 0x24, 0xc0, 0x6a, + 0x24, 0x03, 0x00, 0x28, 0x3c, 0x00, 0x88, 0x0d, + 0x01, 0x00, 0x06, 0xd0, 0x01, 0x27, 0x04, 0xe0, + 0x00, 0x2e, 0x01, 0xd0, 0x05, 0x1c, 0xf9, 0xe7, + 0x04, 0x1c, 0x00, 0x2f, 0x06, 0xd0, 0xfb, 0xf7, + 0x1e, 0xfb, 0x1f, 0x48, 0x01, 0x68, 0x22, 0x48, + 0xfe, 0xf7, 0xfb, 0xfa, 0x20, 0x1c, 0x28, 0x43, + 0x0e, 0xd0, 0x2a, 0x1c, 0x21, 0x1c, 0x01, 0x20, + 0x02, 0xf0, 0x21, 0xfe, 0x2a, 0x1c, 0x21, 0x1c, + 0x02, 0x20, 0x02, 0xf0, 0x1c, 0xfe, 0x3c, 0x00, + 0xc4, 0x0d, 0x01, 0x00, 0x2a, 0x1c, 0x21, 0x1c, + 0x03, 0x20, 0x02, 0xf0, 0x17, 0xfe, 0x00, 0x2f, + 0x06, 0xd1, 0x13, 0x48, 0x01, 0x68, 0x16, 0x48, + 0xfe, 0xf7, 0xce, 0xfa, 0xfa, 0xf7, 0x42, 0xfd, + 0x03, 0x9c, 0x00, 0x2c, 0x01, 0xd1, 0x01, 0xf0, + 0xe1, 0xff, 0x01, 0xa9, 0x03, 0xc9, 0x88, 0x71, + 0x01, 0xf0, 0xdc, 0xff, 0x0a, 0x4c, 0x0a, 0x4b, + 0x44, 0x3c, 0xa1, 0x69, 0x22, 0x69, 0x08, 0x3b, + 0x3c, 0x00, 0x00, 0x0e, 0x01, 0x00, 0x41, 0x1a, + 0x00, 0x2a, 0x03, 0xd0, 0x1a, 0x68, 0x51, 0x18, + 0x19, 0x60, 0x02, 0xe0, 0x5a, 0x68, 0x51, 0x18, + 0x59, 0x60, 0xa0, 0x61, 0x26, 0x61, 0x05, 0xb0, + 0xf0, 0xbd, 0x20, 0x10, 0x07, 0x00, 0xa4, 0x6c, + 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, 0xb0, 0x57, + 0x01, 0x00, 0x00, 0x10, 0x60, 0x00, 0x84, 0x73, + 0x01, 0x00, 0x1c, 0xb5, 0x4c, 0x23, 0x08, 0x49, + 0x58, 0x43, 0x3c, 0x00, 0x3c, 0x0e, 0x01, 0x00, + 0x44, 0x18, 0x20, 0x1c, 0x40, 0x30, 0x41, 0x78, + 0x62, 0x68, 0x00, 0x91, 0x01, 0x92, 0x3f, 0x21, + 0x0b, 0x5d, 0x61, 0x8f, 0x00, 0x78, 0x62, 0x6c, + 0xfa, 0xf7, 0x28, 0xf8, 0xa0, 0x85, 0x1c, 0xbd, + 0x58, 0xe3, 0x01, 0x00, 0xb0, 0xb5, 0x16, 0x4d, + 0xa9, 0x69, 0x00, 0x29, 0x25, 0xd0, 0x2c, 0x1c, + 0x30, 0x34, 0x20, 0x7a, 0x00, 0x28, 0x20, 0xd0, + 0x00, 0x23, 0x81, 0x22, 0x3c, 0x00, 0x78, 0x0e, + 0x01, 0x00, 0x18, 0x20, 0x02, 0xf0, 0x89, 0xfc, + 0x20, 0x7a, 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, + 0x20, 0x72, 0x12, 0xd1, 0x0c, 0x48, 0x28, 0x21, + 0x2c, 0x38, 0x09, 0x5c, 0x21, 0x72, 0x29, 0x7a, + 0x00, 0x29, 0x01, 0xd1, 0x00, 0x6a, 0x00, 0xe0, + 0x40, 0x6a, 0xa9, 0x69, 0x80, 0x02, 0x81, 0x42, + 0x03, 0xd2, 0x49, 0x00, 0x81, 0x42, 0x01, 0xd2, + 0xa9, 0x61, 0xb0, 0xbd, 0xa8, 0x61, 0x3c, 0x00, + 0xb4, 0x0e, 0x01, 0x00, 0xb0, 0xbd, 0x01, 0xf0, + 0x1d, 0xf9, 0xb0, 0xbd, 0xf4, 0x6e, 0x01, 0x00, + 0x7f, 0xb5, 0x05, 0x1c, 0x04, 0x20, 0x6b, 0x46, + 0x1b, 0x18, 0x02, 0x90, 0x00, 0x26, 0x28, 0x18, + 0x6a, 0x46, 0x02, 0xa9, 0xfc, 0xf7, 0x8a, 0xfb, + 0x00, 0x28, 0x06, 0xd1, 0x00, 0xab, 0x18, 0x79, + 0x04, 0x28, 0x08, 0xd0, 0x18, 0x79, 0x03, 0x28, + 0x05, 0xd0, 0x00, 0xab, 0x18, 0x79, 0x10, 0x21, + 0x3c, 0x00, 0xf0, 0x0e, 0x01, 0x00, 0x08, 0x43, + 0x04, 0xb0, 0x70, 0xbd, 0x03, 0xa9, 0xe8, 0x68, + 0xf6, 0xf7, 0xd3, 0xff, 0x00, 0x28, 0x05, 0xd0, + 0x03, 0x98, 0x20, 0x21, 0x08, 0x43, 0x00, 0x06, + 0x00, 0x0e, 0xf1, 0xe7, 0x03, 0xa9, 0x00, 0x20, + 0xf6, 0xf7, 0xc7, 0xff, 0x04, 0x1c, 0x01, 0xd1, + 0x02, 0x20, 0xe9, 0xe7, 0xe8, 0x68, 0x00, 0xab, + 0x20, 0x60, 0x00, 0x98, 0x60, 0x60, 0x18, 0x79, + 0xa0, 0x76, 0x3c, 0x00, 0x2c, 0x0f, 0x01, 0x00, + 0xa8, 0x8c, 0x60, 0x76, 0xe8, 0x69, 0x20, 0x61, + 0x68, 0x8c, 0xa0, 0x82, 0x28, 0x8c, 0x20, 0x76, + 0x69, 0x69, 0x09, 0x48, 0x81, 0x42, 0x00, 0xd9, + 0x08, 0x1c, 0xa0, 0x60, 0x20, 0x1c, 0x02, 0xf0, + 0xa1, 0xfd, 0xa1, 0x68, 0x00, 0x29, 0x04, 0xd0, + 0x03, 0x9a, 0xa1, 0x32, 0x08, 0x20, 0x02, 0xf0, + 0x37, 0xfb, 0x30, 0x1c, 0xc7, 0xe7, 0x00, 0x00, + 0xa0, 0x86, 0x01, 0x00, 0x3c, 0x00, 0x68, 0x0f, + 0x01, 0x00, 0xfe, 0xb5, 0x06, 0x1c, 0x40, 0x78, + 0x01, 0x24, 0x06, 0x28, 0x50, 0xd3, 0xc1, 0x1e, + 0x03, 0x20, 0xef, 0xf7, 0x5e, 0xfb, 0x00, 0x90, + 0x0e, 0x28, 0x49, 0xd8, 0x00, 0x20, 0x0a, 0xe0, + 0x41, 0x00, 0x09, 0x18, 0x89, 0x19, 0x4a, 0x79, + 0x89, 0x79, 0x51, 0x18, 0x01, 0x39, 0x0e, 0x29, + 0x00, 0xd9, 0x00, 0x24, 0x01, 0x30, 0x00, 0x99, + 0x88, 0x42, 0xf1, 0xdb, 0x00, 0x2c, 0x3c, 0x00, + 0xa4, 0x0f, 0x01, 0x00, 0x37, 0xd0, 0x03, 0x22, + 0xb1, 0x1c, 0x1b, 0x48, 0xef, 0xf7, 0xa4, 0xfa, + 0x1a, 0x4c, 0x1c, 0x21, 0x20, 0x1c, 0xef, 0xf7, + 0x4d, 0xfa, 0x00, 0x25, 0x28, 0xe0, 0x69, 0x00, + 0x49, 0x19, 0x02, 0x91, 0x8a, 0x19, 0x53, 0x79, + 0x15, 0x48, 0x43, 0x54, 0x93, 0x79, 0x0f, 0x18, + 0x7b, 0x70, 0xd3, 0x79, 0xbb, 0x70, 0x07, 0x23, + 0xd2, 0x56, 0x01, 0x92, 0x44, 0x5c, 0x0f, 0xe0, + 0x3c, 0x00, 0xe0, 0x0f, 0x01, 0x00, 0x20, 0x1c, + 0xfe, 0xf7, 0x7b, 0xff, 0x00, 0x28, 0x07, 0xd0, + 0x0c, 0x4a, 0x60, 0x00, 0x80, 0x18, 0x01, 0x21, + 0x10, 0x38, 0x81, 0x73, 0x01, 0x99, 0xc1, 0x73, + 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, 0x07, 0x48, + 0x02, 0x99, 0x40, 0x5c, 0x79, 0x78, 0x40, 0x18, + 0xa0, 0x42, 0xe8, 0xd8, 0x01, 0x35, 0x00, 0x98, + 0x85, 0x42, 0xd3, 0xdb, 0xfe, 0xbd, 0xe8, 0x62, + 0x01, 0x00, 0x3c, 0x00, 0x1c, 0x10, 0x01, 0x00, + 0xe6, 0x78, 0x01, 0x00, 0xeb, 0x62, 0x01, 0x00, + 0x01, 0x68, 0x0f, 0x29, 0x01, 0xdd, 0x0f, 0x21, + 0x01, 0x60, 0x01, 0x68, 0x00, 0x29, 0x01, 0xda, + 0x00, 0x21, 0x01, 0x60, 0x70, 0x47, 0x00, 0x00, + 0xf8, 0xb5, 0x04, 0x1c, 0x1e, 0x48, 0x22, 0x1d, + 0x05, 0x68, 0x00, 0x92, 0x16, 0x1c, 0x23, 0x1c, + 0x0f, 0x1c, 0xcc, 0x33, 0x2a, 0x1c, 0x20, 0x1c, + 0x70, 0x30, 0xa1, 0x6d, 0x3c, 0x00, 0x58, 0x10, + 0x01, 0x00, 0x00, 0xf0, 0x3e, 0xf9, 0x00, 0x96, + 0xa1, 0x6d, 0x27, 0x20, 0x01, 0x40, 0x23, 0x1c, + 0xe4, 0x33, 0x20, 0x1c, 0x2a, 0x1c, 0x5c, 0x30, + 0x00, 0xf0, 0x33, 0xf9, 0x13, 0x48, 0x00, 0x78, + 0x0e, 0x28, 0x01, 0xd2, 0x01, 0x25, 0x85, 0x40, + 0x11, 0x48, 0xa1, 0x69, 0x00, 0x78, 0x29, 0x40, + 0x00, 0x07, 0x0b, 0xd4, 0x48, 0x07, 0x03, 0xd5, + 0x08, 0x07, 0x01, 0xd5, 0x04, 0x20, 0x3c, 0x00, + 0x94, 0x10, 0x01, 0x00, 0x81, 0x43, 0x88, 0x06, + 0x03, 0xd5, 0x48, 0x06, 0x01, 0xd5, 0x20, 0x20, + 0x81, 0x43, 0x23, 0x1c, 0xb4, 0x33, 0x2a, 0x1c, + 0x20, 0x1c, 0x30, 0x30, 0x00, 0x96, 0x00, 0xf0, + 0x13, 0xf9, 0x39, 0x1c, 0x20, 0x1c, 0xf0, 0xf7, + 0x47, 0xfc, 0xf8, 0xbd, 0x2c, 0x7d, 0x01, 0x00, + 0x10, 0x67, 0x01, 0x00, 0x1d, 0x75, 0x01, 0x00, + 0xb0, 0xb5, 0xf2, 0xf7, 0x27, 0xfc, 0xfe, 0xf7, + 0x3c, 0x00, 0xd0, 0x10, 0x01, 0x00, 0x09, 0xf9, + 0x0f, 0x48, 0x00, 0x25, 0x45, 0x70, 0x0e, 0x48, + 0x0d, 0x4c, 0x00, 0x88, 0x5b, 0x34, 0xa0, 0x82, + 0xf9, 0xf7, 0x23, 0xfd, 0x20, 0x61, 0xa0, 0x8a, + 0x00, 0x28, 0x04, 0xd0, 0x01, 0x21, 0x89, 0x05, + 0xef, 0xf7, 0x0d, 0xfb, 0xe1, 0x82, 0x05, 0x48, + 0x01, 0x38, 0x45, 0x60, 0x01, 0xf0, 0x55, 0xfe, + 0x02, 0x1c, 0x23, 0x1c, 0x00, 0x21, 0x00, 0x20, + 0xf4, 0xf7, 0x3c, 0x00, 0x0c, 0x11, 0x01, 0x00, + 0x49, 0xfd, 0xb0, 0xbd, 0x45, 0x7d, 0x01, 0x00, + 0xf4, 0x67, 0x01, 0x00, 0x70, 0xb5, 0x16, 0x1c, + 0x5a, 0x89, 0x04, 0x1c, 0x04, 0x98, 0x92, 0x07, + 0x92, 0x0f, 0x00, 0x25, 0x00, 0x29, 0xa2, 0x71, + 0x09, 0xd0, 0x05, 0x21, 0xf9, 0xf7, 0x24, 0xfb, + 0x00, 0x28, 0x01, 0xd0, 0xc0, 0x78, 0x00, 0xe0, + 0x01, 0x20, 0xe0, 0x71, 0x00, 0xe0, 0xe5, 0x71, + 0xe5, 0x60, 0xa6, 0x60, 0x3c, 0x00, 0x48, 0x11, + 0x01, 0x00, 0x70, 0xbd, 0x00, 0x00, 0xfe, 0xb5, + 0x05, 0x1c, 0x0e, 0x22, 0x9c, 0x30, 0x16, 0x49, + 0xef, 0xf7, 0xcf, 0xf9, 0x29, 0x1c, 0x28, 0x1c, + 0x80, 0x30, 0x88, 0x31, 0x00, 0x24, 0x2f, 0x1c, + 0x60, 0x37, 0x02, 0x91, 0x01, 0x90, 0x20, 0x06, + 0x00, 0x0e, 0x06, 0x1c, 0xf9, 0xf7, 0x0d, 0xfe, + 0x00, 0x28, 0x03, 0xd0, 0x01, 0x98, 0x42, 0x68, + 0x02, 0x99, 0x01, 0xe0, 0xea, 0x6d, 0x3c, 0x00, + 0x84, 0x11, 0x01, 0x00, 0x39, 0x1c, 0x00, 0x2a, + 0x0d, 0xd0, 0x00, 0x20, 0x03, 0xe0, 0x0b, 0x5c, + 0xb3, 0x42, 0x02, 0xd8, 0x01, 0x30, 0x90, 0x42, + 0xf9, 0xdb, 0x08, 0x18, 0x10, 0x38, 0xc0, 0x7b, + 0x29, 0x19, 0x90, 0x31, 0x08, 0x73, 0x01, 0x34, + 0x0e, 0x2c, 0xdf, 0xd3, 0xfe, 0xbd, 0x00, 0x00, + 0xcc, 0x47, 0x01, 0x00, 0xff, 0xb5, 0x81, 0xb0, + 0x14, 0x1c, 0x10, 0x1c, 0x06, 0x22, 0x0d, 0x1c, + 0x3c, 0x00, 0xc0, 0x11, 0x01, 0x00, 0x19, 0x1c, + 0x0b, 0x9e, 0x0a, 0x9f, 0xef, 0xf7, 0x97, 0xf9, + 0x06, 0x22, 0x39, 0x1c, 0xa0, 0x18, 0xef, 0xf7, + 0x92, 0xf9, 0xe6, 0x60, 0x2c, 0x60, 0x10, 0x20, + 0x28, 0x81, 0x6e, 0x60, 0x01, 0x98, 0xe8, 0x60, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x70, 0xb5, + 0x04, 0x1c, 0x00, 0x20, 0x20, 0x61, 0x58, 0x20, + 0x00, 0x5d, 0x0e, 0x1c, 0x15, 0x1c, 0xc0, 0x07, + 0xc0, 0x17, 0x3c, 0x00, 0xfc, 0x11, 0x01, 0x00, + 0x01, 0x30, 0xe0, 0x61, 0x21, 0x6b, 0x00, 0x29, + 0x36, 0xd1, 0x1e, 0x49, 0x09, 0x68, 0x29, 0x43, + 0x32, 0xd0, 0xa1, 0x68, 0x89, 0x8a, 0x00, 0x29, + 0x2e, 0xd0, 0x00, 0x28, 0x0b, 0xd0, 0x20, 0x1c, + 0x58, 0x30, 0x00, 0xf0, 0xf3, 0xfd, 0x00, 0x28, + 0x1b, 0xd0, 0x81, 0x6a, 0x02, 0x6a, 0x40, 0x6a, + 0x09, 0x78, 0x00, 0x78, 0x06, 0xe0, 0x14, 0x4a, + 0x3c, 0x23, 0x11, 0x78, 0x3c, 0x00, 0x38, 0x12, + 0x01, 0x00, 0x50, 0x78, 0x43, 0x43, 0x9a, 0x18, + 0x04, 0x32, 0x00, 0x2d, 0x03, 0xd1, 0x02, 0x29, + 0x01, 0xd0, 0x03, 0x29, 0x02, 0xd1, 0x6d, 0x21, + 0x22, 0x61, 0x08, 0x55, 0x20, 0x69, 0x00, 0x28, + 0x0d, 0xd0, 0x81, 0x88, 0x00, 0x29, 0x01, 0xd1, + 0x01, 0x20, 0x70, 0xbd, 0x80, 0x79, 0x02, 0x28, + 0x05, 0xd1, 0x22, 0x1c, 0x07, 0x49, 0x07, 0x48, + 0xf8, 0xf7, 0x4b, 0xff, 0x02, 0xe0, 0x3c, 0x00, + 0x74, 0x12, 0x01, 0x00, 0x20, 0x1c, 0xef, 0xf7, + 0xb5, 0xf8, 0x00, 0x20, 0x70, 0xbd, 0x00, 0x00, + 0x28, 0x61, 0x01, 0x00, 0x68, 0x61, 0x01, 0x00, + 0xa1, 0xda, 0x00, 0x00, 0xa0, 0x6a, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x21, 0x00, 0x20, 0xf9, 0xf7, + 0x39, 0xfe, 0xc4, 0x00, 0xf9, 0xf7, 0x54, 0xfe, + 0x24, 0x18, 0xf9, 0xf7, 0x47, 0xfe, 0x08, 0x49, + 0x20, 0x18, 0x09, 0x88, 0x08, 0x4c, 0x40, 0x18, + 0x3c, 0x00, 0xb0, 0x12, 0x01, 0x00, 0x06, 0x49, + 0x09, 0x88, 0x40, 0x18, 0x60, 0x61, 0xf9, 0xf7, + 0x46, 0xfe, 0x05, 0x49, 0x09, 0x88, 0x40, 0x18, + 0x40, 0x00, 0xa0, 0x61, 0x10, 0xbd, 0x02, 0x61, + 0x01, 0x00, 0x04, 0x61, 0x01, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0xa6, 0x69, 0x01, 0x00, 0x11, 0x40, + 0x08, 0x1c, 0x10, 0xb5, 0x1c, 0x1c, 0x19, 0x1c, + 0x08, 0x31, 0x18, 0x60, 0xf1, 0xf7, 0x31, 0xfe, + 0x60, 0x60, 0x3c, 0x00, 0xec, 0x12, 0x01, 0x00, + 0x10, 0xbd, 0x00, 0x00, 0xf8, 0xb5, 0x06, 0x1c, + 0x22, 0x48, 0x0f, 0x1c, 0x41, 0x68, 0x91, 0x42, + 0x03, 0xd0, 0x00, 0x21, 0x81, 0x60, 0xc1, 0x60, + 0x42, 0x60, 0xc4, 0x68, 0x15, 0xe0, 0x28, 0x20, + 0x1d, 0x49, 0x60, 0x43, 0x40, 0x18, 0x05, 0x1c, + 0x06, 0x22, 0x31, 0x1c, 0xef, 0xf7, 0x70, 0xf8, + 0x00, 0x28, 0x07, 0xd1, 0xa8, 0x1d, 0x39, 0x1c, + 0xf9, 0xf7, 0x10, 0xfd, 0x3c, 0x00, 0x28, 0x13, + 0x01, 0x00, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x20, + 0xf8, 0xbd, 0x01, 0x34, 0x24, 0x07, 0x24, 0x0f, + 0x12, 0x48, 0x80, 0x68, 0x84, 0x42, 0xe5, 0xd1, + 0x10, 0x4c, 0x28, 0x23, 0xa0, 0x68, 0x0f, 0x4d, + 0x58, 0x43, 0x40, 0x19, 0x06, 0x22, 0x31, 0x1c, + 0xef, 0xf7, 0xd3, 0xf8, 0xa0, 0x68, 0x28, 0x23, + 0x58, 0x43, 0x40, 0x19, 0x06, 0x30, 0x22, 0x22, + 0x39, 0x1c, 0xef, 0xf7, 0xca, 0xf8, 0x3c, 0x00, + 0x64, 0x13, 0x01, 0x00, 0xa0, 0x68, 0x01, 0x30, + 0x00, 0x07, 0x00, 0x0f, 0xa0, 0x60, 0xe1, 0x68, + 0x81, 0x42, 0x03, 0xd1, 0x01, 0x31, 0x08, 0x07, + 0x00, 0x0f, 0xe0, 0x60, 0x00, 0x20, 0xd6, 0xe7, + 0xec, 0x65, 0x01, 0x00, 0xa0, 0xf4, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x21, 0x03, 0x20, 0x00, 0xf0, + 0xe5, 0xff, 0x05, 0x4c, 0xa0, 0x68, 0x00, 0x28, + 0x04, 0xd1, 0x01, 0xf0, 0x07, 0xfd, 0x61, 0x68, + 0x3c, 0x00, 0xa0, 0x13, 0x01, 0x00, 0x40, 0x1a, + 0x60, 0x60, 0x10, 0xbd, 0x00, 0x00, 0xd0, 0x60, + 0x01, 0x00, 0x02, 0x68, 0x0a, 0x60, 0x01, 0x60, + 0x70, 0x47, 0x01, 0x1c, 0x00, 0x68, 0x00, 0x28, + 0x01, 0xd0, 0x02, 0x68, 0x0a, 0x60, 0x70, 0x47, + 0x00, 0x00, 0xfe, 0xb5, 0x14, 0x1c, 0x1d, 0x1c, + 0x00, 0x22, 0xd2, 0x43, 0x01, 0xab, 0xf3, 0xf7, + 0x82, 0xff, 0x01, 0x98, 0x00, 0x26, 0x28, 0x40, + 0x01, 0x90, 0x3c, 0x00, 0xdc, 0x13, 0x01, 0x00, + 0x00, 0x25, 0x00, 0x27, 0x20, 0x60, 0x1e, 0xe0, + 0x01, 0x21, 0xb9, 0x40, 0x0a, 0x1c, 0x02, 0x40, + 0x18, 0xd0, 0x88, 0x43, 0x01, 0x90, 0x39, 0x06, + 0x09, 0x0e, 0x70, 0x19, 0x00, 0x19, 0x02, 0x91, + 0x01, 0x77, 0x08, 0x1c, 0xf9, 0xf7, 0xc6, 0xfc, + 0x00, 0x28, 0x06, 0xd0, 0x30, 0x1c, 0x00, 0x19, + 0x01, 0x36, 0x02, 0x99, 0x30, 0x30, 0x01, 0x70, + 0x04, 0xe0, 0x28, 0x1c, 0x3c, 0x00, 0x18, 0x14, + 0x01, 0x00, 0x01, 0x35, 0x02, 0x99, 0x00, 0x19, + 0x01, 0x72, 0x01, 0x37, 0x01, 0x98, 0x00, 0x28, + 0xdd, 0xd1, 0x70, 0x19, 0xa0, 0x61, 0x65, 0x60, + 0xe6, 0x62, 0xfe, 0xbd, 0x00, 0x00, 0xb0, 0xb5, + 0x14, 0x4d, 0x04, 0x1c, 0x28, 0x7a, 0x01, 0x28, + 0x02, 0xd1, 0x04, 0x20, 0xf6, 0xf7, 0xad, 0xf9, + 0x21, 0x1c, 0xa8, 0x6a, 0xf5, 0xf7, 0x21, 0xfc, + 0x00, 0x28, 0x03, 0xd1, 0x04, 0x20, 0x3c, 0x00, + 0x54, 0x14, 0x01, 0x00, 0xf6, 0xf7, 0xa4, 0xf9, + 0xb0, 0xbd, 0x02, 0x20, 0x28, 0x70, 0x28, 0x8c, + 0x00, 0x28, 0x00, 0xd0, 0x60, 0x81, 0x68, 0x8c, + 0x00, 0x28, 0x00, 0xd0, 0xa0, 0x81, 0xa8, 0x8c, + 0x00, 0x28, 0x00, 0xd0, 0xe0, 0x81, 0xe8, 0x69, + 0x01, 0x23, 0x02, 0x04, 0x12, 0x0c, 0x20, 0x1c, + 0x02, 0x49, 0xfc, 0xf7, 0x19, 0xff, 0xb0, 0xbd, + 0xf4, 0x6e, 0x01, 0x00, 0xa1, 0x77, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x14, 0x01, 0x00, 0xf8, 0xb5, + 0x19, 0x4e, 0x05, 0x1c, 0xb0, 0x69, 0x00, 0x28, + 0x00, 0xd1, 0x30, 0x68, 0xff, 0xf7, 0x3b, 0xfc, + 0x15, 0x4f, 0x04, 0x1c, 0x50, 0x37, 0x00, 0x28, + 0x0b, 0xd0, 0x60, 0x68, 0x29, 0x1c, 0x78, 0x60, + 0x01, 0x20, 0x38, 0x63, 0x20, 0x1c, 0xf5, 0xf7, + 0xea, 0xfb, 0x00, 0x28, 0x04, 0xd1, 0x00, 0x20, + 0xf8, 0xbd, 0x00, 0x23, 0xfb, 0x62, 0xfa, 0xe7, + 0x00, 0x23, 0x3c, 0x00, 0xcc, 0x14, 0x01, 0x00, + 0x23, 0x77, 0xf8, 0x6a, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0xf8, 0x62, 0x38, 0x7a, 0x01, 0x28, + 0x07, 0xd0, 0xf8, 0x69, 0x06, 0x49, 0x02, 0x04, + 0x12, 0x0c, 0x28, 0x1c, 0xfc, 0xf7, 0xe6, 0xfe, + 0x01, 0xe0, 0xfb, 0x62, 0xb3, 0x61, 0x01, 0x20, + 0xe5, 0xe7, 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, + 0xdd, 0x02, 0x01, 0x00, 0x70, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x16, 0x1c, 0x3c, 0x00, 0x08, 0x15, + 0x01, 0x00, 0x04, 0x2c, 0x1b, 0xd2, 0x10, 0x48, + 0x83, 0x42, 0x07, 0xd2, 0x58, 0x00, 0x0f, 0x49, + 0xef, 0xf7, 0xfb, 0xf8, 0xff, 0x30, 0x00, 0x0a, + 0x01, 0x38, 0x00, 0xe0, 0x00, 0x20, 0x1f, 0x35, + 0xea, 0x06, 0x61, 0x07, 0x09, 0x0e, 0xd2, 0x0e, + 0x11, 0x43, 0x72, 0x07, 0x52, 0x0d, 0x11, 0x43, + 0x00, 0x06, 0x00, 0x0a, 0x08, 0x43, 0x06, 0x4a, + 0xa1, 0x00, 0x50, 0x50, 0x70, 0xbd, 0x3c, 0x00, + 0x44, 0x15, 0x01, 0x00, 0x01, 0x21, 0x8d, 0x20, + 0xef, 0xf7, 0xac, 0xfe, 0x70, 0xbd, 0x00, 0x00, + 0x40, 0x9c, 0x00, 0x00, 0x00, 0x80, 0x38, 0x01, + 0xe8, 0x60, 0x01, 0x00, 0x09, 0x4a, 0x80, 0x00, + 0x10, 0x58, 0x40, 0x09, 0x40, 0x01, 0x07, 0x22, + 0x02, 0x43, 0x07, 0x48, 0x03, 0x68, 0x00, 0x2b, + 0xfc, 0xdb, 0x42, 0x60, 0x09, 0x06, 0x01, 0x60, + 0x01, 0x68, 0x00, 0x29, 0xfc, 0xdb, 0x08, 0x20, + 0x3c, 0x00, 0x80, 0x15, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0xe8, 0x60, 0x01, 0x00, 0x30, 0x20, + 0x07, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x0d, 0x1c, + 0x07, 0x49, 0xa0, 0x00, 0x08, 0x58, 0x00, 0x28, + 0x03, 0xd1, 0x02, 0x21, 0x8d, 0x20, 0xef, 0xf7, + 0x80, 0xfe, 0x29, 0x1c, 0x20, 0x1c, 0xf6, 0xf7, + 0xa8, 0xfa, 0xb0, 0xbd, 0x00, 0x00, 0xe8, 0x60, + 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x0d, 0x1c, + 0x07, 0x49, 0x3c, 0x00, 0xbc, 0x15, 0x01, 0x00, + 0xa0, 0x00, 0x08, 0x58, 0x00, 0x28, 0x03, 0xd1, + 0x02, 0x21, 0x8d, 0x20, 0xef, 0xf7, 0x6c, 0xfe, + 0x29, 0x1c, 0x20, 0x1c, 0xff, 0xf7, 0xc4, 0xff, + 0xb0, 0xbd, 0x00, 0x00, 0xe8, 0x60, 0x01, 0x00, + 0xf8, 0xb5, 0x0d, 0x1c, 0x16, 0x1c, 0xf7, 0xf7, + 0x17, 0xf9, 0x04, 0x1c, 0x28, 0x68, 0x40, 0x4f, + 0x81, 0x78, 0x00, 0x29, 0x3b, 0xd1, 0xc1, 0x78, + 0x00, 0x29, 0x58, 0xd1, 0x3c, 0x00, 0xf8, 0x15, + 0x01, 0x00, 0xf8, 0xf7, 0xf8, 0xf9, 0x22, 0x8e, + 0x61, 0x8e, 0x8a, 0x42, 0x04, 0xd0, 0xa1, 0x6a, + 0x09, 0x18, 0xe0, 0x69, 0x81, 0x42, 0x10, 0xd9, + 0x38, 0x49, 0x32, 0x1c, 0x48, 0x6b, 0x01, 0x30, + 0x48, 0x63, 0x20, 0x6a, 0x01, 0x30, 0x20, 0x62, + 0x38, 0x68, 0x01, 0x30, 0x38, 0x60, 0xe0, 0x68, + 0x63, 0x69, 0x29, 0x1c, 0xee, 0xf7, 0xd8, 0xfe, + 0xf8, 0xbd, 0x01, 0x32, 0x12, 0x04, 0x3c, 0x00, + 0x34, 0x16, 0x01, 0x00, 0x12, 0x0c, 0x22, 0x86, + 0xa1, 0x62, 0xb8, 0x68, 0x00, 0x28, 0x34, 0xd1, + 0x2c, 0x48, 0x0c, 0x23, 0x00, 0x68, 0x1b, 0x1a, + 0x9a, 0x42, 0x07, 0xd2, 0x19, 0x23, 0x9b, 0x01, + 0xaf, 0x22, 0x92, 0x01, 0x58, 0x43, 0x10, 0x1a, + 0x81, 0x42, 0x26, 0xd3, 0x01, 0x20, 0xb8, 0x60, + 0x01, 0x21, 0x0c, 0x20, 0x00, 0xf0, 0x7a, 0xfe, + 0x1f, 0xe0, 0x01, 0x29, 0x1d, 0xd1, 0xc0, 0x78, + 0x3c, 0x00, 0x70, 0x16, 0x01, 0x00, 0x17, 0x28, + 0x1a, 0xd1, 0xa0, 0x8e, 0xe1, 0x8e, 0x88, 0x42, + 0x14, 0xd3, 0xe9, 0x68, 0x09, 0x68, 0x09, 0x79, + 0x09, 0x06, 0x0f, 0xd5, 0x60, 0x6a, 0x32, 0x1c, + 0x01, 0x30, 0x60, 0x62, 0xe0, 0x68, 0x63, 0x69, + 0x29, 0x1c, 0xee, 0xf7, 0xa3, 0xfe, 0xe8, 0x68, + 0x01, 0x68, 0x08, 0x31, 0x0b, 0x20, 0x00, 0xf0, + 0x5c, 0xfe, 0xc3, 0xe7, 0x01, 0x30, 0xa0, 0x86, + 0xa0, 0x8d, 0x3c, 0x00, 0xac, 0x16, 0x01, 0x00, + 0xe1, 0x8d, 0x88, 0x42, 0x04, 0xd1, 0x03, 0x21, + 0x02, 0x20, 0xef, 0xf7, 0xf5, 0xfd, 0xb8, 0xe7, + 0x60, 0x68, 0x45, 0x60, 0x86, 0x60, 0x00, 0x68, + 0x60, 0x60, 0xf8, 0x68, 0x01, 0x30, 0xf8, 0x60, + 0xa0, 0x8d, 0x41, 0x1c, 0xa1, 0x85, 0x00, 0x28, + 0xab, 0xd1, 0x08, 0x48, 0xb9, 0x69, 0xfd, 0xf7, + 0x61, 0xfe, 0x22, 0x1c, 0x02, 0x21, 0xf1, 0x20, + 0x02, 0xf0, 0x64, 0xf8, 0x3c, 0x00, 0xe8, 0x16, + 0x01, 0x00, 0xa1, 0xe7, 0x00, 0x00, 0xfc, 0x5a, + 0x01, 0x00, 0x90, 0x5c, 0x01, 0x00, 0x18, 0x57, + 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x1c, 0x02, 0x21, 0xf0, 0x20, 0x02, 0xf0, + 0x54, 0xf8, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x28, + 0x03, 0xd1, 0x02, 0x48, 0x41, 0x78, 0xc9, 0x07, + 0xfc, 0xd5, 0x70, 0x47, 0x00, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x80, 0xb5, 0x00, 0x06, 0x3c, 0x00, + 0x24, 0x17, 0x01, 0x00, 0x01, 0xd1, 0xf1, 0xf7, + 0x71, 0xfe, 0x80, 0xbd, 0x80, 0xb5, 0xf4, 0xf7, + 0xe5, 0xfa, 0x80, 0xbd, 0x80, 0xb5, 0xf6, 0xf7, + 0xeb, 0xf8, 0x80, 0xbd, 0x01, 0x49, 0x00, 0x20, + 0x08, 0x74, 0x70, 0x47, 0x78, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0xc0, 0x07, 0x03, 0xd5, 0x02, 0x49, + 0x01, 0x20, 0x00, 0xf0, 0x1d, 0xfc, 0x80, 0xbd, + 0x50, 0xc3, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0e, + 0x3c, 0x00, 0x60, 0x17, 0x01, 0x00, 0x01, 0x28, + 0x80, 0xb5, 0x02, 0xd1, 0xf6, 0xf7, 0xe1, 0xf9, + 0x80, 0xbd, 0x00, 0x28, 0xfc, 0xd1, 0xf1, 0xf7, + 0x4c, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0xf6, 0xf7, 0xd7, 0xf9, 0x80, 0xbd, 0x03, 0x49, + 0x80, 0xb5, 0x00, 0x20, 0x08, 0x74, 0xf6, 0xf7, + 0xfe, 0xf9, 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x06, 0x00, 0x0e, + 0xf1, 0xf7, 0x3c, 0x00, 0x9c, 0x17, 0x01, 0x00, + 0x71, 0xfe, 0x80, 0xbd, 0x10, 0xb5, 0x01, 0x28, + 0x08, 0xd0, 0x02, 0x28, 0x03, 0xd0, 0x03, 0x28, + 0x01, 0xd0, 0xef, 0xf7, 0xa7, 0xfd, 0xf6, 0xf7, + 0xe9, 0xf9, 0x10, 0xbd, 0x01, 0xf0, 0xf8, 0xfa, + 0x04, 0x1c, 0xfa, 0xf7, 0x5d, 0xfd, 0x24, 0x1a, + 0xfa, 0xf7, 0x3e, 0xfd, 0x08, 0x49, 0x00, 0x28, + 0x0b, 0xd0, 0x48, 0x6a, 0x00, 0x28, 0x08, 0xd0, + 0x06, 0x48, 0x84, 0x42, 0x3c, 0x00, 0xd8, 0x17, + 0x01, 0x00, 0x05, 0xd2, 0x01, 0x1b, 0x01, 0x22, + 0x07, 0x20, 0x01, 0xf0, 0xf4, 0xfe, 0xe5, 0xe7, + 0x00, 0x20, 0x48, 0x61, 0xe2, 0xe7, 0x78, 0x69, + 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x09, 0x49, + 0x80, 0xb5, 0x48, 0x69, 0x00, 0x28, 0x0c, 0xd0, + 0x08, 0x6a, 0xca, 0x69, 0x80, 0x1a, 0x00, 0x28, + 0x07, 0xdd, 0x00, 0x20, 0x48, 0x61, 0x01, 0x21, + 0x07, 0x20, 0x01, 0xf0, 0x10, 0xff, 0x3c, 0x00, + 0x14, 0x18, 0x01, 0x00, 0xf6, 0xf7, 0xb8, 0xf9, + 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0xe7, 0xfb, 0x80, 0xbd, + 0x80, 0xb5, 0x00, 0xf0, 0x3f, 0xfc, 0x00, 0x20, + 0xf7, 0xf7, 0xd4, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0x37, 0xfc, 0xfd, 0xf7, + 0x6f, 0xfc, 0xf5, 0xf7, 0x73, 0xfd, 0x30, 0xf0, + 0x47, 0xfb, 0x80, 0xbd, 0x04, 0x48, 0x80, 0xb5, + 0x3c, 0x00, 0x50, 0x18, 0x01, 0x00, 0xc1, 0x6a, + 0x00, 0x6b, 0xf2, 0xf7, 0xde, 0xff, 0x01, 0x20, + 0xf7, 0xf7, 0x89, 0xf8, 0x80, 0xbd, 0xa4, 0x6c, + 0x01, 0x00, 0x10, 0xb5, 0xf3, 0xf7, 0x41, 0xf8, + 0x0d, 0x4c, 0x00, 0x28, 0x04, 0xd0, 0x01, 0x20, + 0xe0, 0x64, 0xf7, 0xf7, 0xb2, 0xfc, 0x10, 0xbd, + 0x01, 0x21, 0x01, 0x20, 0xf3, 0xf7, 0xe9, 0xf8, + 0xfd, 0xf7, 0x4d, 0xfc, 0x60, 0x6d, 0x00, 0x28, + 0x03, 0xd0, 0x3c, 0x00, 0x8c, 0x18, 0x01, 0x00, + 0xf3, 0xf7, 0x82, 0xf8, 0x00, 0x28, 0x01, 0xd0, + 0xf5, 0xf7, 0x4a, 0xfd, 0x01, 0x20, 0xf2, 0xf7, + 0xc1, 0xfc, 0x10, 0xbd, 0xa4, 0x6c, 0x01, 0x00, + 0x04, 0x48, 0x80, 0xb5, 0xc1, 0x6a, 0x00, 0x6b, + 0xf2, 0xf7, 0xb2, 0xff, 0x01, 0x20, 0xf7, 0xf7, + 0x5d, 0xf8, 0x80, 0xbd, 0xa4, 0x6c, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0xf5, 0xfb, 0xf5, 0xf7, + 0x33, 0xfd, 0xfc, 0xf7, 0x3c, 0x00, 0xc8, 0x18, + 0x01, 0x00, 0x31, 0xfd, 0xf9, 0xf7, 0xcb, 0xff, + 0x04, 0x20, 0xf2, 0xf7, 0xa6, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x48, 0x80, 0xb5, 0xc1, 0x6a, + 0x00, 0x6b, 0xf2, 0xf7, 0x98, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0xf0, 0xdd, 0xfb, 0x00, 0x20, 0xf7, 0xf7, + 0x3c, 0xf8, 0x30, 0xf0, 0xee, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0x21, 0x3c, 0x00, + 0x04, 0x19, 0x01, 0x00, 0x01, 0x20, 0xff, 0xf7, + 0x19, 0xfa, 0x01, 0x20, 0xf2, 0xf7, 0x88, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0xc9, 0xfb, 0xfc, 0xf7, 0x07, 0xfd, 0x01, 0x21, + 0x01, 0x20, 0xff, 0xf7, 0x0b, 0xfa, 0x04, 0x20, + 0xf2, 0xf7, 0x7a, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, 0x00, 0x20, + 0x00, 0xf0, 0x8a, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x19, 0x01, 0x00, 0x03, 0x48, + 0x80, 0xb5, 0x82, 0x6a, 0x01, 0x21, 0x04, 0x20, + 0x00, 0xf0, 0x81, 0xfb, 0x80, 0xbd, 0xd4, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, + 0x03, 0x20, 0x00, 0xf0, 0x78, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x48, 0x80, 0xb5, 0x82, 0x6a, + 0x01, 0x21, 0x04, 0x20, 0x00, 0xf0, 0x6f, 0xfb, + 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x22, 0x3c, 0x00, 0x7c, 0x19, 0x01, 0x00, + 0x00, 0x21, 0x03, 0x20, 0x00, 0xf0, 0x66, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x06, 0x48, 0x80, 0xb5, + 0x81, 0x68, 0x42, 0x69, 0x00, 0x69, 0x51, 0x18, + 0x81, 0x42, 0x03, 0xd9, 0x01, 0x21, 0x01, 0x20, + 0x00, 0xf0, 0x58, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0xd4, 0x79, 0x01, 0x00, 0x06, 0x48, 0x80, 0xb5, + 0x82, 0x88, 0x81, 0x68, 0x00, 0x69, 0x51, 0x18, + 0x81, 0x42, 0x03, 0xd9, 0x3c, 0x00, 0xb8, 0x19, + 0x01, 0x00, 0x01, 0x21, 0x02, 0x20, 0x00, 0xf0, + 0x48, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x10, 0xb5, 0x08, 0x4c, 0x20, 0x7b, + 0x21, 0x6a, 0xf9, 0xf7, 0x9c, 0xfa, 0xa1, 0x69, + 0x42, 0x18, 0xa0, 0x68, 0x21, 0x69, 0x80, 0x18, + 0x88, 0x42, 0x03, 0xd9, 0x01, 0x21, 0x02, 0x20, + 0x00, 0xf0, 0x33, 0xfb, 0x10, 0xbd, 0xd4, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x3c, 0x00, + 0xf4, 0x19, 0x01, 0x00, 0x00, 0x21, 0x00, 0x20, + 0x00, 0xf0, 0x2a, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x0e, 0x01, 0x28, 0x80, 0xb5, + 0x02, 0xd1, 0xf6, 0xf7, 0x8f, 0xf8, 0x80, 0xbd, + 0x00, 0x28, 0xfc, 0xd1, 0xf1, 0xf7, 0xfa, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0xf6, 0xf7, + 0x85, 0xf8, 0x80, 0xbd, 0x80, 0xb5, 0x00, 0x06, + 0x00, 0x0e, 0xf1, 0xf7, 0x29, 0xfd, 0x80, 0xbd, + 0x3c, 0x00, 0x30, 0x1a, 0x01, 0x00, 0xb0, 0xb5, + 0x02, 0x25, 0x02, 0x28, 0x10, 0x4c, 0x0b, 0xd1, + 0xfb, 0xf7, 0x47, 0xfc, 0x00, 0x28, 0x01, 0xd1, + 0xfe, 0xf7, 0x4f, 0xff, 0x25, 0x70, 0xa1, 0x68, + 0x0c, 0x48, 0xfd, 0xf7, 0xa8, 0xfc, 0xb0, 0xbd, + 0x03, 0x28, 0x0d, 0xd1, 0x08, 0x48, 0x7d, 0x23, + 0x1c, 0x38, 0x00, 0x69, 0xdb, 0x00, 0x58, 0x43, + 0x19, 0x1c, 0x40, 0x18, 0x41, 0x08, 0x02, 0x20, + 0x00, 0xf0, 0x3c, 0x00, 0x6c, 0x1a, 0x01, 0x00, + 0x91, 0xfa, 0x25, 0x70, 0xb0, 0xbd, 0xf8, 0xf7, + 0x31, 0xf9, 0xb0, 0xbd, 0x78, 0x69, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x10, 0xb5, 0x05, 0x4c, + 0xe0, 0x68, 0x00, 0x28, 0x01, 0xd1, 0xef, 0xf7, + 0x39, 0xfc, 0x02, 0x20, 0x20, 0x70, 0x00, 0xf0, + 0xaf, 0xfa, 0x10, 0xbd, 0x78, 0x69, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0x82, 0x6a, 0x01, 0x21, + 0x04, 0x20, 0x00, 0xf0, 0x3c, 0x00, 0xa8, 0x1a, + 0x01, 0x00, 0xd3, 0xfa, 0x80, 0xbd, 0xd4, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, + 0x03, 0x20, 0x00, 0xf0, 0xca, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x20, 0x00, 0xf0, 0xc2, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x48, 0x80, 0xb5, 0x42, 0x69, + 0x01, 0x21, 0x01, 0x20, 0x00, 0xf0, 0xb9, 0xfa, + 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, 0x3c, 0x00, + 0xe4, 0x1a, 0x01, 0x00, 0x06, 0x48, 0x80, 0xb5, + 0x82, 0x88, 0x00, 0x2a, 0x02, 0xd0, 0x01, 0x21, + 0x02, 0x20, 0x02, 0xe0, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x20, 0x00, 0xf0, 0xa9, 0xfa, 0x80, 0xbd, + 0xd4, 0x79, 0x01, 0x00, 0x10, 0xb5, 0x06, 0x4c, + 0x20, 0x7b, 0x21, 0x6a, 0xf9, 0xf7, 0xfe, 0xf9, + 0xa1, 0x69, 0x42, 0x18, 0x01, 0x21, 0x02, 0x20, + 0x00, 0xf0, 0x9a, 0xfa, 0x10, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x1b, 0x01, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x20, 0x00, 0xf0, 0x90, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x38, 0xb5, 0xfa, 0xf7, 0x41, 0xfe, + 0x00, 0x20, 0xf0, 0xf7, 0x80, 0xf8, 0x00, 0x90, + 0x00, 0xab, 0x1c, 0x88, 0x5d, 0x88, 0xf8, 0xf7, + 0x3c, 0xf9, 0x00, 0x2c, 0x02, 0xd0, 0xfd, 0xf7, + 0x9e, 0xfa, 0x02, 0xe0, 0x01, 0x20, 0xf6, 0xf7, + 0x0a, 0xff, 0x3c, 0x00, 0x5c, 0x1b, 0x01, 0x00, + 0x29, 0x1c, 0x20, 0x1c, 0xfc, 0xf7, 0xb8, 0xfc, + 0x00, 0x2c, 0x02, 0xd0, 0xf5, 0xf7, 0xe0, 0xfb, + 0x02, 0xe0, 0x00, 0x20, 0x00, 0xf0, 0xdc, 0xf9, + 0x03, 0x20, 0x00, 0x2c, 0x00, 0xd1, 0x02, 0x20, + 0x00, 0x06, 0x00, 0x0e, 0xf2, 0xf7, 0x4e, 0xfb, + 0x38, 0xbd, 0x00, 0x00, 0x03, 0x48, 0x80, 0xb5, + 0x82, 0x6a, 0x01, 0x21, 0x04, 0x20, 0x00, 0xf0, + 0x5d, 0xfa, 0x80, 0xbd, 0x3c, 0x00, 0x98, 0x1b, + 0x01, 0x00, 0xd4, 0x79, 0x01, 0x00, 0x80, 0xb5, + 0x30, 0xf0, 0x9b, 0xf9, 0x80, 0xbd, 0x80, 0xb5, + 0x00, 0x22, 0x00, 0x21, 0x03, 0x20, 0x00, 0xf0, + 0x50, 0xfa, 0x80, 0xbd, 0x00, 0x00, 0x03, 0x48, + 0x80, 0xb5, 0x42, 0x69, 0x01, 0x21, 0x01, 0x20, + 0x00, 0xf0, 0x47, 0xfa, 0x80, 0xbd, 0xd4, 0x79, + 0x01, 0x00, 0x04, 0x48, 0x80, 0xb5, 0x82, 0x88, + 0x00, 0x2a, 0x03, 0xd0, 0x01, 0x21, 0x3c, 0x00, + 0xd4, 0x1b, 0x01, 0x00, 0x02, 0x20, 0x00, 0xf0, + 0x3b, 0xfa, 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, + 0x10, 0xb5, 0x06, 0x4c, 0x20, 0x7b, 0x21, 0x6a, + 0xf9, 0xf7, 0x90, 0xf9, 0xa1, 0x69, 0x42, 0x18, + 0x01, 0x21, 0x02, 0x20, 0x00, 0xf0, 0x2c, 0xfa, + 0x10, 0xbd, 0x00, 0x00, 0xd4, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0xfc, 0xf7, 0x93, 0xfb, 0x01, 0x21, + 0x01, 0x20, 0xff, 0xf7, 0x97, 0xf8, 0x04, 0x20, + 0x3c, 0x00, 0x10, 0x1c, 0x01, 0x00, 0xf2, 0xf7, + 0x06, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0x2f, 0xf0, 0x6b, 0xfb, 0x00, 0x28, 0x0a, 0xd0, + 0x01, 0x20, 0xf2, 0xf7, 0xfc, 0xfa, 0xfa, 0xf7, + 0x2a, 0xfc, 0x00, 0x28, 0x02, 0xd1, 0x04, 0x20, + 0xf6, 0xf7, 0x5d, 0xf8, 0x80, 0xbd, 0x03, 0x21, + 0x16, 0x20, 0xef, 0xf7, 0x32, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0x02, 0x48, 0x80, 0xb5, 0x00, 0x68, + 0xee, 0xf7, 0x3c, 0x00, 0x4c, 0x1c, 0x01, 0x00, + 0xc5, 0xfb, 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0x42, 0x69, 0x01, 0x21, + 0x01, 0x20, 0x00, 0xf0, 0xf7, 0xf9, 0x80, 0xbd, + 0xd4, 0x79, 0x01, 0x00, 0x80, 0xb5, 0x30, 0xf0, + 0x35, 0xf9, 0x80, 0xbd, 0xb0, 0xb5, 0x18, 0x4c, + 0xaa, 0x20, 0x00, 0x5d, 0x04, 0x28, 0x19, 0xd1, + 0x01, 0x25, 0xe5, 0x62, 0x25, 0x63, 0x01, 0xf0, + 0x93, 0xf8, 0xa0, 0x66, 0x3c, 0x00, 0x88, 0x1c, + 0x01, 0x00, 0x01, 0xf0, 0xfc, 0xfd, 0xf2, 0xf7, + 0x2e, 0xfe, 0x00, 0x28, 0x0e, 0xd0, 0x02, 0x20, + 0xf2, 0xf7, 0xc3, 0xfa, 0xa5, 0x60, 0x01, 0xf0, + 0x86, 0xf8, 0x64, 0x30, 0x60, 0x60, 0xfa, 0xf7, + 0x8a, 0xfd, 0x01, 0x21, 0x01, 0x20, 0xff, 0xf7, + 0x46, 0xf8, 0xb0, 0xbd, 0x01, 0x20, 0xf2, 0xf7, + 0xb4, 0xfa, 0x00, 0x20, 0xa0, 0x60, 0x00, 0x21, + 0x01, 0x20, 0xff, 0xf7, 0x3c, 0xf8, 0x3c, 0x00, + 0xc4, 0x1c, 0x01, 0x00, 0xf2, 0xf7, 0x66, 0xfe, + 0x00, 0x28, 0xf1, 0xd0, 0xfa, 0xf7, 0x76, 0xfd, + 0xb0, 0xbd, 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x20, 0xef, 0xf7, 0xd6, 0xfe, + 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x20, + 0xef, 0xf7, 0xd0, 0xfe, 0x80, 0xbd, 0x00, 0x00, + 0xac, 0x21, 0x09, 0x5c, 0x02, 0x4a, 0x09, 0x02, + 0x89, 0x18, 0xc0, 0x31, 0x81, 0x60, 0x70, 0x47, + 0x3c, 0x00, 0x00, 0x1d, 0x01, 0x00, 0x70, 0x75, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x28, 0x04, 0xd1, + 0x03, 0xc9, 0x09, 0x68, 0xee, 0xf7, 0x64, 0xfb, + 0x80, 0xbd, 0x01, 0x21, 0x14, 0x20, 0xef, 0xf7, + 0xc4, 0xfa, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x28, + 0x02, 0xd1, 0x02, 0x48, 0x40, 0x68, 0x70, 0x47, + 0x40, 0x68, 0x70, 0x47, 0x00, 0x00, 0x58, 0x75, + 0x01, 0x00, 0x10, 0xb5, 0x00, 0x24, 0xf8, 0xf7, + 0x1c, 0xfb, 0x3c, 0x00, 0x3c, 0x1d, 0x01, 0x00, + 0x00, 0x28, 0x04, 0xd0, 0x40, 0x30, 0x80, 0x7a, + 0x05, 0x28, 0x00, 0xd1, 0x01, 0x24, 0x20, 0x1c, + 0x10, 0xbd, 0x00, 0x00, 0x04, 0x48, 0x00, 0x21, + 0x40, 0x68, 0x01, 0xe0, 0x01, 0x63, 0x40, 0x68, + 0x00, 0x28, 0xfb, 0xd1, 0x70, 0x47, 0x00, 0x00, + 0x58, 0x75, 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x0d, 0x1c, 0xf7, 0xf7, 0xa5, 0xf8, 0x40, 0x34, + 0xe5, 0x72, 0xb0, 0xbd, 0x3c, 0x00, 0x78, 0x1d, + 0x01, 0x00, 0xf8, 0xb5, 0x07, 0x1c, 0xf8, 0xf7, + 0xfa, 0xfa, 0x04, 0x1c, 0x04, 0xd0, 0x05, 0x21, + 0x14, 0x20, 0xef, 0xf7, 0x8c, 0xfa, 0x28, 0xe0, + 0x00, 0x25, 0x14, 0x49, 0x28, 0x02, 0x46, 0x18, + 0x30, 0x1c, 0x44, 0x30, 0x06, 0x22, 0x12, 0x49, + 0xee, 0xf7, 0x2d, 0xfb, 0x00, 0x28, 0x02, 0xd1, + 0xac, 0x20, 0x85, 0x55, 0x34, 0x1c, 0x01, 0x35, + 0x03, 0x2d, 0xee, 0xd3, 0x00, 0x2c, 0x3c, 0x00, + 0xb4, 0x1d, 0x01, 0x00, 0x14, 0xd0, 0x39, 0x1c, + 0x20, 0x1c, 0xf8, 0xf7, 0x2b, 0xf8, 0x09, 0x49, + 0x00, 0x20, 0x20, 0x60, 0x18, 0x39, 0x48, 0x68, + 0x60, 0x60, 0x00, 0x28, 0x00, 0xd0, 0x04, 0x60, + 0x4c, 0x60, 0xca, 0x68, 0x00, 0x2a, 0x03, 0xd0, + 0x01, 0x21, 0x20, 0x1c, 0xee, 0xf7, 0xfe, 0xfa, + 0x20, 0x1c, 0xf8, 0xbd, 0x70, 0x75, 0x01, 0x00, + 0x58, 0x46, 0x01, 0x00, 0x80, 0xb5, 0xf8, 0xf7, + 0x3c, 0x00, 0xf0, 0x1d, 0x01, 0x00, 0xc1, 0xfa, + 0x00, 0x28, 0x04, 0xd1, 0x06, 0x21, 0x14, 0x20, + 0xef, 0xf7, 0x53, 0xfa, 0x80, 0xbd, 0xf5, 0xf7, + 0x16, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0xf8, 0xf7, 0xb3, 0xfa, 0x80, 0xbd, 0x10, 0xb5, + 0x09, 0x4c, 0x21, 0x88, 0x02, 0x29, 0x03, 0xd1, + 0x14, 0x20, 0xef, 0xf7, 0x42, 0xfa, 0x04, 0xe0, + 0xa3, 0x68, 0x8a, 0x00, 0x98, 0x50, 0x48, 0x1c, + 0x20, 0x80, 0x3c, 0x00, 0x2c, 0x1e, 0x01, 0x00, + 0x20, 0x88, 0x01, 0x38, 0x00, 0x04, 0x00, 0x0c, + 0x10, 0xbd, 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, + 0x0b, 0x1c, 0x11, 0x1c, 0x08, 0x4a, 0x80, 0xb5, + 0x12, 0x88, 0x90, 0x42, 0x06, 0xd2, 0xda, 0x68, + 0xc0, 0x00, 0x12, 0x18, 0x14, 0x20, 0x01, 0xf0, + 0xbb, 0xfb, 0x80, 0xbd, 0x03, 0x21, 0x14, 0x20, + 0xef, 0xf7, 0x22, 0xfa, 0x80, 0xbd, 0x00, 0x00, + 0x58, 0x75, 0x01, 0x00, 0x3c, 0x00, 0x68, 0x1e, + 0x01, 0x00, 0x08, 0x4a, 0x80, 0xb5, 0x12, 0x88, + 0x90, 0x42, 0x06, 0xd2, 0xc9, 0x68, 0xc0, 0x00, + 0x09, 0x18, 0x14, 0x20, 0x01, 0xf0, 0xdb, 0xfb, + 0x80, 0xbd, 0x04, 0x21, 0x14, 0x20, 0xef, 0xf7, + 0x0e, 0xfa, 0x80, 0xbd, 0x00, 0x00, 0x58, 0x75, + 0x01, 0x00, 0x01, 0x49, 0xc8, 0x60, 0x70, 0x47, + 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, 0x80, 0xb5, + 0x06, 0x22, 0x44, 0x30, 0xee, 0xf7, 0x3c, 0x00, + 0xa4, 0x1e, 0x01, 0x00, 0xab, 0xfa, 0x00, 0x28, + 0x01, 0xd1, 0x01, 0x20, 0x80, 0xbd, 0x00, 0x20, + 0x80, 0xbd, 0x00, 0x00, 0x1c, 0xb5, 0x14, 0x4c, + 0x20, 0x69, 0x00, 0x28, 0x23, 0xd0, 0x20, 0x78, + 0x0a, 0x28, 0x01, 0xd0, 0x00, 0xf0, 0xfc, 0xf8, + 0x00, 0x20, 0x60, 0x61, 0x0f, 0x48, 0x40, 0x79, + 0xa0, 0x70, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x28, + 0x15, 0xd1, 0xfd, 0xf7, 0xed, 0xfe, 0x01, 0x90, + 0x3c, 0x00, 0xe0, 0x1e, 0x01, 0x00, 0xfd, 0xf7, + 0x82, 0xfe, 0x00, 0x90, 0x00, 0xab, 0x18, 0x79, + 0x19, 0x78, 0x40, 0x1a, 0x18, 0x71, 0x58, 0x79, + 0x59, 0x78, 0x40, 0x1a, 0x58, 0x71, 0x01, 0x98, + 0xf2, 0xf7, 0x89, 0xfe, 0x05, 0x20, 0x20, 0x70, + 0x00, 0xf0, 0xbf, 0xf9, 0x1c, 0xbd, 0x7c, 0x78, + 0x01, 0x00, 0x0c, 0x5a, 0x01, 0x00, 0x08, 0xb5, + 0x04, 0x4a, 0x00, 0x90, 0x14, 0x32, 0x00, 0x20, + 0x02, 0x4b, 0x3c, 0x00, 0x1c, 0x1f, 0x01, 0x00, + 0x02, 0x49, 0xf1, 0xf7, 0x7d, 0xf9, 0x08, 0xbd, + 0x2c, 0x75, 0x01, 0x00, 0xb1, 0xa8, 0x00, 0x00, + 0xb0, 0xb5, 0x00, 0x28, 0x06, 0xd0, 0x01, 0x28, + 0x06, 0xd0, 0x02, 0x28, 0x07, 0xd1, 0x0c, 0x4c, + 0x01, 0x25, 0x07, 0xe0, 0x0b, 0x4c, 0x04, 0xe0, + 0x0a, 0x4c, 0x2a, 0x3c, 0x01, 0xe0, 0x08, 0x4c, + 0xb6, 0x34, 0x00, 0x25, 0x00, 0xf0, 0x2c, 0xff, + 0x07, 0x49, 0x89, 0x6e, 0x3c, 0x00, 0x58, 0x1f, + 0x01, 0x00, 0x09, 0x19, 0x09, 0x1a, 0xa1, 0x42, + 0x00, 0xd9, 0x00, 0x21, 0x2a, 0x1c, 0x16, 0x20, + 0x01, 0xf0, 0x31, 0xfb, 0xb0, 0xbd, 0x71, 0x02, + 0x00, 0x00, 0x0c, 0x05, 0x00, 0x00, 0xa4, 0x6c, + 0x01, 0x00, 0x8c, 0xb5, 0x00, 0xab, 0x8e, 0x21, + 0x19, 0x80, 0xfc, 0xf7, 0x38, 0xf9, 0x01, 0x90, + 0x68, 0x46, 0xfb, 0xf7, 0xa6, 0xfa, 0x8c, 0xbd, + 0x00, 0x00, 0xbf, 0xb5, 0x13, 0x4a, 0x3c, 0x00, + 0x94, 0x1f, 0x01, 0x00, 0x01, 0x91, 0x0d, 0x1c, + 0x11, 0x7c, 0x88, 0x43, 0x04, 0x1c, 0x21, 0x43, + 0x08, 0x1c, 0x10, 0x74, 0xa0, 0x07, 0x0b, 0xd5, + 0x0e, 0x48, 0x00, 0x90, 0x01, 0x20, 0x02, 0x90, + 0x00, 0xf0, 0xfc, 0xfe, 0x0c, 0x49, 0x40, 0x18, + 0x03, 0x90, 0x68, 0x46, 0xf9, 0xf7, 0x6a, 0xff, + 0xe0, 0x07, 0x0c, 0xd5, 0xf1, 0xf7, 0x2c, 0xfd, + 0x00, 0x28, 0x03, 0xd0, 0x07, 0x48, 0x85, 0x42, + 0x3c, 0x00, 0xd0, 0x1f, 0x01, 0x00, 0x00, 0xd2, + 0x01, 0x90, 0x06, 0x48, 0x00, 0x90, 0x68, 0x46, + 0xf9, 0xf7, 0x09, 0xff, 0xbf, 0xbd, 0x78, 0x69, + 0x01, 0x00, 0x81, 0xea, 0x00, 0x00, 0x10, 0x27, + 0x00, 0x00, 0xa0, 0x86, 0x01, 0x00, 0x75, 0xea, + 0x00, 0x00, 0x10, 0xb5, 0x0a, 0x4c, 0x60, 0x69, + 0x00, 0x28, 0x0e, 0xd1, 0x01, 0x20, 0x60, 0x61, + 0xa1, 0x68, 0x07, 0x48, 0xfd, 0xf7, 0xcb, 0xf9, + 0x00, 0x21, 0x3c, 0x00, 0x0c, 0x20, 0x01, 0x00, + 0xa0, 0x68, 0xf9, 0xf7, 0xd1, 0xfb, 0x01, 0x22, + 0x07, 0x20, 0x04, 0x49, 0x01, 0xf0, 0xd8, 0xfa, + 0x10, 0xbd, 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x98, 0x3a, 0x00, 0x00, + 0x10, 0xb5, 0x0c, 0x1c, 0x11, 0x1c, 0x06, 0x4a, + 0x00, 0x2b, 0x10, 0x70, 0x03, 0xd0, 0x00, 0x28, + 0x02, 0xd1, 0xf9, 0xf7, 0xf5, 0xfd, 0x10, 0xbd, + 0x20, 0x1c, 0xf9, 0xf7, 0x3c, 0x00, 0x48, 0x20, + 0x01, 0x00, 0x01, 0xfe, 0x10, 0xbd, 0xa0, 0x79, + 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x4c, 0x05, 0x1c, + 0xe3, 0x6a, 0x20, 0x1f, 0x01, 0x33, 0xe3, 0x62, + 0x00, 0x88, 0x00, 0x29, 0x06, 0xd0, 0xa1, 0x68, + 0x89, 0x18, 0x21, 0x61, 0x05, 0x4a, 0x00, 0xf0, + 0xfc, 0xfe, 0x01, 0xe0, 0x00, 0xf0, 0xcf, 0xfe, + 0x25, 0x77, 0xb0, 0xbd, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x55, 0xe3, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x20, 0x01, 0x00, 0x01, 0x1c, 0x03, 0x48, + 0x80, 0xb5, 0x40, 0x88, 0xff, 0xf7, 0xec, 0xfe, + 0x80, 0xbd, 0x00, 0x00, 0x98, 0x7c, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0xc1, 0x68, 0x18, 0x38, + 0x80, 0x88, 0xff, 0xf7, 0xe1, 0xfe, 0x80, 0xbd, + 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x00, 0x21, + 0x16, 0x20, 0x01, 0xf0, 0xbf, 0xfa, 0x01, 0x21, + 0x16, 0x20, 0x01, 0xf0, 0xbb, 0xfa, 0x80, 0xbd, + 0x3c, 0x00, 0xc0, 0x20, 0x01, 0x00, 0x10, 0xb5, + 0x0b, 0x4c, 0x20, 0x78, 0x0a, 0x28, 0x10, 0xd0, + 0x01, 0x20, 0x60, 0x61, 0x0a, 0x21, 0x13, 0x20, + 0x01, 0xf0, 0xaf, 0xfa, 0x0a, 0x20, 0x60, 0x70, + 0x20, 0x70, 0xfd, 0xf7, 0x3c, 0xfb, 0x01, 0x20, + 0xfd, 0xf7, 0xe9, 0xfb, 0x00, 0x20, 0xfa, 0xf7, + 0xc4, 0xf9, 0x10, 0xbd, 0x00, 0x00, 0x7c, 0x78, + 0x01, 0x00, 0x10, 0xb5, 0x0c, 0x4c, 0x00, 0x20, + 0x0b, 0x49, 0x3c, 0x00, 0xfc, 0x20, 0x01, 0x00, + 0x20, 0x63, 0xe0, 0x62, 0x50, 0x39, 0x88, 0x61, + 0x20, 0x70, 0x08, 0x48, 0x38, 0x21, 0x0c, 0x38, + 0x00, 0x7a, 0x08, 0x55, 0x81, 0x21, 0x18, 0x20, + 0x01, 0xf0, 0x8e, 0xfa, 0x20, 0x69, 0x01, 0x28, + 0x02, 0xd1, 0x00, 0x20, 0xf5, 0xf7, 0x3e, 0xfb, + 0x10, 0xbd, 0x00, 0x00, 0xf4, 0x6e, 0x01, 0x00, + 0xb0, 0xb5, 0x1c, 0x4c, 0x00, 0x25, 0x2c, 0x22, + 0x01, 0x1d, 0x20, 0x1c, 0x3c, 0x00, 0x38, 0x21, + 0x01, 0x00, 0x9a, 0xb0, 0xee, 0xf7, 0x39, 0xfa, + 0x18, 0x49, 0x2c, 0x31, 0x08, 0x1c, 0x00, 0x7a, + 0x8a, 0x69, 0x00, 0x2a, 0x13, 0xd1, 0x02, 0x28, + 0x03, 0xd1, 0xa0, 0x68, 0x00, 0x28, 0x20, 0xd0, + 0x04, 0xe0, 0x00, 0x28, 0x1d, 0xd1, 0x60, 0x68, + 0x00, 0x28, 0x1a, 0xd0, 0x80, 0x02, 0x88, 0x61, + 0x0e, 0x48, 0x69, 0x46, 0x24, 0x38, 0x00, 0x68, + 0xef, 0xf7, 0xcb, 0xfb, 0x11, 0xe0, 0x3c, 0x00, + 0x74, 0x21, 0x01, 0x00, 0x00, 0x22, 0x02, 0x28, + 0x03, 0xd1, 0xa0, 0x68, 0x00, 0x28, 0x09, 0xd1, + 0x04, 0xe0, 0x00, 0x28, 0x08, 0xd1, 0x60, 0x68, + 0x00, 0x28, 0x03, 0xd1, 0x8a, 0x61, 0xff, 0xf7, + 0xb1, 0xff, 0x01, 0xe0, 0x80, 0x02, 0x88, 0x61, + 0x28, 0x1c, 0x1a, 0xb0, 0xb0, 0xbd, 0x00, 0x00, + 0xc8, 0x6e, 0x01, 0x00, 0xf8, 0xb5, 0x0c, 0x49, + 0x02, 0x20, 0x48, 0x60, 0x0b, 0x49, 0x00, 0x05, + 0x3c, 0x00, 0xb0, 0x21, 0x01, 0x00, 0x08, 0x60, + 0x0b, 0x4f, 0xb8, 0x68, 0xf9, 0x68, 0x7c, 0x68, + 0x45, 0x1a, 0x2e, 0x1c, 0x04, 0xe0, 0xa0, 0x68, + 0x61, 0x68, 0xee, 0xf7, 0x09, 0xf9, 0x24, 0x68, + 0x01, 0x3d, 0xf8, 0xd2, 0x7c, 0x60, 0xf8, 0x68, + 0x80, 0x19, 0xf8, 0x60, 0xf8, 0xbd, 0x40, 0x20, + 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, 0x44, 0xe3, + 0x01, 0x00, 0xf8, 0xb5, 0x1f, 0x4e, 0x04, 0x1c, + 0x30, 0x69, 0x3c, 0x00, 0xec, 0x21, 0x01, 0x00, + 0x01, 0x21, 0xf9, 0xf7, 0x99, 0xfa, 0x1d, 0x49, + 0x60, 0x00, 0x40, 0x18, 0x10, 0x38, 0x81, 0x7b, + 0x1b, 0x4a, 0x51, 0x72, 0xc0, 0x7b, 0x10, 0x74, + 0x1a, 0x4f, 0x1b, 0x4d, 0x0e, 0x2c, 0x0a, 0xd1, + 0x01, 0x22, 0x02, 0x21, 0x08, 0x20, 0x01, 0xf0, + 0xf3, 0xfb, 0x03, 0x20, 0xff, 0x21, 0x41, 0x31, + 0x39, 0x86, 0x14, 0x21, 0x08, 0xe0, 0x02, 0x22, + 0x01, 0x21, 0x08, 0x20, 0x3c, 0x00, 0x28, 0x22, + 0x01, 0x00, 0x01, 0xf0, 0xe8, 0xfb, 0x12, 0x49, + 0x02, 0x20, 0x39, 0x86, 0x10, 0x21, 0xa9, 0x71, + 0xe8, 0x71, 0x10, 0x48, 0x11, 0x4a, 0x00, 0x19, + 0x10, 0x38, 0xc0, 0x7b, 0x00, 0x28, 0x03, 0xd0, + 0x01, 0x21, 0x51, 0x73, 0x10, 0x73, 0x01, 0xe0, + 0x00, 0x20, 0x50, 0x73, 0x00, 0x21, 0x20, 0x1c, + 0xfd, 0xf7, 0xe5, 0xfd, 0x30, 0x69, 0xf9, 0xf7, + 0x08, 0xfb, 0xf8, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x22, 0x01, 0x00, 0x40, 0x7c, 0x01, 0x00, + 0x76, 0x46, 0x01, 0x00, 0x0c, 0x80, 0x07, 0x00, + 0x30, 0x80, 0x07, 0x00, 0x00, 0x80, 0x07, 0x00, + 0xff, 0x01, 0x00, 0x00, 0x5c, 0x57, 0x01, 0x00, + 0xd0, 0x80, 0x07, 0x00, 0x10, 0xb5, 0x15, 0x4c, + 0x14, 0x4a, 0x21, 0x78, 0x00, 0x20, 0x18, 0x32, + 0x05, 0x29, 0x1d, 0xd0, 0x06, 0x29, 0x1b, 0xd0, + 0x07, 0x29, 0x01, 0xd0, 0x08, 0x29, 0x06, 0xd1, + 0x3c, 0x00, 0xa0, 0x22, 0x01, 0x00, 0x91, 0x68, + 0x05, 0x20, 0x10, 0x29, 0x00, 0xdb, 0x06, 0x20, + 0x20, 0x70, 0x01, 0x20, 0xa1, 0x78, 0x00, 0x28, + 0x61, 0x70, 0x0b, 0xd0, 0x00, 0x20, 0xfa, 0xf7, + 0xdc, 0xf8, 0x00, 0x21, 0x60, 0x78, 0xf4, 0xf7, + 0x3c, 0xfa, 0x0a, 0x22, 0x1e, 0x21, 0x13, 0x20, + 0x01, 0xf0, 0x7f, 0xf9, 0x10, 0xbd, 0xd1, 0x69, + 0x07, 0x20, 0x10, 0x29, 0xe8, 0xdb, 0x08, 0x20, + 0xe6, 0xe7, 0x3c, 0x00, 0xdc, 0x22, 0x01, 0x00, + 0x7c, 0x78, 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, + 0x01, 0x1c, 0x04, 0x1c, 0x44, 0x31, 0x00, 0x20, + 0xf6, 0xf7, 0x40, 0xfa, 0x30, 0x34, 0x00, 0x2d, + 0x07, 0xd0, 0x0e, 0xc8, 0x0e, 0xc4, 0x08, 0xc8, + 0x10, 0x38, 0x08, 0xc4, 0xf4, 0xf7, 0xc4, 0xf9, + 0xb0, 0xbd, 0x1e, 0xcc, 0x1e, 0xc0, 0xb0, 0xbd, + 0xf8, 0xb5, 0x08, 0x1c, 0x11, 0x1c, 0xf4, 0xf7, + 0x87, 0xfa, 0x08, 0x4c, 0x3c, 0x00, 0x18, 0x23, + 0x01, 0x00, 0x00, 0x25, 0x08, 0x4e, 0x08, 0x4f, + 0x06, 0xe0, 0x30, 0x6b, 0x00, 0x28, 0x03, 0xd0, + 0x35, 0x63, 0x20, 0x68, 0xee, 0xf7, 0x55, 0xf8, + 0x38, 0x68, 0x00, 0x28, 0xf5, 0xd0, 0xf8, 0xbd, + 0x00, 0x00, 0x5c, 0x5b, 0x01, 0x00, 0xe4, 0xfe, + 0x01, 0x00, 0x84, 0x5a, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x06, 0x00, 0x0e, 0x00, 0xf0, 0x07, 0xf8, + 0x80, 0xbd, 0x80, 0xb5, 0x0a, 0x1c, 0x3c, 0x00, + 0x54, 0x23, 0x01, 0x00, 0x23, 0x21, 0x01, 0xf0, + 0x2b, 0xfa, 0x80, 0xbd, 0xb0, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x12, 0x28, 0x03, 0xd3, 0x01, 0x21, + 0x23, 0x20, 0xee, 0xf7, 0x9b, 0xff, 0x06, 0x49, + 0xa0, 0x00, 0x08, 0x58, 0x04, 0xe0, 0x12, 0xc8, + 0x28, 0x1c, 0xee, 0xf7, 0x2e, 0xf8, 0x20, 0x1c, + 0x00, 0x28, 0xf8, 0xd1, 0xb0, 0xbd, 0x00, 0x00, + 0x68, 0x5b, 0x01, 0x00, 0xf8, 0xb5, 0x0e, 0x1c, + 0x3c, 0x00, 0x90, 0x23, 0x01, 0x00, 0x00, 0x25, + 0x04, 0x1c, 0x12, 0x28, 0x03, 0xd3, 0x01, 0x21, + 0x23, 0x20, 0xee, 0xf7, 0x82, 0xff, 0x13, 0x48, + 0xa7, 0x00, 0xc4, 0x59, 0x08, 0xe0, 0x20, 0x68, + 0xb0, 0x42, 0x03, 0xd1, 0x03, 0x21, 0x23, 0x20, + 0xee, 0xf7, 0x77, 0xff, 0x25, 0x1c, 0x64, 0x68, + 0x00, 0x2c, 0xf4, 0xd1, 0x0c, 0x4a, 0x04, 0x3a, + 0x10, 0x68, 0x00, 0x28, 0x01, 0xd0, 0x41, 0x68, + 0x11, 0x60, 0x3c, 0x00, 0xcc, 0x23, 0x01, 0x00, + 0x00, 0x28, 0x04, 0xd1, 0x02, 0x21, 0x23, 0x20, + 0xee, 0xf7, 0x66, 0xff, 0xf8, 0xbd, 0x00, 0x21, + 0x41, 0x60, 0x06, 0x60, 0x00, 0x2d, 0x01, 0xd0, + 0x68, 0x60, 0xf7, 0xe7, 0x01, 0x49, 0xc8, 0x51, + 0xf4, 0xe7, 0x00, 0x00, 0x68, 0x5b, 0x01, 0x00, + 0x70, 0xb5, 0x0e, 0x1c, 0x05, 0x1c, 0x00, 0x24, + 0x12, 0x28, 0x03, 0xd3, 0x01, 0x21, 0x23, 0x20, + 0xee, 0xf7, 0x4e, 0xff, 0x3c, 0x00, 0x08, 0x24, + 0x01, 0x00, 0x0d, 0x4b, 0xaa, 0x00, 0x98, 0x58, + 0x04, 0xe0, 0x01, 0x68, 0xb1, 0x42, 0x04, 0xd0, + 0x04, 0x1c, 0x40, 0x68, 0x00, 0x28, 0xf8, 0xd1, + 0x70, 0xbd, 0x00, 0x28, 0xfc, 0xd0, 0x00, 0x2c, + 0x41, 0x68, 0x01, 0xd1, 0x99, 0x50, 0x00, 0xe0, + 0x61, 0x60, 0x00, 0x21, 0x03, 0x4a, 0x01, 0x60, + 0x04, 0x3a, 0x11, 0x68, 0x41, 0x60, 0x10, 0x60, + 0x70, 0xbd, 0x68, 0x5b, 0x01, 0x00, 0x3c, 0x00, + 0x44, 0x24, 0x01, 0x00, 0xf3, 0xb5, 0x81, 0xb0, + 0x00, 0x28, 0x17, 0xd0, 0x01, 0x78, 0xff, 0x29, + 0x14, 0xd0, 0x45, 0x78, 0x44, 0x19, 0x02, 0x34, + 0x80, 0x27, 0x01, 0x3c, 0x26, 0x78, 0x01, 0x3d, + 0xbe, 0x43, 0x30, 0x1c, 0xf8, 0xf7, 0x82, 0xfc, + 0x01, 0x21, 0x81, 0x40, 0x02, 0x98, 0x01, 0x40, + 0x02, 0xd0, 0x3e, 0x43, 0x30, 0x1c, 0x20, 0x70, + 0x00, 0x2d, 0xee, 0xd1, 0xfe, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x24, 0x01, 0x00, 0x10, 0x4b, + 0x10, 0xb5, 0x59, 0x68, 0x41, 0x1a, 0x0f, 0x29, + 0x0d, 0xdc, 0x0e, 0x22, 0xd2, 0x43, 0x91, 0x42, + 0x09, 0xdb, 0x1a, 0x1c, 0x92, 0x68, 0x00, 0x29, + 0x01, 0xdd, 0x00, 0x2a, 0x03, 0xda, 0x00, 0x29, + 0x0d, 0xda, 0x00, 0x2a, 0x0b, 0xdc, 0x04, 0x33, + 0x03, 0xc3, 0xfd, 0xf7, 0x10, 0xfd, 0x04, 0x1c, + 0xfd, 0xf7, 0x13, 0xfd, 0x00, 0x28, 0x02, 0xd0, + 0x20, 0x1c, 0x3c, 0x00, 0xbc, 0x24, 0x01, 0x00, + 0xff, 0xf7, 0x92, 0xfe, 0x10, 0xbd, 0x00, 0x00, + 0x18, 0x63, 0x01, 0x00, 0xf8, 0xb5, 0x64, 0x4c, + 0x07, 0x1c, 0x60, 0x78, 0xa1, 0x78, 0x88, 0x42, + 0x0f, 0xd1, 0x08, 0x1c, 0xfd, 0xf7, 0xce, 0xf8, + 0xe0, 0x60, 0x04, 0x20, 0x60, 0x70, 0x0a, 0x22, + 0x1e, 0x21, 0x13, 0x20, 0x01, 0xf0, 0x70, 0xf8, + 0x00, 0x21, 0x60, 0x78, 0xf4, 0xf7, 0x24, 0xf9, + 0xf8, 0xbd, 0x04, 0x28, 0x3c, 0x00, 0xf8, 0x24, + 0x01, 0x00, 0x6e, 0xd1, 0x58, 0x4e, 0xfd, 0xf7, + 0xbc, 0xf8, 0x00, 0x90, 0x71, 0x78, 0x04, 0x1c, + 0x00, 0x20, 0x05, 0x29, 0x21, 0xd2, 0x01, 0xa3, + 0x5b, 0x5c, 0x5b, 0x00, 0x9f, 0x44, 0x0b, 0x0f, + 0x14, 0x1a, 0x02, 0x00, 0x51, 0x48, 0x51, 0x49, + 0x60, 0x43, 0x41, 0x18, 0x7d, 0x20, 0xc0, 0x00, + 0xee, 0xf7, 0x87, 0xf8, 0x11, 0xe0, 0x87, 0x20, + 0x60, 0x43, 0x4d, 0x49, 0x02, 0xe0, 0x3c, 0x00, + 0x34, 0x25, 0x01, 0x00, 0x45, 0x20, 0x4d, 0x49, + 0x60, 0x43, 0x40, 0x18, 0x08, 0xe0, 0x4c, 0x48, + 0xcd, 0x21, 0x09, 0x01, 0x60, 0x43, 0x40, 0x1a, + 0x02, 0xe0, 0x46, 0x20, 0x60, 0x43, 0x82, 0x38, + 0x06, 0x06, 0x48, 0x48, 0x07, 0x21, 0x00, 0x79, + 0x36, 0x16, 0x08, 0x1a, 0x00, 0x19, 0x00, 0x90, + 0x68, 0x46, 0xfe, 0xf7, 0x5f, 0xfd, 0x38, 0x1c, + 0xfd, 0xf7, 0x2e, 0xfb, 0x00, 0x99, 0x42, 0x4a, + 0x3c, 0x00, 0x70, 0x25, 0x01, 0x00, 0x49, 0x00, + 0x51, 0x5a, 0x48, 0x43, 0x39, 0x49, 0x04, 0x1c, + 0x88, 0x78, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x28, + 0x1e, 0xd1, 0x35, 0x49, 0x00, 0x28, 0x03, 0xd1, + 0x3a, 0x48, 0x05, 0x78, 0x04, 0x20, 0x02, 0xe0, + 0x38, 0x48, 0x45, 0x78, 0x0c, 0x20, 0x30, 0x49, + 0xc9, 0x68, 0x49, 0x1b, 0x08, 0x18, 0x00, 0x90, + 0x68, 0x46, 0xfe, 0xf7, 0x3e, 0xfd, 0x00, 0x98, + 0x33, 0x49, 0x3c, 0x00, 0xac, 0x25, 0x01, 0x00, + 0x40, 0x00, 0x20, 0x31, 0x08, 0x5a, 0x2a, 0x49, + 0x44, 0x43, 0xc8, 0x68, 0xa8, 0x42, 0x01, 0xd9, + 0x01, 0x25, 0x00, 0xe0, 0x00, 0x25, 0x2e, 0x48, + 0x21, 0x18, 0x40, 0x00, 0xee, 0xf7, 0xa2, 0xf8, + 0x04, 0x1c, 0x00, 0x2d, 0x03, 0xd0, 0xfd, 0xf7, + 0xc3, 0xfa, 0x02, 0xe0, 0x3d, 0xe0, 0xfd, 0xf7, + 0xf3, 0xfa, 0x00, 0x2f, 0x02, 0xd1, 0x25, 0x48, + 0x0e, 0x38, 0x01, 0xe0, 0x3c, 0x00, 0xe8, 0x25, + 0x01, 0x00, 0x23, 0x48, 0x0a, 0x38, 0x01, 0x68, + 0x61, 0x1a, 0xcb, 0x1c, 0x01, 0xdb, 0x03, 0x29, + 0x00, 0xdd, 0x04, 0x60, 0x01, 0x68, 0xa1, 0x42, + 0x01, 0xd2, 0x01, 0x31, 0x04, 0xe0, 0xa1, 0x42, + 0x03, 0xd9, 0x00, 0x29, 0x01, 0xd0, 0x01, 0x39, + 0x01, 0x60, 0x01, 0x68, 0x38, 0x1c, 0xfd, 0xf7, + 0xc0, 0xfb, 0x10, 0x4c, 0x0a, 0x20, 0x60, 0x70, + 0x0a, 0x22, 0x13, 0x20, 0xa1, 0x68, 0x3c, 0x00, + 0x24, 0x26, 0x01, 0x00, 0x00, 0xf0, 0xd2, 0xff, + 0x60, 0x68, 0x00, 0xf0, 0xf7, 0xfa, 0x00, 0x28, + 0x00, 0xd1, 0x5f, 0xe7, 0x00, 0xf0, 0xba, 0xfb, + 0x11, 0x49, 0x00, 0x23, 0x40, 0x18, 0x0e, 0x49, + 0x60, 0x60, 0x1e, 0x39, 0xc8, 0x56, 0xb0, 0x42, + 0xf3, 0xd0, 0x0e, 0x70, 0x31, 0x1c, 0x00, 0x20, + 0xff, 0xf7, 0x84, 0xfe, 0x4e, 0xe7, 0xff, 0xf7, + 0x15, 0xfe, 0x4b, 0xe7, 0x7c, 0x78, 0x01, 0x00, + 0x3c, 0x00, 0x60, 0x26, 0x01, 0x00, 0x60, 0xd7, + 0xff, 0xff, 0x60, 0x8f, 0x01, 0x00, 0x54, 0x0b, + 0x00, 0x00, 0xc9, 0x09, 0x00, 0x00, 0x8e, 0xfe, + 0xff, 0xff, 0x0c, 0x5a, 0x01, 0x00, 0x12, 0x5a, + 0x01, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x40, 0x42, + 0x0f, 0x00, 0x30, 0xb5, 0x0c, 0x4b, 0xfe, 0x24, + 0x1b, 0x88, 0x04, 0x40, 0xc0, 0x07, 0x5d, 0x07, + 0x6d, 0x0f, 0xdb, 0x08, 0xc0, 0x0f, 0x9c, 0x42, + 0x0b, 0xd8, 0x3c, 0x00, 0x9c, 0x26, 0x01, 0x00, + 0xa2, 0x18, 0x04, 0x3a, 0x9a, 0x42, 0x07, 0xd3, + 0x1a, 0x1b, 0x89, 0x5c, 0x01, 0x22, 0xaa, 0x40, + 0x11, 0x40, 0x01, 0xd0, 0x02, 0x21, 0x08, 0x43, + 0x30, 0xbd, 0x00, 0x00, 0xfa, 0x60, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x28, 0x03, 0xd0, 0x01, 0x1c, + 0x14, 0x20, 0xf5, 0xf7, 0xff, 0xfa, 0x80, 0xbd, + 0xb0, 0xb5, 0x04, 0x1c, 0xf7, 0xf7, 0x08, 0xfd, + 0x13, 0x4d, 0x00, 0x28, 0x3c, 0x00, 0xd8, 0x26, + 0x01, 0x00, 0x1d, 0xd1, 0xa0, 0x07, 0x16, 0xd5, + 0x02, 0x20, 0x84, 0x43, 0x11, 0x48, 0x01, 0x22, + 0x2a, 0x62, 0x40, 0x68, 0x00, 0x28, 0x13, 0xd0, + 0xf2, 0xf7, 0x51, 0xf9, 0x00, 0x28, 0x0f, 0xd1, + 0x0b, 0x48, 0xe4, 0x30, 0x80, 0x7a, 0x01, 0x28, + 0x00, 0xd0, 0x00, 0x22, 0x11, 0x1c, 0x01, 0x20, + 0xf2, 0xf7, 0xa5, 0xf9, 0x04, 0xe0, 0x00, 0xf0, + 0x4e, 0xfb, 0xe8, 0x61, 0xf2, 0xf7, 0x3c, 0x00, + 0x14, 0x27, 0x01, 0x00, 0x6b, 0xf9, 0xa9, 0x6a, + 0x00, 0x29, 0x02, 0xd0, 0x20, 0x1c, 0xed, 0xf7, + 0x5c, 0xfe, 0xb0, 0xbd, 0x60, 0x6c, 0x01, 0x00, + 0xb0, 0x57, 0x01, 0x00, 0x20, 0x48, 0xb0, 0xb5, + 0x81, 0x68, 0x01, 0x29, 0x04, 0xd1, 0x00, 0x78, + 0x00, 0x28, 0x01, 0xd1, 0xfd, 0xf7, 0x72, 0xfd, + 0x1b, 0x4d, 0x80, 0x3d, 0x2c, 0x1c, 0x70, 0x34, + 0x20, 0x78, 0x03, 0x38, 0x05, 0x28, 0x18, 0xd2, + 0x3c, 0x00, 0x50, 0x27, 0x01, 0x00, 0x01, 0xa3, + 0x1b, 0x5c, 0x5b, 0x00, 0x9f, 0x44, 0x04, 0x15, + 0x27, 0x27, 0x27, 0x00, 0xfb, 0xf7, 0xf1, 0xff, + 0x60, 0x7b, 0x01, 0x1c, 0xff, 0x31, 0x61, 0x73, + 0x00, 0x28, 0xf7, 0xd1, 0x04, 0x20, 0x20, 0x70, + 0xa8, 0x89, 0xf8, 0xf7, 0xda, 0xf9, 0x01, 0x1c, + 0x00, 0x22, 0x0f, 0x20, 0x00, 0xf0, 0x25, 0xff, + 0xb0, 0xbd, 0xef, 0xf7, 0xce, 0xff, 0x6a, 0x21, + 0x49, 0x5b, 0x3c, 0x00, 0x8c, 0x27, 0x01, 0x00, + 0x88, 0x42, 0x0b, 0xd0, 0xe8, 0x89, 0xf8, 0xf7, + 0xcb, 0xf9, 0x01, 0x1c, 0x00, 0x23, 0x00, 0x22, + 0x0f, 0x20, 0x00, 0xf0, 0xf7, 0xff, 0x07, 0x20, + 0x20, 0x70, 0xb0, 0xbd, 0xfd, 0xf7, 0x3a, 0xfe, + 0xb0, 0xbd, 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, + 0xf0, 0xb5, 0x85, 0xb0, 0x04, 0x1c, 0x03, 0x80, + 0x18, 0x0c, 0x60, 0x80, 0x0d, 0x1c, 0x51, 0x78, + 0x10, 0x78, 0x09, 0x02, 0x3c, 0x00, 0xc8, 0x27, + 0x01, 0x00, 0x48, 0x40, 0xa0, 0x80, 0xd1, 0x78, + 0x90, 0x78, 0x09, 0x02, 0x48, 0x40, 0xe0, 0x80, + 0x51, 0x79, 0x10, 0x79, 0x09, 0x02, 0x48, 0x40, + 0x20, 0x81, 0x68, 0x46, 0x1a, 0x49, 0x14, 0x22, + 0xed, 0xf7, 0xe3, 0xfe, 0x00, 0x23, 0x00, 0x20, + 0xd9, 0x07, 0xc9, 0x0f, 0x8c, 0x46, 0x42, 0x00, + 0x56, 0x07, 0x76, 0x0f, 0x61, 0x46, 0x89, 0x19, + 0x49, 0x00, 0x6e, 0x5c, 0x49, 0x19, 0x3c, 0x00, + 0x04, 0x28, 0x01, 0x00, 0x49, 0x78, 0x6f, 0x46, + 0x09, 0x02, 0x4e, 0x40, 0x81, 0x00, 0x79, 0x58, + 0x0f, 0x4f, 0x49, 0x00, 0x61, 0x5a, 0x01, 0x30, + 0x4e, 0x40, 0x31, 0x06, 0x36, 0x0a, 0x76, 0x00, + 0xc9, 0x0d, 0x79, 0x5a, 0xf6, 0x19, 0x01, 0x27, + 0x7f, 0x02, 0xf6, 0x19, 0x36, 0x88, 0x71, 0x40, + 0xa6, 0x5a, 0x89, 0x19, 0xa1, 0x52, 0x05, 0x28, + 0xdc, 0xdb, 0x20, 0x89, 0xc0, 0x18, 0x01, 0x33, + 0x3c, 0x00, 0x40, 0x28, 0x01, 0x00, 0x08, 0x2b, + 0x20, 0x81, 0xd2, 0xdb, 0x05, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xd8, 0x56, 0x01, 0x00, 0xd8, 0x52, + 0x01, 0x00, 0xf0, 0xb5, 0x05, 0x1c, 0x0c, 0x1c, + 0x1e, 0x1c, 0x00, 0x20, 0x89, 0xb0, 0x41, 0x00, + 0x53, 0x5a, 0x01, 0x30, 0x06, 0xaf, 0x7b, 0x52, + 0x05, 0x28, 0xf8, 0xdb, 0x10, 0x89, 0x00, 0xab, + 0x3a, 0x49, 0x80, 0x19, 0x58, 0x84, 0x68, 0x46, + 0x18, 0x22, 0x3c, 0x00, 0x7c, 0x28, 0x01, 0x00, + 0xed, 0xf7, 0x98, 0xfe, 0x00, 0x20, 0x41, 0x00, + 0x0a, 0x19, 0x52, 0x78, 0x63, 0x5c, 0x6f, 0x46, + 0x12, 0x02, 0x53, 0x40, 0x82, 0x00, 0xba, 0x58, + 0x06, 0xaf, 0x52, 0x00, 0xba, 0x5a, 0x31, 0x4f, + 0x01, 0x30, 0x53, 0x40, 0x1a, 0x06, 0x1b, 0x0a, + 0x5b, 0x00, 0xd2, 0x0d, 0xba, 0x5a, 0xdb, 0x19, + 0x01, 0x27, 0x7f, 0x02, 0xdb, 0x19, 0x1b, 0x88, + 0x5a, 0x40, 0x06, 0xab, 0x3c, 0x00, 0xb8, 0x28, + 0x01, 0x00, 0x5b, 0x5a, 0xd2, 0x18, 0x06, 0xab, + 0x5a, 0x52, 0x06, 0x28, 0xde, 0xdb, 0x61, 0x7b, + 0x20, 0x7b, 0x00, 0xab, 0x09, 0x02, 0x48, 0x40, + 0x59, 0x8c, 0x48, 0x40, 0x41, 0x08, 0xc0, 0x03, + 0x48, 0x40, 0x19, 0x8b, 0x40, 0x18, 0x18, 0x83, + 0xe1, 0x7b, 0xa0, 0x7b, 0x09, 0x02, 0x48, 0x40, + 0x19, 0x8b, 0x48, 0x40, 0x41, 0x08, 0xc0, 0x03, + 0x48, 0x40, 0x59, 0x8b, 0x40, 0x18, 0x3c, 0x00, + 0xf4, 0x28, 0x01, 0x00, 0x58, 0x83, 0x02, 0x20, + 0x41, 0x00, 0x06, 0xaa, 0x8a, 0x18, 0x20, 0x3a, + 0xd2, 0x8b, 0x01, 0x30, 0x53, 0x08, 0xd2, 0x03, + 0x5a, 0x40, 0x06, 0xab, 0x5b, 0x5a, 0xd2, 0x18, + 0x06, 0xab, 0x5a, 0x52, 0x06, 0x28, 0xef, 0xdb, + 0x30, 0x0a, 0x28, 0x70, 0x70, 0x04, 0x40, 0x0e, + 0x20, 0x21, 0x08, 0x43, 0x68, 0x70, 0xae, 0x70, + 0x61, 0x78, 0x20, 0x78, 0x00, 0xab, 0x09, 0x02, + 0x3c, 0x00, 0x30, 0x29, 0x01, 0x00, 0x48, 0x40, + 0x59, 0x8c, 0x48, 0x40, 0xc0, 0x05, 0x00, 0x0e, + 0xe8, 0x70, 0x00, 0x20, 0x41, 0x00, 0x06, 0xaa, + 0x53, 0x5a, 0x4a, 0x19, 0x01, 0x30, 0x13, 0x71, + 0x06, 0xab, 0x59, 0x5a, 0x09, 0x0a, 0x51, 0x71, + 0x06, 0x28, 0xf3, 0xdb, 0x09, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xec, 0x56, 0x01, 0x00, 0xd8, 0x52, + 0x01, 0x00, 0xf0, 0xb5, 0x46, 0x68, 0x05, 0x1c, + 0x60, 0x30, 0x3c, 0x00, 0x6c, 0x29, 0x01, 0x00, + 0x85, 0xb0, 0x04, 0x90, 0x60, 0xe0, 0x68, 0x68, + 0x0c, 0x21, 0x07, 0x69, 0x00, 0x20, 0xee, 0xf7, + 0x2d, 0xfe, 0x70, 0x61, 0x01, 0x89, 0x04, 0x39, + 0x09, 0x04, 0x09, 0x0c, 0x01, 0x81, 0x70, 0x69, + 0x00, 0x68, 0x40, 0x18, 0x04, 0x21, 0xee, 0xf7, + 0x21, 0xfe, 0xf0, 0x61, 0x70, 0x69, 0x20, 0x21, + 0x04, 0x68, 0x04, 0x98, 0x04, 0x22, 0x40, 0x7b, + 0x80, 0x01, 0x08, 0x43, 0x3c, 0x00, 0xa8, 0x29, + 0x01, 0x00, 0xe0, 0x70, 0x28, 0x69, 0x40, 0x89, + 0xa0, 0x70, 0x28, 0x69, 0x40, 0x89, 0x00, 0x0a, + 0x20, 0x70, 0x29, 0x69, 0x0c, 0x31, 0xa0, 0x18, + 0xed, 0xf7, 0x9b, 0xfd, 0x20, 0x78, 0x20, 0x21, + 0x40, 0x06, 0x40, 0x0e, 0x08, 0x43, 0x60, 0x70, + 0x28, 0x69, 0x0a, 0x30, 0x01, 0x88, 0x01, 0x31, + 0x09, 0x04, 0x09, 0x0c, 0x01, 0x80, 0x04, 0xd1, + 0x28, 0x69, 0x0c, 0x30, 0x01, 0x68, 0x3c, 0x00, + 0xe4, 0x29, 0x01, 0x00, 0x01, 0x31, 0x01, 0x60, + 0x35, 0x62, 0x61, 0x79, 0x20, 0x79, 0x09, 0x02, + 0x40, 0x18, 0xa1, 0x79, 0x09, 0x04, 0x40, 0x18, + 0xe1, 0x79, 0x09, 0x06, 0x43, 0x18, 0x00, 0x93, + 0xa0, 0x78, 0x21, 0x78, 0x09, 0x02, 0x40, 0x18, + 0x04, 0x04, 0x24, 0x0c, 0x10, 0x20, 0xee, 0xf7, + 0x13, 0xff, 0xb0, 0x61, 0x28, 0x69, 0x3a, 0x1c, + 0x01, 0x68, 0x00, 0x9b, 0x01, 0xa8, 0x0a, 0x32, + 0x3c, 0x00, 0x20, 0x2a, 0x01, 0x00, 0xff, 0xf7, + 0xc8, 0xfe, 0x28, 0x69, 0x23, 0x1c, 0x01, 0x68, + 0xb0, 0x69, 0x01, 0xaa, 0xff, 0xf7, 0x11, 0xff, + 0x36, 0x68, 0x00, 0x2e, 0x9c, 0xd1, 0x03, 0x49, + 0x04, 0x48, 0x6a, 0x68, 0xf7, 0xf7, 0x63, 0xfb, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xfd, 0x6b, + 0x00, 0x00, 0xa0, 0x6a, 0x01, 0x00, 0x01, 0x38, + 0x07, 0x49, 0x40, 0x00, 0x09, 0x5c, 0x00, 0x29, + 0x06, 0xd0, 0x3c, 0x00, 0x5c, 0x2a, 0x01, 0x00, + 0x04, 0x49, 0x1c, 0x39, 0x08, 0x5c, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0xe6, 0x78, 0x01, 0x00, + 0xfe, 0xb5, 0x05, 0x1c, 0x00, 0x20, 0x02, 0x90, + 0x13, 0x48, 0x17, 0x1c, 0x00, 0x68, 0x0c, 0x1c, + 0x86, 0x78, 0x30, 0x1c, 0xfd, 0xf7, 0x28, 0xfa, + 0x00, 0x28, 0x01, 0xd1, 0x02, 0x98, 0xfe, 0xbd, + 0x00, 0x2d, 0x08, 0xd1, 0x3c, 0x00, 0x98, 0x2a, + 0x01, 0x00, 0x20, 0x68, 0x00, 0xab, 0x18, 0x71, + 0x60, 0x68, 0x58, 0x71, 0xa0, 0x68, 0x98, 0x71, + 0x03, 0x20, 0x38, 0x80, 0x29, 0x1c, 0x30, 0x1c, + 0x01, 0xaa, 0x00, 0xf0, 0x0e, 0xf8, 0x00, 0x2d, + 0xec, 0xd0, 0x00, 0xab, 0x19, 0x79, 0x21, 0x60, + 0x59, 0x79, 0x61, 0x60, 0x99, 0x79, 0xa1, 0x60, + 0x0c, 0x21, 0x39, 0x80, 0xe2, 0xe7, 0xf8, 0x6b, + 0x01, 0x00, 0xf8, 0xb5, 0x15, 0x1c, 0x3c, 0x00, + 0xd4, 0x2a, 0x01, 0x00, 0x42, 0x1e, 0x01, 0x38, + 0x47, 0x00, 0x3f, 0x18, 0x1f, 0x48, 0x3e, 0x18, + 0x00, 0x29, 0x06, 0xd0, 0x01, 0x24, 0x03, 0x22, + 0x31, 0x1c, 0x28, 0x1c, 0xed, 0xf7, 0x04, 0xfd, + 0x32, 0xe0, 0x68, 0x78, 0x01, 0x24, 0x00, 0x28, + 0x05, 0xd0, 0x29, 0x78, 0x08, 0x18, 0x01, 0x38, + 0x0e, 0x28, 0x00, 0xd9, 0x00, 0x24, 0x00, 0x2c, + 0x26, 0xd0, 0x00, 0x2a, 0x07, 0xd1, 0x2a, 0x21, + 0x3c, 0x00, 0x10, 0x2b, 0x01, 0x00, 0x12, 0x48, + 0xed, 0xf7, 0x9f, 0xfc, 0x1c, 0x21, 0x11, 0x48, + 0xed, 0xf7, 0x9b, 0xfc, 0x0f, 0x48, 0x03, 0x22, + 0x29, 0x1c, 0x30, 0x1c, 0xed, 0xf7, 0xe7, 0xfc, + 0x0c, 0x48, 0x71, 0x78, 0xc0, 0x5d, 0xb2, 0x78, + 0x00, 0x29, 0x0e, 0xd0, 0x00, 0x2a, 0x0c, 0xd0, + 0x01, 0x22, 0x43, 0x18, 0x08, 0x4d, 0x06, 0xe0, + 0x41, 0x00, 0x49, 0x19, 0x10, 0x39, 0x8a, 0x73, + 0xb7, 0x78, 0x3c, 0x00, 0x4c, 0x2b, 0x01, 0x00, + 0x01, 0x30, 0xcf, 0x73, 0x83, 0x42, 0xf6, 0xd8, + 0xfe, 0xf7, 0x60, 0xf8, 0x20, 0x1c, 0xf8, 0xbd, + 0xeb, 0x62, 0x01, 0x00, 0xca, 0x78, 0x01, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x1c, 0x48, 0x00, 0x23, + 0xc0, 0x56, 0x43, 0x1c, 0x32, 0xd1, 0xa8, 0x7a, + 0xf8, 0xf7, 0x0c, 0xf9, 0x00, 0x26, 0x00, 0x28, + 0x18, 0x4c, 0x08, 0xd0, 0xe8, 0x69, 0xe1, 0x6b, + 0x00, 0x29, 0x0b, 0xd1, 0x3c, 0x00, 0x88, 0x2b, + 0x01, 0x00, 0x66, 0x63, 0x01, 0x21, 0xe1, 0x63, + 0xa6, 0x63, 0x06, 0xe0, 0xa8, 0x69, 0xe1, 0x6b, + 0x00, 0x29, 0x02, 0xd0, 0x66, 0x63, 0xa6, 0x63, + 0xe6, 0x63, 0xa1, 0x6b, 0x01, 0x31, 0xa1, 0x63, + 0x82, 0x03, 0x01, 0xd5, 0x0e, 0x4a, 0x10, 0x43, + 0xe2, 0x6b, 0x00, 0x2a, 0x00, 0xd0, 0x40, 0x42, + 0x62, 0x6b, 0x10, 0x18, 0x60, 0x63, 0x08, 0x29, + 0x0b, 0xd1, 0x00, 0x28, 0x01, 0xdd, 0x3c, 0x00, + 0xc4, 0x2b, 0x01, 0x00, 0x01, 0x20, 0x03, 0xe0, + 0x00, 0x28, 0x03, 0xda, 0x00, 0x20, 0xc0, 0x43, + 0xef, 0xf7, 0x62, 0xfe, 0x66, 0x63, 0xa6, 0x63, + 0x70, 0xbd, 0x00, 0x00, 0xf4, 0x6b, 0x01, 0x00, + 0x84, 0x6a, 0x01, 0x00, 0x00, 0x00, 0xfe, 0xff, + 0x0c, 0x21, 0x05, 0x4a, 0x41, 0x43, 0x89, 0x18, + 0x80, 0xb5, 0x89, 0x78, 0x00, 0x29, 0x01, 0xd1, + 0xf3, 0xf7, 0xf2, 0xfa, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x1c, 0x00, 0x20, + 0xf7, 0xf7, 0x03, 0xfa, 0x80, 0xbd, 0x80, 0xb5, + 0x01, 0x1c, 0x01, 0x20, 0xf7, 0xf7, 0xfd, 0xf9, + 0x80, 0xbd, 0x02, 0x49, 0x89, 0x68, 0x40, 0x1a, + 0xc0, 0x0f, 0x70, 0x47, 0x00, 0x00, 0x00, 0x01, + 0x07, 0x00, 0x02, 0x49, 0x89, 0x68, 0x08, 0x1a, + 0xc0, 0x17, 0x01, 0x30, 0x70, 0x47, 0x00, 0x01, + 0x07, 0x00, 0x3c, 0x00, 0x3c, 0x2c, 0x01, 0x00, + 0x05, 0x49, 0x4a, 0x68, 0x01, 0x23, 0x1a, 0x43, + 0x4a, 0x60, 0x8a, 0x68, 0x10, 0x18, 0x88, 0x60, + 0x48, 0x68, 0x98, 0x43, 0x48, 0x60, 0x70, 0x47, + 0x00, 0x01, 0x07, 0x00, 0x10, 0xb5, 0x15, 0x4b, + 0x00, 0x21, 0x0a, 0x01, 0x9a, 0x58, 0x00, 0x2a, + 0x17, 0xd1, 0x01, 0x24, 0x0a, 0x01, 0x9c, 0x50, + 0xd2, 0x18, 0x10, 0x73, 0x00, 0x23, 0x53, 0x73, + 0x02, 0x23, 0x01, 0x28, 0x3c, 0x00, 0x78, 0x2c, + 0x01, 0x00, 0x0e, 0x4a, 0x05, 0xd1, 0xc8, 0x00, + 0x80, 0x18, 0x10, 0x30, 0x02, 0x78, 0x9a, 0x43, + 0x04, 0xe0, 0xc8, 0x00, 0x80, 0x18, 0x10, 0x30, + 0x02, 0x78, 0x1a, 0x43, 0x02, 0x70, 0x02, 0xe0, + 0x01, 0x31, 0x08, 0x29, 0xe0, 0xdb, 0x08, 0x29, + 0x04, 0xd1, 0x01, 0x21, 0x99, 0x20, 0xee, 0xf7, + 0xfe, 0xfa, 0x03, 0x49, 0x08, 0x04, 0x00, 0x0c, + 0x10, 0xbd, 0xac, 0x73, 0x01, 0x00, 0x3c, 0x00, + 0xb4, 0x2c, 0x01, 0x00, 0x00, 0x60, 0x07, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xf7, 0xb5, 0x19, 0x4f, + 0x19, 0x4e, 0x0c, 0x1c, 0xc1, 0x00, 0xc9, 0x19, + 0xb2, 0x68, 0x10, 0x31, 0x81, 0xb0, 0x01, 0x3a, + 0x4a, 0x60, 0x0b, 0x78, 0x1d, 0x1c, 0x0d, 0x22, + 0x93, 0x43, 0x0b, 0x70, 0x01, 0x22, 0x82, 0x40, + 0x3a, 0x73, 0x12, 0x4b, 0x00, 0x01, 0x03, 0x9a, + 0xc0, 0x18, 0x82, 0x60, 0x10, 0x4a, 0x10, 0x1c, + 0x3c, 0x00, 0xf0, 0x2c, 0x01, 0x00, 0x20, 0x30, + 0x87, 0x79, 0x00, 0xab, 0x1f, 0x70, 0xc0, 0x79, + 0x58, 0x70, 0xb0, 0x68, 0x03, 0x30, 0x00, 0x23, + 0x26, 0x1a, 0x01, 0xd5, 0x04, 0x1c, 0x01, 0x23, + 0x4c, 0x60, 0x0d, 0x70, 0x00, 0x2b, 0x04, 0xd0, + 0x20, 0x1c, 0xff, 0xf7, 0x8a, 0xff, 0x00, 0x28, + 0xfa, 0xd0, 0x00, 0xab, 0x18, 0x88, 0xd0, 0x84, + 0xff, 0xbd, 0x00, 0x60, 0x07, 0x00, 0x00, 0x01, + 0x07, 0x00, 0x3c, 0x00, 0x2c, 0x2d, 0x01, 0x00, + 0xac, 0x73, 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x30, 0xb5, 0x00, 0x20, 0xc0, 0x43, 0x0b, 0x4c, + 0x09, 0x4b, 0x00, 0x22, 0xd1, 0x00, 0x09, 0x19, + 0x0d, 0x7c, 0xed, 0x07, 0x07, 0xd5, 0x49, 0x69, + 0x9d, 0x68, 0x49, 0x1b, 0x00, 0xd5, 0x00, 0x21, + 0x81, 0x42, 0x00, 0xd2, 0x08, 0x1c, 0x01, 0x32, + 0x08, 0x2a, 0xef, 0xdb, 0x30, 0xbd, 0x00, 0x00, + 0x00, 0x01, 0x07, 0x00, 0x3c, 0x00, 0x68, 0x2d, + 0x01, 0x00, 0x00, 0x60, 0x07, 0x00, 0xb0, 0xb5, + 0x08, 0x28, 0x0b, 0xd2, 0x08, 0x4d, 0x04, 0x01, + 0x29, 0x59, 0x00, 0x29, 0x04, 0xd0, 0x00, 0xf0, + 0x4a, 0xf8, 0x00, 0x20, 0x28, 0x51, 0xb0, 0xbd, + 0x02, 0x21, 0x00, 0xe0, 0x03, 0x21, 0x99, 0x20, + 0xee, 0xf7, 0x89, 0xfa, 0xb0, 0xbd, 0xac, 0x73, + 0x01, 0x00, 0x03, 0x49, 0x00, 0x01, 0x40, 0x18, + 0x41, 0x7b, 0x08, 0x22, 0x11, 0x43, 0x3c, 0x00, + 0xa4, 0x2d, 0x01, 0x00, 0x41, 0x73, 0x70, 0x47, + 0xac, 0x73, 0x01, 0x00, 0x01, 0x48, 0x80, 0x68, + 0x70, 0x47, 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, + 0x70, 0xb5, 0x0b, 0x4e, 0x09, 0x4d, 0x00, 0x22, + 0xd0, 0x00, 0x84, 0x19, 0x20, 0x7c, 0xc0, 0x07, + 0x07, 0xd5, 0x60, 0x69, 0xff, 0xf7, 0x26, 0xff, + 0x00, 0x28, 0x02, 0xd0, 0xa8, 0x68, 0x32, 0x30, + 0x60, 0x61, 0x01, 0x32, 0x08, 0x2a, 0xef, 0xdb, + 0x3c, 0x00, 0xe0, 0x2d, 0x01, 0x00, 0x70, 0xbd, + 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x60, + 0x07, 0x00, 0x02, 0x4a, 0xc0, 0x00, 0x80, 0x18, + 0x01, 0x74, 0x70, 0x47, 0x00, 0x00, 0x00, 0x60, + 0x07, 0x00, 0x04, 0x49, 0xc0, 0x00, 0x41, 0x18, + 0x08, 0x7c, 0x08, 0x23, 0x02, 0x1c, 0x9a, 0x43, + 0x0a, 0x74, 0x70, 0x47, 0x00, 0x00, 0x00, 0x60, + 0x07, 0x00, 0x70, 0xb5, 0x08, 0x28, 0x17, 0xd2, + 0x0e, 0x49, 0x3c, 0x00, 0x1c, 0x2e, 0x01, 0x00, + 0x8a, 0x68, 0x0e, 0x4d, 0x01, 0x3a, 0xc1, 0x00, + 0x49, 0x19, 0x4a, 0x61, 0x0c, 0x4b, 0x9a, 0x79, + 0x10, 0x31, 0x0c, 0x78, 0x0d, 0x26, 0xb4, 0x43, + 0x0c, 0x70, 0x01, 0x21, 0x81, 0x40, 0x29, 0x73, + 0x9a, 0x71, 0x09, 0x4a, 0x07, 0x49, 0x00, 0x01, + 0x80, 0x18, 0x41, 0x60, 0x70, 0xbd, 0x05, 0x21, + 0x99, 0x20, 0xee, 0xf7, 0x29, 0xfa, 0x70, 0xbd, + 0x00, 0x01, 0x07, 0x00, 0x3c, 0x00, 0x58, 0x2e, + 0x01, 0x00, 0x00, 0x60, 0x07, 0x00, 0x20, 0x10, + 0x07, 0x00, 0xd1, 0x75, 0x00, 0x00, 0xac, 0x73, + 0x01, 0x00, 0xf8, 0xb5, 0x9e, 0x46, 0x1a, 0x4b, + 0x94, 0x46, 0x9b, 0x68, 0x1a, 0x4c, 0xc2, 0x00, + 0x12, 0x19, 0x01, 0x3b, 0x53, 0x61, 0x15, 0x1c, + 0x18, 0x4c, 0xa6, 0x79, 0x2a, 0x1c, 0x10, 0x32, + 0x13, 0x78, 0x0d, 0x27, 0xbb, 0x43, 0x13, 0x70, + 0x01, 0x27, 0x12, 0x4b, 0x87, 0x40, 0x3c, 0x00, + 0x94, 0x2e, 0x01, 0x00, 0x1f, 0x73, 0xa6, 0x71, + 0x12, 0x4e, 0x00, 0x01, 0x80, 0x19, 0x63, 0x46, + 0x43, 0x60, 0x73, 0x46, 0x83, 0x60, 0x13, 0x78, + 0x40, 0x7b, 0xa6, 0x79, 0x01, 0x27, 0x18, 0x43, + 0x38, 0x43, 0x14, 0x35, 0x00, 0xab, 0x1e, 0x70, + 0xe4, 0x79, 0x5c, 0x70, 0x06, 0x4b, 0x9b, 0x68, + 0x03, 0x33, 0xcc, 0x1a, 0x00, 0xd5, 0x19, 0x1c, + 0x29, 0x60, 0x10, 0x70, 0x00, 0xab, 0x18, 0x88, + 0x3c, 0x00, 0xd0, 0x2e, 0x01, 0x00, 0x03, 0x4c, + 0x20, 0x3c, 0xe0, 0x84, 0xf8, 0xbd, 0x00, 0x01, + 0x07, 0x00, 0x00, 0x60, 0x07, 0x00, 0x20, 0x10, + 0x07, 0x00, 0xac, 0x73, 0x01, 0x00, 0x00, 0xb5, + 0x01, 0x1c, 0xff, 0xf7, 0x5e, 0xff, 0x42, 0x18, + 0x10, 0x1c, 0xff, 0xf7, 0x92, 0xfe, 0x00, 0x28, + 0xfa, 0xd0, 0x00, 0xbd, 0x00, 0x00, 0x89, 0x1a, + 0x40, 0x1a, 0x99, 0x18, 0x88, 0x42, 0x01, 0xd8, + 0x01, 0x20, 0x3c, 0x00, 0x0c, 0x2f, 0x01, 0x00, + 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, + 0xf8, 0xb5, 0x0f, 0x1c, 0x04, 0x1c, 0x00, 0x28, + 0x01, 0xd1, 0xee, 0xf7, 0xef, 0xf9, 0x21, 0x1c, + 0x01, 0x20, 0xff, 0xf7, 0x19, 0xfa, 0x41, 0x20, + 0x00, 0x5d, 0x00, 0x28, 0x01, 0xd1, 0x00, 0x25, + 0x04, 0xe0, 0x02, 0x28, 0x01, 0xd1, 0x05, 0x25, + 0x00, 0xe0, 0x01, 0x25, 0xe0, 0x68, 0xee, 0xf7, + 0x29, 0xfb, 0xa6, 0x6b, 0x3c, 0x00, 0x48, 0x2f, + 0x01, 0x00, 0x00, 0x2e, 0x10, 0xd0, 0x00, 0x2f, + 0x06, 0xd0, 0x2f, 0x20, 0x02, 0x5d, 0x20, 0x6a, + 0x41, 0x6b, 0x28, 0x1c, 0xed, 0xf7, 0x44, 0xfa, + 0xa0, 0x69, 0x00, 0x28, 0x01, 0xd0, 0xee, 0xf7, + 0x46, 0xfc, 0x20, 0x6a, 0xee, 0xf7, 0x43, 0xfc, + 0x20, 0x1c, 0xee, 0xf7, 0x40, 0xfc, 0x30, 0x1c, + 0xf8, 0xbd, 0xb0, 0xb5, 0x04, 0x1c, 0xc0, 0x6b, + 0x00, 0x28, 0x09, 0xd0, 0x20, 0x69, 0x3c, 0x00, + 0x84, 0x2f, 0x01, 0x00, 0x00, 0x8b, 0xee, 0xf7, + 0x55, 0xf9, 0x00, 0x28, 0x03, 0xd0, 0x21, 0x1c, + 0x06, 0x20, 0xff, 0xf7, 0xe3, 0xf9, 0x08, 0x4d, + 0x20, 0x1c, 0xa9, 0x6d, 0xff, 0xf7, 0xba, 0xff, + 0x00, 0x28, 0x07, 0xd0, 0xe8, 0x68, 0x01, 0x30, + 0xe8, 0x60, 0x28, 0x6a, 0x01, 0x38, 0x28, 0x62, + 0xfc, 0xf7, 0x78, 0xf8, 0xb0, 0xbd, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0x10, 0xb5, 0x06, 0x4c, + 0x3c, 0x00, 0xc0, 0x2f, 0x01, 0x00, 0xe1, 0x6d, + 0xff, 0xf7, 0xa7, 0xff, 0x00, 0x28, 0x04, 0xd0, + 0xe0, 0x69, 0x01, 0x38, 0xe0, 0x61, 0xfc, 0xf7, + 0x68, 0xf8, 0x10, 0xbd, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x0c, 0x23, 0x0c, 0x49, 0x58, 0x43, + 0x40, 0x18, 0x10, 0xb5, 0x44, 0x68, 0xa1, 0x68, + 0x00, 0x29, 0x02, 0xd0, 0x20, 0x1c, 0xed, 0xf7, + 0xf3, 0xf9, 0xe0, 0x6b, 0x00, 0x28, 0x08, 0xd0, + 0x20, 0x69, 0x3c, 0x00, 0xfc, 0x2f, 0x01, 0x00, + 0x00, 0x8b, 0xee, 0xf7, 0x19, 0xf9, 0x00, 0x28, + 0x02, 0xd0, 0x20, 0x1c, 0xf9, 0xf7, 0x26, 0xf9, + 0x10, 0xbd, 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, + 0xf8, 0xb5, 0x22, 0x49, 0x48, 0x68, 0x80, 0x00, + 0x06, 0xd4, 0x01, 0x20, 0x40, 0x07, 0x08, 0x60, + 0x4a, 0x69, 0x92, 0x00, 0x00, 0xd4, 0x48, 0x60, + 0x1d, 0x4f, 0x78, 0x7e, 0xc3, 0x06, 0x01, 0x20, + 0x02, 0x1c, 0xdb, 0x0e, 0x3c, 0x00, 0x38, 0x30, + 0x01, 0x00, 0x9a, 0x40, 0x0a, 0x60, 0x79, 0x69, + 0x8c, 0x68, 0x8c, 0x60, 0x21, 0x07, 0x89, 0x0f, + 0x09, 0xd0, 0x21, 0x07, 0x04, 0xd5, 0x0b, 0x21, + 0x9e, 0x20, 0xee, 0xf7, 0x28, 0xf9, 0x00, 0xe0, + 0x78, 0x64, 0x0c, 0x20, 0x84, 0x43, 0x12, 0x48, + 0x3d, 0x68, 0x06, 0x5d, 0x6c, 0x68, 0x2c, 0x34, + 0x06, 0xe0, 0xa0, 0x68, 0x00, 0x68, 0xa0, 0x60, + 0xe9, 0x68, 0x28, 0x1c, 0xed, 0xf7, 0x3c, 0x00, + 0x74, 0x30, 0x01, 0x00, 0xb2, 0xf9, 0x01, 0x3e, + 0xf6, 0xd2, 0xa0, 0x68, 0x80, 0x68, 0x00, 0x28, + 0x0d, 0xd0, 0x40, 0x89, 0x00, 0x28, 0x0a, 0xd0, + 0x78, 0x6c, 0x00, 0x28, 0x07, 0xd1, 0x78, 0x69, + 0x80, 0x68, 0x80, 0x07, 0x03, 0xd1, 0x0c, 0x21, + 0x9e, 0x20, 0xee, 0xf7, 0x03, 0xf9, 0xf8, 0xbd, + 0x00, 0x10, 0x07, 0x00, 0xcc, 0x6d, 0x01, 0x00, + 0xb4, 0x44, 0x01, 0x00, 0x09, 0x49, 0x80, 0xb5, + 0x3c, 0x00, 0xb0, 0x30, 0x01, 0x00, 0x08, 0x7e, + 0xc2, 0x06, 0xd2, 0x0e, 0x01, 0x20, 0x90, 0x40, + 0x07, 0x4a, 0x10, 0x60, 0x00, 0x20, 0x0a, 0x69, + 0xc0, 0x43, 0x90, 0x60, 0x08, 0x68, 0x24, 0x31, + 0x06, 0xc9, 0x03, 0x69, 0xed, 0xf7, 0x86, 0xf9, + 0x80, 0xbd, 0xcc, 0x6d, 0x01, 0x00, 0x00, 0x10, + 0x07, 0x00, 0xf8, 0xb5, 0x44, 0x68, 0x06, 0x1c, + 0x2c, 0x34, 0x20, 0x68, 0x0d, 0x1c, 0x80, 0x68, + 0x00, 0x90, 0x3c, 0x00, 0xec, 0x30, 0x01, 0x00, + 0x00, 0x28, 0x00, 0xd0, 0xc5, 0x60, 0x20, 0x68, + 0x00, 0x68, 0x20, 0x60, 0x40, 0x68, 0x00, 0x28, + 0x03, 0xd0, 0x0a, 0x21, 0x9e, 0x20, 0xee, 0xf7, + 0xcf, 0xf8, 0x20, 0x68, 0x45, 0x60, 0x28, 0x1c, + 0x02, 0xe0, 0x00, 0x22, 0x42, 0x60, 0x08, 0x1c, + 0xc1, 0x68, 0x00, 0x29, 0xf9, 0xd1, 0x71, 0x68, + 0x60, 0x27, 0x0b, 0x1c, 0x40, 0x33, 0x9c, 0x46, + 0x9b, 0x78, 0xca, 0x7e, 0x3c, 0x00, 0x28, 0x31, + 0x01, 0x00, 0x5b, 0x01, 0x12, 0x07, 0x12, 0x0f, + 0x3b, 0x40, 0x1a, 0x43, 0x8b, 0x8f, 0xff, 0x27, + 0x3f, 0x04, 0x1b, 0x04, 0x3b, 0x40, 0x1a, 0x43, + 0x90, 0x23, 0x1a, 0x43, 0x42, 0x60, 0x63, 0x46, + 0x9a, 0x78, 0x01, 0x32, 0xd2, 0x07, 0xd2, 0x0f, + 0x9a, 0x70, 0x89, 0x6b, 0xc1, 0x60, 0x21, 0x68, + 0x88, 0x60, 0x00, 0x98, 0x00, 0x28, 0x01, 0xd0, + 0x00, 0x98, 0xc5, 0x60, 0x0a, 0x4f, 0x3c, 0x00, + 0x64, 0x31, 0x01, 0x00, 0xbd, 0x79, 0xa0, 0x69, + 0x00, 0x28, 0x0c, 0xd0, 0x00, 0x22, 0xa2, 0x61, + 0x74, 0x68, 0x60, 0x69, 0xef, 0xf7, 0x2e, 0xff, + 0xe0, 0x6a, 0x61, 0x69, 0x40, 0x68, 0x48, 0x60, + 0x61, 0x69, 0x01, 0x20, 0x08, 0x60, 0xbd, 0x71, + 0xf8, 0xbd, 0x00, 0x00, 0x20, 0x10, 0x07, 0x00, + 0xfe, 0xb5, 0x44, 0x68, 0x0f, 0x1c, 0x01, 0x94, + 0x2c, 0x34, 0x20, 0x1c, 0x12, 0x30, 0x02, 0x90, + 0x3c, 0x00, 0xa0, 0x31, 0x01, 0x00, 0x2c, 0xe0, + 0x0c, 0x20, 0xee, 0xf7, 0x00, 0xfb, 0x05, 0x1c, + 0x60, 0x68, 0x00, 0x28, 0x1d, 0xd1, 0x02, 0x98, + 0x00, 0x21, 0x00, 0x90, 0x00, 0x20, 0xee, 0xf7, + 0x0e, 0xfa, 0x06, 0x1c, 0x00, 0x98, 0x04, 0x21, + 0xee, 0xf7, 0x09, 0xfa, 0x01, 0x1c, 0x01, 0x98, + 0xc0, 0x7e, 0x00, 0x07, 0x00, 0x0f, 0xd0, 0x30, + 0x70, 0x60, 0x01, 0x98, 0xc0, 0x7e, 0x00, 0x07, + 0x00, 0x0f, 0x3c, 0x00, 0xdc, 0x31, 0x01, 0x00, + 0xf0, 0x30, 0x48, 0x60, 0x30, 0x1c, 0xee, 0xf7, + 0x19, 0xf9, 0x65, 0x60, 0xe6, 0x60, 0x01, 0xe0, + 0x20, 0x68, 0x05, 0x60, 0x60, 0x68, 0x28, 0x60, + 0x25, 0x60, 0x00, 0x20, 0x68, 0x60, 0xa8, 0x60, + 0x38, 0x1c, 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, + 0x39, 0x1c, 0x07, 0x1c, 0x00, 0x29, 0xca, 0xd1, + 0x60, 0x68, 0xa0, 0x60, 0xfe, 0xbd, 0x00, 0x00, + 0xff, 0xb5, 0x05, 0x1c, 0x3c, 0x00, 0x18, 0x32, + 0x01, 0x00, 0x08, 0x1c, 0x00, 0x26, 0x81, 0xb0, + 0xf4, 0xf7, 0x2f, 0xfe, 0x04, 0x1c, 0x02, 0xd0, + 0x60, 0x68, 0xff, 0x28, 0x01, 0xd1, 0x06, 0x26, + 0x28, 0xe0, 0x21, 0x1c, 0x20, 0x31, 0x0a, 0x78, + 0x01, 0x2a, 0x01, 0xd1, 0x03, 0x26, 0x21, 0xe0, + 0x01, 0x27, 0x25, 0x60, 0x0f, 0x70, 0x11, 0xc5, + 0x1d, 0x48, 0x08, 0x3d, 0x68, 0x61, 0x03, 0x98, + 0x6a, 0x46, 0xe8, 0x60, 0x04, 0x98, 0x3c, 0x00, + 0x54, 0x32, 0x01, 0x00, 0x28, 0x61, 0x1a, 0x48, + 0xa8, 0x61, 0x1a, 0x48, 0xe8, 0x61, 0x1a, 0x48, + 0x28, 0x62, 0x1a, 0x48, 0x68, 0x62, 0x20, 0x7e, + 0xa1, 0x68, 0xed, 0xf7, 0xb3, 0xfe, 0x00, 0x28, + 0x06, 0xd1, 0x60, 0x7e, 0xe1, 0x68, 0x6a, 0x46, + 0xed, 0xf7, 0xac, 0xfe, 0x00, 0x28, 0x07, 0xd0, + 0x04, 0x26, 0x31, 0x1c, 0x9e, 0x20, 0xee, 0xf7, + 0x0d, 0xf8, 0x30, 0x1c, 0x05, 0xb0, 0xf0, 0xbd, + 0x3c, 0x00, 0x90, 0x32, 0x01, 0x00, 0x6a, 0x46, + 0x0f, 0x49, 0x1d, 0x20, 0xed, 0xf7, 0x9d, 0xfe, + 0x01, 0x21, 0x0d, 0x48, 0x49, 0x07, 0x01, 0x60, + 0x22, 0x7e, 0x3b, 0x1c, 0xd2, 0x06, 0xd2, 0x0e, + 0x93, 0x40, 0x43, 0x60, 0x62, 0x7e, 0xd2, 0x06, + 0xd2, 0x0e, 0x97, 0x40, 0x47, 0x60, 0x41, 0x60, + 0xe6, 0xe7, 0x31, 0x33, 0x01, 0x00, 0xd9, 0x32, + 0x01, 0x00, 0x91, 0x31, 0x01, 0x00, 0xdd, 0x30, + 0x01, 0x00, 0x3c, 0x00, 0xcc, 0x32, 0x01, 0x00, + 0xfd, 0x32, 0x01, 0x00, 0x71, 0x33, 0x01, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x42, 0x68, 0x2c, 0x32, + 0x50, 0x68, 0x43, 0x68, 0x0b, 0x60, 0x81, 0x68, + 0x4b, 0x89, 0x0b, 0x81, 0x83, 0x68, 0x00, 0x21, + 0xd9, 0x60, 0x41, 0x60, 0x81, 0x60, 0x00, 0x68, + 0x50, 0x60, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, + 0x70, 0xb5, 0x42, 0x68, 0xff, 0x26, 0x91, 0x87, + 0x10, 0x6b, 0x0c, 0x04, 0x3c, 0x00, 0x08, 0x33, + 0x01, 0x00, 0x05, 0x1c, 0x36, 0x04, 0x34, 0x40, + 0x43, 0x68, 0x59, 0x68, 0xb1, 0x43, 0x21, 0x43, + 0x59, 0x60, 0x00, 0x68, 0xa8, 0x42, 0xf7, 0xd1, + 0x10, 0x6b, 0x51, 0x69, 0x40, 0x68, 0x48, 0x60, + 0x51, 0x69, 0x01, 0x20, 0x08, 0x60, 0x70, 0xbd, + 0x00, 0x00, 0xb0, 0xb5, 0x43, 0x68, 0x08, 0x1c, + 0x59, 0x62, 0x9a, 0x62, 0x00, 0x25, 0x0a, 0xe0, + 0x45, 0x81, 0xc4, 0x68, 0x2a, 0x1c, 0x3c, 0x00, + 0x44, 0x33, 0x01, 0x00, 0x00, 0x2c, 0x03, 0xd1, + 0x9a, 0x7e, 0x12, 0x07, 0x12, 0x0f, 0x10, 0x32, + 0x42, 0x60, 0x20, 0x1c, 0x00, 0x28, 0xf2, 0xd1, + 0x18, 0x69, 0x41, 0x60, 0x19, 0x69, 0x01, 0x20, + 0x08, 0x60, 0x02, 0x48, 0x00, 0x68, 0xed, 0xf7, + 0x37, 0xf8, 0xb0, 0xbd, 0x5c, 0x5b, 0x01, 0x00, + 0x01, 0x20, 0x05, 0x49, 0x40, 0x07, 0x80, 0xb5, + 0x88, 0x60, 0x04, 0x48, 0x01, 0x68, 0x0d, 0x20, + 0x3c, 0x00, 0x80, 0x33, 0x01, 0x00, 0xfe, 0xf7, + 0xe6, 0xff, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0xc4, 0x60, 0x01, 0x00, 0xf8, 0xb5, + 0x0e, 0x4f, 0x0c, 0x4e, 0x00, 0x24, 0x48, 0x20, + 0x60, 0x43, 0xc5, 0x19, 0x48, 0x21, 0x28, 0x1c, + 0xed, 0xf7, 0x7b, 0xf8, 0x1c, 0x20, 0x60, 0x43, + 0x81, 0x19, 0x28, 0x1d, 0x1c, 0x22, 0xed, 0xf7, + 0xfe, 0xf8, 0x1c, 0x23, 0xe8, 0x56, 0x05, 0x49, + 0xfb, 0xf7, 0x3c, 0x00, 0xbc, 0x33, 0x01, 0x00, + 0xcd, 0xf8, 0x01, 0x34, 0x01, 0x2c, 0xe9, 0xd3, + 0xf8, 0xbd, 0x00, 0x00, 0xb8, 0x44, 0x01, 0x00, + 0xcc, 0x6d, 0x01, 0x00, 0x15, 0x32, 0x01, 0x00, + 0xff, 0xb5, 0x05, 0x1c, 0x0a, 0x30, 0x06, 0x1c, + 0x81, 0xb0, 0xf2, 0xf7, 0xdd, 0xf8, 0x18, 0x4f, + 0x04, 0x1c, 0x39, 0x88, 0xef, 0xf7, 0xbc, 0xfc, + 0x32, 0x88, 0x78, 0x68, 0x02, 0x80, 0x72, 0x88, + 0x02, 0x30, 0x02, 0x80, 0x3c, 0x00, 0xf8, 0x33, + 0x01, 0x00, 0xb1, 0x88, 0x12, 0x4e, 0x41, 0x80, + 0x28, 0x88, 0x08, 0x36, 0x40, 0x05, 0x00, 0x28, + 0x05, 0xda, 0x69, 0x88, 0x03, 0x9a, 0x20, 0x1c, + 0xf7, 0xf7, 0x01, 0xfd, 0x00, 0xe0, 0x00, 0x20, + 0x70, 0x80, 0xf8, 0xf7, 0x5e, 0xfc, 0x01, 0x21, + 0x09, 0x03, 0x00, 0x28, 0x30, 0x88, 0x01, 0xd0, + 0x88, 0x43, 0x00, 0xe0, 0x08, 0x43, 0x30, 0x80, + 0x05, 0x48, 0x00, 0x22, 0x00, 0x21, 0x3c, 0x00, + 0x34, 0x34, 0x01, 0x00, 0x14, 0x30, 0xef, 0xf7, + 0x65, 0xfc, 0x20, 0x1c, 0xf9, 0xf7, 0x74, 0xf8, + 0x05, 0xb0, 0xf0, 0xbd, 0xb0, 0x7a, 0x01, 0x00, + 0x10, 0xb5, 0x0e, 0x4c, 0x60, 0x68, 0xf8, 0xf7, + 0x95, 0xf9, 0x20, 0x68, 0x00, 0x6a, 0x00, 0x28, + 0x13, 0xd1, 0xf8, 0xf7, 0xbf, 0xfc, 0x00, 0x28, + 0x08, 0xd0, 0x21, 0x68, 0x01, 0x20, 0x08, 0x62, + 0x1f, 0x21, 0x00, 0x22, 0x83, 0x20, 0x00, 0xf0, + 0x3c, 0x00, 0x70, 0x34, 0x01, 0x00, 0x9f, 0xf9, + 0x02, 0xe0, 0x60, 0x68, 0xf8, 0xf7, 0x21, 0xfa, + 0xff, 0xf7, 0x97, 0xfc, 0x21, 0x68, 0x08, 0x61, + 0x10, 0xbd, 0x14, 0x7a, 0x01, 0x00, 0xfe, 0xb5, + 0x1b, 0x4e, 0x0f, 0x1c, 0x1d, 0x1c, 0x14, 0x1c, + 0xb0, 0x60, 0x08, 0x1c, 0xf7, 0xf7, 0x2b, 0xff, + 0xb0, 0x80, 0x34, 0x73, 0x35, 0x62, 0x38, 0x1c, + 0x01, 0xaa, 0x02, 0xa9, 0xf7, 0xf7, 0x25, 0xff, + 0x00, 0xab, 0x3c, 0x00, 0xac, 0x34, 0x01, 0x00, + 0x18, 0x7a, 0x01, 0x28, 0x18, 0xd1, 0x18, 0x79, + 0x0b, 0x28, 0x08, 0xd1, 0x30, 0x7f, 0x24, 0x23, + 0x0f, 0x49, 0x58, 0x43, 0x40, 0x18, 0x80, 0x68, + 0xec, 0xf7, 0x88, 0xff, 0xfe, 0xbd, 0x00, 0xab, + 0x18, 0x79, 0x0a, 0x28, 0x08, 0xd1, 0xf7, 0xf7, + 0x39, 0xfd, 0x07, 0x1c, 0x29, 0x1c, 0x20, 0x1c, + 0xf7, 0xf7, 0x16, 0xfd, 0x38, 0x18, 0xb0, 0x80, + 0x30, 0x7f, 0x24, 0x23, 0x3c, 0x00, 0xe8, 0x34, + 0x01, 0x00, 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x40, 0x68, 0xec, 0xf7, 0x72, 0xff, 0xe8, 0xe7, + 0x00, 0x00, 0xd4, 0x79, 0x01, 0x00, 0x94, 0x46, + 0x01, 0x00, 0xb0, 0xb5, 0xff, 0xf7, 0x53, 0xfc, + 0x04, 0x1c, 0xfb, 0xf7, 0xfc, 0xfa, 0x0c, 0x4d, + 0x29, 0x68, 0x09, 0x69, 0x09, 0x1b, 0x0c, 0x1a, + 0x02, 0x21, 0x1f, 0x20, 0x00, 0xf0, 0x8b, 0xf8, + 0x14, 0x2c, 0x06, 0xdd, 0x02, 0x22, 0x3c, 0x00, + 0x24, 0x35, 0x01, 0x00, 0x21, 0x1c, 0x1f, 0x20, + 0x00, 0xf0, 0x50, 0xf8, 0x01, 0x20, 0xb0, 0xbd, + 0x29, 0x68, 0x01, 0x20, 0x89, 0x6a, 0x00, 0x29, + 0xf9, 0xd0, 0x00, 0x20, 0xb0, 0xbd, 0x00, 0x00, + 0x14, 0x7a, 0x01, 0x00, 0xf8, 0xb5, 0x1a, 0x4d, + 0x07, 0x1c, 0xae, 0x79, 0x01, 0x21, 0x19, 0x4c, + 0x00, 0x20, 0x22, 0x68, 0x00, 0x2a, 0x14, 0xd1, + 0xae, 0x71, 0xa2, 0x68, 0xd0, 0x68, 0x06, 0xca, + 0x3c, 0x00, 0x60, 0x35, 0x01, 0x00, 0xec, 0xf7, + 0x3c, 0xff, 0xae, 0x79, 0x00, 0x21, 0x13, 0x4a, + 0x50, 0x69, 0x01, 0x30, 0x50, 0x61, 0xa0, 0x68, + 0x80, 0x68, 0xa0, 0x60, 0x62, 0x68, 0x90, 0x42, + 0x06, 0xd1, 0x01, 0x20, 0x20, 0x60, 0x03, 0xe0, + 0x01, 0x30, 0x0c, 0x34, 0x03, 0x28, 0xe3, 0xdb, + 0x00, 0x2f, 0x08, 0xd1, 0x00, 0x29, 0x0a, 0xd0, + 0x0a, 0x48, 0x40, 0x68, 0x00, 0x28, 0x06, 0xd0, + 0xfa, 0xf7, 0x3c, 0x00, 0x9c, 0x35, 0x01, 0x00, + 0xf5, 0xff, 0x03, 0xe0, 0x01, 0x2f, 0x03, 0xd0, + 0x00, 0x29, 0x01, 0xd1, 0xae, 0x71, 0xce, 0xe7, + 0xae, 0x71, 0xf8, 0xbd, 0x20, 0x10, 0x07, 0x00, + 0x18, 0xd9, 0x01, 0x00, 0xa8, 0x60, 0x01, 0x00, + 0x70, 0x5d, 0x01, 0x00, 0x80, 0xb5, 0x01, 0x23, + 0xf5, 0xf7, 0x7c, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0x23, 0xf5, 0xf7, 0x76, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x35, + 0x01, 0x00, 0xf8, 0xb5, 0x13, 0x4b, 0x00, 0x24, + 0x1b, 0x88, 0x98, 0x42, 0x1b, 0xd2, 0x11, 0x4b, + 0xc0, 0x00, 0xc0, 0x18, 0x45, 0x68, 0x06, 0x68, + 0x28, 0x68, 0x00, 0x28, 0x17, 0xd1, 0x0e, 0x4f, + 0xa8, 0x68, 0x43, 0x68, 0xb3, 0x42, 0x09, 0xd1, + 0xc3, 0x68, 0x8b, 0x42, 0x06, 0xd1, 0x03, 0x68, + 0x93, 0x42, 0x01, 0xd0, 0x53, 0x1c, 0x01, 0xd1, + 0x01, 0x24, 0x47, 0x60, 0x80, 0x68, 0x3c, 0x00, + 0x14, 0x36, 0x01, 0x00, 0x6b, 0x68, 0x83, 0x42, + 0xee, 0xd1, 0x03, 0xe0, 0x01, 0x21, 0x80, 0x20, + 0xed, 0xf7, 0x40, 0xfe, 0x20, 0x1c, 0xf8, 0xbd, + 0x56, 0x57, 0x01, 0x00, 0x84, 0x5d, 0x01, 0x00, + 0x29, 0xe3, 0x00, 0x00, 0xf8, 0xb5, 0x17, 0x4f, + 0x0a, 0x1c, 0xbe, 0x79, 0x16, 0x4d, 0x00, 0x23, + 0x6c, 0x68, 0x07, 0xe0, 0x21, 0x68, 0x91, 0x42, + 0x02, 0xd1, 0x21, 0x79, 0x81, 0x42, 0x04, 0xd0, + 0x3c, 0x00, 0x50, 0x36, 0x01, 0x00, 0x23, 0x1c, + 0xe4, 0x68, 0x00, 0x2c, 0xf5, 0xd1, 0x17, 0xe0, + 0x00, 0x2c, 0x15, 0xd0, 0x00, 0x2b, 0x0d, 0xd1, + 0xe3, 0x68, 0x0d, 0x48, 0x6b, 0x60, 0x00, 0x88, + 0x00, 0x2b, 0x02, 0xd1, 0xff, 0xf7, 0xd1, 0xfb, + 0x06, 0xe0, 0x0a, 0x4a, 0x99, 0x68, 0xff, 0xf7, + 0xf6, 0xfb, 0x01, 0xe0, 0xe0, 0x68, 0xd8, 0x60, + 0x28, 0x68, 0xe0, 0x60, 0x2c, 0x60, 0x02, 0xe0, + 0x01, 0x21, 0x3c, 0x00, 0x8c, 0x36, 0x01, 0x00, + 0xff, 0xf7, 0xa4, 0xff, 0xbe, 0x71, 0xf8, 0xbd, + 0x20, 0x10, 0x07, 0x00, 0x7c, 0x5d, 0x01, 0x00, + 0x2c, 0x74, 0x01, 0x00, 0x21, 0x38, 0x01, 0x00, + 0x70, 0xb5, 0x09, 0x4e, 0xb5, 0x79, 0xf9, 0xf7, + 0xaf, 0xfe, 0x04, 0x1c, 0x09, 0xd0, 0x20, 0x1c, + 0xed, 0xf7, 0x0c, 0xfb, 0x05, 0x49, 0x8a, 0x68, + 0x80, 0x18, 0x88, 0x60, 0x08, 0x68, 0x01, 0x30, + 0x08, 0x60, 0xb5, 0x71, 0x3c, 0x00, 0xc8, 0x36, + 0x01, 0x00, 0x20, 0x1c, 0x70, 0xbd, 0x20, 0x10, + 0x07, 0x00, 0xa8, 0x60, 0x01, 0x00, 0x09, 0x48, + 0x80, 0xb5, 0x40, 0x68, 0x02, 0x1c, 0x0b, 0xe0, + 0x01, 0x69, 0x00, 0x29, 0x07, 0xd0, 0x82, 0x42, + 0x04, 0xd0, 0x81, 0x68, 0x05, 0x48, 0x00, 0x88, + 0xff, 0xf7, 0xe5, 0xfa, 0x80, 0xbd, 0xc0, 0x68, + 0x00, 0x28, 0xf1, 0xd1, 0x80, 0xbd, 0x7c, 0x5d, + 0x01, 0x00, 0x2c, 0x74, 0x01, 0x00, 0x3c, 0x00, + 0x04, 0x37, 0x01, 0x00, 0x05, 0x48, 0x80, 0xb5, + 0x42, 0x68, 0x00, 0x2a, 0x04, 0xd0, 0x04, 0x48, + 0x00, 0x88, 0x91, 0x68, 0xff, 0xf7, 0xd2, 0xfa, + 0x80, 0xbd, 0x00, 0x00, 0x7c, 0x5d, 0x01, 0x00, + 0x2c, 0x74, 0x01, 0x00, 0x05, 0x48, 0x01, 0x68, + 0x00, 0x29, 0x04, 0xd0, 0xc0, 0x68, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x18, 0xd9, 0x01, 0x00, + 0x3c, 0x00, 0x40, 0x37, 0x01, 0x00, 0x80, 0xb5, + 0xf6, 0xf7, 0xd1, 0xfa, 0x80, 0xbd, 0x13, 0x1c, + 0x0d, 0x4a, 0xb0, 0xb5, 0x12, 0x88, 0x90, 0x42, + 0x0f, 0xd2, 0x03, 0x29, 0x0d, 0xd2, 0x0a, 0x4a, + 0xc0, 0x00, 0x14, 0x58, 0x0a, 0x4d, 0xac, 0x42, + 0x07, 0xd1, 0x13, 0x50, 0x0c, 0x23, 0x59, 0x43, + 0x08, 0x4b, 0xc9, 0x18, 0x80, 0x18, 0x41, 0x60, + 0xb0, 0xbd, 0x02, 0x21, 0x80, 0x20, 0xed, 0xf7, + 0x94, 0xfd, 0x3c, 0x00, 0x7c, 0x37, 0x01, 0x00, + 0xb0, 0xbd, 0x00, 0x00, 0x56, 0x57, 0x01, 0x00, + 0x84, 0x5d, 0x01, 0x00, 0x09, 0xa0, 0x00, 0x00, + 0x18, 0xd9, 0x01, 0x00, 0xf8, 0xb5, 0x0f, 0x1c, + 0x1e, 0x1c, 0x15, 0x1c, 0x04, 0x1c, 0x11, 0x1c, + 0xff, 0xf7, 0x4a, 0xff, 0x33, 0x1c, 0x2a, 0x1c, + 0x39, 0x1c, 0x20, 0x1c, 0xf4, 0xf7, 0x8a, 0xff, + 0xf8, 0xbd, 0x00, 0x00, 0xf7, 0xb5, 0x94, 0x46, + 0xff, 0x29, 0x21, 0xd0, 0x3c, 0x00, 0xb8, 0x37, + 0x01, 0x00, 0x15, 0x48, 0x00, 0x88, 0x81, 0x42, + 0x21, 0xd2, 0x14, 0x4a, 0x15, 0x4e, 0xc8, 0x00, + 0x85, 0x18, 0xb4, 0x79, 0x68, 0x68, 0x02, 0x68, + 0x00, 0x2a, 0x03, 0xd1, 0x03, 0x1d, 0x0c, 0xcb, + 0x9a, 0x42, 0x11, 0xd0, 0x43, 0x68, 0x9a, 0x68, + 0x42, 0x60, 0x0e, 0x4a, 0x17, 0x69, 0x01, 0x37, + 0x17, 0x61, 0xb4, 0x71, 0x00, 0x22, 0x02, 0x60, + 0x00, 0x98, 0xd8, 0x60, 0x60, 0x46, 0x3c, 0x00, + 0xf4, 0x37, 0x01, 0x00, 0x18, 0x60, 0x19, 0x74, + 0x28, 0x68, 0x58, 0x60, 0xfe, 0xbd, 0xb4, 0x71, + 0x06, 0x21, 0x00, 0xe0, 0x07, 0x21, 0x80, 0x20, + 0xed, 0xf7, 0x4c, 0xfd, 0xf6, 0xe7, 0x00, 0x00, + 0x56, 0x57, 0x01, 0x00, 0x84, 0x5d, 0x01, 0x00, + 0x20, 0x10, 0x07, 0x00, 0xa8, 0x60, 0x01, 0x00, + 0xb0, 0xb5, 0x14, 0x4d, 0x6c, 0x68, 0x00, 0x2c, + 0x01, 0xd0, 0x84, 0x42, 0x04, 0xd0, 0x0c, 0x21, + 0x3c, 0x00, 0x30, 0x38, 0x01, 0x00, 0x80, 0x20, + 0xed, 0xf7, 0x37, 0xfd, 0xb0, 0xbd, 0xff, 0xf7, + 0xb8, 0xfa, 0xa1, 0x68, 0x40, 0x1a, 0x0d, 0x49, + 0x88, 0x42, 0x03, 0xda, 0x10, 0x21, 0x80, 0x20, + 0xed, 0xf7, 0x2b, 0xfd, 0x21, 0x79, 0x22, 0x68, + 0x01, 0x20, 0xff, 0xf7, 0xac, 0xff, 0xe3, 0x68, + 0x6b, 0x60, 0x00, 0x2b, 0x05, 0xd0, 0x07, 0x48, + 0x06, 0x4a, 0x00, 0x88, 0x99, 0x68, 0xff, 0xf7, + 0xfe, 0xfa, 0x3c, 0x00, 0x6c, 0x38, 0x01, 0x00, + 0x28, 0x68, 0xe0, 0x60, 0x2c, 0x60, 0xb0, 0xbd, + 0x7c, 0x5d, 0x01, 0x00, 0x18, 0xfc, 0xff, 0xff, + 0x21, 0x38, 0x01, 0x00, 0x2c, 0x74, 0x01, 0x00, + 0xb0, 0xb5, 0x15, 0x4c, 0x08, 0x20, 0x21, 0x1c, + 0x80, 0x31, 0x08, 0x70, 0x13, 0x4a, 0x41, 0x04, + 0x11, 0x60, 0x13, 0x48, 0x00, 0x68, 0x13, 0x4d, + 0x6b, 0x69, 0x18, 0x40, 0x01, 0xd1, 0x10, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x3c, 0x00, 0xa8, 0x38, + 0x01, 0x00, 0xa8, 0x23, 0x5b, 0x5d, 0x18, 0x43, + 0x23, 0x1c, 0x40, 0x33, 0x18, 0x73, 0x51, 0x60, + 0x20, 0x78, 0x80, 0x08, 0x80, 0x00, 0x20, 0x70, + 0x00, 0x20, 0xff, 0xf7, 0x12, 0xfb, 0xff, 0xf7, + 0x72, 0xfa, 0x64, 0x30, 0x28, 0x66, 0x01, 0x38, + 0xa0, 0x61, 0x20, 0x78, 0x03, 0x21, 0x08, 0x43, + 0x20, 0x70, 0xb0, 0xbd, 0x00, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, 0x3c, 0x00, + 0xe4, 0x38, 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, + 0xa4, 0x6c, 0x01, 0x00, 0x38, 0xb5, 0x0a, 0x4c, + 0x21, 0x1c, 0x20, 0x31, 0x8a, 0x79, 0x00, 0xab, + 0x1a, 0x70, 0xc9, 0x79, 0x07, 0x4d, 0x59, 0x70, + 0x69, 0x78, 0x88, 0x42, 0x03, 0xd1, 0xf8, 0xf7, + 0x13, 0xfc, 0xff, 0x20, 0x68, 0x70, 0x00, 0xab, + 0x18, 0x88, 0xe0, 0x84, 0x38, 0xbd, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x4c, 0x7b, 0x01, 0x00, + 0x3c, 0x00, 0x20, 0x39, 0x01, 0x00, 0xf8, 0xb5, + 0x0b, 0x1c, 0x06, 0x1c, 0x04, 0x1d, 0x7f, 0x33, + 0x14, 0xd0, 0x33, 0x68, 0x5d, 0x18, 0x35, 0x60, + 0x23, 0x88, 0x1f, 0x18, 0x06, 0x23, 0xff, 0x56, + 0xeb, 0x1b, 0x33, 0x60, 0x23, 0x88, 0x18, 0x18, + 0x81, 0x71, 0x20, 0x88, 0x01, 0x30, 0x00, 0x04, + 0x00, 0x0c, 0x20, 0x80, 0x90, 0x42, 0x01, 0xd3, + 0x00, 0x20, 0x20, 0x80, 0x10, 0x1c, 0x31, 0x68, + 0xec, 0xf7, 0x3c, 0x00, 0x5c, 0x39, 0x01, 0x00, + 0x6d, 0xfe, 0xf8, 0xbd, 0x0e, 0x49, 0x0a, 0x7c, + 0x83, 0x78, 0x1a, 0x43, 0x0a, 0x74, 0x42, 0x78, + 0x83, 0x78, 0x9a, 0x43, 0x0b, 0x7c, 0x93, 0x43, + 0x0b, 0x74, 0x8a, 0x7c, 0x43, 0x78, 0x1a, 0x43, + 0x8a, 0x74, 0x8a, 0x7c, 0x03, 0x78, 0x9a, 0x43, + 0x8a, 0x74, 0x02, 0x78, 0x43, 0x78, 0x1a, 0x43, + 0x4b, 0x7c, 0x1a, 0x43, 0x4a, 0x74, 0x4a, 0x7c, + 0xc0, 0x78, 0x82, 0x43, 0x3c, 0x00, 0x98, 0x39, + 0x01, 0x00, 0x4a, 0x74, 0x70, 0x47, 0x10, 0x00, + 0x07, 0x00, 0xb0, 0xb5, 0x06, 0x4d, 0x00, 0x24, + 0x20, 0x06, 0x00, 0x0e, 0xed, 0xf7, 0xf7, 0xf8, + 0xa1, 0x00, 0x69, 0x58, 0x08, 0x71, 0x01, 0x34, + 0x04, 0x2c, 0xf5, 0xdb, 0xb0, 0xbd, 0x10, 0x7b, + 0x01, 0x00, 0x0b, 0x48, 0x0c, 0x49, 0x7d, 0x23, + 0x42, 0x69, 0xdb, 0x00, 0x00, 0x2a, 0xc8, 0x6b, + 0x07, 0xd0, 0xc0, 0x18, 0x1a, 0x01, 0x3c, 0x00, + 0xd4, 0x39, 0x01, 0x00, 0x90, 0x42, 0xc8, 0x63, + 0x01, 0xd9, 0x07, 0x48, 0xc8, 0x63, 0x70, 0x47, + 0xff, 0x38, 0xf5, 0x38, 0xc8, 0x63, 0x98, 0x42, + 0xf9, 0xd2, 0xcb, 0x63, 0x70, 0x47, 0x00, 0x00, + 0xf4, 0x68, 0x01, 0x00, 0x44, 0x7d, 0x01, 0x00, + 0x70, 0x17, 0x00, 0x00, 0x70, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x16, 0x1c, 0xfb, 0xf7, 0xf6, 0xfa, + 0xb0, 0x43, 0x28, 0x43, 0x01, 0x1c, 0x20, 0x1c, + 0x3c, 0x00, 0x10, 0x3a, 0x01, 0x00, 0x00, 0xf0, + 0xcc, 0xfa, 0x70, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0x0b, 0x4a, 0x00, 0x29, 0x09, 0xd0, 0x02, 0x29, + 0x0f, 0xd1, 0x01, 0x1c, 0x08, 0x48, 0xd2, 0x78, + 0x38, 0x30, 0xff, 0xf7, 0x78, 0xff, 0x06, 0x49, + 0x06, 0xe0, 0x01, 0x1c, 0x04, 0x48, 0x12, 0x79, + 0x20, 0x30, 0xff, 0xf7, 0x70, 0xff, 0x03, 0x49, + 0x08, 0x60, 0x80, 0xbd, 0x00, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0x3c, 0x00, 0x4c, 0x3a, 0x01, 0x00, + 0xc8, 0x67, 0x01, 0x00, 0xc4, 0x67, 0x01, 0x00, + 0x80, 0xb5, 0x0b, 0x4a, 0x00, 0x29, 0x09, 0xd0, + 0x02, 0x29, 0x0f, 0xd1, 0x01, 0x1c, 0x08, 0x48, + 0x52, 0x79, 0x68, 0x30, 0xff, 0xf7, 0x5a, 0xff, + 0x06, 0x49, 0x06, 0xe0, 0x01, 0x1c, 0x04, 0x48, + 0x92, 0x79, 0x50, 0x30, 0xff, 0xf7, 0x52, 0xff, + 0x03, 0x49, 0x08, 0x60, 0x80, 0xbd, 0x00, 0x00, + 0xac, 0x7c, 0x01, 0x00, 0x3c, 0x00, 0x88, 0x3a, + 0x01, 0x00, 0xd0, 0x67, 0x01, 0x00, 0xcc, 0x67, + 0x01, 0x00, 0x08, 0xb5, 0x04, 0x21, 0x00, 0x91, + 0x81, 0x7e, 0x43, 0x68, 0x03, 0x29, 0x06, 0xd1, + 0x01, 0x1c, 0x0c, 0x31, 0x01, 0x20, 0x6a, 0x46, + 0xec, 0xf7, 0x9a, 0xfc, 0x08, 0xbd, 0x19, 0x68, + 0xc1, 0x60, 0xfb, 0xe7, 0x00, 0x00, 0x10, 0xb5, + 0x03, 0x1c, 0x00, 0x20, 0x08, 0x4c, 0x00, 0x21, + 0xca, 0x00, 0x12, 0x19, 0x92, 0x78, 0x3c, 0x00, + 0xc4, 0x3a, 0x01, 0x00, 0x9a, 0x42, 0x03, 0xd1, + 0xc8, 0x00, 0x00, 0x19, 0x40, 0x68, 0x10, 0xbd, + 0x01, 0x31, 0x09, 0x06, 0x09, 0x16, 0x06, 0x29, + 0xf1, 0xdb, 0x10, 0xbd, 0xcc, 0x5a, 0x01, 0x00, + 0xf8, 0xb5, 0x0f, 0x1c, 0x16, 0x1c, 0x00, 0x25, + 0xfe, 0xf7, 0x8e, 0xf9, 0x04, 0x1c, 0x0a, 0xd0, + 0x4a, 0x20, 0x00, 0x5d, 0x05, 0x28, 0x06, 0xd1, + 0x38, 0x1c, 0xf1, 0xf7, 0x81, 0xfe, 0x00, 0x28, + 0x3c, 0x00, 0x00, 0x3b, 0x01, 0x00, 0x01, 0xd0, + 0x01, 0x25, 0x34, 0x60, 0x28, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x70, 0xb5, 0x0d, 0x1c, 0x16, 0x1c, + 0x00, 0x24, 0xfe, 0xf7, 0x78, 0xf9, 0x00, 0x28, + 0x0b, 0xd0, 0x4a, 0x21, 0x09, 0x5c, 0x05, 0x29, + 0x07, 0xd1, 0x01, 0x69, 0x00, 0x29, 0x04, 0xd1, + 0x30, 0x60, 0xf1, 0xf7, 0x04, 0xfd, 0x01, 0x24, + 0x28, 0x60, 0x20, 0x1c, 0x70, 0xbd, 0xf8, 0xb5, + 0x06, 0x1c, 0x3c, 0x00, 0x3c, 0x3b, 0x01, 0x00, + 0x00, 0x25, 0x0c, 0x1c, 0x08, 0x1c, 0xf1, 0xf7, + 0x5d, 0xfe, 0x00, 0x28, 0x01, 0xd0, 0x00, 0x21, + 0x05, 0xe0, 0x20, 0x1c, 0xf1, 0xf7, 0x74, 0xfe, + 0x00, 0x28, 0x14, 0xd0, 0x01, 0x21, 0x30, 0x1c, + 0xf4, 0xf7, 0x80, 0xfb, 0x00, 0x90, 0x00, 0x28, + 0x0d, 0xd0, 0x08, 0x4f, 0x01, 0x25, 0x06, 0x22, + 0x31, 0x1c, 0x38, 0x1c, 0xec, 0xf7, 0xc2, 0xfc, + 0x06, 0x22, 0x21, 0x1c, 0x3c, 0x00, 0x78, 0x3b, + 0x01, 0x00, 0xb8, 0x18, 0xec, 0xf7, 0xbd, 0xfc, + 0x00, 0x98, 0xf8, 0x60, 0x28, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x00, 0x21, + 0x00, 0x28, 0x06, 0xd0, 0x42, 0x78, 0x07, 0x2a, + 0x03, 0xd1, 0xc0, 0x79, 0x01, 0x28, 0x00, 0xd1, + 0x01, 0x21, 0x08, 0x1c, 0x70, 0x47, 0xf8, 0xb5, + 0x05, 0x1c, 0x00, 0x27, 0x16, 0x4e, 0xf1, 0xf7, + 0x28, 0xfe, 0x00, 0x28, 0x07, 0xd0, 0x3c, 0x00, + 0xb4, 0x3b, 0x01, 0x00, 0xf1, 0xf7, 0xc0, 0xfb, + 0x00, 0x28, 0x10, 0xd1, 0x00, 0x24, 0xf1, 0xf7, + 0xbb, 0xfc, 0x06, 0xe0, 0xf1, 0xf7, 0x02, 0xfe, + 0x00, 0x28, 0x08, 0xd0, 0x01, 0x24, 0xf1, 0xf7, + 0x99, 0xfd, 0x01, 0x1c, 0x06, 0x22, 0x30, 0x1c, + 0xec, 0xf7, 0x8e, 0xfc, 0x01, 0x27, 0x00, 0x2f, + 0x0d, 0xd0, 0x21, 0x1c, 0x28, 0x1c, 0xf4, 0xf7, + 0x3b, 0xfb, 0x01, 0x1c, 0x05, 0x48, 0x06, 0x22, + 0x3c, 0x00, 0xf0, 0x3b, 0x01, 0x00, 0x06, 0x38, + 0xc1, 0x60, 0x29, 0x1c, 0xec, 0xf7, 0x7f, 0xfc, + 0x01, 0x20, 0xf8, 0xbd, 0x00, 0x20, 0xfc, 0xe7, + 0x00, 0x00, 0x76, 0x7c, 0x01, 0x00, 0xf0, 0xb5, + 0x07, 0x1c, 0x00, 0x68, 0x02, 0x21, 0x04, 0x68, + 0x78, 0x69, 0x87, 0xb0, 0x01, 0x40, 0x00, 0x25, + 0x00, 0x29, 0x05, 0x91, 0x74, 0x4e, 0x12, 0xd0, + 0x22, 0x88, 0x01, 0x21, 0x13, 0x05, 0x02, 0xd4, + 0xc0, 0x07, 0x3c, 0x00, 0x2c, 0x3c, 0x01, 0x00, + 0xc1, 0x17, 0x01, 0x31, 0x6f, 0x48, 0x00, 0x29, + 0x00, 0x68, 0x01, 0xd0, 0x01, 0x30, 0x04, 0xe0, + 0x11, 0x06, 0x89, 0x0e, 0x2d, 0x29, 0x01, 0xd1, + 0x03, 0x30, 0x30, 0x60, 0x20, 0x88, 0x80, 0x07, + 0x67, 0xd1, 0x78, 0x69, 0xc0, 0x07, 0x64, 0xd5, + 0x03, 0xaa, 0x04, 0xa9, 0x20, 0x1c, 0xf7, 0xf7, + 0x4b, 0xfb, 0x00, 0xab, 0x18, 0x7c, 0x00, 0x28, + 0x07, 0xd0, 0x18, 0x7c, 0x3c, 0x00, 0x68, 0x3c, + 0x01, 0x00, 0x02, 0x28, 0x58, 0xd1, 0x18, 0x7b, + 0x40, 0x07, 0x40, 0x0f, 0x04, 0x28, 0x53, 0xd8, + 0x20, 0x79, 0x05, 0x99, 0xc0, 0x07, 0xc0, 0x17, + 0x01, 0x30, 0x02, 0x90, 0x00, 0x29, 0x02, 0xd1, + 0x02, 0x98, 0x00, 0x28, 0x48, 0xd1, 0x05, 0x99, + 0x00, 0x29, 0x04, 0xd0, 0x20, 0x88, 0x00, 0x05, + 0x01, 0xd4, 0x00, 0x20, 0x30, 0x60, 0xc0, 0x20, + 0xed, 0xf7, 0xcb, 0xfd, 0x05, 0x1c, 0x3c, 0x00, + 0xa4, 0x3c, 0x01, 0x00, 0x20, 0x1c, 0x0a, 0x30, + 0x06, 0x90, 0xfe, 0xf7, 0xad, 0xf8, 0x06, 0x1c, + 0x28, 0x1c, 0x08, 0x30, 0x23, 0x88, 0x02, 0x1d, + 0x11, 0x1d, 0xdb, 0x05, 0x06, 0xd5, 0x06, 0x9b, + 0x03, 0x60, 0x20, 0x1c, 0x10, 0x30, 0x10, 0x60, + 0x20, 0x1d, 0x0e, 0xe0, 0x23, 0x1d, 0x13, 0x60, + 0x22, 0x88, 0x92, 0x05, 0x05, 0xd5, 0x22, 0x1c, + 0x10, 0x32, 0x02, 0x60, 0x06, 0x9b, 0x0b, 0x60, + 0x3c, 0x00, 0xe0, 0x3c, 0x01, 0x00, 0x04, 0xe0, + 0x06, 0x9b, 0x03, 0x60, 0x20, 0x1c, 0x10, 0x30, + 0x08, 0x60, 0x28, 0x69, 0xf1, 0xf7, 0x43, 0xfc, + 0x00, 0x28, 0x08, 0xd0, 0x01, 0x28, 0x12, 0xd0, + 0x02, 0x28, 0x58, 0xd1, 0x00, 0xab, 0x18, 0x7c, + 0x00, 0x28, 0x54, 0xd1, 0x12, 0xe0, 0x00, 0xab, + 0x18, 0x7c, 0x02, 0x28, 0x0b, 0xd1, 0x00, 0x2e, + 0x4d, 0xd0, 0x4b, 0x20, 0x80, 0x5d, 0x02, 0x28, + 0x49, 0xd1, 0x3c, 0x00, 0x1c, 0x3d, 0x01, 0x00, + 0x07, 0xe0, 0x63, 0xe0, 0x00, 0xab, 0x18, 0x7c, + 0x00, 0x28, 0x02, 0xd1, 0x38, 0x1c, 0xfe, 0xf7, + 0x1b, 0xff, 0x20, 0x88, 0x41, 0x04, 0x30, 0x48, + 0x11, 0xd5, 0x00, 0x2e, 0x52, 0xd0, 0x00, 0xab, + 0x19, 0x7c, 0x00, 0x29, 0x26, 0xd0, 0x02, 0x99, + 0x00, 0x29, 0x02, 0xd0, 0xb0, 0x6a, 0x00, 0x78, + 0x00, 0xe0, 0x00, 0x78, 0x01, 0x28, 0x1d, 0xd0, + 0x03, 0x28, 0x43, 0xd1, 0x3c, 0x00, 0x58, 0x3d, + 0x01, 0x00, 0x1a, 0xe0, 0x00, 0xab, 0x19, 0x7c, + 0x02, 0x29, 0x16, 0xd1, 0x19, 0x7b, 0x04, 0x29, + 0x13, 0xd0, 0x19, 0x7b, 0x0c, 0x29, 0x10, 0xd0, + 0x22, 0x49, 0x09, 0x68, 0x00, 0x29, 0x0c, 0xd0, + 0x00, 0x2e, 0x0a, 0xd0, 0x02, 0x99, 0x00, 0x29, + 0x02, 0xd0, 0xb0, 0x6a, 0x00, 0x78, 0x00, 0xe0, + 0x00, 0x78, 0x01, 0x28, 0x29, 0xd0, 0x03, 0x28, + 0x27, 0xd0, 0x28, 0x22, 0x39, 0x1c, 0x3c, 0x00, + 0x94, 0x3d, 0x01, 0x00, 0x28, 0x1c, 0x88, 0x30, + 0xec, 0xf7, 0x0a, 0xfc, 0x00, 0xab, 0x19, 0x7c, + 0x28, 0x1c, 0x80, 0x30, 0x01, 0x71, 0x19, 0x7b, + 0x41, 0x71, 0x6c, 0x60, 0x6e, 0x61, 0x1b, 0xe0, + 0x05, 0x99, 0x00, 0x29, 0x14, 0xd0, 0x11, 0x48, + 0x84, 0x6c, 0x00, 0x2c, 0x10, 0xd0, 0x00, 0x22, + 0x00, 0x2e, 0x04, 0xd0, 0x40, 0x36, 0xb0, 0x7a, + 0x05, 0x28, 0x00, 0xd1, 0x01, 0x22, 0x00, 0x92, + 0x3c, 0x00, 0xd0, 0x3d, 0x01, 0x00, 0xf8, 0x7a, + 0xba, 0x7a, 0x29, 0x69, 0xc3, 0x07, 0xdb, 0x0f, + 0x06, 0x98, 0xec, 0xf7, 0x00, 0xfb, 0x28, 0x1c, + 0xed, 0xf7, 0x07, 0xfd, 0x00, 0x25, 0x28, 0x1c, + 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xc4, 0x6a, + 0x01, 0x00, 0x68, 0x61, 0x01, 0x00, 0x28, 0x61, + 0x01, 0x00, 0xc4, 0x69, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x20, 0xff, 0xf7, 0x70, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x3e, 0x01, 0x00, + 0xb0, 0xb5, 0x1d, 0x4d, 0x01, 0x28, 0x17, 0xd0, + 0xa2, 0x28, 0x06, 0xd0, 0xa3, 0x28, 0x03, 0xd1, + 0x01, 0x21, 0x15, 0x20, 0xff, 0xf7, 0x08, 0xfc, + 0xb0, 0xbd, 0x00, 0x29, 0x01, 0xd1, 0x17, 0x48, + 0x02, 0xe0, 0x7d, 0x20, 0xc0, 0x00, 0x48, 0x43, + 0x00, 0x23, 0x01, 0x22, 0x01, 0x1c, 0x28, 0x60, + 0x15, 0x20, 0xff, 0xf7, 0xa7, 0xfc, 0xb0, 0xbd, + 0x01, 0x29, 0x04, 0xd0, 0x3c, 0x00, 0x48, 0x3e, + 0x01, 0x00, 0x02, 0x29, 0xfa, 0xd1, 0x00, 0xf0, + 0x2a, 0xf8, 0xb0, 0xbd, 0x6c, 0x68, 0xf5, 0xf7, + 0xde, 0xfc, 0xfe, 0xf7, 0xa8, 0xff, 0x68, 0x60, + 0x00, 0x2c, 0x09, 0xd0, 0x29, 0x68, 0x0a, 0x23, + 0x59, 0x43, 0x00, 0x1b, 0x88, 0x42, 0x03, 0xd9, + 0x01, 0x21, 0x15, 0x20, 0xed, 0xf7, 0x17, 0xfa, + 0x01, 0x22, 0x15, 0x20, 0x29, 0x68, 0xff, 0xf7, + 0xa6, 0xfb, 0xb0, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x3e, 0x01, 0x00, 0x04, 0x79, 0x01, 0x00, + 0x00, 0x87, 0x93, 0x03, 0x01, 0x20, 0x04, 0x49, + 0x40, 0x03, 0x80, 0xb5, 0x08, 0x60, 0x03, 0x21, + 0x15, 0x20, 0xed, 0xf7, 0x03, 0xfa, 0x80, 0xbd, + 0x00, 0x10, 0x07, 0x00, 0x07, 0x48, 0x80, 0xb5, + 0xbe, 0x21, 0x01, 0x73, 0x01, 0x7a, 0x10, 0x22, + 0x11, 0x43, 0x01, 0x72, 0x00, 0x23, 0x02, 0x22, + 0x15, 0x20, 0x03, 0x49, 0xff, 0xf7, 0x68, 0xfc, + 0x3c, 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x80, 0xbd, + 0x00, 0x00, 0x00, 0x03, 0x07, 0x00, 0x80, 0x9f, + 0xd5, 0x00, 0x80, 0xb5, 0x00, 0x28, 0x03, 0xd0, + 0x0a, 0x1c, 0x15, 0x21, 0xa2, 0x20, 0x02, 0xe0, + 0x00, 0x22, 0x15, 0x21, 0xa3, 0x20, 0xff, 0xf7, + 0x66, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x10, 0xb5, + 0x00, 0xf0, 0x19, 0xf8, 0x0a, 0x48, 0xbe, 0x21, + 0x01, 0x73, 0x03, 0x7a, 0x10, 0x22, 0x93, 0x43, + 0x01, 0x24, 0x3c, 0x00, 0xfc, 0x3e, 0x01, 0x00, + 0x23, 0x43, 0x03, 0x72, 0x01, 0x73, 0x01, 0x7a, + 0x91, 0x43, 0x20, 0x22, 0x11, 0x43, 0x01, 0x72, + 0x02, 0x22, 0x15, 0x20, 0x02, 0x49, 0xff, 0xf7, + 0x5b, 0xfb, 0x10, 0xbd, 0x00, 0x03, 0x07, 0x00, + 0x80, 0x9f, 0xd5, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x15, 0x20, 0xff, 0xf7, 0x85, 0xfb, 0x04, 0x48, + 0xbe, 0x21, 0x01, 0x73, 0x01, 0x7a, 0x11, 0x22, + 0x91, 0x43, 0x01, 0x72, 0x3c, 0x00, 0x38, 0x3f, + 0x01, 0x00, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x03, + 0x07, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x05, 0x1c, + 0x60, 0x36, 0x00, 0x27, 0x44, 0x68, 0x22, 0xe0, + 0x08, 0x21, 0x00, 0x20, 0xed, 0xf7, 0x41, 0xfb, + 0x60, 0x61, 0x01, 0x89, 0x04, 0x39, 0x09, 0x04, + 0x09, 0x0c, 0x01, 0x81, 0x60, 0x69, 0x00, 0x68, + 0x40, 0x18, 0x04, 0x21, 0xed, 0xf7, 0x35, 0xfb, + 0xe0, 0x61, 0x60, 0x69, 0x71, 0x7b, 0x3c, 0x00, + 0x74, 0x3f, 0x01, 0x00, 0x00, 0x68, 0x89, 0x01, + 0xc1, 0x70, 0x29, 0x69, 0x0c, 0x31, 0x03, 0x22, + 0xec, 0xf7, 0xba, 0xfa, 0x28, 0x69, 0x0c, 0x30, + 0x01, 0x68, 0x01, 0x31, 0x01, 0x60, 0x25, 0x62, + 0xa7, 0x61, 0x24, 0x68, 0x00, 0x2c, 0xda, 0xd1, + 0x02, 0x49, 0x03, 0x48, 0x6a, 0x68, 0xf6, 0xf7, + 0xb3, 0xf8, 0xf8, 0xbd, 0xfd, 0x6b, 0x00, 0x00, + 0xa0, 0x6a, 0x01, 0x00, 0x80, 0xb5, 0x00, 0x07, + 0x3c, 0x00, 0xb0, 0x3f, 0x01, 0x00, 0x00, 0x09, + 0x09, 0x02, 0x09, 0x0a, 0x08, 0x43, 0x02, 0x49, + 0x08, 0x60, 0xff, 0xf7, 0x20, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0x60, 0x00, 0x07, 0x00, 0x08, 0x00, + 0x14, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xe8, 0x03, + 0x00, 0x00, 0x10, 0x00, 0x14, 0x00, 0xc8, 0x00, + 0x00, 0x00, 0xe8, 0x03, 0x00, 0x00, 0x1c, 0x00, + 0x14, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xe8, 0x03, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x3f, 0x01, 0x00, + 0x24, 0x01, 0x07, 0x00, 0x32, 0x00, 0x00, 0x00, + 0xe8, 0x03, 0x00, 0x00, 0x40, 0x06, 0x01, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x41, 0x6e, 0x62, 0x69, 0x7e, 0x64, 0x61, 0x6f, + 0x6f, 0x00, 0x00, 0x00, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x20, 0x36, 0x5f, 0x37, 0x5f, + 0x31, 0x35, 0x20, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x20, 0x32, 0x3a, 0x35, 0x3c, 0x00, 0x28, 0x40, + 0x01, 0x00, 0x32, 0x39, 0x38, 0x20, 0x53, 0x65, + 0x70, 0x20, 0x30, 0x34, 0x20, 0x32, 0x30, 0x30, + 0x39, 0x20, 0x31, 0x37, 0x3a, 0x31, 0x33, 0x3a, + 0x32, 0x30, 0x20, 0x28, 0x48, 0x57, 0x3d, 0x34, + 0x3a, 0x33, 0x2c, 0x42, 0x54, 0x43, 0x4f, 0x45, + 0x58, 0x29, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, + 0x1c, 0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x00, + 0x64, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe8, 0x03, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xd0, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x7c, 0x15, 0x15, 0x00, + 0x3c, 0x00, 0xa0, 0x40, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x70, 0x17, + 0x1e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, + 0x00, 0x00, 0x28, 0x23, 0x16, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xf8, 0x2a, + 0x0b, 0x00, 0x3c, 0x00, 0xdc, 0x40, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0xe0, 0x2e, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x50, 0x46, 0x0e, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, + 0xf0, 0x55, 0x08, 0x00, 0x3c, 0x00, 0x18, 0x41, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x00, + 0x00, 0x00, 0xc0, 0x5d, 0x0e, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xe8, 0x80, + 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x42, 0x00, + 0x00, 0x00, 0xa0, 0x8c, 0x0a, 0x00, 0x3c, 0x00, + 0x54, 0x41, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x00, 0x80, 0xbb, 0x0a, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, + 0xf0, 0xd2, 0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6c, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x90, 0x00, + 0x3c, 0x00, 0x90, 0x41, 0x01, 0x00, 0xc0, 0x00, + 0x90, 0x00, 0xc0, 0x00, 0x90, 0x00, 0x14, 0x00, + 0x10, 0x00, 0x14, 0x00, 0x10, 0x00, 0xc0, 0x00, + 0x90, 0x00, 0x14, 0x00, 0x10, 0x00, 0x14, 0x00, + 0x10, 0x00, 0xc0, 0x00, 0x90, 0x00, 0x14, 0x00, + 0x10, 0x00, 0xc0, 0x00, 0x90, 0x00, 0x14, 0x00, + 0x10, 0x00, 0x14, 0x00, 0x10, 0x00, 0x14, 0x00, + 0x10, 0x00, 0xc0, 0x00, 0x90, 0x00, 0x60, 0x00, + 0x48, 0x00, 0x3c, 0x00, 0xcc, 0x41, 0x01, 0x00, + 0x60, 0x00, 0x48, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x14, 0x00, 0x10, 0x00, 0x60, 0x00, 0x48, 0x00, + 0x14, 0x00, 0x10, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x60, 0x00, 0x48, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x60, 0x00, 0x48, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x14, 0x00, 0x10, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x04, 0x01, 0x0b, 0x02, 0x0c, 0x03, + 0x12, 0x04, 0x16, 0x05, 0x3c, 0x00, 0x08, 0x42, + 0x01, 0x00, 0x18, 0x06, 0x00, 0x0e, 0x00, 0x0e, + 0x24, 0x07, 0x00, 0x0e, 0x2c, 0x08, 0x30, 0x09, + 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x42, 0x0a, + 0x00, 0x0e, 0x48, 0x0b, 0x00, 0x0e, 0x00, 0x0e, + 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x60, 0x0c, + 0x00, 0x0e, 0x00, 0x0e, 0x6c, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0xff, 0xff, 0xff, 0x3c, 0x00, + 0x44, 0x42, 0x01, 0x00, 0xb6, 0xff, 0xff, 0xff, + 0xd3, 0xff, 0xff, 0xff, 0xc9, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x51, 0xb0, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x51, 0xb0, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x59, 0xaf, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x42, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xa5, 0xaf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4d, 0xaf, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x45, 0xb0, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xd5, 0xaf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xad, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x42, 0x01, 0x00, + 0x95, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x95, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x99, 0xb0, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x42, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x17, + 0x01, 0x00, 0x35, 0x17, 0x01, 0x00, 0x21, 0x17, + 0x01, 0x00, 0xd9, 0x9c, 0x00, 0x00, 0x49, 0x17, + 0x01, 0x00, 0x3d, 0x17, 0x01, 0x00, 0xd1, 0x9c, + 0x00, 0x00, 0xd1, 0x9c, 0x00, 0x00, 0x1d, 0x1a, + 0x01, 0x00, 0xd1, 0x9c, 0x00, 0x00, 0x01, 0x1a, + 0x01, 0x00, 0x31, 0x1a, 0x01, 0x00, 0x25, 0x1a, + 0x01, 0x00, 0x3d, 0x17, 0x01, 0x00, 0x3c, 0x00, + 0x34, 0x43, 0x01, 0x00, 0x81, 0x1a, 0x01, 0x00, + 0xd1, 0x9c, 0x00, 0x00, 0x79, 0x17, 0x01, 0x00, + 0xd9, 0x9c, 0x00, 0x00, 0x5d, 0x17, 0x01, 0x00, + 0xa1, 0x17, 0x01, 0x00, 0x95, 0x17, 0x01, 0x00, + 0x81, 0x17, 0x01, 0x00, 0x21, 0x18, 0x01, 0x00, + 0xf5, 0x17, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x43, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x19, 0x1c, + 0x01, 0x00, 0x89, 0x41, 0x00, 0x00, 0x89, 0x41, + 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, 0x85, 0x41, + 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, 0x85, 0x41, + 0x00, 0x00, 0x89, 0x41, 0x00, 0x00, 0x85, 0x41, + 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, 0x35, 0x1b, + 0x01, 0x00, 0x3c, 0x00, 0xac, 0x43, 0x01, 0x00, + 0x9d, 0x1b, 0x01, 0x00, 0x01, 0x1c, 0x01, 0x00, + 0x89, 0x41, 0x00, 0x00, 0x89, 0x41, 0x00, 0x00, + 0x89, 0x41, 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, + 0x65, 0x18, 0x01, 0x00, 0x29, 0x18, 0x01, 0x00, + 0x39, 0x18, 0x01, 0x00, 0xbd, 0x18, 0x01, 0x00, + 0x89, 0x41, 0x00, 0x00, 0x4d, 0x18, 0x01, 0x00, + 0xa5, 0x18, 0x01, 0x00, 0x85, 0x41, 0x00, 0x00, + 0x01, 0x19, 0x01, 0x00, 0x3c, 0x00, 0xe8, 0x43, + 0x01, 0x00, 0xd9, 0x18, 0x01, 0x00, 0xed, 0x18, + 0x01, 0x00, 0x15, 0x19, 0x01, 0x00, 0x89, 0x41, + 0x00, 0x00, 0x89, 0x41, 0x00, 0x00, 0x89, 0x41, + 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, 0x89, 0x41, + 0x00, 0x00, 0x89, 0x41, 0x00, 0x00, 0x69, 0x1c, + 0x01, 0x00, 0x89, 0x41, 0x00, 0x00, 0x71, 0x1c, + 0x01, 0x00, 0x89, 0x41, 0x00, 0x00, 0x89, 0x41, + 0x00, 0x00, 0xfd, 0xdb, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x44, 0x01, 0x00, 0x1d, 0x7c, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x00, 0xf5, 0xda, 0x00, 0x00, + 0x14, 0x00, 0x81, 0x00, 0xfd, 0xdd, 0x00, 0x00, + 0x08, 0x00, 0x82, 0x00, 0xc5, 0xdd, 0x00, 0x00, + 0x38, 0x00, 0x83, 0x00, 0x45, 0xdc, 0x00, 0x00, + 0x10, 0x00, 0x84, 0x00, 0x99, 0xdc, 0x00, 0x00, + 0x0c, 0x00, 0x86, 0x00, 0x39, 0xdc, 0x00, 0x00, + 0x10, 0x00, 0x88, 0x00, 0x11, 0xde, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x44, 0x01, 0x00, 0x10, 0x00, + 0x8a, 0x00, 0x35, 0xdd, 0x00, 0x00, 0x0c, 0x00, + 0x8c, 0x00, 0xad, 0xdf, 0x00, 0x00, 0x1c, 0x00, + 0x8e, 0x00, 0xc9, 0xde, 0x00, 0x00, 0x38, 0x00, + 0x8f, 0x00, 0xed, 0xdc, 0x00, 0x00, 0x38, 0x00, + 0x90, 0x00, 0x75, 0xdf, 0x00, 0x00, 0x0c, 0x00, + 0x91, 0x00, 0x8d, 0xdc, 0x00, 0x00, 0x0c, 0x00, + 0x93, 0x00, 0xb9, 0xdd, 0x00, 0x00, 0x0c, 0x00, + 0x94, 0x00, 0x3c, 0x00, 0x9c, 0x44, 0x01, 0x00, + 0x00, 0x08, 0x08, 0x08, 0x10, 0x0c, 0x0c, 0x0c, + 0x08, 0x0c, 0x08, 0x0c, 0x08, 0x0c, 0x08, 0x08, + 0x08, 0x08, 0x14, 0x08, 0x08, 0x14, 0x00, 0x30, + 0x00, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0xad, 0x30, 0x01, 0x00, 0x15, 0x30, 0x01, 0x00, + 0x20, 0x30, 0x07, 0x00, 0x30, 0x30, 0x07, 0x00, + 0x06, 0x07, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x44, + 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc9, 0x02, 0x00, 0x94, 0x3f, + 0x03, 0x00, 0xe0, 0x8b, 0x5a, 0x00, 0x05, 0x3a, + 0x85, 0x00, 0xc8, 0xf2, 0x06, 0x00, 0xf8, 0x4c, + 0x56, 0x00, 0x20, 0xa7, 0x3d, 0x00, 0xb7, 0x4a, + 0x00, 0x00, 0xb7, 0x4a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x45, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, + 0x05, 0x06, 0x00, 0x00, 0x2d, 0x7c, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xfd, 0x95, 0x00, 0x00, + 0x08, 0x00, 0xff, 0x00, 0xed, 0x97, 0x00, 0x00, + 0x08, 0x00, 0x82, 0x00, 0xcd, 0x95, 0x00, 0x00, + 0x0c, 0x00, 0x83, 0x00, 0x4d, 0x96, 0x00, 0x00, + 0x0c, 0x00, 0x85, 0x00, 0x2d, 0x7c, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x45, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x3d, 0x96, 0x00, 0x00, 0x0c, 0x00, + 0x89, 0x00, 0xd9, 0x97, 0x00, 0x00, 0x08, 0x00, + 0x8a, 0x00, 0x91, 0x95, 0x00, 0x00, 0x08, 0x00, + 0xff, 0x00, 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x3c, 0x00, 0x8c, 0x45, 0x01, 0x00, + 0xf9, 0x97, 0x00, 0x00, 0x08, 0x00, 0x8d, 0x00, + 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0xc9, 0x97, 0x00, 0x00, 0x30, 0x00, 0x90, 0x00, + 0x11, 0x95, 0x00, 0x00, 0x18, 0x00, 0x91, 0x00, + 0x15, 0x96, 0x00, 0x00, 0x08, 0x00, 0x92, 0x00, + 0x59, 0x95, 0x00, 0x00, 0x3c, 0x00, 0x93, 0x00, + 0x29, 0x96, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x45, + 0x01, 0x00, 0x08, 0x00, 0x94, 0x00, 0xa1, 0x95, + 0x00, 0x00, 0x08, 0x00, 0x95, 0x00, 0x81, 0x97, + 0x00, 0x00, 0x0c, 0x00, 0x96, 0x00, 0x6d, 0x97, + 0x00, 0x00, 0x10, 0x00, 0x98, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x10, + 0x08, 0x00, 0x00, 0x08, 0x00, 0x10, 0x3c, 0x00, + 0x04, 0x46, 0x01, 0x00, 0x08, 0x0c, 0x0c, 0x0c, + 0x0c, 0x1c, 0x0c, 0x0c, 0x08, 0x00, 0x00, 0x00, + 0x0d, 0x8b, 0x00, 0x00, 0xf5, 0x8a, 0x00, 0x00, + 0xe9, 0x8a, 0x00, 0x00, 0x01, 0x8b, 0x00, 0x00, + 0x14, 0x08, 0x0c, 0x0c, 0x10, 0x0c, 0x00, 0x00, + 0xb1, 0x98, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, + 0x19, 0x99, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, + 0x3d, 0x7c, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x46, 0x01, 0x00, 0x3d, 0x99, + 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x09, 0x99, + 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x3d, 0x7c, + 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, + 0x04, 0x04, 0x08, 0x08, 0x81, 0x37, 0x80, 0xf3, + 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, 0xaa, 0xaa, + 0x03, 0x00, 0x00, 0xf8, 0x6d, 0xa9, 0x6d, 0xa9, + 0x6e, 0xa9, 0x3c, 0x00, 0x7c, 0x46, 0x01, 0x00, + 0x6e, 0xa8, 0x6e, 0xa8, 0x6e, 0xa8, 0x6f, 0xa7, + 0x6f, 0xa7, 0x6f, 0xa7, 0x6f, 0xa6, 0x6f, 0xa6, + 0x70, 0xa6, 0x70, 0xa5, 0x70, 0xa4, 0x00, 0x00, + 0xb5, 0x1b, 0x01, 0x00, 0xc9, 0x1b, 0x01, 0x00, + 0xe1, 0x1b, 0x01, 0x00, 0xe5, 0x9c, 0x00, 0x00, + 0xa5, 0x1b, 0x01, 0x00, 0xe5, 0x9c, 0x00, 0x00, + 0x89, 0x1b, 0x01, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0x46, + 0x01, 0x00, 0xd1, 0x1a, 0x01, 0x00, 0xe5, 0x1a, + 0x01, 0x00, 0x05, 0x1b, 0x01, 0x00, 0x25, 0x1b, + 0x01, 0x00, 0xb1, 0x1a, 0x01, 0x00, 0xe5, 0x9c, + 0x00, 0x00, 0x9d, 0x1a, 0x01, 0x00, 0xd5, 0x9c, + 0x00, 0x00, 0xc1, 0x1a, 0x01, 0x00, 0x89, 0x19, + 0x01, 0x00, 0xa9, 0x19, 0x01, 0x00, 0xc9, 0x19, + 0x01, 0x00, 0xf1, 0x19, 0x01, 0x00, 0x79, 0x19, + 0x01, 0x00, 0xe5, 0x9c, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0x46, 0x01, 0x00, 0x65, 0x19, 0x01, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0x55, 0x1c, 0x01, 0x00, + 0x45, 0x1c, 0x01, 0x00, 0x45, 0x1c, 0x01, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x47, 0x01, 0x00, 0xd5, 0x9c, + 0x00, 0x00, 0x55, 0x19, 0x01, 0x00, 0xe5, 0x9c, + 0x00, 0x00, 0x41, 0x19, 0x01, 0x00, 0x31, 0x19, + 0x01, 0x00, 0xd5, 0x9c, 0x00, 0x00, 0x02, 0x05, + 0x0a, 0x00, 0x00, 0x00, 0x02, 0x04, 0x0a, 0x00, + 0x00, 0x00, 0xc5, 0x20, 0x00, 0x00, 0x21, 0x21, + 0x00, 0x00, 0x25, 0x21, 0x00, 0x00, 0x39, 0x21, + 0x00, 0x00, 0x49, 0x21, 0x00, 0x00, 0x55, 0x21, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0x47, 0x01, 0x00, + 0x61, 0x21, 0x00, 0x00, 0xed, 0x21, 0x00, 0x00, + 0x0d, 0x22, 0x00, 0x00, 0x21, 0x22, 0x00, 0x00, + 0x3d, 0x22, 0x00, 0x00, 0x49, 0x22, 0x00, 0x00, + 0xc5, 0x22, 0x00, 0x00, 0xe1, 0x22, 0x00, 0x00, + 0xf5, 0x22, 0x00, 0x00, 0xe9, 0x1f, 0x00, 0x00, + 0xe9, 0x1f, 0x00, 0x00, 0xe9, 0x1f, 0x00, 0x00, + 0xe9, 0x1f, 0x00, 0x00, 0xe9, 0x1f, 0x00, 0x00, + 0x11, 0x23, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x47, + 0x01, 0x00, 0x1d, 0x23, 0x00, 0x00, 0x89, 0x23, + 0x00, 0x00, 0xa5, 0x23, 0x00, 0x00, 0xb9, 0x23, + 0x00, 0x00, 0x11, 0x20, 0x00, 0x00, 0x1d, 0x20, + 0x00, 0x00, 0x6d, 0x20, 0x00, 0x00, 0x8d, 0x20, + 0x00, 0x00, 0xb9, 0x20, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x03, 0x03, 0x05, 0x06, 0x06, 0x08, 0x09, + 0x08, 0x09, 0x09, 0x09, 0xc4, 0x80, 0xca, 0x80, + 0x80, 0x80, 0x80, 0x80, 0xd0, 0x80, 0x3c, 0x00, + 0xe4, 0x47, 0x01, 0x00, 0xd6, 0xd9, 0xdc, 0xdf, + 0xe2, 0x80, 0x80, 0x80, 0xe5, 0xe8, 0x80, 0x80, + 0x80, 0x80, 0xeb, 0xee, 0xf1, 0xf4, 0xf7, 0xfa, + 0xfd, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, + 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, + 0x0c, 0x00, 0x0e, 0x00, 0x10, 0x00, 0x11, 0x00, + 0x13, 0x00, 0x16, 0x00, 0x18, 0x00, 0x1b, 0x00, + 0x3c, 0x00, 0x20, 0x48, 0x01, 0x00, 0x1e, 0x00, + 0x22, 0x00, 0x26, 0x00, 0x2b, 0x00, 0x30, 0x00, + 0x36, 0x00, 0x3c, 0x00, 0x44, 0x00, 0x4c, 0x00, + 0x55, 0x00, 0x5f, 0x00, 0x6b, 0x00, 0x78, 0x00, + 0x86, 0x00, 0x97, 0x00, 0xa9, 0x00, 0xbe, 0x00, + 0xd5, 0x00, 0xef, 0x00, 0xff, 0x7f, 0x0c, 0x00, + 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0xff, + 0xfc, 0xff, 0xfb, 0xff, 0xfa, 0xff, 0xf9, 0xff, + 0xf8, 0xff, 0x3c, 0x00, 0x5c, 0x48, 0x01, 0x00, + 0xf7, 0xff, 0xf6, 0xff, 0xf5, 0xff, 0xf4, 0xff, + 0xf3, 0xff, 0xf2, 0xff, 0xf1, 0xff, 0xf0, 0xff, + 0xef, 0xff, 0xee, 0xff, 0xed, 0xff, 0xec, 0xff, + 0xeb, 0xff, 0xea, 0xff, 0xe9, 0xff, 0xe8, 0xff, + 0xe7, 0xff, 0xe6, 0xff, 0xe5, 0xff, 0xe4, 0xff, + 0xe3, 0xff, 0xe2, 0xff, 0xe1, 0xff, 0xe0, 0xff, + 0xdf, 0xff, 0xde, 0xff, 0xdd, 0xff, 0xdc, 0xff, + 0xdc, 0xff, 0x00, 0x00, 0x3c, 0x00, 0x98, 0x48, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xb1, 0x7c, 0x41, 0x00, 0x11, 0x5a, + 0x40, 0xe2, 0xb2, 0x7c, 0x41, 0x00, 0x05, 0x5a, + 0x40, 0xe2, 0xaf, 0x7c, 0x41, 0x00, 0xf9, 0x59, + 0x40, 0xe2, 0xb0, 0x7c, 0x41, 0x00, 0xed, 0x59, + 0x40, 0xe2, 0x24, 0x67, 0x01, 0x00, 0x0e, 0x00, + 0x00, 0xe3, 0x5c, 0x67, 0x01, 0x00, 0x0e, 0x00, + 0x00, 0xe3, 0x0a, 0x61, 0x01, 0x00, 0x3c, 0x00, + 0xd4, 0x48, 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, + 0x0e, 0x61, 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, + 0x32, 0x67, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0x6a, 0x67, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0x0b, 0x61, 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, + 0x0f, 0x61, 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, + 0x40, 0x67, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0x78, 0x67, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0x3c, 0x00, 0x10, 0x49, 0x01, 0x00, 0x0c, 0x61, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, 0x10, 0x61, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, 0x4e, 0x67, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, 0x86, 0x67, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, 0x0d, 0x61, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, 0x11, 0x61, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, 0xc0, 0x48, + 0x01, 0x00, 0x04, 0x00, 0x00, 0x0a, 0xe0, 0x48, + 0x01, 0x00, 0x3c, 0x00, 0x4c, 0x49, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x0a, 0x00, 0x49, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x0a, 0x20, 0x49, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x0a, 0x18, 0x67, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x28, 0x75, 0x01, 0x01, + 0x7d, 0xa9, 0x40, 0xe2, 0x2c, 0x75, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x20, 0x75, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x44, 0x75, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x88, 0x49, + 0x01, 0x00, 0xf0, 0x59, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x75, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0xb8, 0x7c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x8d, 0xa9, 0x00, 0x00, 0x01, 0x00, + 0x00, 0xda, 0x1d, 0x75, 0x01, 0x00, 0x01, 0x00, + 0x00, 0xe2, 0xc4, 0x67, 0x01, 0x00, 0x3c, 0x00, + 0xc4, 0x49, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x59, 0x00, 0x00, 0x0e, 0x00, 0x00, 0xd9, + 0xc8, 0x67, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xcc, 0x67, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xd0, 0x67, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x65, 0xd9, 0x00, 0x00, 0x04, 0x00, 0x00, 0xda, + 0xa5, 0xd9, 0x00, 0x00, 0x04, 0x00, 0x00, 0xda, + 0x3c, 0x00, 0x00, 0x4a, 0x01, 0x00, 0x01, 0x59, + 0x00, 0x00, 0x01, 0x00, 0x00, 0xda, 0x32, 0x67, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, 0x6a, 0x67, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, 0x11, 0x59, + 0x00, 0x00, 0x01, 0x00, 0x00, 0xda, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x48, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0xa0, 0x48, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x40, 0x49, + 0x01, 0x00, 0x3c, 0x00, 0x3c, 0x4a, 0x01, 0x00, + 0x05, 0x00, 0x00, 0x0a, 0x68, 0x49, 0x01, 0x00, + 0x09, 0x00, 0x00, 0x0a, 0x6c, 0x57, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x38, 0x61, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xac, 0x6e, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0xb0, 0x6e, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x70, 0x57, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x78, 0x4a, + 0x01, 0x00, 0xe8, 0x59, 0x01, 0x00, 0x08, 0x00, + 0x00, 0xe3, 0xdc, 0x58, 0x01, 0x14, 0x4d, 0xfd, + 0x40, 0xe3, 0x2c, 0x59, 0x01, 0x14, 0x39, 0xfd, + 0x40, 0xe3, 0xc0, 0x58, 0x01, 0x00, 0x0e, 0x00, + 0x00, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x64, 0x73, 0x41, 0x00, 0x3d, 0x2e, + 0x44, 0xe2, 0x7c, 0x59, 0x01, 0x14, 0x3c, 0x00, + 0xb4, 0x4a, 0x01, 0x00, 0x9d, 0x2f, 0x44, 0xe3, + 0x5c, 0x57, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe2, + 0x79, 0x2e, 0x04, 0x00, 0x01, 0x00, 0x00, 0xdb, + 0xa0, 0x58, 0x01, 0x00, 0x02, 0x00, 0x00, 0xe3, + 0xa2, 0x58, 0x01, 0x00, 0x02, 0x00, 0x00, 0xe3, + 0xa0, 0x57, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0xd1, 0x88, 0x01, 0x00, 0x01, 0x00, 0x00, 0xda, + 0x1d, 0x89, 0x01, 0x00, 0x04, 0x00, 0x00, 0xda, + 0x3c, 0x00, 0xf0, 0x4a, 0x01, 0x00, 0x95, 0x88, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xdb, 0x31, 0x2f, + 0x04, 0x00, 0x0e, 0x00, 0x00, 0xd9, 0xc5, 0x2e, + 0x04, 0x00, 0x0e, 0x00, 0x00, 0xd9, 0x68, 0x6c, + 0x01, 0x01, 0x15, 0xd5, 0x40, 0xe2, 0xc0, 0x57, + 0x01, 0x00, 0x08, 0x00, 0x00, 0xe3, 0xc8, 0x57, + 0x01, 0x00, 0x34, 0x00, 0x00, 0xe3, 0x9c, 0x6c, + 0x01, 0x00, 0x08, 0x00, 0x00, 0xe3, 0xb0, 0x58, + 0x01, 0x03, 0x3c, 0x00, 0x2c, 0x4b, 0x01, 0x00, + 0xe9, 0xd4, 0x40, 0xe2, 0xbc, 0x58, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x9d, 0xa3, 0x00, 0x00, + 0x60, 0x00, 0x00, 0xd9, 0x70, 0x79, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x78, 0x79, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x7c, 0x5a, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x5d, 0x1c, 0x00, 0x00, + 0x11, 0x00, 0x00, 0xd9, 0x24, 0x6e, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x68, 0x4b, + 0x01, 0x00, 0x18, 0x58, 0x01, 0x05, 0xd5, 0xd5, + 0x40, 0xe3, 0xfc, 0x57, 0x01, 0x00, 0x14, 0x00, + 0x00, 0xe3, 0x04, 0x8e, 0x01, 0x03, 0xe5, 0xd5, + 0x40, 0xe3, 0x00, 0x5b, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x18, 0x5b, 0x01, 0x00, 0x40, 0x00, + 0x00, 0xe2, 0xd4, 0x67, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x8d, 0x37, 0x00, 0x00, 0x04, 0x00, + 0x00, 0xdb, 0xbd, 0x36, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x4b, 0x01, 0x00, 0x04, 0x00, 0x00, 0xdb, + 0xfc, 0x60, 0x01, 0x00, 0x02, 0x00, 0x00, 0xe2, + 0x90, 0x7d, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x70, 0x69, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb0, 0x49, 0x01, 0x00, 0x1a, 0x00, 0x00, 0x0a, + 0x90, 0x4b, 0x01, 0x00, 0x06, 0x00, 0x00, 0x0a, + 0xa4, 0x58, 0x81, 0x00, 0x05, 0xfd, 0x40, 0xe3, + 0x3c, 0x00, 0xe0, 0x4b, 0x01, 0x00, 0x80, 0x4a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0x0a, 0x0c, 0x5a, + 0x81, 0x01, 0x25, 0x2d, 0x44, 0xe3, 0xe0, 0x4a, + 0x01, 0x00, 0x03, 0x00, 0x00, 0x0a, 0x18, 0x63, + 0x41, 0x00, 0xfd, 0xbb, 0x40, 0xe2, 0x08, 0x57, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe2, 0x9c, 0x48, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x4a, + 0x01, 0x00, 0x3c, 0x00, 0x1c, 0x4c, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x0a, 0xcc, 0x74, 0x01, 0x00, + 0x03, 0x00, 0x00, 0xe3, 0x65, 0x73, 0x41, 0x00, + 0xa9, 0x2e, 0x44, 0xe2, 0xf6, 0x59, 0x01, 0x01, + 0xd1, 0x2c, 0x44, 0xe3, 0x08, 0x4b, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x0a, 0x07, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x6a, 0x28, 0x4b, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x0a, 0x88, 0x7d, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x58, 0x4c, + 0x01, 0x00, 0x00, 0x75, 0x01, 0x04, 0x65, 0x6f, + 0x40, 0xe3, 0xbc, 0x78, 0x01, 0x00, 0x0e, 0x00, + 0x00, 0xe3, 0x38, 0x4b, 0x01, 0x00, 0x04, 0x00, + 0x00, 0x0a, 0x04, 0x57, 0x01, 0x00, 0x04, 0x00, + 0x00, 0x62, 0x58, 0x4b, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x80, 0x4b, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x68, 0x4b, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x8c, 0x7d, 0x01, 0x00, 0x3c, 0x00, + 0x94, 0x4c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x39, 0x2d, 0x04, 0x00, 0x04, 0x00, 0x00, 0xdb, + 0x94, 0x7d, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x64, + 0xa8, 0x4c, 0x01, 0x00, 0x04, 0x00, 0x00, 0x0a, + 0x3c, 0x00, 0xd0, 0x4c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x4c, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x0a, 0xd0, 0x4c, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x7a, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe2, 0xe8, 0x7a, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe2, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xed, 0x7a, + 0x01, 0x00, 0x3c, 0x00, 0x0c, 0x4d, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0xee, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf3, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0xf4, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf9, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0xfa, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x48, 0x4d, + 0x01, 0x00, 0xe8, 0x4c, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x00, 0x4d, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x18, 0x4d, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x30, 0x4d, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x90, 0x5c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x94, 0x5c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x98, 0x5c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x9c, 0x5c, 0x01, 0x00, 0x3c, 0x00, + 0x84, 0x4d, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xa0, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xa4, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xa8, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xac, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xb0, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xb4, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xb8, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x3c, 0x00, 0xc0, 0x4d, 0x01, 0x00, 0xbc, 0x5c, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0xc0, 0x5c, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0xc4, 0x5c, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0x90, 0x5c, + 0x01, 0x00, 0x38, 0x00, 0x00, 0xe3, 0x68, 0x4d, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0x0a, 0xd8, 0x4d, + 0x01, 0x00, 0x02, 0x00, 0x00, 0xfa, 0x12, 0x61, + 0x81, 0x01, 0x31, 0xd5, 0x40, 0xe3, 0x06, 0x61, + 0x01, 0x00, 0x3c, 0x00, 0xfc, 0x4d, 0x01, 0x00, + 0x02, 0x00, 0x00, 0xe2, 0x0b, 0x61, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe3, 0x0f, 0x61, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe3, 0x08, 0x61, 0x01, 0x00, + 0x02, 0x00, 0x00, 0xe2, 0x50, 0x7b, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x4e, 0x01, 0x00, + 0x0e, 0x00, 0x00, 0x64, 0x9c, 0x57, 0x01, 0x01, + 0x91, 0x88, 0x41, 0xe3, 0x3c, 0x00, 0x38, 0x4e, + 0x01, 0x00, 0x6e, 0x41, 0x67, 0x6f, 0xe2, 0x65, + 0x60, 0x69, 0x6f, 0x20, 0x41, 0x42, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0x4d, 0x01, 0x00, 0x09, 0x00, + 0x00, 0x0a, 0x48, 0x4e, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x0a, 0xe8, 0x4d, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x48, 0x4d, 0x01, 0x00, 0x04, 0x00, + 0x00, 0x0a, 0x28, 0x61, 0x01, 0x01, 0x3c, 0x00, + 0x74, 0x4e, 0x01, 0x00, 0xbd, 0xd5, 0x40, 0xe2, + 0x69, 0x61, 0x41, 0x00, 0x85, 0xd5, 0x40, 0xe2, + 0x30, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x34, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x3c, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x34, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x44, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x3c, 0x00, 0xb0, 0x4e, 0x01, 0x00, 0x70, 0x4e, + 0x01, 0x00, 0x08, 0x00, 0x00, 0x0a, 0x18, 0x61, + 0x01, 0x00, 0x02, 0x00, 0x00, 0xe2, 0x1c, 0x61, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0x20, 0x61, + 0x01, 0x00, 0x02, 0x00, 0x00, 0xe2, 0x24, 0x61, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0xb8, 0x4e, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0xc8, 0x4e, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0xd8, 0x4e, + 0x01, 0x00, 0x3c, 0x00, 0xec, 0x4e, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x0a, 0x96, 0x48, 0x01, 0x00, + 0x06, 0x00, 0x00, 0xe3, 0xe0, 0x62, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x9b, 0x7d, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x62, 0x9c, 0x7d, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x62, 0x60, 0x7c, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x3c, 0x00, 0x28, 0x4f, + 0x01, 0x00, 0x2d, 0x63, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x49, 0xd5, 0x00, 0x00, 0x0e, 0x00, + 0x00, 0xd9, 0xf4, 0x67, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x62, 0x46, 0x7d, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x62, 0x9c, 0x7c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x98, 0x7c, 0x01, 0x00, 0x3c, 0x00, + 0x64, 0x4f, 0x01, 0x00, 0x02, 0x00, 0x00, 0x62, + 0xa0, 0x7c, 0x01, 0x00, 0x06, 0x00, 0x00, 0x62, + 0x58, 0x7c, 0x01, 0x00, 0x02, 0x00, 0x00, 0x62, + 0x64, 0x7c, 0x01, 0x00, 0x06, 0x00, 0x00, 0x62, + 0x5a, 0x7c, 0x01, 0x00, 0x02, 0x00, 0x00, 0x62, + 0x6a, 0x7c, 0x01, 0x00, 0x06, 0x00, 0x00, 0x62, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0xe4, 0x62, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x3c, 0x00, 0xa0, 0x4f, 0x01, 0x00, 0xe8, 0x62, + 0x01, 0x00, 0x03, 0x00, 0x00, 0xe2, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x01, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x4f, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x3c, 0x00, 0x18, 0x50, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0xf0, 0x4e, 0x01, 0x00, 0x2a, 0x00, + 0x00, 0x0a, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, 0x3c, 0x00, + 0x54, 0x50, 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, + 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, + 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, + 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x3c, 0x00, 0x90, 0x50, 0x01, 0x00, 0x75, 0x2a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, 0x06, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, 0x07, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, 0x08, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, 0x09, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x50, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, + 0x0c, 0x00, 0x00, 0xdb, 0x0a, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, + 0x0c, 0x00, 0x00, 0xdb, 0x0b, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, + 0x0c, 0x00, 0x00, 0xdb, 0x0c, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, + 0x0c, 0x00, 0x00, 0xdb, 0x3c, 0x00, 0x08, 0x51, + 0x01, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, + 0x00, 0xdb, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, + 0x00, 0xdb, 0x48, 0x50, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x58, 0x50, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x68, 0x50, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x78, 0x50, 0x01, 0x00, 0x3c, 0x00, + 0x44, 0x51, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0x88, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0x98, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xa8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xb8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xc8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xd8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xe8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0x3c, 0x00, 0x80, 0x51, 0x01, 0x00, 0xf8, 0x50, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x08, 0x51, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x18, 0x51, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x40, 0x50, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x0a, 0xe8, 0x4e, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x4e, + 0x01, 0x00, 0x3c, 0x00, 0xbc, 0x51, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x28, 0x51, 0x01, 0x00, + 0x0e, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x51, + 0x01, 0x00, 0x98, 0x51, 0x01, 0x00, 0x0c, 0x00, + 0x00, 0x0a, 0x50, 0x4e, 0x01, 0x00, 0x04, 0x00, + 0x00, 0x0a, 0xe0, 0x4c, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x4b, 0x01, 0x00, 0x1d, 0x00, + 0x00, 0x0a, 0xf8, 0x51, 0x01, 0x00, 0x05, 0x00, + 0x00, 0x0a, 0x24, 0x80, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1d, 0x80, 0x07, 0x00, 0x3c, 0x00, + 0x34, 0x52, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x2a, 0x80, 0x07, 0x00, 0x5c, 0x00, 0x00, 0x00, + 0x24, 0x80, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x1d, 0x80, 0x07, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x2a, 0x80, 0x07, 0x00, 0x6a, 0x00, 0x00, 0x00, + 0x24, 0x80, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x1d, 0x80, 0x07, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x2a, 0x80, 0x07, 0x00, 0x6a, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x52, 0x01, 0x00, 0x00, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, + 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, + 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, + 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x01, 0x63, + 0x00, 0x00, 0xa1, 0x63, 0x00, 0x00, 0xc5, 0x63, + 0x00, 0x00, 0xb1, 0x62, 0x00, 0x00, 0xc5, 0x63, + 0x00, 0x00, 0x21, 0x63, 0x00, 0x00, 0x4d, 0x63, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x52, 0x01, 0x00, + 0xa1, 0x63, 0x00, 0x00, 0x01, 0x63, 0x00, 0x00, + 0xa1, 0x63, 0x00, 0x00, 0x06, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x03, 0x05, 0x06, 0x07, 0x08, 0x09, + 0x0a, 0x0a, 0x0c, 0x0d, 0x0e, 0x0f, 0x0f, 0x10, + 0x11, 0x00, 0x00, 0x00, 0xa5, 0xc6, 0x84, 0xf8, + 0x99, 0xee, 0x8d, 0xf6, 0x0d, 0xff, 0xbd, 0xd6, + 0xb1, 0xde, 0x54, 0x91, 0x3c, 0x00, 0xe8, 0x52, + 0x01, 0x00, 0x50, 0x60, 0x03, 0x02, 0xa9, 0xce, + 0x7d, 0x56, 0x19, 0xe7, 0x62, 0xb5, 0xe6, 0x4d, + 0x9a, 0xec, 0x45, 0x8f, 0x9d, 0x1f, 0x40, 0x89, + 0x87, 0xfa, 0x15, 0xef, 0xeb, 0xb2, 0xc9, 0x8e, + 0x0b, 0xfb, 0xec, 0x41, 0x67, 0xb3, 0xfd, 0x5f, + 0xea, 0x45, 0xbf, 0x23, 0xf7, 0x53, 0x96, 0xe4, + 0x5b, 0x9b, 0xc2, 0x75, 0x1c, 0xe1, 0xae, 0x3d, + 0x6a, 0x4c, 0x5a, 0x6c, 0x41, 0x7e, 0x3c, 0x00, + 0x24, 0x53, 0x01, 0x00, 0x02, 0xf5, 0x4f, 0x83, + 0x5c, 0x68, 0xf4, 0x51, 0x34, 0xd1, 0x08, 0xf9, + 0x93, 0xe2, 0x73, 0xab, 0x53, 0x62, 0x3f, 0x2a, + 0x0c, 0x08, 0x52, 0x95, 0x65, 0x46, 0x5e, 0x9d, + 0x28, 0x30, 0xa1, 0x37, 0x0f, 0x0a, 0xb5, 0x2f, + 0x09, 0x0e, 0x36, 0x24, 0x9b, 0x1b, 0x3d, 0xdf, + 0x26, 0xcd, 0x69, 0x4e, 0xcd, 0x7f, 0x9f, 0xea, + 0x1b, 0x12, 0x9e, 0x1d, 0x74, 0x58, 0x2e, 0x34, + 0x3c, 0x00, 0x60, 0x53, 0x01, 0x00, 0x2d, 0x36, + 0xb2, 0xdc, 0xee, 0xb4, 0xfb, 0x5b, 0xf6, 0xa4, + 0x4d, 0x76, 0x61, 0xb7, 0xce, 0x7d, 0x7b, 0x52, + 0x3e, 0xdd, 0x71, 0x5e, 0x97, 0x13, 0xf5, 0xa6, + 0x68, 0xb9, 0x00, 0x00, 0x2c, 0xc1, 0x60, 0x40, + 0x1f, 0xe3, 0xc8, 0x79, 0xed, 0xb6, 0xbe, 0xd4, + 0x46, 0x8d, 0xd9, 0x67, 0x4b, 0x72, 0xde, 0x94, + 0xd4, 0x98, 0xe8, 0xb0, 0x4a, 0x85, 0x6b, 0xbb, + 0x2a, 0xc5, 0x3c, 0x00, 0x9c, 0x53, 0x01, 0x00, + 0xe5, 0x4f, 0x16, 0xed, 0xc5, 0x86, 0xd7, 0x9a, + 0x55, 0x66, 0x94, 0x11, 0xcf, 0x8a, 0x10, 0xe9, + 0x06, 0x04, 0x81, 0xfe, 0xf0, 0xa0, 0x44, 0x78, + 0xba, 0x25, 0xe3, 0x4b, 0xf3, 0xa2, 0xfe, 0x5d, + 0xc0, 0x80, 0x8a, 0x05, 0xad, 0x3f, 0xbc, 0x21, + 0x48, 0x70, 0x04, 0xf1, 0xdf, 0x63, 0xc1, 0x77, + 0x75, 0xaf, 0x63, 0x42, 0x30, 0x20, 0x1a, 0xe5, + 0x0e, 0xfd, 0x6d, 0xbf, 0x3c, 0x00, 0xd8, 0x53, + 0x01, 0x00, 0x4c, 0x81, 0x14, 0x18, 0x35, 0x26, + 0x2f, 0xc3, 0xe1, 0xbe, 0xa2, 0x35, 0xcc, 0x88, + 0x39, 0x2e, 0x57, 0x93, 0xf2, 0x55, 0x82, 0xfc, + 0x47, 0x7a, 0xac, 0xc8, 0xe7, 0xba, 0x2b, 0x32, + 0x95, 0xe6, 0xa0, 0xc0, 0x98, 0x19, 0xd1, 0x9e, + 0x7f, 0xa3, 0x66, 0x44, 0x7e, 0x54, 0xab, 0x3b, + 0x83, 0x0b, 0xca, 0x8c, 0x29, 0xc7, 0xd3, 0x6b, + 0x3c, 0x28, 0x79, 0xa7, 0xe2, 0xbc, 0x3c, 0x00, + 0x14, 0x54, 0x01, 0x00, 0x1d, 0x16, 0x76, 0xad, + 0x3b, 0xdb, 0x56, 0x64, 0x4e, 0x74, 0x1e, 0x14, + 0xdb, 0x92, 0x0a, 0x0c, 0x6c, 0x48, 0xe4, 0xb8, + 0x5d, 0x9f, 0x6e, 0xbd, 0xef, 0x43, 0xa6, 0xc4, + 0xa8, 0x39, 0xa4, 0x31, 0x37, 0xd3, 0x8b, 0xf2, + 0x32, 0xd5, 0x43, 0x8b, 0x59, 0x6e, 0xb7, 0xda, + 0x8c, 0x01, 0x64, 0xb1, 0xd2, 0x9c, 0xe0, 0x49, + 0xb4, 0xd8, 0xfa, 0xac, 0x07, 0xf3, 0x25, 0xcf, + 0x3c, 0x00, 0x50, 0x54, 0x01, 0x00, 0xaf, 0xca, + 0x8e, 0xf4, 0xe9, 0x47, 0x18, 0x10, 0xd5, 0x6f, + 0x88, 0xf0, 0x6f, 0x4a, 0x72, 0x5c, 0x24, 0x38, + 0xf1, 0x57, 0xc7, 0x73, 0x51, 0x97, 0x23, 0xcb, + 0x7c, 0xa1, 0x9c, 0xe8, 0x21, 0x3e, 0xdd, 0x96, + 0xdc, 0x61, 0x86, 0x0d, 0x85, 0x0f, 0x90, 0xe0, + 0x42, 0x7c, 0xc4, 0x71, 0xaa, 0xcc, 0xd8, 0x90, + 0x05, 0x06, 0x01, 0xf7, 0x12, 0x1c, 0xa3, 0xc2, + 0x5f, 0x6a, 0x3c, 0x00, 0x8c, 0x54, 0x01, 0x00, + 0xf9, 0xae, 0xd0, 0x69, 0x91, 0x17, 0x58, 0x99, + 0x27, 0x3a, 0xb9, 0x27, 0x38, 0xd9, 0x13, 0xeb, + 0xb3, 0x2b, 0x33, 0x22, 0xbb, 0xd2, 0x70, 0xa9, + 0x89, 0x07, 0xa7, 0x33, 0xb6, 0x2d, 0x22, 0x3c, + 0x92, 0x15, 0x20, 0xc9, 0x49, 0x87, 0xff, 0xaa, + 0x78, 0x50, 0x7a, 0xa5, 0x8f, 0x03, 0xf8, 0x59, + 0x80, 0x09, 0x17, 0x1a, 0xda, 0x65, 0x31, 0xd7, + 0xc6, 0x84, 0xb8, 0xd0, 0x3c, 0x00, 0xc8, 0x54, + 0x01, 0x00, 0xc3, 0x82, 0xb0, 0x29, 0x77, 0x5a, + 0x11, 0x1e, 0xcb, 0x7b, 0xfc, 0xa8, 0xd6, 0x6d, + 0x3a, 0x2c, 0xc6, 0xa5, 0xf8, 0x84, 0xee, 0x99, + 0xf6, 0x8d, 0xff, 0x0d, 0xd6, 0xbd, 0xde, 0xb1, + 0x91, 0x54, 0x60, 0x50, 0x02, 0x03, 0xce, 0xa9, + 0x56, 0x7d, 0xe7, 0x19, 0xb5, 0x62, 0x4d, 0xe6, + 0xec, 0x9a, 0x8f, 0x45, 0x1f, 0x9d, 0x89, 0x40, + 0xfa, 0x87, 0xef, 0x15, 0xb2, 0xeb, 0x3c, 0x00, + 0x04, 0x55, 0x01, 0x00, 0x8e, 0xc9, 0xfb, 0x0b, + 0x41, 0xec, 0xb3, 0x67, 0x5f, 0xfd, 0x45, 0xea, + 0x23, 0xbf, 0x53, 0xf7, 0xe4, 0x96, 0x9b, 0x5b, + 0x75, 0xc2, 0xe1, 0x1c, 0x3d, 0xae, 0x4c, 0x6a, + 0x6c, 0x5a, 0x7e, 0x41, 0xf5, 0x02, 0x83, 0x4f, + 0x68, 0x5c, 0x51, 0xf4, 0xd1, 0x34, 0xf9, 0x08, + 0xe2, 0x93, 0xab, 0x73, 0x62, 0x53, 0x2a, 0x3f, + 0x08, 0x0c, 0x95, 0x52, 0x46, 0x65, 0x9d, 0x5e, + 0x3c, 0x00, 0x40, 0x55, 0x01, 0x00, 0x30, 0x28, + 0x37, 0xa1, 0x0a, 0x0f, 0x2f, 0xb5, 0x0e, 0x09, + 0x24, 0x36, 0x1b, 0x9b, 0xdf, 0x3d, 0xcd, 0x26, + 0x4e, 0x69, 0x7f, 0xcd, 0xea, 0x9f, 0x12, 0x1b, + 0x1d, 0x9e, 0x58, 0x74, 0x34, 0x2e, 0x36, 0x2d, + 0xdc, 0xb2, 0xb4, 0xee, 0x5b, 0xfb, 0xa4, 0xf6, + 0x76, 0x4d, 0xb7, 0x61, 0x7d, 0xce, 0x52, 0x7b, + 0xdd, 0x3e, 0x5e, 0x71, 0x13, 0x97, 0xa6, 0xf5, + 0xb9, 0x68, 0x3c, 0x00, 0x7c, 0x55, 0x01, 0x00, + 0x00, 0x00, 0xc1, 0x2c, 0x40, 0x60, 0xe3, 0x1f, + 0x79, 0xc8, 0xb6, 0xed, 0xd4, 0xbe, 0x8d, 0x46, + 0x67, 0xd9, 0x72, 0x4b, 0x94, 0xde, 0x98, 0xd4, + 0xb0, 0xe8, 0x85, 0x4a, 0xbb, 0x6b, 0xc5, 0x2a, + 0x4f, 0xe5, 0xed, 0x16, 0x86, 0xc5, 0x9a, 0xd7, + 0x66, 0x55, 0x11, 0x94, 0x8a, 0xcf, 0xe9, 0x10, + 0x04, 0x06, 0xfe, 0x81, 0xa0, 0xf0, 0x78, 0x44, + 0x25, 0xba, 0x4b, 0xe3, 0x3c, 0x00, 0xb8, 0x55, + 0x01, 0x00, 0xa2, 0xf3, 0x5d, 0xfe, 0x80, 0xc0, + 0x05, 0x8a, 0x3f, 0xad, 0x21, 0xbc, 0x70, 0x48, + 0xf1, 0x04, 0x63, 0xdf, 0x77, 0xc1, 0xaf, 0x75, + 0x42, 0x63, 0x20, 0x30, 0xe5, 0x1a, 0xfd, 0x0e, + 0xbf, 0x6d, 0x81, 0x4c, 0x18, 0x14, 0x26, 0x35, + 0xc3, 0x2f, 0xbe, 0xe1, 0x35, 0xa2, 0x88, 0xcc, + 0x2e, 0x39, 0x93, 0x57, 0x55, 0xf2, 0xfc, 0x82, + 0x7a, 0x47, 0xc8, 0xac, 0xba, 0xe7, 0x3c, 0x00, + 0xf4, 0x55, 0x01, 0x00, 0x32, 0x2b, 0xe6, 0x95, + 0xc0, 0xa0, 0x19, 0x98, 0x9e, 0xd1, 0xa3, 0x7f, + 0x44, 0x66, 0x54, 0x7e, 0x3b, 0xab, 0x0b, 0x83, + 0x8c, 0xca, 0xc7, 0x29, 0x6b, 0xd3, 0x28, 0x3c, + 0xa7, 0x79, 0xbc, 0xe2, 0x16, 0x1d, 0xad, 0x76, + 0xdb, 0x3b, 0x64, 0x56, 0x74, 0x4e, 0x14, 0x1e, + 0x92, 0xdb, 0x0c, 0x0a, 0x48, 0x6c, 0xb8, 0xe4, + 0x9f, 0x5d, 0xbd, 0x6e, 0x43, 0xef, 0xc4, 0xa6, + 0x3c, 0x00, 0x30, 0x56, 0x01, 0x00, 0x39, 0xa8, + 0x31, 0xa4, 0xd3, 0x37, 0xf2, 0x8b, 0xd5, 0x32, + 0x8b, 0x43, 0x6e, 0x59, 0xda, 0xb7, 0x01, 0x8c, + 0xb1, 0x64, 0x9c, 0xd2, 0x49, 0xe0, 0xd8, 0xb4, + 0xac, 0xfa, 0xf3, 0x07, 0xcf, 0x25, 0xca, 0xaf, + 0xf4, 0x8e, 0x47, 0xe9, 0x10, 0x18, 0x6f, 0xd5, + 0xf0, 0x88, 0x4a, 0x6f, 0x5c, 0x72, 0x38, 0x24, + 0x57, 0xf1, 0x73, 0xc7, 0x97, 0x51, 0xcb, 0x23, + 0xa1, 0x7c, 0x3c, 0x00, 0x6c, 0x56, 0x01, 0x00, + 0xe8, 0x9c, 0x3e, 0x21, 0x96, 0xdd, 0x61, 0xdc, + 0x0d, 0x86, 0x0f, 0x85, 0xe0, 0x90, 0x7c, 0x42, + 0x71, 0xc4, 0xcc, 0xaa, 0x90, 0xd8, 0x06, 0x05, + 0xf7, 0x01, 0x1c, 0x12, 0xc2, 0xa3, 0x6a, 0x5f, + 0xae, 0xf9, 0x69, 0xd0, 0x17, 0x91, 0x99, 0x58, + 0x3a, 0x27, 0x27, 0xb9, 0xd9, 0x38, 0xeb, 0x13, + 0x2b, 0xb3, 0x22, 0x33, 0xd2, 0xbb, 0xa9, 0x70, + 0x07, 0x89, 0x33, 0xa7, 0x3c, 0x00, 0xa8, 0x56, + 0x01, 0x00, 0x2d, 0xb6, 0x3c, 0x22, 0x15, 0x92, + 0xc9, 0x20, 0x87, 0x49, 0xaa, 0xff, 0x50, 0x78, + 0xa5, 0x7a, 0x03, 0x8f, 0x59, 0xf8, 0x09, 0x80, + 0x1a, 0x17, 0x65, 0xda, 0xd7, 0x31, 0x84, 0xc6, + 0xd0, 0xb8, 0x82, 0xc3, 0x29, 0xb0, 0x5a, 0x77, + 0x1e, 0x11, 0x7b, 0xcb, 0xa8, 0xfc, 0x6d, 0xd6, + 0x2c, 0x3a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x56, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x72, 0x65, 0x71, 0x45, 0x72, 0x72, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x57, 0x01, 0x00, 0xc4, 0x8e, + 0x01, 0x00, 0x24, 0x9a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x24, 0x9a, + 0x01, 0x00, 0xa4, 0xb2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xa4, 0xb2, + 0x01, 0x00, 0x14, 0xc8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x10, 0x20, + 0x30, 0x40, 0x50, 0xbb, 0x30, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0x57, 0x01, 0x00, + 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22, + 0x24, 0x26, 0x28, 0x2a, 0x2b, 0x2c, 0x01, 0x00, + 0x70, 0x17, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0d, 0x25, 0x00, 0x00, 0x41, 0x3f, 0x01, 0x00, + 0x65, 0x29, 0x01, 0x00, 0x0d, 0x25, 0x00, 0x00, + 0xf5, 0x5e, 0x00, 0x00, 0x41, 0x3f, 0x01, 0x00, + 0x41, 0x3f, 0x01, 0x00, 0x02, 0x04, 0x0b, 0x0c, + 0x12, 0x16, 0x18, 0x24, 0x3c, 0x00, 0x98, 0x57, + 0x01, 0x00, 0x30, 0x48, 0x60, 0x6c, 0x01, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x10, 0x12, 0x11, 0x00, + 0x00, 0x01, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0x57, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x93, 0x04, 0x00, + 0x40, 0x42, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0xdf, 0x40, 0xcf, 0xfd, 0x00, 0x40, 0x83, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x58, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x00, 0x80, 0x81, 0x00, 0x00, + 0x80, 0x00, 0xbf, 0xff, 0x7f, 0x7e, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x78, 0x6f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x6f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x6f, + 0x01, 0x00, 0x3c, 0x00, 0x4c, 0x58, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x78, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb8, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x71, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x78, 0x71, 0x01, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x90, 0x71, 0x01, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x88, 0x58, + 0x01, 0x00, 0xa8, 0x71, 0x01, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x05, 0x0a, 0x01, 0x06, 0x0b, + 0x02, 0x07, 0x0c, 0x03, 0x08, 0x0d, 0x04, 0x09, + 0x00, 0x00, 0x03, 0x03, 0x01, 0x01, 0x00, 0x04, + 0x00, 0x04, 0x04, 0x06, 0x16, 0x1e, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, + 0xc4, 0x58, 0x01, 0x00, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, + 0x61, 0x8b, 0x4a, 0x00, 0x61, 0x8f, 0x4a, 0x00, + 0x61, 0x8b, 0x4a, 0x00, 0x05, 0xe3, 0xc0, 0x00, + 0x05, 0xcb, 0xc0, 0x00, 0x05, 0xbb, 0xc0, 0x00, + 0x85, 0xba, 0xc0, 0x00, 0x85, 0xa2, 0xc0, 0x00, + 0x85, 0x92, 0xc0, 0x00, 0x85, 0x8a, 0xc0, 0x00, + 0x85, 0x7a, 0xc0, 0x00, 0x45, 0x89, 0xc0, 0x00, + 0x3c, 0x00, 0x00, 0x59, 0x01, 0x00, 0x45, 0x71, + 0xc0, 0x00, 0x45, 0x69, 0xc0, 0x00, 0x45, 0x61, + 0xc0, 0x00, 0x45, 0x59, 0xc0, 0x00, 0x45, 0x51, + 0xc0, 0x00, 0x45, 0x49, 0xc0, 0x00, 0x45, 0x41, + 0xc0, 0x00, 0x45, 0x39, 0xc0, 0x00, 0x45, 0x31, + 0xc0, 0x00, 0x45, 0x29, 0xc0, 0x00, 0x45, 0x21, + 0xc0, 0x00, 0x60, 0x2d, 0x06, 0x00, 0x60, 0x2d, + 0x06, 0x00, 0x60, 0x2d, 0x06, 0x00, 0x60, 0x2d, + 0x06, 0x00, 0x3c, 0x00, 0x3c, 0x59, 0x01, 0x00, + 0x60, 0x2d, 0x06, 0x00, 0x60, 0x28, 0x06, 0x00, + 0x50, 0x26, 0x06, 0x00, 0x50, 0x21, 0x06, 0x00, + 0x50, 0x1f, 0x06, 0x00, 0x50, 0x1c, 0x06, 0x00, + 0x50, 0x1a, 0x06, 0x00, 0x50, 0x18, 0x06, 0x00, + 0x50, 0x16, 0x06, 0x00, 0x50, 0x14, 0x06, 0x00, + 0x50, 0x12, 0x06, 0x00, 0x50, 0x10, 0x06, 0x00, + 0x50, 0x0e, 0x06, 0x00, 0x50, 0x0c, 0x06, 0x00, + 0x50, 0x0a, 0x06, 0x00, 0x3c, 0x00, 0x78, 0x59, + 0x01, 0x00, 0x2b, 0x0b, 0x06, 0x00, 0x1d, 0x75, + 0xc0, 0x00, 0x1d, 0x75, 0xc0, 0x00, 0x1d, 0x75, + 0xc0, 0x00, 0x1d, 0x75, 0xc0, 0x00, 0x1d, 0x75, + 0xc0, 0x00, 0x1d, 0x75, 0xc0, 0x00, 0x1d, 0x6d, + 0xc0, 0x00, 0xdd, 0x5b, 0xc0, 0x00, 0xdd, 0x4b, + 0xc0, 0x00, 0xdd, 0x43, 0xc0, 0x00, 0xdd, 0x3b, + 0xc0, 0x00, 0xdd, 0x33, 0xc0, 0x00, 0xdd, 0x2b, + 0xc0, 0x00, 0xdd, 0x23, 0xc0, 0x00, 0x3c, 0x00, + 0xb4, 0x59, 0x01, 0x00, 0xdd, 0x1b, 0xc0, 0x00, + 0xdd, 0x13, 0xc0, 0x00, 0xdd, 0x13, 0xc0, 0x00, + 0xdd, 0x13, 0xc0, 0x00, 0xdd, 0x13, 0xc0, 0x00, + 0xdd, 0x13, 0xc0, 0x00, 0x05, 0x05, 0x05, 0x04, + 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, + 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0x59, 0x01, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x80, 0x00, 0x5b, 0x00, 0x40, 0x02, + 0xe0, 0xfd, 0xf2, 0x00, 0xb8, 0xfc, 0xa4, 0x01, + 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, + 0x00, 0x00, 0x03, 0x0b, 0x9f, 0x5f, 0x07, 0x01, + 0x2a, 0x04, 0x21, 0x04, 0x17, 0x04, 0x0e, 0x04, + 0x04, 0x04, 0xfb, 0x03, 0xf1, 0x03, 0xe8, 0x03, + 0xc9, 0x03, 0xaa, 0x03, 0x8a, 0x03, 0x6b, 0x03, + 0x4c, 0x03, 0x3c, 0x00, 0x2c, 0x5a, 0x01, 0x00, + 0x2d, 0x03, 0x0e, 0x03, 0xee, 0x02, 0xec, 0x02, + 0x01, 0x03, 0x16, 0x03, 0x2b, 0x03, 0x40, 0x03, + 0x55, 0x03, 0x6a, 0x03, 0x7f, 0x03, 0x94, 0x03, + 0xa9, 0x03, 0xbe, 0x03, 0xd3, 0x03, 0xe8, 0x03, + 0xbe, 0x03, 0x94, 0x03, 0x6a, 0x03, 0x00, 0x02, + 0x04, 0x06, 0x07, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x00, 0x03, 0x3c, 0x00, 0x68, 0x5a, + 0x01, 0x00, 0x05, 0x08, 0x0b, 0x0e, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x5a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0x5a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x5b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0x5b, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x5b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x5b, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x5c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x5c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x5c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x5c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x5c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x5d, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0x5d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0x5d, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x5d, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0x5e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x5e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x5e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x5e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0x5f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x5f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x5f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x5f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x60, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x60, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x60, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x60, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x61, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x61, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x61, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x61, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x62, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x62, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x62, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x62, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x63, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x63, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x63, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x63, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0x64, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x64, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0x64, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0x64, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0x64, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x65, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0x65, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x65, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x65, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x66, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0x66, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0x66, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0x66, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x67, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0x67, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0x67, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0x67, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x68, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0x68, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0x68, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0x68, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0x69, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x69, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x69, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0x69, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x6a, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0x6a, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x6a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x6a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x6b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x6b, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x6b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x6b, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x6b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x6c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0x6c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0x6c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x6c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0x6d, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x6d, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x6d, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0x6e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x6e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x6e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x6e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x6f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0x6f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x6f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x6f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x6f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x70, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x70, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x71, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x71, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x71, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x71, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x72, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x72, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x72, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x72, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0x73, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x73, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0x73, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0x73, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0x73, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x74, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0x74, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x74, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x74, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x75, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0x75, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0x75, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0x75, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x76, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0x76, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0x76, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0x76, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x77, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0x77, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0x77, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0x77, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0x78, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x78, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x78, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0x78, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x79, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0x79, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x79, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x79, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x7a, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x7a, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x7a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x7a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x7a, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x7b, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0x7b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0x7b, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x7b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0x7c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x7c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x7c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x7c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0x7d, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x7d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x7d, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x7d, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x7e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0x7e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x7e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x7e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x7e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x7f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x7f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x7f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0xb5, 0x01, 0x25, 0x07, 0x4e, + 0xad, 0x03, 0x75, 0x61, 0x0a, 0x20, 0xfa, 0xf7, + 0x6c, 0xff, 0x30, 0x68, 0x80, 0x03, 0xc4, 0x0f, + 0xb5, 0x61, 0x0a, 0x20, 0xfa, 0xf7, 0x65, 0xff, + 0x20, 0x1c, 0x70, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x80, 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x70, 0xb5, 0x01, 0x25, 0x6d, 0x04, 0x00, 0x28, + 0x10, 0x4c, 0x01, 0xd0, 0x65, 0x61, 0x00, 0xe0, + 0xa5, 0x61, 0x60, 0x68, 0x28, 0x43, 0x60, 0x60, + 0xa0, 0x68, 0x28, 0x43, 0xa0, 0x60, 0x0a, 0x20, + 0xfa, 0xf7, 0x4e, 0xff, 0x01, 0x26, 0xb6, 0x03, + 0x66, 0x61, 0x0a, 0x20, 0xfa, 0xf7, 0x48, 0xff, + 0xa6, 0x61, 0x01, 0x20, 0xfa, 0xf7, 0x44, 0xff, + 0x3c, 0x00, 0x60, 0x80, 0x01, 0x00, 0xa0, 0x68, + 0xa8, 0x43, 0xa0, 0x60, 0x60, 0x68, 0x28, 0x43, + 0x60, 0x60, 0x0a, 0x20, 0xfa, 0xf7, 0x3b, 0xff, + 0x70, 0xbd, 0x10, 0x00, 0x07, 0x00, 0x70, 0xb5, + 0x01, 0x25, 0x10, 0x4c, 0x6d, 0x04, 0x65, 0x61, + 0x60, 0x68, 0x28, 0x43, 0x60, 0x60, 0xa0, 0x68, + 0x28, 0x43, 0xa0, 0x60, 0xee, 0x08, 0xa6, 0x61, + 0x0a, 0x20, 0xfa, 0xf7, 0x28, 0xff, 0x66, 0x61, + 0x0a, 0x20, 0x3c, 0x00, 0x9c, 0x80, 0x01, 0x00, + 0xfa, 0xf7, 0x24, 0xff, 0xa5, 0x61, 0x0a, 0x20, + 0xfa, 0xf7, 0x20, 0xff, 0xa6, 0x61, 0x0a, 0x20, + 0xfa, 0xf7, 0x1c, 0xff, 0xa0, 0x68, 0xa8, 0x43, + 0xa0, 0x60, 0x60, 0x68, 0x28, 0x43, 0x60, 0x60, + 0x70, 0xbd, 0x00, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x70, 0xb5, 0x01, 0x25, 0x0e, 0x4c, 0x6d, 0x04, + 0xa5, 0x61, 0x60, 0x68, 0x28, 0x43, 0x60, 0x60, + 0xa0, 0x68, 0x28, 0x43, 0x3c, 0x00, 0xd8, 0x80, + 0x01, 0x00, 0xa0, 0x60, 0xee, 0x08, 0x66, 0x61, + 0x0a, 0x20, 0xfa, 0xf7, 0x02, 0xff, 0x65, 0x61, + 0x0a, 0x20, 0xfa, 0xf7, 0xfe, 0xfe, 0xa6, 0x61, + 0x0a, 0x20, 0xfa, 0xf7, 0xfa, 0xfe, 0xa0, 0x68, + 0xa8, 0x43, 0xa0, 0x60, 0x60, 0x68, 0x28, 0x43, + 0x60, 0x60, 0x70, 0xbd, 0x00, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x70, 0xb5, 0x05, 0x1c, 0x00, 0x24, + 0x80, 0x26, 0x28, 0x1c, 0x30, 0x40, 0x3c, 0x00, + 0x14, 0x81, 0x01, 0x00, 0xff, 0xf7, 0x88, 0xff, + 0x68, 0x06, 0x05, 0x0e, 0x01, 0x34, 0x08, 0x2c, + 0xf6, 0xdb, 0xff, 0xf7, 0x6d, 0xff, 0x70, 0xbd, + 0x80, 0xb5, 0x02, 0x1c, 0x0b, 0x21, 0x80, 0x20, + 0xfb, 0xf7, 0x3e, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0xf8, 0xb5, 0x12, 0x48, 0x00, 0x25, 0x07, 0x1c, + 0xff, 0x37, 0x06, 0x1d, 0x01, 0x37, 0x28, 0x1c, + 0xf9, 0xf7, 0xea, 0xfd, 0x04, 0x1c, 0x17, 0xd0, + 0x3c, 0x00, 0x50, 0x81, 0x01, 0x00, 0x20, 0x69, + 0x00, 0x28, 0x04, 0xd0, 0xe0, 0x6a, 0x00, 0x28, + 0x03, 0xd0, 0x00, 0x20, 0xe0, 0x62, 0x25, 0x1c, + 0xf0, 0xe7, 0x7b, 0x68, 0x00, 0x2b, 0x05, 0xd0, + 0x32, 0x1c, 0x21, 0x1c, 0x44, 0x31, 0x01, 0x20, + 0xe8, 0xf7, 0x34, 0xf9, 0x20, 0x1c, 0x44, 0x30, + 0xf9, 0xf7, 0x37, 0xfe, 0xe2, 0xe7, 0xf8, 0xbd, + 0x00, 0x00, 0x20, 0xf7, 0x01, 0x00, 0x11, 0x48, + 0x70, 0xb5, 0x3c, 0x00, 0x8c, 0x81, 0x01, 0x00, + 0x00, 0x68, 0xff, 0x28, 0x1d, 0xd1, 0xff, 0x20, + 0x32, 0x30, 0xfa, 0xf7, 0xa7, 0xfe, 0x0e, 0x4d, + 0x6c, 0x68, 0x0e, 0x48, 0xfa, 0xf7, 0xa2, 0xfe, + 0x68, 0x68, 0x24, 0x1a, 0x01, 0x20, 0x00, 0xf0, + 0x95, 0xfd, 0x6e, 0x68, 0x09, 0x48, 0xfa, 0xf7, + 0x99, 0xfe, 0x68, 0x68, 0x21, 0x1c, 0x0a, 0x39, + 0x30, 0x1a, 0x88, 0x42, 0x02, 0xd3, 0x0a, 0x34, + 0xa0, 0x42, 0x02, 0xd9, 0x3c, 0x00, 0xc8, 0x81, + 0x01, 0x00, 0x00, 0x20, 0x00, 0xf0, 0x85, 0xfd, + 0x70, 0xbd, 0xf4, 0x74, 0x01, 0x00, 0x00, 0x03, + 0x07, 0x00, 0x93, 0x03, 0x00, 0x00, 0x70, 0xb5, + 0x00, 0xf0, 0x4d, 0xf8, 0x01, 0x20, 0xed, 0xf7, + 0x34, 0xf9, 0x11, 0x4d, 0x18, 0x21, 0x68, 0x60, + 0x00, 0x20, 0xe9, 0xf7, 0xf2, 0xf9, 0x28, 0x60, + 0x04, 0x68, 0x80, 0x20, 0x20, 0x80, 0x00, 0x26, + 0x06, 0x22, 0xff, 0x21, 0x20, 0x1d, 0x3c, 0x00, + 0x04, 0x82, 0x01, 0x00, 0x66, 0x80, 0xe8, 0xf7, + 0x0b, 0xfa, 0x20, 0x1c, 0x0a, 0x30, 0x09, 0x49, + 0xf2, 0xf7, 0x2e, 0xfd, 0x20, 0x1c, 0x10, 0x30, + 0x07, 0x49, 0xf2, 0xf7, 0x29, 0xfd, 0xe6, 0x82, + 0x03, 0xcd, 0xe9, 0xf7, 0xf9, 0xf8, 0x02, 0x49, + 0x01, 0x20, 0x14, 0x39, 0x88, 0x60, 0x70, 0xbd, + 0x90, 0xd9, 0x01, 0x00, 0x12, 0x61, 0x01, 0x00, + 0x24, 0xf7, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x82, 0x01, 0x00, 0x10, 0xb5, + 0x06, 0x4c, 0x00, 0x22, 0x02, 0x20, 0xe1, 0x68, + 0xf0, 0xf7, 0x11, 0xfb, 0x60, 0x78, 0x02, 0x28, + 0x01, 0xd1, 0x00, 0xf0, 0x1a, 0xf9, 0x10, 0xbd, + 0x00, 0x00, 0x40, 0xd9, 0x01, 0x00, 0x80, 0xb5, + 0xa1, 0x20, 0xff, 0xf7, 0x50, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0x40, 0x00, 0x0e, 0x21, 0x08, 0x40, + 0x80, 0xb5, 0xa0, 0x30, 0xff, 0xf7, 0x47, 0xff, + 0x80, 0xbd, 0x3c, 0x00, 0x7c, 0x82, 0x01, 0x00, + 0x10, 0xb5, 0x05, 0x4c, 0x20, 0x68, 0x00, 0x28, + 0x04, 0xd0, 0xe9, 0xf7, 0x87, 0xf9, 0x00, 0x20, + 0x20, 0x60, 0x60, 0x60, 0x10, 0xbd, 0x00, 0x00, + 0x90, 0xd9, 0x01, 0x00, 0x10, 0xb5, 0x07, 0x4c, + 0x01, 0x21, 0x07, 0x4a, 0x21, 0x61, 0x02, 0x20, + 0x10, 0x70, 0x61, 0x61, 0x00, 0xf0, 0xd6, 0xfc, + 0x00, 0xf0, 0xc8, 0xfb, 0x20, 0x1c, 0xed, 0xf7, + 0x9f, 0xfa, 0x10, 0xbd, 0x3c, 0x00, 0xb8, 0x82, + 0x01, 0x00, 0x20, 0xf7, 0x01, 0x00, 0x7c, 0xd9, + 0x01, 0x00, 0x70, 0xb5, 0x02, 0x1c, 0x08, 0x1c, + 0x02, 0x25, 0x00, 0x2a, 0x13, 0x4e, 0x14, 0xd0, + 0x00, 0xf0, 0x11, 0xfc, 0x30, 0x78, 0x01, 0x21, + 0x08, 0x43, 0x30, 0x70, 0x30, 0x78, 0x28, 0x43, + 0x30, 0x70, 0x00, 0x20, 0x7d, 0x21, 0x49, 0x01, + 0xb2, 0x79, 0x92, 0x07, 0x00, 0xd5, 0x01, 0x34, + 0x01, 0x30, 0x88, 0x42, 0xf8, 0xdb, 0x3c, 0x00, + 0xf4, 0x82, 0x01, 0x00, 0x20, 0x1c, 0x70, 0xbd, + 0x30, 0x78, 0xa8, 0x43, 0x30, 0x70, 0x30, 0x78, + 0x40, 0x08, 0x40, 0x00, 0x30, 0x70, 0x05, 0x49, + 0x48, 0x68, 0x01, 0x22, 0x12, 0x04, 0x90, 0x43, + 0x48, 0x60, 0x01, 0x20, 0x70, 0xbd, 0x00, 0x00, + 0x88, 0x00, 0x07, 0x00, 0x6c, 0x00, 0x07, 0x00, + 0xff, 0xb5, 0x09, 0xae, 0x00, 0x20, 0x60, 0xce, + 0x28, 0x60, 0x00, 0x23, 0x9c, 0x46, 0x30, 0x60, + 0x3c, 0x00, 0x30, 0x83, 0x01, 0x00, 0x69, 0x46, + 0x01, 0xaa, 0x17, 0xe0, 0xdb, 0x07, 0x0e, 0xd5, + 0x12, 0x4b, 0x1c, 0x56, 0x63, 0x1c, 0x0a, 0xd0, + 0x01, 0x27, 0x2b, 0x68, 0xa7, 0x40, 0x3b, 0x43, + 0x2b, 0x60, 0x13, 0x68, 0xdb, 0x07, 0x02, 0xd5, + 0x33, 0x68, 0x3b, 0x43, 0x33, 0x60, 0x0b, 0x68, + 0x5b, 0x08, 0x0b, 0x60, 0x13, 0x68, 0x5b, 0x08, + 0x13, 0x60, 0x01, 0x30, 0x0b, 0x68, 0x00, 0x2b, + 0x01, 0xd0, 0x3c, 0x00, 0x6c, 0x83, 0x01, 0x00, + 0x22, 0x28, 0xe2, 0xd3, 0x63, 0x46, 0x01, 0x33, + 0x20, 0x20, 0x02, 0x2b, 0x9c, 0x46, 0x02, 0xa9, + 0x03, 0xaa, 0xf2, 0xdb, 0xff, 0xbd, 0x00, 0x00, + 0xb4, 0x8d, 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x0d, 0x1c, 0x1e, 0x21, 0x00, 0x22, 0x03, 0x20, + 0x05, 0x4b, 0xf9, 0xf7, 0xb3, 0xf8, 0x21, 0x1c, + 0x03, 0x20, 0xf9, 0xf7, 0xf5, 0xf8, 0x29, 0x1c, + 0x03, 0x20, 0xf9, 0xf7, 0x3c, 0x00, 0xa8, 0x83, + 0x01, 0x00, 0xf1, 0xf8, 0xb0, 0xbd, 0x80, 0x38, + 0x01, 0x00, 0xb0, 0xb5, 0x1c, 0x4c, 0x1c, 0x4d, + 0x21, 0x78, 0x02, 0x29, 0x09, 0xd0, 0x03, 0x29, + 0x19, 0xd0, 0x04, 0x29, 0x1f, 0xd0, 0x05, 0x29, + 0x23, 0xd1, 0x00, 0x20, 0x00, 0xf0, 0x17, 0xfb, + 0x23, 0xe0, 0x68, 0x61, 0x14, 0x48, 0x1c, 0x30, + 0xc1, 0x68, 0x02, 0x69, 0x89, 0x18, 0xc1, 0x60, + 0x00, 0xf0, 0x2f, 0xfb, 0xe0, 0x68, 0x3c, 0x00, + 0xe4, 0x83, 0x01, 0x00, 0x01, 0x38, 0xe0, 0x60, + 0x16, 0xd1, 0x32, 0x20, 0xe0, 0x60, 0xff, 0xf7, + 0xa3, 0xfe, 0x11, 0xe0, 0x00, 0x20, 0x00, 0xf0, + 0x01, 0xfb, 0x00, 0xf0, 0x2d, 0xfc, 0x01, 0x20, + 0x20, 0x70, 0x09, 0xe0, 0x00, 0x20, 0x00, 0xf0, + 0xf9, 0xfa, 0xff, 0xf7, 0x45, 0xff, 0x03, 0xe0, + 0x05, 0x21, 0x0b, 0x20, 0xe8, 0xf7, 0x46, 0xff, + 0x68, 0x69, 0x61, 0x68, 0xe7, 0xf7, 0xdd, 0xff, + 0x3c, 0x00, 0x20, 0x84, 0x01, 0x00, 0xb0, 0xbd, + 0x00, 0x00, 0x7c, 0xd9, 0x01, 0x00, 0x20, 0xf7, + 0x01, 0x00, 0xf7, 0xb5, 0x04, 0x1c, 0x17, 0x1c, + 0xff, 0xf7, 0x21, 0xfe, 0x20, 0x0a, 0xff, 0xf7, + 0x18, 0xff, 0x20, 0x06, 0x00, 0x0e, 0xff, 0xf7, + 0x62, 0xfe, 0xff, 0xf7, 0x18, 0xfe, 0xa1, 0x20, + 0xff, 0xf7, 0x5d, 0xfe, 0x00, 0x25, 0x16, 0xe0, + 0x00, 0x20, 0x00, 0x24, 0x40, 0x06, 0x06, 0x0e, + 0xff, 0xf7, 0x3c, 0x00, 0x5c, 0x84, 0x01, 0x00, + 0xd1, 0xfd, 0x00, 0x06, 0x00, 0x0e, 0x30, 0x43, + 0x01, 0x34, 0x08, 0x2c, 0xf5, 0xdb, 0x29, 0x1c, + 0x01, 0x9a, 0x01, 0x35, 0xbd, 0x42, 0x50, 0x54, + 0x01, 0xda, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, + 0xff, 0xf7, 0xd4, 0xfd, 0xbd, 0x42, 0xe6, 0xdb, + 0xff, 0xf7, 0x1e, 0xfe, 0xfe, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0xff, 0xf7, 0x19, 0xfe, 0x09, 0x21, + 0x89, 0x03, 0x00, 0x22, 0x3c, 0x00, 0x98, 0x84, + 0x01, 0x00, 0x02, 0x20, 0xf0, 0xf7, 0xe9, 0xf9, + 0x80, 0xbd, 0x09, 0x21, 0x89, 0x03, 0x80, 0xb5, + 0x00, 0x22, 0x02, 0x20, 0xf0, 0xf7, 0xc9, 0xf9, + 0x01, 0x21, 0x09, 0x48, 0x89, 0x03, 0x81, 0x61, + 0x42, 0x68, 0x0a, 0x43, 0x42, 0x60, 0x82, 0x68, + 0x11, 0x43, 0x81, 0x60, 0x01, 0x21, 0x49, 0x04, + 0x81, 0x61, 0x82, 0x68, 0x8a, 0x43, 0x82, 0x60, + 0x42, 0x68, 0x11, 0x43, 0x41, 0x60, 0x3c, 0x00, + 0xd4, 0x84, 0x01, 0x00, 0x80, 0xbd, 0x00, 0x00, + 0x10, 0x00, 0x07, 0x00, 0xf0, 0xb5, 0x04, 0x1c, + 0xc0, 0x68, 0x7b, 0x4e, 0x05, 0x68, 0x30, 0x78, + 0x85, 0xb0, 0x01, 0x28, 0x01, 0xd0, 0x02, 0x28, + 0x72, 0xd1, 0x00, 0x21, 0x20, 0x69, 0xf2, 0xf7, + 0x41, 0xf9, 0x76, 0x49, 0xf2, 0xf7, 0x24, 0xfc, + 0x00, 0x28, 0x69, 0xd0, 0x20, 0x1c, 0x20, 0x30, + 0x41, 0x7a, 0x08, 0x29, 0x02, 0xd1, 0x72, 0x4a, + 0x3c, 0x00, 0x10, 0x85, 0x01, 0x00, 0x00, 0x21, + 0x51, 0x61, 0x00, 0x7a, 0x22, 0x6a, 0x18, 0x21, + 0xf2, 0xf7, 0xc9, 0xfb, 0xe1, 0x6a, 0x37, 0x1c, + 0x40, 0x18, 0x6c, 0x49, 0x02, 0x90, 0x30, 0x78, + 0x0e, 0x1c, 0xff, 0x36, 0x0a, 0x1d, 0x01, 0x36, + 0x01, 0x28, 0x04, 0x92, 0x07, 0xd0, 0x65, 0x4a, + 0x02, 0x99, 0x1c, 0x32, 0x28, 0x1c, 0xed, 0xf7, + 0xe2, 0xfb, 0x00, 0x28, 0x6b, 0xd0, 0x32, 0x21, + 0x20, 0x69, 0x3c, 0x00, 0x4c, 0x85, 0x01, 0x00, + 0xf2, 0xf7, 0x16, 0xf9, 0x01, 0x90, 0x20, 0x69, + 0x01, 0x21, 0xf2, 0xf7, 0x11, 0xf9, 0x01, 0x1c, + 0x5e, 0x48, 0x01, 0x23, 0x01, 0x9a, 0xed, 0xf7, + 0x07, 0xfc, 0x00, 0x28, 0x04, 0xd1, 0x5b, 0x48, + 0xed, 0xf7, 0x92, 0xfa, 0x00, 0x21, 0xb9, 0x60, + 0x56, 0x48, 0x1c, 0x30, 0x81, 0x68, 0xea, 0xf7, + 0x19, 0xfc, 0x20, 0x1c, 0x14, 0x30, 0x03, 0x90, + 0x04, 0x99, 0xf2, 0xf7, 0x3c, 0x00, 0x88, 0x85, + 0x01, 0x00, 0xd5, 0xfb, 0x00, 0x28, 0x05, 0xd1, + 0x00, 0x22, 0xba, 0x60, 0x04, 0x98, 0x03, 0x99, + 0xf2, 0xf7, 0x6b, 0xfb, 0x4f, 0x49, 0x28, 0x89, + 0x09, 0x88, 0x88, 0x42, 0x03, 0xd0, 0x00, 0x22, + 0x4c, 0x49, 0xba, 0x60, 0x08, 0x80, 0x03, 0x21, + 0x20, 0x69, 0xf2, 0xf7, 0xe4, 0xf8, 0x00, 0x28, + 0x10, 0xd0, 0x46, 0x49, 0x82, 0x78, 0x20, 0x31, + 0x0b, 0x79, 0x94, 0x46, 0x9a, 0x42, 0x3c, 0x00, + 0xc4, 0x85, 0x01, 0x00, 0x09, 0xd0, 0x00, 0x22, + 0xba, 0x60, 0x62, 0x46, 0x0a, 0x71, 0x80, 0x78, + 0x01, 0x21, 0xf3, 0xf7, 0x05, 0xf9, 0x00, 0xe0, + 0x77, 0xe0, 0x06, 0x21, 0x20, 0x69, 0xf2, 0xf7, + 0xcd, 0xf8, 0x00, 0x28, 0x08, 0xd0, 0x81, 0x78, + 0x3a, 0x48, 0x40, 0x30, 0x82, 0x88, 0x91, 0x42, + 0x02, 0xd0, 0x00, 0x22, 0xba, 0x60, 0x81, 0x80, + 0x2a, 0x21, 0x20, 0x69, 0xf2, 0xf7, 0xbe, 0xf8, + 0x3c, 0x00, 0x00, 0x86, 0x01, 0x00, 0x00, 0x28, + 0x0d, 0xd0, 0x80, 0x78, 0xf1, 0x69, 0x33, 0x4a, + 0x81, 0x42, 0x08, 0xd0, 0x00, 0x21, 0xb9, 0x60, + 0xf0, 0x61, 0x10, 0x1c, 0xed, 0xf7, 0x09, 0xfb, + 0x2f, 0x48, 0xed, 0xf7, 0xfa, 0xfa, 0x38, 0x78, + 0x3b, 0x1c, 0x01, 0x28, 0x17, 0xd1, 0x02, 0x20, + 0x18, 0x70, 0x2a, 0x4f, 0x01, 0x23, 0x3b, 0x61, + 0x27, 0x4b, 0x03, 0xcd, 0x1c, 0x33, 0x08, 0x3d, + 0x02, 0x9a, 0x3c, 0x00, 0x3c, 0x86, 0x01, 0x00, + 0xed, 0xf7, 0xb0, 0xfa, 0x38, 0x1c, 0xed, 0xf7, + 0xd7, 0xf8, 0x32, 0x68, 0x00, 0x2a, 0x03, 0xd0, + 0x00, 0x21, 0x01, 0x20, 0xe7, 0xf7, 0xc4, 0xfe, + 0x00, 0xf0, 0xf4, 0xf9, 0x20, 0x1c, 0xf9, 0xf7, + 0xd5, 0xfb, 0x07, 0x1c, 0x11, 0xd1, 0x20, 0x1c, + 0xf9, 0xf7, 0x88, 0xfb, 0x07, 0x1c, 0x2e, 0xd0, + 0x01, 0x23, 0x3b, 0x61, 0x68, 0x89, 0x40, 0x21, + 0xc8, 0x53, 0x73, 0x68, 0x3c, 0x00, 0x78, 0x86, + 0x01, 0x00, 0x00, 0x2b, 0x04, 0xd0, 0x21, 0x1c, + 0x00, 0x20, 0x04, 0x9a, 0xe7, 0xf7, 0xac, 0xfe, + 0x01, 0x23, 0xfb, 0x62, 0x20, 0x69, 0x32, 0x21, + 0xf2, 0xf7, 0x75, 0xf8, 0x05, 0x1c, 0x20, 0x69, + 0x01, 0x21, 0xf2, 0xf7, 0x70, 0xf8, 0x0e, 0x4e, + 0x01, 0x1c, 0x2a, 0x1c, 0x30, 0x1c, 0xed, 0xf7, + 0xc0, 0xfb, 0x00, 0x28, 0x0e, 0xd1, 0x32, 0x21, + 0x20, 0x69, 0xf2, 0xf7, 0x64, 0xf8, 0x3c, 0x00, + 0xb4, 0x86, 0x01, 0x00, 0x05, 0x1c, 0x20, 0x69, + 0x01, 0x21, 0xf2, 0xf7, 0x5f, 0xf8, 0x01, 0x1c, + 0x3b, 0x1c, 0x2a, 0x1c, 0x30, 0x1c, 0xed, 0xf7, + 0xd7, 0xfa, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0x7c, 0xd9, 0x01, 0x00, 0x40, 0xf8, 0x01, 0x00, + 0x20, 0xf7, 0x01, 0x00, 0x02, 0x1c, 0x08, 0x1c, + 0x80, 0x2a, 0x80, 0xb5, 0x06, 0xd0, 0x81, 0x2a, + 0x03, 0xd0, 0x04, 0x21, 0x0b, 0x20, 0xe8, 0xf7, + 0x3c, 0x00, 0xf0, 0x86, 0x01, 0x00, 0xd9, 0xfd, + 0x80, 0xbd, 0xff, 0xf7, 0x5c, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x48, 0x81, 0x78, 0xff, 0x29, + 0x01, 0xd0, 0x00, 0x79, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x80, 0xf8, 0x01, 0x00, 0x30, 0xb5, + 0x89, 0xb0, 0x00, 0x93, 0x0e, 0x4d, 0x13, 0x1c, + 0x04, 0x1c, 0x2a, 0x1c, 0xec, 0xf7, 0x25, 0xfd, + 0x01, 0xa9, 0x06, 0xa8, 0xa2, 0x68, 0xec, 0xf7, + 0xce, 0xfe, 0x3c, 0x00, 0x2c, 0x87, 0x01, 0x00, + 0x01, 0xaa, 0x06, 0xa9, 0x28, 0x1c, 0x63, 0x6a, + 0xed, 0xf7, 0x44, 0xfa, 0x04, 0x1c, 0x01, 0x28, + 0x04, 0xd1, 0x28, 0x1c, 0xed, 0xf7, 0x2c, 0xf8, + 0x00, 0xf0, 0x4a, 0xf8, 0x20, 0x1c, 0x09, 0xb0, + 0x30, 0xbd, 0x00, 0x00, 0x20, 0xf7, 0x01, 0x00, + 0x80, 0xb5, 0xed, 0xf7, 0x2b, 0xf8, 0x00, 0xf0, + 0x7d, 0xf8, 0x02, 0x48, 0xed, 0xf7, 0x02, 0xfa, + 0x80, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x87, + 0x01, 0x00, 0x20, 0xf7, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x28, 0x0b, 0xd1, 0x06, 0x48, 0xed, 0xf7, + 0xf8, 0xf9, 0x00, 0xf0, 0x6e, 0xf8, 0x01, 0x20, + 0xed, 0xf7, 0xeb, 0xfa, 0x03, 0x49, 0x03, 0x20, + 0xf9, 0xf7, 0x35, 0xfe, 0x80, 0xbd, 0x20, 0xf7, + 0x01, 0x00, 0x6d, 0x87, 0x01, 0x00, 0xb0, 0xb5, + 0x10, 0x4d, 0x04, 0x1c, 0x13, 0x1c, 0x2a, 0x1c, + 0x88, 0xb0, 0xec, 0xf7, 0x02, 0xfd, 0x3c, 0x00, + 0xa4, 0x87, 0x01, 0x00, 0x21, 0x1c, 0x0a, 0x31, + 0x06, 0x22, 0x28, 0x1d, 0xe7, 0xf7, 0xa4, 0xfe, + 0x69, 0x46, 0x05, 0xa8, 0x62, 0x69, 0xec, 0xf7, + 0x87, 0xfe, 0x28, 0x1c, 0xec, 0xf7, 0xee, 0xff, + 0x7f, 0x23, 0xdb, 0x43, 0x28, 0x1c, 0x6a, 0x46, + 0x05, 0xa9, 0xed, 0xf7, 0xf9, 0xf9, 0x00, 0xf0, + 0x1d, 0xf8, 0x08, 0xb0, 0xb0, 0xbd, 0x00, 0x00, + 0x20, 0xf7, 0x01, 0x00, 0x0a, 0x48, 0x80, 0xb5, + 0x3c, 0x00, 0xe0, 0x87, 0x01, 0x00, 0x01, 0x78, + 0x00, 0x29, 0x06, 0xd0, 0x02, 0x29, 0x01, 0xd0, + 0x05, 0x29, 0x07, 0xd1, 0x03, 0x21, 0x01, 0x70, + 0x80, 0xbd, 0x01, 0x21, 0x01, 0x70, 0x00, 0xf0, + 0x2e, 0xfa, 0x80, 0xbd, 0x03, 0x21, 0x0b, 0x20, + 0xe8, 0xf7, 0x4f, 0xfd, 0x80, 0xbd, 0x7c, 0xd9, + 0x01, 0x00, 0x09, 0x49, 0x80, 0xb5, 0x08, 0x78, + 0x00, 0x28, 0x06, 0xd0, 0x02, 0x28, 0x01, 0xd0, + 0x05, 0x28, 0x3c, 0x00, 0x1c, 0x88, 0x01, 0x00, + 0x05, 0xd1, 0x04, 0x20, 0x08, 0x70, 0x80, 0xbd, + 0xff, 0xf7, 0x38, 0xfd, 0x80, 0xbd, 0x02, 0x21, + 0x0b, 0x20, 0xe8, 0xf7, 0x39, 0xfd, 0x80, 0xbd, + 0x7c, 0xd9, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x0b, 0x20, 0x04, 0x4a, 0xfa, 0xf7, 0x82, 0xff, + 0xf6, 0xf7, 0x86, 0xfd, 0x02, 0x49, 0x08, 0x61, + 0x80, 0xbd, 0x00, 0x00, 0xdd, 0x86, 0x01, 0x00, + 0x7c, 0xd9, 0x01, 0x00, 0x3c, 0x00, 0x58, 0x88, + 0x01, 0x00, 0x0c, 0x48, 0x80, 0xb5, 0x01, 0x78, + 0x06, 0x29, 0x0e, 0xd2, 0x02, 0xa3, 0x5b, 0x5c, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x06, 0x03, + 0x07, 0x07, 0x07, 0x06, 0x00, 0x20, 0x00, 0xf0, + 0xc2, 0xf8, 0x80, 0xbd, 0x05, 0x21, 0x01, 0x70, + 0x80, 0xbd, 0x04, 0x21, 0x0b, 0x20, 0xe8, 0xf7, + 0x0e, 0xfd, 0x80, 0xbd, 0x00, 0x00, 0x7c, 0xd9, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x88, 0x01, 0x00, 0x10, 0xb5, 0x0d, 0x4b, + 0x04, 0x1c, 0x18, 0x1c, 0x10, 0x30, 0x00, 0x2c, + 0x08, 0xd0, 0xdb, 0x88, 0x5b, 0x04, 0x5b, 0x0c, + 0x0b, 0x80, 0x80, 0x7b, 0x48, 0x80, 0x04, 0x20, + 0x10, 0x80, 0x08, 0xe0, 0xda, 0x88, 0x01, 0x24, + 0xe4, 0x03, 0x22, 0x40, 0x0c, 0x88, 0x22, 0x43, + 0xda, 0x80, 0x49, 0x88, 0x81, 0x73, 0x01, 0x20, + 0x10, 0xbd, 0x00, 0x00, 0x30, 0x00, 0x07, 0x00, + 0x3c, 0x00, 0xd0, 0x88, 0x01, 0x00, 0x70, 0xb5, + 0x10, 0x4e, 0x02, 0x1c, 0x00, 0x23, 0xf0, 0x56, + 0x00, 0x2a, 0x02, 0xd0, 0x08, 0x70, 0x01, 0x24, + 0x15, 0xe0, 0x00, 0x23, 0xcd, 0x56, 0x85, 0x42, + 0x01, 0xd1, 0x01, 0x20, 0x70, 0xbd, 0x28, 0x1c, + 0x00, 0xf0, 0x5f, 0xf9, 0x04, 0x1c, 0x0a, 0xd0, + 0x07, 0x48, 0x35, 0x70, 0x00, 0x68, 0x00, 0x28, + 0x03, 0xd0, 0x00, 0x21, 0x0a, 0x20, 0xf9, 0xf7, + 0x28, 0xfd, 0x3c, 0x00, 0x0c, 0x89, 0x01, 0x00, + 0x00, 0xf0, 0x16, 0xfa, 0x20, 0x1c, 0x70, 0xbd, + 0xf4, 0x6b, 0x01, 0x00, 0x3c, 0xd9, 0x01, 0x00, + 0x03, 0x1c, 0x08, 0x1c, 0x00, 0x2b, 0x80, 0xb5, + 0x06, 0xd0, 0x04, 0x21, 0x11, 0x80, 0x04, 0x22, + 0x04, 0x49, 0xe7, 0xf7, 0xe3, 0xfd, 0x02, 0xe0, + 0x00, 0x68, 0x00, 0xf0, 0xcf, 0xf9, 0x01, 0x20, + 0x80, 0xbd, 0x00, 0x00, 0xf4, 0x74, 0x01, 0x00, + 0x10, 0xb5, 0xff, 0xf7, 0x3c, 0x00, 0x48, 0x89, + 0x01, 0x00, 0x97, 0xfb, 0xff, 0xf7, 0x89, 0xfc, + 0x04, 0x1c, 0xff, 0xf7, 0xb8, 0xfb, 0xff, 0xf7, + 0x84, 0xfc, 0x00, 0x2c, 0x02, 0xd1, 0x01, 0x28, + 0x00, 0xd1, 0x10, 0xbd, 0x00, 0x20, 0x10, 0xbd, + 0x00, 0x00, 0xf8, 0xb5, 0x20, 0x4f, 0x04, 0x1c, + 0x78, 0x78, 0x0e, 0x1c, 0x02, 0x28, 0x2e, 0xd0, + 0x1e, 0x4a, 0xf9, 0x68, 0x91, 0x61, 0x14, 0x23, + 0x1d, 0x49, 0x58, 0x43, 0x40, 0x18, 0x3c, 0x00, + 0x84, 0x89, 0x01, 0x00, 0x41, 0x7b, 0xb8, 0x78, + 0xf8, 0xf7, 0x14, 0xfe, 0x00, 0xf0, 0x8a, 0xf9, + 0x00, 0x25, 0x04, 0xe0, 0x00, 0x21, 0xb8, 0x78, + 0xf8, 0xf7, 0x0c, 0xfe, 0x01, 0x35, 0x78, 0x78, + 0x14, 0x23, 0x14, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x80, 0x7a, 0xa8, 0x42, 0xf2, 0xdc, 0x00, 0x25, + 0x08, 0xe0, 0x00, 0x21, 0xb8, 0x78, 0xf8, 0xf7, + 0xfd, 0xfd, 0x0f, 0x48, 0x00, 0x68, 0x20, 0x70, + 0x3c, 0x00, 0xc0, 0x89, 0x01, 0x00, 0x01, 0x34, + 0x01, 0x35, 0xb5, 0x42, 0xf4, 0xdb, 0x09, 0x4a, + 0xf8, 0x68, 0x50, 0x61, 0x78, 0x78, 0x02, 0x28, + 0x06, 0xd1, 0xb8, 0x68, 0x32, 0x1c, 0x21, 0x1c, + 0x00, 0x04, 0x00, 0x0c, 0xff, 0xf7, 0x25, 0xfd, + 0xb8, 0x68, 0x80, 0x19, 0xb8, 0x60, 0xf8, 0xbd, + 0x00, 0x00, 0x40, 0xd9, 0x01, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x64, 0x8d, 0x01, 0x00, 0x30, 0x20, + 0x07, 0x00, 0x3c, 0x00, 0xfc, 0x89, 0x01, 0x00, + 0x70, 0xb5, 0x06, 0x1c, 0x0c, 0x4d, 0x00, 0x24, + 0x2c, 0x70, 0xff, 0xf7, 0x39, 0xfc, 0x0a, 0x48, + 0x18, 0x21, 0x1c, 0x30, 0xac, 0x60, 0xe7, 0xf7, + 0x43, 0xfd, 0x08, 0x48, 0x44, 0x61, 0xf9, 0xf7, + 0x63, 0xf9, 0x00, 0x2e, 0x06, 0xd1, 0x06, 0x48, + 0x29, 0x69, 0xf6, 0xf7, 0xa7, 0xfc, 0x00, 0x20, + 0xec, 0xf7, 0xb0, 0xfe, 0x70, 0xbd, 0x00, 0x00, + 0x7c, 0xd9, 0x01, 0x00, 0x3c, 0x00, 0x38, 0x8a, + 0x01, 0x00, 0x20, 0xf7, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0x30, 0xb5, 0x12, 0x4c, 0x85, 0xb0, + 0x20, 0x68, 0x00, 0x28, 0x1c, 0xd0, 0x0f, 0x48, + 0x14, 0x38, 0x80, 0x68, 0x00, 0x28, 0x01, 0xd1, + 0xff, 0xf7, 0xc1, 0xfb, 0x20, 0x68, 0x00, 0x23, + 0x00, 0x68, 0x01, 0xaa, 0x04, 0x30, 0x01, 0x21, + 0xec, 0xf7, 0xd1, 0xfd, 0x08, 0x49, 0x08, 0x4a, + 0x08, 0x31, 0x0c, 0x31, 0x00, 0x92, 0x3c, 0x00, + 0x74, 0x8a, 0x01, 0x00, 0x03, 0xc9, 0x00, 0xab, + 0x45, 0x18, 0x99, 0x7b, 0x01, 0x9a, 0x20, 0x68, + 0x2b, 0x1c, 0xf2, 0xf7, 0x2b, 0xfe, 0x05, 0xb0, + 0x30, 0xbd, 0x00, 0x00, 0x90, 0xd9, 0x01, 0x00, + 0x29, 0x81, 0x01, 0x00, 0x10, 0xb5, 0x13, 0x4c, + 0x14, 0x23, 0x60, 0x70, 0x58, 0x43, 0x12, 0x4b, + 0xc1, 0x18, 0x8a, 0x88, 0xe2, 0x80, 0x18, 0x58, + 0xe0, 0x60, 0x08, 0x7a, 0xa0, 0x70, 0xff, 0x28, + 0x3c, 0x00, 0xb0, 0x8a, 0x01, 0x00, 0x12, 0xd0, + 0x00, 0x22, 0x08, 0x21, 0x0d, 0x4b, 0xf8, 0xf7, + 0x22, 0xfd, 0x00, 0x22, 0x02, 0x20, 0xe1, 0x68, + 0xef, 0xf7, 0xbd, 0xfe, 0x0a, 0x49, 0xe0, 0x68, + 0x48, 0x61, 0x4a, 0x68, 0x02, 0x43, 0x4a, 0x60, + 0x8a, 0x68, 0x10, 0x43, 0x88, 0x60, 0x60, 0x78, + 0x02, 0x28, 0x01, 0xd1, 0xff, 0xf7, 0xdf, 0xfc, + 0x10, 0xbd, 0x40, 0xd9, 0x01, 0x00, 0x64, 0x8d, + 0x01, 0x00, 0x3c, 0x00, 0xec, 0x8a, 0x01, 0x00, + 0xb8, 0x0b, 0x00, 0x00, 0x10, 0x00, 0x07, 0x00, + 0xfe, 0x30, 0x00, 0x06, 0x00, 0x0e, 0x06, 0x21, + 0x15, 0x4b, 0x41, 0x43, 0x58, 0x5c, 0x82, 0x06, + 0x14, 0x48, 0x92, 0x0e, 0x42, 0x71, 0xc9, 0x18, + 0x4a, 0x78, 0xd2, 0x06, 0xd2, 0x0e, 0x02, 0x71, + 0x42, 0x78, 0x0c, 0x23, 0x1a, 0x43, 0x42, 0x70, + 0x42, 0x78, 0x8b, 0x78, 0x92, 0x08, 0x92, 0x00, + 0x9b, 0x07, 0x9b, 0x0f, 0x3c, 0x00, 0x28, 0x8b, + 0x01, 0x00, 0x1a, 0x43, 0x42, 0x70, 0x02, 0x78, + 0xc0, 0x23, 0x9a, 0x43, 0x40, 0x32, 0x02, 0x70, + 0x02, 0x78, 0x38, 0x23, 0x1a, 0x43, 0x02, 0x70, + 0x02, 0x78, 0xc9, 0x78, 0x04, 0x23, 0x9a, 0x43, + 0x89, 0x00, 0x19, 0x40, 0x11, 0x43, 0x01, 0x70, + 0x01, 0x20, 0x70, 0x47, 0x00, 0x00, 0xd8, 0x8d, + 0x01, 0x00, 0x88, 0x00, 0x07, 0x00, 0x8f, 0xb5, + 0x00, 0x20, 0x02, 0x90, 0x03, 0x90, 0x3c, 0x00, + 0x64, 0x8b, 0x01, 0x00, 0x07, 0x48, 0x02, 0xaa, + 0x03, 0xa9, 0x00, 0x91, 0x01, 0x92, 0x43, 0x89, + 0x02, 0x89, 0x03, 0xc8, 0xff, 0xf7, 0xd4, 0xfb, + 0x03, 0x98, 0x02, 0x99, 0xff, 0xf7, 0x04, 0xfc, + 0x8f, 0xbd, 0x00, 0x00, 0x04, 0x8e, 0x01, 0x00, + 0x08, 0x49, 0x4a, 0x78, 0x00, 0x2a, 0x03, 0xd1, + 0x88, 0x80, 0x00, 0x20, 0x88, 0x60, 0x70, 0x47, + 0x14, 0x23, 0x5a, 0x43, 0x04, 0x4b, 0xd2, 0x18, + 0x3c, 0x00, 0xa0, 0x8b, 0x01, 0x00, 0xd2, 0x88, + 0x42, 0x43, 0xc8, 0x88, 0x42, 0x43, 0x8a, 0x60, + 0x70, 0x47, 0x40, 0xd9, 0x01, 0x00, 0x64, 0x8d, + 0x01, 0x00, 0xf8, 0xb5, 0x25, 0x4e, 0x04, 0x1c, + 0x30, 0x7a, 0x40, 0x08, 0x40, 0x00, 0x30, 0x72, + 0xb0, 0x7a, 0x00, 0x20, 0xb0, 0x72, 0x01, 0x27, + 0x01, 0x2c, 0x20, 0x4d, 0x01, 0xd0, 0xfc, 0x42, + 0x13, 0xd1, 0x30, 0x7b, 0x38, 0x43, 0x30, 0x73, + 0x00, 0x22, 0x3c, 0x00, 0xdc, 0x8b, 0x01, 0x00, + 0x21, 0x1c, 0x00, 0x20, 0xff, 0xf7, 0x6e, 0xfb, + 0x63, 0x1c, 0x01, 0xd1, 0x3f, 0x21, 0xe9, 0x73, + 0xb1, 0x7a, 0xa0, 0x22, 0x11, 0x43, 0xb1, 0x72, + 0x31, 0x7a, 0x39, 0x43, 0x31, 0x72, 0xf8, 0xbd, + 0x30, 0x7b, 0x40, 0x08, 0x40, 0x00, 0x30, 0x73, + 0x01, 0x22, 0x21, 0x1c, 0x01, 0x20, 0xff, 0xf7, + 0x59, 0xfb, 0x01, 0x20, 0x00, 0x21, 0xe9, 0x73, + 0xb1, 0x7a, 0x02, 0x22, 0x3c, 0x00, 0x18, 0x8c, + 0x01, 0x00, 0x11, 0x43, 0xb1, 0x72, 0xb1, 0x7a, + 0x04, 0x22, 0x11, 0x43, 0xb1, 0x72, 0xb1, 0x7a, + 0x30, 0x22, 0x11, 0x43, 0xb1, 0x72, 0x31, 0x7a, + 0x39, 0x43, 0x31, 0x72, 0x08, 0x49, 0x4a, 0x68, + 0x80, 0x23, 0x9a, 0x43, 0x4a, 0x60, 0x0a, 0x68, + 0x1a, 0x43, 0x0a, 0x60, 0x31, 0x7b, 0x39, 0x43, + 0x31, 0x73, 0xd7, 0xe7, 0x00, 0x00, 0x88, 0x00, + 0x07, 0x00, 0x40, 0x00, 0x07, 0x00, 0x3c, 0x00, + 0x54, 0x8c, 0x01, 0x00, 0x6c, 0x00, 0x07, 0x00, + 0xb0, 0xb5, 0x0e, 0x4d, 0x0e, 0x48, 0x29, 0x69, + 0xf6, 0xf7, 0x9e, 0xfb, 0x0d, 0x48, 0xec, 0xf7, + 0x93, 0xfd, 0x0d, 0x48, 0x09, 0x4c, 0x00, 0x88, + 0x1c, 0x34, 0xa0, 0x82, 0xf1, 0xf7, 0x5a, 0xff, + 0x20, 0x61, 0xfa, 0xf7, 0x97, 0xf8, 0x02, 0x1c, + 0x23, 0x1c, 0x00, 0x21, 0x00, 0x20, 0xec, 0xf7, + 0x8b, 0xff, 0x32, 0x20, 0xe8, 0x60, 0xff, 0xf7, + 0x3c, 0x00, 0x90, 0x8c, 0x01, 0x00, 0xa5, 0xfa, + 0xb0, 0xbd, 0x7c, 0xd9, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0xdd, 0x84, 0x01, 0x00, 0x20, 0xf7, + 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x4d, 0x68, 0x78, + 0x00, 0x28, 0x0e, 0xd0, 0x14, 0x23, 0x08, 0x49, + 0x58, 0x43, 0x40, 0x18, 0x44, 0x7a, 0x06, 0xe0, + 0xa8, 0x68, 0xe0, 0x40, 0x01, 0x06, 0x09, 0x0e, + 0xa8, 0x78, 0xf8, 0xf7, 0x76, 0xfc, 0x08, 0x3c, + 0xf6, 0xd5, 0x3c, 0x00, 0xcc, 0x8c, 0x01, 0x00, + 0xb0, 0xbd, 0x00, 0x00, 0x40, 0xd9, 0x01, 0x00, + 0x64, 0x8d, 0x01, 0x00, 0x01, 0x1c, 0x14, 0x48, + 0xb0, 0xb5, 0x01, 0x60, 0x13, 0x48, 0x02, 0x7f, + 0x02, 0x23, 0x9a, 0x43, 0x02, 0x77, 0x02, 0x7f, + 0x01, 0x24, 0x22, 0x43, 0x02, 0x77, 0x10, 0x4d, + 0x00, 0x29, 0x0c, 0xd0, 0x01, 0x22, 0x00, 0x21, + 0x03, 0x20, 0xef, 0xf7, 0x9f, 0xfd, 0x0d, 0x49, + 0x48, 0x7c, 0xa0, 0x43, 0x3c, 0x00, 0x08, 0x8d, + 0x01, 0x00, 0x48, 0x74, 0x68, 0x7a, 0x20, 0x43, + 0x68, 0x72, 0xb0, 0xbd, 0x01, 0x7f, 0x21, 0x43, + 0x01, 0x77, 0x68, 0x7a, 0x40, 0x08, 0x40, 0x00, + 0x68, 0x72, 0x01, 0x22, 0x00, 0x21, 0x03, 0x20, + 0xef, 0xf7, 0xb1, 0xfd, 0xb0, 0xbd, 0xf4, 0x74, + 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, 0x88, 0x00, + 0x07, 0x00, 0x10, 0x00, 0x07, 0x00, 0x10, 0xb5, + 0x07, 0x4c, 0x21, 0x1c, 0x00, 0x20, 0x3c, 0x00, + 0x44, 0x8d, 0x01, 0x00, 0xf9, 0xf7, 0x56, 0xfb, + 0x05, 0x48, 0x00, 0x23, 0xc0, 0x56, 0x01, 0x28, + 0x03, 0xdd, 0x21, 0x1c, 0x00, 0x20, 0xf9, 0xf7, + 0x19, 0xfb, 0x10, 0xbd, 0x65, 0x1a, 0x00, 0x00, + 0xf4, 0x6b, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x08, 0x01, 0x01, 0x00, 0x02, 0x18, 0x04, 0xff, + 0x82, 0xe8, 0xd7, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, + 0x3c, 0x00, 0x80, 0x8d, 0x01, 0x00, 0x00, 0x18, + 0x00, 0x06, 0x02, 0x03, 0x05, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x01, 0x00, 0xff, 0x10, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x20, 0x00, 0x01, 0x00, 0x02, 0x10, + 0x00, 0x06, 0x02, 0x03, 0x05, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0c, + 0x0d, 0x0e, 0x3c, 0x00, 0xbc, 0x8d, 0x01, 0x00, + 0xff, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1b, + 0x1c, 0x1d, 0xff, 0x1a, 0x11, 0x13, 0x12, 0x0f, + 0x10, 0xff, 0x02, 0x00, 0xff, 0x01, 0x03, 0x09, + 0x0a, 0x0b, 0x00, 0x00, 0x30, 0x0d, 0x02, 0x00, + 0x00, 0x00, 0x28, 0x0e, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0d, + 0x02, 0x01, 0x00, 0x00, 0x1e, 0x0c, 0x00, 0x01, + 0x00, 0x00, 0x23, 0x0d, 0x3c, 0x00, 0xf8, 0x8d, + 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x1d, 0x0d, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, + 0xfb, 0x6d, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x8e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x8e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x8e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x8e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x8f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x8f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x8f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x8f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x90, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x90, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x90, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0x91, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x91, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0x91, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0x91, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0x91, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x92, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0x92, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x92, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x92, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x93, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0x93, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0x93, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0x93, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x94, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0x94, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0x94, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0x94, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x95, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0x95, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0x95, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0x95, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0x96, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x96, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x96, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0x96, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x97, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0x97, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x97, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x97, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x98, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x98, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x98, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x98, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x99, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0x99, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0x99, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x99, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0x9a, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x9a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x9a, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0x9b, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x9b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x9b, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x9b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x9c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0x9c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x9c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x9c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x9c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x9d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x9d, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x9d, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x9d, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x9e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x9e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x9e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x9f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x9f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x9f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x9f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xa0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xa0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xa0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xa1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xa1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xa1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xa1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xa2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xa2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xa2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xa2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xa3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xa3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xa3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xa3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xa4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xa4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xa4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xa4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xa4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xa5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xa5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xa5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xa5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xa6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xa6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xa6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xa6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xa7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xa7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xa7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xa7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xa7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xa8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xa8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xa8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xa8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xa9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xa9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xa9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xa9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xaa, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xaa, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xaa, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xaa, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xab, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xab, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xab, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xab, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xab, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xac, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xac, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xac, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xac, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xad, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xad, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xad, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xad, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xae, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xae, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xae, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xae, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xaf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xaf, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xaf, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xaf, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xaf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xb0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xb0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xb0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xb0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xb1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xb1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xb1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xb1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xb2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xb2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xb2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xb2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xb3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xb3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xb3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xb3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xb4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xb4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xb4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xb4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xb5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xb5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xb5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xb5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xb6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xb6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xb6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xb6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xb6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xb7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xb7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xb7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xb7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xb8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xb8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xb8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xb8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xb9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xb9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xb9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xb9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xba, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xba, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xba, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xba, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xba, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xbb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xbb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xbb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xbb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xbc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xbc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xbc, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xbc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xbd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xbd, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xbd, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xbd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xbe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xbe, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xbe, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xbe, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xbe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xbf, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xbf, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xbf, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xbf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xc0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xc0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xc0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xc1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xc1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xc1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xc2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xc2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xc2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xc2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xc2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xc3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xc3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xc3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xc3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xc4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xc4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xc4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xc4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xc5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xc5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xc5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xc5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xc5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xc6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xc6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xc6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xc6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xc7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xc7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xc7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xc7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xc8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xc8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xc8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xc8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xc9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xc9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xc9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xc9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xc9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xca, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xca, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xca, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xca, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xcb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xcb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xcb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xcb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xcc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xcc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xcc, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xcc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xcd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xcd, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xcd, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xcd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xcd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xce, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xce, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xce, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xce, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xcf, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xcf, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xcf, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xcf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xd0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xd0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xd0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xd0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xd1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xd1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xd1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xd1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xd1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xd2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xd2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xd2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xd2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xd3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xd3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xd3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xd3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xd4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xd4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xd4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xd4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xd4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xd5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xd5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xd5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xd5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xd6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xd6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xd6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xd6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xd7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xd7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xd7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xd7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xd8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xd8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xd8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xd8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xd8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xd9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xd9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xd9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xd9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xda, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xda, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xda, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xda, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xdb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xdb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xdb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xdb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xdc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xdc, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xdc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xdd, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xdd, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xdd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xdd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xde, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xde, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xde, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xde, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xdf, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xdf, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xdf, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xdf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xe0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xe0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xe0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xe1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xe1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xe1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xe1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xe2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xe2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xe2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xe2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xe3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xe3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xe3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xe3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xe3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xe4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xe4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xe4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xe4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xe5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xe5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xe5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xe5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xe6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xe6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xe6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xe6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xe7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xe7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xe7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xe7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xe7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xe8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xe8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xe8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xe8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xe9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xe9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xe9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xe9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xea, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xea, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xea, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xea, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xeb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xeb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xeb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xeb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xeb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xec, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xec, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xec, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xec, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xed, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xed, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xed, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xed, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xee, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xee, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xee, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xee, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xef, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xef, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xef, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xef, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xef, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xf0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xf0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xf0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xf1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xf1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xf1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xf1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xf2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xf2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xf2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xf2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xf2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xf3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xf3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xf3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xf3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xf4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xf4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xf4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xf4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xf5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xf5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xf5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xf5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xf6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xf6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xf6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xf6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xf6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xf7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xf7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xf7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xf7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xf8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xf8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xf8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xf9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xf9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xf9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xf9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xfa, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xfa, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xfa, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xfa, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xfa, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xfb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xfb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xfb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xfb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xfc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xfc, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xfc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xfd, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xfd, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xfd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xfd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xfe, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xfe, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xfe, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x68, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x00, 0x10, 0x04, 0x00, 0x70, 0xb5, 0x2b, 0x48, + 0x06, 0x21, 0x81, 0x75, 0xc1, 0x75, 0x01, 0x7e, + 0x49, 0x08, 0x49, 0x00, 0x01, 0x76, 0x01, 0x7e, + 0x02, 0x22, 0x91, 0x43, 0x01, 0x76, 0x26, 0x49, + 0x0b, 0x78, 0x5b, 0x08, 0x5b, 0x00, 0x0b, 0x70, + 0x04, 0x23, 0x8b, 0x70, 0x0c, 0x23, 0x43, 0x76, + 0x20, 0x23, 0x03, 0x75, 0x1a, 0x24, 0x44, 0x75, + 0x24, 0x24, 0x84, 0x76, 0x10, 0x24, 0xc4, 0x76, + 0x3c, 0x00, 0x3c, 0x10, 0x04, 0x00, 0x2a, 0x25, + 0x4d, 0x70, 0x05, 0x7a, 0x30, 0x26, 0xb5, 0x43, + 0x20, 0x35, 0x05, 0x72, 0x85, 0x7a, 0x6d, 0x08, + 0x6d, 0x00, 0x85, 0x72, 0x85, 0x7a, 0x95, 0x43, + 0x85, 0x72, 0x85, 0x7a, 0x04, 0x26, 0x35, 0x43, + 0x85, 0x72, 0x85, 0x7a, 0x08, 0x26, 0x35, 0x43, + 0x85, 0x72, 0x85, 0x7a, 0xa5, 0x43, 0x85, 0x72, + 0x05, 0x7b, 0x2c, 0x43, 0x04, 0x73, 0x04, 0x7b, + 0x1c, 0x43, 0x3c, 0x00, 0x78, 0x10, 0x04, 0x00, + 0x04, 0x73, 0x04, 0x7b, 0x40, 0x25, 0x2c, 0x43, + 0x04, 0x73, 0x84, 0x7a, 0x23, 0x43, 0x83, 0x72, + 0x83, 0x7a, 0xab, 0x43, 0x83, 0x72, 0x03, 0x7b, + 0x80, 0x24, 0x23, 0x43, 0x03, 0x73, 0x08, 0x78, + 0x90, 0x43, 0x08, 0x70, 0x08, 0x78, 0x01, 0x22, + 0x10, 0x43, 0x08, 0x70, 0x08, 0x78, 0x04, 0x22, + 0x90, 0x43, 0x08, 0x70, 0x70, 0xbd, 0x00, 0x00, + 0x0c, 0x80, 0x07, 0x00, 0x3c, 0x00, 0xb4, 0x10, + 0x04, 0x00, 0x80, 0x80, 0x07, 0x00, 0x01, 0x49, + 0x04, 0x20, 0x48, 0x73, 0x70, 0x47, 0x40, 0x80, + 0x07, 0x00, 0x03, 0x49, 0x80, 0xb5, 0x00, 0x20, + 0x08, 0x80, 0x00, 0xf0, 0x0a, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0xfc, 0x6b, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, 0x67, 0xfb, + 0x80, 0xbd, 0x80, 0xb5, 0x0a, 0x49, 0x18, 0x20, + 0xc1, 0xf7, 0x3b, 0xfa, 0x09, 0x49, 0x3c, 0x00, + 0xf0, 0x10, 0x04, 0x00, 0x02, 0x20, 0xc1, 0xf7, + 0x37, 0xfa, 0x08, 0x49, 0x1f, 0x20, 0xc1, 0xf7, + 0x33, 0xfa, 0x07, 0x49, 0x1c, 0x20, 0xc1, 0xf7, + 0x2f, 0xfa, 0x06, 0x49, 0x03, 0x20, 0xc1, 0xf7, + 0x2b, 0xfa, 0x80, 0xbd, 0x99, 0x2a, 0x00, 0x00, + 0x41, 0x25, 0x00, 0x00, 0x55, 0x25, 0x00, 0x00, + 0x5d, 0x25, 0x00, 0x00, 0x39, 0x25, 0x00, 0x00, + 0x80, 0xb5, 0xbf, 0xf7, 0x91, 0xfd, 0x80, 0xbd, + 0x3c, 0x00, 0x2c, 0x11, 0x04, 0x00, 0x80, 0xb5, + 0x05, 0x4a, 0x05, 0x49, 0x0a, 0x20, 0xbf, 0xf7, + 0x4e, 0xff, 0x01, 0x20, 0x04, 0x49, 0x80, 0x02, + 0x08, 0x60, 0x48, 0x60, 0x80, 0xbd, 0xb4, 0x74, + 0x01, 0x00, 0xb1, 0x64, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x80, 0xb5, 0x00, 0xf0, 0x91, 0xfe, + 0x80, 0xbd, 0x80, 0xb5, 0x05, 0x4a, 0x05, 0x49, + 0x1b, 0x20, 0xbf, 0xf7, 0x38, 0xff, 0x01, 0x20, + 0x04, 0x49, 0x3c, 0x00, 0x68, 0x11, 0x04, 0x00, + 0xc0, 0x06, 0x08, 0x60, 0x48, 0x60, 0x80, 0xbd, + 0xb8, 0x74, 0x01, 0x00, 0x2d, 0x6e, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x80, 0xb5, 0x04, 0x48, + 0x00, 0xf0, 0x80, 0xfe, 0x03, 0x49, 0x00, 0x20, + 0x48, 0x60, 0x88, 0x60, 0x80, 0xbd, 0x00, 0x00, + 0x41, 0x4b, 0x00, 0x00, 0xbc, 0x74, 0x01, 0x00, + 0x80, 0xb5, 0xc5, 0xf7, 0xd5, 0xfe, 0xce, 0xf7, + 0xd9, 0xf8, 0x03, 0x49, 0x3c, 0x00, 0xa4, 0x11, + 0x04, 0x00, 0x08, 0x60, 0x03, 0x49, 0x0a, 0x20, + 0xd1, 0xf7, 0xef, 0xf8, 0x80, 0xbd, 0xbc, 0x74, + 0x01, 0x00, 0x49, 0x6e, 0x00, 0x00, 0x80, 0xb5, + 0x01, 0x22, 0x20, 0x21, 0x06, 0x20, 0xc8, 0xf7, + 0x56, 0xfc, 0xbf, 0xf7, 0x70, 0xfe, 0x03, 0x49, + 0x00, 0x20, 0x08, 0x60, 0x20, 0x21, 0x02, 0x48, + 0xbf, 0xf7, 0x63, 0xf9, 0x80, 0xbd, 0xcc, 0x5c, + 0x01, 0x00, 0x64, 0x6d, 0x01, 0x00, 0x3c, 0x00, + 0xe0, 0x11, 0x04, 0x00, 0x08, 0x48, 0x80, 0xb5, + 0x00, 0x68, 0x00, 0x28, 0x05, 0xd0, 0x06, 0x48, + 0x54, 0x30, 0x42, 0x6a, 0x00, 0x21, 0xbf, 0xf7, + 0xf3, 0xf8, 0x04, 0x4a, 0x04, 0x49, 0x03, 0x20, + 0xbf, 0xf7, 0xac, 0xfd, 0x80, 0xbd, 0x00, 0x00, + 0x50, 0x6d, 0x01, 0x00, 0x89, 0x98, 0x00, 0x00, + 0x91, 0x98, 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0x03, 0xf8, 0x00, 0xf0, 0x19, 0xf8, 0x80, 0xbd, + 0x3c, 0x00, 0x1c, 0x12, 0x04, 0x00, 0x10, 0xb5, + 0x09, 0x4c, 0x60, 0x21, 0x20, 0x1c, 0xbf, 0xf7, + 0x3a, 0xf9, 0x00, 0x20, 0xc0, 0x43, 0xa0, 0x60, + 0x20, 0x60, 0xff, 0x20, 0x02, 0x30, 0xe0, 0x84, + 0x20, 0x22, 0x20, 0x1c, 0x40, 0x30, 0x02, 0x49, + 0xbf, 0xf7, 0x5b, 0xf9, 0x10, 0xbd, 0x00, 0x10, + 0x07, 0x00, 0x70, 0x52, 0x01, 0x00, 0x00, 0x20, + 0x0a, 0x49, 0xc0, 0x43, 0x88, 0x60, 0x09, 0x4b, + 0x0a, 0x49, 0x3c, 0x00, 0x58, 0x12, 0x04, 0x00, + 0x00, 0x20, 0x82, 0x00, 0x01, 0x30, 0x00, 0x06, + 0x00, 0x0e, 0x20, 0x28, 0x99, 0x50, 0xf8, 0xd3, + 0x06, 0x49, 0x04, 0x4a, 0x08, 0x1c, 0x10, 0x30, + 0x08, 0x3a, 0x03, 0xc2, 0x70, 0x47, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0xe0, 0x7e, 0x01, 0x00, + 0x75, 0x75, 0x00, 0x00, 0x00, 0xa0, 0x07, 0x00, + 0x04, 0x48, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x0e, 0xc0, 0x0c, 0x38, 0x3c, 0x00, 0x94, 0x12, + 0x04, 0x00, 0x01, 0x21, 0x41, 0x60, 0x70, 0x47, + 0x00, 0x00, 0x70, 0x78, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x03, 0x48, 0x00, 0x21, 0x00, 0x22, + 0x00, 0x23, 0x0e, 0xc0, 0x08, 0xc0, 0x70, 0x47, + 0x00, 0x00, 0x88, 0x5a, 0x01, 0x00, 0x04, 0x49, + 0x80, 0xb5, 0x00, 0x20, 0x48, 0x61, 0x02, 0x48, + 0x40, 0x21, 0x1c, 0x30, 0xbf, 0xf7, 0xe9, 0xf8, + 0x80, 0xbd, 0xfc, 0x5a, 0x01, 0x00, 0x3c, 0x00, + 0xd0, 0x12, 0x04, 0x00, 0x80, 0xb5, 0xce, 0xf7, + 0x3f, 0xf8, 0x03, 0x49, 0x88, 0x61, 0x03, 0x49, + 0x03, 0x20, 0xd1, 0xf7, 0x55, 0xf8, 0x80, 0xbd, + 0xfc, 0x5a, 0x01, 0x00, 0x0d, 0x17, 0x01, 0x00, + 0x80, 0xb5, 0xc0, 0xf7, 0xa5, 0xf9, 0x80, 0xbd, + 0xfe, 0xb5, 0x6c, 0x49, 0x00, 0x20, 0x00, 0x90, + 0xc8, 0x78, 0x6b, 0x4c, 0x6b, 0x4f, 0x43, 0x07, + 0xc0, 0x06, 0xc0, 0x17, 0xdb, 0x0e, 0xe3, 0x58, + 0x3c, 0x00, 0x0c, 0x13, 0x04, 0x00, 0x01, 0x30, + 0x38, 0x62, 0x3b, 0x61, 0x08, 0x1c, 0x80, 0x78, + 0x66, 0x4e, 0x03, 0x22, 0x41, 0x07, 0xa0, 0x36, + 0x02, 0x96, 0x49, 0x0f, 0x31, 0x72, 0x89, 0x00, + 0x61, 0x58, 0x3c, 0x1c, 0x61, 0x61, 0x01, 0x91, + 0xc0, 0x06, 0xc0, 0x0f, 0x78, 0x62, 0x20, 0x1c, + 0x00, 0x27, 0x87, 0x61, 0x00, 0x20, 0x21, 0x1c, + 0xc8, 0x61, 0x59, 0x48, 0x59, 0x49, 0x00, 0x78, + 0x09, 0x79, 0x3c, 0x00, 0x48, 0x13, 0x04, 0x00, + 0x5a, 0x4c, 0x4e, 0x07, 0x76, 0x0f, 0x71, 0x1c, + 0x8c, 0x46, 0xb1, 0x00, 0x8e, 0x46, 0x56, 0x49, + 0x80, 0x31, 0x00, 0x28, 0x24, 0xd0, 0x52, 0x4f, + 0x01, 0x28, 0x7f, 0x78, 0x1a, 0xd0, 0x02, 0x28, + 0x71, 0xd1, 0x4f, 0x48, 0x00, 0x2f, 0x0c, 0xd0, + 0x01, 0x2f, 0x6c, 0xd1, 0x40, 0x79, 0x4d, 0x4d, + 0x40, 0x07, 0x40, 0x0f, 0x82, 0x00, 0xaa, 0x58, + 0x4b, 0x4d, 0x01, 0x30, 0x3c, 0x00, 0x84, 0x13, + 0x04, 0x00, 0xea, 0x61, 0xa0, 0x73, 0x04, 0x22, + 0x4b, 0x48, 0x48, 0x4d, 0xc8, 0x61, 0x4a, 0x48, + 0x00, 0x2f, 0x00, 0xd0, 0x4a, 0x48, 0x2f, 0x1c, + 0x11, 0xe0, 0x42, 0x48, 0x00, 0x2f, 0x55, 0xd1, + 0x07, 0x70, 0x02, 0x27, 0x47, 0x70, 0x3f, 0x48, + 0x40, 0x78, 0x00, 0x28, 0x10, 0xd0, 0x01, 0x28, + 0x01, 0xd0, 0x02, 0x28, 0x4a, 0xd1, 0x3f, 0x48, + 0x3d, 0x4f, 0xc8, 0x61, 0x3f, 0x48, 0x3c, 0x00, + 0xc0, 0x13, 0x04, 0x00, 0x88, 0x61, 0x3a, 0x49, + 0x70, 0x46, 0x08, 0x58, 0x35, 0x1c, 0xb8, 0x61, + 0x60, 0x46, 0x60, 0x73, 0x04, 0xe0, 0x3c, 0x48, + 0x02, 0x22, 0x88, 0x61, 0x3b, 0x48, 0xc8, 0x61, + 0x00, 0x20, 0x32, 0x49, 0x06, 0xe0, 0x0e, 0x18, + 0xb6, 0x78, 0x76, 0x07, 0x76, 0x0f, 0x04, 0x2e, + 0x2f, 0xd8, 0x01, 0x30, 0x90, 0x42, 0xf6, 0xd3, + 0xc8, 0x79, 0x2e, 0x4f, 0xc0, 0x07, 0xc0, 0x0f, + 0x3c, 0x00, 0xfc, 0x13, 0x04, 0x00, 0xf8, 0x60, + 0x33, 0x48, 0x41, 0x68, 0x19, 0x43, 0x41, 0x60, + 0x81, 0x68, 0x19, 0x43, 0x81, 0x60, 0x01, 0x9a, + 0xb9, 0x69, 0x8c, 0x46, 0x11, 0x43, 0xfa, 0x69, + 0x86, 0x68, 0x11, 0x43, 0x8e, 0x43, 0x86, 0x60, + 0x46, 0x68, 0x31, 0x43, 0x41, 0x60, 0x01, 0x99, + 0x0b, 0x43, 0x18, 0x1c, 0x61, 0x46, 0x08, 0x43, + 0x10, 0x43, 0x01, 0x1c, 0x00, 0x22, 0x02, 0x20, + 0xc7, 0xf7, 0x3c, 0x00, 0x38, 0x14, 0x04, 0x00, + 0x03, 0xfa, 0x1e, 0x4e, 0x40, 0x3e, 0x70, 0x78, + 0xc0, 0x08, 0xc0, 0x00, 0x28, 0x43, 0x70, 0x70, + 0x70, 0x1c, 0x01, 0x78, 0x00, 0xe0, 0x29, 0xe0, + 0x08, 0x25, 0xa9, 0x43, 0x01, 0x70, 0x01, 0x20, + 0xc0, 0x43, 0xb0, 0x80, 0x00, 0x21, 0x01, 0x20, + 0xcf, 0xf7, 0x6c, 0xfc, 0x30, 0x1c, 0x80, 0x30, + 0x81, 0x78, 0x09, 0x09, 0x09, 0x01, 0x81, 0x70, + 0x0f, 0x21, 0x01, 0x70, 0x3c, 0x00, 0x74, 0x14, + 0x04, 0x00, 0x16, 0x4a, 0x69, 0x04, 0x11, 0x60, + 0x51, 0x60, 0x02, 0x9e, 0x10, 0x21, 0x32, 0x7a, + 0x7b, 0x6a, 0x00, 0x2b, 0x00, 0xd1, 0x00, 0x21, + 0x11, 0x43, 0x21, 0x73, 0x81, 0x78, 0x29, 0x43, + 0x81, 0x70, 0xe0, 0x78, 0x01, 0x21, 0x08, 0x43, + 0xe0, 0x70, 0xd2, 0xf7, 0xf2, 0xf9, 0x01, 0x20, + 0x00, 0x90, 0x00, 0x98, 0xfe, 0xbd, 0xc0, 0x57, + 0x01, 0x00, 0x6c, 0x43, 0x01, 0x00, 0x3c, 0x00, + 0xb0, 0x14, 0x04, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x40, 0x90, 0x07, 0x00, 0xc9, 0x1d, 0x00, 0x00, + 0x81, 0x1d, 0x00, 0x00, 0xa5, 0x1d, 0x00, 0x00, + 0x99, 0x1d, 0x00, 0x00, 0xf1, 0x1d, 0x00, 0x00, + 0x10, 0x00, 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x03, 0x49, 0x00, 0x20, 0x88, 0x62, 0x08, 0x70, + 0x48, 0x70, 0x08, 0x71, 0x08, 0x62, 0x70, 0x47, + 0xac, 0x7e, 0x01, 0x00, 0x80, 0xb5, 0x01, 0x21, + 0x3c, 0x00, 0xec, 0x14, 0x04, 0x00, 0x00, 0x20, + 0xcd, 0xf7, 0x69, 0xff, 0x80, 0xbd, 0xb0, 0xb5, + 0x0f, 0x48, 0xc0, 0xf7, 0x18, 0xfc, 0x0e, 0x4d, + 0x03, 0x20, 0x28, 0x70, 0x0d, 0x49, 0x0d, 0x48, + 0x0c, 0x39, 0x48, 0x60, 0x0d, 0x48, 0x0a, 0x4c, + 0x88, 0x60, 0x40, 0x21, 0x18, 0x34, 0x20, 0x1c, + 0xbe, 0xf7, 0xc1, 0xff, 0xff, 0x21, 0x68, 0x68, + 0x09, 0x06, 0x08, 0x43, 0x20, 0x60, 0xff, 0x21, + 0x06, 0x22, 0x3c, 0x00, 0x28, 0x15, 0x04, 0x00, + 0x20, 0x1d, 0xbf, 0xf7, 0x79, 0xf8, 0x01, 0x20, + 0xe0, 0x60, 0xb0, 0xbd, 0xc0, 0xa8, 0x13, 0x0a, + 0x20, 0x6e, 0x01, 0x00, 0xc0, 0xa8, 0x13, 0x01, + 0xff, 0xff, 0xff, 0x00, 0x80, 0xb5, 0x02, 0x49, + 0x01, 0x20, 0xc8, 0xf7, 0x45, 0xff, 0x80, 0xbd, + 0x9d, 0x1c, 0x00, 0x00, 0x98, 0xb5, 0x0c, 0x4c, + 0x00, 0x20, 0x60, 0x60, 0xe0, 0x60, 0x0b, 0x4b, + 0x0b, 0x49, 0x82, 0x00, 0x3c, 0x00, 0x64, 0x15, + 0x04, 0x00, 0x01, 0x30, 0x20, 0x28, 0x99, 0x50, + 0xfa, 0xdb, 0x6a, 0x46, 0x09, 0x49, 0x05, 0x20, + 0xbf, 0xf7, 0x2f, 0xfd, 0x00, 0x20, 0xc0, 0x43, + 0x20, 0x60, 0x06, 0x49, 0x20, 0x20, 0x08, 0x60, + 0x48, 0x60, 0x98, 0xbd, 0x00, 0x00, 0x00, 0x40, + 0x07, 0x00, 0x30, 0x74, 0x01, 0x00, 0xa9, 0x75, + 0x00, 0x00, 0xb5, 0x9f, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x05, 0x49, 0x00, 0x20, 0x3c, 0x00, + 0xa0, 0x15, 0x04, 0x00, 0x08, 0x60, 0x05, 0x48, + 0x81, 0x78, 0x28, 0x22, 0x91, 0x43, 0x81, 0x70, + 0x81, 0x78, 0x11, 0x43, 0x81, 0x70, 0x70, 0x47, + 0x78, 0x6e, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x41, 0x48, 0x10, 0xb5, + 0x00, 0x68, 0x02, 0x21, 0x88, 0x43, 0x3f, 0x49, + 0x08, 0x60, 0x08, 0x1c, 0x00, 0x68, 0x02, 0x21, + 0x08, 0x43, 0x3c, 0x49, 0x08, 0x60, 0x3c, 0x48, + 0x3c, 0x00, 0xdc, 0x15, 0x04, 0x00, 0x40, 0x68, + 0x80, 0x21, 0x88, 0x43, 0x3a, 0x49, 0x48, 0x60, + 0x08, 0x1c, 0x00, 0x68, 0x80, 0x21, 0x08, 0x43, + 0x37, 0x49, 0x08, 0x60, 0x37, 0x48, 0x01, 0x7a, + 0x01, 0x24, 0x21, 0x43, 0x01, 0x72, 0x01, 0x7a, + 0x02, 0x22, 0x11, 0x43, 0x01, 0x72, 0x01, 0x7a, + 0x04, 0x22, 0x91, 0x43, 0x01, 0x72, 0x01, 0x7a, + 0x08, 0x22, 0x11, 0x43, 0x01, 0x72, 0x01, 0x7b, + 0x21, 0x43, 0x3c, 0x00, 0x18, 0x16, 0x04, 0x00, + 0x01, 0x73, 0x01, 0x7b, 0x02, 0x22, 0x11, 0x43, + 0x01, 0x73, 0x01, 0x7b, 0x04, 0x22, 0x11, 0x43, + 0x01, 0x73, 0x01, 0x7b, 0x08, 0x22, 0x11, 0x43, + 0x01, 0x73, 0x2e, 0x21, 0x41, 0x73, 0x81, 0x7b, + 0x38, 0x22, 0x91, 0x43, 0x28, 0x31, 0x81, 0x73, + 0x20, 0x21, 0x41, 0x74, 0x81, 0x7b, 0xc9, 0x08, + 0xc9, 0x00, 0x03, 0x31, 0x81, 0x73, 0x22, 0x21, + 0xc1, 0x73, 0x20, 0x49, 0x3c, 0x00, 0x54, 0x16, + 0x04, 0x00, 0x09, 0x7a, 0x41, 0x72, 0x1e, 0x49, + 0x49, 0x7a, 0x01, 0x74, 0x3c, 0x22, 0x02, 0x77, + 0x01, 0x1c, 0x10, 0x31, 0x4a, 0x73, 0x50, 0x23, + 0x8b, 0x73, 0x5a, 0x23, 0xcb, 0x73, 0x0d, 0x23, + 0x01, 0x1c, 0x20, 0x31, 0x0b, 0x70, 0x17, 0x4b, + 0x43, 0x84, 0x0e, 0x23, 0x4b, 0x70, 0x00, 0x21, + 0x41, 0x82, 0x30, 0x21, 0x01, 0x70, 0x05, 0x21, + 0x41, 0x70, 0x04, 0x21, 0x41, 0x71, 0x3c, 0x00, + 0x90, 0x16, 0x04, 0x00, 0x84, 0x71, 0xc4, 0x71, + 0x0c, 0x21, 0x01, 0x71, 0xf8, 0x21, 0x41, 0x80, + 0x0f, 0x49, 0xca, 0x72, 0x8a, 0x72, 0x03, 0x22, + 0x0a, 0x72, 0x09, 0x22, 0x4a, 0x72, 0x08, 0x22, + 0x0a, 0x73, 0x02, 0x7a, 0x40, 0x23, 0x1a, 0x43, + 0x02, 0x72, 0x4c, 0x73, 0xff, 0xf7, 0xa2, 0xfc, + 0x08, 0x48, 0x01, 0x78, 0x21, 0x43, 0x01, 0x70, + 0x10, 0xbd, 0x00, 0x00, 0xf0, 0x00, 0x07, 0x00, + 0x3c, 0x00, 0xcc, 0x16, 0x04, 0x00, 0xf4, 0x00, + 0x07, 0x00, 0x0c, 0x80, 0x07, 0x00, 0x76, 0x46, + 0x01, 0x00, 0x24, 0x09, 0x00, 0x00, 0x80, 0x80, + 0x07, 0x00, 0xa0, 0x80, 0x07, 0x00, 0x80, 0xb5, + 0x18, 0x21, 0x09, 0x48, 0xbe, 0xf7, 0xd7, 0xfe, + 0x08, 0x48, 0x00, 0x21, 0x3c, 0x38, 0x41, 0x60, + 0x81, 0x60, 0xc1, 0x60, 0x01, 0x61, 0x41, 0x61, + 0x81, 0x61, 0x01, 0x21, 0x01, 0x62, 0xff, 0xf7, + 0x5c, 0xff, 0x3c, 0x00, 0x08, 0x17, 0x04, 0x00, + 0xc0, 0xf7, 0x6c, 0xff, 0x80, 0xbd, 0x00, 0x00, + 0x24, 0x7e, 0x01, 0x00, 0xb0, 0xb5, 0x21, 0x48, + 0x00, 0x68, 0x40, 0x08, 0x1f, 0x49, 0x40, 0x00, + 0x08, 0x60, 0x08, 0x1c, 0x00, 0x68, 0x01, 0x21, + 0x08, 0x43, 0x1c, 0x49, 0x08, 0x60, 0x1c, 0x4a, + 0x10, 0x79, 0x01, 0x21, 0x08, 0x43, 0x10, 0x71, + 0x10, 0x79, 0x02, 0x21, 0x88, 0x43, 0x10, 0x71, + 0x00, 0xf0, 0x6c, 0xf8, 0x3c, 0x00, 0x44, 0x17, + 0x04, 0x00, 0x10, 0x7a, 0x01, 0x21, 0x08, 0x43, + 0x10, 0x72, 0x10, 0x7a, 0xfe, 0x21, 0x88, 0x43, + 0x0a, 0x30, 0x10, 0x72, 0x28, 0x20, 0x90, 0x72, + 0x5a, 0x20, 0xd0, 0x72, 0x11, 0x4d, 0x14, 0x20, + 0x28, 0x77, 0x2c, 0x1c, 0x10, 0x34, 0xa0, 0x73, + 0x16, 0x20, 0xa8, 0x75, 0x18, 0x20, 0xe8, 0x75, + 0xff, 0xf7, 0xa1, 0xfc, 0x0c, 0x48, 0x68, 0x86, + 0xe0, 0x7b, 0x40, 0x06, 0x40, 0x0e, 0x3c, 0x00, + 0x80, 0x17, 0x04, 0x00, 0x0e, 0x21, 0x08, 0x43, + 0xe0, 0x73, 0xe0, 0x7b, 0x80, 0x21, 0x08, 0x43, + 0xe0, 0x73, 0x07, 0x48, 0x41, 0x79, 0x04, 0x22, + 0x11, 0x43, 0x41, 0x71, 0xb0, 0xbd, 0x00, 0x00, + 0xf0, 0x00, 0x07, 0x00, 0x00, 0x80, 0x07, 0x00, + 0x30, 0x80, 0x07, 0x00, 0xff, 0x01, 0x00, 0x00, + 0x50, 0x00, 0x07, 0x00, 0x80, 0xb5, 0xff, 0xf7, + 0xaf, 0xff, 0x00, 0x20, 0x14, 0x49, 0xc0, 0x43, + 0x3c, 0x00, 0xbc, 0x17, 0x04, 0x00, 0x88, 0x60, + 0xc1, 0xf7, 0x0b, 0xf9, 0x13, 0x49, 0x00, 0x20, + 0x48, 0x62, 0xc8, 0x60, 0x48, 0x61, 0x08, 0x61, + 0x88, 0x61, 0xc8, 0x61, 0x0f, 0x4b, 0x08, 0x62, + 0x0f, 0x4a, 0x08, 0x63, 0x38, 0x33, 0x1a, 0x80, + 0x01, 0x22, 0x5a, 0x71, 0x0b, 0x4a, 0x40, 0x32, + 0xd0, 0x60, 0x13, 0x60, 0x08, 0x23, 0x13, 0x81, + 0x50, 0x60, 0x09, 0x4a, 0x8a, 0x62, 0xff, 0x22, + 0x0a, 0x70, 0x3c, 0x00, 0xf8, 0x17, 0x04, 0x00, + 0x48, 0x70, 0x05, 0x48, 0x00, 0x21, 0x00, 0x22, + 0x50, 0x30, 0x00, 0x23, 0x0e, 0xc0, 0xc1, 0xf7, + 0xff, 0xf8, 0x80, 0xbd, 0x00, 0x30, 0x07, 0x00, + 0x04, 0x6c, 0x01, 0x00, 0xbe, 0xba, 0x00, 0x00, + 0x85, 0x75, 0x00, 0x00, 0x03, 0x48, 0x10, 0x21, + 0x81, 0x71, 0x02, 0x21, 0xc1, 0x71, 0x30, 0x21, + 0x41, 0x72, 0x70, 0x47, 0x00, 0x80, 0x07, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0x34, 0x18, + 0x04, 0x00, 0x00, 0xb5, 0xc1, 0xf7, 0xdb, 0xfb, + 0x00, 0xbd, 0x70, 0x47, 0x00, 0x00, 0x80, 0xb5, + 0xcd, 0xf7, 0x87, 0xfd, 0x01, 0x49, 0x88, 0x60, + 0x80, 0xbd, 0x50, 0xd9, 0x01, 0x00, 0x80, 0xb5, + 0x06, 0x21, 0x05, 0x48, 0xbe, 0xf7, 0xfd, 0xfd, + 0x04, 0x49, 0x00, 0x20, 0x04, 0x39, 0x08, 0x60, + 0x00, 0xf0, 0x67, 0xf8, 0x00, 0xf0, 0x03, 0xf8, + 0x80, 0xbd, 0xec, 0x67, 0x01, 0x00, 0x3c, 0x00, + 0x70, 0x18, 0x04, 0x00, 0x10, 0xb5, 0x07, 0x4c, + 0x2c, 0x21, 0x20, 0x1c, 0xbe, 0xf7, 0x10, 0xfe, + 0x01, 0x20, 0x20, 0x70, 0x03, 0x49, 0x00, 0x20, + 0x1c, 0x39, 0xc8, 0x60, 0x08, 0x61, 0x88, 0x61, + 0x10, 0xbd, 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0xcd, 0xf7, 0x5d, 0xfd, 0x09, 0x49, + 0x88, 0x60, 0x09, 0x49, 0x08, 0x20, 0xd0, 0xf7, + 0x73, 0xfd, 0x08, 0x49, 0x09, 0x20, 0xd0, 0xf7, + 0x3c, 0x00, 0xac, 0x18, 0x04, 0x00, 0x6f, 0xfd, + 0x07, 0x49, 0x11, 0x20, 0xd0, 0xf7, 0x6b, 0xfd, + 0x06, 0x48, 0xc2, 0xf7, 0x74, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, 0x21, 0x35, + 0x00, 0x00, 0xa1, 0x38, 0x00, 0x00, 0x45, 0x34, + 0x00, 0x00, 0xbd, 0x26, 0x01, 0x00, 0x80, 0xb5, + 0x86, 0xb0, 0x0f, 0x48, 0xc4, 0xf7, 0x45, 0xf9, + 0x00, 0xf0, 0x45, 0xf8, 0xff, 0xf7, 0xd7, 0xff, + 0xff, 0xf7, 0x3c, 0x00, 0xe8, 0x18, 0x04, 0x00, + 0xab, 0xff, 0x0c, 0x49, 0x03, 0x20, 0xd0, 0xf7, + 0x4d, 0xfd, 0x0b, 0x48, 0x69, 0x46, 0x00, 0x90, + 0x00, 0x20, 0x01, 0x90, 0x09, 0x48, 0x04, 0x90, + 0x09, 0x48, 0x02, 0x90, 0x09, 0x48, 0x03, 0x90, + 0x09, 0x48, 0x05, 0x90, 0x00, 0x20, 0xc4, 0xf7, + 0xcf, 0xf8, 0x06, 0xb0, 0x80, 0xbd, 0x00, 0x00, + 0xf4, 0x67, 0x01, 0x00, 0x45, 0x35, 0x00, 0x00, + 0x95, 0x32, 0x00, 0x00, 0x3c, 0x00, 0x24, 0x19, + 0x04, 0x00, 0xa0, 0x7d, 0x01, 0x00, 0xfd, 0x32, + 0x00, 0x00, 0xcd, 0x31, 0x00, 0x00, 0x45, 0x7d, + 0x01, 0x00, 0x10, 0xb5, 0xcd, 0xf7, 0xd5, 0xfc, + 0x09, 0x48, 0x09, 0x4c, 0x30, 0x21, 0x60, 0x61, + 0x08, 0x48, 0x74, 0x30, 0xbe, 0xf7, 0xa9, 0xfd, + 0x00, 0x20, 0xa0, 0x62, 0x06, 0x49, 0x20, 0x61, + 0xe1, 0x63, 0x60, 0x64, 0xa0, 0x64, 0x14, 0x21, + 0x21, 0x65, 0x60, 0x62, 0x10, 0xbd, 0x3c, 0x00, + 0x60, 0x19, 0x04, 0x00, 0xb9, 0x75, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x70, 0x17, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x09, 0x20, 0x04, 0x4a, + 0xd1, 0xf7, 0xe8, 0xfe, 0xcd, 0xf7, 0xec, 0xfc, + 0x02, 0x49, 0x08, 0x63, 0x80, 0xbd, 0x00, 0x00, + 0x39, 0x39, 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, + 0x80, 0xb5, 0xac, 0x21, 0x03, 0x48, 0xbe, 0xf7, + 0x83, 0xfd, 0x00, 0xf0, 0x51, 0xf8, 0x00, 0xf0, + 0x3c, 0x00, 0x9c, 0x19, 0x04, 0x00, 0x49, 0xf8, + 0x80, 0xbd, 0xa4, 0x6c, 0x01, 0x00, 0x08, 0xb5, + 0x00, 0xf0, 0x4d, 0xf8, 0x00, 0xf0, 0x45, 0xf8, + 0x00, 0x21, 0x16, 0x20, 0x18, 0x4a, 0xd1, 0xf7, + 0xc8, 0xfe, 0x17, 0x4a, 0x04, 0x21, 0x10, 0x1c, + 0x40, 0x30, 0x01, 0x70, 0x00, 0x21, 0x81, 0x70, + 0x11, 0x21, 0xc1, 0x80, 0x14, 0x49, 0x01, 0x81, + 0x10, 0x1c, 0x80, 0x30, 0xc1, 0x78, 0x08, 0x22, + 0x91, 0x43, 0x3c, 0x00, 0xd8, 0x19, 0x04, 0x00, + 0xc1, 0x70, 0xc1, 0x78, 0x11, 0x43, 0xc1, 0x70, + 0x6a, 0x46, 0x0f, 0x49, 0x14, 0x20, 0xbf, 0xf7, + 0xf5, 0xfa, 0x0e, 0x49, 0x07, 0x20, 0xd0, 0xf7, + 0xcd, 0xfc, 0x0d, 0x49, 0x0f, 0x20, 0xd0, 0xf7, + 0xc9, 0xfc, 0xcd, 0xf7, 0xab, 0xfc, 0x0b, 0x49, + 0x08, 0x60, 0x0a, 0x48, 0x44, 0x38, 0x80, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0x00, 0x20, 0xc6, 0xf7, + 0x6f, 0xf9, 0x08, 0xbd, 0x3c, 0x00, 0x14, 0x1a, + 0x04, 0x00, 0xb5, 0x3b, 0x00, 0x00, 0x00, 0x90, + 0x07, 0x00, 0xe7, 0xfd, 0x00, 0x00, 0x8d, 0x41, + 0x00, 0x00, 0xcd, 0x48, 0x00, 0x00, 0xd9, 0x49, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0xf0, 0x6f, 0xfc, 0x80, 0xbd, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, 0x61, 0xfc, + 0x80, 0xbd, 0x70, 0x47, 0x00, 0x00, 0xb0, 0xb5, + 0x30, 0x21, 0x0c, 0x48, 0xbe, 0xf7, 0x3c, 0x00, + 0x50, 0x1a, 0x04, 0x00, 0x25, 0xfd, 0x0b, 0x4c, + 0x00, 0x25, 0x0a, 0x48, 0x84, 0x3c, 0x38, 0x22, + 0x03, 0x21, 0x70, 0x38, 0x65, 0x60, 0xbe, 0xf7, + 0xdd, 0xfd, 0x06, 0x48, 0x38, 0x22, 0x01, 0x21, + 0x38, 0x38, 0xbe, 0xf7, 0xd7, 0xfd, 0x0e, 0x20, + 0xa5, 0x60, 0x60, 0x70, 0x20, 0x70, 0x00, 0xf0, + 0x1d, 0xf8, 0xb0, 0xbd, 0x94, 0x67, 0x01, 0x00, + 0x04, 0x49, 0x00, 0xb5, 0x01, 0x20, 0x48, 0x60, + 0x3c, 0x00, 0x8c, 0x1a, 0x04, 0x00, 0x88, 0x60, + 0xc8, 0x60, 0xc3, 0xf7, 0xf8, 0xff, 0x00, 0xbd, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x21, 0x0a, 0x20, 0x02, 0x4a, 0xd1, 0xf7, + 0x50, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x1d, 0x5a, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, 0x05, 0xf8, + 0x80, 0xbd, 0x80, 0xb5, 0x00, 0xf0, 0xfd, 0xfb, + 0x80, 0xbd, 0x80, 0xb5, 0x02, 0x49, 0x04, 0x20, + 0xd0, 0xf7, 0x3c, 0x00, 0xc8, 0x1a, 0x04, 0x00, + 0x61, 0xfc, 0x80, 0xbd, 0x65, 0x1f, 0x00, 0x00, + 0x00, 0x21, 0x17, 0x48, 0xc9, 0x43, 0x80, 0xb5, + 0x16, 0x4b, 0x01, 0x70, 0x18, 0x1c, 0x10, 0x22, + 0x20, 0x30, 0x02, 0x71, 0x00, 0x22, 0x10, 0x33, + 0x9a, 0x73, 0x42, 0x79, 0x04, 0x23, 0x1a, 0x43, + 0x42, 0x71, 0x42, 0x79, 0x18, 0x23, 0x9a, 0x43, + 0x08, 0x32, 0x42, 0x71, 0x08, 0x1c, 0xd7, 0xf7, + 0x59, 0xf8, 0x00, 0x28, 0x3c, 0x00, 0x04, 0x1b, + 0x04, 0x00, 0x03, 0xd1, 0x01, 0x21, 0x9a, 0x20, + 0xbf, 0xf7, 0xcb, 0xfb, 0x50, 0x20, 0x09, 0x49, + 0x50, 0x22, 0x0a, 0x60, 0xc8, 0x60, 0x88, 0x60, + 0x48, 0x60, 0x08, 0x61, 0x01, 0x20, 0x48, 0x61, + 0x00, 0x20, 0xd7, 0xf7, 0xd8, 0xf8, 0x04, 0x49, + 0xff, 0x20, 0x08, 0x60, 0x80, 0xbd, 0xf4, 0x6b, + 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, 0x04, 0x02, + 0x07, 0x00, 0xf4, 0x74, 0x01, 0x00, 0x3c, 0x00, + 0x40, 0x1b, 0x04, 0x00, 0x80, 0xb5, 0xd7, 0xf7, + 0xfb, 0xf8, 0x80, 0xbd, 0x10, 0xb5, 0xff, 0xf7, + 0xab, 0xfb, 0xbf, 0xf7, 0xdd, 0xfb, 0x81, 0x48, + 0xcd, 0xf7, 0x98, 0xfa, 0x00, 0x24, 0x23, 0x1c, + 0x04, 0x22, 0x04, 0x21, 0x00, 0x20, 0x01, 0xf0, + 0x39, 0xfa, 0x00, 0x28, 0x01, 0xd0, 0xbf, 0xf7, + 0xc9, 0xfb, 0x23, 0x1c, 0x00, 0x22, 0xff, 0x21, + 0x00, 0x20, 0x01, 0xf0, 0x2f, 0xfa, 0x00, 0x28, + 0x3c, 0x00, 0x7c, 0x1b, 0x04, 0x00, 0x01, 0xd0, + 0xbf, 0xf7, 0xbf, 0xfb, 0x23, 0x1c, 0x00, 0x22, + 0xff, 0x21, 0x00, 0x20, 0x01, 0xf0, 0x25, 0xfa, + 0x00, 0x28, 0x01, 0xd0, 0xbf, 0xf7, 0xb5, 0xfb, + 0xc4, 0xf7, 0x27, 0xff, 0x70, 0x48, 0x84, 0x70, + 0x6f, 0x49, 0x7f, 0x20, 0x88, 0x70, 0x6e, 0x49, + 0x0c, 0x60, 0x03, 0x20, 0x08, 0x60, 0x6b, 0x48, + 0x44, 0x70, 0x6c, 0x48, 0x04, 0x80, 0x69, 0x48, + 0xc0, 0x78, 0x3c, 0x00, 0xb8, 0x1b, 0x04, 0x00, + 0x08, 0x21, 0x08, 0x43, 0x67, 0x49, 0xc8, 0x70, + 0x08, 0x1c, 0xc0, 0x78, 0x04, 0x21, 0x08, 0x43, + 0x64, 0x49, 0xc8, 0x70, 0x01, 0xf0, 0x7e, 0xfa, + 0xff, 0xf7, 0x7e, 0xff, 0xff, 0xf7, 0x2c, 0xfe, + 0x01, 0xf0, 0x46, 0xfb, 0xff, 0xf7, 0x18, 0xfb, + 0x01, 0xf0, 0x52, 0xfa, 0xff, 0xf7, 0x82, 0xfb, + 0x5f, 0x48, 0xc1, 0x68, 0x10, 0x22, 0x91, 0x43, + 0xc1, 0x60, 0x01, 0x69, 0x3c, 0x00, 0xf4, 0x1b, + 0x04, 0x00, 0x5d, 0x4a, 0x11, 0x43, 0x01, 0x61, + 0x01, 0x69, 0xd2, 0x0a, 0x91, 0x43, 0x01, 0x61, + 0xc1, 0x68, 0x5a, 0x4a, 0x11, 0x43, 0xc1, 0x60, + 0x81, 0x6a, 0x59, 0x4a, 0x11, 0x43, 0x81, 0x62, + 0x00, 0xf0, 0x77, 0xf9, 0x01, 0xf0, 0x1f, 0xf8, + 0x00, 0xf0, 0x93, 0xfa, 0x01, 0xf0, 0x99, 0xfb, + 0x00, 0xf0, 0xf1, 0xff, 0x00, 0xf0, 0x99, 0xfc, + 0x00, 0xf0, 0xdd, 0xfc, 0x00, 0xf0, 0x3c, 0x00, + 0x30, 0x1c, 0x04, 0x00, 0x83, 0xfc, 0xff, 0xf7, + 0xb3, 0xfc, 0x01, 0xf0, 0x31, 0xfa, 0x01, 0xf0, + 0x71, 0xfa, 0xff, 0xf7, 0x87, 0xfa, 0xff, 0xf7, + 0x9b, 0xfa, 0x01, 0x21, 0x01, 0x20, 0x4b, 0x4a, + 0xd1, 0xf7, 0x7c, 0xfd, 0x01, 0x21, 0x02, 0x20, + 0x49, 0x4a, 0xd1, 0xf7, 0x77, 0xfd, 0x02, 0x21, + 0x03, 0x20, 0x48, 0x4a, 0xd1, 0xf7, 0x72, 0xfd, + 0x02, 0x21, 0x04, 0x20, 0x46, 0x4a, 0xd1, 0xf7, + 0x3c, 0x00, 0x6c, 0x1c, 0x04, 0x00, 0x6d, 0xfd, + 0x02, 0x21, 0x05, 0x20, 0x45, 0x4a, 0xd1, 0xf7, + 0x68, 0xfd, 0x02, 0x21, 0x06, 0x20, 0x43, 0x4a, + 0xd1, 0xf7, 0x63, 0xfd, 0x01, 0x21, 0x07, 0x20, + 0x42, 0x4a, 0xd1, 0xf7, 0x5e, 0xfd, 0x02, 0x21, + 0x17, 0x20, 0x40, 0x4a, 0xd1, 0xf7, 0x59, 0xfd, + 0x02, 0x21, 0x08, 0x20, 0x3f, 0x4a, 0xd1, 0xf7, + 0x54, 0xfd, 0xff, 0xf7, 0xc8, 0xfd, 0x3d, 0x48, + 0x04, 0x60, 0x3c, 0x00, 0xa8, 0x1c, 0x04, 0x00, + 0x44, 0x60, 0xff, 0xf7, 0x17, 0xfa, 0xff, 0xf7, + 0x09, 0xfa, 0xff, 0xf7, 0x4f, 0xfc, 0x00, 0xf0, + 0x43, 0xf9, 0xff, 0xf7, 0x33, 0xfa, 0xff, 0xf7, + 0xfb, 0xfa, 0x01, 0xf0, 0x85, 0xf8, 0x01, 0xf0, + 0xeb, 0xf9, 0x01, 0xf0, 0x23, 0xfa, 0x01, 0xf0, + 0x71, 0xf9, 0x00, 0xf0, 0xe3, 0xff, 0xff, 0xf7, + 0x6f, 0xfa, 0x00, 0xf0, 0xaf, 0xf9, 0x00, 0xf0, + 0xbd, 0xf9, 0x00, 0xf0, 0x3c, 0x00, 0xe4, 0x1c, + 0x04, 0x00, 0xad, 0xfc, 0x00, 0xf0, 0x9b, 0xfe, + 0xff, 0xf7, 0xcd, 0xfa, 0xff, 0xf7, 0xab, 0xfe, + 0x00, 0xf0, 0xc3, 0xf9, 0xff, 0xf7, 0xab, 0xfd, + 0x00, 0xf0, 0x8d, 0xff, 0x00, 0xf0, 0x21, 0xff, + 0x00, 0xf0, 0x65, 0xf9, 0x00, 0xf0, 0x97, 0xf9, + 0x00, 0xf0, 0xfd, 0xfe, 0x00, 0xf0, 0xe5, 0xfe, + 0x00, 0xf0, 0x3f, 0xf9, 0x00, 0xf0, 0x73, 0xf9, + 0xff, 0xf7, 0x37, 0xfe, 0x00, 0xf0, 0x3c, 0x00, + 0x20, 0x1d, 0x04, 0x00, 0x21, 0xf9, 0x00, 0xf0, + 0x73, 0xfb, 0xff, 0xf7, 0xe5, 0xfb, 0x00, 0xf0, + 0xd3, 0xfb, 0xff, 0xf7, 0xa9, 0xfe, 0x00, 0xf0, + 0xbb, 0xfb, 0x00, 0xf0, 0x09, 0xff, 0x00, 0xf0, + 0xdb, 0xf9, 0x18, 0x48, 0xc9, 0xf7, 0x56, 0xf8, + 0x17, 0x48, 0xc9, 0xf7, 0x2b, 0xf8, 0x00, 0x22, + 0x01, 0x21, 0xf0, 0x20, 0xd1, 0xf7, 0x2e, 0xfd, + 0x00, 0x20, 0x10, 0xbd, 0xa9, 0x69, 0x00, 0x00, + 0x3c, 0x00, 0x5c, 0x1d, 0x04, 0x00, 0x00, 0x00, + 0x07, 0x00, 0xf0, 0x00, 0x07, 0x00, 0x2c, 0x00, + 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, 0x3c, 0x00, + 0x08, 0x00, 0xc0, 0x3f, 0x74, 0x38, 0xfc, 0xdf, + 0x7f, 0x38, 0x55, 0x69, 0x00, 0x00, 0xe5, 0x13, + 0x00, 0x00, 0x61, 0x0c, 0x00, 0x00, 0x6d, 0x0c, + 0x00, 0x00, 0x3d, 0x0c, 0x00, 0x00, 0xf1, 0x0d, + 0x00, 0x00, 0xc5, 0x33, 0x00, 0x00, 0x3d, 0x0f, + 0x00, 0x00, 0x3c, 0x00, 0x98, 0x1d, 0x04, 0x00, + 0xad, 0xd8, 0x00, 0x00, 0x80, 0x00, 0x07, 0x00, + 0x50, 0x57, 0x01, 0x00, 0x04, 0x40, 0x01, 0x00, + 0x80, 0xb5, 0x01, 0xf0, 0xa9, 0xf9, 0x00, 0xf0, + 0xc9, 0xf8, 0xff, 0xf7, 0xc5, 0xfe, 0x01, 0xf0, + 0x03, 0xfb, 0x01, 0xf0, 0x93, 0xfa, 0xff, 0xf7, + 0xcb, 0xf9, 0x2c, 0x48, 0xff, 0xf7, 0xe8, 0xf9, + 0x00, 0xf0, 0xaa, 0xf8, 0x00, 0xf0, 0x58, 0xff, + 0xff, 0xf7, 0x34, 0xfd, 0x3c, 0x00, 0xd4, 0x1d, + 0x04, 0x00, 0xff, 0xf7, 0xf2, 0xfb, 0xff, 0xf7, + 0x7a, 0xfa, 0xff, 0xf7, 0x00, 0xfa, 0x00, 0xf0, + 0x34, 0xf9, 0x00, 0xf0, 0x3c, 0xf9, 0x01, 0xf0, + 0xe2, 0xf8, 0xff, 0xf7, 0x7a, 0xf9, 0xff, 0xf7, + 0x72, 0xf9, 0xff, 0xf7, 0x9a, 0xf9, 0x01, 0xf0, + 0x66, 0xf9, 0x01, 0xf0, 0x8e, 0xf9, 0x01, 0xf0, + 0xe0, 0xf8, 0x00, 0xf0, 0x06, 0xff, 0x00, 0xf0, + 0xf0, 0xfb, 0x00, 0xf0, 0x46, 0xfb, 0x3c, 0x00, + 0x10, 0x1e, 0x04, 0x00, 0x00, 0xf0, 0xbc, 0xff, + 0x00, 0xf0, 0xe4, 0xfc, 0x00, 0xf0, 0x20, 0xfe, + 0xff, 0xf7, 0x40, 0xfa, 0xff, 0xf7, 0x46, 0xfe, + 0xff, 0xf7, 0x56, 0xfd, 0x00, 0xf0, 0x2c, 0xf9, + 0x00, 0xf0, 0xfa, 0xfe, 0x00, 0xf0, 0x8a, 0xfe, + 0x00, 0xf0, 0xd4, 0xf8, 0x00, 0xf0, 0xb4, 0xf8, + 0x00, 0xf0, 0x78, 0xfe, 0x00, 0xf0, 0x4e, 0xfe, + 0x00, 0xf0, 0xde, 0xf8, 0xff, 0xf7, 0xac, 0xfd, + 0x3c, 0x00, 0x4c, 0x1e, 0x04, 0x00, 0x00, 0xf0, + 0x8c, 0xf8, 0x00, 0xf0, 0xf8, 0xfa, 0xff, 0xf7, + 0x76, 0xfb, 0xff, 0xf7, 0x20, 0xfe, 0x01, 0xf0, + 0xa6, 0xfa, 0x00, 0xf0, 0x48, 0xfb, 0x00, 0xf0, + 0x7c, 0xfe, 0x00, 0xf0, 0x5c, 0xf9, 0xbe, 0xf7, + 0x57, 0xfd, 0x00, 0x20, 0x80, 0xbd, 0x80, 0x38, + 0x01, 0x00, 0x01, 0x49, 0x00, 0x20, 0x08, 0x60, + 0x70, 0x47, 0xa8, 0x7e, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x3c, 0x00, 0x88, 0x1e, 0x04, 0x00, + 0x01, 0xd1, 0xbf, 0xf7, 0x39, 0xfa, 0x0f, 0x48, + 0x7d, 0x21, 0xc9, 0x00, 0x84, 0x60, 0x01, 0x80, + 0x0d, 0x49, 0x01, 0x61, 0x80, 0x21, 0x41, 0x80, + 0x00, 0x21, 0xc1, 0x60, 0x01, 0x62, 0x0b, 0x48, + 0x41, 0x80, 0x14, 0x21, 0x81, 0x80, 0x07, 0x21, + 0x41, 0x81, 0x06, 0x4a, 0x46, 0x23, 0x04, 0x32, + 0x05, 0x24, 0x13, 0x70, 0x54, 0x70, 0x0a, 0x21, + 0x91, 0x70, 0x81, 0x76, 0x3c, 0x00, 0xc4, 0x1e, + 0x04, 0x00, 0x03, 0x76, 0x04, 0x81, 0x10, 0xbd, + 0x00, 0x00, 0xc8, 0x74, 0x01, 0x00, 0x00, 0x87, + 0x93, 0x03, 0x30, 0x00, 0x07, 0x00, 0x09, 0x48, + 0x80, 0xb5, 0x01, 0x69, 0x42, 0x69, 0x11, 0x43, + 0x82, 0x69, 0xc0, 0x69, 0x11, 0x43, 0x01, 0x43, + 0x00, 0x22, 0x03, 0x20, 0xc6, 0xf7, 0xbf, 0xfc, + 0xcc, 0xf7, 0x1b, 0xfa, 0x00, 0x20, 0xc2, 0xf7, + 0x92, 0xf9, 0x80, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x00, 0x1f, 0x04, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x05, 0x48, 0x80, 0xb5, 0x00, 0x21, 0x81, 0x60, + 0x02, 0x21, 0xc1, 0x60, 0x03, 0x39, 0x41, 0x60, + 0xc7, 0xf7, 0x3a, 0xff, 0x80, 0xbd, 0x00, 0x00, + 0x40, 0x20, 0x07, 0x00, 0x08, 0xb5, 0x6a, 0x46, + 0x04, 0x49, 0x15, 0x20, 0xbf, 0xf7, 0x54, 0xf8, + 0x01, 0x20, 0x03, 0x49, 0x40, 0x05, 0x08, 0x60, + 0x48, 0x60, 0x08, 0xbd, 0xa5, 0x21, 0x01, 0x00, + 0x3c, 0x00, 0x3c, 0x1f, 0x04, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x70, 0x47, 0x00, 0x00, 0x06, 0x48, + 0x80, 0xb5, 0x80, 0x68, 0xc0, 0x01, 0x80, 0x0f, + 0x05, 0xd1, 0x03, 0x22, 0xc1, 0x43, 0xc6, 0xf7, + 0xba, 0xfc, 0xd6, 0xf7, 0x00, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x10, 0x00, 0x07, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x02, 0x21, 0x2a, 0x20, + 0x06, 0x4a, 0xd1, 0xf7, 0xea, 0xfb, 0x00, 0x22, + 0x07, 0x20, 0x3c, 0x00, 0x78, 0x1f, 0x04, 0x00, + 0x04, 0x49, 0xbe, 0xf7, 0xed, 0xfe, 0x04, 0x48, + 0xc7, 0xf7, 0x58, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0x8d, 0x89, 0x00, 0x00, 0xd5, 0x9b, 0x00, 0x00, + 0x10, 0x46, 0x01, 0x00, 0x02, 0x48, 0x00, 0x21, + 0x00, 0x22, 0x00, 0x23, 0x0e, 0xc0, 0x70, 0x47, + 0x80, 0x6e, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x2c, 0x20, 0x06, 0x4a, 0xd1, 0xf7, 0xcc, 0xfb, + 0x00, 0x22, 0x00, 0x20, 0x3c, 0x00, 0xb4, 0x1f, + 0x04, 0x00, 0x04, 0x49, 0xbe, 0xf7, 0xcf, 0xfe, + 0x04, 0x49, 0x02, 0x20, 0xc8, 0xf7, 0x0b, 0xfa, + 0x80, 0xbd, 0x05, 0x8a, 0x00, 0x00, 0xe9, 0x9b, + 0x00, 0x00, 0xb1, 0x8b, 0x00, 0x00, 0x02, 0x48, + 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x0e, 0xc0, + 0x70, 0x47, 0x10, 0x75, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x21, 0x2b, 0x20, 0x04, 0x4a, 0xd1, 0xf7, + 0xae, 0xfb, 0x00, 0x22, 0x02, 0x20, 0x3c, 0x00, + 0xf0, 0x1f, 0x04, 0x00, 0x02, 0x49, 0xbe, 0xf7, + 0xb1, 0xfe, 0x80, 0xbd, 0x2d, 0x8a, 0x00, 0x00, + 0x8d, 0x8c, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x2d, 0x20, 0x07, 0x4a, + 0xd1, 0xf7, 0x9c, 0xfb, 0x00, 0x22, 0x01, 0x20, + 0x05, 0x49, 0xbe, 0xf7, 0x9f, 0xfe, 0x05, 0x48, + 0xcb, 0xf7, 0x56, 0xfa, 0x04, 0x48, 0xcc, 0xf7, + 0xf7, 0xf8, 0x80, 0xbd, 0xad, 0x8a, 0x00, 0x00, + 0x3c, 0x00, 0x2c, 0x20, 0x04, 0x00, 0x21, 0xe2, + 0x00, 0x00, 0xf9, 0xdf, 0x00, 0x00, 0x20, 0x44, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x02, 0x49, + 0x00, 0x20, 0x08, 0x60, 0x01, 0x20, 0x48, 0x60, + 0x70, 0x47, 0xac, 0x79, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x49, 0x0d, 0x20, 0xd0, 0xf7, 0x9b, 0xf9, + 0x80, 0xbd, 0x61, 0x98, 0x00, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0xcd, 0xf7, 0x77, 0xf9, + 0x03, 0x49, 0x3c, 0x00, 0x68, 0x20, 0x04, 0x00, + 0x08, 0x60, 0x01, 0x1c, 0x02, 0x48, 0xcd, 0xf7, + 0x97, 0xf9, 0x80, 0xbd, 0xa8, 0x79, 0x01, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0x29, 0xf8, 0x80, 0xbd, 0x80, 0xb5, 0x86, 0xb0, + 0x0c, 0x48, 0xc3, 0xf7, 0x6d, 0xfd, 0xd6, 0xf7, + 0xd3, 0xfb, 0x0b, 0x48, 0x0d, 0x49, 0x00, 0x90, + 0x0a, 0x48, 0x04, 0x91, 0x01, 0x90, 0x0a, 0x48, + 0x69, 0x46, 0x02, 0x90, 0x3c, 0x00, 0xa4, 0x20, + 0x04, 0x00, 0x00, 0x20, 0x03, 0x90, 0x05, 0x90, + 0x01, 0x20, 0xc3, 0xf7, 0x00, 0xfd, 0x07, 0x49, + 0x03, 0x20, 0xd0, 0xf7, 0x6a, 0xf9, 0x06, 0xb0, + 0x80, 0xbd, 0x20, 0xf7, 0x01, 0x00, 0x11, 0x87, + 0x01, 0x00, 0x95, 0x87, 0x01, 0x00, 0x55, 0x87, + 0x01, 0x00, 0x98, 0xd9, 0x01, 0x00, 0x6d, 0x87, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x20, 0xd6, 0xf7, + 0x90, 0xfc, 0x03, 0x49, 0x00, 0x20, 0x3c, 0x00, + 0xe0, 0x20, 0x04, 0x00, 0x08, 0x60, 0x48, 0x60, + 0x02, 0x48, 0x14, 0x39, 0x48, 0x60, 0x80, 0xbd, + 0x90, 0xd9, 0x01, 0x00, 0x3d, 0x82, 0x01, 0x00, + 0x70, 0xb5, 0x00, 0x26, 0x09, 0x4c, 0x09, 0x4d, + 0x26, 0x60, 0x66, 0x60, 0x44, 0x21, 0x50, 0x35, + 0x28, 0x1c, 0xa6, 0x61, 0xbe, 0xf7, 0xc8, 0xf9, + 0x14, 0x20, 0xe0, 0x60, 0xe8, 0x63, 0x28, 0x20, + 0xe8, 0x61, 0xa0, 0x60, 0x28, 0x64, 0x2e, 0x70, + 0x3c, 0x00, 0x1c, 0x21, 0x04, 0x00, 0x70, 0xbd, + 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x21, 0x18, 0x20, 0x04, 0x4a, 0xd1, 0xf7, + 0x0c, 0xfb, 0x03, 0x49, 0x08, 0x20, 0xd0, 0xf7, + 0x2a, 0xf9, 0x80, 0xbd, 0x00, 0x00, 0x15, 0x9c, + 0x00, 0x00, 0x69, 0x9c, 0x00, 0x00, 0xfe, 0xb5, + 0x26, 0x4d, 0x28, 0x78, 0xc0, 0x07, 0x0c, 0xd4, + 0x25, 0x49, 0x00, 0x20, 0x08, 0x70, 0x28, 0x70, + 0x24, 0x48, 0x3c, 0x00, 0x58, 0x21, 0x04, 0x00, + 0x81, 0x78, 0x49, 0x08, 0x49, 0x00, 0x81, 0x70, + 0x81, 0x78, 0x01, 0x22, 0x11, 0x43, 0x81, 0x70, + 0x00, 0x24, 0xff, 0x26, 0x1f, 0x4f, 0x01, 0x36, + 0x21, 0x1c, 0x01, 0xa8, 0xc6, 0xf7, 0x32, 0xf8, + 0x00, 0xab, 0x18, 0x79, 0x01, 0x28, 0x1f, 0xd0, + 0x02, 0x28, 0x19, 0xd0, 0x03, 0x28, 0x1e, 0xd1, + 0xb8, 0x68, 0x00, 0x21, 0xb0, 0x43, 0xb8, 0x60, + 0x78, 0x68, 0x30, 0x43, 0x3c, 0x00, 0x94, 0x21, + 0x04, 0x00, 0x78, 0x60, 0x3a, 0x68, 0x32, 0x40, + 0xa0, 0x20, 0x05, 0xe0, 0x3b, 0x68, 0x33, 0x40, + 0x93, 0x42, 0x01, 0xd0, 0x01, 0x21, 0x01, 0xe0, + 0x01, 0x38, 0xf7, 0xd2, 0x78, 0x68, 0xb0, 0x43, + 0x78, 0x60, 0x00, 0x29, 0x03, 0xd0, 0x01, 0xa8, + 0x00, 0xf0, 0x27, 0xff, 0x02, 0xe0, 0x01, 0xa8, + 0x00, 0xf0, 0x45, 0xff, 0x01, 0x34, 0x24, 0x06, + 0x24, 0x16, 0x06, 0x2c, 0xcf, 0xdb, 0x3c, 0x00, + 0xd0, 0x21, 0x04, 0x00, 0x04, 0x49, 0x02, 0x22, + 0x08, 0x78, 0x10, 0x43, 0x08, 0x70, 0x28, 0x70, + 0xfe, 0xbd, 0x00, 0x00, 0x04, 0x00, 0x07, 0x00, + 0xe0, 0x60, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, + 0x10, 0x00, 0x07, 0x00, 0xb0, 0xb5, 0x00, 0x20, + 0x15, 0x23, 0x14, 0x49, 0x01, 0x25, 0x42, 0x00, + 0x8d, 0x54, 0x52, 0x18, 0x01, 0x30, 0x0e, 0x28, + 0x53, 0x70, 0xf8, 0xd3, 0x0f, 0x48, 0x1c, 0x22, + 0x3c, 0x00, 0x0c, 0x22, 0x04, 0x00, 0x1c, 0x38, + 0xbe, 0xf7, 0x73, 0xf9, 0x0d, 0x48, 0x0e, 0x21, + 0x2a, 0x38, 0xbe, 0xf7, 0x1c, 0xf9, 0x0b, 0x49, + 0x00, 0x20, 0x08, 0x60, 0x0b, 0x4c, 0x2a, 0x21, + 0x20, 0x1c, 0xbe, 0xf7, 0x14, 0xf9, 0x25, 0x70, + 0x0e, 0x20, 0x60, 0x70, 0x17, 0x20, 0xa0, 0x70, + 0x07, 0x48, 0x53, 0x21, 0x01, 0x70, 0x45, 0x21, + 0x41, 0x70, 0x20, 0x21, 0x81, 0x70, 0xb0, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x48, 0x22, 0x04, 0x00, + 0xe6, 0x78, 0x01, 0x00, 0xe4, 0x62, 0x01, 0x00, + 0xeb, 0x62, 0x01, 0x00, 0xe8, 0x62, 0x01, 0x00, + 0x0c, 0x49, 0x0d, 0x48, 0x00, 0x22, 0x41, 0x60, + 0x0c, 0x49, 0x81, 0x60, 0x0c, 0x49, 0xc1, 0x60, + 0x0c, 0x49, 0x01, 0x61, 0x0c, 0x49, 0x41, 0x61, + 0x0c, 0x49, 0x82, 0x61, 0xc1, 0x61, 0x0c, 0x49, + 0x01, 0x62, 0x0c, 0x49, 0x41, 0x62, 0x0c, 0x49, + 0x81, 0x62, 0x0c, 0x49, 0x3c, 0x00, 0x84, 0x22, + 0x04, 0x00, 0xc1, 0x62, 0xc2, 0x63, 0x70, 0x47, + 0x00, 0x00, 0xc9, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0xc1, 0x75, 0x00, 0x00, 0x81, 0x75, + 0x00, 0x00, 0x99, 0x75, 0x00, 0x00, 0xcd, 0x75, + 0x00, 0x00, 0x89, 0x75, 0x00, 0x00, 0x91, 0x75, + 0x00, 0x00, 0xb5, 0x75, 0x00, 0x00, 0x8d, 0x75, + 0x00, 0x00, 0xc5, 0x75, 0x00, 0x00, 0xb0, 0xb5, + 0x0e, 0x48, 0x0e, 0x49, 0x08, 0x60, 0x3c, 0x00, + 0xc0, 0x22, 0x04, 0x00, 0x08, 0x31, 0xc0, 0xf7, + 0x43, 0xfe, 0x0c, 0x49, 0x00, 0x25, 0x48, 0x60, + 0x0b, 0x48, 0x0a, 0x4c, 0x05, 0x60, 0x0b, 0x48, + 0x80, 0x3c, 0x05, 0x60, 0x10, 0x20, 0x20, 0x71, + 0xe0, 0x70, 0xa0, 0x71, 0x60, 0x71, 0x27, 0x20, + 0xc0, 0x43, 0xc3, 0xf7, 0xf7, 0xfb, 0x28, 0x20, + 0xc3, 0xf7, 0xfc, 0xfb, 0x25, 0x72, 0xb0, 0xbd, + 0xff, 0x3f, 0x00, 0x00, 0x2c, 0x7d, 0x01, 0x00, + 0x3c, 0x00, 0xfc, 0x22, 0x04, 0x00, 0x1c, 0x67, + 0x01, 0x00, 0x20, 0x67, 0x01, 0x00, 0x80, 0xb5, + 0x2c, 0x21, 0x01, 0x48, 0xbe, 0xf7, 0xc7, 0xf8, + 0x80, 0xbd, 0x3c, 0x7e, 0x01, 0x00, 0x80, 0xb5, + 0x38, 0x21, 0x01, 0x48, 0xbe, 0xf7, 0xbf, 0xf8, + 0x80, 0xbd, 0x68, 0x7e, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x21, 0x0e, 0x20, 0x02, 0x4a, 0xd1, 0xf7, + 0x0c, 0xfa, 0x80, 0xbd, 0x00, 0x00, 0x21, 0xe0, + 0x00, 0x00, 0x3c, 0x00, 0x38, 0x23, 0x04, 0x00, + 0x70, 0x47, 0x00, 0x00, 0xf0, 0xb5, 0x85, 0xb0, + 0x00, 0x27, 0x00, 0xab, 0x2f, 0x4e, 0x1f, 0x81, + 0x00, 0x25, 0x00, 0x24, 0x28, 0x1c, 0xd6, 0xf7, + 0xa1, 0xfb, 0x02, 0x2d, 0x03, 0xd1, 0xd6, 0xf7, + 0xf5, 0xfa, 0x00, 0x28, 0x0c, 0xd0, 0x01, 0x24, + 0x01, 0x2d, 0x03, 0xd1, 0x07, 0x20, 0x00, 0xab, + 0x18, 0x71, 0x01, 0xe0, 0x00, 0xab, 0x1f, 0x71, + 0x00, 0xab, 0x18, 0x79, 0x3c, 0x00, 0x74, 0x23, + 0x04, 0x00, 0xd6, 0xf7, 0x08, 0xfc, 0x00, 0x2c, + 0x39, 0xd0, 0x08, 0x21, 0x03, 0xa8, 0xd6, 0xf7, + 0xf2, 0xfa, 0x00, 0xab, 0x18, 0x7b, 0xfe, 0x28, + 0x31, 0xd1, 0x58, 0x7b, 0x01, 0x28, 0x2a, 0xd1, + 0x02, 0x21, 0x02, 0xa8, 0xd6, 0xf7, 0xe7, 0xfa, + 0x00, 0xab, 0x18, 0x89, 0x00, 0x28, 0x26, 0xd0, + 0x18, 0x89, 0x18, 0x49, 0x88, 0x42, 0x22, 0xd0, + 0x19, 0x89, 0x00, 0x20, 0xbf, 0xf7, 0x3c, 0x00, + 0xb0, 0x23, 0x04, 0x00, 0x13, 0xf9, 0x04, 0x1c, + 0x00, 0x69, 0x00, 0xab, 0x19, 0x89, 0xd6, 0xf7, + 0xd5, 0xfa, 0x20, 0x68, 0x00, 0xab, 0x1a, 0x89, + 0x01, 0x1c, 0x08, 0x31, 0x08, 0x3a, 0xcb, 0xf7, + 0xa1, 0xf9, 0x00, 0x28, 0x06, 0xd0, 0x02, 0x28, + 0x04, 0xd0, 0x02, 0x21, 0x94, 0x20, 0x37, 0x60, + 0xbe, 0xf7, 0x62, 0xff, 0x20, 0x1c, 0xbf, 0xf7, + 0xc7, 0xf8, 0xd4, 0xe7, 0x01, 0x21, 0x94, 0x20, + 0x3c, 0x00, 0xec, 0x23, 0x04, 0x00, 0xbe, 0xf7, + 0x5a, 0xff, 0xd5, 0xf7, 0x26, 0xff, 0x01, 0x35, + 0x2d, 0x06, 0x2d, 0x0e, 0x04, 0x2d, 0xa5, 0xd3, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x58, 0x57, + 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x0a, 0x48, + 0x00, 0x21, 0x02, 0x1c, 0x18, 0x32, 0x80, 0xb5, + 0x09, 0x4b, 0x02, 0xe0, 0x01, 0x60, 0x83, 0x80, + 0x08, 0x30, 0x82, 0x42, 0xfa, 0xd1, 0x04, 0x48, + 0x6c, 0x21, 0x3c, 0x00, 0x28, 0x24, 0x04, 0x00, + 0x6c, 0x38, 0xbe, 0xf7, 0x37, 0xf8, 0x04, 0x49, + 0x02, 0x20, 0xc7, 0xf7, 0xd1, 0xff, 0x80, 0xbd, + 0x7c, 0x79, 0x01, 0x00, 0xfc, 0x05, 0x00, 0x00, + 0x9d, 0x75, 0x00, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x26, 0x20, 0x0d, 0x4a, 0xd1, 0xf7, 0x7c, 0xf9, + 0x0c, 0x48, 0xc8, 0xf7, 0x73, 0xff, 0x0c, 0x48, + 0xc8, 0xf7, 0x76, 0xff, 0x0b, 0x49, 0x10, 0x20, + 0xcf, 0xf7, 0x94, 0xff, 0x3c, 0x00, 0x64, 0x24, + 0x04, 0x00, 0x0a, 0x49, 0x0c, 0x20, 0xcf, 0xf7, + 0x90, 0xff, 0x09, 0x49, 0x00, 0x20, 0xc7, 0xf7, + 0xb2, 0xff, 0xcc, 0xf7, 0x6e, 0xff, 0x07, 0x49, + 0x08, 0x60, 0x80, 0xbd, 0x00, 0x00, 0x9d, 0xa6, + 0x00, 0x00, 0xa9, 0xa4, 0x00, 0x00, 0x81, 0xa4, + 0x00, 0x00, 0x31, 0xa7, 0x00, 0x00, 0xb9, 0x6d, + 0x00, 0x00, 0xbd, 0xa6, 0x00, 0x00, 0x0c, 0x79, + 0x01, 0x00, 0x02, 0x49, 0x08, 0x78, 0x3c, 0x00, + 0xa0, 0x24, 0x04, 0x00, 0x40, 0x08, 0x40, 0x00, + 0x08, 0x70, 0x70, 0x47, 0x58, 0x00, 0x07, 0x00, + 0x00, 0x21, 0x08, 0x48, 0x80, 0xb5, 0x41, 0x61, + 0x81, 0x61, 0x01, 0x70, 0x41, 0x70, 0x41, 0x60, + 0x81, 0x60, 0x14, 0x22, 0xc2, 0x60, 0x01, 0x61, + 0x42, 0x62, 0xc1, 0x61, 0xff, 0xf7, 0x04, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x1c, 0x75, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x1d, 0x20, 0x04, 0x4a, + 0x3c, 0x00, 0xdc, 0x24, 0x04, 0x00, 0xd1, 0xf7, + 0x34, 0xf9, 0x03, 0x49, 0x08, 0x20, 0xcf, 0xf7, + 0x52, 0xff, 0x80, 0xbd, 0x00, 0x00, 0x11, 0xe3, + 0x00, 0x00, 0x09, 0xe4, 0x00, 0x00, 0x80, 0xb5, + 0x01, 0x21, 0x25, 0x20, 0x0a, 0x4a, 0xd1, 0xf7, + 0x24, 0xf9, 0xcc, 0xf7, 0x28, 0xff, 0x08, 0x49, + 0x08, 0x62, 0x08, 0x49, 0x01, 0x20, 0xcf, 0xf7, + 0x3e, 0xff, 0x07, 0x49, 0x02, 0x20, 0xcf, 0xf7, + 0x3a, 0xff, 0x3c, 0x00, 0x18, 0x25, 0x04, 0x00, + 0xfe, 0xf7, 0xe6, 0xff, 0x05, 0x48, 0xc1, 0xf7, + 0xe1, 0xf9, 0x80, 0xbd, 0x29, 0xa9, 0x00, 0x00, + 0x1c, 0x75, 0x01, 0x00, 0xa1, 0xaa, 0x00, 0x00, + 0x2d, 0x19, 0x00, 0x00, 0x45, 0xa8, 0x00, 0x00, + 0x10, 0xb5, 0x06, 0x4c, 0x0c, 0x22, 0x22, 0x70, + 0xa0, 0x18, 0x05, 0x49, 0xbd, 0xf7, 0xd8, 0xff, + 0x00, 0x20, 0xc8, 0xf7, 0x85, 0xfb, 0x01, 0x20, + 0xa0, 0x60, 0x10, 0xbd, 0x3c, 0x00, 0x54, 0x25, + 0x04, 0x00, 0xa4, 0x69, 0x01, 0x00, 0x90, 0x57, + 0x01, 0x00, 0xb0, 0xb5, 0x1f, 0x4c, 0x00, 0x25, + 0x65, 0x80, 0x01, 0x20, 0x20, 0x70, 0x0a, 0x20, + 0xa0, 0x80, 0x90, 0x20, 0xe0, 0x80, 0x30, 0x20, + 0x20, 0x81, 0x90, 0x20, 0x60, 0x81, 0x30, 0x20, + 0xa0, 0x81, 0x17, 0x48, 0x04, 0x22, 0x07, 0x21, + 0x12, 0x30, 0xbe, 0xf7, 0x4c, 0xf8, 0x14, 0x48, + 0x04, 0x22, 0x05, 0x21, 0x16, 0x30, 0x3c, 0x00, + 0x90, 0x25, 0x04, 0x00, 0xbe, 0xf7, 0x46, 0xf8, + 0x12, 0x48, 0x11, 0x4a, 0xe0, 0x81, 0x20, 0x82, + 0x70, 0x32, 0x15, 0x70, 0x55, 0x70, 0x00, 0x20, + 0x3c, 0x23, 0x41, 0x01, 0x43, 0x43, 0x89, 0x18, + 0xf4, 0x31, 0x9b, 0x18, 0x01, 0x30, 0x04, 0x28, + 0x59, 0x60, 0xf5, 0xdb, 0x08, 0x48, 0x06, 0x22, + 0x1a, 0x30, 0x09, 0x49, 0xbd, 0xf7, 0x9a, 0xff, + 0x07, 0x48, 0x05, 0x4c, 0x0c, 0x30, 0x0f, 0xc8, + 0x3c, 0x00, 0xcc, 0x25, 0x04, 0x00, 0x20, 0x34, + 0x0f, 0xc4, 0x20, 0x21, 0x20, 0x1c, 0xbd, 0xf7, + 0x62, 0xff, 0xb0, 0xbd, 0x00, 0x00, 0xf8, 0x60, + 0x01, 0x00, 0x2c, 0x09, 0x00, 0x00, 0x58, 0x40, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x07, 0x48, + 0x10, 0xb5, 0x00, 0x68, 0x00, 0x28, 0x08, 0xd0, + 0x06, 0x48, 0xbe, 0xf7, 0x9c, 0xfe, 0x04, 0x1c, + 0xff, 0xf7, 0x9d, 0xfe, 0x20, 0x1c, 0xbe, 0xf7, + 0x96, 0xfe, 0x3c, 0x00, 0x08, 0x26, 0x04, 0x00, + 0x10, 0xbd, 0x00, 0x00, 0x58, 0x57, 0x01, 0x00, + 0xb5, 0xad, 0x00, 0x00, 0x04, 0x49, 0x80, 0xb5, + 0x00, 0x20, 0x88, 0x70, 0x02, 0x21, 0x20, 0x20, + 0x02, 0x4a, 0xd1, 0xf7, 0x91, 0xf8, 0x80, 0xbd, + 0xb4, 0x79, 0x01, 0x00, 0x25, 0xb5, 0x00, 0x00, + 0x80, 0xb5, 0xcc, 0xf7, 0x8f, 0xfe, 0x01, 0x49, + 0x48, 0x61, 0x80, 0xbd, 0xb4, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x18, 0x21, 0x3c, 0x00, 0x44, 0x26, + 0x04, 0x00, 0x14, 0x48, 0xbd, 0xf7, 0x29, 0xff, + 0x14, 0x48, 0x01, 0x21, 0x01, 0x70, 0x00, 0x21, + 0xc1, 0x60, 0x41, 0x70, 0x01, 0x61, 0x00, 0xf0, + 0x02, 0xf9, 0x00, 0xf0, 0xaa, 0xf8, 0x00, 0xf0, + 0x1e, 0xf8, 0x00, 0xf0, 0xba, 0xf9, 0x00, 0xf0, + 0xcc, 0xf9, 0x00, 0xf0, 0x20, 0xf9, 0x00, 0xf0, + 0x64, 0xf9, 0x00, 0xf0, 0xce, 0xf9, 0x00, 0xf0, + 0xfc, 0xf8, 0x00, 0xf0, 0x82, 0xf9, 0x3c, 0x00, + 0x80, 0x26, 0x04, 0x00, 0x00, 0xf0, 0x28, 0xf8, + 0x00, 0xf0, 0x6e, 0xf8, 0x00, 0xf0, 0x4a, 0xf8, + 0xff, 0xf7, 0xc2, 0xff, 0x00, 0xf0, 0x72, 0xf9, + 0x80, 0xbd, 0x00, 0x00, 0x40, 0x7c, 0x01, 0x00, + 0x18, 0x63, 0x01, 0x00, 0xb0, 0xb5, 0x08, 0x4c, + 0x00, 0x25, 0x08, 0x48, 0x25, 0x77, 0x20, 0x60, + 0xce, 0xf7, 0xf0, 0xfd, 0x00, 0x20, 0xe5, 0x62, + 0xd0, 0xf7, 0xd0, 0xfa, 0x21, 0x1f, 0x08, 0x80, + 0x3c, 0x00, 0xbc, 0x26, 0x04, 0x00, 0xd0, 0xf7, + 0x6c, 0xfb, 0xb0, 0xbd, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x95, 0x75, 0x00, 0x00, 0x80, 0xb5, + 0xcc, 0xf7, 0xc1, 0xfc, 0x80, 0xbd, 0x05, 0x49, + 0x80, 0xb5, 0x00, 0x20, 0x08, 0x70, 0x48, 0x70, + 0x03, 0x48, 0x04, 0x49, 0x03, 0x4a, 0x08, 0x30, + 0xcc, 0xf7, 0x27, 0xfe, 0x80, 0xbd, 0x2c, 0x63, + 0x01, 0x00, 0xed, 0xbc, 0x00, 0x00, 0x4d, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x26, 0x04, 0x00, + 0x80, 0xb5, 0xcc, 0xf7, 0x2b, 0xfe, 0x05, 0x49, + 0x48, 0x60, 0x01, 0x1c, 0x04, 0x48, 0xcc, 0xf7, + 0x4b, 0xfe, 0x04, 0x49, 0x03, 0x20, 0xcf, 0xf7, + 0x3d, 0xfe, 0x80, 0xbd, 0x2c, 0x63, 0x01, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0xc1, 0xbc, 0x00, 0x00, + 0x04, 0x48, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x0e, 0xc0, 0x08, 0xc0, 0x02, 0x49, 0x10, 0x38, + 0x01, 0x60, 0x70, 0x47, 0x3c, 0x00, 0x34, 0x27, + 0x04, 0x00, 0x04, 0x7a, 0x01, 0x00, 0x1c, 0xe6, + 0x01, 0x00, 0x80, 0xb5, 0xcc, 0xf7, 0x09, 0xfe, + 0x05, 0x49, 0x05, 0x4a, 0x48, 0x60, 0x02, 0x21, + 0x24, 0x20, 0xd0, 0xf7, 0xfc, 0xff, 0x03, 0x48, + 0xc9, 0xf7, 0x6b, 0xfd, 0x80, 0xbd, 0x04, 0x7a, + 0x01, 0x00, 0x69, 0xbe, 0x00, 0x00, 0x71, 0xeb, + 0x00, 0x00, 0x10, 0xb5, 0x04, 0x4c, 0x14, 0x21, + 0x20, 0x1c, 0xbd, 0xf7, 0x96, 0xfe, 0x3c, 0x00, + 0x70, 0x27, 0x04, 0x00, 0x02, 0x48, 0x20, 0x60, + 0x10, 0xbd, 0x00, 0x00, 0x14, 0x7a, 0x01, 0x00, + 0xec, 0xe5, 0x01, 0x00, 0x80, 0xb5, 0xcc, 0xf7, + 0xe7, 0xfd, 0x07, 0x49, 0x07, 0x4a, 0x48, 0x60, + 0x02, 0x21, 0x1f, 0x20, 0xd0, 0xf7, 0xda, 0xff, + 0x05, 0x49, 0x01, 0x20, 0x08, 0x60, 0x05, 0x49, + 0x0c, 0x20, 0xcf, 0xf7, 0xf5, 0xfd, 0x80, 0xbd, + 0x14, 0x7a, 0x01, 0x00, 0xd5, 0xbf, 0x00, 0x00, + 0x3c, 0x00, 0xac, 0x27, 0x04, 0x00, 0x80, 0x5a, + 0x01, 0x00, 0x85, 0xff, 0x00, 0x00, 0x80, 0xb5, + 0xff, 0xf7, 0x4f, 0xfd, 0x01, 0x21, 0x21, 0x20, + 0x02, 0x4a, 0xd0, 0xf7, 0xc2, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0xc9, 0xc1, 0x00, 0x00, 0x80, 0xb5, + 0xcc, 0xf7, 0xc1, 0xfd, 0x02, 0x49, 0x08, 0x63, + 0xc9, 0xf7, 0x57, 0xfd, 0x80, 0xbd, 0x28, 0x7a, + 0x01, 0x00, 0x10, 0xb5, 0xcc, 0xf7, 0xb7, 0xfd, + 0x16, 0x4c, 0x3c, 0x00, 0xe8, 0x27, 0x04, 0x00, + 0x20, 0x61, 0xcc, 0xf7, 0xb3, 0xfd, 0x60, 0x61, + 0x14, 0x48, 0x15, 0x49, 0x08, 0x60, 0x16, 0x49, + 0x14, 0x48, 0x08, 0x60, 0xcc, 0xf7, 0xaa, 0xfd, + 0x14, 0x49, 0x08, 0x60, 0x00, 0xf0, 0x34, 0xf8, + 0xff, 0xf7, 0xe0, 0xff, 0xff, 0xf7, 0x5e, 0xff, + 0x00, 0xf0, 0x04, 0xf9, 0x00, 0xf0, 0x8e, 0xf8, + 0xff, 0xf7, 0x6e, 0xff, 0xff, 0xf7, 0xb0, 0xff, + 0xff, 0xf7, 0x8c, 0xff, 0x3c, 0x00, 0x24, 0x28, + 0x04, 0x00, 0xff, 0xf7, 0x04, 0xff, 0x00, 0xf0, + 0xaa, 0xf8, 0x0a, 0x48, 0xbf, 0xf7, 0xbd, 0xff, + 0xc9, 0xf7, 0xbb, 0xfd, 0x09, 0x49, 0x00, 0x20, + 0xcf, 0xf7, 0xa7, 0xfd, 0x10, 0xbd, 0x40, 0x7c, + 0x01, 0x00, 0x7d, 0xb7, 0x00, 0x00, 0x18, 0x7e, + 0x01, 0x00, 0xbd, 0xb8, 0x00, 0x00, 0x1c, 0x7e, + 0x01, 0x00, 0x20, 0x7e, 0x01, 0x00, 0xb9, 0xba, + 0x00, 0x00, 0x81, 0x24, 0x01, 0x00, 0x3c, 0x00, + 0x60, 0x28, 0x04, 0x00, 0x80, 0xb5, 0x38, 0x21, + 0x01, 0x48, 0xbd, 0xf7, 0x19, 0xfe, 0x80, 0xbd, + 0x90, 0x5c, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0xb0, 0xb5, 0x0c, 0x4c, 0x0b, 0x4d, 0x00, 0x20, + 0x0c, 0x34, 0x60, 0x60, 0x25, 0x60, 0xe0, 0x60, + 0x0a, 0x20, 0x20, 0x81, 0x28, 0x1c, 0xc8, 0xf7, + 0x3f, 0xfd, 0x28, 0x1c, 0xc8, 0xf7, 0x3a, 0xfd, + 0x08, 0x3d, 0x68, 0x60, 0x04, 0x48, 0xc9, 0xf7, + 0x3c, 0x00, 0x9c, 0x28, 0x04, 0x00, 0x1b, 0xfd, + 0x20, 0x1c, 0xc0, 0xf7, 0x6e, 0xfa, 0x28, 0x80, + 0xb0, 0xbd, 0xb8, 0x7a, 0x01, 0x00, 0xd5, 0x33, + 0x01, 0x00, 0xf8, 0xb5, 0x1f, 0x4e, 0x1d, 0x4c, + 0x00, 0x20, 0x0c, 0x21, 0x41, 0x43, 0x82, 0x00, + 0x01, 0x30, 0x09, 0x19, 0x08, 0x31, 0x00, 0x06, + 0x00, 0x0e, 0x04, 0x28, 0xb1, 0x50, 0xf4, 0xd3, + 0x18, 0x48, 0x0c, 0x38, 0x30, 0x61, 0xce, 0xf7, + 0xf4, 0xf9, 0x3c, 0x00, 0xd8, 0x28, 0x04, 0x00, + 0x14, 0x4c, 0xa0, 0x78, 0x00, 0x09, 0x00, 0x01, + 0xa0, 0x70, 0x00, 0x27, 0xe7, 0x70, 0x67, 0x70, + 0x00, 0x24, 0xa5, 0x00, 0x70, 0x59, 0x07, 0x70, + 0x20, 0x1c, 0xbe, 0xf7, 0x53, 0xf9, 0x71, 0x59, + 0x08, 0x71, 0x00, 0x21, 0x20, 0x1c, 0xce, 0xf7, + 0x7d, 0xf9, 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, + 0x04, 0x2c, 0xee, 0xd3, 0x07, 0x4c, 0x20, 0x78, + 0x00, 0x09, 0x00, 0x01, 0x3c, 0x00, 0x14, 0x29, + 0x04, 0x00, 0x0a, 0x30, 0x20, 0x70, 0x20, 0x78, + 0xf0, 0x21, 0x88, 0x43, 0x30, 0x30, 0x20, 0x70, + 0xa0, 0x78, 0x0f, 0x21, 0x08, 0x43, 0xa0, 0x70, + 0xf8, 0xbd, 0x00, 0x50, 0x07, 0x00, 0x10, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0xcc, 0xf7, 0x9f, 0xfb, + 0x80, 0xbd, 0xb0, 0xb5, 0x0c, 0x4c, 0x0b, 0x4d, + 0x00, 0x20, 0x0c, 0x34, 0x60, 0x60, 0x25, 0x60, + 0xe0, 0x60, 0x0a, 0x20, 0x20, 0x81, 0x3c, 0x00, + 0x50, 0x29, 0x04, 0x00, 0x28, 0x1c, 0xc8, 0xf7, + 0xe1, 0xfc, 0x28, 0x1c, 0xc8, 0xf7, 0xd4, 0xfc, + 0x08, 0x3d, 0x68, 0x60, 0x20, 0x1c, 0xc0, 0xf7, + 0x0d, 0xfa, 0x28, 0x80, 0x02, 0x48, 0xc9, 0xf7, + 0x9b, 0xfc, 0xb0, 0xbd, 0x2c, 0x7b, 0x01, 0x00, + 0x49, 0x00, 0x01, 0x00, 0x80, 0xb5, 0xca, 0xf7, + 0x2f, 0xf8, 0x80, 0xbd, 0x70, 0x47, 0x00, 0x00, + 0xb0, 0xb5, 0x12, 0x4d, 0x3c, 0x21, 0x28, 0x1c, + 0x3c, 0x00, 0x8c, 0x29, 0x04, 0x00, 0xbd, 0xf7, + 0x86, 0xfd, 0x0f, 0x48, 0x28, 0x21, 0x3c, 0x30, + 0xbd, 0xf7, 0x81, 0xfd, 0x0d, 0x48, 0x00, 0x21, + 0x14, 0x38, 0x01, 0x61, 0xc1, 0x60, 0xff, 0x21, + 0x01, 0x70, 0x41, 0x70, 0x0a, 0x49, 0x0a, 0x4a, + 0x41, 0x60, 0x01, 0x21, 0x0c, 0x20, 0xd0, 0xf7, + 0xc8, 0xfe, 0x2c, 0x1c, 0x30, 0x34, 0x0c, 0x3d, + 0x00, 0x20, 0xd0, 0xf7, 0x4a, 0xf9, 0x20, 0x80, + 0x0c, 0x3c, 0x3c, 0x00, 0xc8, 0x29, 0x04, 0x00, + 0xac, 0x42, 0xf8, 0xd1, 0xb0, 0xbd, 0x00, 0x00, + 0x60, 0x7b, 0x01, 0x00, 0x20, 0xa1, 0x07, 0x00, + 0x35, 0xcd, 0x00, 0x00, 0x08, 0x49, 0x00, 0x20, + 0x0c, 0x22, 0x42, 0x43, 0x52, 0x18, 0x10, 0x71, + 0x01, 0x30, 0x05, 0x28, 0xf8, 0xdb, 0x04, 0x48, + 0x00, 0x21, 0x08, 0x38, 0x01, 0x70, 0x41, 0x60, + 0xff, 0x21, 0x41, 0x70, 0x70, 0x47, 0x00, 0x00, + 0x74, 0x7a, 0x01, 0x00, 0x3c, 0x00, 0x04, 0x2a, + 0x04, 0x00, 0x80, 0xb5, 0x78, 0x21, 0x01, 0x48, + 0xbd, 0xf7, 0x47, 0xfd, 0x80, 0xbd, 0xc4, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0xca, 0xf7, 0x97, 0xfa, + 0x80, 0xbd, 0x70, 0x47, 0x00, 0x00, 0x10, 0xb5, + 0x0b, 0x4c, 0xff, 0x21, 0x05, 0x31, 0x20, 0x1c, + 0xbd, 0xf7, 0x37, 0xfd, 0x09, 0x48, 0xf0, 0x21, + 0x08, 0x51, 0x20, 0x1c, 0x40, 0x30, 0xc5, 0xf7, + 0x8e, 0xf9, 0x6c, 0x21, 0x06, 0x48, 0x3c, 0x00, + 0x40, 0x2a, 0x04, 0x00, 0xbd, 0xf7, 0x2c, 0xfd, + 0x04, 0x48, 0xc0, 0x21, 0x6c, 0x30, 0xbd, 0xf7, + 0x27, 0xfd, 0x10, 0xbd, 0xc4, 0x69, 0x01, 0x00, + 0xb0, 0xd9, 0x01, 0x00, 0xc8, 0x6a, 0x01, 0x00, + 0xb0, 0xb5, 0x0b, 0x4d, 0x00, 0x24, 0x1c, 0x20, + 0x60, 0x43, 0x40, 0x19, 0x6c, 0x30, 0xc3, 0xf7, + 0x0f, 0xfe, 0x01, 0x34, 0x04, 0x2c, 0xf6, 0xdb, + 0xcc, 0xf7, 0x6e, 0xfc, 0xa8, 0x63, 0xc7, 0xf7, + 0x3c, 0x00, 0x7c, 0x2a, 0x04, 0x00, 0x75, 0xf9, + 0x04, 0x48, 0xc9, 0xf7, 0x1c, 0xfc, 0x03, 0x48, + 0xcf, 0xf7, 0x03, 0xfa, 0xb0, 0xbd, 0xc4, 0x69, + 0x01, 0x00, 0xfd, 0x80, 0x00, 0x00, 0xe1, 0x22, + 0x01, 0x00, 0x10, 0xb5, 0x05, 0x4c, 0x00, 0x20, + 0x20, 0x80, 0x03, 0x48, 0x06, 0x21, 0x08, 0x30, + 0xbd, 0xf7, 0xd5, 0xfc, 0x14, 0x20, 0x60, 0x60, + 0x10, 0xbd, 0x98, 0x7c, 0x01, 0x00, 0x10, 0xb5, + 0x08, 0x4c, 0x3c, 0x00, 0xb8, 0x2a, 0x04, 0x00, + 0x00, 0x20, 0x20, 0x80, 0x60, 0x80, 0x06, 0x48, + 0x06, 0x21, 0x0c, 0x30, 0xbd, 0xf7, 0xc6, 0xfc, + 0x03, 0x48, 0x06, 0x21, 0x12, 0x30, 0xbd, 0xf7, + 0xc1, 0xfc, 0x14, 0x20, 0xa0, 0x60, 0x10, 0xbd, + 0x58, 0x7c, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x0d, 0x20, 0x05, 0x4a, + 0xd0, 0xf7, 0x2e, 0xfe, 0x04, 0x48, 0xc8, 0xf7, + 0x1f, 0xfc, 0x04, 0x48, 0x3c, 0x00, 0xf4, 0x2a, + 0x04, 0x00, 0xca, 0xf7, 0x44, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0x31, 0xd4, 0x00, 0x00, 0x51, 0xb1, + 0x00, 0x00, 0x09, 0xb1, 0x00, 0x00, 0x08, 0x49, + 0x80, 0xb5, 0x00, 0x20, 0x08, 0x60, 0xff, 0xf7, + 0xd0, 0xff, 0xff, 0xf7, 0xc0, 0xff, 0xff, 0xf7, + 0x04, 0xfc, 0x00, 0xf0, 0x4a, 0xf8, 0xff, 0xf7, + 0x0a, 0xfc, 0x00, 0xf0, 0x3c, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0xe4, 0x65, 0x01, 0x00, 0x3c, 0x00, + 0x30, 0x2b, 0x04, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0x29, 0xf8, 0x00, 0xf0, 0x1b, 0xf8, 0x00, 0xf0, + 0x51, 0xf8, 0x00, 0xf0, 0x31, 0xf8, 0x80, 0xbd, + 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0xff, 0x21, 0x89, 0x31, 0x02, 0x48, + 0xbd, 0xf7, 0xa2, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0xdc, 0x71, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x49, + 0x08, 0x20, 0xcf, 0xf7, 0x11, 0xfc, 0x80, 0xbd, + 0x3c, 0x00, 0x6c, 0x2b, 0x04, 0x00, 0x59, 0xd9, + 0x00, 0x00, 0x80, 0xb5, 0x03, 0x48, 0xcf, 0xf7, + 0x4c, 0xf9, 0x02, 0x49, 0x48, 0x80, 0x80, 0xbd, + 0x00, 0x00, 0x8d, 0x1f, 0x00, 0x00, 0x98, 0x7c, + 0x01, 0x00, 0x80, 0xb5, 0x03, 0x48, 0xcf, 0xf7, + 0x40, 0xf9, 0x02, 0x49, 0x88, 0x80, 0x80, 0xbd, + 0x00, 0x00, 0xd5, 0x23, 0x00, 0x00, 0x58, 0x7c, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x80, 0xb5, + 0x02, 0x48, 0x3c, 0x00, 0xa8, 0x2b, 0x04, 0x00, + 0xca, 0xf7, 0xe4, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0x71, 0xe0, 0x00, 0x00, 0x80, 0xb5, 0xcc, 0xf7, + 0xa5, 0xfb, 0x02, 0x21, 0x0f, 0x20, 0x06, 0x4a, + 0xd0, 0xf7, 0xc2, 0xfd, 0x14, 0x21, 0x05, 0x48, + 0xbd, 0xf7, 0x68, 0xfc, 0x03, 0x48, 0x78, 0x21, + 0x14, 0x30, 0xbd, 0xf7, 0x63, 0xfc, 0x80, 0xbd, + 0x35, 0xe2, 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, + 0x80, 0xb5, 0xcc, 0xf7, 0x3c, 0x00, 0xe4, 0x2b, + 0x04, 0x00, 0xb7, 0xfb, 0x05, 0x49, 0x08, 0x61, + 0x05, 0x49, 0x0e, 0x20, 0xcf, 0xf7, 0xcd, 0xfb, + 0x04, 0x49, 0x08, 0x20, 0xcf, 0xf7, 0xc9, 0xfb, + 0x80, 0xbd, 0xec, 0x65, 0x01, 0x00, 0x01, 0x02, + 0x01, 0x00, 0xc1, 0x2e, 0x00, 0x00, 0x01, 0x49, + 0x00, 0x20, 0x08, 0x70, 0x70, 0x47, 0x40, 0xd9, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x01, 0x49, + 0x00, 0x20, 0x08, 0x70, 0x70, 0x47, 0x3c, 0x00, + 0x20, 0x2c, 0x04, 0x00, 0xa0, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x07, 0x48, 0xc8, 0xf7, 0xf2, 0xff, + 0x06, 0x49, 0x48, 0x60, 0x06, 0x48, 0xc0, 0xf7, + 0x07, 0xfb, 0x06, 0x48, 0xc0, 0xf7, 0x86, 0xfb, + 0x05, 0x48, 0xc9, 0xf7, 0xa3, 0xfa, 0x80, 0xbd, + 0xa9, 0xe4, 0x00, 0x00, 0xa0, 0x79, 0x01, 0x00, + 0xb9, 0xe4, 0x00, 0x00, 0x85, 0x2e, 0x00, 0x00, + 0x81, 0xe4, 0x00, 0x00, 0x07, 0x48, 0x80, 0xb5, + 0x3c, 0x00, 0x5c, 0x2c, 0x04, 0x00, 0x00, 0x21, + 0x00, 0x22, 0x00, 0x23, 0x0e, 0xc0, 0x08, 0xc0, + 0x10, 0x38, 0xc8, 0x21, 0x01, 0x60, 0x00, 0x21, + 0x0c, 0x38, 0x02, 0x4a, 0xcc, 0xf7, 0x61, 0xfb, + 0x80, 0xbd, 0xd0, 0x60, 0x01, 0x00, 0xfd, 0xe5, + 0x00, 0x00, 0x80, 0xb5, 0xcc, 0xf7, 0x67, 0xfb, + 0x04, 0x49, 0x08, 0x60, 0x01, 0x1c, 0x02, 0x48, + 0x04, 0x30, 0xcc, 0xf7, 0x86, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x98, 0x2c, 0x04, 0x00, + 0xc0, 0x60, 0x01, 0x00, 0x09, 0x48, 0x80, 0xb5, + 0x0a, 0x21, 0x01, 0x70, 0x41, 0x70, 0x08, 0x49, + 0x08, 0x4a, 0x81, 0x60, 0x00, 0x21, 0xc1, 0x60, + 0x52, 0x79, 0x82, 0x70, 0x01, 0x61, 0x41, 0x61, + 0x28, 0x21, 0x18, 0x30, 0xbd, 0xf7, 0xee, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x7c, 0x78, 0x01, 0x00, + 0xa0, 0x86, 0x01, 0x00, 0x0c, 0x5a, 0x01, 0x00, + 0xf8, 0xb5, 0x0f, 0x49, 0x3c, 0x00, 0xd4, 0x2c, + 0x04, 0x00, 0x0f, 0x48, 0x0d, 0x88, 0x4f, 0x88, + 0x06, 0x79, 0x00, 0x24, 0x30, 0x1b, 0x68, 0x43, + 0x68, 0x23, 0x0c, 0x49, 0x58, 0x43, 0x41, 0x18, + 0x7d, 0x20, 0xc0, 0x00, 0xbd, 0xf7, 0x0f, 0xfd, + 0x61, 0x00, 0x09, 0x4a, 0xa6, 0x42, 0x50, 0x52, + 0x00, 0xd1, 0x3d, 0x1c, 0x01, 0x34, 0x24, 0x06, + 0x24, 0x0e, 0x10, 0x2c, 0xea, 0xd3, 0x05, 0x49, + 0x01, 0x20, 0x08, 0x61, 0xf8, 0xbd, 0x3c, 0x00, + 0x10, 0x2d, 0x04, 0x00, 0xf6, 0x59, 0x01, 0x00, + 0x0c, 0x5a, 0x01, 0x00, 0x34, 0x44, 0x0f, 0x00, + 0x12, 0x5a, 0x01, 0x00, 0x7c, 0x78, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0xe7, 0xfa, 0x02, 0x49, + 0x01, 0x20, 0x08, 0x61, 0x80, 0xbd, 0x00, 0x00, + 0x7c, 0x78, 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x08, 0x1c, 0x0f, 0x49, 0x49, 0x79, 0x00, 0x29, + 0x01, 0xd1, 0x0e, 0x4b, 0x00, 0xe0, 0x0e, 0x4b, + 0x3c, 0x00, 0x4c, 0x2d, 0x04, 0x00, 0x00, 0x2c, + 0x07, 0xd0, 0x04, 0x21, 0x11, 0x80, 0x0a, 0x1c, + 0x01, 0x24, 0x19, 0x1c, 0xbd, 0xf7, 0xcd, 0xfb, + 0x0a, 0xe0, 0x01, 0x24, 0x01, 0x1c, 0x18, 0x1c, + 0x12, 0x88, 0xbd, 0xf7, 0xc6, 0xfb, 0x00, 0xf0, + 0xc4, 0xfa, 0x05, 0x49, 0x01, 0x20, 0x08, 0x61, + 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, 0x0c, 0x5a, + 0x01, 0x00, 0xfe, 0x59, 0x01, 0x00, 0xfa, 0x59, + 0x01, 0x00, 0x3c, 0x00, 0x88, 0x2d, 0x04, 0x00, + 0x7c, 0x78, 0x01, 0x00, 0x0d, 0x48, 0x8c, 0xb5, + 0xc1, 0x88, 0x00, 0xab, 0x0c, 0x4a, 0x99, 0x80, + 0x01, 0x89, 0x04, 0x20, 0xd9, 0x80, 0x18, 0x80, + 0x02, 0x21, 0x13, 0x20, 0xd0, 0xf7, 0xd0, 0xfc, + 0x00, 0xf0, 0xa6, 0xfa, 0x07, 0x49, 0x01, 0x20, + 0x08, 0x61, 0xff, 0xf7, 0x8d, 0xff, 0x6a, 0x46, + 0x01, 0xa9, 0x00, 0x20, 0xff, 0xf7, 0xbc, 0xff, + 0x8c, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0xc4, 0x2d, + 0x04, 0x00, 0xf4, 0x59, 0x01, 0x00, 0x95, 0xf9, + 0x00, 0x00, 0x7c, 0x78, 0x01, 0x00, 0xf8, 0xb5, + 0x13, 0x4e, 0x01, 0x25, 0xb5, 0x70, 0x05, 0x20, + 0xf0, 0x70, 0x11, 0x49, 0x10, 0x48, 0x0e, 0xc9, + 0x2c, 0x30, 0x0e, 0xc0, 0x00, 0x20, 0x70, 0x61, + 0x0f, 0x48, 0x0f, 0x49, 0x10, 0x4f, 0x00, 0x24, + 0x48, 0x60, 0xa0, 0x00, 0x39, 0x58, 0x20, 0x1c, + 0xd1, 0xf7, 0xd7, 0xf8, 0x01, 0x34, 0x3c, 0x00, + 0x00, 0x2e, 0x04, 0x00, 0x10, 0x2c, 0xf7, 0xd3, + 0x06, 0x4c, 0x0b, 0x4a, 0x20, 0x34, 0x20, 0x1c, + 0x0a, 0x49, 0xb5, 0x60, 0xcc, 0xf7, 0x92, 0xfa, + 0xcc, 0xf7, 0x9e, 0xfa, 0x30, 0x61, 0x20, 0x60, + 0xf8, 0xbd, 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, + 0xb0, 0x58, 0x01, 0x00, 0x04, 0x18, 0x02, 0x00, + 0x60, 0x00, 0x07, 0x00, 0xd4, 0x44, 0x01, 0x00, + 0x45, 0xfa, 0x00, 0x00, 0x71, 0xfa, 0x00, 0x00, + 0x3c, 0x00, 0x3c, 0x2e, 0x04, 0x00, 0x0c, 0x49, + 0x30, 0xb5, 0x00, 0x23, 0xcc, 0x56, 0x0b, 0x4b, + 0x00, 0x20, 0xf0, 0x25, 0x1a, 0x5c, 0x11, 0x07, + 0x09, 0x0f, 0x09, 0x19, 0x0f, 0x29, 0x01, 0xdd, + 0x0f, 0x21, 0x02, 0xe0, 0x00, 0x29, 0x00, 0xda, + 0x00, 0x21, 0x2a, 0x40, 0x51, 0x18, 0x19, 0x54, + 0x01, 0x30, 0x0e, 0x28, 0xee, 0xdb, 0x30, 0xbd, + 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, 0xc0, 0x58, + 0x01, 0x00, 0x3c, 0x00, 0x78, 0x2e, 0x04, 0x00, + 0xb0, 0xb5, 0x0d, 0x1c, 0x00, 0x28, 0x08, 0xd0, + 0x01, 0x24, 0x14, 0x80, 0x05, 0x20, 0xcc, 0xf7, + 0xb5, 0xf8, 0x80, 0x03, 0xc0, 0x0f, 0x28, 0x70, + 0x07, 0xe0, 0x28, 0x78, 0x01, 0x22, 0x41, 0x04, + 0x52, 0x04, 0x05, 0x20, 0xd0, 0xf7, 0xae, 0xfd, + 0x01, 0x24, 0x20, 0x1c, 0xb0, 0xbd, 0x00, 0x00, + 0x98, 0xb5, 0x05, 0x4c, 0x60, 0x68, 0xcc, 0xf7, + 0xf5, 0xfd, 0x00, 0x90, 0x3c, 0x00, 0xb4, 0x2e, + 0x04, 0x00, 0x00, 0xab, 0x18, 0x88, 0xe0, 0x80, + 0xce, 0xf7, 0xfb, 0xff, 0x98, 0xbd, 0xa0, 0x58, + 0x01, 0x00, 0x38, 0xb5, 0x03, 0x1c, 0x08, 0x1c, + 0x00, 0x24, 0x00, 0x2b, 0x17, 0x4d, 0x07, 0xd0, + 0x0e, 0x21, 0x11, 0x80, 0x0a, 0x1c, 0x01, 0x24, + 0x29, 0x1c, 0xbd, 0xf7, 0x0c, 0xfb, 0x22, 0xe0, + 0x11, 0x88, 0x04, 0x29, 0x17, 0xd1, 0x01, 0x1c, + 0x68, 0x46, 0x12, 0x88, 0xbd, 0xf7, 0x3c, 0x00, + 0xf0, 0x2e, 0x04, 0x00, 0x03, 0xfb, 0x00, 0x98, + 0x00, 0x28, 0x01, 0xdb, 0x32, 0x30, 0x00, 0xe0, + 0x32, 0x38, 0x00, 0x90, 0x01, 0x1c, 0x64, 0x20, + 0xbd, 0xf7, 0x98, 0xfb, 0x01, 0x06, 0x09, 0x16, + 0x00, 0x90, 0x0e, 0x22, 0x28, 0x1c, 0xbd, 0xf7, + 0x85, 0xfb, 0x06, 0xe0, 0x0e, 0x29, 0x05, 0xd1, + 0x0a, 0x1c, 0x01, 0x1c, 0x28, 0x1c, 0xbd, 0xf7, + 0xe9, 0xfa, 0x01, 0x24, 0x20, 0x1c, 0x38, 0xbd, + 0x3c, 0x00, 0x2c, 0x2f, 0x04, 0x00, 0xda, 0x59, + 0x01, 0x00, 0x38, 0xb5, 0x03, 0x1c, 0x08, 0x1c, + 0x00, 0x24, 0x00, 0x2b, 0x17, 0x4d, 0x07, 0xd0, + 0x0e, 0x21, 0x11, 0x80, 0x0a, 0x1c, 0x01, 0x24, + 0x29, 0x1c, 0xbd, 0xf7, 0xd6, 0xfa, 0x22, 0xe0, + 0x11, 0x88, 0x04, 0x29, 0x17, 0xd1, 0x01, 0x1c, + 0x68, 0x46, 0x12, 0x88, 0xbd, 0xf7, 0xcd, 0xfa, + 0x00, 0x98, 0x00, 0x28, 0x01, 0xdb, 0x32, 0x30, + 0x00, 0xe0, 0x3c, 0x00, 0x68, 0x2f, 0x04, 0x00, + 0x32, 0x38, 0x00, 0x90, 0x01, 0x1c, 0x64, 0x20, + 0xbd, 0xf7, 0x62, 0xfb, 0x01, 0x06, 0x09, 0x16, + 0x00, 0x90, 0x0e, 0x22, 0x28, 0x1c, 0xbd, 0xf7, + 0x4f, 0xfb, 0x06, 0xe0, 0x0e, 0x29, 0x05, 0xd1, + 0x0a, 0x1c, 0x01, 0x1c, 0x28, 0x1c, 0xbd, 0xf7, + 0xb3, 0xfa, 0x01, 0x24, 0x20, 0x1c, 0x38, 0xbd, + 0xcc, 0x59, 0x01, 0x00, 0x03, 0x48, 0x80, 0xb5, + 0x01, 0x78, 0x00, 0x20, 0x3c, 0x00, 0xa4, 0x2f, + 0x04, 0x00, 0xcc, 0xf7, 0xb4, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0xa6, 0x58, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x02, 0x49, 0x03, 0x20, 0x08, 0x70, + 0x00, 0x20, 0x48, 0x70, 0x70, 0x47, 0x9c, 0x73, + 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, 0x11, 0x20, + 0x02, 0x4a, 0xd0, 0xf7, 0xbc, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0xa1, 0xfe, 0x00, 0x00, 0xf0, 0xb5, + 0x0b, 0x4f, 0x1c, 0x1c, 0x00, 0x23, 0x3c, 0x00, + 0xe0, 0x2f, 0x04, 0x00, 0xfd, 0x56, 0x2b, 0x1c, + 0x06, 0x2d, 0x01, 0xd1, 0x01, 0x20, 0xf0, 0xbd, + 0x06, 0x4e, 0x05, 0x1c, 0xd8, 0x00, 0x34, 0x36, + 0x35, 0x54, 0x80, 0x19, 0x41, 0x70, 0x82, 0x70, + 0x44, 0x60, 0x58, 0x1c, 0x38, 0x70, 0x00, 0x20, + 0xf0, 0xbd, 0x00, 0x00, 0x98, 0x5a, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x0c, 0x48, 0x00, 0xf0, + 0x21, 0xf9, 0x60, 0x78, 0xff, 0x28, 0x04, 0xd0, + 0x3c, 0x00, 0x1c, 0x30, 0x04, 0x00, 0x01, 0x23, + 0xe0, 0x56, 0x06, 0x21, 0x00, 0xf0, 0xcd, 0xf8, + 0x08, 0x4a, 0x01, 0x21, 0x10, 0x78, 0x08, 0x43, + 0x07, 0x49, 0x08, 0x70, 0x20, 0x23, 0x18, 0x43, + 0x08, 0x70, 0x80, 0x23, 0x18, 0x43, 0x10, 0x70, + 0x08, 0x70, 0x10, 0xbd, 0x00, 0x00, 0x91, 0x9b, + 0x00, 0x00, 0xe0, 0x60, 0x01, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x10, 0xb5, 0x0a, 0x49, 0x04, 0x1c, + 0x08, 0x78, 0x3c, 0x00, 0x58, 0x30, 0x04, 0x00, + 0x40, 0x08, 0x40, 0x00, 0x08, 0x70, 0x08, 0x49, + 0x08, 0x70, 0x08, 0x48, 0x00, 0xf0, 0xf8, 0xf8, + 0x60, 0x78, 0xff, 0x28, 0x04, 0xd0, 0x01, 0x23, + 0xe0, 0x56, 0x05, 0x21, 0x00, 0xf0, 0xa4, 0xf8, + 0x10, 0xbd, 0x00, 0x00, 0xe0, 0x60, 0x01, 0x00, + 0x04, 0x00, 0x07, 0x00, 0x91, 0x9b, 0x00, 0x00, + 0x03, 0x48, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x0e, 0xc0, 0x08, 0xc0, 0x3c, 0x00, 0x94, 0x30, + 0x04, 0x00, 0x70, 0x47, 0x00, 0x00, 0xe8, 0x60, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x10, 0xb5, + 0x07, 0x4c, 0x00, 0x20, 0x60, 0x60, 0x20, 0x80, + 0xe0, 0x60, 0x02, 0x21, 0x14, 0x20, 0x04, 0x4a, + 0xd0, 0xf7, 0x49, 0xfb, 0x02, 0x48, 0x10, 0x30, + 0xa0, 0x60, 0x10, 0xbd, 0x00, 0x00, 0x58, 0x75, + 0x01, 0x00, 0x05, 0x1d, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x10, 0xb5, 0x48, 0x21, 0x3c, 0x00, + 0xd0, 0x30, 0x04, 0x00, 0x0a, 0x48, 0xbd, 0xf7, + 0xe3, 0xf9, 0x09, 0x4c, 0xe0, 0x21, 0x48, 0x34, + 0x20, 0x1c, 0xbd, 0xf7, 0xdd, 0xf9, 0x00, 0x20, + 0xc1, 0x00, 0x09, 0x19, 0x0a, 0x1c, 0x08, 0x32, + 0x01, 0x30, 0x1b, 0x28, 0x4a, 0x60, 0xf7, 0xd3, + 0x01, 0x48, 0x04, 0x38, 0x04, 0x60, 0x10, 0xbd, + 0x68, 0x5b, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x23, 0x20, 0x02, 0x4a, 0xd0, 0xf7, 0x1e, 0xfb, + 0x3c, 0x00, 0x0c, 0x31, 0x04, 0x00, 0x80, 0xbd, + 0x00, 0x00, 0x45, 0x23, 0x01, 0x00, 0x80, 0xb5, + 0xff, 0xf7, 0x6b, 0xf8, 0x80, 0xbd, 0x70, 0x47, + 0x00, 0x00, 0xf8, 0xb5, 0x01, 0x20, 0x1d, 0x49, + 0xc0, 0x07, 0x48, 0x60, 0x1d, 0x49, 0xff, 0x20, + 0x08, 0x73, 0x1c, 0x4e, 0x10, 0x20, 0x30, 0x60, + 0x05, 0x01, 0x35, 0x60, 0x1b, 0x4c, 0x80, 0x21, + 0x20, 0x1c, 0xbd, 0xf7, 0xac, 0xf9, 0x00, 0x21, + 0x19, 0x4a, 0x3c, 0x00, 0x48, 0x31, 0x04, 0x00, + 0x15, 0x4f, 0x00, 0x20, 0x0b, 0x01, 0x1b, 0x19, + 0x5a, 0x60, 0xcb, 0x00, 0xdb, 0x19, 0x18, 0x74, + 0x01, 0x31, 0x08, 0x29, 0xf6, 0xdb, 0x0f, 0x4c, + 0xfa, 0x21, 0x21, 0x80, 0x12, 0x49, 0x61, 0x80, + 0xa0, 0x60, 0x6a, 0x46, 0x11, 0x49, 0x04, 0x20, + 0xbd, 0xf7, 0x30, 0xff, 0x6a, 0x46, 0x10, 0x49, + 0x08, 0x20, 0xbd, 0xf7, 0x2b, 0xff, 0x10, 0x20, + 0x70, 0x60, 0x75, 0x60, 0x3c, 0x00, 0x84, 0x31, + 0x04, 0x00, 0x60, 0x68, 0x02, 0x21, 0x08, 0x43, + 0x60, 0x60, 0x0b, 0x49, 0x06, 0x4a, 0x08, 0x1c, + 0x10, 0x30, 0x08, 0x3a, 0x03, 0xc2, 0xf8, 0xbd, + 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x60, + 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, 0xac, 0x73, + 0x01, 0x00, 0xd1, 0x75, 0x00, 0x00, 0x20, 0x4e, + 0x00, 0x00, 0x05, 0x2c, 0x01, 0x00, 0x11, 0x2c, + 0x01, 0x00, 0x00, 0xa0, 0x07, 0x00, 0x3c, 0x00, + 0xc0, 0x31, 0x04, 0x00, 0x70, 0xb5, 0x0e, 0x1c, + 0x00, 0x24, 0xc4, 0xf7, 0x5b, 0xfe, 0x00, 0x28, + 0x3b, 0xd0, 0x45, 0x68, 0xff, 0x2d, 0x38, 0xd0, + 0x0c, 0x2e, 0x28, 0xd2, 0x01, 0xa3, 0x9b, 0x5d, + 0x5b, 0x00, 0x9f, 0x44, 0x05, 0x07, 0x09, 0x0b, + 0x0d, 0x10, 0x13, 0x16, 0x18, 0x1b, 0x1e, 0x21, + 0x18, 0x24, 0x20, 0xe0, 0x30, 0x24, 0x1e, 0xe0, + 0x60, 0x24, 0x1c, 0xe0, 0xc0, 0x24, 0x1a, 0xe0, + 0x3c, 0x00, 0xfc, 0x31, 0x04, 0x00, 0xff, 0x24, + 0x81, 0x34, 0x17, 0xe0, 0x09, 0x24, 0xa4, 0x01, + 0x14, 0xe0, 0x09, 0x24, 0xe4, 0x01, 0x11, 0xe0, + 0x0f, 0x4c, 0x0f, 0xe0, 0x09, 0x24, 0x24, 0x02, + 0x0c, 0xe0, 0x09, 0x24, 0x64, 0x02, 0x09, 0xe0, + 0x03, 0x24, 0xe4, 0x02, 0x06, 0xe0, 0x09, 0x24, + 0xa4, 0x02, 0x03, 0xe0, 0x09, 0x21, 0x9e, 0x20, + 0xbe, 0xf7, 0x39, 0xf8, 0x60, 0x00, 0x00, 0x19, + 0x40, 0x08, 0x3c, 0x00, 0x38, 0x32, 0x04, 0x00, + 0x05, 0x49, 0x80, 0x04, 0x40, 0x18, 0x05, 0x4a, + 0xa9, 0x00, 0x89, 0x18, 0x48, 0x60, 0x64, 0x20, + 0x60, 0x43, 0x70, 0xbd, 0xdc, 0x07, 0x00, 0x00, + 0x80, 0x38, 0x01, 0x00, 0x04, 0x00, 0x07, 0x00, + 0x02, 0x49, 0x80, 0xb5, 0x08, 0x60, 0xd0, 0xf7, + 0x97, 0xf8, 0x80, 0xbd, 0x5c, 0x5b, 0x01, 0x00, + 0xf8, 0xb5, 0x00, 0x26, 0x17, 0x4c, 0x17, 0x4b, + 0x19, 0x49, 0x26, 0x70, 0x3c, 0x00, 0x74, 0x32, + 0x04, 0x00, 0x00, 0x20, 0x14, 0x33, 0x0d, 0x88, + 0x15, 0x4e, 0x15, 0x4a, 0x04, 0xe0, 0xc1, 0x00, + 0xcf, 0x18, 0x7a, 0x60, 0x5e, 0x50, 0x01, 0x30, + 0xa8, 0x42, 0xf8, 0xdb, 0xc6, 0xf7, 0x2b, 0xfd, + 0xff, 0x21, 0x11, 0x4d, 0xa5, 0x31, 0x28, 0x1c, + 0xbd, 0xf7, 0xff, 0xf8, 0x00, 0x21, 0x28, 0x1c, + 0x02, 0x1c, 0x14, 0x32, 0xc2, 0x60, 0x10, 0x1c, + 0x01, 0x31, 0x14, 0x29, 0xf8, 0xdb, 0x3c, 0x00, + 0xb0, 0x32, 0x04, 0x00, 0x00, 0x26, 0xc6, 0x60, + 0x05, 0x48, 0x0c, 0x30, 0x60, 0xc0, 0x09, 0x48, + 0x18, 0x21, 0xbd, 0xf7, 0xed, 0xf8, 0x01, 0x20, + 0x04, 0x34, 0x41, 0xc4, 0x00, 0x20, 0xf8, 0xbd, + 0x70, 0x5d, 0x01, 0x00, 0x09, 0xa0, 0x00, 0x00, + 0x30, 0xd9, 0x01, 0x00, 0x56, 0x57, 0x01, 0x00, + 0x04, 0x5f, 0x01, 0x00, 0xa8, 0x60, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x20, 0xcf, 0xf7, 0xb6, 0xfc, + 0x3c, 0x00, 0xec, 0x32, 0x04, 0x00, 0x01, 0x49, + 0x08, 0x80, 0x80, 0xbd, 0x00, 0x00, 0x2c, 0x74, + 0x01, 0x00, 0x11, 0x48, 0xf8, 0xb5, 0x41, 0x79, + 0x00, 0x29, 0x02, 0xd1, 0x05, 0x78, 0x0f, 0x4e, + 0x01, 0xe0, 0x45, 0x78, 0x0f, 0x4e, 0x02, 0x23, + 0xf7, 0x5e, 0x00, 0x24, 0x60, 0x1b, 0x78, 0x43, + 0x64, 0x23, 0x0c, 0x49, 0x58, 0x43, 0x41, 0x18, + 0x7d, 0x20, 0xc0, 0x00, 0xbd, 0xf7, 0xf5, 0xf9, + 0x61, 0x00, 0x3c, 0x00, 0x28, 0x33, 0x04, 0x00, + 0x09, 0x4a, 0xac, 0x42, 0x50, 0x52, 0x01, 0xd1, + 0x00, 0x23, 0xf7, 0x5e, 0x01, 0x34, 0x24, 0x06, + 0x24, 0x0e, 0x10, 0x2c, 0xe9, 0xd3, 0xf8, 0xbd, + 0x0c, 0x5a, 0x01, 0x00, 0xfe, 0x59, 0x01, 0x00, + 0xfa, 0x59, 0x01, 0x00, 0x34, 0x44, 0x0f, 0x00, + 0x32, 0x5a, 0x01, 0x00, 0x38, 0xb5, 0x10, 0x4c, + 0xbe, 0x25, 0x25, 0x73, 0x20, 0x7a, 0x18, 0x21, + 0x88, 0x43, 0x20, 0x72, 0x3c, 0x00, 0x64, 0x33, + 0x04, 0x00, 0x6a, 0x46, 0x0d, 0x49, 0x0d, 0x20, + 0xbd, 0xf7, 0x33, 0xfe, 0x01, 0x20, 0x0b, 0x49, + 0x40, 0x03, 0x08, 0x60, 0x48, 0x60, 0x25, 0x73, + 0x2d, 0x20, 0xc0, 0x03, 0x20, 0x60, 0x25, 0x73, + 0x20, 0x7a, 0x10, 0x21, 0x08, 0x43, 0x20, 0x72, + 0x06, 0x48, 0x06, 0x49, 0x08, 0x60, 0x00, 0x20, + 0x48, 0x60, 0x38, 0xbd, 0x00, 0x00, 0x00, 0x03, + 0x07, 0x00, 0x8d, 0x3e, 0x01, 0x00, 0x24, 0x00, + 0xa0, 0x33, 0x04, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x00, 0x87, 0x93, 0x03, 0x04, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x15, 0x20, 0x02, 0x4a, + 0xd0, 0xf7, 0xc8, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0x0d, 0x3e, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x60, 0x04, 0x00, 0x44, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x40, 0x20, 0x07, 0x00, + 0xff, 0xff, 0xff, 0xff, +}; +const uint32_t fw_len = sizeof(fw_buf) / sizeof(fw_buf[0]); diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_os.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_os.h new file mode 100644 index 0000000..1a3b75f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_os.h @@ -0,0 +1,35 @@ +#ifndef WL_OS_H +#define WL_OS_H + +#include <stdarg.h> +#include <stdlib.h> + +void *owl_os_alloc(size_t size); +void *owl_os_realloc(void *ptr, size_t size); +void owl_os_free(void *p); +void *owl_os_memcpy(void *dst, const void *src, size_t n); +void *owl_os_memset(void *s, int c, size_t n); +void *owl_os_memmove(void *dst, const void *src, size_t n); +size_t owl_os_strlen(char *s); +char *owl_os_strncpy(char *dst, const char *src, size_t n); +int owl_os_strncmp(const char *s1, const char *s2, size_t n); +int owl_os_strcmp(const char *s1, const char *s2); +char *owl_os_strcpy(char *dst, const char *src); +char *owl_os_strdup(const char *s); +char *owl_os_strndup(const char *s, size_t n); +int owl_os_memcmp(const void *s1, const void *s2, size_t n); +long int owl_os_strtol(const char *nptr, char **endptr, int base); +char *owl_os_strchr(const char *s, int c); +char *owl_os_strrchr(const char *s, int c); +int owl_os_strcasecmp(const char *s1, const char *s2); +char *owl_os_strstr(const char *haystack, const char *needle); + +int owl_os_snprintf(char *str, size_t size, const char *format, ...) + __attribute__((format(printf, 3, 4))); + +int owl_os_vprintf(const char *format, va_list arg); /* debug only */ +int owl_os_printf(const char *format, ...) /* debug only */ + __attribute__((format(printf, 1, 2))); + +#endif /* WL_OS_H */ + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_sdio.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_sdio.h new file mode 100644 index 0000000..ee08fad --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_sdio.h @@ -0,0 +1,172 @@ +/*! + * \file wl_sdio.h + * \brief SDIO interface for wl_api. + * Copyright (C) 2010 HD Wireless AB + * + * You should have received a copy of the license along with this library. + */ + +#ifndef WL_SDIO_H +#define WL_SDIO_H + +/** \defgroup wl_sdio SDIO Interface + * + * These functions implement the interface that the wl_api library + * needs to work with a SDIO transport layer. + * + * The functions prototyped here must be implemented when porting the + * wl_api library to a new platform with a different SDIO configuration + * + * On platforms supported by H&D Wireless these functions are + * implemented in the file avr32_sdio.c + * + * @{ + */ + +/** + * Maximum transfer size. This will set an upper limit on the len parameter + * passed to owl_sdio_tx() and owl_sdio_rx(). + * + */ +#define MAX_BLOCK_LEN 512 + + +/** + * This flag might be set when owl_sdio_cmd() is called in case the cmd will + * be followed by a data transfer. If the flag is set, the transfer direction is + * from the device to the host (read). Otherwise, the transfer direction is + * from the host to the device (write). + * + */ + #define CMD_FLAG_TO_HOST (1 << 0) + + +/** + * Indicates that the sdio driver needs to be polled in order to make + * forward progress, i.e. it does not support interrupts + * + * The actual polling will result in owl_sdio_cmd() being called to + * request status information from the device. + * + * To activate polling, this flag should be set in owl_sdio_init(). + */ +#define SDIO_FLAG_POLL (1 << 0) + +/** + * Indicates that the sdio driver only supports 1-bit mode. + * + * To set 1-bit mode, this flag should be set in owl_sdio_init(). + */ +#define SDIO_FLAG_1BIT_MODE (1 << 1) + +/** + * This function will be invoked when wlan initialization should be performed, + * this happens when the wl_fw_download() function in the transport group of + * wl_api is invoked. + * + * The wifi device supports sdio high speed mode and clock frequencies up to + * 50 MHz. + * + * The function is responsible for doing any necessary sdio initialization such + * as allocating gpio's, setting up the mci master, one time allocations of + * dma buffers etc. + * + * @param flags is an out parameter that should hold any sdio flags upon return. + * The avaible flags are prefixed with SDIO_FLAG_ + * + * + */ +void owl_sdio_init(uint8_t *flags); + + + +/** + * This function will be invoked when an sdio cmd should be sent to the + * device. + * + * @param idx is the sdio command number + * @param arg is the sdio command argument + * @param flags specifies other options, such as any transfer direction. + * @param rsp should hold the command response upon return. If null, the + * response can be ignored. + * @param data holds a pointer to any data that might follow the command. This + * allows the sdio driver to setup dma transfers while waiting for the + * command response. NULL if no data transfer will follow. Note that + * the same data pointer will be passed to owl_sdio_tx(), which should + * start the actual transfer. + * @param len is the length of the data buffer. + * + */ +void owl_sdio_cmd(uint8_t idx, uint32_t arg, uint8_t flags, uint32_t *rsp, + const uint8_t *data, uint16_t len); + + +/** + * This function will be invoked when data should be transmitted to the device. + * + * If wl_fw_downlad() was called with the size_align parameter set to non-zero, + * the pad parameter should be used. If the pad parameter is not 0, additional + * data must be transmitted after the data buffer has be sent. Depending on + * how the data buffer was first allocated (probably by an TCP/IP stack), it + * might be safe or unsafe to continue reading beyond the data buffer to + * transmit the additional padding bytes. + * + * @param data holds a pointer to the data to transmit, the pointer is the + * same as the one passed to wl_tx(). + * @param len is the number of bytes that should be transmitted, including + * padding. + * @param pad is the number of padding bytes to send. + * + */ +void owl_sdio_tx(const uint8_t *data, uint16_t len, uint8_t pad); + + +/** + * This function will be invoked when data should be received from the device. + * + * @param data should hold the read data upon return. + * @param len is the number of bytes to read. + * + */ +void owl_sdio_rx(uint8_t *data, uint16_t len); + + +/** + * Invoked when sdio rx interrupts from the device should be enabled or + * disabled. + * + * If SDIO_FLAG_POLL was set in wl_spi_init(), then this function can be + * left empty. + * + * @param enable specifies if interrupts should be enabled or disabled. + * + */ +void owl_sdio_irq(uint8_t enable); + + +/** + * Delay executiom for the specified number of ms. This function will be called + * with delays in the 10-20 ms range during fw download and startup of the + * Wi-Fi device. This function can be implemented with a simple for-loop if + * desired (beware of optimization). The timing does not have to be accurate as + * long as the actual delay becomes at least the specified number of ms. + * + * @param ms is the minimal amount of time to wait [ms]. + * + */ +void owl_sdio_mdelay(uint32_t ms); + + +/** + * This function should be called whenever an interrupt is detected. It can + * be called from an interrupt context. + * + * If SDIO_FLAG_POLL was set in owl_sdio_init(), then wl_sdio_irq() + * should never be called. + * + */ +extern void wl_sdio_irq(void); + +/*! @} */ + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_spi.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_spi.h new file mode 100644 index 0000000..5d91374 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_spi.h @@ -0,0 +1,185 @@ +/*! + * \file wl_spi.h + * \brief SPI interface for wl_api. + * Copyright (C) 2010 HD Wireless AB + * + * You should have received a copy of the license along with this library. + */ + +#ifndef WL_SPI_H +#define WL_SPI_H + +#ifndef WITHOUT_STDINT +#include <stdint.h> +#endif + +/** \defgroup wl_spi SPI Interface + * + * These functions implement the interface that the wl_api library + * needs to work with a SPI transport layer. + * + * The functions prototyped here must be implemented when porting the + * wl_api library to a new platform with a different SPI configuration + * + * On platforms supported by H&D Wireless these functions are + * implemented in the file avr32_spi.c + * + * @{ + */ + +/** + * Maximum transfer size. This will set an upper limit on the len parameter + * passed to owl_spi_txrx(). + * + * + */ +#define MAX_BLOCK_LEN 512 + + +/** + * Indicates that the spi driver needs to be polled in order to make + * forward progress, i.e. it does not support interrupts through SD pin 8. + * + * The actual polling will result in owl_spi_txrx() being call to + * request status information from the device. + * + * To activate polling, this flag should be set in owl_spi_init(). + * + * See wl_poll() and wl_register_rx_isr() for more information regarding + * polled and interrupt modes. + * + */ +#define SPI_FLAG_POLL (1 << 0) + + +/** + * This function will be invoked when wlan device initialization should be + * performed, this happens when the wl_fw_download() function in the transport + * group of wl_api is invoked. + * + * The wifi device requires spi mode 3, i.e. clock polarity high and sample + * on second phase. This corresponds to CPOL=1, CPHA=1. Maximum frequency on + * spi clock is 30 MHz. + * + * The function is also responsible for doing any necessary spi initialization + * such as allocating gpio's, setting up the SPI master, one time allocations of + * dma buffers etc. + * + * + * If the SPB105 device is used, two signals; POWER (pin 10 on SPB105) and + * SHUTDOWN (pin 4 on SPB105) might be connected to gpio's on the host. + * The GPIO_POWER_PIN is the main power supply to the device. The + * GPIO_SHUTDOWN_PIN (active low) should be defined as an input. + * + * After GPIO_POWER_PIN is pulled high by the host, the device will pull the + * GPIO_SHUTDOWN_PIN high once the device is properly powered. + * + * However, if pin 4 (GPIO_SHUTDOWN_PIN) is not connected to the host, a delay + * of up to 250 ms must be added after GPIO_POWER_PIN is pulled high to ensure + * that startup is completed. The actual time is usually much shorter, therefore + * one might try to reduce the delay for a particualar hardware design. + * + * On SPB104, the GPIO_POWER_PIN will be connected to VCC and GPIO_SHUTDOWN_PIN + * will be unconnected; hence we have to make sure that we have enough delay + * after powering on the host. Since the device power-on usually happens at the + * same time as the host power-on, the startup time of the host can be + * subtracted from any delay put into owl_spi_init(). + * + * @param flags is an out parameter that should hold any spi flags upon return. + * The avaible flags are prefixed with SPI_FLAG_ + * + * @return 0 on success + * -1 if any error occurs + * + */ +int owl_spi_init(uint8_t *flags); + + +/** + * Invoked when a spi transfer should be performed. + * + * All buffers that are allocated by the wl library will have a size that is + * aligned to 4. If size-unaligned data is passed to this function, it is + * always allocated by the ip stack. If 4-byte size alignment (e.g. for DMA) + * is required, 1-3 extra padding bytes can be transmitted after the in buffer. + * These bytes must be 0xff. + * + * Since size-unaligned data always comes from the ip stack, the out ptr is + * always NULL for such data. + * + * @param in points a buffer which holds the data to be transmitted. If NULL, + * then \a len bytes with the value 0xff should be transmitted on the + * bus. + * @param out points a buffer should hold the data received from the device. If + * NULL, any received data can be discarded. + * @param len is the length of the in and out buffers. + * + */ +void owl_spi_txrx(const uint8_t *in, uint8_t* out, uint16_t len); + + +/** + * Invoked when spi rx interrupts from the device should be enabled or disabled. + * Note that the spi interrupts are obtained from pin 8 on SPB104 or pin 3 from + * SPB105. This pin can be be connected to a gpio on the host. The irq line + * will signal an interrupt on both edges. + * + * In general, the wifi device will not issue a new interrupt unless the + * last interrupt has been handled. Also, during normal operation (i.e after + * the complete callback registered in wl_init() has been invoked), + * owl_spi_irq() will never be invoked so interrupts will be enabled all + * the time. For the SPI-mode, the purpose of owl_spi_irq() is basically to + * make sure that the first interrupt (coming after the reset performed in + * owl_spi_init()) is ignored. + * + * If SPI_FLAG_POLL was set in owl_spi_init(), then this function can be + * left empty and the wifi device will be used in polled mode. In polled mode, + * the interrupt line is not used. Regardless of polled or interrupt-mode, + * wl_poll() must be called to ensure progress of the driver. + * + * @param enable specifies if interrupts should be enabled or disabled. + * + */ +void owl_spi_irq(uint8_t enable); + + +/** + * Invoked when the spi cs for the wifi device should be enabled. Note that + * multiple calls to owl_spi_txrx() might be done during a 'single' chip + * select. + * + * @param enable specifies whether chip select should be asserted or deasserted, + * The chip select signal is active low, so if enable is '1' then the + * chip select connected to the wifi device should be set to '0'. + * + */ +void owl_spi_cs(uint8_t enable); + + +/** + * Delay executiom for the specified number of ms. This function will be called + * with delays in the 10-20 ms range during fw download and startup of the + * Wi-Fi device. This function can be implemented with a simple for-loop if + * desired (beware of optimization). The timing does not have to be accurate as + * long as the actual delay becomes at least the specified number of ms. + * + * @param ms is the minimal amount of time to wait [ms]. + * + */ +void owl_spi_mdelay(uint32_t ms); + + +/** + * This function should be called whenever an interrupt is detected. It can + * be called from an interrupt context. + * + * If SPI_FLAG_POLL was set in owl_spi_init(), then wl_spi_irq() + * should never be called. + * + */ +extern void wl_spi_irq(void); + + +/*! @} */ + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wlap_api.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wlap_api.h new file mode 100644 index 0000000..9a4483a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wlap_api.h @@ -0,0 +1,154 @@ +/* + * Programming interface for wlap_api. + * Copyright (C) 2011 HD Wireless AB + * + * You should have received a copy of the license along with this library. + */ + +/*! \file wlap_api.h ************************************************************* + * + * \brief WiFi AP API + * + * This file provides the wlap_api interface. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: + * \li SPB104 + EVK1100 + * \li SPB104 + EVK1101 + * \li SPB104 + EVK1104 + * \li SPB104 + EVK1105 (SPI) + * \li SPB104 + EVK1105 (SPI + irq) + * \li SPB105 + EVK1105 (SPI) + * - AppNote: + * + * \author H&D Wireless AB: \n + * + ***************************************************************************** + * + * \section intro Introduction + * This is the documentation for the WiFi AP Driver API \a wlap_api. + * + * \section files Main Files + * - wlap_api.h : WiFi driver interface. + * - libwlap_api_*.*.a - Driver library. + * + */ + +#ifndef WLAP_API_H +#define WLAP_API_H + +#define WLAP_API_RELEASE_NAME "unknown" + +#include <wl_api.h> + +/** \defgroup wl_softap Access Point Mode + * + * \brief Support the WiFi Access Point mode. + * + * @{ + */ +/* + * Station representation + * + */ +struct wl_sta_t +{ + struct wl_mac_addr_t bssid; /**< The BSSID of the network. */ + uint8_t queued_pkt_cnt; /**< Number of queueud packets for + this STA. */ + uint8_t in_ps; /**< Is the STA in power save mode. */ + uint8_t aid; /**< STA AID */ +}; + +/* Station list representation. Array of pointers to wl_sta_t entries. */ +struct wl_sta_list_t +{ + struct wl_sta_t **sta; /**< The list of pointers to stations */ + size_t cnt; /**< Number of stations */ +}; + +/*! \brief Get the list of currently associated stations (SoftAP). + * + * Retrieves the list of current stations from + * the driver. + * + * This function is not thread safe. It must be called in the + * same execution context as wl_poll(). + * + * @param network_list Output buffer. The API call returns + * a pointer to allocated memory containing the network list. + * @return + * - WL_SUCCESS + * - WL_FAILURE. + */ +wl_err_t wlap_get_sta_list(struct wl_sta_list_t **network_list); + + +/*! Callback used to read data from a TX packet. + * This function is supplied by the user of the API. + * + * @param dst Destination buffer. The data should be copied + * to this buffer. + * @param src_handle Handle to the source packet from where + * the data should be copied. This handle is the same one that + * is passed in parameter \a pkt_handle to \a wl_process_tx(). + * @param read_len Number of bytes to copy from \a src_handle + * to \a dst. + * @param offset The offset in bytes, counting from the + * beginning of the Ethernet header, from where to copy data. + * @return + * - The number of bytes copied. This number may be smaller + * than the length requested in \a read_len but it may not + * be shorter than the length of the packet counting from + * \a offset. In other words, if the caller of this function + * receives a return count that is shorter than \a read_len + * he will assume that all packet data has been read. + * - < 0 on error. + */ +typedef ssize_t (*wl_pkt_read_cb_t)(char *dst, + void *src_handle, + size_t read_len, + int offset); + +/*! \brief Register a data access function for TX packets (SoftAP). + * + * When a TX data packet has a different representation than a single + * contiguous buffer in memory then a packet read function must be + * implemented and registered with this call. Whenever the library + * needs to read packet data it will call this function to do it. + * + * This function can be ignored if the TX packet representation is + * a single contiguous buffer. This function is only needed in SoftAP + * mode. + * + * @param pkt_read_cb Read callback. + * @param ctx Context + */ +void wl_register_pkt_read_cb(wl_pkt_read_cb_t pkt_read_cb); + +/*! \brief Start a network using the SoftAP mode. + * + * This call will cause the WiFi chip to start sending beacons + * and accept associations from WiFi stations. + * + */ +wl_err_t wlap_start_ap(const char *ssid, + const size_t ssid_len, + const uint8_t channel, + const enum wl_auth_mode auth_mode, + const enum wl_enc_type enc_type); + +/*! \brief Disconnect a STA (SoftAP) + * + * @param bssid The BSSID of the station to disconnect. + * @return + * - WL_SUCCESS + * - WL_FAILURE. + */ +wl_err_t wlap_disconnect_sta(const struct wl_mac_addr_t bssid); + + +/*! @} */ /* End wl_softap group */ + + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER/cycle_counter.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER/cycle_counter.h new file mode 100644 index 0000000..d0c51df --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER/cycle_counter.h @@ -0,0 +1,309 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Cycle counter driver. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32UC devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CYCLE_COUNTER_H_ +#define _CYCLE_COUNTER_H_ + +#include "compiler.h" + + +//! Structure holding private information, automatically initialized by the +//! cpu_set_timeout() function. +typedef struct +{ + //! The cycle count at the begining of the timeout. + unsigned long delay_start_cycle; + + //! The cycle count at the end of the timeout. + unsigned long delay_end_cycle; + + //! Enable/disable the timout detection + unsigned char timer_state; + #define CPU_TIMER_STATE_STARTED 0 + #define CPU_TIMER_STATE_REACHED 1 + #define CPU_TIMER_STATE_STOPPED 2 +} t_cpu_time; + + +/*! + * \brief Convert milli-seconds into CPU cycles. + * + * \param ms: Number of millisecond. + * \param fcpu_hz: CPU frequency in Hz. + * + * \return the converted number of CPU cycles. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ U32 cpu_ms_2_cy(unsigned long ms, unsigned long fcpu_hz) +{ + return ((unsigned long long)ms * fcpu_hz + 999) / 1000; +} + + +/*! + * \brief Convert micro-seconds into CPU cycles. + * + * \param us: Number of microsecond. + * \param fcpu_hz: CPU frequency in Hz. + * + * \return the converted number of CPU cycles. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ U32 cpu_us_2_cy(unsigned long us, unsigned long fcpu_hz) +{ + return ((unsigned long long)us * fcpu_hz + 999999) / 1000000; +} + + +/*! + * \brief Convert CPU cycles into milli-seconds. + * + * \param cy: Number of CPU cycles. + * \param fcpu_hz: CPU frequency in Hz. + * + * \return the converted number of milli-second. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ U32 cpu_cy_2_ms(unsigned long cy, unsigned long fcpu_hz) +{ + return ((unsigned long long)cy * 1000 + fcpu_hz-1) / fcpu_hz; +} + + +/*! + * \brief Convert CPU cycles into micro-seconds. + * + * \param cy: Number of CPU cycles. + * \param fcpu_hz: CPU frequency in Hz. + * + * \return the converted number of micro-second. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ U32 cpu_cy_2_us(unsigned long cy, unsigned long fcpu_hz) +{ + return ((unsigned long long)cy * 1000000 + fcpu_hz-1) / fcpu_hz; +} + + +/*! + * \brief Set a timer variable. + * + * Ex: t_cpu_time timer; + * cpu_set_timeout( cpu_ms_2_cy(10, FOSC0), &timer ); // timeout in 10 ms + * if( cpu_is_timeout(&timer) ) + * cpu_stop_timeout(&timer); + * ../.. + * + * \param delay: (input) delay in CPU cycles before timeout. + * \param cpu_time: (output) internal information used by the timer API. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void cpu_set_timeout(unsigned long delay, t_cpu_time *cpu_time) +{ + cpu_time->delay_start_cycle = Get_system_register(AVR32_COUNT); + cpu_time->delay_end_cycle = cpu_time->delay_start_cycle + delay; + cpu_time->timer_state = CPU_TIMER_STATE_STARTED; +} + + +/*! + * \brief Test if a timer variable reached its timeout. + * + * Once the timeout is reached, the function will always return TRUE, + * until the cpu_stop_timeout() function is called. + * + * Ex: t_cpu_time timer; + * cpu_set_timeout( 10, FOSC0, &timer ); // timeout in 10 ms + * if( cpu_is_timeout(&timer) ) + * cpu_stop_timeout(&timer); + * ../.. + * + * \param cpu_time: (input) internal information used by the timer API. + * + * \return TRUE if timeout occured, otherwise FALSE. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ unsigned long cpu_is_timeout(t_cpu_time *cpu_time) +{ + unsigned long current_cycle_count = Get_system_register(AVR32_COUNT); + + if( cpu_time->timer_state==CPU_TIMER_STATE_STOPPED ) + return FALSE; + + // Test if the timeout as already occured. + else if (cpu_time->timer_state == CPU_TIMER_STATE_REACHED) + return TRUE; + + // If the ending cycle count of this timeout is wrapped, ... + else if (cpu_time->delay_start_cycle > cpu_time->delay_end_cycle) + { + if (current_cycle_count < cpu_time->delay_start_cycle && current_cycle_count > cpu_time->delay_end_cycle) + { + cpu_time->timer_state = CPU_TIMER_STATE_REACHED; + return TRUE; + } + return FALSE; + } + else + { + if (current_cycle_count < cpu_time->delay_start_cycle || current_cycle_count > cpu_time->delay_end_cycle) + { + cpu_time->timer_state = CPU_TIMER_STATE_REACHED; + return TRUE; + } + return FALSE; + } +} + + +/*! + * \brief Stop a timeout detection. + * + * Ex: t_cpu_time timer; + * cpu_set_timeout( 10, FOSC0, &timer ); // timeout in 10 ms + * if( cpu_is_timeout(&timer) ) + * cpu_stop_timeout(&timer); + * ../.. + * + * \param cpu_time: (input) internal information used by the timer API. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void cpu_stop_timeout(t_cpu_time *cpu_time) +{ + cpu_time->timer_state = CPU_TIMER_STATE_STOPPED; +} + + +/*! + * \brief Test if a timer is stopped. + * + * \param cpu_time: (input) internal information used by the timer API. + * + * \return TRUE if timer is stopped, otherwise FALSE. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ unsigned long cpu_is_timer_stopped(t_cpu_time *cpu_time) +{ + + if( cpu_time->timer_state==CPU_TIMER_STATE_STOPPED ) + return TRUE; + else + return FALSE; +} + + +/*! + * \brief Waits during at least the specified delay (in millisecond) before returning. + * + * \param delay: Number of millisecond to wait. + * \param fcpu_hz: CPU frequency in Hz. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void cpu_delay_ms(unsigned long delay, unsigned long fcpu_hz) +{ + t_cpu_time timer; + cpu_set_timeout( cpu_ms_2_cy(delay, fcpu_hz), &timer); + while( !cpu_is_timeout(&timer) ); +} + +/*! + * \brief Waits during at least the specified delay (in microsecond) before returning. + * + * \param delay: Number of microsecond to wait. + * \param fcpu_hz: CPU frequency in Hz. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void cpu_delay_us(unsigned long delay, unsigned long fcpu_hz) +{ + t_cpu_time timer; + cpu_set_timeout( cpu_us_2_cy(delay, fcpu_hz), &timer); + while( !cpu_is_timeout(&timer) ); +} + +/*! + * \brief Waits during at least the specified delay (in CPU cycles) before returning. + * + * \param delay: Number of CPU cycles to wait. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void cpu_delay_cy(unsigned long delay) +{ + t_cpu_time timer; + cpu_set_timeout( delay, &timer); + while( !cpu_is_timeout(&timer) ); +} + + +#define Get_sys_count() ( Get_system_register(AVR32_COUNT) ) +#define Set_sys_count(x) ( Set_system_register(AVR32_COUNT, (x)) ) +#define Get_sys_compare() ( Get_system_register(AVR32_COMPARE) ) +#define Set_sys_compare(x) ( Set_system_register(AVR32_COMPARE, (x)) ) + + +#endif // _CYCLE_COUNTER_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.c new file mode 100644 index 0000000..543fed6 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.c @@ -0,0 +1,995 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief SMC on EBI driver for AVR32 UC3. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a SMC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "preprocessor.h" +#include "gpio.h" +#include "smc.h" + +// Configure the SM Controller with SM setup and timing information for all chip select +#define SMC_CS_SETUP(ncs) { \ + U32 nwe_setup = ((NWE_SETUP * hsb_mhz_up + 999) / 1000); \ + U32 ncs_wr_setup = ((NCS_WR_SETUP * hsb_mhz_up + 999) / 1000); \ + U32 nrd_setup = ((NRD_SETUP * hsb_mhz_up + 999) / 1000); \ + U32 ncs_rd_setup = ((NCS_RD_SETUP * hsb_mhz_up + 999) / 1000); \ + U32 nwe_pulse = ((NWE_PULSE * hsb_mhz_up + 999) / 1000); \ + U32 ncs_wr_pulse = ((NCS_WR_PULSE * hsb_mhz_up + 999) / 1000); \ + U32 nrd_pulse = ((NRD_PULSE * hsb_mhz_up + 999) / 1000); \ + U32 ncs_rd_pulse = ((NCS_RD_PULSE * hsb_mhz_up + 999) / 1000); \ + U32 nwe_cycle = ((NWE_CYCLE * hsb_mhz_up + 999) / 1000); \ + U32 nrd_cycle = ((NRD_CYCLE * hsb_mhz_up + 999) / 1000); \ + \ + /* Some coherence checks... */ \ + /* Ensures CS is active during Rd or Wr */ \ + if( ncs_rd_setup + ncs_rd_pulse < nrd_setup + nrd_pulse ) \ + ncs_rd_pulse = nrd_setup + nrd_pulse - ncs_rd_setup; \ + if( ncs_wr_setup + ncs_wr_pulse < nwe_setup + nwe_pulse ) \ + ncs_wr_pulse = nwe_setup + nwe_pulse - ncs_wr_setup; \ + \ + /* ncs_hold = n_cycle - ncs_setup - ncs_pulse */ \ + /* n_hold = n_cycle - n_setup - n_pulse */ \ + /* */ \ + /* All holds parameters must be positive or null, so: */ \ + /* nwe_cycle shall be >= ncs_wr_setup + ncs_wr_pulse */ \ + if( nwe_cycle < ncs_wr_setup + ncs_wr_pulse ) \ + nwe_cycle = ncs_wr_setup + ncs_wr_pulse; \ + \ + /* nwe_cycle shall be >= nwe_setup + nwe_pulse */ \ + if( nwe_cycle < nwe_setup + nwe_pulse ) \ + nwe_cycle = nwe_setup + nwe_pulse; \ + \ + /* nrd_cycle shall be >= ncs_rd_setup + ncs_rd_pulse */ \ + if( nrd_cycle < ncs_rd_setup + ncs_rd_pulse ) \ + nrd_cycle = ncs_rd_setup + ncs_rd_pulse; \ + \ + /* nrd_cycle shall be >= nrd_setup + nrd_pulse */ \ + if( nrd_cycle < nrd_setup + nrd_pulse ) \ + nrd_cycle = nrd_setup + nrd_pulse; \ + \ + AVR32_SMC.cs[ncs].setup = (nwe_setup << AVR32_SMC_SETUP0_NWE_SETUP_OFFSET) | \ + (ncs_wr_setup << AVR32_SMC_SETUP0_NCS_WR_SETUP_OFFSET) | \ + (nrd_setup << AVR32_SMC_SETUP0_NRD_SETUP_OFFSET) | \ + (ncs_rd_setup << AVR32_SMC_SETUP0_NCS_RD_SETUP_OFFSET); \ + AVR32_SMC.cs[ncs].pulse = (nwe_pulse << AVR32_SMC_PULSE0_NWE_PULSE_OFFSET) | \ + (ncs_wr_pulse << AVR32_SMC_PULSE0_NCS_WR_PULSE_OFFSET) | \ + (nrd_pulse << AVR32_SMC_PULSE0_NRD_PULSE_OFFSET) | \ + (ncs_rd_pulse << AVR32_SMC_PULSE0_NCS_RD_PULSE_OFFSET); \ + AVR32_SMC.cs[ncs].cycle = (nwe_cycle << AVR32_SMC_CYCLE0_NWE_CYCLE_OFFSET) | \ + (nrd_cycle << AVR32_SMC_CYCLE0_NRD_CYCLE_OFFSET); \ + AVR32_SMC.cs[ncs].mode = (((NCS_CONTROLLED_READ) ? AVR32_SMC_MODE0_READ_MODE_NCS_CONTROLLED : \ + AVR32_SMC_MODE0_READ_MODE_NRD_CONTROLLED) << AVR32_SMC_MODE0_READ_MODE_OFFSET) | \ + + (((NCS_CONTROLLED_WRITE) ? AVR32_SMC_MODE0_WRITE_MODE_NCS_CONTROLLED : \ + AVR32_SMC_MODE0_WRITE_MODE_NWE_CONTROLLED) << AVR32_SMC_MODE0_WRITE_MODE_OFFSET) | \ + (NWAIT_MODE << AVR32_SMC_MODE0_EXNW_MODE_OFFSET) | \ + (((SMC_8_BIT_CHIPS) ? AVR32_SMC_MODE0_BAT_BYTE_WRITE : \ + AVR32_SMC_MODE0_BAT_BYTE_SELECT) << AVR32_SMC_MODE0_BAT_OFFSET) | \ + (((SMC_DBW <= 8 ) ? AVR32_SMC_MODE0_DBW_8_BITS : \ + (SMC_DBW <= 16) ? AVR32_SMC_MODE0_DBW_16_BITS : \ + AVR32_SMC_MODE0_DBW_32_BITS) << AVR32_SMC_MODE0_DBW_OFFSET) | \ + (TDF_CYCLES << AVR32_SMC_MODE0_TDF_CYCLES_OFFSET) | \ + (TDF_OPTIM << AVR32_SMC_MODE0_TDF_MODE_OFFSET) | \ + (PAGE_MODE << AVR32_SMC_MODE0_PMEN_OFFSET) | \ + (PAGE_SIZE << AVR32_SMC_MODE0_PS_OFFSET); \ + smc_tab_cs_size[ncs] = (U8)EXT_SM_SIZE; \ + } + +static U8 smc_tab_cs_size[6]; + +static void smc_enable_muxed_pins(void); + + +void smc_init(unsigned long hsb_hz) +{ + unsigned long hsb_mhz_up = (hsb_hz + 999999) / 1000000; + +//! Whether to use the NCS0 pin +#ifdef SMC_USE_NCS0 + #include SMC_COMPONENT_CS0 + + // Setup SMC for NCS0 + SMC_CS_SETUP(0) + + #ifdef SMC_DBW_GLOBAL + #if (SMC_DBW_GLOBAL < SMC_DBW) + #undef SMC_DBW_GLOBAL + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + #else + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + + #ifdef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS_GLOBAL < SMC_8_BIT) + #undef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + #else + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + + #ifdef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE_GLOBAL < NWAIT_MODE) + #undef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + #else + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + + #undef EXT_SM_SIZE + #undef SMC_DBW + #undef SMC_8_BIT_CHIPS + #undef NWE_SETUP + #undef NCS_WR_SETUP + #undef NRD_SETUP + #undef NCS_RD_SETUP + #undef NCS_WR_PULSE + #undef NWE_PULSE + #undef NCS_RD_PULSE + #undef NRD_PULSE + #undef NCS_WR_HOLD + #undef NWE_HOLD + #undef NWE_CYCLE + #undef NCS_RD_HOLD + #undef NRD_CYCLE + #undef TDF_CYCLES + #undef TDF_OPTIM + #undef PAGE_MODE + #undef PAGE_SIZE + #undef NCS_CONTROLLED_READ + #undef NCS_CONTROLLED_WRITE + #undef NWAIT_MODE +#endif + + +//! Whether to use the NCS1 pin +#ifdef SMC_USE_NCS1 + #include SMC_COMPONENT_CS1 + + // Enable SM mode for CS1 if necessary. + AVR32_HMATRIX.sfr[AVR32_EBI_HMATRIX_NR] &= ~(1 << AVR32_EBI_SDRAM_CS); + AVR32_HMATRIX.sfr[AVR32_EBI_HMATRIX_NR]; + + // Setup SMC for NCS1 + SMC_CS_SETUP(1) + + #ifdef SMC_DBW_GLOBAL + #if (SMC_DBW_GLOBAL < SMC_DBW) + #undef SMC_DBW_GLOBAL + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + #else + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + + #ifdef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS_GLOBAL < SMC_8_BIT) + #undef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + #else + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + + #ifdef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE_GLOBAL < NWAIT_MODE) + #undef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + #else + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + + #undef EXT_SM_SIZE + #undef SMC_DBW + #undef SMC_8_BIT_CHIPS + #undef NWE_SETUP + #undef NCS_WR_SETUP + #undef NRD_SETUP + #undef NCS_RD_SETUP + #undef NCS_WR_PULSE + #undef NWE_PULSE + #undef NCS_RD_PULSE + #undef NRD_PULSE + #undef NCS_WR_HOLD + #undef NWE_HOLD + #undef NWE_CYCLE + #undef NCS_RD_HOLD + #undef NRD_CYCLE + #undef TDF_CYCLES + #undef TDF_OPTIM + #undef PAGE_MODE + #undef PAGE_SIZE + #undef NCS_CONTROLLED_READ + #undef NCS_CONTROLLED_WRITE + #undef NWAIT_MODE +#endif + +//! Whether to use the NCS2 pin +#ifdef SMC_USE_NCS2 + #include SMC_COMPONENT_CS2 + + // Setup SMC for NCS2 + SMC_CS_SETUP(2) + + #ifdef SMC_DBW_GLOBAL + #if (SMC_DBW_GLOBAL < SMC_DBW) + #undef SMC_DBW_GLOBAL + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + #else + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + + #ifdef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS_GLOBAL < SMC_8_BIT) + #undef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + #else + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + + #ifdef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE_GLOBAL < NWAIT_MODE) + #undef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + #else + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + + + #undef EXT_SM_SIZE + #undef SMC_DBW + #undef SMC_8_BIT_CHIPS + #undef NWE_SETUP + #undef NCS_WR_SETUP + #undef NRD_SETUP + #undef NCS_RD_SETUP + #undef NCS_WR_PULSE + #undef NWE_PULSE + #undef NCS_RD_PULSE + #undef NRD_PULSE + #undef NCS_WR_HOLD + #undef NWE_HOLD + #undef NWE_CYCLE + #undef NCS_RD_HOLD + #undef NRD_CYCLE + #undef TDF_CYCLES + #undef TDF_OPTIM + #undef PAGE_MODE + #undef PAGE_SIZE + #undef NCS_CONTROLLED_READ + #undef NCS_CONTROLLED_WRITE + #undef NWAIT_MODE +#endif + +//! Whether to use the NCS3 pin +#ifdef SMC_USE_NCS3 + #include SMC_COMPONENT_CS3 + + // Setup SMC for NCS3 + SMC_CS_SETUP(3) + + #ifdef SMC_DBW_GLOBAL + #if (SMC_DBW_GLOBAL < SMC_DBW) + #undef SMC_DBW_GLOBAL + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + #else + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + + #ifdef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS_GLOBAL < SMC_8_BIT) + #undef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + #else + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + + #ifdef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE_GLOBAL < NWAIT_MODE) + #undef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + #else + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + + + #undef EXT_SM_SIZE + #undef SMC_DBW + #undef SMC_8_BIT_CHIPS + #undef NWE_SETUP + #undef NCS_WR_SETUP + #undef NRD_SETUP + #undef NCS_RD_SETUP + #undef NCS_WR_PULSE + #undef NWE_PULSE + #undef NCS_RD_PULSE + #undef NRD_PULSE + #undef NCS_WR_HOLD + #undef NWE_HOLD + #undef NWE_CYCLE + #undef NCS_RD_HOLD + #undef NRD_CYCLE + #undef TDF_CYCLES + #undef TDF_OPTIM + #undef PAGE_MODE + #undef PAGE_SIZE + #undef NCS_CONTROLLED_READ + #undef NCS_CONTROLLED_WRITE + #undef NWAIT_MODE +#endif + +//! Whether to use the NCS4 pin +#ifdef SMC_USE_NCS4 + #include SMC_COMPONENT_CS4 + + // Setup SMC for NCS4 + SMC_CS_SETUP(4) + + #ifdef SMC_DBW_GLOBAL + #if (SMC_DBW_GLOBAL < SMC_DBW) + #undef SMC_DBW_GLOBAL + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + #else + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + + #ifdef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS_GLOBAL < SMC_8_BIT) + #undef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + #else + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + + #ifdef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE_GLOBAL < NWAIT_MODE) + #undef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + #else + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + + + #undef EXT_SM_SIZE + #undef SMC_DBW + #undef SMC_8_BIT_CHIPS + #undef NWE_SETUP + #undef NCS_WR_SETUP + #undef NRD_SETUP + #undef NCS_RD_SETUP + #undef NCS_WR_PULSE + #undef NWE_PULSE + #undef NCS_RD_PULSE + #undef NRD_PULSE + #undef NCS_WR_HOLD + #undef NWE_HOLD + #undef NWE_CYCLE + #undef NCS_RD_HOLD + #undef NRD_CYCLE + #undef TDF_CYCLES + #undef TDF_OPTIM + #undef PAGE_MODE + #undef PAGE_SIZE + #undef NCS_CONTROLLED_READ + #undef NCS_CONTROLLED_WRITE + #undef NWAIT_MODE +#endif + +//! Whether to use the NCS5 pin +#ifdef SMC_USE_NCS5 + #include SMC_COMPONENT_CS5 + + // Setup SMC for NCS5 + SMC_CS_SETUP(5) + + #ifdef SMC_DBW_GLOBAL + #if (SMC_DBW_GLOBAL < SMC_DBW) + #undef SMC_DBW_GLOBAL + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + #else + #if (SMC_DBW == 8) + #define SMC_DBW_GLOBAL 8 + #elif (SMC_DBW == 16) + #define SMC_DBW_GLOBAL 16 + #elif (SMC_DBW == 32) + #define SMC_DBW_GLOBAL 32 + #else + #error error in SMC_DBW size + #endif + #endif + + #ifdef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS_GLOBAL < SMC_8_BIT) + #undef SMC_8_BIT_CHIPS_GLOBAL + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + #else + #if (SMC_8_BIT_CHIPS == TRUE) + #define SMC_8_BIT_CHIPS_GLOBAL TRUE + #elif (SMC_8_BIT_CHIPS == FALSE) + #define SMC_8_BIT_CHIPS_GLOBAL FALSE + #else + #error error in SMC_8_BIT_CHIPS size + #endif + #endif + + #ifdef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE_GLOBAL < NWAIT_MODE) + #undef NWAIT_MODE_GLOBAL + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + #else + #if (NWAIT_MODE == AVR32_SMC_EXNW_MODE_DISABLED) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_DISABLED + #elif (NWAIT_MODE == AVR32_SMC_EXNW_MODE_FROZEN) + #define NWAIT_MODE_GLOBAL AVR32_SMC_EXNW_MODE_FROZEN + #else + #error error in NWAIT_MODE size + #endif + #endif + + + #undef EXT_SM_SIZE + #undef SMC_DBW + #undef SMC_8_BIT_CHIPS + #undef NWE_SETUP + #undef NCS_WR_SETUP + #undef NRD_SETUP + #undef NCS_RD_SETUP + #undef NCS_WR_PULSE + #undef NWE_PULSE + #undef NCS_RD_PULSE + #undef NRD_PULSE + #undef NCS_WR_HOLD + #undef NWE_HOLD + #undef NWE_CYCLE + #undef NCS_RD_HOLD + #undef NRD_CYCLE + #undef TDF_CYCLES + #undef TDF_OPTIM + #undef PAGE_MODE + #undef PAGE_SIZE + #undef NCS_CONTROLLED_READ + #undef NCS_CONTROLLED_WRITE + #undef NWAIT_MODE +#endif + // Put the multiplexed MCU pins used for the SM under control of the SMC. + smc_enable_muxed_pins(); +} + +/*! \brief Puts the multiplexed MCU pins used for the SMC + * + */ +static void smc_enable_muxed_pins(void) +{ + static const gpio_map_t SMC_EBI_GPIO_MAP = + { + // Enable data pins. +#ifdef EBI_DATA_0 + {ATPASTE2(EBI_DATA_0,_PIN),ATPASTE2(EBI_DATA_0,_FUNCTION)}, +#endif +#ifdef EBI_DATA_1 + {ATPASTE2(EBI_DATA_1,_PIN),ATPASTE2(EBI_DATA_1,_FUNCTION)}, +#endif +#ifdef EBI_DATA_2 + {ATPASTE2(EBI_DATA_2,_PIN),ATPASTE2(EBI_DATA_2,_FUNCTION)}, +#endif +#ifdef EBI_DATA_3 + {ATPASTE2(EBI_DATA_3,_PIN),ATPASTE2(EBI_DATA_3,_FUNCTION)}, +#endif +#ifdef EBI_DATA_4 + {ATPASTE2(EBI_DATA_4,_PIN),ATPASTE2(EBI_DATA_4,_FUNCTION)}, +#endif +#ifdef EBI_DATA_5 + {ATPASTE2(EBI_DATA_5,_PIN),ATPASTE2(EBI_DATA_5,_FUNCTION)}, +#endif +#ifdef EBI_DATA_6 + {ATPASTE2(EBI_DATA_6,_PIN),ATPASTE2(EBI_DATA_6,_FUNCTION)}, +#endif +#ifdef EBI_DATA_7 + {ATPASTE2(EBI_DATA_7,_PIN),ATPASTE2(EBI_DATA_7,_FUNCTION)}, +#endif +#ifdef EBI_DATA_8 + {ATPASTE2(EBI_DATA_8,_PIN),ATPASTE2(EBI_DATA_8,_FUNCTION)}, +#endif +#ifdef EBI_DATA_9 + {ATPASTE2(EBI_DATA_9,_PIN),ATPASTE2(EBI_DATA_9,_FUNCTION)}, +#endif +#ifdef EBI_DATA_10 + {ATPASTE2(EBI_DATA_10,_PIN),ATPASTE2(EBI_DATA_10,_FUNCTION)}, +#endif +#ifdef EBI_DATA_11 + {ATPASTE2(EBI_DATA_11,_PIN),ATPASTE2(EBI_DATA_11,_FUNCTION)}, +#endif +#ifdef EBI_DATA_12 + {ATPASTE2(EBI_DATA_12,_PIN),ATPASTE2(EBI_DATA_12,_FUNCTION)}, +#endif +#ifdef EBI_DATA_13 + {ATPASTE2(EBI_DATA_13,_PIN),ATPASTE2(EBI_DATA_13,_FUNCTION)}, +#endif +#ifdef EBI_DATA_14 + {ATPASTE2(EBI_DATA_14,_PIN),ATPASTE2(EBI_DATA_14,_FUNCTION)}, +#endif +#ifdef EBI_DATA_15 + {ATPASTE2(EBI_DATA_15,_PIN),ATPASTE2(EBI_DATA_15,_FUNCTION)}, +#endif +#ifdef EBI_DATA_16 + {ATPASTE2(EBI_DATA_16,_PIN),ATPASTE2(EBI_DATA_16,_FUNCTION)}, +#endif +#ifdef EBI_DATA_17 + {ATPASTE2(EBI_DATA_17,_PIN),ATPASTE2(EBI_DATA_17,_FUNCTION)}, +#endif +#ifdef EBI_DATA_18 + {ATPASTE2(EBI_DATA_18,_PIN),ATPASTE2(EBI_DATA_18,_FUNCTION)}, +#endif +#ifdef EBI_DATA_19 + {ATPASTE2(EBI_DATA_19,_PIN),ATPASTE2(EBI_DATA_19,_FUNCTION)}, +#endif +#ifdef EBI_DATA_20 + {ATPASTE2(EBI_DATA_20,_PIN),ATPASTE2(EBI_DATA_20,_FUNCTION)}, +#endif +#ifdef EBI_DATA_21 + {ATPASTE2(EBI_DATA_21,_PIN),ATPASTE2(EBI_DATA_21,_FUNCTION)}, +#endif +#ifdef EBI_DATA_22 + {ATPASTE2(EBI_DATA_22,_PIN),ATPASTE2(EBI_DATA_22,_FUNCTION)}, +#endif +#ifdef EBI_DATA_23 + {ATPASTE2(EBI_DATA_23,_PIN),ATPASTE2(EBI_DATA_23,_FUNCTION)}, +#endif +#ifdef EBI_DATA_24 + {ATPASTE2(EBI_DATA_24,_PIN),ATPASTE2(EBI_DATA_24,_FUNCTION)}, +#endif +#ifdef EBI_DATA_25 + {ATPASTE2(EBI_DATA_25,_PIN),ATPASTE2(EBI_DATA_25,_FUNCTION)}, +#endif +#ifdef EBI_DATA_26 + {ATPASTE2(EBI_DATA_26,_PIN),ATPASTE2(EBI_DATA_26,_FUNCTION)}, +#endif +#ifdef EBI_DATA_27 + {ATPASTE2(EBI_DATA_27,_PIN),ATPASTE2(EBI_DATA_27,_FUNCTION)}, +#endif +#ifdef EBI_DATA_28 + {ATPASTE2(EBI_DATA_28,_PIN),ATPASTE2(EBI_DATA_28,_FUNCTION)}, +#endif +#ifdef EBI_DATA_29 + {ATPASTE2(EBI_DATA_29,_PIN),ATPASTE2(EBI_DATA_29,_FUNCTION)}, +#endif +#ifdef EBI_DATA_30 + {ATPASTE2(EBI_DATA_30,_PIN),ATPASTE2(EBI_DATA_30,_FUNCTION)}, +#endif +#ifdef EBI_DATA_31 + {ATPASTE2(EBI_DATA_31,_PIN),ATPASTE2(EBI_DATA_31,_FUNCTION)}, +#endif + + // Enable address pins. +#if SMC_DBW_GLOBAL <= 8 +#ifdef EBI_ADDR_0 + {ATPASTE2(EBI_ADDR_0,_PIN),ATPASTE2(EBI_ADDR_0,_FUNCTION)}, +#endif +#endif +#if SMC_DBW_GLOBAL <= 16 +#ifdef EBI_ADDR_1 + {ATPASTE2(EBI_ADDR_1,_PIN),ATPASTE2(EBI_ADDR_1,_FUNCTION)}, +#endif +#endif + +#ifdef EBI_ADDR_2 + {ATPASTE2(EBI_ADDR_2,_PIN),ATPASTE2(EBI_ADDR_2,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_3 + {ATPASTE2(EBI_ADDR_3,_PIN),ATPASTE2(EBI_ADDR_3,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_4 + {ATPASTE2(EBI_ADDR_4,_PIN),ATPASTE2(EBI_ADDR_4,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_5 + {ATPASTE2(EBI_ADDR_5,_PIN),ATPASTE2(EBI_ADDR_5,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_6 + {ATPASTE2(EBI_ADDR_6,_PIN),ATPASTE2(EBI_ADDR_6,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_7 + {ATPASTE2(EBI_ADDR_7,_PIN),ATPASTE2(EBI_ADDR_7,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_8 + {ATPASTE2(EBI_ADDR_8,_PIN),ATPASTE2(EBI_ADDR_8,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_9 + {ATPASTE2(EBI_ADDR_9,_PIN),ATPASTE2(EBI_ADDR_9,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_10 + {ATPASTE2(EBI_ADDR_10,_PIN),ATPASTE2(EBI_ADDR_10,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_11 + {ATPASTE2(EBI_ADDR_11,_PIN),ATPASTE2(EBI_ADDR_11,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_12 + {ATPASTE2(EBI_ADDR_12,_PIN),ATPASTE2(EBI_ADDR_12,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_13 + {ATPASTE2(EBI_ADDR_13,_PIN),ATPASTE2(EBI_ADDR_13,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_14 + {ATPASTE2(EBI_ADDR_14,_PIN),ATPASTE2(EBI_ADDR_14,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_15 + {ATPASTE2(EBI_ADDR_15,_PIN),ATPASTE2(EBI_ADDR_15,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_16 + {ATPASTE2(EBI_ADDR_16,_PIN),ATPASTE2(EBI_ADDR_16,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_17 + {ATPASTE2(EBI_ADDR_17,_PIN),ATPASTE2(EBI_ADDR_17,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_18 + {ATPASTE2(EBI_ADDR_18,_PIN),ATPASTE2(EBI_ADDR_18,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_19 + {ATPASTE2(EBI_ADDR_19,_PIN),ATPASTE2(EBI_ADDR_19,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_20 + {ATPASTE2(EBI_ADDR_20,_PIN),ATPASTE2(EBI_ADDR_20,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_21 + {ATPASTE2(EBI_ADDR_21,_PIN),ATPASTE2(EBI_ADDR_21,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_22 + {ATPASTE2(EBI_ADDR_22,_PIN),ATPASTE2(EBI_ADDR_22,_FUNCTION)}, +#endif +#ifdef EBI_ADDR_23 + {ATPASTE2(EBI_ADDR_23,_PIN),ATPASTE2(EBI_ADDR_23,_FUNCTION)}, +#endif + +#if SMC_DBW_GLOBAL <= 8 + #undef SMC_8_BIT_CHIPS + #define SMC_8_BIT_CHIPS TRUE +#endif + + // Enable data mask pins. +#if !SMC_8_BIT_CHIPS_GLOBAL +#ifdef EBI_ADDR_0 + {ATPASTE2(EBI_ADDR_0,_PIN),ATPASTE2(EBI_ADDR_0,_FUNCTION)}, +#endif +#endif +#ifdef EBI_NWE0 + {ATPASTE2(EBI_NWE0,_PIN),ATPASTE2(EBI_NWE0,_FUNCTION)}, +#endif + +#if SMC_DBW_GLOBAL >= 16 + #ifdef EBI_NWE1 + {ATPASTE2(EBI_NWE1,_PIN),ATPASTE2(EBI_NWE1,_FUNCTION)}, + #endif + #if SMC_DBW_GLOBAL >= 32 + #ifdef EBI_ADDR_1 + {ATPASTE2(EBI_ADDR_1,_PIN),ATPASTE2(EBI_ADDR_1,_FUNCTION)}, + #endif + #ifdef EBI_NWE3 + {ATPASTE2(EBI_NWE3,_PIN),ATPASTE2(EBI_NWE3,_FUNCTION)}, + #endif + #endif +#endif + #ifdef EBI_NRD + {ATPASTE2(EBI_NRD,_PIN),ATPASTE2(EBI_NRD,_FUNCTION)}, + #endif + + // Enable control pins. +#if NWAIT_MODE_GLOBAL != AVR32_SMC_EXNW_MODE_DISABLED + #ifdef EBI_NWAIT + {ATPASTE2(EBI_NWAIT,_PIN),ATPASTE2(EBI_NWAIT,_FUNCTION)}, + #endif +#endif +#ifdef SMC_USE_NCS0 + #ifdef EBI_NCS_0 + {ATPASTE2(EBI_NCS_0,_PIN),ATPASTE2(EBI_NCS_0,_FUNCTION)}, + #endif +#endif +#ifdef SMC_USE_NCS1 + #ifdef EBI_NCS_1 + {ATPASTE2(EBI_NCS_1,_PIN),ATPASTE2(EBI_NCS_1,_FUNCTION)}, + #endif +#endif +#ifdef SMC_USE_NCS2 + #ifdef EBI_NCS_2 + {ATPASTE2(EBI_NCS_2,_PIN),ATPASTE2(EBI_NCS_2,_FUNCTION)}, + #endif +#endif +#ifdef SMC_USE_NCS3 + #ifdef EBI_NCS_3 + {ATPASTE2(EBI_NCS_3,_PIN),ATPASTE2(EBI_NCS_3,_FUNCTION)}, + #endif +#endif +#ifdef SMC_USE_NCS4 + #ifdef EBI_NCS_4 + {ATPASTE2(EBI_NCS_4,_PIN),ATPASTE2(EBI_NCS_4,_FUNCTION)}, + #endif +#endif +#ifdef SMC_USE_NCS5 + #ifdef EBI_NCS_5 + {ATPASTE2(EBI_NCS_5,_PIN),ATPASTE2(EBI_NCS_5,_FUNCTION)}, + #endif +#endif + }; + + gpio_enable_module(SMC_EBI_GPIO_MAP, sizeof(SMC_EBI_GPIO_MAP) / sizeof(SMC_EBI_GPIO_MAP[0])); +} + +unsigned char smc_get_cs_size(unsigned char cs) +{ + return smc_tab_cs_size[cs]; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.h new file mode 100644 index 0000000..c3bdf43 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC/smc.h @@ -0,0 +1,68 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief SMC on EBI driver for AVR32 UC3. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a SMC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _SMC_H_ +#define _SMC_H_ + +#include <avr32/io.h> + +#include "compiler.h" +#include "conf_ebi.h" + +/*! \brief Initializes the AVR32 SMC module and the connected SRAM(s). + * \param hsb_hz HSB frequency in Hz (the HSB frequency is applied to the SMC). + * \note Each access to the SMC address space validates the mode of the SMC + * and generates an operation corresponding to this mode. + */ +extern void smc_init(unsigned long hsb_hz); + +/*! \brief Return the size of the peripheral connected . + * \param cs The chip select value + */ +extern unsigned char smc_get_cs_size(unsigned char cs); + +#endif // _SMC_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.c new file mode 100644 index 0000000..1008c94 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.c @@ -0,0 +1,183 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief EIC driver for AVR32 UC3. + * + * AVR32 External Interrupt Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an EIC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include "compiler.h" +#include "preprocessor.h" +#include "eic.h" + + + +void eic_init(volatile avr32_eic_t *eic, const eic_options_t *opt, unsigned int nb_lines) +{ + int i; + for (i = 0; i < nb_lines; i++) + { + // Set up mode level + eic->mode = (opt[i].eic_mode == 1) ? (eic->mode | (1 << opt[i].eic_line)) : (eic->mode & ~(1 << opt[i].eic_line)); + // Set up edge type + eic->edge = (opt[i].eic_edge == 1) ? (eic->edge | (1 << opt[i].eic_line)) : (eic->edge & ~(1 << opt[i].eic_line)); + // Set up level + eic->level = (opt[i].eic_level == 1) ? (eic->level | (1 << opt[i].eic_line)) : (eic->level & ~(1 << opt[i].eic_line)); + // Set up if filter is used + eic->filter = (opt[i].eic_filter == 1) ? (eic->filter | (1 << opt[i].eic_line)) : (eic->filter & ~(1 << opt[i].eic_line)); + // Set up which mode is used : asynchronous mode/ synchronous mode + eic->async = (opt[i].eic_async == 1) ? (eic->async | (1 << opt[i].eic_line)) : (eic->async & ~(1 << opt[i].eic_line)); + } +} + +void eic_enable_lines(volatile avr32_eic_t *eic, unsigned int mask_lines) +{ + eic->en = mask_lines; +} + +void eic_enable_line(volatile avr32_eic_t *eic, unsigned int line_number) +{ + // Enable line line_number + eic->en = 1 << line_number; +} + +void eic_disable_lines(volatile avr32_eic_t *eic, unsigned int mask_lines) +{ + eic->dis = mask_lines; +} + +void eic_disable_line(volatile avr32_eic_t *eic, unsigned int line_number) +{ + // Disable line line_number + eic->dis = 1 << line_number; +} + +Bool eic_is_line_enabled(volatile avr32_eic_t *eic, unsigned int line_number) +{ + return (eic->ctrl & (1 << line_number)) != 0; +} + +void eic_enable_interrupt_lines(volatile avr32_eic_t *eic, unsigned int mask_lines) +{ + eic->ier = mask_lines; +} + +void eic_enable_interrupt_line(volatile avr32_eic_t *eic, unsigned int line_number) +{ + // Enable line line_number + eic->ier = 1 << line_number; +} + +void eic_disable_interrupt_lines(volatile avr32_eic_t *eic, unsigned int mask_lines) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + eic->idr = mask_lines; + eic->imr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + +void eic_disable_interrupt_line(volatile avr32_eic_t *eic, unsigned int line_number) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + // Disable line line_number + if (global_interrupt_enabled) Disable_global_interrupt(); + eic->idr = 1 << line_number; + eic->imr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + +Bool eic_is_interrupt_line_enabled(volatile avr32_eic_t *eic, unsigned int line_number) +{ + return (eic->imr & (1 << line_number)) != 0; +} + +void eic_clear_interrupt_lines(volatile avr32_eic_t *eic, unsigned int mask_lines) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + eic->icr = mask_lines; + eic->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + +void eic_clear_interrupt_line(volatile avr32_eic_t *eic, unsigned int line_number) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + // Clear line line_number + if (global_interrupt_enabled) Disable_global_interrupt(); + eic->icr = 1 << line_number; + eic->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + +Bool eic_is_interrupt_line_pending(volatile avr32_eic_t *eic, unsigned int line_number) +{ + return (eic->isr & (1 << line_number)) != 0; +} + +#if !defined(AVR32_EIC_301_H_INCLUDED) +void eic_enable_interrupt_scan(volatile avr32_eic_t *eic,unsigned int presc) +{ + // Enable SCAN function with PRESC value + eic->scan |= (presc << AVR32_EIC_SCAN_PRESC_OFFSET) | (1 << AVR32_EIC_SCAN_EN_OFFSET); +} + +void eic_disable_interrupt_scan(volatile avr32_eic_t *eic) +{ + // Disable SCAN function + eic->scan = 0 << AVR32_EIC_SCAN_EN_OFFSET; +} + +unsigned long eic_get_interrupt_pad_scan(volatile avr32_eic_t *eic) +{ + // Return pad number that causes interrupt + return(eic->scan>>AVR32_EIC_SCAN_PIN_OFFSET); +} +#endif \ No newline at end of file diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.h new file mode 100644 index 0000000..32641b7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/EIC/eic.h @@ -0,0 +1,275 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief EIC driver for AVR32 UC3. + * + * AVR32 External Interrupt Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an EIC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _EIC_H_ +#define _EIC_H_ + +#include "compiler.h" + +/*! \name External Interrupt lines + */ +//! @{ +#if (UC3A || UC3B) +#define EXT_INT0 AVR32_EIC_INT0 //!< Line 0 +#define EXT_INT1 AVR32_EIC_INT1 //!< Line 1 +#define EXT_INT2 AVR32_EIC_INT2 //!< Line 2 +#define EXT_INT3 AVR32_EIC_INT3 //!< Line 3 +#define EXT_INT4 AVR32_EIC_INT4 //!< Line 4 +#define EXT_INT5 AVR32_EIC_INT5 //!< Line 5 +#define EXT_INT6 AVR32_EIC_INT6 //!< Line 6 +#define EXT_INT7 AVR32_EIC_INT7 //!< Line 7 +#define EXT_NMI AVR32_EIC_NMI //!< Line 8 +#else +#define EXT_INT0 AVR32_EIC_INT1 //!< Line 0 +#define EXT_INT1 AVR32_EIC_INT2 //!< Line 1 +#define EXT_INT2 AVR32_EIC_INT3 //!< Line 2 +#define EXT_INT3 AVR32_EIC_INT4 //!< Line 3 +#define EXT_INT4 AVR32_EIC_INT5 //!< Line 4 +#define EXT_INT5 AVR32_EIC_INT6 //!< Line 5 +#define EXT_INT6 AVR32_EIC_INT7 //!< Line 6 +#define EXT_INT7 AVR32_EIC_INT8 //!< Line 7 +#define EXT_NMI AVR32_EIC_NMI //!< Line 8 + +#endif + +//! @} + +/*! \name Mode Trigger Options + */ +//! @{ +#define EIC_MODE_EDGE_TRIGGERED AVR32_EIC_EDGE_IRQ //!< +#define EIC_MODE_LEVEL_TRIGGERED AVR32_EIC_LEVEL_IRQ //!< +//! @} + +/*! \name Edge level Options + */ +//! @{ +#define EIC_EDGE_FALLING_EDGE AVR32_EIC_FALLING_EDGE //!< +#define EIC_EDGE_RISING_EDGE AVR32_EIC_RISING_EDGE //!< +//! @} + +/*! \name Level Options + */ +//! @{ +#define EIC_LEVEL_LOW_LEVEL AVR32_EIC_LOW_LEVEL //!< +#define EIC_LEVEL_HIGH_LEVEL AVR32_EIC_HIGH_LEVEL //!< +//! @} + +/*! \name Filter Options + */ +//! @{ +#define EIC_FILTER_ENABLED AVR32_EIC_FILTER_ON //!< +#define EIC_FILTER_DISABLED AVR32_EIC_FILTER_OFF //!< +//! @} + +/*! \name Synch Mode Options + */ +//! @{ +#define EIC_SYNCH_MODE AVR32_EIC_SYNC //!< +#define EIC_ASYNCH_MODE AVR32_EIC_USE_ASYNC //!< +//! @} + +//! Configuration parameters of the EIC module. +typedef struct +{ + //!Line + unsigned char eic_line; + + //! Mode : EDGE_LEVEL or TRIGGER_LEVEL + unsigned char eic_mode; + + //! Edge : FALLING_EDGE or RISING_EDGE + unsigned char eic_edge; + + //! Level : LOW_LEVEL or HIGH_LEVEL + unsigned char eic_level; + + //! Filter: NOT_FILTERED or FILTERED + unsigned char eic_filter; + + //! Async: SYNC mode or ASYNC + unsigned char eic_async; + +} eic_options_t; + + +/*! \brief Init the EIC driver. + * + * \param eic Base address of the EIC module + * \param opt Configuration parameters of the EIC module (see \ref eic_options_t) + * \param nb_lines Number of lines to consider, equal to size of opt buffer + */ +extern void eic_init(volatile avr32_eic_t *eic, const eic_options_t *opt, unsigned int nb_lines); + +/*! \brief Enable the EIC driver. + * + * \param eic Base address of the EIC module + * \param mask_lines Mask for current selected lines + */ +extern void eic_enable_lines(volatile avr32_eic_t *eic, unsigned int mask_lines); + +/*! \brief Enable the EIC driver. + * + * \param eic Base address of the EIC module + * \param line_number Line number to enable + */ +extern void eic_enable_line(volatile avr32_eic_t *eic, unsigned int line_number); + +/*! \brief Disable the EIC driver. + * + * \param eic Base address of the EIC module + * \param mask_lines Mask for current selected lines + */ +extern void eic_disable_lines(volatile avr32_eic_t *eic, unsigned int mask_lines); + +/*! \brief Disable the EIC driver. + * + * \param eic Base address of the EIC module + * \param line_number Line number to disable + */ +extern void eic_disable_line(volatile avr32_eic_t *eic, unsigned int line_number); + +/*! \brief Tells whether an EIC line is enabled. + * + * \param eic Base address of the EIC module + * \param line_number Line number to test + * + * \return Whether an EIC line is enabled. + */ +extern Bool eic_is_line_enabled(volatile avr32_eic_t *eic, unsigned int line_number); + +/*! \name Interrupt Control Functions + */ +//! @{ + +/*! \brief Enable the interrupt feature of the EIC. + * + * \param eic Base address of the EIC (i.e. &AVR32_EIC). + * \param mask_lines Mask for current selected lines + */ +extern void eic_enable_interrupt_lines(volatile avr32_eic_t *eic, unsigned int mask_lines); + +/*! \brief Enable the interrupt feature of the EIC. + * + * \param eic Base address of the EIC (i.e. &AVR32_EIC). + * \param line_number Line number to enable + */ +extern void eic_enable_interrupt_line(volatile avr32_eic_t *eic, unsigned int line_number); + +/*! \brief Disable the interrupt feature of the EIC. + * + * \param eic Base address of the EIC (i.e. &AVR32_EIC). + * \param mask_lines Mask for current selected lines + */ +extern void eic_disable_interrupt_lines(volatile avr32_eic_t *eic, unsigned int mask_lines); + +/*! \brief Disable the interrupt feature of the EIC. + * + * \param eic Base address of the EIC (i.e. &AVR32_EIC). + * \param line_number Line number to disable + */ +extern void eic_disable_interrupt_line(volatile avr32_eic_t *eic, unsigned int line_number); + +/*! \brief Tells whether an EIC interrupt line is enabled. + * + * \param eic Base address of the EIC module + * \param line_number Line number to test + * + * \return Whether an EIC interrupt line is enabled. + */ +extern Bool eic_is_interrupt_line_enabled(volatile avr32_eic_t *eic, unsigned int line_number); + +/*! \brief Clear the interrupt flag. + * Call this function once you've handled the interrupt. + * + * \param eic Base address of the EIC (i.e. &AVR32_EIC). + * \param mask_lines Mask for current selected lines + */ +extern void eic_clear_interrupt_lines(volatile avr32_eic_t *eic, unsigned int mask_lines); + +/*! \brief Clear the interrupt flag. + * Call this function once you've handled the interrupt. + * + * \param eic Base address of the EIC (i.e. &AVR32_EIC). + * \param line_number Line number to clear + */ +extern void eic_clear_interrupt_line(volatile avr32_eic_t *eic, unsigned int line_number); + +/*! \brief Tells whether an EIC interrupt line is pending. + * + * \param eic Base address of the EIC module + * \param line_number Line number to test + * + * \return Whether an EIC interrupt line is pending. + */ +extern Bool eic_is_interrupt_line_pending(volatile avr32_eic_t *eic, unsigned int line_number); + +/*! \brief Enable the interrupt scan feature of the EIC. + * + * \param eic Base address of the EIC (i.e. &AVR32_EIC). + * \param presc Prescale select for the keypad scan rate in the range [0,31]. + */ +extern void eic_enable_interrupt_scan(volatile avr32_eic_t *eic, unsigned int presc); + +/*! \brief Disable the interrupt scan feature of the EIC. + * + * \param eic Base address of the EIC (i.e. &AVR32_EIC). + */ +extern void eic_disable_interrupt_scan(volatile avr32_eic_t *eic); + +/*! \brief Return scan pad number that causes interrupt. + * + * \param eic Base address of the EIC (i.e. &AVR32_EIC). + */ +extern unsigned long eic_get_interrupt_pad_scan(volatile avr32_eic_t *eic); + +//! @} + + +#endif // _EIC_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.c new file mode 100644 index 0000000..2eee15c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.c @@ -0,0 +1,1117 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief FLASHC driver for AVR32 UC3. + * + * AVR32 Flash Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a FLASHC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include <stddef.h> +#include "compiler.h" +#include "flashc.h" + + +/*! \name FLASHC Writable Bit-Field Registers + */ +//! @{ + +typedef union +{ + unsigned long fcr; + avr32_flashc_fcr_t FCR; +} u_avr32_flashc_fcr_t; + +typedef union +{ + unsigned long fcmd; + avr32_flashc_fcmd_t FCMD; +} u_avr32_flashc_fcmd_t; + +//! @} + + +/*! \name Flash Properties + */ +//! @{ + + +unsigned int flashc_get_flash_size(void) +{ +#if (defined AVR32_FLASHC_300_H_INCLUDED) + static const unsigned int FLASH_SIZE[1 << AVR32_FLASHC_PR_FSZ_SIZE] = + { + 32 << 10, + 64 << 10, + 128 << 10, + 256 << 10, + 384 << 10, + 512 << 10, + 768 << 10, + 1024 << 10 + }; + return FLASH_SIZE[(AVR32_FLASHC.pr & AVR32_FLASHC_PR_FSZ_MASK) >> AVR32_FLASHC_PR_FSZ_OFFSET]; +#else + static const unsigned int FLASH_SIZE[1 << AVR32_FLASHC_FSR_FSZ_SIZE] = + { + 32 << 10, + 64 << 10, + 128 << 10, + 256 << 10, + 384 << 10, + 512 << 10, + 768 << 10, + 1024 << 10 + }; + return FLASH_SIZE[(AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_FSZ_MASK) >> AVR32_FLASHC_FSR_FSZ_OFFSET]; +#endif +} + + +unsigned int flashc_get_page_count(void) +{ + return flashc_get_flash_size() / AVR32_FLASHC_PAGE_SIZE; +} + + +unsigned int flashc_get_page_count_per_region(void) +{ + return flashc_get_page_count() / AVR32_FLASHC_REGIONS; +} + + +unsigned int flashc_get_page_region(int page_number) +{ + return ((page_number >= 0) ? page_number : flashc_get_page_number()) / flashc_get_page_count_per_region(); +} + + +unsigned int flashc_get_region_first_page_number(unsigned int region) +{ + return region * flashc_get_page_count_per_region(); +} + + +//! @} + + +/*! \name FLASHC Control + */ +//! @{ + + +unsigned int flashc_get_wait_state(void) +{ + return (AVR32_FLASHC.fcr & AVR32_FLASHC_FCR_FWS_MASK) >> AVR32_FLASHC_FCR_FWS_OFFSET; +} + + +void flashc_set_wait_state(unsigned int wait_state) +{ + u_avr32_flashc_fcr_t u_avr32_flashc_fcr = {AVR32_FLASHC.fcr}; + u_avr32_flashc_fcr.FCR.fws = wait_state; + AVR32_FLASHC.fcr = u_avr32_flashc_fcr.fcr; +} + + +Bool flashc_is_ready_int_enabled(void) +{ + return ((AVR32_FLASHC.fcr & AVR32_FLASHC_FCR_FRDY_MASK) != 0); +} + + +void flashc_enable_ready_int(Bool enable) +{ + u_avr32_flashc_fcr_t u_avr32_flashc_fcr = {AVR32_FLASHC.fcr}; + u_avr32_flashc_fcr.FCR.frdy = (enable != FALSE); + AVR32_FLASHC.fcr = u_avr32_flashc_fcr.fcr; +} + + +Bool flashc_is_lock_error_int_enabled(void) +{ + return ((AVR32_FLASHC.fcr & AVR32_FLASHC_FCR_LOCKE_MASK) != 0); +} + + +void flashc_enable_lock_error_int(Bool enable) +{ + u_avr32_flashc_fcr_t u_avr32_flashc_fcr = {AVR32_FLASHC.fcr}; + u_avr32_flashc_fcr.FCR.locke = (enable != FALSE); + AVR32_FLASHC.fcr = u_avr32_flashc_fcr.fcr; +} + + +Bool flashc_is_prog_error_int_enabled(void) +{ + return ((AVR32_FLASHC.fcr & AVR32_FLASHC_FCR_PROGE_MASK) != 0); +} + + +void flashc_enable_prog_error_int(Bool enable) +{ + u_avr32_flashc_fcr_t u_avr32_flashc_fcr = {AVR32_FLASHC.fcr}; + u_avr32_flashc_fcr.FCR.proge = (enable != FALSE); + AVR32_FLASHC.fcr = u_avr32_flashc_fcr.fcr; +} + + +//! @} + + +/*! \name FLASHC Status + */ +//! @{ + + +Bool flashc_is_ready(void) +{ + return ((AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_FRDY_MASK) != 0); +} + + +void flashc_default_wait_until_ready(void) +{ + while (!flashc_is_ready()); +} + + +void (*volatile flashc_wait_until_ready)(void) = flashc_default_wait_until_ready; + + +/*! \brief Gets the error status of the FLASHC. + * + * \return The error status of the FLASHC built up from + * \c AVR32_FLASHC_FSR_LOCKE_MASK and \c AVR32_FLASHC_FSR_PROGE_MASK. + * + * \warning This hardware error status is cleared by all functions reading the + * Flash Status Register (FSR). This function is therefore not part of + * the driver's API which instead presents \ref flashc_is_lock_error + * and \ref flashc_is_programming_error. + */ +static unsigned int flashc_get_error_status(void) +{ + return AVR32_FLASHC.fsr & (AVR32_FLASHC_FSR_LOCKE_MASK | + AVR32_FLASHC_FSR_PROGE_MASK); +} + + +//! Sticky error status of the FLASHC. +//! This variable is updated by functions that issue FLASHC commands. It +//! contains the cumulated FLASHC error status of all the FLASHC commands issued +//! by a function. +static unsigned int flashc_error_status = 0; + + +Bool flashc_is_lock_error(void) +{ + return ((flashc_error_status & AVR32_FLASHC_FSR_LOCKE_MASK) != 0); +} + + +Bool flashc_is_programming_error(void) +{ + return ((flashc_error_status & AVR32_FLASHC_FSR_PROGE_MASK) != 0); +} + + +//! @} + + +/*! \name FLASHC Command Control + */ +//! @{ + + +unsigned int flashc_get_command(void) +{ + return (AVR32_FLASHC.fcmd & AVR32_FLASHC_FCMD_CMD_MASK) >> AVR32_FLASHC_FCMD_CMD_OFFSET; +} + + +unsigned int flashc_get_page_number(void) +{ + return (AVR32_FLASHC.fcmd & AVR32_FLASHC_FCMD_PAGEN_MASK) >> AVR32_FLASHC_FCMD_PAGEN_OFFSET; +} + + +void flashc_issue_command(unsigned int command, int page_number) +{ + u_avr32_flashc_fcmd_t u_avr32_flashc_fcmd; + flashc_wait_until_ready(); + u_avr32_flashc_fcmd.fcmd = AVR32_FLASHC.fcmd; + u_avr32_flashc_fcmd.FCMD.cmd = command; + if (page_number >= 0) u_avr32_flashc_fcmd.FCMD.pagen = page_number; + u_avr32_flashc_fcmd.FCMD.key = AVR32_FLASHC_FCMD_KEY_KEY; + AVR32_FLASHC.fcmd = u_avr32_flashc_fcmd.fcmd; + flashc_error_status = flashc_get_error_status(); + flashc_wait_until_ready(); +} + + +//! @} + + +/*! \name FLASHC Global Commands + */ +//! @{ + + +void flashc_no_operation(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_NOP, -1); +} + + +void flashc_erase_all(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EA, -1); +} + + +//! @} + + +/*! \name FLASHC Protection Mechanisms + */ +//! @{ + + +Bool flashc_is_security_bit_active(void) +{ + return ((AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_SECURITY_MASK) != 0); +} + + +void flashc_activate_security_bit(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_SSB, -1); +} + + +unsigned int flashc_get_bootloader_protected_size(void) +{ + unsigned int bootprot = (1 << AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE) - 1 - + flashc_read_gp_fuse_bitfield(AVR32_FLASHC_FGPFRLO_BOOTPROT_OFFSET, + AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE); + return (bootprot) ? AVR32_FLASHC_PAGE_SIZE << bootprot : 0; +} + + +unsigned int flashc_set_bootloader_protected_size(unsigned int bootprot_size) +{ + flashc_set_gp_fuse_bitfield(AVR32_FLASHC_FGPFRLO_BOOTPROT_OFFSET, + AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE, + (1 << AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE) - 1 - + ((bootprot_size) ? + 32 - clz((((min(max(bootprot_size, AVR32_FLASHC_PAGE_SIZE << 1), + AVR32_FLASHC_PAGE_SIZE << + ((1 << AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE) - 1)) + + AVR32_FLASHC_PAGE_SIZE - 1) / + AVR32_FLASHC_PAGE_SIZE) << 1) - 1) - 1 : + 0)); + return flashc_get_bootloader_protected_size(); +} + + +Bool flashc_is_external_privileged_fetch_locked(void) +{ + return (!flashc_read_gp_fuse_bit(AVR32_FLASHC_FGPFRLO_EPFL_OFFSET)); +} + + +void flashc_lock_external_privileged_fetch(Bool lock) +{ + flashc_set_gp_fuse_bit(AVR32_FLASHC_FGPFRLO_EPFL_OFFSET, !lock); +} + + +Bool flashc_is_page_region_locked(int page_number) +{ + return flashc_is_region_locked(flashc_get_page_region(page_number)); +} + + +Bool flashc_is_region_locked(unsigned int region) +{ + return ((AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_LOCK0_MASK << (region & (AVR32_FLASHC_REGIONS - 1))) != 0); +} + + +void flashc_lock_page_region(int page_number, Bool lock) +{ + flashc_issue_command((lock) ? AVR32_FLASHC_FCMD_CMD_LP : AVR32_FLASHC_FCMD_CMD_UP, page_number); +} + + +void flashc_lock_region(unsigned int region, Bool lock) +{ + flashc_lock_page_region(flashc_get_region_first_page_number(region), lock); +} + + +void flashc_lock_all_regions(Bool lock) +{ + unsigned int error_status = 0; + unsigned int region = AVR32_FLASHC_REGIONS; + while (region) + { + flashc_lock_region(--region, lock); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; +} + + +//! @} + + +/*! \name Access to General-Purpose Fuses + */ +//! @{ + + +Bool flashc_read_gp_fuse_bit(unsigned int gp_fuse_bit) +{ + return ((flashc_read_all_gp_fuses() & 1ULL << (gp_fuse_bit & 0x3F)) != 0); +} + + +U64 flashc_read_gp_fuse_bitfield(unsigned int pos, unsigned int width) +{ + return flashc_read_all_gp_fuses() >> (pos & 0x3F) & ((1ULL << min(width, 64)) - 1); +} + + +U8 flashc_read_gp_fuse_byte(unsigned int gp_fuse_byte) +{ + return flashc_read_all_gp_fuses() >> ((gp_fuse_byte & 0x07) << 3); +} + + +U64 flashc_read_all_gp_fuses(void) +{ + return AVR32_FLASHC.fgpfrlo | (U64)AVR32_FLASHC.fgpfrhi << 32; +} + + +Bool flashc_erase_gp_fuse_bit(unsigned int gp_fuse_bit, Bool check) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EGPB, gp_fuse_bit & 0x3F); + return (check) ? flashc_read_gp_fuse_bit(gp_fuse_bit) : TRUE; +} + + +Bool flashc_erase_gp_fuse_bitfield(unsigned int pos, unsigned int width, Bool check) +{ + unsigned int error_status = 0; + unsigned int gp_fuse_bit; + pos &= 0x3F; + width = min(width, 64); + for (gp_fuse_bit = pos; gp_fuse_bit < pos + width; gp_fuse_bit++) + { + flashc_erase_gp_fuse_bit(gp_fuse_bit, FALSE); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; + return (check) ? (flashc_read_gp_fuse_bitfield(pos, width) == (1ULL << width) - 1) : TRUE; +} + + +Bool flashc_erase_gp_fuse_byte(unsigned int gp_fuse_byte, Bool check) +{ + unsigned int error_status; + unsigned int current_gp_fuse_byte; + U64 value = flashc_read_all_gp_fuses(); + flashc_erase_all_gp_fuses(FALSE); + error_status = flashc_error_status; + for (current_gp_fuse_byte = 0; current_gp_fuse_byte < 8; current_gp_fuse_byte++, value >>= 8) + { + if (current_gp_fuse_byte != gp_fuse_byte) + { + flashc_write_gp_fuse_byte(current_gp_fuse_byte, value); + error_status |= flashc_error_status; + } + } + flashc_error_status = error_status; + return (check) ? (flashc_read_gp_fuse_byte(gp_fuse_byte) == 0xFF) : TRUE; +} + + +Bool flashc_erase_all_gp_fuses(Bool check) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EAGPF, -1); + return (check) ? (flashc_read_all_gp_fuses() == 0xFFFFFFFFFFFFFFFFULL) : TRUE; +} + + +void flashc_write_gp_fuse_bit(unsigned int gp_fuse_bit, Bool value) +{ + if (!value) + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_WGPB, gp_fuse_bit & 0x3F); +} + + +void flashc_write_gp_fuse_bitfield(unsigned int pos, unsigned int width, U64 value) +{ + unsigned int error_status = 0; + unsigned int gp_fuse_bit; + pos &= 0x3F; + width = min(width, 64); + for (gp_fuse_bit = pos; gp_fuse_bit < pos + width; gp_fuse_bit++, value >>= 1) + { + flashc_write_gp_fuse_bit(gp_fuse_bit, value & 0x01); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; +} + + +void flashc_write_gp_fuse_byte(unsigned int gp_fuse_byte, U8 value) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_PGPFB, (gp_fuse_byte & 0x07) | value << 3); +} + + +void flashc_write_all_gp_fuses(U64 value) +{ + unsigned int error_status = 0; + unsigned int gp_fuse_byte; + for (gp_fuse_byte = 0; gp_fuse_byte < 8; gp_fuse_byte++, value >>= 8) + { + flashc_write_gp_fuse_byte(gp_fuse_byte, value); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; +} + + +void flashc_set_gp_fuse_bit(unsigned int gp_fuse_bit, Bool value) +{ + if (value) + flashc_erase_gp_fuse_bit(gp_fuse_bit, FALSE); + else + flashc_write_gp_fuse_bit(gp_fuse_bit, FALSE); +} + + +void flashc_set_gp_fuse_bitfield(unsigned int pos, unsigned int width, U64 value) +{ + unsigned int error_status = 0; + unsigned int gp_fuse_bit; + pos &= 0x3F; + width = min(width, 64); + for (gp_fuse_bit = pos; gp_fuse_bit < pos + width; gp_fuse_bit++, value >>= 1) + { + flashc_set_gp_fuse_bit(gp_fuse_bit, value & 0x01); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; +} + + +void flashc_set_gp_fuse_byte(unsigned int gp_fuse_byte, U8 value) +{ + unsigned int error_status; + switch (value) + { + case 0xFF: + flashc_erase_gp_fuse_byte(gp_fuse_byte, FALSE); + break; + case 0x00: + flashc_write_gp_fuse_byte(gp_fuse_byte, 0x00); + break; + default: + flashc_erase_gp_fuse_byte(gp_fuse_byte, FALSE); + error_status = flashc_error_status; + flashc_write_gp_fuse_byte(gp_fuse_byte, value); + flashc_error_status |= error_status; + } +} + + +void flashc_set_all_gp_fuses(U64 value) +{ + unsigned int error_status; + switch (value) + { + case 0xFFFFFFFFFFFFFFFFULL: + flashc_erase_all_gp_fuses(FALSE); + break; + case 0x0000000000000000ULL: + flashc_write_all_gp_fuses(0x0000000000000000ULL); + break; + default: + flashc_erase_all_gp_fuses(FALSE); + error_status = flashc_error_status; + flashc_write_all_gp_fuses(value); + flashc_error_status |= error_status; + } +} + + +//! @} + + +/*! \name Access to Flash Pages + */ +//! @{ + + +void flashc_clear_page_buffer(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_CPB, -1); +} + + +Bool flashc_is_page_erased(void) +{ + return ((AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_QPRR_MASK) != 0); +} + + +Bool flashc_quick_page_read(int page_number) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_QPR, page_number); + return flashc_is_page_erased(); +} + + +Bool flashc_erase_page(int page_number, Bool check) +{ + Bool page_erased = TRUE; + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EP, page_number); + if (check) + { + unsigned int error_status = flashc_error_status; + page_erased = flashc_quick_page_read(-1); + flashc_error_status |= error_status; + } + return page_erased; +} + + +Bool flashc_erase_all_pages(Bool check) +{ + Bool all_pages_erased = TRUE; + unsigned int error_status = 0; + unsigned int page_number = flashc_get_page_count(); + while (page_number) + { + all_pages_erased &= flashc_erase_page(--page_number, check); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; + return all_pages_erased; +} + + +void flashc_write_page(int page_number) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_WP, page_number); +} + + +Bool flashc_quick_user_page_read(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_QPRUP, -1); + return flashc_is_page_erased(); +} + + +Bool flashc_erase_user_page(Bool check) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EUP, -1); + return (check) ? flashc_quick_user_page_read() : TRUE; +} + + +void flashc_write_user_page(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_WUP, -1); +} + + +volatile void *flashc_memset8(volatile void *dst, U8 src, size_t nbytes, Bool erase) +{ + return flashc_memset16(dst, src | (U16)src << 8, nbytes, erase); +} + + +volatile void *flashc_memset16(volatile void *dst, U16 src, size_t nbytes, Bool erase) +{ + return flashc_memset32(dst, src | (U32)src << 16, nbytes, erase); +} + + +volatile void *flashc_memset32(volatile void *dst, U32 src, size_t nbytes, Bool erase) +{ + return flashc_memset64(dst, src | (U64)src << 32, nbytes, erase); +} + + +volatile void *flashc_memset64(volatile void *dst, U64 src, size_t nbytes, Bool erase) +{ + // Use aggregated pointers to have several alignments available for a same address. + UnionCVPtr flash_array_end; + UnionVPtr dest; + Union64 source = {0}; + StructCVPtr dest_end; + UnionCVPtr flash_page_source_end; + Bool incomplete_flash_page_end; + Union64 flash_dword; + UnionVPtr tmp; + unsigned int error_status = 0; + unsigned int i; + + // Reformat arguments. + flash_array_end.u8ptr = AVR32_FLASH + flashc_get_flash_size(); + dest.u8ptr = dst; + for (i = (Get_align((U32)dest.u8ptr, sizeof(U64)) - 1) & (sizeof(U64) - 1); + src; i = (i - 1) & (sizeof(U64) - 1)) + { + source.u8[i] = src; + src >>= 8; + } + dest_end.u8ptr = dest.u8ptr + nbytes; + + // If destination is outside flash, go to next flash page if any. + if (dest.u8ptr < AVR32_FLASH) + { + dest.u8ptr = AVR32_FLASH; + } + else if (flash_array_end.u8ptr <= dest.u8ptr && dest.u8ptr < AVR32_FLASHC_USER_PAGE) + { + dest.u8ptr = AVR32_FLASHC_USER_PAGE; + } + + // If end of destination is outside flash, move it to the end of the previous flash page if any. + if (dest_end.u8ptr > AVR32_FLASHC_USER_PAGE + AVR32_FLASHC_USER_PAGE_SIZE) + { + dest_end.u8ptr = AVR32_FLASHC_USER_PAGE + AVR32_FLASHC_USER_PAGE_SIZE; + } + else if (AVR32_FLASHC_USER_PAGE >= dest_end.u8ptr && dest_end.u8ptr > flash_array_end.u8ptr) + { + dest_end.u8ptr = flash_array_end.u8ptr; + } + + // Align each end of destination pointer with its natural boundary. + dest_end.u16ptr = (U16 *)Align_down((U32)dest_end.u8ptr, sizeof(U16)); + dest_end.u32ptr = (U32 *)Align_down((U32)dest_end.u16ptr, sizeof(U32)); + dest_end.u64ptr = (U64 *)Align_down((U32)dest_end.u32ptr, sizeof(U64)); + + // While end of destination is not reached... + while (dest.u8ptr < dest_end.u8ptr) + { + // Clear the page buffer in order to prepare data for a flash page write. + flashc_clear_page_buffer(); + error_status |= flashc_error_status; + + // Determine where the source data will end in the current flash page. + flash_page_source_end.u64ptr = + (U64 *)min((U32)dest_end.u64ptr, + Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE) + AVR32_FLASHC_PAGE_SIZE); + + // Determine if the current destination page has an incomplete end. + incomplete_flash_page_end = (Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE) >= + Align_down((U32)dest_end.u8ptr, AVR32_FLASHC_PAGE_SIZE)); + + // Use a flash double-word buffer to manage unaligned accesses. + flash_dword.u64 = source.u64; + + // If destination does not point to the beginning of the current flash page... + if (!Test_align((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE)) + { + // Fill the beginning of the page buffer with the current flash page data. + // This is required by the hardware, even if page erase is not requested, + // in order to be able to write successfully to erased parts of flash + // pages that have already been written to. + for (tmp.u8ptr = (U8 *)Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE); + tmp.u64ptr < (U64 *)Align_down((U32)dest.u8ptr, sizeof(U64)); + tmp.u64ptr++) + *tmp.u64ptr = *tmp.u64ptr; + + // If destination is not 64-bit aligned... + if (!Test_align((U32)dest.u8ptr, sizeof(U64))) + { + // Fill the beginning of the flash double-word buffer with the current + // flash page data. + // This is required by the hardware, even if page erase is not + // requested, in order to be able to write successfully to erased parts + // of flash pages that have already been written to. + for (i = 0; i < Get_align((U32)dest.u8ptr, sizeof(U64)); i++) + flash_dword.u8[i] = *tmp.u8ptr++; + + // Align the destination pointer with its 64-bit boundary. + dest.u64ptr = (U64 *)Align_down((U32)dest.u8ptr, sizeof(U64)); + + // If the current destination double-word is not the last one... + if (dest.u64ptr < dest_end.u64ptr) + { + // Write the flash double-word buffer to the page buffer and reinitialize it. + *dest.u64ptr++ = flash_dword.u64; + flash_dword.u64 = source.u64; + } + } + } + + // Write the source data to the page buffer with 64-bit alignment. + for (i = flash_page_source_end.u64ptr - dest.u64ptr; i; i--) + *dest.u64ptr++ = source.u64; + + // If the current destination page has an incomplete end... + if (incomplete_flash_page_end) + { + // This is required by the hardware, even if page erase is not requested, + // in order to be able to write successfully to erased parts of flash + // pages that have already been written to. + { + tmp.u8ptr = (volatile U8 *)dest_end.u8ptr; + + // If end of destination is not 64-bit aligned... + if (!Test_align((U32)dest_end.u8ptr, sizeof(U64))) + { + // Fill the end of the flash double-word buffer with the current flash page data. + for (i = Get_align((U32)dest_end.u8ptr, sizeof(U64)); i < sizeof(U64); i++) + flash_dword.u8[i] = *tmp.u8ptr++; + + // Write the flash double-word buffer to the page buffer. + *dest.u64ptr++ = flash_dword.u64; + } + + // Fill the end of the page buffer with the current flash page data. + for (; !Test_align((U32)tmp.u64ptr, AVR32_FLASHC_PAGE_SIZE); tmp.u64ptr++) + *tmp.u64ptr = *tmp.u64ptr; + } + } + + // If the current flash page is in the flash array... + if (dest.u8ptr <= AVR32_FLASHC_USER_PAGE) + { + // Erase the current page if requested and write it from the page buffer. + if (erase) + { + flashc_erase_page(-1, FALSE); + error_status |= flashc_error_status; + } + flashc_write_page(-1); + error_status |= flashc_error_status; + + // If the end of the flash array is reached, go to the User page. + if (dest.u8ptr >= flash_array_end.u8ptr) + dest.u8ptr = AVR32_FLASHC_USER_PAGE; + } + // If the current flash page is the User page... + else + { + // Erase the User page if requested and write it from the page buffer. + if (erase) + { + flashc_erase_user_page(FALSE); + error_status |= flashc_error_status; + } + flashc_write_user_page(); + error_status |= flashc_error_status; + } + } + + // Update the FLASHC error status. + flashc_error_status = error_status; + + // Return the initial destination pointer as the standard memset function does. + return dst; +} + + +volatile void *flashc_memcpy(volatile void *dst, const void *src, size_t nbytes, Bool erase) +{ + // Use aggregated pointers to have several alignments available for a same address. + UnionCVPtr flash_array_end; + UnionVPtr dest; + UnionCPtr source; + StructCVPtr dest_end; + UnionCVPtr flash_page_source_end; + Bool incomplete_flash_page_end; + Union64 flash_dword; + Bool flash_dword_pending = FALSE; + UnionVPtr tmp; + unsigned int error_status = 0; + unsigned int i, j; + + // Reformat arguments. + flash_array_end.u8ptr = AVR32_FLASH + flashc_get_flash_size(); + dest.u8ptr = dst; + source.u8ptr = src; + dest_end.u8ptr = dest.u8ptr + nbytes; + + // If destination is outside flash, go to next flash page if any. + if (dest.u8ptr < AVR32_FLASH) + { + source.u8ptr += AVR32_FLASH - dest.u8ptr; + dest.u8ptr = AVR32_FLASH; + } + else if (flash_array_end.u8ptr <= dest.u8ptr && dest.u8ptr < AVR32_FLASHC_USER_PAGE) + { + source.u8ptr += AVR32_FLASHC_USER_PAGE - dest.u8ptr; + dest.u8ptr = AVR32_FLASHC_USER_PAGE; + } + + // If end of destination is outside flash, move it to the end of the previous flash page if any. + if (dest_end.u8ptr > AVR32_FLASHC_USER_PAGE + AVR32_FLASHC_USER_PAGE_SIZE) + { + dest_end.u8ptr = AVR32_FLASHC_USER_PAGE + AVR32_FLASHC_USER_PAGE_SIZE; + } + else if (AVR32_FLASHC_USER_PAGE >= dest_end.u8ptr && dest_end.u8ptr > flash_array_end.u8ptr) + { + dest_end.u8ptr = flash_array_end.u8ptr; + } + + // Align each end of destination pointer with its natural boundary. + dest_end.u16ptr = (U16 *)Align_down((U32)dest_end.u8ptr, sizeof(U16)); + dest_end.u32ptr = (U32 *)Align_down((U32)dest_end.u16ptr, sizeof(U32)); + dest_end.u64ptr = (U64 *)Align_down((U32)dest_end.u32ptr, sizeof(U64)); + + // While end of destination is not reached... + while (dest.u8ptr < dest_end.u8ptr) + { + // Clear the page buffer in order to prepare data for a flash page write. + flashc_clear_page_buffer(); + error_status |= flashc_error_status; + + // Determine where the source data will end in the current flash page. + flash_page_source_end.u64ptr = + (U64 *)min((U32)dest_end.u64ptr, + Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE) + AVR32_FLASHC_PAGE_SIZE); + + // Determine if the current destination page has an incomplete end. + incomplete_flash_page_end = (Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE) >= + Align_down((U32)dest_end.u8ptr, AVR32_FLASHC_PAGE_SIZE)); + + // If destination does not point to the beginning of the current flash page... + if (!Test_align((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE)) + { + // Fill the beginning of the page buffer with the current flash page data. + // This is required by the hardware, even if page erase is not requested, + // in order to be able to write successfully to erased parts of flash + // pages that have already been written to. + for (tmp.u8ptr = (U8 *)Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE); + tmp.u64ptr < (U64 *)Align_down((U32)dest.u8ptr, sizeof(U64)); + tmp.u64ptr++) + *tmp.u64ptr = *tmp.u64ptr; + + // If destination is not 64-bit aligned... + if (!Test_align((U32)dest.u8ptr, sizeof(U64))) + { + // Fill the beginning of the flash double-word buffer with the current + // flash page data. + // This is required by the hardware, even if page erase is not + // requested, in order to be able to write successfully to erased parts + // of flash pages that have already been written to. + for (i = 0; i < Get_align((U32)dest.u8ptr, sizeof(U64)); i++) + flash_dword.u8[i] = *tmp.u8ptr++; + + // Fill the end of the flash double-word buffer with the source data. + for (; i < sizeof(U64); i++) + flash_dword.u8[i] = *source.u8ptr++; + + // Align the destination pointer with its 64-bit boundary. + dest.u64ptr = (U64 *)Align_down((U32)dest.u8ptr, sizeof(U64)); + + // If the current destination double-word is not the last one... + if (dest.u64ptr < dest_end.u64ptr) + { + // Write the flash double-word buffer to the page buffer. + *dest.u64ptr++ = flash_dword.u64; + } + // If the current destination double-word is the last one, the flash + // double-word buffer must be kept for later. + else flash_dword_pending = TRUE; + } + } + + // Read the source data with the maximal possible alignment and write it to + // the page buffer with 64-bit alignment. + switch (Get_align((U32)source.u8ptr, sizeof(U32))) + { + case 0: + for (i = flash_page_source_end.u64ptr - dest.u64ptr; i; i--) + *dest.u64ptr++ = *source.u64ptr++; + break; + + case sizeof(U16): + for (i = flash_page_source_end.u64ptr - dest.u64ptr; i; i--) + { + for (j = 0; j < sizeof(U64) / sizeof(U16); j++) flash_dword.u16[j] = *source.u16ptr++; + *dest.u64ptr++ = flash_dword.u64; + } + break; + + default: + for (i = flash_page_source_end.u64ptr - dest.u64ptr; i; i--) + { + for (j = 0; j < sizeof(U64); j++) flash_dword.u8[j] = *source.u8ptr++; + *dest.u64ptr++ = flash_dword.u64; + } + } + + // If the current destination page has an incomplete end... + if (incomplete_flash_page_end) + { + // If the flash double-word buffer is in use, do not initialize it. + if (flash_dword_pending) i = Get_align((U32)dest_end.u8ptr, sizeof(U64)); + // If the flash double-word buffer is free... + else + { + // Fill the beginning of the flash double-word buffer with the source data. + for (i = 0; i < Get_align((U32)dest_end.u8ptr, sizeof(U64)); i++) + flash_dword.u8[i] = *source.u8ptr++; + } + + // This is required by the hardware, even if page erase is not requested, + // in order to be able to write successfully to erased parts of flash + // pages that have already been written to. + { + tmp.u8ptr = (volatile U8 *)dest_end.u8ptr; + + // If end of destination is not 64-bit aligned... + if (!Test_align((U32)dest_end.u8ptr, sizeof(U64))) + { + // Fill the end of the flash double-word buffer with the current flash page data. + for (; i < sizeof(U64); i++) + flash_dword.u8[i] = *tmp.u8ptr++; + + // Write the flash double-word buffer to the page buffer. + *dest.u64ptr++ = flash_dword.u64; + } + + // Fill the end of the page buffer with the current flash page data. + for (; !Test_align((U32)tmp.u64ptr, AVR32_FLASHC_PAGE_SIZE); tmp.u64ptr++) + *tmp.u64ptr = *tmp.u64ptr; + } + } + + // If the current flash page is in the flash array... + if (dest.u8ptr <= AVR32_FLASHC_USER_PAGE) + { + // Erase the current page if requested and write it from the page buffer. + if (erase) + { + flashc_erase_page(-1, FALSE); + error_status |= flashc_error_status; + } + flashc_write_page(-1); + error_status |= flashc_error_status; + + // If the end of the flash array is reached, go to the User page. + if (dest.u8ptr >= flash_array_end.u8ptr) + { + source.u8ptr += AVR32_FLASHC_USER_PAGE - dest.u8ptr; + dest.u8ptr = AVR32_FLASHC_USER_PAGE; + } + } + // If the current flash page is the User page... + else + { + // Erase the User page if requested and write it from the page buffer. + if (erase) + { + flashc_erase_user_page(FALSE); + error_status |= flashc_error_status; + } + flashc_write_user_page(); + error_status |= flashc_error_status; + } + } + + // Update the FLASHC error status. + flashc_error_status = error_status; + + // Return the initial destination pointer as the standard memcpy function does. + return dst; +} + + +#if UC3C +void flashc_set_flash_waitstate_and_readmode(unsigned long cpu_f_hz) +{ + //! Device-specific data + #undef AVR32_FLASHC_FWS_0_MAX_FREQ + #undef AVR32_FLASHC_FWS_1_MAX_FREQ + #undef AVR32_FLASHC_HSEN_FWS_0_MAX_FREQ + #undef AVR32_FLASHC_HSEN_FWS_1_MAX_FREQ + #define AVR32_FLASHC_FWS_0_MAX_FREQ 33000000 + #define AVR32_FLASHC_FWS_1_MAX_FREQ 66000000 + #define AVR32_FLASHC_HSEN_FWS_0_MAX_FREQ 33000000 + #define AVR32_FLASHC_HSEN_FWS_1_MAX_FREQ 72000000 + // These defines are missing from or wrong in the toolchain header files uc3cxxx.h + // Put a Bugzilla + + if(cpu_f_hz > AVR32_FLASHC_HSEN_FWS_0_MAX_FREQ) // > 33MHz + { + // Set a wait-state + flashc_set_wait_state(1); + if(cpu_f_hz <= AVR32_FLASHC_FWS_1_MAX_FREQ) // <= 66MHz and >33Mhz + { + // Disable the high-speed read mode. + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSDIS, -1); + } + else // > 66Mhz + { + // Enable the high-speed read mode. + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSEN, -1); + } + } + else // <= 33 MHz + { + // Disable wait-state + flashc_set_wait_state(0); + + // Disable the high-speed read mode. + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSDIS, -1); + + } +} +#endif // UC3C device-specific implementation + +//! @} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.h new file mode 100644 index 0000000..9f2547a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.h @@ -0,0 +1,1002 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief FLASHC driver for AVR32 UC3. + * + * AVR32 Flash Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a FLASHC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _FLASHC_H_ +#define _FLASHC_H_ + +#include <avr32/io.h> +#include <stddef.h> +#include "compiler.h" + +//! Number of flash regions defined by the FLASHC. +#define AVR32_FLASHC_REGIONS (AVR32_FLASHC_FLASH_SIZE /\ + (AVR32_FLASHC_PAGES_PR_REGION * AVR32_FLASHC_PAGE_SIZE)) + + +/*! \name Flash Properties + */ +//! @{ + +/*! \brief Gets the size of the whole flash array. + * + * \return The size of the whole flash array in bytes. + */ +extern unsigned int flashc_get_flash_size(void); + +/*! \brief Gets the total number of pages in the flash array. + * + * \return The total number of pages in the flash array. + */ +extern unsigned int flashc_get_page_count(void); + +/*! \brief Gets the number of pages in each flash region. + * + * \return The number of pages in each flash region. + */ +extern unsigned int flashc_get_page_count_per_region(void); + +/*! \brief Gets the region number of a page. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * + * \return The region number of the specified page. + */ +extern unsigned int flashc_get_page_region(int page_number); + +/*! \brief Gets the number of the first page of a region. + * + * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>. + * + * \return The number of the first page of the specified region. + */ +extern unsigned int flashc_get_region_first_page_number(unsigned int region); + +//! @} + + +/*! \name FLASHC Control + */ +//! @{ + +/*! \brief Gets the number of wait states of flash read accesses. + * + * \return The number of wait states of flash read accesses. + */ +extern unsigned int flashc_get_wait_state(void); + +/*! \brief Sets the number of wait states of flash read accesses. + * + * \param wait_state The number of wait states of flash read accesses: \c 0 to + * \c 1. + */ +extern void flashc_set_wait_state(unsigned int wait_state); + +/*! \brief Tells whether the Flash Ready interrupt is enabled. + * + * \return Whether the Flash Ready interrupt is enabled. + */ +extern Bool flashc_is_ready_int_enabled(void); + +/*! \brief Enables or disables the Flash Ready interrupt. + * + * \param enable Whether to enable the Flash Ready interrupt: \c TRUE or + * \c FALSE. + */ +extern void flashc_enable_ready_int(Bool enable); + +/*! \brief Tells whether the Lock Error interrupt is enabled. + * + * \return Whether the Lock Error interrupt is enabled. + */ +extern Bool flashc_is_lock_error_int_enabled(void); + +/*! \brief Enables or disables the Lock Error interrupt. + * + * \param enable Whether to enable the Lock Error interrupt: \c TRUE or + * \c FALSE. + */ +extern void flashc_enable_lock_error_int(Bool enable); + +/*! \brief Tells whether the Programming Error interrupt is enabled. + * + * \return Whether the Programming Error interrupt is enabled. + */ +extern Bool flashc_is_prog_error_int_enabled(void); + +/*! \brief Enables or disables the Programming Error interrupt. + * + * \param enable Whether to enable the Programming Error interrupt: \c TRUE or + * \c FALSE. + */ +extern void flashc_enable_prog_error_int(Bool enable); + +//! @} + + +/*! \name FLASHC Status + */ +//! @{ + +/*! \brief Tells whether the FLASHC is ready to run a new command. + * + * \return Whether the FLASHC is ready to run a new command. + */ +extern Bool flashc_is_ready(void); + +/*! \brief Waits actively until the FLASHC is ready to run a new command. + * + * This is the default function assigned to \ref flashc_wait_until_ready. + */ +extern void flashc_default_wait_until_ready(void); + +//! Pointer to the function used by the driver when it needs to wait until the +//! FLASHC is ready to run a new command. +//! The default function is \ref flashc_default_wait_until_ready. +//! The user may change this pointer to use another implementation. +extern void (*volatile flashc_wait_until_ready)(void); + +/*! \brief Tells whether a Lock Error has occurred during the last function + * called that issued one or more FLASHC commands. + * + * \return Whether a Lock Error has occurred during the last function called + * that issued one or more FLASHC commands. + */ +extern Bool flashc_is_lock_error(void); + +/*! \brief Tells whether a Programming Error has occurred during the last + * function called that issued one or more FLASHC commands. + * + * \return Whether a Programming Error has occurred during the last function + * called that issued one or more FLASHC commands. + */ +extern Bool flashc_is_programming_error(void); + +//! @} + + +/*! \name FLASHC Command Control + */ +//! @{ + +/*! \brief Gets the last issued FLASHC command. + * + * \return The last issued FLASHC command. + */ +extern unsigned int flashc_get_command(void); + +/*! \brief Gets the current FLASHC page number. + * + * \return The current FLASHC page number. + */ +extern unsigned int flashc_get_page_number(void); + +/*! \brief Issues a FLASHC command. + * + * \param command The command: \c AVR32_FLASHC_FCMD_CMD_x. + * \param page_number The page number to apply the command to: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: use this to apply the command to the current page number + * or if the command does not apply to any page number; + * \arg this argument may have other meanings according to the command. See + * the FLASHC chapter of the MCU datasheet. + * + * \warning A Lock Error is issued if the command violates the protection + * mechanism. + * + * \warning A Programming Error is issued if the command is invalid. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_issue_command(unsigned int command, int page_number); + +//! @} + + +/*! \name FLASHC Global Commands + */ +//! @{ + +/*! \brief Issues a No Operation command to the FLASHC. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_no_operation(void); + +/*! \brief Issues an Erase All command to the FLASHC. + * + * This command erases all bits in the flash array, the general-purpose fuse + * bits and the Security bit. The User page is not erased. + * + * This command also ensures that all volatile memories, such as register file + * and RAMs, are erased before the Security bit is erased, i.e. deactivated. + * + * \warning A Lock Error is issued if at least one region is locked or the + * bootloader protection is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + */ +extern void flashc_erase_all(void); + +//! @} + + +/*! \name FLASHC Protection Mechanisms + */ +//! @{ + +/*! \brief Tells whether the Security bit is active. + * + * \return Whether the Security bit is active. + */ +extern Bool flashc_is_security_bit_active(void); + +/*! \brief Activates the Security bit. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_activate_security_bit(void); + +/*! \brief Gets the bootloader protected size. + * + * \return The bootloader protected size in bytes. + */ +extern unsigned int flashc_get_bootloader_protected_size(void); + +/*! \brief Sets the bootloader protected size. + * + * \param bootprot_size The wanted bootloader protected size in bytes. If this + * size is not supported, the actual size will be the + * nearest greater available size or the maximal possible + * size if the requested size is too large. + * + * \return The actual bootloader protected size in bytes. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern unsigned int flashc_set_bootloader_protected_size(unsigned int bootprot_size); + +/*! \brief Tells whether external privileged fetch is locked. + * + * \return Whether external privileged fetch is locked. + */ +extern Bool flashc_is_external_privileged_fetch_locked(void); + +/*! \brief Locks or unlocks external privileged fetch. + * + * \param lock Whether to lock external privileged fetch: \c TRUE or \c FALSE. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_lock_external_privileged_fetch(Bool lock); + +/*! \brief Tells whether the region of a page is locked. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * + * \return Whether the region of the specified page is locked. + */ +extern Bool flashc_is_page_region_locked(int page_number); + +/*! \brief Tells whether a region is locked. + * + * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>. + * + * \return Whether the specified region is locked. + */ +extern Bool flashc_is_region_locked(unsigned int region); + +/*! \brief Locks or unlocks the region of a page. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * \param lock Whether to lock the region of the specified page: \c TRUE or + * \c FALSE. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_lock_page_region(int page_number, Bool lock); + +/*! \brief Locks or unlocks a region. + * + * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>. + * \param lock Whether to lock the specified region: \c TRUE or \c FALSE. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_lock_region(unsigned int region, Bool lock); + +/*! \brief Locks or unlocks all regions. + * + * \param lock Whether to lock the regions: \c TRUE or \c FALSE. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_lock_all_regions(Bool lock); + +//! @} + + +/*! \name Access to General-Purpose Fuses + */ +//! @{ + +/*! \brief Reads a general-purpose fuse bit. + * + * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63. + * + * \return The value of the specified general-purpose fuse bit. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_read_gp_fuse_bit(unsigned int gp_fuse_bit); + +/*! \brief Reads a general-purpose fuse bit-field. + * + * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to + * \c 63. + * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to + * \c 64. + * + * \return The value of the specified general-purpose fuse bit-field. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern U64 flashc_read_gp_fuse_bitfield(unsigned int pos, unsigned int width); + +/*! \brief Reads a general-purpose fuse byte. + * + * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7. + * + * \return The value of the specified general-purpose fuse byte. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern U8 flashc_read_gp_fuse_byte(unsigned int gp_fuse_byte); + +/*! \brief Reads all general-purpose fuses. + * + * \return The value of all general-purpose fuses as a word. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern U64 flashc_read_all_gp_fuses(void); + +/*! \brief Erases a general-purpose fuse bit. + * + * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63. + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_erase_gp_fuse_bit(unsigned int gp_fuse_bit, Bool check); + +/*! \brief Erases a general-purpose fuse bit-field. + * + * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to + * \c 63. + * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to + * \c 64. + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_erase_gp_fuse_bitfield(unsigned int pos, unsigned int width, Bool check); + +/*! \brief Erases a general-purpose fuse byte. + * + * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7. + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_erase_gp_fuse_byte(unsigned int gp_fuse_byte, Bool check); + +/*! \brief Erases all general-purpose fuses. + * + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_erase_all_gp_fuses(Bool check); + +/*! \brief Writes a general-purpose fuse bit. + * + * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63. + * \param value The value of the specified general-purpose fuse bit. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_write_gp_fuse_bit(unsigned int gp_fuse_bit, Bool value); + +/*! \brief Writes a general-purpose fuse bit-field. + * + * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to + * \c 63. + * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to + * \c 64. + * \param value The value of the specified general-purpose fuse bit-field. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_write_gp_fuse_bitfield(unsigned int pos, unsigned int width, U64 value); + +/*! \brief Writes a general-purpose fuse byte. + * + * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7. + * \param value The value of the specified general-purpose fuse byte. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_write_gp_fuse_byte(unsigned int gp_fuse_byte, U8 value); + +/*! \brief Writes all general-purpose fuses. + * + * \param value The value of all general-purpose fuses as a word. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_write_all_gp_fuses(U64 value); + +/*! \brief Sets a general-purpose fuse bit with the appropriate erase and write + * operations. + * + * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63. + * \param value The value of the specified general-purpose fuse bit. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_set_gp_fuse_bit(unsigned int gp_fuse_bit, Bool value); + +/*! \brief Sets a general-purpose fuse bit-field with the appropriate erase and + * write operations. + * + * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to + * \c 63. + * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to + * \c 64. + * \param value The value of the specified general-purpose fuse bit-field. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_set_gp_fuse_bitfield(unsigned int pos, unsigned int width, U64 value); + +/*! \brief Sets a general-purpose fuse byte with the appropriate erase and write + * operations. + * + * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7. + * \param value The value of the specified general-purpose fuse byte. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_set_gp_fuse_byte(unsigned int gp_fuse_byte, U8 value); + +/*! \brief Sets all general-purpose fuses with the appropriate erase and write + * operations. + * + * \param value The value of all general-purpose fuses as a word. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_set_all_gp_fuses(U64 value); + +//! @} + + +/*! \name Access to Flash Pages + */ +//! @{ + +/*! \brief Clears the page buffer. + * + * This command resets all bits in the page buffer to one. Write accesses to the + * page buffer can only change page buffer bits from one to zero. + * + * \warning The page buffer is not automatically reset after a page write. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_clear_page_buffer(void); + +/*! \brief Tells whether the page to which the last Quick Page Read or Quick + * Page Read User Page command was applied was erased. + * + * \return Whether the page to which the last Quick Page Read or Quick Page Read + * User Page command was applied was erased. + */ +extern Bool flashc_is_page_erased(void); + +/*! \brief Applies the Quick Page Read command to a page. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * + * \return Whether the specified page is erased. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern Bool flashc_quick_page_read(int page_number); + +/*! \brief Erases a page. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the command is applied to a page belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + */ +extern Bool flashc_erase_page(int page_number, Bool check); + +/*! \brief Erases all pages within the flash array. + * + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if at least one region is locked or the + * bootloader protection is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + */ +extern Bool flashc_erase_all_pages(Bool check); + +/*! \brief Writes a page from the page buffer. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * + * \warning A Lock Error is issued if the command is applied to a page belonging + * to a locked region or to the bootloader protected area. + * + * \warning The page buffer is not automatically reset after a page write. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + */ +extern void flashc_write_page(int page_number); + +/*! \brief Issues a Quick Page Read User Page command to the FLASHC. + * + * \return Whether the User page is erased. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern Bool flashc_quick_user_page_read(void); + +/*! \brief Erases the User page. + * + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + */ +extern Bool flashc_erase_user_page(Bool check); + +/*! \brief Writes the User page from the page buffer. + * + * \warning The page buffer is not automatically reset after a page write. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + */ +extern void flashc_write_user_page(void); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src source byte. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source byte. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memset8(volatile void *dst, U8 src, size_t nbytes, Bool erase); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src big-endian source half-word. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source half-word. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memset16(volatile void *dst, U16 src, size_t nbytes, Bool erase); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src big-endian source word. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source word. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memset32(volatile void *dst, U32 src, size_t nbytes, Bool erase); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src big-endian source double-word. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source double-word. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memset64(volatile void *dst, U64 src, size_t nbytes, Bool erase); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src big-endian source pattern. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source double-word. + * \param src_width \a src width in bits: 8, 16, 32 or 64. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +#define flashc_memset(dst, src, src_width, nbytes, erase) \ + TPASTE2(flashc_memset, src_width)((dst), (src), (nbytes), (erase)) + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the source pointed to by \a src. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Pointer to source data. + * \param nbytes Number of bytes to copy. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning If copying takes place between areas that overlap, the behavior is + * undefined. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memcpy(volatile void *dst, const void *src, size_t nbytes, Bool erase); + +#if UC3C + +/*! \brief Depednding to the CPU frequency, set the wait states of flash read + * accesses and enable or disable the High speed read mode. + * + * \param cpu_f_hz The CPU frequency + */ +void flashc_set_flash_waitstate_and_readmode(unsigned long cpu_f_hz); +#endif // UC3C device-specific implementation + +//! @} + + +#endif // _FLASHC_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c new file mode 100644 index 0000000..b6b83c7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c @@ -0,0 +1,458 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief GPIO driver for AVR32 UC3. + * + * This file defines a useful set of functions for the GPIO. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a GPIO module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "gpio.h" + +//! GPIO module instance. +#define GPIO AVR32_GPIO + + +/*! \name Peripheral Bus Interface + */ +//! @{ + + +int gpio_enable_module(const gpio_map_t gpiomap, unsigned int size) +{ + int status = GPIO_SUCCESS; + unsigned int i; + + for (i = 0; i < size; i++) + { + status |= gpio_enable_module_pin(gpiomap->pin, gpiomap->function); + gpiomap++; + } + + return status; +} + + +int gpio_enable_module_pin(unsigned int pin, unsigned int function) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + // Enable the correct function. + switch (function) + { + case 0: // A function. + gpio_port->pmr0c = 1 << (pin & 0x1F); + gpio_port->pmr1c = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pmr2c = 1 << (pin & 0x1F); +#endif + break; + + case 1: // B function. + gpio_port->pmr0s = 1 << (pin & 0x1F); + gpio_port->pmr1c = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pmr2c = 1 << (pin & 0x1F); +#endif + break; + + case 2: // C function. + gpio_port->pmr0c = 1 << (pin & 0x1F); + gpio_port->pmr1s = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pmr2c = 1 << (pin & 0x1F); +#endif + break; + + case 3: // D function. + gpio_port->pmr0s = 1 << (pin & 0x1F); + gpio_port->pmr1s = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pmr2c = 1 << (pin & 0x1F); +#endif + break; + +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + case 4: // E function. + gpio_port->pmr0c = 1 << (pin & 0x1F); + gpio_port->pmr1c = 1 << (pin & 0x1F); + gpio_port->pmr2s = 1 << (pin & 0x1F); + break; + + case 5: // F function. + gpio_port->pmr0s = 1 << (pin & 0x1F); + gpio_port->pmr1c = 1 << (pin & 0x1F); + gpio_port->pmr2s = 1 << (pin & 0x1F); + break; + + case 6: // G function. + gpio_port->pmr0c = 1 << (pin & 0x1F); + gpio_port->pmr1s = 1 << (pin & 0x1F); + gpio_port->pmr2s = 1 << (pin & 0x1F); + break; + + case 7: // H function. + gpio_port->pmr0s = 1 << (pin & 0x1F); + gpio_port->pmr1s = 1 << (pin & 0x1F); + gpio_port->pmr2s = 1 << (pin & 0x1F); + break; +#endif + + default: + return GPIO_INVALID_ARGUMENT; + } + + // Disable GPIO control. + gpio_port->gperc = 1 << (pin & 0x1F); + + return GPIO_SUCCESS; +} + + +void gpio_enable_gpio(const gpio_map_t gpiomap, unsigned int size) +{ + unsigned int i; + + for (i = 0; i < size; i++) + { + gpio_enable_gpio_pin(gpiomap->pin); + gpiomap++; + } +} + + +void gpio_enable_gpio_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->oderc = 1 << (pin & 0x1F); + gpio_port->gpers = 1 << (pin & 0x1F); +} + + +// The open-drain mode is not synthesized on the current AVR32 products. +// If one day some AVR32 products have this feature, the corresponding part +// numbers should be listed in the #if below. +// Note that other functions are available in this driver to use pins with open +// drain in GPIO mode. The advantage of the open-drain mode functions over these +// other functions is that they can be used not only in GPIO mode but also in +// module mode. +#if 0 + + +void gpio_enable_pin_open_drain(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->odmers = 1 << (pin & 0x1F); +} + + +void gpio_disable_pin_open_drain(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->odmerc = 1 << (pin & 0x1F); +} + + +#endif + + +void gpio_enable_pin_pull_up(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puers = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_200_H_INCLUDED) || defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pderc = 1 << (pin & 0x1F); +#endif +} + + +void gpio_disable_pin_pull_up(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puerc = 1 << (pin & 0x1F); +} + +#if defined(AVR32_GPIO_200_H_INCLUDED) || defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) +// Added support of Pull-up Resistor, Pull-down Resistor and Buskeeper Control. + +/*! \brief Enables the pull-down resistor of a pin. + * + * \param pin The pin number. + */ +void gpio_enable_pin_pull_down(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puerc = 1 << (pin & 0x1F); + gpio_port->pders = 1 << (pin & 0x1F); +} + +/*! \brief Disables the pull-down resistor of a pin. + * + * \param pin The pin number. + */ +void gpio_disable_pin_pull_down(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->pderc = 1 << (pin & 0x1F); +} + +/*! \brief Enables the buskeeper functionality on a pin. + * + * \param pin The pin number. + */ +void gpio_enable_pin_buskeeper(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puers = 1 << (pin & 0x1F); + gpio_port->pders = 1 << (pin & 0x1F); +} + +/*! \brief Disables the buskeeper functionality on a pin. + * + * \param pin The pin number. + */ +void gpio_disable_pin_buskeeper(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puerc = 1 << (pin & 0x1F); + gpio_port->pderc = 1 << (pin & 0x1F); +} + +#endif + +int gpio_get_pin_value(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + return (gpio_port->pvr >> (pin & 0x1F)) & 1; +} + + +int gpio_get_gpio_pin_output_value(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + return (gpio_port->ovr >> (pin & 0x1F)) & 1; +} + + +int gpio_get_gpio_open_drain_pin_output_value(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + return ((gpio_port->oder >> (pin & 0x1F)) & 1) ^ 1; +} + + +void gpio_set_gpio_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrs = 1 << (pin & 0x1F); // Value to be driven on the I/O line: 1. + gpio_port->oders = 1 << (pin & 0x1F); // The GPIO output driver is enabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_clr_gpio_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrc = 1 << (pin & 0x1F); // Value to be driven on the I/O line: 0. + gpio_port->oders = 1 << (pin & 0x1F); // The GPIO output driver is enabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_tgl_gpio_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrt = 1 << (pin & 0x1F); // Toggle the I/O line. + gpio_port->oders = 1 << (pin & 0x1F); // The GPIO output driver is enabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_set_gpio_open_drain_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->oderc = 1 << (pin & 0x1F); // The GPIO output driver is disabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_clr_gpio_open_drain_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrc = 1 << (pin & 0x1F); // Value to be driven on the I/O line: 0. + gpio_port->oders = 1 << (pin & 0x1F); // The GPIO output driver is enabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_tgl_gpio_open_drain_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrc = 1 << (pin & 0x1F); // Value to be driven on the I/O line if the GPIO output driver is enabled: 0. + gpio_port->odert = 1 << (pin & 0x1F); // The GPIO output driver is toggled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_enable_pin_glitch_filter(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->gfers = 1 << (pin & 0x1F); +} + + +void gpio_disable_pin_glitch_filter(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->gferc = 1 << (pin & 0x1F); +} + +/*! \brief Configure the edge detector of an input pin + * + * \param pin The pin number. + * \param mode The edge detection mode (\ref GPIO_PIN_CHANGE, \ref GPIO_RISING_EDGE + * or \ref GPIO_FALLING_EDGE). + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +static int gpio_configure_edge_detector(unsigned int pin, unsigned int mode) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + // Configure the edge detector. + switch (mode) + { + case GPIO_PIN_CHANGE: + gpio_port->imr0c = 1 << (pin & 0x1F); + gpio_port->imr1c = 1 << (pin & 0x1F); + break; + + case GPIO_RISING_EDGE: + gpio_port->imr0s = 1 << (pin & 0x1F); + gpio_port->imr1c = 1 << (pin & 0x1F); + break; + + case GPIO_FALLING_EDGE: + gpio_port->imr0c = 1 << (pin & 0x1F); + gpio_port->imr1s = 1 << (pin & 0x1F); + break; + + default: + return GPIO_INVALID_ARGUMENT; + } + + return GPIO_SUCCESS; +} + + +int gpio_enable_pin_interrupt(unsigned int pin, unsigned int mode) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + // Enable the glitch filter. + gpio_port->gfers = 1 << (pin & 0x1F); + + // Configure the edge detector. + if(GPIO_INVALID_ARGUMENT == gpio_configure_edge_detector(pin, mode)) + return(GPIO_INVALID_ARGUMENT); + + // Enable interrupt. + gpio_port->iers = 1 << (pin & 0x1F); + + return GPIO_SUCCESS; +} + + +void gpio_disable_pin_interrupt(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->ierc = 1 << (pin & 0x1F); +} + + +int gpio_get_pin_interrupt_flag(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + return (gpio_port->ifr >> (pin & 0x1F)) & 1; +} + + +void gpio_clear_pin_interrupt_flag(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->ifrc = 1 << (pin & 0x1F); +} + + +//# +//# Peripheral Event System Support. +//# +#if UC3L +int gpio_configure_pin_periph_event_mode(unsigned int pin, unsigned int mode, unsigned int use_igf) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + if(TRUE == use_igf) + { + // Enable the glitch filter. + gpio_port->gfers = 1 << (pin & 0x1F); + } + else + { + // Disable the glitch filter. + gpio_port->gferc = 1 << (pin & 0x1F); + } + + // Configure the edge detector. + return(gpio_configure_edge_detector(pin, mode)); +} + +#endif + +//! @} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h new file mode 100644 index 0000000..f0b5fd8 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h @@ -0,0 +1,583 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief GPIO header for AVR32 UC3. + * + * This file contains basic GPIO driver functions. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a GPIO module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _GPIO_H_ +#define _GPIO_H_ + +#include <avr32/io.h> +#include "compiler.h" + +/*! \name Return Values of the GPIO API + */ +//! @{ +#define GPIO_SUCCESS 0 //!< Function successfully completed. +#define GPIO_INVALID_ARGUMENT 1 //!< Input parameters are out of range. +//! @} + + +/*! \name Interrupt Trigger Modes + */ +//! @{ +#define GPIO_PIN_CHANGE 0 //!< Interrupt triggered upon pin change. +#define GPIO_RISING_EDGE 1 //!< Interrupt triggered upon rising edge. +#define GPIO_FALLING_EDGE 2 //!< Interrupt triggered upon falling edge. +//! @} + + +//! A type definition of pins and modules connectivity. +typedef struct +{ + unsigned char pin; //!< Module pin. + unsigned char function; //!< Module function. +} gpio_map_t[]; + + +/*! \name Peripheral Bus Interface + * + * Low-speed interface with a non-deterministic number of clock cycles per + * access. + * + * This interface operates with lower clock frequencies (fPB <= fCPU), and its + * timing is not deterministic since it needs to access a shared bus which may + * be heavily loaded. + * + * \note This interface is immediately available without initialization. + */ +//! @{ + +/*! \brief Enables specific module modes for a set of pins. + * + * \param gpiomap The pin map. + * \param size The number of pins in \a gpiomap. + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +extern int gpio_enable_module(const gpio_map_t gpiomap, unsigned int size); + +/*! \brief Enables a specific module mode for a pin. + * + * \param pin The pin number.\n + * Refer to the product header file `uc3x.h' (where x is the part + * number; e.g. x = a0512) for module pins. E.g., to enable a PWM + * channel output, the pin number can be AVR32_PWM_3_PIN for PWM + * channel 3. + * \param function The pin function.\n + * Refer to the product header file `uc3x.h' (where x is the + * part number; e.g. x = a0512) for module pin functions. E.g., + * to enable a PWM channel output, the pin function can be + * AVR32_PWM_3_FUNCTION for PWM channel 3. + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +extern int gpio_enable_module_pin(unsigned int pin, unsigned int function); + +/*! \brief Enables the GPIO mode of a set of pins. + * + * \param gpiomap The pin map. + * \param size The number of pins in \a gpiomap. + */ +extern void gpio_enable_gpio(const gpio_map_t gpiomap, unsigned int size); + +/*! \brief Enables the GPIO mode of a pin. + * + * \param pin The pin number.\n + * Refer to the product header file `uc3x.h' (where x is the part + * number; e.g. x = a0512) for pin definitions. E.g., to enable the + * GPIO mode of PX21, AVR32_PIN_PX21 can be used. Module pins such as + * AVR32_PWM_3_PIN for PWM channel 3 can also be used to release + * module pins for GPIO. + */ +extern void gpio_enable_gpio_pin(unsigned int pin); + +// The open-drain mode is not synthesized on the current AVR32 products. +// If one day some AVR32 products have this feature, the corresponding part +// numbers should be listed in the #if below. +// Note that other functions are available in this driver to use pins with open +// drain in GPIO mode. The advantage of the open-drain mode functions over these +// other functions is that they can be used not only in GPIO mode but also in +// module mode. +#if 0 + +/*! \brief Enables the open-drain mode of a pin. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_open_drain(unsigned int pin); + +/*! \brief Disables the open-drain mode of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_open_drain(unsigned int pin); + +#endif + +/*! \brief Enables the pull-up resistor of a pin. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_pull_up(unsigned int pin); + +/*! \brief Disables the pull-up resistor of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_pull_up(unsigned int pin); + +#if defined(AVR32_GPIO_200_H_INCLUDED) || defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) +// Added support of Pull-up Resistor, Pull-down Resistor and Buskeeper Control. + +/*! \brief Enables the pull-down resistor of a pin. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_pull_down(unsigned int pin); + +/*! \brief Disables the pull-down resistor of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_pull_down(unsigned int pin); + +/*! \brief Enables the buskeeper functionality on a pin. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_buskeeper(unsigned int pin); + +/*! \brief Disables the buskeeper functionality on a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_buskeeper(unsigned int pin); + +#endif + +/*! \brief Returns the value of a pin. + * + * \param pin The pin number. + * + * \return The pin value. + */ +extern int gpio_get_pin_value(unsigned int pin); + +/*! \brief Returns the output value set for a GPIO pin. + * + * \param pin The pin number. + * + * \return The pin output value. + * + * \note This function must be used in conjunction with \ref gpio_set_gpio_pin, + * \ref gpio_clr_gpio_pin and \ref gpio_tgl_gpio_pin. + */ +extern int gpio_get_gpio_pin_output_value(unsigned int pin); + +/*! \brief Returns the output value set for a GPIO pin using open drain. + * + * \param pin The pin number. + * + * \return The pin output value. + * + * \note This function must be used in conjunction with + * \ref gpio_set_gpio_open_drain_pin, \ref gpio_clr_gpio_open_drain_pin + * and \ref gpio_tgl_gpio_open_drain_pin. + */ +extern int gpio_get_gpio_open_drain_pin_output_value(unsigned int pin); + +/*! \brief Drives a GPIO pin to 1. + * + * \param pin The pin number. + */ +extern void gpio_set_gpio_pin(unsigned int pin); + +/*! \brief Drives a GPIO pin to 0. + * + * \param pin The pin number. + */ +extern void gpio_clr_gpio_pin(unsigned int pin); + +/*! \brief Toggles a GPIO pin. + * + * \param pin The pin number. + */ +extern void gpio_tgl_gpio_pin(unsigned int pin); + +/*! \brief Drives a GPIO pin to 1 using open drain. + * + * \param pin The pin number. + */ +extern void gpio_set_gpio_open_drain_pin(unsigned int pin); + +/*! \brief Drives a GPIO pin to 0 using open drain. + * + * \param pin The pin number. + */ +extern void gpio_clr_gpio_open_drain_pin(unsigned int pin); + +/*! \brief Toggles a GPIO pin using open drain. + * + * \param pin The pin number. + */ +extern void gpio_tgl_gpio_open_drain_pin(unsigned int pin); + +/*! \brief Enables the glitch filter of a pin. + * + * When the glitch filter is enabled, a glitch with duration of less than 1 + * clock cycle is automatically rejected, while a pulse with duration of 2 clock + * cycles or more is accepted. For pulse durations between 1 clock cycle and 2 + * clock cycles, the pulse may or may not be taken into account, depending on + * the precise timing of its occurrence. Thus for a pulse to be guaranteed + * visible it must exceed 2 clock cycles, whereas for a glitch to be reliably + * filtered out, its duration must not exceed 1 clock cycle. The filter + * introduces 2 clock cycles latency. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_glitch_filter(unsigned int pin); + +/*! \brief Disables the glitch filter of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_glitch_filter(unsigned int pin); + +/*! \brief Enables the interrupt of a pin with the specified settings. + * + * \param pin The pin number. + * \param mode The trigger mode (\ref GPIO_PIN_CHANGE, \ref GPIO_RISING_EDGE or + * \ref GPIO_FALLING_EDGE). + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +extern int gpio_enable_pin_interrupt(unsigned int pin, unsigned int mode); + +/*! \brief Disables the interrupt of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_interrupt(unsigned int pin); + +/*! \brief Gets the interrupt flag of a pin. + * + * \param pin The pin number. + * + * \return The pin interrupt flag. + */ +extern int gpio_get_pin_interrupt_flag(unsigned int pin); + +/*! \brief Clears the interrupt flag of a pin. + * + * \param pin The pin number. + */ +extern void gpio_clear_pin_interrupt_flag(unsigned int pin); + +//! @} + + +#if (defined AVR32_GPIO_LOCAL_ADDRESS) +/*! \name Local Bus Interface + * + * High-speed interface with only one clock cycle per access. + * + * This interface operates with high clock frequency (fCPU), and its timing is + * deterministic since it does not need to access a shared bus which may be + * heavily loaded. + * + * \warning To use this interface, the clock frequency of the peripheral bus on + * which the GPIO peripheral is connected must be set to the CPU clock + * frequency (fPB = fCPU). + * + * \note This interface has to be initialized in order to be available. + */ +//! @{ + +/*! \brief Enables the local bus interface for GPIO. + * + * \note This function must have been called at least once before using other + * functions in this interface. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_init(void) +{ + Set_system_register(AVR32_CPUCR, + Get_system_register(AVR32_CPUCR) | AVR32_CPUCR_LOCEN_MASK); +} + +/*! \brief Enables the output driver of a pin. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin. + * \ref gpio_enable_gpio_pin can be called for this purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_enable_pin_output_driver(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].oders = 1 << (pin & 0x1F); +} + +/*! \brief Disables the output driver of a pin. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_disable_pin_output_driver(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].oderc = 1 << (pin & 0x1F); +} + +/*! \brief Returns the value of a pin. + * + * \param pin The pin number. + * + * \return The pin value. + * + * \note \ref gpio_local_init must have been called beforehand. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int gpio_local_get_pin_value(unsigned int pin) +{ + return (AVR32_GPIO_LOCAL.port[pin >> 5].pvr >> (pin & 0x1F)) & 1; +} + +/*! \brief Drives a GPIO pin to 1. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin nor its output + * driver. \ref gpio_enable_gpio_pin and + * \ref gpio_local_enable_pin_output_driver can be called for this + * purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_set_gpio_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].ovrs = 1 << (pin & 0x1F); +} + +/*! \brief Drives a GPIO pin to 0. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin nor its output + * driver. \ref gpio_enable_gpio_pin and + * \ref gpio_local_enable_pin_output_driver can be called for this + * purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_clr_gpio_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].ovrc = 1 << (pin & 0x1F); +} + +/*! \brief Toggles a GPIO pin. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin nor its output + * driver. \ref gpio_enable_gpio_pin and + * \ref gpio_local_enable_pin_output_driver can be called for this + * purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_tgl_gpio_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].ovrt = 1 << (pin & 0x1F); +} + +/*! \brief Initializes the configuration of a GPIO pin so that it can be used + * with GPIO open-drain functions. + * + * \note This function must have been called at least once before using + * \ref gpio_local_set_gpio_open_drain_pin, + * \ref gpio_local_clr_gpio_open_drain_pin or + * \ref gpio_local_tgl_gpio_open_drain_pin. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_init_gpio_open_drain_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].ovrc = 1 << (pin & 0x1F); +} + +/*! \brief Drives a GPIO pin to 1 using open drain. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init and \ref gpio_local_init_gpio_open_drain_pin must + * have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin. + * \ref gpio_enable_gpio_pin can be called for this purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_set_gpio_open_drain_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].oderc = 1 << (pin & 0x1F); +} + +/*! \brief Drives a GPIO pin to 0 using open drain. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init and \ref gpio_local_init_gpio_open_drain_pin must + * have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin. + * \ref gpio_enable_gpio_pin can be called for this purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_clr_gpio_open_drain_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].oders = 1 << (pin & 0x1F); +} + +/*! \brief Toggles a GPIO pin using open drain. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init and \ref gpio_local_init_gpio_open_drain_pin must + * have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin. + * \ref gpio_enable_gpio_pin can be called for this purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_tgl_gpio_open_drain_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].odert = 1 << (pin & 0x1F); +} + +//! @} +#endif // AVR32_GPIO_LOCAL_ADDRESS + +#if UC3L +//! @{ +/*! \name Peripheral Event System support + * + * The GPIO can be programmed to output peripheral events whenever an interrupt + * condition is detected, such as pin value change, or only when a rising or + * falling edge is detected. + * + */ + +/*! \brief Enables the peripheral event generation of a pin. + * + * \param pin The pin number. + * + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_enable_pin_periph_event(unsigned int pin) +{ + AVR32_GPIO.port[pin >> 5].oderc = 1 << (pin & 0x1F); // The GPIO output driver is disabled for that pin. + AVR32_GPIO.port[pin >> 5].evers = 1 << (pin & 0x1F); +} + +/*! \brief Disables the peripheral event generation of a pin. + * + * \param pin The pin number. + * + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_disable_pin_periph_event(unsigned int pin) +{ + AVR32_GPIO.port[pin >> 5].everc = 1 << (pin & 0x1F); +} + +/*! \brief Configure the peripheral event trigger mode of a pin + * + * \param pin The pin number. + * \param mode The trigger mode (\ref GPIO_PIN_CHANGE, \ref GPIO_RISING_EDGE or + * \ref GPIO_FALLING_EDGE). + * \param use_igf use the Input Glitch Filter (TRUE) or not (FALSE). + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +extern int gpio_configure_pin_periph_event_mode(unsigned int pin, unsigned int mode, unsigned int use_igf); + +//! @} +#endif + + +#endif // _GPIO_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/exception.x b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/exception.x new file mode 100644 index 0000000..ec4109d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/exception.x @@ -0,0 +1,239 @@ +/* This file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Exception and interrupt vectors. + * + * This file maps all events supported by an AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an INTC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#if !__AVR32_UC__ && !__AVR32_AP__ + #error Implementation of the AVR32 architecture not supported by the INTC driver. +#endif + + +#include <avr32/io.h> + + +//! @{ +//! \verbatim + + + .section .exception, "ax", @progbits + + +// Start of Exception Vector Table. + + // EVBA must be aligned with a power of two strictly greater than the EVBA- + // relative offset of the last vector. + .balign 0x200 + + // Export symbol. + .global _evba + .type _evba, @function +_evba: + + .org 0x000 + // Unrecoverable Exception. +_handle_Unrecoverable_Exception: + rjmp $ + + .org 0x004 + // TLB Multiple Hit. +_handle_TLB_Multiple_Hit: + rjmp $ + + .org 0x008 + // Bus Error Data Fetch. +_handle_Bus_Error_Data_Fetch: + rjmp $ + + .org 0x00C + // Bus Error Instruction Fetch. +_handle_Bus_Error_Instruction_Fetch: + rjmp $ + + .org 0x010 + // NMI. +_handle_NMI: + rjmp $ + + .org 0x014 + // Instruction Address. +_handle_Instruction_Address: + rjmp $ + + .org 0x018 + // ITLB Protection. +_handle_ITLB_Protection: + rjmp $ + + .org 0x01C + // Breakpoint. +_handle_Breakpoint: + rjmp $ + + .org 0x020 + // Illegal Opcode. +_handle_Illegal_Opcode: + rjmp $ + + .org 0x024 + // Unimplemented Instruction. +_handle_Unimplemented_Instruction: + rjmp $ + + .org 0x028 + // Privilege Violation. +_handle_Privilege_Violation: + rjmp $ + + .org 0x02C + // Floating-Point: UNUSED IN AVR32UC and AVR32AP. +_handle_Floating_Point: + rjmp $ + + .org 0x030 + // Coprocessor Absent: UNUSED IN AVR32UC. +_handle_Coprocessor_Absent: + rjmp $ + + .org 0x034 + // Data Address (Read). +_handle_Data_Address_Read: + rjmp $ + + .org 0x038 + // Data Address (Write). +_handle_Data_Address_Write: + rjmp $ + + .org 0x03C + // DTLB Protection (Read). +_handle_DTLB_Protection_Read: + rjmp $ + + .org 0x040 + // DTLB Protection (Write). +_handle_DTLB_Protection_Write: + rjmp $ + + .org 0x044 + // DTLB Modified: UNUSED IN AVR32UC. +_handle_DTLB_Modified: + rjmp $ + + .org 0x050 + // ITLB Miss. +_handle_ITLB_Miss: + rjmp $ + + .org 0x060 + // DTLB Miss (Read). +_handle_DTLB_Miss_Read: + rjmp $ + + .org 0x070 + // DTLB Miss (Write). +_handle_DTLB_Miss_Write: + rjmp $ + + .org 0x100 + // Supervisor Call. +_handle_Supervisor_Call: + rjmp $ + + +// Interrupt support. +// The interrupt controller must provide the offset address relative to EVBA. +// Important note: +// All interrupts call a C function named _get_interrupt_handler. +// This function will read group and interrupt line number to then return in +// R12 a pointer to a user-provided interrupt handler. + + .balign 4 + + .irp priority, 0, 1, 2, 3 +_int\priority: +#if __AVR32_UC__ + // R8-R12, LR, PC and SR are automatically pushed onto the system stack by the + // CPU upon interrupt entry. No other register is saved by hardware. +#elif __AVR32_AP__ + // PC and SR are automatically saved in respectively RAR_INTx and RSR_INTx by + // the CPU upon interrupt entry. No other register is saved by hardware. + pushm r8-r12, lr +#endif + mov r12, \priority // Pass the int_level parameter to the _get_interrupt_handler function. + call _get_interrupt_handler + cp.w r12, 0 // Get the pointer to the interrupt handler returned by the function. +#if __AVR32_UC__ + movne pc, r12 // If this was not a spurious interrupt (R12 != NULL), jump to the handler. +#elif __AVR32_AP__ + breq spint\priority // If this was a spurious interrupt (R12 == NULL), branch. + st.w --sp, r12 // Push the pointer to the interrupt handler onto the system stack since no register may be altered. + popm r8-r12, lr, pc // Restore registers and jump to the handler. +spint\priority: + popm r8-r12, lr +#endif + rete // If this was a spurious interrupt (R12 == NULL), return from event handler. + .endr + + +// Constant data area. + + .balign 4 + + // Values to store in the interrupt priority registers for the various interrupt priority levels. + // The interrupt priority registers contain the interrupt priority level and + // the EVBA-relative interrupt vector offset. + .global ipr_val + .type ipr_val, @object +ipr_val: + .word (AVR32_INTC_INT0 << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (_int0 - _evba),\ + (AVR32_INTC_INT1 << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (_int1 - _evba),\ + (AVR32_INTC_INT2 << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (_int2 - _evba),\ + (AVR32_INTC_INT3 << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (_int3 - _evba) + + +//! \endverbatim +//! @} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c new file mode 100644 index 0000000..84d498d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c @@ -0,0 +1,214 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief INTC driver for AVR32 UC3. + * + * AVR32 Interrupt Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an INTC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include "compiler.h" +#include "preprocessor.h" +#include "intc.h" + +// define _evba from exception.S +extern void _evba; + +//! Values to store in the interrupt priority registers for the various interrupt priority levels. +extern const unsigned int ipr_val[AVR32_INTC_NUM_INT_LEVELS]; + +//! Creates a table of interrupt line handlers per interrupt group in order to optimize RAM space. +//! Each line handler table contains a set of pointers to interrupt handlers. +#if (defined __GNUC__) +#define DECL_INT_LINE_HANDLER_TABLE(GRP, unused) \ +static volatile __int_handler _int_line_handler_table_##GRP[Max(AVR32_INTC_NUM_IRQS_PER_GRP##GRP, 1)]; +#elif (defined __ICCAVR32__) +#define DECL_INT_LINE_HANDLER_TABLE(GRP, unused) \ +static volatile __no_init __int_handler _int_line_handler_table_##GRP[Max(AVR32_INTC_NUM_IRQS_PER_GRP##GRP, 1)]; +#endif +MREPEAT(AVR32_INTC_NUM_INT_GRPS, DECL_INT_LINE_HANDLER_TABLE, ~); +#undef DECL_INT_LINE_HANDLER_TABLE + +//! Table containing for each interrupt group the number of interrupt request +//! lines and a pointer to the table of interrupt line handlers. +static const struct +{ + unsigned int num_irqs; + volatile __int_handler *_int_line_handler_table; +} _int_handler_table[AVR32_INTC_NUM_INT_GRPS] = +{ +#define INSERT_INT_LINE_HANDLER_TABLE(GRP, unused) \ + {AVR32_INTC_NUM_IRQS_PER_GRP##GRP, _int_line_handler_table_##GRP}, + MREPEAT(AVR32_INTC_NUM_INT_GRPS, INSERT_INT_LINE_HANDLER_TABLE, ~) +#undef INSERT_INT_LINE_HANDLER_TABLE +}; + + +/*! \brief Default interrupt handler. + * + * \note Taken and adapted from Newlib. + */ +#if (defined __GNUC__) +__attribute__((__interrupt__)) +#elif (defined __ICCAVR32__) +__interrupt +#endif +static void _unhandled_interrupt(void) +{ + // Catch unregistered interrupts. + while (TRUE); +} + + +/*! \brief Gets the interrupt handler of the current event at the \a int_level + * interrupt priority level (called from exception.S). + * + * \param int_level Interrupt priority level to handle. + * + * \return Interrupt handler to execute. + * + * \note Taken and adapted from Newlib. + */ +__int_handler _get_interrupt_handler(unsigned int int_level) +{ + // ICR3 is mapped first, ICR0 last. + // Code in exception.S puts int_level in R12 which is used by AVR32-GCC to + // pass a single argument to a function. + unsigned int int_grp = AVR32_INTC.icr[AVR32_INTC_INT3 - int_level]; + unsigned int int_req = AVR32_INTC.irr[int_grp]; + + // As an interrupt may disappear while it is being fetched by the CPU + // (spurious interrupt caused by a delayed response from an MCU peripheral to + // an interrupt flag clear or interrupt disable instruction), check if there + // are remaining interrupt lines to process. + // If a spurious interrupt occurs, the status register (SR) contains an + // execution mode and interrupt level masks corresponding to a level 0 + // interrupt, whatever the interrupt priority level causing the spurious + // event. This behavior has been chosen because a spurious interrupt has not + // to be a priority one and because it may not cause any trouble to other + // interrupts. + // However, these spurious interrupts place the hardware in an unstable state + // and could give problems in other/future versions of the CPU, so the + // software has to be written so that they never occur. The only safe way of + // achieving this is to always clear or disable peripheral interrupts with the + // following sequence: + // 1: Mask the interrupt in the CPU by setting GM (or IxM) in SR. + // 2: Perform the bus access to the peripheral register that clears or + // disables the interrupt. + // 3: Wait until the interrupt has actually been cleared or disabled by the + // peripheral. This is usually performed by reading from a register in the + // same peripheral (it DOES NOT have to be the same register that was + // accessed in step 2, but it MUST be in the same peripheral), what takes + // bus system latencies into account, but peripheral internal latencies + // (generally 0 cycle) also have to be considered. + // 4: Unmask the interrupt in the CPU by clearing GM (or IxM) in SR. + // Note that steps 1 and 4 are useless inside interrupt handlers as the + // corresponding interrupt level is automatically masked by IxM (unless IxM is + // explicitly cleared by the software). + // + // Get the right IRQ handler. + // + // If several interrupt lines are active in the group, the interrupt line with + // the highest number is selected. This is to be coherent with the + // prioritization of interrupt groups performed by the hardware interrupt + // controller. + // + // If no handler has been registered for the pending interrupt, + // _unhandled_interrupt will be selected thanks to the initialization of + // _int_line_handler_table_x by INTC_init_interrupts. + // + // exception.S will provide the interrupt handler with a clean interrupt stack + // frame, with nothing more pushed onto the stack. The interrupt handler must + // manage the `rete' instruction, what can be done thanks to pure assembly, + // inline assembly or the `__attribute__((__interrupt__))' C function + // attribute. + return (int_req) ? _int_handler_table[int_grp]._int_line_handler_table[32 - clz(int_req) - 1] : NULL; +} + +//! Init EVBA address. This sequence might also be done in the UTILS/STARTUP/GCC/crt0.S +static __inline__ void INTC_init_evba(void) +{ + Set_system_register(AVR32_EVBA, (int)&_evba ); +} + +void INTC_init_interrupts(void) +{ + unsigned int int_grp, int_req; + + INTC_init_evba(); + + // For all interrupt groups, + for (int_grp = 0; int_grp < AVR32_INTC_NUM_INT_GRPS; int_grp++) + { + // For all interrupt request lines of each group, + for (int_req = 0; int_req < _int_handler_table[int_grp].num_irqs; int_req++) + { + // Assign _unhandled_interrupt as default interrupt handler. + _int_handler_table[int_grp]._int_line_handler_table[int_req] = &_unhandled_interrupt; + } + + // Set the interrupt group priority register to its default value. + // By default, all interrupt groups are linked to the interrupt priority + // level 0 and to the interrupt vector _int0. + AVR32_INTC.ipr[int_grp] = ipr_val[AVR32_INTC_INT0]; + } +} + + +void INTC_register_interrupt(__int_handler handler, unsigned int irq, unsigned int int_level) +{ + // Determine the group of the IRQ. + unsigned int int_grp = irq / AVR32_INTC_MAX_NUM_IRQS_PER_GRP; + + // Store in _int_line_handler_table_x the pointer to the interrupt handler, so + // that _get_interrupt_handler can retrieve it when the interrupt is vectored. + _int_handler_table[int_grp]._int_line_handler_table[irq % AVR32_INTC_MAX_NUM_IRQS_PER_GRP] = handler; + + // Program the corresponding IPRX register to set the interrupt priority level + // and the interrupt vector offset that will be fetched by the core interrupt + // system. + // NOTE: The _intx functions are intermediate assembly functions between the + // core interrupt system and the user interrupt handler. + AVR32_INTC.ipr[int_grp] = ipr_val[int_level & (AVR32_INTC_IPR_INTLEVEL_MASK >> AVR32_INTC_IPR_INTLEVEL_OFFSET)]; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h new file mode 100644 index 0000000..31a4fc1 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h @@ -0,0 +1,100 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief INTC driver for AVR32 UC3. + * + * AVR32 Interrupt Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an INTC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _INTC_H_ +#define _INTC_H_ + +#include "compiler.h" + + +//! Maximal number of interrupt request lines per group. +#define AVR32_INTC_MAX_NUM_IRQS_PER_GRP 32 + +//! Number of interrupt priority levels. +#define AVR32_INTC_NUM_INT_LEVELS (1 << AVR32_INTC_IPR_INTLEVEL_SIZE) + + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. + +//! Pointer to interrupt handler. +#if (defined __GNUC__) +typedef void (*__int_handler)(void); +#elif (defined __ICCAVR32__) +typedef void (__interrupt *__int_handler)(void); +#endif + + +/*! \brief Initializes the hardware interrupt controller driver. + * + * \note Taken and adapted from Newlib. + */ +extern void INTC_init_interrupts(void); + +/*! \brief Registers an interrupt handler. + * + * \param handler Interrupt handler to register. + * \param irq IRQ of the interrupt handler to register. + * \param int_level Interrupt priority level to assign to the group of this IRQ. + * + * \warning The interrupt handler must manage the `rete' instruction, what can + * be done thanks to pure assembly, inline assembly or the + * `__attribute__((__interrupt__))' C function attribute. + * + * \warning If several interrupt handlers of a same group are registered with + * different priority levels, only the latest priority level set will + * be effective. + * + * \note Taken and adapted from Newlib. + */ +extern void INTC_register_interrupt(__int_handler handler, unsigned int irq, unsigned int int_level); + +#endif // __AVR32_ABI_COMPILER__ + + +#endif // _INTC_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.c new file mode 100644 index 0000000..6c00f9e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.c @@ -0,0 +1,296 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief PDCA driver for AVR32 UC3. + * + * This file defines a useful set of functions for the PDCA interface on AVR32 + * devices. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a PDCA module. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "pdca.h" + + +volatile avr32_pdca_channel_t *pdca_get_handler(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = &AVR32_PDCA.channel[pdca_ch_number]; + + if (pdca_ch_number >= AVR32_PDCA_CHANNEL_LENGTH) + return (volatile avr32_pdca_channel_t *)PDCA_INVALID_ARGUMENT; + + return pdca_channel; +} + + +int pdca_init_channel(unsigned int pdca_ch_number, const pdca_channel_options_t *opt) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + pdca_disable_interrupt_transfer_complete(pdca_ch_number); // disable channel interrupt + pdca_disable_interrupt_reload_counter_zero(pdca_ch_number); // disable channel interrupt + + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + pdca_channel->mar = (unsigned long)opt->addr; + pdca_channel->tcr = opt->size; + pdca_channel->psr = opt->pid; + pdca_channel->marr = (unsigned long)opt->r_addr; + pdca_channel->tcrr = opt->r_size; + pdca_channel->mr = +#if (defined AVR32_PDCA_120_H_INCLUDED ) || (defined AVR32_PDCA_121_H_INCLUDED ) || (defined AVR32_PDCA_122_H_INCLUDED ) +opt->etrig << AVR32_PDCA_ETRIG_OFFSET | +#endif // #ifdef AVR32_PDCA_120_H_INCLUDED + opt->transfer_size << AVR32_PDCA_SIZE_OFFSET; + pdca_channel->cr = AVR32_PDCA_ECLR_MASK; + pdca_channel->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); + + return PDCA_SUCCESS; +} + + +unsigned int pdca_get_channel_status(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + return (pdca_channel->sr & AVR32_PDCA_TEN_MASK) != 0; +} + + +void pdca_disable(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + // Disable transfer + pdca_channel->cr = AVR32_PDCA_TDIS_MASK; + +} + + +void pdca_enable(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + // Enable transfer + pdca_channel->cr = AVR32_PDCA_TEN_MASK; +} + + +unsigned int pdca_get_load_size(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + return pdca_channel->tcr; +} + + +void pdca_load_channel(unsigned int pdca_ch_number, volatile void *addr, unsigned int size) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + pdca_channel->mar = (unsigned long)addr; + pdca_channel->tcr = size; + pdca_channel->cr = AVR32_PDCA_ECLR_MASK; + pdca_channel->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + + +unsigned int pdca_get_reload_size(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + return pdca_channel->tcrr; +} + + +void pdca_reload_channel(unsigned int pdca_ch_number, volatile void *addr, unsigned int size) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + // set up next memory address + pdca_channel->marr = (unsigned long)addr; + // set up next memory size + pdca_channel->tcrr = size; + pdca_channel->cr = AVR32_PDCA_ECLR_MASK; + pdca_channel->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + + +void pdca_set_peripheral_select(unsigned int pdca_ch_number, unsigned int pid) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + pdca_channel->psr = pid; +} + + +void pdca_set_transfer_size(unsigned int pdca_ch_number, unsigned int transfer_size) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + pdca_channel->mr = (pdca_channel->mr & ~AVR32_PDCA_SIZE_MASK) | + transfer_size << AVR32_PDCA_SIZE_OFFSET; +} + + +#if (defined AVR32_PDCA_120_H_INCLUDED ) || (defined AVR32_PDCA_121_H_INCLUDED ) || (defined AVR32_PDCA_122_H_INCLUDED ) + + +void pdca_disable_event_trigger(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + pdca_channel->mr &= ~AVR32_PDCA_ETRIG_MASK; +} + + +void pdca_enable_event_trigger(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + pdca_channel->mr |= AVR32_PDCA_ETRIG_MASK; +} + + +#endif // #ifdef AVR32_PDCA_120_H_INCLUDED + + +void pdca_disable_interrupt_transfer_error(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + pdca_channel->idr = AVR32_PDCA_TERR_MASK; + pdca_channel->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + + +void pdca_enable_interrupt_transfer_error(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + pdca_channel->ier = AVR32_PDCA_TERR_MASK; +} + + +void pdca_disable_interrupt_transfer_complete(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + pdca_channel->idr = AVR32_PDCA_TRC_MASK; + pdca_channel->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + + +void pdca_enable_interrupt_transfer_complete(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + pdca_channel->ier = AVR32_PDCA_TRC_MASK; +} + + +void pdca_disable_interrupt_reload_counter_zero(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + pdca_channel->idr = AVR32_PDCA_RCZ_MASK; + pdca_channel->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + + +void pdca_enable_interrupt_reload_counter_zero(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + pdca_channel->ier = AVR32_PDCA_RCZ_MASK; +} + + +unsigned long pdca_get_transfer_status(unsigned int pdca_ch_number) +{ + // get the correct channel pointer + volatile avr32_pdca_channel_t *pdca_channel = pdca_get_handler(pdca_ch_number); + + return pdca_channel->isr; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.h new file mode 100644 index 0000000..5668fe9 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA/pdca.h @@ -0,0 +1,251 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief PDCA driver for AVR32 UC3. + * + * This file defines a useful set of functions for the PDCA interface on AVR32 + * devices. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a PDCA module. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _PDCA_H_ +#define _PDCA_H_ + +#include <avr32/io.h> + + +//! Size of PDCA transfer: byte. +#define PDCA_TRANSFER_SIZE_BYTE AVR32_PDCA_BYTE + +//! Size of PDCA transfer: half-word. +#define PDCA_TRANSFER_SIZE_HALF_WORD AVR32_PDCA_HALF_WORD + +//! Size of PDCA transfer: word. +#define PDCA_TRANSFER_SIZE_WORD AVR32_PDCA_WORD + +/*! \name PDCA Driver Status Codes + */ +//! @{ +#define PDCA_SUCCESS 0 +#define PDCA_INVALID_ARGUMENT -1 +//! @} + +/*! \name PDCA Transfer Status Codes + */ +//! @{ +#define PDCA_TRANSFER_ERROR AVR32_PDCA_TERR_MASK +#define PDCA_TRANSFER_COMPLETE AVR32_PDCA_TRC_MASK +#define PDCA_TRANSFER_COUNTER_RELOAD_IS_ZERO AVR32_PDCA_RCZ_MASK +//! @} + + +//! PDCA channel options. +typedef struct +{ + //! Memory address. + volatile void *addr ; + //! Transfer counter. + unsigned int size ; + //! Next memory address. + volatile void *r_addr ; + //! Next transfer counter. + unsigned int r_size ; + //! Select peripheral ID. + unsigned int pid ; + //! Select the size of the transfer (byte, half-word or word). + unsigned int transfer_size ; +#if (defined AVR32_PDCA_120_H_INCLUDED ) || (defined AVR32_PDCA_121_H_INCLUDED ) || (defined AVR32_PDCA_122_H_INCLUDED ) +// Note: the options in this preprocessor section are only available from the PDCA IP version 1.2.0 on. + //! Enable (\c 1) or disable (\c 0) the transfer upon event trigger. + unsigned char etrig ; +#endif // #ifdef AVR32_PDCA_120_H_INCLUDED +} pdca_channel_options_t; + + +/*! \brief Get PDCA channel handler + * + * \param pdca_ch_number PDCA channel + * + * \return channel handled or PDCA_INVALID_ARGUMENT + */ +extern volatile avr32_pdca_channel_t *pdca_get_handler(unsigned int pdca_ch_number); + +/*! \brief Set the channel configuration + * + * \param pdca_ch_number PDCA channel + * \param opt channel option + */ +extern int pdca_init_channel(unsigned int pdca_ch_number, const pdca_channel_options_t *opt); + +/*! \brief Get the PDCA channel transfer enable status + * + * \param pdca_ch_number PDCA channel + * + * \return \c 1 if channel transfer is enabled, else \c 0 + */ +extern unsigned int pdca_get_channel_status(unsigned int pdca_ch_number); + +/*! \brief Disable the PDCA for the given channel + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_disable(unsigned int pdca_ch_number); + +/*! \brief Enable the PDCA for the given channel + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_enable(unsigned int pdca_ch_number); + +/*! \brief Get PDCA channel load size (or remaining size if transfer started) + * + * \param pdca_ch_number PDCA channel + * + * \return size current size to transfer + */ +extern unsigned int pdca_get_load_size(unsigned int pdca_ch_number); + +/*! \brief Set PDCA channel load values + * + * \param pdca_ch_number PDCA channel + * \param addr address where data to load are stored + * \param size size of the data block to load + */ +extern void pdca_load_channel(unsigned int pdca_ch_number, volatile void *addr, unsigned int size); + +/*! \brief Get PDCA channel reload size + * + * \param pdca_ch_number PDCA channel + * + * \return size current reload size + */ +extern unsigned int pdca_get_reload_size(unsigned int pdca_ch_number); + +/*! \brief Set PDCA channel reload values + * + * \param pdca_ch_number PDCA channel + * \param addr address where data to load are stored + * \param size size of the data block to load + */ +extern void pdca_reload_channel(unsigned int pdca_ch_number, volatile void *addr, unsigned int size); + +/*! \brief Set the peripheral function to use with the PDCA channel + * + * \param pdca_ch_number PDCA channel + * \param pid the peripheral ID + */ +extern void pdca_set_peripheral_select(unsigned int pdca_ch_number, unsigned int pid); + +/*! \brief Set the size of the transfer + * + * \param pdca_ch_number PDCA channel + * \param transfer_size size of the transfer (byte, half-word or word) + */ +extern void pdca_set_transfer_size(unsigned int pdca_ch_number, unsigned int transfer_size); + +#if (defined AVR32_PDCA_120_H_INCLUDED ) || (defined AVR32_PDCA_121_H_INCLUDED ) || (defined AVR32_PDCA_122_H_INCLUDED ) +// Note: the functions in this preprocessor section are only available from the PDCA IP version 1.2.0 on. + +/*! \brief Disable the event-triggered transfer feature + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_disable_event_trigger(unsigned int pdca_ch_number); + +/*! \brief Enable the event-triggered transfer feature + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_enable_event_trigger(unsigned int pdca_ch_number); + +#endif // #ifdef AVR32_PDCA_120_H_INCLUDED + +/*! \brief Disable PDCA transfer error interrupt + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_disable_interrupt_transfer_error(unsigned int pdca_ch_number); + +/*! \brief Enable PDCA transfer error interrupt + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_enable_interrupt_transfer_error(unsigned int pdca_ch_number); + +/*! \brief Disable PDCA transfer interrupt when completed (ie TCR and TCRR are both zero) + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_disable_interrupt_transfer_complete(unsigned int pdca_ch_number); + +/*! \brief Enable PDCA transfer interrupt when completed (ie TCR and TCRR are both zero) + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_enable_interrupt_transfer_complete(unsigned int pdca_ch_number); + +/*! \brief Disable PDCA transfer interrupt when TCRR reaches zero + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_disable_interrupt_reload_counter_zero(unsigned int pdca_ch_number); + +/*! \brief Enable PDCA transfer interrupt when TCRR reaches zero + * + * \param pdca_ch_number PDCA channel + */ +extern void pdca_enable_interrupt_reload_counter_zero(unsigned int pdca_ch_number); + +/*! \brief Get PDCA channel transfer status + * + * \param pdca_ch_number PDCA channel + * + * \return PDCA transfer status with the following bit-masks:\n + * - \c PDCA_TRANSFER_ERROR;\n + * - \c PDCA_TRANSFER_COMPLETE;\n + * - \c PDCA_TRANSFER_COUNTER_RELOAD_IS_ZERO. + */ +extern unsigned long pdca_get_transfer_status(unsigned int pdca_ch_number); + + +#endif // _PDCA_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c new file mode 100644 index 0000000..76d9268 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c @@ -0,0 +1,546 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Power Manager driver. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "pm.h" + + +/*! \name PM Writable Bit-Field Registers + */ +//! @{ + +typedef union +{ + unsigned long mcctrl; + avr32_pm_mcctrl_t MCCTRL; +} u_avr32_pm_mcctrl_t; + +typedef union +{ + unsigned long cksel; + avr32_pm_cksel_t CKSEL; +} u_avr32_pm_cksel_t; + +typedef union +{ + unsigned long pll; + avr32_pm_pll_t PLL; +} u_avr32_pm_pll_t; + +typedef union +{ + unsigned long oscctrl0; + avr32_pm_oscctrl0_t OSCCTRL0; +} u_avr32_pm_oscctrl0_t; + +typedef union +{ + unsigned long oscctrl1; + avr32_pm_oscctrl1_t OSCCTRL1; +} u_avr32_pm_oscctrl1_t; + +typedef union +{ + unsigned long oscctrl32; + avr32_pm_oscctrl32_t OSCCTRL32; +} u_avr32_pm_oscctrl32_t; + +typedef union +{ + unsigned long ier; + avr32_pm_ier_t IER; +} u_avr32_pm_ier_t; + +typedef union +{ + unsigned long idr; + avr32_pm_idr_t IDR; +} u_avr32_pm_idr_t; + +typedef union +{ + unsigned long icr; + avr32_pm_icr_t ICR; +} u_avr32_pm_icr_t; + +typedef union +{ + unsigned long gcctrl; + avr32_pm_gcctrl_t GCCTRL; +} u_avr32_pm_gcctrl_t; + +typedef union +{ + unsigned long rccr; + avr32_pm_rccr_t RCCR; +} u_avr32_pm_rccr_t; + +typedef union +{ + unsigned long bgcr; + avr32_pm_bgcr_t BGCR; +} u_avr32_pm_bgcr_t; + +typedef union +{ + unsigned long vregcr; + avr32_pm_vregcr_t VREGCR; +} u_avr32_pm_vregcr_t; + +typedef union +{ + unsigned long bod; + avr32_pm_bod_t BOD; +} u_avr32_pm_bod_t; + +//! @} + + +/*! \brief Sets the mode of the oscillator 0. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * \param mode Oscillator 0 mode (i.e. AVR32_PM_OSCCTRL0_MODE_x). + */ +static void pm_set_osc0_mode(volatile avr32_pm_t *pm, unsigned int mode) +{ + // Read + u_avr32_pm_oscctrl0_t u_avr32_pm_oscctrl0 = {pm->oscctrl0}; + // Modify + u_avr32_pm_oscctrl0.OSCCTRL0.mode = mode; + // Write + pm->oscctrl0 = u_avr32_pm_oscctrl0.oscctrl0; +} + + +void pm_enable_osc0_ext_clock(volatile avr32_pm_t *pm) +{ + pm_set_osc0_mode(pm, AVR32_PM_OSCCTRL0_MODE_EXT_CLOCK); +} + + +void pm_enable_osc0_crystal(volatile avr32_pm_t *pm, unsigned int fosc0) +{ + pm_set_osc0_mode(pm, (fosc0 < 900000) ? AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G0 : + (fosc0 < 3000000) ? AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G1 : + (fosc0 < 8000000) ? AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G2 : + AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G3); +} + + +void pm_enable_clk0(volatile avr32_pm_t *pm, unsigned int startup) +{ + pm_enable_clk0_no_wait(pm, startup); + pm_wait_for_clk0_ready(pm); +} + + +void pm_disable_clk0(volatile avr32_pm_t *pm) +{ + pm->mcctrl &= ~AVR32_PM_MCCTRL_OSC0EN_MASK; +} + + +void pm_enable_clk0_no_wait(volatile avr32_pm_t *pm, unsigned int startup) +{ + // Read register + u_avr32_pm_oscctrl0_t u_avr32_pm_oscctrl0 = {pm->oscctrl0}; + // Modify + u_avr32_pm_oscctrl0.OSCCTRL0.startup = startup; + // Write back + pm->oscctrl0 = u_avr32_pm_oscctrl0.oscctrl0; + + pm->mcctrl |= AVR32_PM_MCCTRL_OSC0EN_MASK; +} + + +void pm_wait_for_clk0_ready(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_OSC0RDY_MASK)); +} + + +/*! \brief Sets the mode of the oscillator 1. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * \param mode Oscillator 1 mode (i.e. AVR32_PM_OSCCTRL1_MODE_x). + */ +static void pm_set_osc1_mode(volatile avr32_pm_t *pm, unsigned int mode) +{ + // Read + u_avr32_pm_oscctrl1_t u_avr32_pm_oscctrl1 = {pm->oscctrl1}; + // Modify + u_avr32_pm_oscctrl1.OSCCTRL1.mode = mode; + // Write + pm->oscctrl1 = u_avr32_pm_oscctrl1.oscctrl1; +} + + +void pm_enable_osc1_ext_clock(volatile avr32_pm_t *pm) +{ + pm_set_osc1_mode(pm, AVR32_PM_OSCCTRL1_MODE_EXT_CLOCK); +} + + +void pm_enable_osc1_crystal(volatile avr32_pm_t *pm, unsigned int fosc1) +{ + pm_set_osc1_mode(pm, (fosc1 < 900000) ? AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G0 : + (fosc1 < 3000000) ? AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G1 : + (fosc1 < 8000000) ? AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G2 : + AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G3); +} + + +void pm_enable_clk1(volatile avr32_pm_t *pm, unsigned int startup) +{ + pm_enable_clk1_no_wait(pm, startup); + pm_wait_for_clk1_ready(pm); +} + + +void pm_disable_clk1(volatile avr32_pm_t *pm) +{ + pm->mcctrl &= ~AVR32_PM_MCCTRL_OSC1EN_MASK; +} + + +void pm_enable_clk1_no_wait(volatile avr32_pm_t *pm, unsigned int startup) +{ + // Read register + u_avr32_pm_oscctrl1_t u_avr32_pm_oscctrl1 = {pm->oscctrl1}; + // Modify + u_avr32_pm_oscctrl1.OSCCTRL1.startup = startup; + // Write back + pm->oscctrl1 = u_avr32_pm_oscctrl1.oscctrl1; + + pm->mcctrl |= AVR32_PM_MCCTRL_OSC1EN_MASK; +} + + +void pm_wait_for_clk1_ready(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_OSC1RDY_MASK)); +} + + +/*! \brief Sets the mode of the 32-kHz oscillator. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * \param mode 32-kHz oscillator mode (i.e. AVR32_PM_OSCCTRL32_MODE_x). + */ +static void pm_set_osc32_mode(volatile avr32_pm_t *pm, unsigned int mode) +{ + // Read + u_avr32_pm_oscctrl32_t u_avr32_pm_oscctrl32 = {pm->oscctrl32}; + // Modify + u_avr32_pm_oscctrl32.OSCCTRL32.mode = mode; + // Write + pm->oscctrl32 = u_avr32_pm_oscctrl32.oscctrl32; +} + + +void pm_enable_osc32_ext_clock(volatile avr32_pm_t *pm) +{ + pm_set_osc32_mode(pm, AVR32_PM_OSCCTRL32_MODE_EXT_CLOCK); +} + + +void pm_enable_osc32_crystal(volatile avr32_pm_t *pm) +{ + pm_set_osc32_mode(pm, AVR32_PM_OSCCTRL32_MODE_CRYSTAL); +} + + +void pm_enable_clk32(volatile avr32_pm_t *pm, unsigned int startup) +{ + pm_enable_clk32_no_wait(pm, startup); + pm_wait_for_clk32_ready(pm); +} + + +void pm_disable_clk32(volatile avr32_pm_t *pm) +{ + pm->oscctrl32 &= ~AVR32_PM_OSCCTRL32_OSC32EN_MASK; +} + + +void pm_enable_clk32_no_wait(volatile avr32_pm_t *pm, unsigned int startup) +{ + // Read register + u_avr32_pm_oscctrl32_t u_avr32_pm_oscctrl32 = {pm->oscctrl32}; + // Modify + u_avr32_pm_oscctrl32.OSCCTRL32.osc32en = 1; + u_avr32_pm_oscctrl32.OSCCTRL32.startup = startup; + // Write back + pm->oscctrl32 = u_avr32_pm_oscctrl32.oscctrl32; +} + + +void pm_wait_for_clk32_ready(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_OSC32RDY_MASK)); +} + + +void pm_cksel(volatile avr32_pm_t *pm, + unsigned int pbadiv, + unsigned int pbasel, + unsigned int pbbdiv, + unsigned int pbbsel, + unsigned int hsbdiv, + unsigned int hsbsel) +{ + u_avr32_pm_cksel_t u_avr32_pm_cksel = {0}; + + u_avr32_pm_cksel.CKSEL.cpusel = hsbsel; + u_avr32_pm_cksel.CKSEL.cpudiv = hsbdiv; + u_avr32_pm_cksel.CKSEL.hsbsel = hsbsel; + u_avr32_pm_cksel.CKSEL.hsbdiv = hsbdiv; + u_avr32_pm_cksel.CKSEL.pbasel = pbasel; + u_avr32_pm_cksel.CKSEL.pbadiv = pbadiv; + u_avr32_pm_cksel.CKSEL.pbbsel = pbbsel; + u_avr32_pm_cksel.CKSEL.pbbdiv = pbbdiv; + + pm->cksel = u_avr32_pm_cksel.cksel; + + // Wait for ckrdy bit and then clear it + while (!(pm->poscsr & AVR32_PM_POSCSR_CKRDY_MASK)); +} + + +void pm_gc_setup(volatile avr32_pm_t *pm, + unsigned int gc, + unsigned int osc_or_pll, // Use Osc (=0) or PLL (=1) + unsigned int pll_osc, // Sel Osc0/PLL0 or Osc1/PLL1 + unsigned int diven, + unsigned int div) +{ + u_avr32_pm_gcctrl_t u_avr32_pm_gcctrl = {0}; + + u_avr32_pm_gcctrl.GCCTRL.oscsel = pll_osc; + u_avr32_pm_gcctrl.GCCTRL.pllsel = osc_or_pll; + u_avr32_pm_gcctrl.GCCTRL.diven = diven; + u_avr32_pm_gcctrl.GCCTRL.div = div; + + pm->gcctrl[gc] = u_avr32_pm_gcctrl.gcctrl; +} + + +void pm_gc_enable(volatile avr32_pm_t *pm, + unsigned int gc) +{ + pm->gcctrl[gc] |= AVR32_PM_GCCTRL_CEN_MASK; +} + + +void pm_gc_disable(volatile avr32_pm_t *pm, + unsigned int gc) +{ + pm->gcctrl[gc] &= ~AVR32_PM_GCCTRL_CEN_MASK; +} + + +void pm_pll_setup(volatile avr32_pm_t *pm, + unsigned int pll, + unsigned int mul, + unsigned int div, + unsigned int osc, + unsigned int lockcount) +{ + u_avr32_pm_pll_t u_avr32_pm_pll = {0}; + + u_avr32_pm_pll.PLL.pllosc = osc; + u_avr32_pm_pll.PLL.plldiv = div; + u_avr32_pm_pll.PLL.pllmul = mul; + u_avr32_pm_pll.PLL.pllcount = lockcount; + + pm->pll[pll] = u_avr32_pm_pll.pll; +} + + +void pm_pll_set_option(volatile avr32_pm_t *pm, + unsigned int pll, + unsigned int pll_freq, + unsigned int pll_div2, + unsigned int pll_wbwdisable) +{ + u_avr32_pm_pll_t u_avr32_pm_pll = {pm->pll[pll]}; + u_avr32_pm_pll.PLL.pllopt = pll_freq | (pll_div2 << 1) | (pll_wbwdisable << 2); + pm->pll[pll] = u_avr32_pm_pll.pll; +} + + +unsigned int pm_pll_get_option(volatile avr32_pm_t *pm, + unsigned int pll) +{ + return (pm->pll[pll] & AVR32_PM_PLLOPT_MASK) >> AVR32_PM_PLLOPT_OFFSET; +} + + +void pm_pll_enable(volatile avr32_pm_t *pm, + unsigned int pll) +{ + pm->pll[pll] |= AVR32_PM_PLLEN_MASK; +} + + +void pm_pll_disable(volatile avr32_pm_t *pm, + unsigned int pll) +{ + pm->pll[pll] &= ~AVR32_PM_PLLEN_MASK; +} + + +void pm_wait_for_pll0_locked(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_LOCK0_MASK)); +} + + +void pm_wait_for_pll1_locked(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_LOCK1_MASK)); +} + + +void pm_switch_to_clock(volatile avr32_pm_t *pm, unsigned long clock) +{ + // Read + u_avr32_pm_mcctrl_t u_avr32_pm_mcctrl = {pm->mcctrl}; + // Modify + u_avr32_pm_mcctrl.MCCTRL.mcsel = clock; + // Write back + pm->mcctrl = u_avr32_pm_mcctrl.mcctrl; +} + + +void pm_switch_to_osc0(volatile avr32_pm_t *pm, unsigned int fosc0, unsigned int startup) +{ + pm_enable_osc0_crystal(pm, fosc0); // Enable the Osc0 in crystal mode + pm_enable_clk0(pm, startup); // Crystal startup time - This parameter is critical and depends on the characteristics of the crystal + pm_switch_to_clock(pm, AVR32_PM_MCSEL_OSC0); // Then switch main clock to Osc0 +} + + +void pm_bod_enable_irq(volatile avr32_pm_t *pm) +{ + pm->ier = AVR32_PM_IER_BODDET_MASK; +} + + +void pm_bod_disable_irq(volatile avr32_pm_t *pm) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + pm->idr = AVR32_PM_IDR_BODDET_MASK; + pm->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + + +void pm_bod_clear_irq(volatile avr32_pm_t *pm) +{ + pm->icr = AVR32_PM_ICR_BODDET_MASK; +} + + +unsigned long pm_bod_get_irq_status(volatile avr32_pm_t *pm) +{ + return ((pm->isr & AVR32_PM_ISR_BODDET_MASK) != 0); +} + + +unsigned long pm_bod_get_irq_enable_bit(volatile avr32_pm_t *pm) +{ + return ((pm->imr & AVR32_PM_IMR_BODDET_MASK) != 0); +} + + +unsigned long pm_bod_get_level(volatile avr32_pm_t *pm) +{ + return (pm->bod & AVR32_PM_BOD_LEVEL_MASK) >> AVR32_PM_BOD_LEVEL_OFFSET; +} + + +unsigned long pm_read_gplp(volatile avr32_pm_t *pm, unsigned long gplp) +{ + return pm->gplp[gplp]; +} + + +void pm_write_gplp(volatile avr32_pm_t *pm, unsigned long gplp, unsigned long value) +{ + pm->gplp[gplp] = value; +} + + +long pm_enable_module(volatile avr32_pm_t *pm, unsigned long module) +{ + unsigned long domain = module>>5; + unsigned long *regptr = (unsigned long*)(&(pm->cpumask) + domain); + + // Implementation-specific shortcut: the ckMASK registers are contiguous and + // memory-mapped in that order: CPUMASK, HSBMASK, PBAMASK, PBBMASK. + + *regptr |= (1<<(module%32)); + + return PASS; +} + +long pm_disable_module(volatile avr32_pm_t *pm, unsigned long module) +{ + unsigned long domain = module>>5; + unsigned long *regptr = (unsigned long*)(&(pm->cpumask) + domain); + + // Implementation-specific shortcut: the ckMASK registers are contiguous and + // memory-mapped in that order: CPUMASK, HSBMASK, PBAMASK, PBBMASK. + + *regptr &= ~(1<<(module%32)); + + return PASS; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h new file mode 100644 index 0000000..ca679f7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h @@ -0,0 +1,493 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Power Manager driver. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _PM_H_ +#define _PM_H_ + +#include <avr32/io.h> +#include "compiler.h" +#include "preprocessor.h" + + +/*! \brief Sets the MCU in the specified sleep mode. + * + * \param mode Sleep mode: + * \arg \c AVR32_PM_SMODE_IDLE: Idle; + * \arg \c AVR32_PM_SMODE_FROZEN: Frozen; + * \arg \c AVR32_PM_SMODE_STANDBY: Standby; + * \arg \c AVR32_PM_SMODE_STOP: Stop; + * \arg \c AVR32_PM_SMODE_DEEP_STOP: DeepStop; + * \arg \c AVR32_PM_SMODE_STATIC: Static. + */ +#define SLEEP(mode) {__asm__ __volatile__ ("sleep "STRINGZ(mode));} + + +//! Input and output parameters when initializing PM clocks using pm_configure_clocks(). +typedef struct +{ + //! CPU frequency (input/output argument). + unsigned long cpu_f; + + //! PBA frequency (input/output argument). + unsigned long pba_f; + + //! Oscillator 0's external crystal(or external clock) frequency (board dependant) (input argument). + unsigned long osc0_f; + + //! Oscillator 0's external crystal(or external clock) startup time: AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC (input argument). + unsigned long osc0_startup; +} pm_freq_param_t; + +#define PM_FREQ_STATUS_FAIL (-1) +#define PM_FREQ_STATUS_OK (0) + + +/*! \brief Gets the MCU reset cause. + * + * \param pm Base address of the Power Manager instance (i.e. &AVR32_PM). + * + * \return The MCU reset cause which can be masked with the + * \c AVR32_PM_RCAUSE_x_MASK bit-masks to isolate specific causes. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ unsigned int pm_get_reset_cause(volatile avr32_pm_t *pm) +{ + return pm->rcause; +} + + +/*! + * \brief This function will enable the external clock mode of the oscillator 0. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_enable_osc0_ext_clock(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the crystal mode of the oscillator 0. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param fosc0 Oscillator 0 crystal frequency (Hz) + */ +extern void pm_enable_osc0_crystal(volatile avr32_pm_t *pm, unsigned int fosc0); + + +/*! + * \brief This function will enable the oscillator 0 to be used with a startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 0 startup time. AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk0(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will disable the oscillator 0. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_disable_clk0(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the oscillator 0 to be used with no startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 0 startup time, for which the function does not wait. AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk0_no_wait(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will wait until the Osc0 clock is ready. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_clk0_ready(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the external clock mode of the oscillator 1. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_enable_osc1_ext_clock(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the crystal mode of the oscillator 1. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param fosc1 Oscillator 1 crystal frequency (Hz) + */ +extern void pm_enable_osc1_crystal(volatile avr32_pm_t *pm, unsigned int fosc1); + + +/*! + * \brief This function will enable the oscillator 1 to be used with a startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 1 startup time. AVR32_PM_OSCCTRL1_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk1(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will disable the oscillator 1. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_disable_clk1(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the oscillator 1 to be used with no startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 1 startup time, for which the function does not wait. AVR32_PM_OSCCTRL1_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk1_no_wait(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will wait until the Osc1 clock is ready. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_clk1_ready(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the external clock mode of the 32-kHz oscillator. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_enable_osc32_ext_clock(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the crystal mode of the 32-kHz oscillator. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_enable_osc32_crystal(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the oscillator 32 to be used with a startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 32 kHz startup time. AVR32_PM_OSCCTRL32_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk32(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will disable the oscillator 32. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_disable_clk32(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the oscillator 32 to be used with no startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 32 kHz startup time, for which the function does not wait. AVR32_PM_OSCCTRL32_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk32_no_wait(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will wait until the osc32 clock is ready. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_clk32_ready(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will select all the power manager clocks. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pbadiv Peripheral Bus A clock divisor enable + * \param pbasel Peripheral Bus A select + * \param pbbdiv Peripheral Bus B clock divisor enable + * \param pbbsel Peripheral Bus B select + * \param hsbdiv High Speed Bus clock divisor enable (CPU clock = HSB clock) + * \param hsbsel High Speed Bus select (CPU clock = HSB clock ) + */ +extern void pm_cksel(volatile avr32_pm_t *pm, unsigned int pbadiv, unsigned int pbasel, unsigned int pbbdiv, unsigned int pbbsel, unsigned int hsbdiv, unsigned int hsbsel); + + +/*! + * \brief This function will setup a generic clock. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gc generic clock number (0 for gc0...) + * \param osc_or_pll Use OSC (=0) or PLL (=1) + * \param pll_osc Select Osc0/PLL0 or Osc1/PLL1 + * \param diven Generic clock divisor enable + * \param div Generic clock divisor + */ +extern void pm_gc_setup(volatile avr32_pm_t *pm, unsigned int gc, unsigned int osc_or_pll, unsigned int pll_osc, unsigned int diven, unsigned int div); + + +/*! + * \brief This function will enable a generic clock. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gc generic clock number (0 for gc0...) + */ +extern void pm_gc_enable(volatile avr32_pm_t *pm, unsigned int gc); + + +/*! + * \brief This function will disable a generic clock. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gc generic clock number (0 for gc0...) + */ +extern void pm_gc_disable(volatile avr32_pm_t *pm, unsigned int gc); + + +/*! + * \brief This function will setup a PLL. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + * \param mul PLL MUL in the PLL formula + * \param div PLL DIV in the PLL formula + * \param osc OSC number (0 for osc0, 1 for osc1) + * \param lockcount PLL lockount + */ +extern void pm_pll_setup(volatile avr32_pm_t *pm, unsigned int pll, unsigned int mul, unsigned int div, unsigned int osc, unsigned int lockcount); + + +/*! + * \brief This function will set a PLL option. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + * \param pll_freq Set to 1 for VCO frequency range 80-180MHz, set to 0 for VCO frequency range 160-240Mhz. + * \param pll_div2 Divide the PLL output frequency by 2 (this settings does not change the FVCO value) + * \param pll_wbwdisable 1 Disable the Wide-Bandith Mode (Wide-Bandwith mode allow a faster startup time and out-of-lock time). 0 to enable the Wide-Bandith Mode. + */ +extern void pm_pll_set_option(volatile avr32_pm_t *pm, unsigned int pll, unsigned int pll_freq, unsigned int pll_div2, unsigned int pll_wbwdisable); + + +/*! + * \brief This function will get a PLL option. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + * \return Option + */ +extern unsigned int pm_pll_get_option(volatile avr32_pm_t *pm, unsigned int pll); + + +/*! + * \brief This function will enable a PLL. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + */ +extern void pm_pll_enable(volatile avr32_pm_t *pm, unsigned int pll); + + +/*! + * \brief This function will disable a PLL. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + */ +extern void pm_pll_disable(volatile avr32_pm_t *pm, unsigned int pll); + + +/*! + * \brief This function will wait for PLL0 locked + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_pll0_locked(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will wait for PLL1 locked + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_pll1_locked(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will switch the power manager main clock. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param clock Clock to be switched on. AVR32_PM_MCSEL_SLOW for RCOsc, AVR32_PM_MCSEL_OSC0 for Osc0, AVR32_PM_MCSEL_PLL0 for PLL0. + */ +extern void pm_switch_to_clock(volatile avr32_pm_t *pm, unsigned long clock); + + +/*! + * \brief Switch main clock to clock Osc0 (crystal mode) + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param fosc0 Oscillator 0 crystal frequency (Hz) + * \param startup Crystal 0 startup time. AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC. + */ +extern void pm_switch_to_osc0(volatile avr32_pm_t *pm, unsigned int fosc0, unsigned int startup); + + +/*! \brief Enables the Brown-Out Detector interrupt. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + */ +extern void pm_bod_enable_irq(volatile avr32_pm_t *pm); + + +/*! \brief Disables the Brown-Out Detector interrupt. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + */ +extern void pm_bod_disable_irq(volatile avr32_pm_t *pm); + + +/*! \brief Clears the Brown-Out Detector interrupt flag. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + */ +extern void pm_bod_clear_irq(volatile avr32_pm_t *pm); + + +/*! \brief Gets the Brown-Out Detector interrupt flag. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * + * \retval 0 No BOD interrupt. + * \retval 1 BOD interrupt pending. + */ +extern unsigned long pm_bod_get_irq_status(volatile avr32_pm_t *pm); + + +/*! \brief Gets the Brown-Out Detector interrupt enable status. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * + * \retval 0 BOD interrupt disabled. + * \retval 1 BOD interrupt enabled. + */ +extern unsigned long pm_bod_get_irq_enable_bit(volatile avr32_pm_t *pm); + + +/*! \brief Gets the triggering threshold of the Brown-Out Detector. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * + * \return Triggering threshold of the BOD. See the electrical characteristics + * in the part datasheet for actual voltage levels. + */ +extern unsigned long pm_bod_get_level(volatile avr32_pm_t *pm); + + +/*! + * \brief Read the content of the PM GPLP registers + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gplp GPLP register index (0,1,... depending on the number of GPLP registers for a given part) + * + * \return The content of the chosen GPLP register. + */ +extern unsigned long pm_read_gplp(volatile avr32_pm_t *pm, unsigned long gplp); + + +/*! + * \brief Write into the PM GPLP registers + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gplp GPLP register index (0,1,... depending on the number of GPLP registers for a given part) + * \param value Value to write + */ +extern void pm_write_gplp(volatile avr32_pm_t *pm, unsigned long gplp, unsigned long value); + + +/*! \brief Enable the clock of a module. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param module The module to clock (use one of the defines in the part-specific + * header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the + * clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks") + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +extern long pm_enable_module(volatile avr32_pm_t *pm, unsigned long module); + +/*! \brief Disable the clock of a module. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param module The module to shut down (use one of the defines in the part-specific + * header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the + * clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks") + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +extern long pm_disable_module(volatile avr32_pm_t *pm, unsigned long module); + + + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks + * according to the user wishes. + * + * This function needs some parameters stored in a pm_freq_param_t structure: + * - cpu_f and pba_f are the wanted frequencies, + * - osc0_f is the oscillator 0 on-board frequency (e.g. FOSC0), + * - osc0_startup is the oscillator 0 startup time (e.g. OSC0_STARTUP). + * + * The function will then configure the clocks using the following rules: + * - It first try to find a valid PLL frequency (the highest possible value to avoid jitter) in order + * to satisfy the CPU frequency, + * - It optimizes the configuration depending the various divide stages, + * - Then, the PBA frequency is configured from the CPU freq. + * - Note that HSB and PBB are configured with the same frequency as CPU. + * - Note also that the number of wait states of the flash read accesses is automatically set-up depending + * the CPU frequency. As a consequence, the application needs the FLASHC driver to compile. + * + * The CPU, HSB and PBA frequencies programmed after configuration are stored back into cpu_f and pba_f. + * + * \param param pointer on the configuration structure. + * + * \retval PM_FREQ_STATUS_OK Mode successfully initialized. + * \retval PM_FREQ_STATUS_FAIL The configuration can not be done. + */ +extern int pm_configure_clocks(pm_freq_param_t *param); + + +/*! \brief Automatically configure the USB clock. + * + * USB clock is configured to 48MHz, using the PLL1 from the Oscillator0, assuming + * a 12 MHz crystal is connected to it. + */ +extern void pm_configure_usb_clock(void); + + +#endif // _PM_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm_conf_clocks.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm_conf_clocks.c new file mode 100644 index 0000000..8beb83b --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm_conf_clocks.c @@ -0,0 +1,268 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Power Manager clocks configuration helper. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <string.h> +#include "compiler.h" +#include "pm.h" + +extern void flashc_set_wait_state(unsigned int wait_state); +#if (defined AVR32_FLASHC_210_H_INCLUDED) +extern void flashc_issue_command(unsigned int command, int page_number); +#endif + + +#define PM_MAX_MUL ((1 << AVR32_PM_PLL0_PLLMUL_SIZE) - 1) + + +int pm_configure_clocks(pm_freq_param_t *param) +{ + // Supported frequencies: + // Fosc0 mul div PLL div2_en cpu_f pba_f Comment + // 12 15 1 192 1 12 12 + // 12 9 3 40 1 20 20 PLL out of spec + // 12 15 1 192 1 24 12 + // 12 9 1 120 1 30 15 + // 12 9 3 40 0 40 20 PLL out of spec + // 12 15 1 192 1 48 12 + // 12 15 1 192 1 48 24 + // 12 8 1 108 1 54 27 + // 12 9 1 120 1 60 15 + // 12 9 1 120 1 60 30 + // 12 10 1 132 1 66 16.5 + // + unsigned long in_cpu_f = param->cpu_f; + unsigned long in_osc0_f = param->osc0_f; + unsigned long mul, div, div2_en = 0, div2_cpu = 0, div2_pba = 0; + unsigned long pll_freq, rest; + Bool b_div2_pba, b_div2_cpu; + + // Switch to external Oscillator 0 + pm_switch_to_osc0(&AVR32_PM, in_osc0_f, param->osc0_startup); + + // Start with CPU freq config + if (in_cpu_f == in_osc0_f) + { + param->cpu_f = in_osc0_f; + param->pba_f = in_osc0_f; + return PM_FREQ_STATUS_OK; + } + else if (in_cpu_f < in_osc0_f) + { + // TBD + } + + rest = in_cpu_f % in_osc0_f; + + for (div = 1; div < 32; div++) + { + if ((div * rest) % in_osc0_f == 0) + break; + } + if (div == 32) + return PM_FREQ_STATUS_FAIL; + + mul = (in_cpu_f * div) / in_osc0_f; + + if (mul > PM_MAX_MUL) + return PM_FREQ_STATUS_FAIL; + + // export 2power from PLL div to div2_cpu + while (!(div % 2)) + { + div /= 2; + div2_cpu++; + } + + // Here we know the mul and div parameter of the PLL config. + // . Check out if the PLL has a valid in_cpu_f. + // . Try to have for the PLL frequency (VCO output) the highest possible value + // to reduce jitter. + while (in_osc0_f * 2 * mul / div < AVR32_PM_PLL_VCO_RANGE0_MAX_FREQ) + { + if (2 * mul > PM_MAX_MUL) + break; + mul *= 2; + div2_cpu++; + } + + if (div2_cpu != 0) + { + div2_cpu--; + div2_en = 1; + } + + pll_freq = in_osc0_f * mul / (div * (1 << div2_en)); + + // Update real CPU Frequency + param->cpu_f = pll_freq / (1 << div2_cpu); + mul--; + + pm_pll_setup(&AVR32_PM + , 0 // pll + , mul // mul + , div // div + , 0 // osc + , 16 // lockcount + ); + + pm_pll_set_option(&AVR32_PM + , 0 // pll + // PLL clock is lower than 160MHz: need to set pllopt. + , (pll_freq < AVR32_PM_PLL_VCO_RANGE0_MIN_FREQ) ? 1 : 0 // pll_freq + , div2_en // pll_div2 + , 0 // pll_wbwdisable + ); + + rest = pll_freq; + while (rest > AVR32_PM_PBA_MAX_FREQ || + rest != param->pba_f) + { + div2_pba++; + rest = pll_freq / (1 << div2_pba); + if (rest < param->pba_f) + break; + } + + // Update real PBA Frequency + param->pba_f = pll_freq / (1 << div2_pba); + + // Enable PLL0 + pm_pll_enable(&AVR32_PM, 0); + + // Wait for PLL0 locked + pm_wait_for_pll0_locked(&AVR32_PM); + + if (div2_cpu) + { + b_div2_cpu = TRUE; + div2_cpu--; + } + else + b_div2_cpu = FALSE; + + if (div2_pba) + { + b_div2_pba = TRUE; + div2_pba--; + } + else + b_div2_pba = FALSE; + + pm_cksel(&AVR32_PM + , b_div2_pba, div2_pba // PBA + , b_div2_cpu, div2_cpu // PBB + , b_div2_cpu, div2_cpu // HSB + ); + + if (param->cpu_f > AVR32_FLASHC_FWS_0_MAX_FREQ) + { + flashc_set_wait_state(1); +#if (defined AVR32_FLASHC_210_H_INCLUDED) + if (param->cpu_f > AVR32_FLASHC_HSEN_FWS_1_MAX_FREQ) + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSEN, -1); + else + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSDIS, -1); +#endif + } + else + { + flashc_set_wait_state(0); +#if (defined AVR32_FLASHC_210_H_INCLUDED) + if (param->cpu_f > AVR32_FLASHC_HSEN_FWS_0_MAX_FREQ) + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSEN, -1); + else + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSDIS, -1); +#endif + } + + pm_switch_to_clock(&AVR32_PM, AVR32_PM_MCCTRL_MCSEL_PLL0); + + return PM_FREQ_STATUS_OK; +} + + +void pm_configure_usb_clock(void) +{ +#if UC3A3 + + // Setup USB GCLK. + pm_gc_setup(&AVR32_PM, AVR32_PM_GCLK_USBB, // gc + 0, // osc_or_pll: use Osc (if 0) or PLL (if 1) + 0, // pll_osc: select Osc0/PLL0 or Osc1/PLL1 + 0, // diven + 0); // div + + // Enable USB GCLK. + pm_gc_enable(&AVR32_PM, AVR32_PM_GCLK_USBB); +#else + // Use 12MHz from OSC0 and generate 96 MHz + pm_pll_setup(&AVR32_PM, 1, // pll. + 7, // mul. + 1, // div. + 0, // osc. + 16); // lockcount. + + pm_pll_set_option(&AVR32_PM, 1, // pll. + 1, // pll_freq: choose the range 80-180MHz. + 1, // pll_div2. + 0); // pll_wbwdisable. + + // start PLL1 and wait forl lock + pm_pll_enable(&AVR32_PM, 1); + + // Wait for PLL1 locked. + pm_wait_for_pll1_locked(&AVR32_PM); + + pm_gc_setup(&AVR32_PM, AVR32_PM_GCLK_USBB, // gc. + 1, // osc_or_pll: use Osc (if 0) or PLL (if 1). + 1, // pll_osc: select Osc0/PLL0 or Osc1/PLL1. + 0, // diven. + 0); // div. + pm_gc_enable(&AVR32_PM, AVR32_PM_GCLK_USBB); +#endif +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.c new file mode 100644 index 0000000..f5fc155 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.c @@ -0,0 +1,566 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief High-level library abstracting features such as oscillators/pll/dfll + * configuration, clock configuration, System-sensible parameters + * configuration, buses clocks configuration, sleep mode, reset. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ +#include "power_clocks_lib.h" + + +//! Device-specific data +#if UC3L +static long int pcl_configure_clocks_uc3l(pcl_freq_param_t *param); // FORWARD declaration +#endif + +#if UC3C +static long int pcl_configure_clocks_uc3c(pcl_freq_param_t *param); // FORWARD declaration +#endif + +long int pcl_configure_clocks(pcl_freq_param_t *param) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE + // Implementation for UC3A, UC3A3, UC3B parts. + return(pm_configure_clocks(param)); +#else + #ifdef AVR32_PM_410_H_INCLUDED + // Implementation for UC3C parts. + return(pcl_configure_clocks_uc3c(param)); + #else + // Implementation for UC3L parts. + return(pcl_configure_clocks_uc3l(param)); + #endif +#endif +} + + +//! Device-specific implementation +#if UC3L +// FORWARD declaration +static long int pcl_configure_synchronous_clocks( pm_clk_src_t main_clk_src, + unsigned long main_clock_freq_hz, + pcl_freq_param_t *param); + +long int pcl_configure_clocks_rcsys(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_RCSYS + + // Supported synchronous clocks frequencies if RCSYS is the main clock source: + // 115200Hz, 57600Hz, 28800Hz, 14400Hz, 7200Hz, 3600Hz, 1800Hz, 900Hz, 450Hz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that the target frequencies are reachable. + if((param->cpu_f > SCIF_SLOWCLOCK_FREQ_HZ) || (param->pba_f > SCIF_SLOWCLOCK_FREQ_HZ) + || (param->pbb_f > SCIF_SLOWCLOCK_FREQ_HZ)) + return(-1); +#endif + + return(pcl_configure_synchronous_clocks(PM_CLK_SRC_SLOW, SCIF_SLOWCLOCK_FREQ_HZ, param)); +} + + +long int pcl_configure_clocks_rc120m(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_RC120M + + // Supported synchronous clocks frequencies if RC120M is the main clock source: + // 30MHz, 15MHz, 7.5MHz, 3.75MHz, 1.875MHz, 937.5kHz, 468.75kHz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that the target frequencies are reachable. + if((param->cpu_f > SCIF_RC120M_FREQ_HZ) || (param->pba_f > SCIF_RC120M_FREQ_HZ) + || (param->pbb_f > SCIF_RC120M_FREQ_HZ)) + return(-1); +#endif + + // Start the 120MHz internal RCosc (RC120M) clock + scif_start_rc120M(); + + return(pcl_configure_synchronous_clocks(PM_CLK_SRC_RC120M, SCIF_RC120M_FREQ_HZ, param)); +} + + +long int pcl_configure_clocks_osc0(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_OSC0 + + // Supported synchronous clocks frequencies if OSC0 is the main clock source: + // (these obviously depend on the OSC0 frequency; we'll take 16MHz as an example) + // 16MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500kHz, 250kHz, 125kHz, 62.5kHz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + + unsigned long main_clock_freq; + + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + + main_clock_freq = param->osc0_f; +#ifdef AVR32SFW_INPUT_CHECK + // Verify that the target frequencies are reachable. + if((param->cpu_f > main_clock_freq) || (param->pba_f > main_clock_freq) + || (param->pbb_f > main_clock_freq)) + return(-1); +#endif + // Configure OSC0 in crystal mode, external crystal with a fcrystal Hz frequency. + scif_configure_osc_crystalmode(SCIF_OSC0, main_clock_freq); + // Enable the OSC0 + scif_enable_osc(SCIF_OSC0, param->osc0_startup, true); + + return(pcl_configure_synchronous_clocks(PM_CLK_SRC_OSC0, main_clock_freq, param)); +} + + +long int pcl_configure_clocks_dfll0(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_DFLL + + // Supported synchronous clocks frequencies if DFLL is the main clock source: + // (these obviously depend on the DFLL target frequency; we'll take 100MHz as an example) + // 50MHz, 25MHz, 12.5MHz, 6.25MHz, 3.125MHz, 1562.5kHz, 781.25kHz, 390.625kHz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + + unsigned long main_clock_freq; + scif_gclk_opt_t *pgc_dfllif_ref_opt; + + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + + main_clock_freq = param->dfll_f; +#ifdef AVR32SFW_INPUT_CHECK + // Verify that the target DFLL output frequency is in the correct range. + if((main_clock_freq > SCIF_DFLL_MAXFREQ_HZ) || (main_clock_freq < SCIF_DFLL_MINFREQ_HZ)) + return(-1); + // Verify that the target frequencies are reachable. + if((param->cpu_f > main_clock_freq) || (param->pba_f > main_clock_freq) + || (param->pbb_f > main_clock_freq)) + return(-1); +#endif + pgc_dfllif_ref_opt = (scif_gclk_opt_t *)param->pextra_params; + // Implementation note: this implementation configures the DFLL in closed-loop + // mode (because it gives the best accuracy) which enables the generic clock CLK_DFLLIF_REF + // as a reference (RCSYS being used as the generic clock source, undivided). + scif_dfll0_closedloop_configure_and_start(pgc_dfllif_ref_opt, main_clock_freq, TRUE); + + return(pcl_configure_synchronous_clocks(PM_CLK_SRC_DFLL0, main_clock_freq, param)); +} + + +static long int pcl_configure_clocks_uc3l(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_RCSYS, PCL_MC_OSC0, PCL_MC_DFLL0, PCL_MC_RC120M + + // Supported synchronous clocks frequencies if RCSYS is the main clock source: + // 115200Hz, 57600Hz, 28800Hz, 14400Hz, 7200Hz, 3600Hz, 1800Hz, 900Hz, 450Hz. + + // Supported synchronous clocks frequencies if RC120M is the main clock source: + // 30MHz, 15MHz, 7.5MHz, 3.75MHz, 1.875MHz, 937.5kHz, 468.75kHz. + + // Supported synchronous clocks frequencies if OSC0 is the main clock source: + // (these obviously depend on the OSC0 frequency; we'll take 16MHz as an example) + // 16MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500kHz, 250kHz, 125kHz, 62.5kHz. + + // Supported synchronous clocks frequencies if DFLL is the main clock source: + // (these obviously depend on the DFLL target frequency; we'll take 100MHz as an example) + // 50MHz, 25MHz, 12.5MHz, 6.25MHz, 3.125MHz, 1562.5kHz, 781.25kHz, 390.625kHz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + + if(PCL_MC_RCSYS == param->main_clk_src) + { + return(pcl_configure_clocks_rcsys(param)); + } + else if(PCL_MC_RC120M == param->main_clk_src) + { + return(pcl_configure_clocks_rc120m(param)); + } + else if(PCL_MC_OSC0 == param->main_clk_src) + { + return(pcl_configure_clocks_osc0(param)); + } + else // PCL_MC_DFLL0 == param->main_clk_src + { + return(pcl_configure_clocks_dfll0(param)); + } +} + +static long int pcl_configure_synchronous_clocks(pm_clk_src_t main_clk_src, unsigned long main_clock_freq_hz, pcl_freq_param_t *param) +{ + //# + //# Set the Synchronous clock division ratio for each clock domain + //# + pm_set_all_cksel(main_clock_freq_hz, param->cpu_f, param->pba_f, param->pbb_f); + + //# + //# Set the Flash wait state and the speed read mode (depending on the target CPU frequency). + //# +#if UC3L + flashcdw_set_flash_waitstate_and_readmode(param->cpu_f); +#elif UC3C + flashc_set_flash_waitstate_and_readmode(param->cpu_f); +#endif + + + //# + //# Switch the main clock source to the selected clock. + //# + pm_set_mclk_source(main_clk_src); + + return PASS; +} + +#endif // UC3L device-specific implementation + +//! UC3C Device-specific implementation +#if UC3C +static long int pcl_configure_clocks_uc3c(pcl_freq_param_t *param) +{ + #define PM_MAX_MUL ((1 << AVR32_SCIF_PLLMUL_SIZE) - 1) + #define AVR32_PM_PBA_MAX_FREQ 66000000 + #define AVR32_PM_PLL_VCO_RANGE0_MAX_FREQ 240000000 + #define AVR32_PM_PLL_VCO_RANGE0_MIN_FREQ 160000000 + + // Implementation for UC3C parts. + // Supported frequencies: + // Fosc0 mul div PLL div2_en cpu_f pba_f Comment + // 12 15 1 192 1 12 12 + // 12 9 3 40 1 20 20 PLL out of spec + // 12 15 1 192 1 24 12 + // 12 9 1 120 1 30 15 + // 12 9 3 40 0 40 20 PLL out of spec + // 12 15 1 192 1 48 12 + // 12 15 1 192 1 48 24 + // 12 8 1 108 1 54 27 + // 12 9 1 120 1 60 15 + // 12 9 1 120 1 60 30 + // 12 10 1 132 1 66 16.5 + // + unsigned long in_cpu_f = param->cpu_f; + unsigned long in_osc0_f = param->osc0_f; + unsigned long mul, div, div2_en = 0, div2_cpu = 0, div2_pba = 0; + unsigned long pll_freq, rest; + Bool b_div2_pba, b_div2_cpu; + + // Configure OSC0 in crystal mode, external crystal with a FOSC0 Hz frequency. + scif_configure_osc_crystalmode(SCIF_OSC0, in_osc0_f); + // Enable the OSC0 + scif_enable_osc(SCIF_OSC0, param->osc0_startup, true); + // Set the main clock source as being OSC0. + pm_set_mclk_source(PM_CLK_SRC_OSC0); + + // Start with CPU freq config + if (in_cpu_f == in_osc0_f) + { + param->cpu_f = in_osc0_f; + param->pba_f = in_osc0_f; + return PASS; + } + else if (in_cpu_f < in_osc0_f) + { + // TBD + } + + rest = in_cpu_f % in_osc0_f; + + for (div = 1; div < 32; div++) + { + if ((div * rest) % in_osc0_f == 0) + break; + } + if (div == 32) + return FAIL; + + mul = (in_cpu_f * div) / in_osc0_f; + + if (mul > PM_MAX_MUL) + return FAIL; + + // export 2power from PLL div to div2_cpu + while (!(div % 2)) + { + div /= 2; + div2_cpu++; + } + + // Here we know the mul and div parameter of the PLL config. + // . Check out if the PLL has a valid in_cpu_f. + // . Try to have for the PLL frequency (VCO output) the highest possible value + // to reduce jitter. + while (in_osc0_f * 2 * mul / div < AVR32_PM_PLL_VCO_RANGE0_MAX_FREQ) + { + if (2 * mul > PM_MAX_MUL) + break; + mul *= 2; + div2_cpu++; + } + + if (div2_cpu != 0) + { + div2_cpu--; + div2_en = 1; + } + + pll_freq = in_osc0_f * mul / (div * (1 << div2_en)); + + // Update real CPU Frequency + param->cpu_f = pll_freq / (1 << div2_cpu); + mul--; + + scif_pll_opt_t opt; + + opt.osc = SCIF_OSC0, // Sel Osc0 or Osc1 + opt.lockcount = 16, // lockcount in main clock for the PLL wait lock + opt.div = div, // DIV=1 in the formula + opt.mul = mul, // MUL=7 in the formula + opt.pll_div2 = div2_en, // pll_div2 Divide the PLL output frequency by 2 (this settings does not change the FVCO value) + opt.pll_wbwdisable = 0, //pll_wbwdisable 1 Disable the Wide-Bandith Mode (Wide-Bandwith mode allow a faster startup time and out-of-lock time). 0 to enable the Wide-Bandith Mode. + opt.pll_freq = (pll_freq < AVR32_PM_PLL_VCO_RANGE0_MIN_FREQ) ? 1 : 0, // Set to 1 for VCO frequency range 80-180MHz, set to 0 for VCO frequency range 160-240Mhz. + + + scif_pll_setup(SCIF_PLL0, opt); // lockcount in main clock for the PLL wait lock + + /* Enable PLL0 */ + scif_pll_enable(SCIF_PLL0); + + /* Wait for PLL0 locked */ + scif_wait_for_pll_locked(SCIF_PLL0) ; + + rest = pll_freq; + while (rest > AVR32_PM_PBA_MAX_FREQ || + rest != param->pba_f) + { + div2_pba++; + rest = pll_freq / (1 << div2_pba); + if (rest < param->pba_f) + break; + } + + // Update real PBA Frequency + param->pba_f = pll_freq / (1 << div2_pba); + + + if (div2_cpu) + { + b_div2_cpu = TRUE; + div2_cpu--; + } + else + b_div2_cpu = FALSE; + + if (div2_pba) + { + b_div2_pba = TRUE; + div2_pba--; + } + else + b_div2_pba = FALSE; + + if (b_div2_cpu == TRUE ) + { + pm_set_clk_domain_div(PM_CLK_DOMAIN_0, (pm_divratio_t) div2_cpu); // CPU + pm_set_clk_domain_div(PM_CLK_DOMAIN_1, (pm_divratio_t) div2_cpu); // HSB + pm_set_clk_domain_div(PM_CLK_DOMAIN_3, (pm_divratio_t) div2_cpu); // PBB + } + if (b_div2_pba == TRUE ) + { + pm_set_clk_domain_div(PM_CLK_DOMAIN_2, (pm_divratio_t) div2_pba); // PBA + pm_set_clk_domain_div(PM_CLK_DOMAIN_4, (pm_divratio_t) div2_pba); // PBC + } + + // Set Flashc Wait State + flashc_set_flash_waitstate_and_readmode(param->cpu_f); + + // Set the main clock source as being PLL0. + pm_set_mclk_source(PM_CLK_SRC_PLL0); + + return PASS; +} +#endif // UC3C device-specific implementation + +long int pcl_switch_to_osc(pcl_osc_t osc, unsigned int fcrystal, unsigned int startup) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. + if(PCL_OSC0 == osc) + { + // Configure OSC0 in crystal mode, external crystal with a FOSC0 Hz frequency, + // enable the OSC0, set the main clock source as being OSC0. + pm_switch_to_osc0(&AVR32_PM, fcrystal, startup); + } + else + { + return PCL_NOT_SUPPORTED; + } +#else +// Implementation for UC3C, UC3L parts. + #if AVR32_PM_VERSION_RESETVALUE < 0x400 + return PCL_NOT_SUPPORTED; + #else + if(PCL_OSC0 == osc) + { + // Configure OSC0 in crystal mode, external crystal with a fcrystal Hz frequency. + scif_configure_osc_crystalmode(SCIF_OSC0, fcrystal); + // Enable the OSC0 + scif_enable_osc(SCIF_OSC0, startup, true); + // Set the Flash wait state and the speed read mode (depending on the target CPU frequency). +#if UC3L + flashcdw_set_flash_waitstate_and_readmode(fcrystal); +#elif UC3C + flashc_set_flash_waitstate_and_readmode(fcrystal); +#endif + // Set the main clock source as being OSC0. + pm_set_mclk_source(PM_CLK_SRC_OSC0); + } + else + { + return PCL_NOT_SUPPORTED; + } + #endif +#endif + return PASS; +} + +long int pcl_configure_usb_clock(void) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. + pm_configure_usb_clock(); + return PASS; +#else + #ifdef AVR32_PM_410_H_INCLUDED + const scif_pll_opt_t opt = { + .osc = SCIF_OSC0, // Sel Osc0 or Osc1 + .lockcount = 16, // lockcount in main clock for the PLL wait lock + .div = 1, // DIV=1 in the formula + .mul = 5, // MUL=7 in the formula + .pll_div2 = 1, // pll_div2 Divide the PLL output frequency by 2 (this settings does not change the FVCO value) + .pll_wbwdisable = 0, //pll_wbwdisable 1 Disable the Wide-Bandith Mode (Wide-Bandwith mode allow a faster startup time and out-of-lock time). 0 to enable the Wide-Bandith Mode. + .pll_freq = 1, // Set to 1 for VCO frequency range 80-180MHz, set to 0 for VCO frequency range 160-240Mhz. + }; + + /* Setup PLL1 on Osc0, mul=7 ,no divisor, lockcount=16, ie. 16Mhzx6 = 96MHz output */ + scif_pll_setup(SCIF_PLL1, opt); // lockcount in main clock for the PLL wait lock + + /* Enable PLL1 */ + scif_pll_enable(SCIF_PLL1); + + /* Wait for PLL1 locked */ + scif_wait_for_pll_locked(SCIF_PLL1) ; + + // Implementation for UC3C parts. + // Setup the generic clock for USB + scif_gc_setup(AVR32_SCIF_GCLK_USB, + SCIF_GCCTRL_PLL1, + AVR32_SCIF_GC_NO_DIV_CLOCK, + 0); + // Now enable the generic clock + scif_gc_enable(AVR32_SCIF_GCLK_USB); + return PASS; + #else + return PCL_NOT_SUPPORTED; + #endif +#endif +} + + +#if UC3L +#else +void pcl_write_gplp(unsigned long gplp, unsigned long value) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. + pm_write_gplp(&AVR32_PM,gplp,value); +#else + scif_write_gplp(gplp,value); +#endif +} + +unsigned long pcl_read_gplp(unsigned long gplp) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. + return pm_read_gplp(&AVR32_PM,gplp); +#else + return scif_read_gplp(gplp); +#endif +} +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.h new file mode 100644 index 0000000..28c5888 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.h @@ -0,0 +1,379 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief High-level library abstracting features such as oscillators/pll/dfll + * configuration, clock configuration, System-sensible parameters + * configuration, buses clocks configuration, sleep mode, reset. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _POWER_CLOCKS_LIB_H_ +#define _POWER_CLOCKS_LIB_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <avr32/io.h> +#include "compiler.h" + +#ifndef AVR32_PM_VERSION_RESETVALUE +// Support for UC3A, UC3A3, UC3B parts. + #include "pm.h" +#else +//! Device-specific data +#if UC3L + #include "pm_uc3l.h" + #include "scif_uc3l.h" + #include "flashcdw.h" +#elif UC3C + #include "pm_uc3c.h" + #include "scif_uc3c.h" + #include "flashc.h" +#endif +#endif + +/*! \name Clocks Management + */ +//! @{ + +//! The different oscillators +typedef enum +{ + PCL_OSC0 = 0, + PCL_OSC1 = 1 +} pcl_osc_t; + +//! The different DFLLs +typedef enum +{ + PCL_DFLL0 = 0, + PCL_DFLL1 = 1 +} pcl_dfll_t; + +//! Possible Main Clock Sources +typedef enum +{ + PCL_MC_RCSYS, // Default main clock source, supported by all (aka Slow Clock) + PCL_MC_OSC0, // Supported by all + PCL_MC_OSC1, // Supported by UC3C only + PCL_MC_OSC0_PLL0, // Supported by UC3A, UC3B, UC3A3, UC3C (the main clock source is PLL0 with OSC0 as reference) + PCL_MC_OSC1_PLL0, // Supported by UC3A, UC3B, UC3A3, UC3C (the main clock source is PLL0 with OSC1 as reference) + PCL_MC_OSC0_PLL1, // Supported by UC3C (the main clock source is PLL1 with OSC0 as reference) + PCL_MC_OSC1_PLL1, // Supported by UC3C (the main clock source is PLL1 with OSC1 as reference) + PCL_MC_DFLL0, // Supported by UC3L + PCL_MC_DFLL1, // Not supported yet + PCL_MC_RC120M, // Supported by UC3L, UC3C + PCL_MC_RC8M, // Supported by UC3C + PCL_MC_CRIPOSC // Supported by UC3C +} pcl_mainclk_t; + +//! Input and output parameters to configure clocks with pcl_configure_clocks(). +// NOTE: regarding the frequency settings, always abide by the datasheet rules and min & max supported frequencies. +#ifndef AVR32_PM_VERSION_RESETVALUE +// Support for UC3A, UC3A3, UC3B parts. +#define pcl_freq_param_t pm_freq_param_t // See pm.h +#else +// Support for UC3C, UC3L parts. +typedef struct +{ + //! Main clock source selection (input argument). + pcl_mainclk_t main_clk_src; + + //! Target CPU frequency (input/output argument). + unsigned long cpu_f; + + //! Target PBA frequency (input/output argument). + unsigned long pba_f; + + //! Target PBB frequency (input/output argument). + unsigned long pbb_f; + + //! Target PBC frequency (input/output argument). + unsigned long pbc_f; + + //! Oscillator 0's external crystal(or external clock) frequency (board dependant) (input argument). + unsigned long osc0_f; + + //! Oscillator 0's external crystal(or external clock) startup time: AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC (input argument). + unsigned long osc0_startup; + + //! DFLL target frequency (input/output argument) (NOTE: the bigger, the most stable the frequency) + unsigned long dfll_f; + + //! Other parameters that might be necessary depending on the device (implementation-dependent). + // For the UC3L DFLL setup, this parameter should be pointing to a structure of + // type (scif_gclk_opt_t *). + void *pextra_params; +} pcl_freq_param_t; +#endif + +//! Define "not supported" for the lib. +#define PCL_NOT_SUPPORTED (-10000) + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - main_clk_src is the id of the main clock source to use, + * - cpu_f and pba_f and pbb_f are the wanted frequencies, + * - osc0_f is the oscillator 0's external crystal (or external clock) on-board frequency (e.g. FOSC0), + * - osc0_startup is the oscillator 0's external crystal (or external clock) startup time (e.g. OSC0_STARTUP). + * - dfll_f is the target DFLL frequency to set-up if main_clk_src is the dfll. + * + * The CPU, HSB and PBA frequencies programmed after configuration are stored back into cpu_f and pba_f. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks() and modify it to use + * preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks(pcl_freq_param_t *param); + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks using the RCSYS osc as main source clock. + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - cpu_f and pba_f and pbb_f are the wanted frequencies + * + * Supported main clock sources: PCL_MC_RCSYS + * + * Supported synchronous clocks frequencies: + * 115200Hz, 57600Hz, 28800Hz, 14400Hz, 7200Hz, 3600Hz, 1800Hz, 900Hz, 450Hz. + * + * \note: by default, this implementation doesn't perform thorough checks on the + * input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks_rcsys() and modify it to use + * preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks_rcsys(pcl_freq_param_t *param); + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks using the RC120M osc as main source clock. + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - cpu_f and pba_f and pbb_f are the wanted frequencies + * + * Supported main clock sources: PCL_MC_RC120M + * + * Supported synchronous clocks frequencies: + * 30MHz, 15MHz, 7.5MHz, 3.75MHz, 1.875MHz, 937.5kHz, 468.75kHz. + * + * \note: by default, this implementation doesn't perform thorough checks on the + * input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks_rc120m() and modify it to + * use preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks_rc120m(pcl_freq_param_t *param); + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks using the OSC0 osc as main source clock + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - cpu_f and pba_f and pbb_f are the wanted frequencies, + * - osc0_f is the oscillator 0's external crystal (or external clock) on-board frequency (e.g. FOSC0), + * - osc0_startup is the oscillator 0's external crystal (or external clock) startup time (e.g. OSC0_STARTUP). + * + * Supported main clock sources: PCL_MC_OSC0 + * + * Supported synchronous clocks frequencies: + * (these obviously depend on the OSC0 frequency; we'll take 16MHz as an example) + * 16MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500kHz, 250kHz, 125kHz, 62.5kHz. + * + * \note: by default, this implementation doesn't perform thorough checks on the + * input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks_osc0() and modify it to use + * preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks_osc0(pcl_freq_param_t *param); + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks using the DFLL0 as main source clock + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - cpu_f and pba_f and pbb_f are the wanted frequencies, + * - dfll_f is the target DFLL frequency to set-up + * + * \note: when the DFLL0 is to be used as main source clock for the synchronous clocks, + * the target frequency of the DFLL should be chosen to be as high as possible + * within the specification range (for stability reasons); the target cpu and pbx + * frequencies will then be reached by appropriate division ratio. + * + * Supported main clock sources: PCL_MC_DFLL0 + * + * Supported synchronous clocks frequencies: + * (these obviously depend on the DFLL target frequency; we'll take 100MHz as an example) + * 50MHz, 25MHz, 12.5MHz, 6.25MHz, 3.125MHz, 1562.5kHz, 781.25kHz, 390.625kHz. + * + * \note: by default, this implementation doesn't perform thorough checks on the + * input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks_dfll0() and modify it to + * use preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks_dfll0(pcl_freq_param_t *param); + +/*! \brief Switch the main clock source to Osc0 configured in crystal mode + * + * \param osc The oscillator to enable and switch to. + * \param fcrystal Oscillator external crystal frequency (Hz) + * \param startup Oscillator startup time. + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +extern long int pcl_switch_to_osc(pcl_osc_t osc, unsigned int fcrystal, unsigned int startup); + +/*! \brief Enable the clock of a module. + * + * \param module The module to clock (use one of the defines in the part-specific + * header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the + * clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks" + * or look in the module section). + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. +#define pcl_enable_module(module) pm_enable_module(&AVR32_PM, module) +#else +// Implementation for UC3C, UC3L parts. +#define pcl_enable_module(module) pm_enable_module(module) +#endif + +/*! \brief Disable the clock of a module. + * + * \param module The module to shut down (use one of the defines in the part-specific + * header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the + * clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks" + * or look in the module section). + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. +#define pcl_disable_module(module) pm_disable_module(&AVR32_PM, module) +#else +// Implementation for UC3C, UC3L parts. +#define pcl_disable_module(module) pm_disable_module(module) +#endif + +/*! \brief Configure the USB Clock + * + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +extern long int pcl_configure_usb_clock(void); + +//! @} + +/*! \name Power Management + */ +//! @{ +/*! + * \brief Read the content of the GPLP registers + * \param gplp GPLP register index (0,1,... depending on the number of GPLP registers for a given part) + * + * \return The content of the chosen GPLP register. + */ +extern unsigned long pcl_read_gplp(unsigned long gplp); + + +/*! + * \brief Write into the GPLP registers + * \param gplp GPLP register index (0,1,... depending on the number of GPLP registers for a given part) + * \param value Value to write + */ +extern void pcl_write_gplp(unsigned long gplp, unsigned long value); + +//! @} + +#ifdef __cplusplus +} +#endif + +#endif // _POWER_CLOCKS_LIB_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.c new file mode 100644 index 0000000..4cbae0f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.c @@ -0,0 +1,213 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief RTC driver for AVR32 UC3. + * + * AVR32 Real Time Counter driver module. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an RTC and a PM module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include "compiler.h" +#include "pm.h" +#include "rtc.h" + + +int rtc_is_busy(volatile avr32_rtc_t *rtc) +{ + return (rtc->ctrl & AVR32_RTC_CTRL_BUSY_MASK) != 0; +} + + +int rtc_init(volatile avr32_rtc_t *rtc, unsigned char osc_type, unsigned char psel) +{ + // If exit, it means that the configuration has not been set correctly + if (osc_type > (1 << AVR32_RTC_CTRL_CLK32_SIZE) - 1 || + psel > (1 << AVR32_RTC_CTRL_PSEL_SIZE) - 1) + return 0; + + // If we use the 32-kHz oscillator, we have to enable it first + if (osc_type == RTC_OSC_32KHZ) + { + // Select the 32-kHz oscillator crystal + pm_enable_osc32_crystal(&AVR32_PM); + // Enable the 32-kHz clock + pm_enable_clk32_no_wait(&AVR32_PM, AVR32_PM_OSCCTRL32_STARTUP_0_RCOSC); + } + + // Wait until the rtc CTRL register is up-to-date + while (rtc_is_busy(rtc)); + + // Set the new RTC configuration + rtc->ctrl = osc_type << AVR32_RTC_CTRL_CLK32_OFFSET | + psel << AVR32_RTC_CTRL_PSEL_OFFSET | + AVR32_RTC_CTRL_CLKEN_MASK; + + // Wait until write is done + while (rtc_is_busy(rtc)); + + // Set the counter value to 0 + rtc_set_value(rtc, 0x00000000); + // Set the top value to 0xFFFFFFFF + rtc_set_top_value(rtc, 0xFFFFFFFF); + + return 1; +} + + +void rtc_set_value(volatile avr32_rtc_t *rtc, unsigned long val) +{ + // Wait until we can write into the VAL register + while (rtc_is_busy(rtc)); + // Set the new val value + rtc->val = val; + // Wait until write is done + while (rtc_is_busy(rtc)); +} + + +unsigned long rtc_get_value(volatile avr32_rtc_t *rtc) +{ + return rtc->val; +} + + +void rtc_enable_wake_up(volatile avr32_rtc_t *rtc) +{ + // Wait until the rtc CTRL register is up-to-date + while (rtc_is_busy(rtc)); + // Enable the wake up of the RTC + rtc->ctrl |= AVR32_RTC_CTRL_WAKE_EN_MASK; + // Wait until write is done + while (rtc_is_busy(rtc)); +} + + +void rtc_disable_wake_up(volatile avr32_rtc_t *rtc) +{ + // Wait until the rtc CTRL register is up-to-date + while (rtc_is_busy(rtc)); + // Disable the wake up of the RTC + rtc->ctrl &= ~AVR32_RTC_CTRL_WAKE_EN_MASK; + // Wait until write is done + while (rtc_is_busy(rtc)); +} + + +void rtc_enable(volatile avr32_rtc_t *rtc) +{ + // Wait until the rtc CTRL register is up-to-date + while (rtc_is_busy(rtc)); + // Enable the RTC + rtc->ctrl |= AVR32_RTC_CTRL_EN_MASK; + // Wait until write is done + while (rtc_is_busy(rtc)); +} + + +void rtc_disable(volatile avr32_rtc_t *rtc) +{ + // Wait until the rtc CTRL register is up-to-date + while (rtc_is_busy(rtc)); + // Disable the RTC + rtc->ctrl &= ~AVR32_RTC_CTRL_EN_MASK; + // Wait until write is done + while (rtc_is_busy(rtc)); +} + + +void rtc_enable_interrupt(volatile avr32_rtc_t *rtc) +{ + rtc->ier = AVR32_RTC_IER_TOPI_MASK; +} + + +void rtc_disable_interrupt(volatile avr32_rtc_t *rtc) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + rtc->idr = AVR32_RTC_IDR_TOPI_MASK; + rtc->imr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + + +void rtc_clear_interrupt(volatile avr32_rtc_t *rtc) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + rtc->icr = AVR32_RTC_ICR_TOPI_MASK; + rtc->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + + +void rtc_set_top_value(volatile avr32_rtc_t *rtc, unsigned long top) +{ + // Wait until we can write into the VAL register + while (rtc_is_busy(rtc)); + // Set the new val value + rtc->top = top; + // Wait until write is done + while (rtc_is_busy(rtc)); +} + + +unsigned long rtc_get_top_value(volatile avr32_rtc_t *rtc) +{ + return rtc->top; +} + + +int rtc_interrupt_enabled(volatile avr32_rtc_t *rtc) +{ + return (rtc->imr & AVR32_RTC_IMR_TOPI_MASK) != 0; +} + + +int rtc_is_interrupt(volatile avr32_rtc_t *rtc) +{ + return (rtc->isr & AVR32_RTC_ISR_TOPI_MASK) != 0; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.h new file mode 100644 index 0000000..5702c29 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/RTC/rtc.h @@ -0,0 +1,191 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief RTC driver for AVR32 UC3. + * + * AVR32 Real Time Counter driver module. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an RTC and a PM module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _RTC_H_ +#define _RTC_H_ + +#include "compiler.h" +#include <avr32/io.h> + + +/*! \name Oscillator Types + */ +//! @{ +#define RTC_OSC_32KHZ 1 +#define RTC_OSC_RC 0 +//! @} + +/*! \name Predefined PSEL Values + */ +//! @{ + +//! The PSEL value to set the RTC source clock (after the prescaler) to 1 Hz, +//! when using an external 32-kHz crystal. +#define RTC_PSEL_32KHZ_1HZ 14 + +//! The PSEL value to set the RTC source clock (after the prescaler) to 1.76 Hz, +//! when using the internal RC oscillator (~ 115 kHz). +#define RTC_PSEL_RC_1_76HZ 15 + +//! @} + + +/*! + * \brief This function will initialise the RTC module. + * If you use the 32 KHz oscillator, it will enable this module. + * This function also set the top value of the RTC to 0xFFFFFFFF + * and the value to 0. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + * \param osc_type The oscillator you want to use. If you need a better + * accuracy, use the 32 KHz oscillator (i.e. RTC_OSC_32KHZ). + * \param psel The preselector value for the corresponding oscillator (4-bits). + * To obtain this value, you can use this formula: + * psel = log(Fosc/Frtc)/log(2)-1, where Fosc is the frequency of the + * oscillator you are using (32 KHz or 115 KHz) and Frtc the frequency + * desired. + * \return 1 if the initialisation succeds otherwize it will return 0. + */ +extern int rtc_init(volatile avr32_rtc_t *rtc, unsigned char osc_type, unsigned char psel); + +/*! + * \brief Enable the RTC. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + */ +extern void rtc_enable(volatile avr32_rtc_t *rtc); + +/*! + * \brief Disable the RTC. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + */ +extern void rtc_disable(volatile avr32_rtc_t *rtc); + +/*! + * \brief Enable the wake up feature of the RTC. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + */ +extern void rtc_enable_wake_up(volatile avr32_rtc_t *rtc); + +/*! + * \brief Disable the wake up feature of the RTC. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + */ +extern void rtc_disable_wake_up(volatile avr32_rtc_t *rtc); + +/*! + * \brief Enable the interrupt feature of the RTC. + * An interrupt is raised when the value of the RTC + * is equal to its top value. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + */ +extern void rtc_enable_interrupt(volatile avr32_rtc_t *rtc); + +/*! + * \brief Disable the interrupt feature of the RTC. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + */ +extern void rtc_disable_interrupt(volatile avr32_rtc_t *rtc); + +/*! + * \brief Clear the interrupt flag. + * Call this function once you handled the interrupt. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + */ +extern void rtc_clear_interrupt(volatile avr32_rtc_t *rtc); + +/*! + * \brief Get the status of interrupts. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + * \return 1 if the interrupts are enabled otherwize it returns 0. + */ +extern int rtc_interrupt_enabled(volatile avr32_rtc_t *rtc); + +/*! + * \brief Check if an interrupt is raised. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + * \return 1 if an interrupt is currently raised otherwize it returns 0. + */ +extern int rtc_is_interrupt(volatile avr32_rtc_t *rtc); + +/*! + * \brief This function sets the RTC current top value. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + * \param top The top value you want to store. + */ +extern void rtc_set_top_value(volatile avr32_rtc_t *rtc, unsigned long top); + +/*! + * \brief This function returns the RTC current top value. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + * \return The RTC current top value. + */ +extern unsigned long rtc_get_top_value(volatile avr32_rtc_t *rtc); + +/*! + * \brief This function checks if the RTC is busy or not. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + * \return 1 if the RTC is busy otherwize it will return 0. + */ +extern int rtc_is_busy(volatile avr32_rtc_t *rtc); + +/*! + * \brief This function sets the RTC current value. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + * \param val The value you want to store. + */ +extern void rtc_set_value(volatile avr32_rtc_t *rtc, unsigned long val); + +/*! + * \brief This function returns the RTC current value. + * \param rtc Base address of the RTC (i.e. &AVR32_RTC). + * \return The RTC current value. + */ +extern unsigned long rtc_get_value(volatile avr32_rtc_t *rtc); + + +#endif // _RTC_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c new file mode 100644 index 0000000..d2b7ccd --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c @@ -0,0 +1,443 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief SPI driver for AVR32 UC3. + * + * This file defines a useful set of functions for the SPI interface on AVR32 + * devices. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "spi.h" + +#ifdef FREERTOS_USED + +#include "FreeRTOS.h" +#include "semphr.h" + +#endif + + +/*! \name SPI Writable Bit-Field Registers + */ +//! @{ + +typedef union +{ + unsigned long cr; + avr32_spi_cr_t CR; +} u_avr32_spi_cr_t; + +typedef union +{ + unsigned long mr; + avr32_spi_mr_t MR; +} u_avr32_spi_mr_t; + +typedef union +{ + unsigned long tdr; + avr32_spi_tdr_t TDR; +} u_avr32_spi_tdr_t; + +typedef union +{ + unsigned long ier; + avr32_spi_ier_t IER; +} u_avr32_spi_ier_t; + +typedef union +{ + unsigned long idr; + avr32_spi_idr_t IDR; +} u_avr32_spi_idr_t; + +typedef union +{ + unsigned long csr; + avr32_spi_csr0_t CSR; +} u_avr32_spi_csr_t; + +//! @} + + +#ifdef FREERTOS_USED + +//! The SPI mutex. +static xSemaphoreHandle xSPIMutex; + +#endif + + +/*! \brief Calculates the baudrate divider. + * + * \param options Pointer to a structure containing initialization options for + * an SPI channel. + * \param pba_hz SPI module input clock frequency (PBA clock, Hz). + * + * \return Divider or error code. + * \retval >=0 Success. + * \retval <0 Error. + */ +static int getBaudDiv(const spi_options_t *options, unsigned int pba_hz) +{ + int baudDiv = (pba_hz + options->baudrate / 2) / options->baudrate; + + if (baudDiv <= 0 || baudDiv > 255) { + return -1; + } + + return baudDiv; +} + + +void spi_reset(volatile avr32_spi_t *spi) +{ + spi->cr = AVR32_SPI_CR_SWRST_MASK; +} + + +spi_status_t spi_initSlave(volatile avr32_spi_t *spi, + unsigned char bits, + unsigned char spi_mode) +{ + if (spi_mode > 3 || + bits < 8 || bits > 16) { + return SPI_ERROR_ARGUMENT; + } + + // Reset. + spi->cr = AVR32_SPI_CR_SWRST_MASK; + + // Will use CSR0 offsets; these are the same for CSR0 to CSR3. + spi->csr0 = ((spi_mode >> 1) << AVR32_SPI_CSR0_CPOL_OFFSET) | + (((spi_mode & 0x1) ^ 0x1) << AVR32_SPI_CSR0_NCPHA_OFFSET) | + ((bits - 8) << AVR32_SPI_CSR0_BITS_OFFSET); + + return SPI_OK; +} + + +spi_status_t spi_initTest(volatile avr32_spi_t *spi) +{ + // Reset. + spi->cr = AVR32_SPI_CR_SWRST_MASK; + spi->mr |= AVR32_SPI_MR_MSTR_MASK | // Master Mode. + AVR32_SPI_MR_LLB_MASK; // Local Loopback. + + return SPI_OK; +} + + +spi_status_t spi_initMaster(volatile avr32_spi_t *spi, const spi_options_t *options) +{ + u_avr32_spi_mr_t u_avr32_spi_mr; + + if (options->modfdis > 1) { + return SPI_ERROR_ARGUMENT; + } + + // Reset. + spi->cr = AVR32_SPI_CR_SWRST_MASK; + + // Master Mode. + u_avr32_spi_mr.mr = spi->mr; + u_avr32_spi_mr.MR.mstr = 1; + u_avr32_spi_mr.MR.modfdis = options->modfdis; + u_avr32_spi_mr.MR.llb = 0; + u_avr32_spi_mr.MR.pcs = (1 << AVR32_SPI_MR_PCS_SIZE) - 1; + spi->mr = u_avr32_spi_mr.mr; + + return SPI_OK; +} + + +spi_status_t spi_selectionMode(volatile avr32_spi_t *spi, + unsigned char variable_ps, + unsigned char pcs_decode, + unsigned char delay) +{ + u_avr32_spi_mr_t u_avr32_spi_mr; + + if (variable_ps > 1 || + pcs_decode > 1) { + return SPI_ERROR_ARGUMENT; + } + + u_avr32_spi_mr.mr = spi->mr; + u_avr32_spi_mr.MR.ps = variable_ps; + u_avr32_spi_mr.MR.pcsdec = pcs_decode; + u_avr32_spi_mr.MR.dlybcs = delay; + spi->mr = u_avr32_spi_mr.mr; + + return SPI_OK; +} + + +spi_status_t spi_selectChip(volatile avr32_spi_t *spi, unsigned char chip) +{ +#ifdef FREERTOS_USED + while (pdFALSE == xSemaphoreTake(xSPIMutex, 20)); +#endif + + // Assert all lines; no peripheral is selected. + spi->mr |= AVR32_SPI_MR_PCS_MASK; + + if (spi->mr & AVR32_SPI_MR_PCSDEC_MASK) { + // The signal is decoded; allow up to 15 chips. + if (chip > 14) { + return SPI_ERROR_ARGUMENT; + } + + spi->mr &= ~AVR32_SPI_MR_PCS_MASK | (chip << AVR32_SPI_MR_PCS_OFFSET); + } else { + if (chip > 3) { + return SPI_ERROR_ARGUMENT; + } + + spi->mr &= ~(1 << (AVR32_SPI_MR_PCS_OFFSET + chip)); + } + + return SPI_OK; +} + + +spi_status_t spi_unselectChip(volatile avr32_spi_t *spi, unsigned char chip) +{ + unsigned int timeout = SPI_TIMEOUT; + + while (!(spi->sr & AVR32_SPI_SR_TXEMPTY_MASK)) { + if (!timeout--) { + return SPI_ERROR_TIMEOUT; + } + } + + // Assert all lines; no peripheral is selected. + spi->mr |= AVR32_SPI_MR_PCS_MASK; + + // Last transfer, so deassert the current NPCS if CSAAT is set. + spi->cr = AVR32_SPI_CR_LASTXFER_MASK; + +#ifdef FREERTOS_USED + xSemaphoreGive(xSPIMutex); +#endif + + return SPI_OK; +} + + +spi_status_t spi_setupChipReg(volatile avr32_spi_t *spi, + const spi_options_t *options, + unsigned int pba_hz) +{ + u_avr32_spi_csr_t u_avr32_spi_csr; + + if (options->spi_mode > 3 || + options->stay_act > 1 || + options->bits < 8 || options->bits > 16) { + return SPI_ERROR_ARGUMENT; + } + + int baudDiv = getBaudDiv(options, pba_hz); + + if (baudDiv < 0) { + return SPI_ERROR_ARGUMENT; + } + + // Will use CSR0 offsets; these are the same for CSR0 to CSR3. + u_avr32_spi_csr.csr = 0; + u_avr32_spi_csr.CSR.cpol = options->spi_mode >> 1; + u_avr32_spi_csr.CSR.ncpha = (options->spi_mode & 0x1) ^ 0x1; + u_avr32_spi_csr.CSR.csaat = options->stay_act; + u_avr32_spi_csr.CSR.bits = options->bits - 8; + u_avr32_spi_csr.CSR.scbr = baudDiv; + u_avr32_spi_csr.CSR.dlybs = options->spck_delay; + u_avr32_spi_csr.CSR.dlybct = options->trans_delay; + + switch(options->reg) { + case 0: + spi->csr0 = u_avr32_spi_csr.csr; + break; + case 1: + spi->csr1 = u_avr32_spi_csr.csr; + break; + case 2: + spi->csr2 = u_avr32_spi_csr.csr; + break; + case 3: + spi->csr3 = u_avr32_spi_csr.csr; + break; + default: + return SPI_ERROR_ARGUMENT; + } + +#ifdef FREERTOS_USED + if (!xSPIMutex) + { + // Create the SPI mutex. + vSemaphoreCreateBinary(xSPIMutex); + if (!xSPIMutex) + { + while(1); + } + } +#endif + + return SPI_OK; +} + + +void spi_enable(volatile avr32_spi_t *spi) +{ + spi->cr = AVR32_SPI_CR_SPIEN_MASK; +} + + +void spi_disable(volatile avr32_spi_t *spi) +{ + spi->cr = AVR32_SPI_CR_SPIDIS_MASK; +} + + +int spi_is_enabled(volatile avr32_spi_t *spi) +{ + return (spi->sr & AVR32_SPI_SR_SPIENS_MASK) != 0; +} + + +inline unsigned char spi_writeRegisterEmptyCheck(volatile avr32_spi_t *spi) +{ + return ((spi->sr & AVR32_SPI_SR_TDRE_MASK) != 0); +} + + +inline spi_status_t spi_write(volatile avr32_spi_t *spi, unsigned short data) +{ + unsigned int timeout = SPI_TIMEOUT; + + while (!(spi->sr & AVR32_SPI_SR_TDRE_MASK)) { + if (!timeout--) { + return SPI_ERROR_TIMEOUT; + } + } + + spi->tdr = data << AVR32_SPI_TDR_TD_OFFSET; + + return SPI_OK; +} + + +spi_status_t spi_variableSlaveWrite(volatile avr32_spi_t *spi, unsigned short data, + unsigned char pcs, unsigned char lastxfer) +{ + unsigned int timeout = SPI_TIMEOUT; + + if (pcs > 14 || lastxfer > 1) { + return SPI_ERROR_ARGUMENT; + } + + while (!(spi->sr & AVR32_SPI_SR_TDRE_MASK)) { + if (!timeout--) { + return SPI_ERROR_TIMEOUT; + } + } + + spi->tdr = (data << AVR32_SPI_TDR_TD_OFFSET) | + (pcs << AVR32_SPI_TDR_PCS_OFFSET) | + (lastxfer << AVR32_SPI_TDR_LASTXFER_OFFSET); + + return SPI_OK; +} + + +inline unsigned char spi_writeEndCheck(volatile avr32_spi_t *spi) +{ + return ((spi->sr & AVR32_SPI_SR_TXEMPTY_MASK) != 0); +} + + +unsigned char spi_readRegisterFullCheck(volatile avr32_spi_t *spi) +{ + return ((spi->sr & AVR32_SPI_SR_RDRF_MASK) != 0); +} + + +inline spi_status_t spi_read(volatile avr32_spi_t *spi, unsigned short *data) +{ + unsigned int timeout = SPI_TIMEOUT; + + while ((spi->sr & (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) != + (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) { + if (!timeout--) { + return SPI_ERROR_TIMEOUT; + } + } + + *data = spi->rdr >> AVR32_SPI_RDR_RD_OFFSET; + + return SPI_OK; +} + + +unsigned char spi_getStatus(volatile avr32_spi_t *spi) +{ + spi_status_t ret = SPI_OK; + unsigned long sr = spi->sr; + + if (sr & AVR32_SPI_SR_OVRES_MASK) { + ret = SPI_ERROR_OVERRUN; + } + + if (sr & AVR32_SPI_SR_MODF_MASK) { + ret += SPI_ERROR_MODE_FAULT; + } + + if (ret == (SPI_ERROR_OVERRUN + SPI_ERROR_MODE_FAULT)) { + return SPI_ERROR_OVERRUN_AND_MODE_FAULT; + } + else if (ret > 0) { + return ret; + } else { + return SPI_OK; + } +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h new file mode 100644 index 0000000..6dcc928 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h @@ -0,0 +1,342 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief SPI driver for AVR32 UC3. + * + * This file defines a useful set of functions for the SPI interface on AVR32 + * devices. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _SPI_H_ +#define _SPI_H_ + +#include <avr32/io.h> + + +//! Time-out value (number of attempts). +#define SPI_TIMEOUT 10000 + + +//! Status codes used by the SPI driver. +typedef enum +{ + SPI_ERROR = -1, + SPI_OK = 0, + SPI_ERROR_TIMEOUT = 1, + SPI_ERROR_ARGUMENT, + SPI_ERROR_OVERRUN, + SPI_ERROR_MODE_FAULT, + SPI_ERROR_OVERRUN_AND_MODE_FAULT +} spi_status_t; + +//! Option structure for SPI channels. +typedef struct +{ + //! The SPI channel to set up. + unsigned char reg; + + //! Preferred baudrate for the SPI. + unsigned int baudrate; + + //! Number of bits in each character (8 to 16). + unsigned char bits; + + //! Delay before first clock pulse after selecting slave (in PBA clock periods). + unsigned char spck_delay; + + //! Delay between each transfer/character (in PBA clock periods). + unsigned char trans_delay; + + //! Sets this chip to stay active after last transfer to it. + unsigned char stay_act; + + //! Which SPI mode to use when transmitting. + unsigned char spi_mode; + + //! Disables the mode fault detection. + //! With this bit cleared, the SPI master mode will disable itself if another + //! master tries to address it. + unsigned char modfdis; +} spi_options_t; + + +/*! \brief Resets the SPI controller. + * + * \param spi Base address of the SPI instance. + */ +extern void spi_reset(volatile avr32_spi_t *spi); + +/*! \brief Initializes the SPI in slave mode. + * + * \param spi Base address of the SPI instance. + * \param bits Number of bits in each transmitted character (8 to 16). + * \param spi_mode Clock polarity and phase. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_initSlave(volatile avr32_spi_t *spi, + unsigned char bits, + unsigned char spi_mode); + +/*! \brief Sets up the SPI in a test mode where the transmitter is connected to + * the receiver (local loopback). + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval SPI_OK Success. + */ +extern spi_status_t spi_initTest(volatile avr32_spi_t *spi); + +/*! \brief Initializes the SPI in master mode. + * + * \param spi Base address of the SPI instance. + * \param options Pointer to a structure containing initialization options. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_initMaster(volatile avr32_spi_t *spi, const spi_options_t *options); + +/*! \brief Sets up how and when the slave chips are selected (master mode only). + * + * \param spi Base address of the SPI instance. + * \param variable_ps Target slave is selected in transfer register for every + * character to transmit. + * \param pcs_decode The four chip select lines are decoded externally. Values + * 0 to 14 can be given to \ref spi_selectChip. + * \param delay Delay in PBA periods between chip selects. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_selectionMode(volatile avr32_spi_t *spi, + unsigned char variable_ps, + unsigned char pcs_decode, + unsigned char delay); + +/*! \brief Selects slave chip. + * + * \param spi Base address of the SPI instance. + * \param chip Slave chip number (normal: 0 to 3, extarnally decoded signal: 0 + * to 14). + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_selectChip(volatile avr32_spi_t *spi, unsigned char chip); + +/*! \brief Unselects slave chip. + * + * \param spi Base address of the SPI instance. + * \param chip Slave chip number (normal: 0 to 3, extarnally decoded signal: 0 + * to 14). + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_TIMEOUT Time-out. + * + * \note Will block program execution until time-out occurs if last transmission + * is not complete. Invoke \ref spi_writeEndCheck beforehand if needed. + */ +extern spi_status_t spi_unselectChip(volatile avr32_spi_t *spi, unsigned char chip); + +/*! \brief Sets options for a specific slave chip. + * + * The baudrate field has to be written before transfer in master mode. Four + * similar registers exist, one for each slave. When using encoded slave + * addressing, reg=0 sets options for slaves 0 to 3, reg=1 for slaves 4 to 7 and + * so on. + * + * \param spi Base address of the SPI instance. + * \param options Pointer to a structure containing initialization options for + * an SPI channel. + * \param pba_hz SPI module input clock frequency (PBA clock, Hz). + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_setupChipReg(volatile avr32_spi_t *spi, + const spi_options_t *options, + unsigned int pba_hz); + +/*! \brief Enables the SPI. + * + * \param spi Base address of the SPI instance. + */ +extern void spi_enable(volatile avr32_spi_t *spi); + +/*! \brief Disables the SPI. + * + * Ensures that nothing is transferred while setting up buffers. + * + * \param spi Base address of the SPI instance. + * + * \warning This may cause data loss if used on a slave SPI. + */ +extern void spi_disable(volatile avr32_spi_t *spi); + +/*! \brief Tests if the SPI is enabled. + * + * \param spi Base address of the SPI instance. + * + * \return \c 1 if the SPI is enabled, otherwise \c 0. + */ +extern int spi_is_enabled(volatile avr32_spi_t *spi); + +/*! \brief Checks if there is no data in the transmit register. + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval 1 No data in TDR. + * \retval 0 Some data in TDR. + */ +extern unsigned char spi_writeRegisterEmptyCheck(volatile avr32_spi_t *spi); + +/*! \brief Writes one data word in master fixed peripheral select mode or in + * slave mode. + * + * \param spi Base address of the SPI instance. + * \param data The data word to write. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_TIMEOUT Time-out. + * + * \note Will block program execution until time-out occurs if transmitter is + * busy and transmit buffer is full. Invoke + * \ref spi_writeRegisterEmptyCheck beforehand if needed. + * + * \note Once the data has been written to the transmit buffer, the end of + * transmission is not waited for. Invoke \ref spi_writeEndCheck if + * needed. + */ +extern spi_status_t spi_write(volatile avr32_spi_t *spi, unsigned short data); + +/*! \brief Selects a slave in master variable peripheral select mode and writes + * one data word to it. + * + * \param spi Base address of the SPI instance. + * \param data The data word to write. + * \param pcs Slave selector (bit 0 -> nCS line 0, bit 1 -> nCS line 1, + * etc.). + * \param lastxfer Boolean indicating whether this is the last data word + * transfer. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_TIMEOUT Time-out. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + * + * \note Will block program execution until time-out occurs if transmitter is + * busy and transmit buffer is full. Invoke + * \ref spi_writeRegisterEmptyCheck beforehand if needed. + * + * \note Once the data has been written to the transmit buffer, the end of + * transmission is not waited for. Invoke \ref spi_writeEndCheck if + * needed. + */ +extern spi_status_t spi_variableSlaveWrite(volatile avr32_spi_t *spi, + unsigned short data, + unsigned char pcs, + unsigned char lastxfer); + +/*! \brief Checks if all transmissions are complete. + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval 1 All transmissions complete. + * \retval 0 Transmissions not complete. + */ +extern unsigned char spi_writeEndCheck(volatile avr32_spi_t *spi); + +/*! \brief Checks if there is data in the receive register. + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval 1 Some data in RDR. + * \retval 0 No data in RDR. + */ +extern unsigned char spi_readRegisterFullCheck(volatile avr32_spi_t *spi); + +/*! \brief Reads one data word in master mode or in slave mode. + * + * \param spi Base address of the SPI instance. + * \param data Pointer to the location where to store the received data word. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_TIMEOUT Time-out. + * + * \note Will block program execution until time-out occurs if no data is + * received or last transmission is not complete. Invoke + * \ref spi_writeEndCheck or \ref spi_readRegisterFullCheck beforehand if + * needed. + */ +extern spi_status_t spi_read(volatile avr32_spi_t *spi, unsigned short *data); + +/*! \brief Gets status information from the SPI. + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_OVERRUN Overrun error. + * \retval SPI_ERROR_MODE_FAULT Mode fault (SPI addressed as slave + * while in master mode). + * \retval SPI_ERROR_OVERRUN_AND_MODE_FAULT Overrun error and mode fault. + */ +extern unsigned char spi_getStatus(volatile avr32_spi_t *spi); + + +#endif // _SPI_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.c new file mode 100644 index 0000000..225642e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.c @@ -0,0 +1,314 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief TC driver for AVR32 UC3. + * + * AVR32 Timer/Counter driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a TC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include "compiler.h" +#include "tc.h" + + +int tc_get_interrupt_settings(volatile avr32_tc_t *tc, unsigned int channel) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + return tc->channel[channel].imr; +} + + +int tc_configure_interrupts(volatile avr32_tc_t *tc, unsigned int channel, const tc_interrupt_t *bitfield) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + // Enable the appropriate interrupts. + tc->channel[channel].ier = bitfield->etrgs << AVR32_TC_ETRGS_OFFSET | + bitfield->ldrbs << AVR32_TC_LDRBS_OFFSET | + bitfield->ldras << AVR32_TC_LDRAS_OFFSET | + bitfield->cpcs << AVR32_TC_CPCS_OFFSET | + bitfield->cpbs << AVR32_TC_CPBS_OFFSET | + bitfield->cpas << AVR32_TC_CPAS_OFFSET | + bitfield->lovrs << AVR32_TC_LOVRS_OFFSET | + bitfield->covfs << AVR32_TC_COVFS_OFFSET; + + // Disable the appropriate interrupts. + if (global_interrupt_enabled) Disable_global_interrupt(); + tc->channel[channel].idr = (~bitfield->etrgs & 1) << AVR32_TC_ETRGS_OFFSET | + (~bitfield->ldrbs & 1) << AVR32_TC_LDRBS_OFFSET | + (~bitfield->ldras & 1) << AVR32_TC_LDRAS_OFFSET | + (~bitfield->cpcs & 1) << AVR32_TC_CPCS_OFFSET | + (~bitfield->cpbs & 1) << AVR32_TC_CPBS_OFFSET | + (~bitfield->cpas & 1) << AVR32_TC_CPAS_OFFSET | + (~bitfield->lovrs & 1) << AVR32_TC_LOVRS_OFFSET | + (~bitfield->covfs & 1) << AVR32_TC_COVFS_OFFSET; + tc->channel[channel].sr; + if (global_interrupt_enabled) Enable_global_interrupt(); + + return 0; +} + + +int tc_select_external_clock(volatile avr32_tc_t *tc, unsigned int channel, unsigned int ext_clk_sig_src) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS || ext_clk_sig_src >= 1 << AVR32_TC_BMR_TC0XC0S_SIZE) + return TC_INVALID_ARGUMENT; + + // Clear bit-field and set the correct behavior. + tc->bmr = (tc->bmr & ~(AVR32_TC_BMR_TC0XC0S_MASK << (channel * AVR32_TC_BMR_TC0XC0S_SIZE))) | + (ext_clk_sig_src << (channel * AVR32_TC_BMR_TC0XC0S_SIZE)); + + return 0; +} + + +int tc_init_capture(volatile avr32_tc_t *tc, const tc_capture_opt_t *opt) +{ + // Check for valid input. + if (opt->channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + // MEASURE SIGNALS: Capture operating mode. + tc->channel[opt->channel].cmr = opt->ldrb << AVR32_TC_LDRB_OFFSET | + opt->ldra << AVR32_TC_LDRA_OFFSET | + 0 << AVR32_TC_WAVE_OFFSET | + opt->cpctrg << AVR32_TC_CPCTRG_OFFSET | + opt->abetrg << AVR32_TC_ABETRG_OFFSET | + opt->etrgedg << AVR32_TC_ETRGEDG_OFFSET| + opt->ldbdis << AVR32_TC_LDBDIS_OFFSET | + opt->ldbstop << AVR32_TC_LDBSTOP_OFFSET | + opt->burst << AVR32_TC_BURST_OFFSET | + opt->clki << AVR32_TC_CLKI_OFFSET | + opt->tcclks << AVR32_TC_TCCLKS_OFFSET; + + return 0; +} + + +int tc_init_waveform(volatile avr32_tc_t *tc, const tc_waveform_opt_t *opt) +{ + // Check for valid input. + if (opt->channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + // GENERATE SIGNALS: Waveform operating mode. + tc->channel[opt->channel].cmr = opt->bswtrg << AVR32_TC_BSWTRG_OFFSET | + opt->beevt << AVR32_TC_BEEVT_OFFSET | + opt->bcpc << AVR32_TC_BCPC_OFFSET | + opt->bcpb << AVR32_TC_BCPB_OFFSET | + opt->aswtrg << AVR32_TC_ASWTRG_OFFSET | + opt->aeevt << AVR32_TC_AEEVT_OFFSET | + opt->acpc << AVR32_TC_ACPC_OFFSET | + opt->acpa << AVR32_TC_ACPA_OFFSET | + 1 << AVR32_TC_WAVE_OFFSET | + opt->wavsel << AVR32_TC_WAVSEL_OFFSET | + opt->enetrg << AVR32_TC_ENETRG_OFFSET | + opt->eevt << AVR32_TC_EEVT_OFFSET | + opt->eevtedg << AVR32_TC_EEVTEDG_OFFSET | + opt->cpcdis << AVR32_TC_CPCDIS_OFFSET | + opt->cpcstop << AVR32_TC_CPCSTOP_OFFSET | + opt->burst << AVR32_TC_BURST_OFFSET | + opt->clki << AVR32_TC_CLKI_OFFSET | + opt->tcclks << AVR32_TC_TCCLKS_OFFSET; + + return 0; +} + + +int tc_start(volatile avr32_tc_t *tc, unsigned int channel) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + // Enable, reset and start the selected timer/counter channel. + tc->channel[channel].ccr = AVR32_TC_SWTRG_MASK | AVR32_TC_CLKEN_MASK; + + return 0; +} + + +int tc_stop(volatile avr32_tc_t *tc, unsigned int channel) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + // Disable the selected timer/counter channel. + tc->channel[channel].ccr = AVR32_TC_CLKDIS_MASK; + + return 0; +} + + +int tc_software_trigger(volatile avr32_tc_t *tc, unsigned int channel) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + // Reset the selected timer/counter channel. + tc->channel[channel].ccr = AVR32_TC_SWTRG_MASK; + + return 0; +} + + +void tc_sync_trigger(volatile avr32_tc_t *tc) +{ + // Reset all channels of the selected timer/counter. + tc->bcr = AVR32_TC_BCR_SYNC_MASK; +} + + +void tc_sync_start(volatile avr32_tc_t *tc) +{ + unsigned int i; + // Enable the clock for each channel. + for(i=0; i<TC_NUMBER_OF_CHANNELS;i++) + tc->channel[i].ccr = AVR32_TC_CLKEN_MASK; + + // Reset all channels of the selected timer/counter. + tc->bcr = AVR32_TC_BCR_SYNC_MASK; +} + + +int tc_read_sr(volatile avr32_tc_t *tc, unsigned int channel) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + return tc->channel[channel].sr; +} + + +int tc_read_tc(volatile avr32_tc_t *tc, unsigned int channel) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + return Rd_bitfield(tc->channel[channel].cv, AVR32_TC_CV_MASK); +} + + +int tc_read_ra(volatile avr32_tc_t *tc, unsigned int channel) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + return Rd_bitfield(tc->channel[channel].ra, AVR32_TC_RA_MASK); +} + + +int tc_read_rb(volatile avr32_tc_t *tc, unsigned int channel) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + return Rd_bitfield(tc->channel[channel].rb, AVR32_TC_RB_MASK); +} + + +int tc_read_rc(volatile avr32_tc_t *tc, unsigned int channel) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + return Rd_bitfield(tc->channel[channel].rc, AVR32_TC_RC_MASK); +} + + +int tc_write_ra(volatile avr32_tc_t *tc, unsigned int channel, unsigned short value) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + // This function is only available in WAVEFORM mode. + if (Tst_bits(tc->channel[channel].cmr, AVR32_TC_WAVE_MASK)) + Wr_bitfield(tc->channel[channel].ra, AVR32_TC_RA_MASK, value); + + return value; +} + + +int tc_write_rb(volatile avr32_tc_t *tc, unsigned int channel, unsigned short value) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + // This function is only available in WAVEFORM mode. + if (Tst_bits(tc->channel[channel].cmr, AVR32_TC_WAVE_MASK)) + Wr_bitfield(tc->channel[channel].rb, AVR32_TC_RB_MASK, value); + + return value; +} + + +int tc_write_rc(volatile avr32_tc_t *tc, unsigned int channel, unsigned short value) +{ + // Check for valid input. + if (channel >= TC_NUMBER_OF_CHANNELS) + return TC_INVALID_ARGUMENT; + + // This function is only available in WAVEFORM mode. + if (Tst_bits(tc->channel[channel].cmr, AVR32_TC_WAVE_MASK)) + Wr_bitfield(tc->channel[channel].rc, AVR32_TC_RC_MASK, value); + + return value; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.h new file mode 100644 index 0000000..45ef4f2 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/TC/tc.h @@ -0,0 +1,591 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Timer/Counter driver for AVR32 UC3. + * + * AVR32 Timer/Counter driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a TC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _TC_H_ +#define _TC_H_ + +#include <avr32/io.h> + + +//! TC driver functions return value in case of invalid argument(s). +#define TC_INVALID_ARGUMENT (-1) + +//! Number of timer/counter channels. +#define TC_NUMBER_OF_CHANNELS (sizeof(((avr32_tc_t *)0)->channel) / sizeof(avr32_tc_channel_t)) + +/*! \name External Clock Signal 0 Selection + */ +//! @{ +#define TC_CH0_EXT_CLK0_SRC_TCLK0 AVR32_TC_TC0XC0S_TCLK0 +#define TC_CH0_EXT_CLK0_SRC_NO_CLK AVR32_TC_TC0XC0S_NO_CLK +#define TC_CH0_EXT_CLK0_SRC_TIOA1 AVR32_TC_TC0XC0S_TIOA1 +#define TC_CH0_EXT_CLK0_SRC_TIOA2 AVR32_TC_TC0XC0S_TIOA2 +//! @} + +/*! \name External Clock Signal 1 Selection + */ +//! @{ +#define TC_CH1_EXT_CLK1_SRC_TCLK1 AVR32_TC_TC1XC1S_TCLK1 +#define TC_CH1_EXT_CLK1_SRC_NO_CLK AVR32_TC_TC1XC1S_NO_CLK +#define TC_CH1_EXT_CLK1_SRC_TIOA0 AVR32_TC_TC1XC1S_TIOA0 +#define TC_CH1_EXT_CLK1_SRC_TIOA2 AVR32_TC_TC1XC1S_TIOA2 +//! @} + +/*! \name External Clock Signal 2 Selection + */ +//! @{ +#define TC_CH2_EXT_CLK2_SRC_TCLK2 AVR32_TC_TC2XC2S_TCLK2 +#define TC_CH2_EXT_CLK2_SRC_NO_CLK AVR32_TC_TC2XC2S_NO_CLK +#define TC_CH2_EXT_CLK2_SRC_TIOA0 AVR32_TC_TC2XC2S_TIOA0 +#define TC_CH2_EXT_CLK2_SRC_TIOA1 AVR32_TC_TC2XC2S_TIOA1 +//! @} + +/*! \name Event/Trigger Actions on Output + */ +//! @{ +#define TC_EVT_EFFECT_NOOP AVR32_TC_NONE +#define TC_EVT_EFFECT_SET AVR32_TC_SET +#define TC_EVT_EFFECT_CLEAR AVR32_TC_CLEAR +#define TC_EVT_EFFECT_TOGGLE AVR32_TC_TOGGLE +//! @} + +/*! \name RC Compare Trigger Enable + */ +//! @{ +#define TC_NO_TRIGGER_COMPARE_RC 0 +#define TC_TRIGGER_COMPARE_RC 1 +//! @} + +/*! \name Waveform Selection + */ +//! @{ +#define TC_WAVEFORM_SEL_UP_MODE AVR32_TC_WAVSEL_UP_NO_AUTO +#define TC_WAVEFORM_SEL_UP_MODE_RC_TRIGGER AVR32_TC_WAVSEL_UP_AUTO +#define TC_WAVEFORM_SEL_UPDOWN_MODE AVR32_TC_WAVSEL_UPDOWN_NO_AUTO +#define TC_WAVEFORM_SEL_UPDOWN_MODE_RC_TRIGGER AVR32_TC_WAVSEL_UPDOWN_AUTO +//! @} + +/*! \name TIOA or TIOB External Trigger Selection + */ +//! @{ +#define TC_EXT_TRIG_SEL_TIOA 1 +#define TC_EXT_TRIG_SEL_TIOB 0 +//! @} + +/*! \name External Event Selection + */ +//! @{ +#define TC_EXT_EVENT_SEL_TIOB_INPUT AVR32_TC_EEVT_TIOB_INPUT +#define TC_EXT_EVENT_SEL_XC0_OUTPUT AVR32_TC_EEVT_XC0_OUTPUT +#define TC_EXT_EVENT_SEL_XC1_OUTPUT AVR32_TC_EEVT_XC1_OUTPUT +#define TC_EXT_EVENT_SEL_XC2_OUTPUT AVR32_TC_EEVT_XC2_OUTPUT +//! @} + +/*! \name Edge Selection + */ +//! @{ +#define TC_SEL_NO_EDGE AVR32_TC_EEVTEDG_NO_EDGE +#define TC_SEL_RISING_EDGE AVR32_TC_EEVTEDG_POS_EDGE +#define TC_SEL_FALLING_EDGE AVR32_TC_EEVTEDG_NEG_EDGE +#define TC_SEL_EACH_EDGE AVR32_TC_EEVTEDG_BOTH_EDGES +//! @} + +/*! \name Burst Signal Selection + */ +//! @{ +#define TC_BURST_NOT_GATED AVR32_TC_BURST_NOT_GATED +#define TC_BURST_CLK_AND_XC0 AVR32_TC_BURST_CLK_AND_XC0 +#define TC_BURST_CLK_AND_XC1 AVR32_TC_BURST_CLK_AND_XC1 +#define TC_BURST_CLK_AND_XC2 AVR32_TC_BURST_CLK_AND_XC2 +//! @} + +/*! \name Clock Invert + */ +//! @{ +#define TC_CLOCK_RISING_EDGE 0 +#define TC_CLOCK_FALLING_EDGE 1 +//! @} + +/*! \name Clock Selection + */ +//! @{ +#define TC_CLOCK_SOURCE_TC1 AVR32_TC_TCCLKS_TIMER_CLOCK1 +#define TC_CLOCK_SOURCE_TC2 AVR32_TC_TCCLKS_TIMER_CLOCK2 +#define TC_CLOCK_SOURCE_TC3 AVR32_TC_TCCLKS_TIMER_CLOCK3 +#define TC_CLOCK_SOURCE_TC4 AVR32_TC_TCCLKS_TIMER_CLOCK4 +#define TC_CLOCK_SOURCE_TC5 AVR32_TC_TCCLKS_TIMER_CLOCK5 +#define TC_CLOCK_SOURCE_XC0 AVR32_TC_TCCLKS_XC0 +#define TC_CLOCK_SOURCE_XC1 AVR32_TC_TCCLKS_XC1 +#define TC_CLOCK_SOURCE_XC2 AVR32_TC_TCCLKS_XC2 +//! @} + + +//! Timer/counter interrupts. +typedef struct +{ + unsigned int :24; + + //! External trigger interrupt. + unsigned int etrgs : 1; + + //! RB load interrupt. + unsigned int ldrbs : 1; + + //! RA load interrupt. + unsigned int ldras : 1; + + //! RC compare interrupt. + unsigned int cpcs : 1; + + //! RB compare interrupt. + unsigned int cpbs : 1; + + //! RA compare interrupt. + unsigned int cpas : 1; + + //! Load overrun interrupt. + unsigned int lovrs : 1; + + //! Counter overflow interrupt. + unsigned int covfs : 1; +} tc_interrupt_t; + +//! Parameters when initializing a timer/counter in capture mode. +typedef struct +{ + //! Channel to initialize. + unsigned int channel ; + + unsigned int :12; + + //! RB loading selection:\n + //! - \ref TC_SEL_NO_EDGE;\n + //! - \ref TC_SEL_RISING_EDGE;\n + //! - \ref TC_SEL_FALLING_EDGE;\n + //! - \ref TC_SEL_EACH_EDGE. + unsigned int ldrb : 2; + + //! RA loading selection:\n + //! - \ref TC_SEL_NO_EDGE;\n + //! - \ref TC_SEL_RISING_EDGE;\n + //! - \ref TC_SEL_FALLING_EDGE;\n + //! - \ref TC_SEL_EACH_EDGE. + unsigned int ldra : 2; + + unsigned int : 1; + + //! RC compare trigger enable:\n + //! - \ref TC_NO_TRIGGER_COMPARE_RC;\n + //! - \ref TC_TRIGGER_COMPARE_RC. + unsigned int cpctrg : 1; + + unsigned int : 3; + + //! TIOA or TIOB external trigger selection:\n + //! - \ref TC_EXT_TRIG_SEL_TIOA;\n + //! - \ref TC_EXT_TRIG_SEL_TIOB. + unsigned int abetrg : 1; + + //! External trigger edge selection:\n + //! - \ref TC_SEL_NO_EDGE;\n + //! - \ref TC_SEL_RISING_EDGE;\n + //! - \ref TC_SEL_FALLING_EDGE;\n + //! - \ref TC_SEL_EACH_EDGE. + unsigned int etrgedg : 2; + + //! Counter clock disable with RB loading:\n + //! - \c FALSE;\n + //! - \c TRUE. + unsigned int ldbdis : 1; + + //! Counter clock stopped with RB loading:\n + //! - \c FALSE;\n + //! - \c TRUE. + unsigned int ldbstop : 1; + + //! Burst signal selection:\n + //! - \ref TC_BURST_NOT_GATED;\n + //! - \ref TC_BURST_CLK_AND_XC0;\n + //! - \ref TC_BURST_CLK_AND_XC1;\n + //! - \ref TC_BURST_CLK_AND_XC2. + unsigned int burst : 2; + + //! Clock invert:\n + //! - \ref TC_CLOCK_RISING_EDGE;\n + //! - \ref TC_CLOCK_FALLING_EDGE. + unsigned int clki : 1; + + //! Clock selection:\n + //! - \ref TC_CLOCK_SOURCE_TC1;\n + //! - \ref TC_CLOCK_SOURCE_TC2;\n + //! - \ref TC_CLOCK_SOURCE_TC3;\n + //! - \ref TC_CLOCK_SOURCE_TC4;\n + //! - \ref TC_CLOCK_SOURCE_TC5;\n + //! - \ref TC_CLOCK_SOURCE_XC0;\n + //! - \ref TC_CLOCK_SOURCE_XC1;\n + //! - \ref TC_CLOCK_SOURCE_XC2. + unsigned int tcclks : 3; +} tc_capture_opt_t; + +//! Parameters when initializing a timer/counter in waveform mode. +typedef struct +{ + //! Channel to initialize. + unsigned int channel ; + + //! Software trigger effect on TIOB:\n + //! - \ref TC_EVT_EFFECT_NOOP;\n + //! - \ref TC_EVT_EFFECT_SET;\n + //! - \ref TC_EVT_EFFECT_CLEAR;\n + //! - \ref TC_EVT_EFFECT_TOGGLE. + unsigned int bswtrg : 2; + + //! External event effect on TIOB:\n + //! - \ref TC_EVT_EFFECT_NOOP;\n + //! - \ref TC_EVT_EFFECT_SET;\n + //! - \ref TC_EVT_EFFECT_CLEAR;\n + //! - \ref TC_EVT_EFFECT_TOGGLE. + unsigned int beevt : 2; + + //! RC compare effect on TIOB:\n + //! - \ref TC_EVT_EFFECT_NOOP;\n + //! - \ref TC_EVT_EFFECT_SET;\n + //! - \ref TC_EVT_EFFECT_CLEAR;\n + //! - \ref TC_EVT_EFFECT_TOGGLE. + unsigned int bcpc : 2; + + //! RB compare effect on TIOB:\n + //! - \ref TC_EVT_EFFECT_NOOP;\n + //! - \ref TC_EVT_EFFECT_SET;\n + //! - \ref TC_EVT_EFFECT_CLEAR;\n + //! - \ref TC_EVT_EFFECT_TOGGLE. + unsigned int bcpb : 2; + + //! Software trigger effect on TIOA:\n + //! - \ref TC_EVT_EFFECT_NOOP;\n + //! - \ref TC_EVT_EFFECT_SET;\n + //! - \ref TC_EVT_EFFECT_CLEAR;\n + //! - \ref TC_EVT_EFFECT_TOGGLE. + unsigned int aswtrg : 2; + + //! External event effect on TIOA:\n + //! - \ref TC_EVT_EFFECT_NOOP;\n + //! - \ref TC_EVT_EFFECT_SET;\n + //! - \ref TC_EVT_EFFECT_CLEAR;\n + //! - \ref TC_EVT_EFFECT_TOGGLE. + unsigned int aeevt : 2; + + //! RC compare effect on TIOA:\n + //! - \ref TC_EVT_EFFECT_NOOP;\n + //! - \ref TC_EVT_EFFECT_SET;\n + //! - \ref TC_EVT_EFFECT_CLEAR;\n + //! - \ref TC_EVT_EFFECT_TOGGLE. + unsigned int acpc : 2; + + //! RA compare effect on TIOA:\n + //! - \ref TC_EVT_EFFECT_NOOP;\n + //! - \ref TC_EVT_EFFECT_SET;\n + //! - \ref TC_EVT_EFFECT_CLEAR;\n + //! - \ref TC_EVT_EFFECT_TOGGLE. + unsigned int acpa : 2; + + unsigned int : 1; + + //! Waveform selection:\n + //! - \ref TC_WAVEFORM_SEL_UP_MODE;\n + //! - \ref TC_WAVEFORM_SEL_UP_MODE_RC_TRIGGER;\n + //! - \ref TC_WAVEFORM_SEL_UPDOWN_MODE;\n + //! - \ref TC_WAVEFORM_SEL_UPDOWN_MODE_RC_TRIGGER. + unsigned int wavsel : 2; + + //! External event trigger enable:\n + //! - \c FALSE;\n + //! - \c TRUE. + unsigned int enetrg : 1; + + //! External event selection:\n + //! - \ref TC_EXT_EVENT_SEL_TIOB_INPUT;\n + //! - \ref TC_EXT_EVENT_SEL_XC0_OUTPUT;\n + //! - \ref TC_EXT_EVENT_SEL_XC1_OUTPUT;\n + //! - \ref TC_EXT_EVENT_SEL_XC2_OUTPUT. + unsigned int eevt : 2; + + //! External event edge selection:\n + //! - \ref TC_SEL_NO_EDGE;\n + //! - \ref TC_SEL_RISING_EDGE;\n + //! - \ref TC_SEL_FALLING_EDGE;\n + //! - \ref TC_SEL_EACH_EDGE. + unsigned int eevtedg : 2; + + //! Counter clock disable with RC compare:\n + //! - \c FALSE;\n + //! - \c TRUE. + unsigned int cpcdis : 1; + + //! Counter clock stopped with RC compare:\n + //! - \c FALSE;\n + //! - \c TRUE. + unsigned int cpcstop : 1; + + //! Burst signal selection:\n + //! - \ref TC_BURST_NOT_GATED;\n + //! - \ref TC_BURST_CLK_AND_XC0;\n + //! - \ref TC_BURST_CLK_AND_XC1;\n + //! - \ref TC_BURST_CLK_AND_XC2. + unsigned int burst : 2; + + //! Clock invert:\n + //! - \ref TC_CLOCK_RISING_EDGE;\n + //! - \ref TC_CLOCK_FALLING_EDGE. + unsigned int clki : 1; + + //! Clock selection:\n + //! - \ref TC_CLOCK_SOURCE_TC1;\n + //! - \ref TC_CLOCK_SOURCE_TC2;\n + //! - \ref TC_CLOCK_SOURCE_TC3;\n + //! - \ref TC_CLOCK_SOURCE_TC4;\n + //! - \ref TC_CLOCK_SOURCE_TC5;\n + //! - \ref TC_CLOCK_SOURCE_XC0;\n + //! - \ref TC_CLOCK_SOURCE_XC1;\n + //! - \ref TC_CLOCK_SOURCE_XC2. + unsigned int tcclks : 3; +} tc_waveform_opt_t; + + +/*! \brief Reads timer/counter interrupt settings. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * + * \retval >=0 The interrupt enable configuration organized according to \ref tc_interrupt_t. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_get_interrupt_settings(volatile avr32_tc_t *tc, unsigned int channel); + +/*! \brief Enables various timer/counter interrupts. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * \param bitfield The interrupt enable configuration. + * + * \retval 0 Success. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_configure_interrupts(volatile avr32_tc_t *tc, unsigned int channel, const tc_interrupt_t *bitfield); + +/*! \brief Selects which external clock to use and how to configure it. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * \param ext_clk_sig_src External clock signal selection: + * \arg \c TC_CH0_EXT_CLK0_SRC_TCLK0; + * \arg \c TC_CH0_EXT_CLK0_SRC_NO_CLK; + * \arg \c TC_CH0_EXT_CLK0_SRC_TIOA1; + * \arg \c TC_CH0_EXT_CLK0_SRC_TIOA2; + * \arg \c TC_CH1_EXT_CLK1_SRC_TCLK1; + * \arg \c TC_CH1_EXT_CLK1_SRC_NO_CLK; + * \arg \c TC_CH1_EXT_CLK1_SRC_TIOA0; + * \arg \c TC_CH1_EXT_CLK1_SRC_TIOA2; + * \arg \c TC_CH2_EXT_CLK2_SRC_TCLK2; + * \arg \c TC_CH2_EXT_CLK2_SRC_NO_CLK; + * \arg \c TC_CH2_EXT_CLK2_SRC_TIOA0; + * \arg \c TC_CH2_EXT_CLK2_SRC_TIOA1. + * + * \retval 0 Success. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_select_external_clock(volatile avr32_tc_t *tc, unsigned int channel, unsigned int ext_clk_sig_src); + +/*! \brief Sets options for timer/counter capture initialization. + * + * \param tc Pointer to the TC instance to access. + * \param opt Options for capture mode. + * + * \retval 0 Success. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_init_capture(volatile avr32_tc_t *tc, const tc_capture_opt_t *opt); + +/*! \brief Sets options for timer/counter waveform initialization. + * + * \param tc Pointer to the TC instance to access. + * \param opt Options for waveform generation. + * + * \retval 0 Success. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_init_waveform(volatile avr32_tc_t *tc, const tc_waveform_opt_t *opt); + +/*! \brief Starts a timer/counter. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * + * \retval 0 Success. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_start(volatile avr32_tc_t *tc, unsigned int channel); + +/*! \brief Stops a timer/counter. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * + * \retval 0 Success. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_stop(volatile avr32_tc_t *tc, unsigned int channel); + +/*! \brief Performs a software trigger: the counter is reset and the clock is started. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * + * \retval 0 Success. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_software_trigger(volatile avr32_tc_t *tc, unsigned int channel); + +/*! \brief Asserts a SYNC signal to generate a software trigger and reset all channels. + * + * \param tc Pointer to the TC instance to access. + */ +extern void tc_sync_trigger(volatile avr32_tc_t *tc); + +/*! \brief Start all TC channels simultaneously. + * + * \param tc Pointer to the TC instance to access. + */ +extern void tc_sync_start(volatile avr32_tc_t *tc); + +/*! \brief Reads the status register. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * + * \retval >=0 Status register value. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_read_sr(volatile avr32_tc_t *tc, unsigned int channel); + +/*! \brief Reads the channel's TC counter and returns the value. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * + * \retval >=0 TC counter value. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_read_tc(volatile avr32_tc_t *tc, unsigned int channel); + +/*! \brief Reads the channel's RA register and returns the value. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * + * \retval >=0 RA register value. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_read_ra(volatile avr32_tc_t *tc, unsigned int channel); + +/*! \brief Reads the channel's RB register and returns the value. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * + * \retval >=0 RB register value. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_read_rb(volatile avr32_tc_t *tc, unsigned int channel); + +/*! \brief Reads the channel's RC register and returns the value. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * + * \retval >=0 RC register value. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_read_rc(volatile avr32_tc_t *tc, unsigned int channel); + +/*! \brief Writes a value to the channel's RA register. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * \param value Value to write to the RA register. + * + * \retval >=0 Written value. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_write_ra(volatile avr32_tc_t *tc, unsigned int channel, unsigned short value); + +/*! \brief Writes a value to the channel's RB register. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * \param value Value to write to the RB register. + * + * \retval >=0 Written value. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_write_rb(volatile avr32_tc_t *tc, unsigned int channel, unsigned short value); + +/*! \brief Writes a value to the channel's RC register. + * + * \param tc Pointer to the TC instance to access. + * \param channel The TC instance channel to access. + * \param value Value to write to the RC register. + * + * \retval >=0 Written value. + * \retval TC_INVALID_ARGUMENT Invalid argument(s). + */ +extern int tc_write_rc(volatile avr32_tc_t *tc, unsigned int channel, unsigned short value); + + +#endif // _TC_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c new file mode 100644 index 0000000..b95882a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c @@ -0,0 +1,914 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief USART driver for AVR32 UC3. + * + * This file contains basic functions for the AVR32 USART, with support for all + * modes, settings and clock speeds. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "usart.h" + + +//------------------------------------------------------------------------------ +/*! \name Private Functions + */ +//! @{ + + +/*! \brief Checks if the USART is in multidrop mode. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if the USART is in multidrop mode, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +static __inline__ int usart_mode_is_multidrop(volatile avr32_usart_t *usart) +{ + return ((usart->mr >> AVR32_USART_MR_PAR_OFFSET) & AVR32_USART_MR_PAR_MULTI) == AVR32_USART_MR_PAR_MULTI; +} + + +/*! \brief Calculates a clock divider (\e CD) and a fractional part (\e FP) for + * the USART asynchronous modes to generate a baud rate as close as + * possible to the baud rate set point. + * + * Baud rate calculation: + * \f$ Baudrate = \frac{SelectedClock}{Over \times (CD + \frac{FP}{8})} \f$, \e Over being 16 or 8. + * The maximal oversampling is selected if it allows to generate a baud rate close to the set point. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate set point. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Baud rate successfully initialized. + * \retval USART_INVALID_INPUT Baud rate set point is out of range for the given input clock frequency. + */ +static int usart_set_async_baudrate(volatile avr32_usart_t *usart, unsigned int baudrate, unsigned long pba_hz) +{ + unsigned int over = (pba_hz >= 16 * baudrate) ? 16 : 8; + unsigned int cd_fp = ((1 << AVR32_USART_BRGR_FP_SIZE) * pba_hz + (over * baudrate) / 2) / (over * baudrate); + unsigned int cd = cd_fp >> AVR32_USART_BRGR_FP_SIZE; + unsigned int fp = cd_fp & ((1 << AVR32_USART_BRGR_FP_SIZE) - 1); + + if (cd < 1 || cd > (1 << AVR32_USART_BRGR_CD_SIZE) - 1) + return USART_INVALID_INPUT; + + usart->mr = (usart->mr & ~(AVR32_USART_MR_USCLKS_MASK | + AVR32_USART_MR_SYNC_MASK | + AVR32_USART_MR_OVER_MASK)) | + AVR32_USART_MR_USCLKS_MCK << AVR32_USART_MR_USCLKS_OFFSET | + ((over == 16) ? AVR32_USART_MR_OVER_X16 : AVR32_USART_MR_OVER_X8) << AVR32_USART_MR_OVER_OFFSET; + + usart->brgr = cd << AVR32_USART_BRGR_CD_OFFSET | + fp << AVR32_USART_BRGR_FP_OFFSET; + + return USART_SUCCESS; +} + + +/*! \brief Calculates a clock divider (\e CD) for the USART synchronous master + * modes to generate a baud rate as close as possible to the baud rate + * set point. + * + * Baud rate calculation: + * \f$ Baudrate = \frac{SelectedClock}{CD} \f$. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate set point. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Baud rate successfully initialized. + * \retval USART_INVALID_INPUT Baud rate set point is out of range for the given input clock frequency. + */ +static int usart_set_sync_master_baudrate(volatile avr32_usart_t *usart, unsigned int baudrate, unsigned long pba_hz) +{ + unsigned int cd = (pba_hz + baudrate / 2) / baudrate; + + if (cd < 1 || cd > (1 << AVR32_USART_BRGR_CD_SIZE) - 1) + return USART_INVALID_INPUT; + + usart->mr = (usart->mr & ~AVR32_USART_MR_USCLKS_MASK) | + AVR32_USART_MR_USCLKS_MCK << AVR32_USART_MR_USCLKS_OFFSET | + AVR32_USART_MR_SYNC_MASK; + + usart->brgr = cd << AVR32_USART_BRGR_CD_OFFSET; + + return USART_SUCCESS; +} + + +/*! \brief Selects the SCK pin as the source of baud rate for the USART + * synchronous slave modes. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Baud rate successfully initialized. + */ +static int usart_set_sync_slave_baudrate(volatile avr32_usart_t *usart) +{ + usart->mr = (usart->mr & ~AVR32_USART_MR_USCLKS_MASK) | + AVR32_USART_MR_USCLKS_SCK << AVR32_USART_MR_USCLKS_OFFSET | + AVR32_USART_MR_SYNC_MASK; + + return USART_SUCCESS; +} + + +/*! \brief Calculates a clock divider (\e CD) for the USART ISO7816 mode to + * generate an ISO7816 clock as close as possible to the clock set point. + * + * ISO7816 clock calculation: + * \f$ Clock = \frac{SelectedClock}{CD} \f$. + * + * \param usart Base address of the USART instance. + * \param clock ISO7816 clock set point. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS ISO7816 clock successfully initialized. + * \retval USART_INVALID_INPUT ISO7816 clock set point is out of range for the given input clock frequency. + */ +static int usart_set_iso7816_clock(volatile avr32_usart_t *usart, unsigned int clock, unsigned long pba_hz) +{ + unsigned int cd = (pba_hz + clock / 2) / clock; + + if (cd < 1 || cd > (1 << AVR32_USART_BRGR_CD_SIZE) - 1) + return USART_INVALID_INPUT; + + usart->mr = (usart->mr & ~(AVR32_USART_MR_USCLKS_MASK | + AVR32_USART_MR_SYNC_MASK | + AVR32_USART_MR_OVER_MASK)) | + AVR32_USART_MR_USCLKS_MCK << AVR32_USART_MR_USCLKS_OFFSET | + AVR32_USART_MR_OVER_X16 << AVR32_USART_MR_OVER_OFFSET; + + usart->brgr = cd << AVR32_USART_BRGR_CD_OFFSET; + + return USART_SUCCESS; +} + + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + + +/*! \brief Calculates a clock divider (\e CD) for the USART SPI master mode to + * generate a baud rate as close as possible to the baud rate set point. + * + * Baud rate calculation: + * \f$ Baudrate = \frac{SelectedClock}{CD} \f$. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate set point. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Baud rate successfully initialized. + * \retval USART_INVALID_INPUT Baud rate set point is out of range for the given input clock frequency. + */ +static int usart_set_spi_master_baudrate(volatile avr32_usart_t *usart, unsigned int baudrate, unsigned long pba_hz) +{ + unsigned int cd = (pba_hz + baudrate / 2) / baudrate; + + if (cd < 4 || cd > (1 << AVR32_USART_BRGR_CD_SIZE) - 1) + return USART_INVALID_INPUT; + + usart->mr = (usart->mr & ~AVR32_USART_MR_USCLKS_MASK) | + AVR32_USART_MR_USCLKS_MCK << AVR32_USART_MR_USCLKS_OFFSET; + + usart->brgr = cd << AVR32_USART_BRGR_CD_OFFSET; + + return USART_SUCCESS; +} + + +/*! \brief Selects the SCK pin as the source of baud rate for the USART SPI + * slave mode. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Baud rate successfully initialized. + */ +static int usart_set_spi_slave_baudrate(volatile avr32_usart_t *usart) +{ + usart->mr = (usart->mr & ~AVR32_USART_MR_USCLKS_MASK) | + AVR32_USART_MR_USCLKS_SCK << AVR32_USART_MR_USCLKS_OFFSET; + + return USART_SUCCESS; +} + + +#endif // USART rev. >= 4.0.0 + + +//! @} + + +//------------------------------------------------------------------------------ +/*! \name Initialization Functions + */ +//! @{ + + +void usart_reset(volatile avr32_usart_t *usart) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + // Disable all USART interrupts. + // Interrupts needed should be set explicitly on every reset. + if (global_interrupt_enabled) Disable_global_interrupt(); + usart->idr = 0xFFFFFFFF; + usart->csr; + if (global_interrupt_enabled) Enable_global_interrupt(); + + // Reset mode and other registers that could cause unpredictable behavior after reset. + usart->mr = 0; + usart->rtor = 0; + usart->ttgr = 0; + + // Shutdown TX and RX (will be re-enabled when setup has successfully completed), + // reset status bits and turn off DTR and RTS. + usart->cr = AVR32_USART_CR_RSTRX_MASK | + AVR32_USART_CR_RSTTX_MASK | + AVR32_USART_CR_RSTSTA_MASK | + AVR32_USART_CR_RSTIT_MASK | + AVR32_USART_CR_RSTNACK_MASK | +#ifndef AVR32_USART_440_H_INCLUDED +// Note: Modem Signal Management DTR-DSR-DCD-RI are not included in USART rev.440. + AVR32_USART_CR_DTRDIS_MASK | +#endif + AVR32_USART_CR_RTSDIS_MASK; +} + + +int usart_init_rs232(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->paritytype > 7 || + opt->stopbits > 2 + 255 || + opt->channelmode > 3 || + usart_set_async_baudrate(usart, opt->baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET; + + if (opt->stopbits > USART_2_STOPBITS) + { + // Set two stop bits + usart->mr |= AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET; + // and a timeguard period gives the rest. + usart->ttgr = opt->stopbits - USART_2_STOPBITS; + } + else + // Insert 1, 1.5 or 2 stop bits. + usart->mr |= opt->stopbits << AVR32_USART_MR_NBSTOP_OFFSET; + + // Set normal mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_NORMAL << AVR32_USART_MR_MODE_OFFSET; + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_rs232_tx_only(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->paritytype > 7 || + opt->stopbits == 1 || opt->stopbits > 2 + 255 || + opt->channelmode > 3 || + usart_set_sync_master_baudrate(usart, opt->baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET; + + if (opt->stopbits > USART_2_STOPBITS) + { + // Set two stop bits + usart->mr |= AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET; + // and a timeguard period gives the rest. + usart->ttgr = opt->stopbits - USART_2_STOPBITS; + } + else + // Insert 1 or 2 stop bits. + usart->mr |= opt->stopbits << AVR32_USART_MR_NBSTOP_OFFSET; + + // Set normal mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_NORMAL << AVR32_USART_MR_MODE_OFFSET; + + // Setup complete; enable communication. + // Enable only output as input is not possible in synchronous mode without + // transferring clock. + usart->cr = AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_hw_handshaking(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // First: Setup standard RS232. + if (usart_init_rs232(usart, opt, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set hardware handshaking mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_HARDWARE << AVR32_USART_MR_MODE_OFFSET; + + return USART_SUCCESS; +} + + +int usart_init_modem(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // First: Setup standard RS232. + if (usart_init_rs232(usart, opt, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set modem mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_MODEM << AVR32_USART_MR_MODE_OFFSET; + + return USART_SUCCESS; +} + + +int usart_init_sync_master(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->paritytype > 7 || + opt->stopbits == 1 || opt->stopbits > 2 + 255 || + opt->channelmode > 3 || + usart_set_sync_master_baudrate(usart, opt->baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET; + + if (opt->stopbits > USART_2_STOPBITS) + { + // Set two stop bits + usart->mr |= AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET; + // and a timeguard period gives the rest. + usart->ttgr = opt->stopbits - USART_2_STOPBITS; + } + else + // Insert 1 or 2 stop bits. + usart->mr |= opt->stopbits << AVR32_USART_MR_NBSTOP_OFFSET; + + // Set normal mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_NORMAL << AVR32_USART_MR_MODE_OFFSET | + AVR32_USART_MR_CLKO_MASK; + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_sync_slave(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->paritytype > 7 || + opt->stopbits == 1 || opt->stopbits > 2 + 255 || + opt->channelmode > 3 || + usart_set_sync_slave_baudrate(usart) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET; + + if (opt->stopbits > USART_2_STOPBITS) + { + // Set two stop bits + usart->mr |= AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET; + // and a timeguard period gives the rest. + usart->ttgr = opt->stopbits - USART_2_STOPBITS; + } + else + // Insert 1 or 2 stop bits. + usart->mr |= opt->stopbits << AVR32_USART_MR_NBSTOP_OFFSET; + + // Set normal mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_NORMAL << AVR32_USART_MR_MODE_OFFSET; + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_rs485(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // First: Setup standard RS232. + if (usart_init_rs232(usart, opt, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set RS485 mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_RS485 << AVR32_USART_MR_MODE_OFFSET; + + return USART_SUCCESS; +} + + +int usart_init_IrDA(volatile avr32_usart_t *usart, const usart_options_t *opt, + long pba_hz, unsigned char irda_filter) +{ + // First: Setup standard RS232. + if (usart_init_rs232(usart, opt, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set IrDA filter. + usart->ifr = irda_filter; + + // Set IrDA mode and activate filtering of input. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MODE_IRDA << AVR32_USART_MR_MODE_OFFSET | + AVR32_USART_MR_FILTER_MASK; + + return USART_SUCCESS; +} + + +int usart_init_iso7816(volatile avr32_usart_t *usart, const usart_iso7816_options_t *opt, int t, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->paritytype > 1) + return USART_INVALID_INPUT; + + if (t == 0) + { + // Set USART mode to ISO7816, T=0. + // The T=0 protocol always uses 2 stop bits. + usart->mr = AVR32_USART_MR_MODE_ISO7816_T0 << AVR32_USART_MR_MODE_OFFSET | + AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET | + opt->bit_order << AVR32_USART_MR_MSBF_OFFSET; // Allow MSBF in T=0. + } + else if (t == 1) + { + // Only LSB first in the T=1 protocol. + // max_iterations field is only used in T=0 mode. + if (opt->bit_order != 0 || + opt->max_iterations != 0) + return USART_INVALID_INPUT; + + // Set USART mode to ISO7816, T=1. + // The T=1 protocol always uses 1 stop bit. + usart->mr = AVR32_USART_MR_MODE_ISO7816_T1 << AVR32_USART_MR_MODE_OFFSET | + AVR32_USART_MR_NBSTOP_1 << AVR32_USART_MR_NBSTOP_OFFSET; + } + else + return USART_INVALID_INPUT; + + if (usart_set_iso7816_clock(usart, opt->iso7816_hz, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set FIDI register: bit rate = selected clock/FI_DI_ratio/16. + usart->fidi = opt->fidi_ratio; + + // Set ISO7816 spesific options in the MODE register. + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + AVR32_USART_MR_CLKO_MASK | // Enable clock output. + opt->inhibit_nack << AVR32_USART_MR_INACK_OFFSET | + opt->dis_suc_nack << AVR32_USART_MR_DSNACK_OFFSET | + opt->max_iterations << AVR32_USART_MR_MAX_ITERATION_OFFSET; + + // Setup complete; enable the receiver by default. + usart_iso7816_enable_receiver(usart); + + return USART_SUCCESS; +} + + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + + +int usart_init_lin_master(volatile avr32_usart_t *usart, unsigned long baudrate, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (usart_set_async_baudrate(usart, baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + usart->mr |= AVR32_USART_MR_MODE_LIN_MASTER << AVR32_USART_MR_MODE_OFFSET; // LIN master mode. + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_lin_slave(volatile avr32_usart_t *usart, unsigned long baudrate, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (usart_set_async_baudrate(usart, baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + usart->mr |= AVR32_USART_MR_MODE_LIN_SLAVE << AVR32_USART_MR_MODE_OFFSET; // LIN slave mode. + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_spi_master(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->spimode > 3 || + opt->channelmode > 3 || + usart_set_spi_master_baudrate(usart, opt->baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= AVR32_USART_MR_MODE_SPI_MASTER << AVR32_USART_MR_MODE_OFFSET | // SPI master mode. + ((opt->spimode & 0x1) ^ 0x1) << AVR32_USART_MR_SYNC_OFFSET | // SPI clock phase. + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET | // Channel mode. + (opt->spimode >> 1) << AVR32_USART_MR_MSBF_OFFSET | // SPI clock polarity. + AVR32_USART_MR_CLKO_MASK; // Drive SCK pin. + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_spi_slave(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->spimode > 3 || + opt->channelmode > 3 || + usart_set_spi_slave_baudrate(usart) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= AVR32_USART_MR_MODE_SPI_SLAVE << AVR32_USART_MR_MODE_OFFSET | // SPI slave mode. + ((opt->spimode & 0x1) ^ 0x1) << AVR32_USART_MR_SYNC_OFFSET | // SPI clock phase. + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET | // Channel mode. + (opt->spimode >> 1) << AVR32_USART_MR_MSBF_OFFSET; // SPI clock polarity. + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +#endif // USART rev. >= 4.0.0 + + +//! @} + + +//------------------------------------------------------------------------------ +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + + +/*! \name SPI Control Functions + */ +//! @{ + + +int usart_spi_selectChip(volatile avr32_usart_t *usart) +{ + // Force the SPI chip select. + usart->cr = AVR32_USART_CR_RTSEN_MASK; + + return USART_SUCCESS; +} + + +int usart_spi_unselectChip(volatile avr32_usart_t *usart) +{ + int timeout = USART_DEFAULT_TIMEOUT; + + do + { + if (!timeout--) return USART_FAILURE; + } while (!usart_tx_empty(usart)); + + // Release the SPI chip select. + usart->cr = AVR32_USART_CR_RTSDIS_MASK; + + return USART_SUCCESS; +} + + +//! @} + + +#endif // USART rev. >= 4.0.0 + + +//------------------------------------------------------------------------------ +/*! \name Transmit/Receive Functions + */ +//! @{ + + +int usart_send_address(volatile avr32_usart_t *usart, int address) +{ + // Check if USART is in multidrop / RS485 mode. + if (!usart_mode_is_multidrop(usart)) return USART_MODE_FAULT; + + // Prepare to send an address. + usart->cr = AVR32_USART_CR_SENDA_MASK; + + // Write the address to TX. + usart_bw_write_char(usart, address); + + return USART_SUCCESS; +} + + +int usart_write_char(volatile avr32_usart_t *usart, int c) +{ + if (usart_tx_ready(usart)) + { + usart->thr = (c << AVR32_USART_THR_TXCHR_OFFSET) & AVR32_USART_THR_TXCHR_MASK; + return USART_SUCCESS; + } + else + return USART_TX_BUSY; +} + + +int usart_putchar(volatile avr32_usart_t *usart, int c) +{ + int timeout = USART_DEFAULT_TIMEOUT; + + if (c == '\n') + { + do + { + if (!timeout--) return USART_FAILURE; + } while (usart_write_char(usart, '\r') != USART_SUCCESS); + + timeout = USART_DEFAULT_TIMEOUT; + } + + do + { + if (!timeout--) return USART_FAILURE; + } while (usart_write_char(usart, c) != USART_SUCCESS); + + return USART_SUCCESS; +} + + +int usart_read_char(volatile avr32_usart_t *usart, int *c) +{ + // Check for errors: frame, parity and overrun. In RS485 mode, a parity error + // would mean that an address char has been received. + if (usart->csr & (AVR32_USART_CSR_OVRE_MASK | + AVR32_USART_CSR_FRAME_MASK | + AVR32_USART_CSR_PARE_MASK)) + return USART_RX_ERROR; + + // No error; if we really did receive a char, read it and return SUCCESS. + if (usart_test_hit(usart)) + { + *c = (usart->rhr & AVR32_USART_RHR_RXCHR_MASK) >> AVR32_USART_RHR_RXCHR_OFFSET; + return USART_SUCCESS; + } + else + return USART_RX_EMPTY; +} + + +int usart_getchar(volatile avr32_usart_t *usart) +{ + int c, ret; + + while ((ret = usart_read_char(usart, &c)) == USART_RX_EMPTY); + + if (ret == USART_RX_ERROR) + return USART_FAILURE; + + return c; +} + + +void usart_write_line(volatile avr32_usart_t *usart, const char *string) +{ + while (*string != '\0') + usart_putchar(usart, *string++); +} + + +int usart_get_echo_line(volatile avr32_usart_t *usart) +{ + int rx_char; + int retval = USART_SUCCESS; + + while (1) + { + rx_char = usart_getchar(usart); + if (rx_char == USART_FAILURE) + { + usart_write_line(usart, "Error!!!\n"); + retval = USART_FAILURE; + break; + } + if (rx_char == '\x03') + { + retval = USART_FAILURE; + break; + } + usart_putchar(usart, rx_char); + if (rx_char == '\r') + { + usart_putchar(usart, '\n'); + break; + } + } + + return retval; +} + + +//! @} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h new file mode 100644 index 0000000..bc1c100 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h @@ -0,0 +1,889 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief USART driver for AVR32 UC3. + * + * This file contains basic functions for the AVR32 USART, with support for all + * modes, settings and clock speeds. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _USART_H_ +#define _USART_H_ + +#include <avr32/io.h> +#include "compiler.h" + + +/*! \name Return Values + */ +//! @{ +#define USART_SUCCESS 0 //!< Successful completion. +#define USART_FAILURE -1 //!< Failure because of some unspecified reason. +#define USART_INVALID_INPUT 1 //!< Input value out of range. +#define USART_INVALID_ARGUMENT -1 //!< Argument value out of range. +#define USART_TX_BUSY 2 //!< Transmitter was busy. +#define USART_RX_EMPTY 3 //!< Nothing was received. +#define USART_RX_ERROR 4 //!< Transmission error occurred. +#define USART_MODE_FAULT 5 //!< USART not in the appropriate mode. +//! @} + +//! Default time-out value (number of attempts). +#define USART_DEFAULT_TIMEOUT 10000 + +/*! \name Parity Settings + */ +//! @{ +#define USART_EVEN_PARITY AVR32_USART_MR_PAR_EVEN //!< Use even parity on character transmission. +#define USART_ODD_PARITY AVR32_USART_MR_PAR_ODD //!< Use odd parity on character transmission. +#define USART_SPACE_PARITY AVR32_USART_MR_PAR_SPACE //!< Use a space as parity bit. +#define USART_MARK_PARITY AVR32_USART_MR_PAR_MARK //!< Use a mark as parity bit. +#define USART_NO_PARITY AVR32_USART_MR_PAR_NONE //!< Don't use a parity bit. +#define USART_MULTIDROP_PARITY AVR32_USART_MR_PAR_MULTI //!< Parity bit is used to flag address characters. +//! @} + +/*! \name Stop Bits Settings + */ +//! @{ +#define USART_1_STOPBIT AVR32_USART_MR_NBSTOP_1 //!< Use 1 stop bit. +#define USART_1_5_STOPBITS AVR32_USART_MR_NBSTOP_1_5 //!< Use 1.5 stop bits. +#define USART_2_STOPBITS AVR32_USART_MR_NBSTOP_2 //!< Use 2 stop bits (for more, just give the number of bits). +//! @} + +/*! \name Channel Modes + */ +//! @{ +#define USART_NORMAL_CHMODE AVR32_USART_MR_CHMODE_NORMAL //!< Normal communication. +#define USART_AUTO_ECHO AVR32_USART_MR_CHMODE_ECHO //!< Echo data. +#define USART_LOCAL_LOOPBACK AVR32_USART_MR_CHMODE_LOCAL_LOOP //!< Local loopback. +#define USART_REMOTE_LOOPBACK AVR32_USART_MR_CHMODE_REMOTE_LOOP //!< Remote loopback. +//! @} + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \name LIN Node Actions + */ +//! @{ +#define USART_LIN_PUBLISH_ACTION AVR32_USART_LINMR_NACT_PUBLISH //!< The USART transmits the response. +#define USART_LIN_SUBSCRIBE_ACTION AVR32_USART_LINMR_NACT_SUBSCRIBE //!< The USART receives the response. +#define USART_LIN_IGNORE_ACTION AVR32_USART_LINMR_NACT_IGNORE //!< The USART does not transmit and does not receive the reponse. +//! @} + +/*! \name LIN Checksum Types + */ +//! @{ +#define USART_LIN_ENHANCED_CHECKSUM 0 //!< LIN 2.0 "enhanced" checksum. +#define USART_LIN_CLASSIC_CHECKSUM 1 //!< LIN 1.3 "classic" checksum. +//! @} + +#endif // USART rev. >= 4.0.0 + + +//! Input parameters when initializing RS232 and similar modes. +typedef struct +{ + //! Set baud rate of the USART (unused in slave modes). + unsigned long baudrate; + + //! Number of bits to transmit as a character (5 to 9). + unsigned char charlength; + + //! How to calculate the parity bit: \ref USART_EVEN_PARITY, \ref USART_ODD_PARITY, + //! \ref USART_SPACE_PARITY, \ref USART_MARK_PARITY, \ref USART_NO_PARITY or + //! \ref USART_MULTIDROP_PARITY. + unsigned char paritytype; + + //! Number of stop bits between two characters: \ref USART_1_STOPBIT, + //! \ref USART_1_5_STOPBITS, \ref USART_2_STOPBITS or any number from 3 to 257 + //! which will result in a time guard period of that length between characters. + //! \note \ref USART_1_5_STOPBITS is supported in asynchronous modes only. + unsigned short stopbits; + + //! Run the channel in testmode: \ref USART_NORMAL_CHMODE, \ref USART_AUTO_ECHO, + //! \ref USART_LOCAL_LOOPBACK or \ref USART_REMOTE_LOOPBACK. + unsigned char channelmode; +} usart_options_t; + +//! Input parameters when initializing ISO7816 mode. +typedef struct +{ + //! Set the frequency of the ISO7816 clock. + unsigned long iso7816_hz; + + //! The number of ISO7816 clock ticks in every bit period (1 to 2047, 0 = disable clock). + //! Bit rate = \ref iso7816_hz / \ref fidi_ratio. + unsigned short fidi_ratio; + + //! How to calculate the parity bit: \ref USART_EVEN_PARITY for normal mode or + //! \ref USART_ODD_PARITY for inverse mode. + unsigned char paritytype; + + //! Inhibit Non Acknowledge:\n + //! - 0: the NACK is generated;\n + //! - 1: the NACK is not generated. + //! + //! \note This bit will be used only in ISO7816 mode, protocol T = 0 receiver. + int inhibit_nack; + + //! Disable successive NACKs. + //! Successive parity errors are counted up to the value in the \ref max_iterations field. + //! These parity errors generate a NACK on the ISO line. As soon as this value is reached, + //! no addititional NACK is sent on the ISO line. The ITERATION flag is asserted. + int dis_suc_nack; + + //! Max number of repetitions (0 to 7). + unsigned char max_iterations; + + //! Bit order in transmitted characters:\n + //! - 0: LSB first;\n + //! - 1: MSB first. + int bit_order; +} usart_iso7816_options_t; + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +//! Input parameters when initializing SPI mode. +typedef struct +{ + //! Set the frequency of the SPI clock (unused in slave mode). + unsigned long baudrate; + + //! Number of bits to transmit as a character (5 to 9). + unsigned char charlength; + + //! Which SPI mode to use. + unsigned char spimode; + + //! Run the channel in testmode: \ref USART_NORMAL_CHMODE, \ref USART_AUTO_ECHO, + //! \ref USART_LOCAL_LOOPBACK or \ref USART_REMOTE_LOOPBACK. + unsigned char channelmode; +} usart_spi_options_t; + +#endif // USART rev. >= 4.0.0 + + +//------------------------------------------------------------------------------ +/*! \name Initialization Functions + */ +//! @{ + +/*! \brief Resets the USART and disables TX and RX. + * + * \param usart Base address of the USART instance. + */ +extern void usart_reset(volatile avr32_usart_t *usart); + +/*! \brief Sets up the USART to use the standard RS232 protocol. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_rs232(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the standard RS232 protocol in TX-only mode. + * + * Compared to \ref usart_init_rs232, this function allows very high baud rates + * (up to \a pba_hz instead of \a pba_hz / \c 8) at the expense of full duplex. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + * + * \note The \c 1.5 stop bit is not supported in this mode. + */ +extern int usart_init_rs232_tx_only(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use hardware handshaking. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + * + * \note \ref usart_init_rs232 does not need to be invoked before this function. + */ +extern int usart_init_hw_handshaking(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the modem protocol, activating dedicated inputs/outputs. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_modem(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use a synchronous RS232-like protocol in master mode. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_sync_master(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use a synchronous RS232-like protocol in slave mode. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_sync_slave(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the RS485 protocol. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_rs485(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the IrDA protocol. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * \param irda_filter Counter used to distinguish received ones from zeros. + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_IrDA(volatile avr32_usart_t *usart, const usart_options_t *opt, + long pba_hz, unsigned char irda_filter); + +/*! \brief Sets up the USART to use the ISO7816 T=0 or T=1 smartcard protocols. + * + * The receiver is enabled by default. \ref usart_iso7816_enable_receiver and + * \ref usart_iso7816_enable_transmitter can be called to change the half-duplex + * communication direction. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up ISO7816 communication (see \ref usart_iso7816_options_t). + * \param t ISO7816 mode to use (T=0 or T=1). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_iso7816(volatile avr32_usart_t *usart, const usart_iso7816_options_t *opt, int t, long pba_hz); + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \brief Sets up the USART to use the LIN master mode. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + */ +extern int usart_init_lin_master(volatile avr32_usart_t *usart, unsigned long baudrate, long pba_hz); + +/*! \brief Sets up the USART to use the LIN slave mode. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + */ +extern int usart_init_lin_slave(volatile avr32_usart_t *usart, unsigned long baudrate, long pba_hz); + +/*! \brief Sets up the USART to use the SPI master mode. + * + * \ref usart_spi_selectChip and \ref usart_spi_unselectChip can be called to + * select or unselect the SPI slave chip. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up SPI mode (see \ref usart_spi_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_spi_master(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the SPI slave mode. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up SPI mode (see \ref usart_spi_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_spi_slave(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz); + +#endif // USART rev. >= 4.0.0 + +//! @} + + +//------------------------------------------------------------------------------ +/*! \name Read and Reset Error Status Bits + */ +//! @{ + +/*! \brief Resets the error status. + * + * This function resets the status bits indicating that a parity error, + * framing error or overrun has occurred. The RXBRK bit, indicating + * a start/end of break condition on the RX line, is also reset. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_reset_status(volatile avr32_usart_t *usart) +{ + usart->cr = AVR32_USART_CR_RSTSTA_MASK; +} + +/*! \brief Checks if a parity error has occurred since last status reset. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if a parity error has been detected, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_parity_error(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_PARE_MASK) != 0; +} + +/*! \brief Checks if a framing error has occurred since last status reset. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if a framing error has been detected, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_framing_error(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_FRAME_MASK) != 0; +} + +/*! \brief Checks if an overrun error has occurred since last status reset. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if a overrun error has been detected, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_overrun_error(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_OVRE_MASK) != 0; +} + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \brief Get LIN Error Status + * + * \param usart Base address of the USART instance. + * + * \retval The binary value of the error field. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_lin_get_error(volatile avr32_usart_t *usart) +{ + return (usart->csr & (AVR32_USART_CSR_LINSNRE_MASK | + AVR32_USART_CSR_LINCE_MASK | + AVR32_USART_CSR_LINIPE_MASK | + AVR32_USART_CSR_LINISFE_MASK | + AVR32_USART_CSR_LINBE_MASK)) >> AVR32_USART_CSR_LINBE_OFFSET; +} + +#endif // USART rev. >= 4.0.0 + +//! @} + + +//------------------------------------------------------------------------------ +/*! \name ISO7816 Control Functions + */ +//! @{ + +/*! \brief Enables the ISO7816 receiver. + * + * The ISO7816 transmitter is disabled. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_iso7816_enable_receiver(volatile avr32_usart_t *usart) +{ + usart->cr = AVR32_USART_CR_TXDIS_MASK | AVR32_USART_CR_RXEN_MASK; +} + +/*! \brief Enables the ISO7816 transmitter. + * + * The ISO7816 receiver is disabled. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_iso7816_enable_transmitter(volatile avr32_usart_t *usart) +{ + usart->cr = AVR32_USART_CR_RXDIS_MASK | AVR32_USART_CR_TXEN_MASK; +} + +//! @} + + +//------------------------------------------------------------------------------ +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \name LIN Control Functions + */ +//! @{ + +/*! \brief Sets the node action. + * + * \param usart Base address of the USART instance. + * \param action The node action: \ref USART_LIN_PUBLISH_ACTION, + * \ref USART_LIN_SUBSCRIBE_ACTION or + * \ref USART_LIN_IGNORE_ACTION. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_node_action(volatile avr32_usart_t *usart, unsigned char action) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_NACT_MASK) | + action << AVR32_USART_LINMR_NACT_OFFSET; +} + +/*! \brief Enables or disables the Identifier parity. + * + * \param usart Base address of the USART instance. + * \param parity Whether to enable the Identifier parity: \c TRUE or \c FALSE. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_enable_parity(volatile avr32_usart_t *usart, unsigned char parity) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_PARDIS_MASK) | + !parity << AVR32_USART_LINMR_PARDIS_OFFSET; +} + +/*! \brief Enables or disables the checksum. + * + * \param usart Base address of the USART instance. + * \param parity Whether to enable the checksum: \c TRUE or \c FALSE. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_enable_checksum(volatile avr32_usart_t *usart, unsigned char checksum) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_CHKDIS_MASK) | + !checksum << AVR32_USART_LINMR_CHKDIS_OFFSET; +} + +/*! \brief Sets the checksum type. + * + * \param usart Base address of the USART instance. + * \param chktyp The checksum type: \ref USART_LIN_ENHANCED_CHEKSUM or + * \ref USART_LIN_CLASSIC_CHECKSUM. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_checksum(volatile avr32_usart_t *usart, unsigned char chktyp) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_CHKTYP_MASK) | + chktyp << AVR32_USART_LINMR_CHKTYP_OFFSET; +} + +/*! \brief Gets the response data length. + * + * \param usart Base address of the USART instance. + * + * \return The response data length. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ unsigned char usart_lin_get_data_length(volatile avr32_usart_t *usart) +{ + if (usart->linmr & AVR32_USART_LINMR_DLM_MASK) + { + unsigned char data_length = 1 << ((usart->linir >> (AVR32_USART_LINIR_IDCHR_OFFSET + 4)) & 0x03); + if (data_length == 1) + data_length = 2; + return data_length; + } + else + return ((usart->linmr & AVR32_USART_LINMR_DLC_MASK) >> AVR32_USART_LINMR_DLC_OFFSET) + 1; +} + +/*! \brief Sets the response data length for LIN 1.x. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_data_length_lin1x(volatile avr32_usart_t *usart) +{ + usart->linmr |= AVR32_USART_LINMR_DLM_MASK; +} + +/*! \brief Sets the response data length for LIN 2.x. + * + * \param usart Base address of the USART instance. + * \param data_length The response data length. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_data_length_lin2x(volatile avr32_usart_t *usart, unsigned char data_length) +{ + usart->linmr = (usart->linmr & ~(AVR32_USART_LINMR_DLC_MASK | + AVR32_USART_LINMR_DLM_MASK)) | + (data_length - 1) << AVR32_USART_LINMR_DLC_OFFSET; +} + +/*! \brief Enables or disables the frame slot mode. + * + * \param usart Base address of the USART instance. + * \param frameslot Whether to enable the frame slot mode: \c TRUE or + * \c FALSE. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_enable_frameslot(volatile avr32_usart_t *usart, unsigned char frameslot) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_FSDIS_MASK) | + !frameslot << AVR32_USART_LINMR_FSDIS_OFFSET; +} + +/*! \brief Gets the Identifier character. + * + * \param usart Base address of the USART instance. + * + * \return The Identifier character. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ unsigned char usart_lin_get_id_char(volatile avr32_usart_t *usart) +{ + return (usart->linir & AVR32_USART_LINIR_IDCHR_MASK) >> AVR32_USART_LINIR_IDCHR_OFFSET; +} + +/*! \brief Sets the Identifier character. + * + * \param usart Base address of the USART instance. + * \param id_char The Identifier character. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_id_char(volatile avr32_usart_t *usart, unsigned char id_char) +{ + usart->linir = (usart->linir & ~AVR32_USART_LINIR_IDCHR_MASK) | + id_char << AVR32_USART_LINIR_IDCHR_OFFSET; +} + +//! @} + +#endif // USART rev. >= 4.0.0 + + +//------------------------------------------------------------------------------ +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \name SPI Control Functions + */ +//! @{ + +/*! \brief Selects SPI slave chip. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Success. + */ +extern int usart_spi_selectChip(volatile avr32_usart_t *usart); + +/*! \brief Unselects SPI slave chip. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Success. + * \retval USART_FAILURE Time-out. + */ +extern int usart_spi_unselectChip(volatile avr32_usart_t *usart); + +//! @} + +#endif // USART rev. >= 4.0.0 + + +//------------------------------------------------------------------------------ +/*! \name Transmit/Receive Functions + */ +//! @{ + +/*! \brief Addresses a receiver. + * + * While in RS485 mode, receivers only accept data addressed to them. + * A packet/char with the address tag set has to precede any data. + * This function is used to address a receiver. This receiver should read + * all the following data, until an address packet addresses another receiver. + * + * \param usart Base address of the USART instance. + * \param address Address of the target device. + * + * \retval USART_SUCCESS Address successfully sent (if current mode is RS485). + * \retval USART_MODE_FAULT Wrong operating mode. + */ +extern int usart_send_address(volatile avr32_usart_t *usart, int address); + +/*! \brief Tests if the USART is ready to transmit a character. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if the USART Transmit Holding Register is free, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_tx_ready(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_TXRDY_MASK) != 0; +} + +/*! \brief Writes the given character to the TX buffer if the transmitter is ready. + * + * \param usart Base address of the USART instance. + * \param c The character (up to 9 bits) to transmit. + * + * \retval USART_SUCCESS The transmitter was ready. + * \retval USART_TX_BUSY The transmitter was busy. + */ +extern int usart_write_char(volatile avr32_usart_t *usart, int c); + +/*! \brief An active wait writing a character to the USART. + * + * \param usart Base address of the USART instance. + * \param c The character (up to 9 bits) to transmit. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_bw_write_char(volatile avr32_usart_t *usart, int c) +{ + while (usart_write_char(usart, c) != USART_SUCCESS); +} + +/*! \brief Sends a character with the USART. + * + * \param usart Base address of the USART instance. + * \param c Character to write. + * + * \retval USART_SUCCESS The character was written. + * \retval USART_FAILURE The function timed out before the USART transmitter became ready to send. + */ +extern int usart_putchar(volatile avr32_usart_t *usart, int c); + +/*! \brief Tests if all requested USART transmissions are over. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if the USART Transmit Shift Register and the USART Transmit + * Holding Register are free, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_tx_empty(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_TXEMPTY_MASK) != 0; +} + +/*! \brief Tests if the USART contains a received character. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if the USART Receive Holding Register is full, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_test_hit(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_RXRDY_MASK) != 0; +} + +/*! \brief Checks the RX buffer for a received character, and stores it at the + * given memory location. + * + * \param usart Base address of the USART instance. + * \param c Pointer to the where the read character should be stored + * (must be at least short in order to accept 9-bit characters). + * + * \retval USART_SUCCESS The character was read successfully. + * \retval USART_RX_EMPTY The RX buffer was empty. + * \retval USART_RX_ERROR An error was deteceted. + */ +extern int usart_read_char(volatile avr32_usart_t *usart, int *c); + +/*! \brief Waits until a character is received, and returns it. + * + * \param usart Base address of the USART instance. + * + * \return The received character, or \ref USART_FAILURE upon error. + */ +extern int usart_getchar(volatile avr32_usart_t *usart); + +/*! \brief Writes one character string to the USART. + * + * \param usart Base address of the USART instance. + * \param string String to be written. + */ +extern void usart_write_line(volatile avr32_usart_t *usart, const char *string); + +/*! \brief Gets and echoes characters until end of line. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Success. + * \retval USART_FAILURE Low-level error detected or ETX character received. + */ +extern int usart_get_echo_line(volatile avr32_usart_t *usart); + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \brief Abort LIN transmission. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_abort(volatile avr32_usart_t *usart) +{ + usart->cr = AVR32_USART_LINABT_MASK; +} + +/*! \brief Tests if a LIN transfer has been completed. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if a LIN transfer has been completed, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_lin_transfer_completed(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_LINTC_MASK) != 0; +} + +#endif // USART rev. >= 4.0.0 + +//! @} + + +#endif // _USART_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.c new file mode 100644 index 0000000..ad5ecca --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.c @@ -0,0 +1,87 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ****************************************************************** + * + * \brief Management of the delays. + * + * This file manages the "delays", with or without an OS. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ***************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +//_____ I N C L U D E S ___________________________________________________ + +#include "delay.h" + + +//_____ M A C R O S ________________________________________________________ + + +//_____ D E F I N I T I O N S ______________________________________________ + +//! CPU frequency +#ifndef FREERTOS_USED +static unsigned long s_fcpu_hz; +#endif +#if (defined NUTOS_USED) +extern void NutSleep(unsigned long ms); +#endif + +//_____ D E C L A R A T I O N S ____________________________________________ + +void delay_init(unsigned long fcpu_hz) +{ +#ifndef FREERTOS_USED + s_fcpu_hz = fcpu_hz; +#endif +} + + +void delay_ms(unsigned long delay) +{ +#if (defined FREERTOS_USED) + vTaskDelay( (portTickType)TASK_DELAY_MS(delay) ); +#elif (defined NUTOS_USED) + NutSleep(delay); +#else + cpu_delay_ms(delay, s_fcpu_hz); +#endif +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.h new file mode 100644 index 0000000..2811326 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/DELAY/delay.h @@ -0,0 +1,80 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3 delay management header file. + * + * This file contains definitions and services to handle "delays". + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _DELAY_H_ +#define _DELAY_H_ + +#include "compiler.h" +#ifdef FREERTOS_USED +# include "FreeRTOS.h" +# include "task.h" +#else +# include "cycle_counter.h" +#endif + + +/*! + * \brief Initialize the delay driver. + * + * \param fcpu_hz: CPU frequency in Hz. + */ +extern void delay_init(unsigned long fcpu_hz); + + +/*! + * \brief Waits during at least the specified delay (in millisecond) before returning. + * + * Note that in the case of FreeRTOS, the function will delay the current task for a given number of ms. + * + * \param delay: Number of millisecond to wait. + */ +extern void delay_ms(unsigned long delay); + + +#endif // _DELAY_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/dhcp.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/dhcp.c new file mode 100644 index 0000000..8ef6c84 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/dhcp.c @@ -0,0 +1,1724 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Dynamic Host Configuration Protocol client + * + */ + +/* + * + * Copyright (c) 2001-2004 Leon Woestenberg <leon.woestenberg@gmx.net> + * Copyright (c) 2001-2004 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is a contribution to the lwIP TCP/IP stack. + * The Swedish Institute of Computer Science and Adam Dunkels + * are specifically granted permission to redistribute this + * source code. + * + * Author: Leon Woestenberg <leon.woestenberg@gmx.net> + * + * This is a DHCP client for the lwIP TCP/IP stack. It aims to conform + * with RFC 2131 and RFC 2132. + * + * TODO: + * - Proper parsing of DHCP messages exploiting file/sname field overloading. + * - Add JavaDoc style documentation (API, internals). + * - Support for interfaces other than Ethernet (SLIP, PPP, ...) + * + * Please coordinate changes and requests with Leon Woestenberg + * <leon.woestenberg@gmx.net> + * + * Integration with your code: + * + * In lwip/dhcp.h + * #define DHCP_COARSE_TIMER_SECS (recommended 60 which is a minute) + * #define DHCP_FINE_TIMER_MSECS (recommended 500 which equals TCP coarse timer) + * + * Then have your application call dhcp_coarse_tmr() and + * dhcp_fine_tmr() on the defined intervals. + * + * dhcp_start(struct netif *netif); + * starts a DHCP client instance which configures the interface by + * obtaining an IP address lease and maintaining it. + * + * Use dhcp_release(netif) to end the lease and use dhcp_stop(netif) + * to remove the DHCP client. + * + */ + +#include "lwip/opt.h" + +#if LWIP_DHCP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/stats.h" +#include "lwip/mem.h" +#include "lwip/udp.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" +#include "lwip/inet.h" +#include "lwip/sys.h" +#include "lwip/dhcp.h" +#include "lwip/autoip.h" +#include "lwip/dns.h" +#include "netif/etharp.h" + +#include <string.h> + +/** Default for DHCP_GLOBAL_XID is 0xABCD0000 + * This can be changed by defining DHCP_GLOBAL_XID and DHCP_GLOBAL_XID_HEADER, e.g. + * #define DHCP_GLOBAL_XID_HEADER "stdlib.h" + * #define DHCP_GLOBAL_XID rand() + */ +#ifdef DHCP_GLOBAL_XID_HEADER +#include DHCP_GLOBAL_XID_HEADER /* include optional starting XID generation prototypes */ +#endif + +/** DHCP_OPTION_MAX_MSG_SIZE is set to the MTU + * MTU is checked to be big enough in dhcp_start */ +#define DHCP_MAX_MSG_LEN(netif) (netif->mtu) +#define DHCP_MAX_MSG_LEN_MIN_REQUIRED 576 +/** Minimum length for reply before packet is parsed */ +#define DHCP_MIN_REPLY_LEN 44 + +#define REBOOT_TRIES 2 + +/* DHCP client state machine functions */ +static void dhcp_handle_ack(struct netif *netif); +static void dhcp_handle_nak(struct netif *netif); +static void dhcp_handle_offer(struct netif *netif); + +static err_t dhcp_discover(struct netif *netif); +static err_t dhcp_select(struct netif *netif); +static void dhcp_bind(struct netif *netif); +#if DHCP_DOES_ARP_CHECK +static void dhcp_check(struct netif *netif); +static err_t dhcp_decline(struct netif *netif); +#endif /* DHCP_DOES_ARP_CHECK */ +static err_t dhcp_rebind(struct netif *netif); +static err_t dhcp_reboot(struct netif *netif); +static void dhcp_set_state(struct dhcp *dhcp, u8_t new_state); + +/* receive, unfold, parse and free incoming messages */ +static void dhcp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr, u16_t port); +static err_t dhcp_unfold_reply(struct dhcp *dhcp, struct pbuf *p); +static u8_t *dhcp_get_option_ptr(struct dhcp *dhcp, u8_t option_type); +static u8_t dhcp_get_option_byte(u8_t *ptr); +#if 0 +static u16_t dhcp_get_option_short(u8_t *ptr); +#endif +static u32_t dhcp_get_option_long(u8_t *ptr); +static void dhcp_free_reply(struct dhcp *dhcp); + +/* set the DHCP timers */ +static void dhcp_timeout(struct netif *netif); +static void dhcp_t1_timeout(struct netif *netif); +static void dhcp_t2_timeout(struct netif *netif); + +/* build outgoing messages */ +/* create a DHCP request, fill in common headers */ +static err_t dhcp_create_request(struct netif *netif); +/* free a DHCP request */ +static void dhcp_delete_request(struct netif *netif); +/* add a DHCP option (type, then length in bytes) */ +static void dhcp_option(struct dhcp *dhcp, u8_t option_type, u8_t option_len); +/* add option values */ +static void dhcp_option_byte(struct dhcp *dhcp, u8_t value); +static void dhcp_option_short(struct dhcp *dhcp, u16_t value); +static void dhcp_option_long(struct dhcp *dhcp, u32_t value); +/* always add the DHCP options trailer to end and pad */ +static void dhcp_option_trailer(struct dhcp *dhcp); + +/** + * Back-off the DHCP client (because of a received NAK response). + * + * Back-off the DHCP client because of a received NAK. Receiving a + * NAK means the client asked for something non-sensible, for + * example when it tries to renew a lease obtained on another network. + * + * We clear any existing set IP address and restart DHCP negotiation + * afresh (as per RFC2131 3.2.3). + * + * @param netif the netif under DHCP control + */ +static void +dhcp_handle_nak(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_handle_nak(netif=%p) %c%c%"U16_F"\n", + (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num)); + /* Set the interface down since the address must no longer be used, as per RFC2131 */ + netif_set_down(netif); + /* remove IP address from interface */ + netif_set_ipaddr(netif, IP_ADDR_ANY); + netif_set_gw(netif, IP_ADDR_ANY); + netif_set_netmask(netif, IP_ADDR_ANY); + /* Change to a defined state */ + dhcp_set_state(dhcp, DHCP_BACKING_OFF); + /* We can immediately restart discovery */ + dhcp_discover(netif); +} + +#if DHCP_DOES_ARP_CHECK +/** + * Checks if the offered IP address is already in use. + * + * It does so by sending an ARP request for the offered address and + * entering CHECKING state. If no ARP reply is received within a small + * interval, the address is assumed to be free for use by us. + * + * @param netif the netif under DHCP control + */ +static void +dhcp_check(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + err_t result; + u16_t msecs; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_check(netif=%p) %c%c\n", (void *)netif, (s16_t)netif->name[0], + (s16_t)netif->name[1])); + dhcp_set_state(dhcp, DHCP_CHECKING); + /* create an ARP query for the offered IP address, expecting that no host + responds, as the IP address should not be in use. */ + result = etharp_query(netif, &dhcp->offered_ip_addr, NULL); + if (result != ERR_OK) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, ("dhcp_check: could not perform ARP query\n")); + } + dhcp->tries++; + msecs = 500; + dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_check(): set request timeout %"U16_F" msecs\n", msecs)); +} +#endif /* DHCP_DOES_ARP_CHECK */ + +/** + * Remember the configuration offered by a DHCP server. + * + * @param netif the netif under DHCP control + */ +static void +dhcp_handle_offer(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + /* obtain the server address */ + u8_t *option_ptr = dhcp_get_option_ptr(dhcp, DHCP_OPTION_SERVER_ID); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_handle_offer(netif=%p) %c%c%"U16_F"\n", + (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num)); + if (option_ptr != NULL) { + dhcp->server_ip_addr.addr = htonl(dhcp_get_option_long(&option_ptr[2])); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, ("dhcp_handle_offer(): server 0x%08"X32_F"\n", dhcp->server_ip_addr.addr)); + /* remember offered address */ + ip_addr_set(&dhcp->offered_ip_addr, (struct ip_addr *)&dhcp->msg_in->yiaddr); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, ("dhcp_handle_offer(): offer for 0x%08"X32_F"\n", dhcp->offered_ip_addr.addr)); + + dhcp_select(netif); + } +} + +/** + * Select a DHCP server offer out of all offers. + * + * Simply select the first offer received. + * + * @param netif the netif under DHCP control + * @return lwIP specific error (see error.h) + */ +static err_t +dhcp_select(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + err_t result; + u16_t msecs; +#if LWIP_NETIF_HOSTNAME + const char *p; +#endif /* LWIP_NETIF_HOSTNAME */ + + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_select(netif=%p) %c%c%"U16_F"\n", (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num)); + dhcp_set_state(dhcp, DHCP_REQUESTING); + + /* create and initialize the DHCP message header */ + result = dhcp_create_request(netif); + if (result == ERR_OK) { + dhcp_option(dhcp, DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN); + dhcp_option_byte(dhcp, DHCP_REQUEST); + + dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN); + dhcp_option_short(dhcp, DHCP_MAX_MSG_LEN(netif)); + + /* MUST request the offered IP address */ + dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4); + dhcp_option_long(dhcp, ntohl(dhcp->offered_ip_addr.addr)); + + dhcp_option(dhcp, DHCP_OPTION_SERVER_ID, 4); + dhcp_option_long(dhcp, ntohl(dhcp->server_ip_addr.addr)); + + dhcp_option(dhcp, DHCP_OPTION_PARAMETER_REQUEST_LIST, 4/*num options*/); + dhcp_option_byte(dhcp, DHCP_OPTION_SUBNET_MASK); + dhcp_option_byte(dhcp, DHCP_OPTION_ROUTER); + dhcp_option_byte(dhcp, DHCP_OPTION_BROADCAST); + dhcp_option_byte(dhcp, DHCP_OPTION_DNS_SERVER); + +#if LWIP_NETIF_HOSTNAME + p = (const char*)netif->hostname; + if (p != NULL) { + dhcp_option(dhcp, DHCP_OPTION_HOSTNAME, strlen(p)); + while (*p) { + dhcp_option_byte(dhcp, *p++); + } + } +#endif /* LWIP_NETIF_HOSTNAME */ + + dhcp_option_trailer(dhcp); + /* shrink the pbuf to the actual content length */ + pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len); + + /* send broadcast to any DHCP server */ + udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif); + dhcp_delete_request(netif); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_select: REQUESTING\n")); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, ("dhcp_select: could not allocate DHCP request\n")); + } + dhcp->tries++; + msecs = (dhcp->tries < 6 ? 1 << dhcp->tries : 60) * 1000; + dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, ("dhcp_select(): set request timeout %"U16_F" msecs\n", msecs)); + return result; +} + +/** + * The DHCP timer that checks for lease renewal/rebind timeouts. + * + */ +void +dhcp_coarse_tmr() +{ + struct netif *netif = netif_list; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_coarse_tmr()\n")); + /* iterate through all network interfaces */ + while (netif != NULL) { + /* only act on DHCP configured interfaces */ + if (netif->dhcp != NULL) { + /* timer is active (non zero), and triggers (zeroes) now? */ + if (netif->dhcp->t2_timeout-- == 1) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_coarse_tmr(): t2 timeout\n")); + /* this clients' rebind timeout triggered */ + dhcp_t2_timeout(netif); + /* timer is active (non zero), and triggers (zeroes) now */ + } else if (netif->dhcp->t1_timeout-- == 1) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_coarse_tmr(): t1 timeout\n")); + /* this clients' renewal timeout triggered */ + dhcp_t1_timeout(netif); + } + } + /* proceed to next netif */ + netif = netif->next; + } +} + +/** + * DHCP transaction timeout handling + * + * A DHCP server is expected to respond within a short period of time. + * This timer checks whether an outstanding DHCP request is timed out. + * + */ +void +dhcp_fine_tmr() +{ + struct netif *netif = netif_list; + /* loop through netif's */ + while (netif != NULL) { + /* only act on DHCP configured interfaces */ + if (netif->dhcp != NULL) { + /* timer is active (non zero), and is about to trigger now */ + if (netif->dhcp->request_timeout > 1) { + netif->dhcp->request_timeout--; + } + else if (netif->dhcp->request_timeout == 1) { + netif->dhcp->request_timeout--; + /* { netif->dhcp->request_timeout == 0 } */ + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_fine_tmr(): request timeout\n")); + /* this clients' request timeout triggered */ + dhcp_timeout(netif); + } + } + /* proceed to next network interface */ + netif = netif->next; + } +} + +/** + * A DHCP negotiation transaction, or ARP request, has timed out. + * + * The timer that was started with the DHCP or ARP request has + * timed out, indicating no response was received in time. + * + * @param netif the netif under DHCP control + */ +static void +dhcp_timeout(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_timeout()\n")); + /* back-off period has passed, or server selection timed out */ + if ((dhcp->state == DHCP_BACKING_OFF) || (dhcp->state == DHCP_SELECTING)) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_timeout(): restarting discovery\n")); + dhcp_discover(netif); + /* receiving the requested lease timed out */ + } else if (dhcp->state == DHCP_REQUESTING) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_timeout(): REQUESTING, DHCP request timed out\n")); + if (dhcp->tries <= 5) { + dhcp_select(netif); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_timeout(): REQUESTING, releasing, restarting\n")); + dhcp_release(netif); + dhcp_discover(netif); + } +#if DHCP_DOES_ARP_CHECK + /* received no ARP reply for the offered address (which is good) */ + } else if (dhcp->state == DHCP_CHECKING) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_timeout(): CHECKING, ARP request timed out\n")); + if (dhcp->tries <= 1) { + dhcp_check(netif); + /* no ARP replies on the offered address, + looks like the IP address is indeed free */ + } else { + /* bind the interface to the offered address */ + dhcp_bind(netif); + } +#endif /* DHCP_DOES_ARP_CHECK */ + } + /* did not get response to renew request? */ + else if (dhcp->state == DHCP_RENEWING) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_timeout(): RENEWING, DHCP request timed out\n")); + /* just retry renewal */ + /* note that the rebind timer will eventually time-out if renew does not work */ + dhcp_renew(netif); + /* did not get response to rebind request? */ + } else if (dhcp->state == DHCP_REBINDING) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_timeout(): REBINDING, DHCP request timed out\n")); + if (dhcp->tries <= 8) { + dhcp_rebind(netif); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_timeout(): RELEASING, DISCOVERING\n")); + dhcp_release(netif); + dhcp_discover(netif); + } + } else if (dhcp->state == DHCP_REBOOTING) { + if (dhcp->tries < REBOOT_TRIES) { + dhcp_reboot(netif); + } else { + dhcp_discover(netif); + } + } +} + +/** + * The renewal period has timed out. + * + * @param netif the netif under DHCP control + */ +static void +dhcp_t1_timeout(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, ("dhcp_t1_timeout()\n")); + if ((dhcp->state == DHCP_REQUESTING) || (dhcp->state == DHCP_BOUND) || (dhcp->state == DHCP_RENEWING)) { + /* just retry to renew - note that the rebind timer (t2) will + * eventually time-out if renew tries fail. */ + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_t1_timeout(): must renew\n")); + dhcp_renew(netif); + } +} + +/** + * The rebind period has timed out. + * + * @param netif the netif under DHCP control + */ +static void +dhcp_t2_timeout(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_t2_timeout()\n")); + if ((dhcp->state == DHCP_REQUESTING) || (dhcp->state == DHCP_BOUND) || (dhcp->state == DHCP_RENEWING)) { + /* just retry to rebind */ + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_t2_timeout(): must rebind\n")); + dhcp_rebind(netif); + } +} + +/** + * Handle a DHCP ACK packet + * + * @param netif the netif under DHCP control + */ +static void +dhcp_handle_ack(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + u8_t *option_ptr; + /* clear options we might not get from the ACK */ + dhcp->offered_sn_mask.addr = 0; + dhcp->offered_gw_addr.addr = 0; + dhcp->offered_bc_addr.addr = 0; + + /* lease time given? */ + option_ptr = dhcp_get_option_ptr(dhcp, DHCP_OPTION_LEASE_TIME); + if (option_ptr != NULL) { + /* remember offered lease time */ + dhcp->offered_t0_lease = dhcp_get_option_long(option_ptr + 2); + } + /* renewal period given? */ + option_ptr = dhcp_get_option_ptr(dhcp, DHCP_OPTION_T1); + if (option_ptr != NULL) { + /* remember given renewal period */ + dhcp->offered_t1_renew = dhcp_get_option_long(option_ptr + 2); + } else { + /* calculate safe periods for renewal */ + dhcp->offered_t1_renew = dhcp->offered_t0_lease / 2; + } + + /* renewal period given? */ + option_ptr = dhcp_get_option_ptr(dhcp, DHCP_OPTION_T2); + if (option_ptr != NULL) { + /* remember given rebind period */ + dhcp->offered_t2_rebind = dhcp_get_option_long(option_ptr + 2); + } else { + /* calculate safe periods for rebinding */ + dhcp->offered_t2_rebind = dhcp->offered_t0_lease; + } + + /* (y)our internet address */ + ip_addr_set(&dhcp->offered_ip_addr, &dhcp->msg_in->yiaddr); + +/** + * Patch #1308 + * TODO: we must check if the file field is not overloaded by DHCP options! + */ +#if 0 + /* boot server address */ + ip_addr_set(&dhcp->offered_si_addr, &dhcp->msg_in->siaddr); + /* boot file name */ + if (dhcp->msg_in->file[0]) { + dhcp->boot_file_name = mem_malloc(strlen(dhcp->msg_in->file) + 1); + strcpy(dhcp->boot_file_name, dhcp->msg_in->file); + } +#endif + + /* subnet mask */ + option_ptr = dhcp_get_option_ptr(dhcp, DHCP_OPTION_SUBNET_MASK); + /* subnet mask given? */ + if (option_ptr != NULL) { + dhcp->offered_sn_mask.addr = htonl(dhcp_get_option_long(&option_ptr[2])); + } + + /* gateway router */ + option_ptr = dhcp_get_option_ptr(dhcp, DHCP_OPTION_ROUTER); + if (option_ptr != NULL) { + dhcp->offered_gw_addr.addr = htonl(dhcp_get_option_long(&option_ptr[2])); + } + + /* broadcast address */ + option_ptr = dhcp_get_option_ptr(dhcp, DHCP_OPTION_BROADCAST); + if (option_ptr != NULL) { + dhcp->offered_bc_addr.addr = htonl(dhcp_get_option_long(&option_ptr[2])); + } + + /* DNS servers */ + option_ptr = dhcp_get_option_ptr(dhcp, DHCP_OPTION_DNS_SERVER); + if (option_ptr != NULL) { + u8_t n; + dhcp->dns_count = dhcp_get_option_byte(&option_ptr[1]) / (u32_t)sizeof(struct ip_addr); + /* limit to at most DHCP_MAX_DNS DNS servers */ + if (dhcp->dns_count > DHCP_MAX_DNS) + dhcp->dns_count = DHCP_MAX_DNS; + for (n = 0; n < dhcp->dns_count; n++) { + dhcp->offered_dns_addr[n].addr = htonl(dhcp_get_option_long(&option_ptr[2 + n * 4])); +#if LWIP_DNS + dns_setserver( n, (struct ip_addr *)(&(dhcp->offered_dns_addr[n].addr))); +#endif /* LWIP_DNS */ + } +#if LWIP_DNS + dns_setserver( n, (struct ip_addr *)(&ip_addr_any)); +#endif /* LWIP_DNS */ + } +} + +/** + * Start DHCP negotiation for a network interface. + * + * If no DHCP client instance was attached to this interface, + * a new client is created first. If a DHCP client instance + * was already present, it restarts negotiation. + * + * @param netif The lwIP network interface + * @return lwIP error code + * - ERR_OK - No error + * - ERR_MEM - Out of memory + */ +err_t +dhcp_start(struct netif *netif) +{ + struct dhcp *dhcp; + err_t result = ERR_OK; + + LWIP_ERROR("netif != NULL", (netif != NULL), return ERR_ARG;); + dhcp = netif->dhcp; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_start(netif=%p) %c%c%"U16_F"\n", (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num)); + /* Remove the flag that says this netif is handled by DHCP, + it is set when we succeeded starting. */ + netif->flags &= ~NETIF_FLAG_DHCP; + + /* check MTU of the netif */ + if (netif->mtu < DHCP_MAX_MSG_LEN_MIN_REQUIRED) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_start(): Cannot use this netif with DHCP: MTU is too small\n")); + return ERR_MEM; + } + + /* no DHCP client attached yet? */ + if (dhcp == NULL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_start(): starting new DHCP client\n")); + dhcp = mem_malloc(sizeof(struct dhcp)); + if (dhcp == NULL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_start(): could not allocate dhcp\n")); + return ERR_MEM; + } + /* store this dhcp client in the netif */ + netif->dhcp = dhcp; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_start(): allocated dhcp")); + /* already has DHCP client attached */ + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_start(): restarting DHCP configuration\n")); + if (dhcp->pcb != NULL) { + udp_remove(dhcp->pcb); + } + LWIP_ASSERT("pbuf p_out wasn't freed", dhcp->p_out == NULL); + LWIP_ASSERT("reply wasn't freed", dhcp->msg_in == NULL && + dhcp->options_in == NULL && dhcp->options_in_len == 0); + } + + /* clear data structure */ + memset(dhcp, 0, sizeof(struct dhcp)); + /* allocate UDP PCB */ + dhcp->pcb = udp_new(); + if (dhcp->pcb == NULL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_start(): could not obtain pcb\n")); + mem_free((void *)dhcp); + netif->dhcp = dhcp = NULL; + return ERR_MEM; + } +#if IP_SOF_BROADCAST + dhcp->pcb->so_options|=SOF_BROADCAST; +#endif /* IP_SOF_BROADCAST */ + /* set up local and remote port for the pcb */ + udp_bind(dhcp->pcb, IP_ADDR_ANY, DHCP_CLIENT_PORT); + udp_connect(dhcp->pcb, IP_ADDR_ANY, DHCP_SERVER_PORT); + /* set up the recv callback and argument */ + udp_recv(dhcp->pcb, dhcp_recv, netif); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_start(): starting DHCP configuration\n")); + /* (re)start the DHCP negotiation */ + result = dhcp_discover(netif); + if (result != ERR_OK) { + /* free resources allocated above */ + dhcp_stop(netif); + return ERR_MEM; + } + /* Set the flag that says this netif is handled by DHCP. */ + netif->flags |= NETIF_FLAG_DHCP; + return result; +} + +/** + * Inform a DHCP server of our manual configuration. + * + * This informs DHCP servers of our fixed IP address configuration + * by sending an INFORM message. It does not involve DHCP address + * configuration, it is just here to be nice to the network. + * + * @param netif The lwIP network interface + */ +void +dhcp_inform(struct netif *netif) +{ + struct dhcp *dhcp, *old_dhcp; + err_t result = ERR_OK; + dhcp = mem_malloc(sizeof(struct dhcp)); + if (dhcp == NULL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("dhcp_inform(): could not allocate dhcp\n")); + return; + } + memset(dhcp, 0, sizeof(struct dhcp)); + + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_inform(): allocated dhcp\n")); + dhcp->pcb = udp_new(); + if (dhcp->pcb == NULL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("dhcp_inform(): could not obtain pcb")); + goto free_dhcp_and_return; + } + old_dhcp = netif->dhcp; + netif->dhcp = dhcp; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_inform(): created new udp pcb\n")); + /* create and initialize the DHCP message header */ + result = dhcp_create_request(netif); + if (result == ERR_OK) { + + dhcp_option(dhcp, DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN); + dhcp_option_byte(dhcp, DHCP_INFORM); + + dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN); + dhcp_option_short(dhcp, DHCP_MAX_MSG_LEN(netif)); + + dhcp_option_trailer(dhcp); + + pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len); + +#if IP_SOF_BROADCAST + dhcp->pcb->so_options|=SOF_BROADCAST; +#endif /* IP_SOF_BROADCAST */ + udp_bind(dhcp->pcb, IP_ADDR_ANY, DHCP_CLIENT_PORT); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_inform: INFORMING\n")); + udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif); + dhcp_delete_request(netif); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("dhcp_inform: could not allocate DHCP request\n")); + } + + udp_remove(dhcp->pcb); + dhcp->pcb = NULL; + netif->dhcp = old_dhcp; +free_dhcp_and_return: + mem_free((void *)dhcp); +} + +/** Handle a possible change in the network configuration. + * + * This enters the REBOOTING state to verify that the currently bound + * address is still valid. + */ +void +dhcp_network_changed(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + if (!dhcp) + return; + switch (dhcp->state) { + case DHCP_REBINDING: + case DHCP_RENEWING: + case DHCP_BOUND: + case DHCP_REBOOTING: + netif_set_down(netif); + dhcp->tries = 0; + dhcp_reboot(netif); + break; + case DHCP_OFF: + /* stay off */ + break; + default: + dhcp->tries = 0; + dhcp_discover(netif); + break; + } +} + +#if DHCP_DOES_ARP_CHECK +/** + * Match an ARP reply with the offered IP address. + * + * @param netif the network interface on which the reply was received + * @param addr The IP address we received a reply from + */ +void dhcp_arp_reply(struct netif *netif, struct ip_addr *addr) +{ + LWIP_ERROR("netif != NULL", (netif != NULL), return;); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_arp_reply()\n")); + /* is a DHCP client doing an ARP check? */ + if ((netif->dhcp != NULL) && (netif->dhcp->state == DHCP_CHECKING)) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_arp_reply(): CHECKING, arp reply for 0x%08"X32_F"\n", addr->addr)); + /* did a host respond with the address we + were offered by the DHCP server? */ + if (ip_addr_cmp(addr, &netif->dhcp->offered_ip_addr)) { + /* we will not accept the offered address */ + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE | LWIP_DBG_LEVEL_WARNING, + ("dhcp_arp_reply(): arp reply matched with offered address, declining\n")); + dhcp_decline(netif); + } + } +} + +/** + * Decline an offered lease. + * + * Tell the DHCP server we do not accept the offered address. + * One reason to decline the lease is when we find out the address + * is already in use by another host (through ARP). + * + * @param netif the netif under DHCP control + */ +static err_t +dhcp_decline(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + err_t result = ERR_OK; + u16_t msecs; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_decline()\n")); + dhcp_set_state(dhcp, DHCP_BACKING_OFF); + /* create and initialize the DHCP message header */ + result = dhcp_create_request(netif); + if (result == ERR_OK) { + dhcp_option(dhcp, DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN); + dhcp_option_byte(dhcp, DHCP_DECLINE); + + dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4); + dhcp_option_long(dhcp, ntohl(dhcp->offered_ip_addr.addr)); + + dhcp_option_trailer(dhcp); + /* resize pbuf to reflect true size of options */ + pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len); + + /* per section 4.4.4, broadcast DECLINE messages */ + udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif); + dhcp_delete_request(netif); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_decline: BACKING OFF\n")); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, + ("dhcp_decline: could not allocate DHCP request\n")); + } + dhcp->tries++; + msecs = 10*1000; + dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_decline(): set request timeout %"U16_F" msecs\n", msecs)); + return result; +} +#endif + + +/** + * Start the DHCP process, discover a DHCP server. + * + * @param netif the netif under DHCP control + */ +static err_t +dhcp_discover(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + err_t result = ERR_OK; + u16_t msecs; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_discover()\n")); + ip_addr_set(&dhcp->offered_ip_addr, IP_ADDR_ANY); + dhcp_set_state(dhcp, DHCP_SELECTING); + /* create and initialize the DHCP message header */ + result = dhcp_create_request(netif); + if (result == ERR_OK) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_discover: making request\n")); + dhcp_option(dhcp, DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN); + dhcp_option_byte(dhcp, DHCP_DISCOVER); + + dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN); + dhcp_option_short(dhcp, DHCP_MAX_MSG_LEN(netif)); + + dhcp_option(dhcp, DHCP_OPTION_PARAMETER_REQUEST_LIST, 4/*num options*/); + dhcp_option_byte(dhcp, DHCP_OPTION_SUBNET_MASK); + dhcp_option_byte(dhcp, DHCP_OPTION_ROUTER); + dhcp_option_byte(dhcp, DHCP_OPTION_BROADCAST); + dhcp_option_byte(dhcp, DHCP_OPTION_DNS_SERVER); + + dhcp_option_trailer(dhcp); + + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_discover: realloc()ing\n")); + pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len); + + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_discover: sendto(DISCOVER, IP_ADDR_BROADCAST, DHCP_SERVER_PORT)\n")); + udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_discover: deleting()ing\n")); + dhcp_delete_request(netif); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_discover: SELECTING\n")); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("dhcp_discover: could not allocate DHCP request\n")); + } + dhcp->tries++; +#if LWIP_DHCP_AUTOIP_COOP + if(dhcp->tries >= LWIP_DHCP_AUTOIP_COOP_TRIES && dhcp->autoip_coop_state == DHCP_AUTOIP_COOP_STATE_OFF) { + dhcp->autoip_coop_state = DHCP_AUTOIP_COOP_STATE_ON; + autoip_start(netif); + } +#endif /* LWIP_DHCP_AUTOIP_COOP */ + msecs = (dhcp->tries < 6 ? 1 << dhcp->tries : 60) * 1000; + dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_discover(): set request timeout %"U16_F" msecs\n", msecs)); + return result; +} + + +/** + * Bind the interface to the offered IP address. + * + * @param netif network interface to bind to the offered address + */ +static void +dhcp_bind(struct netif *netif) +{ + u32_t timeout; + struct dhcp *dhcp; + struct ip_addr sn_mask, gw_addr; + LWIP_ERROR("dhcp_bind: netif != NULL", (netif != NULL), return;); + dhcp = netif->dhcp; + LWIP_ERROR("dhcp_bind: dhcp != NULL", (dhcp != NULL), return;); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_bind(netif=%p) %c%c%"U16_F"\n", (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num)); + + /* temporary DHCP lease? */ + if (dhcp->offered_t1_renew != 0xffffffffUL) { + /* set renewal period timer */ + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_bind(): t1 renewal timer %"U32_F" secs\n", dhcp->offered_t1_renew)); + timeout = (dhcp->offered_t1_renew + DHCP_COARSE_TIMER_SECS / 2) / DHCP_COARSE_TIMER_SECS; + if(timeout > 0xffff) { + timeout = 0xffff; + } + dhcp->t1_timeout = (u16_t)timeout; + if (dhcp->t1_timeout == 0) { + dhcp->t1_timeout = 1; + } + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_bind(): set request timeout %"U32_F" msecs\n", dhcp->offered_t1_renew*1000)); + } + /* set renewal period timer */ + if (dhcp->offered_t2_rebind != 0xffffffffUL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_bind(): t2 rebind timer %"U32_F" secs\n", dhcp->offered_t2_rebind)); + timeout = (dhcp->offered_t2_rebind + DHCP_COARSE_TIMER_SECS / 2) / DHCP_COARSE_TIMER_SECS; + if(timeout > 0xffff) { + timeout = 0xffff; + } + dhcp->t2_timeout = (u16_t)timeout; + if (dhcp->t2_timeout == 0) { + dhcp->t2_timeout = 1; + } + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_bind(): set request timeout %"U32_F" msecs\n", dhcp->offered_t2_rebind*1000)); + } + /* copy offered network mask */ + ip_addr_set(&sn_mask, &dhcp->offered_sn_mask); + + /* subnet mask not given? */ + /* TODO: this is not a valid check. what if the network mask is 0? */ + if (sn_mask.addr == 0) { + /* choose a safe subnet mask given the network class */ + u8_t first_octet = ip4_addr1(&sn_mask); + if (first_octet <= 127) { + sn_mask.addr = htonl(0xff000000); + } else if (first_octet >= 192) { + sn_mask.addr = htonl(0xffffff00); + } else { + sn_mask.addr = htonl(0xffff0000); + } + } + + ip_addr_set(&gw_addr, &dhcp->offered_gw_addr); + /* gateway address not given? */ + if (gw_addr.addr == 0) { + /* copy network address */ + gw_addr.addr = (dhcp->offered_ip_addr.addr & sn_mask.addr); + /* use first host address on network as gateway */ + gw_addr.addr |= htonl(0x00000001); + } + +#if LWIP_DHCP_AUTOIP_COOP + if(dhcp->autoip_coop_state == DHCP_AUTOIP_COOP_STATE_ON) { + autoip_stop(netif); + dhcp->autoip_coop_state = DHCP_AUTOIP_COOP_STATE_OFF; + } +#endif /* LWIP_DHCP_AUTOIP_COOP */ + + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, ("dhcp_bind(): IP: 0x%08"X32_F"\n", dhcp->offered_ip_addr.addr)); + netif_set_ipaddr(netif, &dhcp->offered_ip_addr); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, ("dhcp_bind(): SN: 0x%08"X32_F"\n", sn_mask.addr)); + netif_set_netmask(netif, &sn_mask); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, ("dhcp_bind(): GW: 0x%08"X32_F"\n", gw_addr.addr)); + netif_set_gw(netif, &gw_addr); + /* bring the interface up */ + netif_set_up(netif); + /* netif is now bound to DHCP leased address */ + dhcp_set_state(dhcp, DHCP_BOUND); +} + +/** + * Renew an existing DHCP lease at the involved DHCP server. + * + * @param netif network interface which must renew its lease + */ +err_t +dhcp_renew(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + err_t result; + u16_t msecs; +#if LWIP_NETIF_HOSTNAME + const char *p; +#endif /* LWIP_NETIF_HOSTNAME */ + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_renew()\n")); + dhcp_set_state(dhcp, DHCP_RENEWING); + + /* create and initialize the DHCP message header */ + result = dhcp_create_request(netif); + if (result == ERR_OK) { + + dhcp_option(dhcp, DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN); + dhcp_option_byte(dhcp, DHCP_REQUEST); + + dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN); + dhcp_option_short(dhcp, DHCP_MAX_MSG_LEN(netif)); + +#if LWIP_NETIF_HOSTNAME + p = (const char*)netif->hostname; + if (p != NULL) { + dhcp_option(dhcp, DHCP_OPTION_HOSTNAME, strlen(p)); + while (*p) { + dhcp_option_byte(dhcp, *p++); + } + } +#endif /* LWIP_NETIF_HOSTNAME */ + +#if 0 + dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4); + dhcp_option_long(dhcp, ntohl(dhcp->offered_ip_addr.addr)); +#endif + +#if 0 + dhcp_option(dhcp, DHCP_OPTION_SERVER_ID, 4); + dhcp_option_long(dhcp, ntohl(dhcp->server_ip_addr.addr)); +#endif + /* append DHCP message trailer */ + dhcp_option_trailer(dhcp); + + pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len); + + udp_sendto_if(dhcp->pcb, dhcp->p_out, &dhcp->server_ip_addr, DHCP_SERVER_PORT, netif); + dhcp_delete_request(netif); + + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_renew: RENEWING\n")); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("dhcp_renew: could not allocate DHCP request\n")); + } + dhcp->tries++; + /* back-off on retries, but to a maximum of 20 seconds */ + msecs = dhcp->tries < 10 ? dhcp->tries * 2000 : 20 * 1000; + dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_renew(): set request timeout %"U16_F" msecs\n", msecs)); + return result; +} + +/** + * Rebind with a DHCP server for an existing DHCP lease. + * + * @param netif network interface which must rebind with a DHCP server + */ +static err_t +dhcp_rebind(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + err_t result; + u16_t msecs; +#if LWIP_NETIF_HOSTNAME + const char *p; +#endif /* LWIP_NETIF_HOSTNAME */ + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_rebind()\n")); + dhcp_set_state(dhcp, DHCP_REBINDING); + + /* create and initialize the DHCP message header */ + result = dhcp_create_request(netif); + if (result == ERR_OK) { + + dhcp_option(dhcp, DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN); + dhcp_option_byte(dhcp, DHCP_REQUEST); + + dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN); + dhcp_option_short(dhcp, DHCP_MAX_MSG_LEN(netif)); + +#if LWIP_NETIF_HOSTNAME + p = (const char*)netif->hostname; + if (p != NULL) { + dhcp_option(dhcp, DHCP_OPTION_HOSTNAME, strlen(p)); + while (*p) { + dhcp_option_byte(dhcp, *p++); + } + } +#endif /* LWIP_NETIF_HOSTNAME */ + +#if 0 + dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4); + dhcp_option_long(dhcp, ntohl(dhcp->offered_ip_addr.addr)); + + dhcp_option(dhcp, DHCP_OPTION_SERVER_ID, 4); + dhcp_option_long(dhcp, ntohl(dhcp->server_ip_addr.addr)); +#endif + + dhcp_option_trailer(dhcp); + + pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len); + + /* broadcast to server */ + udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif); + dhcp_delete_request(netif); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_rebind: REBINDING\n")); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("dhcp_rebind: could not allocate DHCP request\n")); + } + dhcp->tries++; + msecs = dhcp->tries < 10 ? dhcp->tries * 1000 : 10 * 1000; + dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_rebind(): set request timeout %"U16_F" msecs\n", msecs)); + return result; +} + +/** + * Enter REBOOTING state to verify an existing lease + * + * @param netif network interface which must reboot + */ +static err_t +dhcp_reboot(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + err_t result; + u16_t msecs; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_reboot()\n")); + dhcp_set_state(dhcp, DHCP_REBOOTING); + + /* create and initialize the DHCP message header */ + result = dhcp_create_request(netif); + if (result == ERR_OK) { + + dhcp_option(dhcp, DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN); + dhcp_option_byte(dhcp, DHCP_REQUEST); + + dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN); + dhcp_option_short(dhcp, 576); + + dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4); + dhcp_option_long(dhcp, ntohl(dhcp->offered_ip_addr.addr)); + + dhcp_option_trailer(dhcp); + + pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len); + + /* broadcast to server */ + udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif); + dhcp_delete_request(netif); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_reboot: REBOOTING\n")); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("dhcp_reboot: could not allocate DHCP request\n")); + } + dhcp->tries++; + msecs = dhcp->tries < 10 ? dhcp->tries * 1000 : 10 * 1000; + dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_reboot(): set request timeout %"U16_F" msecs\n", msecs)); + return result; +} + + +/** + * Release a DHCP lease. + * + * @param netif network interface which must release its lease + */ +err_t +dhcp_release(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + err_t result; + u16_t msecs; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_release()\n")); + + /* idle DHCP client */ + dhcp_set_state(dhcp, DHCP_OFF); + /* clean old DHCP offer */ + dhcp->server_ip_addr.addr = 0; + dhcp->offered_ip_addr.addr = dhcp->offered_sn_mask.addr = 0; + dhcp->offered_gw_addr.addr = dhcp->offered_bc_addr.addr = 0; + dhcp->offered_t0_lease = dhcp->offered_t1_renew = dhcp->offered_t2_rebind = 0; + dhcp->dns_count = 0; + + /* create and initialize the DHCP message header */ + result = dhcp_create_request(netif); + if (result == ERR_OK) { + dhcp_option(dhcp, DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN); + dhcp_option_byte(dhcp, DHCP_RELEASE); + + dhcp_option_trailer(dhcp); + + pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len); + + udp_sendto_if(dhcp->pcb, dhcp->p_out, &dhcp->server_ip_addr, DHCP_SERVER_PORT, netif); + dhcp_delete_request(netif); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_release: RELEASED, DHCP_OFF\n")); + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("dhcp_release: could not allocate DHCP request\n")); + } + dhcp->tries++; + msecs = dhcp->tries < 10 ? dhcp->tries * 1000 : 10 * 1000; + dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_release(): set request timeout %"U16_F" msecs\n", msecs)); + /* bring the interface down */ + netif_set_down(netif); + /* remove IP address from interface */ + netif_set_ipaddr(netif, IP_ADDR_ANY); + netif_set_gw(netif, IP_ADDR_ANY); + netif_set_netmask(netif, IP_ADDR_ANY); + + /* TODO: netif_down(netif); */ + return result; +} + +/** + * Remove the DHCP client from the interface. + * + * @param netif The network interface to stop DHCP on + */ +void +dhcp_stop(struct netif *netif) +{ + struct dhcp *dhcp = netif->dhcp; + LWIP_ERROR("dhcp_stop: netif != NULL", (netif != NULL), return;); + /* Remove the flag that says this netif is handled by DHCP. */ + netif->flags &= ~NETIF_FLAG_DHCP; + + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_stop()\n")); + /* netif is DHCP configured? */ + if (dhcp != NULL) { +#if LWIP_DHCP_AUTOIP_COOP + if(dhcp->autoip_coop_state == DHCP_AUTOIP_COOP_STATE_ON) { + autoip_stop(netif); + dhcp->autoip_coop_state = DHCP_AUTOIP_COOP_STATE_OFF; + } +#endif /* LWIP_DHCP_AUTOIP_COOP */ + + if (dhcp->pcb != NULL) { + udp_remove(dhcp->pcb); + dhcp->pcb = NULL; + } + LWIP_ASSERT("reply wasn't freed", dhcp->msg_in == NULL && + dhcp->options_in == NULL && dhcp->options_in_len == 0); + mem_free((void *)dhcp); + netif->dhcp = NULL; + } +} + +/* + * Set the DHCP state of a DHCP client. + * + * If the state changed, reset the number of tries. + * + * TODO: we might also want to reset the timeout here? + */ +static void +dhcp_set_state(struct dhcp *dhcp, u8_t new_state) +{ + if (new_state != dhcp->state) { + dhcp->state = new_state; + dhcp->tries = 0; + } +} + +/* + * Concatenate an option type and length field to the outgoing + * DHCP message. + * + */ +static void +dhcp_option(struct dhcp *dhcp, u8_t option_type, u8_t option_len) +{ + LWIP_ASSERT("dhcp_option: dhcp->options_out_len + 2 + option_len <= DHCP_OPTIONS_LEN", dhcp->options_out_len + 2U + option_len <= DHCP_OPTIONS_LEN); + dhcp->msg_out->options[dhcp->options_out_len++] = option_type; + dhcp->msg_out->options[dhcp->options_out_len++] = option_len; +} +/* + * Concatenate a single byte to the outgoing DHCP message. + * + */ +static void +dhcp_option_byte(struct dhcp *dhcp, u8_t value) +{ + LWIP_ASSERT("dhcp_option_byte: dhcp->options_out_len < DHCP_OPTIONS_LEN", dhcp->options_out_len < DHCP_OPTIONS_LEN); + dhcp->msg_out->options[dhcp->options_out_len++] = value; +} + +static void +dhcp_option_short(struct dhcp *dhcp, u16_t value) +{ + LWIP_ASSERT("dhcp_option_short: dhcp->options_out_len + 2 <= DHCP_OPTIONS_LEN", dhcp->options_out_len + 2U <= DHCP_OPTIONS_LEN); + dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0xff00U) >> 8); + dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t) (value & 0x00ffU); +} + +static void +dhcp_option_long(struct dhcp *dhcp, u32_t value) +{ + LWIP_ASSERT("dhcp_option_long: dhcp->options_out_len + 4 <= DHCP_OPTIONS_LEN", dhcp->options_out_len + 4U <= DHCP_OPTIONS_LEN); + dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0xff000000UL) >> 24); + dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0x00ff0000UL) >> 16); + dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0x0000ff00UL) >> 8); + dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0x000000ffUL)); +} + +/** + * Extract the DHCP message and the DHCP options. + * + * Extract the DHCP message and the DHCP options, each into a contiguous + * piece of memory. As a DHCP message is variable sized by its options, + * and also allows overriding some fields for options, the easy approach + * is to first unfold the options into a conitguous piece of memory, and + * use that further on. + * + */ +static err_t +dhcp_unfold_reply(struct dhcp *dhcp, struct pbuf *p) +{ + u16_t ret; + LWIP_ERROR("dhcp != NULL", (dhcp != NULL), return ERR_ARG;); + /* free any left-overs from previous unfolds */ + dhcp_free_reply(dhcp); + /* options present? */ + if (p->tot_len > (sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN)) { + dhcp->options_in_len = p->tot_len - (sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN); + dhcp->options_in = mem_malloc(dhcp->options_in_len); + if (dhcp->options_in == NULL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, + ("dhcp_unfold_reply(): could not allocate dhcp->options\n")); + dhcp->options_in_len = 0; + return ERR_MEM; + } + } + dhcp->msg_in = mem_malloc(sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN); + if (dhcp->msg_in == NULL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, + ("dhcp_unfold_reply(): could not allocate dhcp->msg_in\n")); + if (dhcp->options_in != NULL) { + mem_free(dhcp->options_in); + dhcp->options_in = NULL; + dhcp->options_in_len = 0; + } + return ERR_MEM; + } + + /** copy the DHCP message without options */ + ret = pbuf_copy_partial(p, dhcp->msg_in, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN, 0); + LWIP_ASSERT("ret == sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN", ret == sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_unfold_reply(): copied %"U16_F" bytes into dhcp->msg_in[]\n", + sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN)); + + if (dhcp->options_in != NULL) { + /** copy the DHCP options */ + ret = pbuf_copy_partial(p, dhcp->options_in, dhcp->options_in_len, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN); + LWIP_ASSERT("ret == dhcp->options_in_len", ret == dhcp->options_in_len); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_unfold_reply(): copied %"U16_F" bytes to dhcp->options_in[]\n", + dhcp->options_in_len)); + } + LWIP_UNUSED_ARG(ret); + return ERR_OK; +} + +/** + * Free the incoming DHCP message including contiguous copy of + * its DHCP options. + */ +static void dhcp_free_reply(struct dhcp *dhcp) +{ + if (dhcp->msg_in != NULL) { + mem_free((void *)dhcp->msg_in); + dhcp->msg_in = NULL; + } + if (dhcp->options_in) { + mem_free(dhcp->options_in); + dhcp->options_in = NULL; + dhcp->options_in_len = 0; + } + LWIP_DEBUGF(DHCP_DEBUG, ("dhcp_free_reply(): free'd\n")); +} + +/** + * If an incoming DHCP message is in response to us, then trigger the state machine + */ +static void dhcp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr, u16_t port) +{ + struct netif *netif = (struct netif *)arg; + struct dhcp *dhcp = netif->dhcp; + struct dhcp_msg *reply_msg = (struct dhcp_msg *)p->payload; + u8_t *options_ptr; + u8_t msg_type; + u8_t i; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("dhcp_recv(pbuf = %p) from DHCP server %"U16_F".%"U16_F".%"U16_F".%"U16_F" port %"U16_F"\n", (void*)p, + (u16_t)(ntohl(addr->addr) >> 24 & 0xff), (u16_t)(ntohl(addr->addr) >> 16 & 0xff), + (u16_t)(ntohl(addr->addr) >> 8 & 0xff), (u16_t)(ntohl(addr->addr) & 0xff), port)); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("pbuf->len = %"U16_F"\n", p->len)); + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("pbuf->tot_len = %"U16_F"\n", p->tot_len)); + /* prevent warnings about unused arguments */ + LWIP_UNUSED_ARG(pcb); + LWIP_UNUSED_ARG(addr); + LWIP_UNUSED_ARG(port); + + LWIP_ASSERT("reply wasn't freed", dhcp->msg_in == NULL && + dhcp->options_in == NULL && dhcp->options_in_len == 0); + + if (p->len < DHCP_MIN_REPLY_LEN) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, ("DHCP reply message too short\n")); + goto free_pbuf_and_return; + } + + if (reply_msg->op != DHCP_BOOTREPLY) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, ("not a DHCP reply message, but type %"U16_F"\n", (u16_t)reply_msg->op)); + goto free_pbuf_and_return; + } + /* iterate through hardware address and match against DHCP message */ + for (i = 0; i < netif->hwaddr_len; i++) { + if (netif->hwaddr[i] != reply_msg->chaddr[i]) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, + ("netif->hwaddr[%"U16_F"]==%02"X16_F" != reply_msg->chaddr[%"U16_F"]==%02"X16_F"\n", + (u16_t)i, (u16_t)netif->hwaddr[i], (u16_t)i, (u16_t)reply_msg->chaddr[i])); + goto free_pbuf_and_return; + } + } + /* match transaction ID against what we expected */ + if (ntohl(reply_msg->xid) != dhcp->xid) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, + ("transaction id mismatch reply_msg->xid(%"X32_F")!=dhcp->xid(%"X32_F")\n",ntohl(reply_msg->xid),dhcp->xid)); + goto free_pbuf_and_return; + } + /* option fields could be unfold? */ + if (dhcp_unfold_reply(dhcp, p) != ERR_OK) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, + ("problem unfolding DHCP message - too short on memory?\n")); + goto free_pbuf_and_return; + } + + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("searching DHCP_OPTION_MESSAGE_TYPE\n")); + /* obtain pointer to DHCP message type */ + options_ptr = dhcp_get_option_ptr(dhcp, DHCP_OPTION_MESSAGE_TYPE); + if (options_ptr == NULL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, ("DHCP_OPTION_MESSAGE_TYPE option not found\n")); + goto free_pbuf_and_return; + } + + /* read DHCP message type */ + msg_type = dhcp_get_option_byte(options_ptr + 2); + /* message type is DHCP ACK? */ + if (msg_type == DHCP_ACK) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("DHCP_ACK received\n")); + /* in requesting state? */ + if (dhcp->state == DHCP_REQUESTING) { + dhcp_handle_ack(netif); + dhcp->request_timeout = 0; +#if DHCP_DOES_ARP_CHECK + /* check if the acknowledged lease address is already in use */ + dhcp_check(netif); +#else + /* bind interface to the acknowledged lease address */ + dhcp_bind(netif); +#endif + } + /* already bound to the given lease address? */ + else if ((dhcp->state == DHCP_REBOOTING) || (dhcp->state == DHCP_REBINDING) || (dhcp->state == DHCP_RENEWING)) { + dhcp->request_timeout = 0; + dhcp_bind(netif); + } + } + /* received a DHCP_NAK in appropriate state? */ + else if ((msg_type == DHCP_NAK) && + ((dhcp->state == DHCP_REBOOTING) || (dhcp->state == DHCP_REQUESTING) || + (dhcp->state == DHCP_REBINDING) || (dhcp->state == DHCP_RENEWING ))) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("DHCP_NAK received\n")); + dhcp->request_timeout = 0; + dhcp_handle_nak(netif); + } + /* received a DHCP_OFFER in DHCP_SELECTING state? */ + else if ((msg_type == DHCP_OFFER) && (dhcp->state == DHCP_SELECTING)) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("DHCP_OFFER received in DHCP_SELECTING state\n")); + dhcp->request_timeout = 0; + /* remember offered lease */ + dhcp_handle_offer(netif); + } +free_pbuf_and_return: + dhcp_free_reply(dhcp); + pbuf_free(p); +} + +/** + * Create a DHCP request, fill in common headers + * + * @param netif the netif under DHCP control + */ +static err_t +dhcp_create_request(struct netif *netif) +{ + struct dhcp *dhcp; + u16_t i; +#ifndef DHCP_GLOBAL_XID + /** default global transaction identifier starting value (easy to match + * with a packet analyser). We simply increment for each new request. + * Predefine DHCP_GLOBAL_XID to a better value or a function call to generate one + * at runtime, any supporting function prototypes can be defined in DHCP_GLOBAL_XID_HEADER */ + static u32_t xid = 0xABCD0000; +#else + static u32_t xid; + static u8_t xid_initialised = 0; + if (!xid_initialised) { + xid = DHCP_GLOBAL_XID; + xid_initialised = !xid_initialised; + } +#endif + LWIP_ERROR("dhcp_create_request: netif != NULL", (netif != NULL), return ERR_ARG;); + dhcp = netif->dhcp; + LWIP_ERROR("dhcp_create_request: dhcp != NULL", (dhcp != NULL), return ERR_VAL;); + LWIP_ASSERT("dhcp_create_request: dhcp->p_out == NULL", dhcp->p_out == NULL); + LWIP_ASSERT("dhcp_create_request: dhcp->msg_out == NULL", dhcp->msg_out == NULL); + dhcp->p_out = pbuf_alloc(PBUF_TRANSPORT, sizeof(struct dhcp_msg), PBUF_RAM); + if (dhcp->p_out == NULL) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, + ("dhcp_create_request(): could not allocate pbuf\n")); + return ERR_MEM; + } + LWIP_ASSERT("dhcp_create_request: check that first pbuf can hold struct dhcp_msg", + (dhcp->p_out->len >= sizeof(struct dhcp_msg))); + + /* reuse transaction identifier in retransmissions */ + if (dhcp->tries==0) + xid++; + dhcp->xid = xid; + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, + ("transaction id xid(%"X32_F")\n", xid)); + + dhcp->msg_out = (struct dhcp_msg *)dhcp->p_out->payload; + + dhcp->msg_out->op = DHCP_BOOTREQUEST; + /* TODO: make link layer independent */ + dhcp->msg_out->htype = DHCP_HTYPE_ETH; + /* TODO: make link layer independent */ + dhcp->msg_out->hlen = DHCP_HLEN_ETH; + dhcp->msg_out->hops = 0; + dhcp->msg_out->xid = htonl(dhcp->xid); + dhcp->msg_out->secs = 0; + dhcp->msg_out->flags = 0; + dhcp->msg_out->ciaddr.addr = 0; + if (dhcp->state==DHCP_BOUND || dhcp->state==DHCP_RENEWING || dhcp->state==DHCP_REBINDING) { + dhcp->msg_out->ciaddr.addr = netif->ip_addr.addr; + } + dhcp->msg_out->yiaddr.addr = 0; + dhcp->msg_out->siaddr.addr = 0; + dhcp->msg_out->giaddr.addr = 0; + for (i = 0; i < DHCP_CHADDR_LEN; i++) { + /* copy netif hardware address, pad with zeroes */ + dhcp->msg_out->chaddr[i] = (i < netif->hwaddr_len) ? netif->hwaddr[i] : 0/* pad byte*/; + } + for (i = 0; i < DHCP_SNAME_LEN; i++) { + dhcp->msg_out->sname[i] = 0; + } + for (i = 0; i < DHCP_FILE_LEN; i++) { + dhcp->msg_out->file[i] = 0; + } + dhcp->msg_out->cookie = htonl(0x63825363UL); + dhcp->options_out_len = 0; + /* fill options field with an incrementing array (for debugging purposes) */ + for (i = 0; i < DHCP_OPTIONS_LEN; i++) { + dhcp->msg_out->options[i] = (u8_t)i; /* for debugging only, no matter if truncated */ + } + return ERR_OK; +} + +/** + * Free previously allocated memory used to send a DHCP request. + * + * @param netif the netif under DHCP control + */ +static void +dhcp_delete_request(struct netif *netif) +{ + struct dhcp *dhcp; + LWIP_ERROR("dhcp_delete_request: netif != NULL", (netif != NULL), return;); + dhcp = netif->dhcp; + LWIP_ERROR("dhcp_delete_request: dhcp != NULL", (dhcp != NULL), return;); + LWIP_ASSERT("dhcp_delete_request: dhcp->p_out != NULL", dhcp->p_out != NULL); + LWIP_ASSERT("dhcp_delete_request: dhcp->msg_out != NULL", dhcp->msg_out != NULL); + if (dhcp->p_out != NULL) { + pbuf_free(dhcp->p_out); + } + dhcp->p_out = NULL; + dhcp->msg_out = NULL; +} + +/** + * Add a DHCP message trailer + * + * Adds the END option to the DHCP message, and if + * necessary, up to three padding bytes. + * + * @param dhcp DHCP state structure + */ +static void +dhcp_option_trailer(struct dhcp *dhcp) +{ + LWIP_ERROR("dhcp_option_trailer: dhcp != NULL", (dhcp != NULL), return;); + LWIP_ASSERT("dhcp_option_trailer: dhcp->msg_out != NULL\n", dhcp->msg_out != NULL); + LWIP_ASSERT("dhcp_option_trailer: dhcp->options_out_len < DHCP_OPTIONS_LEN\n", dhcp->options_out_len < DHCP_OPTIONS_LEN); + dhcp->msg_out->options[dhcp->options_out_len++] = DHCP_OPTION_END; + /* packet is too small, or not 4 byte aligned? */ + while ((dhcp->options_out_len < DHCP_MIN_OPTIONS_LEN) || (dhcp->options_out_len & 3)) { + /* LWIP_DEBUGF(DHCP_DEBUG,("dhcp_option_trailer:dhcp->options_out_len=%"U16_F", DHCP_OPTIONS_LEN=%"U16_F, dhcp->options_out_len, DHCP_OPTIONS_LEN)); */ + LWIP_ASSERT("dhcp_option_trailer: dhcp->options_out_len < DHCP_OPTIONS_LEN\n", dhcp->options_out_len < DHCP_OPTIONS_LEN); + /* add a fill/padding byte */ + dhcp->msg_out->options[dhcp->options_out_len++] = 0; + } +} + +/** + * Find the offset of a DHCP option inside the DHCP message. + * + * @param dhcp DHCP client + * @param option_type + * + * @return a byte offset into the UDP message where the option was found, or + * zero if the given option was not found. + */ +static u8_t *dhcp_get_option_ptr(struct dhcp *dhcp, u8_t option_type) +{ + u8_t overload = DHCP_OVERLOAD_NONE; + + /* options available? */ + if ((dhcp->options_in != NULL) && (dhcp->options_in_len > 0)) { + /* start with options field */ + u8_t *options = (u8_t *)dhcp->options_in; + u16_t offset = 0; + /* at least 1 byte to read and no end marker, then at least 3 bytes to read? */ + while ((offset < dhcp->options_in_len) && (options[offset] != DHCP_OPTION_END)) { + /* LWIP_DEBUGF(DHCP_DEBUG, ("msg_offset=%"U16_F", q->len=%"U16_F, msg_offset, q->len)); */ + /* are the sname and/or file field overloaded with options? */ + if (options[offset] == DHCP_OPTION_OVERLOAD) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("overloaded message detected\n")); + /* skip option type and length */ + offset += 2; + overload = options[offset++]; + } + /* requested option found */ + else if (options[offset] == option_type) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("option found at offset %"U16_F" in options\n", offset)); + return &options[offset]; + /* skip option */ + } else { + LWIP_DEBUGF(DHCP_DEBUG, ("skipping option %"U16_F" in options\n", options[offset])); + /* skip option type */ + offset++; + /* skip option length, and then length bytes */ + offset += 1 + options[offset]; + } + } + /* is this an overloaded message? */ + if (overload != DHCP_OVERLOAD_NONE) { + u16_t field_len; + if (overload == DHCP_OVERLOAD_FILE) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("overloaded file field\n")); + options = (u8_t *)&dhcp->msg_in->file; + field_len = DHCP_FILE_LEN; + } else if (overload == DHCP_OVERLOAD_SNAME) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("overloaded sname field\n")); + options = (u8_t *)&dhcp->msg_in->sname; + field_len = DHCP_SNAME_LEN; + /* TODO: check if else if () is necessary */ + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("overloaded sname and file field\n")); + options = (u8_t *)&dhcp->msg_in->sname; + field_len = DHCP_FILE_LEN + DHCP_SNAME_LEN; + } + offset = 0; + + /* at least 1 byte to read and no end marker */ + while ((offset < field_len) && (options[offset] != DHCP_OPTION_END)) { + if (options[offset] == option_type) { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("option found at offset=%"U16_F"\n", offset)); + return &options[offset]; + /* skip option */ + } else { + LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, ("skipping option %"U16_F"\n", options[offset])); + /* skip option type */ + offset++; + offset += 1 + options[offset]; + } + } + } + } + return NULL; +} + +/** + * Return the byte of DHCP option data. + * + * @param client DHCP client. + * @param ptr pointer obtained by dhcp_get_option_ptr(). + * + * @return byte value at the given address. + */ +static u8_t +dhcp_get_option_byte(u8_t *ptr) +{ + LWIP_DEBUGF(DHCP_DEBUG, ("option byte value=%"U16_F"\n", (u16_t)(*ptr))); + return *ptr; +} + +#if 0 /* currently unused */ +/** + * Return the 16-bit value of DHCP option data. + * + * @param client DHCP client. + * @param ptr pointer obtained by dhcp_get_option_ptr(). + * + * @return byte value at the given address. + */ +static u16_t +dhcp_get_option_short(u8_t *ptr) +{ + u16_t value; + value = *ptr++ << 8; + value |= *ptr; + LWIP_DEBUGF(DHCP_DEBUG, ("option short value=%"U16_F"\n", value)); + return value; +} +#endif + +/** + * Return the 32-bit value of DHCP option data. + * + * @param client DHCP client. + * @param ptr pointer obtained by dhcp_get_option_ptr(). + * + * @return byte value at the given address. + */ +static u32_t dhcp_get_option_long(u8_t *ptr) +{ + u32_t value; + value = (u32_t)(*ptr++) << 24; + value |= (u32_t)(*ptr++) << 16; + value |= (u32_t)(*ptr++) << 8; + value |= (u32_t)(*ptr++); + LWIP_DEBUGF(DHCP_DEBUG, ("option long value=%"U32_F"\n", value)); + return value; +} + +#endif /* LWIP_DHCP */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/dns.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/dns.c new file mode 100644 index 0000000..62ccf63 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/dns.c @@ -0,0 +1,982 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * DNS - host name to IP address resolver. + * + */ + +/** + + * This file implements a DNS host name to IP address resolver. + + * Port to lwIP from uIP + * by Jim Pettinato April 2007 + + * uIP version Copyright (c) 2002-2003, Adam Dunkels. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * + * DNS.C + * + * The lwIP DNS resolver functions are used to lookup a host name and + * map it to a numerical IP address. It maintains a list of resolved + * hostnames that can be queried with the dns_lookup() function. + * New hostnames can be resolved using the dns_query() function. + * + * The lwIP version of the resolver also adds a non-blocking version of + * gethostbyname() that will work with a raw API application. This function + * checks for an IP address string first and converts it if it is valid. + * gethostbyname() then does a dns_lookup() to see if the name is + * already in the table. If so, the IP is returned. If not, a query is + * issued and the function returns with a ERR_INPROGRESS status. The app + * using the dns client must then go into a waiting state. + * + * Once a hostname has been resolved (or found to be non-existent), + * the resolver code calls a specified callback function (which + * must be implemented by the module that uses the resolver). + */ + +/*----------------------------------------------------------------------------- + * RFC 1035 - Domain names - implementation and specification + * RFC 2181 - Clarifications to the DNS Specification + *----------------------------------------------------------------------------*/ + +/** @todo: define good default values (rfc compliance) */ +/** @todo: improve answer parsing, more checkings... */ +/** @todo: check RFC1035 - 7.3. Processing responses */ + +/*----------------------------------------------------------------------------- + * Includes + *----------------------------------------------------------------------------*/ + +#include "lwip/opt.h" + +#if LWIP_DNS /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/udp.h" +#include "lwip/mem.h" +#include "lwip/dns.h" + +#include <string.h> + +/** DNS server IP address */ +#ifndef DNS_SERVER_ADDRESS +#define DNS_SERVER_ADDRESS inet_addr("208.67.222.222") /* resolver1.opendns.com */ +#endif + +/** DNS server port address */ +#ifndef DNS_SERVER_PORT +#define DNS_SERVER_PORT 53 +#endif + +/** DNS maximum number of retries when asking for a name, before "timeout". */ +#ifndef DNS_MAX_RETRIES +#define DNS_MAX_RETRIES 4 +#endif + +/** DNS resource record max. TTL (one week as default) */ +#ifndef DNS_MAX_TTL +#define DNS_MAX_TTL 604800 +#endif + +/* DNS protocol flags */ +#define DNS_FLAG1_RESPONSE 0x80 +#define DNS_FLAG1_OPCODE_STATUS 0x10 +#define DNS_FLAG1_OPCODE_INVERSE 0x08 +#define DNS_FLAG1_OPCODE_STANDARD 0x00 +#define DNS_FLAG1_AUTHORATIVE 0x04 +#define DNS_FLAG1_TRUNC 0x02 +#define DNS_FLAG1_RD 0x01 +#define DNS_FLAG2_RA 0x80 +#define DNS_FLAG2_ERR_MASK 0x0f +#define DNS_FLAG2_ERR_NONE 0x00 +#define DNS_FLAG2_ERR_NAME 0x03 + +/* DNS protocol states */ +#define DNS_STATE_UNUSED 0 +#define DNS_STATE_NEW 1 +#define DNS_STATE_ASKING 2 +#define DNS_STATE_DONE 3 + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** DNS message header */ +struct dns_hdr { + PACK_STRUCT_FIELD(u16_t id); + PACK_STRUCT_FIELD(u8_t flags1); + PACK_STRUCT_FIELD(u8_t flags2); + PACK_STRUCT_FIELD(u16_t numquestions); + PACK_STRUCT_FIELD(u16_t numanswers); + PACK_STRUCT_FIELD(u16_t numauthrr); + PACK_STRUCT_FIELD(u16_t numextrarr); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif +#define SIZEOF_DNS_HDR 12 + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** DNS query message structure */ +struct dns_query { + /* DNS query record starts with either a domain name or a pointer + to a name already present somewhere in the packet. */ + PACK_STRUCT_FIELD(u16_t type); + PACK_STRUCT_FIELD(u16_t class); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif +#define SIZEOF_DNS_QUERY 4 + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** DNS answer message structure */ +struct dns_answer { + /* DNS answer record starts with either a domain name or a pointer + to a name already present somewhere in the packet. */ + PACK_STRUCT_FIELD(u16_t type); + PACK_STRUCT_FIELD(u16_t class); + PACK_STRUCT_FIELD(u32_t ttl); + PACK_STRUCT_FIELD(u16_t len); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif +#define SIZEOF_DNS_ANSWER 10 + +/** DNS table entry */ +struct dns_table_entry { + u8_t state; + u8_t numdns; + u8_t tmr; + u8_t retries; + u8_t seqno; + u8_t err; + u32_t ttl; + char name[DNS_MAX_NAME_LENGTH]; + struct ip_addr ipaddr; + /* pointer to callback on DNS query done */ + dns_found_callback found; + void *arg; +}; + +#if DNS_LOCAL_HOSTLIST +/** struct used for local host-list */ +struct local_hostlist_entry { + /** static hostname */ + const char *name; + /** static host address in network byteorder */ + u32_t addr; + struct local_hostlist_entry *next; +}; + +#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC +/** Local host-list. For hostnames in this list, no + * external name resolution is performed */ +static struct local_hostlist_entry *local_hostlist_dynamic; +#else /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ + +/** Defining this allows the local_hostlist_static to be placed in a different + * linker section (e.g. FLASH) */ +#ifndef DNS_LOCAL_HOSTLIST_STORAGE_PRE +#define DNS_LOCAL_HOSTLIST_STORAGE_PRE static +#endif /* DNS_LOCAL_HOSTLIST_STORAGE_PRE */ +/** Defining this allows the local_hostlist_static to be placed in a different + * linker section (e.g. FLASH) */ +#ifndef DNS_LOCAL_HOSTLIST_STORAGE_POST +#define DNS_LOCAL_HOSTLIST_STORAGE_POST +#endif /* DNS_LOCAL_HOSTLIST_STORAGE_POST */ +DNS_LOCAL_HOSTLIST_STORAGE_PRE struct local_hostlist_entry local_hostlist_static[] + DNS_LOCAL_HOSTLIST_STORAGE_POST = DNS_LOCAL_HOSTLIST_INIT; + +#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ + +static void dns_init_local(); +#endif /* DNS_LOCAL_HOSTLIST */ + + +/* forward declarations */ +static void dns_recv(void *s, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr, u16_t port); +static void dns_check_entries(void); + +/*----------------------------------------------------------------------------- + * Globales + *----------------------------------------------------------------------------*/ + +/* DNS variables */ +static struct udp_pcb *dns_pcb; +static u8_t dns_seqno; +static struct dns_table_entry dns_table[DNS_TABLE_SIZE]; +static struct ip_addr dns_servers[DNS_MAX_SERVERS]; + +#if (DNS_USES_STATIC_BUF == 1) +static u8_t dns_payload[DNS_MSG_SIZE]; +#endif /* (DNS_USES_STATIC_BUF == 1) */ + +/** + * Initialize the resolver: set up the UDP pcb and configure the default server + * (DNS_SERVER_ADDRESS). + */ +void +dns_init() +{ + struct ip_addr dnsserver; + + /* initialize default DNS server address */ + dnsserver.addr = DNS_SERVER_ADDRESS; + + LWIP_DEBUGF(DNS_DEBUG, ("dns_init: initializing\n")); + + /* if dns client not yet initialized... */ + if (dns_pcb == NULL) { + dns_pcb = udp_new(); + + if (dns_pcb != NULL) { + /* initialize DNS table not needed (initialized to zero since it is a + * global variable) */ + LWIP_ASSERT("For implicit initialization to work, DNS_STATE_UNUSED needs to be 0", + DNS_STATE_UNUSED == 0); + + /* initialize DNS client */ + udp_bind(dns_pcb, IP_ADDR_ANY, 0); + udp_recv(dns_pcb, dns_recv, NULL); + + /* initialize default DNS primary server */ + dns_setserver(0, &dnsserver); + } + } +#if DNS_LOCAL_HOSTLIST + dns_init_local(); +#endif +} + +/** + * Initialize one of the DNS servers. + * + * @param numdns the index of the DNS server to set must be < DNS_MAX_SERVERS + * @param dnsserver IP address of the DNS server to set + */ +void +dns_setserver(u8_t numdns, struct ip_addr *dnsserver) +{ + if ((numdns < DNS_MAX_SERVERS) && (dns_pcb != NULL) && + (dnsserver != NULL) && (dnsserver->addr !=0 )) { + dns_servers[numdns] = (*dnsserver); + } +} + +/** + * Obtain one of the currently configured DNS server. + * + * @param numdns the index of the DNS server + * @return IP address of the indexed DNS server or "ip_addr_any" if the DNS + * server has not been configured. + */ +struct ip_addr +dns_getserver(u8_t numdns) +{ + if (numdns < DNS_MAX_SERVERS) { + return dns_servers[numdns]; + } else { + return *IP_ADDR_ANY; + } +} + +/** + * The DNS resolver client timer - handle retries and timeouts and should + * be called every DNS_TMR_INTERVAL milliseconds (every second by default). + */ +void +dns_tmr(void) +{ + if (dns_pcb != NULL) { + LWIP_DEBUGF(DNS_DEBUG, ("dns_tmr: dns_check_entries\n")); + dns_check_entries(); + } +} + +#if DNS_LOCAL_HOSTLIST +static void +dns_init_local() +{ +#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC && defined(DNS_LOCAL_HOSTLIST_INIT) + int i; + struct local_hostlist_entry *entry; + /* Dynamic: copy entries from DNS_LOCAL_HOSTLIST_INIT to list */ + struct local_hostlist_entry local_hostlist_init[] = DNS_LOCAL_HOSTLIST_INIT; + for (i = 0; i < sizeof(local_hostlist_init) / sizeof(struct local_hostlist_entry); i++) { + entry = mem_malloc(sizeof(struct local_hostlist_entry)); + LWIP_ASSERT("mem-error in dns_init_local", entry != NULL); + if (entry != NULL) { + struct local_hostlist_entry *init_entry = &local_hostlist_init[i]; + entry->name = init_entry->name; + entry->addr = init_entry->addr; + entry->next = local_hostlist_dynamic; + local_hostlist_dynamic = entry; + } + } +#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC && defined(DNS_LOCAL_HOSTLIST_INIT) */ +} + +/** + * Scans the local host-list for a hostname. + * + * @param hostname Hostname to look for in the local host-list + * @return The first IP address for the hostname in the local host-list or + * INADDR_NONE if not found. + */ +static u32_t +dns_lookup_local(const char *hostname) +{ +#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC + struct local_hostlist_entry *entry = local_hostlist_dynamic; + while(entry != NULL) { + if(strcmp(entry->name, hostname) == 0) { + return entry->addr; + } + entry = entry->next; + } +#else /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ + int i; + for (i = 0; i < sizeof(local_hostlist_static) / sizeof(struct local_hostlist_entry); i++) { + if(strcmp(local_hostlist_static[i].name, hostname) == 0) { + return local_hostlist_static[i].addr; + } + } +#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ + return INADDR_NONE; +} + +#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC +/** Remove all entries from the local host-list for a specific hostname + * and/or IP addess + * + * @param hostname hostname for which entries shall be removed from the local + * host-list + * @param addr address for which entries shall be removed from the local host-list + * @return the number of removed entries + */ +int +dns_local_removehost(const char *hostname, const struct ip_addr *addr) +{ + int removed = 0; + struct local_hostlist_entry *entry = local_hostlist_dynamic; + struct local_hostlist_entry *last_entry = NULL; + while (entry != NULL) { + if (((hostname == NULL) || !strcmp(entry->name, hostname)) && + ((addr == NULL) || (entry->addr == addr->addr))) { + struct local_hostlist_entry *free_entry; + if (last_entry != NULL) { + last_entry->next = entry->next; + } else { + local_hostlist_dynamic = entry->next; + } + free_entry = entry; + entry = entry->next; + mem_free(free_entry); + removed++; + } else { + last_entry = entry; + entry = entry->next; + } + } + return removed; +} + +/** + * Add a hostname/IP address pair to the local host-list. + * Duplicates are not checked. + * + * @param hostname hostname of the new entry + * @param addr IP address of the new entry + * @return ERR_OK if succeeded or ERR_MEM on memory error + */ +err_t +dns_local_addhost(const char *hostname, const struct ip_addr *addr) +{ + struct local_hostlist_entry *entry; + entry = mem_malloc(sizeof(struct local_hostlist_entry)); + if (entry == NULL) { + return ERR_MEM; + } + entry->name = hostname; + entry->addr = addr->addr; + entry->next = local_hostlist_dynamic; + local_hostlist_dynamic = entry; + return ERR_OK; +} +#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC*/ +#endif /* DNS_LOCAL_HOSTLIST */ + +/** + * Look up a hostname in the array of known hostnames. + * + * @note This function only looks in the internal array of known + * hostnames, it does not send out a query for the hostname if none + * was found. The function dns_enqueue() can be used to send a query + * for a hostname. + * + * @param name the hostname to look up + * @return the hostname's IP address, as u32_t (instead of struct ip_addr to + * better check for failure: != INADDR_NONE) or INADDR_NONE if the hostname + * was not found in the cached dns_table. + */ +static u32_t +dns_lookup(const char *name) +{ + u8_t i; +#if DNS_LOCAL_HOSTLIST || defined(DNS_LOOKUP_LOCAL_EXTERN) + u32_t addr; +#endif /* DNS_LOCAL_HOSTLIST || defined(DNS_LOOKUP_LOCAL_EXTERN) */ +#if DNS_LOCAL_HOSTLIST + if ((addr = dns_lookup_local(name)) != INADDR_NONE) { + return addr; + } +#endif /* DNS_LOCAL_HOSTLIST */ +#ifdef DNS_LOOKUP_LOCAL_EXTERN + if((addr = DNS_LOOKUP_LOCAL_EXTERN(name)) != INADDR_NONE) { + return addr; + } +#endif /* DNS_LOOKUP_LOCAL_EXTERN */ + + /* Walk through name list, return entry if found. If not, return NULL. */ + for (i = 0; i < DNS_TABLE_SIZE; ++i) { + if ((dns_table[i].state == DNS_STATE_DONE) && + (strcmp(name, dns_table[i].name) == 0)) { + LWIP_DEBUGF(DNS_DEBUG, ("dns_lookup: \"%s\": found = ", name)); + ip_addr_debug_print(DNS_DEBUG, &(dns_table[i].ipaddr)); + LWIP_DEBUGF(DNS_DEBUG, ("\n")); + return dns_table[i].ipaddr.addr; + } + } + + return INADDR_NONE; +} + +#if DNS_DOES_NAME_CHECK +/** + * Compare the "dotted" name "query" with the encoded name "response" + * to make sure an answer from the DNS server matches the current dns_table + * entry (otherwise, answers might arrive late for hostname not on the list + * any more). + * + * @param query hostname (not encoded) from the dns_table + * @param response encoded hostname in the DNS response + * @return 0: names equal; 1: names differ + */ +static u8_t +dns_compare_name(unsigned char *query, unsigned char *response) +{ + unsigned char n; + + do { + n = *response++; + /** @see RFC 1035 - 4.1.4. Message compression */ + if ((n & 0xc0) == 0xc0) { + /* Compressed name */ + break; + } else { + /* Not compressed name */ + while (n > 0) { + if ((*query) != (*response)) { + return 1; + } + ++response; + ++query; + --n; + }; + ++query; + } + } while (*response != 0); + + return 0; +} +#endif /* DNS_DOES_NAME_CHECK */ + +/** + * Walk through a compact encoded DNS name and return the end of the name. + * + * @param query encoded DNS name in the DNS server response + * @return end of the name + */ +static unsigned char * +dns_parse_name(unsigned char *query) +{ + unsigned char n; + + do { + n = *query++; + /** @see RFC 1035 - 4.1.4. Message compression */ + if ((n & 0xc0) == 0xc0) { + /* Compressed name */ + break; + } else { + /* Not compressed name */ + while (n > 0) { + ++query; + --n; + }; + } + } while (*query != 0); + + return query + 1; +} + +/** + * Send a DNS query packet. + * + * @param numdns index of the DNS server in the dns_servers table + * @param name hostname to query + * @param id index of the hostname in dns_table, used as transaction ID in the + * DNS query packet + * @return ERR_OK if packet is sent; an err_t indicating the problem otherwise + */ +static err_t +dns_send(u8_t numdns, const char* name, u8_t id) +{ + err_t err; + struct dns_hdr *hdr; + struct dns_query qry; + struct pbuf *p; + char *query, *nptr; + const char *pHostname; + u8_t n; + + LWIP_DEBUGF(DNS_DEBUG, ("dns_send: dns_servers[%"U16_F"] \"%s\": request\n", + (u16_t)(numdns), name)); + LWIP_ASSERT("dns server out of array", numdns < DNS_MAX_SERVERS); + LWIP_ASSERT("dns server has no IP address set", dns_servers[numdns].addr != 0); + + /* if here, we have either a new query or a retry on a previous query to process */ + p = pbuf_alloc(PBUF_TRANSPORT, SIZEOF_DNS_HDR + DNS_MAX_NAME_LENGTH + + SIZEOF_DNS_QUERY, PBUF_RAM); + if (p != NULL) { + LWIP_ASSERT("pbuf must be in one piece", p->next == NULL); + /* fill dns header */ + hdr = (struct dns_hdr*)p->payload; + memset(hdr, 0, SIZEOF_DNS_HDR); + hdr->id = htons(id); + hdr->flags1 = DNS_FLAG1_RD; + hdr->numquestions = htons(1); + query = (char*)hdr + SIZEOF_DNS_HDR; + pHostname = name; + --pHostname; + + /* convert hostname into suitable query format. */ + do { + ++pHostname; + nptr = query; + ++query; + for(n = 0; *pHostname != '.' && *pHostname != 0; ++pHostname) { + *query = *pHostname; + ++query; + ++n; + } + *nptr = n; + } while(*pHostname != 0); + *query++='\0'; + + /* fill dns query */ + qry.type = htons(DNS_RRTYPE_A); + qry.class = htons(DNS_RRCLASS_IN); + MEMCPY( query, &qry, SIZEOF_DNS_QUERY); + + /* resize pbuf to the exact dns query */ + pbuf_realloc(p, (query + SIZEOF_DNS_QUERY) - ((char*)(p->payload))); + + /* connect to the server for faster receiving */ + udp_connect(dns_pcb, &dns_servers[numdns], DNS_SERVER_PORT); + /* send dns packet */ + err = udp_sendto(dns_pcb, p, &dns_servers[numdns], DNS_SERVER_PORT); + + /* free pbuf */ + pbuf_free(p); + } else { + err = ERR_MEM; + } + + return err; +} + +/** + * dns_check_entry() - see if pEntry has not yet been queried and, if so, sends out a query. + * Check an entry in the dns_table: + * - send out query for new entries + * - retry old pending entries on timeout (also with different servers) + * - remove completed entries from the table if their TTL has expired + * + * @param i index of the dns_table entry to check + */ +static void +dns_check_entry(u8_t i) +{ + struct dns_table_entry *pEntry = &dns_table[i]; + + LWIP_ASSERT("array index out of bounds", i < DNS_TABLE_SIZE); + + switch(pEntry->state) { + + case DNS_STATE_NEW: { + /* initialize new entry */ + pEntry->state = DNS_STATE_ASKING; + pEntry->numdns = 0; + pEntry->tmr = 1; + pEntry->retries = 0; + + /* send DNS packet for this entry */ + dns_send(pEntry->numdns, pEntry->name, i); + break; + } + + case DNS_STATE_ASKING: { + if (--pEntry->tmr == 0) { + if (++pEntry->retries == DNS_MAX_RETRIES) { + if ((pEntry->numdns+1<DNS_MAX_SERVERS) && (dns_servers[pEntry->numdns+1].addr!=0)) { + /* change of server */ + pEntry->numdns++; + pEntry->tmr = 1; + pEntry->retries = 0; + break; + } else { + LWIP_DEBUGF(DNS_DEBUG, ("dns_check_entry: \"%s\": timeout\n", pEntry->name)); + /* call specified callback function if provided */ + if (pEntry->found) + (*pEntry->found)(pEntry->name, NULL, pEntry->arg); + /* flush this entry */ + pEntry->state = DNS_STATE_UNUSED; + pEntry->found = NULL; + break; + } + } + + /* wait longer for the next retry */ + pEntry->tmr = pEntry->retries; + + /* send DNS packet for this entry */ + dns_send(pEntry->numdns, pEntry->name, i); + } + break; + } + + case DNS_STATE_DONE: { + /* if the time to live is nul */ + if (--pEntry->ttl == 0) { + LWIP_DEBUGF(DNS_DEBUG, ("dns_check_entry: \"%s\": flush\n", pEntry->name)); + /* flush this entry */ + pEntry->state = DNS_STATE_UNUSED; + pEntry->found = NULL; + } + break; + } + case DNS_STATE_UNUSED: + /* nothing to do */ + break; + default: + LWIP_ASSERT("unknown dns_table entry state:", 0); + break; + } +} + +/** + * Call dns_check_entry for each entry in dns_table - check all entries. + */ +static void +dns_check_entries(void) +{ + u8_t i; + + for (i = 0; i < DNS_TABLE_SIZE; ++i) { + dns_check_entry(i); + } +} + +/** + * Receive input function for DNS response packets arriving for the dns UDP pcb. + * + * @params see udp.h + */ +static void +dns_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr, u16_t port) +{ + u8_t i; + char *pHostname; + struct dns_hdr *hdr; + struct dns_answer ans; + struct dns_table_entry *pEntry; + u8_t nquestions, nanswers; +#if (DNS_USES_STATIC_BUF == 0) + u8_t dns_payload[DNS_MSG_SIZE]; +#endif /* (DNS_USES_STATIC_BUF == 0) */ +#if (DNS_USES_STATIC_BUF == 2) + u8_t* dns_payload; +#endif /* (DNS_USES_STATIC_BUF == 2) */ + + LWIP_UNUSED_ARG(arg); + LWIP_UNUSED_ARG(pcb); + LWIP_UNUSED_ARG(addr); + LWIP_UNUSED_ARG(port); + + /* is the dns message too big ? */ + if (p->tot_len > DNS_MSG_SIZE) { + LWIP_DEBUGF(DNS_DEBUG, ("dns_recv: pbuf too big\n")); + /* free pbuf and return */ + goto memerr1; + } + + /* is the dns message big enough ? */ + if (p->tot_len < (SIZEOF_DNS_HDR + SIZEOF_DNS_QUERY + SIZEOF_DNS_ANSWER)) { + LWIP_DEBUGF(DNS_DEBUG, ("dns_recv: pbuf too small\n")); + /* free pbuf and return */ + goto memerr1; + } + +#if (DNS_USES_STATIC_BUF == 2) + dns_payload = mem_malloc(p->tot_len); + if (dns_payload == NULL) { + LWIP_DEBUGF(DNS_DEBUG, ("dns_recv: mem_malloc error\n")); + /* free pbuf and return */ + goto memerr1; + } +#endif /* (DNS_USES_STATIC_BUF == 2) */ + + /* copy dns payload inside static buffer for processing */ + if (pbuf_copy_partial(p, dns_payload, p->tot_len, 0) == p->tot_len) { + /* The ID in the DNS header should be our entry into the name table. */ + hdr = (struct dns_hdr*)dns_payload; + i = htons(hdr->id); + if (i < DNS_TABLE_SIZE) { + pEntry = &dns_table[i]; + if(pEntry->state == DNS_STATE_ASKING) { + /* This entry is now completed. */ + pEntry->state = DNS_STATE_DONE; + pEntry->err = hdr->flags2 & DNS_FLAG2_ERR_MASK; + + /* We only care about the question(s) and the answers. The authrr + and the extrarr are simply discarded. */ + nquestions = htons(hdr->numquestions); + nanswers = htons(hdr->numanswers); + + /* Check for error. If so, call callback to inform. */ + if (((hdr->flags1 & DNS_FLAG1_RESPONSE) == 0) || (pEntry->err != 0) || (nquestions != 1)) { + LWIP_DEBUGF(DNS_DEBUG, ("dns_recv: \"%s\": error in flags\n", pEntry->name)); + /* call callback to indicate error, clean up memory and return */ + goto responseerr; + } + +#if DNS_DOES_NAME_CHECK + /* Check if the name in the "question" part match with the name in the entry. */ + if (dns_compare_name((unsigned char *)(pEntry->name), (unsigned char *)dns_payload + SIZEOF_DNS_HDR) != 0) { + LWIP_DEBUGF(DNS_DEBUG, ("dns_recv: \"%s\": response not match to query\n", pEntry->name)); + /* call callback to indicate error, clean up memory and return */ + goto responseerr; + } +#endif /* DNS_DOES_NAME_CHECK */ + + /* Skip the name in the "question" part */ + pHostname = (char *) dns_parse_name((unsigned char *)dns_payload + SIZEOF_DNS_HDR) + SIZEOF_DNS_QUERY; + + while(nanswers > 0) { + /* skip answer resource record's host name */ + pHostname = (char *) dns_parse_name((unsigned char *)pHostname); + + /* Check for IP address type and Internet class. Others are discarded. */ + MEMCPY(&ans, pHostname, SIZEOF_DNS_ANSWER); + if((ntohs(ans.type) == DNS_RRTYPE_A) && (ntohs(ans.class) == DNS_RRCLASS_IN) && (ntohs(ans.len) == sizeof(struct ip_addr)) ) { + /* read the answer resource record's TTL, and maximize it if needed */ + pEntry->ttl = ntohl(ans.ttl); + if (pEntry->ttl > DNS_MAX_TTL) { + pEntry->ttl = DNS_MAX_TTL; + } + /* read the IP address after answer resource record's header */ + MEMCPY( &(pEntry->ipaddr), (pHostname+SIZEOF_DNS_ANSWER), sizeof(struct ip_addr)); + LWIP_DEBUGF(DNS_DEBUG, ("dns_recv: \"%s\": response = ", pEntry->name)); + ip_addr_debug_print(DNS_DEBUG, (&(pEntry->ipaddr))); + LWIP_DEBUGF(DNS_DEBUG, ("\n")); + /* call specified callback function if provided */ + if (pEntry->found) { + (*pEntry->found)(pEntry->name, &pEntry->ipaddr, pEntry->arg); + } + /* deallocate memory and return */ + goto memerr2; + } else { + pHostname = pHostname + SIZEOF_DNS_ANSWER + htons(ans.len); + } + --nanswers; + } + LWIP_DEBUGF(DNS_DEBUG, ("dns_recv: \"%s\": error in response\n", pEntry->name)); + /* call callback to indicate error, clean up memory and return */ + goto responseerr; + } + } + } + + /* deallocate memory and return */ + goto memerr2; + +responseerr: + /* ERROR: call specified callback function with NULL as name to indicate an error */ + if (pEntry->found) { + (*pEntry->found)(pEntry->name, NULL, pEntry->arg); + } + /* flush this entry */ + pEntry->state = DNS_STATE_UNUSED; + pEntry->found = NULL; + +memerr2: +#if (DNS_USES_STATIC_BUF == 2) + /* free dns buffer */ + mem_free(dns_payload); +#endif /* (DNS_USES_STATIC_BUF == 2) */ + +memerr1: + /* free pbuf */ + pbuf_free(p); + return; +} + +/** + * Queues a new hostname to resolve and sends out a DNS query for that hostname + * + * @param name the hostname that is to be queried + * @param found a callback founction to be called on success, failure or timeout + * @param callback_arg argument to pass to the callback function + * @return @return a err_t return code. + */ +static err_t +dns_enqueue(const char *name, dns_found_callback found, void *callback_arg) +{ + u8_t i; + u8_t lseq, lseqi; + struct dns_table_entry *pEntry = NULL; + + /* search an unused entry, or the oldest one */ + lseq = lseqi = 0; + for (i = 0; i < DNS_TABLE_SIZE; ++i) { + pEntry = &dns_table[i]; + /* is it an unused entry ? */ + if (pEntry->state == DNS_STATE_UNUSED) + break; + + /* check if this is the oldest completed entry */ + if (pEntry->state == DNS_STATE_DONE) { + if ((dns_seqno - pEntry->seqno) > lseq) { + lseq = dns_seqno - pEntry->seqno; + lseqi = i; + } + } + } + + /* if we don't have found an unused entry, use the oldest completed one */ + if (i == DNS_TABLE_SIZE) { + if ((lseqi >= DNS_TABLE_SIZE) || (dns_table[lseqi].state != DNS_STATE_DONE)) { + /* no entry can't be used now, table is full */ + LWIP_DEBUGF(DNS_DEBUG, ("dns_enqueue: \"%s\": DNS entries table is full\n", name)); + return ERR_MEM; + } else { + /* use the oldest completed one */ + i = lseqi; + pEntry = &dns_table[i]; + } + } + + /* use this entry */ + LWIP_DEBUGF(DNS_DEBUG, ("dns_enqueue: \"%s\": use DNS entry %"U16_F"\n", name, (u16_t)(i))); + + /* fill the entry */ + pEntry->state = DNS_STATE_NEW; + pEntry->seqno = dns_seqno++; + pEntry->found = found; + pEntry->arg = callback_arg; + strcpy(pEntry->name, name); + + /* force to send query without waiting timer */ + dns_check_entry(i); + + /* dns query is enqueued */ + return ERR_INPROGRESS; +} + +/** + * Resolve a hostname (string) into an IP address. + * NON-BLOCKING callback version for use with raw API!!! + * + * Returns immediately with one of err_t return codes: + * - ERR_OK if hostname is a valid IP address string or the host + * name is already in the local names table. + * - ERR_INPROGRESS enqueue a request to be sent to the DNS server + * for resolution if no errors are present. + * + * @param hostname the hostname that is to be queried + * @param addr pointer to a struct ip_addr where to store the address if it is already + * cached in the dns_table (only valid if ERR_OK is returned!) + * @param found a callback function to be called on success, failure or timeout (only if + * ERR_INPROGRESS is returned!) + * @param callback_arg argument to pass to the callback function + * @return a err_t return code. + */ +err_t +dns_gethostbyname(const char *hostname, struct ip_addr *addr, dns_found_callback found, + void *callback_arg) +{ + /* not initialized or no valid server yet, or invalid addr pointer + * or invalid hostname or invalid hostname length */ + if ((dns_pcb == NULL) || (addr == NULL) || + (!hostname) || (!hostname[0]) || + (strlen(hostname) >= DNS_MAX_NAME_LENGTH)) { + return ERR_VAL; + } + +#if LWIP_HAVE_LOOPIF + if (strcmp(hostname,"localhost")==0) { + addr->addr = htonl(INADDR_LOOPBACK); + return ERR_OK; + } +#endif /* LWIP_HAVE_LOOPIF */ + + /* host name already in octet notation? set ip addr and return ERR_OK + * already have this address cached? */ + if (((addr->addr = inet_addr(hostname)) != INADDR_NONE) || + ((addr->addr = dns_lookup(hostname)) != INADDR_NONE)) { + return ERR_OK; + } + + /* queue query with specified callback */ + return dns_enqueue(hostname, found, callback_arg); +} + +#endif /* LWIP_DNS */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/init.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/init.c new file mode 100644 index 0000000..b799527 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/init.c @@ -0,0 +1,276 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Modules initialization + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#include "lwip/init.h" +#include "lwip/stats.h" +#include "lwip/sys.h" +#include "lwip/mem.h" +#include "lwip/memp.h" +#include "lwip/pbuf.h" +#include "lwip/netif.h" +#include "lwip/sockets.h" +#include "lwip/ip.h" +#include "lwip/raw.h" +#include "lwip/udp.h" +#include "lwip/tcp.h" +#include "lwip/snmp_msg.h" +#include "lwip/autoip.h" +#include "lwip/igmp.h" +#include "lwip/dns.h" +#include "netif/etharp.h" + +/* Compile-time sanity checks for configuration errors. + * These can be done independently of LWIP_DEBUG, without penalty. + */ +#ifndef BYTE_ORDER + #error "BYTE_ORDER is not defined, you have to define it in your cc.h" +#endif +#if (!IP_SOF_BROADCAST && IP_SOF_BROADCAST_RECV) + #error "If you want to use broadcast filter per pcb on recv operations, you have to define IP_SOF_BROADCAST=1 in your lwipopts.h" +#endif +#if (!LWIP_ARP && ARP_QUEUEING) + #error "If you want to use ARP Queueing, you have to define LWIP_ARP=1 in your lwipopts.h" +#endif +#if (!LWIP_UDP && LWIP_UDPLITE) + #error "If you want to use UDP Lite, you have to define LWIP_UDP=1 in your lwipopts.h" +#endif +#if (!LWIP_UDP && LWIP_SNMP) + #error "If you want to use SNMP, you have to define LWIP_UDP=1 in your lwipopts.h" +#endif +#if (!LWIP_UDP && LWIP_DHCP) + #error "If you want to use DHCP, you have to define LWIP_UDP=1 in your lwipopts.h" +#endif +#if (!LWIP_UDP && LWIP_IGMP) + #error "If you want to use IGMP, you have to define LWIP_UDP=1 in your lwipopts.h" +#endif +#if (!LWIP_UDP && LWIP_DNS) + #error "If you want to use DNS, you have to define LWIP_UDP=1 in your lwipopts.h" +#endif +#if (LWIP_ARP && (ARP_TABLE_SIZE > 0x7f)) + #error "If you want to use ARP, ARP_TABLE_SIZE must fit in an s8_t, so, you have to reduce it in your lwipopts.h" +#endif +#if (LWIP_ARP && ARP_QUEUEING && (MEMP_NUM_ARP_QUEUE<=0)) + #error "If you want to use ARP Queueing, you have to define MEMP_NUM_ARP_QUEUE>=1 in your lwipopts.h" +#endif +#if (LWIP_RAW && (MEMP_NUM_RAW_PCB<=0)) + #error "If you want to use RAW, you have to define MEMP_NUM_RAW_PCB>=1 in your lwipopts.h" +#endif +#if (LWIP_UDP && (MEMP_NUM_UDP_PCB<=0)) + #error "If you want to use UDP, you have to define MEMP_NUM_UDP_PCB>=1 in your lwipopts.h" +#endif +#if (LWIP_TCP && (MEMP_NUM_TCP_PCB<=0)) + #error "If you want to use TCP, you have to define MEMP_NUM_TCP_PCB>=1 in your lwipopts.h" +#endif +#if (LWIP_TCP && (TCP_WND > 0xffff)) + #error "If you want to use TCP, TCP_WND must fit in an u16_t, so, you have to reduce it in your lwipopts.h" +#endif +#if (LWIP_TCP && (TCP_SND_QUEUELEN > 0xffff)) + #error "If you want to use TCP, TCP_SND_QUEUELEN must fit in an u16_t, so, you have to reduce it in your lwipopts.h" +#endif +#if (LWIP_TCP && ((TCP_MAXRTX > 12) || (TCP_SYNMAXRTX > 12))) + #error "If you want to use TCP, TCP_MAXRTX and TCP_SYNMAXRTX must less or equal to 12 (due to tcp_backoff table), so, you have to reduce them in your lwipopts.h" +#endif +#if (LWIP_TCP && TCP_LISTEN_BACKLOG && (TCP_DEFAULT_LISTEN_BACKLOG < 0) || (TCP_DEFAULT_LISTEN_BACKLOG > 0xff)) + #error "If you want to use TCP backlog, TCP_DEFAULT_LISTEN_BACKLOG must fit into an u8_t" +#endif +#if (LWIP_IGMP && (MEMP_NUM_IGMP_GROUP<=1)) + #error "If you want to use IGMP, you have to define MEMP_NUM_IGMP_GROUP>1 in your lwipopts.h" +#endif +#if (PPP_SUPPORT && (NO_SYS==1)) + #error "If you want to use PPP, you have to define NO_SYS=0 in your lwipopts.h" +#endif +#if (LWIP_NETIF_API && (NO_SYS==1)) + #error "If you want to use NETIF API, you have to define NO_SYS=0 in your lwipopts.h" +#endif +#if ((LWIP_SOCKET || LWIP_NETCONN) && (NO_SYS==1)) + #error "If you want to use Sequential API, you have to define NO_SYS=0 in your lwipopts.h" +#endif +#if ((LWIP_NETCONN || LWIP_SOCKET) && (MEMP_NUM_TCPIP_MSG_API<=0)) + #error "If you want to use Sequential API, you have to define MEMP_NUM_TCPIP_MSG_API>=1 in your lwipopts.h" +#endif +#if (!LWIP_NETCONN && LWIP_SOCKET) + #error "If you want to use Socket API, you have to define LWIP_NETCONN=1 in your lwipopts.h" +#endif +#if (((!LWIP_DHCP) || (!LWIP_AUTOIP)) && LWIP_DHCP_AUTOIP_COOP) + #error "If you want to use DHCP/AUTOIP cooperation mode, you have to define LWIP_DHCP=1 and LWIP_AUTOIP=1 in your lwipopts.h" +#endif +#if (((!LWIP_DHCP) || (!LWIP_ARP)) && DHCP_DOES_ARP_CHECK) + #error "If you want to use DHCP ARP checking, you have to define LWIP_DHCP=1 and LWIP_ARP=1 in your lwipopts.h" +#endif +#if (!LWIP_ARP && LWIP_AUTOIP) + #error "If you want to use AUTOIP, you have to define LWIP_ARP=1 in your lwipopts.h" +#endif +#if (LWIP_SNMP && (SNMP_CONCURRENT_REQUESTS<=0)) + #error "If you want to use SNMP, you have to define SNMP_CONCURRENT_REQUESTS>=1 in your lwipopts.h" +#endif +#if (LWIP_SNMP && (SNMP_TRAP_DESTINATIONS<=0)) + #error "If you want to use SNMP, you have to define SNMP_TRAP_DESTINATIONS>=1 in your lwipopts.h" +#endif +#if (LWIP_TCP && ((LWIP_EVENT_API && LWIP_CALLBACK_API) || (!LWIP_EVENT_API && !LWIP_CALLBACK_API))) + #error "One and exactly one of LWIP_EVENT_API and LWIP_CALLBACK_API has to be enabled in your lwipopts.h" +#endif +/* There must be sufficient timeouts, taking into account requirements of the subsystems. */ +#if ((NO_SYS==0) && (MEMP_NUM_SYS_TIMEOUT < (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT))) + #error "MEMP_NUM_SYS_TIMEOUT is too low to accomodate all required timeouts" +#endif +#if (IP_REASSEMBLY && (MEMP_NUM_REASSDATA > IP_REASS_MAX_PBUFS)) + #error "MEMP_NUM_REASSDATA > IP_REASS_MAX_PBUFS doesn't make sense since each struct ip_reassdata must hold 2 pbufs at least!" +#endif +#if (MEM_LIBC_MALLOC && MEM_USE_POOLS) + #error "MEM_LIBC_MALLOC and MEM_USE_POOLS may not both be simultaneously enabled in your lwipopts.h" +#endif +#if (MEM_USE_POOLS && !MEMP_USE_CUSTOM_POOLS) + #error "MEM_USE_POOLS requires custom pools (MEMP_USE_CUSTOM_POOLS) to be enabled in your lwipopts.h" +#endif +#if (PBUF_POOL_BUFSIZE <= MEM_ALIGNMENT) + #error "PBUF_POOL_BUFSIZE must be greater than MEM_ALIGNMENT or the offset may take the full first pbuf" +#endif +#if (TCP_QUEUE_OOSEQ && !LWIP_TCP) + #error "TCP_QUEUE_OOSEQ requires LWIP_TCP" +#endif +#if (DNS_LOCAL_HOSTLIST && !DNS_LOCAL_HOSTLIST_IS_DYNAMIC && !(defined(DNS_LOCAL_HOSTLIST_INIT))) + #error "you have to define define DNS_LOCAL_HOSTLIST_INIT {{'host1', 0x123}, {'host2', 0x234}} to initialize DNS_LOCAL_HOSTLIST" +#endif +#if PPP_SUPPORT && !PPPOS_SUPPORT & !PPPOE_SUPPORT + #error "PPP_SUPPORT needs either PPPOS_SUPPORT or PPPOE_SUPPORT turned on" +#endif + + +/* Compile-time checks for deprecated options. + */ +#ifdef MEMP_NUM_TCPIP_MSG + #error "MEMP_NUM_TCPIP_MSG option is deprecated. Remove it from your lwipopts.h." +#endif +#ifdef MEMP_NUM_API_MSG + #error "MEMP_NUM_API_MSG option is deprecated. Remove it from your lwipopts.h." +#endif +#ifdef TCP_REXMIT_DEBUG + #error "TCP_REXMIT_DEBUG option is deprecated. Remove it from your lwipopts.h." +#endif +#ifdef RAW_STATS + #error "RAW_STATS option is deprecated. Remove it from your lwipopts.h." +#endif +#ifdef ETHARP_QUEUE_FIRST + #error "ETHARP_QUEUE_FIRST option is deprecated. Remove it from your lwipopts.h." +#endif +#ifdef ETHARP_ALWAYS_INSERT + #error "ETHARP_ALWAYS_INSERT option is deprecated. Remove it from your lwipopts.h." +#endif +#if SO_REUSE +/* I removed the lot since this was an ugly hack. It broke the raw-API. + It also came with many ugly goto's, Christiaan Simons. */ + #error "SO_REUSE currently unavailable, this was a hack" +#endif + +#ifdef LWIP_DEBUG +static void +lwip_sanity_check(void) +{ + /* Warnings */ +#if LWIP_NETCONN + if (MEMP_NUM_NETCONN > (MEMP_NUM_TCP_PCB+MEMP_NUM_TCP_PCB_LISTEN+MEMP_NUM_UDP_PCB+MEMP_NUM_RAW_PCB)) + LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: MEMP_NUM_NETCONN should be less than the sum of MEMP_NUM_{TCP,RAW,UDP}_PCB+MEMP_NUM_TCP_PCB_LISTEN\n")); +#endif /* LWIP_NETCONN */ +#if LWIP_TCP + if (MEMP_NUM_TCP_SEG < TCP_SND_QUEUELEN) + LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: MEMP_NUM_TCP_SEG should be at least as big as TCP_SND_QUEUELEN\n")); + if (TCP_SND_BUF < 2 * TCP_MSS) + LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: TCP_SND_BUF must be at least as much as (2 * TCP_MSS) for things to work smoothly\n")); + if (TCP_SND_QUEUELEN < (2 * (TCP_SND_BUF/TCP_MSS))) + LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: TCP_SND_QUEUELEN must be at least as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work\n")); + if (TCP_SNDLOWAT > TCP_SND_BUF) + LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: TCP_SNDLOWAT must be less than or equal to TCP_SND_BUF.\n")); + if (TCP_WND > (PBUF_POOL_SIZE*PBUF_POOL_BUFSIZE)) + LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: TCP_WND is larger than space provided by PBUF_POOL_SIZE*PBUF_POOL_BUFSIZE\n")); + if (TCP_WND < TCP_MSS) + LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: TCP_WND is smaller than MSS\n")); +#endif /* LWIP_TCP */ +} +#else /* LWIP_DEBUG */ +#define lwip_sanity_check() +#endif /* LWIP_DEBUG */ + +/** + * Perform Sanity check of user-configurable values, and initialize all modules. + */ +void +lwip_init(void) +{ + /* Sanity check user-configurable values */ + lwip_sanity_check(); + + /* Modules initialization */ + stats_init(); + sys_init(); + mem_init(); + memp_init(); + pbuf_init(); + netif_init(); +#if LWIP_SOCKET + lwip_socket_init(); +#endif /* LWIP_SOCKET */ + ip_init(); +#if LWIP_ARP + etharp_init(); +#endif /* LWIP_ARP */ +#if LWIP_RAW + raw_init(); +#endif /* LWIP_RAW */ +#if LWIP_UDP + udp_init(); +#endif /* LWIP_UDP */ +#if LWIP_TCP + tcp_init(); +#endif /* LWIP_TCP */ +#if LWIP_SNMP + snmp_init(); +#endif /* LWIP_SNMP */ +#if LWIP_AUTOIP + autoip_init(); +#endif /* LWIP_AUTOIP */ +#if LWIP_IGMP + igmp_init(); +#endif /* LWIP_IGMP */ +#if LWIP_DNS + dns_init(); +#endif /* LWIP_DNS */ +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/autoip.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/autoip.c new file mode 100644 index 0000000..dde6b6d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/autoip.c @@ -0,0 +1,499 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * AutoIP Automatic LinkLocal IP Configuration + * + */ + +/* + * + * Copyright (c) 2007 Dominik Spies <kontakt@dspies.de> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * Author: Dominik Spies <kontakt@dspies.de> + * + * This is a AutoIP implementation for the lwIP TCP/IP stack. It aims to conform + * with RFC 3927. + * + * + * Please coordinate changes and requests with Dominik Spies + * <kontakt@dspies.de> + */ + +/******************************************************************************* + * USAGE: + * + * define LWIP_AUTOIP 1 in your lwipopts.h + * + * If you don't use tcpip.c (so, don't call, you don't call tcpip_init): + * - First, call autoip_init(). + * - call autoip_tmr() all AUTOIP_TMR_INTERVAL msces, + * that should be defined in autoip.h. + * I recommend a value of 100. The value must divide 1000 with a remainder almost 0. + * Possible values are 1000, 500, 333, 250, 200, 166, 142, 125, 111, 100 .... + * + * Without DHCP: + * - Call autoip_start() after netif_add(). + * + * With DHCP: + * - define LWIP_DHCP_AUTOIP_COOP 1 in your lwipopts.h. + * - Configure your DHCP Client. + * + */ + +#include "lwip/opt.h" + +#if LWIP_AUTOIP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/mem.h" +#include "lwip/udp.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" +#include "lwip/autoip.h" +#include "netif/etharp.h" + +#include <stdlib.h> +#include <string.h> + +/* 169.254.0.0 */ +#define AUTOIP_NET 0xA9FE0000 +/* 169.254.1.0 */ +#define AUTOIP_RANGE_START (AUTOIP_NET | 0x0100) +/* 169.254.254.255 */ +#define AUTOIP_RANGE_END (AUTOIP_NET | 0xFEFF) + + +/** Pseudo random macro based on netif informations. + * You could use "rand()" from the C Library if you define LWIP_AUTOIP_RAND in lwipopts.h */ +#ifndef LWIP_AUTOIP_RAND +#define LWIP_AUTOIP_RAND(netif) ( (((u32_t)((netif->hwaddr[5]) & 0xff) << 24) | \ + ((u32_t)((netif->hwaddr[3]) & 0xff) << 16) | \ + ((u32_t)((netif->hwaddr[2]) & 0xff) << 8) | \ + ((u32_t)((netif->hwaddr[4]) & 0xff))) + \ + (netif->autoip?netif->autoip->tried_llipaddr:0)) +#endif /* LWIP_AUTOIP_RAND */ + +/** + * Macro that generates the initial IP address to be tried by AUTOIP. + * If you want to override this, define it to something else in lwipopts.h. + */ +#ifndef LWIP_AUTOIP_CREATE_SEED_ADDR +#define LWIP_AUTOIP_CREATE_SEED_ADDR(netif) \ + htonl(AUTOIP_RANGE_START + ((u32_t)(((u8_t)(netif->hwaddr[4])) | \ + ((u32_t)((u8_t)(netif->hwaddr[5]))) << 8))) +#endif /* LWIP_AUTOIP_CREATE_SEED_ADDR */ + +/* static functions */ +static void autoip_handle_arp_conflict(struct netif *netif); + +/* creates a pseudo random LL IP-Address for a network interface */ +static void autoip_create_addr(struct netif *netif, struct ip_addr *ipaddr); + +/* sends an ARP probe */ +static err_t autoip_arp_probe(struct netif *netif); + +/* sends an ARP announce */ +static err_t autoip_arp_announce(struct netif *netif); + +/* configure interface for use with current LL IP-Address */ +static err_t autoip_bind(struct netif *netif); + +/* start sending probes for llipaddr */ +static void autoip_start_probing(struct netif *netif); + +/** + * Initialize this module + */ +void +autoip_init(void) +{ + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, ("autoip_init()\n")); +} + +/** + * Handle a IP address conflict after an ARP conflict detection + */ +static void +autoip_handle_arp_conflict(struct netif *netif) +{ + /* Somehow detect if we are defending or retreating */ + unsigned char defend = 1; /* tbd */ + + if(defend) { + if(netif->autoip->lastconflict > 0) { + /* retreat, there was a conflicting ARP in the last + * DEFEND_INTERVAL seconds + */ + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, + ("autoip_handle_arp_conflict(): we are defending, but in DEFEND_INTERVAL, retreating\n")); + + /* TODO: close all TCP sessions */ + autoip_start(netif); + } else { + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, + ("autoip_handle_arp_conflict(): we are defend, send ARP Announce\n")); + autoip_arp_announce(netif); + netif->autoip->lastconflict = DEFEND_INTERVAL * AUTOIP_TICKS_PER_SECOND; + } + } else { + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, + ("autoip_handle_arp_conflict(): we do not defend, retreating\n")); + /* TODO: close all TCP sessions */ + autoip_start(netif); + } +} + +/** + * Create an IP-Address out of range 169.254.1.0 to 169.254.254.255 + * + * @param netif network interface on which create the IP-Address + * @param ipaddr ip address to initialize + */ +static void +autoip_create_addr(struct netif *netif, struct ip_addr *ipaddr) +{ + /* Here we create an IP-Address out of range 169.254.1.0 to 169.254.254.255 + * compliant to RFC 3927 Section 2.1 + * We have 254 * 256 possibilities */ + + u32_t addr = ntohl(LWIP_AUTOIP_CREATE_SEED_ADDR(netif)); + addr += netif->autoip->tried_llipaddr; + addr = AUTOIP_NET | (addr & 0xffff); + /* Now, 169.254.0.0 <= addr <= 169.254.255.255 */ + + if (addr < AUTOIP_RANGE_START) { + addr += AUTOIP_RANGE_END - AUTOIP_RANGE_START + 1; + } + if (addr > AUTOIP_RANGE_END) { + addr -= AUTOIP_RANGE_END - AUTOIP_RANGE_START + 1; + } + LWIP_ASSERT("AUTOIP address not in range", (addr >= AUTOIP_RANGE_START) && + (addr <= AUTOIP_RANGE_END)); + ipaddr->addr = htonl(addr); + + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, + ("autoip_create_addr(): tried_llipaddr=%"U16_F", 0x%08"X32_F"\n", + (u16_t)(netif->autoip->tried_llipaddr), (u32_t)(ipaddr->addr))); +} + +/** + * Sends an ARP probe from a network interface + * + * @param netif network interface used to send the probe + */ +static err_t +autoip_arp_probe(struct netif *netif) +{ + return etharp_raw(netif, (struct eth_addr *)netif->hwaddr, &ethbroadcast, + (struct eth_addr *)netif->hwaddr, IP_ADDR_ANY, &ethzero, + &netif->autoip->llipaddr, ARP_REQUEST); +} + +/** + * Sends an ARP announce from a network interface + * + * @param netif network interface used to send the announce + */ +static err_t +autoip_arp_announce(struct netif *netif) +{ + return etharp_raw(netif, (struct eth_addr *)netif->hwaddr, &ethbroadcast, + (struct eth_addr *)netif->hwaddr, &netif->autoip->llipaddr, &ethzero, + &netif->autoip->llipaddr, ARP_REQUEST); +} + +/** + * Configure interface for use with current LL IP-Address + * + * @param netif network interface to configure with current LL IP-Address + */ +static err_t +autoip_bind(struct netif *netif) +{ + struct autoip *autoip = netif->autoip; + struct ip_addr sn_mask, gw_addr; + + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, + ("autoip_bind(netif=%p) %c%c%"U16_F" 0x%08"X32_F"\n", + (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num, autoip->llipaddr.addr)); + + IP4_ADDR(&sn_mask, 255, 255, 0, 0); + IP4_ADDR(&gw_addr, 0, 0, 0, 0); + + netif_set_ipaddr(netif, &autoip->llipaddr); + netif_set_netmask(netif, &sn_mask); + netif_set_gw(netif, &gw_addr); + + /* bring the interface up */ + netif_set_up(netif); + + return ERR_OK; +} + +/** + * Start AutoIP client + * + * @param netif network interface on which start the AutoIP client + */ +err_t +autoip_start(struct netif *netif) +{ + struct autoip *autoip = netif->autoip; + err_t result = ERR_OK; + + if(netif_is_up(netif)) { + netif_set_down(netif); + } + + /* Set IP-Address, Netmask and Gateway to 0 to make sure that + * ARP Packets are formed correctly + */ + netif->ip_addr.addr = 0; + netif->netmask.addr = 0; + netif->gw.addr = 0; + + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, + ("autoip_start(netif=%p) %c%c%"U16_F"\n", (void*)netif, netif->name[0], + netif->name[1], (u16_t)netif->num)); + if(autoip == NULL) { + /* no AutoIP client attached yet? */ + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, + ("autoip_start(): starting new AUTOIP client\n")); + autoip = mem_malloc(sizeof(struct autoip)); + if(autoip == NULL) { + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, + ("autoip_start(): could not allocate autoip\n")); + return ERR_MEM; + } + memset( autoip, 0, sizeof(struct autoip)); + /* store this AutoIP client in the netif */ + netif->autoip = autoip; + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, ("autoip_start(): allocated autoip")); + } else { + autoip->state = AUTOIP_STATE_OFF; + autoip->ttw = 0; + autoip->sent_num = 0; + memset(&autoip->llipaddr, 0, sizeof(struct ip_addr)); + autoip->lastconflict = 0; + } + + autoip_create_addr(netif, &(autoip->llipaddr)); + autoip->tried_llipaddr++; + autoip_start_probing(netif); + + return result; +} + +static void +autoip_start_probing(struct netif *netif) +{ + struct autoip *autoip = netif->autoip; + + autoip->state = AUTOIP_STATE_PROBING; + autoip->sent_num = 0; + + /* time to wait to first probe, this is randomly + * choosen out of 0 to PROBE_WAIT seconds. + * compliant to RFC 3927 Section 2.2.1 + */ + autoip->ttw = (u16_t)(LWIP_AUTOIP_RAND(netif) % (PROBE_WAIT * AUTOIP_TICKS_PER_SECOND)); + + /* + * if we tried more then MAX_CONFLICTS we must limit our rate for + * accquiring and probing address + * compliant to RFC 3927 Section 2.2.1 + */ + if(autoip->tried_llipaddr > MAX_CONFLICTS) { + autoip->ttw = RATE_LIMIT_INTERVAL * AUTOIP_TICKS_PER_SECOND; + } +} + +/** + * Handle a possible change in the network configuration. + * + * If there is an AutoIP address configured, take the interface down + * and begin probing with the same address. + */ +void +autoip_network_changed(struct netif *netif) +{ + if (netif->autoip && netif->autoip->state != AUTOIP_STATE_OFF) { + netif_set_down(netif); + autoip_start_probing(netif); + } +} + +/** + * Stop AutoIP client + * + * @param netif network interface on which stop the AutoIP client + */ +err_t +autoip_stop(struct netif *netif) +{ + netif->autoip->state = AUTOIP_STATE_OFF; + netif_set_down(netif); + return ERR_OK; +} + +/** + * Has to be called in loop every AUTOIP_TMR_INTERVAL milliseconds + */ +void +autoip_tmr() +{ + struct netif *netif = netif_list; + /* loop through netif's */ + while (netif != NULL) { + /* only act on AutoIP configured interfaces */ + if (netif->autoip != NULL) { + if(netif->autoip->lastconflict > 0) { + netif->autoip->lastconflict--; + } + + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, + ("autoip_tmr() AutoIP-State: %"U16_F", ttw=%"U16_F"\n", + (u16_t)(netif->autoip->state), netif->autoip->ttw)); + + switch(netif->autoip->state) { + case AUTOIP_STATE_PROBING: + if(netif->autoip->ttw > 0) { + netif->autoip->ttw--; + } else { + if(netif->autoip->sent_num >= PROBE_NUM) { + netif->autoip->state = AUTOIP_STATE_ANNOUNCING; + netif->autoip->sent_num = 0; + netif->autoip->ttw = ANNOUNCE_WAIT * AUTOIP_TICKS_PER_SECOND; + } else { + autoip_arp_probe(netif); + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, + ("autoip_tmr() PROBING Sent Probe\n")); + netif->autoip->sent_num++; + /* calculate time to wait to next probe */ + netif->autoip->ttw = (u16_t)((LWIP_AUTOIP_RAND(netif) % + ((PROBE_MAX - PROBE_MIN) * AUTOIP_TICKS_PER_SECOND) ) + + PROBE_MIN * AUTOIP_TICKS_PER_SECOND); + } + } + break; + + case AUTOIP_STATE_ANNOUNCING: + if(netif->autoip->ttw > 0) { + netif->autoip->ttw--; + } else { + if(netif->autoip->sent_num == 0) { + /* We are here the first time, so we waited ANNOUNCE_WAIT seconds + * Now we can bind to an IP address and use it. + * + * autoip_bind calls netif_set_up. This triggers a gratuitous ARP + * which counts as an announcement. + */ + autoip_bind(netif); + } else { + autoip_arp_announce(netif); + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, + ("autoip_tmr() ANNOUNCING Sent Announce\n")); + } + netif->autoip->ttw = ANNOUNCE_INTERVAL * AUTOIP_TICKS_PER_SECOND; + netif->autoip->sent_num++; + + if(netif->autoip->sent_num >= ANNOUNCE_NUM) { + netif->autoip->state = AUTOIP_STATE_BOUND; + netif->autoip->sent_num = 0; + netif->autoip->ttw = 0; + } + } + break; + } + } + /* proceed to next network interface */ + netif = netif->next; + } +} + +/** + * Handles every incoming ARP Packet, called by etharp_arp_input. + * + * @param netif network interface to use for autoip processing + * @param hdr Incoming ARP packet + */ +void +autoip_arp_reply(struct netif *netif, struct etharp_hdr *hdr) +{ + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, ("autoip_arp_reply()\n")); + if ((netif->autoip != NULL) && (netif->autoip->state != AUTOIP_STATE_OFF)) { + /* when ip.src == llipaddr && hw.src != netif->hwaddr + * + * when probing ip.dst == llipaddr && hw.src != netif->hwaddr + * we have a conflict and must solve it + */ + struct ip_addr sipaddr, dipaddr; + struct eth_addr netifaddr; + netifaddr.addr[0] = netif->hwaddr[0]; + netifaddr.addr[1] = netif->hwaddr[1]; + netifaddr.addr[2] = netif->hwaddr[2]; + netifaddr.addr[3] = netif->hwaddr[3]; + netifaddr.addr[4] = netif->hwaddr[4]; + netifaddr.addr[5] = netif->hwaddr[5]; + + /* Copy struct ip_addr2 to aligned ip_addr, to support compilers without + * structure packing (not using structure copy which breaks strict-aliasing rules). + */ + SMEMCPY(&sipaddr, &hdr->sipaddr, sizeof(sipaddr)); + SMEMCPY(&dipaddr, &hdr->dipaddr, sizeof(dipaddr)); + + if ((netif->autoip->state == AUTOIP_STATE_PROBING) || + ((netif->autoip->state == AUTOIP_STATE_ANNOUNCING) && + (netif->autoip->sent_num == 0))) { + /* RFC 3927 Section 2.2.1: + * from beginning to after ANNOUNCE_WAIT + * seconds we have a conflict if + * ip.src == llipaddr OR + * ip.dst == llipaddr && hw.src != own hwaddr + */ + if ((ip_addr_cmp(&sipaddr, &netif->autoip->llipaddr)) || + (ip_addr_cmp(&dipaddr, &netif->autoip->llipaddr) && + !eth_addr_cmp(&netifaddr, &hdr->shwaddr))) { + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE | LWIP_DBG_LEVEL_WARNING, + ("autoip_arp_reply(): Probe Conflict detected\n")); + autoip_start(netif); + } + } else { + /* RFC 3927 Section 2.5: + * in any state we have a conflict if + * ip.src == llipaddr && hw.src != own hwaddr + */ + if (ip_addr_cmp(&sipaddr, &netif->autoip->llipaddr) && + !eth_addr_cmp(&netifaddr, &hdr->shwaddr)) { + LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE | LWIP_DBG_LEVEL_WARNING, + ("autoip_arp_reply(): Conflicting ARP-Packet detected\n")); + autoip_handle_arp_conflict(netif); + } + } + } +} + +#endif /* LWIP_AUTOIP */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/icmp.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/icmp.c new file mode 100644 index 0000000..3ee17ae --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/icmp.c @@ -0,0 +1,333 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * ICMP - Internet Control Message Protocol + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +/* Some ICMP messages should be passed to the transport protocols. This + is not implemented. */ + +#include "lwip/opt.h" + +#if LWIP_ICMP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/icmp.h" +#include "lwip/inet.h" +#include "lwip/inet_chksum.h" +#include "lwip/ip.h" +#include "lwip/def.h" +#include "lwip/stats.h" +#include "lwip/snmp.h" + +#include <string.h> + +/** Small optimization: set to 0 if incoming PBUF_POOL pbuf always can be + * used to modify and send a response packet (and to 1 if this is not the case, + * e.g. when link header is stripped of when receiving) */ +#ifndef LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN +#define LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN 1 +#endif /* LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN */ + +/* The amount of data from the original packet to return in a dest-unreachable */ +#define ICMP_DEST_UNREACH_DATASIZE 8 + +static void icmp_send_response(struct pbuf *p, u8_t type, u8_t code); + +/** + * Processes ICMP input packets, called from ip_input(). + * + * Currently only processes icmp echo requests and sends + * out the echo response. + * + * @param p the icmp echo request packet, p->payload pointing to the ip header + * @param inp the netif on which this packet was received + */ +void +icmp_input(struct pbuf *p, struct netif *inp) +{ + u8_t type; +#ifdef LWIP_DEBUG + u8_t code; +#endif /* LWIP_DEBUG */ + struct icmp_echo_hdr *iecho; + struct ip_hdr *iphdr; + struct ip_addr tmpaddr; + s16_t hlen; + + ICMP_STATS_INC(icmp.recv); + snmp_inc_icmpinmsgs(); + + + iphdr = p->payload; + hlen = IPH_HL(iphdr) * 4; + if (pbuf_header(p, -hlen) || (p->tot_len < sizeof(u16_t)*2)) { + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: short ICMP (%"U16_F" bytes) received\n", p->tot_len)); + goto lenerr; + } + + type = *((u8_t *)p->payload); +#ifdef LWIP_DEBUG + code = *(((u8_t *)p->payload)+1); +#endif /* LWIP_DEBUG */ + switch (type) { + case ICMP_ECHO: +#if !LWIP_MULTICAST_PING || !LWIP_BROADCAST_PING + { + int accepted = 1; +#if !LWIP_MULTICAST_PING + /* multicast destination address? */ + if (ip_addr_ismulticast(&iphdr->dest)) { + accepted = 0; + } +#endif /* LWIP_MULTICAST_PING */ +#if !LWIP_BROADCAST_PING + /* broadcast destination address? */ + if (ip_addr_isbroadcast(&iphdr->dest, inp)) { + accepted = 0; + } +#endif /* LWIP_BROADCAST_PING */ + /* broadcast or multicast destination address not acceptd? */ + if (!accepted) { + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: Not echoing to multicast or broadcast pings\n")); + ICMP_STATS_INC(icmp.err); + pbuf_free(p); + return; + } + } +#endif /* !LWIP_MULTICAST_PING || !LWIP_BROADCAST_PING */ + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: ping\n")); + if (p->tot_len < sizeof(struct icmp_echo_hdr)) { + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: bad ICMP echo received\n")); + goto lenerr; + } + if (inet_chksum_pbuf(p) != 0) { + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: checksum failed for received ICMP echo\n")); + pbuf_free(p); + ICMP_STATS_INC(icmp.chkerr); + snmp_inc_icmpinerrors(); + return; + } +#if LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN + if (pbuf_header(p, (PBUF_IP_HLEN + PBUF_LINK_HLEN))) { + /* p is not big enough to contain link headers + * allocate a new one and copy p into it + */ + struct pbuf *r; + /* switch p->payload to ip header */ + if (pbuf_header(p, hlen)) { + LWIP_ASSERT("icmp_input: moving p->payload to ip header failed\n", 0); + goto memerr; + } + /* allocate new packet buffer with space for link headers */ + r = pbuf_alloc(PBUF_LINK, p->tot_len, PBUF_RAM); + if (r == NULL) { + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: allocating new pbuf failed\n")); + goto memerr; + } + LWIP_ASSERT("check that first pbuf can hold struct the ICMP header", + (r->len >= hlen + sizeof(struct icmp_echo_hdr))); + /* copy the whole packet including ip header */ + if (pbuf_copy(r, p) != ERR_OK) { + LWIP_ASSERT("icmp_input: copying to new pbuf failed\n", 0); + goto memerr; + } + iphdr = r->payload; + /* switch r->payload back to icmp header */ + if (pbuf_header(r, -hlen)) { + LWIP_ASSERT("icmp_input: restoring original p->payload failed\n", 0); + goto memerr; + } + /* free the original p */ + pbuf_free(p); + /* we now have an identical copy of p that has room for link headers */ + p = r; + } else { + /* restore p->payload to point to icmp header */ + if (pbuf_header(p, -(s16_t)(PBUF_IP_HLEN + PBUF_LINK_HLEN))) { + LWIP_ASSERT("icmp_input: restoring original p->payload failed\n", 0); + goto memerr; + } + } +#endif /* LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN */ + /* At this point, all checks are OK. */ + /* We generate an answer by switching the dest and src ip addresses, + * setting the icmp type to ECHO_RESPONSE and updating the checksum. */ + iecho = p->payload; + tmpaddr.addr = iphdr->src.addr; + iphdr->src.addr = iphdr->dest.addr; + iphdr->dest.addr = tmpaddr.addr; + ICMPH_TYPE_SET(iecho, ICMP_ER); + /* adjust the checksum */ + if (iecho->chksum >= htons(0xffff - (ICMP_ECHO << 8))) { + iecho->chksum += htons(ICMP_ECHO << 8) + 1; + } else { + iecho->chksum += htons(ICMP_ECHO << 8); + } + + /* Set the correct TTL and recalculate the header checksum. */ + IPH_TTL_SET(iphdr, ICMP_TTL); + IPH_CHKSUM_SET(iphdr, 0); +#if CHECKSUM_GEN_IP + IPH_CHKSUM_SET(iphdr, inet_chksum(iphdr, IP_HLEN)); +#endif /* CHECKSUM_GEN_IP */ + + ICMP_STATS_INC(icmp.xmit); + /* increase number of messages attempted to send */ + snmp_inc_icmpoutmsgs(); + /* increase number of echo replies attempted to send */ + snmp_inc_icmpoutechoreps(); + + if(pbuf_header(p, hlen)) { + LWIP_ASSERT("Can't move over header in packet", 0); + } else { + err_t ret; + ret = ip_output_if(p, &(iphdr->src), IP_HDRINCL, + ICMP_TTL, 0, IP_PROTO_ICMP, inp); + if (ret != ERR_OK) { + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: ip_output_if returned an error: %c.\n", ret)); + } + } + break; + default: + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: ICMP type %"S16_F" code %"S16_F" not supported.\n", + (s16_t)type, (s16_t)code)); + ICMP_STATS_INC(icmp.proterr); + ICMP_STATS_INC(icmp.drop); + } + pbuf_free(p); + return; +lenerr: + pbuf_free(p); + ICMP_STATS_INC(icmp.lenerr); + snmp_inc_icmpinerrors(); + return; +#if LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN +memerr: + pbuf_free(p); + ICMP_STATS_INC(icmp.err); + snmp_inc_icmpinerrors(); + return; +#endif /* LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN */ +} + +/** + * Send an icmp 'destination unreachable' packet, called from ip_input() if + * the transport layer protocol is unknown and from udp_input() if the local + * port is not bound. + * + * @param p the input packet for which the 'unreachable' should be sent, + * p->payload pointing to the IP header + * @param t type of the 'unreachable' packet + */ +void +icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t) +{ + icmp_send_response(p, ICMP_DUR, t); +} + +#if IP_FORWARD || IP_REASSEMBLY +/** + * Send a 'time exceeded' packet, called from ip_forward() if TTL is 0. + * + * @param p the input packet for which the 'time exceeded' should be sent, + * p->payload pointing to the IP header + * @param t type of the 'time exceeded' packet + */ +void +icmp_time_exceeded(struct pbuf *p, enum icmp_te_type t) +{ + icmp_send_response(p, ICMP_TE, t); +} + +#endif /* IP_FORWARD || IP_REASSEMBLY */ + +/** + * Send an icmp packet in response to an incoming packet. + * + * @param p the input packet for which the 'unreachable' should be sent, + * p->payload pointing to the IP header + * @param type Type of the ICMP header + * @param code Code of the ICMP header + */ +static void +icmp_send_response(struct pbuf *p, u8_t type, u8_t code) +{ + struct pbuf *q; + struct ip_hdr *iphdr; + /* we can use the echo header here */ + struct icmp_echo_hdr *icmphdr; + + /* ICMP header + IP header + 8 bytes of data */ + q = pbuf_alloc(PBUF_IP, sizeof(struct icmp_echo_hdr) + IP_HLEN + ICMP_DEST_UNREACH_DATASIZE, + PBUF_RAM); + if (q == NULL) { + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_time_exceeded: failed to allocate pbuf for ICMP packet.\n")); + return; + } + LWIP_ASSERT("check that first pbuf can hold icmp message", + (q->len >= (sizeof(struct icmp_echo_hdr) + IP_HLEN + ICMP_DEST_UNREACH_DATASIZE))); + + iphdr = p->payload; + LWIP_DEBUGF(ICMP_DEBUG, ("icmp_time_exceeded from ")); + ip_addr_debug_print(ICMP_DEBUG, &(iphdr->src)); + LWIP_DEBUGF(ICMP_DEBUG, (" to ")); + ip_addr_debug_print(ICMP_DEBUG, &(iphdr->dest)); + LWIP_DEBUGF(ICMP_DEBUG, ("\n")); + + icmphdr = q->payload; + icmphdr->type = type; + icmphdr->code = code; + icmphdr->id = 0; + icmphdr->seqno = 0; + + /* copy fields from original packet */ + SMEMCPY((u8_t *)q->payload + sizeof(struct icmp_echo_hdr), (u8_t *)p->payload, + IP_HLEN + ICMP_DEST_UNREACH_DATASIZE); + + /* calculate checksum */ + icmphdr->chksum = 0; + icmphdr->chksum = inet_chksum(icmphdr, q->len); + ICMP_STATS_INC(icmp.xmit); + /* increase number of messages attempted to send */ + snmp_inc_icmpoutmsgs(); + /* increase number of destination unreachable messages attempted to send */ + snmp_inc_icmpouttimeexcds(); + ip_output(q, NULL, &(iphdr->src), ICMP_TTL, 0, IP_PROTO_ICMP); + pbuf_free(q); +} + +#endif /* LWIP_ICMP */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/igmp.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/igmp.c new file mode 100644 index 0000000..b302ef4 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/igmp.c @@ -0,0 +1,759 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * IGMP - Internet Group Management Protocol + * + */ + +/* + * Copyright (c) 2002 CITEL Technologies Ltd. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of CITEL Technologies Ltd nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY CITEL TECHNOLOGIES AND CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL CITEL TECHNOLOGIES OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is a contribution to the lwIP TCP/IP stack. + * The Swedish Institute of Computer Science and Adam Dunkels + * are specifically granted permission to redistribute this + * source code. +*/ + +/*------------------------------------------------------------- +Note 1) +Although the rfc requires V1 AND V2 capability +we will only support v2 since now V1 is very old (August 1989) +V1 can be added if required + +a debug print and statistic have been implemented to +show this up. +------------------------------------------------------------- +------------------------------------------------------------- +Note 2) +A query for a specific group address (as opposed to ALLHOSTS) +has now been implemented as I am unsure if it is required + +a debug print and statistic have been implemented to +show this up. +------------------------------------------------------------- +------------------------------------------------------------- +Note 3) +The router alert rfc 2113 is implemented in outgoing packets +but not checked rigorously incoming +------------------------------------------------------------- +Steve Reynolds +------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + * RFC 988 - Host extensions for IP multicasting - V0 + * RFC 1054 - Host extensions for IP multicasting - + * RFC 1112 - Host extensions for IP multicasting - V1 + * RFC 2236 - Internet Group Management Protocol, Version 2 - V2 <- this code is based on this RFC (it's the "de facto" standard) + * RFC 3376 - Internet Group Management Protocol, Version 3 - V3 + * RFC 4604 - Using Internet Group Management Protocol Version 3... - V3+ + * RFC 2113 - IP Router Alert Option - + *----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + * Includes + *----------------------------------------------------------------------------*/ + +#include "lwip/opt.h" + +#if LWIP_IGMP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/igmp.h" +#include "lwip/debug.h" +#include "lwip/def.h" +#include "lwip/mem.h" +#include "lwip/ip.h" +#include "lwip/inet.h" +#include "lwip/inet_chksum.h" +#include "lwip/netif.h" +#include "lwip/icmp.h" +#include "lwip/udp.h" +#include "lwip/tcp.h" +#include "lwip/stats.h" + +#include "string.h" + +/*----------------------------------------------------------------------------- + * Globales + *----------------------------------------------------------------------------*/ + +static struct igmp_group* igmp_group_list; +static struct ip_addr allsystems; +static struct ip_addr allrouters; + +/** + * Initialize the IGMP module + */ +void +igmp_init(void) +{ + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_init: initializing\n")); + + IP4_ADDR(&allsystems, 224, 0, 0, 1); + IP4_ADDR(&allrouters, 224, 0, 0, 2); +} + +#ifdef LWIP_DEBUG +/** + * Dump global IGMP groups list + */ +void +igmp_dump_group_list() +{ + struct igmp_group *group = igmp_group_list; + + while (group != NULL) { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_dump_group_list: [%"U32_F"] ", (u32_t)(group->group_state))); + ip_addr_debug_print(IGMP_DEBUG, &group->group_address); + LWIP_DEBUGF(IGMP_DEBUG, (" on if %p\n", group->interface)); + group = group->next; + } + LWIP_DEBUGF(IGMP_DEBUG, ("\n")); +} +#else +#define igmp_dump_group_list() +#endif /* LWIP_DEBUG */ + +/** + * Start IGMP processing on interface + * + * @param netif network interface on which start IGMP processing + */ +err_t +igmp_start(struct netif *netif) +{ + struct igmp_group* group; + + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_start: starting IGMP processing on if %p\n", netif)); + + group = igmp_lookup_group(netif, &allsystems); + + if (group != NULL) { + group->group_state = IGMP_GROUP_IDLE_MEMBER; + group->use++; + + /* Allow the igmp messages at the MAC level */ + if (netif->igmp_mac_filter != NULL) { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_start: igmp_mac_filter(ADD ")); + ip_addr_debug_print(IGMP_DEBUG, &allsystems); + LWIP_DEBUGF(IGMP_DEBUG, (") on if %p\n", netif)); + netif->igmp_mac_filter( netif, &allsystems, IGMP_ADD_MAC_FILTER); + } + + return ERR_OK; + } + + return ERR_MEM; +} + +/** + * Stop IGMP processing on interface + * + * @param netif network interface on which stop IGMP processing + */ +err_t +igmp_stop(struct netif *netif) +{ + struct igmp_group *group = igmp_group_list; + struct igmp_group *prev = NULL; + struct igmp_group *next; + + /* look for groups joined on this interface further down the list */ + while (group != NULL) { + next = group->next; + /* is it a group joined on this interface? */ + if (group->interface == netif) { + /* is it the first group of the list? */ + if (group == igmp_group_list) { + igmp_group_list = next; + } + /* is there a "previous" group defined? */ + if (prev != NULL) { + prev->next = next; + } + /* disable the group at the MAC level */ + if (netif->igmp_mac_filter != NULL) { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_stop: igmp_mac_filter(DEL ")); + ip_addr_debug_print(IGMP_DEBUG, &group->group_address); + LWIP_DEBUGF(IGMP_DEBUG, (") on if %p\n", netif)); + netif->igmp_mac_filter(netif, &(group->group_address), IGMP_DEL_MAC_FILTER); + } + /* free group */ + memp_free(MEMP_IGMP_GROUP, group); + } else { + /* change the "previous" */ + prev = group; + } + /* move to "next" */ + group = next; + } + return ERR_OK; +} + +/** + * Report IGMP memberships for this interface + * + * @param netif network interface on which report IGMP memberships + */ +void +igmp_report_groups( struct netif *netif) +{ + struct igmp_group *group = igmp_group_list; + + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_report_groups: sending IGMP reports on if %p\n", netif)); + + while (group != NULL) { + if (group->interface == netif) { + igmp_delaying_member( group, IGMP_JOIN_DELAYING_MEMBER_TMR); + } + group = group->next; + } +} + +/** + * Search for a group in the global igmp_group_list + * + * @param ifp the network interface for which to look + * @param addr the group ip address to search for + * @return a struct igmp_group* if the group has been found, + * NULL if the group wasn't found. + */ +struct igmp_group * +igmp_lookfor_group(struct netif *ifp, struct ip_addr *addr) +{ + struct igmp_group *group = igmp_group_list; + + while (group != NULL) { + if ((group->interface == ifp) && (ip_addr_cmp(&(group->group_address), addr))) { + return group; + } + group = group->next; + } + + /* to be clearer, we return NULL here instead of + * 'group' (which is also NULL at this point). + */ + return NULL; +} + +/** + * Search for a specific igmp group and create a new one if not found- + * + * @param ifp the network interface for which to look + * @param addr the group ip address to search + * @return a struct igmp_group*, + * NULL on memory error. + */ +struct igmp_group * +igmp_lookup_group(struct netif *ifp, struct ip_addr *addr) +{ + struct igmp_group *group = igmp_group_list; + + /* Search if the group already exists */ + group = igmp_lookfor_group(ifp, addr); + if (group != NULL) { + /* Group already exists. */ + return group; + } + + /* Group doesn't exist yet, create a new one */ + group = memp_malloc(MEMP_IGMP_GROUP); + if (group != NULL) { + group->interface = ifp; + ip_addr_set(&(group->group_address), addr); + group->timer = 0; /* Not running */ + group->group_state = IGMP_GROUP_NON_MEMBER; + group->last_reporter_flag = 0; + group->use = 0; + group->next = igmp_group_list; + + igmp_group_list = group; + } + + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_lookup_group: %sallocated a new group with address ", (group?"":"impossible to "))); + ip_addr_debug_print(IGMP_DEBUG, addr); + LWIP_DEBUGF(IGMP_DEBUG, (" on if %p\n", ifp)); + + return group; +} + +/** + * Remove a group in the global igmp_group_list + * + * @param group the group to remove from the global igmp_group_list + * @return ERR_OK if group was removed from the list, an err_t otherwise + */ +err_t +igmp_remove_group(struct igmp_group *group) +{ + err_t err = ERR_OK; + + /* Is it the first group? */ + if (igmp_group_list == group) { + igmp_group_list = group->next; + } else { + /* look for group further down the list */ + struct igmp_group *tmpGroup; + for (tmpGroup = igmp_group_list; tmpGroup != NULL; tmpGroup = tmpGroup->next) { + if (tmpGroup->next == group) { + tmpGroup->next = group->next; + break; + } + } + /* Group not found in the global igmp_group_list */ + if (tmpGroup == NULL) + err = ERR_ARG; + } + /* free group */ + memp_free(MEMP_IGMP_GROUP, group); + + return err; +} + +/** + * Called from ip_input() if a new IGMP packet is received. + * + * @param p received igmp packet, p->payload pointing to the ip header + * @param inp network interface on which the packet was received + * @param dest destination ip address of the igmp packet + */ +void +igmp_input(struct pbuf *p, struct netif *inp, struct ip_addr *dest) +{ + struct ip_hdr * iphdr; + struct igmp_msg* igmp; + struct igmp_group* group; + struct igmp_group* groupref; + + /* Note that the length CAN be greater than 8 but only 8 are used - All are included in the checksum */ + iphdr = p->payload; + if (pbuf_header(p, -(s16_t)(IPH_HL(iphdr) * 4)) || (p->len < IGMP_MINLEN)) { + pbuf_free(p); + IGMP_STATS_INC(igmp.lenerr); + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: length error\n")); + return; + } + + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: message from ")); + ip_addr_debug_print(IGMP_DEBUG, &(iphdr->src)); + LWIP_DEBUGF(IGMP_DEBUG, (" to address ")); + ip_addr_debug_print(IGMP_DEBUG, &(iphdr->dest)); + LWIP_DEBUGF(IGMP_DEBUG, (" on if %p\n", inp)); + + /* Now calculate and check the checksum */ + igmp = (struct igmp_msg *)p->payload; + if (inet_chksum(igmp, p->len)) { + pbuf_free(p); + IGMP_STATS_INC(igmp.chkerr); + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: checksum error\n")); + return; + } + + /* Packet is ok so find an existing group */ + group = igmp_lookfor_group(inp, dest); /* use the incoming IP address! */ + + /* If group can be found or create... */ + if (!group) { + pbuf_free(p); + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: IGMP frame not for us\n")); + return; + } + + /* NOW ACT ON THE INCOMING MESSAGE TYPE... */ + switch (igmp->igmp_msgtype) { + case IGMP_MEMB_QUERY: { + /* IGMP_MEMB_QUERY to the "all systems" address ? */ + if ((ip_addr_cmp(dest, &allsystems)) && (igmp->igmp_group_address.addr == 0)) { + /* THIS IS THE GENERAL QUERY */ + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: General IGMP_MEMB_QUERY on \"ALL SYSTEMS\" address (224.0.0.1) [igmp_maxresp=%i]\n", (int)(igmp->igmp_maxresp))); + + if (igmp->igmp_maxresp == 0) { + IGMP_STATS_INC(igmp.v1_rxed); + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: got an all hosts query with time== 0 - this is V1 and not implemented - treat as v2\n")); + igmp->igmp_maxresp = IGMP_V1_DELAYING_MEMBER_TMR; + } + + IGMP_STATS_INC(igmp.group_query_rxed); + groupref = igmp_group_list; + while (groupref) { + /* Do not send messages on the all systems group address! */ + if ((groupref->interface == inp) && (!(ip_addr_cmp(&(groupref->group_address), &allsystems)))) { + igmp_delaying_member( groupref, igmp->igmp_maxresp); + } + groupref = groupref->next; + } + } else { + /* IGMP_MEMB_QUERY to a specific group ? */ + if (group->group_address.addr != 0) { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: IGMP_MEMB_QUERY to a specific group ")); + ip_addr_debug_print(IGMP_DEBUG, &group->group_address); + if (ip_addr_cmp (dest, &allsystems)) { + LWIP_DEBUGF(IGMP_DEBUG, (" using \"ALL SYSTEMS\" address (224.0.0.1) [igmp_maxresp=%i]\n", (int)(igmp->igmp_maxresp))); + /* we first need to re-lookfor the group since we used dest last time */ + group = igmp_lookfor_group(inp, &igmp->igmp_group_address); + } else { + LWIP_DEBUGF(IGMP_DEBUG, (" with the group address as destination [igmp_maxresp=%i]\n", (int)(igmp->igmp_maxresp))); + } + + if (group != NULL) { + IGMP_STATS_INC(igmp.unicast_query); + igmp_delaying_member( group, igmp->igmp_maxresp); + } + } + } + break; + } + case IGMP_V2_MEMB_REPORT: { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: IGMP_V2_MEMB_REPORT\n")); + + IGMP_STATS_INC(igmp.report_rxed); + if (group->group_state == IGMP_GROUP_DELAYING_MEMBER) { + /* This is on a specific group we have already looked up */ + group->timer = 0; /* stopped */ + group->group_state = IGMP_GROUP_IDLE_MEMBER; + group->last_reporter_flag = 0; + } + break; + } + default: { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: unexpected msg %d in state %d on group %p on if %p\n", + igmp->igmp_msgtype, group->group_state, &group, group->interface)); + break; + } + } + + pbuf_free(p); + return; +} + +/** + * Join a group on one network interface. + * + * @param ifaddr ip address of the network interface which should join a new group + * @param groupaddr the ip address of the group which to join + * @return ERR_OK if group was joined on the netif(s), an err_t otherwise + */ +err_t +igmp_joingroup(struct ip_addr *ifaddr, struct ip_addr *groupaddr) +{ + err_t err = ERR_VAL; /* no matching interface */ + struct igmp_group *group; + struct netif *netif; + + /* make sure it is multicast address */ + LWIP_ERROR("igmp_joingroup: attempt to join non-multicast address", ip_addr_ismulticast(groupaddr), return ERR_VAL;); + LWIP_ERROR("igmp_joingroup: attempt to join allsystems address", (!ip_addr_cmp(groupaddr, &allsystems)), return ERR_VAL;); + + /* loop through netif's */ + netif = netif_list; + while (netif != NULL) { + /* Should we join this interface ? */ + if ((netif->flags & NETIF_FLAG_IGMP) && ((ip_addr_isany(ifaddr) || ip_addr_cmp(&(netif->ip_addr), ifaddr)))) { + /* find group or create a new one if not found */ + group = igmp_lookup_group(netif, groupaddr); + + if (group != NULL) { + /* This should create a new group, check the state to make sure */ + if (group->group_state != IGMP_GROUP_NON_MEMBER) { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_joingroup: join to group not in state IGMP_GROUP_NON_MEMBER\n")); + } else { + /* OK - it was new group */ + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_joingroup: join to new group: ")); + ip_addr_debug_print(IGMP_DEBUG, groupaddr); + LWIP_DEBUGF(IGMP_DEBUG, ("\n")); + + /* If first use of the group, allow the group at the MAC level */ + if ((group->use==0) && (netif->igmp_mac_filter != NULL)) { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_joingroup: igmp_mac_filter(ADD ")); + ip_addr_debug_print(IGMP_DEBUG, groupaddr); + LWIP_DEBUGF(IGMP_DEBUG, (") on if %p\n", netif)); + netif->igmp_mac_filter(netif, groupaddr, IGMP_ADD_MAC_FILTER); + } + + IGMP_STATS_INC(igmp.join_sent); + igmp_send(group, IGMP_V2_MEMB_REPORT); + + igmp_start_timer(group, IGMP_JOIN_DELAYING_MEMBER_TMR); + + /* Need to work out where this timer comes from */ + group->group_state = IGMP_GROUP_DELAYING_MEMBER; + } + /* Increment group use */ + group->use++; + /* Join on this interface */ + err = ERR_OK; + } else { + /* Return an error even if some network interfaces are joined */ + /** @todo undo any other netif already joined */ + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_joingroup: Not enought memory to join to group\n")); + return ERR_MEM; + } + } + /* proceed to next network interface */ + netif = netif->next; + } + + return err; +} + +/** + * Leave a group on one network interface. + * + * @param ifaddr ip address of the network interface which should leave a group + * @param groupaddr the ip address of the group which to leave + * @return ERR_OK if group was left on the netif(s), an err_t otherwise + */ +err_t +igmp_leavegroup(struct ip_addr *ifaddr, struct ip_addr *groupaddr) +{ + err_t err = ERR_VAL; /* no matching interface */ + struct igmp_group *group; + struct netif *netif; + + /* make sure it is multicast address */ + LWIP_ERROR("igmp_leavegroup: attempt to leave non-multicast address", ip_addr_ismulticast(groupaddr), return ERR_VAL;); + LWIP_ERROR("igmp_leavegroup: attempt to leave allsystems address", (!ip_addr_cmp(groupaddr, &allsystems)), return ERR_VAL;); + + /* loop through netif's */ + netif = netif_list; + while (netif != NULL) { + /* Should we leave this interface ? */ + if ((netif->flags & NETIF_FLAG_IGMP) && ((ip_addr_isany(ifaddr) || ip_addr_cmp(&(netif->ip_addr), ifaddr)))) { + /* find group */ + group = igmp_lookfor_group(netif, groupaddr); + + if (group != NULL) { + /* Only send a leave if the flag is set according to the state diagram */ + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_leavegroup: Leaving group: ")); + ip_addr_debug_print(IGMP_DEBUG, groupaddr); + LWIP_DEBUGF(IGMP_DEBUG, ("\n")); + + /* If there is no other use of the group */ + if (group->use <= 1) { + /* If we are the last reporter for this group */ + if (group->last_reporter_flag) { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_leavegroup: sending leaving group\n")); + IGMP_STATS_INC(igmp.leave_sent); + igmp_send(group, IGMP_LEAVE_GROUP); + } + + /* Disable the group at the MAC level */ + if (netif->igmp_mac_filter != NULL) { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_leavegroup: igmp_mac_filter(DEL ")); + ip_addr_debug_print(IGMP_DEBUG, groupaddr); + LWIP_DEBUGF(IGMP_DEBUG, (") on if %p\n", netif)); + netif->igmp_mac_filter(netif, groupaddr, IGMP_DEL_MAC_FILTER); + } + + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_leavegroup: remove group: ")); + ip_addr_debug_print(IGMP_DEBUG, groupaddr); + LWIP_DEBUGF(IGMP_DEBUG, ("\n")); + + /* Free the group */ + igmp_remove_group(group); + } else { + /* Decrement group use */ + group->use--; + } + /* Leave on this interface */ + err = ERR_OK; + } else { + /* It's not a fatal error on "leavegroup" */ + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_leavegroup: not member of group\n")); + } + } + /* proceed to next network interface */ + netif = netif->next; + } + + return err; +} + +/** + * The igmp timer function (both for NO_SYS=1 and =0) + * Should be called every IGMP_TMR_INTERVAL milliseconds (100 ms is default). + */ +void +igmp_tmr(void) +{ + struct igmp_group *group = igmp_group_list; + + while (group != NULL) { + if (group->timer != 0) { + group->timer -= 1; + if (group->timer == 0) { + igmp_timeout(group); + } + } + group = group->next; + } +} + +/** + * Called if a timeout for one group is reached. + * Sends a report for this group. + * + * @param group an igmp_group for which a timeout is reached + */ +void +igmp_timeout(struct igmp_group *group) +{ + /* If the state is IGMP_GROUP_DELAYING_MEMBER then we send a report for this group */ + if (group->group_state == IGMP_GROUP_DELAYING_MEMBER) { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_timeout: report membership for group with address ")); + ip_addr_debug_print(IGMP_DEBUG, &(group->group_address)); + LWIP_DEBUGF(IGMP_DEBUG, (" on if %p\n", group->interface)); + + igmp_send(group, IGMP_V2_MEMB_REPORT); + } +} + +/** + * Start a timer for an igmp group + * + * @param group the igmp_group for which to start a timer + * @param max_time the time in multiples of IGMP_TMR_INTERVAL (decrease with + * every call to igmp_tmr()) + */ +void +igmp_start_timer(struct igmp_group *group, u8_t max_time) +{ + /** + * @todo Important !! this should be random 0 -> max_time. Find out how to do this + */ + group->timer = max_time; +} + +/** + * Stop a timer for an igmp_group + * + * @param group the igmp_group for which to stop the timer + */ +void +igmp_stop_timer(struct igmp_group *group) +{ + group->timer = 0; +} + +/** + * Delaying membership report for a group if necessary + * + * @param group the igmp_group for which "delaying" membership report + * @param maxresp query delay + */ +void +igmp_delaying_member( struct igmp_group *group, u8_t maxresp) +{ + if ((group->group_state == IGMP_GROUP_IDLE_MEMBER) || + ((group->group_state == IGMP_GROUP_DELAYING_MEMBER) && (maxresp > group->timer))) { + igmp_start_timer(group, (maxresp)/2); + group->group_state = IGMP_GROUP_DELAYING_MEMBER; + } +} + + +/** + * Sends an IP packet on a network interface. This function constructs the IP header + * and calculates the IP header checksum. If the source IP address is NULL, + * the IP address of the outgoing network interface is filled in as source address. + * + * @param p the packet to send (p->payload points to the data, e.g. next + protocol header; if dest == IP_HDRINCL, p already includes an IP + header and p->payload points to that IP header) + * @param src the source IP address to send from (if src == IP_ADDR_ANY, the + * IP address of the netif used to send is used as source address) + * @param dest the destination IP address to send the packet to + * @param ttl the TTL value to be set in the IP header + * @param proto the PROTOCOL to be set in the IP header + * @param netif the netif on which to send this packet + * @return ERR_OK if the packet was sent OK + * ERR_BUF if p doesn't have enough space for IP/LINK headers + * returns errors returned by netif->output + */ +err_t +igmp_ip_output_if(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, + u8_t ttl, u8_t proto, struct netif *netif) +{ + /* This is the "router alert" option */ + u16_t ra[2]; + ra[0] = htons (ROUTER_ALERT); + ra[1] = 0x0000; /* Router shall examine packet */ + return ip_output_if_opt(p, src, dest, ttl, 0, proto, netif, ra, ROUTER_ALERTLEN); +} + +/** + * Send an igmp packet to a specific group. + * + * @param group the group to which to send the packet + * @param type the type of igmp packet to send + */ +void +igmp_send(struct igmp_group *group, u8_t type) +{ + struct pbuf* p = NULL; + struct igmp_msg* igmp = NULL; + struct ip_addr src = {0}; + struct ip_addr* dest = NULL; + + /* IP header + "router alert" option + IGMP header */ + p = pbuf_alloc(PBUF_TRANSPORT, IGMP_MINLEN, PBUF_RAM); + + if (p) { + igmp = p->payload; + LWIP_ASSERT("igmp_send: check that first pbuf can hold struct igmp_msg", + (p->len >= sizeof(struct igmp_msg))); + ip_addr_set(&src, &((group->interface)->ip_addr)); + + if (type == IGMP_V2_MEMB_REPORT) { + dest = &(group->group_address); + IGMP_STATS_INC(igmp.report_sent); + ip_addr_set(&(igmp->igmp_group_address), &(group->group_address)); + group->last_reporter_flag = 1; /* Remember we were the last to report */ + } else { + if (type == IGMP_LEAVE_GROUP) { + dest = &allrouters; + ip_addr_set(&(igmp->igmp_group_address), &(group->group_address)); + } + } + + if ((type == IGMP_V2_MEMB_REPORT) || (type == IGMP_LEAVE_GROUP)) { + igmp->igmp_msgtype = type; + igmp->igmp_maxresp = 0; + igmp->igmp_checksum = 0; + igmp->igmp_checksum = inet_chksum( igmp, IGMP_MINLEN); + + igmp_ip_output_if(p, &src, dest, IGMP_TTL, IP_PROTO_IGMP, group->interface); + } + + pbuf_free(p); + } else { + LWIP_DEBUGF(IGMP_DEBUG, ("igmp_send: not enough memory for igmp_send\n")); + } +} + +#endif /* LWIP_IGMP */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/inet.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/inet.c new file mode 100644 index 0000000..0d4f922 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/inet.c @@ -0,0 +1,280 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Functions common to all TCP/IPv4 modules, such as the byte order functions. + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#include "lwip/inet.h" + +/* Here for now until needed in other places in lwIP */ +#ifndef isprint +#define in_range(c, lo, up) ((u8_t)c >= lo && (u8_t)c <= up) +#define isprint(c) in_range(c, 0x20, 0x7f) +#define isdigit(c) in_range(c, '0', '9') +#define isxdigit(c) (isdigit(c) || in_range(c, 'a', 'f') || in_range(c, 'A', 'F')) +#define islower(c) in_range(c, 'a', 'z') +#define isspace(c) (c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v') +#endif + +/** + * Ascii internet address interpretation routine. + * The value returned is in network order. + * + * @param cp IP address in ascii represenation (e.g. "127.0.0.1") + * @return ip address in network order + */ +u32_t +inet_addr(const char *cp) +{ + struct in_addr val; + + if (inet_aton(cp, &val)) { + return (val.s_addr); + } + return (INADDR_NONE); +} + +/** + * Check whether "cp" is a valid ascii representation + * of an Internet address and convert to a binary address. + * Returns 1 if the address is valid, 0 if not. + * This replaces inet_addr, the return value from which + * cannot distinguish between failure and a local broadcast address. + * + * @param cp IP address in ascii represenation (e.g. "127.0.0.1") + * @param addr pointer to which to save the ip address in network order + * @return 1 if cp could be converted to addr, 0 on failure + */ +int +inet_aton(const char *cp, struct in_addr *addr) +{ + u32_t val; + u8_t base; + char c; + u32_t parts[4]; + u32_t *pp = parts; + + c = *cp; + for (;;) { + /* + * Collect number up to ``.''. + * Values are specified as for C: + * 0x=hex, 0=octal, 1-9=decimal. + */ + if (!isdigit(c)) + return (0); + val = 0; + base = 10; + if (c == '0') { + c = *++cp; + if (c == 'x' || c == 'X') { + base = 16; + c = *++cp; + } else + base = 8; + } + for (;;) { + if (isdigit(c)) { + val = (val * base) + (int)(c - '0'); + c = *++cp; + } else if (base == 16 && isxdigit(c)) { + val = (val << 4) | (int)(c + 10 - (islower(c) ? 'a' : 'A')); + c = *++cp; + } else + break; + } + if (c == '.') { + /* + * Internet format: + * a.b.c.d + * a.b.c (with c treated as 16 bits) + * a.b (with b treated as 24 bits) + */ + if (pp >= parts + 3) + return (0); + *pp++ = val; + c = *++cp; + } else + break; + } + /* + * Check for trailing characters. + */ + if (c != '\0' && !isspace(c)) + return (0); + /* + * Concoct the address according to + * the number of parts specified. + */ + switch (pp - parts + 1) { + + case 0: + return (0); /* initial nondigit */ + + case 1: /* a -- 32 bits */ + break; + + case 2: /* a.b -- 8.24 bits */ + if (val > 0xffffffUL) + return (0); + val |= parts[0] << 24; + break; + + case 3: /* a.b.c -- 8.8.16 bits */ + if (val > 0xffff) + return (0); + val |= (parts[0] << 24) | (parts[1] << 16); + break; + + case 4: /* a.b.c.d -- 8.8.8.8 bits */ + if (val > 0xff) + return (0); + val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8); + break; + } + if (addr) + addr->s_addr = htonl(val); + return (1); +} + +/** + * Convert numeric IP address into decimal dotted ASCII representation. + * returns ptr to static buffer; not reentrant! + * + * @param addr ip address in network order to convert + * @return pointer to a global static (!) buffer that holds the ASCII + * represenation of addr + */ +char * +inet_ntoa(struct in_addr addr) +{ + static char str[16]; + u32_t s_addr = addr.s_addr; + char inv[3]; + char *rp; + u8_t *ap; + u8_t rem; + u8_t n; + u8_t i; + + rp = str; + ap = (u8_t *)&s_addr; + for(n = 0; n < 4; n++) { + i = 0; + do { + rem = *ap % (u8_t)10; + *ap /= (u8_t)10; + inv[i++] = '0' + rem; + } while(*ap); + while(i--) + *rp++ = inv[i]; + *rp++ = '.'; + ap++; + } + *--rp = 0; + return str; +} + +/** + * These are reference implementations of the byte swapping functions. + * Again with the aim of being simple, correct and fully portable. + * Byte swapping is the second thing you would want to optimize. You will + * need to port it to your architecture and in your cc.h: + * + * #define LWIP_PLATFORM_BYTESWAP 1 + * #define LWIP_PLATFORM_HTONS(x) <your_htons> + * #define LWIP_PLATFORM_HTONL(x) <your_htonl> + * + * Note ntohs() and ntohl() are merely references to the htonx counterparts. + */ + +#if (LWIP_PLATFORM_BYTESWAP == 0) && (BYTE_ORDER == LITTLE_ENDIAN) + +/** + * Convert an u16_t from host- to network byte order. + * + * @param n u16_t in host byte order + * @return n in network byte order + */ +u16_t +htons(u16_t n) +{ + return ((n & 0xff) << 8) | ((n & 0xff00) >> 8); +} + +/** + * Convert an u16_t from network- to host byte order. + * + * @param n u16_t in network byte order + * @return n in host byte order + */ +u16_t +ntohs(u16_t n) +{ + return htons(n); +} + +/** + * Convert an u32_t from host- to network byte order. + * + * @param n u32_t in host byte order + * @return n in network byte order + */ +u32_t +htonl(u32_t n) +{ + return ((n & 0xff) << 24) | + ((n & 0xff00) << 8) | + ((n & 0xff0000UL) >> 8) | + ((n & 0xff000000UL) >> 24); +} + +/** + * Convert an u32_t from network- to host byte order. + * + * @param n u32_t in network byte order + * @return n in host byte order + */ +u32_t +ntohl(u32_t n) +{ + return htonl(n); +} + +#endif /* (LWIP_PLATFORM_BYTESWAP == 0) && (BYTE_ORDER == LITTLE_ENDIAN) */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/inet_chksum.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/inet_chksum.c new file mode 100644 index 0000000..47a11d4 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/inet_chksum.c @@ -0,0 +1,440 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Incluse internet checksum functions. + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#include "lwip/inet_chksum.h" +#include "lwip/inet.h" + +#include <stddef.h> + +/* These are some reference implementations of the checksum algorithm, with the + * aim of being simple, correct and fully portable. Checksumming is the + * first thing you would want to optimize for your platform. If you create + * your own version, link it in and in your cc.h put: + * + * #define LWIP_CHKSUM <your_checksum_routine> + * + * Or you can select from the implementations below by defining + * LWIP_CHKSUM_ALGORITHM to 1, 2 or 3. + */ + +#ifndef LWIP_CHKSUM +# define LWIP_CHKSUM lwip_standard_chksum +# ifndef LWIP_CHKSUM_ALGORITHM +# define LWIP_CHKSUM_ALGORITHM 1 +# endif +#endif +/* If none set: */ +#ifndef LWIP_CHKSUM_ALGORITHM +# define LWIP_CHKSUM_ALGORITHM 0 +#endif + +/** Like the name says... */ +#if LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN) +/* little endian and PLATFORM_BYTESWAP defined */ +#define SWAP_BYTES_IN_WORD(w) LWIP_PLATFORM_HTONS(w) +#else +/* can't use htons on big endian (or PLATFORM_BYTESWAP not defined)... */ +#define SWAP_BYTES_IN_WORD(w) ((w & 0xff) << 8) | ((w & 0xff00) >> 8) +#endif + +/** Split an u32_t in two u16_ts and add them up */ +#define FOLD_U32T(u) ((u >> 16) + (u & 0x0000ffffUL)) + +#if (LWIP_CHKSUM_ALGORITHM == 1) /* Version #1 */ +/** + * lwip checksum + * + * @param dataptr points to start of data to be summed at any boundary + * @param len length of data to be summed + * @return host order (!) lwip checksum (non-inverted Internet sum) + * + * @note accumulator size limits summable length to 64k + * @note host endianess is irrelevant (p3 RFC1071) + */ +static u16_t +lwip_standard_chksum(void *dataptr, u16_t len) +{ + u32_t acc; + u16_t src; + u8_t *octetptr; + + acc = 0; + /* dataptr may be at odd or even addresses */ + octetptr = (u8_t*)dataptr; + while (len > 1) { + /* declare first octet as most significant + thus assume network order, ignoring host order */ + src = (*octetptr) << 8; + octetptr++; + /* declare second octet as least significant */ + src |= (*octetptr); + octetptr++; + acc += src; + len -= 2; + } + if (len > 0) { + /* accumulate remaining octet */ + src = (*octetptr) << 8; + acc += src; + } + /* add deferred carry bits */ + acc = (acc >> 16) + (acc & 0x0000ffffUL); + if ((acc & 0xffff0000UL) != 0) { + acc = (acc >> 16) + (acc & 0x0000ffffUL); + } + /* This maybe a little confusing: reorder sum using htons() + instead of ntohs() since it has a little less call overhead. + The caller must invert bits for Internet sum ! */ + return htons((u16_t)acc); +} +#endif + +#if (LWIP_CHKSUM_ALGORITHM == 2) /* Alternative version #2 */ +/* + * Curt McDowell + * Broadcom Corp. + * csm@broadcom.com + * + * IP checksum two bytes at a time with support for + * unaligned buffer. + * Works for len up to and including 0x20000. + * by Curt McDowell, Broadcom Corp. 12/08/2005 + * + * @param dataptr points to start of data to be summed at any boundary + * @param len length of data to be summed + * @return host order (!) lwip checksum (non-inverted Internet sum) + */ + +static u16_t +lwip_standard_chksum(void *dataptr, int len) +{ + u8_t *pb = dataptr; + u16_t *ps, t = 0; + u32_t sum = 0; + int odd = ((u32_t)pb & 1); + + /* Get aligned to u16_t */ + if (odd && len > 0) { + ((u8_t *)&t)[1] = *pb++; + len--; + } + + /* Add the bulk of the data */ + ps = (u16_t *)pb; + while (len > 1) { + sum += *ps++; + len -= 2; + } + + /* Consume left-over byte, if any */ + if (len > 0) { + ((u8_t *)&t)[0] = *(u8_t *)ps;; + } + + /* Add end bytes */ + sum += t; + + /* Fold 32-bit sum to 16 bits + calling this twice is propably faster than if statements... */ + sum = FOLD_U32T(sum); + sum = FOLD_U32T(sum); + + /* Swap if alignment was odd */ + if (odd) { + sum = SWAP_BYTES_IN_WORD(sum); + } + + return sum; +} +#endif + +#if (LWIP_CHKSUM_ALGORITHM == 3) /* Alternative version #3 */ +/** + * An optimized checksum routine. Basically, it uses loop-unrolling on + * the checksum loop, treating the head and tail bytes specially, whereas + * the inner loop acts on 8 bytes at a time. + * + * @arg start of buffer to be checksummed. May be an odd byte address. + * @len number of bytes in the buffer to be checksummed. + * @return host order (!) lwip checksum (non-inverted Internet sum) + * + * by Curt McDowell, Broadcom Corp. December 8th, 2005 + */ + +static u16_t +lwip_standard_chksum(void *dataptr, int len) +{ + u8_t *pb = dataptr; + u16_t *ps, t = 0; + u32_t *pl; + u32_t sum = 0, tmp; + /* starts at odd byte address? */ + int odd = ((u32_t)pb & 1); + + if (odd && len > 0) { + ((u8_t *)&t)[1] = *pb++; + len--; + } + + ps = (u16_t *)pb; + + if (((u32_t)ps & 3) && len > 1) { + sum += *ps++; + len -= 2; + } + + pl = (u32_t *)ps; + + while (len > 7) { + tmp = sum + *pl++; /* ping */ + if (tmp < sum) { + tmp++; /* add back carry */ + } + + sum = tmp + *pl++; /* pong */ + if (sum < tmp) { + sum++; /* add back carry */ + } + + len -= 8; + } + + /* make room in upper bits */ + sum = FOLD_U32T(sum); + + ps = (u16_t *)pl; + + /* 16-bit aligned word remaining? */ + while (len > 1) { + sum += *ps++; + len -= 2; + } + + /* dangling tail byte remaining? */ + if (len > 0) { /* include odd byte */ + ((u8_t *)&t)[0] = *(u8_t *)ps; + } + + sum += t; /* add end bytes */ + + /* Fold 32-bit sum to 16 bits + calling this twice is propably faster than if statements... */ + sum = FOLD_U32T(sum); + sum = FOLD_U32T(sum); + + if (odd) { + sum = SWAP_BYTES_IN_WORD(sum); + } + + return sum; +} +#endif + +/* inet_chksum_pseudo: + * + * Calculates the pseudo Internet checksum used by TCP and UDP for a pbuf chain. + * IP addresses are expected to be in network byte order. + * + * @param p chain of pbufs over that a checksum should be calculated (ip data part) + * @param src source ip address (used for checksum of pseudo header) + * @param dst destination ip address (used for checksum of pseudo header) + * @param proto ip protocol (used for checksum of pseudo header) + * @param proto_len length of the ip data part (used for checksum of pseudo header) + * @return checksum (as u16_t) to be saved directly in the protocol header + */ +u16_t +inet_chksum_pseudo(struct pbuf *p, + struct ip_addr *src, struct ip_addr *dest, + u8_t proto, u16_t proto_len) +{ + u32_t acc; + struct pbuf *q; + u8_t swapped; + + acc = 0; + swapped = 0; + /* iterate through all pbuf in chain */ + for(q = p; q != NULL; q = q->next) { + LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): checksumming pbuf %p (has next %p) \n", + (void *)q, (void *)q->next)); + acc += LWIP_CHKSUM(q->payload, q->len); + /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): unwrapped lwip_chksum()=%"X32_F" \n", acc));*/ + /* just executing this next line is probably faster that the if statement needed + to check whether we really need to execute it, and does no harm */ + acc = FOLD_U32T(acc); + if (q->len % 2 != 0) { + swapped = 1 - swapped; + acc = SWAP_BYTES_IN_WORD(acc); + } + /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): wrapped lwip_chksum()=%"X32_F" \n", acc));*/ + } + + if (swapped) { + acc = SWAP_BYTES_IN_WORD(acc); + } + acc += (src->addr & 0xffffUL); + acc += ((src->addr >> 16) & 0xffffUL); + acc += (dest->addr & 0xffffUL); + acc += ((dest->addr >> 16) & 0xffffUL); + acc += (u32_t)htons((u16_t)proto); + acc += (u32_t)htons(proto_len); + + /* Fold 32-bit sum to 16 bits + calling this twice is propably faster than if statements... */ + acc = FOLD_U32T(acc); + acc = FOLD_U32T(acc); + LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): pbuf chain lwip_chksum()=%"X32_F"\n", acc)); + return (u16_t)~(acc & 0xffffUL); +} + +/* inet_chksum_pseudo: + * + * Calculates the pseudo Internet checksum used by TCP and UDP for a pbuf chain. + * IP addresses are expected to be in network byte order. + * + * @param p chain of pbufs over that a checksum should be calculated (ip data part) + * @param src source ip address (used for checksum of pseudo header) + * @param dst destination ip address (used for checksum of pseudo header) + * @param proto ip protocol (used for checksum of pseudo header) + * @param proto_len length of the ip data part (used for checksum of pseudo header) + * @return checksum (as u16_t) to be saved directly in the protocol header + */ +/* Currently only used by UDPLITE, although this could change in the future. */ +#if LWIP_UDPLITE +u16_t +inet_chksum_pseudo_partial(struct pbuf *p, + struct ip_addr *src, struct ip_addr *dest, + u8_t proto, u16_t proto_len, u16_t chksum_len) +{ + u32_t acc; + struct pbuf *q; + u8_t swapped; + u16_t chklen; + + acc = 0; + swapped = 0; + /* iterate through all pbuf in chain */ + for(q = p; (q != NULL) && (chksum_len > 0); q = q->next) { + LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): checksumming pbuf %p (has next %p) \n", + (void *)q, (void *)q->next)); + chklen = q->len; + if (chklen > chksum_len) { + chklen = chksum_len; + } + acc += LWIP_CHKSUM(q->payload, chklen); + chksum_len -= chklen; + LWIP_ASSERT("delete me", chksum_len < 0x7fff); + /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): unwrapped lwip_chksum()=%"X32_F" \n", acc));*/ + /* fold the upper bit down */ + acc = FOLD_U32T(acc); + if (q->len % 2 != 0) { + swapped = 1 - swapped; + acc = SWAP_BYTES_IN_WORD(acc); + } + /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): wrapped lwip_chksum()=%"X32_F" \n", acc));*/ + } + + if (swapped) { + acc = SWAP_BYTES_IN_WORD(acc); + } + acc += (src->addr & 0xffffUL); + acc += ((src->addr >> 16) & 0xffffUL); + acc += (dest->addr & 0xffffUL); + acc += ((dest->addr >> 16) & 0xffffUL); + acc += (u32_t)htons((u16_t)proto); + acc += (u32_t)htons(proto_len); + + /* Fold 32-bit sum to 16 bits + calling this twice is propably faster than if statements... */ + acc = FOLD_U32T(acc); + acc = FOLD_U32T(acc); + LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): pbuf chain lwip_chksum()=%"X32_F"\n", acc)); + return (u16_t)~(acc & 0xffffUL); +} +#endif /* LWIP_UDPLITE */ + +/* inet_chksum: + * + * Calculates the Internet checksum over a portion of memory. Used primarily for IP + * and ICMP. + * + * @param dataptr start of the buffer to calculate the checksum (no alignment needed) + * @param len length of the buffer to calculate the checksum + * @return checksum (as u16_t) to be saved directly in the protocol header + */ + +u16_t +inet_chksum(void *dataptr, u16_t len) +{ + return ~LWIP_CHKSUM(dataptr, len); +} + +/** + * Calculate a checksum over a chain of pbufs (without pseudo-header, much like + * inet_chksum only pbufs are used). + * + * @param p pbuf chain over that the checksum should be calculated + * @return checksum (as u16_t) to be saved directly in the protocol header + */ +u16_t +inet_chksum_pbuf(struct pbuf *p) +{ + u32_t acc; + struct pbuf *q; + u8_t swapped; + + acc = 0; + swapped = 0; + for(q = p; q != NULL; q = q->next) { + acc += LWIP_CHKSUM(q->payload, q->len); + acc = FOLD_U32T(acc); + if (q->len % 2 != 0) { + swapped = 1 - swapped; + acc = SWAP_BYTES_IN_WORD(acc); + } + } + + if (swapped) { + acc = SWAP_BYTES_IN_WORD(acc); + } + return (u16_t)~(acc & 0xffffUL); +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip.c new file mode 100644 index 0000000..a958242 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip.c @@ -0,0 +1,725 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * This is the IPv4 layer implementation for incoming and outgoing IP traffic. + * + * @see ip_frag.c + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" +#include "lwip/ip.h" +#include "lwip/def.h" +#include "lwip/mem.h" +#include "lwip/ip_frag.h" +#include "lwip/inet.h" +#include "lwip/inet_chksum.h" +#include "lwip/netif.h" +#include "lwip/icmp.h" +#include "lwip/igmp.h" +#include "lwip/raw.h" +#include "lwip/udp.h" +#include "lwip/tcp.h" +#include "lwip/snmp.h" +#include "lwip/dhcp.h" +#include "lwip/stats.h" +#include "arch/perf.h" + +#include <string.h> + +/** + * The interface that provided the packet for the current callback + * invocation. + */ +struct netif *current_netif; + +/** + * Header of the input packet currently being processed. + */ +const struct ip_hdr *current_header; + +/** + * Finds the appropriate network interface for a given IP address. It + * searches the list of network interfaces linearly. A match is found + * if the masked IP address of the network interface equals the masked + * IP address given to the function. + * + * @param dest the destination IP address for which to find the route + * @return the netif on which to send to reach dest + */ +struct netif * +ip_route(struct ip_addr *dest) +{ + struct netif *netif; + + /* iterate through netifs */ + for(netif = netif_list; netif != NULL; netif = netif->next) { + /* network mask matches? */ + if (netif_is_up(netif)) { + if (ip_addr_netcmp(dest, &(netif->ip_addr), &(netif->netmask))) { + /* return netif on which to forward IP packet */ + return netif; + } + } + } + if ((netif_default == NULL) || (!netif_is_up(netif_default))) { + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("ip_route: No route to 0x%"X32_F"\n", dest->addr)); + IP_STATS_INC(ip.rterr); + snmp_inc_ipoutnoroutes(); + return NULL; + } + /* no matching netif found, use default netif */ + return netif_default; +} + +#if IP_FORWARD +/** + * Forwards an IP packet. It finds an appropriate route for the + * packet, decrements the TTL value of the packet, adjusts the + * checksum and outputs the packet on the appropriate interface. + * + * @param p the packet to forward (p->payload points to IP header) + * @param iphdr the IP header of the input packet + * @param inp the netif on which this packet was received + * @return the netif on which the packet was sent (NULL if it wasn't sent) + */ +static struct netif * +ip_forward(struct pbuf *p, struct ip_hdr *iphdr, struct netif *inp) +{ + struct netif *netif; + + PERF_START; + /* Find network interface where to forward this IP packet to. */ + netif = ip_route((struct ip_addr *)&(iphdr->dest)); + if (netif == NULL) { + LWIP_DEBUGF(IP_DEBUG, ("ip_forward: no forwarding route for 0x%"X32_F" found\n", + iphdr->dest.addr)); + snmp_inc_ipoutnoroutes(); + return (struct netif *)NULL; + } + /* Do not forward packets onto the same network interface on which + * they arrived. */ + if (netif == inp) { + LWIP_DEBUGF(IP_DEBUG, ("ip_forward: not bouncing packets back on incoming interface.\n")); + snmp_inc_ipoutnoroutes(); + return (struct netif *)NULL; + } + + /* decrement TTL */ + IPH_TTL_SET(iphdr, IPH_TTL(iphdr) - 1); + /* send ICMP if TTL == 0 */ + if (IPH_TTL(iphdr) == 0) { + snmp_inc_ipinhdrerrors(); +#if LWIP_ICMP + /* Don't send ICMP messages in response to ICMP messages */ + if (IPH_PROTO(iphdr) != IP_PROTO_ICMP) { + icmp_time_exceeded(p, ICMP_TE_TTL); + } +#endif /* LWIP_ICMP */ + return (struct netif *)NULL; + } + + /* Incrementally update the IP checksum. */ + if (IPH_CHKSUM(iphdr) >= htons(0xffff - 0x100)) { + IPH_CHKSUM_SET(iphdr, IPH_CHKSUM(iphdr) + htons(0x100) + 1); + } else { + IPH_CHKSUM_SET(iphdr, IPH_CHKSUM(iphdr) + htons(0x100)); + } + + LWIP_DEBUGF(IP_DEBUG, ("ip_forward: forwarding packet to 0x%"X32_F"\n", + iphdr->dest.addr)); + + IP_STATS_INC(ip.fw); + IP_STATS_INC(ip.xmit); + snmp_inc_ipforwdatagrams(); + + PERF_STOP("ip_forward"); + /* transmit pbuf on chosen interface */ + netif->output(netif, p, (struct ip_addr *)&(iphdr->dest)); + return netif; +} +#endif /* IP_FORWARD */ + +/** + * This function is called by the network interface device driver when + * an IP packet is received. The function does the basic checks of the + * IP header such as packet size being at least larger than the header + * size etc. If the packet was not destined for us, the packet is + * forwarded (using ip_forward). The IP checksum is always checked. + * + * Finally, the packet is sent to the upper layer protocol input function. + * + * @param p the received IP packet (p->payload points to IP header) + * @param inp the netif on which this packet was received + * @return ERR_OK if the packet was processed (could return ERR_* if it wasn't + * processed, but currently always returns ERR_OK) + */ +err_t +ip_input(struct pbuf *p, struct netif *inp) +{ + struct ip_hdr *iphdr; + struct netif *netif; + u16_t iphdr_hlen; + u16_t iphdr_len; +#if LWIP_DHCP + int check_ip_src=1; +#endif /* LWIP_DHCP */ + + IP_STATS_INC(ip.recv); + snmp_inc_ipinreceives(); + + /* identify the IP header */ + iphdr = p->payload; + if (IPH_V(iphdr) != 4) { + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_WARNING, ("IP packet dropped due to bad version number %"U16_F"\n", IPH_V(iphdr))); + ip_debug_print(p); + pbuf_free(p); + IP_STATS_INC(ip.err); + IP_STATS_INC(ip.drop); + snmp_inc_ipinhdrerrors(); + return ERR_OK; + } + + /* obtain IP header length in number of 32-bit words */ + iphdr_hlen = IPH_HL(iphdr); + /* calculate IP header length in bytes */ + iphdr_hlen *= 4; + /* obtain ip length in bytes */ + iphdr_len = ntohs(IPH_LEN(iphdr)); + + /* header length exceeds first pbuf length, or ip length exceeds total pbuf length? */ + if ((iphdr_hlen > p->len) || (iphdr_len > p->tot_len)) { + if (iphdr_hlen > p->len) { + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("IP header (len %"U16_F") does not fit in first pbuf (len %"U16_F"), IP packet dropped.\n", + iphdr_hlen, p->len)); + } + if (iphdr_len > p->tot_len) { + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("IP (len %"U16_F") is longer than pbuf (len %"U16_F"), IP packet dropped.\n", + iphdr_len, p->tot_len)); + } + /* free (drop) packet pbufs */ + pbuf_free(p); + IP_STATS_INC(ip.lenerr); + IP_STATS_INC(ip.drop); + snmp_inc_ipindiscards(); + return ERR_OK; + } + + /* verify checksum */ +#if CHECKSUM_CHECK_IP + if (inet_chksum(iphdr, iphdr_hlen) != 0) { + + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("Checksum (0x%"X16_F") failed, IP packet dropped.\n", inet_chksum(iphdr, iphdr_hlen))); + ip_debug_print(p); + pbuf_free(p); + IP_STATS_INC(ip.chkerr); + IP_STATS_INC(ip.drop); + snmp_inc_ipinhdrerrors(); + return ERR_OK; + } +#endif + + /* Trim pbuf. This should have been done at the netif layer, + * but we'll do it anyway just to be sure that its done. */ + pbuf_realloc(p, iphdr_len); + + /* match packet against an interface, i.e. is this packet for us? */ +#if LWIP_IGMP + if (ip_addr_ismulticast(&(iphdr->dest))) { + if ((inp->flags & NETIF_FLAG_IGMP) && (igmp_lookfor_group(inp, &(iphdr->dest)))) { + netif = inp; + } else { + netif = NULL; + } + } else +#endif /* LWIP_IGMP */ + { + /* start trying with inp. if that's not acceptable, start walking the + list of configured netifs. + 'first' is used as a boolean to mark whether we started walking the list */ + int first = 1; + netif = inp; + do { + LWIP_DEBUGF(IP_DEBUG, ("ip_input: iphdr->dest 0x%"X32_F" netif->ip_addr 0x%"X32_F" (0x%"X32_F", 0x%"X32_F", 0x%"X32_F")\n", + iphdr->dest.addr, netif->ip_addr.addr, + iphdr->dest.addr & netif->netmask.addr, + netif->ip_addr.addr & netif->netmask.addr, + iphdr->dest.addr & ~(netif->netmask.addr))); + + /* interface is up and configured? */ + if ((netif_is_up(netif)) && (!ip_addr_isany(&(netif->ip_addr)))) { + /* unicast to this interface address? */ + if (ip_addr_cmp(&(iphdr->dest), &(netif->ip_addr)) || + /* or broadcast on this interface network address? */ + ip_addr_isbroadcast(&(iphdr->dest), netif)) { + LWIP_DEBUGF(IP_DEBUG, ("ip_input: packet accepted on interface %c%c\n", + netif->name[0], netif->name[1])); + /* break out of for loop */ + break; + } + } + if (first) { + first = 0; + netif = netif_list; + } else { + netif = netif->next; + } + if (netif == inp) { + netif = netif->next; + } + } while(netif != NULL); + } + +#if LWIP_DHCP + /* Pass DHCP messages regardless of destination address. DHCP traffic is addressed + * using link layer addressing (such as Ethernet MAC) so we must not filter on IP. + * According to RFC 1542 section 3.1.1, referred by RFC 2131). + */ + if (netif == NULL) { + /* remote port is DHCP server? */ + if (IPH_PROTO(iphdr) == IP_PROTO_UDP) { + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_TRACE, ("ip_input: UDP packet to DHCP client port %"U16_F"\n", + ntohs(((struct udp_hdr *)((u8_t *)iphdr + iphdr_hlen))->dest))); + if (ntohs(((struct udp_hdr *)((u8_t *)iphdr + iphdr_hlen))->dest) == DHCP_CLIENT_PORT) { + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_TRACE, ("ip_input: DHCP packet accepted.\n")); + netif = inp; + check_ip_src = 0; + } + } + } +#endif /* LWIP_DHCP */ + + /* broadcast or multicast packet source address? Compliant with RFC 1122: 3.2.1.3 */ +#if LWIP_DHCP + /* DHCP servers need 0.0.0.0 to be allowed as source address (RFC 1.1.2.2: 3.2.1.3/a) */ + if (check_ip_src && (iphdr->src.addr != 0)) +#endif /* LWIP_DHCP */ + { if ((ip_addr_isbroadcast(&(iphdr->src), inp)) || + (ip_addr_ismulticast(&(iphdr->src)))) { + /* packet source is not valid */ + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, ("ip_input: packet source is not valid.\n")); + /* free (drop) packet pbufs */ + pbuf_free(p); + IP_STATS_INC(ip.drop); + snmp_inc_ipinaddrerrors(); + snmp_inc_ipindiscards(); + return ERR_OK; + } + } + + /* packet not for us? */ + if (netif == NULL) { + /* packet not for us, route or discard */ + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_TRACE, ("ip_input: packet not for us.\n")); +#if IP_FORWARD + /* non-broadcast packet? */ + if (!ip_addr_isbroadcast(&(iphdr->dest), inp)) { + /* try to forward IP packet on (other) interfaces */ + ip_forward(p, iphdr, inp); + } else +#endif /* IP_FORWARD */ + { + snmp_inc_ipinaddrerrors(); + snmp_inc_ipindiscards(); + } + pbuf_free(p); + return ERR_OK; + } + /* packet consists of multiple fragments? */ + if ((IPH_OFFSET(iphdr) & htons(IP_OFFMASK | IP_MF)) != 0) { +#if IP_REASSEMBLY /* packet fragment reassembly code present? */ + LWIP_DEBUGF(IP_DEBUG, ("IP packet is a fragment (id=0x%04"X16_F" tot_len=%"U16_F" len=%"U16_F" MF=%"U16_F" offset=%"U16_F"), calling ip_reass()\n", + ntohs(IPH_ID(iphdr)), p->tot_len, ntohs(IPH_LEN(iphdr)), !!(IPH_OFFSET(iphdr) & htons(IP_MF)), (ntohs(IPH_OFFSET(iphdr)) & IP_OFFMASK)*8)); + /* reassemble the packet*/ + p = ip_reass(p); + /* packet not fully reassembled yet? */ + if (p == NULL) { + return ERR_OK; + } + iphdr = p->payload; +#else /* IP_REASSEMBLY == 0, no packet fragment reassembly code present */ + pbuf_free(p); + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("IP packet dropped since it was fragmented (0x%"X16_F") (while IP_REASSEMBLY == 0).\n", + ntohs(IPH_OFFSET(iphdr)))); + IP_STATS_INC(ip.opterr); + IP_STATS_INC(ip.drop); + /* unsupported protocol feature */ + snmp_inc_ipinunknownprotos(); + return ERR_OK; +#endif /* IP_REASSEMBLY */ + } + +#if IP_OPTIONS_ALLOWED == 0 /* no support for IP options in the IP header? */ + +#if LWIP_IGMP + /* there is an extra "router alert" option in IGMP messages which we allow for but do not police */ + if((iphdr_hlen > IP_HLEN && (IPH_PROTO(iphdr) != IP_PROTO_IGMP)) { +#else + if (iphdr_hlen > IP_HLEN) { +#endif /* LWIP_IGMP */ + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("IP packet dropped since there were IP options (while IP_OPTIONS_ALLOWED == 0).\n")); + pbuf_free(p); + IP_STATS_INC(ip.opterr); + IP_STATS_INC(ip.drop); + /* unsupported protocol feature */ + snmp_inc_ipinunknownprotos(); + return ERR_OK; + } +#endif /* IP_OPTIONS_ALLOWED == 0 */ + + /* send to upper layers */ + LWIP_DEBUGF(IP_DEBUG, ("ip_input: \n")); + ip_debug_print(p); + LWIP_DEBUGF(IP_DEBUG, ("ip_input: p->len %"U16_F" p->tot_len %"U16_F"\n", p->len, p->tot_len)); + + current_netif = inp; + current_header = iphdr; + +#if LWIP_RAW + /* raw input did not eat the packet? */ + if (raw_input(p, inp) == 0) +#endif /* LWIP_RAW */ + { + + switch (IPH_PROTO(iphdr)) { +#if LWIP_UDP + case IP_PROTO_UDP: +#if LWIP_UDPLITE + case IP_PROTO_UDPLITE: +#endif /* LWIP_UDPLITE */ + snmp_inc_ipindelivers(); + udp_input(p, inp); + break; +#endif /* LWIP_UDP */ +#if LWIP_TCP + case IP_PROTO_TCP: + snmp_inc_ipindelivers(); + tcp_input(p, inp); + break; +#endif /* LWIP_TCP */ +#if LWIP_ICMP + case IP_PROTO_ICMP: + snmp_inc_ipindelivers(); + icmp_input(p, inp); + break; +#endif /* LWIP_ICMP */ +#if LWIP_IGMP + case IP_PROTO_IGMP: + igmp_input(p,inp,&(iphdr->dest)); + break; +#endif /* LWIP_IGMP */ + default: +#if LWIP_ICMP + /* send ICMP destination protocol unreachable unless is was a broadcast */ + if (!ip_addr_isbroadcast(&(iphdr->dest), inp) && + !ip_addr_ismulticast(&(iphdr->dest))) { + p->payload = iphdr; + icmp_dest_unreach(p, ICMP_DUR_PROTO); + } +#endif /* LWIP_ICMP */ + pbuf_free(p); + + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("Unsupported transport protocol %"U16_F"\n", IPH_PROTO(iphdr))); + + IP_STATS_INC(ip.proterr); + IP_STATS_INC(ip.drop); + snmp_inc_ipinunknownprotos(); + } + } + + current_netif = NULL; + current_header = NULL; + + return ERR_OK; +} + +/** + * Sends an IP packet on a network interface. This function constructs + * the IP header and calculates the IP header checksum. If the source + * IP address is NULL, the IP address of the outgoing network + * interface is filled in as source address. + * If the destination IP address is IP_HDRINCL, p is assumed to already + * include an IP header and p->payload points to it instead of the data. + * + * @param p the packet to send (p->payload points to the data, e.g. next + protocol header; if dest == IP_HDRINCL, p already includes an IP + header and p->payload points to that IP header) + * @param src the source IP address to send from (if src == IP_ADDR_ANY, the + * IP address of the netif used to send is used as source address) + * @param dest the destination IP address to send the packet to + * @param ttl the TTL value to be set in the IP header + * @param tos the TOS value to be set in the IP header + * @param proto the PROTOCOL to be set in the IP header + * @param netif the netif on which to send this packet + * @return ERR_OK if the packet was sent OK + * ERR_BUF if p doesn't have enough space for IP/LINK headers + * returns errors returned by netif->output + * + * @note ip_id: RFC791 "some host may be able to simply use + * unique identifiers independent of destination" + */ +err_t +ip_output_if(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, + u8_t ttl, u8_t tos, + u8_t proto, struct netif *netif) +{ +#if IP_OPTIONS_SEND + return ip_output_if_opt(p, src, dest, ttl, tos, proto, netif, NULL, 0); +} + +/** + * Same as ip_output_if() but with the possibility to include IP options: + * + * @ param ip_options pointer to the IP options, copied into the IP header + * @ param optlen length of ip_options + */ +err_t ip_output_if_opt(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, + u8_t ttl, u8_t tos, u8_t proto, struct netif *netif, void *ip_options, + u16_t optlen) +{ +#endif /* IP_OPTIONS_SEND */ + struct ip_hdr *iphdr; + static u16_t ip_id = 0; + + snmp_inc_ipoutrequests(); + + /* Should the IP header be generated or is it already included in p? */ + if (dest != IP_HDRINCL) { + u16_t ip_hlen = IP_HLEN; +#if IP_OPTIONS_SEND + u16_t optlen_aligned = 0; + if (optlen != 0) { + /* round up to a multiple of 4 */ + optlen_aligned = ((optlen + 3) & ~3); + ip_hlen += optlen_aligned; + /* First write in the IP options */ + if (pbuf_header(p, optlen_aligned)) { + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("ip_output_if_opt: not enough room for IP options in pbuf\n")); + IP_STATS_INC(ip.err); + snmp_inc_ipoutdiscards(); + return ERR_BUF; + } + MEMCPY(p->payload, ip_options, optlen); + if (optlen < optlen_aligned) { + /* zero the remaining bytes */ + memset(((char*)p->payload) + optlen, 0, optlen_aligned - optlen); + } + } +#endif /* IP_OPTIONS_SEND */ + /* generate IP header */ + if (pbuf_header(p, IP_HLEN)) { + LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("ip_output: not enough room for IP header in pbuf\n")); + + IP_STATS_INC(ip.err); + snmp_inc_ipoutdiscards(); + return ERR_BUF; + } + + iphdr = p->payload; + LWIP_ASSERT("check that first pbuf can hold struct ip_hdr", + (p->len >= sizeof(struct ip_hdr))); + + IPH_TTL_SET(iphdr, ttl); + IPH_PROTO_SET(iphdr, proto); + + ip_addr_set(&(iphdr->dest), dest); + + IPH_VHLTOS_SET(iphdr, 4, ip_hlen / 4, tos); + IPH_LEN_SET(iphdr, htons(p->tot_len)); + IPH_OFFSET_SET(iphdr, 0); + IPH_ID_SET(iphdr, htons(ip_id)); + ++ip_id; + + if (ip_addr_isany(src)) { + ip_addr_set(&(iphdr->src), &(netif->ip_addr)); + } else { + ip_addr_set(&(iphdr->src), src); + } + + IPH_CHKSUM_SET(iphdr, 0); +#if CHECKSUM_GEN_IP + IPH_CHKSUM_SET(iphdr, inet_chksum(iphdr, ip_hlen)); +#endif + } else { + /* IP header already included in p */ + iphdr = p->payload; + dest = &(iphdr->dest); + } + + IP_STATS_INC(ip.xmit); + + LWIP_DEBUGF(IP_DEBUG, ("ip_output_if: %c%c%"U16_F"\n", netif->name[0], netif->name[1], netif->num)); + ip_debug_print(p); + +#if ENABLE_LOOPBACK + if (ip_addr_cmp(dest, &netif->ip_addr)) { + /* Packet to self, enqueue it for loopback */ + LWIP_DEBUGF(IP_DEBUG, ("netif_loop_output()")); + return netif_loop_output(netif, p, dest); + } +#endif /* ENABLE_LOOPBACK */ +#if IP_FRAG + /* don't fragment if interface has mtu set to 0 [loopif] */ + if (netif->mtu && (p->tot_len > netif->mtu)) { + return ip_frag(p,netif,dest); + } +#endif + + LWIP_DEBUGF(IP_DEBUG, ("netif->output()")); + return netif->output(netif, p, dest); +} + +/** + * Simple interface to ip_output_if. It finds the outgoing network + * interface and calls upon ip_output_if to do the actual work. + * + * @param p the packet to send (p->payload points to the data, e.g. next + protocol header; if dest == IP_HDRINCL, p already includes an IP + header and p->payload points to that IP header) + * @param src the source IP address to send from (if src == IP_ADDR_ANY, the + * IP address of the netif used to send is used as source address) + * @param dest the destination IP address to send the packet to + * @param ttl the TTL value to be set in the IP header + * @param tos the TOS value to be set in the IP header + * @param proto the PROTOCOL to be set in the IP header + * + * @return ERR_RTE if no route is found + * see ip_output_if() for more return values + */ +err_t +ip_output(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, + u8_t ttl, u8_t tos, u8_t proto) +{ + struct netif *netif; + + if ((netif = ip_route(dest)) == NULL) { + LWIP_DEBUGF(IP_DEBUG, ("ip_output: No route to 0x%"X32_F"\n", dest->addr)); + IP_STATS_INC(ip.rterr); + return ERR_RTE; + } + + return ip_output_if(p, src, dest, ttl, tos, proto, netif); +} + +#if LWIP_NETIF_HWADDRHINT +/** Like ip_output, but takes and addr_hint pointer that is passed on to netif->addr_hint + * before calling ip_output_if. + * + * @param p the packet to send (p->payload points to the data, e.g. next + protocol header; if dest == IP_HDRINCL, p already includes an IP + header and p->payload points to that IP header) + * @param src the source IP address to send from (if src == IP_ADDR_ANY, the + * IP address of the netif used to send is used as source address) + * @param dest the destination IP address to send the packet to + * @param ttl the TTL value to be set in the IP header + * @param tos the TOS value to be set in the IP header + * @param proto the PROTOCOL to be set in the IP header + * @param addr_hint address hint pointer set to netif->addr_hint before + * calling ip_output_if() + * + * @return ERR_RTE if no route is found + * see ip_output_if() for more return values + */ +err_t +ip_output_hinted(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, + u8_t ttl, u8_t tos, u8_t proto, u8_t *addr_hint) +{ + struct netif *netif; + err_t err; + + if ((netif = ip_route(dest)) == NULL) { + LWIP_DEBUGF(IP_DEBUG, ("ip_output: No route to 0x%"X32_F"\n", dest->addr)); + IP_STATS_INC(ip.rterr); + return ERR_RTE; + } + + netif->addr_hint = addr_hint; + err = ip_output_if(p, src, dest, ttl, tos, proto, netif); + netif->addr_hint = NULL; + + return err; +} +#endif /* LWIP_NETIF_HWADDRHINT*/ + +#if IP_DEBUG +/* Print an IP header by using LWIP_DEBUGF + * @param p an IP packet, p->payload pointing to the IP header + */ +void +ip_debug_print(struct pbuf *p) +{ + struct ip_hdr *iphdr = p->payload; + u8_t *payload; + + payload = (u8_t *)iphdr + IP_HLEN; + + LWIP_DEBUGF(IP_DEBUG, ("IP header:\n")); + LWIP_DEBUGF(IP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(IP_DEBUG, ("|%2"S16_F" |%2"S16_F" | 0x%02"X16_F" | %5"U16_F" | (v, hl, tos, len)\n", + IPH_V(iphdr), + IPH_HL(iphdr), + IPH_TOS(iphdr), + ntohs(IPH_LEN(iphdr)))); + LWIP_DEBUGF(IP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(IP_DEBUG, ("| %5"U16_F" |%"U16_F"%"U16_F"%"U16_F"| %4"U16_F" | (id, flags, offset)\n", + ntohs(IPH_ID(iphdr)), + ntohs(IPH_OFFSET(iphdr)) >> 15 & 1, + ntohs(IPH_OFFSET(iphdr)) >> 14 & 1, + ntohs(IPH_OFFSET(iphdr)) >> 13 & 1, + ntohs(IPH_OFFSET(iphdr)) & IP_OFFMASK)); + LWIP_DEBUGF(IP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(IP_DEBUG, ("| %3"U16_F" | %3"U16_F" | 0x%04"X16_F" | (ttl, proto, chksum)\n", + IPH_TTL(iphdr), + IPH_PROTO(iphdr), + ntohs(IPH_CHKSUM(iphdr)))); + LWIP_DEBUGF(IP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(IP_DEBUG, ("| %3"U16_F" | %3"U16_F" | %3"U16_F" | %3"U16_F" | (src)\n", + ip4_addr1(&iphdr->src), + ip4_addr2(&iphdr->src), + ip4_addr3(&iphdr->src), + ip4_addr4(&iphdr->src))); + LWIP_DEBUGF(IP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(IP_DEBUG, ("| %3"U16_F" | %3"U16_F" | %3"U16_F" | %3"U16_F" | (dest)\n", + ip4_addr1(&iphdr->dest), + ip4_addr2(&iphdr->dest), + ip4_addr3(&iphdr->dest), + ip4_addr4(&iphdr->dest))); + LWIP_DEBUGF(IP_DEBUG, ("+-------------------------------+\n")); +} +#endif /* IP_DEBUG */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip_addr.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip_addr.c new file mode 100644 index 0000000..33e0aad --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip_addr.c @@ -0,0 +1,86 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * This is the IPv4 address tools implementation. + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" +#include "lwip/ip_addr.h" +#include "lwip/inet.h" +#include "lwip/netif.h" + +#define IP_ADDR_ANY_VALUE 0x00000000UL +#define IP_ADDR_BROADCAST_VALUE 0xffffffffUL + +/* used by IP_ADDR_ANY and IP_ADDR_BROADCAST in ip_addr.h */ +const struct ip_addr ip_addr_any = { IP_ADDR_ANY_VALUE }; +const struct ip_addr ip_addr_broadcast = { IP_ADDR_BROADCAST_VALUE }; + +/** + * Determine if an address is a broadcast address on a network interface + * + * @param addr address to be checked + * @param netif the network interface against which the address is checked + * @return returns non-zero if the address is a broadcast address + */ +u8_t ip_addr_isbroadcast(struct ip_addr *addr, struct netif *netif) +{ + u32_t addr2test; + + addr2test = addr->addr; + /* all ones (broadcast) or all zeroes (old skool broadcast) */ + if ((~addr2test == IP_ADDR_ANY_VALUE) || + (addr2test == IP_ADDR_ANY_VALUE)) + return 1; + /* no broadcast support on this network interface? */ + else if ((netif->flags & NETIF_FLAG_BROADCAST) == 0) + /* the given address cannot be a broadcast address + * nor can we check against any broadcast addresses */ + return 0; + /* address matches network interface address exactly? => no broadcast */ + else if (addr2test == netif->ip_addr.addr) + return 0; + /* on the same (sub) network... */ + else if (ip_addr_netcmp(addr, &(netif->ip_addr), &(netif->netmask)) + /* ...and host identifier bits are all ones? =>... */ + && ((addr2test & ~netif->netmask.addr) == + (IP_ADDR_BROADCAST_VALUE & ~netif->netmask.addr))) + /* => network broadcast address */ + return 1; + else + return 0; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip_frag.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip_frag.c new file mode 100644 index 0000000..ab35572 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/ipv4/ip_frag.c @@ -0,0 +1,794 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * This is the IPv4 packet segmentation and reassembly implementation. + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Jani Monoses <jani@iv.ro> + * Simon Goldschmidt + * original reassembly code by Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" +#include "lwip/ip_frag.h" +#include "lwip/ip.h" +#include "lwip/inet.h" +#include "lwip/inet_chksum.h" +#include "lwip/netif.h" +#include "lwip/snmp.h" +#include "lwip/stats.h" +#include "lwip/icmp.h" + +#include <string.h> + +#if IP_REASSEMBLY +/** + * The IP reassembly code currently has the following limitations: + * - IP header options are not supported + * - fragments must not overlap (e.g. due to different routes), + * currently, overlapping or duplicate fragments are thrown away + * if IP_REASS_CHECK_OVERLAP=1 (the default)! + * + * @todo: work with IP header options + */ + +/** Setting this to 0, you can turn off checking the fragments for overlapping + * regions. The code gets a little smaller. Only use this if you know that + * overlapping won't occur on your network! */ +#ifndef IP_REASS_CHECK_OVERLAP +#define IP_REASS_CHECK_OVERLAP 1 +#endif /* IP_REASS_CHECK_OVERLAP */ + +/** Set to 0 to prevent freeing the oldest datagram when the reassembly buffer is + * full (IP_REASS_MAX_PBUFS pbufs are enqueued). The code gets a little smaller. + * Datagrams will be freed by timeout only. Especially useful when MEMP_NUM_REASSDATA + * is set to 1, so one datagram can be reassembled at a time, only. */ +#ifndef IP_REASS_FREE_OLDEST +#define IP_REASS_FREE_OLDEST 1 +#endif /* IP_REASS_FREE_OLDEST */ + +#define IP_REASS_FLAG_LASTFRAG 0x01 + +/** This is a helper struct which holds the starting + * offset and the ending offset of this fragment to + * easily chain the fragments. + * It has to be packed since it has to fit inside the IP header. + */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip_reass_helper { + PACK_STRUCT_FIELD(struct pbuf *next_pbuf); + PACK_STRUCT_FIELD(u16_t start); + PACK_STRUCT_FIELD(u16_t end); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define IP_ADDRESSES_AND_ID_MATCH(iphdrA, iphdrB) \ + (ip_addr_cmp(&(iphdrA)->src, &(iphdrB)->src) && \ + ip_addr_cmp(&(iphdrA)->dest, &(iphdrB)->dest) && \ + IPH_ID(iphdrA) == IPH_ID(iphdrB)) ? 1 : 0 + +/* global variables */ +static struct ip_reassdata *reassdatagrams; +static u16_t ip_reass_pbufcount; + +/* function prototypes */ +static void ip_reass_dequeue_datagram(struct ip_reassdata *ipr, struct ip_reassdata *prev); +static int ip_reass_free_complete_datagram(struct ip_reassdata *ipr, struct ip_reassdata *prev); + +/** + * Reassembly timer base function + * for both NO_SYS == 0 and 1 (!). + * + * Should be called every 1000 msec (defined by IP_TMR_INTERVAL). + */ +void +ip_reass_tmr(void) +{ + struct ip_reassdata *r, *prev = NULL; + + r = reassdatagrams; + while (r != NULL) { + /* Decrement the timer. Once it reaches 0, + * clean up the incomplete fragment assembly */ + if (r->timer > 0) { + r->timer--; + LWIP_DEBUGF(IP_REASS_DEBUG, ("ip_reass_tmr: timer dec %"U16_F"\n",(u16_t)r->timer)); + prev = r; + r = r->next; + } else { + /* reassembly timed out */ + struct ip_reassdata *tmp; + LWIP_DEBUGF(IP_REASS_DEBUG, ("ip_reass_tmr: timer timed out\n")); + tmp = r; + /* get the next pointer before freeing */ + r = r->next; + /* free the helper struct and all enqueued pbufs */ + ip_reass_free_complete_datagram(tmp, prev); + } + } +} + +/** + * Free a datagram (struct ip_reassdata) and all its pbufs. + * Updates the total count of enqueued pbufs (ip_reass_pbufcount), + * SNMP counters and sends an ICMP time exceeded packet. + * + * @param ipr datagram to free + * @param prev the previous datagram in the linked list + * @return the number of pbufs freed + */ +static int +ip_reass_free_complete_datagram(struct ip_reassdata *ipr, struct ip_reassdata *prev) +{ + int pbufs_freed = 0; + struct pbuf *p; + struct ip_reass_helper *iprh; + + LWIP_ASSERT("prev != ipr", prev != ipr); + if (prev != NULL) { + LWIP_ASSERT("prev->next == ipr", prev->next == ipr); + } + + snmp_inc_ipreasmfails(); +#if LWIP_ICMP + iprh = (struct ip_reass_helper *)ipr->p->payload; + if (iprh->start == 0) { + /* The first fragment was received, send ICMP time exceeded. */ + /* First, de-queue the first pbuf from r->p. */ + p = ipr->p; + ipr->p = iprh->next_pbuf; + /* Then, copy the original header into it. */ + SMEMCPY(p->payload, &ipr->iphdr, IP_HLEN); + icmp_time_exceeded(p, ICMP_TE_FRAG); + pbufs_freed += pbuf_clen(p); + pbuf_free(p); + } +#endif /* LWIP_ICMP */ + + /* First, free all received pbufs. The individual pbufs need to be released + separately as they have not yet been chained */ + p = ipr->p; + while (p != NULL) { + struct pbuf *pcur; + iprh = (struct ip_reass_helper *)p->payload; + pcur = p; + /* get the next pointer before freeing */ + p = iprh->next_pbuf; + pbufs_freed += pbuf_clen(pcur); + pbuf_free(pcur); + } + /* Then, unchain the struct ip_reassdata from the list and free it. */ + ip_reass_dequeue_datagram(ipr, prev); + LWIP_ASSERT("ip_reass_pbufcount >= clen", ip_reass_pbufcount >= pbufs_freed); + ip_reass_pbufcount -= pbufs_freed; + + return pbufs_freed; +} + +#if IP_REASS_FREE_OLDEST +/** + * Free the oldest datagram to make room for enqueueing new fragments. + * The datagram 'fraghdr' belongs to is not freed! + * + * @param fraghdr IP header of the current fragment + * @param pbufs_needed number of pbufs needed to enqueue + * (used for freeing other datagrams if not enough space) + * @return the number of pbufs freed + */ +static int +ip_reass_remove_oldest_datagram(struct ip_hdr *fraghdr, int pbufs_needed) +{ + /* @todo Can't we simply remove the last datagram in the + * linked list behind reassdatagrams? + */ + struct ip_reassdata *r, *oldest, *prev; + int pbufs_freed = 0, pbufs_freed_current; + int other_datagrams; + + /* Free datagrams until being allowed to enqueue 'pbufs_needed' pbufs, + * but don't free the datagram that 'fraghdr' belongs to! */ + do { + oldest = NULL; + prev = NULL; + other_datagrams = 0; + r = reassdatagrams; + while (r != NULL) { + if (!IP_ADDRESSES_AND_ID_MATCH(&r->iphdr, fraghdr)) { + /* Not the same datagram as fraghdr */ + other_datagrams++; + if (oldest == NULL) { + oldest = r; + } else if (r->timer <= oldest->timer) { + /* older than the previous oldest */ + oldest = r; + } + } + if (r->next != NULL) { + prev = r; + } + r = r->next; + } + if (oldest != NULL) { + pbufs_freed_current = ip_reass_free_complete_datagram(oldest, prev); + pbufs_freed += pbufs_freed_current; + } + } while ((pbufs_freed < pbufs_needed) && (other_datagrams > 1)); + return pbufs_freed; +} +#endif /* IP_REASS_FREE_OLDEST */ + +/** + * Enqueues a new fragment into the fragment queue + * @param fraghdr points to the new fragments IP hdr + * @param clen number of pbufs needed to enqueue (used for freeing other datagrams if not enough space) + * @return A pointer to the queue location into which the fragment was enqueued + */ +static struct ip_reassdata* +ip_reass_enqueue_new_datagram(struct ip_hdr *fraghdr, int clen) +{ + struct ip_reassdata* ipr; + /* No matching previous fragment found, allocate a new reassdata struct */ + ipr = memp_malloc(MEMP_REASSDATA); + if (ipr == NULL) { +#if IP_REASS_FREE_OLDEST + if (ip_reass_remove_oldest_datagram(fraghdr, clen) >= clen) { + ipr = memp_malloc(MEMP_REASSDATA); + } + if (ipr == NULL) +#endif /* IP_REASS_FREE_OLDEST */ + { + IPFRAG_STATS_INC(ip_frag.memerr); + LWIP_DEBUGF(IP_REASS_DEBUG,("Failed to alloc reassdata struct\n")); + return NULL; + } + } + memset(ipr, 0, sizeof(struct ip_reassdata)); + ipr->timer = IP_REASS_MAXAGE; + + /* enqueue the new structure to the front of the list */ + ipr->next = reassdatagrams; + reassdatagrams = ipr; + /* copy the ip header for later tests and input */ + /* @todo: no ip options supported? */ + SMEMCPY(&(ipr->iphdr), fraghdr, IP_HLEN); + return ipr; +} + +/** + * Dequeues a datagram from the datagram queue. Doesn't deallocate the pbufs. + * @param ipr points to the queue entry to dequeue + */ +static void +ip_reass_dequeue_datagram(struct ip_reassdata *ipr, struct ip_reassdata *prev) +{ + + /* dequeue the reass struct */ + if (reassdatagrams == ipr) { + /* it was the first in the list */ + reassdatagrams = ipr->next; + } else { + /* it wasn't the first, so it must have a valid 'prev' */ + LWIP_ASSERT("sanity check linked list", prev != NULL); + prev->next = ipr->next; + } + + /* now we can free the ip_reass struct */ + memp_free(MEMP_REASSDATA, ipr); +} + +/** + * Chain a new pbuf into the pbuf list that composes the datagram. The pbuf list + * will grow over time as new pbufs are rx. + * Also checks that the datagram passes basic continuity checks (if the last + * fragment was received at least once). + * @param root_p points to the 'root' pbuf for the current datagram being assembled. + * @param new_p points to the pbuf for the current fragment + * @return 0 if invalid, >0 otherwise + */ +static int +ip_reass_chain_frag_into_datagram_and_validate(struct ip_reassdata *ipr, struct pbuf *new_p) +{ + struct ip_reass_helper *iprh, *iprh_tmp, *iprh_prev=NULL; + struct pbuf *q; + u16_t offset,len; + struct ip_hdr *fraghdr; + int valid = 1; + + /* Extract length and fragment offset from current fragment */ + fraghdr = (struct ip_hdr*)new_p->payload; + len = ntohs(IPH_LEN(fraghdr)) - IPH_HL(fraghdr) * 4; + offset = (ntohs(IPH_OFFSET(fraghdr)) & IP_OFFMASK) * 8; + + /* overwrite the fragment's ip header from the pbuf with our helper struct, + * and setup the embedded helper structure. */ + /* make sure the struct ip_reass_helper fits into the IP header */ + LWIP_ASSERT("sizeof(struct ip_reass_helper) <= IP_HLEN", + sizeof(struct ip_reass_helper) <= IP_HLEN); + iprh = (struct ip_reass_helper*)new_p->payload; + iprh->next_pbuf = NULL; + iprh->start = offset; + iprh->end = offset + len; + + /* Iterate through until we either get to the end of the list (append), + * or we find on with a larger offset (insert). */ + for (q = ipr->p; q != NULL;) { + iprh_tmp = (struct ip_reass_helper*)q->payload; + if (iprh->start < iprh_tmp->start) { + /* the new pbuf should be inserted before this */ + iprh->next_pbuf = q; + if (iprh_prev != NULL) { + /* not the fragment with the lowest offset */ +#if IP_REASS_CHECK_OVERLAP + if ((iprh->start < iprh_prev->end) || (iprh->end > iprh_tmp->start)) { + /* fragment overlaps with previous or following, throw away */ + goto freepbuf; + } +#endif /* IP_REASS_CHECK_OVERLAP */ + iprh_prev->next_pbuf = new_p; + } else { + /* fragment with the lowest offset */ + ipr->p = new_p; + } + break; + } else if(iprh->start == iprh_tmp->start) { + /* received the same datagram twice: no need to keep the datagram */ + goto freepbuf; +#if IP_REASS_CHECK_OVERLAP + } else if(iprh->start < iprh_tmp->end) { + /* overlap: no need to keep the new datagram */ + goto freepbuf; +#endif /* IP_REASS_CHECK_OVERLAP */ + } else { + /* Check if the fragments received so far have no wholes. */ + if (iprh_prev != NULL) { + if (iprh_prev->end != iprh_tmp->start) { + /* There is a fragment missing between the current + * and the previous fragment */ + valid = 0; + } + } + } + q = iprh_tmp->next_pbuf; + iprh_prev = iprh_tmp; + } + + /* If q is NULL, then we made it to the end of the list. Determine what to do now */ + if (q == NULL) { + if (iprh_prev != NULL) { + /* this is (for now), the fragment with the highest offset: + * chain it to the last fragment */ +#if IP_REASS_CHECK_OVERLAP + LWIP_ASSERT("check fragments don't overlap", iprh_prev->end <= iprh->start); +#endif /* IP_REASS_CHECK_OVERLAP */ + iprh_prev->next_pbuf = new_p; + if (iprh_prev->end != iprh->start) { + valid = 0; + } + } else { +#if IP_REASS_CHECK_OVERLAP + LWIP_ASSERT("no previous fragment, this must be the first fragment!", + ipr->p == NULL); +#endif /* IP_REASS_CHECK_OVERLAP */ + /* this is the first fragment we ever received for this ip datagram */ + ipr->p = new_p; + } + } + + /* At this point, the validation part begins: */ + /* If we already received the last fragment */ + if ((ipr->flags & IP_REASS_FLAG_LASTFRAG) != 0) { + /* and had no wholes so far */ + if (valid) { + /* then check if the rest of the fragments is here */ + /* Check if the queue starts with the first datagram */ + if (((struct ip_reass_helper*)ipr->p->payload)->start != 0) { + valid = 0; + } else { + /* and check that there are no wholes after this datagram */ + iprh_prev = iprh; + q = iprh->next_pbuf; + while (q != NULL) { + iprh = (struct ip_reass_helper*)q->payload; + if (iprh_prev->end != iprh->start) { + valid = 0; + break; + } + iprh_prev = iprh; + q = iprh->next_pbuf; + } + /* if still valid, all fragments are received + * (because to the MF==0 already arrived */ + if (valid) { + LWIP_ASSERT("sanity check", ipr->p != NULL); + LWIP_ASSERT("sanity check", + ((struct ip_reass_helper*)ipr->p->payload) != iprh); + LWIP_ASSERT("validate_datagram:next_pbuf!=NULL", + iprh->next_pbuf == NULL); + LWIP_ASSERT("validate_datagram:datagram end!=datagram len", + iprh->end == ipr->datagram_len); + } + } + } + /* If valid is 0 here, there are some fragments missing in the middle + * (since MF == 0 has already arrived). Such datagrams simply time out if + * no more fragments are received... */ + return valid; + } + /* If we come here, not all fragments were received, yet! */ + return 0; /* not yet valid! */ +#if IP_REASS_CHECK_OVERLAP +freepbuf: + ip_reass_pbufcount -= pbuf_clen(new_p); + pbuf_free(new_p); + return 0; +#endif /* IP_REASS_CHECK_OVERLAP */ +} + +/** + * Reassembles incoming IP fragments into an IP datagram. + * + * @param p points to a pbuf chain of the fragment + * @return NULL if reassembly is incomplete, ? otherwise + */ +struct pbuf * +ip_reass(struct pbuf *p) +{ + struct pbuf *r; + struct ip_hdr *fraghdr; + struct ip_reassdata *ipr; + struct ip_reass_helper *iprh; + u16_t offset, len; + u8_t clen; + struct ip_reassdata *ipr_prev = NULL; + + IPFRAG_STATS_INC(ip_frag.recv); + snmp_inc_ipreasmreqds(); + + fraghdr = (struct ip_hdr*)p->payload; + + if ((IPH_HL(fraghdr) * 4) != IP_HLEN) { + LWIP_DEBUGF(IP_REASS_DEBUG,("ip_reass: IP options currently not supported!\n")); + IPFRAG_STATS_INC(ip_frag.err); + goto nullreturn; + } + + offset = (ntohs(IPH_OFFSET(fraghdr)) & IP_OFFMASK) * 8; + len = ntohs(IPH_LEN(fraghdr)) - IPH_HL(fraghdr) * 4; + + /* Check if we are allowed to enqueue more datagrams. */ + clen = pbuf_clen(p); + if ((ip_reass_pbufcount + clen) > IP_REASS_MAX_PBUFS) { +#if IP_REASS_FREE_OLDEST + if (!ip_reass_remove_oldest_datagram(fraghdr, clen) || + ((ip_reass_pbufcount + clen) > IP_REASS_MAX_PBUFS)) +#endif /* IP_REASS_FREE_OLDEST */ + { + /* No datagram could be freed and still too many pbufs enqueued */ + LWIP_DEBUGF(IP_REASS_DEBUG,("ip_reass: Overflow condition: pbufct=%d, clen=%d, MAX=%d\n", + ip_reass_pbufcount, clen, IP_REASS_MAX_PBUFS)); + IPFRAG_STATS_INC(ip_frag.memerr); + /* @todo: send ICMP time exceeded here? */ + /* drop this pbuf */ + goto nullreturn; + } + } + + /* Look for the datagram the fragment belongs to in the current datagram queue, + * remembering the previous in the queue for later dequeueing. */ + for (ipr = reassdatagrams; ipr != NULL; ipr = ipr->next) { + /* Check if the incoming fragment matches the one currently present + in the reassembly buffer. If so, we proceed with copying the + fragment into the buffer. */ + if (IP_ADDRESSES_AND_ID_MATCH(&ipr->iphdr, fraghdr)) { + LWIP_DEBUGF(IP_REASS_DEBUG, ("ip_reass: matching previous fragment ID=%"X16_F"\n", + ntohs(IPH_ID(fraghdr)))); + IPFRAG_STATS_INC(ip_frag.cachehit); + break; + } + ipr_prev = ipr; + } + + if (ipr == NULL) { + /* Enqueue a new datagram into the datagram queue */ + ipr = ip_reass_enqueue_new_datagram(fraghdr, clen); + /* Bail if unable to enqueue */ + if(ipr == NULL) { + goto nullreturn; + } + } else { + if (((ntohs(IPH_OFFSET(fraghdr)) & IP_OFFMASK) == 0) && + ((ntohs(IPH_OFFSET(&ipr->iphdr)) & IP_OFFMASK) != 0)) { + /* ipr->iphdr is not the header from the first fragment, but fraghdr is + * -> copy fraghdr into ipr->iphdr since we want to have the header + * of the first fragment (for ICMP time exceeded and later, for copying + * all options, if supported)*/ + SMEMCPY(&ipr->iphdr, fraghdr, IP_HLEN); + } + } + /* Track the current number of pbufs current 'in-flight', in order to limit + the number of fragments that may be enqueued at any one time */ + ip_reass_pbufcount += clen; + + /* At this point, we have either created a new entry or pointing + * to an existing one */ + + /* check for 'no more fragments', and update queue entry*/ + if ((ntohs(IPH_OFFSET(fraghdr)) & IP_MF) == 0) { + ipr->flags |= IP_REASS_FLAG_LASTFRAG; + ipr->datagram_len = offset + len; + LWIP_DEBUGF(IP_REASS_DEBUG, + ("ip_reass: last fragment seen, total len %"S16_F"\n", + ipr->datagram_len)); + } + /* find the right place to insert this pbuf */ + /* @todo: trim pbufs if fragments are overlapping */ + if (ip_reass_chain_frag_into_datagram_and_validate(ipr, p)) { + /* the totally last fragment (flag more fragments = 0) was received at least + * once AND all fragments are received */ + ipr->datagram_len += IP_HLEN; + + /* save the second pbuf before copying the header over the pointer */ + r = ((struct ip_reass_helper*)ipr->p->payload)->next_pbuf; + + /* copy the original ip header back to the first pbuf */ + fraghdr = (struct ip_hdr*)(ipr->p->payload); + SMEMCPY(fraghdr, &ipr->iphdr, IP_HLEN); + IPH_LEN_SET(fraghdr, htons(ipr->datagram_len)); + IPH_OFFSET_SET(fraghdr, 0); + IPH_CHKSUM_SET(fraghdr, 0); + /* @todo: do we need to set calculate the correct checksum? */ + IPH_CHKSUM_SET(fraghdr, inet_chksum(fraghdr, IP_HLEN)); + + p = ipr->p; + + /* chain together the pbufs contained within the reass_data list. */ + while(r != NULL) { + iprh = (struct ip_reass_helper*)r->payload; + + /* hide the ip header for every succeding fragment */ + pbuf_header(r, -IP_HLEN); + pbuf_cat(p, r); + r = iprh->next_pbuf; + } + /* release the sources allocate for the fragment queue entry */ + ip_reass_dequeue_datagram(ipr, ipr_prev); + + /* and adjust the number of pbufs currently queued for reassembly. */ + ip_reass_pbufcount -= pbuf_clen(p); + + /* Return the pbuf chain */ + return p; + } + /* the datagram is not (yet?) reassembled completely */ + LWIP_DEBUGF(IP_REASS_DEBUG,("ip_reass_pbufcount: %d out\n", ip_reass_pbufcount)); + return NULL; + +nullreturn: + LWIP_DEBUGF(IP_REASS_DEBUG,("ip_reass: nullreturn\n")); + IPFRAG_STATS_INC(ip_frag.drop); + pbuf_free(p); + return NULL; +} +#endif /* IP_REASSEMBLY */ + +#if IP_FRAG +#if IP_FRAG_USES_STATIC_BUF +static u8_t buf[LWIP_MEM_ALIGN_SIZE(IP_FRAG_MAX_MTU + MEM_ALIGNMENT - 1)]; +#endif /* IP_FRAG_USES_STATIC_BUF */ + +/** + * Fragment an IP datagram if too large for the netif. + * + * Chop the datagram in MTU sized chunks and send them in order + * by using a fixed size static memory buffer (PBUF_REF) or + * point PBUF_REFs into p (depending on IP_FRAG_USES_STATIC_BUF). + * + * @param p ip packet to send + * @param netif the netif on which to send + * @param dest destination ip address to which to send + * + * @return ERR_OK if sent successfully, err_t otherwise + */ +err_t +ip_frag(struct pbuf *p, struct netif *netif, struct ip_addr *dest) +{ + struct pbuf *rambuf; +#if IP_FRAG_USES_STATIC_BUF + struct pbuf *header; +#else + struct pbuf *newpbuf; + struct ip_hdr *original_iphdr; +#endif + struct ip_hdr *iphdr; + u16_t nfb; + u16_t left, cop; + u16_t mtu = netif->mtu; + u16_t ofo, omf; + u16_t last; + u16_t poff = IP_HLEN; + u16_t tmp; +#if !IP_FRAG_USES_STATIC_BUF + u16_t newpbuflen = 0; + u16_t left_to_copy; +#endif + + /* Get a RAM based MTU sized pbuf */ +#if IP_FRAG_USES_STATIC_BUF + /* When using a static buffer, we use a PBUF_REF, which we will + * use to reference the packet (without link header). + * Layer and length is irrelevant. + */ + rambuf = pbuf_alloc(PBUF_LINK, 0, PBUF_REF); + if (rambuf == NULL) { + LWIP_DEBUGF(IP_REASS_DEBUG, ("ip_frag: pbuf_alloc(PBUF_LINK, 0, PBUF_REF) failed\n")); + return ERR_MEM; + } + rambuf->tot_len = rambuf->len = mtu; + rambuf->payload = LWIP_MEM_ALIGN((void *)buf); + + /* Copy the IP header in it */ + iphdr = rambuf->payload; + SMEMCPY(iphdr, p->payload, IP_HLEN); +#else /* IP_FRAG_USES_STATIC_BUF */ + original_iphdr = p->payload; + iphdr = original_iphdr; +#endif /* IP_FRAG_USES_STATIC_BUF */ + + /* Save original offset */ + tmp = ntohs(IPH_OFFSET(iphdr)); + ofo = tmp & IP_OFFMASK; + omf = tmp & IP_MF; + + left = p->tot_len - IP_HLEN; + + nfb = (mtu - IP_HLEN) / 8; + + while (left) { + last = (left <= mtu - IP_HLEN); + + /* Set new offset and MF flag */ + tmp = omf | (IP_OFFMASK & (ofo)); + if (!last) + tmp = tmp | IP_MF; + + /* Fill this fragment */ + cop = last ? left : nfb * 8; + +#if IP_FRAG_USES_STATIC_BUF + poff += pbuf_copy_partial(p, (u8_t*)iphdr + IP_HLEN, cop, poff); +#else /* IP_FRAG_USES_STATIC_BUF */ + /* When not using a static buffer, create a chain of pbufs. + * The first will be a PBUF_RAM holding the link and IP header. + * The rest will be PBUF_REFs mirroring the pbuf chain to be fragged, + * but limited to the size of an mtu. + */ + rambuf = pbuf_alloc(PBUF_LINK, IP_HLEN, PBUF_RAM); + if (rambuf == NULL) { + return ERR_MEM; + } + LWIP_ASSERT("this needs a pbuf in one piece!", + (p->len >= (IP_HLEN))); + SMEMCPY(rambuf->payload, original_iphdr, IP_HLEN); + iphdr = rambuf->payload; + + /* Can just adjust p directly for needed offset. */ + p->payload = (u8_t *)p->payload + poff; + p->len -= poff; + + left_to_copy = cop; + while (left_to_copy) { + newpbuflen = (left_to_copy < p->len) ? left_to_copy : p->len; + /* Is this pbuf already empty? */ + if (!newpbuflen) { + p = p->next; + continue; + } + newpbuf = pbuf_alloc(PBUF_RAW, 0, PBUF_REF); + if (newpbuf == NULL) { + pbuf_free(rambuf); + return ERR_MEM; + } + /* Mirror this pbuf, although we might not need all of it. */ + newpbuf->payload = p->payload; + newpbuf->len = newpbuf->tot_len = newpbuflen; + /* Add it to end of rambuf's chain, but using pbuf_cat, not pbuf_chain + * so that it is removed when pbuf_dechain is later called on rambuf. + */ + pbuf_cat(rambuf, newpbuf); + left_to_copy -= newpbuflen; + if (left_to_copy) + p = p->next; + } + poff = newpbuflen; +#endif /* IP_FRAG_USES_STATIC_BUF */ + + /* Correct header */ + IPH_OFFSET_SET(iphdr, htons(tmp)); + IPH_LEN_SET(iphdr, htons(cop + IP_HLEN)); + IPH_CHKSUM_SET(iphdr, 0); + IPH_CHKSUM_SET(iphdr, inet_chksum(iphdr, IP_HLEN)); + +#if IP_FRAG_USES_STATIC_BUF + if (last) + pbuf_realloc(rambuf, left + IP_HLEN); + + /* This part is ugly: we alloc a RAM based pbuf for + * the link level header for each chunk and then + * free it.A PBUF_ROM style pbuf for which pbuf_header + * worked would make things simpler. + */ + header = pbuf_alloc(PBUF_LINK, 0, PBUF_RAM); + if (header != NULL) { + pbuf_chain(header, rambuf); + netif->output(netif, header, dest); + IPFRAG_STATS_INC(ip_frag.xmit); + snmp_inc_ipfragcreates(); + pbuf_free(header); + } else { + LWIP_DEBUGF(IP_REASS_DEBUG, ("ip_frag: pbuf_alloc() for header failed\n")); + pbuf_free(rambuf); + return ERR_MEM; + } +#else /* IP_FRAG_USES_STATIC_BUF */ + /* No need for separate header pbuf - we allowed room for it in rambuf + * when allocated. + */ + netif->output(netif, rambuf, dest); + IPFRAG_STATS_INC(ip_frag.xmit); + + /* Unfortunately we can't reuse rambuf - the hardware may still be + * using the buffer. Instead we free it (and the ensuing chain) and + * recreate it next time round the loop. If we're lucky the hardware + * will have already sent the packet, the free will really free, and + * there will be zero memory penalty. + */ + + pbuf_free(rambuf); +#endif /* IP_FRAG_USES_STATIC_BUF */ + left -= cop; + ofo += nfb; + } +#if IP_FRAG_USES_STATIC_BUF + pbuf_free(rambuf); +#endif /* IP_FRAG_USES_STATIC_BUF */ + snmp_inc_ipfragoks(); + return ERR_OK; +} +#endif /* IP_FRAG */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/mem.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/mem.c new file mode 100644 index 0000000..ea3f4a6 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/mem.c @@ -0,0 +1,635 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Dynamic memory manager + * + * This is a lightweight replacement for the standard C library malloc(). + * + * If you want to use the standard C library malloc() instead, define + * MEM_LIBC_MALLOC to 1 in your lwipopts.h + * + * To let mem_malloc() use pools (prevents fragmentation and is much faster than + * a heap but might waste some memory), define MEM_USE_POOLS to 1, define + * MEM_USE_CUSTOM_POOLS to 1 and create a file "lwippools.h" that includes a list + * of pools like this (more pools can be added between _START and _END): + * + * Define three pools with sizes 256, 512, and 1512 bytes + * LWIP_MALLOC_MEMPOOL_START + * LWIP_MALLOC_MEMPOOL(20, 256) + * LWIP_MALLOC_MEMPOOL(10, 512) + * LWIP_MALLOC_MEMPOOL(5, 1512) + * LWIP_MALLOC_MEMPOOL_END + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * Simon Goldschmidt + * + */ + +#include "lwip/opt.h" + +#if !MEM_LIBC_MALLOC /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/def.h" +#include "lwip/mem.h" +#include "lwip/sys.h" +#include "lwip/stats.h" + +#include <string.h> + +#if MEM_USE_POOLS +/* lwIP head implemented with different sized pools */ + +/** + * Allocate memory: determine the smallest pool that is big enough + * to contain an element of 'size' and get an element from that pool. + * + * @param size the size in bytes of the memory needed + * @return a pointer to the allocated memory or NULL if the pool is empty + */ +void * +mem_malloc(mem_size_t size) +{ + struct memp_malloc_helper *element; + memp_t poolnr; + mem_size_t required_size = size + sizeof(struct memp_malloc_helper); + + for (poolnr = MEMP_POOL_FIRST; poolnr <= MEMP_POOL_LAST; poolnr++) { +#if MEM_USE_POOLS_TRY_BIGGER_POOL +again: +#endif /* MEM_USE_POOLS_TRY_BIGGER_POOL */ + /* is this pool big enough to hold an element of the required size + plus a struct memp_malloc_helper that saves the pool this element came from? */ + if (required_size <= memp_sizes[poolnr]) { + break; + } + } + if (poolnr > MEMP_POOL_LAST) { + LWIP_ASSERT("mem_malloc(): no pool is that big!", 0); + return NULL; + } + element = (struct memp_malloc_helper*)memp_malloc(poolnr); + if (element == NULL) { + /* No need to DEBUGF or ASSERT: This error is already + taken care of in memp.c */ +#if MEM_USE_POOLS_TRY_BIGGER_POOL + /** Try a bigger pool if this one is empty! */ + if (poolnr < MEMP_POOL_LAST) { + poolnr++; + goto again; + } +#endif /* MEM_USE_POOLS_TRY_BIGGER_POOL */ + return NULL; + } + + /* save the pool number this element came from */ + element->poolnr = poolnr; + /* and return a pointer to the memory directly after the struct memp_malloc_helper */ + element++; + + return element; +} + +/** + * Free memory previously allocated by mem_malloc. Loads the pool number + * and calls memp_free with that pool number to put the element back into + * its pool + * + * @param rmem the memory element to free + */ +void +mem_free(void *rmem) +{ + struct memp_malloc_helper *hmem = (struct memp_malloc_helper*)rmem; + + LWIP_ASSERT("rmem != NULL", (rmem != NULL)); + LWIP_ASSERT("rmem == MEM_ALIGN(rmem)", (rmem == LWIP_MEM_ALIGN(rmem))); + + /* get the original struct memp_malloc_helper */ + hmem--; + + LWIP_ASSERT("hmem != NULL", (hmem != NULL)); + LWIP_ASSERT("hmem == MEM_ALIGN(hmem)", (hmem == LWIP_MEM_ALIGN(hmem))); + LWIP_ASSERT("hmem->poolnr < MEMP_MAX", (hmem->poolnr < MEMP_MAX)); + + /* and put it in the pool we saved earlier */ + memp_free(hmem->poolnr, hmem); +} + +#else /* MEM_USE_POOLS */ +/* lwIP replacement for your libc malloc() */ + +/** + * The heap is made up as a list of structs of this type. + * This does not have to be aligned since for getting its size, + * we only use the macro SIZEOF_STRUCT_MEM, which automatically alignes. + */ +struct mem { + /** index (-> ram[next]) of the next struct */ + mem_size_t next; + /** index (-> ram[next]) of the next struct */ + mem_size_t prev; + /** 1: this area is used; 0: this area is unused */ + u8_t used; +}; + +/** All allocated blocks will be MIN_SIZE bytes big, at least! + * MIN_SIZE can be overridden to suit your needs. Smaller values save space, + * larger values could prevent too small blocks to fragment the RAM too much. */ +#ifndef MIN_SIZE +#define MIN_SIZE 12 +#endif /* MIN_SIZE */ +/* some alignment macros: we define them here for better source code layout */ +#define MIN_SIZE_ALIGNED LWIP_MEM_ALIGN_SIZE(MIN_SIZE) +#define SIZEOF_STRUCT_MEM LWIP_MEM_ALIGN_SIZE(sizeof(struct mem)) +#define MEM_SIZE_ALIGNED LWIP_MEM_ALIGN_SIZE(MEM_SIZE) + +/** the heap. we need one struct mem at the end and some room for alignment */ +static u8_t ram_heap[MEM_SIZE_ALIGNED + (2*SIZEOF_STRUCT_MEM) + MEM_ALIGNMENT]; +/** pointer to the heap (ram_heap): for alignment, ram is now a pointer instead of an array */ +static u8_t *ram; +/** the last entry, always unused! */ +static struct mem *ram_end; +/** pointer to the lowest free block, this is used for faster search */ +static struct mem *lfree; + +/** concurrent access protection */ +static sys_sem_t mem_sem; + +#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT + +static volatile u8_t mem_free_count; + +/* Allow mem_free from other (e.g. interrupt) context */ +#define LWIP_MEM_FREE_DECL_PROTECT() SYS_ARCH_DECL_PROTECT(lev_free) +#define LWIP_MEM_FREE_PROTECT() SYS_ARCH_PROTECT(lev_free) +#define LWIP_MEM_FREE_UNPROTECT() SYS_ARCH_UNPROTECT(lev_free) +#define LWIP_MEM_ALLOC_DECL_PROTECT() SYS_ARCH_DECL_PROTECT(lev_alloc) +#define LWIP_MEM_ALLOC_PROTECT() SYS_ARCH_PROTECT(lev_alloc) +#define LWIP_MEM_ALLOC_UNPROTECT() SYS_ARCH_UNPROTECT(lev_alloc) + +#else /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */ + +/* Protect the heap only by using a semaphore */ +#define LWIP_MEM_FREE_DECL_PROTECT() +#define LWIP_MEM_FREE_PROTECT() sys_arch_sem_wait(mem_sem, 0) +#define LWIP_MEM_FREE_UNPROTECT() sys_sem_signal(mem_sem) +/* mem_malloc is protected using semaphore AND LWIP_MEM_ALLOC_PROTECT */ +#define LWIP_MEM_ALLOC_DECL_PROTECT() +#define LWIP_MEM_ALLOC_PROTECT() +#define LWIP_MEM_ALLOC_UNPROTECT() + +#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */ + + +/** + * "Plug holes" by combining adjacent empty struct mems. + * After this function is through, there should not exist + * one empty struct mem pointing to another empty struct mem. + * + * @param mem this points to a struct mem which just has been freed + * @internal this function is only called by mem_free() and mem_realloc() + * + * This assumes access to the heap is protected by the calling function + * already. + */ +static void +plug_holes(struct mem *mem) +{ + struct mem *nmem; + struct mem *pmem; + + LWIP_ASSERT("plug_holes: mem >= ram", (u8_t *)mem >= ram); + LWIP_ASSERT("plug_holes: mem < ram_end", (u8_t *)mem < (u8_t *)ram_end); + LWIP_ASSERT("plug_holes: mem->used == 0", mem->used == 0); + + /* plug hole forward */ + LWIP_ASSERT("plug_holes: mem->next <= MEM_SIZE_ALIGNED", mem->next <= MEM_SIZE_ALIGNED); + + nmem = (struct mem *)&ram[mem->next]; + if (mem != nmem && nmem->used == 0 && (u8_t *)nmem != (u8_t *)ram_end) { + /* if mem->next is unused and not end of ram, combine mem and mem->next */ + if (lfree == nmem) { + lfree = mem; + } + mem->next = nmem->next; + ((struct mem *)&ram[nmem->next])->prev = (u8_t *)mem - ram; + } + + /* plug hole backward */ + pmem = (struct mem *)&ram[mem->prev]; + if (pmem != mem && pmem->used == 0) { + /* if mem->prev is unused, combine mem and mem->prev */ + if (lfree == mem) { + lfree = pmem; + } + pmem->next = mem->next; + ((struct mem *)&ram[mem->next])->prev = (u8_t *)pmem - ram; + } +} + +/** + * Zero the heap and initialize start, end and lowest-free + */ +void +mem_init(void) +{ + struct mem *mem; + + LWIP_ASSERT("Sanity check alignment", + (SIZEOF_STRUCT_MEM & (MEM_ALIGNMENT-1)) == 0); + + /* align the heap */ + ram = LWIP_MEM_ALIGN(ram_heap); + /* initialize the start of the heap */ + mem = (struct mem *)ram; + mem->next = MEM_SIZE_ALIGNED; + mem->prev = 0; + mem->used = 0; + /* initialize the end of the heap */ + ram_end = (struct mem *)&ram[MEM_SIZE_ALIGNED]; + ram_end->used = 1; + ram_end->next = MEM_SIZE_ALIGNED; + ram_end->prev = MEM_SIZE_ALIGNED; + + mem_sem = sys_sem_new(1); + + /* initialize the lowest-free pointer to the start of the heap */ + lfree = (struct mem *)ram; + + MEM_STATS_AVAIL(avail, MEM_SIZE_ALIGNED); +} + +/** + * Put a struct mem back on the heap + * + * @param rmem is the data portion of a struct mem as returned by a previous + * call to mem_malloc() + */ +void +mem_free(void *rmem) +{ + struct mem *mem; + LWIP_MEM_FREE_DECL_PROTECT(); + + if (rmem == NULL) { + LWIP_DEBUGF(MEM_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("mem_free(p == NULL) was called.\n")); + return; + } + LWIP_ASSERT("mem_free: sanity check alignment", (((mem_ptr_t)rmem) & (MEM_ALIGNMENT-1)) == 0); + + LWIP_ASSERT("mem_free: legal memory", (u8_t *)rmem >= (u8_t *)ram && + (u8_t *)rmem < (u8_t *)ram_end); + + if ((u8_t *)rmem < (u8_t *)ram || (u8_t *)rmem >= (u8_t *)ram_end) { + SYS_ARCH_DECL_PROTECT(lev); + LWIP_DEBUGF(MEM_DEBUG | LWIP_DBG_LEVEL_SEVERE, ("mem_free: illegal memory\n")); + /* protect mem stats from concurrent access */ + SYS_ARCH_PROTECT(lev); + MEM_STATS_INC(illegal); + SYS_ARCH_UNPROTECT(lev); + return; + } + /* protect the heap from concurrent access */ + LWIP_MEM_FREE_PROTECT(); + /* Get the corresponding struct mem ... */ + mem = (struct mem *)((u8_t *)rmem - SIZEOF_STRUCT_MEM); + /* ... which has to be in a used state ... */ + LWIP_ASSERT("mem_free: mem->used", mem->used); + /* ... and is now unused. */ + mem->used = 0; + + if (mem < lfree) { + /* the newly freed struct is now the lowest */ + lfree = mem; + } + + MEM_STATS_DEC_USED(used, mem->next - ((u8_t *)mem - ram)); + + /* finally, see if prev or next are free also */ + plug_holes(mem); +#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT + mem_free_count = 1; +#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */ + LWIP_MEM_FREE_UNPROTECT(); +} + +/** + * In contrast to its name, mem_realloc can only shrink memory, not expand it. + * Since the only use (for now) is in pbuf_realloc (which also can only shrink), + * this shouldn't be a problem! + * + * @param rmem pointer to memory allocated by mem_malloc the is to be shrinked + * @param newsize required size after shrinking (needs to be smaller than or + * equal to the previous size) + * @return for compatibility reasons: is always == rmem, at the moment + * or NULL if newsize is > old size, in which case rmem is NOT touched + * or freed! + */ +void * +mem_realloc(void *rmem, mem_size_t newsize) +{ + mem_size_t size; + mem_size_t ptr, ptr2; + struct mem *mem, *mem2; + /* use the FREE_PROTECT here: it protects with sem OR SYS_ARCH_PROTECT */ + LWIP_MEM_FREE_DECL_PROTECT(); + + /* Expand the size of the allocated memory region so that we can + adjust for alignment. */ + newsize = LWIP_MEM_ALIGN_SIZE(newsize); + + if(newsize < MIN_SIZE_ALIGNED) { + /* every data block must be at least MIN_SIZE_ALIGNED long */ + newsize = MIN_SIZE_ALIGNED; + } + + if (newsize > MEM_SIZE_ALIGNED) { + return NULL; + } + + LWIP_ASSERT("mem_realloc: legal memory", (u8_t *)rmem >= (u8_t *)ram && + (u8_t *)rmem < (u8_t *)ram_end); + + if ((u8_t *)rmem < (u8_t *)ram || (u8_t *)rmem >= (u8_t *)ram_end) { + SYS_ARCH_DECL_PROTECT(lev); + LWIP_DEBUGF(MEM_DEBUG | LWIP_DBG_LEVEL_SEVERE, ("mem_realloc: illegal memory\n")); + /* protect mem stats from concurrent access */ + SYS_ARCH_PROTECT(lev); + MEM_STATS_INC(illegal); + SYS_ARCH_UNPROTECT(lev); + return rmem; + } + /* Get the corresponding struct mem ... */ + mem = (struct mem *)((u8_t *)rmem - SIZEOF_STRUCT_MEM); + /* ... and its offset pointer */ + ptr = (u8_t *)mem - ram; + + size = mem->next - ptr - SIZEOF_STRUCT_MEM; + LWIP_ASSERT("mem_realloc can only shrink memory", newsize <= size); + if (newsize > size) { + /* not supported */ + return NULL; + } + if (newsize == size) { + /* No change in size, simply return */ + return rmem; + } + + /* protect the heap from concurrent access */ + LWIP_MEM_FREE_PROTECT(); + + MEM_STATS_DEC_USED(used, (size - newsize)); + + mem2 = (struct mem *)&ram[mem->next]; + if(mem2->used == 0) { + /* The next struct is unused, we can simply move it at little */ + mem_size_t next; + /* remember the old next pointer */ + next = mem2->next; + /* create new struct mem which is moved directly after the shrinked mem */ + ptr2 = ptr + SIZEOF_STRUCT_MEM + newsize; + if (lfree == mem2) { + lfree = (struct mem *)&ram[ptr2]; + } + mem2 = (struct mem *)&ram[ptr2]; + mem2->used = 0; + /* restore the next pointer */ + mem2->next = next; + /* link it back to mem */ + mem2->prev = ptr; + /* link mem to it */ + mem->next = ptr2; + /* last thing to restore linked list: as we have moved mem2, + * let 'mem2->next->prev' point to mem2 again. but only if mem2->next is not + * the end of the heap */ + if (mem2->next != MEM_SIZE_ALIGNED) { + ((struct mem *)&ram[mem2->next])->prev = ptr2; + } + /* no need to plug holes, we've already done that */ + } else if (newsize + SIZEOF_STRUCT_MEM + MIN_SIZE_ALIGNED <= size) { + /* Next struct is used but there's room for another struct mem with + * at least MIN_SIZE_ALIGNED of data. + * Old size ('size') must be big enough to contain at least 'newsize' plus a struct mem + * ('SIZEOF_STRUCT_MEM') with some data ('MIN_SIZE_ALIGNED'). + * @todo we could leave out MIN_SIZE_ALIGNED. We would create an empty + * region that couldn't hold data, but when mem->next gets freed, + * the 2 regions would be combined, resulting in more free memory */ + ptr2 = ptr + SIZEOF_STRUCT_MEM + newsize; + mem2 = (struct mem *)&ram[ptr2]; + if (mem2 < lfree) { + lfree = mem2; + } + mem2->used = 0; + mem2->next = mem->next; + mem2->prev = ptr; + mem->next = ptr2; + if (mem2->next != MEM_SIZE_ALIGNED) { + ((struct mem *)&ram[mem2->next])->prev = ptr2; + } + /* the original mem->next is used, so no need to plug holes! */ + } + /* else { + next struct mem is used but size between mem and mem2 is not big enough + to create another struct mem + -> don't do anyhting. + -> the remaining space stays unused since it is too small + } */ +#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT + mem_free_count = 1; +#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */ + LWIP_MEM_FREE_UNPROTECT(); + return rmem; +} + +/** + * Adam's mem_malloc() plus solution for bug #17922 + * Allocate a block of memory with a minimum of 'size' bytes. + * + * @param size is the minimum size of the requested block in bytes. + * @return pointer to allocated memory or NULL if no free memory was found. + * + * Note that the returned value will always be aligned (as defined by MEM_ALIGNMENT). + */ +void * +mem_malloc(mem_size_t size) +{ + mem_size_t ptr, ptr2; + struct mem *mem, *mem2; +#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT + u8_t local_mem_free_count = 0; +#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */ + LWIP_MEM_ALLOC_DECL_PROTECT(); + + if (size == 0) { + return NULL; + } + + /* Expand the size of the allocated memory region so that we can + adjust for alignment. */ + size = LWIP_MEM_ALIGN_SIZE(size); + + if(size < MIN_SIZE_ALIGNED) { + /* every data block must be at least MIN_SIZE_ALIGNED long */ + size = MIN_SIZE_ALIGNED; + } + + if (size > MEM_SIZE_ALIGNED) { + return NULL; + } + + /* protect the heap from concurrent access */ + sys_arch_sem_wait(mem_sem, 0); + LWIP_MEM_ALLOC_PROTECT(); +#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT + /* run as long as a mem_free disturbed mem_malloc */ + do { + local_mem_free_count = 0; +#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */ + + /* Scan through the heap searching for a free block that is big enough, + * beginning with the lowest free block. + */ + for (ptr = (u8_t *)lfree - ram; ptr < MEM_SIZE_ALIGNED - size; + ptr = ((struct mem *)&ram[ptr])->next) { + mem = (struct mem *)&ram[ptr]; +#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT + mem_free_count = 0; + LWIP_MEM_ALLOC_UNPROTECT(); + /* allow mem_free to run */ + LWIP_MEM_ALLOC_PROTECT(); + if (mem_free_count != 0) { + local_mem_free_count = mem_free_count; + } + mem_free_count = 0; +#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */ + + if ((!mem->used) && + (mem->next - (ptr + SIZEOF_STRUCT_MEM)) >= size) { + /* mem is not used and at least perfect fit is possible: + * mem->next - (ptr + SIZEOF_STRUCT_MEM) gives us the 'user data size' of mem */ + + if (mem->next - (ptr + SIZEOF_STRUCT_MEM) >= (size + SIZEOF_STRUCT_MEM + MIN_SIZE_ALIGNED)) { + /* (in addition to the above, we test if another struct mem (SIZEOF_STRUCT_MEM) containing + * at least MIN_SIZE_ALIGNED of data also fits in the 'user data space' of 'mem') + * -> split large block, create empty remainder, + * remainder must be large enough to contain MIN_SIZE_ALIGNED data: if + * mem->next - (ptr + (2*SIZEOF_STRUCT_MEM)) == size, + * struct mem would fit in but no data between mem2 and mem2->next + * @todo we could leave out MIN_SIZE_ALIGNED. We would create an empty + * region that couldn't hold data, but when mem->next gets freed, + * the 2 regions would be combined, resulting in more free memory + */ + ptr2 = ptr + SIZEOF_STRUCT_MEM + size; + /* create mem2 struct */ + mem2 = (struct mem *)&ram[ptr2]; + mem2->used = 0; + mem2->next = mem->next; + mem2->prev = ptr; + /* and insert it between mem and mem->next */ + mem->next = ptr2; + mem->used = 1; + + if (mem2->next != MEM_SIZE_ALIGNED) { + ((struct mem *)&ram[mem2->next])->prev = ptr2; + } + MEM_STATS_INC_USED(used, (size + SIZEOF_STRUCT_MEM)); + } else { + /* (a mem2 struct does no fit into the user data space of mem and mem->next will always + * be used at this point: if not we have 2 unused structs in a row, plug_holes should have + * take care of this). + * -> near fit or excact fit: do not split, no mem2 creation + * also can't move mem->next directly behind mem, since mem->next + * will always be used at this point! + */ + mem->used = 1; + MEM_STATS_INC_USED(used, mem->next - ((u8_t *)mem - ram)); + } + + if (mem == lfree) { + /* Find next free block after mem and update lowest free pointer */ + while (lfree->used && lfree != ram_end) { + LWIP_MEM_ALLOC_UNPROTECT(); + /* prevent high interrupt latency... */ + LWIP_MEM_ALLOC_PROTECT(); + lfree = (struct mem *)&ram[lfree->next]; + } + LWIP_ASSERT("mem_malloc: !lfree->used", ((lfree == ram_end) || (!lfree->used))); + } + LWIP_MEM_ALLOC_UNPROTECT(); + sys_sem_signal(mem_sem); + LWIP_ASSERT("mem_malloc: allocated memory not above ram_end.", + (mem_ptr_t)mem + SIZEOF_STRUCT_MEM + size <= (mem_ptr_t)ram_end); + LWIP_ASSERT("mem_malloc: allocated memory properly aligned.", + ((mem_ptr_t)mem + SIZEOF_STRUCT_MEM) % MEM_ALIGNMENT == 0); + LWIP_ASSERT("mem_malloc: sanity check alignment", + (((mem_ptr_t)mem) & (MEM_ALIGNMENT-1)) == 0); + + return (u8_t *)mem + SIZEOF_STRUCT_MEM; + } + } +#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT + /* if we got interrupted by a mem_free, try again */ + } while(local_mem_free_count != 0); +#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */ + LWIP_DEBUGF(MEM_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("mem_malloc: could not allocate %"S16_F" bytes\n", (s16_t)size)); + MEM_STATS_INC(err); + LWIP_MEM_ALLOC_UNPROTECT(); + sys_sem_signal(mem_sem); + return NULL; +} + +#endif /* MEM_USE_POOLS */ +/** + * Contiguously allocates enough space for count objects that are size bytes + * of memory each and returns a pointer to the allocated memory. + * + * The allocated memory is filled with bytes of value zero. + * + * @param count number of objects to allocate + * @param size size of the objects to allocate + * @return pointer to allocated memory / NULL pointer if there is an error + */ +void *mem_calloc(mem_size_t count, mem_size_t size) +{ + void *p; + + /* allocate 'count' objects of size 'size' */ + p = mem_malloc(count * size); + if (p) { + /* zero the memory */ + memset(p, 0, count * size); + } + return p; +} + +#endif /* !MEM_LIBC_MALLOC */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/memp.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/memp.c new file mode 100644 index 0000000..bd2fd26 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/memp.c @@ -0,0 +1,388 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Dynamic pool memory manager + * + * lwIP has dedicated pools for many structures (netconn, protocol control blocks, + * packet buffers, ...). All these pools are managed here. + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#include "lwip/memp.h" +#include "lwip/pbuf.h" +#include "lwip/udp.h" +#include "lwip/raw.h" +#include "lwip/tcp.h" +#include "lwip/igmp.h" +#include "lwip/api.h" +#include "lwip/api_msg.h" +#include "lwip/tcpip.h" +#include "lwip/sys.h" +#include "lwip/stats.h" +#include "netif/etharp.h" +#include "lwip/ip_frag.h" + +#include <string.h> + +#if !MEMP_MEM_MALLOC /* don't build if not configured for use in lwipopts.h */ + +struct memp { + struct memp *next; +#if MEMP_OVERFLOW_CHECK + const char *file; + int line; +#endif /* MEMP_OVERFLOW_CHECK */ +}; + +#if MEMP_OVERFLOW_CHECK +/* if MEMP_OVERFLOW_CHECK is turned on, we reserve some bytes at the beginning + * and at the end of each element, initialize them as 0xcd and check + * them later. */ +/* If MEMP_OVERFLOW_CHECK is >= 2, on every call to memp_malloc or memp_free, + * every single element in each pool is checked! + * This is VERY SLOW but also very helpful. */ +/* MEMP_SANITY_REGION_BEFORE and MEMP_SANITY_REGION_AFTER can be overridden in + * lwipopts.h to change the amount reserved for checking. */ +#ifndef MEMP_SANITY_REGION_BEFORE +#define MEMP_SANITY_REGION_BEFORE 16 +#endif /* MEMP_SANITY_REGION_BEFORE*/ +#if MEMP_SANITY_REGION_BEFORE > 0 +#define MEMP_SANITY_REGION_BEFORE_ALIGNED LWIP_MEM_ALIGN_SIZE(MEMP_SANITY_REGION_BEFORE) +#else +#define MEMP_SANITY_REGION_BEFORE_ALIGNED 0 +#endif /* MEMP_SANITY_REGION_BEFORE*/ +#ifndef MEMP_SANITY_REGION_AFTER +#define MEMP_SANITY_REGION_AFTER 16 +#endif /* MEMP_SANITY_REGION_AFTER*/ +#if MEMP_SANITY_REGION_AFTER > 0 +#define MEMP_SANITY_REGION_AFTER_ALIGNED LWIP_MEM_ALIGN_SIZE(MEMP_SANITY_REGION_AFTER) +#else +#define MEMP_SANITY_REGION_AFTER_ALIGNED 0 +#endif /* MEMP_SANITY_REGION_AFTER*/ + +/* MEMP_SIZE: save space for struct memp and for sanity check */ +#define MEMP_SIZE (LWIP_MEM_ALIGN_SIZE(sizeof(struct memp)) + MEMP_SANITY_REGION_BEFORE_ALIGNED) +#define MEMP_ALIGN_SIZE(x) (LWIP_MEM_ALIGN_SIZE(x) + MEMP_SANITY_REGION_AFTER_ALIGNED) + +#else /* MEMP_OVERFLOW_CHECK */ + +/* No sanity checks + * We don't need to preserve the struct memp while not allocated, so we + * can save a little space and set MEMP_SIZE to 0. + */ +#define MEMP_SIZE 0 +#define MEMP_ALIGN_SIZE(x) (LWIP_MEM_ALIGN_SIZE(x)) + +#endif /* MEMP_OVERFLOW_CHECK */ + +/** This array holds the first free element of each pool. + * Elements form a linked list. */ +static struct memp *memp_tab[MEMP_MAX]; + +#else /* MEMP_MEM_MALLOC */ + +#define MEMP_ALIGN_SIZE(x) (LWIP_MEM_ALIGN_SIZE(x)) + +#endif /* MEMP_MEM_MALLOC */ + +/** This array holds the element sizes of each pool. */ +#if !MEM_USE_POOLS && !MEMP_MEM_MALLOC +static +#endif +const u16_t memp_sizes[MEMP_MAX] = { +#define LWIP_MEMPOOL(name,num,size,desc) LWIP_MEM_ALIGN_SIZE(size), +#include "lwip/memp_std.h" +}; + +#if !MEMP_MEM_MALLOC /* don't build if not configured for use in lwipopts.h */ + +/** This array holds the number of elements in each pool. */ +static const u16_t memp_num[MEMP_MAX] = { +#define LWIP_MEMPOOL(name,num,size,desc) (num), +#include "lwip/memp_std.h" +}; + +/** This array holds a textual description of each pool. */ +#ifdef LWIP_DEBUG +static const char *memp_desc[MEMP_MAX] = { +#define LWIP_MEMPOOL(name,num,size,desc) (desc), +#include "lwip/memp_std.h" +}; +#endif /* LWIP_DEBUG */ + +/** This is the actual memory used by the pools. */ +static u8_t memp_memory[MEM_ALIGNMENT - 1 +#define LWIP_MEMPOOL(name,num,size,desc) + ( (num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size) ) ) +#include "lwip/memp_std.h" +]; + +#if MEMP_SANITY_CHECK +/** + * Check that memp-lists don't form a circle + */ +static int +memp_sanity(void) +{ + s16_t i, c; + struct memp *m, *n; + + for (i = 0; i < MEMP_MAX; i++) { + for (m = memp_tab[i]; m != NULL; m = m->next) { + c = 1; + for (n = memp_tab[i]; n != NULL; n = n->next) { + if (n == m && --c < 0) { + return 0; + } + } + } + } + return 1; +} +#endif /* MEMP_SANITY_CHECK*/ +#if MEMP_OVERFLOW_CHECK +/** + * Check if a memp element was victim of an overflow + * (e.g. the restricted area after it has been altered) + * + * @param p the memp element to check + * @param memp_size the element size of the pool p comes from + */ +static void +memp_overflow_check_element(struct memp *p, u16_t memp_size) +{ + u16_t k; + u8_t *m; +#if MEMP_SANITY_REGION_BEFORE_ALIGNED > 0 + m = (u8_t*)p + MEMP_SIZE - MEMP_SANITY_REGION_BEFORE_ALIGNED; + for (k = 0; k < MEMP_SANITY_REGION_BEFORE_ALIGNED; k++) { + if (m[k] != 0xcd) { + LWIP_ASSERT("detected memp underflow!", 0); + } + } +#endif +#if MEMP_SANITY_REGION_AFTER_ALIGNED > 0 + m = (u8_t*)p + MEMP_SIZE + memp_size; + for (k = 0; k < MEMP_SANITY_REGION_AFTER_ALIGNED; k++) { + if (m[k] != 0xcd) { + LWIP_ASSERT("detected memp overflow!", 0); + } + } +#endif +} + +/** + * Do an overflow check for all elements in every pool. + * + * @see memp_overflow_check_element for a description of the check + */ +static void +memp_overflow_check_all(void) +{ + u16_t i, j; + struct memp *p; + + p = LWIP_MEM_ALIGN(memp_memory); + for (i = 0; i < MEMP_MAX; ++i) { + p = p; + for (j = 0; j < memp_num[i]; ++j) { + memp_overflow_check_element(p, memp_sizes[i]); + p = (struct memp*)((u8_t*)p + MEMP_SIZE + memp_sizes[i] + MEMP_SANITY_REGION_AFTER_ALIGNED); + } + } +} + +/** + * Initialize the restricted areas of all memp elements in every pool. + */ +static void +memp_overflow_init(void) +{ + u16_t i, j; + struct memp *p; + u8_t *m; + + p = LWIP_MEM_ALIGN(memp_memory); + for (i = 0; i < MEMP_MAX; ++i) { + p = p; + for (j = 0; j < memp_num[i]; ++j) { +#if MEMP_SANITY_REGION_BEFORE_ALIGNED > 0 + m = (u8_t*)p + MEMP_SIZE - MEMP_SANITY_REGION_BEFORE_ALIGNED; + memset(m, 0xcd, MEMP_SANITY_REGION_BEFORE_ALIGNED); +#endif +#if MEMP_SANITY_REGION_AFTER_ALIGNED > 0 + m = (u8_t*)p + MEMP_SIZE + memp_sizes[i]; + memset(m, 0xcd, MEMP_SANITY_REGION_AFTER_ALIGNED); +#endif + p = (struct memp*)((u8_t*)p + MEMP_SIZE + memp_sizes[i] + MEMP_SANITY_REGION_AFTER_ALIGNED); + } + } +} +#endif /* MEMP_OVERFLOW_CHECK */ + +/** + * Initialize this module. + * + * Carves out memp_memory into linked lists for each pool-type. + */ +void +memp_init(void) +{ + struct memp *memp; + u16_t i, j; + + for (i = 0; i < MEMP_MAX; ++i) { + MEMP_STATS_AVAIL(used, i, 0); + MEMP_STATS_AVAIL(max, i, 0); + MEMP_STATS_AVAIL(err, i, 0); + MEMP_STATS_AVAIL(avail, i, memp_num[i]); + } + + memp = LWIP_MEM_ALIGN(memp_memory); + /* for every pool: */ + for (i = 0; i < MEMP_MAX; ++i) { + memp_tab[i] = NULL; + /* create a linked list of memp elements */ + for (j = 0; j < memp_num[i]; ++j) { + memp->next = memp_tab[i]; + memp_tab[i] = memp; + memp = (struct memp *)((u8_t *)memp + MEMP_SIZE + memp_sizes[i] +#if MEMP_OVERFLOW_CHECK + + MEMP_SANITY_REGION_AFTER_ALIGNED +#endif + ); + } + } +#if MEMP_OVERFLOW_CHECK + memp_overflow_init(); + /* check everything a first time to see if it worked */ + memp_overflow_check_all(); +#endif /* MEMP_OVERFLOW_CHECK */ +} + +/** + * Get an element from a specific pool. + * + * @param type the pool to get an element from + * + * the debug version has two more parameters: + * @param file file name calling this function + * @param line number of line where this function is called + * + * @return a pointer to the allocated memory or a NULL pointer on error + */ +void * +#if !MEMP_OVERFLOW_CHECK +memp_malloc(memp_t type) +#else +memp_malloc_fn(memp_t type, const char* file, const int line) +#endif +{ + struct memp *memp; + SYS_ARCH_DECL_PROTECT(old_level); + + LWIP_ERROR("memp_malloc: type < MEMP_MAX", (type < MEMP_MAX), return NULL;); + + SYS_ARCH_PROTECT(old_level); +#if MEMP_OVERFLOW_CHECK >= 2 + memp_overflow_check_all(); +#endif /* MEMP_OVERFLOW_CHECK >= 2 */ + + memp = memp_tab[type]; + + if (memp != NULL) { + memp_tab[type] = memp->next; +#if MEMP_OVERFLOW_CHECK + memp->next = NULL; + memp->file = file; + memp->line = line; +#endif /* MEMP_OVERFLOW_CHECK */ + MEMP_STATS_INC_USED(used, type); + LWIP_ASSERT("memp_malloc: memp properly aligned", + ((mem_ptr_t)memp % MEM_ALIGNMENT) == 0); + memp = (struct memp*)((u8_t*)memp + MEMP_SIZE); + } else { + LWIP_DEBUGF(MEMP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("memp_malloc: out of memory in pool %s\n", memp_desc[type])); + MEMP_STATS_INC(err, type); + } + + SYS_ARCH_UNPROTECT(old_level); + + return memp; +} + +/** + * Put an element back into its pool. + * + * @param type the pool where to put mem + * @param mem the memp element to free + */ +void +memp_free(memp_t type, void *mem) +{ + struct memp *memp; + SYS_ARCH_DECL_PROTECT(old_level); + + if (mem == NULL) { + return; + } + LWIP_ASSERT("memp_free: mem properly aligned", + ((mem_ptr_t)mem % MEM_ALIGNMENT) == 0); + + memp = (struct memp *)((u8_t*)mem - MEMP_SIZE); + + SYS_ARCH_PROTECT(old_level); +#if MEMP_OVERFLOW_CHECK +#if MEMP_OVERFLOW_CHECK >= 2 + memp_overflow_check_all(); +#else + memp_overflow_check_element(memp, memp_sizes[type]); +#endif /* MEMP_OVERFLOW_CHECK >= 2 */ +#endif /* MEMP_OVERFLOW_CHECK */ + + MEMP_STATS_DEC(used, type); + + memp->next = memp_tab[type]; + memp_tab[type] = memp; + +#if MEMP_SANITY_CHECK + LWIP_ASSERT("memp sanity", memp_sanity()); +#endif /* MEMP_SANITY_CHECK */ + + SYS_ARCH_UNPROTECT(old_level); +} + +#endif /* MEMP_MEM_MALLOC */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/netif.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/netif.c new file mode 100644 index 0000000..cf3815c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/netif.c @@ -0,0 +1,683 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * lwIP network interface abstraction + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#include "lwip/def.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" +#include "lwip/tcp.h" +#include "lwip/snmp.h" +#include "lwip/igmp.h" +#include "netif/etharp.h" +#if ENABLE_LOOPBACK +#include "lwip/sys.h" +#if LWIP_NETIF_LOOPBACK_MULTITHREADING +#include "lwip/tcpip.h" +#endif /* LWIP_NETIF_LOOPBACK_MULTITHREADING */ +#endif /* ENABLE_LOOPBACK */ + +#if LWIP_AUTOIP +#include "lwip/autoip.h" +#endif /* LWIP_AUTOIP */ +#if LWIP_DHCP +#include "lwip/dhcp.h" +#endif /* LWIP_DHCP */ + +#if LWIP_NETIF_STATUS_CALLBACK +#define NETIF_STATUS_CALLBACK(n) { if (n->status_callback) (n->status_callback)(n); } +#else +#define NETIF_STATUS_CALLBACK(n) { /* NOP */ } +#endif /* LWIP_NETIF_STATUS_CALLBACK */ + +#if LWIP_NETIF_LINK_CALLBACK +#define NETIF_LINK_CALLBACK(n) { if (n->link_callback) (n->link_callback)(n); } +#else +#define NETIF_LINK_CALLBACK(n) { /* NOP */ } +#endif /* LWIP_NETIF_LINK_CALLBACK */ + +struct netif *netif_list; +struct netif *netif_default; + +/** + * Add a network interface to the list of lwIP netifs. + * + * @param netif a pre-allocated netif structure + * @param ipaddr IP address for the new netif + * @param netmask network mask for the new netif + * @param gw default gateway IP address for the new netif + * @param state opaque data passed to the new netif + * @param init callback function that initializes the interface + * @param input callback function that is called to pass + * ingress packets up in the protocol layer stack. + * + * @return netif, or NULL if failed. + */ +struct netif * +netif_add(struct netif *netif, struct ip_addr *ipaddr, struct ip_addr *netmask, + struct ip_addr *gw, + void *state, + err_t (* init)(struct netif *netif), + err_t (* input)(struct pbuf *p, struct netif *netif)) +{ + static u8_t netifnum = 0; + + /* reset new interface configuration state */ + netif->ip_addr.addr = 0; + netif->netmask.addr = 0; + netif->gw.addr = 0; + netif->flags = 0; +#if LWIP_DHCP + /* netif not under DHCP control by default */ + netif->dhcp = NULL; +#endif /* LWIP_DHCP */ +#if LWIP_AUTOIP + /* netif not under AutoIP control by default */ + netif->autoip = NULL; +#endif /* LWIP_AUTOIP */ +#if LWIP_NETIF_STATUS_CALLBACK + netif->status_callback = NULL; +#endif /* LWIP_NETIF_STATUS_CALLBACK */ +#if LWIP_NETIF_LINK_CALLBACK + netif->link_callback = NULL; +#endif /* LWIP_NETIF_LINK_CALLBACK */ +#if LWIP_IGMP + netif->igmp_mac_filter = NULL; +#endif /* LWIP_IGMP */ +#if ENABLE_LOOPBACK + netif->loop_first = NULL; + netif->loop_last = NULL; +#endif /* ENABLE_LOOPBACK */ + + /* remember netif specific state information data */ + netif->state = state; + netif->num = netifnum++; + netif->input = input; +#if LWIP_NETIF_HWADDRHINT + netif->addr_hint = NULL; +#endif /* LWIP_NETIF_HWADDRHINT*/ +#if ENABLE_LOOPBACK && LWIP_LOOPBACK_MAX_PBUFS + netif->loop_cnt_current = 0; +#endif /* ENABLE_LOOPBACK && LWIP_LOOPBACK_MAX_PBUFS */ + + netif_set_addr(netif, ipaddr, netmask, gw); + + /* call user specified initialization function for netif */ + if (init(netif) != ERR_OK) { + return NULL; + } + + /* add this netif to the list */ + netif->next = netif_list; + netif_list = netif; + snmp_inc_iflist(); + +#if LWIP_IGMP + /* start IGMP processing */ + if (netif->flags & NETIF_FLAG_IGMP) { + igmp_start( netif); + } +#endif /* LWIP_IGMP */ + + LWIP_DEBUGF(NETIF_DEBUG, ("netif: added interface %c%c IP addr ", + netif->name[0], netif->name[1])); + ip_addr_debug_print(NETIF_DEBUG, ipaddr); + LWIP_DEBUGF(NETIF_DEBUG, (" netmask ")); + ip_addr_debug_print(NETIF_DEBUG, netmask); + LWIP_DEBUGF(NETIF_DEBUG, (" gw ")); + ip_addr_debug_print(NETIF_DEBUG, gw); + LWIP_DEBUGF(NETIF_DEBUG, ("\n")); + return netif; +} + +/** + * Change IP address configuration for a network interface (including netmask + * and default gateway). + * + * @param netif the network interface to change + * @param ipaddr the new IP address + * @param netmask the new netmask + * @param gw the new default gateway + */ +void +netif_set_addr(struct netif *netif, struct ip_addr *ipaddr, struct ip_addr *netmask, + struct ip_addr *gw) +{ + netif_set_ipaddr(netif, ipaddr); + netif_set_netmask(netif, netmask); + netif_set_gw(netif, gw); +} + +/** + * Remove a network interface from the list of lwIP netifs. + * + * @param netif the network interface to remove + */ +void netif_remove(struct netif * netif) +{ + if ( netif == NULL ) return; + +#if LWIP_IGMP + /* stop IGMP processing */ + if (netif->flags & NETIF_FLAG_IGMP) { + igmp_stop( netif); + } +#endif /* LWIP_IGMP */ + + snmp_delete_ipaddridx_tree(netif); + + /* is it the first netif? */ + if (netif_list == netif) { + netif_list = netif->next; + snmp_dec_iflist(); + } + else { + /* look for netif further down the list */ + struct netif * tmpNetif; + for (tmpNetif = netif_list; tmpNetif != NULL; tmpNetif = tmpNetif->next) { + if (tmpNetif->next == netif) { + tmpNetif->next = netif->next; + snmp_dec_iflist(); + break; + } + } + if (tmpNetif == NULL) + return; /* we didn't find any netif today */ + } + /* this netif is default? */ + if (netif_default == netif) + /* reset default netif */ + netif_set_default(NULL); + LWIP_DEBUGF( NETIF_DEBUG, ("netif_remove: removed netif\n") ); +} + +/** + * Find a network interface by searching for its name + * + * @param name the name of the netif (like netif->name) plus concatenated number + * in ascii representation (e.g. 'en0') + */ +struct netif * +netif_find(char *name) +{ + struct netif *netif; + u8_t num; + + if (name == NULL) { + return NULL; + } + + num = name[2] - '0'; + + for(netif = netif_list; netif != NULL; netif = netif->next) { + if (num == netif->num && + name[0] == netif->name[0] && + name[1] == netif->name[1]) { + LWIP_DEBUGF(NETIF_DEBUG, ("netif_find: found %c%c\n", name[0], name[1])); + return netif; + } + } + LWIP_DEBUGF(NETIF_DEBUG, ("netif_find: didn't find %c%c\n", name[0], name[1])); + return NULL; +} + +/** + * Change the IP address of a network interface + * + * @param netif the network interface to change + * @param ipaddr the new IP address + * + * @note call netif_set_addr() if you also want to change netmask and + * default gateway + */ +void +netif_set_ipaddr(struct netif *netif, struct ip_addr *ipaddr) +{ + /* TODO: Handling of obsolete pcbs */ + /* See: http://mail.gnu.org/archive/html/lwip-users/2003-03/msg00118.html */ +#if LWIP_TCP + struct tcp_pcb *pcb; + struct tcp_pcb_listen *lpcb; + + /* address is actually being changed? */ + if ((ip_addr_cmp(ipaddr, &(netif->ip_addr))) == 0) + { + /* extern struct tcp_pcb *tcp_active_pcbs; defined by tcp.h */ + LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_STATE, ("netif_set_ipaddr: netif address being changed\n")); + pcb = tcp_active_pcbs; + while (pcb != NULL) { + /* PCB bound to current local interface address? */ + if (ip_addr_cmp(&(pcb->local_ip), &(netif->ip_addr))) { + /* this connection must be aborted */ + struct tcp_pcb *next = pcb->next; + LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_STATE, ("netif_set_ipaddr: aborting TCP pcb %p\n", (void *)pcb)); + tcp_abort(pcb); + pcb = next; + } else { + pcb = pcb->next; + } + } + for (lpcb = tcp_listen_pcbs.listen_pcbs; lpcb != NULL; lpcb = lpcb->next) { + /* PCB bound to current local interface address? */ + if ((!(ip_addr_isany(&(lpcb->local_ip)))) && + (ip_addr_cmp(&(lpcb->local_ip), &(netif->ip_addr)))) { + /* The PCB is listening to the old ipaddr and + * is set to listen to the new one instead */ + ip_addr_set(&(lpcb->local_ip), ipaddr); + } + } + } +#endif + snmp_delete_ipaddridx_tree(netif); + snmp_delete_iprteidx_tree(0,netif); + /* set new IP address to netif */ + ip_addr_set(&(netif->ip_addr), ipaddr); + snmp_insert_ipaddridx_tree(netif); + snmp_insert_iprteidx_tree(0,netif); + + LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("netif: IP address of interface %c%c set to %"U16_F".%"U16_F".%"U16_F".%"U16_F"\n", + netif->name[0], netif->name[1], + ip4_addr1(&netif->ip_addr), + ip4_addr2(&netif->ip_addr), + ip4_addr3(&netif->ip_addr), + ip4_addr4(&netif->ip_addr))); +} + +/** + * Change the default gateway for a network interface + * + * @param netif the network interface to change + * @param gw the new default gateway + * + * @note call netif_set_addr() if you also want to change ip address and netmask + */ +void +netif_set_gw(struct netif *netif, struct ip_addr *gw) +{ + ip_addr_set(&(netif->gw), gw); + LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("netif: GW address of interface %c%c set to %"U16_F".%"U16_F".%"U16_F".%"U16_F"\n", + netif->name[0], netif->name[1], + ip4_addr1(&netif->gw), + ip4_addr2(&netif->gw), + ip4_addr3(&netif->gw), + ip4_addr4(&netif->gw))); +} + +/** + * Change the netmask of a network interface + * + * @param netif the network interface to change + * @param netmask the new netmask + * + * @note call netif_set_addr() if you also want to change ip address and + * default gateway + */ +void +netif_set_netmask(struct netif *netif, struct ip_addr *netmask) +{ + snmp_delete_iprteidx_tree(0, netif); + /* set new netmask to netif */ + ip_addr_set(&(netif->netmask), netmask); + snmp_insert_iprteidx_tree(0, netif); + LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("netif: netmask of interface %c%c set to %"U16_F".%"U16_F".%"U16_F".%"U16_F"\n", + netif->name[0], netif->name[1], + ip4_addr1(&netif->netmask), + ip4_addr2(&netif->netmask), + ip4_addr3(&netif->netmask), + ip4_addr4(&netif->netmask))); +} + +/** + * Set a network interface as the default network interface + * (used to output all packets for which no specific route is found) + * + * @param netif the default network interface + */ +void +netif_set_default(struct netif *netif) +{ + if (netif == NULL) + { + /* remove default route */ + snmp_delete_iprteidx_tree(1, netif); + } + else + { + /* install default route */ + snmp_insert_iprteidx_tree(1, netif); + } + netif_default = netif; + LWIP_DEBUGF(NETIF_DEBUG, ("netif: setting default interface %c%c\n", + netif ? netif->name[0] : '\'', netif ? netif->name[1] : '\'')); +} + +/** + * Bring an interface up, available for processing + * traffic. + * + * @note: Enabling DHCP on a down interface will make it come + * up once configured. + * + * @see dhcp_start() + */ +void netif_set_up(struct netif *netif) +{ + if ( !(netif->flags & NETIF_FLAG_UP )) { + netif->flags |= NETIF_FLAG_UP; + +#if LWIP_SNMP + snmp_get_sysuptime(&netif->ts); +#endif /* LWIP_SNMP */ + + NETIF_LINK_CALLBACK(netif); + NETIF_STATUS_CALLBACK(netif); + +#if LWIP_ARP + /* For Ethernet network interfaces, we would like to send a "gratuitous ARP" */ + if (netif->flags & NETIF_FLAG_ETHARP) { + etharp_gratuitous(netif); + } +#endif /* LWIP_ARP */ + +#if LWIP_IGMP + /* resend IGMP memberships */ + if (netif->flags & NETIF_FLAG_IGMP) { + igmp_report_groups( netif); + } +#endif /* LWIP_IGMP */ + } +} + +/** + * Bring an interface down, disabling any traffic processing. + * + * @note: Enabling DHCP on a down interface will make it come + * up once configured. + * + * @see dhcp_start() + */ +void netif_set_down(struct netif *netif) +{ + if ( netif->flags & NETIF_FLAG_UP ) + { + netif->flags &= ~NETIF_FLAG_UP; +#if LWIP_SNMP + snmp_get_sysuptime(&netif->ts); +#endif + + NETIF_LINK_CALLBACK(netif); + NETIF_STATUS_CALLBACK(netif); + } +} + +/** + * Ask if an interface is up + */ +u8_t netif_is_up(struct netif *netif) +{ + return (netif->flags & NETIF_FLAG_UP)?1:0; +} + +#if LWIP_NETIF_STATUS_CALLBACK +/** + * Set callback to be called when interface is brought up/down + */ +void netif_set_status_callback(struct netif *netif, void (* status_callback)(struct netif *netif )) +{ + if ( netif ) + netif->status_callback = status_callback; +} +#endif /* LWIP_NETIF_STATUS_CALLBACK */ + +#if LWIP_NETIF_LINK_CALLBACK +/** + * Called by a driver when its link goes up + */ +void netif_set_link_up(struct netif *netif ) +{ + netif->flags |= NETIF_FLAG_LINK_UP; + +#if LWIP_DHCP + if (netif->dhcp) { + dhcp_network_changed(netif); + } +#endif /* LWIP_DHCP */ + +#if LWIP_AUTOIP + if (netif->autoip) { + autoip_network_changed(netif); + } +#endif /* LWIP_AUTOIP */ + + if (netif->flags & NETIF_FLAG_UP) { +#if LWIP_ARP + /* For Ethernet network interfaces, we would like to send a "gratuitous ARP" */ + if (netif->flags & NETIF_FLAG_ETHARP) { + etharp_gratuitous(netif); + } +#endif /* LWIP_ARP */ + +#if LWIP_IGMP + /* resend IGMP memberships */ + if (netif->flags & NETIF_FLAG_IGMP) { + igmp_report_groups( netif); + } +#endif /* LWIP_IGMP */ + } + NETIF_LINK_CALLBACK(netif); +} + +/** + * Called by a driver when its link goes down + */ +void netif_set_link_down(struct netif *netif ) +{ + netif->flags &= ~NETIF_FLAG_LINK_UP; + NETIF_LINK_CALLBACK(netif); +} + +/** + * Ask if a link is up + */ +u8_t netif_is_link_up(struct netif *netif) +{ + return (netif->flags & NETIF_FLAG_LINK_UP) ? 1 : 0; +} + +/** + * Set callback to be called when link is brought up/down + */ +void netif_set_link_callback(struct netif *netif, void (* link_callback)(struct netif *netif )) +{ + if (netif) { + netif->link_callback = link_callback; + } +} +#endif /* LWIP_NETIF_LINK_CALLBACK */ + +#if ENABLE_LOOPBACK +/** + * Send an IP packet to be received on the same netif (loopif-like). + * The pbuf is simply copied and handed back to netif->input. + * In multithreaded mode, this is done directly since netif->input must put + * the packet on a queue. + * In callback mode, the packet is put on an internal queue and is fed to + * netif->input by netif_poll(). + * + * @param netif the lwip network interface structure + * @param p the (IP) packet to 'send' + * @param ipaddr the ip address to send the packet to (not used) + * @return ERR_OK if the packet has been sent + * ERR_MEM if the pbuf used to copy the packet couldn't be allocated + */ +err_t +netif_loop_output(struct netif *netif, struct pbuf *p, + struct ip_addr *ipaddr) +{ + struct pbuf *r; + err_t err; + struct pbuf *last; +#if LWIP_LOOPBACK_MAX_PBUFS + u8_t clen = 0; +#endif /* LWIP_LOOPBACK_MAX_PBUFS */ + SYS_ARCH_DECL_PROTECT(lev); + LWIP_UNUSED_ARG(ipaddr); + + /* Allocate a new pbuf */ + r = pbuf_alloc(PBUF_LINK, p->tot_len, PBUF_RAM); + if (r == NULL) { + return ERR_MEM; + } +#if LWIP_LOOPBACK_MAX_PBUFS + clen = pbuf_clen(r); + /* check for overflow or too many pbuf on queue */ + if(((netif->loop_cnt_current + clen) < netif->loop_cnt_current) || + ((netif->loop_cnt_current + clen) > LWIP_LOOPBACK_MAX_PBUFS)) { + pbuf_free(r); + r = NULL; + return ERR_MEM; + } + netif->loop_cnt_current += clen; +#endif /* LWIP_LOOPBACK_MAX_PBUFS */ + + /* Copy the whole pbuf queue p into the single pbuf r */ + if ((err = pbuf_copy(r, p)) != ERR_OK) { + pbuf_free(r); + r = NULL; + return err; + } + + /* Put the packet on a linked list which gets emptied through calling + netif_poll(). */ + + /* let last point to the last pbuf in chain r */ + for (last = r; last->next != NULL; last = last->next); + + SYS_ARCH_PROTECT(lev); + if(netif->loop_first != NULL) { + LWIP_ASSERT("if first != NULL, last must also be != NULL", netif->loop_last != NULL); + netif->loop_last->next = r; + netif->loop_last = last; + } else { + netif->loop_first = r; + netif->loop_last = last; + } + SYS_ARCH_UNPROTECT(lev); + +#if LWIP_NETIF_LOOPBACK_MULTITHREADING + /* For multithreading environment, schedule a call to netif_poll */ + tcpip_callback((void (*)(void *))(netif_poll), netif); +#endif /* LWIP_NETIF_LOOPBACK_MULTITHREADING */ + + return ERR_OK; +} + +/** + * Call netif_poll() in the main loop of your application. This is to prevent + * reentering non-reentrant functions like tcp_input(). Packets passed to + * netif_loop_output() are put on a list that is passed to netif->input() by + * netif_poll(). + */ +void +netif_poll(struct netif *netif) +{ + struct pbuf *in; + SYS_ARCH_DECL_PROTECT(lev); + + do { + /* Get a packet from the list. With SYS_LIGHTWEIGHT_PROT=1, this is protected */ + SYS_ARCH_PROTECT(lev); + in = netif->loop_first; + if(in != NULL) { + struct pbuf *in_end = in; +#if LWIP_LOOPBACK_MAX_PBUFS + u8_t clen = pbuf_clen(in); + /* adjust the number of pbufs on queue */ + LWIP_ASSERT("netif->loop_cnt_current underflow", + ((netif->loop_cnt_current - clen) < netif->loop_cnt_current)); + netif->loop_cnt_current -= clen; +#endif /* LWIP_LOOPBACK_MAX_PBUFS */ + while(in_end->len != in_end->tot_len) { + LWIP_ASSERT("bogus pbuf: len != tot_len but next == NULL!", in_end->next != NULL); + in_end = in_end->next; + } + /* 'in_end' now points to the last pbuf from 'in' */ + if(in_end == netif->loop_last) { + /* this was the last pbuf in the list */ + netif->loop_first = netif->loop_last = NULL; + } else { + /* pop the pbuf off the list */ + netif->loop_first = in_end->next; + LWIP_ASSERT("should not be null since first != last!", netif->loop_first != NULL); + } + /* De-queue the pbuf from its successors on the 'loop_' list. */ + in_end->next = NULL; + } + SYS_ARCH_UNPROTECT(lev); + + if(in != NULL) { + /* loopback packets are always IP packets! */ + if(ip_input(in, netif) != ERR_OK) { + pbuf_free(in); + } + /* Don't reference the packet any more! */ + in = NULL; + } + /* go on while there is a packet on the list */ + } while(netif->loop_first != NULL); +} + +#if !LWIP_NETIF_LOOPBACK_MULTITHREADING +/** + * Calls netif_poll() for every netif on the netif_list. + */ +void +netif_poll_all(void) +{ + struct netif *netif = netif_list; + /* loop through netifs */ + while (netif != NULL) { + netif_poll(netif); + /* proceed to next network interface */ + netif = netif->next; + } +} +#endif /* !LWIP_NETIF_LOOPBACK_MULTITHREADING */ +#endif /* ENABLE_LOOPBACK */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/pbuf.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/pbuf.c new file mode 100644 index 0000000..6284b9a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/pbuf.c @@ -0,0 +1,931 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Packet buffer management + * + * Packets are built from the pbuf data structure. It supports dynamic + * memory allocation for packet contents or can reference externally + * managed packet contents both in RAM and ROM. Quick allocation for + * incoming packets is provided through pools with fixed sized pbufs. + * + * A packet may span over multiple pbufs, chained as a singly linked + * list. This is called a "pbuf chain". + * + * Multiple packets may be queued, also using this singly linked list. + * This is called a "packet queue". + * + * So, a packet queue consists of one or more pbuf chains, each of + * which consist of one or more pbufs. CURRENTLY, PACKET QUEUES ARE + * NOT SUPPORTED!!! Use helper structs to queue multiple packets. + * + * The differences between a pbuf chain and a packet queue are very + * precise but subtle. + * + * The last pbuf of a packet has a ->tot_len field that equals the + * ->len field. It can be found by traversing the list. If the last + * pbuf of a packet has a ->next field other than NULL, more packets + * are on the queue. + * + * Therefore, looping through a pbuf of a single packet, has an + * loop end condition (tot_len == p->len), NOT (next == NULL). + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#include "lwip/stats.h" +#include "lwip/def.h" +#include "lwip/mem.h" +#include "lwip/memp.h" +#include "lwip/pbuf.h" +#include "lwip/sys.h" +#include "arch/perf.h" +#if TCP_QUEUE_OOSEQ +#include "lwip/tcp.h" +#endif + +#include <string.h> + +#define SIZEOF_STRUCT_PBUF LWIP_MEM_ALIGN_SIZE(sizeof(struct pbuf)) +/* Since the pool is created in memp, PBUF_POOL_BUFSIZE will be automatically + aligned there. Therefore, PBUF_POOL_BUFSIZE_ALIGNED can be used here. */ +#define PBUF_POOL_BUFSIZE_ALIGNED LWIP_MEM_ALIGN_SIZE(PBUF_POOL_BUFSIZE) + +#if !TCP_QUEUE_OOSEQ || NO_SYS +#define PBUF_POOL_IS_EMPTY() +#else /* !TCP_QUEUE_OOSEQ || NO_SYS */ +/** Define this to 0 to prevent freeing ooseq pbufs when the PBUF_POOL is empty */ +#ifndef PBUF_POOL_FREE_OOSEQ +#define PBUF_POOL_FREE_OOSEQ 1 +#endif /* PBUF_POOL_FREE_OOSEQ */ + +#if PBUF_POOL_FREE_OOSEQ +#include "lwip/tcpip.h" +#define PBUF_POOL_IS_EMPTY() pbuf_pool_is_empty() +static u8_t pbuf_free_ooseq_queued; +/** + * Attempt to reclaim some memory from queued out-of-sequence TCP segments + * if we run out of pool pbufs. It's better to give priority to new packets + * if we're running out. + * + * This must be done in the correct thread context therefore this function + * can only be used with NO_SYS=0 and through tcpip_callback. + */ +static void +pbuf_free_ooseq(void* arg) +{ + struct tcp_pcb* pcb; + SYS_ARCH_DECL_PROTECT(old_level); + LWIP_UNUSED_ARG(arg); + + SYS_ARCH_PROTECT(old_level); + pbuf_free_ooseq_queued = 0; + SYS_ARCH_UNPROTECT(old_level); + + for (pcb = tcp_active_pcbs; NULL != pcb; pcb = pcb->next) { + if (NULL != pcb->ooseq) { + /** Free the ooseq pbufs of one PCB only */ + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_free_ooseq: freeing out-of-sequence pbufs\n")); + tcp_segs_free(pcb->ooseq); + pcb->ooseq = NULL; + return; + } + } +} + +/** Queue a call to pbuf_free_ooseq if not already queued. */ +static void +pbuf_pool_is_empty(void) +{ + u8_t queued; + SYS_ARCH_DECL_PROTECT(old_level); + + SYS_ARCH_PROTECT(old_level); + queued = pbuf_free_ooseq_queued; + pbuf_free_ooseq_queued = 1; + SYS_ARCH_UNPROTECT(old_level); + + if(!queued) { + /* queue a call to pbuf_free_ooseq if not already queued */ + if(tcpip_callback_with_block(pbuf_free_ooseq, NULL, 0) != ERR_OK) { + SYS_ARCH_PROTECT(old_level); + pbuf_free_ooseq_queued = 0; + SYS_ARCH_UNPROTECT(old_level); + } + } +} +#endif /* PBUF_POOL_FREE_OOSEQ */ +#endif /* !TCP_QUEUE_OOSEQ || NO_SYS */ + +/** + * Allocates a pbuf of the given type (possibly a chain for PBUF_POOL type). + * + * The actual memory allocated for the pbuf is determined by the + * layer at which the pbuf is allocated and the requested size + * (from the size parameter). + * + * @param layer flag to define header size + * @param length size of the pbuf's payload + * @param type this parameter decides how and where the pbuf + * should be allocated as follows: + * + * - PBUF_RAM: buffer memory for pbuf is allocated as one large + * chunk. This includes protocol headers as well. + * - PBUF_ROM: no buffer memory is allocated for the pbuf, even for + * protocol headers. Additional headers must be prepended + * by allocating another pbuf and chain in to the front of + * the ROM pbuf. It is assumed that the memory used is really + * similar to ROM in that it is immutable and will not be + * changed. Memory which is dynamic should generally not + * be attached to PBUF_ROM pbufs. Use PBUF_REF instead. + * - PBUF_REF: no buffer memory is allocated for the pbuf, even for + * protocol headers. It is assumed that the pbuf is only + * being used in a single thread. If the pbuf gets queued, + * then pbuf_take should be called to copy the buffer. + * - PBUF_POOL: the pbuf is allocated as a pbuf chain, with pbufs from + * the pbuf pool that is allocated during pbuf_init(). + * + * @return the allocated pbuf. If multiple pbufs where allocated, this + * is the first pbuf of a pbuf chain. + */ +struct pbuf * +pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type) +{ + struct pbuf *p, *q, *r; + u16_t offset; + s32_t rem_len; /* remaining length */ + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_alloc(length=%"U16_F")\n", length)); + + /* determine header offset */ + offset = 0; + switch (layer) { + case PBUF_TRANSPORT: + /* add room for transport (often TCP) layer header */ + offset += PBUF_TRANSPORT_HLEN; + /* FALLTHROUGH */ + case PBUF_IP: + /* add room for IP layer header */ + offset += PBUF_IP_HLEN; + /* FALLTHROUGH */ + case PBUF_LINK: + /* add room for link layer header */ + offset += PBUF_LINK_HLEN; + break; + case PBUF_RAW: + break; + default: + LWIP_ASSERT("pbuf_alloc: bad pbuf layer", 0); + return NULL; + } + + switch (type) { + case PBUF_POOL: + /* allocate head of pbuf chain into p */ + p = memp_malloc(MEMP_PBUF_POOL); + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_alloc: allocated pbuf %p\n", (void *)p)); + if (p == NULL) { + PBUF_POOL_IS_EMPTY(); + return NULL; + } + p->type = type; + p->next = NULL; + + /* make the payload pointer point 'offset' bytes into pbuf data memory */ + p->payload = LWIP_MEM_ALIGN((void *)((u8_t *)p + (SIZEOF_STRUCT_PBUF + offset))); + LWIP_ASSERT("pbuf_alloc: pbuf p->payload properly aligned", + ((mem_ptr_t)p->payload % MEM_ALIGNMENT) == 0); + /* the total length of the pbuf chain is the requested size */ + p->tot_len = length; + /* set the length of the first pbuf in the chain */ + p->len = LWIP_MIN(length, PBUF_POOL_BUFSIZE_ALIGNED - LWIP_MEM_ALIGN_SIZE(offset)); + LWIP_ASSERT("check p->payload + p->len does not overflow pbuf", + ((u8_t*)p->payload + p->len <= + (u8_t*)p + SIZEOF_STRUCT_PBUF + PBUF_POOL_BUFSIZE_ALIGNED)); + LWIP_ASSERT("PBUF_POOL_BUFSIZE must be bigger than MEM_ALIGNMENT", + (PBUF_POOL_BUFSIZE_ALIGNED - LWIP_MEM_ALIGN_SIZE(offset)) > 0 ); + /* set reference count (needed here in case we fail) */ + p->ref = 1; + + /* now allocate the tail of the pbuf chain */ + + /* remember first pbuf for linkage in next iteration */ + r = p; + /* remaining length to be allocated */ + rem_len = length - p->len; + /* any remaining pbufs to be allocated? */ + while (rem_len > 0) { + q = memp_malloc(MEMP_PBUF_POOL); + if (q == NULL) { + PBUF_POOL_IS_EMPTY(); + /* free chain so far allocated */ + pbuf_free(p); + /* bail out unsuccesfully */ + return NULL; + } + q->type = type; + q->flags = 0; + q->next = NULL; + /* make previous pbuf point to this pbuf */ + r->next = q; + /* set total length of this pbuf and next in chain */ + LWIP_ASSERT("rem_len < max_u16_t", rem_len < 0xffff); + q->tot_len = (u16_t)rem_len; + /* this pbuf length is pool size, unless smaller sized tail */ + q->len = LWIP_MIN((u16_t)rem_len, PBUF_POOL_BUFSIZE_ALIGNED); + q->payload = (void *)((u8_t *)q + SIZEOF_STRUCT_PBUF); + LWIP_ASSERT("pbuf_alloc: pbuf q->payload properly aligned", + ((mem_ptr_t)q->payload % MEM_ALIGNMENT) == 0); + LWIP_ASSERT("check p->payload + p->len does not overflow pbuf", + ((u8_t*)p->payload + p->len <= + (u8_t*)p + SIZEOF_STRUCT_PBUF + PBUF_POOL_BUFSIZE_ALIGNED)); + q->ref = 1; + /* calculate remaining length to be allocated */ + rem_len -= q->len; + /* remember this pbuf for linkage in next iteration */ + r = q; + } + /* end of chain */ + /*r->next = NULL;*/ + + break; + case PBUF_RAM: + /* If pbuf is to be allocated in RAM, allocate memory for it. */ + p = (struct pbuf*)mem_malloc(LWIP_MEM_ALIGN_SIZE(SIZEOF_STRUCT_PBUF + offset) + LWIP_MEM_ALIGN_SIZE(length)); + if (p == NULL) { + return NULL; + } + /* Set up internal structure of the pbuf. */ + p->payload = LWIP_MEM_ALIGN((void *)((u8_t *)p + SIZEOF_STRUCT_PBUF + offset)); + p->len = p->tot_len = length; + p->next = NULL; + p->type = type; + + LWIP_ASSERT("pbuf_alloc: pbuf->payload properly aligned", + ((mem_ptr_t)p->payload % MEM_ALIGNMENT) == 0); + break; + /* pbuf references existing (non-volatile static constant) ROM payload? */ + case PBUF_ROM: + /* pbuf references existing (externally allocated) RAM payload? */ + case PBUF_REF: + /* only allocate memory for the pbuf structure */ + p = memp_malloc(MEMP_PBUF); + if (p == NULL) { + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("pbuf_alloc: Could not allocate MEMP_PBUF for PBUF_%s.\n", + (type == PBUF_ROM) ? "ROM" : "REF")); + return NULL; + } + /* caller must set this field properly, afterwards */ + p->payload = NULL; + p->len = p->tot_len = length; + p->next = NULL; + p->type = type; + break; + default: + LWIP_ASSERT("pbuf_alloc: erroneous type", 0); + return NULL; + } + /* set reference count */ + p->ref = 1; + /* set flags */ + p->flags = 0; + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_alloc(length=%"U16_F") == %p\n", length, (void *)p)); + return p; +} + + +/** + * Shrink a pbuf chain to a desired length. + * + * @param p pbuf to shrink. + * @param new_len desired new length of pbuf chain + * + * Depending on the desired length, the first few pbufs in a chain might + * be skipped and left unchanged. The new last pbuf in the chain will be + * resized, and any remaining pbufs will be freed. + * + * @note If the pbuf is ROM/REF, only the ->tot_len and ->len fields are adjusted. + * @note May not be called on a packet queue. + * + * @note Despite its name, pbuf_realloc cannot grow the size of a pbuf (chain). + */ +void +pbuf_realloc(struct pbuf *p, u16_t new_len) +{ + struct pbuf *q; + u16_t rem_len; /* remaining length */ + s32_t grow; + + LWIP_ASSERT("pbuf_realloc: p != NULL", p != NULL); + LWIP_ASSERT("pbuf_realloc: sane p->type", p->type == PBUF_POOL || + p->type == PBUF_ROM || + p->type == PBUF_RAM || + p->type == PBUF_REF); + + /* desired length larger than current length? */ + if (new_len >= p->tot_len) { + /* enlarging not yet supported */ + return; + } + + /* the pbuf chain grows by (new_len - p->tot_len) bytes + * (which may be negative in case of shrinking) */ + grow = new_len - p->tot_len; + + /* first, step over any pbufs that should remain in the chain */ + rem_len = new_len; + q = p; + /* should this pbuf be kept? */ + while (rem_len > q->len) { + /* decrease remaining length by pbuf length */ + rem_len -= q->len; + /* decrease total length indicator */ + LWIP_ASSERT("grow < max_u16_t", grow < 0xffff); + q->tot_len += (u16_t)grow; + /* proceed to next pbuf in chain */ + q = q->next; + LWIP_ASSERT("pbuf_realloc: q != NULL", q != NULL); + } + /* we have now reached the new last pbuf (in q) */ + /* rem_len == desired length for pbuf q */ + + /* shrink allocated memory for PBUF_RAM */ + /* (other types merely adjust their length fields */ + if ((q->type == PBUF_RAM) && (rem_len != q->len)) { + /* reallocate and adjust the length of the pbuf that will be split */ + q = mem_realloc(q, (u8_t *)q->payload - (u8_t *)q + rem_len); + LWIP_ASSERT("mem_realloc give q == NULL", q != NULL); + } + /* adjust length fields for new last pbuf */ + q->len = rem_len; + q->tot_len = q->len; + + /* any remaining pbufs in chain? */ + if (q->next != NULL) { + /* free remaining pbufs in chain */ + pbuf_free(q->next); + } + /* q is last packet in chain */ + q->next = NULL; + +} + +/** + * Adjusts the payload pointer to hide or reveal headers in the payload. + * + * Adjusts the ->payload pointer so that space for a header + * (dis)appears in the pbuf payload. + * + * The ->payload, ->tot_len and ->len fields are adjusted. + * + * @param p pbuf to change the header size. + * @param header_size_increment Number of bytes to increment header size which + * increases the size of the pbuf. New space is on the front. + * (Using a negative value decreases the header size.) + * If hdr_size_inc is 0, this function does nothing and returns succesful. + * + * PBUF_ROM and PBUF_REF type buffers cannot have their sizes increased, so + * the call will fail. A check is made that the increase in header size does + * not move the payload pointer in front of the start of the buffer. + * @return non-zero on failure, zero on success. + * + */ +u8_t +pbuf_header(struct pbuf *p, s16_t header_size_increment) +{ + u16_t type; + void *payload; + u16_t increment_magnitude; + + LWIP_ASSERT("p != NULL", p != NULL); + if ((header_size_increment == 0) || (p == NULL)) + return 0; + + if (header_size_increment < 0){ + increment_magnitude = -header_size_increment; + /* Check that we aren't going to move off the end of the pbuf */ + LWIP_ERROR("increment_magnitude <= p->len", (increment_magnitude <= p->len), return 1;); + } else { + increment_magnitude = header_size_increment; +#if 0 + /* Can't assert these as some callers speculatively call + pbuf_header() to see if it's OK. Will return 1 below instead. */ + /* Check that we've got the correct type of pbuf to work with */ + LWIP_ASSERT("p->type == PBUF_RAM || p->type == PBUF_POOL", + p->type == PBUF_RAM || p->type == PBUF_POOL); + /* Check that we aren't going to move off the beginning of the pbuf */ + LWIP_ASSERT("p->payload - increment_magnitude >= p + SIZEOF_STRUCT_PBUF", + (u8_t *)p->payload - increment_magnitude >= (u8_t *)p + SIZEOF_STRUCT_PBUF); +#endif + } + + type = p->type; + /* remember current payload pointer */ + payload = p->payload; + + /* pbuf types containing payloads? */ + if (type == PBUF_RAM || type == PBUF_POOL) { + /* set new payload pointer */ + p->payload = (u8_t *)p->payload - header_size_increment; + /* boundary check fails? */ + if ((u8_t *)p->payload < (u8_t *)p + SIZEOF_STRUCT_PBUF) { + LWIP_DEBUGF( PBUF_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("pbuf_header: failed as %p < %p (not enough space for new header size)\n", + (void *)p->payload, (void *)(p + 1))); + /* restore old payload pointer */ + p->payload = payload; + /* bail out unsuccesfully */ + return 1; + } + /* pbuf types refering to external payloads? */ + } else if (type == PBUF_REF || type == PBUF_ROM) { + /* hide a header in the payload? */ + if ((header_size_increment < 0) && (increment_magnitude <= p->len)) { + /* increase payload pointer */ + p->payload = (u8_t *)p->payload - header_size_increment; + } else { + /* cannot expand payload to front (yet!) + * bail out unsuccesfully */ + return 1; + } + } + else { + /* Unknown type */ + LWIP_ASSERT("bad pbuf type", 0); + return 1; + } + /* modify pbuf length fields */ + p->len += header_size_increment; + p->tot_len += header_size_increment; + + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_header: old %p new %p (%"S16_F")\n", + (void *)payload, (void *)p->payload, header_size_increment)); + + return 0; +} + +/** + * Dereference a pbuf chain or queue and deallocate any no-longer-used + * pbufs at the head of this chain or queue. + * + * Decrements the pbuf reference count. If it reaches zero, the pbuf is + * deallocated. + * + * For a pbuf chain, this is repeated for each pbuf in the chain, + * up to the first pbuf which has a non-zero reference count after + * decrementing. So, when all reference counts are one, the whole + * chain is free'd. + * + * @param p The pbuf (chain) to be dereferenced. + * + * @return the number of pbufs that were de-allocated + * from the head of the chain. + * + * @note MUST NOT be called on a packet queue (Not verified to work yet). + * @note the reference counter of a pbuf equals the number of pointers + * that refer to the pbuf (or into the pbuf). + * + * @internal examples: + * + * Assuming existing chains a->b->c with the following reference + * counts, calling pbuf_free(a) results in: + * + * 1->2->3 becomes ...1->3 + * 3->3->3 becomes 2->3->3 + * 1->1->2 becomes ......1 + * 2->1->1 becomes 1->1->1 + * 1->1->1 becomes ....... + * + */ +u8_t +pbuf_free(struct pbuf *p) +{ + u16_t type; + struct pbuf *q; + u8_t count; + + if (p == NULL) { + LWIP_ASSERT("p != NULL", p != NULL); + /* if assertions are disabled, proceed with debug output */ + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("pbuf_free(p == NULL) was called.\n")); + return 0; + } + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_free(%p)\n", (void *)p)); + + PERF_START; + + LWIP_ASSERT("pbuf_free: sane type", + p->type == PBUF_RAM || p->type == PBUF_ROM || + p->type == PBUF_REF || p->type == PBUF_POOL); + + count = 0; + /* de-allocate all consecutive pbufs from the head of the chain that + * obtain a zero reference count after decrementing*/ + while (p != NULL) { + u16_t ref; + SYS_ARCH_DECL_PROTECT(old_level); + /* Since decrementing ref cannot be guaranteed to be a single machine operation + * we must protect it. We put the new ref into a local variable to prevent + * further protection. */ + SYS_ARCH_PROTECT(old_level); + /* all pbufs in a chain are referenced at least once */ + LWIP_ASSERT("pbuf_free: p->ref > 0", p->ref > 0); + /* decrease reference count (number of pointers to pbuf) */ + ref = --(p->ref); + SYS_ARCH_UNPROTECT(old_level); + /* this pbuf is no longer referenced to? */ + if (ref == 0) { + /* remember next pbuf in chain for next iteration */ + q = p->next; + LWIP_DEBUGF( PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_free: deallocating %p\n", (void *)p)); + type = p->type; + /* is this a pbuf from the pool? */ + if (type == PBUF_POOL) { + memp_free(MEMP_PBUF_POOL, p); + /* is this a ROM or RAM referencing pbuf? */ + } else if (type == PBUF_ROM || type == PBUF_REF) { + memp_free(MEMP_PBUF, p); + /* type == PBUF_RAM */ + } else { + mem_free(p); + } + count++; + /* proceed to next pbuf */ + p = q; + /* p->ref > 0, this pbuf is still referenced to */ + /* (and so the remaining pbufs in chain as well) */ + } else { + LWIP_DEBUGF( PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_free: %p has ref %"U16_F", ending here.\n", (void *)p, ref)); + /* stop walking through the chain */ + p = NULL; + } + } + PERF_STOP("pbuf_free"); + /* return number of de-allocated pbufs */ + return count; +} + +/** + * Count number of pbufs in a chain + * + * @param p first pbuf of chain + * @return the number of pbufs in a chain + */ + +u8_t +pbuf_clen(struct pbuf *p) +{ + u8_t len; + + len = 0; + while (p != NULL) { + ++len; + p = p->next; + } + return len; +} + +/** + * Increment the reference count of the pbuf. + * + * @param p pbuf to increase reference counter of + * + */ +void +pbuf_ref(struct pbuf *p) +{ + SYS_ARCH_DECL_PROTECT(old_level); + /* pbuf given? */ + if (p != NULL) { + SYS_ARCH_PROTECT(old_level); + ++(p->ref); + SYS_ARCH_UNPROTECT(old_level); + } +} + +/** + * Concatenate two pbufs (each may be a pbuf chain) and take over + * the caller's reference of the tail pbuf. + * + * @note The caller MAY NOT reference the tail pbuf afterwards. + * Use pbuf_chain() for that purpose. + * + * @see pbuf_chain() + */ + +void +pbuf_cat(struct pbuf *h, struct pbuf *t) +{ + struct pbuf *p; + + LWIP_ERROR("(h != NULL) && (t != NULL) (programmer violates API)", + ((h != NULL) && (t != NULL)), return;); + + /* proceed to last pbuf of chain */ + for (p = h; p->next != NULL; p = p->next) { + /* add total length of second chain to all totals of first chain */ + p->tot_len += t->tot_len; + } + /* { p is last pbuf of first h chain, p->next == NULL } */ + LWIP_ASSERT("p->tot_len == p->len (of last pbuf in chain)", p->tot_len == p->len); + LWIP_ASSERT("p->next == NULL", p->next == NULL); + /* add total length of second chain to last pbuf total of first chain */ + p->tot_len += t->tot_len; + /* chain last pbuf of head (p) with first of tail (t) */ + p->next = t; + /* p->next now references t, but the caller will drop its reference to t, + * so netto there is no change to the reference count of t. + */ +} + +/** + * Chain two pbufs (or pbuf chains) together. + * + * The caller MUST call pbuf_free(t) once it has stopped + * using it. Use pbuf_cat() instead if you no longer use t. + * + * @param h head pbuf (chain) + * @param t tail pbuf (chain) + * @note The pbufs MUST belong to the same packet. + * @note MAY NOT be called on a packet queue. + * + * The ->tot_len fields of all pbufs of the head chain are adjusted. + * The ->next field of the last pbuf of the head chain is adjusted. + * The ->ref field of the first pbuf of the tail chain is adjusted. + * + */ +void +pbuf_chain(struct pbuf *h, struct pbuf *t) +{ + pbuf_cat(h, t); + /* t is now referenced by h */ + pbuf_ref(t); + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_chain: %p references %p\n", (void *)h, (void *)t)); +} + +/** + * Dechains the first pbuf from its succeeding pbufs in the chain. + * + * Makes p->tot_len field equal to p->len. + * @param p pbuf to dechain + * @return remainder of the pbuf chain, or NULL if it was de-allocated. + * @note May not be called on a packet queue. + */ +struct pbuf * +pbuf_dechain(struct pbuf *p) +{ + struct pbuf *q; + u8_t tail_gone = 1; + /* tail */ + q = p->next; + /* pbuf has successor in chain? */ + if (q != NULL) { + /* assert tot_len invariant: (p->tot_len == p->len + (p->next? p->next->tot_len: 0) */ + LWIP_ASSERT("p->tot_len == p->len + q->tot_len", q->tot_len == p->tot_len - p->len); + /* enforce invariant if assertion is disabled */ + q->tot_len = p->tot_len - p->len; + /* decouple pbuf from remainder */ + p->next = NULL; + /* total length of pbuf p is its own length only */ + p->tot_len = p->len; + /* q is no longer referenced by p, free it */ + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_dechain: unreferencing %p\n", (void *)q)); + tail_gone = pbuf_free(q); + if (tail_gone > 0) { + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, + ("pbuf_dechain: deallocated %p (as it is no longer referenced)\n", (void *)q)); + } + /* return remaining tail or NULL if deallocated */ + } + /* assert tot_len invariant: (p->tot_len == p->len + (p->next? p->next->tot_len: 0) */ + LWIP_ASSERT("p->tot_len == p->len", p->tot_len == p->len); + return ((tail_gone > 0) ? NULL : q); +} + +/** + * + * Create PBUF_RAM copies of pbufs. + * + * Used to queue packets on behalf of the lwIP stack, such as + * ARP based queueing. + * + * @note You MUST explicitly use p = pbuf_take(p); + * + * @note Only one packet is copied, no packet queue! + * + * @param p_to pbuf destination of the copy + * @param p_from pbuf source of the copy + * + * @return ERR_OK if pbuf was copied + * ERR_ARG if one of the pbufs is NULL or p_to is not big + * enough to hold p_from + */ +err_t +pbuf_copy(struct pbuf *p_to, struct pbuf *p_from) +{ + u16_t offset_to=0, offset_from=0, len; + + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_copy(%p, %p)\n", + (void*)p_to, (void*)p_from)); + + /* is the target big enough to hold the source? */ + LWIP_ERROR("pbuf_copy: target not big enough to hold source", ((p_to != NULL) && + (p_from != NULL) && (p_to->tot_len >= p_from->tot_len)), return ERR_ARG;); + + /* iterate through pbuf chain */ + do + { + LWIP_ASSERT("p_to != NULL", p_to != NULL); + /* copy one part of the original chain */ + if ((p_to->len - offset_to) >= (p_from->len - offset_from)) { + /* complete current p_from fits into current p_to */ + len = p_from->len - offset_from; + } else { + /* current p_from does not fit into current p_to */ + len = p_to->len - offset_to; + } + MEMCPY((u8_t*)p_to->payload + offset_to, (u8_t*)p_from->payload + offset_from, len); + offset_to += len; + offset_from += len; + LWIP_ASSERT("offset_to <= p_to->len", offset_to <= p_to->len); + if (offset_to == p_to->len) { + /* on to next p_to (if any) */ + offset_to = 0; + p_to = p_to->next; + } + LWIP_ASSERT("offset_from <= p_from->len", offset_from <= p_from->len); + if (offset_from >= p_from->len) { + /* on to next p_from (if any) */ + offset_from = 0; + p_from = p_from->next; + } + + if((p_from != NULL) && (p_from->len == p_from->tot_len)) { + /* don't copy more than one packet! */ + LWIP_ERROR("pbuf_copy() does not allow packet queues!\n", + (p_from->next == NULL), return ERR_VAL;); + } + if((p_to != NULL) && (p_to->len == p_to->tot_len)) { + /* don't copy more than one packet! */ + LWIP_ERROR("pbuf_copy() does not allow packet queues!\n", + (p_to->next == NULL), return ERR_VAL;); + } + } while (p_from); + LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_copy: end of chain reached.\n")); + return ERR_OK; +} + +/** + * Copy (part of) the contents of a packet buffer + * to an application supplied buffer. + * + * @param buf the pbuf from which to copy data + * @param dataptr the application supplied buffer + * @param len length of data to copy (dataptr must be big enough). No more + * than buf->tot_len will be copied, irrespective of len + * @param offset offset into the packet buffer from where to begin copying len bytes + * @return the number of bytes copied, or 0 on failure + */ +u16_t +pbuf_copy_partial(struct pbuf *buf, void *dataptr, u16_t len, u16_t offset) +{ + struct pbuf *p; + u16_t left; + u16_t buf_copy_len; + u16_t copied_total = 0; + + LWIP_ERROR("pbuf_copy_partial: invalid buf", (buf != NULL), return 0;); + LWIP_ERROR("pbuf_copy_partial: invalid dataptr", (dataptr != NULL), return 0;); + + left = 0; + + if((buf == NULL) || (dataptr == NULL)) { + return 0; + } + + /* Note some systems use byte copy if dataptr or one of the pbuf payload pointers are unaligned. */ + for(p = buf; len != 0 && p != NULL; p = p->next) { + if ((offset != 0) && (offset >= p->len)) { + /* don't copy from this buffer -> on to the next */ + offset -= p->len; + } else { + /* copy from this buffer. maybe only partially. */ + buf_copy_len = p->len - offset; + if (buf_copy_len > len) + buf_copy_len = len; + /* copy the necessary parts of the buffer */ + MEMCPY(&((char*)dataptr)[left], &((char*)p->payload)[offset], buf_copy_len); + copied_total += buf_copy_len; + left += buf_copy_len; + len -= buf_copy_len; + offset = 0; + } + } + return copied_total; +} + +/** + * Copy application supplied data into a pbuf. + * This function can only be used to copy the equivalent of buf->tot_len data. + * + * @param buf pbuf to fill with data + * @param dataptr application supplied data buffer + * @param len length of the application supplied data buffer + * + * @return ERR_OK if successful, ERR_MEM if the pbuf is not big enough + */ +err_t +pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len) +{ + struct pbuf *p; + u16_t buf_copy_len; + u16_t total_copy_len = len; + u16_t copied_total = 0; + + LWIP_ERROR("pbuf_take: invalid buf", (buf != NULL), return 0;); + LWIP_ERROR("pbuf_take: invalid dataptr", (dataptr != NULL), return 0;); + + if ((buf == NULL) || (dataptr == NULL) || (buf->tot_len < len)) { + return ERR_ARG; + } + + /* Note some systems use byte copy if dataptr or one of the pbuf payload pointers are unaligned. */ + for(p = buf; total_copy_len != 0; p = p->next) { + LWIP_ASSERT("pbuf_take: invalid pbuf", p != NULL); + buf_copy_len = total_copy_len; + if (buf_copy_len > p->len) { + /* this pbuf cannot hold all remaining data */ + buf_copy_len = p->len; + } + /* copy the necessary parts of the buffer */ + MEMCPY(p->payload, &((char*)dataptr)[copied_total], buf_copy_len); + total_copy_len -= buf_copy_len; + copied_total += buf_copy_len; + } + LWIP_ASSERT("did not copy all data", total_copy_len == 0 && copied_total == len); + return ERR_OK; +} + +/** + * Creates a single pbuf out of a queue of pbufs. + * + * @remark: The source pbuf 'p' is not freed by this function because that can + * be illegal in some places! + * + * @param p the source pbuf + * @param layer pbuf_layer of the new pbuf + * + * @return a new, single pbuf (p->next is NULL) + * or the old pbuf if allocation fails + */ +struct pbuf* +pbuf_coalesce(struct pbuf *p, pbuf_layer layer) +{ + struct pbuf *q; + err_t err; + if (p->next == NULL) { + return p; + } + q = pbuf_alloc(layer, p->tot_len, PBUF_RAM); + if (q == NULL) { + /* @todo: what do we do now? */ + return p; + } + err = pbuf_copy(q, p); + LWIP_ASSERT("pbuf_copy failed", err == ERR_OK); + pbuf_free(p); + return q; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/raw.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/raw.c new file mode 100644 index 0000000..6966bbc --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/raw.c @@ -0,0 +1,355 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Implementation of raw protocol PCBs for low-level handling of + * different types of protocols besides (or overriding) those + * already available in lwIP. + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#if LWIP_RAW /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/def.h" +#include "lwip/memp.h" +#include "lwip/inet.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" +#include "lwip/raw.h" +#include "lwip/stats.h" +#include "lwip/snmp.h" +#include "arch/perf.h" + +#include <string.h> + +/** The list of RAW PCBs */ +static struct raw_pcb *raw_pcbs; + +/** + * Determine if in incoming IP packet is covered by a RAW PCB + * and if so, pass it to a user-provided receive callback function. + * + * Given an incoming IP datagram (as a chain of pbufs) this function + * finds a corresponding RAW PCB and calls the corresponding receive + * callback function. + * + * @param p pbuf to be demultiplexed to a RAW PCB. + * @param inp network interface on which the datagram was received. + * @return - 1 if the packet has been eaten by a RAW PCB receive + * callback function. The caller MAY NOT not reference the + * packet any longer, and MAY NOT call pbuf_free(). + * @return - 0 if packet is not eaten (pbuf is still referenced by the + * caller). + * + */ +u8_t +raw_input(struct pbuf *p, struct netif *inp) +{ + struct raw_pcb *pcb, *prev; + struct ip_hdr *iphdr; + s16_t proto; + u8_t eaten = 0; + + LWIP_UNUSED_ARG(inp); + + iphdr = p->payload; + proto = IPH_PROTO(iphdr); + + prev = NULL; + pcb = raw_pcbs; + /* loop through all raw pcbs until the packet is eaten by one */ + /* this allows multiple pcbs to match against the packet by design */ + while ((eaten == 0) && (pcb != NULL)) { + if (pcb->protocol == proto) { +#if IP_SOF_BROADCAST_RECV + /* broadcast filter? */ + if ((pcb->so_options & SOF_BROADCAST) || !ip_addr_isbroadcast(&(iphdr->dest), inp)) +#endif /* IP_SOF_BROADCAST_RECV */ + { + /* receive callback function available? */ + if (pcb->recv != NULL) { + /* the receive callback function did not eat the packet? */ + if (pcb->recv(pcb->recv_arg, pcb, p, &(iphdr->src)) != 0) { + /* receive function ate the packet */ + p = NULL; + eaten = 1; + if (prev != NULL) { + /* move the pcb to the front of raw_pcbs so that is + found faster next time */ + prev->next = pcb->next; + pcb->next = raw_pcbs; + raw_pcbs = pcb; + } + } + } + /* no receive callback function was set for this raw PCB */ + } + /* drop the packet */ + } + prev = pcb; + pcb = pcb->next; + } + return eaten; +} + +/** + * Bind a RAW PCB. + * + * @param pcb RAW PCB to be bound with a local address ipaddr. + * @param ipaddr local IP address to bind with. Use IP_ADDR_ANY to + * bind to all local interfaces. + * + * @return lwIP error code. + * - ERR_OK. Successful. No error occured. + * - ERR_USE. The specified IP address is already bound to by + * another RAW PCB. + * + * @see raw_disconnect() + */ +err_t +raw_bind(struct raw_pcb *pcb, struct ip_addr *ipaddr) +{ + ip_addr_set(&pcb->local_ip, ipaddr); + return ERR_OK; +} + +/** + * Connect an RAW PCB. This function is required by upper layers + * of lwip. Using the raw api you could use raw_sendto() instead + * + * This will associate the RAW PCB with the remote address. + * + * @param pcb RAW PCB to be connected with remote address ipaddr and port. + * @param ipaddr remote IP address to connect with. + * + * @return lwIP error code + * + * @see raw_disconnect() and raw_sendto() + */ +err_t +raw_connect(struct raw_pcb *pcb, struct ip_addr *ipaddr) +{ + ip_addr_set(&pcb->remote_ip, ipaddr); + return ERR_OK; +} + + +/** + * Set the callback function for received packets that match the + * raw PCB's protocol and binding. + * + * The callback function MUST either + * - eat the packet by calling pbuf_free() and returning non-zero. The + * packet will not be passed to other raw PCBs or other protocol layers. + * - not free the packet, and return zero. The packet will be matched + * against further PCBs and/or forwarded to another protocol layers. + * + * @return non-zero if the packet was free()d, zero if the packet remains + * available for others. + */ +void +raw_recv(struct raw_pcb *pcb, + u8_t (* recv)(void *arg, struct raw_pcb *upcb, struct pbuf *p, + struct ip_addr *addr), + void *recv_arg) +{ + /* remember recv() callback and user data */ + pcb->recv = recv; + pcb->recv_arg = recv_arg; +} + +/** + * Send the raw IP packet to the given address. Note that actually you cannot + * modify the IP headers (this is inconsistent with the receive callback where + * you actually get the IP headers), you can only specify the IP payload here. + * It requires some more changes in lwIP. (there will be a raw_send() function + * then.) + * + * @param pcb the raw pcb which to send + * @param p the IP payload to send + * @param ipaddr the destination address of the IP packet + * + */ +err_t +raw_sendto(struct raw_pcb *pcb, struct pbuf *p, struct ip_addr *ipaddr) +{ + err_t err; + struct netif *netif; + struct ip_addr *src_ip; + struct pbuf *q; /* q will be sent down the stack */ + + LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_TRACE, ("raw_sendto\n")); + + /* not enough space to add an IP header to first pbuf in given p chain? */ + if (pbuf_header(p, IP_HLEN)) { + /* allocate header in new pbuf */ + q = pbuf_alloc(PBUF_IP, 0, PBUF_RAM); + /* new header pbuf could not be allocated? */ + if (q == NULL) { + LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("raw_sendto: could not allocate header\n")); + return ERR_MEM; + } + /* chain header q in front of given pbuf p */ + pbuf_chain(q, p); + /* { first pbuf q points to header pbuf } */ + LWIP_DEBUGF(RAW_DEBUG, ("raw_sendto: added header pbuf %p before given pbuf %p\n", (void *)q, (void *)p)); + } else { + /* first pbuf q equals given pbuf */ + q = p; + if(pbuf_header(q, -IP_HLEN)) { + LWIP_ASSERT("Can't restore header we just removed!", 0); + return ERR_MEM; + } + } + + if ((netif = ip_route(ipaddr)) == NULL) { + LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_LEVEL_WARNING, ("raw_sendto: No route to 0x%"X32_F"\n", ipaddr->addr)); + /* free any temporary header pbuf allocated by pbuf_header() */ + if (q != p) { + pbuf_free(q); + } + return ERR_RTE; + } + +#if IP_SOF_BROADCAST + /* broadcast filter? */ + if ( ((pcb->so_options & SOF_BROADCAST) == 0) && ip_addr_isbroadcast(ipaddr, netif) ) { + LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_LEVEL_WARNING, ("raw_sendto: SOF_BROADCAST not enabled on pcb %p\n", (void *)pcb)); + /* free any temporary header pbuf allocated by pbuf_header() */ + if (q != p) { + pbuf_free(q); + } + return ERR_VAL; + } +#endif /* IP_SOF_BROADCAST */ + + if (ip_addr_isany(&pcb->local_ip)) { + /* use outgoing network interface IP address as source address */ + src_ip = &(netif->ip_addr); + } else { + /* use RAW PCB local IP address as source address */ + src_ip = &(pcb->local_ip); + } + +#if LWIP_NETIF_HWADDRHINT + netif->addr_hint = &(pcb->addr_hint); +#endif /* LWIP_NETIF_HWADDRHINT*/ + err = ip_output_if (q, src_ip, ipaddr, pcb->ttl, pcb->tos, pcb->protocol, netif); +#if LWIP_NETIF_HWADDRHINT + netif->addr_hint = NULL; +#endif /* LWIP_NETIF_HWADDRHINT*/ + + /* did we chain a header earlier? */ + if (q != p) { + /* free the header */ + pbuf_free(q); + } + return err; +} + +/** + * Send the raw IP packet to the address given by raw_connect() + * + * @param pcb the raw pcb which to send + * @param p the IP payload to send + * + */ +err_t +raw_send(struct raw_pcb *pcb, struct pbuf *p) +{ + return raw_sendto(pcb, p, &pcb->remote_ip); +} + +/** + * Remove an RAW PCB. + * + * @param pcb RAW PCB to be removed. The PCB is removed from the list of + * RAW PCB's and the data structure is freed from memory. + * + * @see raw_new() + */ +void +raw_remove(struct raw_pcb *pcb) +{ + struct raw_pcb *pcb2; + /* pcb to be removed is first in list? */ + if (raw_pcbs == pcb) { + /* make list start at 2nd pcb */ + raw_pcbs = raw_pcbs->next; + /* pcb not 1st in list */ + } else { + for(pcb2 = raw_pcbs; pcb2 != NULL; pcb2 = pcb2->next) { + /* find pcb in raw_pcbs list */ + if (pcb2->next != NULL && pcb2->next == pcb) { + /* remove pcb from list */ + pcb2->next = pcb->next; + } + } + } + memp_free(MEMP_RAW_PCB, pcb); +} + +/** + * Create a RAW PCB. + * + * @return The RAW PCB which was created. NULL if the PCB data structure + * could not be allocated. + * + * @param proto the protocol number of the IPs payload (e.g. IP_PROTO_ICMP) + * + * @see raw_remove() + */ +struct raw_pcb * +raw_new(u8_t proto) { + struct raw_pcb *pcb; + + LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_TRACE, ("raw_new\n")); + + pcb = memp_malloc(MEMP_RAW_PCB); + /* could allocate RAW PCB? */ + if (pcb != NULL) { + /* initialize PCB to all zeroes */ + memset(pcb, 0, sizeof(struct raw_pcb)); + pcb->protocol = proto; + pcb->ttl = RAW_TTL; + pcb->next = raw_pcbs; + raw_pcbs = pcb; + } + return pcb; +} + +#endif /* LWIP_RAW */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/stats.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/stats.c new file mode 100644 index 0000000..4299a94 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/stats.c @@ -0,0 +1,151 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Statistics module + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#if LWIP_STATS /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/def.h" +#include "lwip/stats.h" +#include "lwip/mem.h" + +#include <string.h> + +struct stats_ lwip_stats; + +#if LWIP_STATS_DISPLAY +void +stats_display_proto(struct stats_proto *proto, char *name) +{ + LWIP_PLATFORM_DIAG(("\n%s\n\t", name)); + LWIP_PLATFORM_DIAG(("xmit: %"STAT_COUNTER_F"\n\t", proto->xmit)); + LWIP_PLATFORM_DIAG(("recv: %"STAT_COUNTER_F"\n\t", proto->recv)); + LWIP_PLATFORM_DIAG(("fw: %"STAT_COUNTER_F"\n\t", proto->fw)); + LWIP_PLATFORM_DIAG(("drop: %"STAT_COUNTER_F"\n\t", proto->drop)); + LWIP_PLATFORM_DIAG(("chkerr: %"STAT_COUNTER_F"\n\t", proto->chkerr)); + LWIP_PLATFORM_DIAG(("lenerr: %"STAT_COUNTER_F"\n\t", proto->lenerr)); + LWIP_PLATFORM_DIAG(("memerr: %"STAT_COUNTER_F"\n\t", proto->memerr)); + LWIP_PLATFORM_DIAG(("rterr: %"STAT_COUNTER_F"\n\t", proto->rterr)); + LWIP_PLATFORM_DIAG(("proterr: %"STAT_COUNTER_F"\n\t", proto->proterr)); + LWIP_PLATFORM_DIAG(("opterr: %"STAT_COUNTER_F"\n\t", proto->opterr)); + LWIP_PLATFORM_DIAG(("err: %"STAT_COUNTER_F"\n\t", proto->err)); + LWIP_PLATFORM_DIAG(("cachehit: %"STAT_COUNTER_F"\n", proto->cachehit)); +} + +#if IGMP_STATS +void +stats_display_igmp(struct stats_igmp *igmp) +{ + LWIP_PLATFORM_DIAG(("\nIGMP\n\t")); + LWIP_PLATFORM_DIAG(("lenerr: %"STAT_COUNTER_F"\n\t", igmp->lenerr)); + LWIP_PLATFORM_DIAG(("chkerr: %"STAT_COUNTER_F"\n\t", igmp->chkerr)); + LWIP_PLATFORM_DIAG(("v1_rxed: %"STAT_COUNTER_F"\n\t", igmp->v1_rxed)); + LWIP_PLATFORM_DIAG(("join_sent: %"STAT_COUNTER_F"\n\t", igmp->join_sent)); + LWIP_PLATFORM_DIAG(("leave_sent: %"STAT_COUNTER_F"\n\t", igmp->leave_sent)); + LWIP_PLATFORM_DIAG(("unicast_query: %"STAT_COUNTER_F"\n\t", igmp->unicast_query)); + LWIP_PLATFORM_DIAG(("report_sent: %"STAT_COUNTER_F"\n\t", igmp->report_sent)); + LWIP_PLATFORM_DIAG(("report_rxed: %"STAT_COUNTER_F"\n\t", igmp->report_rxed)); + LWIP_PLATFORM_DIAG(("group_query_rxed: %"STAT_COUNTER_F"\n", igmp->group_query_rxed)); +} +#endif /* IGMP_STATS */ + +#if MEM_STATS || MEMP_STATS +void +stats_display_mem(struct stats_mem *mem, char *name) +{ + LWIP_PLATFORM_DIAG(("\nMEM %s\n\t", name)); + LWIP_PLATFORM_DIAG(("avail: %"U32_F"\n\t", (u32_t)mem->avail)); + LWIP_PLATFORM_DIAG(("used: %"U32_F"\n\t", (u32_t)mem->used)); + LWIP_PLATFORM_DIAG(("max: %"U32_F"\n\t", (u32_t)mem->max)); + LWIP_PLATFORM_DIAG(("err: %"U32_F"\n", (u32_t)mem->err)); +} + +#if MEMP_STATS +void +stats_display_memp(struct stats_mem *mem, int index) +{ + char * memp_names[] = { +#define LWIP_MEMPOOL(name,num,size,desc) desc, +#include "lwip/memp_std.h" + }; + if(index < MEMP_MAX) { + stats_display_mem(mem, memp_names[index]); + } +} +#endif /* MEMP_STATS */ +#endif /* MEM_STATS || MEMP_STATS */ + +#if SYS_STATS +void +stats_display_sys(struct stats_sys *sys) +{ + LWIP_PLATFORM_DIAG(("\nSYS\n\t")); + LWIP_PLATFORM_DIAG(("sem.used: %"U32_F"\n\t", (u32_t)sys->sem.used)); + LWIP_PLATFORM_DIAG(("sem.max: %"U32_F"\n\t", (u32_t)sys->sem.max)); + LWIP_PLATFORM_DIAG(("sem.err: %"U32_F"\n\t", (u32_t)sys->sem.err)); + LWIP_PLATFORM_DIAG(("mbox.used: %"U32_F"\n\t", (u32_t)sys->mbox.used)); + LWIP_PLATFORM_DIAG(("mbox.max: %"U32_F"\n\t", (u32_t)sys->mbox.max)); + LWIP_PLATFORM_DIAG(("mbox.err: %"U32_F"\n\t", (u32_t)sys->mbox.err)); +} +#endif /* SYS_STATS */ + +void +stats_display(void) +{ + s16_t i; + + LINK_STATS_DISPLAY(); + ETHARP_STATS_DISPLAY(); + IPFRAG_STATS_DISPLAY(); + IP_STATS_DISPLAY(); + IGMP_STATS_DISPLAY(); + ICMP_STATS_DISPLAY(); + UDP_STATS_DISPLAY(); + TCP_STATS_DISPLAY(); + MEM_STATS_DISPLAY(); + for (i = 0; i < MEMP_MAX; i++) { + MEMP_STATS_DISPLAY(i); + } + SYS_STATS_DISPLAY(); +} +#endif /* LWIP_STATS_DISPLAY */ + +#endif /* LWIP_STATS */ + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp.c new file mode 100644 index 0000000..c588d21 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp.c @@ -0,0 +1,1463 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Transmission Control Protocol for IP + * + * This file contains common functions for the TCP implementation, such as functinos + * for manipulating the data structures and the TCP timer functions. TCP functions + * related to input and output is found in tcp_in.c and tcp_out.c respectively. + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/def.h" +#include "lwip/mem.h" +#include "lwip/memp.h" +#include "lwip/snmp.h" +#include "lwip/tcp.h" +#include "lwip/debug.h" +#include "lwip/stats.h" + +#include <string.h> + +const char *tcp_state_str[] = { + "CLOSED", + "LISTEN", + "SYN_SENT", + "SYN_RCVD", + "ESTABLISHED", + "FIN_WAIT_1", + "FIN_WAIT_2", + "CLOSE_WAIT", + "CLOSING", + "LAST_ACK", + "TIME_WAIT" +}; + +/* Incremented every coarse grained timer shot (typically every 500 ms). */ +u32_t tcp_ticks; +const u8_t tcp_backoff[13] = + { 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7}; + /* Times per slowtmr hits */ +const u8_t tcp_persist_backoff[7] = { 3, 6, 12, 24, 48, 96, 120 }; + +/* The TCP PCB lists. */ + +/** List of all TCP PCBs bound but not yet (connected || listening) */ +struct tcp_pcb *tcp_bound_pcbs; +/** List of all TCP PCBs in LISTEN state */ +union tcp_listen_pcbs_t tcp_listen_pcbs; +/** List of all TCP PCBs that are in a state in which + * they accept or send data. */ +struct tcp_pcb *tcp_active_pcbs; +/** List of all TCP PCBs in TIME-WAIT state */ +struct tcp_pcb *tcp_tw_pcbs; + +struct tcp_pcb *tcp_tmp_pcb; + +static u8_t tcp_timer; +static u16_t tcp_new_port(void); + +/** + * Called periodically to dispatch TCP timers. + * + */ +void +tcp_tmr(void) +{ + /* Call tcp_fasttmr() every 250 ms */ + tcp_fasttmr(); + + if (++tcp_timer & 1) { + /* Call tcp_tmr() every 500 ms, i.e., every other timer + tcp_tmr() is called. */ + tcp_slowtmr(); + } +} + +/** + * Closes the connection held by the PCB. + * + * Listening pcbs are freed and may not be referenced any more. + * Connection pcbs are freed if not yet connected and may not be referenced + * any more. If a connection is established (at least SYN received or in + * a closing state), the connection is closed, and put in a closing state. + * The pcb is then automatically freed in tcp_slowtmr(). It is therefore + * unsafe to reference it. + * + * @param pcb the tcp_pcb to close + * @return ERR_OK if connection has been closed + * another err_t if closing failed and pcb is not freed + */ +err_t +tcp_close(struct tcp_pcb *pcb) +{ + err_t err; + +#if TCP_DEBUG + LWIP_DEBUGF(TCP_DEBUG, ("tcp_close: closing in ")); + tcp_debug_print_state(pcb->state); +#endif /* TCP_DEBUG */ + + switch (pcb->state) { + case CLOSED: + /* Closing a pcb in the CLOSED state might seem erroneous, + * however, it is in this state once allocated and as yet unused + * and the user needs some way to free it should the need arise. + * Calling tcp_close() with a pcb that has already been closed, (i.e. twice) + * or for a pcb that has been used and then entered the CLOSED state + * is erroneous, but this should never happen as the pcb has in those cases + * been freed, and so any remaining handles are bogus. */ + err = ERR_OK; + TCP_RMV(&tcp_bound_pcbs, pcb); + memp_free(MEMP_TCP_PCB, pcb); + pcb = NULL; + break; + case LISTEN: + err = ERR_OK; + tcp_pcb_remove((struct tcp_pcb **)&tcp_listen_pcbs.pcbs, pcb); + memp_free(MEMP_TCP_PCB_LISTEN, pcb); + pcb = NULL; + break; + case SYN_SENT: + err = ERR_OK; + tcp_pcb_remove(&tcp_active_pcbs, pcb); + memp_free(MEMP_TCP_PCB, pcb); + pcb = NULL; + snmp_inc_tcpattemptfails(); + break; + case SYN_RCVD: + err = tcp_send_ctrl(pcb, TCP_FIN); + if (err == ERR_OK) { + snmp_inc_tcpattemptfails(); + pcb->state = FIN_WAIT_1; + } + break; + case ESTABLISHED: + err = tcp_send_ctrl(pcb, TCP_FIN); + if (err == ERR_OK) { + snmp_inc_tcpestabresets(); + pcb->state = FIN_WAIT_1; + } + break; + case CLOSE_WAIT: + err = tcp_send_ctrl(pcb, TCP_FIN); + if (err == ERR_OK) { + snmp_inc_tcpestabresets(); + pcb->state = LAST_ACK; + } + break; + default: + /* Has already been closed, do nothing. */ + err = ERR_OK; + pcb = NULL; + break; + } + + if (pcb != NULL && err == ERR_OK) { + /* To ensure all data has been sent when tcp_close returns, we have + to make sure tcp_output doesn't fail. + Since we don't really have to ensure all data has been sent when tcp_close + returns (unsent data is sent from tcp timer functions, also), we don't care + for the return value of tcp_output for now. */ + /* @todo: When implementing SO_LINGER, this must be changed somehow: + If SOF_LINGER is set, the data should be sent when tcp_close returns. */ + tcp_output(pcb); + } + return err; +} + +/** + * Abandons a connection and optionally sends a RST to the remote + * host. Deletes the local protocol control block. This is done when + * a connection is killed because of shortage of memory. + * + * @param pcb the tcp_pcb to abort + * @param reset boolean to indicate whether a reset should be sent + */ +void +tcp_abandon(struct tcp_pcb *pcb, int reset) +{ + u32_t seqno, ackno; + u16_t remote_port, local_port; + struct ip_addr remote_ip, local_ip; +#if LWIP_CALLBACK_API + void (* errf)(void *arg, err_t err); +#endif /* LWIP_CALLBACK_API */ + void *errf_arg; + + + /* Figure out on which TCP PCB list we are, and remove us. If we + are in an active state, call the receive function associated with + the PCB with a NULL argument, and send an RST to the remote end. */ + if (pcb->state == TIME_WAIT) { + tcp_pcb_remove(&tcp_tw_pcbs, pcb); + memp_free(MEMP_TCP_PCB, pcb); + } else { + seqno = pcb->snd_nxt; + ackno = pcb->rcv_nxt; + ip_addr_set(&local_ip, &(pcb->local_ip)); + ip_addr_set(&remote_ip, &(pcb->remote_ip)); + local_port = pcb->local_port; + remote_port = pcb->remote_port; +#if LWIP_CALLBACK_API + errf = pcb->errf; +#endif /* LWIP_CALLBACK_API */ + errf_arg = pcb->callback_arg; + tcp_pcb_remove(&tcp_active_pcbs, pcb); + if (pcb->unacked != NULL) { + tcp_segs_free(pcb->unacked); + } + if (pcb->unsent != NULL) { + tcp_segs_free(pcb->unsent); + } +#if TCP_QUEUE_OOSEQ + if (pcb->ooseq != NULL) { + tcp_segs_free(pcb->ooseq); + } +#endif /* TCP_QUEUE_OOSEQ */ + memp_free(MEMP_TCP_PCB, pcb); + TCP_EVENT_ERR(errf, errf_arg, ERR_ABRT); + if (reset) { + LWIP_DEBUGF(TCP_RST_DEBUG, ("tcp_abandon: sending RST\n")); + tcp_rst(seqno, ackno, &local_ip, &remote_ip, local_port, remote_port); + } + } +} + +/** + * Binds the connection to a local portnumber and IP address. If the + * IP address is not given (i.e., ipaddr == NULL), the IP address of + * the outgoing network interface is used instead. + * + * @param pcb the tcp_pcb to bind (no check is done whether this pcb is + * already bound!) + * @param ipaddr the local ip address to bind to (use IP_ADDR_ANY to bind + * to any local address + * @param port the local port to bind to + * @return ERR_USE if the port is already in use + * ERR_OK if bound + */ +err_t +tcp_bind(struct tcp_pcb *pcb, struct ip_addr *ipaddr, u16_t port) +{ + struct tcp_pcb *cpcb; + + LWIP_ERROR("tcp_bind: can only bind in state CLOSED", pcb->state == CLOSED, return ERR_ISCONN); + + if (port == 0) { + port = tcp_new_port(); + } + /* Check if the address already is in use. */ + /* Check the listen pcbs. */ + for(cpcb = (struct tcp_pcb *)tcp_listen_pcbs.pcbs; + cpcb != NULL; cpcb = cpcb->next) { + if (cpcb->local_port == port) { + if (ip_addr_isany(&(cpcb->local_ip)) || + ip_addr_isany(ipaddr) || + ip_addr_cmp(&(cpcb->local_ip), ipaddr)) { + return ERR_USE; + } + } + } + /* Check the connected pcbs. */ + for(cpcb = tcp_active_pcbs; + cpcb != NULL; cpcb = cpcb->next) { + if (cpcb->local_port == port) { + if (ip_addr_isany(&(cpcb->local_ip)) || + ip_addr_isany(ipaddr) || + ip_addr_cmp(&(cpcb->local_ip), ipaddr)) { + return ERR_USE; + } + } + } + /* Check the bound, not yet connected pcbs. */ + for(cpcb = tcp_bound_pcbs; cpcb != NULL; cpcb = cpcb->next) { + if (cpcb->local_port == port) { + if (ip_addr_isany(&(cpcb->local_ip)) || + ip_addr_isany(ipaddr) || + ip_addr_cmp(&(cpcb->local_ip), ipaddr)) { + return ERR_USE; + } + } + } + /* @todo: until SO_REUSEADDR is implemented (see task #6995 on savannah), + * we have to check the pcbs in TIME-WAIT state, also: */ + for(cpcb = tcp_tw_pcbs; cpcb != NULL; cpcb = cpcb->next) { + if (cpcb->local_port == port) { + if (ip_addr_cmp(&(cpcb->local_ip), ipaddr)) { + return ERR_USE; + } + } + } + + if (!ip_addr_isany(ipaddr)) { + pcb->local_ip = *ipaddr; + } + pcb->local_port = port; + TCP_REG(&tcp_bound_pcbs, pcb); + LWIP_DEBUGF(TCP_DEBUG, ("tcp_bind: bind to port %"U16_F"\n", port)); + return ERR_OK; +} +#if LWIP_CALLBACK_API +/** + * Default accept callback if no accept callback is specified by the user. + */ +static err_t +tcp_accept_null(void *arg, struct tcp_pcb *pcb, err_t err) +{ + LWIP_UNUSED_ARG(arg); + LWIP_UNUSED_ARG(pcb); + LWIP_UNUSED_ARG(err); + + return ERR_ABRT; +} +#endif /* LWIP_CALLBACK_API */ + +/** + * Set the state of the connection to be LISTEN, which means that it + * is able to accept incoming connections. The protocol control block + * is reallocated in order to consume less memory. Setting the + * connection to LISTEN is an irreversible process. + * + * @param pcb the original tcp_pcb + * @param backlog the incoming connections queue limit + * @return tcp_pcb used for listening, consumes less memory. + * + * @note The original tcp_pcb is freed. This function therefore has to be + * called like this: + * tpcb = tcp_listen(tpcb); + */ +struct tcp_pcb * +tcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog) +{ + struct tcp_pcb_listen *lpcb; + + LWIP_UNUSED_ARG(backlog); + LWIP_ERROR("tcp_listen: pcb already connected", pcb->state == CLOSED, return NULL); + + /* already listening? */ + if (pcb->state == LISTEN) { + return pcb; + } + lpcb = memp_malloc(MEMP_TCP_PCB_LISTEN); + if (lpcb == NULL) { + return NULL; + } + lpcb->callback_arg = pcb->callback_arg; + lpcb->local_port = pcb->local_port; + lpcb->state = LISTEN; + lpcb->so_options = pcb->so_options; + lpcb->so_options |= SOF_ACCEPTCONN; + lpcb->ttl = pcb->ttl; + lpcb->tos = pcb->tos; + ip_addr_set(&lpcb->local_ip, &pcb->local_ip); + TCP_RMV(&tcp_bound_pcbs, pcb); + memp_free(MEMP_TCP_PCB, pcb); +#if LWIP_CALLBACK_API + lpcb->accept = tcp_accept_null; +#endif /* LWIP_CALLBACK_API */ +#if TCP_LISTEN_BACKLOG + lpcb->accepts_pending = 0; + lpcb->backlog = (backlog ? backlog : 1); +#endif /* TCP_LISTEN_BACKLOG */ + TCP_REG(&tcp_listen_pcbs.listen_pcbs, lpcb); + return (struct tcp_pcb *)lpcb; +} + +/** + * Update the state that tracks the available window space to advertise. + * + * Returns how much extra window would be advertised if we sent an + * update now. + */ +u32_t tcp_update_rcv_ann_wnd(struct tcp_pcb *pcb) +{ + u32_t new_right_edge = pcb->rcv_nxt + pcb->rcv_wnd; + + if (TCP_SEQ_GEQ(new_right_edge, pcb->rcv_ann_right_edge + LWIP_MIN((TCP_WND / 2), pcb->mss))) { + /* we can advertise more window */ + pcb->rcv_ann_wnd = pcb->rcv_wnd; + return new_right_edge - pcb->rcv_ann_right_edge; + } else { + if (TCP_SEQ_GT(pcb->rcv_nxt, pcb->rcv_ann_right_edge)) { + /* Can happen due to other end sending out of advertised window, + * but within actual available (but not yet advertised) window */ + pcb->rcv_ann_wnd = 0; + } else { + /* keep the right edge of window constant */ + pcb->rcv_ann_wnd = pcb->rcv_ann_right_edge - pcb->rcv_nxt; + } + return 0; + } +} + +/** + * This function should be called by the application when it has + * processed the data. The purpose is to advertise a larger window + * when the data has been processed. + * + * @param pcb the tcp_pcb for which data is read + * @param len the amount of bytes that have been read by the application + */ +void +tcp_recved(struct tcp_pcb *pcb, u16_t len) +{ + int wnd_inflation; + + LWIP_ASSERT("tcp_recved: len would wrap rcv_wnd\n", + len <= 0xffff - pcb->rcv_wnd ); + + pcb->rcv_wnd += len; + if (pcb->rcv_wnd > TCP_WND) + pcb->rcv_wnd = TCP_WND; + + wnd_inflation = tcp_update_rcv_ann_wnd(pcb); + + /* If the change in the right edge of window is significant (default + * watermark is TCP_WND/2), then send an explicit update now. + * Otherwise wait for a packet to be sent in the normal course of + * events (or more window to be available later) */ + if (wnd_inflation >= TCP_WND_UPDATE_THRESHOLD) + tcp_ack_now(pcb); + + LWIP_DEBUGF(TCP_DEBUG, ("tcp_recved: recveived %"U16_F" bytes, wnd %"U16_F" (%"U16_F").\n", + len, pcb->rcv_wnd, TCP_WND - pcb->rcv_wnd)); +} + +/** + * A nastly hack featuring 'goto' statements that allocates a + * new TCP local port. + * + * @return a new (free) local TCP port number + */ +static u16_t +tcp_new_port(void) +{ + struct tcp_pcb *pcb; +#ifndef TCP_LOCAL_PORT_RANGE_START +#define TCP_LOCAL_PORT_RANGE_START 4096 +#define TCP_LOCAL_PORT_RANGE_END 0x7fff +#endif + static u16_t port = TCP_LOCAL_PORT_RANGE_START; + + again: + if (++port > TCP_LOCAL_PORT_RANGE_END) { + port = TCP_LOCAL_PORT_RANGE_START; + } + + for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) { + if (pcb->local_port == port) { + goto again; + } + } + for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) { + if (pcb->local_port == port) { + goto again; + } + } + for(pcb = (struct tcp_pcb *)tcp_listen_pcbs.pcbs; pcb != NULL; pcb = pcb->next) { + if (pcb->local_port == port) { + goto again; + } + } + return port; +} + +/** + * Connects to another host. The function given as the "connected" + * argument will be called when the connection has been established. + * + * @param pcb the tcp_pcb used to establish the connection + * @param ipaddr the remote ip address to connect to + * @param port the remote tcp port to connect to + * @param connected callback function to call when connected (or on error) + * @return ERR_VAL if invalid arguments are given + * ERR_OK if connect request has been sent + * other err_t values if connect request couldn't be sent + */ +err_t +tcp_connect(struct tcp_pcb *pcb, struct ip_addr *ipaddr, u16_t port, + err_t (* connected)(void *arg, struct tcp_pcb *tpcb, err_t err)) +{ + err_t ret; + u32_t iss; + + LWIP_ERROR("tcp_connect: can only connected from state CLOSED", pcb->state == CLOSED, return ERR_ISCONN); + + LWIP_DEBUGF(TCP_DEBUG, ("tcp_connect to port %"U16_F"\n", port)); + if (ipaddr != NULL) { + pcb->remote_ip = *ipaddr; + } else { + return ERR_VAL; + } + pcb->remote_port = port; + if (pcb->local_port == 0) { + pcb->local_port = tcp_new_port(); + } + iss = tcp_next_iss(); + pcb->rcv_nxt = 0; + pcb->snd_nxt = iss; + pcb->lastack = iss - 1; + pcb->snd_lbb = iss - 1; + pcb->rcv_wnd = TCP_WND; + pcb->rcv_ann_wnd = TCP_WND; + pcb->rcv_ann_right_edge = pcb->rcv_nxt; + pcb->snd_wnd = TCP_WND; + /* As initial send MSS, we use TCP_MSS but limit it to 536. + The send MSS is updated when an MSS option is received. */ + pcb->mss = (TCP_MSS > 536) ? 536 : TCP_MSS; +#if TCP_CALCULATE_EFF_SEND_MSS + pcb->mss = tcp_eff_send_mss(pcb->mss, ipaddr); +#endif /* TCP_CALCULATE_EFF_SEND_MSS */ + pcb->cwnd = 1; + pcb->ssthresh = pcb->mss * 10; + pcb->state = SYN_SENT; +#if LWIP_CALLBACK_API + pcb->connected = connected; +#endif /* LWIP_CALLBACK_API */ + TCP_RMV(&tcp_bound_pcbs, pcb); + TCP_REG(&tcp_active_pcbs, pcb); + + snmp_inc_tcpactiveopens(); + + ret = tcp_enqueue(pcb, NULL, 0, TCP_SYN, 0, TF_SEG_OPTS_MSS +#if LWIP_TCP_TIMESTAMPS + | TF_SEG_OPTS_TS +#endif + ); + if (ret == ERR_OK) { + tcp_output(pcb); + } + return ret; +} + +/** + * Called every 500 ms and implements the retransmission timer and the timer that + * removes PCBs that have been in TIME-WAIT for enough time. It also increments + * various timers such as the inactivity timer in each PCB. + * + * Automatically called from tcp_tmr(). + */ +void +tcp_slowtmr(void) +{ + struct tcp_pcb *pcb, *pcb2, *prev; + u16_t eff_wnd; + u8_t pcb_remove; /* flag if a PCB should be removed */ + u8_t pcb_reset; /* flag if a RST should be sent when removing */ + err_t err; + + err = ERR_OK; + + ++tcp_ticks; + + /* Steps through all of the active PCBs. */ + prev = NULL; + pcb = tcp_active_pcbs; + if (pcb == NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: no active pcbs\n")); + } + while (pcb != NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: processing active pcb\n")); + LWIP_ASSERT("tcp_slowtmr: active pcb->state != CLOSED\n", pcb->state != CLOSED); + LWIP_ASSERT("tcp_slowtmr: active pcb->state != LISTEN\n", pcb->state != LISTEN); + LWIP_ASSERT("tcp_slowtmr: active pcb->state != TIME-WAIT\n", pcb->state != TIME_WAIT); + + pcb_remove = 0; + pcb_reset = 0; + + if (pcb->state == SYN_SENT && pcb->nrtx == TCP_SYNMAXRTX) { + ++pcb_remove; + LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: max SYN retries reached\n")); + } + else if (pcb->nrtx == TCP_MAXRTX) { + ++pcb_remove; + LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: max DATA retries reached\n")); + } else { + if (pcb->persist_backoff > 0) { + /* If snd_wnd is zero, use persist timer to send 1 byte probes + * instead of using the standard retransmission mechanism. */ + pcb->persist_cnt++; + if (pcb->persist_cnt >= tcp_persist_backoff[pcb->persist_backoff-1]) { + pcb->persist_cnt = 0; + if (pcb->persist_backoff < sizeof(tcp_persist_backoff)) { + pcb->persist_backoff++; + } + tcp_zero_window_probe(pcb); + } + } else { + /* Increase the retransmission timer if it is running */ + if(pcb->rtime >= 0) + ++pcb->rtime; + + if (pcb->unacked != NULL && pcb->rtime >= pcb->rto) { + /* Time for a retransmission. */ + LWIP_DEBUGF(TCP_RTO_DEBUG, ("tcp_slowtmr: rtime %"S16_F + " pcb->rto %"S16_F"\n", + pcb->rtime, pcb->rto)); + + /* Double retransmission time-out unless we are trying to + * connect to somebody (i.e., we are in SYN_SENT). */ + if (pcb->state != SYN_SENT) { + pcb->rto = ((pcb->sa >> 3) + pcb->sv) << tcp_backoff[pcb->nrtx]; + } + + /* Reset the retransmission timer. */ + pcb->rtime = 0; + + /* Reduce congestion window and ssthresh. */ + eff_wnd = LWIP_MIN(pcb->cwnd, pcb->snd_wnd); + pcb->ssthresh = eff_wnd >> 1; + if (pcb->ssthresh < pcb->mss) { + pcb->ssthresh = pcb->mss * 2; + } + pcb->cwnd = pcb->mss; + LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_slowtmr: cwnd %"U16_F + " ssthresh %"U16_F"\n", + pcb->cwnd, pcb->ssthresh)); + + /* The following needs to be called AFTER cwnd is set to one + mss - STJ */ + tcp_rexmit_rto(pcb); + } + } + } + /* Check if this PCB has stayed too long in FIN-WAIT-2 */ + if (pcb->state == FIN_WAIT_2) { + if ((u32_t)(tcp_ticks - pcb->tmr) > + TCP_FIN_WAIT_TIMEOUT / TCP_SLOW_INTERVAL) { + ++pcb_remove; + LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: removing pcb stuck in FIN-WAIT-2\n")); + } + } + + /* Check if KEEPALIVE should be sent */ + if((pcb->so_options & SOF_KEEPALIVE) && + ((pcb->state == ESTABLISHED) || + (pcb->state == CLOSE_WAIT))) { +#if LWIP_TCP_KEEPALIVE + if((u32_t)(tcp_ticks - pcb->tmr) > + (pcb->keep_idle + (pcb->keep_cnt*pcb->keep_intvl)) + / TCP_SLOW_INTERVAL) +#else + if((u32_t)(tcp_ticks - pcb->tmr) > + (pcb->keep_idle + TCP_MAXIDLE) / TCP_SLOW_INTERVAL) +#endif /* LWIP_TCP_KEEPALIVE */ + { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: KEEPALIVE timeout. Aborting connection to %"U16_F".%"U16_F".%"U16_F".%"U16_F".\n", + ip4_addr1(&pcb->remote_ip), ip4_addr2(&pcb->remote_ip), + ip4_addr3(&pcb->remote_ip), ip4_addr4(&pcb->remote_ip))); + + ++pcb_remove; + ++pcb_reset; + } +#if LWIP_TCP_KEEPALIVE + else if((u32_t)(tcp_ticks - pcb->tmr) > + (pcb->keep_idle + pcb->keep_cnt_sent * pcb->keep_intvl) + / TCP_SLOW_INTERVAL) +#else + else if((u32_t)(tcp_ticks - pcb->tmr) > + (pcb->keep_idle + pcb->keep_cnt_sent * TCP_KEEPINTVL_DEFAULT) + / TCP_SLOW_INTERVAL) +#endif /* LWIP_TCP_KEEPALIVE */ + { + tcp_keepalive(pcb); + pcb->keep_cnt_sent++; + } + } + + /* If this PCB has queued out of sequence data, but has been + inactive for too long, will drop the data (it will eventually + be retransmitted). */ +#if TCP_QUEUE_OOSEQ + if (pcb->ooseq != NULL && + (u32_t)tcp_ticks - pcb->tmr >= pcb->rto * TCP_OOSEQ_TIMEOUT) { + tcp_segs_free(pcb->ooseq); + pcb->ooseq = NULL; + LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_slowtmr: dropping OOSEQ queued data\n")); + } +#endif /* TCP_QUEUE_OOSEQ */ + + /* Check if this PCB has stayed too long in SYN-RCVD */ + if (pcb->state == SYN_RCVD) { + if ((u32_t)(tcp_ticks - pcb->tmr) > + TCP_SYN_RCVD_TIMEOUT / TCP_SLOW_INTERVAL) { + ++pcb_remove; + LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: removing pcb stuck in SYN-RCVD\n")); + } + } + + /* Check if this PCB has stayed too long in LAST-ACK */ + if (pcb->state == LAST_ACK) { + if ((u32_t)(tcp_ticks - pcb->tmr) > 2 * TCP_MSL / TCP_SLOW_INTERVAL) { + ++pcb_remove; + LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: removing pcb stuck in LAST-ACK\n")); + } + } + + /* If the PCB should be removed, do it. */ + if (pcb_remove) { + tcp_pcb_purge(pcb); + /* Remove PCB from tcp_active_pcbs list. */ + if (prev != NULL) { + LWIP_ASSERT("tcp_slowtmr: middle tcp != tcp_active_pcbs", pcb != tcp_active_pcbs); + prev->next = pcb->next; + } else { + /* This PCB was the first. */ + LWIP_ASSERT("tcp_slowtmr: first pcb == tcp_active_pcbs", tcp_active_pcbs == pcb); + tcp_active_pcbs = pcb->next; + } + + TCP_EVENT_ERR(pcb->errf, pcb->callback_arg, ERR_ABRT); + if (pcb_reset) { + tcp_rst(pcb->snd_nxt, pcb->rcv_nxt, &pcb->local_ip, &pcb->remote_ip, + pcb->local_port, pcb->remote_port); + } + + pcb2 = pcb->next; + memp_free(MEMP_TCP_PCB, pcb); + pcb = pcb2; + } else { + + /* We check if we should poll the connection. */ + ++pcb->polltmr; + if (pcb->polltmr >= pcb->pollinterval) { + pcb->polltmr = 0; + LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: polling application\n")); + TCP_EVENT_POLL(pcb, err); + if (err == ERR_OK) { + tcp_output(pcb); + } + } + + prev = pcb; + pcb = pcb->next; + } + } + + + /* Steps through all of the TIME-WAIT PCBs. */ + prev = NULL; + pcb = tcp_tw_pcbs; + while (pcb != NULL) { + LWIP_ASSERT("tcp_slowtmr: TIME-WAIT pcb->state == TIME-WAIT", pcb->state == TIME_WAIT); + pcb_remove = 0; + + /* Check if this PCB has stayed long enough in TIME-WAIT */ + if ((u32_t)(tcp_ticks - pcb->tmr) > 2 * TCP_MSL / TCP_SLOW_INTERVAL) { + ++pcb_remove; + } + + + + /* If the PCB should be removed, do it. */ + if (pcb_remove) { + tcp_pcb_purge(pcb); + /* Remove PCB from tcp_tw_pcbs list. */ + if (prev != NULL) { + LWIP_ASSERT("tcp_slowtmr: middle tcp != tcp_tw_pcbs", pcb != tcp_tw_pcbs); + prev->next = pcb->next; + } else { + /* This PCB was the first. */ + LWIP_ASSERT("tcp_slowtmr: first pcb == tcp_tw_pcbs", tcp_tw_pcbs == pcb); + tcp_tw_pcbs = pcb->next; + } + pcb2 = pcb->next; + memp_free(MEMP_TCP_PCB, pcb); + pcb = pcb2; + } else { + prev = pcb; + pcb = pcb->next; + } + } +} + +/** + * Is called every TCP_FAST_INTERVAL (250 ms) and process data previously + * "refused" by upper layer (application) and sends delayed ACKs. + * + * Automatically called from tcp_tmr(). + */ +void +tcp_fasttmr(void) +{ + struct tcp_pcb *pcb; + + for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) { + /* If there is data which was previously "refused" by upper layer */ + if (pcb->refused_data != NULL) { + /* Notify again application with data previously received. */ + err_t err; + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_fasttmr: notify kept packet\n")); + TCP_EVENT_RECV(pcb, pcb->refused_data, ERR_OK, err); + if (err == ERR_OK) { + pcb->refused_data = NULL; + } + } + + /* send delayed ACKs */ + if (pcb->flags & TF_ACK_DELAY) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_fasttmr: delayed ACK\n")); + tcp_ack_now(pcb); + pcb->flags &= ~(TF_ACK_DELAY | TF_ACK_NOW); + } + } +} + +/** + * Deallocates a list of TCP segments (tcp_seg structures). + * + * @param seg tcp_seg list of TCP segments to free + * @return the number of pbufs that were deallocated + */ +u8_t +tcp_segs_free(struct tcp_seg *seg) +{ + u8_t count = 0; + struct tcp_seg *next; + while (seg != NULL) { + next = seg->next; + count += tcp_seg_free(seg); + seg = next; + } + return count; +} + +/** + * Frees a TCP segment (tcp_seg structure). + * + * @param seg single tcp_seg to free + * @return the number of pbufs that were deallocated + */ +u8_t +tcp_seg_free(struct tcp_seg *seg) +{ + u8_t count = 0; + + if (seg != NULL) { + if (seg->p != NULL) { + count = pbuf_free(seg->p); +#if TCP_DEBUG + seg->p = NULL; +#endif /* TCP_DEBUG */ + } + memp_free(MEMP_TCP_SEG, seg); + } + return count; +} + +/** + * Sets the priority of a connection. + * + * @param pcb the tcp_pcb to manipulate + * @param prio new priority + */ +void +tcp_setprio(struct tcp_pcb *pcb, u8_t prio) +{ + pcb->prio = prio; +} +#if TCP_QUEUE_OOSEQ + +/** + * Returns a copy of the given TCP segment. + * The pbuf and data are not copied, only the pointers + * + * @param seg the old tcp_seg + * @return a copy of seg + */ +struct tcp_seg * +tcp_seg_copy(struct tcp_seg *seg) +{ + struct tcp_seg *cseg; + + cseg = memp_malloc(MEMP_TCP_SEG); + if (cseg == NULL) { + return NULL; + } + SMEMCPY((u8_t *)cseg, (const u8_t *)seg, sizeof(struct tcp_seg)); + pbuf_ref(cseg->p); + return cseg; +} +#endif + +#if LWIP_CALLBACK_API +/** + * Default receive callback that is called if the user didn't register + * a recv callback for the pcb. + */ +err_t +tcp_recv_null(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err) +{ + LWIP_UNUSED_ARG(arg); + if (p != NULL) { + tcp_recved(pcb, p->tot_len); + pbuf_free(p); + } else if (err == ERR_OK) { + return tcp_close(pcb); + } + return ERR_OK; +} +#endif /* LWIP_CALLBACK_API */ + +/** + * Kills the oldest active connection that has lower priority than prio. + * + * @param prio minimum priority + */ +static void +tcp_kill_prio(u8_t prio) +{ + struct tcp_pcb *pcb, *inactive; + u32_t inactivity; + u8_t mprio; + + + mprio = TCP_PRIO_MAX; + + /* We kill the oldest active connection that has lower priority than prio. */ + inactivity = 0; + inactive = NULL; + for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) { + if (pcb->prio <= prio && + pcb->prio <= mprio && + (u32_t)(tcp_ticks - pcb->tmr) >= inactivity) { + inactivity = tcp_ticks - pcb->tmr; + inactive = pcb; + mprio = pcb->prio; + } + } + if (inactive != NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_kill_prio: killing oldest PCB %p (%"S32_F")\n", + (void *)inactive, inactivity)); + tcp_abort(inactive); + } +} + +/** + * Kills the oldest connection that is in TIME_WAIT state. + * Called from tcp_alloc() if no more connections are available. + */ +static void +tcp_kill_timewait(void) +{ + struct tcp_pcb *pcb, *inactive; + u32_t inactivity; + + inactivity = 0; + inactive = NULL; + /* Go through the list of TIME_WAIT pcbs and get the oldest pcb. */ + for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) { + if ((u32_t)(tcp_ticks - pcb->tmr) >= inactivity) { + inactivity = tcp_ticks - pcb->tmr; + inactive = pcb; + } + } + if (inactive != NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_kill_timewait: killing oldest TIME-WAIT PCB %p (%"S32_F")\n", + (void *)inactive, inactivity)); + tcp_abort(inactive); + } +} + +/** + * Allocate a new tcp_pcb structure. + * + * @param prio priority for the new pcb + * @return a new tcp_pcb that initially is in state CLOSED + */ +struct tcp_pcb * +tcp_alloc(u8_t prio) +{ + struct tcp_pcb *pcb; + u32_t iss; + + pcb = memp_malloc(MEMP_TCP_PCB); + if (pcb == NULL) { + /* Try killing oldest connection in TIME-WAIT. */ + LWIP_DEBUGF(TCP_DEBUG, ("tcp_alloc: killing off oldest TIME-WAIT connection\n")); + tcp_kill_timewait(); + /* Try to allocate a tcp_pcb again. */ + pcb = memp_malloc(MEMP_TCP_PCB); + if (pcb == NULL) { + /* Try killing active connections with lower priority than the new one. */ + LWIP_DEBUGF(TCP_DEBUG, ("tcp_alloc: killing connection with prio lower than %d\n", prio)); + tcp_kill_prio(prio); + /* Try to allocate a tcp_pcb again. */ + pcb = memp_malloc(MEMP_TCP_PCB); + if (pcb != NULL) { + /* adjust err stats: memp_malloc failed twice before */ + MEMP_STATS_DEC(err, MEMP_TCP_PCB); + } + } + if (pcb != NULL) { + /* adjust err stats: timewait PCB was freed above */ + MEMP_STATS_DEC(err, MEMP_TCP_PCB); + } + } + if (pcb != NULL) { + memset(pcb, 0, sizeof(struct tcp_pcb)); + pcb->prio = TCP_PRIO_NORMAL; + pcb->snd_buf = TCP_SND_BUF; + pcb->snd_queuelen = 0; + pcb->rcv_wnd = TCP_WND; + pcb->rcv_ann_wnd = TCP_WND; + pcb->tos = 0; + pcb->ttl = TCP_TTL; + /* As initial send MSS, we use TCP_MSS but limit it to 536. + The send MSS is updated when an MSS option is received. */ + pcb->mss = (TCP_MSS > 536) ? 536 : TCP_MSS; + pcb->rto = 3000 / TCP_SLOW_INTERVAL; + pcb->sa = 0; + pcb->sv = 3000 / TCP_SLOW_INTERVAL; + pcb->rtime = -1; + pcb->cwnd = 1; + iss = tcp_next_iss(); + pcb->snd_wl2 = iss; + pcb->snd_nxt = iss; + pcb->lastack = iss; + pcb->snd_lbb = iss; + pcb->tmr = tcp_ticks; + + pcb->polltmr = 0; + +#if LWIP_CALLBACK_API + pcb->recv = tcp_recv_null; +#endif /* LWIP_CALLBACK_API */ + + /* Init KEEPALIVE timer */ + pcb->keep_idle = TCP_KEEPIDLE_DEFAULT; + +#if LWIP_TCP_KEEPALIVE + pcb->keep_intvl = TCP_KEEPINTVL_DEFAULT; + pcb->keep_cnt = TCP_KEEPCNT_DEFAULT; +#endif /* LWIP_TCP_KEEPALIVE */ + + pcb->keep_cnt_sent = 0; + } + return pcb; +} + +/** + * Creates a new TCP protocol control block but doesn't place it on + * any of the TCP PCB lists. + * The pcb is not put on any list until binding using tcp_bind(). + * + * @internal: Maybe there should be a idle TCP PCB list where these + * PCBs are put on. Port reservation using tcp_bind() is implemented but + * allocated pcbs that are not bound can't be killed automatically if wanting + * to allocate a pcb with higher prio (@see tcp_kill_prio()) + * + * @return a new tcp_pcb that initially is in state CLOSED + */ +struct tcp_pcb * +tcp_new(void) +{ + return tcp_alloc(TCP_PRIO_NORMAL); +} + +/** + * Used to specify the argument that should be passed callback + * functions. + * + * @param pcb tcp_pcb to set the callback argument + * @param arg void pointer argument to pass to callback functions + */ +void +tcp_arg(struct tcp_pcb *pcb, void *arg) +{ + pcb->callback_arg = arg; +} +#if LWIP_CALLBACK_API + +/** + * Used to specify the function that should be called when a TCP + * connection receives data. + * + * @param pcb tcp_pcb to set the recv callback + * @param recv callback function to call for this pcb when data is received + */ +void +tcp_recv(struct tcp_pcb *pcb, + err_t (* recv)(void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err)) +{ + pcb->recv = recv; +} + +/** + * Used to specify the function that should be called when TCP data + * has been successfully delivered to the remote host. + * + * @param pcb tcp_pcb to set the sent callback + * @param sent callback function to call for this pcb when data is successfully sent + */ +void +tcp_sent(struct tcp_pcb *pcb, + err_t (* sent)(void *arg, struct tcp_pcb *tpcb, u16_t len)) +{ + pcb->sent = sent; +} + +/** + * Used to specify the function that should be called when a fatal error + * has occured on the connection. + * + * @param pcb tcp_pcb to set the err callback + * @param errf callback function to call for this pcb when a fatal error + * has occured on the connection + */ +void +tcp_err(struct tcp_pcb *pcb, + void (* errf)(void *arg, err_t err)) +{ + pcb->errf = errf; +} + +/** + * Used for specifying the function that should be called when a + * LISTENing connection has been connected to another host. + * + * @param pcb tcp_pcb to set the accept callback + * @param accept callback function to call for this pcb when LISTENing + * connection has been connected to another host + */ +void +tcp_accept(struct tcp_pcb *pcb, + err_t (* accept)(void *arg, struct tcp_pcb *newpcb, err_t err)) +{ + pcb->accept = accept; +} +#endif /* LWIP_CALLBACK_API */ + + +/** + * Used to specify the function that should be called periodically + * from TCP. The interval is specified in terms of the TCP coarse + * timer interval, which is called twice a second. + * + */ +void +tcp_poll(struct tcp_pcb *pcb, + err_t (* poll)(void *arg, struct tcp_pcb *tpcb), u8_t interval) +{ +#if LWIP_CALLBACK_API + pcb->poll = poll; +#endif /* LWIP_CALLBACK_API */ + pcb->pollinterval = interval; +} + +/** + * Purges a TCP PCB. Removes any buffered data and frees the buffer memory + * (pcb->ooseq, pcb->unsent and pcb->unacked are freed). + * + * @param pcb tcp_pcb to purge. The pcb itself is not deallocated! + */ +void +tcp_pcb_purge(struct tcp_pcb *pcb) +{ + if (pcb->state != CLOSED && + pcb->state != TIME_WAIT && + pcb->state != LISTEN) { + + LWIP_DEBUGF(TCP_DEBUG, ("tcp_pcb_purge\n")); + +#if TCP_LISTEN_BACKLOG + if (pcb->state == SYN_RCVD) { + /* Need to find the corresponding listen_pcb and decrease its accepts_pending */ + struct tcp_pcb_listen *lpcb; + LWIP_ASSERT("tcp_pcb_purge: pcb->state == SYN_RCVD but tcp_listen_pcbs is NULL", + tcp_listen_pcbs.listen_pcbs != NULL); + for (lpcb = tcp_listen_pcbs.listen_pcbs; lpcb != NULL; lpcb = lpcb->next) { + if ((lpcb->local_port == pcb->local_port) && + (ip_addr_isany(&lpcb->local_ip) || + ip_addr_cmp(&pcb->local_ip, &lpcb->local_ip))) { + /* port and address of the listen pcb match the timed-out pcb */ + LWIP_ASSERT("tcp_pcb_purge: listen pcb does not have accepts pending", + lpcb->accepts_pending > 0); + lpcb->accepts_pending--; + break; + } + } + } +#endif /* TCP_LISTEN_BACKLOG */ + + + if (pcb->refused_data != NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_pcb_purge: data left on ->refused_data\n")); + pbuf_free(pcb->refused_data); + pcb->refused_data = NULL; + } + if (pcb->unsent != NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_pcb_purge: not all data sent\n")); + } + if (pcb->unacked != NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_pcb_purge: data left on ->unacked\n")); + } +#if TCP_QUEUE_OOSEQ /* LW */ + if (pcb->ooseq != NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_pcb_purge: data left on ->ooseq\n")); + } + + /* Stop the retransmission timer as it will expect data on unacked + queue if it fires */ + pcb->rtime = -1; + + tcp_segs_free(pcb->ooseq); + pcb->ooseq = NULL; +#endif /* TCP_QUEUE_OOSEQ */ + tcp_segs_free(pcb->unsent); + tcp_segs_free(pcb->unacked); + pcb->unacked = pcb->unsent = NULL; + } +} + +/** + * Purges the PCB and removes it from a PCB list. Any delayed ACKs are sent first. + * + * @param pcblist PCB list to purge. + * @param pcb tcp_pcb to purge. The pcb itself is NOT deallocated! + */ +void +tcp_pcb_remove(struct tcp_pcb **pcblist, struct tcp_pcb *pcb) +{ + TCP_RMV(pcblist, pcb); + + tcp_pcb_purge(pcb); + + /* if there is an outstanding delayed ACKs, send it */ + if (pcb->state != TIME_WAIT && + pcb->state != LISTEN && + pcb->flags & TF_ACK_DELAY) { + pcb->flags |= TF_ACK_NOW; + tcp_output(pcb); + } + + if (pcb->state != LISTEN) { + LWIP_ASSERT("unsent segments leaking", pcb->unsent == NULL); + LWIP_ASSERT("unacked segments leaking", pcb->unacked == NULL); +#if TCP_QUEUE_OOSEQ + LWIP_ASSERT("ooseq segments leaking", pcb->ooseq == NULL); +#endif /* TCP_QUEUE_OOSEQ */ + } + + pcb->state = CLOSED; + + LWIP_ASSERT("tcp_pcb_remove: tcp_pcbs_sane()", tcp_pcbs_sane()); +} + +/** + * Calculates a new initial sequence number for new connections. + * + * @return u32_t pseudo random sequence number + */ +u32_t +tcp_next_iss(void) +{ + static u32_t iss = 6510; + + iss += tcp_ticks; /* XXX */ + return iss; +} + +#if TCP_CALCULATE_EFF_SEND_MSS +/** + * Calcluates the effective send mss that can be used for a specific IP address + * by using ip_route to determin the netif used to send to the address and + * calculating the minimum of TCP_MSS and that netif's mtu (if set). + */ +u16_t +tcp_eff_send_mss(u16_t sendmss, struct ip_addr *addr) +{ + u16_t mss_s; + struct netif *outif; + + outif = ip_route(addr); + if ((outif != NULL) && (outif->mtu != 0)) { + mss_s = outif->mtu - IP_HLEN - TCP_HLEN; + /* RFC 1122, chap 4.2.2.6: + * Eff.snd.MSS = min(SendMSS+20, MMS_S) - TCPhdrsize - IPoptionsize + * We correct for TCP options in tcp_enqueue(), and don't support + * IP options + */ + sendmss = LWIP_MIN(sendmss, mss_s); + } + return sendmss; +} +#endif /* TCP_CALCULATE_EFF_SEND_MSS */ + +const char* +tcp_debug_state_str(enum tcp_state s) +{ + return tcp_state_str[s]; +} + +#if TCP_DEBUG || TCP_INPUT_DEBUG || TCP_OUTPUT_DEBUG +/** + * Print a tcp header for debugging purposes. + * + * @param tcphdr pointer to a struct tcp_hdr + */ +void +tcp_debug_print(struct tcp_hdr *tcphdr) +{ + LWIP_DEBUGF(TCP_DEBUG, ("TCP header:\n")); + LWIP_DEBUGF(TCP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(TCP_DEBUG, ("| %5"U16_F" | %5"U16_F" | (src port, dest port)\n", + ntohs(tcphdr->src), ntohs(tcphdr->dest))); + LWIP_DEBUGF(TCP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(TCP_DEBUG, ("| %010"U32_F" | (seq no)\n", + ntohl(tcphdr->seqno))); + LWIP_DEBUGF(TCP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(TCP_DEBUG, ("| %010"U32_F" | (ack no)\n", + ntohl(tcphdr->ackno))); + LWIP_DEBUGF(TCP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(TCP_DEBUG, ("| %2"U16_F" | |%"U16_F"%"U16_F"%"U16_F"%"U16_F"%"U16_F"%"U16_F"| %5"U16_F" | (hdrlen, flags (", + TCPH_HDRLEN(tcphdr), + TCPH_FLAGS(tcphdr) >> 5 & 1, + TCPH_FLAGS(tcphdr) >> 4 & 1, + TCPH_FLAGS(tcphdr) >> 3 & 1, + TCPH_FLAGS(tcphdr) >> 2 & 1, + TCPH_FLAGS(tcphdr) >> 1 & 1, + TCPH_FLAGS(tcphdr) & 1, + ntohs(tcphdr->wnd))); + tcp_debug_print_flags(TCPH_FLAGS(tcphdr)); + LWIP_DEBUGF(TCP_DEBUG, ("), win)\n")); + LWIP_DEBUGF(TCP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(TCP_DEBUG, ("| 0x%04"X16_F" | %5"U16_F" | (chksum, urgp)\n", + ntohs(tcphdr->chksum), ntohs(tcphdr->urgp))); + LWIP_DEBUGF(TCP_DEBUG, ("+-------------------------------+\n")); +} + +/** + * Print a tcp state for debugging purposes. + * + * @param s enum tcp_state to print + */ +void +tcp_debug_print_state(enum tcp_state s) +{ + LWIP_DEBUGF(TCP_DEBUG, ("State: %s\n", tcp_state_str[s])); +} + +/** + * Print tcp flags for debugging purposes. + * + * @param flags tcp flags, all active flags are printed + */ +void +tcp_debug_print_flags(u8_t flags) +{ + if (flags & TCP_FIN) { + LWIP_DEBUGF(TCP_DEBUG, ("FIN ")); + } + if (flags & TCP_SYN) { + LWIP_DEBUGF(TCP_DEBUG, ("SYN ")); + } + if (flags & TCP_RST) { + LWIP_DEBUGF(TCP_DEBUG, ("RST ")); + } + if (flags & TCP_PSH) { + LWIP_DEBUGF(TCP_DEBUG, ("PSH ")); + } + if (flags & TCP_ACK) { + LWIP_DEBUGF(TCP_DEBUG, ("ACK ")); + } + if (flags & TCP_URG) { + LWIP_DEBUGF(TCP_DEBUG, ("URG ")); + } + if (flags & TCP_ECE) { + LWIP_DEBUGF(TCP_DEBUG, ("ECE ")); + } + if (flags & TCP_CWR) { + LWIP_DEBUGF(TCP_DEBUG, ("CWR ")); + } + LWIP_DEBUGF(TCP_DEBUG, ("\n")); +} + +/** + * Print all tcp_pcbs in every list for debugging purposes. + */ +void +tcp_debug_print_pcbs(void) +{ + struct tcp_pcb *pcb; + LWIP_DEBUGF(TCP_DEBUG, ("Active PCB states:\n")); + for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) { + LWIP_DEBUGF(TCP_DEBUG, ("[%p]Local port %"U16_F", foreign port %"U16_F" snd_nxt %"U32_F" rcv_nxt %"U32_F" ", + pcb, pcb->local_port, pcb->remote_port, + pcb->snd_nxt, pcb->rcv_nxt)); + tcp_debug_print_state(pcb->state); + } + LWIP_DEBUGF(TCP_DEBUG, ("Listen PCB states:\n")); + for(pcb = (struct tcp_pcb *)tcp_listen_pcbs.pcbs; pcb != NULL; pcb = pcb->next) { + LWIP_DEBUGF(TCP_DEBUG, ("[%p]Local port %"U16_F", foreign port %"U16_F" snd_nxt %"U32_F" rcv_nxt %"U32_F" ", + pcb, pcb->local_port, pcb->remote_port, + pcb->snd_nxt, pcb->rcv_nxt)); + tcp_debug_print_state(pcb->state); + } + LWIP_DEBUGF(TCP_DEBUG, ("TIME-WAIT PCB states:\n")); + for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) { + LWIP_DEBUGF(TCP_DEBUG, ("[%p]Local port %"U16_F", foreign port %"U16_F" snd_nxt %"U32_F" rcv_nxt %"U32_F" ", + pcb, pcb->local_port, pcb->remote_port, + pcb->snd_nxt, pcb->rcv_nxt)); + tcp_debug_print_state(pcb->state); + } +} + +/** + * Check state consistency of the tcp_pcb lists. + */ +s16_t +tcp_pcbs_sane(void) +{ + struct tcp_pcb *pcb; + for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) { + LWIP_ASSERT("tcp_pcbs_sane: active pcb->state != CLOSED", pcb->state != CLOSED); + LWIP_ASSERT("tcp_pcbs_sane: active pcb->state != LISTEN", pcb->state != LISTEN); + LWIP_ASSERT("tcp_pcbs_sane: active pcb->state != TIME-WAIT", pcb->state != TIME_WAIT); + } + for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) { + LWIP_ASSERT("tcp_pcbs_sane: tw pcb->state == TIME-WAIT", pcb->state == TIME_WAIT); + } + return 1; +} +#endif /* TCP_DEBUG */ + +#endif /* LWIP_TCP */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp_in.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp_in.c new file mode 100644 index 0000000..3930b40 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp_in.c @@ -0,0 +1,1508 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Transmission Control Protocol, incoming traffic + * + * The input processing functions of the TCP layer. + * + * These functions are generally called in the order (ip_input() ->) + * tcp_input() -> * tcp_process() -> tcp_receive() (-> application). + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/tcp.h" +#include "lwip/def.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" +#include "lwip/mem.h" +#include "lwip/memp.h" +#include "lwip/inet.h" +#include "lwip/inet_chksum.h" +#include "lwip/stats.h" +#include "lwip/snmp.h" +#include "arch/perf.h" + +/* These variables are global to all functions involved in the input + processing of TCP segments. They are set by the tcp_input() + function. */ +static struct tcp_seg inseg; +static struct tcp_hdr *tcphdr; +static struct ip_hdr *iphdr; +static u32_t seqno, ackno; +static u8_t flags; +static u16_t tcplen; + +static u8_t recv_flags; +static struct pbuf *recv_data; + +struct tcp_pcb *tcp_input_pcb; + +/* Forward declarations. */ +static err_t tcp_process(struct tcp_pcb *pcb); +static void tcp_receive(struct tcp_pcb *pcb); +static void tcp_parseopt(struct tcp_pcb *pcb); + +static err_t tcp_listen_input(struct tcp_pcb_listen *pcb); +static err_t tcp_timewait_input(struct tcp_pcb *pcb); + +/** + * The initial input processing of TCP. It verifies the TCP header, demultiplexes + * the segment between the PCBs and passes it on to tcp_process(), which implements + * the TCP finite state machine. This function is called by the IP layer (in + * ip_input()). + * + * @param p received TCP segment to process (p->payload pointing to the IP header) + * @param inp network interface on which this segment was received + */ +void +tcp_input(struct pbuf *p, struct netif *inp) +{ + struct tcp_pcb *pcb, *prev; + struct tcp_pcb_listen *lpcb; + u8_t hdrlen; + err_t err; + + PERF_START; + + TCP_STATS_INC(tcp.recv); + snmp_inc_tcpinsegs(); + + iphdr = p->payload; + tcphdr = (struct tcp_hdr *)((u8_t *)p->payload + IPH_HL(iphdr) * 4); + +#if TCP_INPUT_DEBUG + tcp_debug_print(tcphdr); +#endif + + /* remove header from payload */ + if (pbuf_header(p, -((s16_t)(IPH_HL(iphdr) * 4))) || (p->tot_len < sizeof(struct tcp_hdr))) { + /* drop short packets */ + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: short packet (%"U16_F" bytes) discarded\n", p->tot_len)); + TCP_STATS_INC(tcp.lenerr); + TCP_STATS_INC(tcp.drop); + snmp_inc_tcpinerrs(); + pbuf_free(p); + return; + } + + /* Don't even process incoming broadcasts/multicasts. */ + if (ip_addr_isbroadcast(&(iphdr->dest), inp) || + ip_addr_ismulticast(&(iphdr->dest))) { + TCP_STATS_INC(tcp.proterr); + TCP_STATS_INC(tcp.drop); + snmp_inc_tcpinerrs(); + pbuf_free(p); + return; + } + +#if CHECKSUM_CHECK_TCP + /* Verify TCP checksum. */ + if (inet_chksum_pseudo(p, (struct ip_addr *)&(iphdr->src), + (struct ip_addr *)&(iphdr->dest), + IP_PROTO_TCP, p->tot_len) != 0) { + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: packet discarded due to failing checksum 0x%04"X16_F"\n", + inet_chksum_pseudo(p, (struct ip_addr *)&(iphdr->src), (struct ip_addr *)&(iphdr->dest), + IP_PROTO_TCP, p->tot_len))); +#if TCP_DEBUG + tcp_debug_print(tcphdr); +#endif /* TCP_DEBUG */ + TCP_STATS_INC(tcp.chkerr); + TCP_STATS_INC(tcp.drop); + snmp_inc_tcpinerrs(); + pbuf_free(p); + return; + } +#endif + + /* Move the payload pointer in the pbuf so that it points to the + TCP data instead of the TCP header. */ + hdrlen = TCPH_HDRLEN(tcphdr); + if(pbuf_header(p, -(hdrlen * 4))){ + /* drop short packets */ + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: short packet\n")); + TCP_STATS_INC(tcp.lenerr); + TCP_STATS_INC(tcp.drop); + snmp_inc_tcpinerrs(); + pbuf_free(p); + return; + } + + /* Convert fields in TCP header to host byte order. */ + tcphdr->src = ntohs(tcphdr->src); + tcphdr->dest = ntohs(tcphdr->dest); + seqno = tcphdr->seqno = ntohl(tcphdr->seqno); + ackno = tcphdr->ackno = ntohl(tcphdr->ackno); + tcphdr->wnd = ntohs(tcphdr->wnd); + + flags = TCPH_FLAGS(tcphdr); + tcplen = p->tot_len + ((flags & (TCP_FIN | TCP_SYN)) ? 1 : 0); + + /* Demultiplex an incoming segment. First, we check if it is destined + for an active connection. */ + prev = NULL; + + + for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) { + LWIP_ASSERT("tcp_input: active pcb->state != CLOSED", pcb->state != CLOSED); + LWIP_ASSERT("tcp_input: active pcb->state != TIME-WAIT", pcb->state != TIME_WAIT); + LWIP_ASSERT("tcp_input: active pcb->state != LISTEN", pcb->state != LISTEN); + if (pcb->remote_port == tcphdr->src && + pcb->local_port == tcphdr->dest && + ip_addr_cmp(&(pcb->remote_ip), &(iphdr->src)) && + ip_addr_cmp(&(pcb->local_ip), &(iphdr->dest))) { + + /* Move this PCB to the front of the list so that subsequent + lookups will be faster (we exploit locality in TCP segment + arrivals). */ + LWIP_ASSERT("tcp_input: pcb->next != pcb (before cache)", pcb->next != pcb); + if (prev != NULL) { + prev->next = pcb->next; + pcb->next = tcp_active_pcbs; + tcp_active_pcbs = pcb; + } + LWIP_ASSERT("tcp_input: pcb->next != pcb (after cache)", pcb->next != pcb); + break; + } + prev = pcb; + } + + if (pcb == NULL) { + /* If it did not go to an active connection, we check the connections + in the TIME-WAIT state. */ + for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) { + LWIP_ASSERT("tcp_input: TIME-WAIT pcb->state == TIME-WAIT", pcb->state == TIME_WAIT); + if (pcb->remote_port == tcphdr->src && + pcb->local_port == tcphdr->dest && + ip_addr_cmp(&(pcb->remote_ip), &(iphdr->src)) && + ip_addr_cmp(&(pcb->local_ip), &(iphdr->dest))) { + /* We don't really care enough to move this PCB to the front + of the list since we are not very likely to receive that + many segments for connections in TIME-WAIT. */ + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: packed for TIME_WAITing connection.\n")); + tcp_timewait_input(pcb); + pbuf_free(p); + return; + } + } + + /* Finally, if we still did not get a match, we check all PCBs that + are LISTENing for incoming connections. */ + prev = NULL; + for(lpcb = tcp_listen_pcbs.listen_pcbs; lpcb != NULL; lpcb = lpcb->next) { + if ((ip_addr_isany(&(lpcb->local_ip)) || + ip_addr_cmp(&(lpcb->local_ip), &(iphdr->dest))) && + lpcb->local_port == tcphdr->dest) { + /* Move this PCB to the front of the list so that subsequent + lookups will be faster (we exploit locality in TCP segment + arrivals). */ + if (prev != NULL) { + ((struct tcp_pcb_listen *)prev)->next = lpcb->next; + /* our successor is the remainder of the listening list */ + lpcb->next = tcp_listen_pcbs.listen_pcbs; + /* put this listening pcb at the head of the listening list */ + tcp_listen_pcbs.listen_pcbs = lpcb; + } + + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: packed for LISTENing connection.\n")); + tcp_listen_input(lpcb); + pbuf_free(p); + return; + } + prev = (struct tcp_pcb *)lpcb; + } + } + +#if TCP_INPUT_DEBUG + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags ")); + tcp_debug_print_flags(TCPH_FLAGS(tcphdr)); + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n")); +#endif /* TCP_INPUT_DEBUG */ + + + if (pcb != NULL) { + /* The incoming segment belongs to a connection. */ +#if TCP_INPUT_DEBUG +#if TCP_DEBUG + tcp_debug_print_state(pcb->state); +#endif /* TCP_DEBUG */ +#endif /* TCP_INPUT_DEBUG */ + + /* Set up a tcp_seg structure. */ + inseg.next = NULL; + inseg.len = p->tot_len; + inseg.dataptr = p->payload; + inseg.p = p; + inseg.tcphdr = tcphdr; + + recv_data = NULL; + recv_flags = 0; + + /* If there is data which was previously "refused" by upper layer */ + if (pcb->refused_data != NULL) { + /* Notify again application with data previously received. */ + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: notify kept packet\n")); + TCP_EVENT_RECV(pcb, pcb->refused_data, ERR_OK, err); + if (err == ERR_OK) { + pcb->refused_data = NULL; + } else { + /* drop incoming packets, because pcb is "full" */ + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: drop incoming packets, because pcb is \"full\"\n")); + TCP_STATS_INC(tcp.drop); + snmp_inc_tcpinerrs(); + pbuf_free(p); + return; + } + } + tcp_input_pcb = pcb; + err = tcp_process(pcb); + /* A return value of ERR_ABRT means that tcp_abort() was called + and that the pcb has been freed. If so, we don't do anything. */ + if (err != ERR_ABRT) { + if (recv_flags & TF_RESET) { + /* TF_RESET means that the connection was reset by the other + end. We then call the error callback to inform the + application that the connection is dead before we + deallocate the PCB. */ + TCP_EVENT_ERR(pcb->errf, pcb->callback_arg, ERR_RST); + tcp_pcb_remove(&tcp_active_pcbs, pcb); + memp_free(MEMP_TCP_PCB, pcb); + } else if (recv_flags & TF_CLOSED) { + /* The connection has been closed and we will deallocate the + PCB. */ + tcp_pcb_remove(&tcp_active_pcbs, pcb); + memp_free(MEMP_TCP_PCB, pcb); + } else { + err = ERR_OK; + /* If the application has registered a "sent" function to be + called when new send buffer space is available, we call it + now. */ + if (pcb->acked > 0) { + TCP_EVENT_SENT(pcb, pcb->acked, err); + } + + if (recv_data != NULL) { + if(flags & TCP_PSH) { + recv_data->flags |= PBUF_FLAG_PUSH; + } + + /* Notify application that data has been received. */ + TCP_EVENT_RECV(pcb, recv_data, ERR_OK, err); + + /* If the upper layer can't receive this data, store it */ + if (err != ERR_OK) { + pcb->refused_data = recv_data; + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: keep incoming packet, because pcb is \"full\"\n")); + } + } + + /* If a FIN segment was received, we call the callback + function with a NULL buffer to indicate EOF. */ + if (recv_flags & TF_GOT_FIN) { + TCP_EVENT_RECV(pcb, NULL, ERR_OK, err); + } + + tcp_input_pcb = NULL; + /* Try to send something out. */ + tcp_output(pcb); +#if TCP_INPUT_DEBUG +#if TCP_DEBUG + tcp_debug_print_state(pcb->state); +#endif /* TCP_DEBUG */ +#endif /* TCP_INPUT_DEBUG */ + } + } + tcp_input_pcb = NULL; + + + /* give up our reference to inseg.p */ + if (inseg.p != NULL) + { + pbuf_free(inseg.p); + inseg.p = NULL; + } + } else { + + /* If no matching PCB was found, send a TCP RST (reset) to the + sender. */ + LWIP_DEBUGF(TCP_RST_DEBUG, ("tcp_input: no PCB match found, resetting.\n")); + if (!(TCPH_FLAGS(tcphdr) & TCP_RST)) { + TCP_STATS_INC(tcp.proterr); + TCP_STATS_INC(tcp.drop); + tcp_rst(ackno, seqno + tcplen, + &(iphdr->dest), &(iphdr->src), + tcphdr->dest, tcphdr->src); + } + pbuf_free(p); + } + + LWIP_ASSERT("tcp_input: tcp_pcbs_sane()", tcp_pcbs_sane()); + PERF_STOP("tcp_input"); +} + +/** + * Called by tcp_input() when a segment arrives for a listening + * connection (from tcp_input()). + * + * @param pcb the tcp_pcb_listen for which a segment arrived + * @return ERR_OK if the segment was processed + * another err_t on error + * + * @note the return value is not (yet?) used in tcp_input() + * @note the segment which arrived is saved in global variables, therefore only the pcb + * involved is passed as a parameter to this function + */ +static err_t +tcp_listen_input(struct tcp_pcb_listen *pcb) +{ + struct tcp_pcb *npcb; + err_t rc; + + /* In the LISTEN state, we check for incoming SYN segments, + creates a new PCB, and responds with a SYN|ACK. */ + if (flags & TCP_ACK) { + /* For incoming segments with the ACK flag set, respond with a + RST. */ + LWIP_DEBUGF(TCP_RST_DEBUG, ("tcp_listen_input: ACK in LISTEN, sending reset\n")); + tcp_rst(ackno + 1, seqno + tcplen, + &(iphdr->dest), &(iphdr->src), + tcphdr->dest, tcphdr->src); + } else if (flags & TCP_SYN) { + LWIP_DEBUGF(TCP_DEBUG, ("TCP connection request %"U16_F" -> %"U16_F".\n", tcphdr->src, tcphdr->dest)); +#if TCP_LISTEN_BACKLOG + if (pcb->accepts_pending >= pcb->backlog) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_listen_input: listen backlog exceeded for port %"U16_F"\n", tcphdr->dest)); + return ERR_ABRT; + } +#endif /* TCP_LISTEN_BACKLOG */ + npcb = tcp_alloc(pcb->prio); + /* If a new PCB could not be created (probably due to lack of memory), + we don't do anything, but rely on the sender will retransmit the + SYN at a time when we have more memory available. */ + if (npcb == NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_listen_input: could not allocate PCB\n")); + TCP_STATS_INC(tcp.memerr); + return ERR_MEM; + } +#if TCP_LISTEN_BACKLOG + pcb->accepts_pending++; +#endif /* TCP_LISTEN_BACKLOG */ + /* Set up the new PCB. */ + ip_addr_set(&(npcb->local_ip), &(iphdr->dest)); + npcb->local_port = pcb->local_port; + ip_addr_set(&(npcb->remote_ip), &(iphdr->src)); + npcb->remote_port = tcphdr->src; + npcb->state = SYN_RCVD; + npcb->rcv_nxt = seqno + 1; + npcb->rcv_ann_right_edge = npcb->rcv_nxt; + npcb->snd_wnd = tcphdr->wnd; + npcb->ssthresh = npcb->snd_wnd; + npcb->snd_wl1 = seqno - 1;/* initialise to seqno-1 to force window update */ + npcb->callback_arg = pcb->callback_arg; +#if LWIP_CALLBACK_API + npcb->accept = pcb->accept; +#endif /* LWIP_CALLBACK_API */ + /* inherit socket options */ + npcb->so_options = pcb->so_options & (SOF_DEBUG|SOF_DONTROUTE|SOF_KEEPALIVE|SOF_OOBINLINE|SOF_LINGER); + /* Register the new PCB so that we can begin receiving segments + for it. */ + TCP_REG(&tcp_active_pcbs, npcb); + + /* Parse any options in the SYN. */ + tcp_parseopt(npcb); +#if TCP_CALCULATE_EFF_SEND_MSS + npcb->mss = tcp_eff_send_mss(npcb->mss, &(npcb->remote_ip)); +#endif /* TCP_CALCULATE_EFF_SEND_MSS */ + + snmp_inc_tcppassiveopens(); + + /* Send a SYN|ACK together with the MSS option. */ + rc = tcp_enqueue(npcb, NULL, 0, TCP_SYN | TCP_ACK, 0, TF_SEG_OPTS_MSS +#if LWIP_TCP_TIMESTAMPS + /* and maybe include the TIMESTAMP option */ + | (npcb->flags & TF_TIMESTAMP ? TF_SEG_OPTS_TS : 0) +#endif + ); + if (rc != ERR_OK) { + tcp_abandon(npcb, 0); + return rc; + } + return tcp_output(npcb); + } + return ERR_OK; +} + +/** + * Called by tcp_input() when a segment arrives for a connection in + * TIME_WAIT. + * + * @param pcb the tcp_pcb for which a segment arrived + * + * @note the segment which arrived is saved in global variables, therefore only the pcb + * involved is passed as a parameter to this function + */ +static err_t +tcp_timewait_input(struct tcp_pcb *pcb) +{ + /* RFC 1337: in TIME_WAIT, ignore RST and ACK FINs + any 'acceptable' segments */ + /* RFC 793 3.9 Event Processing - Segment Arrives: + * - first check sequence number - we skip that one in TIME_WAIT (always + * acceptable since we only send ACKs) + * - second check the RST bit (... return) */ + if (flags & TCP_RST) { + return ERR_OK; + } + /* - fourth, check the SYN bit, */ + if (flags & TCP_SYN) { + /* If an incoming segment is not acceptable, an acknowledgment + should be sent in reply */ + if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt+pcb->rcv_wnd)) { + /* If the SYN is in the window it is an error, send a reset */ + tcp_rst(ackno, seqno + tcplen, &(iphdr->dest), &(iphdr->src), + tcphdr->dest, tcphdr->src); + return ERR_OK; + } + } else if (flags & TCP_FIN) { + /* - eighth, check the FIN bit: Remain in the TIME-WAIT state. + Restart the 2 MSL time-wait timeout.*/ + pcb->tmr = tcp_ticks; + } + + if ((tcplen > 0)) { + /* Acknowledge data, FIN or out-of-window SYN */ + pcb->flags |= TF_ACK_NOW; + return tcp_output(pcb); + } + return ERR_OK; +} + +/** + * Implements the TCP state machine. Called by tcp_input. In some + * states tcp_receive() is called to receive data. The tcp_seg + * argument will be freed by the caller (tcp_input()) unless the + * recv_data pointer in the pcb is set. + * + * @param pcb the tcp_pcb for which a segment arrived + * + * @note the segment which arrived is saved in global variables, therefore only the pcb + * involved is passed as a parameter to this function + */ +static err_t +tcp_process(struct tcp_pcb *pcb) +{ + struct tcp_seg *rseg; + u8_t acceptable = 0; + err_t err; + + err = ERR_OK; + + /* Process incoming RST segments. */ + if (flags & TCP_RST) { + /* First, determine if the reset is acceptable. */ + if (pcb->state == SYN_SENT) { + if (ackno == pcb->snd_nxt) { + acceptable = 1; + } + } else { + if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, + pcb->rcv_nxt+pcb->rcv_wnd)) { + acceptable = 1; + } + } + + if (acceptable) { + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_process: Connection RESET\n")); + LWIP_ASSERT("tcp_input: pcb->state != CLOSED", pcb->state != CLOSED); + recv_flags |= TF_RESET; + pcb->flags &= ~TF_ACK_DELAY; + return ERR_RST; + } else { + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_process: unacceptable reset seqno %"U32_F" rcv_nxt %"U32_F"\n", + seqno, pcb->rcv_nxt)); + LWIP_DEBUGF(TCP_DEBUG, ("tcp_process: unacceptable reset seqno %"U32_F" rcv_nxt %"U32_F"\n", + seqno, pcb->rcv_nxt)); + return ERR_OK; + } + } + + if ((flags & TCP_SYN) && (pcb->state != SYN_SENT && pcb->state != SYN_RCVD)) { + /* Cope with new connection attempt after remote end crashed */ + tcp_ack_now(pcb); + return ERR_OK; + } + + /* Update the PCB (in)activity timer. */ + pcb->tmr = tcp_ticks; + pcb->keep_cnt_sent = 0; + + tcp_parseopt(pcb); + + /* Do different things depending on the TCP state. */ + switch (pcb->state) { + case SYN_SENT: + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("SYN-SENT: ackno %"U32_F" pcb->snd_nxt %"U32_F" unacked %"U32_F"\n", ackno, + pcb->snd_nxt, ntohl(pcb->unacked->tcphdr->seqno))); + /* received SYN ACK with expected sequence number? */ + if ((flags & TCP_ACK) && (flags & TCP_SYN) + && ackno == ntohl(pcb->unacked->tcphdr->seqno) + 1) { + pcb->snd_buf++; + pcb->rcv_nxt = seqno + 1; + pcb->rcv_ann_right_edge = pcb->rcv_nxt; + pcb->lastack = ackno; + pcb->snd_wnd = tcphdr->wnd; + pcb->snd_wl1 = seqno - 1; /* initialise to seqno - 1 to force window update */ + pcb->state = ESTABLISHED; + +#if TCP_CALCULATE_EFF_SEND_MSS + pcb->mss = tcp_eff_send_mss(pcb->mss, &(pcb->remote_ip)); +#endif /* TCP_CALCULATE_EFF_SEND_MSS */ + + /* Set ssthresh again after changing pcb->mss (already set in tcp_connect + * but for the default value of pcb->mss) */ + pcb->ssthresh = pcb->mss * 10; + + pcb->cwnd = ((pcb->cwnd == 1) ? (pcb->mss * 2) : pcb->mss); + LWIP_ASSERT("pcb->snd_queuelen > 0", (pcb->snd_queuelen > 0)); + --pcb->snd_queuelen; + LWIP_DEBUGF(TCP_QLEN_DEBUG, ("tcp_process: SYN-SENT --queuelen %"U16_F"\n", (u16_t)pcb->snd_queuelen)); + rseg = pcb->unacked; + pcb->unacked = rseg->next; + + /* If there's nothing left to acknowledge, stop the retransmit + timer, otherwise reset it to start again */ + if(pcb->unacked == NULL) + pcb->rtime = -1; + else { + pcb->rtime = 0; + pcb->nrtx = 0; + } + + tcp_seg_free(rseg); + + /* Call the user specified function to call when sucessfully + * connected. */ + TCP_EVENT_CONNECTED(pcb, ERR_OK, err); + tcp_ack_now(pcb); + } + /* received ACK? possibly a half-open connection */ + else if (flags & TCP_ACK) { + /* send a RST to bring the other side in a non-synchronized state. */ + tcp_rst(ackno, seqno + tcplen, &(iphdr->dest), &(iphdr->src), + tcphdr->dest, tcphdr->src); + } + break; + case SYN_RCVD: + if (flags & TCP_ACK) { + /* expected ACK number? */ + if (TCP_SEQ_BETWEEN(ackno, pcb->lastack+1, pcb->snd_nxt)) { + u16_t old_cwnd; + pcb->state = ESTABLISHED; + LWIP_DEBUGF(TCP_DEBUG, ("TCP connection established %"U16_F" -> %"U16_F".\n", inseg.tcphdr->src, inseg.tcphdr->dest)); +#if LWIP_CALLBACK_API + LWIP_ASSERT("pcb->accept != NULL", pcb->accept != NULL); +#endif + /* Call the accept function. */ + TCP_EVENT_ACCEPT(pcb, ERR_OK, err); + if (err != ERR_OK) { + /* If the accept function returns with an error, we abort + * the connection. */ + tcp_abort(pcb); + return ERR_ABRT; + } + old_cwnd = pcb->cwnd; + /* If there was any data contained within this ACK, + * we'd better pass it on to the application as well. */ + tcp_receive(pcb); + + /* Prevent ACK for SYN to generate a sent event */ + if (pcb->acked != 0) { + pcb->acked--; + } + + pcb->cwnd = ((old_cwnd == 1) ? (pcb->mss * 2) : pcb->mss); + + if (recv_flags & TF_GOT_FIN) { + tcp_ack_now(pcb); + pcb->state = CLOSE_WAIT; + } + } + /* incorrect ACK number */ + else { + /* send RST */ + tcp_rst(ackno, seqno + tcplen, &(iphdr->dest), &(iphdr->src), + tcphdr->dest, tcphdr->src); + } + } else if ((flags & TCP_SYN) && (seqno == pcb->rcv_nxt - 1)) { + /* Looks like another copy of the SYN - retransmit our SYN-ACK */ + tcp_rexmit(pcb); + } + break; + case CLOSE_WAIT: + /* FALLTHROUGH */ + case ESTABLISHED: + tcp_receive(pcb); + if (recv_flags & TF_GOT_FIN) { /* passive close */ + tcp_ack_now(pcb); + pcb->state = CLOSE_WAIT; + } + break; + case FIN_WAIT_1: + tcp_receive(pcb); + if (recv_flags & TF_GOT_FIN) { + if ((flags & TCP_ACK) && (ackno == pcb->snd_nxt)) { + LWIP_DEBUGF(TCP_DEBUG, + ("TCP connection closed: FIN_WAIT_1 %"U16_F" -> %"U16_F".\n", inseg.tcphdr->src, inseg.tcphdr->dest)); + tcp_ack_now(pcb); + tcp_pcb_purge(pcb); + TCP_RMV(&tcp_active_pcbs, pcb); + pcb->state = TIME_WAIT; + TCP_REG(&tcp_tw_pcbs, pcb); + } else { + tcp_ack_now(pcb); + pcb->state = CLOSING; + } + } else if ((flags & TCP_ACK) && (ackno == pcb->snd_nxt)) { + pcb->state = FIN_WAIT_2; + } + break; + case FIN_WAIT_2: + tcp_receive(pcb); + if (recv_flags & TF_GOT_FIN) { + LWIP_DEBUGF(TCP_DEBUG, ("TCP connection closed: FIN_WAIT_2 %"U16_F" -> %"U16_F".\n", inseg.tcphdr->src, inseg.tcphdr->dest)); + tcp_ack_now(pcb); + tcp_pcb_purge(pcb); + TCP_RMV(&tcp_active_pcbs, pcb); + pcb->state = TIME_WAIT; + TCP_REG(&tcp_tw_pcbs, pcb); + } + break; + case CLOSING: + tcp_receive(pcb); + if (flags & TCP_ACK && ackno == pcb->snd_nxt) { + LWIP_DEBUGF(TCP_DEBUG, ("TCP connection closed: CLOSING %"U16_F" -> %"U16_F".\n", inseg.tcphdr->src, inseg.tcphdr->dest)); + tcp_pcb_purge(pcb); + TCP_RMV(&tcp_active_pcbs, pcb); + pcb->state = TIME_WAIT; + TCP_REG(&tcp_tw_pcbs, pcb); + } + break; + case LAST_ACK: + tcp_receive(pcb); + if (flags & TCP_ACK && ackno == pcb->snd_nxt) { + LWIP_DEBUGF(TCP_DEBUG, ("TCP connection closed: LAST_ACK %"U16_F" -> %"U16_F".\n", inseg.tcphdr->src, inseg.tcphdr->dest)); + /* bugfix #21699: don't set pcb->state to CLOSED here or we risk leaking segments */ + recv_flags |= TF_CLOSED; + } + break; + default: + break; + } + return ERR_OK; +} + +#if TCP_QUEUE_OOSEQ +/** + * Insert segment into the list (segments covered with new one will be deleted) + * + * Called from tcp_receive() + */ +static void +tcp_oos_insert_segment(struct tcp_seg *cseg, struct tcp_seg *next) +{ + struct tcp_seg *old_seg; + + if (TCPH_FLAGS(cseg->tcphdr) & TCP_FIN) { + /* received segment overlaps all following segments */ + tcp_segs_free(next); + next = NULL; + } + else { + /* delete some following segments + oos queue may have segments with FIN flag */ + while (next && + TCP_SEQ_GEQ((seqno + cseg->len), + (next->tcphdr->seqno + next->len))) { + /* cseg with FIN already processed */ + if (TCPH_FLAGS(next->tcphdr) & TCP_FIN) { + TCPH_FLAGS_SET(cseg->tcphdr, TCPH_FLAGS(cseg->tcphdr) | TCP_FIN); + } + old_seg = next; + next = next->next; + tcp_seg_free(old_seg); + } + if (next && + TCP_SEQ_GT(seqno + cseg->len, next->tcphdr->seqno)) { + /* We need to trim the incoming segment. */ + cseg->len = (u16_t)(next->tcphdr->seqno - seqno); + pbuf_realloc(cseg->p, cseg->len); + } + } + cseg->next = next; +} +#endif + +/** + * Called by tcp_process. Checks if the given segment is an ACK for outstanding + * data, and if so frees the memory of the buffered data. Next, is places the + * segment on any of the receive queues (pcb->recved or pcb->ooseq). If the segment + * is buffered, the pbuf is referenced by pbuf_ref so that it will not be freed until + * i it has been removed from the buffer. + * + * If the incoming segment constitutes an ACK for a segment that was used for RTT + * estimation, the RTT is estimated here as well. + * + * Called from tcp_process(). + */ +static void +tcp_receive(struct tcp_pcb *pcb) +{ + struct tcp_seg *next; +#if TCP_QUEUE_OOSEQ + struct tcp_seg *prev, *cseg; +#endif + struct pbuf *p; + s32_t off; + s16_t m; + u32_t right_wnd_edge; + u16_t new_tot_len; + int found_dupack = 0; + + if (flags & TCP_ACK) { + right_wnd_edge = pcb->snd_wnd + pcb->snd_wl2; + + /* Update window. */ + if (TCP_SEQ_LT(pcb->snd_wl1, seqno) || + (pcb->snd_wl1 == seqno && TCP_SEQ_LT(pcb->snd_wl2, ackno)) || + (pcb->snd_wl2 == ackno && tcphdr->wnd > pcb->snd_wnd)) { + pcb->snd_wnd = tcphdr->wnd; + pcb->snd_wl1 = seqno; + pcb->snd_wl2 = ackno; + if (pcb->snd_wnd > 0 && pcb->persist_backoff > 0) { + pcb->persist_backoff = 0; + } + LWIP_DEBUGF(TCP_WND_DEBUG, ("tcp_receive: window update %"U16_F"\n", pcb->snd_wnd)); +#if TCP_WND_DEBUG + } else { + if (pcb->snd_wnd != tcphdr->wnd) { + LWIP_DEBUGF(TCP_WND_DEBUG, + ("tcp_receive: no window update lastack %"U32_F" ackno %" + U32_F" wl1 %"U32_F" seqno %"U32_F" wl2 %"U32_F"\n", + pcb->lastack, ackno, pcb->snd_wl1, seqno, pcb->snd_wl2)); + } +#endif /* TCP_WND_DEBUG */ + } + + /* (From Stevens TCP/IP Illustrated Vol II, p970.) Its only a + * duplicate ack if: + * 1) It doesn't ACK new data + * 2) length of received packet is zero (i.e. no payload) + * 3) the advertised window hasn't changed + * 4) There is outstanding unacknowledged data (retransmission timer running) + * 5) The ACK is == biggest ACK sequence number so far seen (snd_una) + * + * If it passes all five, should process as a dupack: + * a) dupacks < 3: do nothing + * b) dupacks == 3: fast retransmit + * c) dupacks > 3: increase cwnd + * + * If it only passes 1-3, should reset dupack counter (and add to + * stats, which we don't do in lwIP) + * + * If it only passes 1, should reset dupack counter + * + */ + + /* Clause 1 */ + if (TCP_SEQ_LEQ(ackno, pcb->lastack)) { + pcb->acked = 0; + /* Clause 2 */ + if (tcplen == 0) { + /* Clause 3 */ + if (pcb->snd_wl2 + pcb->snd_wnd == right_wnd_edge){ + /* Clause 4 */ + if (pcb->rtime >= 0) { + /* Clause 5 */ + if (pcb->lastack == ackno) { + found_dupack = 1; + if (pcb->dupacks + 1 > pcb->dupacks) + ++pcb->dupacks; + if (pcb->dupacks > 3) { + /* Inflate the congestion window, but not if it means that + the value overflows. */ + if ((u16_t)(pcb->cwnd + pcb->mss) > pcb->cwnd) { + pcb->cwnd += pcb->mss; + } + } else if (pcb->dupacks == 3) { + /* Do fast retransmit */ + tcp_rexmit_fast(pcb); + } + } + } + } + } + /* If Clause (1) or more is true, but not a duplicate ack, reset + * count of consecutive duplicate acks */ + if (!found_dupack) { + pcb->dupacks = 0; + } + } else if (TCP_SEQ_BETWEEN(ackno, pcb->lastack+1, pcb->snd_nxt)){ + /* We come here when the ACK acknowledges new data. */ + + /* Reset the "IN Fast Retransmit" flag, since we are no longer + in fast retransmit. Also reset the congestion window to the + slow start threshold. */ + if (pcb->flags & TF_INFR) { + pcb->flags &= ~TF_INFR; + pcb->cwnd = pcb->ssthresh; + } + + /* Reset the number of retransmissions. */ + pcb->nrtx = 0; + + /* Reset the retransmission time-out. */ + pcb->rto = (pcb->sa >> 3) + pcb->sv; + + /* Update the send buffer space. Diff between the two can never exceed 64K? */ + pcb->acked = (u16_t)(ackno - pcb->lastack); + + pcb->snd_buf += pcb->acked; + + /* Reset the fast retransmit variables. */ + pcb->dupacks = 0; + pcb->lastack = ackno; + + /* Update the congestion control variables (cwnd and + ssthresh). */ + if (pcb->state >= ESTABLISHED) { + if (pcb->cwnd < pcb->ssthresh) { + if ((u16_t)(pcb->cwnd + pcb->mss) > pcb->cwnd) { + pcb->cwnd += pcb->mss; + } + LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_receive: slow start cwnd %"U16_F"\n", pcb->cwnd)); + } else { + u16_t new_cwnd = (pcb->cwnd + pcb->mss * pcb->mss / pcb->cwnd); + if (new_cwnd > pcb->cwnd) { + pcb->cwnd = new_cwnd; + } + LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_receive: congestion avoidance cwnd %"U16_F"\n", pcb->cwnd)); + } + } + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: ACK for %"U32_F", unacked->seqno %"U32_F":%"U32_F"\n", + ackno, + pcb->unacked != NULL? + ntohl(pcb->unacked->tcphdr->seqno): 0, + pcb->unacked != NULL? + ntohl(pcb->unacked->tcphdr->seqno) + TCP_TCPLEN(pcb->unacked): 0)); + + /* Remove segment from the unacknowledged list if the incoming + ACK acknowlegdes them. */ + while (pcb->unacked != NULL && + TCP_SEQ_LEQ(ntohl(pcb->unacked->tcphdr->seqno) + + TCP_TCPLEN(pcb->unacked), ackno)) { + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: removing %"U32_F":%"U32_F" from pcb->unacked\n", + ntohl(pcb->unacked->tcphdr->seqno), + ntohl(pcb->unacked->tcphdr->seqno) + + TCP_TCPLEN(pcb->unacked))); + + next = pcb->unacked; + pcb->unacked = pcb->unacked->next; + + LWIP_DEBUGF(TCP_QLEN_DEBUG, ("tcp_receive: queuelen %"U16_F" ... ", (u16_t)pcb->snd_queuelen)); + LWIP_ASSERT("pcb->snd_queuelen >= pbuf_clen(next->p)", (pcb->snd_queuelen >= pbuf_clen(next->p))); + /* Prevent ACK for FIN to generate a sent event */ + if ((pcb->acked != 0) && ((TCPH_FLAGS(next->tcphdr) & TCP_FIN) != 0)) { + pcb->acked--; + } + + pcb->snd_queuelen -= pbuf_clen(next->p); + tcp_seg_free(next); + + LWIP_DEBUGF(TCP_QLEN_DEBUG, ("%"U16_F" (after freeing unacked)\n", (u16_t)pcb->snd_queuelen)); + if (pcb->snd_queuelen != 0) { + LWIP_ASSERT("tcp_receive: valid queue length", pcb->unacked != NULL || + pcb->unsent != NULL); + } + } + + /* If there's nothing left to acknowledge, stop the retransmit + timer, otherwise reset it to start again */ + if(pcb->unacked == NULL) + pcb->rtime = -1; + else + pcb->rtime = 0; + + pcb->polltmr = 0; + } else { + /* Fix bug bug #21582: out of sequence ACK, didn't really ack anything */ + pcb->acked = 0; + } + + /* We go through the ->unsent list to see if any of the segments + on the list are acknowledged by the ACK. This may seem + strange since an "unsent" segment shouldn't be acked. The + rationale is that lwIP puts all outstanding segments on the + ->unsent list after a retransmission, so these segments may + in fact have been sent once. */ + while (pcb->unsent != NULL && + TCP_SEQ_BETWEEN(ackno, ntohl(pcb->unsent->tcphdr->seqno) + + TCP_TCPLEN(pcb->unsent), pcb->snd_nxt)) { + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: removing %"U32_F":%"U32_F" from pcb->unsent\n", + ntohl(pcb->unsent->tcphdr->seqno), ntohl(pcb->unsent->tcphdr->seqno) + + TCP_TCPLEN(pcb->unsent))); + + next = pcb->unsent; + pcb->unsent = pcb->unsent->next; + LWIP_DEBUGF(TCP_QLEN_DEBUG, ("tcp_receive: queuelen %"U16_F" ... ", (u16_t)pcb->snd_queuelen)); + LWIP_ASSERT("pcb->snd_queuelen >= pbuf_clen(next->p)", (pcb->snd_queuelen >= pbuf_clen(next->p))); + /* Prevent ACK for FIN to generate a sent event */ + if ((pcb->acked != 0) && ((TCPH_FLAGS(next->tcphdr) & TCP_FIN) != 0)) { + pcb->acked--; + } + pcb->snd_queuelen -= pbuf_clen(next->p); + tcp_seg_free(next); + LWIP_DEBUGF(TCP_QLEN_DEBUG, ("%"U16_F" (after freeing unsent)\n", (u16_t)pcb->snd_queuelen)); + if (pcb->snd_queuelen != 0) { + LWIP_ASSERT("tcp_receive: valid queue length", + pcb->unacked != NULL || pcb->unsent != NULL); + } + } + /* End of ACK for new data processing. */ + + LWIP_DEBUGF(TCP_RTO_DEBUG, ("tcp_receive: pcb->rttest %"U32_F" rtseq %"U32_F" ackno %"U32_F"\n", + pcb->rttest, pcb->rtseq, ackno)); + + /* RTT estimation calculations. This is done by checking if the + incoming segment acknowledges the segment we use to take a + round-trip time measurement. */ + if (pcb->rttest && TCP_SEQ_LT(pcb->rtseq, ackno)) { + /* diff between this shouldn't exceed 32K since this are tcp timer ticks + and a round-trip shouldn't be that long... */ + m = (s16_t)(tcp_ticks - pcb->rttest); + + LWIP_DEBUGF(TCP_RTO_DEBUG, ("tcp_receive: experienced rtt %"U16_F" ticks (%"U16_F" msec).\n", + m, m * TCP_SLOW_INTERVAL)); + + /* This is taken directly from VJs original code in his paper */ + m = m - (pcb->sa >> 3); + pcb->sa += m; + if (m < 0) { + m = -m; + } + m = m - (pcb->sv >> 2); + pcb->sv += m; + pcb->rto = (pcb->sa >> 3) + pcb->sv; + + LWIP_DEBUGF(TCP_RTO_DEBUG, ("tcp_receive: RTO %"U16_F" (%"U16_F" milliseconds)\n", + pcb->rto, pcb->rto * TCP_SLOW_INTERVAL)); + + pcb->rttest = 0; + } + } + + /* If the incoming segment contains data, we must process it + further. */ + if (tcplen > 0) { + /* This code basically does three things: + + +) If the incoming segment contains data that is the next + in-sequence data, this data is passed to the application. This + might involve trimming the first edge of the data. The rcv_nxt + variable and the advertised window are adjusted. + + +) If the incoming segment has data that is above the next + sequence number expected (->rcv_nxt), the segment is placed on + the ->ooseq queue. This is done by finding the appropriate + place in the ->ooseq queue (which is ordered by sequence + number) and trim the segment in both ends if needed. An + immediate ACK is sent to indicate that we received an + out-of-sequence segment. + + +) Finally, we check if the first segment on the ->ooseq queue + now is in sequence (i.e., if rcv_nxt >= ooseq->seqno). If + rcv_nxt > ooseq->seqno, we must trim the first edge of the + segment on ->ooseq before we adjust rcv_nxt. The data in the + segments that are now on sequence are chained onto the + incoming segment so that we only need to call the application + once. + */ + + /* First, we check if we must trim the first edge. We have to do + this if the sequence number of the incoming segment is less + than rcv_nxt, and the sequence number plus the length of the + segment is larger than rcv_nxt. */ + /* if (TCP_SEQ_LT(seqno, pcb->rcv_nxt)){ + if (TCP_SEQ_LT(pcb->rcv_nxt, seqno + tcplen)) {*/ + if (TCP_SEQ_BETWEEN(pcb->rcv_nxt, seqno + 1, seqno + tcplen - 1)){ + /* Trimming the first edge is done by pushing the payload + pointer in the pbuf downwards. This is somewhat tricky since + we do not want to discard the full contents of the pbuf up to + the new starting point of the data since we have to keep the + TCP header which is present in the first pbuf in the chain. + + What is done is really quite a nasty hack: the first pbuf in + the pbuf chain is pointed to by inseg.p. Since we need to be + able to deallocate the whole pbuf, we cannot change this + inseg.p pointer to point to any of the later pbufs in the + chain. Instead, we point the ->payload pointer in the first + pbuf to data in one of the later pbufs. We also set the + inseg.data pointer to point to the right place. This way, the + ->p pointer will still point to the first pbuf, but the + ->p->payload pointer will point to data in another pbuf. + + After we are done with adjusting the pbuf pointers we must + adjust the ->data pointer in the seg and the segment + length.*/ + + off = pcb->rcv_nxt - seqno; + p = inseg.p; + LWIP_ASSERT("inseg.p != NULL", inseg.p); + LWIP_ASSERT("insane offset!", (off < 0x7fff)); + if (inseg.p->len < off) { + LWIP_ASSERT("pbuf too short!", (((s32_t)inseg.p->tot_len) >= off)); + new_tot_len = (u16_t)(inseg.p->tot_len - off); + while (p->len < off) { + off -= p->len; + /* KJM following line changed (with addition of new_tot_len var) + to fix bug #9076 + inseg.p->tot_len -= p->len; */ + p->tot_len = new_tot_len; + p->len = 0; + p = p->next; + } + if(pbuf_header(p, (s16_t)-off)) { + /* Do we need to cope with this failing? Assert for now */ + LWIP_ASSERT("pbuf_header failed", 0); + } + } else { + if(pbuf_header(inseg.p, (s16_t)-off)) { + /* Do we need to cope with this failing? Assert for now */ + LWIP_ASSERT("pbuf_header failed", 0); + } + } + /* KJM following line changed to use p->payload rather than inseg->p->payload + to fix bug #9076 */ + inseg.dataptr = p->payload; + inseg.len -= (u16_t)(pcb->rcv_nxt - seqno); + inseg.tcphdr->seqno = seqno = pcb->rcv_nxt; + } + else { + if (TCP_SEQ_LT(seqno, pcb->rcv_nxt)){ + /* the whole segment is < rcv_nxt */ + /* must be a duplicate of a packet that has already been correctly handled */ + + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: duplicate seqno %"U32_F"\n", seqno)); + tcp_ack_now(pcb); + } + } + + /* The sequence number must be within the window (above rcv_nxt + and below rcv_nxt + rcv_wnd) in order to be further + processed. */ + if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, + pcb->rcv_nxt + pcb->rcv_wnd - 1)){ + if (pcb->rcv_nxt == seqno) { + /* The incoming segment is the next in sequence. We check if + we have to trim the end of the segment and update rcv_nxt + and pass the data to the application. */ + tcplen = TCP_TCPLEN(&inseg); + + if (tcplen > pcb->rcv_wnd) { + LWIP_DEBUGF(TCP_INPUT_DEBUG, + ("tcp_receive: other end overran receive window" + "seqno %"U32_F" len %"U32_F" right edge %"U32_F"\n", + seqno, tcplen, pcb->rcv_nxt + pcb->rcv_wnd)); + if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) { + /* Must remove the FIN from the header as we're trimming + * that byte of sequence-space from the packet */ + TCPH_FLAGS_SET(inseg.tcphdr, TCPH_FLAGS(inseg.tcphdr) &~ TCP_FIN); + } + /* Adjust length of segment to fit in the window. */ + inseg.len = pcb->rcv_wnd; + if (TCPH_FLAGS(inseg.tcphdr) & TCP_SYN) { + inseg.len -= 1; + } + pbuf_realloc(inseg.p, inseg.len); + tcplen = TCP_TCPLEN(&inseg); + LWIP_ASSERT("tcp_receive: segment not trimmed correctly to rcv_wnd\n", + (seqno + tcplen) == (pcb->rcv_nxt + pcb->rcv_wnd)); + } +#if TCP_QUEUE_OOSEQ + if (pcb->ooseq != NULL) { + if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) { + LWIP_DEBUGF(TCP_INPUT_DEBUG, + ("tcp_receive: received in-order FIN, binning ooseq queue\n")); + /* Received in-order FIN means anything that was received + * out of order must now have been received in-order, so + * bin the ooseq queue + * rcv_nxt + * . |--ooseq--| + * .==seg============|FIN + */ + while (pcb->ooseq != NULL) { + struct tcp_seg *old_ooseq = pcb->ooseq; + pcb->ooseq = pcb->ooseq->next; + tcp_seg_free(old_ooseq); + } + } + else { + struct tcp_seg* next = pcb->ooseq; + struct tcp_seg *old_seg; + /* rcv_nxt + * . |--ooseq--| + * .==seg============| + */ + while (next && + TCP_SEQ_GEQ(seqno + tcplen, + next->tcphdr->seqno + next->len)) { + /* inseg doesn't have FIN (already processed) */ + if (TCPH_FLAGS(next->tcphdr) & TCP_FIN && + (TCPH_FLAGS(inseg.tcphdr) & TCP_SYN) == 0) { + TCPH_FLAGS_SET(inseg.tcphdr, + TCPH_FLAGS(inseg.tcphdr) | TCP_FIN); + tcplen = TCP_TCPLEN(&inseg); + } + old_seg = next; + next = next->next; + tcp_seg_free(old_seg); + } + /* rcv_nxt + * . |--ooseq--| + * .==seg============| + */ + if (next && + TCP_SEQ_GT(seqno + tcplen, + next->tcphdr->seqno)) { + /* FIN in inseg already handled by dropping whole ooseq queue */ + inseg.len = (u16_t)(pcb->ooseq->tcphdr->seqno - seqno); + if (TCPH_FLAGS(inseg.tcphdr) & TCP_SYN) { + inseg.len -= 1; + } + pbuf_realloc(inseg.p, inseg.len); + tcplen = TCP_TCPLEN(&inseg); + LWIP_ASSERT("tcp_receive: segment not trimmed correctly to ooseq queue\n", + (seqno + tcplen) == pcb->ooseq->tcphdr->seqno); + } + pcb->ooseq = next; + } + } +#endif /* TCP_QUEUE_OOSEQ */ + + pcb->rcv_nxt = seqno + tcplen; + + /* Update the receiver's (our) window. */ + LWIP_ASSERT("tcp_receive: tcplen > rcv_wnd\n", pcb->rcv_wnd >= tcplen); + pcb->rcv_wnd -= tcplen; + + tcp_update_rcv_ann_wnd(pcb); + + /* If there is data in the segment, we make preparations to + pass this up to the application. The ->recv_data variable + is used for holding the pbuf that goes to the + application. The code for reassembling out-of-sequence data + chains its data on this pbuf as well. + + If the segment was a FIN, we set the TF_GOT_FIN flag that will + be used to indicate to the application that the remote side has + closed its end of the connection. */ + if (inseg.p->tot_len > 0) { + recv_data = inseg.p; + /* Since this pbuf now is the responsibility of the + application, we delete our reference to it so that we won't + (mistakingly) deallocate it. */ + inseg.p = NULL; + } + if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) { + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: received FIN.\n")); + recv_flags |= TF_GOT_FIN; + } + +#if TCP_QUEUE_OOSEQ + /* We now check if we have segments on the ->ooseq queue that + is now in sequence. */ + while (pcb->ooseq != NULL && + pcb->ooseq->tcphdr->seqno == pcb->rcv_nxt) { + + cseg = pcb->ooseq; + seqno = pcb->ooseq->tcphdr->seqno; + + pcb->rcv_nxt += TCP_TCPLEN(cseg); + LWIP_ASSERT("tcp_receive: ooseq tcplen > rcv_wnd\n", + pcb->rcv_wnd >= TCP_TCPLEN(cseg)); + pcb->rcv_wnd -= TCP_TCPLEN(cseg); + + tcp_update_rcv_ann_wnd(pcb); + + if (cseg->p->tot_len > 0) { + /* Chain this pbuf onto the pbuf that we will pass to + the application. */ + if (recv_data) { + pbuf_cat(recv_data, cseg->p); + } else { + recv_data = cseg->p; + } + cseg->p = NULL; + } + if (TCPH_FLAGS(cseg->tcphdr) & TCP_FIN) { + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: dequeued FIN.\n")); + recv_flags |= TF_GOT_FIN; + if (pcb->state == ESTABLISHED) { /* force passive close or we can move to active close */ + pcb->state = CLOSE_WAIT; + } + } + + pcb->ooseq = cseg->next; + tcp_seg_free(cseg); + } +#endif /* TCP_QUEUE_OOSEQ */ + + + /* Acknowledge the segment(s). */ + tcp_ack(pcb); + + } else { + /* We get here if the incoming segment is out-of-sequence. */ + tcp_send_empty_ack(pcb); +#if TCP_QUEUE_OOSEQ + /* We queue the segment on the ->ooseq queue. */ + if (pcb->ooseq == NULL) { + pcb->ooseq = tcp_seg_copy(&inseg); + } else { + /* If the queue is not empty, we walk through the queue and + try to find a place where the sequence number of the + incoming segment is between the sequence numbers of the + previous and the next segment on the ->ooseq queue. That is + the place where we put the incoming segment. If needed, we + trim the second edges of the previous and the incoming + segment so that it will fit into the sequence. + + If the incoming segment has the same sequence number as a + segment on the ->ooseq queue, we discard the segment that + contains less data. */ + + prev = NULL; + for(next = pcb->ooseq; next != NULL; next = next->next) { + if (seqno == next->tcphdr->seqno) { + /* The sequence number of the incoming segment is the + same as the sequence number of the segment on + ->ooseq. We check the lengths to see which one to + discard. */ + if (inseg.len > next->len) { + /* The incoming segment is larger than the old + segment. We replace some segments with the new + one. */ + cseg = tcp_seg_copy(&inseg); + if (cseg != NULL) { + if (prev != NULL) { + prev->next = cseg; + } else { + pcb->ooseq = cseg; + } + tcp_oos_insert_segment(cseg, next); + } + break; + } else { + /* Either the lenghts are the same or the incoming + segment was smaller than the old one; in either + case, we ditch the incoming segment. */ + break; + } + } else { + if (prev == NULL) { + if (TCP_SEQ_LT(seqno, next->tcphdr->seqno)) { + /* The sequence number of the incoming segment is lower + than the sequence number of the first segment on the + queue. We put the incoming segment first on the + queue. */ + cseg = tcp_seg_copy(&inseg); + if (cseg != NULL) { + pcb->ooseq = cseg; + tcp_oos_insert_segment(cseg, next); + } + break; + } + } else { + /*if (TCP_SEQ_LT(prev->tcphdr->seqno, seqno) && + TCP_SEQ_LT(seqno, next->tcphdr->seqno)) {*/ + if (TCP_SEQ_BETWEEN(seqno, prev->tcphdr->seqno+1, next->tcphdr->seqno-1)) { + /* The sequence number of the incoming segment is in + between the sequence numbers of the previous and + the next segment on ->ooseq. We trim trim the previous + segment, delete next segments that included in received segment + and trim received, if needed. */ + cseg = tcp_seg_copy(&inseg); + if (cseg != NULL) { + if (TCP_SEQ_GT(prev->tcphdr->seqno + prev->len, seqno)) { + /* We need to trim the prev segment. */ + prev->len = (u16_t)(seqno - prev->tcphdr->seqno); + pbuf_realloc(prev->p, prev->len); + } + prev->next = cseg; + tcp_oos_insert_segment(cseg, next); + } + break; + } + } + /* If the "next" segment is the last segment on the + ooseq queue, we add the incoming segment to the end + of the list. */ + if (next->next == NULL && + TCP_SEQ_GT(seqno, next->tcphdr->seqno)) { + if (TCPH_FLAGS(next->tcphdr) & TCP_FIN) { + /* segment "next" already contains all data */ + break; + } + next->next = tcp_seg_copy(&inseg); + if (next->next != NULL) { + if (TCP_SEQ_GT(next->tcphdr->seqno + next->len, seqno)) { + /* We need to trim the last segment. */ + next->len = (u16_t)(seqno - next->tcphdr->seqno); + pbuf_realloc(next->p, next->len); + } + } + break; + } + } + prev = next; + } + } +#endif /* TCP_QUEUE_OOSEQ */ + + } + } else { + /* The incoming segment is not withing the window. */ + tcp_send_empty_ack(pcb); + } + } else { + /* Segments with length 0 is taken care of here. Segments that + fall out of the window are ACKed. */ + /*if (TCP_SEQ_GT(pcb->rcv_nxt, seqno) || + TCP_SEQ_GEQ(seqno, pcb->rcv_nxt + pcb->rcv_wnd)) {*/ + if(!TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt + pcb->rcv_wnd-1)){ + tcp_ack_now(pcb); + } + } +} + +/** + * Parses the options contained in the incoming segment. + * + * Called from tcp_listen_input() and tcp_process(). + * Currently, only the MSS option is supported! + * + * @param pcb the tcp_pcb for which a segment arrived + */ +static void +tcp_parseopt(struct tcp_pcb *pcb) +{ + u16_t c, max_c; + u16_t mss; + u8_t *opts, opt; +#if LWIP_TCP_TIMESTAMPS + u32_t tsval; +#endif + + opts = (u8_t *)tcphdr + TCP_HLEN; + + /* Parse the TCP MSS option, if present. */ + if(TCPH_HDRLEN(tcphdr) > 0x5) { + max_c = (TCPH_HDRLEN(tcphdr) - 5) << 2; + for (c = 0; c < max_c; ) { + opt = opts[c]; + switch (opt) { + case 0x00: + /* End of options. */ + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_parseopt: EOL\n")); + return; + case 0x01: + /* NOP option. */ + ++c; + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_parseopt: NOP\n")); + break; + case 0x02: + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_parseopt: MSS\n")); + if (opts[c + 1] != 0x04 || c + 0x04 > max_c) { + /* Bad length */ + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_parseopt: bad length\n")); + return; + } + /* An MSS option with the right option length. */ + mss = (opts[c + 2] << 8) | opts[c + 3]; + /* Limit the mss to the configured TCP_MSS and prevent division by zero */ + pcb->mss = ((mss > TCP_MSS) || (mss == 0)) ? TCP_MSS : mss; + /* Advance to next option */ + c += 0x04; + break; +#if LWIP_TCP_TIMESTAMPS + case 0x08: + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_parseopt: TS\n")); + if (opts[c + 1] != 0x0A || c + 0x0A > max_c) { + /* Bad length */ + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_parseopt: bad length\n")); + return; + } + /* TCP timestamp option with valid length */ + tsval = (opts[c+2]) | (opts[c+3] << 8) | + (opts[c+4] << 16) | (opts[c+5] << 24); + if (flags & TCP_SYN) { + pcb->ts_recent = ntohl(tsval); + pcb->flags |= TF_TIMESTAMP; + } else if (TCP_SEQ_BETWEEN(pcb->ts_lastacksent, seqno, seqno+tcplen)) { + pcb->ts_recent = ntohl(tsval); + } + /* Advance to next option */ + c += 0x0A; + break; +#endif + default: + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_parseopt: other\n")); + if (opts[c + 1] == 0) { + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_parseopt: bad length\n")); + /* If the length field is zero, the options are malformed + and we don't process them further. */ + return; + } + /* All other options have a length field, so that we easily + can skip past them. */ + c += opts[c + 1]; + } + } + } +} + +#endif /* LWIP_TCP */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp_out.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp_out.c new file mode 100644 index 0000000..9605beb --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/tcp_out.c @@ -0,0 +1,1071 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Transmission Control Protocol, outgoing traffic + * + * The output functions of TCP. + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#include "lwip/opt.h" + +#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/tcp.h" +#include "lwip/def.h" +#include "lwip/mem.h" +#include "lwip/memp.h" +#include "lwip/sys.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" +#include "lwip/inet.h" +#include "lwip/inet_chksum.h" +#include "lwip/stats.h" +#include "lwip/snmp.h" + +#include <string.h> +#define _TEST_HD_ +/* Forward declarations.*/ +static void tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb); + +static struct tcp_hdr * +tcp_output_set_header(struct tcp_pcb *pcb, struct pbuf *p, int optlen, + u32_t seqno_be /* already in network byte order */) +{ + struct tcp_hdr *tcphdr = p->payload; + tcphdr->src = htons(pcb->local_port); + tcphdr->dest = htons(pcb->remote_port); + tcphdr->seqno = seqno_be; + tcphdr->ackno = htonl(pcb->rcv_nxt); + TCPH_FLAGS_SET(tcphdr, TCP_ACK); + tcphdr->wnd = htons(pcb->rcv_ann_wnd); + tcphdr->urgp = 0; + TCPH_HDRLEN_SET(tcphdr, (5 + optlen / 4)); + tcphdr->chksum = 0; + + /* If we're sending a packet, update the announced right window edge */ + pcb->rcv_ann_right_edge = pcb->rcv_nxt + pcb->rcv_ann_wnd; + + return tcphdr; +} + +/** + * Called by tcp_close() to send a segment including flags but not data. + * + * @param pcb the tcp_pcb over which to send a segment + * @param flags the flags to set in the segment header + * @return ERR_OK if sent, another err_t otherwise + */ +err_t +tcp_send_ctrl(struct tcp_pcb *pcb, u8_t flags) +{ + /* no data, no length, flags, copy=1, no optdata */ + return tcp_enqueue(pcb, NULL, 0, flags, TCP_WRITE_FLAG_COPY, 0); +} + +/** + * Write data for sending (but does not send it immediately). + * + * It waits in the expectation of more data being sent soon (as + * it can send them more efficiently by combining them together). + * To prompt the system to send data now, call tcp_output() after + * calling tcp_write(). + * + * @param pcb Protocol control block of the TCP connection to enqueue data for. + * @param data pointer to the data to send + * @param len length (in bytes) of the data to send + * @param apiflags combination of following flags : + * - TCP_WRITE_FLAG_COPY (0x01) data will be copied into memory belonging to the stack + * - TCP_WRITE_FLAG_MORE (0x02) for TCP connection, PSH flag will be set on last segment sent, + * @return ERR_OK if enqueued, another err_t on error + * + * @see tcp_write() + */ +err_t +tcp_write(struct tcp_pcb *pcb, const void *data, u16_t len, u8_t apiflags) +{ + LWIP_DEBUGF(TCP_OUTPUT_DEBUG, ("tcp_write(pcb=%p, data=%p, len=%"U16_F", apiflags=%"U16_F")\n", (void *)pcb, + data, len, (u16_t)apiflags)); + /* connection is in valid state for data transmission? */ + if (pcb->state == ESTABLISHED || + pcb->state == CLOSE_WAIT || + pcb->state == SYN_SENT || + pcb->state == SYN_RCVD) { + if (len > 0) { +#if LWIP_TCP_TIMESTAMPS + return tcp_enqueue(pcb, (void *)data, len, 0, apiflags, + pcb->flags & TF_TIMESTAMP ? TF_SEG_OPTS_TS : 0); +#else + return tcp_enqueue(pcb, (void *)data, len, 0, apiflags, 0); +#endif + } + return ERR_OK; + } else { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_STATE | LWIP_DBG_LEVEL_SEVERE, ("tcp_write() called in invalid state\n")); + return ERR_CONN; + } +} + +/** + * Enqueue data and/or TCP options for transmission + * + * Called by tcp_connect(), tcp_listen_input(), tcp_send_ctrl() and tcp_write(). + * + * @param pcb Protocol control block for the TCP connection to enqueue data for. + * @param arg Pointer to the data to be enqueued for sending. + * @param len Data length in bytes + * @param flags tcp header flags to set in the outgoing segment + * @param apiflags combination of following flags : + * - TCP_WRITE_FLAG_COPY (0x01) data will be copied into memory belonging to the stack + * - TCP_WRITE_FLAG_MORE (0x02) for TCP connection, PSH flag will be set on last segment sent, + * @param optflags options to include in segment later on (see definition of struct tcp_seg) + */ +err_t +tcp_enqueue(struct tcp_pcb *pcb, void *arg, u16_t len, + u8_t flags, u8_t apiflags, u8_t optflags) +{ + struct pbuf *p; + struct tcp_seg *seg, *useg, *queue; + u32_t seqno; + u16_t left, seglen; + void *ptr; + u16_t queuelen; + u8_t optlen; + + LWIP_DEBUGF(TCP_OUTPUT_DEBUG, + ("tcp_enqueue(pcb=%p, arg=%p, len=%"U16_F", flags=%"X16_F", apiflags=%"U16_F")\n", + (void *)pcb, arg, len, (u16_t)flags, (u16_t)apiflags)); + LWIP_ERROR("tcp_enqueue: packet needs payload, options, or SYN/FIN (programmer violates API)", + ((len != 0) || (optflags != 0) || ((flags & (TCP_SYN | TCP_FIN)) != 0)), + return ERR_ARG;); + LWIP_ERROR("tcp_enqueue: len != 0 || arg == NULL (programmer violates API)", + ((len != 0) || (arg == NULL)), return ERR_ARG;); + + /* fail on too much data */ + if (len > pcb->snd_buf) { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_LEVEL_WARNING, + ("tcp_enqueue: too much data (len=%"U16_F" > snd_buf=%"U16_F")\n", len, pcb->snd_buf)); + pcb->flags |= TF_NAGLEMEMERR; + return ERR_MEM; + } + left = len; + ptr = arg; + + optlen = LWIP_TCP_OPT_LENGTH(optflags); + + /* seqno will be the sequence number of the first segment enqueued + * by the call to this function. */ + seqno = pcb->snd_lbb; + + LWIP_DEBUGF(TCP_QLEN_DEBUG, ("tcp_enqueue: queuelen: %"U16_F"\n", (u16_t)pcb->snd_queuelen)); + + /* If total number of pbufs on the unsent/unacked queues exceeds the + * configured maximum, return an error */ + queuelen = pcb->snd_queuelen; + /* check for configured max queuelen and possible overflow */ + if ((queuelen >= TCP_SND_QUEUELEN) || (queuelen > TCP_SNDQUEUELEN_OVERFLOW)) { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_LEVEL_WARNING, + ("tcp_enqueue: too long queue %"U16_F" (max %"U16_F")\n", queuelen, TCP_SND_QUEUELEN)); + TCP_STATS_INC(tcp.memerr); + pcb->flags |= TF_NAGLEMEMERR; + return ERR_MEM; + } + if (queuelen != 0) { + LWIP_ASSERT("tcp_enqueue: pbufs on queue => at least one queue non-empty", + pcb->unacked != NULL || pcb->unsent != NULL); + } else { + LWIP_ASSERT("tcp_enqueue: no pbufs on queue => both queues empty", + pcb->unacked == NULL && pcb->unsent == NULL); + } + + /* First, break up the data into segments and tuck them together in + * the local "queue" variable. */ + useg = queue = seg = NULL; + seglen = 0; + while (queue == NULL || left > 0) { + /* The segment length (including options) should be at most the MSS */ + seglen = left > (pcb->mss - optlen) ? (pcb->mss - optlen) : left; + + /* Allocate memory for tcp_seg, and fill in fields. */ + seg = memp_malloc(MEMP_TCP_SEG); + if (seg == NULL) { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("tcp_enqueue: could not allocate memory for tcp_seg\n")); + goto memerr; + } + seg->next = NULL; + seg->p = NULL; + + /* first segment of to-be-queued data? */ + if (queue == NULL) { + queue = seg; + } + /* subsequent segments of to-be-queued data */ + else { + /* Attach the segment to the end of the queued segments */ + LWIP_ASSERT("useg != NULL", useg != NULL); + useg->next = seg; + } + /* remember last segment of to-be-queued data for next iteration */ + useg = seg; + + /* If copy is set, memory should be allocated + * and data copied into pbuf, otherwise data comes from + * ROM or other static memory, and need not be copied. */ + if (apiflags & TCP_WRITE_FLAG_COPY) { + if ((seg->p = pbuf_alloc(PBUF_TRANSPORT, seglen + optlen, PBUF_RAM)) == NULL) { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("tcp_enqueue : could not allocate memory for pbuf copy size %"U16_F"\n", seglen)); + goto memerr; + } + LWIP_ASSERT("check that first pbuf can hold the complete seglen", + (seg->p->len >= seglen + optlen)); + queuelen += pbuf_clen(seg->p); + if (arg != NULL) { + MEMCPY((char *)seg->p->payload + optlen, ptr, seglen); + } + seg->dataptr = seg->p->payload; + } + /* do not copy data */ + else { + /* First, allocate a pbuf for the headers. */ + if ((seg->p = pbuf_alloc(PBUF_TRANSPORT, optlen, PBUF_RAM)) == NULL) { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("tcp_enqueue: could not allocate memory for header pbuf\n")); + goto memerr; + } + queuelen += pbuf_clen(seg->p); + + /* Second, allocate a pbuf for holding the data. + * since the referenced data is available at least until it is sent out on the + * link (as it has to be ACKed by the remote party) we can safely use PBUF_ROM + * instead of PBUF_REF here. + */ + if (left > 0) { + if ((p = pbuf_alloc(PBUF_RAW, seglen, PBUF_ROM)) == NULL) { + /* If allocation fails, we have to deallocate the header pbuf as well. */ + pbuf_free(seg->p); + seg->p = NULL; + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("tcp_enqueue: could not allocate memory for zero-copy pbuf\n")); + goto memerr; + } + ++queuelen; + /* reference the non-volatile payload data */ + p->payload = ptr; + seg->dataptr = ptr; + + /* Concatenate the headers and data pbufs together. */ + pbuf_cat(seg->p/*header*/, p/*data*/); + p = NULL; + } + } + + /* Now that there are more segments queued, we check again if the + length of the queue exceeds the configured maximum or overflows. */ + if ((queuelen > TCP_SND_QUEUELEN) || (queuelen > TCP_SNDQUEUELEN_OVERFLOW)) { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("tcp_enqueue: queue too long %"U16_F" (%"U16_F")\n", queuelen, TCP_SND_QUEUELEN)); + goto memerr; + } + + seg->len = seglen; + + /* build TCP header */ + if (pbuf_header(seg->p, TCP_HLEN)) { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("tcp_enqueue: no room for TCP header in pbuf.\n")); + TCP_STATS_INC(tcp.err); + goto memerr; + } + seg->tcphdr = seg->p->payload; + seg->tcphdr->src = htons(pcb->local_port); + seg->tcphdr->dest = htons(pcb->remote_port); + seg->tcphdr->seqno = htonl(seqno); + seg->tcphdr->urgp = 0; + TCPH_FLAGS_SET(seg->tcphdr, flags); + /* don't fill in tcphdr->ackno and tcphdr->wnd until later */ + + seg->flags = optflags; + + /* Set the length of the header */ + TCPH_HDRLEN_SET(seg->tcphdr, (5 + optlen / 4)); + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_TRACE, ("tcp_enqueue: queueing %"U32_F":%"U32_F" (0x%"X16_F")\n", + ntohl(seg->tcphdr->seqno), + ntohl(seg->tcphdr->seqno) + TCP_TCPLEN(seg), + (u16_t)flags)); + + left -= seglen; + seqno += seglen; + ptr = (void *)((u8_t *)ptr + seglen); + } + + /* Now that the data to be enqueued has been broken up into TCP + segments in the queue variable, we add them to the end of the + pcb->unsent queue. */ + if (pcb->unsent == NULL) { + useg = NULL; + } + else { + for (useg = pcb->unsent; useg->next != NULL; useg = useg->next); + } + /* { useg is last segment on the unsent queue, NULL if list is empty } */ + + /* If there is room in the last pbuf on the unsent queue, + chain the first pbuf on the queue together with that. */ + if (useg != NULL && + TCP_TCPLEN(useg) != 0 && + !(TCPH_FLAGS(useg->tcphdr) & (TCP_SYN | TCP_FIN)) && + (!(flags & (TCP_SYN | TCP_FIN)) || (flags == TCP_FIN)) && + /* fit within max seg size */ + (useg->len + queue->len <= pcb->mss) && + /* only concatenate segments with the same options */ + (useg->flags == queue->flags) && + /* segments are consecutive */ + (ntohl(useg->tcphdr->seqno) + useg->len == ntohl(queue->tcphdr->seqno)) ) { + /* Remove TCP header from first segment of our to-be-queued list */ + if(pbuf_header(queue->p, -(TCP_HLEN + optlen))) { + /* Can we cope with this failing? Just assert for now */ + LWIP_ASSERT("pbuf_header failed\n", 0); + TCP_STATS_INC(tcp.err); + goto memerr; + } + if (queue->p->len == 0) { + /* free the first (header-only) pbuf if it is now empty (contained only headers) */ + struct pbuf *old_q = queue->p; + queue->p = queue->p->next; + old_q->next = NULL; + queuelen--; + pbuf_free(old_q); + } + if (flags & TCP_FIN) { + /* the new segment contains only FIN, no data -> put the FIN into the last segment */ + LWIP_ASSERT("FIN enqueued together with data", queue->p == NULL && queue->len == 0); + TCPH_SET_FLAG(useg->tcphdr, TCP_FIN); + } else { + LWIP_ASSERT("zero-length pbuf", (queue->p != NULL) && (queue->p->len > 0)); + pbuf_cat(useg->p, queue->p); + useg->len += queue->len; + useg->next = queue->next; + } + + LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("tcp_enqueue: chaining segments, new len %"U16_F"\n", useg->len)); + if (seg == queue) { + seg = useg; + seglen = useg->len; + } + memp_free(MEMP_TCP_SEG, queue); + } + else { + /* empty list */ + if (useg == NULL) { + /* initialize list with this segment */ + pcb->unsent = queue; + } + /* enqueue segment */ + else { + useg->next = queue; + } + } + if ((flags & TCP_SYN) || (flags & TCP_FIN)) { + ++len; + } + if (flags & TCP_FIN) { + pcb->flags |= TF_FIN; + } + pcb->snd_lbb += len; + + pcb->snd_buf -= len; + + /* update number of segments on the queues */ + pcb->snd_queuelen = queuelen; + LWIP_DEBUGF(TCP_QLEN_DEBUG, ("tcp_enqueue: %"S16_F" (after enqueued)\n", pcb->snd_queuelen)); + if (pcb->snd_queuelen != 0) { + LWIP_ASSERT("tcp_enqueue: valid queue length", + pcb->unacked != NULL || pcb->unsent != NULL); + } + + /* Set the PSH flag in the last segment that we enqueued, but only + if the segment has data (indicated by seglen > 0). */ + if (seg != NULL && seglen > 0 && seg->tcphdr != NULL && ((apiflags & TCP_WRITE_FLAG_MORE)==0)) { + TCPH_SET_FLAG(seg->tcphdr, TCP_PSH); + } + + return ERR_OK; +memerr: + pcb->flags |= TF_NAGLEMEMERR; + TCP_STATS_INC(tcp.memerr); + + if (queue != NULL) { + tcp_segs_free(queue); + } + if (pcb->snd_queuelen != 0) { + LWIP_ASSERT("tcp_enqueue: valid queue length", pcb->unacked != NULL || + pcb->unsent != NULL); + } + LWIP_DEBUGF(TCP_QLEN_DEBUG | LWIP_DBG_STATE, ("tcp_enqueue: %"S16_F" (with mem err)\n", pcb->snd_queuelen)); + return ERR_MEM; +} + + +#if LWIP_TCP_TIMESTAMPS +/* Build a timestamp option (12 bytes long) at the specified options pointer) + * + * @param pcb tcp_pcb + * @param opts option pointer where to store the timestamp option + */ +static void +tcp_build_timestamp_option(struct tcp_pcb *pcb, u32_t *opts) +{ + /* Pad with two NOP options to make everything nicely aligned */ + opts[0] = htonl(0x0101080A); + opts[1] = htonl(sys_now()); + opts[2] = htonl(pcb->ts_recent); +} +#endif + +/** Send an ACK without data. + * + * @param pcb Protocol control block for the TCP connection to send the ACK + */ +err_t +tcp_send_empty_ack(struct tcp_pcb *pcb) +{ + struct pbuf *p; + struct tcp_hdr *tcphdr; + u8_t optlen = 0; + +#if LWIP_TCP_TIMESTAMPS + if (pcb->flags & TF_TIMESTAMP) { + optlen = LWIP_TCP_OPT_LENGTH(TF_SEG_OPTS_TS); + } +#endif + p = pbuf_alloc(PBUF_IP, TCP_HLEN + optlen, PBUF_RAM); + if (p == NULL) { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG, ("tcp_output: (ACK) could not allocate pbuf\n")); + return ERR_BUF; + } + LWIP_DEBUGF(TCP_OUTPUT_DEBUG, + ("tcp_output: sending ACK for %"U32_F"\n", pcb->rcv_nxt)); + /* remove ACK flags from the PCB, as we send an empty ACK now */ + pcb->flags &= ~(TF_ACK_DELAY | TF_ACK_NOW); + + tcphdr = tcp_output_set_header(pcb, p, optlen, htonl(pcb->snd_nxt)); + + /* NB. MSS option is only sent on SYNs, so ignore it here */ +#if LWIP_TCP_TIMESTAMPS + pcb->ts_lastacksent = pcb->rcv_nxt; + + if (pcb->flags & TF_TIMESTAMP) { + tcp_build_timestamp_option(pcb, (u32_t *)(tcphdr + 1)); + } +#endif + +#if CHECKSUM_GEN_TCP + tcphdr->chksum = inet_chksum_pseudo(p, &(pcb->local_ip), &(pcb->remote_ip), + IP_PROTO_TCP, p->tot_len); +#endif +#if LWIP_NETIF_HWADDRHINT + ip_output_hinted(p, &(pcb->local_ip), &(pcb->remote_ip), pcb->ttl, pcb->tos, + IP_PROTO_TCP, &(pcb->addr_hint)); +#else /* LWIP_NETIF_HWADDRHINT*/ + ip_output(p, &(pcb->local_ip), &(pcb->remote_ip), pcb->ttl, pcb->tos, + IP_PROTO_TCP); +#endif /* LWIP_NETIF_HWADDRHINT*/ + pbuf_free(p); + + return ERR_OK; +} + +/** + * Find out what we can send and send it + * + * @param pcb Protocol control block for the TCP connection to send data + * @return ERR_OK if data has been sent or nothing to send + * another err_t on error + */ +err_t +tcp_output(struct tcp_pcb *pcb) +{ + struct tcp_seg *seg, *useg; + u32_t wnd, snd_nxt; +#if TCP_CWND_DEBUG + s16_t i = 0; +#endif /* TCP_CWND_DEBUG */ + + /* First, check if we are invoked by the TCP input processing + code. If so, we do not output anything. Instead, we rely on the + input processing code to call us when input processing is done + with. */ + if (tcp_input_pcb == pcb) { + return ERR_OK; + } + + wnd = LWIP_MIN(pcb->snd_wnd, pcb->cwnd); + + seg = pcb->unsent; + + /* If the TF_ACK_NOW flag is set and no data will be sent (either + * because the ->unsent queue is empty or because the window does + * not allow it), construct an empty ACK segment and send it. + * + * If data is to be sent, we will just piggyback the ACK (see below). + */ + if (pcb->flags & TF_ACK_NOW && + (seg == NULL || + ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len > wnd)) { + return tcp_send_empty_ack(pcb); + } + + /* useg should point to last segment on unacked queue */ + useg = pcb->unacked; + if (useg != NULL) { + for (; useg->next != NULL; useg = useg->next); + } + +#if TCP_OUTPUT_DEBUG + if (seg == NULL) { + LWIP_DEBUGF(TCP_OUTPUT_DEBUG, ("tcp_output: nothing to send (%p)\n", + (void*)pcb->unsent)); + } +#endif /* TCP_OUTPUT_DEBUG */ +#if TCP_CWND_DEBUG + if (seg == NULL) { + LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_output: snd_wnd %"U16_F + ", cwnd %"U16_F", wnd %"U32_F + ", seg == NULL, ack %"U32_F"\n", + pcb->snd_wnd, pcb->cwnd, wnd, pcb->lastack)); + } else { + LWIP_DEBUGF(TCP_CWND_DEBUG, + ("tcp_output: snd_wnd %"U16_F", cwnd %"U16_F", wnd %"U32_F + ", effwnd %"U32_F", seq %"U32_F", ack %"U32_F"\n", + pcb->snd_wnd, pcb->cwnd, wnd, + ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len, + ntohl(seg->tcphdr->seqno), pcb->lastack)); + } +#endif /* TCP_CWND_DEBUG */ + /* data available and window allows it to be sent? */ + while (seg != NULL && + ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len <= wnd) { + LWIP_ASSERT("RST not expected here!", + (TCPH_FLAGS(seg->tcphdr) & TCP_RST) == 0); + /* Stop sending if the nagle algorithm would prevent it + * Don't stop: + * - if tcp_enqueue had a memory error before (prevent delayed ACK timeout) or + * - if FIN was already enqueued for this PCB (SYN is always alone in a segment - + * either seg->next != NULL or pcb->unacked == NULL; + * RST is no sent using tcp_enqueue/tcp_output. + */ + if((tcp_do_output_nagle(pcb) == 0) && + ((pcb->flags & (TF_NAGLEMEMERR | TF_FIN)) == 0)){ + break; + } +#if TCP_CWND_DEBUG + LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_output: snd_wnd %"U16_F", cwnd %"U16_F", wnd %"U32_F", effwnd %"U32_F", seq %"U32_F", ack %"U32_F", i %"S16_F"\n", + pcb->snd_wnd, pcb->cwnd, wnd, + ntohl(seg->tcphdr->seqno) + seg->len - + pcb->lastack, + ntohl(seg->tcphdr->seqno), pcb->lastack, i)); + ++i; +#endif /* TCP_CWND_DEBUG */ + + pcb->unsent = seg->next; + + if (pcb->state != SYN_SENT) { + TCPH_SET_FLAG(seg->tcphdr, TCP_ACK); + pcb->flags &= ~(TF_ACK_DELAY | TF_ACK_NOW); + } + + tcp_output_segment(seg, pcb); + snd_nxt = ntohl(seg->tcphdr->seqno) + TCP_TCPLEN(seg); + if (TCP_SEQ_LT(pcb->snd_nxt, snd_nxt)) { + pcb->snd_nxt = snd_nxt; + } + /* put segment on unacknowledged list if length > 0 */ + if (TCP_TCPLEN(seg) > 0) { + seg->next = NULL; + /* unacked list is empty? */ + if (pcb->unacked == NULL) { + pcb->unacked = seg; + useg = seg; + /* unacked list is not empty? */ + } else { + /* In the case of fast retransmit, the packet should not go to the tail + * of the unacked queue, but rather somewhere before it. We need to check for + * this case. -STJ Jul 27, 2004 */ + if (TCP_SEQ_LT(ntohl(seg->tcphdr->seqno), ntohl(useg->tcphdr->seqno))){ + /* add segment to before tail of unacked list, keeping the list sorted */ + struct tcp_seg **cur_seg = &(pcb->unacked); + while (*cur_seg && + TCP_SEQ_LT(ntohl((*cur_seg)->tcphdr->seqno), ntohl(seg->tcphdr->seqno))) { + cur_seg = &((*cur_seg)->next ); + } + seg->next = (*cur_seg); + (*cur_seg) = seg; + } else { + /* add segment to tail of unacked list */ + useg->next = seg; + useg = useg->next; + } + } + /* do not queue empty segments on the unacked list */ + } else { + tcp_seg_free(seg); + } + seg = pcb->unsent; + } + + if (seg != NULL && pcb->persist_backoff == 0 && + ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len > pcb->snd_wnd) { + /* prepare for persist timer */ + pcb->persist_cnt = 0; + pcb->persist_backoff = 1; + } + + pcb->flags &= ~TF_NAGLEMEMERR; + return ERR_OK; +} + +/** + * Called by tcp_output() to actually send a TCP segment over IP. + * + * @param seg the tcp_seg to send + * @param pcb the tcp_pcb for the TCP connection used to send the segment + */ +static void +tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb) +{ + u16_t len; + struct netif *netif; + u32_t *opts; + + /** @bug Exclude retransmitted segments from this count. */ + snmp_inc_tcpoutsegs(); + + /* The TCP header has already been constructed, but the ackno and + wnd fields remain. */ + seg->tcphdr->ackno = htonl(pcb->rcv_nxt); + + /* advertise our receive window size in this TCP segment */ + seg->tcphdr->wnd = htons(pcb->rcv_ann_wnd); + + pcb->rcv_ann_right_edge = pcb->rcv_nxt + pcb->rcv_ann_wnd; + + /* Add any requested options. NB MSS option is only set on SYN + packets, so ignore it here */ + opts = (u32_t *)(seg->tcphdr + 1); + if (seg->flags & TF_SEG_OPTS_MSS) { + TCP_BUILD_MSS_OPTION(*opts); + opts += 1; + } +#if LWIP_TCP_TIMESTAMPS + pcb->ts_lastacksent = pcb->rcv_nxt; + + if (seg->flags & TF_SEG_OPTS_TS) { + tcp_build_timestamp_option(pcb, opts); + opts += 3; + } +#endif + +#ifdef _TEST_HD_ + /* ANGR: set rtime this _before_ checking ip_route(). Otherwise TCP_SYN will + * not be retransmitted in case the interface was down and tcp_connect() + * will not return any error. Since we still want the err_cb() (or maybe + * the wifi link comes up), make sure that we fulfill the retransmissions in + * tcp_slowtmr() + */ + + /* Set retransmission timer running if it is not currently enabled */ + if(pcb->rtime == -1) + pcb->rtime = 0; +#endif + + /* If we don't have a local IP address, we get one by + calling ip_route(). */ + if (ip_addr_isany(&(pcb->local_ip))) { + netif = ip_route(&(pcb->remote_ip)); + if (netif == NULL) { + return; + } + ip_addr_set(&(pcb->local_ip), &(netif->ip_addr)); + } + +#ifndef _TEST_HD_ + //Set retransmission timer running if it is not currently enabled + if(pcb->rtime == -1) + pcb->rtime = 0; +#endif + + if (pcb->rttest == 0) { + pcb->rttest = tcp_ticks; + pcb->rtseq = ntohl(seg->tcphdr->seqno); + + LWIP_DEBUGF(TCP_RTO_DEBUG, ("tcp_output_segment: rtseq %"U32_F"\n", pcb->rtseq)); + } + LWIP_DEBUGF(TCP_OUTPUT_DEBUG, ("tcp_output_segment: %"U32_F":%"U32_F"\n", + htonl(seg->tcphdr->seqno), htonl(seg->tcphdr->seqno) + + seg->len)); + + len = (u16_t)((u8_t *)seg->tcphdr - (u8_t *)seg->p->payload); + + seg->p->len -= len; + seg->p->tot_len -= len; + + seg->p->payload = seg->tcphdr; + + seg->tcphdr->chksum = 0; +#if CHECKSUM_GEN_TCP + seg->tcphdr->chksum = inet_chksum_pseudo(seg->p, + &(pcb->local_ip), + &(pcb->remote_ip), + IP_PROTO_TCP, seg->p->tot_len); +#endif + TCP_STATS_INC(tcp.xmit); + +#if LWIP_NETIF_HWADDRHINT + ip_output_hinted(seg->p, &(pcb->local_ip), &(pcb->remote_ip), pcb->ttl, pcb->tos, + IP_PROTO_TCP, &(pcb->addr_hint)); +#else /* LWIP_NETIF_HWADDRHINT*/ + ip_output(seg->p, &(pcb->local_ip), &(pcb->remote_ip), pcb->ttl, pcb->tos, + IP_PROTO_TCP); +#endif /* LWIP_NETIF_HWADDRHINT*/ +} + +/** + * Send a TCP RESET packet (empty segment with RST flag set) either to + * abort a connection or to show that there is no matching local connection + * for a received segment. + * + * Called by tcp_abort() (to abort a local connection), tcp_input() (if no + * matching local pcb was found), tcp_listen_input() (if incoming segment + * has ACK flag set) and tcp_process() (received segment in the wrong state) + * + * Since a RST segment is in most cases not sent for an active connection, + * tcp_rst() has a number of arguments that are taken from a tcp_pcb for + * most other segment output functions. + * + * @param seqno the sequence number to use for the outgoing segment + * @param ackno the acknowledge number to use for the outgoing segment + * @param local_ip the local IP address to send the segment from + * @param remote_ip the remote IP address to send the segment to + * @param local_port the local TCP port to send the segment from + * @param remote_port the remote TCP port to send the segment to + */ +void +tcp_rst(u32_t seqno, u32_t ackno, + struct ip_addr *local_ip, struct ip_addr *remote_ip, + u16_t local_port, u16_t remote_port) +{ + struct pbuf *p; + struct tcp_hdr *tcphdr; + p = pbuf_alloc(PBUF_IP, TCP_HLEN, PBUF_RAM); + if (p == NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_rst: could not allocate memory for pbuf\n")); + return; + } + LWIP_ASSERT("check that first pbuf can hold struct tcp_hdr", + (p->len >= sizeof(struct tcp_hdr))); + + tcphdr = p->payload; + tcphdr->src = htons(local_port); + tcphdr->dest = htons(remote_port); + tcphdr->seqno = htonl(seqno); + tcphdr->ackno = htonl(ackno); + TCPH_FLAGS_SET(tcphdr, TCP_RST | TCP_ACK); + tcphdr->wnd = htons(TCP_WND); + tcphdr->urgp = 0; + TCPH_HDRLEN_SET(tcphdr, 5); + + tcphdr->chksum = 0; +#if CHECKSUM_GEN_TCP + tcphdr->chksum = inet_chksum_pseudo(p, local_ip, remote_ip, + IP_PROTO_TCP, p->tot_len); +#endif + TCP_STATS_INC(tcp.xmit); + snmp_inc_tcpoutrsts(); + /* Send output with hardcoded TTL since we have no access to the pcb */ + ip_output(p, local_ip, remote_ip, TCP_TTL, 0, IP_PROTO_TCP); + pbuf_free(p); + LWIP_DEBUGF(TCP_RST_DEBUG, ("tcp_rst: seqno %"U32_F" ackno %"U32_F".\n", seqno, ackno)); +} + +/** + * Requeue all unacked segments for retransmission + * + * Called by tcp_slowtmr() for slow retransmission. + * + * @param pcb the tcp_pcb for which to re-enqueue all unacked segments + */ +void +tcp_rexmit_rto(struct tcp_pcb *pcb) +{ + struct tcp_seg *seg; + + if (pcb->unacked == NULL) { + return; + } + + /* Move all unacked segments to the head of the unsent queue */ + for (seg = pcb->unacked; seg->next != NULL; seg = seg->next); + /* concatenate unsent queue after unacked queue */ + seg->next = pcb->unsent; + /* unsent queue is the concatenated queue (of unacked, unsent) */ + pcb->unsent = pcb->unacked; + /* unacked queue is now empty */ + pcb->unacked = NULL; + + /* increment number of retransmissions */ + ++pcb->nrtx; + + /* Don't take any RTT measurements after retransmitting. */ + pcb->rttest = 0; + + /* Do the actual retransmission */ + tcp_output(pcb); +} + +/** + * Requeue the first unacked segment for retransmission + * + * Called by tcp_receive() for fast retramsmit. + * + * @param pcb the tcp_pcb for which to retransmit the first unacked segment + */ +void +tcp_rexmit(struct tcp_pcb *pcb) +{ + struct tcp_seg *seg; + struct tcp_seg **cur_seg; + + if (pcb->unacked == NULL) { + return; + } + + /* Move the first unacked segment to the unsent queue */ + /* Keep the unsent queue sorted. */ + seg = pcb->unacked; + pcb->unacked = seg->next; + + cur_seg = &(pcb->unsent); + while (*cur_seg && + TCP_SEQ_LT(ntohl((*cur_seg)->tcphdr->seqno), ntohl(seg->tcphdr->seqno))) { + cur_seg = &((*cur_seg)->next ); + } + seg->next = *cur_seg; + *cur_seg = seg; + + ++pcb->nrtx; + + /* Don't take any rtt measurements after retransmitting. */ + pcb->rttest = 0; + + /* Do the actual retransmission. */ + snmp_inc_tcpretranssegs(); + /* No need to call tcp_output: we are always called from tcp_input() + and thus tcp_output directly returns. */ +} + + +/** + * Handle retransmission after three dupacks received + * + * @param pcb the tcp_pcb for which to retransmit the first unacked segment + */ +void +tcp_rexmit_fast(struct tcp_pcb *pcb) +{ + if (pcb->unacked != NULL && !(pcb->flags & TF_INFR)) { + /* This is fast retransmit. Retransmit the first unacked segment. */ + LWIP_DEBUGF(TCP_FR_DEBUG, + ("tcp_receive: dupacks %"U16_F" (%"U32_F + "), fast retransmit %"U32_F"\n", + (u16_t)pcb->dupacks, pcb->lastack, + ntohl(pcb->unacked->tcphdr->seqno))); + tcp_rexmit(pcb); + + /* Set ssthresh to half of the minimum of the current + * cwnd and the advertised window */ + if (pcb->cwnd > pcb->snd_wnd) + pcb->ssthresh = pcb->snd_wnd / 2; + else + pcb->ssthresh = pcb->cwnd / 2; + + /* The minimum value for ssthresh should be 2 MSS */ + if (pcb->ssthresh < 2*pcb->mss) { + LWIP_DEBUGF(TCP_FR_DEBUG, + ("tcp_receive: The minimum value for ssthresh %"U16_F + " should be min 2 mss %"U16_F"...\n", + pcb->ssthresh, 2*pcb->mss)); + pcb->ssthresh = 2*pcb->mss; + } + + pcb->cwnd = pcb->ssthresh + 3 * pcb->mss; + pcb->flags |= TF_INFR; + } +} + + +/** + * Send keepalive packets to keep a connection active although + * no data is sent over it. + * + * Called by tcp_slowtmr() + * + * @param pcb the tcp_pcb for which to send a keepalive packet + */ +void +tcp_keepalive(struct tcp_pcb *pcb) +{ + struct pbuf *p; + struct tcp_hdr *tcphdr; + + LWIP_DEBUGF(TCP_DEBUG, ("tcp_keepalive: sending KEEPALIVE probe to %"U16_F".%"U16_F".%"U16_F".%"U16_F"\n", + ip4_addr1(&pcb->remote_ip), ip4_addr2(&pcb->remote_ip), + ip4_addr3(&pcb->remote_ip), ip4_addr4(&pcb->remote_ip))); + + LWIP_DEBUGF(TCP_DEBUG, ("tcp_keepalive: tcp_ticks %"U32_F" pcb->tmr %"U32_F" pcb->keep_cnt_sent %"U16_F"\n", + tcp_ticks, pcb->tmr, pcb->keep_cnt_sent)); + + p = pbuf_alloc(PBUF_IP, TCP_HLEN, PBUF_RAM); + + if(p == NULL) { + LWIP_DEBUGF(TCP_DEBUG, + ("tcp_keepalive: could not allocate memory for pbuf\n")); + return; + } + LWIP_ASSERT("check that first pbuf can hold struct tcp_hdr", + (p->len >= sizeof(struct tcp_hdr))); + + tcphdr = tcp_output_set_header(pcb, p, 0, htonl(pcb->snd_nxt - 1)); + +#if CHECKSUM_GEN_TCP + tcphdr->chksum = inet_chksum_pseudo(p, &pcb->local_ip, &pcb->remote_ip, + IP_PROTO_TCP, p->tot_len); +#endif + TCP_STATS_INC(tcp.xmit); + + /* Send output to IP */ +#if LWIP_NETIF_HWADDRHINT + ip_output_hinted(p, &pcb->local_ip, &pcb->remote_ip, pcb->ttl, 0, IP_PROTO_TCP, + &(pcb->addr_hint)); +#else /* LWIP_NETIF_HWADDRHINT*/ + ip_output(p, &pcb->local_ip, &pcb->remote_ip, pcb->ttl, 0, IP_PROTO_TCP); +#endif /* LWIP_NETIF_HWADDRHINT*/ + + pbuf_free(p); + + LWIP_DEBUGF(TCP_DEBUG, ("tcp_keepalive: seqno %"U32_F" ackno %"U32_F".\n", + pcb->snd_nxt - 1, pcb->rcv_nxt)); +} + + +/** + * Send persist timer zero-window probes to keep a connection active + * when a window update is lost. + * + * Called by tcp_slowtmr() + * + * @param pcb the tcp_pcb for which to send a zero-window probe packet + */ +void +tcp_zero_window_probe(struct tcp_pcb *pcb) +{ + struct pbuf *p; + struct tcp_hdr *tcphdr; + struct tcp_seg *seg; + u16_t len; + u8_t is_fin; + + LWIP_DEBUGF(TCP_DEBUG, + ("tcp_zero_window_probe: sending ZERO WINDOW probe to %" + U16_F".%"U16_F".%"U16_F".%"U16_F"\n", + ip4_addr1(&pcb->remote_ip), ip4_addr2(&pcb->remote_ip), + ip4_addr3(&pcb->remote_ip), ip4_addr4(&pcb->remote_ip))); + + LWIP_DEBUGF(TCP_DEBUG, + ("tcp_zero_window_probe: tcp_ticks %"U32_F + " pcb->tmr %"U32_F" pcb->keep_cnt_sent %"U16_F"\n", + tcp_ticks, pcb->tmr, pcb->keep_cnt_sent)); + + seg = pcb->unacked; + + if(seg == NULL) + seg = pcb->unsent; + + if(seg == NULL) + return; + + is_fin = ((TCPH_FLAGS(seg->tcphdr) & TCP_FIN) != 0) && (seg->len == 0); + len = is_fin ? TCP_HLEN : TCP_HLEN + 1; + + p = pbuf_alloc(PBUF_IP, len, PBUF_RAM); + if(p == NULL) { + LWIP_DEBUGF(TCP_DEBUG, ("tcp_zero_window_probe: no memory for pbuf\n")); + return; + } + LWIP_ASSERT("check that first pbuf can hold struct tcp_hdr", + (p->len >= sizeof(struct tcp_hdr))); + + tcphdr = tcp_output_set_header(pcb, p, 0, seg->tcphdr->seqno); + + if (is_fin) { + /* FIN segment, no data */ + TCPH_FLAGS_SET(tcphdr, TCP_ACK | TCP_FIN); + } else { + /* Data segment, copy in one byte from the head of the unacked queue */ + *((char *)p->payload + sizeof(struct tcp_hdr)) = *(char *)seg->dataptr; + } + +#if CHECKSUM_GEN_TCP + tcphdr->chksum = inet_chksum_pseudo(p, &pcb->local_ip, &pcb->remote_ip, + IP_PROTO_TCP, p->tot_len); +#endif + TCP_STATS_INC(tcp.xmit); + + /* Send output to IP */ +#if LWIP_NETIF_HWADDRHINT + ip_output_hinted(p, &pcb->local_ip, &pcb->remote_ip, pcb->ttl, 0, IP_PROTO_TCP, + &(pcb->addr_hint)); +#else /* LWIP_NETIF_HWADDRHINT*/ + ip_output(p, &pcb->local_ip, &pcb->remote_ip, pcb->ttl, 0, IP_PROTO_TCP); +#endif /* LWIP_NETIF_HWADDRHINT*/ + + pbuf_free(p); + + LWIP_DEBUGF(TCP_DEBUG, ("tcp_zero_window_probe: seqno %"U32_F + " ackno %"U32_F".\n", + pcb->snd_nxt - 1, pcb->rcv_nxt)); +} +#endif /* LWIP_TCP */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/udp.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/udp.c new file mode 100644 index 0000000..697ca7c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/core/udp.c @@ -0,0 +1,843 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * User Datagram Protocol module + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + + +/* udp.c + * + * The code for the User Datagram Protocol UDP & UDPLite (RFC 3828). + * + */ + +/* @todo Check the use of '(struct udp_pcb).chksum_len_rx'! + */ + +#include "lwip/opt.h" + +#if LWIP_UDP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/udp.h" +#include "lwip/def.h" +#include "lwip/memp.h" +#include "lwip/inet.h" +#include "lwip/inet_chksum.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" +#include "lwip/icmp.h" +#include "lwip/stats.h" +#include "lwip/snmp.h" +#include "arch/perf.h" +#include "lwip/dhcp.h" + +#include <string.h> + +/* The list of UDP PCBs */ +/* exported in udp.h (was static) */ +struct udp_pcb *udp_pcbs; + +/** + * Process an incoming UDP datagram. + * + * Given an incoming UDP datagram (as a chain of pbufs) this function + * finds a corresponding UDP PCB and hands over the pbuf to the pcbs + * recv function. If no pcb is found or the datagram is incorrect, the + * pbuf is freed. + * + * @param p pbuf to be demultiplexed to a UDP PCB. + * @param inp network interface on which the datagram was received. + * + */ +void +udp_input(struct pbuf *p, struct netif *inp) +{ + struct udp_hdr *udphdr; + struct udp_pcb *pcb, *prev; + struct udp_pcb *uncon_pcb; + struct ip_hdr *iphdr; + u16_t src, dest; + u8_t local_match; + u8_t broadcast; + + PERF_START; + + UDP_STATS_INC(udp.recv); + + iphdr = p->payload; + + /* Check minimum length (IP header + UDP header) + * and move payload pointer to UDP header */ + if (p->tot_len < (IPH_HL(iphdr) * 4 + UDP_HLEN) || pbuf_header(p, -(s16_t)(IPH_HL(iphdr) * 4))) { + /* drop short packets */ + LWIP_DEBUGF(UDP_DEBUG, + ("udp_input: short UDP datagram (%"U16_F" bytes) discarded\n", p->tot_len)); + UDP_STATS_INC(udp.lenerr); + UDP_STATS_INC(udp.drop); + snmp_inc_udpinerrors(); + pbuf_free(p); + goto end; + } + + udphdr = (struct udp_hdr *)p->payload; + + /* is broadcast packet ? */ + broadcast = ip_addr_isbroadcast(&(iphdr->dest), inp); + + LWIP_DEBUGF(UDP_DEBUG, ("udp_input: received datagram of length %"U16_F"\n", p->tot_len)); + + /* convert src and dest ports to host byte order */ + src = ntohs(udphdr->src); + dest = ntohs(udphdr->dest); + + udp_debug_print(udphdr); + + /* print the UDP source and destination */ + LWIP_DEBUGF(UDP_DEBUG, + ("udp (%"U16_F".%"U16_F".%"U16_F".%"U16_F", %"U16_F") <-- " + "(%"U16_F".%"U16_F".%"U16_F".%"U16_F", %"U16_F")\n", + ip4_addr1(&iphdr->dest), ip4_addr2(&iphdr->dest), + ip4_addr3(&iphdr->dest), ip4_addr4(&iphdr->dest), ntohs(udphdr->dest), + ip4_addr1(&iphdr->src), ip4_addr2(&iphdr->src), + ip4_addr3(&iphdr->src), ip4_addr4(&iphdr->src), ntohs(udphdr->src))); + +#if LWIP_DHCP + pcb = NULL; + /* when LWIP_DHCP is active, packets to DHCP_CLIENT_PORT may only be processed by + the dhcp module, no other UDP pcb may use the local UDP port DHCP_CLIENT_PORT */ + if (dest == DHCP_CLIENT_PORT) { + /* all packets for DHCP_CLIENT_PORT not coming from DHCP_SERVER_PORT are dropped! */ + if (src == DHCP_SERVER_PORT) { + if ((inp->dhcp != NULL) && (inp->dhcp->pcb != NULL)) { + /* accept the packe if + (- broadcast or directed to us) -> DHCP is link-layer-addressed, local ip is always ANY! + - inp->dhcp->pcb->remote == ANY or iphdr->src */ + if ((ip_addr_isany(&inp->dhcp->pcb->remote_ip) || + ip_addr_cmp(&(inp->dhcp->pcb->remote_ip), &(iphdr->src)))) { + pcb = inp->dhcp->pcb; + } + } + } + } else +#endif /* LWIP_DHCP */ + { + prev = NULL; + local_match = 0; + uncon_pcb = NULL; + /* Iterate through the UDP pcb list for a matching pcb. + * 'Perfect match' pcbs (connected to the remote port & ip address) are + * preferred. If no perfect match is found, the first unconnected pcb that + * matches the local port and ip address gets the datagram. */ + for (pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) { + local_match = 0; + /* print the PCB local and remote address */ + LWIP_DEBUGF(UDP_DEBUG, + ("pcb (%"U16_F".%"U16_F".%"U16_F".%"U16_F", %"U16_F") --- " + "(%"U16_F".%"U16_F".%"U16_F".%"U16_F", %"U16_F")\n", + ip4_addr1(&pcb->local_ip), ip4_addr2(&pcb->local_ip), + ip4_addr3(&pcb->local_ip), ip4_addr4(&pcb->local_ip), pcb->local_port, + ip4_addr1(&pcb->remote_ip), ip4_addr2(&pcb->remote_ip), + ip4_addr3(&pcb->remote_ip), ip4_addr4(&pcb->remote_ip), pcb->remote_port)); + + /* compare PCB local addr+port to UDP destination addr+port */ + if ((pcb->local_port == dest) && + ((!broadcast && ip_addr_isany(&pcb->local_ip)) || + ip_addr_cmp(&(pcb->local_ip), &(iphdr->dest)) || +#if LWIP_IGMP + ip_addr_ismulticast(&(iphdr->dest)) || +#endif /* LWIP_IGMP */ +#if IP_SOF_BROADCAST_RECV + (broadcast && (pcb->so_options & SOF_BROADCAST)))) { +#else /* IP_SOF_BROADCAST_RECV */ + (broadcast))) { +#endif /* IP_SOF_BROADCAST_RECV */ + local_match = 1; + if ((uncon_pcb == NULL) && + ((pcb->flags & UDP_FLAGS_CONNECTED) == 0)) { + /* the first unconnected matching PCB */ + uncon_pcb = pcb; + } + } + /* compare PCB remote addr+port to UDP source addr+port */ + if ((local_match != 0) && + (pcb->remote_port == src) && + (ip_addr_isany(&pcb->remote_ip) || + ip_addr_cmp(&(pcb->remote_ip), &(iphdr->src)))) { + /* the first fully matching PCB */ + if (prev != NULL) { + /* move the pcb to the front of udp_pcbs so that is + found faster next time */ + prev->next = pcb->next; + pcb->next = udp_pcbs; + udp_pcbs = pcb; + } else { + UDP_STATS_INC(udp.cachehit); + } + break; + } + prev = pcb; + } + /* no fully matching pcb found? then look for an unconnected pcb */ + if (pcb == NULL) { + pcb = uncon_pcb; + } + } + + /* Check checksum if this is a match or if it was directed at us. */ + if (pcb != NULL || ip_addr_cmp(&inp->ip_addr, &iphdr->dest)) { + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, ("udp_input: calculating checksum\n")); +#if LWIP_UDPLITE + if (IPH_PROTO(iphdr) == IP_PROTO_UDPLITE) { + /* Do the UDP Lite checksum */ +#if CHECKSUM_CHECK_UDP + u16_t chklen = ntohs(udphdr->len); + if (chklen < sizeof(struct udp_hdr)) { + if (chklen == 0) { + /* For UDP-Lite, checksum length of 0 means checksum + over the complete packet (See RFC 3828 chap. 3.1) */ + chklen = p->tot_len; + } else { + /* At least the UDP-Lite header must be covered by the + checksum! (Again, see RFC 3828 chap. 3.1) */ + UDP_STATS_INC(udp.chkerr); + UDP_STATS_INC(udp.drop); + snmp_inc_udpinerrors(); + pbuf_free(p); + goto end; + } + } + if (inet_chksum_pseudo_partial(p, (struct ip_addr *)&(iphdr->src), + (struct ip_addr *)&(iphdr->dest), + IP_PROTO_UDPLITE, p->tot_len, chklen) != 0) { + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("udp_input: UDP Lite datagram discarded due to failing checksum\n")); + UDP_STATS_INC(udp.chkerr); + UDP_STATS_INC(udp.drop); + snmp_inc_udpinerrors(); + pbuf_free(p); + goto end; + } +#endif /* CHECKSUM_CHECK_UDP */ + } else +#endif /* LWIP_UDPLITE */ + { +#if CHECKSUM_CHECK_UDP + if (udphdr->chksum != 0) { + if (inet_chksum_pseudo(p, (struct ip_addr *)&(iphdr->src), + (struct ip_addr *)&(iphdr->dest), + IP_PROTO_UDP, p->tot_len) != 0) { + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("udp_input: UDP datagram discarded due to failing checksum\n")); + UDP_STATS_INC(udp.chkerr); + UDP_STATS_INC(udp.drop); + snmp_inc_udpinerrors(); + pbuf_free(p); + goto end; + } + } +#endif /* CHECKSUM_CHECK_UDP */ + } + if(pbuf_header(p, -UDP_HLEN)) { + /* Can we cope with this failing? Just assert for now */ + LWIP_ASSERT("pbuf_header failed\n", 0); + UDP_STATS_INC(udp.drop); + snmp_inc_udpinerrors(); + pbuf_free(p); + goto end; + } + if (pcb != NULL) { + snmp_inc_udpindatagrams(); + /* callback */ + if (pcb->recv != NULL) { + /* now the recv function is responsible for freeing p */ + pcb->recv(pcb->recv_arg, pcb, p, &iphdr->src, src); + } else { + /* no recv function registered? then we have to free the pbuf! */ + pbuf_free(p); + goto end; + } + } else { + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, ("udp_input: not for us.\n")); + +#if LWIP_ICMP + /* No match was found, send ICMP destination port unreachable unless + destination address was broadcast/multicast. */ + if (!broadcast && + !ip_addr_ismulticast(&iphdr->dest)) { + /* move payload pointer back to ip header */ + pbuf_header(p, (IPH_HL(iphdr) * 4) + UDP_HLEN); + LWIP_ASSERT("p->payload == iphdr", (p->payload == iphdr)); + icmp_dest_unreach(p, ICMP_DUR_PORT); + } +#endif /* LWIP_ICMP */ + UDP_STATS_INC(udp.proterr); + UDP_STATS_INC(udp.drop); + snmp_inc_udpnoports(); + pbuf_free(p); + } + } else { + pbuf_free(p); + } +end: + PERF_STOP("udp_input"); +} + +/** + * Send data using UDP. + * + * @param pcb UDP PCB used to send the data. + * @param p chain of pbuf's to be sent. + * + * The datagram will be sent to the current remote_ip & remote_port + * stored in pcb. If the pcb is not bound to a port, it will + * automatically be bound to a random port. + * + * @return lwIP error code. + * - ERR_OK. Successful. No error occured. + * - ERR_MEM. Out of memory. + * - ERR_RTE. Could not find route to destination address. + * - More errors could be returned by lower protocol layers. + * + * @see udp_disconnect() udp_sendto() + */ +err_t +udp_send(struct udp_pcb *pcb, struct pbuf *p) +{ + /* send to the packet using remote ip and port stored in the pcb */ + return udp_sendto(pcb, p, &pcb->remote_ip, pcb->remote_port); +} + +/** + * Send data to a specified address using UDP. + * + * @param pcb UDP PCB used to send the data. + * @param p chain of pbuf's to be sent. + * @param dst_ip Destination IP address. + * @param dst_port Destination UDP port. + * + * dst_ip & dst_port are expected to be in the same byte order as in the pcb. + * + * If the PCB already has a remote address association, it will + * be restored after the data is sent. + * + * @return lwIP error code (@see udp_send for possible error codes) + * + * @see udp_disconnect() udp_send() + */ +err_t +udp_sendto(struct udp_pcb *pcb, struct pbuf *p, + struct ip_addr *dst_ip, u16_t dst_port) +{ + struct netif *netif; + + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, ("udp_send\n")); + + /* find the outgoing network interface for this packet */ +#if LWIP_IGMP + netif = ip_route((ip_addr_ismulticast(dst_ip))?(&(pcb->multicast_ip)):(dst_ip)); +#else + netif = ip_route(dst_ip); +#endif /* LWIP_IGMP */ + + /* no outgoing network interface could be found? */ + if (netif == NULL) { + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("udp_send: No route to 0x%"X32_F"\n", dst_ip->addr)); + UDP_STATS_INC(udp.rterr); + return ERR_RTE; + } + return udp_sendto_if(pcb, p, dst_ip, dst_port, netif); +} + +/** + * Send data to a specified address using UDP. + * The netif used for sending can be specified. + * + * This function exists mainly for DHCP, to be able to send UDP packets + * on a netif that is still down. + * + * @param pcb UDP PCB used to send the data. + * @param p chain of pbuf's to be sent. + * @param dst_ip Destination IP address. + * @param dst_port Destination UDP port. + * @param netif the netif used for sending. + * + * dst_ip & dst_port are expected to be in the same byte order as in the pcb. + * + * @return lwIP error code (@see udp_send for possible error codes) + * + * @see udp_disconnect() udp_send() + */ +err_t +udp_sendto_if(struct udp_pcb *pcb, struct pbuf *p, + struct ip_addr *dst_ip, u16_t dst_port, struct netif *netif) +{ + struct udp_hdr *udphdr; + struct ip_addr *src_ip; + err_t err; + struct pbuf *q; /* q will be sent down the stack */ + +#if IP_SOF_BROADCAST + /* broadcast filter? */ + if ( ((pcb->so_options & SOF_BROADCAST) == 0) && ip_addr_isbroadcast(dst_ip, netif) ) { + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, + ("udp_sendto_if: SOF_BROADCAST not enabled on pcb %p\n", (void *)pcb)); + return ERR_VAL; + } +#endif /* IP_SOF_BROADCAST */ + + /* if the PCB is not yet bound to a port, bind it here */ + if (pcb->local_port == 0) { + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, ("udp_send: not yet bound to a port, binding now\n")); + err = udp_bind(pcb, &pcb->local_ip, pcb->local_port); + if (err != ERR_OK) { + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("udp_send: forced port bind failed\n")); + return err; + } + } + + /* not enough space to add an UDP header to first pbuf in given p chain? */ + if (pbuf_header(p, UDP_HLEN)) { + /* allocate header in a separate new pbuf */ + q = pbuf_alloc(PBUF_IP, UDP_HLEN, PBUF_RAM); + /* new header pbuf could not be allocated? */ + if (q == NULL) { + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, ("udp_send: could not allocate header\n")); + return ERR_MEM; + } + /* chain header q in front of given pbuf p */ + pbuf_chain(q, p); + /* first pbuf q points to header pbuf */ + LWIP_DEBUGF(UDP_DEBUG, + ("udp_send: added header pbuf %p before given pbuf %p\n", (void *)q, (void *)p)); + } else { + /* adding space for header within p succeeded */ + /* first pbuf q equals given pbuf */ + q = p; + LWIP_DEBUGF(UDP_DEBUG, ("udp_send: added header in given pbuf %p\n", (void *)p)); + } + LWIP_ASSERT("check that first pbuf can hold struct udp_hdr", + (q->len >= sizeof(struct udp_hdr))); + /* q now represents the packet to be sent */ + udphdr = q->payload; + udphdr->src = htons(pcb->local_port); + udphdr->dest = htons(dst_port); + /* in UDP, 0 checksum means 'no checksum' */ + udphdr->chksum = 0x0000; + + /* PCB local address is IP_ANY_ADDR? */ + if (ip_addr_isany(&pcb->local_ip)) { + /* use outgoing network interface IP address as source address */ + src_ip = &(netif->ip_addr); + } else { + /* check if UDP PCB local IP address is correct + * this could be an old address if netif->ip_addr has changed */ + if (!ip_addr_cmp(&(pcb->local_ip), &(netif->ip_addr))) { + /* local_ip doesn't match, drop the packet */ + if (q != p) { + /* free the header pbuf */ + pbuf_free(q); + q = NULL; + /* p is still referenced by the caller, and will live on */ + } + return ERR_VAL; + } + /* use UDP PCB local IP address as source address */ + src_ip = &(pcb->local_ip); + } + + LWIP_DEBUGF(UDP_DEBUG, ("udp_send: sending datagram of length %"U16_F"\n", q->tot_len)); + +#if LWIP_UDPLITE + /* UDP Lite protocol? */ + if (pcb->flags & UDP_FLAGS_UDPLITE) { + u16_t chklen, chklen_hdr; + LWIP_DEBUGF(UDP_DEBUG, ("udp_send: UDP LITE packet length %"U16_F"\n", q->tot_len)); + /* set UDP message length in UDP header */ + chklen_hdr = chklen = pcb->chksum_len_tx; + if ((chklen < sizeof(struct udp_hdr)) || (chklen > q->tot_len)) { + if (chklen != 0) { + LWIP_DEBUGF(UDP_DEBUG, ("udp_send: UDP LITE pcb->chksum_len is illegal: %"U16_F"\n", chklen)); + } + /* For UDP-Lite, checksum length of 0 means checksum + over the complete packet. (See RFC 3828 chap. 3.1) + At least the UDP-Lite header must be covered by the + checksum, therefore, if chksum_len has an illegal + value, we generate the checksum over the complete + packet to be safe. */ + chklen_hdr = 0; + chklen = q->tot_len; + } + udphdr->len = htons(chklen_hdr); + /* calculate checksum */ +#if CHECKSUM_GEN_UDP + udphdr->chksum = inet_chksum_pseudo_partial(q, src_ip, dst_ip, + IP_PROTO_UDPLITE, q->tot_len, chklen); + /* chksum zero must become 0xffff, as zero means 'no checksum' */ + if (udphdr->chksum == 0x0000) + udphdr->chksum = 0xffff; +#endif /* CHECKSUM_CHECK_UDP */ + /* output to IP */ + LWIP_DEBUGF(UDP_DEBUG, ("udp_send: ip_output_if (,,,,IP_PROTO_UDPLITE,)\n")); +#if LWIP_NETIF_HWADDRHINT + netif->addr_hint = &(pcb->addr_hint); +#endif /* LWIP_NETIF_HWADDRHINT*/ + err = ip_output_if(q, src_ip, dst_ip, pcb->ttl, pcb->tos, IP_PROTO_UDPLITE, netif); +#if LWIP_NETIF_HWADDRHINT + netif->addr_hint = NULL; +#endif /* LWIP_NETIF_HWADDRHINT*/ + } else +#endif /* LWIP_UDPLITE */ + { /* UDP */ + LWIP_DEBUGF(UDP_DEBUG, ("udp_send: UDP packet length %"U16_F"\n", q->tot_len)); + udphdr->len = htons(q->tot_len); + /* calculate checksum */ +#if CHECKSUM_GEN_UDP + if ((pcb->flags & UDP_FLAGS_NOCHKSUM) == 0) { + udphdr->chksum = inet_chksum_pseudo(q, src_ip, dst_ip, IP_PROTO_UDP, q->tot_len); + /* chksum zero must become 0xffff, as zero means 'no checksum' */ + if (udphdr->chksum == 0x0000) udphdr->chksum = 0xffff; + } +#endif /* CHECKSUM_CHECK_UDP */ + LWIP_DEBUGF(UDP_DEBUG, ("udp_send: UDP checksum 0x%04"X16_F"\n", udphdr->chksum)); + LWIP_DEBUGF(UDP_DEBUG, ("udp_send: ip_output_if (,,,,IP_PROTO_UDP,)\n")); + /* output to IP */ +#if LWIP_NETIF_HWADDRHINT + netif->addr_hint = &(pcb->addr_hint); +#endif /* LWIP_NETIF_HWADDRHINT*/ + err = ip_output_if(q, src_ip, dst_ip, pcb->ttl, pcb->tos, IP_PROTO_UDP, netif); +#if LWIP_NETIF_HWADDRHINT + netif->addr_hint = NULL; +#endif /* LWIP_NETIF_HWADDRHINT*/ + } + /* TODO: must this be increased even if error occured? */ + snmp_inc_udpoutdatagrams(); + + /* did we chain a separate header pbuf earlier? */ + if (q != p) { + /* free the header pbuf */ + pbuf_free(q); + q = NULL; + /* p is still referenced by the caller, and will live on */ + } + + UDP_STATS_INC(udp.xmit); + return err; +} + +/** + * Bind an UDP PCB. + * + * @param pcb UDP PCB to be bound with a local address ipaddr and port. + * @param ipaddr local IP address to bind with. Use IP_ADDR_ANY to + * bind to all local interfaces. + * @param port local UDP port to bind with. Use 0 to automatically bind + * to a random port between UDP_LOCAL_PORT_RANGE_START and + * UDP_LOCAL_PORT_RANGE_END. + * + * ipaddr & port are expected to be in the same byte order as in the pcb. + * + * @return lwIP error code. + * - ERR_OK. Successful. No error occured. + * - ERR_USE. The specified ipaddr and port are already bound to by + * another UDP PCB. + * + * @see udp_disconnect() + */ +err_t +udp_bind(struct udp_pcb *pcb, struct ip_addr *ipaddr, u16_t port) +{ + struct udp_pcb *ipcb; + u8_t rebind; + + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, ("udp_bind(ipaddr = ")); + ip_addr_debug_print(UDP_DEBUG, ipaddr); + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, (", port = %"U16_F")\n", port)); + + rebind = 0; + /* Check for double bind and rebind of the same pcb */ + for (ipcb = udp_pcbs; ipcb != NULL; ipcb = ipcb->next) { + /* is this UDP PCB already on active list? */ + if (pcb == ipcb) { + /* pcb may occur at most once in active list */ + LWIP_ASSERT("rebind == 0", rebind == 0); + /* pcb already in list, just rebind */ + rebind = 1; + } + + /* this code does not allow upper layer to share a UDP port for + listening to broadcast or multicast traffic (See SO_REUSE_ADDR and + SO_REUSE_PORT under *BSD). TODO: See where it fits instead, OR + combine with implementation of UDP PCB flags. Leon Woestenberg. */ +#ifdef LWIP_UDP_TODO + /* port matches that of PCB in list? */ + else + if ((ipcb->local_port == port) && + /* IP address matches, or one is IP_ADDR_ANY? */ + (ip_addr_isany(&(ipcb->local_ip)) || + ip_addr_isany(ipaddr) || + ip_addr_cmp(&(ipcb->local_ip), ipaddr))) { + /* other PCB already binds to this local IP and port */ + LWIP_DEBUGF(UDP_DEBUG, + ("udp_bind: local port %"U16_F" already bound by another pcb\n", port)); + return ERR_USE; + } +#endif + } + + ip_addr_set(&pcb->local_ip, ipaddr); + + /* no port specified? */ + if (port == 0) { +#ifndef UDP_LOCAL_PORT_RANGE_START +#define UDP_LOCAL_PORT_RANGE_START 4096 +#define UDP_LOCAL_PORT_RANGE_END 0x7fff +#endif + port = UDP_LOCAL_PORT_RANGE_START; + ipcb = udp_pcbs; + while ((ipcb != NULL) && (port != UDP_LOCAL_PORT_RANGE_END)) { + if (ipcb->local_port == port) { + /* port is already used by another udp_pcb */ + port++; + /* restart scanning all udp pcbs */ + ipcb = udp_pcbs; + } else + /* go on with next udp pcb */ + ipcb = ipcb->next; + } + if (ipcb != NULL) { + /* no more ports available in local range */ + LWIP_DEBUGF(UDP_DEBUG, ("udp_bind: out of free UDP ports\n")); + return ERR_USE; + } + } + pcb->local_port = port; + snmp_insert_udpidx_tree(pcb); + /* pcb not active yet? */ + if (rebind == 0) { + /* place the PCB on the active list if not already there */ + pcb->next = udp_pcbs; + udp_pcbs = pcb; + } + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, + ("udp_bind: bound to %"U16_F".%"U16_F".%"U16_F".%"U16_F", port %"U16_F"\n", + (u16_t)((ntohl(pcb->local_ip.addr) >> 24) & 0xff), + (u16_t)((ntohl(pcb->local_ip.addr) >> 16) & 0xff), + (u16_t)((ntohl(pcb->local_ip.addr) >> 8) & 0xff), + (u16_t)(ntohl(pcb->local_ip.addr) & 0xff), pcb->local_port)); + return ERR_OK; +} +/** + * Connect an UDP PCB. + * + * This will associate the UDP PCB with the remote address. + * + * @param pcb UDP PCB to be connected with remote address ipaddr and port. + * @param ipaddr remote IP address to connect with. + * @param port remote UDP port to connect with. + * + * @return lwIP error code + * + * ipaddr & port are expected to be in the same byte order as in the pcb. + * + * The udp pcb is bound to a random local port if not already bound. + * + * @see udp_disconnect() + */ +err_t +udp_connect(struct udp_pcb *pcb, struct ip_addr *ipaddr, u16_t port) +{ + struct udp_pcb *ipcb; + + if (pcb->local_port == 0) { + err_t err = udp_bind(pcb, &pcb->local_ip, pcb->local_port); + if (err != ERR_OK) + return err; + } + + ip_addr_set(&pcb->remote_ip, ipaddr); + pcb->remote_port = port; + pcb->flags |= UDP_FLAGS_CONNECTED; +/** TODO: this functionality belongs in upper layers */ +#ifdef LWIP_UDP_TODO + /* Nail down local IP for netconn_addr()/getsockname() */ + if (ip_addr_isany(&pcb->local_ip) && !ip_addr_isany(&pcb->remote_ip)) { + struct netif *netif; + + if ((netif = ip_route(&(pcb->remote_ip))) == NULL) { + LWIP_DEBUGF(UDP_DEBUG, ("udp_connect: No route to 0x%lx\n", pcb->remote_ip.addr)); + UDP_STATS_INC(udp.rterr); + return ERR_RTE; + } + /** TODO: this will bind the udp pcb locally, to the interface which + is used to route output packets to the remote address. However, we + might want to accept incoming packets on any interface! */ + pcb->local_ip = netif->ip_addr; + } else if (ip_addr_isany(&pcb->remote_ip)) { + pcb->local_ip.addr = 0; + } +#endif + LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, + ("udp_connect: connected to %"U16_F".%"U16_F".%"U16_F".%"U16_F",port %"U16_F"\n", + (u16_t)((ntohl(pcb->remote_ip.addr) >> 24) & 0xff), + (u16_t)((ntohl(pcb->remote_ip.addr) >> 16) & 0xff), + (u16_t)((ntohl(pcb->remote_ip.addr) >> 8) & 0xff), + (u16_t)(ntohl(pcb->remote_ip.addr) & 0xff), pcb->remote_port)); + + /* Insert UDP PCB into the list of active UDP PCBs. */ + for (ipcb = udp_pcbs; ipcb != NULL; ipcb = ipcb->next) { + if (pcb == ipcb) { + /* already on the list, just return */ + return ERR_OK; + } + } + /* PCB not yet on the list, add PCB now */ + pcb->next = udp_pcbs; + udp_pcbs = pcb; + return ERR_OK; +} + +/** + * Disconnect a UDP PCB + * + * @param pcb the udp pcb to disconnect. + */ +void +udp_disconnect(struct udp_pcb *pcb) +{ + /* reset remote address association */ + ip_addr_set(&pcb->remote_ip, IP_ADDR_ANY); + pcb->remote_port = 0; + /* mark PCB as unconnected */ + pcb->flags &= ~UDP_FLAGS_CONNECTED; +} + +/** + * Set a receive callback for a UDP PCB + * + * This callback will be called when receiving a datagram for the pcb. + * + * @param pcb the pcb for wich to set the recv callback + * @param recv function pointer of the callback function + * @param recv_arg additional argument to pass to the callback function + */ +void +udp_recv(struct udp_pcb *pcb, + void (* recv)(void *arg, struct udp_pcb *upcb, struct pbuf *p, + struct ip_addr *addr, u16_t port), + void *recv_arg) +{ + /* remember recv() callback and user data */ + pcb->recv = recv; + pcb->recv_arg = recv_arg; +} + +/** + * Remove an UDP PCB. + * + * @param pcb UDP PCB to be removed. The PCB is removed from the list of + * UDP PCB's and the data structure is freed from memory. + * + * @see udp_new() + */ +void +udp_remove(struct udp_pcb *pcb) +{ + struct udp_pcb *pcb2; + + snmp_delete_udpidx_tree(pcb); + /* pcb to be removed is first in list? */ + if (udp_pcbs == pcb) { + /* make list start at 2nd pcb */ + udp_pcbs = udp_pcbs->next; + /* pcb not 1st in list */ + } else + for (pcb2 = udp_pcbs; pcb2 != NULL; pcb2 = pcb2->next) { + /* find pcb in udp_pcbs list */ + if (pcb2->next != NULL && pcb2->next == pcb) { + /* remove pcb from list */ + pcb2->next = pcb->next; + } + } + memp_free(MEMP_UDP_PCB, pcb); +} + +/** + * Create a UDP PCB. + * + * @return The UDP PCB which was created. NULL if the PCB data structure + * could not be allocated. + * + * @see udp_remove() + */ +struct udp_pcb * +udp_new(void) +{ + struct udp_pcb *pcb; + pcb = memp_malloc(MEMP_UDP_PCB); + /* could allocate UDP PCB? */ + if (pcb != NULL) { + /* UDP Lite: by initializing to all zeroes, chksum_len is set to 0 + * which means checksum is generated over the whole datagram per default + * (recommended as default by RFC 3828). */ + /* initialize PCB to all zeroes */ + memset(pcb, 0, sizeof(struct udp_pcb)); + pcb->ttl = UDP_TTL; + } + return pcb; +} + +#if UDP_DEBUG +/** + * Print UDP header information for debug purposes. + * + * @param udphdr pointer to the udp header in memory. + */ +void +udp_debug_print(struct udp_hdr *udphdr) +{ + LWIP_DEBUGF(UDP_DEBUG, ("UDP header:\n")); + LWIP_DEBUGF(UDP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(UDP_DEBUG, ("| %5"U16_F" | %5"U16_F" | (src port, dest port)\n", + ntohs(udphdr->src), ntohs(udphdr->dest))); + LWIP_DEBUGF(UDP_DEBUG, ("+-------------------------------+\n")); + LWIP_DEBUGF(UDP_DEBUG, ("| %5"U16_F" | 0x%04"X16_F" | (len, chksum)\n", + ntohs(udphdr->len), ntohs(udphdr->chksum))); + LWIP_DEBUGF(UDP_DEBUG, ("+-------------------------------+\n")); +} +#endif /* UDP_DEBUG */ + +#endif /* LWIP_UDP */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/autoip.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/autoip.h new file mode 100644 index 0000000..d5464b7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/autoip.h @@ -0,0 +1,118 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * + * AutoIP Automatic LinkLocal IP Configuration + */ + +/* + * + * Copyright (c) 2007 Dominik Spies <kontakt@dspies.de> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * Author: Dominik Spies <kontakt@dspies.de> + * + * This is a AutoIP implementation for the lwIP TCP/IP stack. It aims to conform + * with RFC 3927. + * + * + * Please coordinate changes and requests with Dominik Spies + * <kontakt@dspies.de> + */ + +#ifndef __LWIP_AUTOIP_H__ +#define __LWIP_AUTOIP_H__ + +#include "lwip/opt.h" + +#if LWIP_AUTOIP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/netif.h" +#include "lwip/udp.h" +#include "netif/etharp.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* AutoIP Timing */ +#define AUTOIP_TMR_INTERVAL 100 +#define AUTOIP_TICKS_PER_SECOND (1000 / AUTOIP_TMR_INTERVAL) + +/* RFC 3927 Constants */ +#define PROBE_WAIT 1 /* second (initial random delay) */ +#define PROBE_MIN 1 /* second (minimum delay till repeated probe) */ +#define PROBE_MAX 2 /* seconds (maximum delay till repeated probe) */ +#define PROBE_NUM 3 /* (number of probe packets) */ +#define ANNOUNCE_NUM 2 /* (number of announcement packets) */ +#define ANNOUNCE_INTERVAL 2 /* seconds (time between announcement packets) */ +#define ANNOUNCE_WAIT 2 /* seconds (delay before announcing) */ +#define MAX_CONFLICTS 10 /* (max conflicts before rate limiting) */ +#define RATE_LIMIT_INTERVAL 60 /* seconds (delay between successive attempts) */ +#define DEFEND_INTERVAL 10 /* seconds (min. wait between defensive ARPs) */ + +/* AutoIP client states */ +#define AUTOIP_STATE_OFF 0 +#define AUTOIP_STATE_PROBING 1 +#define AUTOIP_STATE_ANNOUNCING 2 +#define AUTOIP_STATE_BOUND 3 + +struct autoip +{ + struct ip_addr llipaddr; /* the currently selected, probed, announced or used LL IP-Address */ + u8_t state; /* current AutoIP state machine state */ + u8_t sent_num; /* sent number of probes or announces, dependent on state */ + u16_t ttw; /* ticks to wait, tick is AUTOIP_TMR_INTERVAL long */ + u8_t lastconflict; /* ticks until a conflict can be solved by defending */ + u8_t tried_llipaddr; /* total number of probed/used Link Local IP-Addresses */ +}; + + +/** Init srand, has to be called before entering mainloop */ +void autoip_init(void); + +/** Start AutoIP client */ +err_t autoip_start(struct netif *netif); + +/** Stop AutoIP client */ +err_t autoip_stop(struct netif *netif); + +/** Handles every incoming ARP Packet, called by etharp_arp_input */ +void autoip_arp_reply(struct netif *netif, struct etharp_hdr *hdr); + +/** Has to be called in loop every AUTOIP_TMR_INTERVAL milliseconds */ +void autoip_tmr(void); + +/** Handle a possible change in the network configuration */ +void autoip_network_changed(struct netif *netif); + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_AUTOIP */ + +#endif /* __LWIP_AUTOIP_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/icmp.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/icmp.h new file mode 100644 index 0000000..3f917ba --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/icmp.h @@ -0,0 +1,113 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_ICMP_H__ +#define __LWIP_ICMP_H__ + +#include "lwip/opt.h" +#include "lwip/pbuf.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define ICMP_ER 0 /* echo reply */ +#define ICMP_DUR 3 /* destination unreachable */ +#define ICMP_SQ 4 /* source quench */ +#define ICMP_RD 5 /* redirect */ +#define ICMP_ECHO 8 /* echo */ +#define ICMP_TE 11 /* time exceeded */ +#define ICMP_PP 12 /* parameter problem */ +#define ICMP_TS 13 /* timestamp */ +#define ICMP_TSR 14 /* timestamp reply */ +#define ICMP_IRQ 15 /* information request */ +#define ICMP_IR 16 /* information reply */ + +enum icmp_dur_type { + ICMP_DUR_NET = 0, /* net unreachable */ + ICMP_DUR_HOST = 1, /* host unreachable */ + ICMP_DUR_PROTO = 2, /* protocol unreachable */ + ICMP_DUR_PORT = 3, /* port unreachable */ + ICMP_DUR_FRAG = 4, /* fragmentation needed and DF set */ + ICMP_DUR_SR = 5 /* source route failed */ +}; + +enum icmp_te_type { + ICMP_TE_TTL = 0, /* time to live exceeded in transit */ + ICMP_TE_FRAG = 1 /* fragment reassembly time exceeded */ +}; + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +/** This is the standard ICMP header only that the u32_t data + * is splitted to two u16_t like ICMP echo needs it. + * This header is also used for other ICMP types that do not + * use the data part. + */ +PACK_STRUCT_BEGIN +struct icmp_echo_hdr { + PACK_STRUCT_FIELD(u8_t type); + PACK_STRUCT_FIELD(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u16_t id); + PACK_STRUCT_FIELD(u16_t seqno); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define ICMPH_TYPE(hdr) ((hdr)->type) +#define ICMPH_CODE(hdr) ((hdr)->code) + +/** Combines type and code to an u16_t */ +#define ICMPH_TYPE_SET(hdr, t) ((hdr)->type = (t)) +#define ICMPH_CODE_SET(hdr, c) ((hdr)->code = (c)) + + +#if LWIP_ICMP /* don't build if not configured for use in lwipopts.h */ + +void icmp_input(struct pbuf *p, struct netif *inp); +void icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t); +void icmp_time_exceeded(struct pbuf *p, enum icmp_te_type t); + +#endif /* LWIP_ICMP */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_ICMP_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/igmp.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/igmp.h new file mode 100644 index 0000000..da67e75 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/igmp.h @@ -0,0 +1,164 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2002 CITEL Technologies Ltd. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of CITEL Technologies Ltd nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY CITEL TECHNOLOGIES AND CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL CITEL TECHNOLOGIES OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is a contribution to the lwIP TCP/IP stack. + * The Swedish Institute of Computer Science and Adam Dunkels + * are specifically granted permission to redistribute this + * source code. +*/ + +#ifndef __LWIP_IGMP_H__ +#define __LWIP_IGMP_H__ + +#include "lwip/opt.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" +#include "lwip/pbuf.h" + +#if LWIP_IGMP /* don't build if not configured for use in lwipopts.h */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * IGMP constants + */ +#define IP_PROTO_IGMP 2 +#define IGMP_TTL 1 +#define IGMP_MINLEN 8 +#define ROUTER_ALERT 0x9404 +#define ROUTER_ALERTLEN 4 + +/* + * IGMP message types, including version number. + */ +#define IGMP_MEMB_QUERY 0x11 /* Membership query */ +#define IGMP_V1_MEMB_REPORT 0x12 /* Ver. 1 membership report */ +#define IGMP_V2_MEMB_REPORT 0x16 /* Ver. 2 membership report */ +#define IGMP_LEAVE_GROUP 0x17 /* Leave-group message */ + +/* IGMP timer */ +#define IGMP_TMR_INTERVAL 100 /* Milliseconds */ +#define IGMP_V1_DELAYING_MEMBER_TMR (1000/IGMP_TMR_INTERVAL) +#define IGMP_JOIN_DELAYING_MEMBER_TMR (500 /IGMP_TMR_INTERVAL) + +/* MAC Filter Actions */ +#define IGMP_DEL_MAC_FILTER 0 +#define IGMP_ADD_MAC_FILTER 1 + +/* Group membership states */ +#define IGMP_GROUP_NON_MEMBER 0 +#define IGMP_GROUP_DELAYING_MEMBER 1 +#define IGMP_GROUP_IDLE_MEMBER 2 + +/* + * IGMP packet format. + */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct igmp_msg { + PACK_STRUCT_FIELD(u8_t igmp_msgtype); + PACK_STRUCT_FIELD(u8_t igmp_maxresp); + PACK_STRUCT_FIELD(u16_t igmp_checksum); + PACK_STRUCT_FIELD(struct ip_addr igmp_group_address); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/* + * now a group structure - there is + * a list of groups for each interface + * these should really be linked from the interface, but + * if we keep them separate we will not affect the lwip original code + * too much + * + * There will be a group for the all systems group address but this + * will not run the state machine as it is used to kick off reports + * from all the other groups + */ + +struct igmp_group { + struct igmp_group *next; + struct netif *interface; + struct ip_addr group_address; + u8_t last_reporter_flag; /* signifies we were the last person to report */ + u8_t group_state; + u16_t timer; + u8_t use; /* counter of simultaneous uses */ +}; + + +/* Prototypes */ +void igmp_init(void); + +err_t igmp_start( struct netif *netif); + +err_t igmp_stop( struct netif *netif); + +void igmp_report_groups( struct netif *netif); + +struct igmp_group *igmp_lookfor_group( struct netif *ifp, struct ip_addr *addr); + +struct igmp_group *igmp_lookup_group( struct netif *ifp, struct ip_addr *addr); + +err_t igmp_remove_group( struct igmp_group *group); + +void igmp_input( struct pbuf *p, struct netif *inp, struct ip_addr *dest); + +err_t igmp_joingroup( struct ip_addr *ifaddr, struct ip_addr *groupaddr); + +err_t igmp_leavegroup( struct ip_addr *ifaddr, struct ip_addr *groupaddr); + +void igmp_tmr(void); + +void igmp_timeout( struct igmp_group *group); + +void igmp_start_timer( struct igmp_group *group, u8_t max_time); + +void igmp_stop_timer( struct igmp_group *group); + +void igmp_delaying_member( struct igmp_group *group, u8_t maxresp); + +err_t igmp_ip_output_if( struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, u8_t ttl, u8_t proto, struct netif *netif); + +void igmp_send( struct igmp_group *group, u8_t type); + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_IGMP */ + +#endif /* __LWIP_IGMP_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/inet.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/inet.h new file mode 100644 index 0000000..903afdf --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/inet.h @@ -0,0 +1,105 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_INET_H__ +#define __LWIP_INET_H__ + +#include "lwip/opt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* For compatibility with BSD code */ +struct in_addr { + u32_t s_addr; +}; + +#define INADDR_NONE ((u32_t)0xffffffffUL) /* 255.255.255.255 */ +#define INADDR_LOOPBACK ((u32_t)0x7f000001UL) /* 127.0.0.1 */ +#define INADDR_ANY ((u32_t)0x00000000UL) /* 0.0.0.0 */ +#define INADDR_BROADCAST ((u32_t)0xffffffffUL) /* 255.255.255.255 */ + +u32_t inet_addr(const char *cp); +int inet_aton(const char *cp, struct in_addr *addr); +char *inet_ntoa(struct in_addr addr); /* returns ptr to static buffer; not reentrant! */ + +#ifdef htons +#undef htons +#endif /* htons */ +#ifdef htonl +#undef htonl +#endif /* htonl */ +#ifdef ntohs +#undef ntohs +#endif /* ntohs */ +#ifdef ntohl +#undef ntohl +#endif /* ntohl */ + +#ifndef LWIP_PLATFORM_BYTESWAP +#define LWIP_PLATFORM_BYTESWAP 0 +#endif + +#if BYTE_ORDER == BIG_ENDIAN +#define htons(x) (x) +#define ntohs(x) (x) +#define htonl(x) (x) +#define ntohl(x) (x) +#else /* BYTE_ORDER != BIG_ENDIAN */ +#ifdef LWIP_PREFIX_BYTEORDER_FUNCS +/* workaround for naming collisions on some platforms */ +#define htons lwip_htons +#define ntohs lwip_ntohs +#define htonl lwip_htonl +#define ntohl lwip_ntohl +#endif /* LWIP_PREFIX_BYTEORDER_FUNCS */ +#if LWIP_PLATFORM_BYTESWAP +#define htons(x) LWIP_PLATFORM_HTONS(x) +#define ntohs(x) LWIP_PLATFORM_HTONS(x) +#define htonl(x) LWIP_PLATFORM_HTONL(x) +#define ntohl(x) LWIP_PLATFORM_HTONL(x) +#else /* LWIP_PLATFORM_BYTESWAP */ +u16_t htons(u16_t x); +u16_t ntohs(u16_t x); +u32_t htonl(u32_t x); +u32_t ntohl(u32_t x); +#endif /* LWIP_PLATFORM_BYTESWAP */ + +#endif /* BYTE_ORDER == BIG_ENDIAN */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_INET_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/inet_chksum.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/inet_chksum.h new file mode 100644 index 0000000..6f5b1b6 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/inet_chksum.h @@ -0,0 +1,62 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_INET_CHKSUM_H__ +#define __LWIP_INET_CHKSUM_H__ + +#include "lwip/opt.h" + +#include "lwip/pbuf.h" +#include "lwip/ip_addr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +u16_t inet_chksum(void *dataptr, u16_t len); +u16_t inet_chksum_pbuf(struct pbuf *p); +u16_t inet_chksum_pseudo(struct pbuf *p, + struct ip_addr *src, struct ip_addr *dest, + u8_t proto, u16_t proto_len); +#if LWIP_UDPLITE +u16_t inet_chksum_pseudo_partial(struct pbuf *p, + struct ip_addr *src, struct ip_addr *dest, + u8_t proto, u16_t proto_len, u16_t chksum_len); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_INET_H__ */ + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip.h new file mode 100644 index 0000000..6b2cdee --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip.h @@ -0,0 +1,200 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_IP_H__ +#define __LWIP_IP_H__ + +#include "lwip/opt.h" + +#include "lwip/def.h" +#include "lwip/pbuf.h" +#include "lwip/ip_addr.h" +#include "lwip/err.h" +#include "lwip/netif.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** Currently, the function ip_output_if_opt() is only used with IGMP */ +#define IP_OPTIONS_SEND LWIP_IGMP + +#define IP_HLEN 20 + +#define IP_PROTO_ICMP 1 +#define IP_PROTO_UDP 17 +#define IP_PROTO_UDPLITE 136 +#define IP_PROTO_TCP 6 + +/* This is passed as the destination address to ip_output_if (not + to ip_output), meaning that an IP header already is constructed + in the pbuf. This is used when TCP retransmits. */ +#ifdef IP_HDRINCL +#undef IP_HDRINCL +#endif /* IP_HDRINCL */ +#define IP_HDRINCL NULL + +#if LWIP_NETIF_HWADDRHINT +#define IP_PCB_ADDRHINT ;u8_t addr_hint +#else +#define IP_PCB_ADDRHINT +#endif /* LWIP_NETIF_HWADDRHINT */ + +/* This is the common part of all PCB types. It needs to be at the + beginning of a PCB type definition. It is located here so that + changes to this common part are made in one location instead of + having to change all PCB structs. */ +#define IP_PCB \ + /* ip addresses in network byte order */ \ + struct ip_addr local_ip; \ + struct ip_addr remote_ip; \ + /* Socket options */ \ + u16_t so_options; \ + /* Type Of Service */ \ + u8_t tos; \ + /* Time To Live */ \ + u8_t ttl \ + /* link layer address resolution hint */ \ + IP_PCB_ADDRHINT + +struct ip_pcb { +/* Common members of all PCB types */ + IP_PCB; +}; + +/* + * Option flags per-socket. These are the same like SO_XXX. + */ +#define SOF_DEBUG (u16_t)0x0001U /* turn on debugging info recording */ +#define SOF_ACCEPTCONN (u16_t)0x0002U /* socket has had listen() */ +#define SOF_REUSEADDR (u16_t)0x0004U /* allow local address reuse */ +#define SOF_KEEPALIVE (u16_t)0x0008U /* keep connections alive */ +#define SOF_DONTROUTE (u16_t)0x0010U /* just use interface addresses */ +#define SOF_BROADCAST (u16_t)0x0020U /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */ +#define SOF_USELOOPBACK (u16_t)0x0040U /* bypass hardware when possible */ +#define SOF_LINGER (u16_t)0x0080U /* linger on close if data present */ +#define SOF_OOBINLINE (u16_t)0x0100U /* leave received OOB data in line */ +#define SOF_REUSEPORT (u16_t)0x0200U /* allow local address & port reuse */ + + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip_hdr { + /* version / header length / type of service */ + PACK_STRUCT_FIELD(u16_t _v_hl_tos); + /* total length */ + PACK_STRUCT_FIELD(u16_t _len); + /* identification */ + PACK_STRUCT_FIELD(u16_t _id); + /* fragment offset field */ + PACK_STRUCT_FIELD(u16_t _offset); +#define IP_RF 0x8000 /* reserved fragment flag */ +#define IP_DF 0x4000 /* dont fragment flag */ +#define IP_MF 0x2000 /* more fragments flag */ +#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ + /* time to live / protocol*/ + PACK_STRUCT_FIELD(u16_t _ttl_proto); + /* checksum */ + PACK_STRUCT_FIELD(u16_t _chksum); + /* source and destination IP addresses */ + PACK_STRUCT_FIELD(struct ip_addr src); + PACK_STRUCT_FIELD(struct ip_addr dest); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define IPH_V(hdr) (ntohs((hdr)->_v_hl_tos) >> 12) +#define IPH_HL(hdr) ((ntohs((hdr)->_v_hl_tos) >> 8) & 0x0f) +#define IPH_TOS(hdr) (ntohs((hdr)->_v_hl_tos) & 0xff) +#define IPH_LEN(hdr) ((hdr)->_len) +#define IPH_ID(hdr) ((hdr)->_id) +#define IPH_OFFSET(hdr) ((hdr)->_offset) +#define IPH_TTL(hdr) (ntohs((hdr)->_ttl_proto) >> 8) +#define IPH_PROTO(hdr) (ntohs((hdr)->_ttl_proto) & 0xff) +#define IPH_CHKSUM(hdr) ((hdr)->_chksum) + +#define IPH_VHLTOS_SET(hdr, v, hl, tos) (hdr)->_v_hl_tos = (htons(((v) << 12) | ((hl) << 8) | (tos))) +#define IPH_LEN_SET(hdr, len) (hdr)->_len = (len) +#define IPH_ID_SET(hdr, id) (hdr)->_id = (id) +#define IPH_OFFSET_SET(hdr, off) (hdr)->_offset = (off) +#define IPH_TTL_SET(hdr, ttl) (hdr)->_ttl_proto = (htons(IPH_PROTO(hdr) | ((u16_t)(ttl) << 8))) +#define IPH_PROTO_SET(hdr, proto) (hdr)->_ttl_proto = (htons((proto) | (IPH_TTL(hdr) << 8))) +#define IPH_CHKSUM_SET(hdr, chksum) (hdr)->_chksum = (chksum) + +/** The interface that provided the packet for the current callback invocation. */ +extern struct netif *current_netif; +/** Header of the input packet currently being processed. */ +extern const struct ip_hdr *current_header; + +#define ip_init() /* Compatibility define, not init needed. */ +struct netif *ip_route(struct ip_addr *dest); +err_t ip_input(struct pbuf *p, struct netif *inp); +err_t ip_output(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, + u8_t ttl, u8_t tos, u8_t proto); +err_t ip_output_if(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, + u8_t ttl, u8_t tos, u8_t proto, + struct netif *netif); +#if LWIP_NETIF_HWADDRHINT +err_t ip_output_hinted(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, + u8_t ttl, u8_t tos, u8_t proto, u8_t *addr_hint); +#endif /* LWIP_NETIF_HWADDRHINT */ +#if IP_OPTIONS_SEND +err_t ip_output_if_opt(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, + u8_t ttl, u8_t tos, u8_t proto, struct netif *netif, void *ip_options, + u16_t optlen); +#endif /* IP_OPTIONS_SEND */ +/** Get the interface that received the current packet. + * This function must only be called from a receive callback (udp_recv, + * raw_recv, tcp_accept). It will return NULL otherwise. */ +#define ip_current_netif() (current_netif) +/** Get the IP header of the current packet. + * This function must only be called from a receive callback (udp_recv, + * raw_recv, tcp_accept). It will return NULL otherwise. */ +#define ip_current_header() (current_header) +#if IP_DEBUG +void ip_debug_print(struct pbuf *p); +#else +#define ip_debug_print(p) +#endif /* IP_DEBUG */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_IP_H__ */ + + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip_addr.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip_addr.h new file mode 100644 index 0000000..5fbc44d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip_addr.h @@ -0,0 +1,175 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_IP_ADDR_H__ +#define __LWIP_IP_ADDR_H__ + +#include "lwip/opt.h" + +#include "lwip/inet.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip_addr { + PACK_STRUCT_FIELD(u32_t addr); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/* + * struct ipaddr2 is used in the definition of the ARP packet format in + * order to support compilers that don't have structure packing. + */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip_addr2 { + PACK_STRUCT_FIELD(u16_t addrw[2]); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +struct netif; + +extern const struct ip_addr ip_addr_any; +extern const struct ip_addr ip_addr_broadcast; + +/** IP_ADDR_ can be used as a fixed IP address + * for the wildcard and the broadcast address + */ +#define IP_ADDR_ANY ((struct ip_addr *)&ip_addr_any) +#define IP_ADDR_BROADCAST ((struct ip_addr *)&ip_addr_broadcast) + +/* Definitions of the bits in an Internet address integer. + + On subnets, host and network parts are found according to + the subnet mask, not these masks. */ + +#define IN_CLASSA(a) ((((u32_t)(a)) & 0x80000000UL) == 0) +#define IN_CLASSA_NET 0xff000000 +#define IN_CLASSA_NSHIFT 24 +#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET) +#define IN_CLASSA_MAX 128 + +#define IN_CLASSB(a) ((((u32_t)(a)) & 0xc0000000UL) == 0x80000000UL) +#define IN_CLASSB_NET 0xffff0000 +#define IN_CLASSB_NSHIFT 16 +#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET) +#define IN_CLASSB_MAX 65536 + +#define IN_CLASSC(a) ((((u32_t)(a)) & 0xe0000000UL) == 0xc0000000UL) +#define IN_CLASSC_NET 0xffffff00 +#define IN_CLASSC_NSHIFT 8 +#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET) + +#define IN_CLASSD(a) (((u32_t)(a) & 0xf0000000UL) == 0xe0000000UL) +#define IN_CLASSD_NET 0xf0000000 /* These ones aren't really */ +#define IN_CLASSD_NSHIFT 28 /* net and host fields, but */ +#define IN_CLASSD_HOST 0x0fffffff /* routing needn't know. */ +#define IN_MULTICAST(a) IN_CLASSD(a) + +#define IN_EXPERIMENTAL(a) (((u32_t)(a) & 0xf0000000UL) == 0xf0000000UL) +#define IN_BADCLASS(a) (((u32_t)(a) & 0xf0000000UL) == 0xf0000000UL) + +#define IN_LOOPBACKNET 127 /* official! */ + +#define IP4_ADDR(ipaddr, a,b,c,d) \ + (ipaddr)->addr = htonl(((u32_t)((a) & 0xff) << 24) | \ + ((u32_t)((b) & 0xff) << 16) | \ + ((u32_t)((c) & 0xff) << 8) | \ + (u32_t)((d) & 0xff)) + +#define ip_addr_set(dest, src) (dest)->addr = \ + ((src) == NULL? 0:\ + (src)->addr) +/** + * Determine if two address are on the same network. + * + * @arg addr1 IP address 1 + * @arg addr2 IP address 2 + * @arg mask network identifier mask + * @return !0 if the network identifiers of both address match + */ +#define ip_addr_netcmp(addr1, addr2, mask) (((addr1)->addr & \ + (mask)->addr) == \ + ((addr2)->addr & \ + (mask)->addr)) +#define ip_addr_cmp(addr1, addr2) ((addr1)->addr == (addr2)->addr) + +#define ip_addr_isany(addr1) ((addr1) == NULL || (addr1)->addr == 0) + +u8_t ip_addr_isbroadcast(struct ip_addr *, struct netif *); + +#define ip_addr_ismulticast(addr1) (((addr1)->addr & ntohl(0xf0000000UL)) == ntohl(0xe0000000UL)) + +#define ip_addr_islinklocal(addr1) (((addr1)->addr & ntohl(0xffff0000UL)) == ntohl(0xa9fe0000UL)) + +#define ip_addr_debug_print(debug, ipaddr) \ + LWIP_DEBUGF(debug, ("%"U16_F".%"U16_F".%"U16_F".%"U16_F, \ + ipaddr != NULL ? \ + (u16_t)(ntohl((ipaddr)->addr) >> 24) & 0xff : 0, \ + ipaddr != NULL ? \ + (u16_t)(ntohl((ipaddr)->addr) >> 16) & 0xff : 0, \ + ipaddr != NULL ? \ + (u16_t)(ntohl((ipaddr)->addr) >> 8) & 0xff : 0, \ + ipaddr != NULL ? \ + (u16_t)ntohl((ipaddr)->addr) & 0xff : 0)) + +/* These are cast to u16_t, with the intent that they are often arguments + * to printf using the U16_F format from cc.h. */ +#define ip4_addr1(ipaddr) ((u16_t)(ntohl((ipaddr)->addr) >> 24) & 0xff) +#define ip4_addr2(ipaddr) ((u16_t)(ntohl((ipaddr)->addr) >> 16) & 0xff) +#define ip4_addr3(ipaddr) ((u16_t)(ntohl((ipaddr)->addr) >> 8) & 0xff) +#define ip4_addr4(ipaddr) ((u16_t)(ntohl((ipaddr)->addr)) & 0xff) + +/** + * Same as inet_ntoa() but takes a struct ip_addr* + */ +#define ip_ntoa(addr) ((addr != NULL) ? inet_ntoa(*((struct in_addr*)(addr))) : "NULL") + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_IP_ADDR_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip_frag.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip_frag.h new file mode 100644 index 0000000..adc6e91 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4/lwip/ip_frag.h @@ -0,0 +1,78 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Jani Monoses <jani@iv.ro> + * + */ + +#ifndef __LWIP_IP_FRAG_H__ +#define __LWIP_IP_FRAG_H__ + +#include "lwip/opt.h" +#include "lwip/err.h" +#include "lwip/pbuf.h" +#include "lwip/netif.h" +#include "lwip/ip_addr.h" +#include "lwip/ip.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if IP_REASSEMBLY +/* The IP reassembly timer interval in milliseconds. */ +#define IP_TMR_INTERVAL 1000 + +/* IP reassembly helper struct. + * This is exported because memp needs to know the size. + */ +struct ip_reassdata { + struct ip_reassdata *next; + struct pbuf *p; + struct ip_hdr iphdr; + u16_t datagram_len; + u8_t flags; + u8_t timer; +}; + +void ip_reass_init(void); +void ip_reass_tmr(void); +struct pbuf * ip_reass(struct pbuf *p); +#endif /* IP_REASSEMBLY */ + +#if IP_FRAG +err_t ip_frag(struct pbuf *p, struct netif *netif, struct ip_addr *dest); +#endif /* IP_FRAG */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_IP_FRAG_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/api.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/api.h new file mode 100644 index 0000000..7d2c9e6 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/api.h @@ -0,0 +1,224 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_API_H__ +#define __LWIP_API_H__ + +#include "lwip/opt.h" + +#if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */ + +#include <stddef.h> /* for size_t */ + +#include "lwip/netbuf.h" +#include "lwip/sys.h" +#include "lwip/ip_addr.h" +#include "lwip/err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Throughout this file, IP addresses and port numbers are expected to be in + * the same byte order as in the corresponding pcb. + */ + +/* Flags for netconn_write */ +#define NETCONN_NOFLAG 0x00 +#define NETCONN_NOCOPY 0x00 /* Only for source code compatibility */ +#define NETCONN_COPY 0x01 +#define NETCONN_MORE 0x02 + +/* Helpers to process several netconn_types by the same code */ +#define NETCONNTYPE_GROUP(t) (t&0xF0) +#define NETCONNTYPE_DATAGRAM(t) (t&0xE0) + +enum netconn_type { + NETCONN_INVALID = 0, + /* NETCONN_TCP Group */ + NETCONN_TCP = 0x10, + /* NETCONN_UDP Group */ + NETCONN_UDP = 0x20, + NETCONN_UDPLITE = 0x21, + NETCONN_UDPNOCHKSUM= 0x22, + /* NETCONN_RAW Group */ + NETCONN_RAW = 0x40 +}; + +enum netconn_state { + NETCONN_NONE, + NETCONN_WRITE, + NETCONN_LISTEN, + NETCONN_CONNECT, + NETCONN_CLOSE +}; + +enum netconn_evt { + NETCONN_EVT_RCVPLUS, + NETCONN_EVT_RCVMINUS, + NETCONN_EVT_SENDPLUS, + NETCONN_EVT_SENDMINUS +}; + +#if LWIP_IGMP +enum netconn_igmp { + NETCONN_JOIN, + NETCONN_LEAVE +}; +#endif /* LWIP_IGMP */ + +/* forward-declare some structs to avoid to include their headers */ +struct ip_pcb; +struct tcp_pcb; +struct udp_pcb; +struct raw_pcb; +struct netconn; + +/** A callback prototype to inform about events for a netconn */ +typedef void (* netconn_callback)(struct netconn *, enum netconn_evt, u16_t len); + +/** A netconn descriptor */ +struct netconn { + /** type of the netconn (TCP, UDP or RAW) */ + enum netconn_type type; + /** current state of the netconn */ + enum netconn_state state; + /** the lwIP internal protocol control block */ + union { + struct ip_pcb *ip; + struct tcp_pcb *tcp; + struct udp_pcb *udp; + struct raw_pcb *raw; + } pcb; + /** the last error this netconn had */ + err_t err; + /** sem that is used to synchroneously execute functions in the core context */ + sys_sem_t op_completed; + /** mbox where received packets are stored until they are fetched + by the netconn application thread (can grow quite big) */ + sys_mbox_t recvmbox; + /** mbox where new connections are stored until processed + by the application thread */ + sys_mbox_t acceptmbox; + /** only used for socket layer */ + int socket; +#if LWIP_SO_RCVTIMEO + /** timeout to wait for new data to be received + (or connections to arrive for listening netconns) */ + int recv_timeout; +#endif /* LWIP_SO_RCVTIMEO */ +#if LWIP_SO_RCVBUF + /** maximum amount of bytes queued in recvmbox */ + int recv_bufsize; +#endif /* LWIP_SO_RCVBUF */ + s16_t recv_avail; +#if LWIP_TCP + /** TCP: when data passed to netconn_write doesn't fit into the send buffer, + this temporarily stores the message. */ + struct api_msg_msg *write_msg; + /** TCP: when data passed to netconn_write doesn't fit into the send buffer, + this temporarily stores how much is already sent. */ + size_t write_offset; +#if LWIP_TCPIP_CORE_LOCKING + /** TCP: when data passed to netconn_write doesn't fit into the send buffer, + this temporarily stores whether to wake up the original application task + if data couldn't be sent in the first try. */ + u8_t write_delayed; +#endif /* LWIP_TCPIP_CORE_LOCKING */ +#endif /* LWIP_TCP */ + /** A callback function that is informed about events for this netconn */ + netconn_callback callback; +}; + +/* Register an Network connection event */ +#define API_EVENT(c,e,l) if (c->callback) { \ + (*c->callback)(c, e, l); \ + } + +/* Network connection functions: */ +#define netconn_new(t) netconn_new_with_proto_and_callback(t, 0, NULL) +#define netconn_new_with_callback(t, c) netconn_new_with_proto_and_callback(t, 0, c) +struct +netconn *netconn_new_with_proto_and_callback(enum netconn_type t, u8_t proto, + netconn_callback callback); +err_t netconn_delete (struct netconn *conn); +/** Get the type of a netconn (as enum netconn_type). */ +#define netconn_type(conn) (conn->type) + +err_t netconn_getaddr (struct netconn *conn, + struct ip_addr *addr, + u16_t *port, + u8_t local); +#define netconn_peer(c,i,p) netconn_getaddr(c,i,p,0) +#define netconn_addr(c,i,p) netconn_getaddr(c,i,p,1) + +err_t netconn_bind (struct netconn *conn, + struct ip_addr *addr, + u16_t port); +err_t netconn_connect (struct netconn *conn, + struct ip_addr *addr, + u16_t port); +err_t netconn_disconnect (struct netconn *conn); +err_t netconn_listen_with_backlog(struct netconn *conn, u8_t backlog); +#define netconn_listen(conn) netconn_listen_with_backlog(conn, TCP_DEFAULT_LISTEN_BACKLOG) +struct netconn * netconn_accept (struct netconn *conn); +struct netbuf * netconn_recv (struct netconn *conn); +err_t netconn_sendto (struct netconn *conn, + struct netbuf *buf, struct ip_addr *addr, u16_t port); +err_t netconn_send (struct netconn *conn, + struct netbuf *buf); +err_t netconn_write (struct netconn *conn, + const void *dataptr, size_t size, + u8_t apiflags); +err_t netconn_close (struct netconn *conn); + +#if LWIP_IGMP +err_t netconn_join_leave_group (struct netconn *conn, + struct ip_addr *multiaddr, + struct ip_addr *interface, + enum netconn_igmp join_or_leave); +#endif /* LWIP_IGMP */ +#if LWIP_DNS +err_t netconn_gethostbyname(const char *name, struct ip_addr *addr); +#endif /* LWIP_DNS */ + +#define netconn_err(conn) ((conn)->err) +#define netconn_recv_bufsize(conn) ((conn)->recv_bufsize) + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_NETCONN */ + +#endif /* __LWIP_API_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/api_msg.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/api_msg.h new file mode 100644 index 0000000..7718d90 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/api_msg.h @@ -0,0 +1,164 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_API_MSG_H__ +#define __LWIP_API_MSG_H__ + +#include "lwip/opt.h" + +#if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */ + +#include <stddef.h> /* for size_t */ + +#include "lwip/ip_addr.h" +#include "lwip/err.h" +#include "lwip/sys.h" +#include "lwip/igmp.h" +#include "lwip/api.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* IP addresses and port numbers are expected to be in + * the same byte order as in the corresponding pcb. + */ +/** This struct includes everything that is necessary to execute a function + for a netconn in another thread context (mainly used to process netconns + in the tcpip_thread context to be thread safe). */ +struct api_msg_msg { + /** The netconn which to process - always needed: it includes the semaphore + which is used to block the application thread until the function finished. */ + struct netconn *conn; + /** Depending on the executed function, one of these union members is used */ + union { + /** used for do_send */ + struct netbuf *b; + /** used for do_newconn */ + struct { + u8_t proto; + } n; + /** used for do_bind and do_connect */ + struct { + struct ip_addr *ipaddr; + u16_t port; + } bc; + /** used for do_getaddr */ + struct { + struct ip_addr *ipaddr; + u16_t *port; + u8_t local; + } ad; + /** used for do_write */ + struct { + const void *dataptr; + size_t len; + u8_t apiflags; + } w; + /** used for do_recv */ + struct { + u16_t len; + } r; +#if LWIP_IGMP + /** used for do_join_leave_group */ + struct { + struct ip_addr *multiaddr; + struct ip_addr *interface; + enum netconn_igmp join_or_leave; + } jl; +#endif /* LWIP_IGMP */ +#if TCP_LISTEN_BACKLOG + struct { + u8_t backlog; + } lb; +#endif /* TCP_LISTEN_BACKLOG */ + } msg; +}; + +/** This struct contains a function to execute in another thread context and + a struct api_msg_msg that serves as an argument for this function. + This is passed to tcpip_apimsg to execute functions in tcpip_thread context. */ +struct api_msg { + /** function to execute in tcpip_thread context */ + void (* function)(struct api_msg_msg *msg); + /** arguments for this function */ + struct api_msg_msg msg; +}; + +#if LWIP_DNS +/** As do_gethostbyname requires more arguments but doesn't require a netconn, + it has its own struct (to avoid struct api_msg getting bigger than necessary). + do_gethostbyname must be called using tcpip_callback instead of tcpip_apimsg + (see netconn_gethostbyname). */ +struct dns_api_msg { + /** Hostname to query or dotted IP address string */ + const char *name; + /** Rhe resolved address is stored here */ + struct ip_addr *addr; + /** This semaphore is posted when the name is resolved, the application thread + should wait on it. */ + sys_sem_t sem; + /** Errors are given back here */ + err_t *err; +}; +#endif /* LWIP_DNS */ + +void do_newconn ( struct api_msg_msg *msg); +void do_delconn ( struct api_msg_msg *msg); +void do_bind ( struct api_msg_msg *msg); +void do_connect ( struct api_msg_msg *msg); +void do_disconnect ( struct api_msg_msg *msg); +void do_listen ( struct api_msg_msg *msg); +void do_send ( struct api_msg_msg *msg); +void do_recv ( struct api_msg_msg *msg); +void do_write ( struct api_msg_msg *msg); +void do_getaddr ( struct api_msg_msg *msg); +void do_close ( struct api_msg_msg *msg); +#if LWIP_IGMP +void do_join_leave_group( struct api_msg_msg *msg); +#endif /* LWIP_IGMP */ + +#if LWIP_DNS +void do_gethostbyname(void *arg); +#endif /* LWIP_DNS */ + +struct netconn* netconn_alloc(enum netconn_type t, netconn_callback callback); +void netconn_free(struct netconn *conn); + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_NETCONN */ + +#endif /* __LWIP_API_MSG_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/arch.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/arch.h new file mode 100644 index 0000000..5ab190a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/arch.h @@ -0,0 +1,235 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_ARCH_H__ +#define __LWIP_ARCH_H__ + +#ifndef LITTLE_ENDIAN +#define LITTLE_ENDIAN 1234 +#endif + +#ifndef BIG_ENDIAN +#define BIG_ENDIAN 4321 +#endif + +#include "arch/cc.h" + +/** Temporary: define format string for size_t if not defined in cc.h */ +#ifndef SZT_F +#define SZT_F U32_F +#endif /* SZT_F */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef PACK_STRUCT_BEGIN +#define PACK_STRUCT_BEGIN +#endif /* PACK_STRUCT_BEGIN */ + +#ifndef PACK_STRUCT_END +#define PACK_STRUCT_END +#endif /* PACK_STRUCT_END */ + +#ifndef PACK_STRUCT_FIELD +#define PACK_STRUCT_FIELD(x) x +#endif /* PACK_STRUCT_FIELD */ + + +#ifndef LWIP_UNUSED_ARG +#define LWIP_UNUSED_ARG(x) (void)x +#endif /* LWIP_UNUSED_ARG */ + + +#ifdef LWIP_PROVIDE_ERRNO + +#define EPERM 1 /* Operation not permitted */ +#define ENOENT 2 /* No such file or directory */ +#define ESRCH 3 /* No such process */ +#define EINTR 4 /* Interrupted system call */ +#define EIO 5 /* I/O error */ +#define ENXIO 6 /* No such device or address */ +#define E2BIG 7 /* Arg list too long */ +#define ENOEXEC 8 /* Exec format error */ +#define EBADF 9 /* Bad file number */ +#define ECHILD 10 /* No child processes */ +#define EAGAIN 11 /* Try again */ +#define ENOMEM 12 /* Out of memory */ +#define EACCES 13 /* Permission denied */ +#define EFAULT 14 /* Bad address */ +#define ENOTBLK 15 /* Block device required */ +#define EBUSY 16 /* Device or resource busy */ +#define EEXIST 17 /* File exists */ +#define EXDEV 18 /* Cross-device link */ +#define ENODEV 19 /* No such device */ +#define ENOTDIR 20 /* Not a directory */ +#define EISDIR 21 /* Is a directory */ +#define EINVAL 22 /* Invalid argument */ +#define ENFILE 23 /* File table overflow */ +#define EMFILE 24 /* Too many open files */ +#define ENOTTY 25 /* Not a typewriter */ +#define ETXTBSY 26 /* Text file busy */ +#define EFBIG 27 /* File too large */ +#define ENOSPC 28 /* No space left on device */ +#define ESPIPE 29 /* Illegal seek */ +#define EROFS 30 /* Read-only file system */ +#define EMLINK 31 /* Too many links */ +#define EPIPE 32 /* Broken pipe */ +#define EDOM 33 /* Math argument out of domain of func */ +#define ERANGE 34 /* Math result not representable */ +#define EDEADLK 35 /* Resource deadlock would occur */ +#define ENAMETOOLONG 36 /* File name too long */ +#define ENOLCK 37 /* No record locks available */ +#define ENOSYS 38 /* Function not implemented */ +#define ENOTEMPTY 39 /* Directory not empty */ +#define ELOOP 40 /* Too many symbolic links encountered */ +#define EWOULDBLOCK EAGAIN /* Operation would block */ +#define ENOMSG 42 /* No message of desired type */ +#define EIDRM 43 /* Identifier removed */ +#define ECHRNG 44 /* Channel number out of range */ +#define EL2NSYNC 45 /* Level 2 not synchronized */ +#define EL3HLT 46 /* Level 3 halted */ +#define EL3RST 47 /* Level 3 reset */ +#define ELNRNG 48 /* Link number out of range */ +#define EUNATCH 49 /* Protocol driver not attached */ +#define ENOCSI 50 /* No CSI structure available */ +#define EL2HLT 51 /* Level 2 halted */ +#define EBADE 52 /* Invalid exchange */ +#define EBADR 53 /* Invalid request descriptor */ +#define EXFULL 54 /* Exchange full */ +#define ENOANO 55 /* No anode */ +#define EBADRQC 56 /* Invalid request code */ +#define EBADSLT 57 /* Invalid slot */ + +#define EDEADLOCK EDEADLK + +#define EBFONT 59 /* Bad font file format */ +#define ENOSTR 60 /* Device not a stream */ +#define ENODATA 61 /* No data available */ +#define ETIME 62 /* Timer expired */ +#define ENOSR 63 /* Out of streams resources */ +#define ENONET 64 /* Machine is not on the network */ +#define ENOPKG 65 /* Package not installed */ +#define EREMOTE 66 /* Object is remote */ +#define ENOLINK 67 /* Link has been severed */ +#define EADV 68 /* Advertise error */ +#define ESRMNT 69 /* Srmount error */ +#define ECOMM 70 /* Communication error on send */ +#define EPROTO 71 /* Protocol error */ +#define EMULTIHOP 72 /* Multihop attempted */ +#define EDOTDOT 73 /* RFS specific error */ +#define EBADMSG 74 /* Not a data message */ +#define EOVERFLOW 75 /* Value too large for defined data type */ +#define ENOTUNIQ 76 /* Name not unique on network */ +#define EBADFD 77 /* File descriptor in bad state */ +#define EREMCHG 78 /* Remote address changed */ +#define ELIBACC 79 /* Can not access a needed shared library */ +#define ELIBBAD 80 /* Accessing a corrupted shared library */ +#define ELIBSCN 81 /* .lib section in a.out corrupted */ +#define ELIBMAX 82 /* Attempting to link in too many shared libraries */ +#define ELIBEXEC 83 /* Cannot exec a shared library directly */ +#define EILSEQ 84 /* Illegal byte sequence */ +#define ERESTART 85 /* Interrupted system call should be restarted */ +#define ESTRPIPE 86 /* Streams pipe error */ +#define EUSERS 87 /* Too many users */ +#define ENOTSOCK 88 /* Socket operation on non-socket */ +#define EDESTADDRREQ 89 /* Destination address required */ +#define EMSGSIZE 90 /* Message too long */ +#define EPROTOTYPE 91 /* Protocol wrong type for socket */ +#define ENOPROTOOPT 92 /* Protocol not available */ +#define EPROTONOSUPPORT 93 /* Protocol not supported */ +#define ESOCKTNOSUPPORT 94 /* Socket type not supported */ +#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ +#define EPFNOSUPPORT 96 /* Protocol family not supported */ +#define EAFNOSUPPORT 97 /* Address family not supported by protocol */ +#define EADDRINUSE 98 /* Address already in use */ +#define EADDRNOTAVAIL 99 /* Cannot assign requested address */ +#define ENETDOWN 100 /* Network is down */ +#define ENETUNREACH 101 /* Network is unreachable */ +#define ENETRESET 102 /* Network dropped connection because of reset */ +#define ECONNABORTED 103 /* Software caused connection abort */ +#define ECONNRESET 104 /* Connection reset by peer */ +#define ENOBUFS 105 /* No buffer space available */ +#define EISCONN 106 /* Transport endpoint is already connected */ +#define ENOTCONN 107 /* Transport endpoint is not connected */ +#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ +#define ETOOMANYREFS 109 /* Too many references: cannot splice */ +#define ETIMEDOUT 110 /* Connection timed out */ +#define ECONNREFUSED 111 /* Connection refused */ +#define EHOSTDOWN 112 /* Host is down */ +#define EHOSTUNREACH 113 /* No route to host */ +#define EALREADY 114 /* Operation already in progress */ +#define EINPROGRESS 115 /* Operation now in progress */ +#define ESTALE 116 /* Stale NFS file handle */ +#define EUCLEAN 117 /* Structure needs cleaning */ +#define ENOTNAM 118 /* Not a XENIX named type file */ +#define ENAVAIL 119 /* No XENIX semaphores available */ +#define EISNAM 120 /* Is a named type file */ +#define EREMOTEIO 121 /* Remote I/O error */ +#define EDQUOT 122 /* Quota exceeded */ + +#define ENOMEDIUM 123 /* No medium found */ +#define EMEDIUMTYPE 124 /* Wrong medium type */ + + +#define ENSROK 0 /* DNS server returned answer with no data */ +#define ENSRNODATA 160 /* DNS server returned answer with no data */ +#define ENSRFORMERR 161 /* DNS server claims query was misformatted */ +#define ENSRSERVFAIL 162 /* DNS server returned general failure */ +#define ENSRNOTFOUND 163 /* Domain name not found */ +#define ENSRNOTIMP 164 /* DNS server does not implement requested operation */ +#define ENSRREFUSED 165 /* DNS server refused query */ +#define ENSRBADQUERY 166 /* Misformatted DNS query */ +#define ENSRBADNAME 167 /* Misformatted domain name */ +#define ENSRBADFAMILY 168 /* Unsupported address family */ +#define ENSRBADRESP 169 /* Misformatted DNS reply */ +#define ENSRCONNREFUSED 170 /* Could not contact DNS servers */ +#define ENSRTIMEOUT 171 /* Timeout while contacting DNS servers */ +#define ENSROF 172 /* End of file */ +#define ENSRFILE 173 /* Error reading file */ +#define ENSRNOMEM 174 /* Out of memory */ +#define ENSRDESTRUCTION 175 /* Application terminated lookup */ +#define ENSRQUERYDOMAINTOOLONG 176 /* Domain name is too long */ +#define ENSRCNAMELOOP 177 /* Domain name is too long */ + +#ifndef errno +extern int errno; +#endif + +#endif /* LWIP_PROVIDE_ERRNO */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_ARCH_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/debug.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/debug.h new file mode 100644 index 0000000..fb07607 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/debug.h @@ -0,0 +1,100 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_DEBUG_H__ +#define __LWIP_DEBUG_H__ + +#include "lwip/arch.h" + +/** lower two bits indicate debug level + * - 0 all + * - 1 warning + * - 2 serious + * - 3 severe + */ +#define LWIP_DBG_LEVEL_ALL 0x00 +#define LWIP_DBG_LEVEL_OFF LWIP_DBG_LEVEL_ALL /* compatibility define only */ +#define LWIP_DBG_LEVEL_WARNING 0x01 /* bad checksums, dropped packets, ... */ +#define LWIP_DBG_LEVEL_SERIOUS 0x02 /* memory allocation failures, ... */ +#define LWIP_DBG_LEVEL_SEVERE 0x03 +#define LWIP_DBG_MASK_LEVEL 0x03 + +/** flag for LWIP_DEBUGF to enable that debug message */ +#define LWIP_DBG_ON 0x80U +/** flag for LWIP_DEBUGF to disable that debug message */ +#define LWIP_DBG_OFF 0x00U + +/** flag for LWIP_DEBUGF indicating a tracing message (to follow program flow) */ +#define LWIP_DBG_TRACE 0x40U +/** flag for LWIP_DEBUGF indicating a state debug message (to follow module states) */ +#define LWIP_DBG_STATE 0x20U +/** flag for LWIP_DEBUGF indicating newly added code, not thoroughly tested yet */ +#define LWIP_DBG_FRESH 0x10U +/** flag for LWIP_DEBUGF to halt after printing this debug message */ +#define LWIP_DBG_HALT 0x08U + +#ifndef LWIP_NOASSERT +#define LWIP_ASSERT(message, assertion) do { if(!(assertion)) \ + LWIP_PLATFORM_ASSERT(message); } while(0) +#else /* LWIP_NOASSERT */ +#define LWIP_ASSERT(message, assertion) +#endif /* LWIP_NOASSERT */ + +/** if "expression" isn't true, then print "message" and execute "handler" expression */ +#ifndef LWIP_ERROR +#define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \ + LWIP_PLATFORM_ASSERT(message); handler;}} while(0) +#endif /* LWIP_ERROR */ + +#ifdef LWIP_DEBUG +/** print debug message only if debug message type is enabled... + * AND is of correct type AND is at least LWIP_DBG_LEVEL + */ +#define LWIP_DEBUGF(debug, message) do { \ + if ( \ + ((debug) & LWIP_DBG_ON) && \ + ((debug) & LWIP_DBG_TYPES_ON) && \ + ((s16_t)((debug) & LWIP_DBG_MASK_LEVEL) >= LWIP_DBG_MIN_LEVEL)) { \ + LWIP_PLATFORM_DIAG(message); \ + if ((debug) & LWIP_DBG_HALT) { \ + while(1); \ + } \ + } \ + } while(0) + +#else /* LWIP_DEBUG */ +#define LWIP_DEBUGF(debug, message) +#endif /* LWIP_DEBUG */ + +#endif /* __LWIP_DEBUG_H__ */ + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/def.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/def.h new file mode 100644 index 0000000..c3681ac --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/def.h @@ -0,0 +1,49 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_DEF_H__ +#define __LWIP_DEF_H__ + +/* this might define NULL already */ +#include "lwip/arch.h" + +#define LWIP_MAX(x , y) (((x) > (y)) ? (x) : (y)) +#define LWIP_MIN(x , y) (((x) < (y)) ? (x) : (y)) + +#ifndef NULL +#define NULL ((void *)0) +#endif + + +#endif /* __LWIP_DEF_H__ */ + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/dhcp.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/dhcp.h new file mode 100644 index 0000000..27a0ade --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/dhcp.h @@ -0,0 +1,248 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** @file + */ + +#ifndef __LWIP_DHCP_H__ +#define __LWIP_DHCP_H__ + +#include "lwip/opt.h" + +#if LWIP_DHCP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/netif.h" +#include "lwip/udp.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** period (in seconds) of the application calling dhcp_coarse_tmr() */ +#define DHCP_COARSE_TIMER_SECS 60 +/** period (in milliseconds) of the application calling dhcp_coarse_tmr() */ +#define DHCP_COARSE_TIMER_MSECS (DHCP_COARSE_TIMER_SECS * 1000UL) +/** period (in milliseconds) of the application calling dhcp_fine_tmr() */ +#define DHCP_FINE_TIMER_MSECS 500 + +struct dhcp +{ + /** transaction identifier of last sent request */ + u32_t xid; + /** our connection to the DHCP server */ + struct udp_pcb *pcb; + /** incoming msg */ + struct dhcp_msg *msg_in; + /** incoming msg options */ + void *options_in; + /** ingoing msg options length */ + u16_t options_in_len; + /** current DHCP state machine state */ + u8_t state; + /** retries of current request */ + u8_t tries; + + struct pbuf *p_out; /* pbuf of outcoming msg */ + struct dhcp_msg *msg_out; /* outgoing msg */ + u16_t options_out_len; /* outgoing msg options length */ + u16_t request_timeout; /* #ticks with period DHCP_FINE_TIMER_SECS for request timeout */ + u16_t t1_timeout; /* #ticks with period DHCP_COARSE_TIMER_SECS for renewal time */ + u16_t t2_timeout; /* #ticks with period DHCP_COARSE_TIMER_SECS for rebind time */ + struct ip_addr server_ip_addr; /* dhcp server address that offered this lease */ + struct ip_addr offered_ip_addr; + struct ip_addr offered_sn_mask; + struct ip_addr offered_gw_addr; + struct ip_addr offered_bc_addr; +#define DHCP_MAX_DNS 2 + u32_t dns_count; /* actual number of DNS servers obtained */ + struct ip_addr offered_dns_addr[DHCP_MAX_DNS]; /* DNS server addresses */ + + u32_t offered_t0_lease; /* lease period (in seconds) */ + u32_t offered_t1_renew; /* recommended renew time (usually 50% of lease period) */ + u32_t offered_t2_rebind; /* recommended rebind time (usually 66% of lease period) */ +#if LWIP_DHCP_AUTOIP_COOP + u8_t autoip_coop_state; +#endif +/** Patch #1308 + * TODO: See dhcp.c "TODO"s + */ +#if 0 + struct ip_addr offered_si_addr; + u8_t *boot_file_name; +#endif +}; + +/* MUST be compiled with "pack structs" or equivalent! */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** minimum set of fields of any DHCP message */ +struct dhcp_msg +{ + PACK_STRUCT_FIELD(u8_t op); + PACK_STRUCT_FIELD(u8_t htype); + PACK_STRUCT_FIELD(u8_t hlen); + PACK_STRUCT_FIELD(u8_t hops); + PACK_STRUCT_FIELD(u32_t xid); + PACK_STRUCT_FIELD(u16_t secs); + PACK_STRUCT_FIELD(u16_t flags); + PACK_STRUCT_FIELD(struct ip_addr ciaddr); + PACK_STRUCT_FIELD(struct ip_addr yiaddr); + PACK_STRUCT_FIELD(struct ip_addr siaddr); + PACK_STRUCT_FIELD(struct ip_addr giaddr); +#define DHCP_CHADDR_LEN 16U + PACK_STRUCT_FIELD(u8_t chaddr[DHCP_CHADDR_LEN]); +#define DHCP_SNAME_LEN 64U + PACK_STRUCT_FIELD(u8_t sname[DHCP_SNAME_LEN]); +#define DHCP_FILE_LEN 128U + PACK_STRUCT_FIELD(u8_t file[DHCP_FILE_LEN]); + PACK_STRUCT_FIELD(u32_t cookie); +#define DHCP_MIN_OPTIONS_LEN 68U +/** make sure user does not configure this too small */ +#if ((defined(DHCP_OPTIONS_LEN)) && (DHCP_OPTIONS_LEN < DHCP_MIN_OPTIONS_LEN)) +# undef DHCP_OPTIONS_LEN +#endif +/** allow this to be configured in lwipopts.h, but not too small */ +#if (!defined(DHCP_OPTIONS_LEN)) +/** set this to be sufficient for your options in outgoing DHCP msgs */ +# define DHCP_OPTIONS_LEN DHCP_MIN_OPTIONS_LEN +#endif + PACK_STRUCT_FIELD(u8_t options[DHCP_OPTIONS_LEN]); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** start DHCP configuration */ +err_t dhcp_start(struct netif *netif); +/** enforce early lease renewal (not needed normally)*/ +err_t dhcp_renew(struct netif *netif); +/** release the DHCP lease, usually called before dhcp_stop()*/ +err_t dhcp_release(struct netif *netif); +/** stop DHCP configuration */ +void dhcp_stop(struct netif *netif); +/** inform server of our manual IP address */ +void dhcp_inform(struct netif *netif); +/** Handle a possible change in the network configuration */ +void dhcp_network_changed(struct netif *netif); + +/** if enabled, check whether the offered IP address is not in use, using ARP */ +#if DHCP_DOES_ARP_CHECK +void dhcp_arp_reply(struct netif *netif, struct ip_addr *addr); +#endif + +/** to be called every minute */ +void dhcp_coarse_tmr(void); +/** to be called every half second */ +void dhcp_fine_tmr(void); + +/** DHCP message item offsets and length */ +#define DHCP_MSG_OFS (UDP_DATA_OFS) + #define DHCP_OP_OFS (DHCP_MSG_OFS + 0) + #define DHCP_HTYPE_OFS (DHCP_MSG_OFS + 1) + #define DHCP_HLEN_OFS (DHCP_MSG_OFS + 2) + #define DHCP_HOPS_OFS (DHCP_MSG_OFS + 3) + #define DHCP_XID_OFS (DHCP_MSG_OFS + 4) + #define DHCP_SECS_OFS (DHCP_MSG_OFS + 8) + #define DHCP_FLAGS_OFS (DHCP_MSG_OFS + 10) + #define DHCP_CIADDR_OFS (DHCP_MSG_OFS + 12) + #define DHCP_YIADDR_OFS (DHCP_MSG_OFS + 16) + #define DHCP_SIADDR_OFS (DHCP_MSG_OFS + 20) + #define DHCP_GIADDR_OFS (DHCP_MSG_OFS + 24) + #define DHCP_CHADDR_OFS (DHCP_MSG_OFS + 28) + #define DHCP_SNAME_OFS (DHCP_MSG_OFS + 44) + #define DHCP_FILE_OFS (DHCP_MSG_OFS + 108) +#define DHCP_MSG_LEN 236 + +#define DHCP_COOKIE_OFS (DHCP_MSG_OFS + DHCP_MSG_LEN) +#define DHCP_OPTIONS_OFS (DHCP_MSG_OFS + DHCP_MSG_LEN + 4) + +#define DHCP_CLIENT_PORT 68 +#define DHCP_SERVER_PORT 67 + +/** DHCP client states */ +#define DHCP_REQUESTING 1 +#define DHCP_INIT 2 +#define DHCP_REBOOTING 3 +#define DHCP_REBINDING 4 +#define DHCP_RENEWING 5 +#define DHCP_SELECTING 6 +#define DHCP_INFORMING 7 +#define DHCP_CHECKING 8 +#define DHCP_PERMANENT 9 +#define DHCP_BOUND 10 +/** not yet implemented #define DHCP_RELEASING 11 */ +#define DHCP_BACKING_OFF 12 +#define DHCP_OFF 13 + +/** AUTOIP cooperatation flags */ +#define DHCP_AUTOIP_COOP_STATE_OFF 0 +#define DHCP_AUTOIP_COOP_STATE_ON 1 + +#define DHCP_BOOTREQUEST 1 +#define DHCP_BOOTREPLY 2 + +#define DHCP_DISCOVER 1 +#define DHCP_OFFER 2 +#define DHCP_REQUEST 3 +#define DHCP_DECLINE 4 +#define DHCP_ACK 5 +#define DHCP_NAK 6 +#define DHCP_RELEASE 7 +#define DHCP_INFORM 8 + +#define DHCP_HTYPE_ETH 1 + +#define DHCP_HLEN_ETH 6 + +#define DHCP_BROADCAST_FLAG 15 +#define DHCP_BROADCAST_MASK (1 << DHCP_FLAG_BROADCAST) + +/** BootP options */ +#define DHCP_OPTION_PAD 0 +#define DHCP_OPTION_SUBNET_MASK 1 /* RFC 2132 3.3 */ +#define DHCP_OPTION_ROUTER 3 +#define DHCP_OPTION_DNS_SERVER 6 +#define DHCP_OPTION_HOSTNAME 12 +#define DHCP_OPTION_IP_TTL 23 +#define DHCP_OPTION_MTU 26 +#define DHCP_OPTION_BROADCAST 28 +#define DHCP_OPTION_TCP_TTL 37 +#define DHCP_OPTION_END 255 + +/** DHCP options */ +#define DHCP_OPTION_REQUESTED_IP 50 /* RFC 2132 9.1, requested IP address */ +#define DHCP_OPTION_LEASE_TIME 51 /* RFC 2132 9.2, time in seconds, in 4 bytes */ +#define DHCP_OPTION_OVERLOAD 52 /* RFC2132 9.3, use file and/or sname field for options */ + +#define DHCP_OPTION_MESSAGE_TYPE 53 /* RFC 2132 9.6, important for DHCP */ +#define DHCP_OPTION_MESSAGE_TYPE_LEN 1 + + +#define DHCP_OPTION_SERVER_ID 54 /* RFC 2132 9.7, server IP address */ +#define DHCP_OPTION_PARAMETER_REQUEST_LIST 55 /* RFC 2132 9.8, requested option types */ + +#define DHCP_OPTION_MAX_MSG_SIZE 57 /* RFC 2132 9.10, message size accepted >= 576 */ +#define DHCP_OPTION_MAX_MSG_SIZE_LEN 2 + +#define DHCP_OPTION_T1 58 /* T1 renewal time */ +#define DHCP_OPTION_T2 59 /* T2 rebinding time */ +#define DHCP_OPTION_US 60 +#define DHCP_OPTION_CLIENT_ID 61 +#define DHCP_OPTION_TFTP_SERVERNAME 66 +#define DHCP_OPTION_BOOTFILE 67 + +/** possible combinations of overloading the file and sname fields with options */ +#define DHCP_OVERLOAD_NONE 0 +#define DHCP_OVERLOAD_FILE 1 +#define DHCP_OVERLOAD_SNAME 2 +#define DHCP_OVERLOAD_SNAME_FILE 3 + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_DHCP */ + +#endif /*__LWIP_DHCP_H__*/ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/dns.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/dns.h new file mode 100644 index 0000000..c1b8ae0 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/dns.h @@ -0,0 +1,99 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * lwip DNS resolver header file. + + * Author: Jim Pettinato + * April 2007 + + * ported from uIP resolv.c Copyright (c) 2002-2003, Adam Dunkels. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __LWIP_DNS_H__ +#define __LWIP_DNS_H__ + +#include "lwip/opt.h" + +#if LWIP_DNS /* don't build if not configured for use in lwipopts.h */ + +/** DNS timer period */ +#define DNS_TMR_INTERVAL 1000 + +/** DNS field TYPE used for "Resource Records" */ +#define DNS_RRTYPE_A 1 /* a host address */ +#define DNS_RRTYPE_NS 2 /* an authoritative name server */ +#define DNS_RRTYPE_MD 3 /* a mail destination (Obsolete - use MX) */ +#define DNS_RRTYPE_MF 4 /* a mail forwarder (Obsolete - use MX) */ +#define DNS_RRTYPE_CNAME 5 /* the canonical name for an alias */ +#define DNS_RRTYPE_SOA 6 /* marks the start of a zone of authority */ +#define DNS_RRTYPE_MB 7 /* a mailbox domain name (EXPERIMENTAL) */ +#define DNS_RRTYPE_MG 8 /* a mail group member (EXPERIMENTAL) */ +#define DNS_RRTYPE_MR 9 /* a mail rename domain name (EXPERIMENTAL) */ +#define DNS_RRTYPE_NULL 10 /* a null RR (EXPERIMENTAL) */ +#define DNS_RRTYPE_WKS 11 /* a well known service description */ +#define DNS_RRTYPE_PTR 12 /* a domain name pointer */ +#define DNS_RRTYPE_HINFO 13 /* host information */ +#define DNS_RRTYPE_MINFO 14 /* mailbox or mail list information */ +#define DNS_RRTYPE_MX 15 /* mail exchange */ +#define DNS_RRTYPE_TXT 16 /* text strings */ + +/** DNS field CLASS used for "Resource Records" */ +#define DNS_RRCLASS_IN 1 /* the Internet */ +#define DNS_RRCLASS_CS 2 /* the CSNET class (Obsolete - used only for examples in some obsolete RFCs) */ +#define DNS_RRCLASS_CH 3 /* the CHAOS class */ +#define DNS_RRCLASS_HS 4 /* Hesiod [Dyer 87] */ +#define DNS_RRCLASS_FLUSH 0x800 /* Flush bit */ + +/** Callback which is invoked when a hostname is found. + * A function of this type must be implemented by the application using the DNS resolver. + * @param name pointer to the name that was looked up. + * @param ipaddr pointer to a struct ip_addr containing the IP address of the hostname, + * or NULL if the name could not be found (or on any other error). + * @param callback_arg a user-specified callback argument passed to dns_gethostbyname +*/ +typedef void (*dns_found_callback)(const char *name, struct ip_addr *ipaddr, void *callback_arg); + + +void dns_init(void); + +void dns_tmr(void); + +void dns_setserver(u8_t numdns, struct ip_addr *dnsserver); + +struct ip_addr dns_getserver(u8_t numdns); + +err_t dns_gethostbyname(const char *hostname, struct ip_addr *addr, + dns_found_callback found, void *callback_arg); + +#if DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC +int dns_local_removehost(const char *hostname, const struct ip_addr *addr); +err_t dns_local_addhost(const char *hostname, const struct ip_addr *addr); +#endif /* DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ + +#endif /* LWIP_DNS */ + +#endif /* __LWIP_DNS_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/err.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/err.h new file mode 100644 index 0000000..792f276 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/err.h @@ -0,0 +1,89 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_ERR_H__ +#define __LWIP_ERR_H__ + +#include "lwip/opt.h" +#include "lwip/arch.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** Define LWIP_ERR_T in cc.h if you want to use + * a different type for your platform (must be signed). */ +#ifdef LWIP_ERR_T +typedef LWIP_ERR_T err_t; +#else /* LWIP_ERR_T */ + typedef s8_t err_t; +#endif /* LWIP_ERR_T*/ + +/* Definitions for error constants. */ + +#define ERR_OK 0 /* No error, everything OK. */ +#define ERR_MEM -1 /* Out of memory error. */ +#define ERR_BUF -2 /* Buffer error. */ +#define ERR_TIMEOUT -3 /* Timeout. */ +#define ERR_RTE -4 /* Routing problem. */ + +#define ERR_IS_FATAL(e) ((e) < ERR_RTE) + +#define ERR_ABRT -5 /* Connection aborted. */ +#define ERR_RST -6 /* Connection reset. */ +#define ERR_CLSD -7 /* Connection closed. */ +#define ERR_CONN -8 /* Not connected. */ + +#define ERR_VAL -9 /* Illegal value. */ + +#define ERR_ARG -10 /* Illegal argument. */ + +#define ERR_USE -11 /* Address in use. */ + +#define ERR_IF -12 /* Low-level netif error */ +#define ERR_ISCONN -13 /* Already connected. */ + +#define ERR_INPROGRESS -14 /* Operation in progress */ + + +#ifdef LWIP_DEBUG +extern const char *lwip_strerr(err_t err); +#else +#define lwip_strerr(x) "" +#endif /* LWIP_DEBUG */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_ERR_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/init.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/init.h new file mode 100644 index 0000000..a86e0d9 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/init.h @@ -0,0 +1,74 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_INIT_H__ +#define __LWIP_INIT_H__ + +#include "lwip/opt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** X.x.x: Major version of the stack */ +#define LWIP_VERSION_MAJOR 1U +/** x.X.x: Minor version of the stack */ +#define LWIP_VERSION_MINOR 3U +/** x.x.X: Revision of the stack */ +#define LWIP_VERSION_REVISION 2U +/** For release candidates, this is set to 1..254 + * For official releases, this is set to 255 (LWIP_RC_RELEASE) + * For development versions (CVS), this is set to 0 (LWIP_RC_DEVELOPMENT) */ +#define LWIP_VERSION_RC 255U + +/** LWIP_VERSION_RC is set to LWIP_RC_RELEASE for official releases */ +#define LWIP_RC_RELEASE 255U +/** LWIP_VERSION_RC is set to LWIP_RC_DEVELOPMENT for CVS versions */ +#define LWIP_RC_DEVELOPMENT 0U + +#define LWIP_VERSION_IS_RELEASE (LWIP_VERSION_RC == LWIP_RC_RELEASE) +#define LWIP_VERSION_IS_DEVELOPMENT (LWIP_VERSION_RC == LWIP_RC_DEVELOPMENT) +#define LWIP_VERSION_IS_RC ((LWIP_VERSION_RC != LWIP_RC_RELEASE) && (LWIP_VERSION_RC != LWIP_RC_DEVELOPMENT)) + +/** Provides the version of the stack */ +#define LWIP_VERSION (LWIP_VERSION_MAJOR << 24 | LWIP_VERSION_MINOR << 16 | \ + LWIP_VERSION_REVISION << 8 | LWIP_VERSION_RC) + +/* Modules initialization */ +void lwip_init(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_INIT_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/mem.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/mem.h new file mode 100644 index 0000000..327229e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/mem.h @@ -0,0 +1,109 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_MEM_H__ +#define __LWIP_MEM_H__ + +#include "lwip/opt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if MEM_LIBC_MALLOC + +#include <stddef.h> /* for size_t */ + +typedef size_t mem_size_t; + +/* aliases for C library malloc() */ +#define mem_init() +/* in case C library malloc() needs extra protection, + * allow these defines to be overridden. + */ +#ifndef mem_free +#define mem_free free +#endif +#ifndef mem_malloc +#define mem_malloc malloc +#endif +#ifndef mem_calloc +#define mem_calloc calloc +#endif +#ifndef mem_realloc +static void *mem_realloc(void *mem, mem_size_t size) +{ + LWIP_UNUSED_ARG(size); + return mem; +} +#endif +#else /* MEM_LIBC_MALLOC */ + +/* MEM_SIZE would have to be aligned, but using 64000 here instead of + * 65535 leaves some room for alignment... + */ +#if MEM_SIZE > 64000l +typedef u32_t mem_size_t; +#else +typedef u16_t mem_size_t; +#endif /* MEM_SIZE > 64000 */ + +#if MEM_USE_POOLS +/** mem_init is not used when using pools instead of a heap */ +#define mem_init() +/** mem_realloc is not used when using pools instead of a heap: + we can't free part of a pool element and don't want to copy the rest */ +#define mem_realloc(mem, size) (mem) +#else /* MEM_USE_POOLS */ +/* lwIP alternative malloc */ +void mem_init(void); +void *mem_realloc(void *mem, mem_size_t size); +#endif /* MEM_USE_POOLS */ +void *mem_malloc(mem_size_t size); +void *mem_calloc(mem_size_t count, mem_size_t size); +void mem_free(void *mem); +#endif /* MEM_LIBC_MALLOC */ + +#ifndef LWIP_MEM_ALIGN_SIZE +#define LWIP_MEM_ALIGN_SIZE(size) (((size) + MEM_ALIGNMENT - 1) & ~(MEM_ALIGNMENT-1)) +#endif + +#ifndef LWIP_MEM_ALIGN +#define LWIP_MEM_ALIGN(addr) ((void *)(((mem_ptr_t)(addr) + MEM_ALIGNMENT - 1) & ~(mem_ptr_t)(MEM_ALIGNMENT-1))) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_MEM_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/memp.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/memp.h new file mode 100644 index 0000000..3de7bf9 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/memp.h @@ -0,0 +1,118 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#ifndef __LWIP_MEMP_H__ +#define __LWIP_MEMP_H__ + +#include "lwip/opt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Create the list of all memory pools managed by memp. MEMP_MAX represents a NULL pool at the end */ +typedef enum { +#define LWIP_MEMPOOL(name,num,size,desc) MEMP_##name, +#include "lwip/memp_std.h" + MEMP_MAX +} memp_t; + +#if MEM_USE_POOLS +/* Use a helper type to get the start and end of the user "memory pools" for mem_malloc */ +typedef enum { + /* Get the first (via: + MEMP_POOL_HELPER_START = ((u8_t) 1*MEMP_POOL_A + 0*MEMP_POOL_B + 0*MEMP_POOL_C + 0)*/ + MEMP_POOL_HELPER_FIRST = ((u8_t) +#define LWIP_MEMPOOL(name,num,size,desc) +#define LWIP_MALLOC_MEMPOOL_START 1 +#define LWIP_MALLOC_MEMPOOL(num, size) * MEMP_POOL_##size + 0 +#define LWIP_MALLOC_MEMPOOL_END +#include "lwip/memp_std.h" + ) , + /* Get the last (via: + MEMP_POOL_HELPER_END = ((u8_t) 0 + MEMP_POOL_A*0 + MEMP_POOL_B*0 + MEMP_POOL_C*1) */ + MEMP_POOL_HELPER_LAST = ((u8_t) +#define LWIP_MEMPOOL(name,num,size,desc) +#define LWIP_MALLOC_MEMPOOL_START +#define LWIP_MALLOC_MEMPOOL(num, size) 0 + MEMP_POOL_##size * +#define LWIP_MALLOC_MEMPOOL_END 1 +#include "lwip/memp_std.h" + ) +} memp_pool_helper_t; + +/* The actual start and stop values are here (cast them over) + We use this helper type and these defines so we can avoid using const memp_t values */ +#define MEMP_POOL_FIRST ((memp_t) MEMP_POOL_HELPER_FIRST) +#define MEMP_POOL_LAST ((memp_t) MEMP_POOL_HELPER_LAST) +#endif /* MEM_USE_POOLS */ + +#if MEMP_MEM_MALLOC || MEM_USE_POOLS +extern const u16_t memp_sizes[MEMP_MAX]; +#endif /* MEMP_MEM_MALLOC || MEM_USE_POOLS */ + +#if MEMP_MEM_MALLOC + +#include "mem.h" + +#define memp_init() +#define memp_malloc(type) mem_malloc(memp_sizes[type]) +#define memp_free(type, mem) mem_free(mem) + +#else /* MEMP_MEM_MALLOC */ + +#if MEM_USE_POOLS +/** This structure is used to save the pool one element came from. */ +struct memp_malloc_helper +{ + memp_t poolnr; +}; +#endif /* MEM_USE_POOLS */ + +void memp_init(void); + +#if MEMP_OVERFLOW_CHECK +void *memp_malloc_fn(memp_t type, const char* file, const int line); +#define memp_malloc(t) memp_malloc_fn((t), __FILE__, __LINE__) +#else +void *memp_malloc(memp_t type); +#endif +void memp_free(memp_t type, void *mem); + +#endif /* MEMP_MEM_MALLOC */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_MEMP_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/memp_std.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/memp_std.h new file mode 100644 index 0000000..d8d4945 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/memp_std.h @@ -0,0 +1,104 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * SETUP: Make sure we define everything we will need. + * + * We have create three types of pools: + * 1) MEMPOOL - standard pools + * 2) MALLOC_MEMPOOL - to be used by mem_malloc in mem.c + * 3) PBUF_MEMPOOL - a mempool of pbuf's, so include space for the pbuf struct + * + * If the include'r doesn't require any special treatment of each of the types + * above, then will declare #2 & #3 to be just standard mempools. + */ +#ifndef LWIP_MALLOC_MEMPOOL +/* This treats "malloc pools" just like any other pool. + The pools are a little bigger to provide 'size' as the amount of user data. */ +#define LWIP_MALLOC_MEMPOOL(num, size) LWIP_MEMPOOL(POOL_##size, num, (size + sizeof(struct memp_malloc_helper)), "MALLOC_"#size) +#define LWIP_MALLOC_MEMPOOL_START +#define LWIP_MALLOC_MEMPOOL_END +#endif /* LWIP_MALLOC_MEMPOOL */ + +#ifndef LWIP_PBUF_MEMPOOL +/* This treats "pbuf pools" just like any other pool. + * Allocates buffers for a pbuf struct AND a payload size */ +#define LWIP_PBUF_MEMPOOL(name, num, payload, desc) LWIP_MEMPOOL(name, num, (MEMP_ALIGN_SIZE(sizeof(struct pbuf)) + MEMP_ALIGN_SIZE(payload)), desc) +#endif /* LWIP_PBUF_MEMPOOL */ + + +/* + * A list of internal pools used by LWIP. + * + * LWIP_MEMPOOL(pool_name, number_elements, element_size, pool_description) + * creates a pool name MEMP_pool_name. description is used in stats.c + */ +#if LWIP_RAW +LWIP_MEMPOOL(RAW_PCB, MEMP_NUM_RAW_PCB, sizeof(struct raw_pcb), "RAW_PCB") +#endif /* LWIP_RAW */ + +#if LWIP_UDP +LWIP_MEMPOOL(UDP_PCB, MEMP_NUM_UDP_PCB, sizeof(struct udp_pcb), "UDP_PCB") +#endif /* LWIP_UDP */ + +#if LWIP_TCP +LWIP_MEMPOOL(TCP_PCB, MEMP_NUM_TCP_PCB, sizeof(struct tcp_pcb), "TCP_PCB") +LWIP_MEMPOOL(TCP_PCB_LISTEN, MEMP_NUM_TCP_PCB_LISTEN, sizeof(struct tcp_pcb_listen), "TCP_PCB_LISTEN") +LWIP_MEMPOOL(TCP_SEG, MEMP_NUM_TCP_SEG, sizeof(struct tcp_seg), "TCP_SEG") +#endif /* LWIP_TCP */ + +#if IP_REASSEMBLY +LWIP_MEMPOOL(REASSDATA, MEMP_NUM_REASSDATA, sizeof(struct ip_reassdata), "REASSDATA") +#endif /* IP_REASSEMBLY */ + +#if LWIP_NETCONN +LWIP_MEMPOOL(NETBUF, MEMP_NUM_NETBUF, sizeof(struct netbuf), "NETBUF") +LWIP_MEMPOOL(NETCONN, MEMP_NUM_NETCONN, sizeof(struct netconn), "NETCONN") +#endif /* LWIP_NETCONN */ + +#if NO_SYS==0 +LWIP_MEMPOOL(TCPIP_MSG_API, MEMP_NUM_TCPIP_MSG_API, sizeof(struct tcpip_msg), "TCPIP_MSG_API") +LWIP_MEMPOOL(TCPIP_MSG_INPKT,MEMP_NUM_TCPIP_MSG_INPKT, sizeof(struct tcpip_msg), "TCPIP_MSG_INPKT") +#endif /* NO_SYS==0 */ + +#if ARP_QUEUEING +LWIP_MEMPOOL(ARP_QUEUE, MEMP_NUM_ARP_QUEUE, sizeof(struct etharp_q_entry), "ARP_QUEUE") +#endif /* ARP_QUEUEING */ + +#if LWIP_IGMP +LWIP_MEMPOOL(IGMP_GROUP, MEMP_NUM_IGMP_GROUP, sizeof(struct igmp_group), "IGMP_GROUP") +#endif /* LWIP_IGMP */ + +#if NO_SYS==0 +LWIP_MEMPOOL(SYS_TIMEOUT, MEMP_NUM_SYS_TIMEOUT, sizeof(struct sys_timeo), "SYS_TIMEOUT") +#endif /* NO_SYS==0 */ + + +/* + * A list of pools of pbuf's used by LWIP. + * + * LWIP_PBUF_MEMPOOL(pool_name, number_elements, pbuf_payload_size, pool_description) + * creates a pool name MEMP_pool_name. description is used in stats.c + * This allocates enough space for the pbuf struct and a payload. + * (Example: pbuf_payload_size=0 allocates only size for the struct) + */ +LWIP_PBUF_MEMPOOL(PBUF, MEMP_NUM_PBUF, 0, "PBUF_REF/ROM") +LWIP_PBUF_MEMPOOL(PBUF_POOL, PBUF_POOL_SIZE, PBUF_POOL_BUFSIZE, "PBUF_POOL") + + +/* + * Allow for user-defined pools; this must be explicitly set in lwipopts.h + * since the default is to NOT look for lwippools.h + */ +#if MEMP_USE_CUSTOM_POOLS +#include "lwippools.h" +#endif /* MEMP_USE_CUSTOM_POOLS */ + +/* + * REQUIRED CLEANUP: Clear up so we don't get "multiply defined" error later + * (#undef is ignored for something that is not defined) + */ +#undef LWIP_MEMPOOL +#undef LWIP_MALLOC_MEMPOOL +#undef LWIP_MALLOC_MEMPOOL_START +#undef LWIP_MALLOC_MEMPOOL_END +#undef LWIP_PBUF_MEMPOOL diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netbuf.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netbuf.h new file mode 100644 index 0000000..ab9ea33 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netbuf.h @@ -0,0 +1,88 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_NETBUF_H__ +#define __LWIP_NETBUF_H__ + +#include "lwip/opt.h" +#include "lwip/pbuf.h" +#include "lwip/ip_addr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct netbuf { + struct pbuf *p, *ptr; + struct ip_addr *addr; + u16_t port; +#if LWIP_NETBUF_RECVINFO + struct ip_addr *toaddr; + u16_t toport; +#endif /* LWIP_NETBUF_RECVINFO */ +}; + +/* Network buffer functions: */ +struct netbuf * netbuf_new (void); +void netbuf_delete (struct netbuf *buf); +void * netbuf_alloc (struct netbuf *buf, u16_t size); +void netbuf_free (struct netbuf *buf); +err_t netbuf_ref (struct netbuf *buf, + const void *dataptr, u16_t size); +void netbuf_chain (struct netbuf *head, + struct netbuf *tail); + +u16_t netbuf_len (struct netbuf *buf); +err_t netbuf_data (struct netbuf *buf, + void **dataptr, u16_t *len); +s8_t netbuf_next (struct netbuf *buf); +void netbuf_first (struct netbuf *buf); + + +#define netbuf_copy_partial(buf, dataptr, len, offset) \ + pbuf_copy_partial((buf)->p, (dataptr), (len), (offset)) +#define netbuf_copy(buf,dataptr,len) netbuf_copy_partial(buf, dataptr, len, 0) +#define netbuf_take(buf, dataptr, len) pbuf_take((buf)->p, dataptr, len) +#define netbuf_len(buf) ((buf)->p->tot_len) +#define netbuf_fromaddr(buf) ((buf)->addr) +#define netbuf_fromport(buf) ((buf)->port) +#if LWIP_NETBUF_RECVINFO +#define netbuf_destaddr(buf) ((buf)->toaddr) +#define netbuf_destport(buf) ((buf)->toport) +#endif /* LWIP_NETBUF_RECVINFO */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_NETBUF_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netdb.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netdb.h new file mode 100644 index 0000000..c59c3a4 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netdb.h @@ -0,0 +1,113 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Simon Goldschmidt + * + */ + +#include "lwip/opt.h" + +#if LWIP_DNS && LWIP_SOCKET + +#include <stddef.h> /* for size_t */ + +#include "lwip/sockets.h" + +/* some rarely used options */ +#ifndef LWIP_DNS_API_DECLARE_H_ERRNO +#define LWIP_DNS_API_DECLARE_H_ERRNO 1 +#endif + +#ifndef LWIP_DNS_API_DEFINE_ERRORS +#define LWIP_DNS_API_DEFINE_ERRORS 1 +#endif + +#ifndef LWIP_DNS_API_DECLARE_STRUCTS +#define LWIP_DNS_API_DECLARE_STRUCTS 1 +#endif + +#if LWIP_DNS_API_DEFINE_ERRORS +/** Errors used by the DNS API functions, h_errno can be one of them */ +#define EAI_NONAME 200 +#define EAI_SERVICE 201 +#define EAI_FAIL 202 +#define EAI_MEMORY 203 + +#define HOST_NOT_FOUND 210 +#define NO_DATA 211 +#define NO_RECOVERY 212 +#define TRY_AGAIN 213 +#endif /* LWIP_DNS_API_DEFINE_ERRORS */ + +#if LWIP_DNS_API_DECLARE_STRUCTS +struct hostent { + char *h_name; /* Official name of the host. */ + char **h_aliases; /* A pointer to an array of pointers to alternative host names, + terminated by a null pointer. */ + int h_addrtype; /* Address type. */ + int h_length; /* The length, in bytes, of the address. */ + char **h_addr_list; /* A pointer to an array of pointers to network addresses (in + network byte order) for the host, terminated by a null pointer. */ +#define h_addr h_addr_list[0] /* for backward compatibility */ +}; + +struct addrinfo { + int ai_flags; /* Input flags. */ + int ai_family; /* Address family of socket. */ + int ai_socktype; /* Socket type. */ + int ai_protocol; /* Protocol of socket. */ + socklen_t ai_addrlen; /* Length of socket address. */ + struct sockaddr *ai_addr; /* Socket address of socket. */ + char *ai_canonname; /* Canonical name of service location. */ + struct addrinfo *ai_next; /* Pointer to next in list. */ +}; +#endif /* LWIP_DNS_API_DECLARE_STRUCTS */ + +#if LWIP_DNS_API_DECLARE_H_ERRNO +/* application accessable error code set by the DNS API functions */ +extern int h_errno; +#endif /* LWIP_DNS_API_DECLARE_H_ERRNO*/ + +struct hostent *lwip_gethostbyname(const char *name); +int lwip_gethostbyname_r(const char *name, struct hostent *ret, char *buf, + size_t buflen, struct hostent **result, int *h_errnop); +void lwip_freeaddrinfo(struct addrinfo *ai); +int lwip_getaddrinfo(const char *nodename, + const char *servname, + const struct addrinfo *hints, + struct addrinfo **res); + +#if LWIP_COMPAT_SOCKETS +#define gethostbyname(name) lwip_gethostbyname(name) +#define gethostbyname_r(name, ret, buf, buflen, result, h_errnop) \ + lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop) +#define freeaddrinfo(addrinfo) lwip_freeaddrinfo(addrinfo) +#define getaddrinfo(nodname, servname, hints, res) \ + lwip_getaddrinfo(nodname, servname, hints, res) +#endif /* LWIP_COMPAT_SOCKETS */ + +#endif /* LWIP_DNS && LWIP_SOCKET */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netif.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netif.h new file mode 100644 index 0000000..8e650d7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netif.h @@ -0,0 +1,265 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_NETIF_H__ +#define __LWIP_NETIF_H__ + +#include "lwip/opt.h" + +#define ENABLE_LOOPBACK (LWIP_NETIF_LOOPBACK || LWIP_HAVE_LOOPIF) + +#include "lwip/err.h" + +#include "lwip/ip_addr.h" + +#include "lwip/inet.h" +#include "lwip/pbuf.h" +#if LWIP_DHCP +struct dhcp; +#endif +#if LWIP_AUTOIP +struct autoip; +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Throughout this file, IP addresses are expected to be in + * the same byte order as in IP_PCB. */ + +/** must be the maximum of all used hardware address lengths + across all types of interfaces in use */ +#define NETIF_MAX_HWADDR_LEN 6U + +/** TODO: define the use (where, when, whom) of netif flags */ + +/** whether the network interface is 'up'. this is + * a software flag used to control whether this network + * interface is enabled and processes traffic. + */ +#define NETIF_FLAG_UP 0x01U +/** if set, the netif has broadcast capability */ +#define NETIF_FLAG_BROADCAST 0x02U +/** if set, the netif is one end of a point-to-point connection */ +#define NETIF_FLAG_POINTTOPOINT 0x04U +/** if set, the interface is configured using DHCP */ +#define NETIF_FLAG_DHCP 0x08U +/** if set, the interface has an active link + * (set by the network interface driver) */ +#define NETIF_FLAG_LINK_UP 0x10U +/** if set, the netif is an device using ARP */ +#define NETIF_FLAG_ETHARP 0x20U +/** if set, the netif has IGMP capability */ +#define NETIF_FLAG_IGMP 0x40U + +/** Generic data structure used for all lwIP network interfaces. + * The following fields should be filled in by the initialization + * function for the device driver: hwaddr_len, hwaddr[], mtu, flags */ + +struct netif { + /** pointer to next in linked list */ + struct netif *next; + + /** IP address configuration in network byte order */ + struct ip_addr ip_addr; + struct ip_addr netmask; + struct ip_addr gw; + + /** This function is called by the network device driver + * to pass a packet up the TCP/IP stack. */ + err_t (* input)(struct pbuf *p, struct netif *inp); + /** This function is called by the IP module when it wants + * to send a packet on the interface. This function typically + * first resolves the hardware address, then sends the packet. */ + err_t (* output)(struct netif *netif, struct pbuf *p, + struct ip_addr *ipaddr); + /** This function is called by the ARP module when it wants + * to send a packet on the interface. This function outputs + * the pbuf as-is on the link medium. */ + err_t (* linkoutput)(struct netif *netif, struct pbuf *p); +#if LWIP_NETIF_STATUS_CALLBACK + /** This function is called when the netif state is set to up or down + */ + void (* status_callback)(struct netif *netif); +#endif /* LWIP_NETIF_STATUS_CALLBACK */ +#if LWIP_NETIF_LINK_CALLBACK + /** This function is called when the netif link is set to up or down + */ + void (* link_callback)(struct netif *netif); +#endif /* LWIP_NETIF_LINK_CALLBACK */ + /** This field can be set by the device driver and could point + * to state information for the device. */ + void *state; +#if LWIP_DHCP + /** the DHCP client state information for this netif */ + struct dhcp *dhcp; +#endif /* LWIP_DHCP */ +#if LWIP_AUTOIP + /** the AutoIP client state information for this netif */ + struct autoip *autoip; +#endif +#if LWIP_NETIF_HOSTNAME + /* the hostname for this netif, NULL is a valid value */ + char* hostname; +#endif /* LWIP_NETIF_HOSTNAME */ + /** maximum transfer unit (in bytes) */ + u16_t mtu; + /** number of bytes used in hwaddr */ + u8_t hwaddr_len; + /** link level hardware address of this interface */ + u8_t hwaddr[NETIF_MAX_HWADDR_LEN]; + /** flags (see NETIF_FLAG_ above) */ + u8_t flags; + /** descriptive abbreviation */ + char name[2]; + /** number of this interface */ + u8_t num; +#if LWIP_SNMP + /** link type (from "snmp_ifType" enum from snmp.h) */ + u8_t link_type; + /** (estimate) link speed */ + u32_t link_speed; + /** timestamp at last change made (up/down) */ + u32_t ts; + /** counters */ + u32_t ifinoctets; + u32_t ifinucastpkts; + u32_t ifinnucastpkts; + u32_t ifindiscards; + u32_t ifoutoctets; + u32_t ifoutucastpkts; + u32_t ifoutnucastpkts; + u32_t ifoutdiscards; +#endif /* LWIP_SNMP */ +#if LWIP_IGMP + /* This function could be called to add or delete a entry in the multicast filter table of the ethernet MAC.*/ + err_t (*igmp_mac_filter)( struct netif *netif, struct ip_addr *group, u8_t action); +#endif /* LWIP_IGMP */ +#if LWIP_NETIF_HWADDRHINT + u8_t *addr_hint; +#endif /* LWIP_NETIF_HWADDRHINT */ +#if ENABLE_LOOPBACK + /* List of packets to be queued for ourselves. */ + struct pbuf *loop_first; + struct pbuf *loop_last; +#if LWIP_LOOPBACK_MAX_PBUFS + u16_t loop_cnt_current; +#endif /* LWIP_LOOPBACK_MAX_PBUFS */ +#endif /* ENABLE_LOOPBACK */ +}; + +#if LWIP_SNMP +#define NETIF_INIT_SNMP(netif, type, speed) \ + /* use "snmp_ifType" enum from snmp.h for "type", snmp_ifType_ethernet_csmacd by example */ \ + netif->link_type = type; \ + /* your link speed here (units: bits per second) */ \ + netif->link_speed = speed; \ + netif->ts = 0; \ + netif->ifinoctets = 0; \ + netif->ifinucastpkts = 0; \ + netif->ifinnucastpkts = 0; \ + netif->ifindiscards = 0; \ + netif->ifoutoctets = 0; \ + netif->ifoutucastpkts = 0; \ + netif->ifoutnucastpkts = 0; \ + netif->ifoutdiscards = 0 +#else /* LWIP_SNMP */ +#define NETIF_INIT_SNMP(netif, type, speed) +#endif /* LWIP_SNMP */ + + +/** The list of network interfaces. */ +extern struct netif *netif_list; +/** The default network interface. */ +extern struct netif *netif_default; + +#define netif_init() /* Compatibility define, not init needed. */ + +struct netif *netif_add(struct netif *netif, struct ip_addr *ipaddr, struct ip_addr *netmask, + struct ip_addr *gw, + void *state, + err_t (* init)(struct netif *netif), + err_t (* input)(struct pbuf *p, struct netif *netif)); + +void +netif_set_addr(struct netif *netif,struct ip_addr *ipaddr, struct ip_addr *netmask, + struct ip_addr *gw); +void netif_remove(struct netif * netif); + +/* Returns a network interface given its name. The name is of the form + "et0", where the first two letters are the "name" field in the + netif structure, and the digit is in the num field in the same + structure. */ +struct netif *netif_find(char *name); + +void netif_set_default(struct netif *netif); + +void netif_set_ipaddr(struct netif *netif, struct ip_addr *ipaddr); +void netif_set_netmask(struct netif *netif, struct ip_addr *netmask); +void netif_set_gw(struct netif *netif, struct ip_addr *gw); + +void netif_set_up(struct netif *netif); +void netif_set_down(struct netif *netif); +u8_t netif_is_up(struct netif *netif); + +#if LWIP_NETIF_STATUS_CALLBACK +/* + * Set callback to be called when interface is brought up/down + */ +void netif_set_status_callback(struct netif *netif, void (* status_callback)(struct netif *netif)); +#endif /* LWIP_NETIF_STATUS_CALLBACK */ + +#if LWIP_NETIF_LINK_CALLBACK +void netif_set_link_up(struct netif *netif); +void netif_set_link_down(struct netif *netif); +u8_t netif_is_link_up(struct netif *netif); +/* + * Set callback to be called when link is brought up/down + */ +void netif_set_link_callback(struct netif *netif, void (* link_callback)(struct netif *netif)); +#endif /* LWIP_NETIF_LINK_CALLBACK */ + +#ifdef __cplusplus +} +#endif + +#if ENABLE_LOOPBACK +err_t netif_loop_output(struct netif *netif, struct pbuf *p, struct ip_addr *dest_ip); +void netif_poll(struct netif *netif); +#if !LWIP_NETIF_LOOPBACK_MULTITHREADING +void netif_poll_all(void); +#endif /* !LWIP_NETIF_LOOPBACK_MULTITHREADING */ +#endif /* ENABLE_LOOPBACK */ + +#endif /* __LWIP_NETIF_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netifapi.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netifapi.h new file mode 100644 index 0000000..22d8690 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/netifapi.h @@ -0,0 +1,107 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + */ + +#ifndef __LWIP_NETIFAPI_H__ +#define __LWIP_NETIFAPI_H__ + +#include "lwip/opt.h" + +#if LWIP_NETIF_API /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/sys.h" +#include "lwip/netif.h" +#include "lwip/dhcp.h" +#include "lwip/autoip.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct netifapi_msg_msg { +#if !LWIP_TCPIP_CORE_LOCKING + sys_sem_t sem; +#endif /* !LWIP_TCPIP_CORE_LOCKING */ + err_t err; + struct netif *netif; + union { + struct { + struct ip_addr *ipaddr; + struct ip_addr *netmask; + struct ip_addr *gw; + void *state; + err_t (* init) (struct netif *netif); + err_t (* input)(struct pbuf *p, struct netif *netif); + } add; + struct { + void (* voidfunc)(struct netif *netif); + err_t (* errtfunc)(struct netif *netif); + } common; + } msg; +}; + +struct netifapi_msg { + void (* function)(struct netifapi_msg_msg *msg); + struct netifapi_msg_msg msg; +}; + + +/* API for application */ +err_t netifapi_netif_add ( struct netif *netif, + struct ip_addr *ipaddr, + struct ip_addr *netmask, + struct ip_addr *gw, + void *state, + err_t (* init)(struct netif *netif), + err_t (* input)(struct pbuf *p, struct netif *netif) ); + +err_t netifapi_netif_set_addr ( struct netif *netif, + struct ip_addr *ipaddr, + struct ip_addr *netmask, + struct ip_addr *gw ); + +err_t netifapi_netif_common ( struct netif *netif, + void (* voidfunc)(struct netif *netif), + err_t (* errtfunc)(struct netif *netif) ); + +#define netifapi_netif_remove(n) netifapi_netif_common(n, netif_remove, NULL) +#define netifapi_netif_set_up(n) netifapi_netif_common(n, netif_set_up, NULL) +#define netifapi_netif_set_down(n) netifapi_netif_common(n, netif_set_down, NULL) +#define netifapi_netif_set_default(n) netifapi_netif_common(n, netif_set_default, NULL) +#define netifapi_dhcp_start(n) netifapi_netif_common(n, NULL, dhcp_start) +#define netifapi_dhcp_stop(n) netifapi_netif_common(n, dhcp_stop, NULL) +#define netifapi_autoip_start(n) netifapi_netif_common(n, NULL, autoip_start) +#define netifapi_autoip_stop(n) netifapi_netif_common(n, NULL, autoip_stop) + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_NETIF_API */ + +#endif /* __LWIP_NETIFAPI_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/opt.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/opt.h new file mode 100644 index 0000000..a7cdbd8 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/opt.h @@ -0,0 +1,1842 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * + * lwIP Options Configuration + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_OPT_H__ +#define __LWIP_OPT_H__ + +/* + * Include user defined options first. Anything not defined in these files + * will be set to standard values. Override anything you dont like! + */ +#include "lwipopts.h" +#include "lwip/debug.h" + +/* + ----------------------------------------------- + ---------- Platform specific locking ---------- + ----------------------------------------------- +*/ + +/** + * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain + * critical regions during buffer allocation, deallocation and memory + * allocation and deallocation. + */ +#ifndef SYS_LIGHTWEIGHT_PROT +#define SYS_LIGHTWEIGHT_PROT 0 +#endif + +/** + * NO_SYS==1: Provides VERY minimal functionality. Otherwise, + * use lwIP facilities. + */ +#ifndef NO_SYS +#define NO_SYS 0 +#endif + +/** + * MEMCPY: override this if you have a faster implementation at hand than the + * one included in your C library + */ +#ifndef MEMCPY +#define MEMCPY(dst,src,len) memcpy(dst,src,len) +#endif + +/** + * SMEMCPY: override this with care! Some compilers (e.g. gcc) can inline a + * call to memcpy() if the length is known at compile time and is small. + */ +#ifndef SMEMCPY +#define SMEMCPY(dst,src,len) memcpy(dst,src,len) +#endif + +/* + ------------------------------------ + ---------- Memory options ---------- + ------------------------------------ +*/ +/** + * MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library + * instead of the lwip internal allocator. Can save code size if you + * already use it. + */ +#ifndef MEM_LIBC_MALLOC +#define MEM_LIBC_MALLOC 0 +#endif + +/** +* MEMP_MEM_MALLOC==1: Use mem_malloc/mem_free instead of the lwip pool allocator. +* Especially useful with MEM_LIBC_MALLOC but handle with care regarding execution +* speed and usage from interrupts! +*/ +#ifndef MEMP_MEM_MALLOC +#define MEMP_MEM_MALLOC 0 +#endif + +/** + * MEM_ALIGNMENT: should be set to the alignment of the CPU + * 4 byte alignment -> #define MEM_ALIGNMENT 4 + * 2 byte alignment -> #define MEM_ALIGNMENT 2 + */ +#ifndef MEM_ALIGNMENT +#define MEM_ALIGNMENT 1 +#endif + +/** + * MEM_SIZE: the size of the heap memory. If the application will send + * a lot of data that needs to be copied, this should be set high. + */ +#ifndef MEM_SIZE +#define MEM_SIZE 1600 +#endif + +/** + * MEMP_OVERFLOW_CHECK: memp overflow protection reserves a configurable + * amount of bytes before and after each memp element in every pool and fills + * it with a prominent default value. + * MEMP_OVERFLOW_CHECK == 0 no checking + * MEMP_OVERFLOW_CHECK == 1 checks each element when it is freed + * MEMP_OVERFLOW_CHECK >= 2 checks each element in every pool every time + * memp_malloc() or memp_free() is called (useful but slow!) + */ +#ifndef MEMP_OVERFLOW_CHECK +#define MEMP_OVERFLOW_CHECK 0 +#endif + +/** + * MEMP_SANITY_CHECK==1: run a sanity check after each memp_free() to make + * sure that there are no cycles in the linked lists. + */ +#ifndef MEMP_SANITY_CHECK +#define MEMP_SANITY_CHECK 0 +#endif + +/** + * MEM_USE_POOLS==1: Use an alternative to malloc() by allocating from a set + * of memory pools of various sizes. When mem_malloc is called, an element of + * the smallest pool that can provide the length needed is returned. + * To use this, MEMP_USE_CUSTOM_POOLS also has to be enabled. + */ +#ifndef MEM_USE_POOLS +#define MEM_USE_POOLS 0 +#endif + +/** + * MEM_USE_POOLS_TRY_BIGGER_POOL==1: if one malloc-pool is empty, try the next + * bigger pool - WARNING: THIS MIGHT WASTE MEMORY but it can make a system more + * reliable. */ +#ifndef MEM_USE_POOLS_TRY_BIGGER_POOL +#define MEM_USE_POOLS_TRY_BIGGER_POOL 0 +#endif + +/** + * MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h + * that defines additional pools beyond the "standard" ones required + * by lwIP. If you set this to 1, you must have lwippools.h in your + * inlude path somewhere. + */ +#ifndef MEMP_USE_CUSTOM_POOLS +#define MEMP_USE_CUSTOM_POOLS 0 +#endif + +/** + * Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from + * interrupt context (or another context that doesn't allow waiting for a + * semaphore). + * If set to 1, mem_malloc will be protected by a semaphore and SYS_ARCH_PROTECT, + * while mem_free will only use SYS_ARCH_PROTECT. mem_malloc SYS_ARCH_UNPROTECTs + * with each loop so that mem_free can run. + * + * ATTENTION: As you can see from the above description, this leads to dis-/ + * enabling interrupts often, which can be slow! Also, on low memory, mem_malloc + * can need longer. + * + * If you don't want that, at least for NO_SYS=0, you can still use the following + * functions to enqueue a deallocation call which then runs in the tcpip_thread + * context: + * - pbuf_free_callback(p); + * - mem_free_callback(m); + */ +#ifndef LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT +#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0 +#endif + +/* + ------------------------------------------------ + ---------- Internal Memory Pool Sizes ---------- + ------------------------------------------------ +*/ +/** + * MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF). + * If the application sends a lot of data out of ROM (or other static memory), + * this should be set high. + */ +#ifndef MEMP_NUM_PBUF +#define MEMP_NUM_PBUF 16 +#endif + +/** + * MEMP_NUM_RAW_PCB: Number of raw connection PCBs + * (requires the LWIP_RAW option) + */ +#ifndef MEMP_NUM_RAW_PCB +#define MEMP_NUM_RAW_PCB 4 +#endif + +/** + * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One + * per active UDP "connection". + * (requires the LWIP_UDP option) + */ +#ifndef MEMP_NUM_UDP_PCB +#define MEMP_NUM_UDP_PCB 4 +#endif + +/** + * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. + * (requires the LWIP_TCP option) + */ +#ifndef MEMP_NUM_TCP_PCB +#define MEMP_NUM_TCP_PCB 5 +#endif + +/** + * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. + * (requires the LWIP_TCP option) + */ +#ifndef MEMP_NUM_TCP_PCB_LISTEN +#define MEMP_NUM_TCP_PCB_LISTEN 8 +#endif + +/** + * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. + * (requires the LWIP_TCP option) + */ +#ifndef MEMP_NUM_TCP_SEG +#define MEMP_NUM_TCP_SEG 16 +#endif + +/** + * MEMP_NUM_REASSDATA: the number of simultaneously IP packets queued for + * reassembly (whole packets, not fragments!) + */ +#ifndef MEMP_NUM_REASSDATA +#define MEMP_NUM_REASSDATA 5 +#endif + +/** + * MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing + * packets (pbufs) that are waiting for an ARP request (to resolve + * their destination address) to finish. + * (requires the ARP_QUEUEING option) + */ +#ifndef MEMP_NUM_ARP_QUEUE +#define MEMP_NUM_ARP_QUEUE 30 +#endif + +/** + * MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces + * can be members et the same time (one per netif - allsystems group -, plus one + * per netif membership). + * (requires the LWIP_IGMP option) + */ +#ifndef MEMP_NUM_IGMP_GROUP +#define MEMP_NUM_IGMP_GROUP 8 +#endif + +/** + * MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts. + * (requires NO_SYS==0) + */ +#ifndef MEMP_NUM_SYS_TIMEOUT +#define MEMP_NUM_SYS_TIMEOUT 3 +#endif + +/** + * MEMP_NUM_NETBUF: the number of struct netbufs. + * (only needed if you use the sequential API, like api_lib.c) + */ +#ifndef MEMP_NUM_NETBUF +#define MEMP_NUM_NETBUF 2 +#endif + +/** + * MEMP_NUM_NETCONN: the number of struct netconns. + * (only needed if you use the sequential API, like api_lib.c) + */ +#ifndef MEMP_NUM_NETCONN +#define MEMP_NUM_NETCONN 4 +#endif + +/** + * MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used + * for callback/timeout API communication. + * (only needed if you use tcpip.c) + */ +#ifndef MEMP_NUM_TCPIP_MSG_API +#define MEMP_NUM_TCPIP_MSG_API 8 +#endif + +/** + * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used + * for incoming packets. + * (only needed if you use tcpip.c) + */ +#ifndef MEMP_NUM_TCPIP_MSG_INPKT +#define MEMP_NUM_TCPIP_MSG_INPKT 8 +#endif + +/** + * PBUF_POOL_SIZE: the number of buffers in the pbuf pool. + */ +#ifndef PBUF_POOL_SIZE +#define PBUF_POOL_SIZE 16 +#endif + +/* + --------------------------------- + ---------- ARP options ---------- + --------------------------------- +*/ +/** + * LWIP_ARP==1: Enable ARP functionality. + */ +#ifndef LWIP_ARP +#define LWIP_ARP 1 +#endif + +/** + * ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached. + */ +#ifndef ARP_TABLE_SIZE +#define ARP_TABLE_SIZE 10 +#endif + +/** + * ARP_QUEUEING==1: Outgoing packets are queued during hardware address + * resolution. + */ +#ifndef ARP_QUEUEING +#define ARP_QUEUEING 1 +#endif + +/** + * ETHARP_TRUST_IP_MAC==1: Incoming IP packets cause the ARP table to be + * updated with the source MAC and IP addresses supplied in the packet. + * You may want to disable this if you do not trust LAN peers to have the + * correct addresses, or as a limited approach to attempt to handle + * spoofing. If disabled, lwIP will need to make a new ARP request if + * the peer is not already in the ARP table, adding a little latency. + */ +#ifndef ETHARP_TRUST_IP_MAC +#define ETHARP_TRUST_IP_MAC 1 +#endif + +/** + * ETHARP_SUPPORT_VLAN==1: support receiving ethernet packets with VLAN header. + * Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check. + * If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted. + * If ETHARP_VLAN_CHECK is not defined, all traffic is accepted. + */ +#ifndef ETHARP_SUPPORT_VLAN +#define ETHARP_SUPPORT_VLAN 0 +#endif + +/* + -------------------------------- + ---------- IP options ---------- + -------------------------------- +*/ +/** + * IP_FORWARD==1: Enables the ability to forward IP packets across network + * interfaces. If you are going to run lwIP on a device with only one network + * interface, define this to 0. + */ +#ifndef IP_FORWARD +#define IP_FORWARD 0 +#endif + +/** + * IP_OPTIONS_ALLOWED: Defines the behavior for IP options. + * IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped. + * IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed). + */ +#ifndef IP_OPTIONS_ALLOWED +#define IP_OPTIONS_ALLOWED 1 +#endif + +/** + * IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that + * this option does not affect outgoing packet sizes, which can be controlled + * via IP_FRAG. + */ +#ifndef IP_REASSEMBLY +#define IP_REASSEMBLY 1 +#endif + +/** + * IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note + * that this option does not affect incoming packet sizes, which can be + * controlled via IP_REASSEMBLY. + */ +#ifndef IP_FRAG +#define IP_FRAG 1 +#endif + +/** + * IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally) + * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived + * in this time, the whole packet is discarded. + */ +#ifndef IP_REASS_MAXAGE +#define IP_REASS_MAXAGE 3 +#endif + +/** + * IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled. + * Since the received pbufs are enqueued, be sure to configure + * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive + * packets even if the maximum amount of fragments is enqueued for reassembly! + */ +#ifndef IP_REASS_MAX_PBUFS +#define IP_REASS_MAX_PBUFS 10 +#endif + +/** + * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP + * fragmentation. Otherwise pbufs are allocated and reference the original + * packet data to be fragmented. + */ +#ifndef IP_FRAG_USES_STATIC_BUF +#define IP_FRAG_USES_STATIC_BUF 1 +#endif + +/** + * IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer + * (requires IP_FRAG_USES_STATIC_BUF==1) + */ +#if IP_FRAG_USES_STATIC_BUF && !defined(IP_FRAG_MAX_MTU) +#define IP_FRAG_MAX_MTU 1500 +#endif + +/** + * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers. + */ +#ifndef IP_DEFAULT_TTL +#define IP_DEFAULT_TTL 255 +#endif + +/** + * IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast + * filter per pcb on udp and raw send operations. To enable broadcast filter + * on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1. + */ +#ifndef IP_SOF_BROADCAST +#define IP_SOF_BROADCAST 0 +#endif + +/** + * IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast + * filter on recv operations. + */ +#ifndef IP_SOF_BROADCAST_RECV +#define IP_SOF_BROADCAST_RECV 0 +#endif + +/* + ---------------------------------- + ---------- ICMP options ---------- + ---------------------------------- +*/ +/** + * LWIP_ICMP==1: Enable ICMP module inside the IP stack. + * Be careful, disable that make your product non-compliant to RFC1122 + */ +#ifndef LWIP_ICMP +#define LWIP_ICMP 1 +#endif + +/** + * ICMP_TTL: Default value for Time-To-Live used by ICMP packets. + */ +#ifndef ICMP_TTL +#define ICMP_TTL (IP_DEFAULT_TTL) +#endif + +/** + * LWIP_BROADCAST_PING==1: respond to broadcast pings (default is unicast only) + */ +#ifndef LWIP_BROADCAST_PING +#define LWIP_BROADCAST_PING 0 +#endif + +/** + * LWIP_MULTICAST_PING==1: respond to multicast pings (default is unicast only) + */ +#ifndef LWIP_MULTICAST_PING +#define LWIP_MULTICAST_PING 0 +#endif + +/* + --------------------------------- + ---------- RAW options ---------- + --------------------------------- +*/ +/** + * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. + */ +#ifndef LWIP_RAW +#define LWIP_RAW 1 +#endif + +/** + * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. + */ +#ifndef RAW_TTL +#define RAW_TTL (IP_DEFAULT_TTL) +#endif + +/* + ---------------------------------- + ---------- DHCP options ---------- + ---------------------------------- +*/ +/** + * LWIP_DHCP==1: Enable DHCP module. + */ +#ifndef LWIP_DHCP +#define LWIP_DHCP 0 +#endif + +/** + * DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address. + */ +#ifndef DHCP_DOES_ARP_CHECK +#define DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP)) +#endif + +/* + ------------------------------------ + ---------- AUTOIP options ---------- + ------------------------------------ +*/ +/** + * LWIP_AUTOIP==1: Enable AUTOIP module. + */ +#ifndef LWIP_AUTOIP +#define LWIP_AUTOIP 0 +#endif + +/** + * LWIP_DHCP_AUTOIP_COOP==1: Allow DHCP and AUTOIP to be both enabled on + * the same interface at the same time. + */ +#ifndef LWIP_DHCP_AUTOIP_COOP +#define LWIP_DHCP_AUTOIP_COOP 0 +#endif + +/** + * LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes + * that should be sent before falling back on AUTOIP. This can be set + * as low as 1 to get an AutoIP address very quickly, but you should + * be prepared to handle a changing IP address when DHCP overrides + * AutoIP. + */ +#ifndef LWIP_DHCP_AUTOIP_COOP_TRIES +#define LWIP_DHCP_AUTOIP_COOP_TRIES 9 +#endif + +/* + ---------------------------------- + ---------- SNMP options ---------- + ---------------------------------- +*/ +/** + * LWIP_SNMP==1: Turn on SNMP module. UDP must be available for SNMP + * transport. + */ +#ifndef LWIP_SNMP +#define LWIP_SNMP 0 +#endif + +/** + * SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will + * allow. At least one request buffer is required. + */ +#ifndef SNMP_CONCURRENT_REQUESTS +#define SNMP_CONCURRENT_REQUESTS 1 +#endif + +/** + * SNMP_TRAP_DESTINATIONS: Number of trap destinations. At least one trap + * destination is required + */ +#ifndef SNMP_TRAP_DESTINATIONS +#define SNMP_TRAP_DESTINATIONS 1 +#endif + +/** + * SNMP_PRIVATE_MIB: + */ +#ifndef SNMP_PRIVATE_MIB +#define SNMP_PRIVATE_MIB 0 +#endif + +/** + * Only allow SNMP write actions that are 'safe' (e.g. disabeling netifs is not + * a safe action and disabled when SNMP_SAFE_REQUESTS = 1). + * Unsafe requests are disabled by default! + */ +#ifndef SNMP_SAFE_REQUESTS +#define SNMP_SAFE_REQUESTS 1 +#endif + +/* + ---------------------------------- + ---------- IGMP options ---------- + ---------------------------------- +*/ +/** + * LWIP_IGMP==1: Turn on IGMP module. + */ +#ifndef LWIP_IGMP +#define LWIP_IGMP 0 +#endif + +/* + ---------------------------------- + ---------- DNS options ----------- + ---------------------------------- +*/ +/** + * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS + * transport. + */ +#ifndef LWIP_DNS +#define LWIP_DNS 0 +#endif + +/** DNS maximum number of entries to maintain locally. */ +#ifndef DNS_TABLE_SIZE +#define DNS_TABLE_SIZE 4 +#endif + +/** DNS maximum host name length supported in the name table. */ +#ifndef DNS_MAX_NAME_LENGTH +#define DNS_MAX_NAME_LENGTH 256 +#endif + +/** The maximum of DNS servers */ +#ifndef DNS_MAX_SERVERS +#define DNS_MAX_SERVERS 2 +#endif + +/** DNS do a name checking between the query and the response. */ +#ifndef DNS_DOES_NAME_CHECK +#define DNS_DOES_NAME_CHECK 1 +#endif + +/** DNS use a local buffer if DNS_USES_STATIC_BUF=0, a static one if + DNS_USES_STATIC_BUF=1, or a dynamic one if DNS_USES_STATIC_BUF=2. + The buffer will be of size DNS_MSG_SIZE */ +#ifndef DNS_USES_STATIC_BUF +#define DNS_USES_STATIC_BUF 1 +#endif + +/** DNS message max. size. Default value is RFC compliant. */ +#ifndef DNS_MSG_SIZE +#define DNS_MSG_SIZE 512 +#endif + +/** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled, + * you have to define + * #define DNS_LOCAL_HOSTLIST_INIT {{"host1", 0x123}, {"host2", 0x234}} + * (an array of structs name/address, where address is an u32_t in network + * byte order). + * + * Instead, you can also use an external function: + * #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name) + * that returns the IP address or INADDR_NONE if not found. + */ +#ifndef DNS_LOCAL_HOSTLIST +#define DNS_LOCAL_HOSTLIST 0 +#endif /* DNS_LOCAL_HOSTLIST */ + +/** If this is turned on, the local host-list can be dynamically changed + * at runtime. */ +#ifndef DNS_LOCAL_HOSTLIST_IS_DYNAMIC +#define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0 +#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ + +/* + --------------------------------- + ---------- UDP options ---------- + --------------------------------- +*/ +/** + * LWIP_UDP==1: Turn on UDP. + */ +#ifndef LWIP_UDP +#define LWIP_UDP 1 +#endif + +/** + * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP) + */ +#ifndef LWIP_UDPLITE +#define LWIP_UDPLITE 0 +#endif + +/** + * UDP_TTL: Default Time-To-Live value. + */ +#ifndef UDP_TTL +#define UDP_TTL (IP_DEFAULT_TTL) +#endif + +/** + * LWIP_NETBUF_RECVINFO==1: append destination addr and port to every netbuf. + */ +#ifndef LWIP_NETBUF_RECVINFO +#define LWIP_NETBUF_RECVINFO 0 +#endif + +/* + --------------------------------- + ---------- TCP options ---------- + --------------------------------- +*/ +/** + * LWIP_TCP==1: Turn on TCP. + */ +#ifndef LWIP_TCP +#define LWIP_TCP 1 +#endif + +/** + * TCP_TTL: Default Time-To-Live value. + */ +#ifndef TCP_TTL +#define TCP_TTL (IP_DEFAULT_TTL) +#endif + +/** + * TCP_WND: The size of a TCP window. This must be at least + * (2 * TCP_MSS) for things to work well + */ +#ifndef TCP_WND +#define TCP_WND (4 * TCP_MSS) +#endif + +/** + * TCP_MAXRTX: Maximum number of retransmissions of data segments. + */ +#ifndef TCP_MAXRTX +#define TCP_MAXRTX 12 +#endif + +/** + * TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments. + */ +#ifndef TCP_SYNMAXRTX +#define TCP_SYNMAXRTX 6 +#endif + +/** + * TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order. + * Define to 0 if your device is low on memory. + */ +#ifndef TCP_QUEUE_OOSEQ +#define TCP_QUEUE_OOSEQ (LWIP_TCP) +#endif + +/** + * TCP_MSS: TCP Maximum segment size. (default is 536, a conservative default, + * you might want to increase this.) + * For the receive side, this MSS is advertised to the remote side + * when opening a connection. For the transmit size, this MSS sets + * an upper limit on the MSS advertised by the remote host. + */ +#ifndef TCP_MSS +#define TCP_MSS 536 +#endif + +/** + * TCP_CALCULATE_EFF_SEND_MSS: "The maximum size of a segment that TCP really + * sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which + * reflects the available reassembly buffer size at the remote host) and the + * largest size permitted by the IP layer" (RFC 1122) + * Setting this to 1 enables code that checks TCP_MSS against the MTU of the + * netif used for a connection and limits the MSS if it would be too big otherwise. + */ +#ifndef TCP_CALCULATE_EFF_SEND_MSS +#define TCP_CALCULATE_EFF_SEND_MSS 1 +#endif + + +/** + * TCP_SND_BUF: TCP sender buffer space (bytes). + */ +#ifndef TCP_SND_BUF +#define TCP_SND_BUF 256 +#endif + +/** + * TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least + * as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. + */ +#ifndef TCP_SND_QUEUELEN +#define TCP_SND_QUEUELEN (4 * (TCP_SND_BUF)/(TCP_MSS)) +#endif + +/** + * TCP_SNDLOWAT: TCP writable space (bytes). This must be less than or equal + * to TCP_SND_BUF. It is the amount of space which must be available in the + * TCP snd_buf for select to return writable. + */ +#ifndef TCP_SNDLOWAT +#define TCP_SNDLOWAT ((TCP_SND_BUF)/2) +#endif + +/** + * TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb. + */ +#ifndef TCP_LISTEN_BACKLOG +#define TCP_LISTEN_BACKLOG 0 +#endif + +/** + * The maximum allowed backlog for TCP listen netconns. + * This backlog is used unless another is explicitly specified. + * 0xff is the maximum (u8_t). + */ +#ifndef TCP_DEFAULT_LISTEN_BACKLOG +#define TCP_DEFAULT_LISTEN_BACKLOG 0xff +#endif + +/** + * LWIP_TCP_TIMESTAMPS==1: support the TCP timestamp option. + */ +#ifndef LWIP_TCP_TIMESTAMPS +#define LWIP_TCP_TIMESTAMPS 0 +#endif + +/** + * TCP_WND_UPDATE_THRESHOLD: difference in window to trigger an + * explicit window update + */ +#ifndef TCP_WND_UPDATE_THRESHOLD +#define TCP_WND_UPDATE_THRESHOLD (TCP_WND / 4) +#endif + +/** + * LWIP_EVENT_API and LWIP_CALLBACK_API: Only one of these should be set to 1. + * LWIP_EVENT_API==1: The user defines lwip_tcp_event() to receive all + * events (accept, sent, etc) that happen in the system. + * LWIP_CALLBACK_API==1: The PCB callback function is called directly + * for the event. + */ +#ifndef LWIP_EVENT_API +#define LWIP_EVENT_API 0 +#define LWIP_CALLBACK_API 1 +#else +#define LWIP_EVENT_API 1 +#define LWIP_CALLBACK_API 0 +#endif + + +/* + ---------------------------------- + ---------- Pbuf options ---------- + ---------------------------------- +*/ +/** + * PBUF_LINK_HLEN: the number of bytes that should be allocated for a + * link level header. The default is 14, the standard value for + * Ethernet. + */ +#ifndef PBUF_LINK_HLEN +#define PBUF_LINK_HLEN 14 +#endif + +/** + * PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. The default is + * designed to accomodate single full size TCP frame in one pbuf, including + * TCP_MSS, IP header, and link header. + */ +#ifndef PBUF_POOL_BUFSIZE +#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN) +#endif + +/* + ------------------------------------------------ + ---------- Network Interfaces options ---------- + ------------------------------------------------ +*/ +/** + * LWIP_NETIF_HOSTNAME==1: use DHCP_OPTION_HOSTNAME with netif's hostname + * field. + */ +#ifndef LWIP_NETIF_HOSTNAME +#define LWIP_NETIF_HOSTNAME 0 +#endif + +/** + * LWIP_NETIF_API==1: Support netif api (in netifapi.c) + */ +#ifndef LWIP_NETIF_API +#define LWIP_NETIF_API 0 +#endif + +/** + * LWIP_NETIF_STATUS_CALLBACK==1: Support a callback function whenever an interface + * changes its up/down status (i.e., due to DHCP IP acquistion) + */ +#ifndef LWIP_NETIF_STATUS_CALLBACK +#define LWIP_NETIF_STATUS_CALLBACK 0 +#endif + +/** + * LWIP_NETIF_LINK_CALLBACK==1: Support a callback function from an interface + * whenever the link changes (i.e., link down) + */ +#ifndef LWIP_NETIF_LINK_CALLBACK +#define LWIP_NETIF_LINK_CALLBACK 0 +#endif + +/** + * LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g. table + * indices) in struct netif. TCP and UDP can make use of this to prevent + * scanning the ARP table for every sent packet. While this is faster for big + * ARP tables or many concurrent connections, it might be counterproductive + * if you have a tiny ARP table or if there never are concurrent connections. + */ +#ifndef LWIP_NETIF_HWADDRHINT +#define LWIP_NETIF_HWADDRHINT 0 +#endif + +/** + * LWIP_NETIF_LOOPBACK==1: Support sending packets with a destination IP + * address equal to the netif IP address, looping them back up the stack. + */ +#ifndef LWIP_NETIF_LOOPBACK +#define LWIP_NETIF_LOOPBACK 0 +#endif + +/** + * LWIP_LOOPBACK_MAX_PBUFS: Maximum number of pbufs on queue for loopback + * sending for each netif (0 = disabled) + */ +#ifndef LWIP_LOOPBACK_MAX_PBUFS +#define LWIP_LOOPBACK_MAX_PBUFS 0 +#endif + +/** + * LWIP_NETIF_LOOPBACK_MULTITHREADING: Indicates whether threading is enabled in + * the system, as netifs must change how they behave depending on this setting + * for the LWIP_NETIF_LOOPBACK option to work. + * Setting this is needed to avoid reentering non-reentrant functions like + * tcp_input(). + * LWIP_NETIF_LOOPBACK_MULTITHREADING==1: Indicates that the user is using a + * multithreaded environment like tcpip.c. In this case, netif->input() + * is called directly. + * LWIP_NETIF_LOOPBACK_MULTITHREADING==0: Indicates a polling (or NO_SYS) setup. + * The packets are put on a list and netif_poll() must be called in + * the main application loop. + */ +#ifndef LWIP_NETIF_LOOPBACK_MULTITHREADING +#define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS) +#endif + +/** + * LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data + * to be sent into one single pbuf. This is for compatibility with DMA-enabled + * MACs that do not support scatter-gather. + * Beware that this might involve CPU-memcpy before transmitting that would not + * be needed without this flag! Use this only if you need to! + * + * @todo: TCP and IP-frag do not work with this, yet: + */ +#ifndef LWIP_NETIF_TX_SINGLE_PBUF +#define LWIP_NETIF_TX_SINGLE_PBUF 0 +#endif /* LWIP_NETIF_TX_SINGLE_PBUF */ + +/* + ------------------------------------ + ---------- LOOPIF options ---------- + ------------------------------------ +*/ +/** + * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1) and loopif.c + */ +#ifndef LWIP_HAVE_LOOPIF +#define LWIP_HAVE_LOOPIF 0 +#endif + +/* + ------------------------------------ + ---------- SLIPIF options ---------- + ------------------------------------ +*/ +/** + * LWIP_HAVE_SLIPIF==1: Support slip interface and slipif.c + */ +#ifndef LWIP_HAVE_SLIPIF +#define LWIP_HAVE_SLIPIF 0 +#endif + +/* + ------------------------------------ + ---------- Thread options ---------- + ------------------------------------ +*/ +/** + * TCPIP_THREAD_NAME: The name assigned to the main tcpip thread. + */ +#ifndef TCPIP_THREAD_NAME +#define TCPIP_THREAD_NAME "tcpip_thread" +#endif + +/** + * TCPIP_THREAD_STACKSIZE: The stack size used by the main tcpip thread. + * The stack size value itself is platform-dependent, but is passed to + * sys_thread_new() when the thread is created. + */ +#ifndef TCPIP_THREAD_STACKSIZE +#define TCPIP_THREAD_STACKSIZE 0 +#endif + +/** + * TCPIP_THREAD_PRIO: The priority assigned to the main tcpip thread. + * The priority value itself is platform-dependent, but is passed to + * sys_thread_new() when the thread is created. + */ +#ifndef TCPIP_THREAD_PRIO +#define TCPIP_THREAD_PRIO 1 +#endif + +/** + * TCPIP_MBOX_SIZE: The mailbox size for the tcpip thread messages + * The queue size value itself is platform-dependent, but is passed to + * sys_mbox_new() when tcpip_init is called. + */ +#ifndef TCPIP_MBOX_SIZE +#define TCPIP_MBOX_SIZE 0 +#endif + +/** + * SLIPIF_THREAD_NAME: The name assigned to the slipif_loop thread. + */ +#ifndef SLIPIF_THREAD_NAME +#define SLIPIF_THREAD_NAME "slipif_loop" +#endif + +/** + * SLIP_THREAD_STACKSIZE: The stack size used by the slipif_loop thread. + * The stack size value itself is platform-dependent, but is passed to + * sys_thread_new() when the thread is created. + */ +#ifndef SLIPIF_THREAD_STACKSIZE +#define SLIPIF_THREAD_STACKSIZE 0 +#endif + +/** + * SLIPIF_THREAD_PRIO: The priority assigned to the slipif_loop thread. + * The priority value itself is platform-dependent, but is passed to + * sys_thread_new() when the thread is created. + */ +#ifndef SLIPIF_THREAD_PRIO +#define SLIPIF_THREAD_PRIO 1 +#endif + +/** + * PPP_THREAD_NAME: The name assigned to the pppMain thread. + */ +#ifndef PPP_THREAD_NAME +#define PPP_THREAD_NAME "pppMain" +#endif + +/** + * PPP_THREAD_STACKSIZE: The stack size used by the pppMain thread. + * The stack size value itself is platform-dependent, but is passed to + * sys_thread_new() when the thread is created. + */ +#ifndef PPP_THREAD_STACKSIZE +#define PPP_THREAD_STACKSIZE 0 +#endif + +/** + * PPP_THREAD_PRIO: The priority assigned to the pppMain thread. + * The priority value itself is platform-dependent, but is passed to + * sys_thread_new() when the thread is created. + */ +#ifndef PPP_THREAD_PRIO +#define PPP_THREAD_PRIO 1 +#endif + +/** + * DEFAULT_THREAD_NAME: The name assigned to any other lwIP thread. + */ +#ifndef DEFAULT_THREAD_NAME +#define DEFAULT_THREAD_NAME "lwIP" +#endif + +/** + * DEFAULT_THREAD_STACKSIZE: The stack size used by any other lwIP thread. + * The stack size value itself is platform-dependent, but is passed to + * sys_thread_new() when the thread is created. + */ +#ifndef DEFAULT_THREAD_STACKSIZE +#define DEFAULT_THREAD_STACKSIZE 0 +#endif + +/** + * DEFAULT_THREAD_PRIO: The priority assigned to any other lwIP thread. + * The priority value itself is platform-dependent, but is passed to + * sys_thread_new() when the thread is created. + */ +#ifndef DEFAULT_THREAD_PRIO +#define DEFAULT_THREAD_PRIO 1 +#endif + +/** + * DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a + * NETCONN_RAW. The queue size value itself is platform-dependent, but is passed + * to sys_mbox_new() when the recvmbox is created. + */ +#ifndef DEFAULT_RAW_RECVMBOX_SIZE +#define DEFAULT_RAW_RECVMBOX_SIZE 0 +#endif + +/** + * DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a + * NETCONN_UDP. The queue size value itself is platform-dependent, but is passed + * to sys_mbox_new() when the recvmbox is created. + */ +#ifndef DEFAULT_UDP_RECVMBOX_SIZE +#define DEFAULT_UDP_RECVMBOX_SIZE 0 +#endif + +/** + * DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a + * NETCONN_TCP. The queue size value itself is platform-dependent, but is passed + * to sys_mbox_new() when the recvmbox is created. + */ +#ifndef DEFAULT_TCP_RECVMBOX_SIZE +#define DEFAULT_TCP_RECVMBOX_SIZE 0 +#endif + +/** + * DEFAULT_ACCEPTMBOX_SIZE: The mailbox size for the incoming connections. + * The queue size value itself is platform-dependent, but is passed to + * sys_mbox_new() when the acceptmbox is created. + */ +#ifndef DEFAULT_ACCEPTMBOX_SIZE +#define DEFAULT_ACCEPTMBOX_SIZE 0 +#endif + +/* + ---------------------------------------------- + ---------- Sequential layer options ---------- + ---------------------------------------------- +*/ +/** + * LWIP_TCPIP_CORE_LOCKING: (EXPERIMENTAL!) + * Don't use it if you're not an active lwIP project member + */ +#ifndef LWIP_TCPIP_CORE_LOCKING +#define LWIP_TCPIP_CORE_LOCKING 0 +#endif + +/** + * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c) + */ +#ifndef LWIP_NETCONN +#define LWIP_NETCONN 1 +#endif + +/* + ------------------------------------ + ---------- Socket options ---------- + ------------------------------------ +*/ +/** + * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c) + */ +#ifndef LWIP_SOCKET +#define LWIP_SOCKET 1 +#endif + +/** + * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names. + * (only used if you use sockets.c) + */ +#ifndef LWIP_COMPAT_SOCKETS +#define LWIP_COMPAT_SOCKETS 1 +#endif + +/** + * LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names. + * Disable this option if you use a POSIX operating system that uses the same + * names (read, write & close). (only used if you use sockets.c) + */ +#ifndef LWIP_POSIX_SOCKETS_IO_NAMES +#define LWIP_POSIX_SOCKETS_IO_NAMES 1 +#endif + +/** + * LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT + * options processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set + * in seconds. (does not require sockets.c, and will affect tcp.c) + */ +#ifndef LWIP_TCP_KEEPALIVE +#define LWIP_TCP_KEEPALIVE 1 +#endif + +/** + * LWIP_SO_RCVTIMEO==1: Enable SO_RCVTIMEO processing. + */ +#ifndef LWIP_SO_RCVTIMEO +#define LWIP_SO_RCVTIMEO 0 +#endif + +/** + * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing. + */ +#ifndef LWIP_SO_RCVBUF +#define LWIP_SO_RCVBUF 0 +#endif + +/** + * If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize. + */ +#ifndef RECV_BUFSIZE_DEFAULT +#define RECV_BUFSIZE_DEFAULT INT_MAX +#endif + +/** + * SO_REUSE==1: Enable SO_REUSEADDR and SO_REUSEPORT options. DO NOT USE! + */ +#ifndef SO_REUSE +#define SO_REUSE 0 +#endif + +/* + ---------------------------------------- + ---------- Statistics options ---------- + ---------------------------------------- +*/ +/** + * LWIP_STATS==1: Enable statistics collection in lwip_stats. + */ +#ifndef LWIP_STATS +#define LWIP_STATS 1 +#endif + +#if LWIP_STATS + +/** + * LWIP_STATS_DISPLAY==1: Compile in the statistics output functions. + */ +#ifndef LWIP_STATS_DISPLAY +#define LWIP_STATS_DISPLAY 0 +#endif + +/** + * LINK_STATS==1: Enable link stats. + */ +#ifndef LINK_STATS +#define LINK_STATS 1 +#endif + +/** + * ETHARP_STATS==1: Enable etharp stats. + */ +#ifndef ETHARP_STATS +#define ETHARP_STATS (LWIP_ARP) +#endif + +/** + * IP_STATS==1: Enable IP stats. + */ +#ifndef IP_STATS +#define IP_STATS 1 +#endif + +/** + * IPFRAG_STATS==1: Enable IP fragmentation stats. Default is + * on if using either frag or reass. + */ +#ifndef IPFRAG_STATS +#define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG) +#endif + +/** + * ICMP_STATS==1: Enable ICMP stats. + */ +#ifndef ICMP_STATS +#define ICMP_STATS 1 +#endif + +/** + * IGMP_STATS==1: Enable IGMP stats. + */ +#ifndef IGMP_STATS +#define IGMP_STATS (LWIP_IGMP) +#endif + +/** + * UDP_STATS==1: Enable UDP stats. Default is on if + * UDP enabled, otherwise off. + */ +#ifndef UDP_STATS +#define UDP_STATS (LWIP_UDP) +#endif + +/** + * TCP_STATS==1: Enable TCP stats. Default is on if TCP + * enabled, otherwise off. + */ +#ifndef TCP_STATS +#define TCP_STATS (LWIP_TCP) +#endif + +/** + * MEM_STATS==1: Enable mem.c stats. + */ +#ifndef MEM_STATS +#define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0)) +#endif + +/** + * MEMP_STATS==1: Enable memp.c pool stats. + */ +#ifndef MEMP_STATS +#define MEMP_STATS (MEMP_MEM_MALLOC == 0) +#endif + +/** + * SYS_STATS==1: Enable system stats (sem and mbox counts, etc). + */ +#ifndef SYS_STATS +#define SYS_STATS (NO_SYS == 0) +#endif + +#else + +#define LINK_STATS 0 +#define IP_STATS 0 +#define IPFRAG_STATS 0 +#define ICMP_STATS 0 +#define IGMP_STATS 0 +#define UDP_STATS 0 +#define TCP_STATS 0 +#define MEM_STATS 0 +#define MEMP_STATS 0 +#define SYS_STATS 0 +#define LWIP_STATS_DISPLAY 0 + +#endif /* LWIP_STATS */ + +/* + --------------------------------- + ---------- PPP options ---------- + --------------------------------- +*/ +/** + * PPP_SUPPORT==1: Enable PPP. + */ +#ifndef PPP_SUPPORT +#define PPP_SUPPORT 0 +#endif + +/** + * PPPOE_SUPPORT==1: Enable PPP Over Ethernet + */ +#ifndef PPPOE_SUPPORT +#define PPPOE_SUPPORT 0 +#endif + +/** + * PPPOS_SUPPORT==1: Enable PPP Over Serial + */ +#ifndef PPPOS_SUPPORT +#define PPPOS_SUPPORT PPP_SUPPORT +#endif + +#if PPP_SUPPORT + +/** + * NUM_PPP: Max PPP sessions. + */ +#ifndef NUM_PPP +#define NUM_PPP 1 +#endif + +/** + * PAP_SUPPORT==1: Support PAP. + */ +#ifndef PAP_SUPPORT +#define PAP_SUPPORT 0 +#endif + +/** + * CHAP_SUPPORT==1: Support CHAP. + */ +#ifndef CHAP_SUPPORT +#define CHAP_SUPPORT 0 +#endif + +/** + * MSCHAP_SUPPORT==1: Support MSCHAP. CURRENTLY NOT SUPPORTED! DO NOT SET! + */ +#ifndef MSCHAP_SUPPORT +#define MSCHAP_SUPPORT 0 +#endif + +/** + * CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET! + */ +#ifndef CBCP_SUPPORT +#define CBCP_SUPPORT 0 +#endif + +/** + * CCP_SUPPORT==1: Support CCP. CURRENTLY NOT SUPPORTED! DO NOT SET! + */ +#ifndef CCP_SUPPORT +#define CCP_SUPPORT 0 +#endif + +/** + * VJ_SUPPORT==1: Support VJ header compression. + */ +#ifndef VJ_SUPPORT +#define VJ_SUPPORT 0 +#endif + +/** + * MD5_SUPPORT==1: Support MD5 (see also CHAP). + */ +#ifndef MD5_SUPPORT +#define MD5_SUPPORT 0 +#endif + +/* + * Timeouts + */ +#ifndef FSM_DEFTIMEOUT +#define FSM_DEFTIMEOUT 6 /* Timeout time in seconds */ +#endif + +#ifndef FSM_DEFMAXTERMREQS +#define FSM_DEFMAXTERMREQS 2 /* Maximum Terminate-Request transmissions */ +#endif + +#ifndef FSM_DEFMAXCONFREQS +#define FSM_DEFMAXCONFREQS 10 /* Maximum Configure-Request transmissions */ +#endif + +#ifndef FSM_DEFMAXNAKLOOPS +#define FSM_DEFMAXNAKLOOPS 5 /* Maximum number of nak loops */ +#endif + +#ifndef UPAP_DEFTIMEOUT +#define UPAP_DEFTIMEOUT 6 /* Timeout (seconds) for retransmitting req */ +#endif + +#ifndef UPAP_DEFREQTIME +#define UPAP_DEFREQTIME 30 /* Time to wait for auth-req from peer */ +#endif + +#ifndef CHAP_DEFTIMEOUT +#define CHAP_DEFTIMEOUT 6 /* Timeout time in seconds */ +#endif + +#ifndef CHAP_DEFTRANSMITS +#define CHAP_DEFTRANSMITS 10 /* max # times to send challenge */ +#endif + +/* Interval in seconds between keepalive echo requests, 0 to disable. */ +#ifndef LCP_ECHOINTERVAL +#define LCP_ECHOINTERVAL 0 +#endif + +/* Number of unanswered echo requests before failure. */ +#ifndef LCP_MAXECHOFAILS +#define LCP_MAXECHOFAILS 3 +#endif + +/* Max Xmit idle time (in jiffies) before resend flag char. */ +#ifndef PPP_MAXIDLEFLAG +#define PPP_MAXIDLEFLAG 100 +#endif + +/* + * Packet sizes + * + * Note - lcp shouldn't be allowed to negotiate stuff outside these + * limits. See lcp.h in the pppd directory. + * (XXX - these constants should simply be shared by lcp.c instead + * of living in lcp.h) + */ +#define PPP_MTU 1500 /* Default MTU (size of Info field) */ +#ifndef PPP_MAXMTU +/* #define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN) */ +#define PPP_MAXMTU 1500 /* Largest MTU we allow */ +#endif +#define PPP_MINMTU 64 +#define PPP_MRU 1500 /* default MRU = max length of info field */ +#define PPP_MAXMRU 1500 /* Largest MRU we allow */ +#ifndef PPP_DEFMRU +#define PPP_DEFMRU 296 /* Try for this */ +#endif +#define PPP_MINMRU 128 /* No MRUs below this */ + +#ifndef MAXNAMELEN +#define MAXNAMELEN 256 /* max length of hostname or name for auth */ +#endif +#ifndef MAXSECRETLEN +#define MAXSECRETLEN 256 /* max length of password or secret */ +#endif + +#endif /* PPP_SUPPORT */ + +/* + -------------------------------------- + ---------- Checksum options ---------- + -------------------------------------- +*/ +/** + * CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets. + */ +#ifndef CHECKSUM_GEN_IP +#define CHECKSUM_GEN_IP 1 +#endif + +/** + * CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets. + */ +#ifndef CHECKSUM_GEN_UDP +#define CHECKSUM_GEN_UDP 1 +#endif + +/** + * CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets. + */ +#ifndef CHECKSUM_GEN_TCP +#define CHECKSUM_GEN_TCP 1 +#endif + +/** + * CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets. + */ +#ifndef CHECKSUM_CHECK_IP +#define CHECKSUM_CHECK_IP 1 +#endif + +/** + * CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets. + */ +#ifndef CHECKSUM_CHECK_UDP +#define CHECKSUM_CHECK_UDP 1 +#endif + +/** + * CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets. + */ +#ifndef CHECKSUM_CHECK_TCP +#define CHECKSUM_CHECK_TCP 1 +#endif + +/* + --------------------------------------- + ---------- Debugging options ---------- + --------------------------------------- +*/ +/** + * LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is + * compared against this value. If it is smaller, then debugging + * messages are written. + */ +#ifndef LWIP_DBG_MIN_LEVEL +#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL +#endif + +/** + * LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable + * debug messages of certain types. + */ +#ifndef LWIP_DBG_TYPES_ON +#define LWIP_DBG_TYPES_ON LWIP_DBG_ON +#endif + +/** + * ETHARP_DEBUG: Enable debugging in etharp.c. + */ +#ifndef ETHARP_DEBUG +#define ETHARP_DEBUG LWIP_DBG_OFF +#endif + +/** + * NETIF_DEBUG: Enable debugging in netif.c. + */ +#ifndef NETIF_DEBUG +#define NETIF_DEBUG LWIP_DBG_OFF +#endif + +/** + * PBUF_DEBUG: Enable debugging in pbuf.c. + */ +#ifndef PBUF_DEBUG +#define PBUF_DEBUG LWIP_DBG_OFF +#endif + +/** + * API_LIB_DEBUG: Enable debugging in api_lib.c. + */ +#ifndef API_LIB_DEBUG +#define API_LIB_DEBUG LWIP_DBG_OFF +#endif + +/** + * API_MSG_DEBUG: Enable debugging in api_msg.c. + */ +#ifndef API_MSG_DEBUG +#define API_MSG_DEBUG LWIP_DBG_OFF +#endif + +/** + * SOCKETS_DEBUG: Enable debugging in sockets.c. + */ +#ifndef SOCKETS_DEBUG +#define SOCKETS_DEBUG LWIP_DBG_OFF +#endif + +/** + * ICMP_DEBUG: Enable debugging in icmp.c. + */ +#ifndef ICMP_DEBUG +#define ICMP_DEBUG LWIP_DBG_OFF +#endif + +/** + * IGMP_DEBUG: Enable debugging in igmp.c. + */ +#ifndef IGMP_DEBUG +#define IGMP_DEBUG LWIP_DBG_OFF +#endif + +/** + * INET_DEBUG: Enable debugging in inet.c. + */ +#ifndef INET_DEBUG +#define INET_DEBUG LWIP_DBG_OFF +#endif + +/** + * IP_DEBUG: Enable debugging for IP. + */ +#ifndef IP_DEBUG +#define IP_DEBUG LWIP_DBG_OFF +#endif + +/** + * IP_REASS_DEBUG: Enable debugging in ip_frag.c for both frag & reass. + */ +#ifndef IP_REASS_DEBUG +#define IP_REASS_DEBUG LWIP_DBG_OFF +#endif + +/** + * RAW_DEBUG: Enable debugging in raw.c. + */ +#ifndef RAW_DEBUG +#define RAW_DEBUG LWIP_DBG_OFF +#endif + +/** + * MEM_DEBUG: Enable debugging in mem.c. + */ +#ifndef MEM_DEBUG +#define MEM_DEBUG LWIP_DBG_OFF +#endif + +/** + * MEMP_DEBUG: Enable debugging in memp.c. + */ +#ifndef MEMP_DEBUG +#define MEMP_DEBUG LWIP_DBG_OFF +#endif + +/** + * SYS_DEBUG: Enable debugging in sys.c. + */ +#ifndef SYS_DEBUG +#define SYS_DEBUG LWIP_DBG_OFF +#endif + +/** + * TCP_DEBUG: Enable debugging for TCP. + */ +#ifndef TCP_DEBUG +#define TCP_DEBUG LWIP_DBG_OFF +#endif + +/** + * TCP_INPUT_DEBUG: Enable debugging in tcp_in.c for incoming debug. + */ +#ifndef TCP_INPUT_DEBUG +#define TCP_INPUT_DEBUG LWIP_DBG_ON +#endif + +/** + * TCP_FR_DEBUG: Enable debugging in tcp_in.c for fast retransmit. + */ +#ifndef TCP_FR_DEBUG +#define TCP_FR_DEBUG LWIP_DBG_OFF +#endif + +/** + * TCP_RTO_DEBUG: Enable debugging in TCP for retransmit + * timeout. + */ +#ifndef TCP_RTO_DEBUG +#define TCP_RTO_DEBUG LWIP_DBG_OFF +#endif + +/** + * TCP_CWND_DEBUG: Enable debugging for TCP congestion window. + */ +#ifndef TCP_CWND_DEBUG +#define TCP_CWND_DEBUG LWIP_DBG_OFF +#endif + +/** + * TCP_WND_DEBUG: Enable debugging in tcp_in.c for window updating. + */ +#ifndef TCP_WND_DEBUG +#define TCP_WND_DEBUG LWIP_DBG_OFF +#endif + +/** + * TCP_OUTPUT_DEBUG: Enable debugging in tcp_out.c output functions. + */ +#ifndef TCP_OUTPUT_DEBUG +#define TCP_OUTPUT_DEBUG LWIP_DBG_OFF +#endif + +/** + * TCP_RST_DEBUG: Enable debugging for TCP with the RST message. + */ +#ifndef TCP_RST_DEBUG +#define TCP_RST_DEBUG LWIP_DBG_OFF +#endif + +/** + * TCP_QLEN_DEBUG: Enable debugging for TCP queue lengths. + */ +#ifndef TCP_QLEN_DEBUG +#define TCP_QLEN_DEBUG LWIP_DBG_OFF +#endif + +/** + * UDP_DEBUG: Enable debugging in UDP. + */ +#ifndef UDP_DEBUG +#define UDP_DEBUG LWIP_DBG_OFF +#endif + +/** + * TCPIP_DEBUG: Enable debugging in tcpip.c. + */ +#ifndef TCPIP_DEBUG +#define TCPIP_DEBUG LWIP_DBG_OFF +#endif + +/** + * PPP_DEBUG: Enable debugging for PPP. + */ +#ifndef PPP_DEBUG +#define PPP_DEBUG LWIP_DBG_OFF +#endif + +/** + * SLIP_DEBUG: Enable debugging in slipif.c. + */ +#ifndef SLIP_DEBUG +#define SLIP_DEBUG LWIP_DBG_OFF +#endif + +/** + * DHCP_DEBUG: Enable debugging in dhcp.c. + */ +#ifndef DHCP_DEBUG +#define DHCP_DEBUG LWIP_DBG_OFF +#endif + +/** + * AUTOIP_DEBUG: Enable debugging in autoip.c. + */ +#ifndef AUTOIP_DEBUG +#define AUTOIP_DEBUG LWIP_DBG_OFF +#endif + +/** + * SNMP_MSG_DEBUG: Enable debugging for SNMP messages. + */ +#ifndef SNMP_MSG_DEBUG +#define SNMP_MSG_DEBUG LWIP_DBG_OFF +#endif + +/** + * SNMP_MIB_DEBUG: Enable debugging for SNMP MIBs. + */ +#ifndef SNMP_MIB_DEBUG +#define SNMP_MIB_DEBUG LWIP_DBG_OFF +#endif + +/** + * DNS_DEBUG: Enable debugging for DNS. + */ +#ifndef DNS_DEBUG +#define DNS_DEBUG LWIP_DBG_OFF +#endif + +#endif /* __LWIP_OPT_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/pbuf.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/pbuf.h new file mode 100644 index 0000000..8ca61b1 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/pbuf.h @@ -0,0 +1,122 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#ifndef __LWIP_PBUF_H__ +#define __LWIP_PBUF_H__ + +#include "lwip/opt.h" +#include "lwip/err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define PBUF_TRANSPORT_HLEN 20 +#define PBUF_IP_HLEN 20 + +typedef enum { + PBUF_TRANSPORT, + PBUF_IP, + PBUF_LINK, + PBUF_RAW +} pbuf_layer; + +typedef enum { + PBUF_RAM, /* pbuf data is stored in RAM */ + PBUF_ROM, /* pbuf data is stored in ROM */ + PBUF_REF, /* pbuf comes from the pbuf pool */ + PBUF_POOL /* pbuf payload refers to RAM */ +} pbuf_type; + + +/** indicates this packet's data should be immediately passed to the application */ +#define PBUF_FLAG_PUSH 0x01U + +struct pbuf { + /** next pbuf in singly linked pbuf chain */ + struct pbuf *next; + + /** pointer to the actual data in the buffer */ + void *payload; + + /** + * total length of this buffer and all next buffers in chain + * belonging to the same packet. + * + * For non-queue packet chains this is the invariant: + * p->tot_len == p->len + (p->next? p->next->tot_len: 0) + */ + u16_t tot_len; + + /** length of this buffer */ + u16_t len; + + /** pbuf_type as u8_t instead of enum to save space */ + u8_t /*pbuf_type*/ type; + + /** misc flags */ + u8_t flags; + + /** + * the reference count always equals the number of pointers + * that refer to this pbuf. This can be pointers from an application, + * the stack itself, or pbuf->next pointers from a chain. + */ + u16_t ref; + +}; + +/* Initializes the pbuf module. This call is empty for now, but may not be in future. */ +#define pbuf_init() + +struct pbuf *pbuf_alloc(pbuf_layer l, u16_t size, pbuf_type type); +void pbuf_realloc(struct pbuf *p, u16_t size); +u8_t pbuf_header(struct pbuf *p, s16_t header_size); +void pbuf_ref(struct pbuf *p); +void pbuf_ref_chain(struct pbuf *p); +u8_t pbuf_free(struct pbuf *p); +u8_t pbuf_clen(struct pbuf *p); +void pbuf_cat(struct pbuf *head, struct pbuf *tail); +void pbuf_chain(struct pbuf *head, struct pbuf *tail); +struct pbuf *pbuf_dechain(struct pbuf *p); +err_t pbuf_copy(struct pbuf *p_to, struct pbuf *p_from); +u16_t pbuf_copy_partial(struct pbuf *p, void *dataptr, u16_t len, u16_t offset); +err_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len); +struct pbuf *pbuf_coalesce(struct pbuf *p, pbuf_layer layer); + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_PBUF_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/raw.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/raw.h new file mode 100644 index 0000000..545c433 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/raw.h @@ -0,0 +1,99 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_RAW_H__ +#define __LWIP_RAW_H__ + +#include "lwip/opt.h" + +#if LWIP_RAW /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/pbuf.h" +#include "lwip/inet.h" +#include "lwip/ip.h" +#include "lwip/ip_addr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct raw_pcb { +/* Common members of all PCB types */ + IP_PCB; + + struct raw_pcb *next; + + u8_t protocol; + + /* receive callback function + * @param arg user supplied argument (raw_pcb.recv_arg) + * @param pcb the raw_pcb which received data + * @param p the packet buffer that was received + * @param addr the remote IP address from which the packet was received + * @return 1 if the packet was 'eaten' (aka. deleted), + * 0 if the packet lives on + * If returning 1, the callback is responsible for freeing the pbuf + * if it's not used any more. + */ + u8_t (* recv)(void *arg, struct raw_pcb *pcb, struct pbuf *p, + struct ip_addr *addr); + /* user-supplied argument for the recv callback */ + void *recv_arg; +}; + +/* The following functions is the application layer interface to the + RAW code. */ +struct raw_pcb * raw_new (u8_t proto); +void raw_remove (struct raw_pcb *pcb); +err_t raw_bind (struct raw_pcb *pcb, struct ip_addr *ipaddr); +err_t raw_connect (struct raw_pcb *pcb, struct ip_addr *ipaddr); + +void raw_recv (struct raw_pcb *pcb, + u8_t (* recv)(void *arg, struct raw_pcb *pcb, + struct pbuf *p, + struct ip_addr *addr), + void *recv_arg); +err_t raw_sendto (struct raw_pcb *pcb, struct pbuf *p, struct ip_addr *ipaddr); +err_t raw_send (struct raw_pcb *pcb, struct pbuf *p); + +/* The following functions are the lower layer interface to RAW. */ +u8_t raw_input (struct pbuf *p, struct netif *inp); +#define raw_init() /* Compatibility define, not init needed. */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_RAW */ + +#endif /* __LWIP_RAW_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sio.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sio.h new file mode 100644 index 0000000..10eabcf --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sio.h @@ -0,0 +1,143 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + */ + +/* + * This is the interface to the platform specific serial IO module + * It needs to be implemented by those platforms which need SLIP or PPP + */ + +#ifndef __SIO_H__ +#define __SIO_H__ + +#include "lwip/arch.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* If you want to define sio_fd_t elsewhere or differently, + define this in your cc.h file. */ +#ifndef __sio_fd_t_defined +typedef void * sio_fd_t; +#endif + +/* The following functions can be defined to something else in your cc.h file + or be implemented in your custom sio.c file. */ + +#ifndef sio_open +/** + * Opens a serial device for communication. + * + * @param devnum device number + * @return handle to serial device if successful, NULL otherwise + */ +sio_fd_t sio_open(u8_t devnum); +#endif + +#ifndef sio_send +/** + * Sends a single character to the serial device. + * + * @param c character to send + * @param fd serial device handle + * + * @note This function will block until the character can be sent. + */ +void sio_send(u8_t c, sio_fd_t fd); +#endif + +#ifndef sio_recv +/** + * Receives a single character from the serial device. + * + * @param fd serial device handle + * + * @note This function will block until a character is received. + */ +u8_t sio_recv(sio_fd_t fd); +#endif + +#ifndef sio_read +/** + * Reads from the serial device. + * + * @param fd serial device handle + * @param data pointer to data buffer for receiving + * @param len maximum length (in bytes) of data to receive + * @return number of bytes actually received - may be 0 if aborted by sio_read_abort + * + * @note This function will block until data can be received. The blocking + * can be cancelled by calling sio_read_abort(). + */ +u32_t sio_read(sio_fd_t fd, u8_t *data, u32_t len); +#endif + +#ifndef sio_tryread +/** + * Tries to read from the serial device. Same as sio_read but returns + * immediately if no data is available and never blocks. + * + * @param fd serial device handle + * @param data pointer to data buffer for receiving + * @param len maximum length (in bytes) of data to receive + * @return number of bytes actually received + */ +u32_t sio_tryread(sio_fd_t fd, u8_t *data, u32_t len); +#endif + +#ifndef sio_write +/** + * Writes to the serial device. + * + * @param fd serial device handle + * @param data pointer to data to send + * @param len length (in bytes) of data to send + * @return number of bytes actually sent + * + * @note This function will block until all data can be sent. + */ +u32_t sio_write(sio_fd_t fd, u8_t *data, u32_t len); +#endif + +#ifndef sio_read_abort +/** + * Aborts a blocking sio_read() call. + * + * @param fd serial device handle + */ +void sio_read_abort(sio_fd_t fd); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __SIO_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp.h new file mode 100644 index 0000000..b87717f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp.h @@ -0,0 +1,366 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001, 2002 Leon Woestenberg <leon.woestenberg@axon.tv> + * Copyright (c) 2001, 2002 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Leon Woestenberg <leon.woestenberg@axon.tv> + * + */ +#ifndef __LWIP_SNMP_H__ +#define __LWIP_SNMP_H__ + +#include "lwip/opt.h" +#include "lwip/netif.h" +#include "lwip/udp.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @see RFC1213, "MIB-II, 6. Definitions" + */ +enum snmp_ifType { + snmp_ifType_other=1, /* none of the following */ + snmp_ifType_regular1822, + snmp_ifType_hdh1822, + snmp_ifType_ddn_x25, + snmp_ifType_rfc877_x25, + snmp_ifType_ethernet_csmacd, + snmp_ifType_iso88023_csmacd, + snmp_ifType_iso88024_tokenBus, + snmp_ifType_iso88025_tokenRing, + snmp_ifType_iso88026_man, + snmp_ifType_starLan, + snmp_ifType_proteon_10Mbit, + snmp_ifType_proteon_80Mbit, + snmp_ifType_hyperchannel, + snmp_ifType_fddi, + snmp_ifType_lapb, + snmp_ifType_sdlc, + snmp_ifType_ds1, /* T-1 */ + snmp_ifType_e1, /* european equiv. of T-1 */ + snmp_ifType_basicISDN, + snmp_ifType_primaryISDN, /* proprietary serial */ + snmp_ifType_propPointToPointSerial, + snmp_ifType_ppp, + snmp_ifType_softwareLoopback, + snmp_ifType_eon, /* CLNP over IP [11] */ + snmp_ifType_ethernet_3Mbit, + snmp_ifType_nsip, /* XNS over IP */ + snmp_ifType_slip, /* generic SLIP */ + snmp_ifType_ultra, /* ULTRA technologies */ + snmp_ifType_ds3, /* T-3 */ + snmp_ifType_sip, /* SMDS */ + snmp_ifType_frame_relay +}; + +#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */ + +/** SNMP "sysuptime" Interval */ +#define SNMP_SYSUPTIME_INTERVAL 10 + +/** fixed maximum length for object identifier type */ +#define LWIP_SNMP_OBJ_ID_LEN 32 + +/** internal object identifier representation */ +struct snmp_obj_id +{ + u8_t len; + s32_t id[LWIP_SNMP_OBJ_ID_LEN]; +}; + +/* system */ +void snmp_set_sysdesr(u8_t* str, u8_t* len); +void snmp_set_sysobjid(struct snmp_obj_id *oid); +void snmp_get_sysobjid_ptr(struct snmp_obj_id **oid); +void snmp_inc_sysuptime(void); +void snmp_add_sysuptime(u32_t value); +void snmp_get_sysuptime(u32_t *value); +void snmp_set_syscontact(u8_t *ocstr, u8_t *ocstrlen); +void snmp_set_sysname(u8_t *ocstr, u8_t *ocstrlen); +void snmp_set_syslocation(u8_t *ocstr, u8_t *ocstrlen); + +/* network interface */ +void snmp_add_ifinoctets(struct netif *ni, u32_t value); +void snmp_inc_ifinucastpkts(struct netif *ni); +void snmp_inc_ifinnucastpkts(struct netif *ni); +void snmp_inc_ifindiscards(struct netif *ni); +void snmp_add_ifoutoctets(struct netif *ni, u32_t value); +void snmp_inc_ifoutucastpkts(struct netif *ni); +void snmp_inc_ifoutnucastpkts(struct netif *ni); +void snmp_inc_ifoutdiscards(struct netif *ni); +void snmp_inc_iflist(void); +void snmp_dec_iflist(void); + +/* ARP (for atTable and ipNetToMediaTable) */ +void snmp_insert_arpidx_tree(struct netif *ni, struct ip_addr *ip); +void snmp_delete_arpidx_tree(struct netif *ni, struct ip_addr *ip); + +/* IP */ +void snmp_inc_ipinreceives(void); +void snmp_inc_ipinhdrerrors(void); +void snmp_inc_ipinaddrerrors(void); +void snmp_inc_ipforwdatagrams(void); +void snmp_inc_ipinunknownprotos(void); +void snmp_inc_ipindiscards(void); +void snmp_inc_ipindelivers(void); +void snmp_inc_ipoutrequests(void); +void snmp_inc_ipoutdiscards(void); +void snmp_inc_ipoutnoroutes(void); +void snmp_inc_ipreasmreqds(void); +void snmp_inc_ipreasmoks(void); +void snmp_inc_ipreasmfails(void); +void snmp_inc_ipfragoks(void); +void snmp_inc_ipfragfails(void); +void snmp_inc_ipfragcreates(void); +void snmp_inc_iproutingdiscards(void); +void snmp_insert_ipaddridx_tree(struct netif *ni); +void snmp_delete_ipaddridx_tree(struct netif *ni); +void snmp_insert_iprteidx_tree(u8_t dflt, struct netif *ni); +void snmp_delete_iprteidx_tree(u8_t dflt, struct netif *ni); + +/* ICMP */ +void snmp_inc_icmpinmsgs(void); +void snmp_inc_icmpinerrors(void); +void snmp_inc_icmpindestunreachs(void); +void snmp_inc_icmpintimeexcds(void); +void snmp_inc_icmpinparmprobs(void); +void snmp_inc_icmpinsrcquenchs(void); +void snmp_inc_icmpinredirects(void); +void snmp_inc_icmpinechos(void); +void snmp_inc_icmpinechoreps(void); +void snmp_inc_icmpintimestamps(void); +void snmp_inc_icmpintimestampreps(void); +void snmp_inc_icmpinaddrmasks(void); +void snmp_inc_icmpinaddrmaskreps(void); +void snmp_inc_icmpoutmsgs(void); +void snmp_inc_icmpouterrors(void); +void snmp_inc_icmpoutdestunreachs(void); +void snmp_inc_icmpouttimeexcds(void); +void snmp_inc_icmpoutparmprobs(void); +void snmp_inc_icmpoutsrcquenchs(void); +void snmp_inc_icmpoutredirects(void); +void snmp_inc_icmpoutechos(void); +void snmp_inc_icmpoutechoreps(void); +void snmp_inc_icmpouttimestamps(void); +void snmp_inc_icmpouttimestampreps(void); +void snmp_inc_icmpoutaddrmasks(void); +void snmp_inc_icmpoutaddrmaskreps(void); + +/* TCP */ +void snmp_inc_tcpactiveopens(void); +void snmp_inc_tcppassiveopens(void); +void snmp_inc_tcpattemptfails(void); +void snmp_inc_tcpestabresets(void); +void snmp_inc_tcpinsegs(void); +void snmp_inc_tcpoutsegs(void); +void snmp_inc_tcpretranssegs(void); +void snmp_inc_tcpinerrs(void); +void snmp_inc_tcpoutrsts(void); + +/* UDP */ +void snmp_inc_udpindatagrams(void); +void snmp_inc_udpnoports(void); +void snmp_inc_udpinerrors(void); +void snmp_inc_udpoutdatagrams(void); +void snmp_insert_udpidx_tree(struct udp_pcb *pcb); +void snmp_delete_udpidx_tree(struct udp_pcb *pcb); + +/* SNMP */ +void snmp_inc_snmpinpkts(void); +void snmp_inc_snmpoutpkts(void); +void snmp_inc_snmpinbadversions(void); +void snmp_inc_snmpinbadcommunitynames(void); +void snmp_inc_snmpinbadcommunityuses(void); +void snmp_inc_snmpinasnparseerrs(void); +void snmp_inc_snmpintoobigs(void); +void snmp_inc_snmpinnosuchnames(void); +void snmp_inc_snmpinbadvalues(void); +void snmp_inc_snmpinreadonlys(void); +void snmp_inc_snmpingenerrs(void); +void snmp_add_snmpintotalreqvars(u8_t value); +void snmp_add_snmpintotalsetvars(u8_t value); +void snmp_inc_snmpingetrequests(void); +void snmp_inc_snmpingetnexts(void); +void snmp_inc_snmpinsetrequests(void); +void snmp_inc_snmpingetresponses(void); +void snmp_inc_snmpintraps(void); +void snmp_inc_snmpouttoobigs(void); +void snmp_inc_snmpoutnosuchnames(void); +void snmp_inc_snmpoutbadvalues(void); +void snmp_inc_snmpoutgenerrs(void); +void snmp_inc_snmpoutgetrequests(void); +void snmp_inc_snmpoutgetnexts(void); +void snmp_inc_snmpoutsetrequests(void); +void snmp_inc_snmpoutgetresponses(void); +void snmp_inc_snmpouttraps(void); +void snmp_get_snmpgrpid_ptr(struct snmp_obj_id **oid); +void snmp_set_snmpenableauthentraps(u8_t *value); +void snmp_get_snmpenableauthentraps(u8_t *value); + +/* LWIP_SNMP support not available */ +/* define everything to be empty */ +#else + +/* system */ +#define snmp_set_sysdesr(str, len) +#define snmp_set_sysobjid(oid); +#define snmp_get_sysobjid_ptr(oid) +#define snmp_inc_sysuptime() +#define snmp_add_sysuptime(value) +#define snmp_get_sysuptime(value) +#define snmp_set_syscontact(ocstr, ocstrlen); +#define snmp_set_sysname(ocstr, ocstrlen); +#define snmp_set_syslocation(ocstr, ocstrlen); + +/* network interface */ +#define snmp_add_ifinoctets(ni,value) +#define snmp_inc_ifinucastpkts(ni) +#define snmp_inc_ifinnucastpkts(ni) +#define snmp_inc_ifindiscards(ni) +#define snmp_add_ifoutoctets(ni,value) +#define snmp_inc_ifoutucastpkts(ni) +#define snmp_inc_ifoutnucastpkts(ni) +#define snmp_inc_ifoutdiscards(ni) +#define snmp_inc_iflist() +#define snmp_dec_iflist() + +/* ARP */ +#define snmp_insert_arpidx_tree(ni,ip) +#define snmp_delete_arpidx_tree(ni,ip) + +/* IP */ +#define snmp_inc_ipinreceives() +#define snmp_inc_ipinhdrerrors() +#define snmp_inc_ipinaddrerrors() +#define snmp_inc_ipforwdatagrams() +#define snmp_inc_ipinunknownprotos() +#define snmp_inc_ipindiscards() +#define snmp_inc_ipindelivers() +#define snmp_inc_ipoutrequests() +#define snmp_inc_ipoutdiscards() +#define snmp_inc_ipoutnoroutes() +#define snmp_inc_ipreasmreqds() +#define snmp_inc_ipreasmoks() +#define snmp_inc_ipreasmfails() +#define snmp_inc_ipfragoks() +#define snmp_inc_ipfragfails() +#define snmp_inc_ipfragcreates() +#define snmp_inc_iproutingdiscards() +#define snmp_insert_ipaddridx_tree(ni) +#define snmp_delete_ipaddridx_tree(ni) +#define snmp_insert_iprteidx_tree(dflt, ni) +#define snmp_delete_iprteidx_tree(dflt, ni) + +/* ICMP */ +#define snmp_inc_icmpinmsgs() +#define snmp_inc_icmpinerrors() +#define snmp_inc_icmpindestunreachs() +#define snmp_inc_icmpintimeexcds() +#define snmp_inc_icmpinparmprobs() +#define snmp_inc_icmpinsrcquenchs() +#define snmp_inc_icmpinredirects() +#define snmp_inc_icmpinechos() +#define snmp_inc_icmpinechoreps() +#define snmp_inc_icmpintimestamps() +#define snmp_inc_icmpintimestampreps() +#define snmp_inc_icmpinaddrmasks() +#define snmp_inc_icmpinaddrmaskreps() +#define snmp_inc_icmpoutmsgs() +#define snmp_inc_icmpouterrors() +#define snmp_inc_icmpoutdestunreachs() +#define snmp_inc_icmpouttimeexcds() +#define snmp_inc_icmpoutparmprobs() +#define snmp_inc_icmpoutsrcquenchs() +#define snmp_inc_icmpoutredirects() +#define snmp_inc_icmpoutechos() +#define snmp_inc_icmpoutechoreps() +#define snmp_inc_icmpouttimestamps() +#define snmp_inc_icmpouttimestampreps() +#define snmp_inc_icmpoutaddrmasks() +#define snmp_inc_icmpoutaddrmaskreps() +/* TCP */ +#define snmp_inc_tcpactiveopens() +#define snmp_inc_tcppassiveopens() +#define snmp_inc_tcpattemptfails() +#define snmp_inc_tcpestabresets() +#define snmp_inc_tcpinsegs() +#define snmp_inc_tcpoutsegs() +#define snmp_inc_tcpretranssegs() +#define snmp_inc_tcpinerrs() +#define snmp_inc_tcpoutrsts() + +/* UDP */ +#define snmp_inc_udpindatagrams() +#define snmp_inc_udpnoports() +#define snmp_inc_udpinerrors() +#define snmp_inc_udpoutdatagrams() +#define snmp_insert_udpidx_tree(pcb) +#define snmp_delete_udpidx_tree(pcb) + +/* SNMP */ +#define snmp_inc_snmpinpkts() +#define snmp_inc_snmpoutpkts() +#define snmp_inc_snmpinbadversions() +#define snmp_inc_snmpinbadcommunitynames() +#define snmp_inc_snmpinbadcommunityuses() +#define snmp_inc_snmpinasnparseerrs() +#define snmp_inc_snmpintoobigs() +#define snmp_inc_snmpinnosuchnames() +#define snmp_inc_snmpinbadvalues() +#define snmp_inc_snmpinreadonlys() +#define snmp_inc_snmpingenerrs() +#define snmp_add_snmpintotalreqvars(value) +#define snmp_add_snmpintotalsetvars(value) +#define snmp_inc_snmpingetrequests() +#define snmp_inc_snmpingetnexts() +#define snmp_inc_snmpinsetrequests() +#define snmp_inc_snmpingetresponses() +#define snmp_inc_snmpintraps() +#define snmp_inc_snmpouttoobigs() +#define snmp_inc_snmpoutnosuchnames() +#define snmp_inc_snmpoutbadvalues() +#define snmp_inc_snmpoutgenerrs() +#define snmp_inc_snmpoutgetrequests() +#define snmp_inc_snmpoutgetnexts() +#define snmp_inc_snmpoutsetrequests() +#define snmp_inc_snmpoutgetresponses() +#define snmp_inc_snmpouttraps() +#define snmp_get_snmpgrpid_ptr(oid) +#define snmp_set_snmpenableauthentraps(value) +#define snmp_get_snmpenableauthentraps(value) + +#endif /* LWIP_SNMP */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_SNMP_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_asn1.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_asn1.h new file mode 100644 index 0000000..a40d5ef --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_asn1.h @@ -0,0 +1,103 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Abstract Syntax Notation One (ISO 8824, 8825) codec. + */ + +/* + * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * Author: Christiaan Simons <christiaan.simons@axon.tv> + */ + +#ifndef __LWIP_SNMP_ASN1_H__ +#define __LWIP_SNMP_ASN1_H__ + +#include "lwip/opt.h" +#include "lwip/err.h" +#include "lwip/pbuf.h" +#include "lwip/snmp.h" + +#if LWIP_SNMP + +#ifdef __cplusplus +extern "C" { +#endif + +#define SNMP_ASN1_UNIV (!0x80 | !0x40) +#define SNMP_ASN1_APPLIC (!0x80 | 0x40) +#define SNMP_ASN1_CONTXT ( 0x80 | !0x40) + +#define SNMP_ASN1_CONSTR (0x20) +#define SNMP_ASN1_PRIMIT (!0x20) + +/* universal tags */ +#define SNMP_ASN1_INTEG 2 +#define SNMP_ASN1_OC_STR 4 +#define SNMP_ASN1_NUL 5 +#define SNMP_ASN1_OBJ_ID 6 +#define SNMP_ASN1_SEQ 16 + +/* application specific (SNMP) tags */ +#define SNMP_ASN1_IPADDR 0 /* octet string size(4) */ +#define SNMP_ASN1_COUNTER 1 /* u32_t */ +#define SNMP_ASN1_GAUGE 2 /* u32_t */ +#define SNMP_ASN1_TIMETICKS 3 /* u32_t */ +#define SNMP_ASN1_OPAQUE 4 /* octet string */ + +/* context specific (SNMP) tags */ +#define SNMP_ASN1_PDU_GET_REQ 0 +#define SNMP_ASN1_PDU_GET_NEXT_REQ 1 +#define SNMP_ASN1_PDU_GET_RESP 2 +#define SNMP_ASN1_PDU_SET_REQ 3 +#define SNMP_ASN1_PDU_TRAP 4 + +err_t snmp_asn1_dec_type(struct pbuf *p, u16_t ofs, u8_t *type); +err_t snmp_asn1_dec_length(struct pbuf *p, u16_t ofs, u8_t *octets_used, u16_t *length); +err_t snmp_asn1_dec_u32t(struct pbuf *p, u16_t ofs, u16_t len, u32_t *value); +err_t snmp_asn1_dec_s32t(struct pbuf *p, u16_t ofs, u16_t len, s32_t *value); +err_t snmp_asn1_dec_oid(struct pbuf *p, u16_t ofs, u16_t len, struct snmp_obj_id *oid); +err_t snmp_asn1_dec_raw(struct pbuf *p, u16_t ofs, u16_t len, u16_t raw_len, u8_t *raw); + +void snmp_asn1_enc_length_cnt(u16_t length, u8_t *octets_needed); +void snmp_asn1_enc_u32t_cnt(u32_t value, u16_t *octets_needed); +void snmp_asn1_enc_s32t_cnt(s32_t value, u16_t *octets_needed); +void snmp_asn1_enc_oid_cnt(u8_t ident_len, s32_t *ident, u16_t *octets_needed); +err_t snmp_asn1_enc_type(struct pbuf *p, u16_t ofs, u8_t type); +err_t snmp_asn1_enc_length(struct pbuf *p, u16_t ofs, u16_t length); +err_t snmp_asn1_enc_u32t(struct pbuf *p, u16_t ofs, u8_t octets_needed, u32_t value); +err_t snmp_asn1_enc_s32t(struct pbuf *p, u16_t ofs, u8_t octets_needed, s32_t value); +err_t snmp_asn1_enc_oid(struct pbuf *p, u16_t ofs, u8_t ident_len, s32_t *ident); +err_t snmp_asn1_enc_raw(struct pbuf *p, u16_t ofs, u8_t raw_len, u8_t *raw); + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_SNMP */ + +#endif /* __LWIP_SNMP_ASN1_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_msg.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_msg.h new file mode 100644 index 0000000..6e50a61 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_msg.h @@ -0,0 +1,313 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * SNMP Agent message handling structures. + */ + +/* + * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * Author: Christiaan Simons <christiaan.simons@axon.tv> + */ + +#ifndef __LWIP_SNMP_MSG_H__ +#define __LWIP_SNMP_MSG_H__ + +#include "lwip/opt.h" +#include "lwip/snmp.h" +#include "lwip/snmp_structs.h" + +#if LWIP_SNMP + +#if SNMP_PRIVATE_MIB +#include "private_mib.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* The listen port of the SNMP agent. Clients have to make their requests to + this port. Most standard clients won't work if you change this! */ +#ifndef SNMP_IN_PORT +#define SNMP_IN_PORT 161 +#endif +/* The remote port the SNMP agent sends traps to. Most standard trap sinks won't + work if you change this! */ +#ifndef SNMP_TRAP_PORT +#define SNMP_TRAP_PORT 162 +#endif + +#define SNMP_ES_NOERROR 0 +#define SNMP_ES_TOOBIG 1 +#define SNMP_ES_NOSUCHNAME 2 +#define SNMP_ES_BADVALUE 3 +#define SNMP_ES_READONLY 4 +#define SNMP_ES_GENERROR 5 + +#define SNMP_GENTRAP_COLDSTART 0 +#define SNMP_GENTRAP_WARMSTART 1 +#define SNMP_GENTRAP_AUTHFAIL 4 +#define SNMP_GENTRAP_ENTERPRISESPC 6 + +struct snmp_varbind +{ + /* next pointer, NULL for last in list */ + struct snmp_varbind *next; + /* previous pointer, NULL for first in list */ + struct snmp_varbind *prev; + + /* object identifier length (in s32_t) */ + u8_t ident_len; + /* object identifier array */ + s32_t *ident; + + /* object value ASN1 type */ + u8_t value_type; + /* object value length (in u8_t) */ + u8_t value_len; + /* object value */ + void *value; + + /* encoding varbind seq length length */ + u8_t seqlenlen; + /* encoding object identifier length length */ + u8_t olenlen; + /* encoding object value length length */ + u8_t vlenlen; + /* encoding varbind seq length */ + u16_t seqlen; + /* encoding object identifier length */ + u16_t olen; + /* encoding object value length */ + u16_t vlen; +}; + +struct snmp_varbind_root +{ + struct snmp_varbind *head; + struct snmp_varbind *tail; + /* number of variable bindings in list */ + u8_t count; + /* encoding varbind-list seq length length */ + u8_t seqlenlen; + /* encoding varbind-list seq length */ + u16_t seqlen; +}; + +/** output response message header length fields */ +struct snmp_resp_header_lengths +{ + /* encoding error-index length length */ + u8_t erridxlenlen; + /* encoding error-status length length */ + u8_t errstatlenlen; + /* encoding request id length length */ + u8_t ridlenlen; + /* encoding pdu length length */ + u8_t pdulenlen; + /* encoding community length length */ + u8_t comlenlen; + /* encoding version length length */ + u8_t verlenlen; + /* encoding sequence length length */ + u8_t seqlenlen; + + /* encoding error-index length */ + u16_t erridxlen; + /* encoding error-status length */ + u16_t errstatlen; + /* encoding request id length */ + u16_t ridlen; + /* encoding pdu length */ + u16_t pdulen; + /* encoding community length */ + u16_t comlen; + /* encoding version length */ + u16_t verlen; + /* encoding sequence length */ + u16_t seqlen; +}; + +/** output response message header length fields */ +struct snmp_trap_header_lengths +{ + /* encoding timestamp length length */ + u8_t tslenlen; + /* encoding specific-trap length length */ + u8_t strplenlen; + /* encoding generic-trap length length */ + u8_t gtrplenlen; + /* encoding agent-addr length length */ + u8_t aaddrlenlen; + /* encoding enterprise-id length length */ + u8_t eidlenlen; + /* encoding pdu length length */ + u8_t pdulenlen; + /* encoding community length length */ + u8_t comlenlen; + /* encoding version length length */ + u8_t verlenlen; + /* encoding sequence length length */ + u8_t seqlenlen; + + /* encoding timestamp length */ + u16_t tslen; + /* encoding specific-trap length */ + u16_t strplen; + /* encoding generic-trap length */ + u16_t gtrplen; + /* encoding agent-addr length */ + u16_t aaddrlen; + /* encoding enterprise-id length */ + u16_t eidlen; + /* encoding pdu length */ + u16_t pdulen; + /* encoding community length */ + u16_t comlen; + /* encoding version length */ + u16_t verlen; + /* encoding sequence length */ + u16_t seqlen; +}; + +/* Accepting new SNMP messages. */ +#define SNMP_MSG_EMPTY 0 +/* Search for matching object for variable binding. */ +#define SNMP_MSG_SEARCH_OBJ 1 +/* Perform SNMP operation on in-memory object. + Pass-through states, for symmetry only. */ +#define SNMP_MSG_INTERNAL_GET_OBJDEF 2 +#define SNMP_MSG_INTERNAL_GET_VALUE 3 +#define SNMP_MSG_INTERNAL_SET_TEST 4 +#define SNMP_MSG_INTERNAL_GET_OBJDEF_S 5 +#define SNMP_MSG_INTERNAL_SET_VALUE 6 +/* Perform SNMP operation on object located externally. + In theory this could be used for building a proxy agent. + Practical use is for an enterprise spc. app. gateway. */ +#define SNMP_MSG_EXTERNAL_GET_OBJDEF 7 +#define SNMP_MSG_EXTERNAL_GET_VALUE 8 +#define SNMP_MSG_EXTERNAL_SET_TEST 9 +#define SNMP_MSG_EXTERNAL_GET_OBJDEF_S 10 +#define SNMP_MSG_EXTERNAL_SET_VALUE 11 + +#define SNMP_COMMUNITY_STR_LEN 64 +struct snmp_msg_pstat +{ + /* lwIP local port (161) binding */ + struct udp_pcb *pcb; + /* source IP address */ + struct ip_addr sip; + /* source UDP port */ + u16_t sp; + /* request type */ + u8_t rt; + /* request ID */ + s32_t rid; + /* error status */ + s32_t error_status; + /* error index */ + s32_t error_index; + /* community name (zero terminated) */ + u8_t community[SNMP_COMMUNITY_STR_LEN + 1]; + /* community string length (exclusive zero term) */ + u8_t com_strlen; + /* one out of MSG_EMPTY, MSG_DEMUX, MSG_INTERNAL, MSG_EXTERNAL_x */ + u8_t state; + /* saved arguments for MSG_EXTERNAL_x */ + struct mib_external_node *ext_mib_node; + struct snmp_name_ptr ext_name_ptr; + struct obj_def ext_object_def; + struct snmp_obj_id ext_oid; + /* index into input variable binding list */ + u8_t vb_idx; + /* ptr into input variable binding list */ + struct snmp_varbind *vb_ptr; + /* list of variable bindings from input */ + struct snmp_varbind_root invb; + /* list of variable bindings to output */ + struct snmp_varbind_root outvb; + /* output response lengths used in ASN encoding */ + struct snmp_resp_header_lengths rhl; +}; + +struct snmp_msg_trap +{ + /* lwIP local port (161) binding */ + struct udp_pcb *pcb; + /* destination IP address in network order */ + struct ip_addr dip; + + /* source enterprise ID (sysObjectID) */ + struct snmp_obj_id *enterprise; + /* source IP address, raw network order format */ + u8_t sip_raw[4]; + /* generic trap code */ + u32_t gen_trap; + /* specific trap code */ + u32_t spc_trap; + /* timestamp */ + u32_t ts; + /* list of variable bindings to output */ + struct snmp_varbind_root outvb; + /* output trap lengths used in ASN encoding */ + struct snmp_trap_header_lengths thl; +}; + +/** Agent Version constant, 0 = v1 oddity */ +extern const s32_t snmp_version; +/** Agent default "public" community string */ +extern const char snmp_publiccommunity[7]; + +extern struct snmp_msg_trap trap_msg; + +/** Agent setup, start listening to port 161. */ +void snmp_init(void); +void snmp_trap_dst_enable(u8_t dst_idx, u8_t enable); +void snmp_trap_dst_ip_set(u8_t dst_idx, struct ip_addr *dst); + +/** Varbind-list functions. */ +struct snmp_varbind* snmp_varbind_alloc(struct snmp_obj_id *oid, u8_t type, u8_t len); +void snmp_varbind_free(struct snmp_varbind *vb); +void snmp_varbind_list_free(struct snmp_varbind_root *root); +void snmp_varbind_tail_add(struct snmp_varbind_root *root, struct snmp_varbind *vb); +struct snmp_varbind* snmp_varbind_tail_remove(struct snmp_varbind_root *root); + +/** Handle an internal (recv) or external (private response) event. */ +void snmp_msg_event(u8_t request_id); +err_t snmp_send_response(struct snmp_msg_pstat *m_stat); +err_t snmp_send_trap(s8_t generic_trap, struct snmp_obj_id *eoid, s32_t specific_trap); +void snmp_coldstart_trap(void); +void snmp_authfail_trap(void); + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_SNMP */ + +#endif /* __LWIP_SNMP_MSG_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_structs.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_structs.h new file mode 100644 index 0000000..93f4ea3 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/snmp_structs.h @@ -0,0 +1,264 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Generic MIB tree structures. + * + * @todo namespace prefixes + */ + +/* + * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * Author: Christiaan Simons <christiaan.simons@axon.tv> + */ + +#ifndef __LWIP_SNMP_STRUCTS_H__ +#define __LWIP_SNMP_STRUCTS_H__ + +#include "lwip/opt.h" + +#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/snmp.h" + +#if SNMP_PRIVATE_MIB +#include "private_mib.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* MIB object instance */ +#define MIB_OBJECT_NONE 0 +#define MIB_OBJECT_SCALAR 1 +#define MIB_OBJECT_TAB 2 + +/* MIB object access */ +#define MIB_OBJECT_READ_ONLY 0 +#define MIB_OBJECT_READ_WRITE 1 +#define MIB_OBJECT_WRITE_ONLY 2 +#define MIB_OBJECT_NOT_ACCESSIBLE 3 + +/** object definition returned by (get_object_def)() */ +struct obj_def +{ + /* MIB_OBJECT_NONE (0), MIB_OBJECT_SCALAR (1), MIB_OBJECT_TAB (2) */ + u8_t instance; + /* 0 read-only, 1 read-write, 2 write-only, 3 not-accessible */ + u8_t access; + /* ASN type for this object */ + u8_t asn_type; + /* value length (host length) */ + u16_t v_len; + /* length of instance part of supplied object identifier */ + u8_t id_inst_len; + /* instance part of supplied object identifier */ + s32_t *id_inst_ptr; +}; + +struct snmp_name_ptr +{ + u8_t ident_len; + s32_t *ident; +}; + +/** MIB const scalar (.0) node */ +#define MIB_NODE_SC 0x01 +/** MIB const array node */ +#define MIB_NODE_AR 0x02 +/** MIB array node (mem_malloced from RAM) */ +#define MIB_NODE_RA 0x03 +/** MIB list root node (mem_malloced from RAM) */ +#define MIB_NODE_LR 0x04 +/** MIB node for external objects */ +#define MIB_NODE_EX 0x05 + +/** node "base class" layout, the mandatory fields for a node */ +struct mib_node +{ + /** returns struct obj_def for the given object identifier */ + void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od); + /** returns object value for the given object identifier, + @note the caller must allocate at least len bytes for the value */ + void (*get_value)(struct obj_def *od, u16_t len, void *value); + /** tests length and/or range BEFORE setting */ + u8_t (*set_test)(struct obj_def *od, u16_t len, void *value); + /** sets object value, only to be called when set_test() */ + void (*set_value)(struct obj_def *od, u16_t len, void *value); + /** One out of MIB_NODE_AR, MIB_NODE_LR or MIB_NODE_EX */ + const u8_t node_type; + /* array or max list length */ + const u16_t maxlength; +}; + +/** derived node for scalars .0 index */ +typedef struct mib_node mib_scalar_node; + +/** derived node, points to a fixed size const array + of sub-identifiers plus a 'child' pointer */ +struct mib_array_node +{ + /* inherited "base class" members */ + void (* const get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od); + void (* const get_value)(struct obj_def *od, u16_t len, void *value); + u8_t (*set_test)(struct obj_def *od, u16_t len, void *value); + void (*set_value)(struct obj_def *od, u16_t len, void *value); + + const u8_t node_type; + const u16_t maxlength; + + /* aditional struct members */ + const s32_t *objid; + struct mib_node* const *nptr; +}; + +/** derived node, points to a fixed size mem_malloced array + of sub-identifiers plus a 'child' pointer */ +struct mib_ram_array_node +{ + /* inherited "base class" members */ + void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od); + void (*get_value)(struct obj_def *od, u16_t len, void *value); + u8_t (*set_test)(struct obj_def *od, u16_t len, void *value); + void (*set_value)(struct obj_def *od, u16_t len, void *value); + + u8_t node_type; + u16_t maxlength; + + /* aditional struct members */ + s32_t *objid; + struct mib_node **nptr; +}; + +struct mib_list_node +{ + struct mib_list_node *prev; + struct mib_list_node *next; + s32_t objid; + struct mib_node *nptr; +}; + +/** derived node, points to a doubly linked list + of sub-identifiers plus a 'child' pointer */ +struct mib_list_rootnode +{ + /* inherited "base class" members */ + void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od); + void (*get_value)(struct obj_def *od, u16_t len, void *value); + u8_t (*set_test)(struct obj_def *od, u16_t len, void *value); + void (*set_value)(struct obj_def *od, u16_t len, void *value); + + u8_t node_type; + u16_t maxlength; + + /* aditional struct members */ + struct mib_list_node *head; + struct mib_list_node *tail; + /* counts list nodes in list */ + u16_t count; +}; + +/** derived node, has access functions for mib object in external memory or device + using 'tree_level' and 'idx', with a range 0 .. (level_length() - 1) */ +struct mib_external_node +{ + /* inherited "base class" members */ + void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od); + void (*get_value)(struct obj_def *od, u16_t len, void *value); + u8_t (*set_test)(struct obj_def *od, u16_t len, void *value); + void (*set_value)(struct obj_def *od, u16_t len, void *value); + + u8_t node_type; + u16_t maxlength; + + /* aditional struct members */ + /** points to an extenal (in memory) record of some sort of addressing + information, passed to and interpreted by the funtions below */ + void* addr_inf; + /** tree levels under this node */ + u8_t tree_levels; + /** number of objects at this level */ + u16_t (*level_length)(void* addr_inf, u8_t level); + /** compares object sub identifier with external id + return zero when equal, nonzero when unequal */ + s32_t (*ident_cmp)(void* addr_inf, u8_t level, u16_t idx, s32_t sub_id); + void (*get_objid)(void* addr_inf, u8_t level, u16_t idx, s32_t *sub_id); + + /** async Questions */ + void (*get_object_def_q)(void* addr_inf, u8_t rid, u8_t ident_len, s32_t *ident); + void (*get_value_q)(u8_t rid, struct obj_def *od); + void (*set_test_q)(u8_t rid, struct obj_def *od); + void (*set_value_q)(u8_t rid, struct obj_def *od, u16_t len, void *value); + /** async Answers */ + void (*get_object_def_a)(u8_t rid, u8_t ident_len, s32_t *ident, struct obj_def *od); + void (*get_value_a)(u8_t rid, struct obj_def *od, u16_t len, void *value); + u8_t (*set_test_a)(u8_t rid, struct obj_def *od, u16_t len, void *value); + void (*set_value_a)(u8_t rid, struct obj_def *od, u16_t len, void *value); + /** async Panic Close (agent returns error reply, + e.g. used for external transaction cleanup) */ + void (*get_object_def_pc)(u8_t rid, u8_t ident_len, s32_t *ident); + void (*get_value_pc)(u8_t rid, struct obj_def *od); + void (*set_test_pc)(u8_t rid, struct obj_def *od); + void (*set_value_pc)(u8_t rid, struct obj_def *od); +}; + +/** export MIB tree from mib2.c */ +extern const struct mib_array_node internet; + +/** dummy function pointers for non-leaf MIB nodes from mib2.c */ +void noleafs_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od); +void noleafs_get_value(struct obj_def *od, u16_t len, void *value); +u8_t noleafs_set_test(struct obj_def *od, u16_t len, void *value); +void noleafs_set_value(struct obj_def *od, u16_t len, void *value); + +void snmp_oidtoip(s32_t *ident, struct ip_addr *ip); +void snmp_iptooid(struct ip_addr *ip, s32_t *ident); +void snmp_ifindextonetif(s32_t ifindex, struct netif **netif); +void snmp_netiftoifindex(struct netif *netif, s32_t *ifidx); + +struct mib_list_node* snmp_mib_ln_alloc(s32_t id); +void snmp_mib_ln_free(struct mib_list_node *ln); +struct mib_list_rootnode* snmp_mib_lrn_alloc(void); +void snmp_mib_lrn_free(struct mib_list_rootnode *lrn); + +s8_t snmp_mib_node_insert(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_node **insn); +s8_t snmp_mib_node_find(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_node **fn); +struct mib_list_rootnode *snmp_mib_node_delete(struct mib_list_rootnode *rn, struct mib_list_node *n); + +struct mib_node* snmp_search_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snmp_name_ptr *np); +struct mib_node* snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snmp_obj_id *oidret); +u8_t snmp_iso_prefix_tst(u8_t ident_len, s32_t *ident); +u8_t snmp_iso_prefix_expand(u8_t ident_len, s32_t *ident, struct snmp_obj_id *oidret); + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_SNMP */ + +#endif /* __LWIP_SNMP_STRUCTS_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sockets.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sockets.h new file mode 100644 index 0000000..675c1f7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sockets.h @@ -0,0 +1,359 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + + +#ifndef __LWIP_SOCKETS_H__ +#define __LWIP_SOCKETS_H__ + +#include "lwip/opt.h" + +#if LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */ + +#include <stddef.h> /* for size_t */ + +#include "lwip/ip_addr.h" +#include "lwip/inet.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* members are in network byte order */ +struct sockaddr_in { + u8_t sin_len; + u8_t sin_family; + u16_t sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + +struct sockaddr { + u8_t sa_len; + u8_t sa_family; + char sa_data[14]; +}; + +#ifndef socklen_t +# define socklen_t u32_t +#endif + +/* Socket protocol types (TCP/UDP/RAW) */ +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 +#define SOCK_RAW 3 + +/* + * Option flags per-socket. These must match the SOF_ flags in ip.h! + */ +#define SO_DEBUG 0x0001 /* Unimplemented: turn on debugging info recording */ +#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ +#define SO_REUSEADDR 0x0004 /* Unimplemented: allow local address reuse */ +#define SO_KEEPALIVE 0x0008 /* keep connections alive */ +#define SO_DONTROUTE 0x0010 /* Unimplemented: just use interface addresses */ +#define SO_BROADCAST 0x0020 /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */ +#define SO_USELOOPBACK 0x0040 /* Unimplemented: bypass hardware when possible */ +#define SO_LINGER 0x0080 /* linger on close if data present */ +#define SO_OOBINLINE 0x0100 /* Unimplemented: leave received OOB data in line */ +#define SO_REUSEPORT 0x0200 /* Unimplemented: allow local address & port reuse */ + +#define SO_DONTLINGER ((int)(~SO_LINGER)) + +/* + * Additional options, not kept in so_options. + */ +#define SO_SNDBUF 0x1001 /* Unimplemented: send buffer size */ +#define SO_RCVBUF 0x1002 /* receive buffer size */ +#define SO_SNDLOWAT 0x1003 /* Unimplemented: send low-water mark */ +#define SO_RCVLOWAT 0x1004 /* Unimplemented: receive low-water mark */ +#define SO_SNDTIMEO 0x1005 /* Unimplemented: send timeout */ +#define SO_RCVTIMEO 0x1006 /* receive timeout */ +#define SO_ERROR 0x1007 /* get error status and clear */ +#define SO_TYPE 0x1008 /* get socket type */ +#define SO_CONTIMEO 0x1009 /* Unimplemented: connect timeout */ +#define SO_NO_CHECK 0x100a /* don't create UDP checksum */ + + +/* + * Structure used for manipulating linger option. + */ +struct linger { + int l_onoff; /* option on/off */ + int l_linger; /* linger time */ +}; + +/* + * Level number for (get/set)sockopt() to apply to socket itself. + */ +#define SOL_SOCKET 0xfff /* options for socket level */ + + +#define AF_UNSPEC 0 +#define AF_INET 2 +#define PF_INET AF_INET +#define PF_UNSPEC AF_UNSPEC + +#define IPPROTO_IP 0 +#define IPPROTO_TCP 6 +#define IPPROTO_UDP 17 +#define IPPROTO_UDPLITE 136 + +/* Flags we can use with send and recv. */ +#define MSG_PEEK 0x01 /* Peeks at an incoming message */ +#define MSG_WAITALL 0x02 /* Unimplemented: Requests that the function block until the full amount of data requested can be returned */ +#define MSG_OOB 0x04 /* Unimplemented: Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific */ +#define MSG_DONTWAIT 0x08 /* Nonblocking i/o for this operation only */ +#define MSG_MORE 0x10 /* Sender will send more */ + + +/* + * Options for level IPPROTO_IP + */ +#define IP_TOS 1 +#define IP_TTL 2 + +#if LWIP_TCP +/* + * Options for level IPPROTO_TCP + */ +#define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ +#define TCP_KEEPALIVE 0x02 /* send KEEPALIVE probes when idle for pcb->keep_idle milliseconds */ +#define TCP_KEEPIDLE 0x03 /* set pcb->keep_idle - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt */ +#define TCP_KEEPINTVL 0x04 /* set pcb->keep_intvl - Use seconds for get/setsockopt */ +#define TCP_KEEPCNT 0x05 /* set pcb->keep_cnt - Use number of probes sent for get/setsockopt */ +#endif /* LWIP_TCP */ + +#if LWIP_UDP && LWIP_UDPLITE +/* + * Options for level IPPROTO_UDPLITE + */ +#define UDPLITE_SEND_CSCOV 0x01 /* sender checksum coverage */ +#define UDPLITE_RECV_CSCOV 0x02 /* minimal receiver checksum coverage */ +#endif /* LWIP_UDP && LWIP_UDPLITE*/ + + +#if LWIP_IGMP +/* + * Options and types for UDP multicast traffic handling + */ +#define IP_ADD_MEMBERSHIP 3 +#define IP_DROP_MEMBERSHIP 4 +#define IP_MULTICAST_TTL 5 +#define IP_MULTICAST_IF 6 +#define IP_MULTICAST_LOOP 7 + +typedef struct ip_mreq { + struct in_addr imr_multiaddr; /* IP multicast address of group */ + struct in_addr imr_interface; /* local IP address of interface */ +} ip_mreq; +#endif /* LWIP_IGMP */ + +/* + * The Type of Service provides an indication of the abstract + * parameters of the quality of service desired. These parameters are + * to be used to guide the selection of the actual service parameters + * when transmitting a datagram through a particular network. Several + * networks offer service precedence, which somehow treats high + * precedence traffic as more important than other traffic (generally + * by accepting only traffic above a certain precedence at time of high + * load). The major choice is a three way tradeoff between low-delay, + * high-reliability, and high-throughput. + * The use of the Delay, Throughput, and Reliability indications may + * increase the cost (in some sense) of the service. In many networks + * better performance for one of these parameters is coupled with worse + * performance on another. Except for very unusual cases at most two + * of these three indications should be set. + */ +#define IPTOS_TOS_MASK 0x1E +#define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) +#define IPTOS_LOWDELAY 0x10 +#define IPTOS_THROUGHPUT 0x08 +#define IPTOS_RELIABILITY 0x04 +#define IPTOS_LOWCOST 0x02 +#define IPTOS_MINCOST IPTOS_LOWCOST + +/* + * The Network Control precedence designation is intended to be used + * within a network only. The actual use and control of that + * designation is up to each network. The Internetwork Control + * designation is intended for use by gateway control originators only. + * If the actual use of these precedence designations is of concern to + * a particular network, it is the responsibility of that network to + * control the access to, and use of, those precedence designations. + */ +#define IPTOS_PREC_MASK 0xe0 +#define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) +#define IPTOS_PREC_NETCONTROL 0xe0 +#define IPTOS_PREC_INTERNETCONTROL 0xc0 +#define IPTOS_PREC_CRITIC_ECP 0xa0 +#define IPTOS_PREC_FLASHOVERRIDE 0x80 +#define IPTOS_PREC_FLASH 0x60 +#define IPTOS_PREC_IMMEDIATE 0x40 +#define IPTOS_PREC_PRIORITY 0x20 +#define IPTOS_PREC_ROUTINE 0x00 + + +/* + * Commands for ioctlsocket(), taken from the BSD file fcntl.h. + * lwip_ioctl only supports FIONREAD and FIONBIO, for now + * + * Ioctl's have the command encoded in the lower word, + * and the size of any in or out parameters in the upper + * word. The high 2 bits of the upper word are used + * to encode the in/out status of the parameter; for now + * we restrict parameters to at most 128 bytes. + */ +#if !defined(FIONREAD) || !defined(FIONBIO) +#define IOCPARM_MASK 0x7fU /* parameters must be < 128 bytes */ +#define IOC_VOID 0x20000000UL /* no parameters */ +#define IOC_OUT 0x40000000UL /* copy out parameters */ +#define IOC_IN 0x80000000UL /* copy in parameters */ +#define IOC_INOUT (IOC_IN|IOC_OUT) + /* 0x20000000 distinguishes new & + old ioctl's */ +#define _IO(x,y) (IOC_VOID|((x)<<8)|(y)) + +#define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) + +#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) +#endif /* !defined(FIONREAD) || !defined(FIONBIO) */ + +#ifndef FIONREAD +#define FIONREAD _IOR('f', 127, unsigned long) /* get # bytes to read */ +#endif +#ifndef FIONBIO +#define FIONBIO _IOW('f', 126, unsigned long) /* set/clear non-blocking i/o */ +#endif + +/* Socket I/O Controls: unimplemented */ +#ifndef SIOCSHIWAT +#define SIOCSHIWAT _IOW('s', 0, unsigned long) /* set high watermark */ +#define SIOCGHIWAT _IOR('s', 1, unsigned long) /* get high watermark */ +#define SIOCSLOWAT _IOW('s', 2, unsigned long) /* set low watermark */ +#define SIOCGLOWAT _IOR('s', 3, unsigned long) /* get low watermark */ +#define SIOCATMARK _IOR('s', 7, unsigned long) /* at oob mark? */ +#endif + +/* Socket flags: */ +#ifndef O_NONBLOCK +#define O_NONBLOCK 04000U +#endif + +/* FD_SET used for lwip_select */ +#ifndef FD_SET + #undef FD_SETSIZE + /* Make FD_SETSIZE match NUM_SOCKETS in socket.c */ + #define FD_SETSIZE MEMP_NUM_NETCONN + #define FD_SET(n, p) ((p)->fd_bits[(n)/8] |= (1 << ((n) & 7))) + #define FD_CLR(n, p) ((p)->fd_bits[(n)/8] &= ~(1 << ((n) & 7))) + #define FD_ISSET(n,p) ((p)->fd_bits[(n)/8] & (1 << ((n) & 7))) + #define FD_ZERO(p) memset((void*)(p),0,sizeof(*(p))) + + typedef struct fd_set { + unsigned char fd_bits [(FD_SETSIZE+7)/8]; + } fd_set; + +#endif /* FD_SET */ + +/** LWIP_TIMEVAL_PRIVATE: if you want to use the struct timeval provided + * by your system, set this to 0 and include <sys/time.h> in cc.h */ +#ifndef LWIP_TIMEVAL_PRIVATE +#define LWIP_TIMEVAL_PRIVATE 1 +#endif + +#if LWIP_TIMEVAL_PRIVATE +struct timeval { + long tv_sec; /* seconds */ + long tv_usec; /* and microseconds */ +}; +#endif /* LWIP_TIMEVAL_PRIVATE */ + +void lwip_socket_init(void); + +int lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen); +int lwip_bind(int s, const struct sockaddr *name, socklen_t namelen); +int lwip_shutdown(int s, int how); +int lwip_getpeername (int s, struct sockaddr *name, socklen_t *namelen); +int lwip_getsockname (int s, struct sockaddr *name, socklen_t *namelen); +int lwip_getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen); +int lwip_setsockopt (int s, int level, int optname, const void *optval, socklen_t optlen); +int lwip_close(int s); +int lwip_connect(int s, const struct sockaddr *name, socklen_t namelen); +int lwip_listen(int s, int backlog); +int lwip_recv(int s, void *mem, size_t len, int flags); +int lwip_read(int s, void *mem, size_t len); +int lwip_recvfrom(int s, void *mem, size_t len, int flags, + struct sockaddr *from, socklen_t *fromlen); +int lwip_send(int s, const void *dataptr, size_t size, int flags); +int lwip_sendto(int s, const void *dataptr, size_t size, int flags, + const struct sockaddr *to, socklen_t tolen); +int lwip_socket(int domain, int type, int protocol); +int lwip_write(int s, const void *dataptr, size_t size); +int lwip_select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, + struct timeval *timeout); +int lwip_ioctl(int s, long cmd, void *argp); + +#if LWIP_COMPAT_SOCKETS +#define accept(a,b,c) lwip_accept(a,b,c) +#define bind(a,b,c) lwip_bind(a,b,c) +#define shutdown(a,b) lwip_shutdown(a,b) +#define closesocket(s) lwip_close(s) +#define connect(a,b,c) lwip_connect(a,b,c) +#define getsockname(a,b,c) lwip_getsockname(a,b,c) +#define getpeername(a,b,c) lwip_getpeername(a,b,c) +#define setsockopt(a,b,c,d,e) lwip_setsockopt(a,b,c,d,e) +#define getsockopt(a,b,c,d,e) lwip_getsockopt(a,b,c,d,e) +#define listen(a,b) lwip_listen(a,b) +#define recv(a,b,c,d) lwip_recv(a,b,c,d) +#define recvfrom(a,b,c,d,e,f) lwip_recvfrom(a,b,c,d,e,f) +#define send(a,b,c,d) lwip_send(a,b,c,d) +#define sendto(a,b,c,d,e,f) lwip_sendto(a,b,c,d,e,f) +#define socket(a,b,c) lwip_socket(a,b,c) +#define select(a,b,c,d,e) lwip_select(a,b,c,d,e) +#define ioctlsocket(a,b,c) lwip_ioctl(a,b,c) + +#if LWIP_POSIX_SOCKETS_IO_NAMES +#define read(a,b,c) lwip_read(a,b,c) +#define write(a,b,c) lwip_write(a,b,c) +#define close(s) lwip_close(s) +#endif /* LWIP_POSIX_SOCKETS_IO_NAMES */ + +#endif /* LWIP_COMPAT_SOCKETS */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_SOCKET */ + +#endif /* __LWIP_SOCKETS_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/stats.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/stats.h new file mode 100644 index 0000000..4aec5e5 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/stats.h @@ -0,0 +1,285 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_STATS_H__ +#define __LWIP_STATS_H__ + +#include "lwip/opt.h" + +#include "lwip/mem.h" +#include "lwip/memp.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_STATS + +#ifndef LWIP_STATS_LARGE +#define LWIP_STATS_LARGE 0 +#endif + +#if LWIP_STATS_LARGE +#define STAT_COUNTER u32_t +#define STAT_COUNTER_F U32_F +#else +#define STAT_COUNTER u16_t +#define STAT_COUNTER_F U16_F +#endif + +struct stats_proto { + STAT_COUNTER xmit; /* Transmitted packets. */ + STAT_COUNTER recv; /* Received packets. */ + STAT_COUNTER fw; /* Forwarded packets. */ + STAT_COUNTER drop; /* Dropped packets. */ + STAT_COUNTER chkerr; /* Checksum error. */ + STAT_COUNTER lenerr; /* Invalid length error. */ + STAT_COUNTER memerr; /* Out of memory error. */ + STAT_COUNTER rterr; /* Routing error. */ + STAT_COUNTER proterr; /* Protocol error. */ + STAT_COUNTER opterr; /* Error in options. */ + STAT_COUNTER err; /* Misc error. */ + STAT_COUNTER cachehit; +}; + +struct stats_igmp { + STAT_COUNTER lenerr; /* Invalid length error. */ + STAT_COUNTER chkerr; /* Checksum error. */ + STAT_COUNTER v1_rxed; /* */ + STAT_COUNTER join_sent; /* */ + STAT_COUNTER leave_sent; /* */ + STAT_COUNTER unicast_query; /* */ + STAT_COUNTER report_sent; /* */ + STAT_COUNTER report_rxed; /* */ + STAT_COUNTER group_query_rxed; /* */ +}; + +struct stats_mem { + mem_size_t avail; + mem_size_t used; + mem_size_t max; + STAT_COUNTER err; + STAT_COUNTER illegal; +}; + +struct stats_syselem { + STAT_COUNTER used; + STAT_COUNTER max; + STAT_COUNTER err; +}; + +struct stats_sys { + struct stats_syselem sem; + struct stats_syselem mbox; +}; + +struct stats_ { +#if LINK_STATS + struct stats_proto link; +#endif +#if ETHARP_STATS + struct stats_proto etharp; +#endif +#if IPFRAG_STATS + struct stats_proto ip_frag; +#endif +#if IP_STATS + struct stats_proto ip; +#endif +#if ICMP_STATS + struct stats_proto icmp; +#endif +#if IGMP_STATS + struct stats_igmp igmp; +#endif +#if UDP_STATS + struct stats_proto udp; +#endif +#if TCP_STATS + struct stats_proto tcp; +#endif +#if MEM_STATS + struct stats_mem mem; +#endif +#if MEMP_STATS + struct stats_mem memp[MEMP_MAX]; +#endif +#if SYS_STATS + struct stats_sys sys; +#endif +}; + +extern struct stats_ lwip_stats; + +#define stats_init() /* Compatibility define, not init needed. */ + +#define STATS_INC(x) ++lwip_stats.x +#define STATS_DEC(x) --lwip_stats.x +#else +#define stats_init() +#define STATS_INC(x) +#define STATS_DEC(x) +#endif /* LWIP_STATS */ + +#if TCP_STATS +#define TCP_STATS_INC(x) STATS_INC(x) +#define TCP_STATS_DISPLAY() stats_display_proto(&lwip_stats.tcp, "TCP") +#else +#define TCP_STATS_INC(x) +#define TCP_STATS_DISPLAY() +#endif + +#if UDP_STATS +#define UDP_STATS_INC(x) STATS_INC(x) +#define UDP_STATS_DISPLAY() stats_display_proto(&lwip_stats.udp, "UDP") +#else +#define UDP_STATS_INC(x) +#define UDP_STATS_DISPLAY() +#endif + +#if ICMP_STATS +#define ICMP_STATS_INC(x) STATS_INC(x) +#define ICMP_STATS_DISPLAY() stats_display_proto(&lwip_stats.icmp, "ICMP") +#else +#define ICMP_STATS_INC(x) +#define ICMP_STATS_DISPLAY() +#endif + +#if IGMP_STATS +#define IGMP_STATS_INC(x) STATS_INC(x) +#define IGMP_STATS_DISPLAY() stats_display_igmp(&lwip_stats.igmp) +#else +#define IGMP_STATS_INC(x) +#define IGMP_STATS_DISPLAY() +#endif + +#if IP_STATS +#define IP_STATS_INC(x) STATS_INC(x) +#define IP_STATS_DISPLAY() stats_display_proto(&lwip_stats.ip, "IP") +#else +#define IP_STATS_INC(x) +#define IP_STATS_DISPLAY() +#endif + +#if IPFRAG_STATS +#define IPFRAG_STATS_INC(x) STATS_INC(x) +#define IPFRAG_STATS_DISPLAY() stats_display_proto(&lwip_stats.ip_frag, "IP_FRAG") +#else +#define IPFRAG_STATS_INC(x) +#define IPFRAG_STATS_DISPLAY() +#endif + +#if ETHARP_STATS +#define ETHARP_STATS_INC(x) STATS_INC(x) +#define ETHARP_STATS_DISPLAY() stats_display_proto(&lwip_stats.etharp, "ETHARP") +#else +#define ETHARP_STATS_INC(x) +#define ETHARP_STATS_DISPLAY() +#endif + +#if LINK_STATS +#define LINK_STATS_INC(x) STATS_INC(x) +#define LINK_STATS_DISPLAY() stats_display_proto(&lwip_stats.link, "LINK") +#else +#define LINK_STATS_INC(x) +#define LINK_STATS_DISPLAY() +#endif + +#if MEM_STATS +#define MEM_STATS_AVAIL(x, y) lwip_stats.mem.x = y +#define MEM_STATS_INC(x) STATS_INC(mem.x) +#define MEM_STATS_INC_USED(x, y) do { lwip_stats.mem.used += y; \ + if (lwip_stats.mem.max < lwip_stats.mem.used) { \ + lwip_stats.mem.max = lwip_stats.mem.used; \ + } \ + } while(0) +#define MEM_STATS_DEC_USED(x, y) lwip_stats.mem.x -= y +#define MEM_STATS_DISPLAY() stats_display_mem(&lwip_stats.mem, "HEAP") +#else +#define MEM_STATS_AVAIL(x, y) +#define MEM_STATS_INC(x) +#define MEM_STATS_INC_USED(x, y) +#define MEM_STATS_DEC_USED(x, y) +#define MEM_STATS_DISPLAY() +#endif + +#if MEMP_STATS +#define MEMP_STATS_AVAIL(x, i, y) lwip_stats.memp[i].x = y +#define MEMP_STATS_INC(x, i) STATS_INC(memp[i].x) +#define MEMP_STATS_DEC(x, i) STATS_DEC(memp[i].x) +#define MEMP_STATS_INC_USED(x, i) do { ++lwip_stats.memp[i].used; \ + if (lwip_stats.memp[i].max < lwip_stats.memp[i].used) { \ + lwip_stats.memp[i].max = lwip_stats.memp[i].used; \ + } \ + } while(0) +#define MEMP_STATS_DISPLAY(i) stats_display_memp(&lwip_stats.memp[i], i) +#else +#define MEMP_STATS_AVAIL(x, i, y) +#define MEMP_STATS_INC(x, i) +#define MEMP_STATS_DEC(x, i) +#define MEMP_STATS_INC_USED(x, i) +#define MEMP_STATS_DISPLAY(i) +#endif + +#if SYS_STATS +#define SYS_STATS_INC(x) STATS_INC(sys.x) +#define SYS_STATS_DEC(x) STATS_DEC(sys.x) +#define SYS_STATS_DISPLAY() stats_display_sys(&lwip_stats.sys) +#else +#define SYS_STATS_INC(x) +#define SYS_STATS_DEC(x) +#define SYS_STATS_DISPLAY() +#endif + +/* Display of statistics */ +#if LWIP_STATS_DISPLAY +void stats_display(void); +void stats_display_proto(struct stats_proto *proto, char *name); +void stats_display_igmp(struct stats_igmp *igmp); +void stats_display_mem(struct stats_mem *mem, char *name); +void stats_display_memp(struct stats_mem *mem, int index); +void stats_display_sys(struct stats_sys *sys); +#else +#define stats_display() +#define stats_display_proto(proto, name) +#define stats_display_igmp(igmp) +#define stats_display_mem(mem, name) +#define stats_display_memp(mem, index) +#define stats_display_sys(sys) +#endif /* LWIP_STATS_DISPLAY */ + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_STATS_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sys.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sys.h new file mode 100644 index 0000000..9a4f02a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/sys.h @@ -0,0 +1,245 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_SYS_H__ +#define __LWIP_SYS_H__ + +#include "lwip/opt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if NO_SYS + +/* For a totally minimal and standalone system, we provide null + definitions of the sys_ functions. */ +typedef u8_t sys_sem_t; +typedef u8_t sys_mbox_t; +struct sys_timeo {u8_t dummy;}; + +#define sys_init() +#define sys_timeout(m,h,a) +#define sys_untimeout(m,a) +#define sys_sem_new(c) c +#define sys_sem_signal(s) +#define sys_sem_wait(s) +#define sys_sem_wait_timeout(s,t) +#define sys_arch_sem_wait(s,t) +#define sys_sem_free(s) +#define sys_mbox_new(s) 0 +#define sys_mbox_fetch(m,d) +#define sys_mbox_tryfetch(m,d) +#define sys_mbox_post(m,d) +#define sys_mbox_trypost(m,d) +#define sys_mbox_free(m) + +#define sys_thread_new(n,t,a,s,p) + +#else /* NO_SYS */ + +/** Return code for timeouts from sys_arch_mbox_fetch and sys_arch_sem_wait */ +#define SYS_ARCH_TIMEOUT 0xffffffffUL + +/* sys_mbox_tryfetch returns SYS_MBOX_EMPTY if appropriate. + * For now we use the same magic value, but we allow this to change in future. + */ +#define SYS_MBOX_EMPTY SYS_ARCH_TIMEOUT + +#include "lwip/err.h" +#include "arch/sys_arch.h" + +typedef void (* sys_timeout_handler)(void *arg); + +struct sys_timeo { + struct sys_timeo *next; + u32_t time; + sys_timeout_handler h; + void *arg; +}; + +struct sys_timeouts { + struct sys_timeo *next; +}; + +/* sys_init() must be called before anthing else. */ +void sys_init(void); + +/* + * sys_timeout(): + * + * Schedule a timeout a specified amount of milliseconds in the + * future. When the timeout occurs, the specified timeout handler will + * be called. The handler will be passed the "arg" argument when + * called. + * + */ +void sys_timeout(u32_t msecs, sys_timeout_handler h, void *arg); +void sys_untimeout(sys_timeout_handler h, void *arg); +struct sys_timeouts *sys_arch_timeouts(void); + +/* Semaphore functions. */ +sys_sem_t sys_sem_new(u8_t count); +void sys_sem_signal(sys_sem_t sem); +u32_t sys_arch_sem_wait(sys_sem_t sem, u32_t timeout); +void sys_sem_free(sys_sem_t sem); +void sys_sem_wait(sys_sem_t sem); +int sys_sem_wait_timeout(sys_sem_t sem, u32_t timeout); + +/* Time functions. */ +#ifndef sys_msleep +void sys_msleep(u32_t ms); /* only has a (close to) 1 jiffy resolution. */ +#endif +#ifndef sys_jiffies +u32_t sys_jiffies(void); /* since power up. */ +#endif + +/* Mailbox functions. */ +sys_mbox_t sys_mbox_new(int size); +void sys_mbox_post(sys_mbox_t mbox, void *msg); +err_t sys_mbox_trypost(sys_mbox_t mbox, void *msg); +u32_t sys_arch_mbox_fetch(sys_mbox_t mbox, void **msg, u32_t timeout); +#ifndef sys_arch_mbox_tryfetch /* Allow port to override with a macro */ +u32_t sys_arch_mbox_tryfetch(sys_mbox_t mbox, void **msg); +#endif +/* For now, we map straight to sys_arch implementation. */ +#define sys_mbox_tryfetch(mbox, msg) sys_arch_mbox_tryfetch(mbox, msg) +void sys_mbox_free(sys_mbox_t mbox); +void sys_mbox_fetch(sys_mbox_t mbox, void **msg); + +/* Thread functions. */ +sys_thread_t sys_thread_new(char *name, void (* thread)(void *arg), void *arg, int stacksize, int prio); + +#endif /* NO_SYS */ + +/** Returns the current time in milliseconds. */ +u32_t sys_now(void); + +/* Critical Region Protection */ +/* These functions must be implemented in the sys_arch.c file. + In some implementations they can provide a more light-weight protection + mechanism than using semaphores. Otherwise semaphores can be used for + implementation */ +#ifndef SYS_ARCH_PROTECT +/** SYS_LIGHTWEIGHT_PROT + * define SYS_LIGHTWEIGHT_PROT in lwipopts.h if you want inter-task protection + * for certain critical regions during buffer allocation, deallocation and memory + * allocation and deallocation. + */ +#if SYS_LIGHTWEIGHT_PROT + +/** SYS_ARCH_DECL_PROTECT + * declare a protection variable. This macro will default to defining a variable of + * type sys_prot_t. If a particular port needs a different implementation, then + * this macro may be defined in sys_arch.h. + */ +#define SYS_ARCH_DECL_PROTECT(lev) sys_prot_t lev +/** SYS_ARCH_PROTECT + * Perform a "fast" protect. This could be implemented by + * disabling interrupts for an embedded system or by using a semaphore or + * mutex. The implementation should allow calling SYS_ARCH_PROTECT when + * already protected. The old protection level is returned in the variable + * "lev". This macro will default to calling the sys_arch_protect() function + * which should be implemented in sys_arch.c. If a particular port needs a + * different implementation, then this macro may be defined in sys_arch.h + */ +#define SYS_ARCH_PROTECT(lev) lev = sys_arch_protect() +/** SYS_ARCH_UNPROTECT + * Perform a "fast" set of the protection level to "lev". This could be + * implemented by setting the interrupt level to "lev" within the MACRO or by + * using a semaphore or mutex. This macro will default to calling the + * sys_arch_unprotect() function which should be implemented in + * sys_arch.c. If a particular port needs a different implementation, then + * this macro may be defined in sys_arch.h + */ +#define SYS_ARCH_UNPROTECT(lev) sys_arch_unprotect(lev) +sys_prot_t sys_arch_protect(void); +void sys_arch_unprotect(sys_prot_t pval); + +#else + +#define SYS_ARCH_DECL_PROTECT(lev) +#define SYS_ARCH_PROTECT(lev) +#define SYS_ARCH_UNPROTECT(lev) + +#endif /* SYS_LIGHTWEIGHT_PROT */ + +#endif /* SYS_ARCH_PROTECT */ + +/* + * Macros to set/get and increase/decrease variables in a thread-safe way. + * Use these for accessing variable that are used from more than one thread. + */ + +#ifndef SYS_ARCH_INC +#define SYS_ARCH_INC(var, val) do { \ + SYS_ARCH_DECL_PROTECT(old_level); \ + SYS_ARCH_PROTECT(old_level); \ + var += val; \ + SYS_ARCH_UNPROTECT(old_level); \ + } while(0) +#endif /* SYS_ARCH_INC */ + +#ifndef SYS_ARCH_DEC +#define SYS_ARCH_DEC(var, val) do { \ + SYS_ARCH_DECL_PROTECT(old_level); \ + SYS_ARCH_PROTECT(old_level); \ + var -= val; \ + SYS_ARCH_UNPROTECT(old_level); \ + } while(0) +#endif /* SYS_ARCH_DEC */ + +#ifndef SYS_ARCH_GET +#define SYS_ARCH_GET(var, ret) do { \ + SYS_ARCH_DECL_PROTECT(old_level); \ + SYS_ARCH_PROTECT(old_level); \ + ret = var; \ + SYS_ARCH_UNPROTECT(old_level); \ + } while(0) +#endif /* SYS_ARCH_GET */ + +#ifndef SYS_ARCH_SET +#define SYS_ARCH_SET(var, val) do { \ + SYS_ARCH_DECL_PROTECT(old_level); \ + SYS_ARCH_PROTECT(old_level); \ + var = val; \ + SYS_ARCH_UNPROTECT(old_level); \ + } while(0) +#endif /* SYS_ARCH_SET */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_SYS_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/tcp.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/tcp.h new file mode 100644 index 0000000..c151574 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/tcp.h @@ -0,0 +1,709 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_TCP_H__ +#define __LWIP_TCP_H__ + +#include "lwip/opt.h" + +#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/sys.h" +#include "lwip/mem.h" +#include "lwip/pbuf.h" +#include "lwip/ip.h" +#include "lwip/icmp.h" +#include "lwip/err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct tcp_pcb; + +/* Functions for interfacing with TCP: */ + +/* Lower layer interface to TCP: */ +#define tcp_init() /* Compatibility define, not init needed. */ +void tcp_tmr (void); /* Must be called every + TCP_TMR_INTERVAL + ms. (Typically 250 ms). */ +/* Application program's interface: */ +struct tcp_pcb * tcp_new (void); +struct tcp_pcb * tcp_alloc (u8_t prio); + +void tcp_arg (struct tcp_pcb *pcb, void *arg); +void tcp_accept (struct tcp_pcb *pcb, + err_t (* accept)(void *arg, struct tcp_pcb *newpcb, + err_t err)); +void tcp_recv (struct tcp_pcb *pcb, + err_t (* recv)(void *arg, struct tcp_pcb *tpcb, + struct pbuf *p, err_t err)); +void tcp_sent (struct tcp_pcb *pcb, + err_t (* sent)(void *arg, struct tcp_pcb *tpcb, + u16_t len)); +void tcp_poll (struct tcp_pcb *pcb, + err_t (* poll)(void *arg, struct tcp_pcb *tpcb), + u8_t interval); +void tcp_err (struct tcp_pcb *pcb, + void (* err)(void *arg, err_t err)); + +#define tcp_mss(pcb) ((pcb)->mss) +#define tcp_sndbuf(pcb) ((pcb)->snd_buf) +#define tcp_nagle_disable(pcb) ((pcb)->flags |= TF_NODELAY) +#define tcp_nagle_enable(pcb) ((pcb)->flags &= ~TF_NODELAY) +#define tcp_nagle_disabled(pcb) (((pcb)->flags & TF_NODELAY) != 0) + +#if TCP_LISTEN_BACKLOG +#define tcp_accepted(pcb) (((struct tcp_pcb_listen *)(pcb))->accepts_pending--) +#else /* TCP_LISTEN_BACKLOG */ +#define tcp_accepted(pcb) +#endif /* TCP_LISTEN_BACKLOG */ + +void tcp_recved (struct tcp_pcb *pcb, u16_t len); +err_t tcp_bind (struct tcp_pcb *pcb, struct ip_addr *ipaddr, + u16_t port); +err_t tcp_connect (struct tcp_pcb *pcb, struct ip_addr *ipaddr, + u16_t port, err_t (* connected)(void *arg, + struct tcp_pcb *tpcb, + err_t err)); + +struct tcp_pcb * tcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog); +#define tcp_listen(pcb) tcp_listen_with_backlog(pcb, TCP_DEFAULT_LISTEN_BACKLOG) + +void tcp_abandon (struct tcp_pcb *pcb, int reset); +#define tcp_abort(pcb) tcp_abandon((pcb), 1) +err_t tcp_close (struct tcp_pcb *pcb); + +/* Flags for "apiflags" parameter in tcp_write and tcp_enqueue */ +#define TCP_WRITE_FLAG_COPY 0x01 +#define TCP_WRITE_FLAG_MORE 0x02 + +err_t tcp_write (struct tcp_pcb *pcb, const void *dataptr, u16_t len, + u8_t apiflags); + +void tcp_setprio (struct tcp_pcb *pcb, u8_t prio); + +#define TCP_PRIO_MIN 1 +#define TCP_PRIO_NORMAL 64 +#define TCP_PRIO_MAX 127 + +/* It is also possible to call these two functions at the right + intervals (instead of calling tcp_tmr()). */ +void tcp_slowtmr (void); +void tcp_fasttmr (void); + + +/* Only used by IP to pass a TCP segment to TCP: */ +void tcp_input (struct pbuf *p, struct netif *inp); +/* Used within the TCP code only: */ +err_t tcp_send_empty_ack(struct tcp_pcb *pcb); +err_t tcp_output (struct tcp_pcb *pcb); +void tcp_rexmit (struct tcp_pcb *pcb); +void tcp_rexmit_rto (struct tcp_pcb *pcb); +void tcp_rexmit_fast (struct tcp_pcb *pcb); +u32_t tcp_update_rcv_ann_wnd(struct tcp_pcb *pcb); + +/** + * This is the Nagle algorithm: try to combine user data to send as few TCP + * segments as possible. Only send if + * - no previously transmitted data on the connection remains unacknowledged or + * - the TF_NODELAY flag is set (nagle algorithm turned off for this pcb) or + * - the only unsent segment is at least pcb->mss bytes long (or there is more + * than one unsent segment - with lwIP, this can happen although unsent->len < mss) + * - or if we are in fast-retransmit (TF_INFR) + */ +#define tcp_do_output_nagle(tpcb) ((((tpcb)->unacked == NULL) || \ + ((tpcb)->flags & (TF_NODELAY | TF_INFR)) || \ + (((tpcb)->unsent != NULL) && (((tpcb)->unsent->next != NULL) || \ + ((tpcb)->unsent->len >= (tpcb)->mss))) \ + ) ? 1 : 0) +#define tcp_output_nagle(tpcb) (tcp_do_output_nagle(tpcb) ? tcp_output(tpcb) : ERR_OK) + + +#define TCP_SEQ_LT(a,b) ((s32_t)((a)-(b)) < 0) +#define TCP_SEQ_LEQ(a,b) ((s32_t)((a)-(b)) <= 0) +#define TCP_SEQ_GT(a,b) ((s32_t)((a)-(b)) > 0) +#define TCP_SEQ_GEQ(a,b) ((s32_t)((a)-(b)) >= 0) +/* is b<=a<=c? */ +#if 0 /* see bug #10548 */ +#define TCP_SEQ_BETWEEN(a,b,c) ((c)-(b) >= (a)-(b)) +#endif +#define TCP_SEQ_BETWEEN(a,b,c) (TCP_SEQ_GEQ(a,b) && TCP_SEQ_LEQ(a,c)) +#define TCP_FIN 0x01U +#define TCP_SYN 0x02U +#define TCP_RST 0x04U +#define TCP_PSH 0x08U +#define TCP_ACK 0x10U +#define TCP_URG 0x20U +#define TCP_ECE 0x40U +#define TCP_CWR 0x80U + +#define TCP_FLAGS 0x3fU + +/* Length of the TCP header, excluding options. */ +#define TCP_HLEN 20 + +#ifndef TCP_TMR_INTERVAL +#define TCP_TMR_INTERVAL 250 /* The TCP timer interval in milliseconds. */ +#endif /* TCP_TMR_INTERVAL */ + +#ifndef TCP_FAST_INTERVAL +#define TCP_FAST_INTERVAL TCP_TMR_INTERVAL /* the fine grained timeout in milliseconds */ +#endif /* TCP_FAST_INTERVAL */ + +#ifndef TCP_SLOW_INTERVAL +#define TCP_SLOW_INTERVAL (2*TCP_TMR_INTERVAL) /* the coarse grained timeout in milliseconds */ +#endif /* TCP_SLOW_INTERVAL */ + +#define TCP_FIN_WAIT_TIMEOUT 20000 /* milliseconds */ +#define TCP_SYN_RCVD_TIMEOUT 20000 /* milliseconds */ + +#define TCP_OOSEQ_TIMEOUT 6U /* x RTO */ + +#ifndef TCP_MSL +#define TCP_MSL 60000UL /* The maximum segment lifetime in milliseconds */ +#endif + +/* Keepalive values, compliant with RFC 1122. Don't change this unless you know what you're doing */ +#ifndef TCP_KEEPIDLE_DEFAULT +#define TCP_KEEPIDLE_DEFAULT 7200000UL /* Default KEEPALIVE timer in milliseconds */ +#endif + +#ifndef TCP_KEEPINTVL_DEFAULT +#define TCP_KEEPINTVL_DEFAULT 75000UL /* Default Time between KEEPALIVE probes in milliseconds */ +#endif + +#ifndef TCP_KEEPCNT_DEFAULT +#define TCP_KEEPCNT_DEFAULT 9U /* Default Counter for KEEPALIVE probes */ +#endif + +#define TCP_MAXIDLE TCP_KEEPCNT_DEFAULT * TCP_KEEPINTVL_DEFAULT /* Maximum KEEPALIVE probe time */ + +/* Fields are (of course) in network byte order. + * Some fields are converted to host byte order in tcp_input(). + */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct tcp_hdr { + PACK_STRUCT_FIELD(u16_t src); + PACK_STRUCT_FIELD(u16_t dest); + PACK_STRUCT_FIELD(u32_t seqno); + PACK_STRUCT_FIELD(u32_t ackno); + PACK_STRUCT_FIELD(u16_t _hdrlen_rsvd_flags); + PACK_STRUCT_FIELD(u16_t wnd); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u16_t urgp); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define TCPH_OFFSET(phdr) (ntohs((phdr)->_hdrlen_rsvd_flags) >> 8) +#define TCPH_HDRLEN(phdr) (ntohs((phdr)->_hdrlen_rsvd_flags) >> 12) +#define TCPH_FLAGS(phdr) (ntohs((phdr)->_hdrlen_rsvd_flags) & TCP_FLAGS) + +#define TCPH_OFFSET_SET(phdr, offset) (phdr)->_hdrlen_rsvd_flags = htons(((offset) << 8) | TCPH_FLAGS(phdr)) +#define TCPH_HDRLEN_SET(phdr, len) (phdr)->_hdrlen_rsvd_flags = htons(((len) << 12) | TCPH_FLAGS(phdr)) +#define TCPH_FLAGS_SET(phdr, flags) (phdr)->_hdrlen_rsvd_flags = (((phdr)->_hdrlen_rsvd_flags & htons((u16_t)(~(u16_t)(TCP_FLAGS)))) | htons(flags)) +#define TCPH_SET_FLAG(phdr, flags ) (phdr)->_hdrlen_rsvd_flags = ((phdr)->_hdrlen_rsvd_flags | htons(flags)) +#define TCPH_UNSET_FLAG(phdr, flags) (phdr)->_hdrlen_rsvd_flags = htons(ntohs((phdr)->_hdrlen_rsvd_flags) | (TCPH_FLAGS(phdr) & ~(flags)) ) + +#define TCP_TCPLEN(seg) ((seg)->len + ((TCPH_FLAGS((seg)->tcphdr) & (TCP_FIN | TCP_SYN)) != 0)) + +enum tcp_state { + CLOSED = 0, + LISTEN = 1, + SYN_SENT = 2, + SYN_RCVD = 3, + ESTABLISHED = 4, + FIN_WAIT_1 = 5, + FIN_WAIT_2 = 6, + CLOSE_WAIT = 7, + CLOSING = 8, + LAST_ACK = 9, + TIME_WAIT = 10 +}; + +/** Flags used on input processing, not on pcb->flags +*/ +#define TF_RESET (u8_t)0x08U /* Connection was reset. */ +#define TF_CLOSED (u8_t)0x10U /* Connection was sucessfully closed. */ +#define TF_GOT_FIN (u8_t)0x20U /* Connection was closed by the remote end. */ + + +#if LWIP_CALLBACK_API + /* Function to call when a listener has been connected. + * @param arg user-supplied argument (tcp_pcb.callback_arg) + * @param pcb a new tcp_pcb that now is connected + * @param err an error argument (TODO: that is current always ERR_OK?) + * @return ERR_OK: accept the new connection, + * any other err_t abortsthe new connection + */ +#define DEF_ACCEPT_CALLBACK err_t (* accept)(void *arg, struct tcp_pcb *newpcb, err_t err) +#else /* LWIP_CALLBACK_API */ +#define DEF_ACCEPT_CALLBACK +#endif /* LWIP_CALLBACK_API */ + +/** + * members common to struct tcp_pcb and struct tcp_listen_pcb + */ +#define TCP_PCB_COMMON(type) \ + type *next; /* for the linked list */ \ + enum tcp_state state; /* TCP state */ \ + u8_t prio; \ + void *callback_arg; \ + /* ports are in host byte order */ \ + u16_t local_port; \ + /* the accept callback for listen- and normal pcbs, if LWIP_CALLBACK_API */ \ + DEF_ACCEPT_CALLBACK + + +/* the TCP protocol control block */ +struct tcp_pcb { +/** common PCB members */ + IP_PCB; +/** protocol specific PCB members */ + TCP_PCB_COMMON(struct tcp_pcb); + + /* ports are in host byte order */ + u16_t remote_port; + + u8_t flags; +#define TF_ACK_DELAY ((u8_t)0x01U) /* Delayed ACK. */ +#define TF_ACK_NOW ((u8_t)0x02U) /* Immediate ACK. */ +#define TF_INFR ((u8_t)0x04U) /* In fast recovery. */ +#define TF_TIMESTAMP ((u8_t)0x08U) /* Timestamp option enabled */ +#define TF_FIN ((u8_t)0x20U) /* Connection was closed locally (FIN segment enqueued). */ +#define TF_NODELAY ((u8_t)0x40U) /* Disable Nagle algorithm */ +#define TF_NAGLEMEMERR ((u8_t)0x80U) /* nagle enabled, memerr, try to output to prevent delayed ACK to happen */ + + /* the rest of the fields are in host byte order + as we have to do some math with them */ + /* receiver variables */ + u32_t rcv_nxt; /* next seqno expected */ + u16_t rcv_wnd; /* receiver window available */ + u16_t rcv_ann_wnd; /* receiver window to announce */ + u32_t rcv_ann_right_edge; /* announced right edge of window */ + + /* Timers */ + u32_t tmr; + u8_t polltmr, pollinterval; + + /* Retransmission timer. */ + s16_t rtime; + + u16_t mss; /* maximum segment size */ + + /* RTT (round trip time) estimation variables */ + u32_t rttest; /* RTT estimate in 500ms ticks */ + u32_t rtseq; /* sequence number being timed */ + s16_t sa, sv; /* @todo document this */ + + s16_t rto; /* retransmission time-out */ + u8_t nrtx; /* number of retransmissions */ + + /* fast retransmit/recovery */ + u32_t lastack; /* Highest acknowledged seqno. */ + u8_t dupacks; + + /* congestion avoidance/control variables */ + u16_t cwnd; + u16_t ssthresh; + + /* sender variables */ + u32_t snd_nxt; /* next new seqno to be sent */ + u16_t snd_wnd; /* sender window */ + u32_t snd_wl1, snd_wl2; /* Sequence and acknowledgement numbers of last + window update. */ + u32_t snd_lbb; /* Sequence number of next byte to be buffered. */ + + u16_t acked; + + u16_t snd_buf; /* Available buffer space for sending (in bytes). */ +#define TCP_SNDQUEUELEN_OVERFLOW (0xffff-3) + u16_t snd_queuelen; /* Available buffer space for sending (in tcp_segs). */ + + + /* These are ordered by sequence number: */ + struct tcp_seg *unsent; /* Unsent (queued) segments. */ + struct tcp_seg *unacked; /* Sent but unacknowledged segments. */ +#if TCP_QUEUE_OOSEQ + struct tcp_seg *ooseq; /* Received out of sequence segments. */ +#endif /* TCP_QUEUE_OOSEQ */ + + struct pbuf *refused_data; /* Data previously received but not yet taken by upper layer */ + +#if LWIP_CALLBACK_API + /* Function to be called when more send buffer space is available. + * @param arg user-supplied argument (tcp_pcb.callback_arg) + * @param pcb the tcp_pcb which has send buffer space available + * @param space the amount of bytes available + * @return ERR_OK: try to send some data by calling tcp_output + */ + err_t (* sent)(void *arg, struct tcp_pcb *pcb, u16_t space); + + /* Function to be called when (in-sequence) data has arrived. + * @param arg user-supplied argument (tcp_pcb.callback_arg) + * @param pcb the tcp_pcb for which data has arrived + * @param p the packet buffer which arrived + * @param err an error argument (TODO: that is current always ERR_OK?) + * @return ERR_OK: try to send some data by calling tcp_output + */ + err_t (* recv)(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err); + + /* Function to be called when a connection has been set up. + * @param arg user-supplied argument (tcp_pcb.callback_arg) + * @param pcb the tcp_pcb that now is connected + * @param err an error argument (TODO: that is current always ERR_OK?) + * @return value is currently ignored + */ + err_t (* connected)(void *arg, struct tcp_pcb *pcb, err_t err); + + /* Function which is called periodically. + * The period can be adjusted in multiples of the TCP slow timer interval + * by changing tcp_pcb.polltmr. + * @param arg user-supplied argument (tcp_pcb.callback_arg) + * @param pcb the tcp_pcb to poll for + * @return ERR_OK: try to send some data by calling tcp_output + */ + err_t (* poll)(void *arg, struct tcp_pcb *pcb); + + /* Function to be called whenever a fatal error occurs. + * There is no pcb parameter since most of the times, the pcb is + * already deallocated (or there is no pcb) when this function is called. + * @param arg user-supplied argument (tcp_pcb.callback_arg) + * @param err an indication why the error callback is called: + * ERR_ABRT: aborted through tcp_abort or by a TCP timer + * ERR_RST: the connection was reset by the remote host + */ + void (* errf)(void *arg, err_t err); +#endif /* LWIP_CALLBACK_API */ + +#if LWIP_TCP_TIMESTAMPS + u32_t ts_lastacksent; + u32_t ts_recent; +#endif /* LWIP_TCP_TIMESTAMPS */ + + /* idle time before KEEPALIVE is sent */ + u32_t keep_idle; +#if LWIP_TCP_KEEPALIVE + u32_t keep_intvl; + u32_t keep_cnt; +#endif /* LWIP_TCP_KEEPALIVE */ + + /* Persist timer counter */ + u32_t persist_cnt; + /* Persist timer back-off */ + u8_t persist_backoff; + + /* KEEPALIVE counter */ + u8_t keep_cnt_sent; +}; + +struct tcp_pcb_listen { +/* Common members of all PCB types */ + IP_PCB; +/* Protocol specific PCB members */ + TCP_PCB_COMMON(struct tcp_pcb_listen); + +#if TCP_LISTEN_BACKLOG + u8_t backlog; + u8_t accepts_pending; +#endif /* TCP_LISTEN_BACKLOG */ +}; + +#if LWIP_EVENT_API + +enum lwip_event { + LWIP_EVENT_ACCEPT, + LWIP_EVENT_SENT, + LWIP_EVENT_RECV, + LWIP_EVENT_CONNECTED, + LWIP_EVENT_POLL, + LWIP_EVENT_ERR +}; + +err_t lwip_tcp_event(void *arg, struct tcp_pcb *pcb, + enum lwip_event, + struct pbuf *p, + u16_t size, + err_t err); + +#define TCP_EVENT_ACCEPT(pcb,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ + LWIP_EVENT_ACCEPT, NULL, 0, err) +#define TCP_EVENT_SENT(pcb,space,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ + LWIP_EVENT_SENT, NULL, space, ERR_OK) +#define TCP_EVENT_RECV(pcb,p,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ + LWIP_EVENT_RECV, (p), 0, (err)) +#define TCP_EVENT_CONNECTED(pcb,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ + LWIP_EVENT_CONNECTED, NULL, 0, (err)) +#define TCP_EVENT_POLL(pcb,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ + LWIP_EVENT_POLL, NULL, 0, ERR_OK) +#define TCP_EVENT_ERR(errf,arg,err) lwip_tcp_event((arg), NULL, \ + LWIP_EVENT_ERR, NULL, 0, (err)) +#else /* LWIP_EVENT_API */ + +#define TCP_EVENT_ACCEPT(pcb,err,ret) \ + do { \ + if((pcb)->accept != NULL) \ + (ret) = (pcb)->accept((pcb)->callback_arg,(pcb),(err)); \ + else (ret) = ERR_OK; \ + } while (0) + +#define TCP_EVENT_SENT(pcb,space,ret) \ + do { \ + if((pcb)->sent != NULL) \ + (ret) = (pcb)->sent((pcb)->callback_arg,(pcb),(space)); \ + else (ret) = ERR_OK; \ + } while (0) + +#define TCP_EVENT_RECV(pcb,p,err,ret) \ + do { \ + if((pcb)->recv != NULL) { \ + (ret) = (pcb)->recv((pcb)->callback_arg,(pcb),(p),(err)); \ + } else { \ + (ret) = tcp_recv_null(NULL, (pcb), (p), (err)); \ + } \ + } while (0) + +#define TCP_EVENT_CONNECTED(pcb,err,ret) \ + do { \ + if((pcb)->connected != NULL) \ + (ret) = (pcb)->connected((pcb)->callback_arg,(pcb),(err)); \ + else (ret) = ERR_OK; \ + } while (0) + +#define TCP_EVENT_POLL(pcb,ret) \ + do { \ + if((pcb)->poll != NULL) \ + (ret) = (pcb)->poll((pcb)->callback_arg,(pcb)); \ + else (ret) = ERR_OK; \ + } while (0) + +#define TCP_EVENT_ERR(errf,arg,err) \ + do { \ + if((errf) != NULL) \ + (errf)((arg),(err)); \ + } while (0) + +#endif /* LWIP_EVENT_API */ + +/* This structure represents a TCP segment on the unsent and unacked queues */ +struct tcp_seg { + struct tcp_seg *next; /* used when putting segements on a queue */ + struct pbuf *p; /* buffer containing data + TCP header */ + void *dataptr; /* pointer to the TCP data in the pbuf */ + u16_t len; /* the TCP length of this segment */ + u8_t flags; +#define TF_SEG_OPTS_MSS (u8_t)0x01U /* Include MSS option. */ +#define TF_SEG_OPTS_TS (u8_t)0x02U /* Include timestamp option. */ + struct tcp_hdr *tcphdr; /* the TCP header */ +}; + +#define LWIP_TCP_OPT_LENGTH(flags) \ + (flags & TF_SEG_OPTS_MSS ? 4 : 0) + \ + (flags & TF_SEG_OPTS_TS ? 12 : 0) + +/** This returns a TCP header option for MSS in an u32_t */ +#define TCP_BUILD_MSS_OPTION(x) (x) = htonl(((u32_t)2 << 24) | \ + ((u32_t)4 << 16) | \ + (((u32_t)TCP_MSS / 256) << 8) | \ + (TCP_MSS & 255)) + +/* Internal functions and global variables: */ +struct tcp_pcb *tcp_pcb_copy(struct tcp_pcb *pcb); +void tcp_pcb_purge(struct tcp_pcb *pcb); +void tcp_pcb_remove(struct tcp_pcb **pcblist, struct tcp_pcb *pcb); + +u8_t tcp_segs_free(struct tcp_seg *seg); +u8_t tcp_seg_free(struct tcp_seg *seg); +struct tcp_seg *tcp_seg_copy(struct tcp_seg *seg); + +#define tcp_ack(pcb) \ + do { \ + if((pcb)->flags & TF_ACK_DELAY) { \ + (pcb)->flags &= ~TF_ACK_DELAY; \ + (pcb)->flags |= TF_ACK_NOW; \ + tcp_output(pcb); \ + } \ + else { \ + (pcb)->flags |= TF_ACK_DELAY; \ + } \ + } while (0) + +#define tcp_ack_now(pcb) \ + do { \ + (pcb)->flags |= TF_ACK_NOW; \ + tcp_output(pcb); \ + } while (0) + +err_t tcp_send_ctrl(struct tcp_pcb *pcb, u8_t flags); +err_t tcp_enqueue(struct tcp_pcb *pcb, void *dataptr, u16_t len, + u8_t flags, u8_t apiflags, u8_t optflags); + +void tcp_rexmit_seg(struct tcp_pcb *pcb, struct tcp_seg *seg); + +void tcp_rst(u32_t seqno, u32_t ackno, + struct ip_addr *local_ip, struct ip_addr *remote_ip, + u16_t local_port, u16_t remote_port); + +u32_t tcp_next_iss(void); + +void tcp_keepalive(struct tcp_pcb *pcb); +void tcp_zero_window_probe(struct tcp_pcb *pcb); + +#if TCP_CALCULATE_EFF_SEND_MSS +u16_t tcp_eff_send_mss(u16_t sendmss, struct ip_addr *addr); +#endif /* TCP_CALCULATE_EFF_SEND_MSS */ + +#if LWIP_CALLBACK_API +err_t tcp_recv_null(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err); +#endif /* LWIP_CALLBACK_API */ + +extern struct tcp_pcb *tcp_input_pcb; +extern u32_t tcp_ticks; + +const char* tcp_debug_state_str(enum tcp_state s); +#if TCP_DEBUG || TCP_INPUT_DEBUG || TCP_OUTPUT_DEBUG +void tcp_debug_print(struct tcp_hdr *tcphdr); +void tcp_debug_print_flags(u8_t flags); +void tcp_debug_print_state(enum tcp_state s); +void tcp_debug_print_pcbs(void); +s16_t tcp_pcbs_sane(void); +#else +# define tcp_debug_print(tcphdr) +# define tcp_debug_print_flags(flags) +# define tcp_debug_print_state(s) +# define tcp_debug_print_pcbs() +# define tcp_pcbs_sane() 1 +#endif /* TCP_DEBUG */ + +#if NO_SYS +#define tcp_timer_needed() +#else +void tcp_timer_needed(void); +#endif + +/* The TCP PCB lists. */ +union tcp_listen_pcbs_t { /* List of all TCP PCBs in LISTEN state. */ + struct tcp_pcb_listen *listen_pcbs; + struct tcp_pcb *pcbs; +}; +extern union tcp_listen_pcbs_t tcp_listen_pcbs; +extern struct tcp_pcb *tcp_active_pcbs; /* List of all TCP PCBs that are in a + state in which they accept or send + data. */ +extern struct tcp_pcb *tcp_tw_pcbs; /* List of all TCP PCBs in TIME-WAIT. */ + +extern struct tcp_pcb *tcp_tmp_pcb; /* Only used for temporary storage. */ + +/* Axioms about the above lists: + 1) Every TCP PCB that is not CLOSED is in one of the lists. + 2) A PCB is only in one of the lists. + 3) All PCBs in the tcp_listen_pcbs list is in LISTEN state. + 4) All PCBs in the tcp_tw_pcbs list is in TIME-WAIT state. +*/ + +/* Define two macros, TCP_REG and TCP_RMV that registers a TCP PCB + with a PCB list or removes a PCB from a list, respectively. */ +#if 0 +#define TCP_REG(pcbs, npcb) do {\ + LWIP_DEBUGF(TCP_DEBUG, ("TCP_REG %p local port %d\n", npcb, npcb->local_port)); \ + for(tcp_tmp_pcb = *pcbs; \ + tcp_tmp_pcb != NULL; \ + tcp_tmp_pcb = tcp_tmp_pcb->next) { \ + LWIP_ASSERT("TCP_REG: already registered\n", tcp_tmp_pcb != npcb); \ + } \ + LWIP_ASSERT("TCP_REG: pcb->state != CLOSED", npcb->state != CLOSED); \ + npcb->next = *pcbs; \ + LWIP_ASSERT("TCP_REG: npcb->next != npcb", npcb->next != npcb); \ + *(pcbs) = npcb; \ + LWIP_ASSERT("TCP_RMV: tcp_pcbs sane", tcp_pcbs_sane()); \ + tcp_timer_needed(); \ + } while(0) +#define TCP_RMV(pcbs, npcb) do { \ + LWIP_ASSERT("TCP_RMV: pcbs != NULL", *pcbs != NULL); \ + LWIP_DEBUGF(TCP_DEBUG, ("TCP_RMV: removing %p from %p\n", npcb, *pcbs)); \ + if(*pcbs == npcb) { \ + *pcbs = (*pcbs)->next; \ + } else for(tcp_tmp_pcb = *pcbs; tcp_tmp_pcb != NULL; tcp_tmp_pcb = tcp_tmp_pcb->next) { \ + if(tcp_tmp_pcb->next == npcb) { \ + tcp_tmp_pcb->next = npcb->next; \ + break; \ + } \ + } \ + npcb->next = NULL; \ + LWIP_ASSERT("TCP_RMV: tcp_pcbs sane", tcp_pcbs_sane()); \ + LWIP_DEBUGF(TCP_DEBUG, ("TCP_RMV: removed %p from %p\n", npcb, *pcbs)); \ + } while(0) + +#else /* LWIP_DEBUG */ + +#define TCP_REG(pcbs, npcb) \ + do { \ + npcb->next = *pcbs; \ + *(pcbs) = npcb; \ + tcp_timer_needed(); \ + } while (0) + +#define TCP_RMV(pcbs, npcb) \ + do { \ + if(*(pcbs) == npcb) { \ + (*(pcbs)) = (*pcbs)->next; \ + } \ + else { \ + for(tcp_tmp_pcb = *pcbs; \ + tcp_tmp_pcb != NULL; \ + tcp_tmp_pcb = tcp_tmp_pcb->next) { \ + if(tcp_tmp_pcb->next == npcb) { \ + tcp_tmp_pcb->next = npcb->next; \ + break; \ + } \ + } \ + } \ + npcb->next = NULL; \ + } while(0) + +#endif /* LWIP_DEBUG */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_TCP */ + +#endif /* __LWIP_TCP_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/tcpip.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/tcpip.h new file mode 100644 index 0000000..00a3ec5 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/tcpip.h @@ -0,0 +1,143 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_TCPIP_H__ +#define __LWIP_TCPIP_H__ + +#include "lwip/opt.h" + +#if !NO_SYS /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/api_msg.h" +#include "lwip/netifapi.h" +#include "lwip/pbuf.h" +#include "lwip/api.h" +#include "lwip/sys.h" +#include "lwip/netif.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_TCPIP_CORE_LOCKING +/** The global semaphore to lock the stack. */ +extern sys_sem_t lock_tcpip_core; +#define LOCK_TCPIP_CORE() sys_sem_wait(lock_tcpip_core) +#define UNLOCK_TCPIP_CORE() sys_sem_signal(lock_tcpip_core) +#define TCPIP_APIMSG(m) tcpip_apimsg_lock(m) +#define TCPIP_APIMSG_ACK(m) +#define TCPIP_NETIFAPI(m) tcpip_netifapi_lock(m) +#define TCPIP_NETIFAPI_ACK(m) +#else +#define LOCK_TCPIP_CORE() +#define UNLOCK_TCPIP_CORE() +#define TCPIP_APIMSG(m) tcpip_apimsg(m) +#define TCPIP_APIMSG_ACK(m) sys_sem_signal(m->conn->op_completed) +#define TCPIP_NETIFAPI(m) tcpip_netifapi(m) +#define TCPIP_NETIFAPI_ACK(m) sys_sem_signal(m->sem) +#endif /* LWIP_TCPIP_CORE_LOCKING */ + +void tcpip_init(void (* tcpip_init_done)(void *), void *arg); + +#if LWIP_NETCONN +err_t tcpip_apimsg(struct api_msg *apimsg); +#if LWIP_TCPIP_CORE_LOCKING +err_t tcpip_apimsg_lock(struct api_msg *apimsg); +#endif /* LWIP_TCPIP_CORE_LOCKING */ +#endif /* LWIP_NETCONN */ + +err_t tcpip_input(struct pbuf *p, struct netif *inp); + +#if LWIP_NETIF_API +err_t tcpip_netifapi(struct netifapi_msg *netifapimsg); +#if LWIP_TCPIP_CORE_LOCKING +err_t tcpip_netifapi_lock(struct netifapi_msg *netifapimsg); +#endif /* LWIP_TCPIP_CORE_LOCKING */ +#endif /* LWIP_NETIF_API */ + +err_t tcpip_callback_with_block(void (*f)(void *ctx), void *ctx, u8_t block); +#define tcpip_callback(f, ctx) tcpip_callback_with_block(f, ctx, 1) + +/* free pbufs or heap memory from another context without blocking */ +err_t pbuf_free_callback(struct pbuf *p); +err_t mem_free_callback(void *m); + +err_t tcpip_timeout(u32_t msecs, sys_timeout_handler h, void *arg); +err_t tcpip_untimeout(sys_timeout_handler h, void *arg); + +enum tcpip_msg_type { +#if LWIP_NETCONN + TCPIP_MSG_API, +#endif /* LWIP_NETCONN */ + TCPIP_MSG_INPKT, +#if LWIP_NETIF_API + TCPIP_MSG_NETIFAPI, +#endif /* LWIP_NETIF_API */ + TCPIP_MSG_CALLBACK, + TCPIP_MSG_TIMEOUT, + TCPIP_MSG_UNTIMEOUT +}; + +struct tcpip_msg { + enum tcpip_msg_type type; + sys_sem_t *sem; + union { +#if LWIP_NETCONN + struct api_msg *apimsg; +#endif /* LWIP_NETCONN */ +#if LWIP_NETIF_API + struct netifapi_msg *netifapimsg; +#endif /* LWIP_NETIF_API */ + struct { + struct pbuf *p; + struct netif *netif; + } inp; + struct { + void (*f)(void *ctx); + void *ctx; + } cb; + struct { + u32_t msecs; + sys_timeout_handler h; + void *arg; + } tmo; + } msg; +}; + +#ifdef __cplusplus +} +#endif + +#endif /* !NO_SYS */ + +#endif /* __LWIP_TCPIP_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/udp.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/udp.h new file mode 100644 index 0000000..1269ee1 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/udp.h @@ -0,0 +1,155 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_UDP_H__ +#define __LWIP_UDP_H__ + +#include "lwip/opt.h" + +#if LWIP_UDP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/pbuf.h" +#include "lwip/netif.h" +#include "lwip/ip_addr.h" +#include "lwip/ip.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define UDP_HLEN 8 + +/* Fields are (of course) in network byte order. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct udp_hdr { + PACK_STRUCT_FIELD(u16_t src); + PACK_STRUCT_FIELD(u16_t dest); /* src/dest UDP ports */ + PACK_STRUCT_FIELD(u16_t len); + PACK_STRUCT_FIELD(u16_t chksum); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define UDP_FLAGS_NOCHKSUM 0x01U +#define UDP_FLAGS_UDPLITE 0x02U +#define UDP_FLAGS_CONNECTED 0x04U + +struct udp_pcb { +/* Common members of all PCB types */ + IP_PCB; + +/* Protocol specific PCB members */ + + struct udp_pcb *next; + + u8_t flags; + /* ports are in host byte order */ + u16_t local_port, remote_port; + +#if LWIP_IGMP + /* outgoing network interface for multicast packets */ + struct ip_addr multicast_ip; +#endif /* LWIP_IGMP */ + +#if LWIP_UDPLITE + /* used for UDP_LITE only */ + u16_t chksum_len_rx, chksum_len_tx; +#endif /* LWIP_UDPLITE */ + + /* receive callback function + * addr and port are in same byte order as in the pcb + * The callback is responsible for freeing the pbuf + * if it's not used any more. + * + * ATTENTION: Be aware that 'addr' points into the pbuf 'p' so freeing this pbuf + * makes 'addr' invalid, too. + * + * @param arg user supplied argument (udp_pcb.recv_arg) + * @param pcb the udp_pcb which received data + * @param p the packet buffer that was received + * @param addr the remote IP address from which the packet was received + * @param port the remote port from which the packet was received + */ + void (* recv)(void *arg, struct udp_pcb *pcb, struct pbuf *p, + struct ip_addr *addr, u16_t port); + /* user-supplied argument for the recv callback */ + void *recv_arg; +}; +/* udp_pcbs export for exernal reference (e.g. SNMP agent) */ +extern struct udp_pcb *udp_pcbs; + +/* The following functions is the application layer interface to the + UDP code. */ +struct udp_pcb * udp_new (void); +void udp_remove (struct udp_pcb *pcb); +err_t udp_bind (struct udp_pcb *pcb, struct ip_addr *ipaddr, + u16_t port); +err_t udp_connect (struct udp_pcb *pcb, struct ip_addr *ipaddr, + u16_t port); +void udp_disconnect (struct udp_pcb *pcb); +void udp_recv (struct udp_pcb *pcb, + void (* recv)(void *arg, struct udp_pcb *upcb, + struct pbuf *p, + struct ip_addr *addr, + u16_t port), + void *recv_arg); +err_t udp_sendto_if (struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *dst_ip, u16_t dst_port, struct netif *netif); +err_t udp_sendto (struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *dst_ip, u16_t dst_port); +err_t udp_send (struct udp_pcb *pcb, struct pbuf *p); + +#define udp_flags(pcb) ((pcb)->flags) +#define udp_setflags(pcb, f) ((pcb)->flags = (f)) + +/* The following functions are the lower layer interface to UDP. */ +void udp_input (struct pbuf *p, struct netif *inp); + +#define udp_init() /* Compatibility define, not init needed. */ + +#if UDP_DEBUG +void udp_debug_print(struct udp_hdr *udphdr); +#else +#define udp_debug_print(udphdr) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_UDP */ + +#endif /* __LWIP_UDP_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/etharp.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/etharp.h new file mode 100644 index 0000000..fb1542a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/etharp.h @@ -0,0 +1,194 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * Copyright (c) 2003-2004 Leon Woestenberg <leon.woestenberg@axon.tv> + * Copyright (c) 2003-2004 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + +#ifndef __NETIF_ETHARP_H__ +#define __NETIF_ETHARP_H__ + +#include "lwip/opt.h" + +#if LWIP_ARP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/pbuf.h" +#include "lwip/ip_addr.h" +#include "lwip/netif.h" +#include "lwip/ip.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef ETH_PAD_SIZE +#define ETH_PAD_SIZE 0 +#endif + +#ifndef ETHARP_HWADDR_LEN +#define ETHARP_HWADDR_LEN 6 +#endif + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct eth_addr { + PACK_STRUCT_FIELD(u8_t addr[ETHARP_HWADDR_LEN]); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct eth_hdr { +#if ETH_PAD_SIZE + PACK_STRUCT_FIELD(u8_t padding[ETH_PAD_SIZE]); +#endif + PACK_STRUCT_FIELD(struct eth_addr dest); + PACK_STRUCT_FIELD(struct eth_addr src); + PACK_STRUCT_FIELD(u16_t type); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define SIZEOF_ETH_HDR (14 + ETH_PAD_SIZE) + +#if ETHARP_SUPPORT_VLAN + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct eth_vlan_hdr { + PACK_STRUCT_FIELD(u16_t tpid); + PACK_STRUCT_FIELD(u16_t prio_vid); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define SIZEOF_VLAN_HDR 4 +#define VLAN_ID(vlan_hdr) (htons((vlan_hdr)->prio_vid) & 0xFFF) + +#endif /* ETHARP_SUPPORT_VLAN */ + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** the ARP message */ +struct etharp_hdr { + PACK_STRUCT_FIELD(u16_t hwtype); + PACK_STRUCT_FIELD(u16_t proto); + PACK_STRUCT_FIELD(u16_t _hwlen_protolen); + PACK_STRUCT_FIELD(u16_t opcode); + PACK_STRUCT_FIELD(struct eth_addr shwaddr); + PACK_STRUCT_FIELD(struct ip_addr2 sipaddr); + PACK_STRUCT_FIELD(struct eth_addr dhwaddr); + PACK_STRUCT_FIELD(struct ip_addr2 dipaddr); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define SIZEOF_ETHARP_HDR 28 +#define SIZEOF_ETHARP_PACKET (SIZEOF_ETH_HDR + SIZEOF_ETHARP_HDR) + +/** 5 seconds period */ +#define ARP_TMR_INTERVAL 5000 + +#define ETHTYPE_ARP 0x0806 +#define ETHTYPE_IP 0x0800 +#define ETHTYPE_VLAN 0x8100 +#define ETHTYPE_PPPOEDISC 0x8863 /* PPP Over Ethernet Discovery Stage */ +#define ETHTYPE_PPPOE 0x8864 /* PPP Over Ethernet Session Stage */ + +/** ARP message types (opcodes) */ +#define ARP_REQUEST 1 +#define ARP_REPLY 2 + +#if ARP_QUEUEING +/** struct for queueing outgoing packets for unknown address + * defined here to be accessed by memp.h + */ +struct etharp_q_entry { + struct etharp_q_entry *next; + struct pbuf *p; +}; +#endif /* ARP_QUEUEING */ + +#define etharp_init() /* Compatibility define, not init needed. */ +void etharp_tmr(void); +s8_t etharp_find_addr(struct netif *netif, struct ip_addr *ipaddr, + struct eth_addr **eth_ret, struct ip_addr **ip_ret); +void etharp_ip_input(struct netif *netif, struct pbuf *p); +void etharp_arp_input(struct netif *netif, struct eth_addr *ethaddr, + struct pbuf *p); +err_t etharp_output(struct netif *netif, struct pbuf *q, struct ip_addr *ipaddr); +err_t etharp_query(struct netif *netif, struct ip_addr *ipaddr, struct pbuf *q); +err_t etharp_request(struct netif *netif, struct ip_addr *ipaddr); +/** For Ethernet network interfaces, we might want to send "gratuitous ARP"; + * this is an ARP packet sent by a node in order to spontaneously cause other + * nodes to update an entry in their ARP cache. + * From RFC 3220 "IP Mobility Support for IPv4" section 4.6. */ +#define etharp_gratuitous(netif) etharp_request((netif), &(netif)->ip_addr) + +err_t ethernet_input(struct pbuf *p, struct netif *netif); + +#if LWIP_AUTOIP +err_t etharp_raw(struct netif *netif, const struct eth_addr *ethsrc_addr, + const struct eth_addr *ethdst_addr, + const struct eth_addr *hwsrc_addr, const struct ip_addr *ipsrc_addr, + const struct eth_addr *hwdst_addr, const struct ip_addr *ipdst_addr, + const u16_t opcode); +#endif /* LWIP_AUTOIP */ + +#define eth_addr_cmp(addr1, addr2) (memcmp((addr1)->addr, (addr2)->addr, ETHARP_HWADDR_LEN) == 0) + +extern const struct eth_addr ethbroadcast, ethzero; + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_ARP */ + +#endif /* __NETIF_ARP_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/loopif.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/loopif.h new file mode 100644 index 0000000..3f4fa62 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/loopif.h @@ -0,0 +1,55 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __NETIF_LOOPIF_H__ +#define __NETIF_LOOPIF_H__ + +#include "lwip/opt.h" +#include "lwip/netif.h" +#include "lwip/err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if !LWIP_NETIF_LOOPBACK_MULTITHREADING +#define loopif_poll netif_poll +#endif /* !LWIP_NETIF_LOOPBACK_MULTITHREADING */ + +err_t loopif_init(struct netif *netif); + +#ifdef __cplusplus +} +#endif + +#endif /* __NETIF_LOOPIF_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/ppp_oe.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/ppp_oe.h new file mode 100644 index 0000000..fac0a78 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/ppp_oe.h @@ -0,0 +1,163 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/***************************************************************************** +* ppp_oe.h - PPP Over Ethernet implementation for lwIP. +* +* Copyright (c) 2006 by Marc Boucher, Services Informatiques (MBSI) inc. +* +* The authors hereby grant permission to use, copy, modify, distribute, +* and license this software and its documentation for any purpose, provided +* that existing copyright notices are retained in all copies and that this +* notice and the following disclaimer are included verbatim in any +* distributions. No written agreement, license, or royalty fee is required +* for any of the authorized uses. +* +* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR +* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +****************************************************************************** +* REVISION HISTORY +* +* 06-01-01 Marc Boucher <marc@mbsi.ca> +* Ported to lwIP. +*****************************************************************************/ + + + +/* based on NetBSD: if_pppoe.c,v 1.64 2006/01/31 23:50:15 martin Exp */ + +/*- + * Copyright (c) 2002 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Martin Husemann <martin@NetBSD.org>. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef PPP_OE_H +#define PPP_OE_H + +#include "lwip/opt.h" + +#if PPPOE_SUPPORT > 0 + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct pppoehdr { + PACK_STRUCT_FIELD(u8_t vertype); + PACK_STRUCT_FIELD(u8_t code); + PACK_STRUCT_FIELD(u16_t session); + PACK_STRUCT_FIELD(u16_t plen); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct pppoetag { + PACK_STRUCT_FIELD(u16_t tag); + PACK_STRUCT_FIELD(u16_t len); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + + +#define PPPOE_STATE_INITIAL 0 +#define PPPOE_STATE_PADI_SENT 1 +#define PPPOE_STATE_PADR_SENT 2 +#define PPPOE_STATE_SESSION 3 +#define PPPOE_STATE_CLOSING 4 +/* passive */ +#define PPPOE_STATE_PADO_SENT 1 + +#define PPPOE_HEADERLEN sizeof(struct pppoehdr) +#define PPPOE_VERTYPE 0x11 /* VER=1, TYPE = 1 */ + +#define PPPOE_TAG_EOL 0x0000 /* end of list */ +#define PPPOE_TAG_SNAME 0x0101 /* service name */ +#define PPPOE_TAG_ACNAME 0x0102 /* access concentrator name */ +#define PPPOE_TAG_HUNIQUE 0x0103 /* host unique */ +#define PPPOE_TAG_ACCOOKIE 0x0104 /* AC cookie */ +#define PPPOE_TAG_VENDOR 0x0105 /* vendor specific */ +#define PPPOE_TAG_RELAYSID 0x0110 /* relay session id */ +#define PPPOE_TAG_SNAME_ERR 0x0201 /* service name error */ +#define PPPOE_TAG_ACSYS_ERR 0x0202 /* AC system error */ +#define PPPOE_TAG_GENERIC_ERR 0x0203 /* gerneric error */ + +#define PPPOE_CODE_PADI 0x09 /* Active Discovery Initiation */ +#define PPPOE_CODE_PADO 0x07 /* Active Discovery Offer */ +#define PPPOE_CODE_PADR 0x19 /* Active Discovery Request */ +#define PPPOE_CODE_PADS 0x65 /* Active Discovery Session confirmation */ +#define PPPOE_CODE_PADT 0xA7 /* Active Discovery Terminate */ + +#ifndef ETHERMTU +#define ETHERMTU 1500 +#endif + +/* two byte PPP protocol discriminator, then IP data */ +#define PPPOE_MAXMTU (ETHERMTU-PPPOE_HEADERLEN-2) + +struct pppoe_softc; + + +void pppoe_init(void); + +err_t pppoe_create(struct netif *ethif, int pd, void (*linkStatusCB)(int pd, int up), struct pppoe_softc **scptr); +err_t pppoe_destroy(struct netif *ifp); + +int pppoe_connect(struct pppoe_softc *sc); +void pppoe_disconnect(struct pppoe_softc *sc); + +void pppoe_disc_input(struct netif *netif, struct pbuf *p); +void pppoe_data_input(struct netif *netif, struct pbuf *p); + +err_t pppoe_xmit(struct pppoe_softc *sc, struct pbuf *pb); + +extern int pppoe_hdrlen; + +#endif /* PPPOE_SUPPORT */ + +#endif /* PPP_OE_H */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/slipif.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/slipif.h new file mode 100644 index 0000000..ddc2dfa --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/netif/slipif.h @@ -0,0 +1,53 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __NETIF_SLIPIF_H__ +#define __NETIF_SLIPIF_H__ + +#include "lwip/netif.h" + +#ifdef __cplusplus +extern "C" { +#endif + +err_t slipif_init(struct netif * netif); +void slipif_poll(struct netif *netif); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/netif/etharp.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/netif/etharp.c new file mode 100644 index 0000000..1a5d134 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/netif/etharp.c @@ -0,0 +1,1224 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Address Resolution Protocol module for IP over Ethernet + * + * Functionally, ARP is divided into two parts. The first maps an IP address + * to a physical address when sending a packet, and the second part answers + * requests from other machines for our physical address. + * + * This implementation complies with RFC 826 (Ethernet ARP). It supports + * Gratuitious ARP from RFC3220 (IP Mobility Support for IPv4) section 4.6 + * if an interface calls etharp_gratuitous(our_netif) upon address change. + */ + +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * Copyright (c) 2003-2004 Leon Woestenberg <leon.woestenberg@axon.tv> + * Copyright (c) 2003-2004 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + */ + +#include "lwip/opt.h" + +#if LWIP_ARP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/inet.h" +#include "lwip/ip.h" +#include "lwip/stats.h" +#include "lwip/snmp.h" +#include "lwip/dhcp.h" +#include "lwip/autoip.h" +#include "netif/etharp.h" + +#if PPPOE_SUPPORT +#include "netif/ppp_oe.h" +#endif /* PPPOE_SUPPORT */ + +#include <string.h> + +/** the time an ARP entry stays valid after its last update, + * for ARP_TMR_INTERVAL = 5000, this is + * (240 * 5) seconds = 20 minutes. + */ +#define ARP_MAXAGE 240 +/** the time an ARP entry stays pending after first request, + * for ARP_TMR_INTERVAL = 5000, this is + * (2 * 5) seconds = 10 seconds. + * + * @internal Keep this number at least 2, otherwise it might + * run out instantly if the timeout occurs directly after a request. + */ +#define ARP_MAXPENDING 2 + +#define HWTYPE_ETHERNET 1 + +#define ARPH_HWLEN(hdr) (ntohs((hdr)->_hwlen_protolen) >> 8) +#define ARPH_PROTOLEN(hdr) (ntohs((hdr)->_hwlen_protolen) & 0xff) + +#define ARPH_HWLEN_SET(hdr, len) (hdr)->_hwlen_protolen = htons(ARPH_PROTOLEN(hdr) | ((len) << 8)) +#define ARPH_PROTOLEN_SET(hdr, len) (hdr)->_hwlen_protolen = htons((len) | (ARPH_HWLEN(hdr) << 8)) + +enum etharp_state { + ETHARP_STATE_EMPTY = 0, + ETHARP_STATE_PENDING, + ETHARP_STATE_STABLE +}; + +struct etharp_entry { +#if ARP_QUEUEING + /** + * Pointer to queue of pending outgoing packets on this ARP entry. + */ + struct etharp_q_entry *q; +#endif + struct ip_addr ipaddr; + struct eth_addr ethaddr; + enum etharp_state state; + u8_t ctime; + struct netif *netif; +}; + +const struct eth_addr ethbroadcast = {{0xff,0xff,0xff,0xff,0xff,0xff}}; +const struct eth_addr ethzero = {{0,0,0,0,0,0}}; +static struct etharp_entry arp_table[ARP_TABLE_SIZE]; +#if !LWIP_NETIF_HWADDRHINT +static u8_t etharp_cached_entry; +#endif + +/** + * Try hard to create a new entry - we want the IP address to appear in + * the cache (even if this means removing an active entry or so). */ +#define ETHARP_TRY_HARD 1 +#define ETHARP_FIND_ONLY 2 + +#if LWIP_NETIF_HWADDRHINT +#define NETIF_SET_HINT(netif, hint) if (((netif) != NULL) && ((netif)->addr_hint != NULL)) \ + *((netif)->addr_hint) = (hint); +static s8_t find_entry(struct ip_addr *ipaddr, u8_t flags, struct netif *netif); +#else /* LWIP_NETIF_HWADDRHINT */ +static s8_t find_entry(struct ip_addr *ipaddr, u8_t flags); +#endif /* LWIP_NETIF_HWADDRHINT */ + +static err_t update_arp_entry(struct netif *netif, struct ip_addr *ipaddr, struct eth_addr *ethaddr, u8_t flags); + + +/* Some checks, instead of etharp_init(): */ +#if (LWIP_ARP && (ARP_TABLE_SIZE > 0x7f)) + #error "If you want to use ARP, ARP_TABLE_SIZE must fit in an s8_t, so, you have to reduce it in your lwipopts.h" +#endif + + +#if ARP_QUEUEING +/** + * Free a complete queue of etharp entries + * + * @param q a qeueue of etharp_q_entry's to free + */ +static void +free_etharp_q(struct etharp_q_entry *q) +{ + struct etharp_q_entry *r; + LWIP_ASSERT("q != NULL", q != NULL); + LWIP_ASSERT("q->p != NULL", q->p != NULL); + while (q) { + r = q; + q = q->next; + LWIP_ASSERT("r->p != NULL", (r->p != NULL)); + pbuf_free(r->p); + memp_free(MEMP_ARP_QUEUE, r); + } +} +#endif + +/** + * Clears expired entries in the ARP table. + * + * This function should be called every ETHARP_TMR_INTERVAL microseconds (5 seconds), + * in order to expire entries in the ARP table. + */ +void +etharp_tmr(void) +{ + u8_t i; + + LWIP_DEBUGF(ETHARP_DEBUG, ("etharp_timer\n")); + /* remove expired entries from the ARP table */ + for (i = 0; i < ARP_TABLE_SIZE; ++i) { + arp_table[i].ctime++; + if (((arp_table[i].state == ETHARP_STATE_STABLE) && + (arp_table[i].ctime >= ARP_MAXAGE)) || + ((arp_table[i].state == ETHARP_STATE_PENDING) && + (arp_table[i].ctime >= ARP_MAXPENDING))) { + /* pending or stable entry has become old! */ + LWIP_DEBUGF(ETHARP_DEBUG, ("etharp_timer: expired %s entry %"U16_F".\n", + arp_table[i].state == ETHARP_STATE_STABLE ? "stable" : "pending", (u16_t)i)); + /* clean up entries that have just been expired */ + /* remove from SNMP ARP index tree */ + snmp_delete_arpidx_tree(arp_table[i].netif, &arp_table[i].ipaddr); +#if ARP_QUEUEING + /* and empty packet queue */ + if (arp_table[i].q != NULL) { + /* remove all queued packets */ + LWIP_DEBUGF(ETHARP_DEBUG, ("etharp_timer: freeing entry %"U16_F", packet queue %p.\n", (u16_t)i, (void *)(arp_table[i].q))); + free_etharp_q(arp_table[i].q); + arp_table[i].q = NULL; + } +#endif + /* recycle entry for re-use */ + arp_table[i].state = ETHARP_STATE_EMPTY; + } +#if ARP_QUEUEING + /* still pending entry? (not expired) */ + if (arp_table[i].state == ETHARP_STATE_PENDING) { + /* resend an ARP query here? */ + } +#endif + } +} + +/** + * Search the ARP table for a matching or new entry. + * + * If an IP address is given, return a pending or stable ARP entry that matches + * the address. If no match is found, create a new entry with this address set, + * but in state ETHARP_EMPTY. The caller must check and possibly change the + * state of the returned entry. + * + * If ipaddr is NULL, return a initialized new entry in state ETHARP_EMPTY. + * + * In all cases, attempt to create new entries from an empty entry. If no + * empty entries are available and ETHARP_TRY_HARD flag is set, recycle + * old entries. Heuristic choose the least important entry for recycling. + * + * @param ipaddr IP address to find in ARP cache, or to add if not found. + * @param flags + * - ETHARP_TRY_HARD: Try hard to create a entry by allowing recycling of + * active (stable or pending) entries. + * + * @return The ARP entry index that matched or is created, ERR_MEM if no + * entry is found or could be recycled. + */ +static s8_t +#if LWIP_NETIF_HWADDRHINT +find_entry(struct ip_addr *ipaddr, u8_t flags, struct netif *netif) +#else /* LWIP_NETIF_HWADDRHINT */ +find_entry(struct ip_addr *ipaddr, u8_t flags) +#endif /* LWIP_NETIF_HWADDRHINT */ +{ + s8_t old_pending = ARP_TABLE_SIZE, old_stable = ARP_TABLE_SIZE; + s8_t empty = ARP_TABLE_SIZE; + u8_t i = 0, age_pending = 0, age_stable = 0; +#if ARP_QUEUEING + /* oldest entry with packets on queue */ + s8_t old_queue = ARP_TABLE_SIZE; + /* its age */ + u8_t age_queue = 0; +#endif + + /* First, test if the last call to this function asked for the + * same address. If so, we're really fast! */ + if (ipaddr) { + /* ipaddr to search for was given */ +#if LWIP_NETIF_HWADDRHINT + if ((netif != NULL) && (netif->addr_hint != NULL)) { + /* per-pcb cached entry was given */ + u8_t per_pcb_cache = *(netif->addr_hint); + if ((per_pcb_cache < ARP_TABLE_SIZE) && arp_table[per_pcb_cache].state == ETHARP_STATE_STABLE) { + /* the per-pcb-cached entry is stable */ + if (ip_addr_cmp(ipaddr, &arp_table[per_pcb_cache].ipaddr)) { + /* per-pcb cached entry was the right one! */ + ETHARP_STATS_INC(etharp.cachehit); + return per_pcb_cache; + } + } + } +#else /* #if LWIP_NETIF_HWADDRHINT */ + if (arp_table[etharp_cached_entry].state == ETHARP_STATE_STABLE) { + /* the cached entry is stable */ + if (ip_addr_cmp(ipaddr, &arp_table[etharp_cached_entry].ipaddr)) { + /* cached entry was the right one! */ + ETHARP_STATS_INC(etharp.cachehit); + return etharp_cached_entry; + } + } +#endif /* #if LWIP_NETIF_HWADDRHINT */ + } + + /** + * a) do a search through the cache, remember candidates + * b) select candidate entry + * c) create new entry + */ + + /* a) in a single search sweep, do all of this + * 1) remember the first empty entry (if any) + * 2) remember the oldest stable entry (if any) + * 3) remember the oldest pending entry without queued packets (if any) + * 4) remember the oldest pending entry with queued packets (if any) + * 5) search for a matching IP entry, either pending or stable + * until 5 matches, or all entries are searched for. + */ + + for (i = 0; i < ARP_TABLE_SIZE; ++i) { + /* no empty entry found yet and now we do find one? */ + if ((empty == ARP_TABLE_SIZE) && (arp_table[i].state == ETHARP_STATE_EMPTY)) { + LWIP_DEBUGF(ETHARP_DEBUG, ("find_entry: found empty entry %"U16_F"\n", (u16_t)i)); + /* remember first empty entry */ + empty = i; + } + /* pending entry? */ + else if (arp_table[i].state == ETHARP_STATE_PENDING) { + /* if given, does IP address match IP address in ARP entry? */ + if (ipaddr && ip_addr_cmp(ipaddr, &arp_table[i].ipaddr)) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("find_entry: found matching pending entry %"U16_F"\n", (u16_t)i)); + /* found exact IP address match, simply bail out */ +#if LWIP_NETIF_HWADDRHINT + NETIF_SET_HINT(netif, i); +#else /* #if LWIP_NETIF_HWADDRHINT */ + etharp_cached_entry = i; +#endif /* #if LWIP_NETIF_HWADDRHINT */ + return i; +#if ARP_QUEUEING + /* pending with queued packets? */ + } else if (arp_table[i].q != NULL) { + if (arp_table[i].ctime >= age_queue) { + old_queue = i; + age_queue = arp_table[i].ctime; + } +#endif + /* pending without queued packets? */ + } else { + if (arp_table[i].ctime >= age_pending) { + old_pending = i; + age_pending = arp_table[i].ctime; + } + } + } + /* stable entry? */ + else if (arp_table[i].state == ETHARP_STATE_STABLE) { + /* if given, does IP address match IP address in ARP entry? */ + if (ipaddr && ip_addr_cmp(ipaddr, &arp_table[i].ipaddr)) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("find_entry: found matching stable entry %"U16_F"\n", (u16_t)i)); + /* found exact IP address match, simply bail out */ +#if LWIP_NETIF_HWADDRHINT + NETIF_SET_HINT(netif, i); +#else /* #if LWIP_NETIF_HWADDRHINT */ + etharp_cached_entry = i; +#endif /* #if LWIP_NETIF_HWADDRHINT */ + return i; + /* remember entry with oldest stable entry in oldest, its age in maxtime */ + } else if (arp_table[i].ctime >= age_stable) { + old_stable = i; + age_stable = arp_table[i].ctime; + } + } + } + /* { we have no match } => try to create a new entry */ + + /* no empty entry found and not allowed to recycle? */ + if (((empty == ARP_TABLE_SIZE) && ((flags & ETHARP_TRY_HARD) == 0)) + /* or don't create new entry, only search? */ + || ((flags & ETHARP_FIND_ONLY) != 0)) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("find_entry: no empty entry found and not allowed to recycle\n")); + return (s8_t)ERR_MEM; + } + + /* b) choose the least destructive entry to recycle: + * 1) empty entry + * 2) oldest stable entry + * 3) oldest pending entry without queued packets + * 4) oldest pending entry with queued packets + * + * { ETHARP_TRY_HARD is set at this point } + */ + + /* 1) empty entry available? */ + if (empty < ARP_TABLE_SIZE) { + i = empty; + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("find_entry: selecting empty entry %"U16_F"\n", (u16_t)i)); + } + /* 2) found recyclable stable entry? */ + else if (old_stable < ARP_TABLE_SIZE) { + /* recycle oldest stable*/ + i = old_stable; + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("find_entry: selecting oldest stable entry %"U16_F"\n", (u16_t)i)); +#if ARP_QUEUEING + /* no queued packets should exist on stable entries */ + LWIP_ASSERT("arp_table[i].q == NULL", arp_table[i].q == NULL); +#endif + /* 3) found recyclable pending entry without queued packets? */ + } else if (old_pending < ARP_TABLE_SIZE) { + /* recycle oldest pending */ + i = old_pending; + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("find_entry: selecting oldest pending entry %"U16_F" (without queue)\n", (u16_t)i)); +#if ARP_QUEUEING + /* 4) found recyclable pending entry with queued packets? */ + } else if (old_queue < ARP_TABLE_SIZE) { + /* recycle oldest pending */ + i = old_queue; + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("find_entry: selecting oldest pending entry %"U16_F", freeing packet queue %p\n", (u16_t)i, (void *)(arp_table[i].q))); + free_etharp_q(arp_table[i].q); + arp_table[i].q = NULL; +#endif + /* no empty or recyclable entries found */ + } else { + return (s8_t)ERR_MEM; + } + + /* { empty or recyclable entry found } */ + LWIP_ASSERT("i < ARP_TABLE_SIZE", i < ARP_TABLE_SIZE); + + if (arp_table[i].state != ETHARP_STATE_EMPTY) + { + snmp_delete_arpidx_tree(arp_table[i].netif, &arp_table[i].ipaddr); + } + /* recycle entry (no-op for an already empty entry) */ + arp_table[i].state = ETHARP_STATE_EMPTY; + + /* IP address given? */ + if (ipaddr != NULL) { + /* set IP address */ + ip_addr_set(&arp_table[i].ipaddr, ipaddr); + } + arp_table[i].ctime = 0; +#if LWIP_NETIF_HWADDRHINT + NETIF_SET_HINT(netif, i); +#else /* #if LWIP_NETIF_HWADDRHINT */ + etharp_cached_entry = i; +#endif /* #if LWIP_NETIF_HWADDRHINT */ + return (err_t)i; +} + +/** + * Send an IP packet on the network using netif->linkoutput + * The ethernet header is filled in before sending. + * + * @params netif the lwIP network interface on which to send the packet + * @params p the packet to send, p->payload pointing to the (uninitialized) ethernet header + * @params src the source MAC address to be copied into the ethernet header + * @params dst the destination MAC address to be copied into the ethernet header + * @return ERR_OK if the packet was sent, any other err_t on failure + */ +static err_t +etharp_send_ip(struct netif *netif, struct pbuf *p, struct eth_addr *src, struct eth_addr *dst) +{ + struct eth_hdr *ethhdr = p->payload; + u8_t k; + + LWIP_ASSERT("netif->hwaddr_len must be the same as ETHARP_HWADDR_LEN for etharp!", + (netif->hwaddr_len == ETHARP_HWADDR_LEN)); + k = ETHARP_HWADDR_LEN; + while(k > 0) { + k--; + ethhdr->dest.addr[k] = dst->addr[k]; + ethhdr->src.addr[k] = src->addr[k]; + } + ethhdr->type = htons(ETHTYPE_IP); + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_send_ip: sending packet %p\n", (void *)p)); + /* send the packet */ + return netif->linkoutput(netif, p); +} + +/** + * Update (or insert) a IP/MAC address pair in the ARP cache. + * + * If a pending entry is resolved, any queued packets will be sent + * at this point. + * + * @param ipaddr IP address of the inserted ARP entry. + * @param ethaddr Ethernet address of the inserted ARP entry. + * @param flags Defines behaviour: + * - ETHARP_TRY_HARD Allows ARP to insert this as a new item. If not specified, + * only existing ARP entries will be updated. + * + * @return + * - ERR_OK Succesfully updated ARP cache. + * - ERR_MEM If we could not add a new ARP entry when ETHARP_TRY_HARD was set. + * - ERR_ARG Non-unicast address given, those will not appear in ARP cache. + * + * @see pbuf_free() + */ +static err_t +update_arp_entry(struct netif *netif, struct ip_addr *ipaddr, struct eth_addr *ethaddr, u8_t flags) +{ + s8_t i; + u8_t k; + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("update_arp_entry()\n")); + LWIP_ASSERT("netif->hwaddr_len == ETHARP_HWADDR_LEN", netif->hwaddr_len == ETHARP_HWADDR_LEN); + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("update_arp_entry: %"U16_F".%"U16_F".%"U16_F".%"U16_F" - %02"X16_F":%02"X16_F":%02"X16_F":%02"X16_F":%02"X16_F":%02"X16_F"\n", + ip4_addr1(ipaddr), ip4_addr2(ipaddr), ip4_addr3(ipaddr), ip4_addr4(ipaddr), + ethaddr->addr[0], ethaddr->addr[1], ethaddr->addr[2], + ethaddr->addr[3], ethaddr->addr[4], ethaddr->addr[5])); + /* non-unicast address? */ + if (ip_addr_isany(ipaddr) || + ip_addr_isbroadcast(ipaddr, netif) || + ip_addr_ismulticast(ipaddr)) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("update_arp_entry: will not add non-unicast IP address to ARP cache\n")); + return ERR_ARG; + } + /* find or create ARP entry */ +#if LWIP_NETIF_HWADDRHINT + i = find_entry(ipaddr, flags, netif); +#else /* LWIP_NETIF_HWADDRHINT */ + i = find_entry(ipaddr, flags); +#endif /* LWIP_NETIF_HWADDRHINT */ + /* bail out if no entry could be found */ + if (i < 0) + return (err_t)i; + + /* mark it stable */ + arp_table[i].state = ETHARP_STATE_STABLE; + /* record network interface */ + arp_table[i].netif = netif; + + /* insert in SNMP ARP index tree */ + snmp_insert_arpidx_tree(netif, &arp_table[i].ipaddr); + + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("update_arp_entry: updating stable entry %"S16_F"\n", (s16_t)i)); + /* update address */ + k = ETHARP_HWADDR_LEN; + while (k > 0) { + k--; + arp_table[i].ethaddr.addr[k] = ethaddr->addr[k]; + } + /* reset time stamp */ + arp_table[i].ctime = 0; +#if ARP_QUEUEING + /* this is where we will send out queued packets! */ + while (arp_table[i].q != NULL) { + struct pbuf *p; + /* remember remainder of queue */ + struct etharp_q_entry *q = arp_table[i].q; + /* pop first item off the queue */ + arp_table[i].q = q->next; + /* get the packet pointer */ + p = q->p; + /* now queue entry can be freed */ + memp_free(MEMP_ARP_QUEUE, q); + /* send the queued IP packet */ + etharp_send_ip(netif, p, (struct eth_addr*)(netif->hwaddr), ethaddr); + /* free the queued IP packet */ + pbuf_free(p); + } +#endif + return ERR_OK; +} + +/** + * Finds (stable) ethernet/IP address pair from ARP table + * using interface and IP address index. + * @note the addresses in the ARP table are in network order! + * + * @param netif points to interface index + * @param ipaddr points to the (network order) IP address index + * @param eth_ret points to return pointer + * @param ip_ret points to return pointer + * @return table index if found, -1 otherwise + */ +s8_t +etharp_find_addr(struct netif *netif, struct ip_addr *ipaddr, + struct eth_addr **eth_ret, struct ip_addr **ip_ret) +{ + s8_t i; + + LWIP_UNUSED_ARG(netif); + +#if LWIP_NETIF_HWADDRHINT + i = find_entry(ipaddr, ETHARP_FIND_ONLY, NULL); +#else /* LWIP_NETIF_HWADDRHINT */ + i = find_entry(ipaddr, ETHARP_FIND_ONLY); +#endif /* LWIP_NETIF_HWADDRHINT */ + if((i >= 0) && arp_table[i].state == ETHARP_STATE_STABLE) { + *eth_ret = &arp_table[i].ethaddr; + *ip_ret = &arp_table[i].ipaddr; + return i; + } + return -1; +} + +/** + * Updates the ARP table using the given IP packet. + * + * Uses the incoming IP packet's source address to update the + * ARP cache for the local network. The function does not alter + * or free the packet. This function must be called before the + * packet p is passed to the IP layer. + * + * @param netif The lwIP network interface on which the IP packet pbuf arrived. + * @param p The IP packet that arrived on netif. + * + * @return NULL + * + * @see pbuf_free() + */ +void +etharp_ip_input(struct netif *netif, struct pbuf *p) +{ + struct eth_hdr *ethhdr; + struct ip_hdr *iphdr; + LWIP_ERROR("netif != NULL", (netif != NULL), return;); + /* Only insert an entry if the source IP address of the + incoming IP packet comes from a host on the local network. */ + ethhdr = p->payload; + iphdr = (struct ip_hdr *)((u8_t*)ethhdr + SIZEOF_ETH_HDR); +#if ETHARP_SUPPORT_VLAN + if (ethhdr->type == ETHTYPE_VLAN) { + iphdr = (struct ip_hdr *)((u8_t*)ethhdr + SIZEOF_ETH_HDR + SIZEOF_VLAN_HDR); + } +#endif /* ETHARP_SUPPORT_VLAN */ + + /* source is not on the local network? */ + if (!ip_addr_netcmp(&(iphdr->src), &(netif->ip_addr), &(netif->netmask))) { + /* do nothing */ + return; + } + + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_ip_input: updating ETHARP table.\n")); + /* update ARP table */ + /* @todo We could use ETHARP_TRY_HARD if we think we are going to talk + * back soon (for example, if the destination IP address is ours. */ + update_arp_entry(netif, &(iphdr->src), &(ethhdr->src), 0); +} + + +/** + * Responds to ARP requests to us. Upon ARP replies to us, add entry to cache + * send out queued IP packets. Updates cache with snooped address pairs. + * + * Should be called for incoming ARP packets. The pbuf in the argument + * is freed by this function. + * + * @param netif The lwIP network interface on which the ARP packet pbuf arrived. + * @param ethaddr Ethernet address of netif. + * @param p The ARP packet that arrived on netif. Is freed by this function. + * + * @return NULL + * + * @see pbuf_free() + */ +void +etharp_arp_input(struct netif *netif, struct eth_addr *ethaddr, struct pbuf *p) +{ + struct etharp_hdr *hdr; + struct eth_hdr *ethhdr; + /* these are aligned properly, whereas the ARP header fields might not be */ + struct ip_addr sipaddr, dipaddr; + u8_t i; + u8_t for_us; +#if LWIP_AUTOIP + const u8_t * ethdst_hwaddr; +#endif /* LWIP_AUTOIP */ + + LWIP_ERROR("netif != NULL", (netif != NULL), return;); + + /* drop short ARP packets: we have to check for p->len instead of p->tot_len here + since a struct etharp_hdr is pointed to p->payload, so it musn't be chained! */ + if (p->len < SIZEOF_ETHARP_PACKET) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, + ("etharp_arp_input: packet dropped, too short (%"S16_F"/%"S16_F")\n", p->tot_len, + (s16_t)SIZEOF_ETHARP_PACKET)); + ETHARP_STATS_INC(etharp.lenerr); + ETHARP_STATS_INC(etharp.drop); + pbuf_free(p); + return; + } + + ethhdr = p->payload; + hdr = (struct etharp_hdr *)((u8_t*)ethhdr + SIZEOF_ETH_HDR); +#if ETHARP_SUPPORT_VLAN + if (ethhdr->type == ETHTYPE_VLAN) { + hdr = (struct etharp_hdr *)(((u8_t*)ethhdr) + SIZEOF_ETH_HDR + SIZEOF_VLAN_HDR); + } +#endif /* ETHARP_SUPPORT_VLAN */ + + /* RFC 826 "Packet Reception": */ + if ((hdr->hwtype != htons(HWTYPE_ETHERNET)) || + (hdr->_hwlen_protolen != htons((ETHARP_HWADDR_LEN << 8) | sizeof(struct ip_addr))) || + (hdr->proto != htons(ETHTYPE_IP)) || + (ethhdr->type != htons(ETHTYPE_ARP))) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, + ("etharp_arp_input: packet dropped, wrong hw type, hwlen, proto, protolen or ethernet type (%"U16_F"/%"U16_F"/%"U16_F"/%"U16_F"/%"U16_F")\n", + hdr->hwtype, ARPH_HWLEN(hdr), hdr->proto, ARPH_PROTOLEN(hdr), ethhdr->type)); + ETHARP_STATS_INC(etharp.proterr); + ETHARP_STATS_INC(etharp.drop); + pbuf_free(p); + return; + } + ETHARP_STATS_INC(etharp.recv); + +#if LWIP_AUTOIP + /* We have to check if a host already has configured our random + * created link local address and continously check if there is + * a host with this IP-address so we can detect collisions */ + autoip_arp_reply(netif, hdr); +#endif /* LWIP_AUTOIP */ + + /* Copy struct ip_addr2 to aligned ip_addr, to support compilers without + * structure packing (not using structure copy which breaks strict-aliasing rules). */ + SMEMCPY(&sipaddr, &hdr->sipaddr, sizeof(sipaddr)); + SMEMCPY(&dipaddr, &hdr->dipaddr, sizeof(dipaddr)); + + /* this interface is not configured? */ + if (netif->ip_addr.addr == 0) { + for_us = 0; + } else { + /* ARP packet directed to us? */ + for_us = ip_addr_cmp(&dipaddr, &(netif->ip_addr)); + } + + /* ARP message directed to us? */ + if (for_us) { + /* add IP address in ARP cache; assume requester wants to talk to us. + * can result in directly sending the queued packets for this host. */ + update_arp_entry(netif, &sipaddr, &(hdr->shwaddr), ETHARP_TRY_HARD); + /* ARP message not directed to us? */ + } else { + /* update the source IP address in the cache, if present */ + update_arp_entry(netif, &sipaddr, &(hdr->shwaddr), 0); + } + + /* now act on the message itself */ + switch (htons(hdr->opcode)) { + /* ARP request? */ + case ARP_REQUEST: + /* ARP request. If it asked for our address, we send out a + * reply. In any case, we time-stamp any existing ARP entry, + * and possiby send out an IP packet that was queued on it. */ + + LWIP_DEBUGF (ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_arp_input: incoming ARP request\n")); + /* ARP request for our address? */ + if (for_us) { + + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_arp_input: replying to ARP request for our IP address\n")); + /* Re-use pbuf to send ARP reply. + Since we are re-using an existing pbuf, we can't call etharp_raw since + that would allocate a new pbuf. */ + hdr->opcode = htons(ARP_REPLY); + + hdr->dipaddr = hdr->sipaddr; + SMEMCPY(&hdr->sipaddr, &netif->ip_addr, sizeof(hdr->sipaddr)); + + LWIP_ASSERT("netif->hwaddr_len must be the same as ETHARP_HWADDR_LEN for etharp!", + (netif->hwaddr_len == ETHARP_HWADDR_LEN)); + i = ETHARP_HWADDR_LEN; +#if LWIP_AUTOIP + /* If we are using Link-Local, ARP packets must be broadcast on the + * link layer. (See RFC3927 Section 2.5) */ + ethdst_hwaddr = ((netif->autoip != NULL) && (netif->autoip->state != AUTOIP_STATE_OFF)) ? (u8_t*)(ethbroadcast.addr) : hdr->shwaddr.addr; +#endif /* LWIP_AUTOIP */ + + while(i > 0) { + i--; + hdr->dhwaddr.addr[i] = hdr->shwaddr.addr[i]; +#if LWIP_AUTOIP + ethhdr->dest.addr[i] = ethdst_hwaddr[i]; +#else /* LWIP_AUTOIP */ + ethhdr->dest.addr[i] = hdr->shwaddr.addr[i]; +#endif /* LWIP_AUTOIP */ + hdr->shwaddr.addr[i] = ethaddr->addr[i]; + ethhdr->src.addr[i] = ethaddr->addr[i]; + } + + /* hwtype, hwaddr_len, proto, protolen and the type in the ethernet header + are already correct, we tested that before */ + + /* return ARP reply */ + netif->linkoutput(netif, p); + /* we are not configured? */ + } else if (netif->ip_addr.addr == 0) { + /* { for_us == 0 and netif->ip_addr.addr == 0 } */ + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_arp_input: we are unconfigured, ARP request ignored.\n")); + /* request was not directed to us */ + } else { + /* { for_us == 0 and netif->ip_addr.addr != 0 } */ + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_arp_input: ARP request was not for us.\n")); + } + break; + case ARP_REPLY: + /* ARP reply. We already updated the ARP cache earlier. */ + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_arp_input: incoming ARP reply\n")); +#if (LWIP_DHCP && DHCP_DOES_ARP_CHECK) + /* DHCP wants to know about ARP replies from any host with an + * IP address also offered to us by the DHCP server. We do not + * want to take a duplicate IP address on a single network. + * @todo How should we handle redundant (fail-over) interfaces? */ + dhcp_arp_reply(netif, &sipaddr); +#endif + break; + default: + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_arp_input: ARP unknown opcode type %"S16_F"\n", htons(hdr->opcode))); + ETHARP_STATS_INC(etharp.err); + break; + } + /* free ARP packet */ + pbuf_free(p); +} + +/** + * Resolve and fill-in Ethernet address header for outgoing IP packet. + * + * For IP multicast and broadcast, corresponding Ethernet addresses + * are selected and the packet is transmitted on the link. + * + * For unicast addresses, the packet is submitted to etharp_query(). In + * case the IP address is outside the local network, the IP address of + * the gateway is used. + * + * @param netif The lwIP network interface which the IP packet will be sent on. + * @param q The pbuf(s) containing the IP packet to be sent. + * @param ipaddr The IP address of the packet destination. + * + * @return + * - ERR_RTE No route to destination (no gateway to external networks), + * or the return type of either etharp_query() or etharp_send_ip(). + */ +err_t +etharp_output(struct netif *netif, struct pbuf *q, struct ip_addr *ipaddr) +{ + struct eth_addr *dest, mcastaddr; + + /* make room for Ethernet header - should not fail */ + if (pbuf_header(q, sizeof(struct eth_hdr)) != 0) { + /* bail out */ + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, + ("etharp_output: could not allocate room for header.\n")); + LINK_STATS_INC(link.lenerr); + return ERR_BUF; + } + + /* assume unresolved Ethernet address */ + dest = NULL; + /* Determine on destination hardware address. Broadcasts and multicasts + * are special, other IP addresses are looked up in the ARP table. */ + + /* broadcast destination IP address? */ + if (ip_addr_isbroadcast(ipaddr, netif)) { + /* broadcast on Ethernet also */ + dest = (struct eth_addr *)&ethbroadcast; + /* multicast destination IP address? */ + } else if (ip_addr_ismulticast(ipaddr)) { + /* Hash IP multicast address to MAC address.*/ + mcastaddr.addr[0] = 0x01; + mcastaddr.addr[1] = 0x00; + mcastaddr.addr[2] = 0x5e; + mcastaddr.addr[3] = ip4_addr2(ipaddr) & 0x7f; + mcastaddr.addr[4] = ip4_addr3(ipaddr); + mcastaddr.addr[5] = ip4_addr4(ipaddr); + /* destination Ethernet address is multicast */ + dest = &mcastaddr; + /* unicast destination IP address? */ + } else { + /* outside local network? */ + if (!ip_addr_netcmp(ipaddr, &(netif->ip_addr), &(netif->netmask))) { + /* interface has default gateway? */ + if (netif->gw.addr != 0) { + /* send to hardware address of default gateway IP address */ + ipaddr = &(netif->gw); + /* no default gateway available */ + } else { + /* no route to destination error (default gateway missing) */ + return ERR_RTE; + } + } + /* queue on destination Ethernet address belonging to ipaddr */ + return etharp_query(netif, ipaddr, q); + } + + /* continuation for multicast/broadcast destinations */ + /* obtain source Ethernet address of the given interface */ + /* send packet directly on the link */ + return etharp_send_ip(netif, q, (struct eth_addr*)(netif->hwaddr), dest); +} + +/** + * Send an ARP request for the given IP address and/or queue a packet. + * + * If the IP address was not yet in the cache, a pending ARP cache entry + * is added and an ARP request is sent for the given address. The packet + * is queued on this entry. + * + * If the IP address was already pending in the cache, a new ARP request + * is sent for the given address. The packet is queued on this entry. + * + * If the IP address was already stable in the cache, and a packet is + * given, it is directly sent and no ARP request is sent out. + * + * If the IP address was already stable in the cache, and no packet is + * given, an ARP request is sent out. + * + * @param netif The lwIP network interface on which ipaddr + * must be queried for. + * @param ipaddr The IP address to be resolved. + * @param q If non-NULL, a pbuf that must be delivered to the IP address. + * q is not freed by this function. + * + * @note q must only be ONE packet, not a packet queue! + * + * @return + * - ERR_BUF Could not make room for Ethernet header. + * - ERR_MEM Hardware address unknown, and no more ARP entries available + * to query for address or queue the packet. + * - ERR_MEM Could not queue packet due to memory shortage. + * - ERR_RTE No route to destination (no gateway to external networks). + * - ERR_ARG Non-unicast address given, those will not appear in ARP cache. + * + */ +err_t +etharp_query(struct netif *netif, struct ip_addr *ipaddr, struct pbuf *q) +{ + struct eth_addr * srcaddr = (struct eth_addr *)netif->hwaddr; + err_t result = ERR_MEM; + s8_t i; /* ARP entry index */ + + /* non-unicast address? */ + if (ip_addr_isbroadcast(ipaddr, netif) || + ip_addr_ismulticast(ipaddr) || + ip_addr_isany(ipaddr)) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: will not add non-unicast IP address to ARP cache\n")); + return ERR_ARG; + } + + /* find entry in ARP cache, ask to create entry if queueing packet */ +#if LWIP_NETIF_HWADDRHINT + i = find_entry(ipaddr, ETHARP_TRY_HARD, netif); +#else /* LWIP_NETIF_HWADDRHINT */ + i = find_entry(ipaddr, ETHARP_TRY_HARD); +#endif /* LWIP_NETIF_HWADDRHINT */ + + /* could not find or create entry? */ + if (i < 0) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: could not create ARP entry\n")); + if (q) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: packet dropped\n")); + ETHARP_STATS_INC(etharp.memerr); + } + return (err_t)i; + } + + /* mark a fresh entry as pending (we just sent a request) */ + if (arp_table[i].state == ETHARP_STATE_EMPTY) { + arp_table[i].state = ETHARP_STATE_PENDING; + } + + /* { i is either a STABLE or (new or existing) PENDING entry } */ + LWIP_ASSERT("arp_table[i].state == PENDING or STABLE", + ((arp_table[i].state == ETHARP_STATE_PENDING) || + (arp_table[i].state == ETHARP_STATE_STABLE))); + + /* do we have a pending entry? or an implicit query request? */ + if ((arp_table[i].state == ETHARP_STATE_PENDING) || (q == NULL)) { + /* try to resolve it; send out ARP request */ + result = etharp_request(netif, ipaddr); + if (result != ERR_OK) { + /* ARP request couldn't be sent */ + /* We don't re-send arp request in etharp_tmr, but we still queue packets, + since this failure could be temporary, and the next packet calling + etharp_query again could lead to sending the queued packets. */ + } + } + + /* packet given? */ + if (q != NULL) { + /* stable entry? */ + if (arp_table[i].state == ETHARP_STATE_STABLE) { + /* we have a valid IP->Ethernet address mapping */ + /* send the packet */ + result = etharp_send_ip(netif, q, srcaddr, &(arp_table[i].ethaddr)); + /* pending entry? (either just created or already pending */ + } else if (arp_table[i].state == ETHARP_STATE_PENDING) { +#if ARP_QUEUEING /* queue the given q packet */ + struct pbuf *p; + int copy_needed = 0; + /* IF q includes a PBUF_REF, PBUF_POOL or PBUF_RAM, we have no choice but + * to copy the whole queue into a new PBUF_RAM (see bug #11400) + * PBUF_ROMs can be left as they are, since ROM must not get changed. */ + p = q; + while (p) { + LWIP_ASSERT("no packet queues allowed!", (p->len != p->tot_len) || (p->next == 0)); + if(p->type != PBUF_ROM) { + copy_needed = 1; + break; + } + p = p->next; + } + if(copy_needed) { + /* copy the whole packet into new pbufs */ + p = pbuf_alloc(PBUF_RAW, p->tot_len, PBUF_RAM); + if(p != NULL) { + if (pbuf_copy(p, q) != ERR_OK) { + pbuf_free(p); + p = NULL; + } + } + } else { + /* referencing the old pbuf is enough */ + p = q; + pbuf_ref(p); + } + /* packet could be taken over? */ + if (p != NULL) { + /* queue packet ... */ + struct etharp_q_entry *new_entry; + /* allocate a new arp queue entry */ + new_entry = memp_malloc(MEMP_ARP_QUEUE); + if (new_entry != NULL) { + new_entry->next = 0; + new_entry->p = p; + if(arp_table[i].q != NULL) { + /* queue was already existent, append the new entry to the end */ + struct etharp_q_entry *r; + r = arp_table[i].q; + while (r->next != NULL) { + r = r->next; + } + r->next = new_entry; + } else { + /* queue did not exist, first item in queue */ + arp_table[i].q = new_entry; + } + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: queued packet %p on ARP entry %"S16_F"\n", (void *)q, (s16_t)i)); + result = ERR_OK; + } else { + /* the pool MEMP_ARP_QUEUE is empty */ + pbuf_free(p); + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: could not queue a copy of PBUF_REF packet %p (out of memory)\n", (void *)q)); + /* { result == ERR_MEM } through initialization */ + } + } else { + ETHARP_STATS_INC(etharp.memerr); + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: could not queue a copy of PBUF_REF packet %p (out of memory)\n", (void *)q)); + /* { result == ERR_MEM } through initialization */ + } +#else /* ARP_QUEUEING == 0 */ + /* q && state == PENDING && ARP_QUEUEING == 0 => result = ERR_MEM */ + /* { result == ERR_MEM } through initialization */ + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: Ethernet destination address unknown, queueing disabled, packet %p dropped\n", (void *)q)); +#endif + } + } + return result; +} + +/** + * Send a raw ARP packet (opcode and all addresses can be modified) + * + * @param netif the lwip network interface on which to send the ARP packet + * @param ethsrc_addr the source MAC address for the ethernet header + * @param ethdst_addr the destination MAC address for the ethernet header + * @param hwsrc_addr the source MAC address for the ARP protocol header + * @param ipsrc_addr the source IP address for the ARP protocol header + * @param hwdst_addr the destination MAC address for the ARP protocol header + * @param ipdst_addr the destination IP address for the ARP protocol header + * @param opcode the type of the ARP packet + * @return ERR_OK if the ARP packet has been sent + * ERR_MEM if the ARP packet couldn't be allocated + * any other err_t on failure + */ +#if !LWIP_AUTOIP +static +#endif /* LWIP_AUTOIP */ +err_t +etharp_raw(struct netif *netif, const struct eth_addr *ethsrc_addr, + const struct eth_addr *ethdst_addr, + const struct eth_addr *hwsrc_addr, const struct ip_addr *ipsrc_addr, + const struct eth_addr *hwdst_addr, const struct ip_addr *ipdst_addr, + const u16_t opcode) +{ + struct pbuf *p; + err_t result = ERR_OK; + u8_t k; /* ARP entry index */ + struct eth_hdr *ethhdr; + struct etharp_hdr *hdr; +#if LWIP_AUTOIP + const u8_t * ethdst_hwaddr; +#endif /* LWIP_AUTOIP */ + + /* allocate a pbuf for the outgoing ARP request packet */ + p = pbuf_alloc(PBUF_RAW, SIZEOF_ETHARP_PACKET, PBUF_RAM); + /* could allocate a pbuf for an ARP request? */ + if (p == NULL) { + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, + ("etharp_raw: could not allocate pbuf for ARP request.\n")); + ETHARP_STATS_INC(etharp.memerr); + return ERR_MEM; + } + LWIP_ASSERT("check that first pbuf can hold struct etharp_hdr", + (p->len >= SIZEOF_ETHARP_PACKET)); + + ethhdr = p->payload; + hdr = (struct etharp_hdr *)((u8_t*)ethhdr + SIZEOF_ETH_HDR); + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_raw: sending raw ARP packet.\n")); + hdr->opcode = htons(opcode); + + LWIP_ASSERT("netif->hwaddr_len must be the same as ETHARP_HWADDR_LEN for etharp!", + (netif->hwaddr_len == ETHARP_HWADDR_LEN)); + k = ETHARP_HWADDR_LEN; +#if LWIP_AUTOIP + /* If we are using Link-Local, ARP packets must be broadcast on the + * link layer. (See RFC3927 Section 2.5) */ + ethdst_hwaddr = ((netif->autoip != NULL) && (netif->autoip->state != AUTOIP_STATE_OFF)) ? (u8_t*)(ethbroadcast.addr) : ethdst_addr->addr; +#endif /* LWIP_AUTOIP */ + /* Write MAC-Addresses (combined loop for both headers) */ + while(k > 0) { + k--; + /* Write the ARP MAC-Addresses */ + hdr->shwaddr.addr[k] = hwsrc_addr->addr[k]; + hdr->dhwaddr.addr[k] = hwdst_addr->addr[k]; + /* Write the Ethernet MAC-Addresses */ +#if LWIP_AUTOIP + ethhdr->dest.addr[k] = ethdst_hwaddr[k]; +#else /* LWIP_AUTOIP */ + ethhdr->dest.addr[k] = ethdst_addr->addr[k]; +#endif /* LWIP_AUTOIP */ + ethhdr->src.addr[k] = ethsrc_addr->addr[k]; + } + hdr->sipaddr = *(struct ip_addr2 *)ipsrc_addr; + hdr->dipaddr = *(struct ip_addr2 *)ipdst_addr; + + hdr->hwtype = htons(HWTYPE_ETHERNET); + hdr->proto = htons(ETHTYPE_IP); + /* set hwlen and protolen together */ + hdr->_hwlen_protolen = htons((ETHARP_HWADDR_LEN << 8) | sizeof(struct ip_addr)); + + ethhdr->type = htons(ETHTYPE_ARP); + /* send ARP query */ + result = netif->linkoutput(netif, p); + ETHARP_STATS_INC(etharp.xmit); + /* free ARP query packet */ + pbuf_free(p); + p = NULL; + /* could not allocate pbuf for ARP request */ + + return result; +} + +/** + * Send an ARP request packet asking for ipaddr. + * + * @param netif the lwip network interface on which to send the request + * @param ipaddr the IP address for which to ask + * @return ERR_OK if the request has been sent + * ERR_MEM if the ARP packet couldn't be allocated + * any other err_t on failure + */ +err_t +etharp_request(struct netif *netif, struct ip_addr *ipaddr) +{ + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_request: sending ARP request.\n")); + return etharp_raw(netif, (struct eth_addr *)netif->hwaddr, &ethbroadcast, + (struct eth_addr *)netif->hwaddr, &netif->ip_addr, &ethzero, + ipaddr, ARP_REQUEST); +} + +/** + * Process received ethernet frames. Using this function instead of directly + * calling ip_input and passing ARP frames through etharp in ethernetif_input, + * the ARP cache is protected from concurrent access. + * + * @param p the recevied packet, p->payload pointing to the ethernet header + * @param netif the network interface on which the packet was received + */ +err_t +ethernet_input(struct pbuf *p, struct netif *netif) +{ + struct eth_hdr* ethhdr; + u16_t type; + + /* points to packet payload, which starts with an Ethernet header */ + ethhdr = p->payload; + LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, + ("ethernet_input: dest:%02x:%02x:%02x:%02x:%02x:%02x, src:%02x:%02x:%02x:%02x:%02x:%02x, type:%2hx\n", + (unsigned)ethhdr->dest.addr[0], (unsigned)ethhdr->dest.addr[1], (unsigned)ethhdr->dest.addr[2], + (unsigned)ethhdr->dest.addr[3], (unsigned)ethhdr->dest.addr[4], (unsigned)ethhdr->dest.addr[5], + (unsigned)ethhdr->src.addr[0], (unsigned)ethhdr->src.addr[1], (unsigned)ethhdr->src.addr[2], + (unsigned)ethhdr->src.addr[3], (unsigned)ethhdr->src.addr[4], (unsigned)ethhdr->src.addr[5], + (unsigned)htons(ethhdr->type))); + + type = htons(ethhdr->type); +#if ETHARP_SUPPORT_VLAN + if (type == ETHTYPE_VLAN) { + struct eth_vlan_hdr *vlan = (struct eth_vlan_hdr*)(((char*)ethhdr) + SIZEOF_ETH_HDR); +#ifdef ETHARP_VLAN_CHECK /* if not, allow all VLANs */ + if (VLAN_ID(vlan) != ETHARP_VLAN_CHECK) { + /* silently ignore this packet: not for our VLAN */ + pbuf_free(p); + return ERR_OK; + } +#endif /* ETHARP_VLAN_CHECK */ + type = htons(vlan->tpid); + } +#endif /* ETHARP_SUPPORT_VLAN */ + + switch (type) { + /* IP packet? */ + case ETHTYPE_IP: +#if ETHARP_TRUST_IP_MAC + /* update ARP table */ + etharp_ip_input(netif, p); +#endif /* ETHARP_TRUST_IP_MAC */ + /* skip Ethernet header */ + if(pbuf_header(p, -(s16_t)SIZEOF_ETH_HDR)) { + LWIP_ASSERT("Can't move over header in packet", 0); + pbuf_free(p); + p = NULL; + } else { + /* pass to IP layer */ + ip_input(p, netif); + } + break; + + case ETHTYPE_ARP: + /* pass p to ARP module */ + etharp_arp_input(netif, (struct eth_addr*)(netif->hwaddr), p); + break; + +#if PPPOE_SUPPORT + case ETHTYPE_PPPOEDISC: /* PPP Over Ethernet Discovery Stage */ + pppoe_disc_input(netif, p); + break; + + case ETHTYPE_PPPOE: /* PPP Over Ethernet Session Stage */ + pppoe_data_input(netif, p); + break; +#endif /* PPPOE_SUPPORT */ + + default: + ETHARP_STATS_INC(etharp.proterr); + ETHARP_STATS_INC(etharp.drop); + pbuf_free(p); + p = NULL; + break; + } + + /* This means the pbuf is freed or consumed, + so the caller doesn't have to free it again */ + return ERR_OK; +} +#endif /* LWIP_ARP */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/netif/loopif.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/netif/loopif.c new file mode 100644 index 0000000..b7d6632 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/netif/loopif.c @@ -0,0 +1,68 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * Loop Interface + * + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#include "lwip/opt.h" + +#if LWIP_HAVE_LOOPIF + +#include "netif/loopif.h" +#include "lwip/snmp.h" + +/** + * Initialize a lwip network interface structure for a loopback interface + * + * @param netif the lwip network interface structure for this loopif + * @return ERR_OK if the loopif is initialized + * ERR_MEM if private data couldn't be allocated + */ +err_t +loopif_init(struct netif *netif) +{ + /* initialize the snmp variables and counters inside the struct netif + * ifSpeed: no assumption can be made! + */ + NETIF_INIT_SNMP(netif, snmp_ifType_softwareLoopback, 0); + + netif->name[0] = 'l'; + netif->name[1] = 'o'; + netif->output = netif_loop_output; + return ERR_OK; +} + +#endif /* LWIP_HAVE_LOOPIF */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/arch/cc.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/arch/cc.h new file mode 100644 index 0000000..fc9c07d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/arch/cc.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __ARCH_CC_H__ +#define __ARCH_CC_H__ + +/* Define platform endianness */ +#ifndef BYTE_ORDER +#define BYTE_ORDER BIG_ENDIAN +#endif /* BYTE_ORDER */ + +/* Define generic types used in lwIP */ +typedef unsigned char u8_t; +typedef signed char s8_t; +typedef unsigned short u16_t; +typedef signed short s16_t; +typedef unsigned long u32_t; +typedef signed long s32_t; + +typedef u32_t mem_ptr_t; + +/* Define (sn)printf formatters for these lwIP types */ +#define U16_F "u" +#define S16_F "d" +#define X16_F "x" +#define U32_F "u" +#define S32_F "d" +#define X32_F "x" + +/* Compiler hints for packing structures */ +#define PACK_STRUCT_FIELD(x) x +#define PACK_STRUCT_STRUCT __attribute__((packed)) +#define PACK_STRUCT_BEGIN +#define PACK_STRUCT_END + +/* Plaform specific diagnostic output */ +#ifdef CONFIG_OWL +# include <owl/core/owl_debug.h> +# define LWIP_PLATFORM_DIAG(x) owl_printf x +# define LWIP_PLATFORM_ASSERT(x) owl_assert(x) +#else +# include <printf-stdarg.h> +# define LWIP_PLATFORM_DIAG(x) do { printk x; } while(0) +# define LWIP_PLATFORM_ASSERT(x) do { \ + printk("Assertion \"%s\" failed at line " \ + "%d in %s\n", \ + x, __LINE__, __FILE__); while(1); \ + } while(0) +#endif + +#endif /* __ARCH_CC_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/arch/perf.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/arch/perf.h new file mode 100644 index 0000000..4991787 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/arch/perf.h @@ -0,0 +1,7 @@ +#ifndef __PERF_H__ +#define __PERF_H__ + +#define PERF_START /* null definition */ +#define PERF_STOP(x) /* null definition */ + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/lwipopts.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/lwipopts.h new file mode 100644 index 0000000..ae4df23 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/lwipopts.h @@ -0,0 +1,426 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * + * lwIP Options Configuration + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIPOPTS_H__ +#define __LWIPOPTS_H__ + +#include "wl_api.h" + +/* + ----------------------------------------------- + ---------- Platform specific locking ---------- + ----------------------------------------------- +*/ + +/** + * NO_SYS==1: Provides VERY minimal functionality. Otherwise, + * use lwIP facilities. + */ +#define NO_SYS 1 + + +/* + ------------------------------------ + ---------- Memory options ---------- + ------------------------------------ +*/ +/** + * MEM_ALIGNMENT: should be set to the alignment of the CPU + * 4 byte alignment -> #define MEM_ALIGNMENT 4 + * 2 byte alignment -> #define MEM_ALIGNMENT 2 + */ +#define MEM_ALIGNMENT 4 + +/** + * MEM_SIZE: the size of the heap memory. If the application will send + * a lot of data that needs to be copied, this should be set high. + */ +#define MEM_SIZE 16000 + + +/* + ------------------------------------------------ + ---------- Internal Memory Pool Sizes ---------- + ------------------------------------------------ +*/ +/** + * MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF). + * If the application sends a lot of data out of ROM (or other static memory), + * this should be set high. + */ +#define MEMP_NUM_PBUF 30 + +/** + * MEMP_NUM_RAW_PCB: Number of raw connection PCBs + * (requires the LWIP_RAW option) + */ +#define MEMP_NUM_RAW_PCB 4 + +/** + * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One + * per active UDP "connection". + * (requires the LWIP_UDP option) + */ +#define MEMP_NUM_UDP_PCB 4 + +/** + * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. + * (requires the LWIP_TCP option) + */ +#define MEMP_NUM_TCP_PCB 2 + +/** + * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. + * (requires the LWIP_TCP option) + */ +#define MEMP_NUM_TCP_PCB_LISTEN 2 + +/** + * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. + * (requires the LWIP_TCP option) + */ +#define MEMP_NUM_TCP_SEG 32 + +/** + * MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing + * packets (pbufs) that are waiting for an ARP request (to resolve + * their destination address) to finish. + * (requires the ARP_QUEUEING option) + */ +#define MEMP_NUM_ARP_QUEUE 2 + +/** + * MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts. + * (requires NO_SYS==0) + */ +#define MEMP_NUM_SYS_TIMEOUT 0 + +/** + * MEMP_NUM_NETBUF: the number of struct netbufs. + * (only needed if you use the sequential API, like api_lib.c) + */ +#define MEMP_NUM_NETBUF 0 + +/** + * MEMP_NUM_NETCONN: the number of struct netconns. + * (only needed if you use the sequential API, like api_lib.c) + */ +#define MEMP_NUM_NETCONN 0 + +/** + * MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used + * for callback/timeout API communication. + * (only needed if you use tcpip.c) + */ +#define MEMP_NUM_TCPIP_MSG_API 0 + +/** + * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used + * for incoming packets. + * (only needed if you use tcpip.c) + */ +#define MEMP_NUM_TCPIP_MSG_INPKT 0 + +/** + * PBUF_POOL_SIZE: the number of buffers in the pbuf pool. + */ +#define PBUF_POOL_SIZE 32 + +/* + --------------------------------- + ---------- ARP options ---------- + --------------------------------- +*/ +/** + * LWIP_ARP==1: Enable ARP functionality. + */ +#define LWIP_ARP 1 + +/* + -------------------------------- + ---------- IP options ---------- + -------------------------------- +*/ +/** + * IP_FORWARD==1: Enables the ability to forward IP packets across network + * interfaces. If you are going to run lwIP on a device with only one network + * interface, define this to 0. + */ +#define IP_FORWARD 0 + +/** + * IP_OPTIONS: Defines the behavior for IP options. + * IP_OPTIONS==0_ALLOWED: All packets with IP options are dropped. + * IP_OPTIONS==1_ALLOWED: IP options are allowed (but not parsed). + */ +#define IP_OPTIONS_ALLOWED 1 + +/** + * IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that + * this option does not affect outgoing packet sizes, which can be controlled + * via IP_FRAG. + */ +#define IP_REASSEMBLY 1 + +/** + * IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note + * that this option does not affect incoming packet sizes, which can be + * controlled via IP_REASSEMBLY. + */ +#define IP_FRAG 1 + +/** + * IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally) + * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived + * in this time, the whole packet is discarded. + */ +#define IP_REASS_MAXAGE 3 + +/** + * IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled. + * Since the received pbufs are enqueued, be sure to configure + * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive + * packets even if the maximum amount of fragments is enqueued for reassembly! + */ +#define IP_REASS_MAX_PBUFS 10 + +/** + * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP + * fragmentation. Otherwise pbufs are allocated and reference the original + * packet data to be fragmented. + */ +#define IP_FRAG_USES_STATIC_BUF 0 + +/** + * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers. + */ +#define IP_DEFAULT_TTL 255 + +/* + ---------------------------------- + ---------- ICMP options ---------- + ---------------------------------- +*/ +/** + * LWIP_ICMP==1: Enable ICMP module inside the IP stack. + * Be careful, disable that make your product non-compliant to RFC1122 + */ +#define LWIP_ICMP 1 + +/** + * ICMP_TTL: Default value for Time-To-Live used by ICMP packets. + */ +#define ICMP_TTL (IP_DEFAULT_TTL) + +/* + --------------------------------- + ---------- RAW options ---------- + --------------------------------- +*/ +/** + * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. + */ +#define LWIP_RAW 1 + +/* + ---------------------------------- + ---------- DHCP options ---------- + ---------------------------------- +*/ +/** + * LWIP_DHCP==1: Enable DHCP module. + */ +#define LWIP_DHCP 1 + +/* + ------------------------------------ + ---------- AUTOIP options ---------- + ------------------------------------ +*/ +/** + * LWIP_AUTOIP==1: Enable AUTOIP module. + */ +#define LWIP_AUTOIP 0 + +/* + ---------------------------------- + ---------- SNMP options ---------- + ---------------------------------- +*/ +/** + * LWIP_SNMP==1: Turn on SNMP module. UDP must be available for SNMP + * transport. + */ +#define LWIP_SNMP 0 +#define SNMP_PRIVATE_MIB 0 + +/* + ---------------------------------- + ---------- IGMP options ---------- + ---------------------------------- +*/ +/** + * LWIP_IGMP==1: Turn on IGMP module. + */ +#define LWIP_IGMP 1 + +/* + ---------------------------------- + ---------- DNS options ----------- + ---------------------------------- +*/ +/** + * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS + * transport. + */ +#define LWIP_DNS 1 + +/* + --------------------------------- + ---------- UDP options ---------- + --------------------------------- +*/ +/** + * LWIP_UDP==1: Turn on UDP. + */ +#define LWIP_UDP 1 + +/** + * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP) + */ +#define LWIP_UDPLITE 0 + +/** + * UDP_TTL: Default Time-To-Live value. + */ +#define UDP_TTL (IP_DEFAULT_TTL) + +/* + --------------------------------- + ---------- TCP options ---------- + --------------------------------- +*/ +/** + * LWIP_TCP==1: Turn on TCP. + */ +#define LWIP_TCP 1 + +/* + ---------------------------------- + ---------- Pbuf options ---------- + ---------------------------------- +*/ +/** + * PBUF_LINK_HLEN: the number of bytes that should be allocated for a + * link level header. The default is 14, the standard value for + * Ethernet. + */ +#define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE) + +/* + ------------------------------------ + ---------- LOOPIF options ---------- + ------------------------------------ +*/ +/** + * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1) and loopif.c + */ +#define LWIP_HAVE_LOOPIF 1 +#define LWIP_LOOPIF_MULTITHREADING 0 + +/* + ---------------------------------------------- + ---------- Sequential layer options ---------- + ---------------------------------------------- +*/ + +/** + * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c) + */ +#define LWIP_NETCONN 0 + +/* + ------------------------------------ + ---------- Socket options ---------- + ------------------------------------ +*/ +/** + * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c) + */ +#define LWIP_SOCKET 0 + +/* + ---------------------------------------- + ---------- Statistics options ---------- + ---------------------------------------- +*/ +/** + * LWIP_STATS==1: Enable statistics collection in lwip_stats. + */ +#define LWIP_STATS 1 +#define LINK_STATS 1 + +/* Misc */ +#define LWIP_NETIF_LINK_CALLBACK 1 +#define LWIP_NETIF_STATUS_CALLBACK 1 +#define LWIP_TIMEVAL_PRIVATE 0 + +#undef DHCP_DOES_ARP_CHECK + +#if 0 +#define LWIP_DEBUG 1 +//#define NETIF_DEBUG LWIP_DBG_ON +#define DHCP_DEBUG LWIP_DBG_ON +//#define ICMP_DEBUG LWIP_DBG_ON +//#define TCP_DEBUG LWIP_DBG_ON +//#define TCP_RTO_DEBUG LWIP_DBG_ON +//#define IP_DEBUG LWIP_DBG_ON +//#define TCP_CWND_DEBUG LWIP_DBG_ON +//#define ETHARP_DEBUG LWIP_DBG_ON +//#define PBUF_DEBUG LWIP_DBG_ON +#define TCP_INPUT_DEBUG LWIP_DBG_ON +#define TCP_OUTPUT_DEBUG LWIP_DBG_ON +#endif + +#define ETH_PAD_SIZE WL_HEADER_SIZE /* size of wifiengine header */ +#define MEM_LIBC_MALLOC 1 + +#define TCP_MSS 512 +#define TCP_SND_BUF 4096 +#endif /* __LWIPOPTS_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/netif/wlif.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/netif/wlif.h new file mode 100644 index 0000000..6354e1c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/netif/wlif.h @@ -0,0 +1,10 @@ +#ifndef __NETIF_NRWLANIF_H__ +#define __NETIF_NRWLANIF_H__ + +#include "lwip/netif.h" +#include "lwip/err.h" + +err_t wlif_init(struct netif *netif); +void wlif_poll(struct netif *netif); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/netif/wlif.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/netif/wlif.c new file mode 100644 index 0000000..55d5b6a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/netif/wlif.c @@ -0,0 +1,386 @@ +#include "lwip/opt.h" +#include "lwip/def.h" +#include "lwip/mem.h" +#include "lwip/pbuf.h" +#include "lwip/stats.h" +#include "lwip/sys.h" +#include "netif/etharp.h" +#include "netif/wlif.h" +#include <wl_api.h> +#include <wlap_api.h> + +#define IFNAME0 'w' +#define IFNAME1 'l' + +/* the queue size will affect the tx performance when using power save. + * A small queue will quickly become filled up if we have to wake the device + * before the actual transmission can occur. When the queue is filled up, the + * packets will be discarded and retransmission will be handled by the upper + * layers. In case of TCP, the retransmission time might be quite long. + * + * If the packets can be put in the pqueue instead, all the packets + * (if possible) will be transmitted when the device wakes up, so we don't have + * to wait for retransmission from upper layers. + */ +#define PQUEUE_SIZE 8 + +struct wlif_t { + volatile uint8_t rx_pending; + + struct { + struct pbuf* buf[PQUEUE_SIZE]; + uint8_t first; + uint8_t last; + } pqueue; +}; + +#define PQUEUE_EMPTY(q) (q.last == q.first) +#define PQUEUE_FULL(q) ((q.last + 1) % PQUEUE_SIZE == q.first) +#define PQUEUE_FIRST(q) (q.buf[q.first]) +#define PQUEUE_DEQUEUE(q) \ + ({ \ + struct pbuf* __p = PQUEUE_FIRST(q); \ + q.first = (q.first + 1) % PQUEUE_SIZE; \ + __p; \ + }) +#define PQUEUE_ENQUEUE(q, p) \ + ({ \ + q.buf[q.last] = p; \ + q.last = (q.last + 1) % PQUEUE_SIZE; \ + }) + + +static err_t process_pqueue(struct netif* netif) +{ + struct pbuf *p; + struct pbuf *q; + int status; + struct wlif_t *priv = (struct wlif_t*) netif->state; + + /* queue empty? finished */ + if (PQUEUE_EMPTY(priv->pqueue)) + return ERR_OK; + + /* get first packet in queue */ + p = PQUEUE_FIRST(priv->pqueue); + + status = wl_process_tx( + p->payload + WL_HEADER_SIZE, /* ptr to eth hdr */ + p->len - WL_HEADER_SIZE, /* input buffer len */ + p->tot_len - WL_HEADER_SIZE, /* pkt len */ + p->payload, /* ptr to WE hdr */ + 0, /* prio */ + p); /* pkt handle */ + + /* if we fail due to power save mode, leave packet in queue and + * try again when target is awake again (upon WL_RX_EVENT_WAKEUP). + */ + if (status == WL_RESOURCES) + return ERR_IF; + + /* if we fail for another reason, just discard the packet */ + if (status != WL_SUCCESS) { + PQUEUE_DEQUEUE(priv->pqueue); + pbuf_free(p); + return ERR_IF; + } + + /* Send the data from the pbuf to the interface, one pbuf at a + * time. The size of the data in each pbuf is kept in the ->len + * variable. + */ + for (q = p; q != NULL; q = q->next) + wl_tx(q->payload, q->len); + + /* remove packet from queue and dec refcnt */ + PQUEUE_DEQUEUE(priv->pqueue); + pbuf_free(p); + + LINK_STATS_INC(link.xmit); + + /* tell caller to process next packet */ + return ERR_INPROGRESS; +} + + +/** + * Called in interrupt context when we can read more data from the mac. + * + */ +static void +rx_isr(void* ctx) +{ + struct netif *netif = ctx; + struct wlif_t *priv = (struct wlif_t*) netif->state; + priv->rx_pending = 1; +} + + +/** + * In this function, the hardware should be initialized. + * Called from wlif_init(). + * + * @param netif the already initialized lwip network interface structure + * for this ethernetif + */ +static err_t +low_level_init(struct netif *netif) +{ + /* device capabilities */ + netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | + NETIF_FLAG_IGMP; + + /* NETIF_FLAG_LINK_UP must be set only when we have an wlan assoc */ + + /* set MAC hardware address length */ + netif->hwaddr_len = ETHARP_HWADDR_LEN; + + if (wl_get_mac_addr(netif->hwaddr) != WL_SUCCESS) + return ERR_IF; + + /* maximum transfer unit */ + netif->mtu = 1500; + + return ERR_OK; +} + + +/** + * This function should do the actual transmission of the packet. The packet is + * contained in the pbuf that is passed to the function. This pbuf + * might be chained. + * + * @param netif the lwip network interface structure for this ethernetif + * @param p the MAC packet to send (e.g. IP packet including MAC addresses and + * type) + * @return ERR_OK if the packet could be sent + * an err_t value if the packet couldn't be sent + * + * @note Returning ERR_MEM here if a DMA queue of your MAC is full can lead to + * strange results. You might consider waiting for space in the DMA queue + * to become availale since the stack doesn't retry to send a packet + * dropped because of memory failure (except for the TCP timers). + */ +static err_t +low_level_output(struct netif *netif, struct pbuf *p) +{ + struct wlif_t* priv = (struct wlif_t*) netif->state; + + /* must have a linear buffer containing up to and including + * the ethernet header + */ + if (p->len < sizeof(struct eth_hdr)) + return ERR_IF; + + /* queue full? drop packet */ + if (PQUEUE_FULL(priv->pqueue)) + return ERR_INPROGRESS; /* no one seems to check this anyway */ + + /* queue packet */ + PQUEUE_ENQUEUE(priv->pqueue, p); + pbuf_ref(p); + while (process_pqueue(netif) == ERR_INPROGRESS); + return ERR_OK; /* no one seems to check this anyway */ +} + +/** + * Should allocate a pbuf and transfer the bytes of the incoming + * packet from the interface into the pbuf. + * + * @param netif the lwip network interface structure for this ethernetif + * @return a pbuf filled with the received packet (including MAC header) + * NULL on memory error + */ +static struct pbuf * +low_level_input(struct netif *netif) +{ + struct pbuf *p; + struct wlif_t *priv = (struct wlif_t*) netif->state; + + char *stripped_pkt; + size_t stripped_pkt_len; + u16_t vlan; + u8_t rx_hdr_size; + int status; + u16_t len; + + /* maximum packet length from wl_rx() */ + len = WL_MAX_PKT_LEN; + + /* We allocate a continous pbuf */ + p = pbuf_alloc(PBUF_RAW, len, PBUF_RAM); + if (p == NULL) { + LWIP_DEBUGF(NETIF_DEBUG, ("low_level_input: fail to alloc " + "pbuf of len:%"S32_F"\n", len)); + return NULL; + } + + /* Read the entire msg */ + priv->rx_pending = 0; + wl_rx(p->payload, &len); + if (len == 0) { + LWIP_DEBUGF(NETIF_DEBUG, ("low_level_input: len was 0")); + return NULL; + } + + status = wl_process_rx( + p->payload, /* input buf */ + len, /* input buf length */ + &stripped_pkt, + &stripped_pkt_len, + &vlan); + + if (status == WL_ABSORBED) { + LWIP_DEBUGF(NETIF_DEBUG, ("low_level_input: absorbed")); + pbuf_free(p); + return NULL; + } + + /* Data packet, remove padding */ + rx_hdr_size = stripped_pkt - (char*) p->payload; + pbuf_realloc(p, stripped_pkt_len + rx_hdr_size); + + LINK_STATS_INC(link.recv); + return p; +} + + +/** + * This function will be called by wlif_poll() when a packet has been received + * from the mac. Then the type of the received packet is determined and + * the appropriate input function is called. + * + * @param netif the lwip network interface structure for this ethernetif + */ +static void +wlif_input(struct netif *netif) +{ + struct eth_hdr *ethhdr; + struct pbuf *p; + + /* move received packet into a new pbuf */ + p = low_level_input(netif); + + /* no packet could be read, silently ignore this */ + if (p == NULL) + return; + + /* points to packet payload, which starts with an Ethernet header */ + ethhdr = p->payload; + switch (htons(ethhdr->type)) { + /* IP or ARP packet? */ + case ETHTYPE_IP: + case ETHTYPE_ARP: +#if PPPOE_SUPPORT + /* PPPoE packet? */ + case ETHTYPE_PPPOEDISC: + case ETHTYPE_PPPOE: +#endif /* PPPOE_SUPPORT */ + /* full packet send to tcpip_thread to process */ + if (netif->input(p, netif) != ERR_OK) { + LWIP_DEBUGF(NETIF_DEBUG, + ("wlif_input: IP input error\n")); + pbuf_free(p); + p = NULL; + } + break; + + default: + pbuf_free(p); + p = NULL; + break; + } +} + +static ssize_t pkt_read_cb(char *dst, + void *src_handle, + size_t read_len, + int offset) { + ssize_t rc; + + rc = pbuf_copy_partial((struct pbuf *)src_handle, + dst, + read_len, + offset + WL_HEADER_SIZE); + if ( 0 == rc ) { + return -1; + } + + return rc; +} + +/** + * Should be called at the beginning of the program to set up the + * network interface. It calls the function low_level_init() to do the + * actual setup of the hardware. + * + * This function should be passed as a parameter to netif_add(). + * + * @param netif the lwip network interface structure for this ethernetif + * @return ERR_OK if the loopif is initialized + * ERR_MEM if private data couldn't be allocated + * any other err_t on error + */ +err_t +wlif_init(struct netif *netif) +{ + static struct wlif_t wlif; + + LWIP_ASSERT("netif != NULL", (netif != NULL)); + +#if LWIP_NETIF_HOSTNAME + /* Initialize interface hostname */ + if ( NULL == netif->hostname ) { + netif->hostname = "wlif"; + } +#endif /* LWIP_NETIF_HOSTNAME */ + + netif->state = &wlif; + netif->name[0] = IFNAME0; + netif->name[1] = IFNAME1; + + /* We directly use etharp_output() here to save a function call. + * You can instead declare your own function an call etharp_output() + * from it if you have to do some checks before sending (e.g. if link + * is available...) */ + netif->output = etharp_output; + netif->linkoutput = low_level_output; + + wl_register_rx_isr(rx_isr, netif); + wl_register_pkt_read_cb(pkt_read_cb); + + /* initialize the hardware */ + return low_level_init(netif); +} + + +/** + * + */ +void +wlif_poll(struct netif* netif) +{ + struct wlif_t* priv = NULL; + + /* wl api forward progress */ + wl_poll(); + + if (netif) + priv = (struct wlif_t*) netif->state; + + /* wlif_init() not called yet? */ + if (priv == NULL) + return; + + /* no packets pending? */ + if (!priv->rx_pending) + return; + + /* read the pending packet */ + wlif_input(netif); + + /* send any packets that was queued due to filled up target queue + * or power save mode. + */ + process_pqueue(netif); +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/readme.txt b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/readme.txt new file mode 100644 index 0000000..c95f30e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/readme.txt @@ -0,0 +1 @@ +This directory is specific to the WIFI H&D SPB104 components (\COMPONENTS\WIFI\HD_SPB104). diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c new file mode 100644 index 0000000..09790c2 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c @@ -0,0 +1,571 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Abstraction layer for memory interfaces. + * + * This module contains the interfaces: + * - MEM <-> USB; + * - MEM <-> RAM; + * - MEM <-> MEM. + * + * This module may be configured and expanded to support the following features: + * - write-protected globals; + * - password-protected data; + * - specific features; + * - etc. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +//_____ I N C L U D E S ____________________________________________________ + +#include "compiler.h" +#include "preprocessor.h" +#ifdef FREERTOS_USED +#include "FreeRTOS.h" +#include "semphr.h" +#endif +#include "ctrl_access.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +#ifdef FREERTOS_USED + +/*! \name LUN Access Protection Macros + */ +//! @{ + +/*! \brief Locks accesses to LUNs. + * + * \return \c TRUE if the access was successfully locked, else \c FALSE. + */ +#define Ctrl_access_lock() ctrl_access_lock() + +/*! \brief Unlocks accesses to LUNs. + */ +#define Ctrl_access_unlock() xSemaphoreGive(ctrl_access_semphr) + +//! @} + +//! Handle to the semaphore protecting accesses to LUNs. +static xSemaphoreHandle ctrl_access_semphr = NULL; + +#else + +/*! \name LUN Access Protection Macros + */ +//! @{ + +/*! \brief Locks accesses to LUNs. + * + * \return \c TRUE if the access was successfully locked, else \c FALSE. + */ +#define Ctrl_access_lock() TRUE + +/*! \brief Unlocks accesses to LUNs. + */ +#define Ctrl_access_unlock() + +//! @} + +#endif // FREERTOS_USED + + +#if MAX_LUN + +/*! \brief Initializes an entry of the LUN descriptor table. + * + * \param lun Logical Unit Number. + * + * \return LUN descriptor table entry initializer. + */ +#if ACCESS_USB == ENABLED && ACCESS_MEM_TO_RAM == ENABLED +#define Lun_desc_entry(lun) \ + {\ + TPASTE3(Lun_, lun, _test_unit_ready),\ + TPASTE3(Lun_, lun, _read_capacity),\ + TPASTE3(Lun_, lun, _wr_protect),\ + TPASTE3(Lun_, lun, _removal),\ + TPASTE3(Lun_, lun, _usb_read_10),\ + TPASTE3(Lun_, lun, _usb_write_10),\ + TPASTE3(Lun_, lun, _mem_2_ram),\ + TPASTE3(Lun_, lun, _ram_2_mem),\ + TPASTE3(LUN_, lun, _NAME)\ + } +#elif ACCESS_USB == ENABLED +#define Lun_desc_entry(lun) \ + {\ + TPASTE3(Lun_, lun, _test_unit_ready),\ + TPASTE3(Lun_, lun, _read_capacity),\ + TPASTE3(Lun_, lun, _wr_protect),\ + TPASTE3(Lun_, lun, _removal),\ + TPASTE3(Lun_, lun, _usb_read_10),\ + TPASTE3(Lun_, lun, _usb_write_10),\ + TPASTE3(LUN_, lun, _NAME)\ + } +#elif ACCESS_MEM_TO_RAM == ENABLED +#define Lun_desc_entry(lun) \ + {\ + TPASTE3(Lun_, lun, _test_unit_ready),\ + TPASTE3(Lun_, lun, _read_capacity),\ + TPASTE3(Lun_, lun, _wr_protect),\ + TPASTE3(Lun_, lun, _removal),\ + TPASTE3(Lun_, lun, _mem_2_ram),\ + TPASTE3(Lun_, lun, _ram_2_mem),\ + TPASTE3(LUN_, lun, _NAME)\ + } +#else +#define Lun_desc_entry(lun) \ + {\ + TPASTE3(Lun_, lun, _test_unit_ready),\ + TPASTE3(Lun_, lun, _read_capacity),\ + TPASTE3(Lun_, lun, _wr_protect),\ + TPASTE3(Lun_, lun, _removal),\ + TPASTE3(LUN_, lun, _NAME)\ + } +#endif + +//! LUN descriptor table. +static const struct +{ + Ctrl_status (*test_unit_ready)(void); + Ctrl_status (*read_capacity)(U32 *); + Bool (*wr_protect)(void); + Bool (*removal)(void); +#if ACCESS_USB == ENABLED + Ctrl_status (*usb_read_10)(U32, U16); + Ctrl_status (*usb_write_10)(U32, U16); +#endif +#if ACCESS_MEM_TO_RAM == ENABLED + Ctrl_status (*mem_2_ram)(U32, void *); + Ctrl_status (*ram_2_mem)(U32, const void *); +#endif + const char *name; +} lun_desc[MAX_LUN] = +{ +#if LUN_0 == ENABLE + Lun_desc_entry(0), +#endif +#if LUN_1 == ENABLE + Lun_desc_entry(1), +#endif +#if LUN_2 == ENABLE + Lun_desc_entry(2), +#endif +#if LUN_3 == ENABLE + Lun_desc_entry(3), +#endif +#if LUN_4 == ENABLE + Lun_desc_entry(4), +#endif +#if LUN_5 == ENABLE + Lun_desc_entry(5), +#endif +#if LUN_6 == ENABLE + Lun_desc_entry(6), +#endif +#if LUN_7 == ENABLE + Lun_desc_entry(7) +#endif +}; + +#endif + + +#if GLOBAL_WR_PROTECT == ENABLED +Bool g_wr_protect; +#endif + + +/*! \name Control Interface + */ +//! @{ + + +#ifdef FREERTOS_USED + +Bool ctrl_access_init(void) +{ + // If the handle to the protecting semaphore is not valid, + if (!ctrl_access_semphr) + { + // try to create the semaphore. + vSemaphoreCreateBinary(ctrl_access_semphr); + + // If the semaphore could not be created, there is no backup solution. + if (!ctrl_access_semphr) return FALSE; + } + + return TRUE; +} + + +/*! \brief Locks accesses to LUNs. + * + * \return \c TRUE if the access was successfully locked, else \c FALSE. + */ +static Bool ctrl_access_lock(void) +{ + // If the semaphore could not be created, there is no backup solution. + if (!ctrl_access_semphr) return FALSE; + + // Wait for the semaphore. + while (!xSemaphoreTake(ctrl_access_semphr, portMAX_DELAY)); + + return TRUE; +} + +#endif // FREERTOS_USED + + +U8 get_nb_lun(void) +{ +#if MEM_USB == ENABLE + U8 nb_lun; + + if (!Ctrl_access_lock()) return MAX_LUN; + + nb_lun = MAX_LUN + host_get_lun(); + + Ctrl_access_unlock(); + + return nb_lun; +#else + return MAX_LUN; +#endif +} + + +U8 get_cur_lun(void) +{ + return LUN_ID_0; +} + + +Ctrl_status mem_test_unit_ready(U8 lun) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].test_unit_ready() : +#endif +#if LUN_USB == ENABLE + Lun_usb_test_unit_ready(lun - LUN_ID_USB); +#else + CTRL_FAIL; +#endif + + Ctrl_access_unlock(); + + return status; +} + + +Ctrl_status mem_read_capacity(U8 lun, U32 *u32_nb_sector) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].read_capacity(u32_nb_sector) : +#endif +#if LUN_USB == ENABLE + Lun_usb_read_capacity(lun - LUN_ID_USB, u32_nb_sector); +#else + CTRL_FAIL; +#endif + + Ctrl_access_unlock(); + + return status; +} + + +U8 mem_sector_size(U8 lun) +{ + U8 sector_size; + + if (!Ctrl_access_lock()) return 0; + + sector_size = +#if MAX_LUN + (lun < MAX_LUN) ? 1 : +#endif +#if LUN_USB == ENABLE + Lun_usb_read_sector_size(lun - LUN_ID_USB); +#else + 0; +#endif + + Ctrl_access_unlock(); + + return sector_size; +} + + +Bool mem_wr_protect(U8 lun) +{ + Bool wr_protect; + + if (!Ctrl_access_lock()) return TRUE; + + wr_protect = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].wr_protect() : +#endif +#if LUN_USB == ENABLE + Lun_usb_wr_protect(lun - LUN_ID_USB); +#else + TRUE; +#endif + + Ctrl_access_unlock(); + + return wr_protect; +} + + +Bool mem_removal(U8 lun) +{ + Bool removal; + + if (!Ctrl_access_lock()) return TRUE; + + removal = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].removal() : +#endif +#if LUN_USB == ENABLE + Lun_usb_removal(); +#else + TRUE; +#endif + + Ctrl_access_unlock(); + + return removal; +} + + +const char *mem_name(U8 lun) +{ + return +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].name : +#endif +#if LUN_USB == ENABLE + LUN_USB_NAME; +#else + NULL; +#endif +} + + +//! @} + + +#if ACCESS_USB == ENABLED + +/*! \name MEM <-> USB Interface + */ +//! @{ + + +Ctrl_status memory_2_usb(U8 lun, U32 addr, U16 nb_sector) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + memory_start_read_action(nb_sector); + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].usb_read_10(addr, nb_sector) : +#endif + CTRL_FAIL; + memory_stop_read_action(); + + Ctrl_access_unlock(); + + return status; +} + + +Ctrl_status usb_2_memory(U8 lun, U32 addr, U16 nb_sector) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + memory_start_write_action(nb_sector); + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].usb_write_10(addr, nb_sector) : +#endif + CTRL_FAIL; + memory_stop_write_action(); + + Ctrl_access_unlock(); + + return status; +} + + +//! @} + +#endif // ACCESS_USB == ENABLED + + +#if ACCESS_MEM_TO_RAM == ENABLED + +/*! \name MEM <-> RAM Interface + */ +//! @{ + + +Ctrl_status memory_2_ram(U8 lun, U32 addr, void *ram) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + memory_start_read_action(1); + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].mem_2_ram(addr, ram) : +#endif +#if LUN_USB == ENABLE + Lun_usb_mem_2_ram(addr, ram); +#else + CTRL_FAIL; +#endif + memory_stop_read_action(); + + Ctrl_access_unlock(); + + return status; +} + + +Ctrl_status ram_2_memory(U8 lun, U32 addr, const void *ram) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + memory_start_write_action(1); + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].ram_2_mem(addr, ram) : +#endif +#if LUN_USB == ENABLE + Lun_usb_ram_2_mem(addr, ram); +#else + CTRL_FAIL; +#endif + memory_stop_write_action(); + + Ctrl_access_unlock(); + + return status; +} + + +//! @} + +#endif // ACCESS_MEM_TO_RAM == ENABLED + + +#if ACCESS_STREAM == ENABLED + +/*! \name Streaming MEM <-> MEM Interface + */ +//! @{ + + + #if ACCESS_MEM_TO_MEM == ENABLED + +#include "fat.h" + +Ctrl_status stream_mem_to_mem(U8 src_lun, U32 src_addr, U8 dest_lun, U32 dest_addr, U16 nb_sector) +{ +#if (defined __GNUC__) && (defined __AVR32__) + __attribute__((__aligned__(4))) +#elif (defined __ICCAVR32__) + #pragma data_alignment = 4 +#endif + static U8 sector_buf[FS_512B]; + Ctrl_status status = CTRL_GOOD; + + while (nb_sector--) + { + if ((status = memory_2_ram(src_lun, src_addr++, sector_buf)) != CTRL_GOOD) break; + if ((status = ram_2_memory(dest_lun, dest_addr++, sector_buf)) != CTRL_GOOD) break; + } + + return status; +} + + #endif // ACCESS_MEM_TO_MEM == ENABLED + + +Ctrl_status stream_state(U8 id) +{ + return CTRL_GOOD; +} + + +U16 stream_stop(U8 id) +{ + return 0; +} + + +//! @} + +#endif // ACCESS_STREAM == ENABLED diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h new file mode 100644 index 0000000..358bf65 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h @@ -0,0 +1,369 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Abstraction layer for memory interfaces. + * + * This module contains the interfaces: + * - MEM <-> USB; + * - MEM <-> RAM; + * - MEM <-> MEM. + * + * This module may be configured and expanded to support the following features: + * - write-protected globals; + * - password-protected data; + * - specific features; + * - etc. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CTRL_ACCESS_H_ +#define _CTRL_ACCESS_H_ + +#include "compiler.h" +#include "conf_access.h" + + +//! Status returned by CTRL_ACCESS interfaces. +typedef enum +{ + CTRL_GOOD = PASS, //!< Success, memory ready. + CTRL_FAIL = FAIL, //!< An error occurred. + CTRL_NO_PRESENT = FAIL + 1, //!< Memory unplugged. + CTRL_BUSY = FAIL + 2 //!< Memory not initialized or changed. +} Ctrl_status; + + +// FYI: Each Logical Unit Number (LUN) corresponds to a memory. + +// Check LUN defines. +#ifndef LUN_0 + #error LUN_0 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_1 + #error LUN_1 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_2 + #error LUN_2 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_3 + #error LUN_3 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_4 + #error LUN_4 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_5 + #error LUN_5 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_6 + #error LUN_6 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_7 + #error LUN_7 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_USB + #error LUN_USB must be defined as ENABLE or DISABLE in conf_access.h +#endif + +/*! \name LUN IDs + */ +//! @{ +#define LUN_ID_0 (0) //!< First static LUN. +#define LUN_ID_1 (LUN_ID_0 + LUN_0) +#define LUN_ID_2 (LUN_ID_1 + LUN_1) +#define LUN_ID_3 (LUN_ID_2 + LUN_2) +#define LUN_ID_4 (LUN_ID_3 + LUN_3) +#define LUN_ID_5 (LUN_ID_4 + LUN_4) +#define LUN_ID_6 (LUN_ID_5 + LUN_5) +#define LUN_ID_7 (LUN_ID_6 + LUN_6) +#define MAX_LUN (LUN_ID_7 + LUN_7) //!< Number of static LUNs. +#define LUN_ID_USB (MAX_LUN) //!< First dynamic LUN (USB host mass storage). +//! @} + + +// Include LUN header files. +#if LUN_0 == ENABLE + #include LUN_0_INCLUDE +#endif +#if LUN_1 == ENABLE + #include LUN_1_INCLUDE +#endif +#if LUN_2 == ENABLE + #include LUN_2_INCLUDE +#endif +#if LUN_3 == ENABLE + #include LUN_3_INCLUDE +#endif +#if LUN_4 == ENABLE + #include LUN_4_INCLUDE +#endif +#if LUN_5 == ENABLE + #include LUN_5_INCLUDE +#endif +#if LUN_6 == ENABLE + #include LUN_6_INCLUDE +#endif +#if LUN_7 == ENABLE + #include LUN_7_INCLUDE +#endif +#if LUN_USB == ENABLE + #include LUN_USB_INCLUDE +#endif + + +// Check the configuration of write protection in conf_access.h. +#ifndef GLOBAL_WR_PROTECT + #error GLOBAL_WR_PROTECT must be defined as ENABLED or DISABLED in conf_access.h +#endif + + +#if GLOBAL_WR_PROTECT == ENABLED + +//! Write protect. +extern Bool g_wr_protect; + +#endif + + +/*! \name Control Interface + */ +//! @{ + +#ifdef FREERTOS_USED + +/*! \brief Initializes the LUN access locker. + * + * \return \c TRUE if the locker was successfully initialized, else \c FALSE. + */ +extern Bool ctrl_access_init(void); + +#endif // FREERTOS_USED + +/*! \brief Returns the number of LUNs. + * + * \return Number of LUNs in the system. + */ +extern U8 get_nb_lun(void); + +/*! \brief Returns the current LUN. + * + * \return Current LUN. + * + * \todo Implement. + */ +extern U8 get_cur_lun(void); + +/*! \brief Tests the memory state and initializes the memory if required. + * + * The TEST UNIT READY SCSI primary command allows an application client to poll + * a LUN until it is ready without having to allocate memory for returned data. + * + * This command may be used to check the media status of LUNs with removable + * media. + * + * \param lun Logical Unit Number. + * + * \return Status. + */ +extern Ctrl_status mem_test_unit_ready(U8 lun); + +/*! \brief Returns the address of the last valid sector (512 bytes) in the + * memory. + * + * \param lun Logical Unit Number. + * \param u32_nb_sector Pointer to the address of the last valid sector. + * + * \return Status. + */ +extern Ctrl_status mem_read_capacity(U8 lun, U32 *u32_nb_sector); + +/*! \brief Returns the size of the physical sector. + * + * \param lun Logical Unit Number. + * + * \return Sector size (unit: 512 bytes). + */ +extern U8 mem_sector_size(U8 lun); + +/*! \brief Returns the write-protection state of the memory. + * + * \param lun Logical Unit Number. + * + * \return \c TRUE if the memory is write-protected, else \c FALSE. + * + * \note Only used by removable memories with hardware-specific write + * protection. + */ +extern Bool mem_wr_protect(U8 lun); + +/*! \brief Tells whether the memory is removable. + * + * \param lun Logical Unit Number. + * + * \return \c TRUE if the memory is removable, else \c FALSE. + */ +extern Bool mem_removal(U8 lun); + +/*! \brief Returns a pointer to the LUN name. + * + * \param lun Logical Unit Number. + * + * \return Pointer to the LUN name string. + */ +extern const char *mem_name(U8 lun); + +//! @} + + +#if ACCESS_USB == ENABLED + +/*! \name MEM <-> USB Interface + */ +//! @{ + +/*! \brief Tranfers data from the memory to USB. + * + * \param lun Logical Unit Number. + * \param addr Address of first memory sector to read. + * \param nb_sector Number of sectors to transfer. + * + * \return Status. + */ +extern Ctrl_status memory_2_usb(U8 lun, U32 addr, U16 nb_sector); + +/*! \brief Tranfers data from USB to the memory. + * + * \param lun Logical Unit Number. + * \param addr Address of first memory sector to write. + * \param nb_sector Number of sectors to transfer. + * + * \return Status. + */ +extern Ctrl_status usb_2_memory(U8 lun, U32 addr, U16 nb_sector); + +//! @} + +#endif // ACCESS_USB == ENABLED + + +#if ACCESS_MEM_TO_RAM == ENABLED + +/*! \name MEM <-> RAM Interface + */ +//! @{ + +/*! \brief Copies 1 data sector from the memory to RAM. + * + * \param lun Logical Unit Number. + * \param addr Address of first memory sector to read. + * \param ram Pointer to RAM buffer to write. + * + * \return Status. + */ +extern Ctrl_status memory_2_ram(U8 lun, U32 addr, void *ram); + +/*! \brief Copies 1 data sector from RAM to the memory. + * + * \param lun Logical Unit Number. + * \param addr Address of first memory sector to write. + * \param ram Pointer to RAM buffer to read. + * + * \return Status. + */ +extern Ctrl_status ram_2_memory(U8 lun, U32 addr, const void *ram); + +//! @} + +#endif // ACCESS_MEM_TO_RAM == ENABLED + + +#if ACCESS_STREAM == ENABLED + +/*! \name Streaming MEM <-> MEM Interface + */ +//! @{ + +//! Erroneous streaming data transfer ID. +#define ID_STREAM_ERR 0xFF + + #if ACCESS_MEM_TO_MEM == ENABLED + +/*! \brief Copies data from one memory to another. + * + * \param src_lun Source Logical Unit Number. + * \param src_addr Source address of first memory sector to read. + * \param dest_lun Destination Logical Unit Number. + * \param dest_addr Destination address of first memory sector to write. + * \param nb_sector Number of sectors to copy. + * + * \return Status. + */ +extern Ctrl_status stream_mem_to_mem(U8 src_lun, U32 src_addr, U8 dest_lun, U32 dest_addr, U16 nb_sector); + + #endif // ACCESS_MEM_TO_MEM == ENABLED + +/*! \brief Returns the state of a streaming data transfer. + * + * \param id Transfer ID. + * + * \return Status. + * + * \todo Implement. + */ +extern Ctrl_status stream_state(U8 id); + +/*! \brief Stops a streaming data transfer. + * + * \param id Transfer ID. + * + * \return Number of remaining sectors. + * + * \todo Implement. + */ +extern U16 stream_stop(U8 id); + +//! @} + +#endif // ACCESS_STREAM == ENABLED + + +#endif // _CTRL_ACCESS_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c new file mode 100644 index 0000000..fe8a2a0 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c @@ -0,0 +1,133 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Macros and functions dedicated to debug purposes. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "debug.h" +#include "util.h" + + +#if (defined __GNUC__) +# include "malloc.h" + +U32 get_heap_curr_used_size( void ) +{ + struct mallinfo my_info=mallinfo(); + return my_info.uordblks; +} + +U32 get_heap_total_used_size( void ) +{ + struct mallinfo my_info=mallinfo(); + return my_info.arena; +} +#endif + +U32 get_heap_free_size( void ) +{ + U32 high_mark= AVR32_SRAM_SIZE; + U32 low_mark = 0; + U32 size ; + void* p_mem; + + size = (high_mark + low_mark)/2; + + do + { + p_mem = malloc(size); + if( p_mem != NULL) + { // Can allocate memory + free(p_mem); + low_mark = size; + } + else + { // Can not allocate memory + high_mark = size; + } + + size = (high_mark + low_mark)/2; + } + while( (high_mark-low_mark) >1 ); + + return size; +} + +static void* round_trace_pbuf; +static U32 round_trace_size; + +void uc3_round_trace_init(void* buf, U32 size) +{ + round_trace_pbuf = buf; + (*(U32*)round_trace_pbuf)=(U32)buf+4; + round_trace_size = size; +} + +void uc3_round_trace(U32 val) +{ + //Disable_global_interrupt(); + + U32* p_wr = (U32*)(*(U32*)round_trace_pbuf); + *p_wr = val; + p_wr++; + if( ((U32)p_wr % round_trace_size) ==0 ) + p_wr= (U32*)round_trace_pbuf+1; + *p_wr = 0xdeadbeef; + *(U32*)round_trace_pbuf = (U32)p_wr; + + //Enable_global_interrupt(); +} + +void dump(char* _buf, uint16_t _count) { + + int i; + for (i = 0; i < _count; ++i) + { + printk("0x%x ", _buf[i]); + if ((i!=0)&&(i % 10 == 0)) + printk("\n\t"); + } + printk("\n"); +} + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h new file mode 100644 index 0000000..a832d7c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h @@ -0,0 +1,116 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Macros and functions dedicated to debug purposes. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _DEBUG_H_ +#define _DEBUG_H_ + +#include "stringz.h" + +/*! \brief These macros are used to add traces memory. + * + * First, initialise the trace with Uc3_trace_init(pointer), giving the start address + * of the memory location where will be stored the trace. + * Use Uc3_trace(something) to store "something" into the memory. The end of the trace + * is signaled by the "0xdeadbeef" pattern. + */ +#define Uc3_trace_init(debug_addr) \ + *(U32*)(debug_addr)=debug_addr+4 + +#define Uc3_trace(debug_addr, x) \ + *(U32*)(*(U32*)(debug_addr) ) = (U32)(x) ;\ + *(U32*)(*(U32*)(debug_addr)+4) = 0xdeadbeef ;\ + *(U32*)(debug_addr ) = *(U32*)(debug_addr)+4 + +/*! \brief This macro is used to insert labels into assembly output. + * + */ +#define Insert_label(name) \ + __asm__ __volatile__ (STRINGZ(name)":"); + +#if (defined __GNUC__) +/*! \brief Returns the number of total of used bytes allocated from the HEAP. + * + * \retval total number of used bytes. + */ +U32 get_heap_total_used_size( void ); + +/*! \brief Returns the number of bytes currently used from the HEAP. + * + * \retval total number of used bytes. + */ +U32 get_heap_curr_used_size( void ); +#endif + +/*! \brief Returns the number of free bytes in the HEAP. + * + * This funtion tries to allocate the maximum number of bytes by dichotomical method. + * + * \retval number of free bytes. + */ +extern U32 get_heap_free_size( void ); + +/*! \name Traces function using a round buffer + */ +//! @{ + +/*! \brief Initialize the trace using a round buffer. + * + * \param buf Base address of the buffer used for the trace. + * \param size Size of the round buffer. Must be a power of 2. + */ +void uc3_round_trace_init(void* buf, U32 size); + +/*! \brief Trace a data in the round buffer. + * + * The end of the trace is signaled by the "0xdeadbeef" pattern. + * \param val Data to trace; + */ +void uc3_round_trace(U32 val); + +//! @} + + +#endif // _DEBUG_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.c b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.c new file mode 100644 index 0000000..99e9274 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.c @@ -0,0 +1,215 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Strings and integers print module for debug purposes. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "gpio.h" +#include "usart.h" +#include "print_funcs.h" + + +//! ASCII representation of hexadecimal digits. +static const char HEX_DIGITS[16] = "0123456789ABCDEF"; + + +void init_dbg_rs232(long pba_hz) +{ + init_dbg_rs232_ex(DBG_USART_BAUDRATE, pba_hz); +} + + +void init_dbg_rs232_ex(unsigned long baudrate, long pba_hz) +{ + static const gpio_map_t DBG_USART_GPIO_MAP = + { + {DBG_USART_RX_PIN, DBG_USART_RX_FUNCTION}, + {DBG_USART_TX_PIN, DBG_USART_TX_FUNCTION} + }; + + // Options for debug USART. + usart_options_t dbg_usart_options = + { + .baudrate = baudrate, + .charlength = 8, + .paritytype = USART_NO_PARITY, + .stopbits = USART_1_STOPBIT, + .channelmode = USART_NORMAL_CHMODE + }; + + // Setup GPIO for debug USART. + gpio_enable_module(DBG_USART_GPIO_MAP, + sizeof(DBG_USART_GPIO_MAP) / sizeof(DBG_USART_GPIO_MAP[0])); + + // Initialize it in RS232 mode. + usart_init_rs232(DBG_USART, &dbg_usart_options, pba_hz); +} + + +void print_dbg(const char *str) +{ + // Redirection to the debug USART. + print(DBG_USART, str); +} + + +void print_dbg_char(int c) +{ + // Redirection to the debug USART. + print_char(DBG_USART, c); +} + + +void print_dbg_ulong(unsigned long n) +{ + // Redirection to the debug USART. + print_ulong(DBG_USART, n); +} + + +void print_dbg_char_hex(unsigned char n) +{ + // Redirection to the debug USART. + print_char_hex(DBG_USART, n); +} + + +void print_dbg_short_hex(unsigned short n) +{ + // Redirection to the debug USART. + print_short_hex(DBG_USART, n); +} + + +void print_dbg_hex(unsigned long n) +{ + // Redirection to the debug USART. + print_hex(DBG_USART, n); +} + + +void print(volatile avr32_usart_t *usart, const char *str) +{ + // Invoke the USART driver to transmit the input string with the given USART. + usart_write_line(usart, str); +} + + +void print_char(volatile avr32_usart_t *usart, int c) +{ + // Invoke the USART driver to transmit the input character with the given USART. + usart_putchar(usart, c); +} + + +void print_ulong(volatile avr32_usart_t *usart, unsigned long n) +{ + char tmp[11]; + int i = sizeof(tmp) - 1; + + // Convert the given number to an ASCII decimal representation. + tmp[i] = '\0'; + do + { + tmp[--i] = '0' + n % 10; + n /= 10; + } while (n); + + // Transmit the resulting string with the given USART. + print(usart, tmp + i); +} + + +void print_char_hex(volatile avr32_usart_t *usart, unsigned char n) +{ + char tmp[3]; + int i; + + // Convert the given number to an ASCII hexadecimal representation. + tmp[2] = '\0'; + for (i = 1; i >= 0; i--) + { + tmp[i] = HEX_DIGITS[n & 0xF]; + n >>= 4; + } + + // Transmit the resulting string with the given USART. + print(usart, tmp); +} + + +void print_short_hex(volatile avr32_usart_t *usart, unsigned short n) +{ + char tmp[5]; + int i; + + // Convert the given number to an ASCII hexadecimal representation. + tmp[4] = '\0'; + for (i = 3; i >= 0; i--) + { + tmp[i] = HEX_DIGITS[n & 0xF]; + n >>= 4; + } + + // Transmit the resulting string with the given USART. + print(usart, tmp); +} + + +void print_hex(volatile avr32_usart_t *usart, unsigned long n) +{ + char tmp[9]; + int i; + + // Convert the given number to an ASCII hexadecimal representation. + tmp[8] = '\0'; + for (i = 7; i >= 0; i--) + { + tmp[i] = HEX_DIGITS[n & 0xF]; + n >>= 4; + } + + // Transmit the resulting string with the given USART. + print(usart, tmp); +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.h new file mode 100644 index 0000000..38f931d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.h @@ -0,0 +1,294 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Strings and integers print module for debug purposes. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _PRINT_FUNCS_H_ +#define _PRINT_FUNCS_H_ + +#include <avr32/io.h> +#include "board.h" + + +/*! \name USART Settings for the Debug Module + */ +//! @{ +#if BOARD == EVK1100 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == EVK1101 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == UC3C_EK +# define DBG_USART (&AVR32_USART2) +# define DBG_USART_RX_PIN AVR32_USART2_RXD_0_1_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART2_RXD_0_1_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART2_TXD_0_1_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART2_TXD_0_1_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == EVK1104 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == EVK1105 +# define DBG_USART (&AVR32_USART0) +# define DBG_USART_RX_PIN AVR32_USART0_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART0_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART0_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART0_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == STK1000 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_FUNCTION +# define DBG_USART_BAUDRATE 115200 +#elif BOARD == NGW100 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_FUNCTION +# define DBG_USART_BAUDRATE 115200 +#elif BOARD == STK600_RCUC3L0 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_1_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_1_FUNCTION +// For the RX pin, connect STK600.PORTE.PE3 to STK600.RS232 SPARE.RXD +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_1_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_1_FUNCTION +// For the TX pin, connect STK600.PORTE.PE2 to STK600.RS232 SPARE.TXD +# define DBG_USART_BAUDRATE 57600 +# define DBG_USART_CLOCK_MASK AVR32_USART1_CLK_PBA +#elif BOARD == UC3L_EK +# define DBG_USART (&AVR32_USART3) +# define DBG_USART_RX_PIN AVR32_USART3_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART3_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART3_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART3_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +# define DBG_USART_CLOCK_MASK AVR32_USART3_CLK_PBA +#elif BOARD == ARDUINO +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +# define DBG_USART_CLOCK_MASK AVR32_USART1_CLK_PBA +#endif + +#if !defined(DBG_USART) || \ + !defined(DBG_USART_RX_PIN) || \ + !defined(DBG_USART_RX_FUNCTION) || \ + !defined(DBG_USART_TX_PIN) || \ + !defined(DBG_USART_TX_FUNCTION) || \ + !defined(DBG_USART_BAUDRATE) +# error The USART configuration to use for debug on your board is missing +#endif +//! @} + +/*! \name VT100 Common Commands + */ +//! @{ +#define CLEARSCR "\x1B[2J\x1B[;H" //!< Clear screen. +#define CLEAREOL "\x1B[K" //!< Clear end of line. +#define CLEAREOS "\x1B[J" //!< Clear end of screen. +#define CLEARLCR "\x1B[0K" //!< Clear line cursor right. +#define CLEARLCL "\x1B[1K" //!< Clear line cursor left. +#define CLEARELN "\x1B[2K" //!< Clear entire line. +#define CLEARCDW "\x1B[0J" //!< Clear cursor down. +#define CLEARCUP "\x1B[1J" //!< Clear cursor up. +#define GOTOYX "\x1B[%.2d;%.2dH" //!< Set cursor to (y, x). +#define INSERTMOD "\x1B[4h" //!< Insert mode. +#define OVERWRITEMOD "\x1B[4l" //!< Overwrite mode. +#define DELAFCURSOR "\x1B[K" //!< Erase from cursor to end of line. +#define CRLF "\r\n" //!< Carriage Return + Line Feed. +//! @} + +/*! \name VT100 Cursor Commands + */ +//! @{ +#define CURSON "\x1B[?25h" //!< Show cursor. +#define CURSOFF "\x1B[?25l" //!< Hide cursor. +//! @} + +/*! \name VT100 Character Commands + */ +//! @{ +#define NORMAL "\x1B[0m" //!< Normal. +#define BOLD "\x1B[1m" //!< Bold. +#define UNDERLINE "\x1B[4m" //!< Underline. +#define BLINKING "\x1B[5m" //!< Blink. +#define INVVIDEO "\x1B[7m" //!< Inverse video. +//! @} + +/*! \name VT100 Color Commands + */ +//! @{ +#define CL_BLACK "\033[22;30m" //!< Black. +#define CL_RED "\033[22;31m" //!< Red. +#define CL_GREEN "\033[22;32m" //!< Green. +#define CL_BROWN "\033[22;33m" //!< Brown. +#define CL_BLUE "\033[22;34m" //!< Blue. +#define CL_MAGENTA "\033[22;35m" //!< Magenta. +#define CL_CYAN "\033[22;36m" //!< Cyan. +#define CL_GRAY "\033[22;37m" //!< Gray. +#define CL_DARKGRAY "\033[01;30m" //!< Dark gray. +#define CL_LIGHTRED "\033[01;31m" //!< Light red. +#define CL_LIGHTGREEN "\033[01;32m" //!< Light green. +#define CL_YELLOW "\033[01;33m" //!< Yellow. +#define CL_LIGHTBLUE "\033[01;34m" //!< Light blue. +#define CL_LIGHTMAGENTA "\033[01;35m" //!< Light magenta. +#define CL_LIGHTCYAN "\033[01;36m" //!< Light cyan. +#define CL_WHITE "\033[01;37m" //!< White. +//! @} + + +/*! \brief Sets up DBG_USART with 8N1 at DBG_USART_BAUDRATE. + * + * \param pba_hz PBA clock frequency (Hz). + */ +extern void init_dbg_rs232(long pba_hz); + +/*! \brief Sets up DBG_USART with 8N1 at a given baud rate. + * + * \param baudrate Baud rate to set DBG_USART to. + * \param pba_hz PBA clock frequency (Hz). + */ +extern void init_dbg_rs232_ex(unsigned long baudrate, long pba_hz); + +/*! \brief Prints a string of characters to DBG_USART. + * + * \param str The string of characters to print. + */ +extern void print_dbg(const char *str); + +/*! \brief Prints a character to DBG_USART. + * + * \param c The character to print. + */ +extern void print_dbg_char(int c); + +/*! \brief Prints an integer to DBG_USART in a decimal representation. + * + * \param n The integer to print. + */ +extern void print_dbg_ulong(unsigned long n); + +/*! \brief Prints a char to DBG_USART in an hexadecimal representation. + * + * \param n The char to print. + */ +extern void print_dbg_char_hex(unsigned char n); + +/*! \brief Prints a short integer to DBG_USART in an hexadecimal representation. + * + * \param n The short integer to print. + */ +extern void print_dbg_short_hex(unsigned short n); + +/*! \brief Prints an integer to DBG_USART in an hexadecimal representation. + * + * \param n The integer to print. + */ +extern void print_dbg_hex(unsigned long n); + +/*! \brief Prints a string of characters to a given USART. + * + * \param usart Base address of the USART instance to print to. + * \param str The string of characters to print. + */ +extern void print(volatile avr32_usart_t *usart, const char *str); + +/*! \brief Prints a character to a given USART. + * + * \param usart Base address of the USART instance to print to. + * \param c The character to print. + */ +extern void print_char(volatile avr32_usart_t *usart, int c); + +/*! \brief Prints an integer to a given USART in a decimal representation. + * + * \param usart Base address of the USART instance to print to. + * \param n The integer to print. + */ +extern void print_ulong(volatile avr32_usart_t *usart, unsigned long n); + +/*! \brief Prints a char to a given USART in an hexadecimal representation. + * + * \param usart Base address of the USART instance to print to. + * \param n The char to print. + */ +extern void print_char_hex(volatile avr32_usart_t *usart, unsigned char n); + +/*! \brief Prints a short integer to a given USART in an hexadecimal + * representation. + * + * \param usart Base address of the USART instance to print to. + * \param n The short integer to print. + */ +extern void print_short_hex(volatile avr32_usart_t *usart, unsigned short n); + +/*! \brief Prints an integer to a given USART in an hexadecimal representation. + * + * \param usart Base address of the USART instance to print to. + * \param n The integer to print. + */ +extern void print_hex(volatile avr32_usart_t *usart, unsigned long n); + + +#endif // _PRINT_FUNCS_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h new file mode 100644 index 0000000..e3ebea7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h @@ -0,0 +1,63 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS CPU include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_CPU_H__ +#define __AVR32_NEWLIB_ADDONS_CPU_H__ + +#include <_ansi.h> + +_BEGIN_STD_C + +#define CPU_HZ get_cpu_hz() + +void udelay(unsigned long usec); +void set_cpu_hz(unsigned int clk_hz); +unsigned int get_cpu_hz(); + +_END_STD_C + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h new file mode 100644 index 0000000..31caf13 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h @@ -0,0 +1,120 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS exceptions include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_EXCEPTIONS_H__ +#define __AVR32_NEWLIB_ADDONS_EXCEPTIONS_H__ + +#include <_ansi.h> + +_BEGIN_STD_C + +/* + Exception vector offsets +*/ +#define EVBA_UNRECOVERABLE 0x000 +#define EVBA_TLB_MULTIPLE 0x004 +#define EVBA_BUS_ERROR_DATA 0x008 +#define EVBA_BUS_ERROR_INSTR 0x00C +#define EVBA_NMI 0x010 +#define EVBA_INSTR_ADDR 0x014 +#define EVBA_ITLB_MISS 0x050 +#define EVBA_ITLB_PROT 0x018 +#define EVBA_BREAKPOINT 0x01C +#define EVBA_ILLEGAL_OPCODE 0x020 +#define EVBA_UNIMPLEMENTED 0x024 +#define EVBA_PRIVILEGE_VIOL 0x028 +#define EVBA_FLOATING_POINT 0x02C +#define EVBA_COP_ABSENT 0x030 +#define EVBA_SCALL 0x100 +#define EVBA_DATA_ADDR_R 0x034 +#define EVBA_DATA_ADDR_W 0x038 +#define EVBA_DTLB_MISS_R 0x060 +#define EVBA_DTLB_MISS_W 0x070 +#define EVBA_DTLB_PROT_R 0x03C +#define EVBA_DTLB_PROT_W 0x040 +#define EVBA_DTLB_MODIFIED 0x044 + + +/* + Define the form of the function used when registering exceptions. + The function should return the address which the exception should + return to after the exception processing. +*/ + +typedef unsigned int (*__exception_handler)(int /*evba_offset*/, int /*return address*/); + +/* + Define the form of the function used when registering a scall handler. +*/ + +typedef void (*__scall_handler)(int /*code*/, int /*p1*/, int /*p2*/ + , int /*p3*/, int /*p4*/); + +/* + Function for registering an exception handler for the exception with + offset given by evba_offset. +*/ +void _register_exception_handler(__exception_handler handler, int evba_offset); + +/* + Function for registering a scall handler which can be a arbirary + function which uses r8-r12 for parameters. +*/ +void _register_scall_handler(__scall_handler handler); + +/* + Initialize exceptions. Must be called before registering exception handlers + and needed to enable exceptions. 'evba' is the pointer to the exception + vector. 'handler_table' is a pointer to an array where the pointers to + the exception handlers are stored. This array must be at least 0x104 bytes + and word aligned. +*/ +void init_exceptions(void *evba, void *handler_table); + +_END_STD_C + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h new file mode 100644 index 0000000..76d81f7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h @@ -0,0 +1,82 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS interrupts include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_INTERRUPTS_H__ +#define __AVR32_NEWLIB_ADDONS_INTERRUPTS_H__ + +#include <_ansi.h> + +_BEGIN_STD_C + +#define INT_GRPS 64 +#define INT_LINES 32 +#define INTPR_BASE (__intc_base__ + 0x0000) +#define INTREQ_BASE (__intc_base__ + 64*4) +#define INTCAUSE_BASE (__intc_base__ + 2*64*4) + +//Register offsets +#define INTLEVEL 30 +#define AUTOVECTOR 0 +#define AUTOVECTOR_BITS 14 + +//Priorities +#define INT0 0 +#define INT1 1 +#define INT2 2 +#define INT3 3 + + +typedef void (*__newlib_int_handler)(int /* int_grp*/, void */*user_handle*/); + +__newlib_int_handler register_interrupt(__newlib_int_handler handler, int int_grp, int line, int priority, + .../* void *user_handle*/); +void init_interrupts(); +void set_interrupts_base(void *base); + +_END_STD_C + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h new file mode 100644 index 0000000..a725769 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h @@ -0,0 +1,174 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS miscellaneous macros include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_IO_H__ +#define __AVR32_NEWLIB_ADDONS_IO_H__ + +#include <_ansi.h> + +_BEGIN_STD_C + +typedef char u8; +typedef unsigned int u32; + +#define __raw_writeb(v,a) (*(volatile unsigned char *)(a) = (v)) +#define __raw_writew(v,a) (*(volatile unsigned short *)(a) = (v)) +#define __raw_writel(v,a) (*(volatile unsigned int *)(a) = (v)) + +#define __raw_readb(a) (*(volatile unsigned char *)(a)) +#define __raw_readw(a) (*(volatile unsigned short *)(a)) +#define __raw_readl(a) (*(volatile unsigned int *)(a)) + +/* As long as I/O is only performed in P4 (or possibly P3), we're safe */ +#define writeb(v,a) __raw_writeb(v,a) +#define writew(v,a) __raw_writew(v,a) +#define writel(v,a) __raw_writel(v,a) + +#define readb(a) __raw_readb(a) +#define readw(a) __raw_readw(a) +#define readl(a) __raw_readl(a) + +/* Memory segments when segmentation is enabled */ +#define P0SEG 0x00000000 +#define P1SEG 0x80000000 +#define P2SEG 0xa0000000 +#define P3SEG 0xc0000000 +#define P4SEG 0xe0000000 + +/* Returns the privileged segment base of a given address */ +#define PXSEG(a) (((unsigned long)(a)) & 0xe0000000) + +/* Returns the physical address of a PnSEG (n=1,2) address */ +#define PHYSADDR(a) (((unsigned long)(a)) & 0x1fffffff) + +/* + * Map an address to a certain privileged segment + */ +#define P1SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P1SEG)) +#define P2SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P2SEG)) +#define P3SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P3SEG)) +#define P4SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P4SEG)) + + +#define cached(addr) P1SEGADDR(addr) +#define uncached(addr) P2SEGADDR(addr) +#define physaddr(addr) PHYSADDR(addr) + +#define BF(field, value) \ + ({ union { \ + struct { \ + unsigned : 32 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long __val: field ## _SIZE ; \ + }; \ + unsigned long __ul; \ + } __tmp; \ + __tmp.__ul = 0; \ + __tmp.__val = value; \ + __tmp.__ul;}) + +#define BF_D(field, value) \ + ({ union { \ + struct { \ + unsigned long long : 64 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long long __val: field ## _SIZE ; \ + }; \ + unsigned long long __ul; \ + } __tmp; \ + __tmp.__ul = 0; \ + __tmp.__val = value; \ + __tmp.__ul;}) + +#define BFINS(var, field, value) \ + { union {\ + struct { \ + unsigned : 32 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long __val: field ## _SIZE ; \ + }; \ + unsigned long __ul; \ + } __tmp; \ + __tmp.__ul = var; \ + __tmp.__val = value; \ + var = __tmp.__ul;} + +#define BFEXT(var, field) \ + ({ union {\ + struct { \ + unsigned : 32 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long __val: field ## _SIZE ; \ + }; \ + unsigned long __ul; \ + } __tmp; \ + __tmp.__ul = var; \ + __tmp.__val; }) + +#define BFINS_D(var, field, value) \ + { union {\ + struct { \ + unsigned long long : 64 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long long __val: field ## _SIZE ; \ + }; \ + unsigned long long __ul; \ + } __tmp; \ + __tmp.__ul = var; \ + __tmp.__val = value; \ + var = __tmp.__ul;} + +#define BFEXT_D(var, field) \ + ({ union {\ + struct { \ + unsigned long long : 64 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long long __val: field ## _SIZE ; \ + }; \ + unsigned long long __ul; \ + } __tmp; \ + __tmp.__ul = var; \ + __tmp.__val; }) + + +_END_STD_C + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h new file mode 100644 index 0000000..6c4697d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h @@ -0,0 +1,208 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS USART include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_USART_H__ +#define __AVR32_NEWLIB_ADDONS_USART_H__ + +#include <_ansi.h> + +#include "nlao_io.h" + +_BEGIN_STD_C + +struct usart3 { + volatile u32 us_cr; + volatile u32 us_mr; + volatile u32 us_ier; + volatile u32 us_idr; + volatile u32 us_imr; + volatile u32 us_csr; + volatile u32 us_rhr; + volatile u32 us_thr; + volatile u32 us_brgr; + volatile u32 us_rtor; + volatile u32 us_ttgr; + volatile u32 us_reserved[5]; + volatile u32 us_fidi; + volatile u32 us_ner; + volatile u32 us_xxr; + volatile u32 us_if; +}; + +/* Register offsets */ +#define US_CR 0x0000 +#define US_MR 0x0004 +#define US_IER 0x0008 +#define US_IDR 0x000c +#define US_IMR 0x0010 +#define US_CSR 0x0014 +#define US_RHR 0x0018 +#define US_THR 0x001c +#define US_BRGR 0x0020 +#define US_RTOR 0x0024 +#define US_TTGR 0x0028 + +#define US_FIDI 0x0040 +#define US_NER 0x0044 +#define US_XXR 0x0048 +#define US_IF 0x004c + +#define US_RPR 0x0100 +#define US_RCR 0x0104 +#define US_TPR 0x0108 +#define US_TCR 0x010c +#define US_RNPR 0x0110 +#define US_RNCR 0x0114 +#define US_TNPR 0x0118 +#define US_TNCR 0x011c +#define US_PTCR 0x0120 +#define US_PTSR 0x0124 + + + + +/* USART3 Control Register */ +#define US_CR_RSTRX (1 << 2) +#define US_CR_RSTTX (1 << 3) +#define US_CR_RXEN (1 << 4) +#define US_CR_RXDIS (1 << 5) +#define US_CR_TXEN (1 << 6) +#define US_CR_TXDIS (1 << 7) +#define US_CR_RSTSTA (1 << 8) +#define US_CR_STTBRK (1 << 9) +#define US_CR_STPBRK (1 << 10) + +#define US_CR_DTREN (1 << 16) +#define US_CR_DTRDIS (1 << 17) +#define US_CR_RTSEN (1 << 18) +#define US_CR_RTSDIS (1 << 19) + +/* USART3 Mode Register */ +#define US_MR_MODE (15 << 0) +#define US_MR_MODE_NORMAL ( 0 << 0) +#define US_MR_MODE_HWFLOW ( 2 << 0) +#define US_MR_CLKS ( 3 << 4) +#define US_MR_CLKS_CLOCK ( 0 << 4) +#define US_MR_CLKS_FDIV1 ( 1 << 4) +#define US_MR_CLKS_SLOW ( 2 << 4) +#define US_MR_CLKS_EXT ( 3 << 4) +#define US_MR_CHRL_5BITS ( 0 << 6) +#define US_MR_CHRL_6BITS ( 1 << 6) +#define US_MR_CHRL_7BITS ( 2 << 6) +#define US_MR_CHRL_8BITS ( 3 << 6) +#define US_MR_SYNC ( 1 << 8) +#define US_MR_PAR_EVEN ( 0 << 9) +#define US_MR_PAR_ODD ( 1 << 9) +#define US_MR_PAR_SPACE ( 2 << 9) +#define US_MR_PAR_MARK ( 3 << 9) +#define US_MR_PAR_NONE ( 4 << 9) +#define US_MR_PAR_MDROP ( 6 << 9) +#define US_MR_NBSTOP_1BIT ( 0 << 12) +#define US_MR_NBSTOP_1_5BIT ( 1 << 12) +#define US_MR_NBSTOP_2BITS ( 2 << 12) +#define US_MR_OVER ( 1 << 19) +#define US_MR_OVER_X16 ( 0 << 19) +#define US_MR_OVER_X8 ( 1 << 19) + +/* USART3 Channel Status Register */ +#define US_CSR_RXRDY (1 << 0) +#define US_CSR_TXRDY (1 << 1) +#define US_CSR_RXBRK (1 << 2) +#define US_CSR_ENDRX (1 << 3) +#define US_CSR_ENDTX (1 << 4) + + +#define US_CSR_OVRE (1 << 5) +#define US_CSR_FRAME (1 << 6) +#define US_CSR_PARE (1 << 7) + +#define US_CSR_TXEMPTY (1 << 9) + +#define US_CSR_TXBUFE (1 << 11) +#define US_CSR_RXBUFF (1 << 12) +#define US_CSR_RIIC (1 << 16) +#define US_CSR_DSRIC (1 << 17) +#define US_CSR_DCDIC (1 << 18) +#define US_CSR_CTSIC (1 << 19) +#define US_CSR_RI (1 << 20) +#define US_CSR_DSR (1 << 21) +#define US_CSR_DCD (1 << 22) +#define US_CSR_CTS (1 << 23) + +/* USART3 Baud Rate Generator Register */ +#define US_BRGR_CD_OFFSET 0 +#define US_BRGR_FP_OFFSET 16 + +#define US_BRGR_CD_SIZE 16 +#define US_BRGR_FP_SIZE 3 + +#define US_BRGR_CD (0xFFFF << 0) +#define US_BRGR_FP ( 7 << 16) + +/*USART3 PDC Transfer Control Register */ +#define US_PTCR_RXTEN (1 << 0) +#define US_PTCR_RXTDIS (1 << 1) +#define US_PTCR_TXTEN (1 << 8) +#define US_PTCR_TXTDIS (1 << 9) + +/*USART3 PDC Transfer Status Register */ +#define US_PTSR_RXTEN (1 << 0) +#define US_PTSR_TXTEN (1 << 8) + + +int usart_init(int baudrate); +void usart_putc(char c); +void usart_puts(const char *s); +int usart_getc(void); +int usart_tstc(void); +void usart_setbrg(int baudrate, int cpu_clock); +void set_usart_base(void *usart_base); + + +_END_STD_C + +#endif /* MERLIN_USART3_H */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/libnewlib_addons-at32ucr2-speed_opt.a b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/libnewlib_addons-at32ucr2-speed_opt.a new file mode 100644 index 0000000000000000000000000000000000000000..aa673eccdd47c07f3ab27c1726263ee9a8306143 GIT binary patch literal 25540 zcmeHPe{@_&d7US%q_?Y$B0I9ZvJ|>b+(Z~vUMs?}6XU9i2%F$i1BR-_@k*A~mJ(T7 zq_v}fp(>dCs&NxyV+Tx+Nu1(RS~!gX7ktXn!Z|jWp8VmHq{ZdP#OKrmlc>Q^o0_Qi z&YN#EyIRX~fMcK?Y2MuLn>*k9cr)|ny*K+7tmqo*?p+yK9M5-4nr~`ZzO-dY^OATx zp`+YmJicuCGLxV)qLf;pR46v-D?5}b=I2x^Rp_rjqSUY2-+oG|i}`n+QHuWE@u@zA zbjAH}I-BawY)<vQPi>rpn|spzUH7TfP<mtEa5g=ZN{@7>GughufmCnTKu>>q$cY>7 z?&|Ni`XD}~m1^@qAoffeP<;b^*-3F&8H1^8*ZTgnVtM)okmb<kOm;Z6zH2z`Sg|q6 z<TuF;>{`OGvSqhA80y=U=}&J;BZHpQ@O?oc`-Z!+SyXnzaJDO}Qo(UU_dvE^rTY5@ z?op|G`uc&<KAFBA9cKGBr3W|ku!%Mg1f29px_e6+RtATV;@+;ltQzjyxB)3qCBn?m zVE3l3VMOW{=o;F%MWqHa=>e7M?jJ-oQ(&eMogP8j)V)J}S?Gq+UC45HJ&iKgVUrxC z9LjFasLjI&Q^;cd&_>;Ofg)%(9hcdh?KU*jKwx&*LJ)=xfhD7ryEkQ2|KPwzhN<+H z^<B(0o6yH4`q-?GH}Qzm$;zaL`!)p?3XrZ;09lCu=~@L)*EWExu||svhj0F1o+33j zi>fnH&_(+OHZ~0|j-YQN5LP@c^T84fdv_*Sl1MCFx)kv@FUOItGxBF|UUj=y;$d1a z&WrsWkgGVT<rW>^pk}G6r2lAi-GzXk^fMM8_fGzkYD-4O?)lz_U#z>WE*pNOvOM|p zLr<@`5LMyXE64sqsgs9PTlI3H=SwtRnUk<I=La^u4~(<|MJM1q<!!BsUd4zg55^G} z$~6*+FxgfW+Mz4)mfLQ-CEoCsx4rB2@s_6Mrsm)4%5F;cH!Z<mbG%^_n(*G6n&ZQn zba!7@|Ldn}lxiBjZxaSC!t78G_6o|TN3yD^rz_i~n$`~wtEM5$DNWQiagduy$I&|T zkE1nHkv7znm#8Pbe)GoEhM}%aY1Py{xQWBsspchN9T;qea>ESH;$$*8&kGE%^b))q z5zn)9Dc%xe&&}68Um=rEBSOJ|Wg|G?`lPNldd4x`Tj1S#v>H7E?ZieKB*B1X2XPR4 zEQ{E?3)r={3UU%&oY=s%G0)yOWR{WTV>^hwyMbv>+GVGSL!h15+X{(1aeDxY<$Evm zk_NE67l*y@%(oI=@_h){wKoQtZ6HqKW<eok1N5%L;bTIg!eE9allstFVAdIH0ev2r zFL4;&u~)|Sdjq^Uu_v;GRv%Im|0PO>FlOV7?36>tJNaqZX&)_1U(;qm=J~M>GS@y8 zMiD}0l&wQN+toVAoOG&;B04*0^IAt{ehZD9M7*y!5qI;*rG_&BIHTSSb(5@2#uII^ z{a9y|+ZVg+`=WO-)a9==E%K^h+IILjFp91c@QVy)-b;a5SK^fhlhX=3&*<9_O4(q` zmYMxo^e%=v!uAirqYr6Z0}LOLb05Q)6<iNYK3&}KSsr-HZ$LW;zY$pYD66*L0zSOu zFGKl-zXDkE7Y7%~;F5^rrLLdNEzM>@J(KHa$!e6rV=3So)EqVY$+xcS$92>1@YhAh zE5nV>wKV+WRh|<0hu>-KOjd0zKl2k$-8JWh?~Hb88!Cq$^1@-|;rgk@ViPaEfG`<- zyfPU{+_5_{;*W>Jk;O;H?(jl6PizG#r@f}4?engwI7f;)ak2KQ=tsQ!OLkyv(6K*? zW50Ff7ImeryVI@bolEW{Eq`h6Q1Vv!j=tD}--#|<`*UH?lz#&duz#Db?QTEe_@={n zbgy9*YanCHscVd$JocFmc#cV#zgGdX?}-z8?}S1yV8tUih&`qid+!H!?X87etbAKc z8U%C|$8ZpP7-81lW5BMxEM)d~ae{Y1;grv(4d%=G@>(P1`v+jx-U#Gib^w4A8(fDA z2K3`Nbi&gf+fD2p0cKuiSgOyNI0V{>jWI~fR~&i$A|MprcO4AqkK%9vp83kUEDHQ1 zc*mZ{y7HPJPT~sJ9)AkLPlbd~cnqa20n7FvDgjUf&ucNu$9_?;_9$olxegL1_C%J@ z>aWn+L(0Ju#rCrfvaB<-4l>)>I>>CpxkeGYE@+EpBUeLa|G(3TXMgx(BbOka{qG(l zw?Jn894B-k7_U-AZY{f=2OtH}zq*Gbrc5~hHv;n9bA2M~3CNL!0Y#53(X;Of2GnaK z){*rVJ!G4f{YdmKMjz8_qt}?P&$SU<2|Vqy&%u6}b!mi$U5yjKHvn^uH6MNvyp#t# zTTbw*rM@i=$Hh=ravfvFhsG>Fe5Lexw9m!XRhrK{;4QxaZ769`9(P@(`OF{Q@|U6A zgpWBiSXY6w%9L$2Fudij!Mq~;4q&|w0|#@pw%-X1Z}~lFE8+J7YrcKxH5@$tu<N$v z#h-iJbaUb|)@`N7QHIHN+dNg{KKI}n4C}MjWO&FQ|Mr9$Kk}+N7oAl)9#xG=e<YkK zpS|~|;nGD<-M97=XCt#!P54Y$Ejtq~y(Lq3*L<wyT4CKd*vTboVLhBI?~iswb87r| zu(IoK)nU^AXf(DvS)Pd|@Z=>~Sv@xqzTnUCU-FgzXzinw<KLP%m#E!UnecbT7N1}I z@Yo$Hp7YLCg>P8=>e$;<YtBP%Imzo{;qe9WYkziR;`C~N_Rgdq+co#&HM=w6j&M#T z!)N?CWmW!Aq&0fhSGS(^OIMydI&tBwAAaNN@QA-V_LJkel8*T~HTEzr=8JNw<CdJq zl4in5e{Sr>SWdlC9&R}Kk4i0xjYq=Crw&v<^a7;%y^DYT{B@JeuN@*U=d<=X-_aik z^c@k{4JRvy{A74`-FSKU4Ll2%b`#?q8q=<Qql|Yfas1Xea<aY3zu((Ib>3QH8`i}4 zdk@$(alMn~L|au&TUBhE_mPtOOCJdBD7#{7V%~~Q4wm47v$JBIT+mvQ`y^}XV`wL> zUhUdsc~8KKJe&@maHUw7Ze5I2N<TPjf<m6In}_6j*-SNaz@xdo_oaJGseaLgGtSX( z*mJQ6`y%F5+&u>KJUcY|E9X_ti@g5RwZiL8N&!yrTY>c;&{`E?I$kqrk7>o;Ah2t% z9dZ(0oY=S<3c-L8%*hIKy0*tLDfYGlyY?t=gBK?@9)LnHVB|28(GJTOF>$Q#XW$)s zUNz(s@Z!YA6Ho{Sto#O&!KSuHJB(wPgQq<#vFN-rI5_Dn=Cy$35#IPkct4yO&np9u z`5NcZ-ZqgCnlfmLQ=Y3v5qANe?ZP!7<4_NeYb3{BNfvS&yf}#~Sc{i@3CTDX#0ig~ z^c}#8e(=TsxCUij%$IFnuoe%mg6^B};>4cF5?cMQ=~`UY<9tpiSeG3gfNS%5QxV1& zuGQHtO-?*z>yV!3z&gmhufj7n?c_P*JB-Y=JICh+BPSuVAC4G#8)S};2aT*x3h+k@ z<edfbCko_!Mm_<1=uhhDf_Pl517|ApwLE!p{>S6b{Mmi##9lb37rQtWyCO}!3>98` zHVmcHY7<`64x$vu2JiCpd%YqTB1Y>Md)eS6-x8^hx$j^bv)yG)4%x2B**>CoF_RQq z|6{D^dx};NFz0IA4$N~db`WRnBQClSadb&|;kX!O^KV344?NDl#=XEeJwER#%sBOb z7q}lD_ZS*yfL~|$oFkBrPRstZ$l$HOjRubbqc3WkD3@AiZ~~ZlOWA;{U`soc!<HX; z&lNrLo+lW2+xjB!nCOvrt>94%4Z+)BS@Lo*+F##K9YQ?XR^Lx;2S$Ch{xEQx(SHoM z9hmdie)v0${(Zo2Gk87lYGAf)4jy&a_#43QHuwlI(pV14Y&oL_9|PxMVD<;vM47@o z7tg>yV)Q5@-@#Zr7^BwC9)pjA^Mv8k&R+xb{1P89oE-3H4SpW@?+s>|F~8d~u#Kb* zf$jN18`<-fbIuFW+jD_B*DXYPI@GORFzPc$Fv@zZV3fn2(-TM|`MMbD>Ixh}1P0dt z!&l4oA$IZmR-Kml!CQU<#-OBa1g3qugt6ZO3~%|%Fdl`!0$BJ-!(RnHyydS({}=um zVBz-|elPg&mfw%|7k&m<^UbCVbJyy;Z@9>P>$2sS^S+_t6v{Ap-?~!Wy6)9=KZk$y zxR;Fb-s<@hFpT?c(eXXUFH#qCKR-5iSIx)c^&O4eq0kZG9c`lGrLqd$Zj1jrdUMW; z?#2D|SkRKOj|Y;pW)R|jUfaQ)ycgJr?Pj~bR8|?CsSVU65_>$0cSJdrjVAqbVHFPc zP3#IkUqWk%BaizhB1wOjU+gY8_V~%esx9F^R{z+t$Na|{g7z8f_d@#aTE#vY)ZpJE z`KeRErXaH`2s^6uz957}cLqUUbZ-#!dUud=_Xp)~5YoGXzzg;T$;KeFCn$bzU$!@n zjYaABf;YvN#0Q7s&ERs6&16(hdYG{o+L*wm*(<`{9u3ZnKF&nO9Aq7C;>})?{AU9H z7xabg_RDIQLc5sft;4gHYQATDpmaxwN;j^(AkHmMt8<=Q`@G(}yoHu`rQT5%-=pU~ zRSCB1IU2Kb&(-Kne6AuGx~@iV+jA9qG`k8jtP50=d;i=BGt^y`*%9cf^yWZUp=Sa| z;cOYq*V^5Kj#@wd(R=Um9!crh!=(k&h^q;98oC<2>CjaK`wv}>-iqid^sYo#5o}O& zHTpJ0_A2VfR^6M2QoZS}Oe!-t+|<16re>6Vkh{dVg=|Sv%Wvm%EN4|=pB*$}?CC+w zfsFNkJq{e3SZirL<0xaDt)E};o{MfNd@*}}2)%0$>pg3aX~kX-FxOpT59_?5_EIJd z0=juEI7s<?V6nFa*tK^H<YMJ}uStV|ZeA-6VlM(L_8tIs?Xf-FIf^{G55WrtoVN;x zHSpxquGo7V*tLgsYEgSTO&SDr^Y-B&_Nsuz9_}ad?Daq{R=%f98U%Fn&f*~Us)5Dc zSApH~jX*AD5BDo>ePc<;VvqB<*!x#t*WPx>#q1q5X%NuG_TnJ+$QOJ63GCY22f3KN z@0&CT=wjnIh`qVMV((|buDyehi`n~$NrQl{wjBqt$LpT4=kfiwYwrl;BKGt%Q>HPl zb`OBq<Nc=C!!v+9dnX_lv&VZ)*WMY(Vz1uBp&xpSf!*@4U5eRTWYQp@o8O9q*khTb zd~XJJ?0M7|v)5|UAfTJS69=&u2Nrv4fn9rS+alxF<2!SwzVlB*<~Umcf1QbAeTRTu zdu)qh<=bS^AfTIn76&QcLSQN1hk;#t3CP9lebA&qKv(CEj~k#6d%J*Ld+m^m*?YvK zK|oix7Y8X{1F+cp46tjj19GwUd%~naKv&0pz_w=l$+>6y9fIuITML<W5yyPtJU)js zm~y?31ItW%jqp;wZvngZ_Cs!m7iVmE--N<oM%C}ZLF_e|IF|3bz^=X1kXzx!iM?l` zaO_>nHah^%@+C|h?VSO3?3Iwm`AnQ?OONxAYwsDzNU!ZRn>gBg71*`M{1(EClk%O1 z!nJn-@-}$#TTC46m9Q*6JRV2Wm2~3Zq!V27dgz%i%L1o)2Lr5+OoRB6HwB@@l%nsI zEE5T#v8{DZKCkOU)Tj!|M?T|NzB>^zU*q(C<2I2HN?gJFjj|m``_3Xf@=cpFcGga0 z)e69JUk}fGtKkdYZ_GK4tdh`+lYB*%(CU9p-)~4cdBRyw>ma-RlJPiqlMXVkbJjtQ zSpfhtuQS#`uD1dJWX|)}L5^Di0P=MO^1=d{^PF|yb1Yd0ne&WwkQ=Q40GZ?5I>;QS z)<HIXJ5WJxv5^3fmm)x))Q<0eC|ig4o2>u<+3oj~xptH`;QJl+HOWKX_uOi1Q0BO7 zbL0rH^uZd$vn+pP;we`Fzsr$%e&6HBJipzJ%=622D;?AG{NAUfK<4@Vb4TX+<@%M5 ze4bx<-$a>p+rvmW%5jAIDZsHl_*b9TQV`Gc`$b3Q`918&Jiq^9WTxl&<+_fJ@56Y0 zpV1NyrZaQ?rfWw$&-Y0!;b7v=7`YYk3E)=>;wSQDucAPfF)$nH(O<l4P5eU0IF}xu zcWW2q=h;4GWZNgSY##{Y#{*Mt9g9CK_;vn4U-0uh{hPetw|#*Ej~eh^F8G;WaC@8{ z=)ne%R0_X@92i8X@0s<TG}Xm^3Mg;)^m{#h<83!44zs;W;Mw*VmNUiroeReh#-V;k z!&AaBChsf|7iS-(L)`U(Ic|jGVw53rBjSwB2;ci$%qGY73~g3AHY=yI$-HK0GwRrk zPG^&Izzl6(<=DJxI-BvC+pKbIR!wI!F>{+&J2tPL&L+p|4C`L)*sPw;X6wvt&T?$d zn$9M#2{SC`Y{%y8>1?i^xy@@Fo7YTdbM4G+x?_2cV}H(c_Iqb;f39P5?sPUYGq*X< zu{m!#n<F!{30kb!z5>iIwY-)$!Xwm}*G^oIYnkr~c+6F`yocxb1+SK6YlX)(QFGdX zxgL>u3~83h{05$$_eK#9o}KsD&xG${%$f6<R|7oOAoE!^Tn@Q@oX_%b9K{WX^Cfum zSss=X*L2Nk1?GB6>?6%BQXcShdG;b6JX;>tLHI7lJX}Zn33!yP&MBMLw?L2Ucpb~h zH4A*5loMss9F`63R>$^7d+W7?<ORF0ld{3q3c)Dzn*<~MO2Ms2FKJ!O{Hf<Ps~qpp zSq7djl=)hgnQINS=e4X$J$$v{#DNiaEz3p@(};cGKahNprcH2MsoMlI6uyh0UQmHU z2p)N9%<~1mfMukEeY>ALZaB07Z#if~`z{`BrR}iI;VoyG^ZvcnaN5Cvx16N&&V9Av ztN{n!ayp#%>}%ycJ2<_D-wzCL`582?)Flhd`qGUW{x)EE%YV?>i@qIL_<Ib0FZl45 zzYpC-?C%E_{ud1YAo%c>e+WNu5&mId;U6*lW8lME{xj$j!aoiy{4v8n1wOpxpT;&d z;hzB({yD?H06x6%NtHbeUI^Imz3PDP)u6k=TYe1p(8j)34=nr!!*2v1-trTevV`9P zEc{l(ZwDXV@{`yLB>Yvt!tXHrwcx{BekZ!C@OurX9~^kg$zbn_aI(N+bJXy+fe&x_ z4`P@Je><@7_Za?O@Zl|gAD)K`e?PGBzhL+W!H2i}Ll{=VKMXAVoZ){1e0a-0f;n9H z$AE=@!tlqyhqwGwm}7;18d&(}4F3Z7@WRLRsp<^BBm`{uC8iIQ)L@AXZ}~AyPr|PU z7JfXiU$PK<c*}3V+$H=*V9nRJ3eMLoF8P~|=9@3$TNb4wsMO@%m|8U#do@PS|FD|- zEXvM>=Y*2}>|4)&xy(QR<xq8|>ZNGOooB;yy;myL@>e2P`PH8skIpSUcLWWaoOqRc zM7GvG{copxmHLy4^EiLAlRy4$uJlu}^FNps{?tR*Co+osl>57pq@RhLJvwn_$p6tH z<>kDyM<!0~+8X>yH!n`<xYOBw8y9XmIut#BV)8e=wGVeh)?sf*Cj82`Cr&jTU3@{T z?v5}{nB0%@`{$BncbA_zI&t<ff9!5Q7u}OMTKzY%-H%4NALQjTK?}U(&k5aKS-s-? z7tsP=3{}5aVd@_>_5Z8F`fri?mzny1FIT!-*MIjzZ}bz<kNVs#!&V5~#8{M|aK8rn zk##-zt;GZ8w-%agVu)QCeQa8pHeEjYo4!UO&~AI)UV<yO7r_0vjq_TW+hU#X+&D4L z?e!F`zQ>-T)gQu{qSfETnWE)Qb?`}(rYYI~;y=8oL(6l_W1XX2iwPw#^MP6b1u-6% zX?HQ+jfnN(FU8~j-oku)wB_IsGPn_;V8HMi9O${mqMn|8>JE6<-X5bzpq<!gha?y< zd;o_P@U+J^5PN(c=i1v3nf+Uw*jNXJV8HMx9Fp*~$97;G%Xc5VYcB`6n7u6Yj=c!$ zFZQthwD$fI*tK^8at*vVvGFhzf&nA6FZE@)q<l{SyY|K*H^7S%8~dOT3>d++)1D8k ziLJe_0z3BfZ;`h{Cr)g92@1i0mBjt<Y(HGrti5Bvv}gL2x8KAe&`xZ89};=Sc?SS? ziiA*j|KVW3$_$dN1z^6{m^il2%kYl961H6%yf}#~c+XMtK@iRf38C;9@<MK0MJJ+0 zA;jRNz6=ZAbNFM>4Z({Odm>9{^}nI-IaqHxKF8;Mm~}YuJTKNko&!Ppd=JPxw+jq` zzuVw=P8hi!GRNbsj?D3NyOC=U&-49uBR4>1e`cSc+YXuMWuumGpb&h(3_r1OCguR* zV)4uSHX5!W^5rU>JIY<g`%sn*#n8XY?gU2PEJHE1p0eCa0^9xMJ&xYRQ0w1lvyIqp zk`}T}%k~kyi=o!Pp<o|Io9XY=&<<tc16w=wj^4#k>)$>YJNh>cuhEWvhRjpMb0}qi zY|FrYBYGF3?)q8rLd2sS5w<hiG;T0$GEUM0Tbm7z-o>z~pA~OIJf3OjXT=W!gHuWS zBk&!-%!l|x@M0fntbL@hzt`CAa9j+vzV{3PpsX6Re(?7G6!o&t3ef)cn?5Ly<~M>5 zZ}|yy37J<~fc1R=ILizl{f>Rl@>`u}2<^baPa6Iz@Zl|gHO{-(Ujr<Bw23ayTJYg5 zzZ27=@OyxT-)s2&;KN&f2Io%rSzzI#t+oBF;KN(~D9(lO(f+}+1&nBXm~iq&NbZB0 z@vWj_-}HN9q9q=<nS7H-p^UgjpmpIIRD}xt;8^Fxx}TrKv7>U`)$9J}a=v<}t<3CD zZ2ed5B$akp03ETp{_=THo)g}U(E9L~;uTykwY^5iqS#~TTra%`A$P)ajtUvi@)le# zz0=SYs|VD@9SSUYY64^@UtJ;A$#P(vm~~}Yn3-4j6-)an%yb*uXO<N2GtDh6=F3+z z=`*1f$ab>NgoARhEdTF*^IPD#ujl+<hL@J0Ex`;gCA-`!fuB2>^N)K8{X3uICC`=u z*YnAU!Ho`HAvhUneSbDGK3`Svn;omSKKIYhUZ0GbFoNITgc$#1|JkS_OIcQFvTF4Q z!7fdP?y7n2`_JaBG_OSMk>_Q9<<!nLms8+k^S_&3=DP(@5_1lu3$9cF=23Ws^Z&(o z1^54)YTfD9VqOzC&l^{909lPe;5A(4|0r<5^+YG({3uS!$Iu$b+GjuPwL-_SQ3=n4 zMXo31r=b5jyg0EZ@{|w_mB)eX<ZG`dHXY)bH_~{kjgm5Yq9<)g`3A^aoOs09{cnuF z6LOCezZUX<Bfr;R6%X>e7x7HTN;CWbWY%Bg4@0hZ<cA<PI5M9@Xr~h?_2~ln^9Az3 zJXwB1KG}6evmQVExF<7+UxnMRZU-OEPEE$(r*7s;-~4{Hd@Fn?o!vZy?^{o5T-vms zl{Oz3M5e)~zzaSTu79qQ_YuONGB~dxJU7ti4Qm05ai3-}?n5lbI^SZvC$tzdlEt`B z(3t1`I!BN5Z#jz`+~nY92QPIn-YeU*D;?bC;M*Pi4hOGy@X#dor0(dGx*wVQ77ybo zg!iU=w!!yO7RMcov2FFJX9#l#-|u*>z_>4Bzoysv2Z1pzEN6q^pl`E(TMo*h@pkC> z3`WX>a>#ePn8&Pzh=b#La<*Wkk>9s_k06q1!?G2Op9<$P?ow;G<@k8@Wvu%zun>0L z@2fI=v-`;tUwQd+$Mm<RVxI(xpWJ^;Yvgyr)V=(--;Tfh*>A;9?hE49UC_*ZLE1pF zoKL%)No`T?6E64UlgGY-b;C5*BKv`D_p{rm)MdChxST67cC=%k-)S&|kiooG2?i|f z#es7?(=k2ccrCcW$e2>KJ7Pi!$fZO7)ARnNcm>xMMSHw{i4%JaF&@O}XNAu|;<c&_ zp5@~-S#YmX$}+zPUYytyc}j=^=W!rQ9W)mL^CIVCCNZ(JuZjn8e14`K3kAn{ej!0T zh-W);FN(;lbJCG-1zzXKw*zM#`R%|DTe*L55a0FJTLkTw`(^hae?1s{mH)MTz~5wH epHX1m^|*qI!($$mIe=~9@%b*>g#Am;4gU-8$Tuti literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/0512/GCC/link_uc3a0512.lds b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/0512/GCC/link_uc3a0512.lds new file mode 100644 index 0000000..59152ac --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/0512/GCC/link_uc3a0512.lds @@ -0,0 +1,266 @@ +/****************************************************************************** + * AVR32 AT32UC3A0512 GNU LD script file. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: AVR32 AT32UC3A0512 + * + * - author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32") + +OUTPUT_ARCH(avr32:uc) + +ENTRY(_start) + +MEMORY +{ + FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 0x00080000 + INTRAM (wxa!ri) : ORIGIN = 0x00000004, LENGTH = 0x0000FFFC + USERPAGE : ORIGIN = 0x80800000, LENGTH = 0x00000200 +} + +PHDRS +{ + FLASH PT_LOAD; + INTRAM_ALIGN PT_NULL; + INTRAM_AT_FLASH PT_LOAD; + INTRAM PT_NULL; + USERPAGE PT_LOAD; +} + +SECTIONS +{ + /* If this heap size is selected, all the INTRAM space from the end of the + data area to the beginning of the stack will be allocated for the heap. */ + __max_heap_size__ = -1; + + /* Use a default heap size if heap size was not defined. */ + __heap_size__ = DEFINED(__heap_size__) ? __heap_size__ : __max_heap_size__; + + /* Use a default stack size if stack size was not defined. */ + __stack_size__ = DEFINED(__stack_size__) ? __stack_size__ : 4K; + + /* Read-only sections, merged into text segment: */ + PROVIDE (__executable_start = 0x80000000); . = 0x80000000; + .interp : { *(.interp) } >FLASH AT>FLASH :FLASH + .reset : { *(.reset) } >FLASH AT>FLASH :FLASH + .hash : { *(.hash) } >FLASH AT>FLASH :FLASH + .dynsym : { *(.dynsym) } >FLASH AT>FLASH :FLASH + .dynstr : { *(.dynstr) } >FLASH AT>FLASH :FLASH + .gnu.version : { *(.gnu.version) } >FLASH AT>FLASH :FLASH + .gnu.version_d : { *(.gnu.version_d) } >FLASH AT>FLASH :FLASH + .gnu.version_r : { *(.gnu.version_r) } >FLASH AT>FLASH :FLASH + .rel.init : { *(.rel.init) } >FLASH AT>FLASH :FLASH + .rela.init : { *(.rela.init) } >FLASH AT>FLASH :FLASH + .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } >FLASH AT>FLASH :FLASH + .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } >FLASH AT>FLASH :FLASH + .rel.fini : { *(.rel.fini) } >FLASH AT>FLASH :FLASH + .rela.fini : { *(.rela.fini) } >FLASH AT>FLASH :FLASH + .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rel.data.rel.ro : { *(.rel.data.rel.ro*) } >FLASH AT>FLASH :FLASH + .rela.data.rel.ro : { *(.rel.data.rel.ro*) } >FLASH AT>FLASH :FLASH + .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } >FLASH AT>FLASH :FLASH + .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } >FLASH AT>FLASH :FLASH + .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } >FLASH AT>FLASH :FLASH + .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } >FLASH AT>FLASH :FLASH + .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } >FLASH AT>FLASH :FLASH + .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } >FLASH AT>FLASH :FLASH + .rel.ctors : { *(.rel.ctors) } >FLASH AT>FLASH :FLASH + .rela.ctors : { *(.rela.ctors) } >FLASH AT>FLASH :FLASH + .rel.dtors : { *(.rel.dtors) } >FLASH AT>FLASH :FLASH + .rela.dtors : { *(.rela.dtors) } >FLASH AT>FLASH :FLASH + .rel.got : { *(.rel.got) } >FLASH AT>FLASH :FLASH + .rela.got : { *(.rela.got) } >FLASH AT>FLASH :FLASH + .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } >FLASH AT>FLASH :FLASH + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } >FLASH AT>FLASH :FLASH + .rel.plt : { *(.rel.plt) } >FLASH AT>FLASH :FLASH + .rela.plt : { *(.rela.plt) } >FLASH AT>FLASH :FLASH + .init : + { + KEEP (*(.init)) + } >FLASH AT>FLASH :FLASH =0xd703d703 + .plt : { *(.plt) } >FLASH AT>FLASH :FLASH + .text : + { + *(.text .stub .text.* .gnu.linkonce.t.*) + KEEP (*(.text.*personality*)) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + } >FLASH AT>FLASH :FLASH =0xd703d703 + .fini : + { + KEEP (*(.fini)) + } >FLASH AT>FLASH :FLASH =0xd703d703 + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rodata1 : { *(.rodata1) } >FLASH AT>FLASH :FLASH + .eh_frame_hdr : { *(.eh_frame_hdr) } >FLASH AT>FLASH :FLASH + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } >FLASH AT>FLASH :FLASH + .gcc_except_table : ONLY_IF_RO { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } >FLASH AT>FLASH :FLASH + .lalign : { . = ALIGN(8); PROVIDE(_data_lma = .); } >FLASH AT>FLASH :FLASH + . = ORIGIN(INTRAM); + .dalign : { . = ALIGN(8); PROVIDE(_data = .); } >INTRAM AT>INTRAM :INTRAM_ALIGN + /* Exception handling */ + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .gcc_except_table : ONLY_IF_RW { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + /* Thread Local Storage sections */ + .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + /* Ensure the __preinit_array_start label is properly aligned. We + could instead move the label definition inside the section, but + the linker would then create the section even if it turns out to + be empty, which isn't pretty. */ + PROVIDE (__preinit_array_start = ALIGN(32 / 8)); + .preinit_array : { KEEP (*(.preinit_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__preinit_array_end = .); + PROVIDE (__init_array_start = .); + .init_array : { KEEP (*(.init_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__init_array_end = .); + PROVIDE (__fini_array_start = .); + .fini_array : { KEEP (*(.fini_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__fini_array_end = .); + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin*.o(.ctors)) + /* We don't want to include the .ctor section from + from the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .dtors : + { + KEEP (*crtbegin*.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .jcr : { KEEP (*(.jcr)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data.rel.ro : { *(.data.rel.ro.local) *(.data.rel.ro*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .dynamic : { *(.dynamic) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .got : { *(.got.plt) *(.got) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .ramtext : { *(.ramtext .ramtext.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .ddalign : { . = ALIGN(8); } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data : + { + *(.data .data.* .gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + SORT(CONSTRUCTORS) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data1 : { *(.data1) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .balign : { . = ALIGN(8); PROVIDE(_edata = .); } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (edata = .); + __bss_start = .; + .bss : + { + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + /* Align here to ensure that the .bss section occupies space up to + _end. Align after .bss to ensure correct alignment even if the + .bss section disappears because there are no input sections. */ + . = ALIGN(8); + } >INTRAM AT>INTRAM :INTRAM + . = ALIGN(8); + _end = .; + PROVIDE (end = .); + __heap_start__ = ALIGN(8); + .heap : + { + *(.heap) + . = (__heap_size__ == __max_heap_size__) ? + ORIGIN(INTRAM) + LENGTH(INTRAM) - __stack_size__ - ABSOLUTE(.) : + __heap_size__; + } >INTRAM AT>INTRAM :INTRAM + __heap_end__ = .; + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + .stack ORIGIN(INTRAM) + LENGTH(INTRAM) - __stack_size__ : + { + _stack = .; + *(.stack) + . = __stack_size__; + _estack = .; + } >INTRAM AT>INTRAM :INTRAM + .userpage : { *(.userpage .userpage.*) } >USERPAGE AT>USERPAGE :USERPAGE + /DISCARD/ : { *(.note.GNU-stack) } +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds new file mode 100644 index 0000000..a5926d8 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds @@ -0,0 +1,266 @@ +/****************************************************************************** + * AVR32 AT32UC3A1256 GNU LD script file. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: AVR32 AT32UC3A1256 + * + * - author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32") + +OUTPUT_ARCH(avr32:uc) + +ENTRY(_start) + +MEMORY +{ + FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 0x00040000 + INTRAM (wxa!ri) : ORIGIN = 0x00000004, LENGTH = 0x0000FFFC + USERPAGE : ORIGIN = 0x80800000, LENGTH = 0x00000200 +} + +PHDRS +{ + FLASH PT_LOAD; + INTRAM_ALIGN PT_NULL; + INTRAM_AT_FLASH PT_LOAD; + INTRAM PT_NULL; + USERPAGE PT_LOAD; +} + +SECTIONS +{ + /* If this heap size is selected, all the INTRAM space from the end of the + data area to the beginning of the stack will be allocated for the heap. */ + __max_heap_size__ = -1; + + /* Use a default heap size if heap size was not defined. */ + __heap_size__ = DEFINED(__heap_size__) ? __heap_size__ : __max_heap_size__; + + /* Use a default stack size if stack size was not defined. */ + __stack_size__ = DEFINED(__stack_size__) ? __stack_size__ : 4K; + + /* Read-only sections, merged into text segment: */ + PROVIDE (__executable_start = 0x80000000); . = 0x80000000; + .interp : { *(.interp) } >FLASH AT>FLASH :FLASH + .reset : { *(.reset) } >FLASH AT>FLASH :FLASH + .hash : { *(.hash) } >FLASH AT>FLASH :FLASH + .dynsym : { *(.dynsym) } >FLASH AT>FLASH :FLASH + .dynstr : { *(.dynstr) } >FLASH AT>FLASH :FLASH + .gnu.version : { *(.gnu.version) } >FLASH AT>FLASH :FLASH + .gnu.version_d : { *(.gnu.version_d) } >FLASH AT>FLASH :FLASH + .gnu.version_r : { *(.gnu.version_r) } >FLASH AT>FLASH :FLASH + .rel.init : { *(.rel.init) } >FLASH AT>FLASH :FLASH + .rela.init : { *(.rela.init) } >FLASH AT>FLASH :FLASH + .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } >FLASH AT>FLASH :FLASH + .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } >FLASH AT>FLASH :FLASH + .rel.fini : { *(.rel.fini) } >FLASH AT>FLASH :FLASH + .rela.fini : { *(.rela.fini) } >FLASH AT>FLASH :FLASH + .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rel.data.rel.ro : { *(.rel.data.rel.ro*) } >FLASH AT>FLASH :FLASH + .rela.data.rel.ro : { *(.rel.data.rel.ro*) } >FLASH AT>FLASH :FLASH + .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } >FLASH AT>FLASH :FLASH + .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } >FLASH AT>FLASH :FLASH + .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } >FLASH AT>FLASH :FLASH + .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } >FLASH AT>FLASH :FLASH + .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } >FLASH AT>FLASH :FLASH + .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } >FLASH AT>FLASH :FLASH + .rel.ctors : { *(.rel.ctors) } >FLASH AT>FLASH :FLASH + .rela.ctors : { *(.rela.ctors) } >FLASH AT>FLASH :FLASH + .rel.dtors : { *(.rel.dtors) } >FLASH AT>FLASH :FLASH + .rela.dtors : { *(.rela.dtors) } >FLASH AT>FLASH :FLASH + .rel.got : { *(.rel.got) } >FLASH AT>FLASH :FLASH + .rela.got : { *(.rela.got) } >FLASH AT>FLASH :FLASH + .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } >FLASH AT>FLASH :FLASH + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } >FLASH AT>FLASH :FLASH + .rel.plt : { *(.rel.plt) } >FLASH AT>FLASH :FLASH + .rela.plt : { *(.rela.plt) } >FLASH AT>FLASH :FLASH + .init : + { + KEEP (*(.init)) + } >FLASH AT>FLASH :FLASH =0xd703d703 + .plt : { *(.plt) } >FLASH AT>FLASH :FLASH + .text : + { + *(.text .stub .text.* .gnu.linkonce.t.*) + KEEP (*(.text.*personality*)) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + } >FLASH AT>FLASH :FLASH =0xd703d703 + .fini : + { + KEEP (*(.fini)) + } >FLASH AT>FLASH :FLASH =0xd703d703 + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rodata1 : { *(.rodata1) } >FLASH AT>FLASH :FLASH + .eh_frame_hdr : { *(.eh_frame_hdr) } >FLASH AT>FLASH :FLASH + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } >FLASH AT>FLASH :FLASH + .gcc_except_table : ONLY_IF_RO { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } >FLASH AT>FLASH :FLASH + .lalign : { . = ALIGN(8); PROVIDE(_data_lma = .); } >FLASH AT>FLASH :FLASH + . = ORIGIN(INTRAM); + .dalign : { . = ALIGN(8); PROVIDE(_data = .); } >INTRAM AT>INTRAM :INTRAM_ALIGN + /* Exception handling */ + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .gcc_except_table : ONLY_IF_RW { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + /* Thread Local Storage sections */ + .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + /* Ensure the __preinit_array_start label is properly aligned. We + could instead move the label definition inside the section, but + the linker would then create the section even if it turns out to + be empty, which isn't pretty. */ + PROVIDE (__preinit_array_start = ALIGN(32 / 8)); + .preinit_array : { KEEP (*(.preinit_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__preinit_array_end = .); + PROVIDE (__init_array_start = .); + .init_array : { KEEP (*(.init_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__init_array_end = .); + PROVIDE (__fini_array_start = .); + .fini_array : { KEEP (*(.fini_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__fini_array_end = .); + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin*.o(.ctors)) + /* We don't want to include the .ctor section from + from the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .dtors : + { + KEEP (*crtbegin*.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .jcr : { KEEP (*(.jcr)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data.rel.ro : { *(.data.rel.ro.local) *(.data.rel.ro*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .dynamic : { *(.dynamic) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .got : { *(.got.plt) *(.got) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .ramtext : { *(.ramtext .ramtext.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .ddalign : { . = ALIGN(8); } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data : + { + *(.data .data.* .gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + SORT(CONSTRUCTORS) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data1 : { *(.data1) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .balign : { . = ALIGN(8); PROVIDE(_edata = .); } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (edata = .); + __bss_start = .; + .bss : + { + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + /* Align here to ensure that the .bss section occupies space up to + _end. Align after .bss to ensure correct alignment even if the + .bss section disappears because there are no input sections. */ + . = ALIGN(8); + } >INTRAM AT>INTRAM :INTRAM + . = ALIGN(8); + _end = .; + PROVIDE (end = .); + __heap_start__ = ALIGN(8); + .heap : + { + *(.heap) + . = (__heap_size__ == __max_heap_size__) ? + ORIGIN(INTRAM) + LENGTH(INTRAM) - __stack_size__ - ABSOLUTE(.) : + __heap_size__; + } >INTRAM AT>INTRAM :INTRAM + __heap_end__ = .; + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + .stack ORIGIN(INTRAM) + LENGTH(INTRAM) - __stack_size__ : + { + _stack = .; + *(.stack) + . = __stack_size__; + _estack = .; + } >INTRAM AT>INTRAM :INTRAM + .userpage : { *(.userpage .userpage.*) } >USERPAGE AT>USERPAGE :USERPAGE + /DISCARD/ : { *(.note.GNU-stack) } +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/mrepeat.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/mrepeat.h new file mode 100644 index 0000000..41163b6 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/mrepeat.h @@ -0,0 +1,328 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Preprocessor macro repeating utils. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _MREPEAT_H_ +#define _MREPEAT_H_ + +#include "preprocessor.h" + + +//! Maximal number of repetitions supported by MREPEAT. +#define MREPEAT_LIMIT 256 + +/*! \brief Macro repeat. + * + * This macro represents a horizontal repetition construct. + * + * \param count The number of repetitious calls to macro. Valid values range from 0 to MREPEAT_LIMIT. + * \param macro A binary operation of the form macro(n, data). This macro is expanded by MREPEAT with + * the current repetition number and the auxiliary data argument. + * \param data Auxiliary data passed to macro. + * + * \return <tt>macro(0, data) macro(1, data) ... macro(count - 1, data)</tt> + */ +#define MREPEAT(count, macro, data) TPASTE2(MREPEAT, count)(macro, data) + +#define MREPEAT0( macro, data) +#define MREPEAT1( macro, data) MREPEAT0( macro, data) macro( 0, data) +#define MREPEAT2( macro, data) MREPEAT1( macro, data) macro( 1, data) +#define MREPEAT3( macro, data) MREPEAT2( macro, data) macro( 2, data) +#define MREPEAT4( macro, data) MREPEAT3( macro, data) macro( 3, data) +#define MREPEAT5( macro, data) MREPEAT4( macro, data) macro( 4, data) +#define MREPEAT6( macro, data) MREPEAT5( macro, data) macro( 5, data) +#define MREPEAT7( macro, data) MREPEAT6( macro, data) macro( 6, data) +#define MREPEAT8( macro, data) MREPEAT7( macro, data) macro( 7, data) +#define MREPEAT9( macro, data) MREPEAT8( macro, data) macro( 8, data) +#define MREPEAT10( macro, data) MREPEAT9( macro, data) macro( 9, data) +#define MREPEAT11( macro, data) MREPEAT10( macro, data) macro( 10, data) +#define MREPEAT12( macro, data) MREPEAT11( macro, data) macro( 11, data) +#define MREPEAT13( macro, data) MREPEAT12( macro, data) macro( 12, data) +#define MREPEAT14( macro, data) MREPEAT13( macro, data) macro( 13, data) +#define MREPEAT15( macro, data) MREPEAT14( macro, data) macro( 14, data) +#define MREPEAT16( macro, data) MREPEAT15( macro, data) macro( 15, data) +#define MREPEAT17( macro, data) MREPEAT16( macro, data) macro( 16, data) +#define MREPEAT18( macro, data) MREPEAT17( macro, data) macro( 17, data) +#define MREPEAT19( macro, data) MREPEAT18( macro, data) macro( 18, data) +#define MREPEAT20( macro, data) MREPEAT19( macro, data) macro( 19, data) +#define MREPEAT21( macro, data) MREPEAT20( macro, data) macro( 20, data) +#define MREPEAT22( macro, data) MREPEAT21( macro, data) macro( 21, data) +#define MREPEAT23( macro, data) MREPEAT22( macro, data) macro( 22, data) +#define MREPEAT24( macro, data) MREPEAT23( macro, data) macro( 23, data) +#define MREPEAT25( macro, data) MREPEAT24( macro, data) macro( 24, data) +#define MREPEAT26( macro, data) MREPEAT25( macro, data) macro( 25, data) +#define MREPEAT27( macro, data) MREPEAT26( macro, data) macro( 26, data) +#define MREPEAT28( macro, data) MREPEAT27( macro, data) macro( 27, data) +#define MREPEAT29( macro, data) MREPEAT28( macro, data) macro( 28, data) +#define MREPEAT30( macro, data) MREPEAT29( macro, data) macro( 29, data) +#define MREPEAT31( macro, data) MREPEAT30( macro, data) macro( 30, data) +#define MREPEAT32( macro, data) MREPEAT31( macro, data) macro( 31, data) +#define MREPEAT33( macro, data) MREPEAT32( macro, data) macro( 32, data) +#define MREPEAT34( macro, data) MREPEAT33( macro, data) macro( 33, data) +#define MREPEAT35( macro, data) MREPEAT34( macro, data) macro( 34, data) +#define MREPEAT36( macro, data) MREPEAT35( macro, data) macro( 35, data) +#define MREPEAT37( macro, data) MREPEAT36( macro, data) macro( 36, data) +#define MREPEAT38( macro, data) MREPEAT37( macro, data) macro( 37, data) +#define MREPEAT39( macro, data) MREPEAT38( macro, data) macro( 38, data) +#define MREPEAT40( macro, data) MREPEAT39( macro, data) macro( 39, data) +#define MREPEAT41( macro, data) MREPEAT40( macro, data) macro( 40, data) +#define MREPEAT42( macro, data) MREPEAT41( macro, data) macro( 41, data) +#define MREPEAT43( macro, data) MREPEAT42( macro, data) macro( 42, data) +#define MREPEAT44( macro, data) MREPEAT43( macro, data) macro( 43, data) +#define MREPEAT45( macro, data) MREPEAT44( macro, data) macro( 44, data) +#define MREPEAT46( macro, data) MREPEAT45( macro, data) macro( 45, data) +#define MREPEAT47( macro, data) MREPEAT46( macro, data) macro( 46, data) +#define MREPEAT48( macro, data) MREPEAT47( macro, data) macro( 47, data) +#define MREPEAT49( macro, data) MREPEAT48( macro, data) macro( 48, data) +#define MREPEAT50( macro, data) MREPEAT49( macro, data) macro( 49, data) +#define MREPEAT51( macro, data) MREPEAT50( macro, data) macro( 50, data) +#define MREPEAT52( macro, data) MREPEAT51( macro, data) macro( 51, data) +#define MREPEAT53( macro, data) MREPEAT52( macro, data) macro( 52, data) +#define MREPEAT54( macro, data) MREPEAT53( macro, data) macro( 53, data) +#define MREPEAT55( macro, data) MREPEAT54( macro, data) macro( 54, data) +#define MREPEAT56( macro, data) MREPEAT55( macro, data) macro( 55, data) +#define MREPEAT57( macro, data) MREPEAT56( macro, data) macro( 56, data) +#define MREPEAT58( macro, data) MREPEAT57( macro, data) macro( 57, data) +#define MREPEAT59( macro, data) MREPEAT58( macro, data) macro( 58, data) +#define MREPEAT60( macro, data) MREPEAT59( macro, data) macro( 59, data) +#define MREPEAT61( macro, data) MREPEAT60( macro, data) macro( 60, data) +#define MREPEAT62( macro, data) MREPEAT61( macro, data) macro( 61, data) +#define MREPEAT63( macro, data) MREPEAT62( macro, data) macro( 62, data) +#define MREPEAT64( macro, data) MREPEAT63( macro, data) macro( 63, data) +#define MREPEAT65( macro, data) MREPEAT64( macro, data) macro( 64, data) +#define MREPEAT66( macro, data) MREPEAT65( macro, data) macro( 65, data) +#define MREPEAT67( macro, data) MREPEAT66( macro, data) macro( 66, data) +#define MREPEAT68( macro, data) MREPEAT67( macro, data) macro( 67, data) +#define MREPEAT69( macro, data) MREPEAT68( macro, data) macro( 68, data) +#define MREPEAT70( macro, data) MREPEAT69( macro, data) macro( 69, data) +#define MREPEAT71( macro, data) MREPEAT70( macro, data) macro( 70, data) +#define MREPEAT72( macro, data) MREPEAT71( macro, data) macro( 71, data) +#define MREPEAT73( macro, data) MREPEAT72( macro, data) macro( 72, data) +#define MREPEAT74( macro, data) MREPEAT73( macro, data) macro( 73, data) +#define MREPEAT75( macro, data) MREPEAT74( macro, data) macro( 74, data) +#define MREPEAT76( macro, data) MREPEAT75( macro, data) macro( 75, data) +#define MREPEAT77( macro, data) MREPEAT76( macro, data) macro( 76, data) +#define MREPEAT78( macro, data) MREPEAT77( macro, data) macro( 77, data) +#define MREPEAT79( macro, data) MREPEAT78( macro, data) macro( 78, data) +#define MREPEAT80( macro, data) MREPEAT79( macro, data) macro( 79, data) +#define MREPEAT81( macro, data) MREPEAT80( macro, data) macro( 80, data) +#define MREPEAT82( macro, data) MREPEAT81( macro, data) macro( 81, data) +#define MREPEAT83( macro, data) MREPEAT82( macro, data) macro( 82, data) +#define MREPEAT84( macro, data) MREPEAT83( macro, data) macro( 83, data) +#define MREPEAT85( macro, data) MREPEAT84( macro, data) macro( 84, data) +#define MREPEAT86( macro, data) MREPEAT85( macro, data) macro( 85, data) +#define MREPEAT87( macro, data) MREPEAT86( macro, data) macro( 86, data) +#define MREPEAT88( macro, data) MREPEAT87( macro, data) macro( 87, data) +#define MREPEAT89( macro, data) MREPEAT88( macro, data) macro( 88, data) +#define MREPEAT90( macro, data) MREPEAT89( macro, data) macro( 89, data) +#define MREPEAT91( macro, data) MREPEAT90( macro, data) macro( 90, data) +#define MREPEAT92( macro, data) MREPEAT91( macro, data) macro( 91, data) +#define MREPEAT93( macro, data) MREPEAT92( macro, data) macro( 92, data) +#define MREPEAT94( macro, data) MREPEAT93( macro, data) macro( 93, data) +#define MREPEAT95( macro, data) MREPEAT94( macro, data) macro( 94, data) +#define MREPEAT96( macro, data) MREPEAT95( macro, data) macro( 95, data) +#define MREPEAT97( macro, data) MREPEAT96( macro, data) macro( 96, data) +#define MREPEAT98( macro, data) MREPEAT97( macro, data) macro( 97, data) +#define MREPEAT99( macro, data) MREPEAT98( macro, data) macro( 98, data) +#define MREPEAT100(macro, data) MREPEAT99( macro, data) macro( 99, data) +#define MREPEAT101(macro, data) MREPEAT100(macro, data) macro(100, data) +#define MREPEAT102(macro, data) MREPEAT101(macro, data) macro(101, data) +#define MREPEAT103(macro, data) MREPEAT102(macro, data) macro(102, data) +#define MREPEAT104(macro, data) MREPEAT103(macro, data) macro(103, data) +#define MREPEAT105(macro, data) MREPEAT104(macro, data) macro(104, data) +#define MREPEAT106(macro, data) MREPEAT105(macro, data) macro(105, data) +#define MREPEAT107(macro, data) MREPEAT106(macro, data) macro(106, data) +#define MREPEAT108(macro, data) MREPEAT107(macro, data) macro(107, data) +#define MREPEAT109(macro, data) MREPEAT108(macro, data) macro(108, data) +#define MREPEAT110(macro, data) MREPEAT109(macro, data) macro(109, data) +#define MREPEAT111(macro, data) MREPEAT110(macro, data) macro(110, data) +#define MREPEAT112(macro, data) MREPEAT111(macro, data) macro(111, data) +#define MREPEAT113(macro, data) MREPEAT112(macro, data) macro(112, data) +#define MREPEAT114(macro, data) MREPEAT113(macro, data) macro(113, data) +#define MREPEAT115(macro, data) MREPEAT114(macro, data) macro(114, data) +#define MREPEAT116(macro, data) MREPEAT115(macro, data) macro(115, data) +#define MREPEAT117(macro, data) MREPEAT116(macro, data) macro(116, data) +#define MREPEAT118(macro, data) MREPEAT117(macro, data) macro(117, data) +#define MREPEAT119(macro, data) MREPEAT118(macro, data) macro(118, data) +#define MREPEAT120(macro, data) MREPEAT119(macro, data) macro(119, data) +#define MREPEAT121(macro, data) MREPEAT120(macro, data) macro(120, data) +#define MREPEAT122(macro, data) MREPEAT121(macro, data) macro(121, data) +#define MREPEAT123(macro, data) MREPEAT122(macro, data) macro(122, data) +#define MREPEAT124(macro, data) MREPEAT123(macro, data) macro(123, data) +#define MREPEAT125(macro, data) MREPEAT124(macro, data) macro(124, data) +#define MREPEAT126(macro, data) MREPEAT125(macro, data) macro(125, data) +#define MREPEAT127(macro, data) MREPEAT126(macro, data) macro(126, data) +#define MREPEAT128(macro, data) MREPEAT127(macro, data) macro(127, data) +#define MREPEAT129(macro, data) MREPEAT128(macro, data) macro(128, data) +#define MREPEAT130(macro, data) MREPEAT129(macro, data) macro(129, data) +#define MREPEAT131(macro, data) MREPEAT130(macro, data) macro(130, data) +#define MREPEAT132(macro, data) MREPEAT131(macro, data) macro(131, data) +#define MREPEAT133(macro, data) MREPEAT132(macro, data) macro(132, data) +#define MREPEAT134(macro, data) MREPEAT133(macro, data) macro(133, data) +#define MREPEAT135(macro, data) MREPEAT134(macro, data) macro(134, data) +#define MREPEAT136(macro, data) MREPEAT135(macro, data) macro(135, data) +#define MREPEAT137(macro, data) MREPEAT136(macro, data) macro(136, data) +#define MREPEAT138(macro, data) MREPEAT137(macro, data) macro(137, data) +#define MREPEAT139(macro, data) MREPEAT138(macro, data) macro(138, data) +#define MREPEAT140(macro, data) MREPEAT139(macro, data) macro(139, data) +#define MREPEAT141(macro, data) MREPEAT140(macro, data) macro(140, data) +#define MREPEAT142(macro, data) MREPEAT141(macro, data) macro(141, data) +#define MREPEAT143(macro, data) MREPEAT142(macro, data) macro(142, data) +#define MREPEAT144(macro, data) MREPEAT143(macro, data) macro(143, data) +#define MREPEAT145(macro, data) MREPEAT144(macro, data) macro(144, data) +#define MREPEAT146(macro, data) MREPEAT145(macro, data) macro(145, data) +#define MREPEAT147(macro, data) MREPEAT146(macro, data) macro(146, data) +#define MREPEAT148(macro, data) MREPEAT147(macro, data) macro(147, data) +#define MREPEAT149(macro, data) MREPEAT148(macro, data) macro(148, data) +#define MREPEAT150(macro, data) MREPEAT149(macro, data) macro(149, data) +#define MREPEAT151(macro, data) MREPEAT150(macro, data) macro(150, data) +#define MREPEAT152(macro, data) MREPEAT151(macro, data) macro(151, data) +#define MREPEAT153(macro, data) MREPEAT152(macro, data) macro(152, data) +#define MREPEAT154(macro, data) MREPEAT153(macro, data) macro(153, data) +#define MREPEAT155(macro, data) MREPEAT154(macro, data) macro(154, data) +#define MREPEAT156(macro, data) MREPEAT155(macro, data) macro(155, data) +#define MREPEAT157(macro, data) MREPEAT156(macro, data) macro(156, data) +#define MREPEAT158(macro, data) MREPEAT157(macro, data) macro(157, data) +#define MREPEAT159(macro, data) MREPEAT158(macro, data) macro(158, data) +#define MREPEAT160(macro, data) MREPEAT159(macro, data) macro(159, data) +#define MREPEAT161(macro, data) MREPEAT160(macro, data) macro(160, data) +#define MREPEAT162(macro, data) MREPEAT161(macro, data) macro(161, data) +#define MREPEAT163(macro, data) MREPEAT162(macro, data) macro(162, data) +#define MREPEAT164(macro, data) MREPEAT163(macro, data) macro(163, data) +#define MREPEAT165(macro, data) MREPEAT164(macro, data) macro(164, data) +#define MREPEAT166(macro, data) MREPEAT165(macro, data) macro(165, data) +#define MREPEAT167(macro, data) MREPEAT166(macro, data) macro(166, data) +#define MREPEAT168(macro, data) MREPEAT167(macro, data) macro(167, data) +#define MREPEAT169(macro, data) MREPEAT168(macro, data) macro(168, data) +#define MREPEAT170(macro, data) MREPEAT169(macro, data) macro(169, data) +#define MREPEAT171(macro, data) MREPEAT170(macro, data) macro(170, data) +#define MREPEAT172(macro, data) MREPEAT171(macro, data) macro(171, data) +#define MREPEAT173(macro, data) MREPEAT172(macro, data) macro(172, data) +#define MREPEAT174(macro, data) MREPEAT173(macro, data) macro(173, data) +#define MREPEAT175(macro, data) MREPEAT174(macro, data) macro(174, data) +#define MREPEAT176(macro, data) MREPEAT175(macro, data) macro(175, data) +#define MREPEAT177(macro, data) MREPEAT176(macro, data) macro(176, data) +#define MREPEAT178(macro, data) MREPEAT177(macro, data) macro(177, data) +#define MREPEAT179(macro, data) MREPEAT178(macro, data) macro(178, data) +#define MREPEAT180(macro, data) MREPEAT179(macro, data) macro(179, data) +#define MREPEAT181(macro, data) MREPEAT180(macro, data) macro(180, data) +#define MREPEAT182(macro, data) MREPEAT181(macro, data) macro(181, data) +#define MREPEAT183(macro, data) MREPEAT182(macro, data) macro(182, data) +#define MREPEAT184(macro, data) MREPEAT183(macro, data) macro(183, data) +#define MREPEAT185(macro, data) MREPEAT184(macro, data) macro(184, data) +#define MREPEAT186(macro, data) MREPEAT185(macro, data) macro(185, data) +#define MREPEAT187(macro, data) MREPEAT186(macro, data) macro(186, data) +#define MREPEAT188(macro, data) MREPEAT187(macro, data) macro(187, data) +#define MREPEAT189(macro, data) MREPEAT188(macro, data) macro(188, data) +#define MREPEAT190(macro, data) MREPEAT189(macro, data) macro(189, data) +#define MREPEAT191(macro, data) MREPEAT190(macro, data) macro(190, data) +#define MREPEAT192(macro, data) MREPEAT191(macro, data) macro(191, data) +#define MREPEAT193(macro, data) MREPEAT192(macro, data) macro(192, data) +#define MREPEAT194(macro, data) MREPEAT193(macro, data) macro(193, data) +#define MREPEAT195(macro, data) MREPEAT194(macro, data) macro(194, data) +#define MREPEAT196(macro, data) MREPEAT195(macro, data) macro(195, data) +#define MREPEAT197(macro, data) MREPEAT196(macro, data) macro(196, data) +#define MREPEAT198(macro, data) MREPEAT197(macro, data) macro(197, data) +#define MREPEAT199(macro, data) MREPEAT198(macro, data) macro(198, data) +#define MREPEAT200(macro, data) MREPEAT199(macro, data) macro(199, data) +#define MREPEAT201(macro, data) MREPEAT200(macro, data) macro(200, data) +#define MREPEAT202(macro, data) MREPEAT201(macro, data) macro(201, data) +#define MREPEAT203(macro, data) MREPEAT202(macro, data) macro(202, data) +#define MREPEAT204(macro, data) MREPEAT203(macro, data) macro(203, data) +#define MREPEAT205(macro, data) MREPEAT204(macro, data) macro(204, data) +#define MREPEAT206(macro, data) MREPEAT205(macro, data) macro(205, data) +#define MREPEAT207(macro, data) MREPEAT206(macro, data) macro(206, data) +#define MREPEAT208(macro, data) MREPEAT207(macro, data) macro(207, data) +#define MREPEAT209(macro, data) MREPEAT208(macro, data) macro(208, data) +#define MREPEAT210(macro, data) MREPEAT209(macro, data) macro(209, data) +#define MREPEAT211(macro, data) MREPEAT210(macro, data) macro(210, data) +#define MREPEAT212(macro, data) MREPEAT211(macro, data) macro(211, data) +#define MREPEAT213(macro, data) MREPEAT212(macro, data) macro(212, data) +#define MREPEAT214(macro, data) MREPEAT213(macro, data) macro(213, data) +#define MREPEAT215(macro, data) MREPEAT214(macro, data) macro(214, data) +#define MREPEAT216(macro, data) MREPEAT215(macro, data) macro(215, data) +#define MREPEAT217(macro, data) MREPEAT216(macro, data) macro(216, data) +#define MREPEAT218(macro, data) MREPEAT217(macro, data) macro(217, data) +#define MREPEAT219(macro, data) MREPEAT218(macro, data) macro(218, data) +#define MREPEAT220(macro, data) MREPEAT219(macro, data) macro(219, data) +#define MREPEAT221(macro, data) MREPEAT220(macro, data) macro(220, data) +#define MREPEAT222(macro, data) MREPEAT221(macro, data) macro(221, data) +#define MREPEAT223(macro, data) MREPEAT222(macro, data) macro(222, data) +#define MREPEAT224(macro, data) MREPEAT223(macro, data) macro(223, data) +#define MREPEAT225(macro, data) MREPEAT224(macro, data) macro(224, data) +#define MREPEAT226(macro, data) MREPEAT225(macro, data) macro(225, data) +#define MREPEAT227(macro, data) MREPEAT226(macro, data) macro(226, data) +#define MREPEAT228(macro, data) MREPEAT227(macro, data) macro(227, data) +#define MREPEAT229(macro, data) MREPEAT228(macro, data) macro(228, data) +#define MREPEAT230(macro, data) MREPEAT229(macro, data) macro(229, data) +#define MREPEAT231(macro, data) MREPEAT230(macro, data) macro(230, data) +#define MREPEAT232(macro, data) MREPEAT231(macro, data) macro(231, data) +#define MREPEAT233(macro, data) MREPEAT232(macro, data) macro(232, data) +#define MREPEAT234(macro, data) MREPEAT233(macro, data) macro(233, data) +#define MREPEAT235(macro, data) MREPEAT234(macro, data) macro(234, data) +#define MREPEAT236(macro, data) MREPEAT235(macro, data) macro(235, data) +#define MREPEAT237(macro, data) MREPEAT236(macro, data) macro(236, data) +#define MREPEAT238(macro, data) MREPEAT237(macro, data) macro(237, data) +#define MREPEAT239(macro, data) MREPEAT238(macro, data) macro(238, data) +#define MREPEAT240(macro, data) MREPEAT239(macro, data) macro(239, data) +#define MREPEAT241(macro, data) MREPEAT240(macro, data) macro(240, data) +#define MREPEAT242(macro, data) MREPEAT241(macro, data) macro(241, data) +#define MREPEAT243(macro, data) MREPEAT242(macro, data) macro(242, data) +#define MREPEAT244(macro, data) MREPEAT243(macro, data) macro(243, data) +#define MREPEAT245(macro, data) MREPEAT244(macro, data) macro(244, data) +#define MREPEAT246(macro, data) MREPEAT245(macro, data) macro(245, data) +#define MREPEAT247(macro, data) MREPEAT246(macro, data) macro(246, data) +#define MREPEAT248(macro, data) MREPEAT247(macro, data) macro(247, data) +#define MREPEAT249(macro, data) MREPEAT248(macro, data) macro(248, data) +#define MREPEAT250(macro, data) MREPEAT249(macro, data) macro(249, data) +#define MREPEAT251(macro, data) MREPEAT250(macro, data) macro(250, data) +#define MREPEAT252(macro, data) MREPEAT251(macro, data) macro(251, data) +#define MREPEAT253(macro, data) MREPEAT252(macro, data) macro(252, data) +#define MREPEAT254(macro, data) MREPEAT253(macro, data) macro(253, data) +#define MREPEAT255(macro, data) MREPEAT254(macro, data) macro(254, data) +#define MREPEAT256(macro, data) MREPEAT255(macro, data) macro(255, data) + + +#endif // _MREPEAT_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/preprocessor.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/preprocessor.h new file mode 100644 index 0000000..5b996ba --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/preprocessor.h @@ -0,0 +1,55 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Preprocessor utils. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _PREPROCESSOR_H_ +#define _PREPROCESSOR_H_ + +#include "tpaste.h" +#include "stringz.h" +#include "mrepeat.h" + + +#endif // _PREPROCESSOR_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/stringz.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/stringz.h new file mode 100644 index 0000000..3528ea0 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/stringz.h @@ -0,0 +1,75 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Preprocessor stringizing utils. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _STRINGZ_H_ +#define _STRINGZ_H_ + + +/*! \brief Stringize. + * + * Stringize a preprocessing token, this token being allowed to be \#defined. + * + * May be used only within macros with the token passed as an argument if the token is \#defined. + * + * For example, writing STRINGZ(PIN) within a macro \#defined by PIN_NAME(PIN) + * and invoked as PIN_NAME(PIN0) with PIN0 \#defined as A0 is equivalent to + * writing "A0". + */ +#define STRINGZ(x) #x + +/*! \brief Absolute stringize. + * + * Stringize a preprocessing token, this token being allowed to be \#defined. + * + * No restriction of use if the token is \#defined. + * + * For example, writing ASTRINGZ(PIN0) anywhere with PIN0 \#defined as A0 is + * equivalent to writing "A0". + */ +#define ASTRINGZ(x) STRINGZ(x) + + +#endif // _STRINGZ_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/tpaste.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/tpaste.h new file mode 100644 index 0000000..a5d7bee --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/tpaste.h @@ -0,0 +1,95 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Preprocessor token pasting utils. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _TPASTE_H_ +#define _TPASTE_H_ + + +/*! \name Token Paste + * + * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. + * + * May be used only within macros with the tokens passed as arguments if the tokens are \#defined. + * + * For example, writing TPASTE2(U, WIDTH) within a macro \#defined by + * UTYPE(WIDTH) and invoked as UTYPE(UL_WIDTH) with UL_WIDTH \#defined as 32 is + * equivalent to writing U32. + */ +//! @{ +#define TPASTE2( a, b) a##b +#define TPASTE3( a, b, c) a##b##c +#define TPASTE4( a, b, c, d) a##b##c##d +#define TPASTE5( a, b, c, d, e) a##b##c##d##e +#define TPASTE6( a, b, c, d, e, f) a##b##c##d##e##f +#define TPASTE7( a, b, c, d, e, f, g) a##b##c##d##e##f##g +#define TPASTE8( a, b, c, d, e, f, g, h) a##b##c##d##e##f##g##h +#define TPASTE9( a, b, c, d, e, f, g, h, i) a##b##c##d##e##f##g##h##i +#define TPASTE10(a, b, c, d, e, f, g, h, i, j) a##b##c##d##e##f##g##h##i##j +//! @} + +/*! \name Absolute Token Paste + * + * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. + * + * No restriction of use if the tokens are \#defined. + * + * For example, writing ATPASTE2(U, UL_WIDTH) anywhere with UL_WIDTH \#defined + * as 32 is equivalent to writing U32. + */ +//! @{ +#define ATPASTE2( a, b) TPASTE2( a, b) +#define ATPASTE3( a, b, c) TPASTE3( a, b, c) +#define ATPASTE4( a, b, c, d) TPASTE4( a, b, c, d) +#define ATPASTE5( a, b, c, d, e) TPASTE5( a, b, c, d, e) +#define ATPASTE6( a, b, c, d, e, f) TPASTE6( a, b, c, d, e, f) +#define ATPASTE7( a, b, c, d, e, f, g) TPASTE7( a, b, c, d, e, f, g) +#define ATPASTE8( a, b, c, d, e, f, g, h) TPASTE8( a, b, c, d, e, f, g, h) +#define ATPASTE9( a, b, c, d, e, f, g, h, i) TPASTE9( a, b, c, d, e, f, g, h, i) +#define ATPASTE10(a, b, c, d, e, f, g, h, i, j) TPASTE10(a, b, c, d, e, f, g, h, i, j) +//! @} + + +#endif // _TPASTE_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/STARTUP_FILES/GCC/crt0.x b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/STARTUP_FILES/GCC/crt0.x new file mode 100644 index 0000000..23b658b --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/STARTUP_FILES/GCC/crt0.x @@ -0,0 +1,121 @@ +/* This file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AVR32UC C runtime startup file. + * + * This file has been built from the Newlib crt0.S. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32UC devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> + + +//! @{ +//! \verbatim + + + // This must be linked @ 0x80000000 if it is to be run upon reset. + .section .reset, "ax", @progbits + + + .global _start + .type _start, @function +_start: + // Jump to the C runtime startup routine. + lda.w pc, _stext + + + // _stext is placed outside the .reset section so that the program entry point + // can be changed without affecting the C runtime startup. + .section .text._stext, "ax", @progbits + + + .global _stext + .type _stext, @function +_stext: + // Set initial stack pointer. + lda.w sp, _estack + + // Set up EVBA so interrupts can be enabled. + lda.w r0, _evba + mtsr AVR32_EVBA, r0 + + // Enable the exception processing. + csrf AVR32_SR_EM_OFFSET + + // Load initialized data having a global lifetime from the data LMA. + lda.w r0, _data + lda.w r1, _edata + cp r0, r1 + brhs idata_load_loop_end + lda.w r2, _data_lma +idata_load_loop: + ld.d r4, r2++ + st.d r0++, r4 + cp r0, r1 + brlo idata_load_loop +idata_load_loop_end: + + // Clear uninitialized data having a global lifetime in the blank static storage section. + lda.w r0, __bss_start + lda.w r1, _end + cp r0, r1 + brhs udata_clear_loop_end + mov r2, 0 + mov r3, 0 +udata_clear_loop: + st.d r0++, r2 + cp r0, r1 + brlo udata_clear_loop +udata_clear_loop_end: + +#ifdef CONFIG_FRAME_POINTER + // Safety: Set the default "return" @ to the exit routine address. + lda.w lr, exit +#endif + + // Start the show. + lda.w pc, main + + +//! \endverbatim +//! @} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/compiler.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/compiler.h new file mode 100644 index 0000000..885be7f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/compiler.h @@ -0,0 +1,1145 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Compiler file for AVR32. + * + * This file defines commonly used types and macros. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _COMPILER_H_ +#define _COMPILER_H_ + +#if ((defined __GNUC__) && (defined __AVR32__)) || (defined __ICCAVR32__ || defined __AAVR32__) +# include <avr32/io.h> +#endif +#if (defined __ICCAVR32__) +# include <intrinsics.h> +#endif +#include "preprocessor.h" + +#include "parts.h" + + +//_____ D E C L A R A T I O N S ____________________________________________ + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. + +#include <stddef.h> +#include <stdlib.h> + + +#if (defined __ICCAVR32__) + +/*! \name Compiler Keywords + * + * Port of some keywords from GNU GCC for AVR32 to IAR Embedded Workbench for Atmel AVR32. + */ +//! @{ +#define __asm__ asm +#define __inline__ inline +#define __volatile__ +//! @} + +#endif + + +/*! \name Usual Types + */ +//! @{ +typedef unsigned char Bool; //!< Boolean. +#ifndef __cplusplus +#if !defined(__bool_true_false_are_defined) +typedef unsigned char bool; //!< Boolean. +#endif +#endif +typedef signed char S8 ; //!< 8-bit signed integer. +typedef unsigned char U8 ; //!< 8-bit unsigned integer. +typedef signed short int S16; //!< 16-bit signed integer. +typedef unsigned short int U16; //!< 16-bit unsigned integer. +typedef signed long int S32; //!< 32-bit signed integer. +typedef unsigned long int U32; //!< 32-bit unsigned integer. +typedef signed long long int S64; //!< 64-bit signed integer. +typedef unsigned long long int U64; //!< 64-bit unsigned integer. +typedef float F32; //!< 32-bit floating-point number. +typedef double F64; //!< 64-bit floating-point number. +//! @} + + +/*! \name Status Types + */ +//! @{ +typedef Bool Status_bool_t; //!< Boolean status. +typedef U8 Status_t; //!< 8-bit-coded status. +//! @} + + +/*! \name Aliasing Aggregate Types + */ +//! @{ + +//! 16-bit union. +typedef union +{ + S16 s16 ; + U16 u16 ; + S8 s8 [2]; + U8 u8 [2]; +} Union16; + +//! 32-bit union. +typedef union +{ + S32 s32 ; + U32 u32 ; + S16 s16[2]; + U16 u16[2]; + S8 s8 [4]; + U8 u8 [4]; +} Union32; + +//! 64-bit union. +typedef union +{ + S64 s64 ; + U64 u64 ; + S32 s32[2]; + U32 u32[2]; + S16 s16[4]; + U16 u16[4]; + S8 s8 [8]; + U8 u8 [8]; +} Union64; + +//! Union of pointers to 64-, 32-, 16- and 8-bit unsigned integers. +typedef union +{ + S64 *s64ptr; + U64 *u64ptr; + S32 *s32ptr; + U32 *u32ptr; + S16 *s16ptr; + U16 *u16ptr; + S8 *s8ptr ; + U8 *u8ptr ; +} UnionPtr; + +//! Union of pointers to volatile 64-, 32-, 16- and 8-bit unsigned integers. +typedef union +{ + volatile S64 *s64ptr; + volatile U64 *u64ptr; + volatile S32 *s32ptr; + volatile U32 *u32ptr; + volatile S16 *s16ptr; + volatile U16 *u16ptr; + volatile S8 *s8ptr ; + volatile U8 *u8ptr ; +} UnionVPtr; + +//! Union of pointers to constant 64-, 32-, 16- and 8-bit unsigned integers. +typedef union +{ + const S64 *s64ptr; + const U64 *u64ptr; + const S32 *s32ptr; + const U32 *u32ptr; + const S16 *s16ptr; + const U16 *u16ptr; + const S8 *s8ptr ; + const U8 *u8ptr ; +} UnionCPtr; + +//! Union of pointers to constant volatile 64-, 32-, 16- and 8-bit unsigned integers. +typedef union +{ + const volatile S64 *s64ptr; + const volatile U64 *u64ptr; + const volatile S32 *s32ptr; + const volatile U32 *u32ptr; + const volatile S16 *s16ptr; + const volatile U16 *u16ptr; + const volatile S8 *s8ptr ; + const volatile U8 *u8ptr ; +} UnionCVPtr; + +//! Structure of pointers to 64-, 32-, 16- and 8-bit unsigned integers. +typedef struct +{ + S64 *s64ptr; + U64 *u64ptr; + S32 *s32ptr; + U32 *u32ptr; + S16 *s16ptr; + U16 *u16ptr; + S8 *s8ptr ; + U8 *u8ptr ; +} StructPtr; + +//! Structure of pointers to volatile 64-, 32-, 16- and 8-bit unsigned integers. +typedef struct +{ + volatile S64 *s64ptr; + volatile U64 *u64ptr; + volatile S32 *s32ptr; + volatile U32 *u32ptr; + volatile S16 *s16ptr; + volatile U16 *u16ptr; + volatile S8 *s8ptr ; + volatile U8 *u8ptr ; +} StructVPtr; + +//! Structure of pointers to constant 64-, 32-, 16- and 8-bit unsigned integers. +typedef struct +{ + const S64 *s64ptr; + const U64 *u64ptr; + const S32 *s32ptr; + const U32 *u32ptr; + const S16 *s16ptr; + const U16 *u16ptr; + const S8 *s8ptr ; + const U8 *u8ptr ; +} StructCPtr; + +//! Structure of pointers to constant volatile 64-, 32-, 16- and 8-bit unsigned integers. +typedef struct +{ + const volatile S64 *s64ptr; + const volatile U64 *u64ptr; + const volatile S32 *s32ptr; + const volatile U32 *u32ptr; + const volatile S16 *s16ptr; + const volatile U16 *u16ptr; + const volatile S8 *s8ptr ; + const volatile U8 *u8ptr ; +} StructCVPtr; + +//! @} + +#endif // __AVR32_ABI_COMPILER__ + + +//_____ M A C R O S ________________________________________________________ + +/*! \name Usual Constants + */ +//! @{ +#define DISABLE 0 +#define ENABLE 1 +#define DISABLED 0 +#define ENABLED 1 +#define OFF 0 +#define ON 1 +#define FALSE 0 +#define TRUE 1 +#ifndef __cplusplus +#if !defined(__bool_true_false_are_defined) +#define false FALSE +#define true TRUE +#endif +#endif +#define KO 0 +#define OK 1 +#define PASS 0 +#define FAIL 1 +#define LOW 0 +#define HIGH 1 +#define CLR 0 +#define SET 1 +//! @} + + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. + +/*! \name Bit-Field Handling + */ +//! @{ + +/*! \brief Reads the bits of a value specified by a given bit-mask. + * + * \param value Value to read bits from. + * \param mask Bit-mask indicating bits to read. + * + * \return Read bits. + */ +#define Rd_bits( value, mask) ((value) & (mask)) + +/*! \brief Writes the bits of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue to write bits to. + * \param mask Bit-mask indicating bits to write. + * \param bits Bits to write. + * + * \return Resulting value with written bits. + */ +#define Wr_bits(lvalue, mask, bits) ((lvalue) = ((lvalue) & ~(mask)) |\ + ((bits ) & (mask))) + +/*! \brief Tests the bits of a value specified by a given bit-mask. + * + * \param value Value of which to test bits. + * \param mask Bit-mask indicating bits to test. + * + * \return \c 1 if at least one of the tested bits is set, else \c 0. + */ +#define Tst_bits( value, mask) (Rd_bits(value, mask) != 0) + +/*! \brief Clears the bits of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue of which to clear bits. + * \param mask Bit-mask indicating bits to clear. + * + * \return Resulting value with cleared bits. + */ +#define Clr_bits(lvalue, mask) ((lvalue) &= ~(mask)) + +/*! \brief Sets the bits of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue of which to set bits. + * \param mask Bit-mask indicating bits to set. + * + * \return Resulting value with set bits. + */ +#define Set_bits(lvalue, mask) ((lvalue) |= (mask)) + +/*! \brief Toggles the bits of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue of which to toggle bits. + * \param mask Bit-mask indicating bits to toggle. + * + * \return Resulting value with toggled bits. + */ +#define Tgl_bits(lvalue, mask) ((lvalue) ^= (mask)) + +/*! \brief Reads the bit-field of a value specified by a given bit-mask. + * + * \param value Value to read a bit-field from. + * \param mask Bit-mask indicating the bit-field to read. + * + * \return Read bit-field. + */ +#define Rd_bitfield( value, mask) (Rd_bits( value, mask) >> ctz(mask)) + +/*! \brief Writes the bit-field of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue to write a bit-field to. + * \param mask Bit-mask indicating the bit-field to write. + * \param bitfield Bit-field to write. + * + * \return Resulting value with written bit-field. + */ +#define Wr_bitfield(lvalue, mask, bitfield) (Wr_bits(lvalue, mask, (U32)(bitfield) << ctz(mask))) + +//! @} + + +/*! \brief This macro is used to test fatal errors. + * + * The macro tests if the expression is FALSE. If it is, a fatal error is + * detected and the application hangs up. + * + * \param expr Expression to evaluate and supposed to be nonzero. + */ +#ifdef _ASSERT_ENABLE_ + #define Assert(expr) \ + {\ + if (!(expr)) while (TRUE);\ + } +#else + #define Assert(expr) +#endif + + +/*! \name Zero-Bit Counting + * + * Under AVR32-GCC, __builtin_clz and __builtin_ctz behave like macros when + * applied to constant expressions (values known at compile time), so they are + * more optimized than the use of the corresponding assembly instructions and + * they can be used as constant expressions e.g. to initialize objects having + * static storage duration, and like the corresponding assembly instructions + * when applied to non-constant expressions (values unknown at compile time), so + * they are more optimized than an assembly periphrasis. Hence, clz and ctz + * ensure a possible and optimized behavior for both constant and non-constant + * expressions. + */ +//! @{ + +/*! \brief Counts the leading zero bits of the given value considered as a 32-bit integer. + * + * \param u Value of which to count the leading zero bits. + * + * \return The count of leading zero bits in \a u. + */ +#if (defined __GNUC__) + #define clz(u) __builtin_clz(u) +#elif (defined __ICCAVR32__) + #define clz(u) __count_leading_zeros(u) +#endif + +/*! \brief Counts the trailing zero bits of the given value considered as a 32-bit integer. + * + * \param u Value of which to count the trailing zero bits. + * + * \return The count of trailing zero bits in \a u. + */ +#if (defined __GNUC__) + #define ctz(u) __builtin_ctz(u) +#elif (defined __ICCAVR32__) + #define ctz(u) __count_trailing_zeros(u) +#endif + +//! @} + + +/*! \name Bit Reversing + */ +//! @{ + +/*! \brief Reverses the bits of \a u8. + * + * \param u8 U8 of which to reverse the bits. + * + * \return Value resulting from \a u8 with reversed bits. + */ +#define bit_reverse8(u8) ((U8)(bit_reverse32((U8)(u8)) >> 24)) + +/*! \brief Reverses the bits of \a u16. + * + * \param u16 U16 of which to reverse the bits. + * + * \return Value resulting from \a u16 with reversed bits. + */ +#define bit_reverse16(u16) ((U16)(bit_reverse32((U16)(u16)) >> 16)) + +/*! \brief Reverses the bits of \a u32. + * + * \param u32 U32 of which to reverse the bits. + * + * \return Value resulting from \a u32 with reversed bits. + */ +#if (defined __GNUC__) + #define bit_reverse32(u32) \ + (\ + {\ + unsigned int __value = (U32)(u32);\ + __asm__ ("brev\t%0" : "+r" (__value) : : "cc");\ + (U32)__value;\ + }\ + ) +#elif (defined __ICCAVR32__) + #define bit_reverse32(u32) ((U32)__bit_reverse((U32)(u32))) +#endif + +/*! \brief Reverses the bits of \a u64. + * + * \param u64 U64 of which to reverse the bits. + * + * \return Value resulting from \a u64 with reversed bits. + */ +#define bit_reverse64(u64) ((U64)(((U64)bit_reverse32((U64)(u64) >> 32)) |\ + ((U64)bit_reverse32((U64)(u64)) << 32))) + +//! @} + + +/*! \name Alignment + */ +//! @{ + +/*! \brief Tests alignment of the number \a val with the \a n boundary. + * + * \param val Input value. + * \param n Boundary. + * + * \return \c 1 if the number \a val is aligned with the \a n boundary, else \c 0. + */ +#define Test_align(val, n ) (!Tst_bits( val, (n) - 1 ) ) + +/*! \brief Gets alignment of the number \a val with respect to the \a n boundary. + * + * \param val Input value. + * \param n Boundary. + * + * \return Alignment of the number \a val with respect to the \a n boundary. + */ +#define Get_align( val, n ) ( Rd_bits( val, (n) - 1 ) ) + +/*! \brief Sets alignment of the lvalue number \a lval to \a alg with respect to the \a n boundary. + * + * \param lval Input/output lvalue. + * \param n Boundary. + * \param alg Alignment. + * + * \return New value of \a lval resulting from its alignment set to \a alg with respect to the \a n boundary. + */ +#define Set_align(lval, n, alg) ( Wr_bits(lval, (n) - 1, alg) ) + +/*! \brief Aligns the number \a val with the upper \a n boundary. + * + * \param val Input value. + * \param n Boundary. + * + * \return Value resulting from the number \a val aligned with the upper \a n boundary. + */ +#define Align_up( val, n ) (((val) + ((n) - 1)) & ~((n) - 1)) + +/*! \brief Aligns the number \a val with the lower \a n boundary. + * + * \param val Input value. + * \param n Boundary. + * + * \return Value resulting from the number \a val aligned with the lower \a n boundary. + */ +#define Align_down(val, n ) ( (val) & ~((n) - 1)) + +//! @} + + +/*! \name Mathematics + * + * The same considerations as for clz and ctz apply here but AVR32-GCC does not + * provide built-in functions to access the assembly instructions abs, min and + * max and it does not produce them by itself in most cases, so two sets of + * macros are defined here: + * - Abs, Min and Max to apply to constant expressions (values known at + * compile time); + * - abs, min and max to apply to non-constant expressions (values unknown at + * compile time). + */ +//! @{ + +/*! \brief Takes the absolute value of \a a. + * + * \param a Input value. + * + * \return Absolute value of \a a. + * + * \note More optimized if only used with values known at compile time. + */ +#define Abs(a) (((a) < 0 ) ? -(a) : (a)) + +/*! \brief Takes the minimal value of \a a and \a b. + * + * \param a Input value. + * \param b Input value. + * + * \return Minimal value of \a a and \a b. + * + * \note More optimized if only used with values known at compile time. + */ +#define Min(a, b) (((a) < (b)) ? (a) : (b)) + +/*! \brief Takes the maximal value of \a a and \a b. + * + * \param a Input value. + * \param b Input value. + * + * \return Maximal value of \a a and \a b. + * + * \note More optimized if only used with values known at compile time. + */ +#define Max(a, b) (((a) > (b)) ? (a) : (b)) + +/*! \brief Takes the absolute value of \a a. + * + * \param a Input value. + * + * \return Absolute value of \a a. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define abs(a) \ + (\ + {\ + int __value = (a);\ + __asm__ ("abs\t%0" : "+r" (__value) : : "cc");\ + __value;\ + }\ + ) +#elif (defined __ICCAVR32__) + #define abs(a) Abs(a) +#endif + +/*! \brief Takes the minimal value of \a a and \a b. + * + * \param a Input value. + * \param b Input value. + * + * \return Minimal value of \a a and \a b. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define min(a, b) \ + (\ + {\ + int __value, __arg_a = (a), __arg_b = (b);\ + __asm__ ("min\t%0, %1, %2" : "=r" (__value) : "r" (__arg_a), "r" (__arg_b));\ + __value;\ + }\ + ) +#elif (defined __ICCAVR32__) + #define min(a, b) __min(a, b) +#endif + +/*! \brief Takes the maximal value of \a a and \a b. + * + * \param a Input value. + * \param b Input value. + * + * \return Maximal value of \a a and \a b. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define max(a, b) \ + (\ + {\ + int __value, __arg_a = (a), __arg_b = (b);\ + __asm__ ("max\t%0, %1, %2" : "=r" (__value) : "r" (__arg_a), "r" (__arg_b));\ + __value;\ + }\ + ) +#elif (defined __ICCAVR32__) + #define max(a, b) __max(a, b) +#endif + +//! @} + + +/*! \brief Calls the routine at address \a addr. + * + * It generates a long call opcode. + * + * For example, `Long_call(0x80000000)' generates a software reset on a UC3 if + * it is invoked from the CPU supervisor mode. + * + * \param addr Address of the routine to call. + * + * \note It may be used as a long jump opcode in some special cases. + */ +#define Long_call(addr) ((*(void (*)(void))(addr))()) + +/*! \brief Resets the CPU by software. + * + * \warning It shall not be called from the CPU application mode. + */ +#if (defined __GNUC__) + #define Reset_CPU() \ + (\ + {\ + __asm__ __volatile__ (\ + "lddpc r9, 3f\n\t"\ + "mfsr r8, %[SR]\n\t"\ + "bfextu r8, r8, %[SR_M_OFFSET], %[SR_M_SIZE]\n\t"\ + "cp.w r8, 0b001\n\t"\ + "breq 0f\n\t"\ + "sub r8, pc, $ - 1f\n\t"\ + "pushm r8-r9\n\t"\ + "rete\n"\ + "0:\n\t"\ + "mtsr %[SR], r9\n"\ + "1:\n\t"\ + "mov r0, 0\n\t"\ + "mov r1, 0\n\t"\ + "mov r2, 0\n\t"\ + "mov r3, 0\n\t"\ + "mov r4, 0\n\t"\ + "mov r5, 0\n\t"\ + "mov r6, 0\n\t"\ + "mov r7, 0\n\t"\ + "mov r8, 0\n\t"\ + "mov r9, 0\n\t"\ + "mov r10, 0\n\t"\ + "mov r11, 0\n\t"\ + "mov r12, 0\n\t"\ + "mov sp, 0\n\t"\ + "stdsp sp[0], sp\n\t"\ + "ldmts sp, sp\n\t"\ + "mov lr, 0\n\t"\ + "lddpc pc, 2f\n\t"\ + ".balign 4\n"\ + "2:\n\t"\ + ".word _start\n"\ + "3:\n\t"\ + ".word %[RESET_SR]"\ + :\ + : [SR] "i" (AVR32_SR),\ + [SR_M_OFFSET] "i" (AVR32_SR_M_OFFSET),\ + [SR_M_SIZE] "i" (AVR32_SR_M_SIZE),\ + [RESET_SR] "i" (AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET))\ + );\ + }\ + ) +#elif (defined __ICCAVR32__) + #define Reset_CPU() \ + {\ + extern void *volatile __program_start;\ + __asm__ __volatile__ (\ + "mov r7, LWRD(__program_start)\n\t"\ + "orh r7, HWRD(__program_start)\n\t"\ + "mov r9, LWRD("ASTRINGZ(AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET))")\n\t"\ + "orh r9, HWRD("ASTRINGZ(AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET))")\n\t"\ + "mfsr r8, "ASTRINGZ(AVR32_SR)"\n\t"\ + "bfextu r8, r8, "ASTRINGZ(AVR32_SR_M_OFFSET)", "ASTRINGZ(AVR32_SR_M_SIZE)"\n\t"\ + "cp.w r8, 001b\n\t"\ + "breq $ + 10\n\t"\ + "sub r8, pc, -12\n\t"\ + "pushm r8-r9\n\t"\ + "rete\n\t"\ + "mtsr "ASTRINGZ(AVR32_SR)", r9\n\t"\ + "mov r0, 0\n\t"\ + "mov r1, 0\n\t"\ + "mov r2, 0\n\t"\ + "mov r3, 0\n\t"\ + "mov r4, 0\n\t"\ + "mov r5, 0\n\t"\ + "mov r6, 0\n\t"\ + "st.w r0[4], r7\n\t"\ + "mov r7, 0\n\t"\ + "mov r8, 0\n\t"\ + "mov r9, 0\n\t"\ + "mov r10, 0\n\t"\ + "mov r11, 0\n\t"\ + "mov r12, 0\n\t"\ + "mov sp, 0\n\t"\ + "stdsp sp[0], sp\n\t"\ + "ldmts sp, sp\n\t"\ + "mov lr, 0\n\t"\ + "ld.w pc, lr[4]"\ + );\ + __program_start;\ + } +#endif + + +/*! \name System Register Access + */ +//! @{ + +/*! \brief Gets the value of the \a sysreg system register. + * + * \param sysreg Address of the system register of which to get the value. + * + * \return Value of the \a sysreg system register. + */ +#if (defined __GNUC__) + #define Get_system_register(sysreg) __builtin_mfsr(sysreg) +#elif (defined __ICCAVR32__) + #define Get_system_register(sysreg) __get_system_register(sysreg) +#endif + +/*! \brief Sets the value of the \a sysreg system register to \a value. + * + * \param sysreg Address of the system register of which to set the value. + * \param value Value to set the \a sysreg system register to. + */ +#if (defined __GNUC__) + #define Set_system_register(sysreg, value) __builtin_mtsr(sysreg, value) +#elif (defined __ICCAVR32__) + #define Set_system_register(sysreg, value) __set_system_register(sysreg, value) +#endif + +//! @} + + +/*! \name CPU Status Register Access + */ +//! @{ + +/*! \brief Tells whether exceptions are globally enabled. + * + * \return \c 1 if exceptions are globally enabled, else \c 0. + */ +#define Is_global_exception_enabled() (!Tst_bits(Get_system_register(AVR32_SR), AVR32_SR_EM_MASK)) + +/*! \brief Disables exceptions globally. + */ +#if (defined __GNUC__) + #define Disable_global_exception() ({__asm__ __volatile__ ("ssrf\t%0" : : "i" (AVR32_SR_EM_OFFSET));}) +#elif (defined __ICCAVR32__) + #define Disable_global_exception() (__set_status_flag(AVR32_SR_EM_OFFSET)) +#endif + +/*! \brief Enables exceptions globally. + */ +#if (defined __GNUC__) + #define Enable_global_exception() ({__asm__ __volatile__ ("csrf\t%0" : : "i" (AVR32_SR_EM_OFFSET));}) +#elif (defined __ICCAVR32__) + #define Enable_global_exception() (__clear_status_flag(AVR32_SR_EM_OFFSET)) +#endif + +/*! \brief Tells whether interrupts are globally enabled. + * + * \return \c 1 if interrupts are globally enabled, else \c 0. + */ +#define Is_global_interrupt_enabled() (!Tst_bits(Get_system_register(AVR32_SR), AVR32_SR_GM_MASK)) + +/*! \brief Disables interrupts globally. + */ +#if (defined __GNUC__) + #define Disable_global_interrupt() ({__asm__ __volatile__ ("ssrf\t%0" : : "i" (AVR32_SR_GM_OFFSET));}) +#elif (defined __ICCAVR32__) + #define Disable_global_interrupt() (__disable_interrupt()) +#endif + +/*! \brief Enables interrupts globally. + */ +#if (defined __GNUC__) + #define Enable_global_interrupt() ({__asm__ __volatile__ ("csrf\t%0" : : "i" (AVR32_SR_GM_OFFSET));}) +#elif (defined __ICCAVR32__) + #define Enable_global_interrupt() (__enable_interrupt()) +#endif + +/*! \brief Tells whether interrupt level \a int_level is enabled. + * + * \param int_level Interrupt level (0 to 3). + * + * \return \c 1 if interrupt level \a int_level is enabled, else \c 0. + */ +#define Is_interrupt_level_enabled(int_level) (!Tst_bits(Get_system_register(AVR32_SR), TPASTE3(AVR32_SR_I, int_level, M_MASK))) + +/*! \brief Disables interrupt level \a int_level. + * + * \param int_level Interrupt level to disable (0 to 3). + */ +#if (defined __GNUC__) + #define Disable_interrupt_level(int_level) ({__asm__ __volatile__ ("ssrf\t%0" : : "i" (TPASTE3(AVR32_SR_I, int_level, M_OFFSET)));}) +#elif (defined __ICCAVR32__) + #define Disable_interrupt_level(int_level) (__set_status_flag(TPASTE3(AVR32_SR_I, int_level, M_OFFSET))) +#endif + +/*! \brief Enables interrupt level \a int_level. + * + * \param int_level Interrupt level to enable (0 to 3). + */ +#if (defined __GNUC__) + #define Enable_interrupt_level(int_level) ({__asm__ __volatile__ ("csrf\t%0" : : "i" (TPASTE3(AVR32_SR_I, int_level, M_OFFSET)));}) +#elif (defined __ICCAVR32__) + #define Enable_interrupt_level(int_level) (__clear_status_flag(TPASTE3(AVR32_SR_I, int_level, M_OFFSET))) +#endif + +/*! \brief Protects subsequent code from interrupts. + */ +#define AVR32_ENTER_CRITICAL_REGION( ) \ + { \ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); \ + Disable_global_interrupt(); // Disable the appropriate interrupts. + +/*! \brief This macro must always be used in conjunction with AVR32_ENTER_CRITICAL_REGION + * so that interrupts are enabled again. + */ +#define AVR32_LEAVE_CRITICAL_REGION( ) \ + if (global_interrupt_enabled) Enable_global_interrupt(); \ + } + +//! @} + + +/*! \name Debug Register Access + */ +//! @{ + +/*! \brief Gets the value of the \a dbgreg debug register. + * + * \param dbgreg Address of the debug register of which to get the value. + * + * \return Value of the \a dbgreg debug register. + */ +#if (defined __GNUC__) + #define Get_debug_register(dbgreg) __builtin_mfdr(dbgreg) +#elif (defined __ICCAVR32__) + #define Get_debug_register(dbgreg) __get_debug_register(dbgreg) +#endif + +/*! \brief Sets the value of the \a dbgreg debug register to \a value. + * + * \param dbgreg Address of the debug register of which to set the value. + * \param value Value to set the \a dbgreg debug register to. + */ +#if (defined __GNUC__) + #define Set_debug_register(dbgreg, value) __builtin_mtdr(dbgreg, value) +#elif (defined __ICCAVR32__) + #define Set_debug_register(dbgreg, value) __set_debug_register(dbgreg, value) +#endif + +//! @} + +#endif // __AVR32_ABI_COMPILER__ + + +//! Boolean evaluating MCU little endianism. +#if ((defined __GNUC__) && (defined __AVR32__)) || ((defined __ICCAVR32__) || (defined __AAVR32__)) + #define LITTLE_ENDIAN_MCU FALSE +#else + #error If you are here, you should check what is exactly the processor you are using... + #define LITTLE_ENDIAN_MCU FALSE +#endif + +// Check that MCU endianism is correctly defined. +#ifndef LITTLE_ENDIAN_MCU + #error YOU MUST define the MCU endianism with LITTLE_ENDIAN_MCU: either FALSE or TRUE +#endif + +//! Boolean evaluating MCU big endianism. +#define BIG_ENDIAN_MCU (!LITTLE_ENDIAN_MCU) + + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. + +/*! \name MCU Endianism Handling + */ +//! @{ + +#if (LITTLE_ENDIAN_MCU==TRUE) + #define LSB(u16) (((U8 *)&(u16))[0]) //!< Least significant byte of \a u16. + #define MSB(u16) (((U8 *)&(u16))[1]) //!< Most significant byte of \a u16. + + #define LSH(u32) (((U16 *)&(u32))[0]) //!< Least significant half-word of \a u32. + #define MSH(u32) (((U16 *)&(u32))[1]) //!< Most significant half-word of \a u32. + #define LSB0W(u32) (((U8 *)&(u32))[0]) //!< Least significant byte of 1st rank of \a u32. + #define LSB1W(u32) (((U8 *)&(u32))[1]) //!< Least significant byte of 2nd rank of \a u32. + #define LSB2W(u32) (((U8 *)&(u32))[2]) //!< Least significant byte of 3rd rank of \a u32. + #define LSB3W(u32) (((U8 *)&(u32))[3]) //!< Least significant byte of 4th rank of \a u32. + #define MSB3W(u32) LSB0W(u32) //!< Most significant byte of 4th rank of \a u32. + #define MSB2W(u32) LSB1W(u32) //!< Most significant byte of 3rd rank of \a u32. + #define MSB1W(u32) LSB2W(u32) //!< Most significant byte of 2nd rank of \a u32. + #define MSB0W(u32) LSB3W(u32) //!< Most significant byte of 1st rank of \a u32. + + #define LSW(u64) (((U32 *)&(u64))[0]) //!< Least significant word of \a u64. + #define MSW(u64) (((U32 *)&(u64))[1]) //!< Most significant word of \a u64. + #define LSH0(u64) (((U16 *)&(u64))[0]) //!< Least significant half-word of 1st rank of \a u64. + #define LSH1(u64) (((U16 *)&(u64))[1]) //!< Least significant half-word of 2nd rank of \a u64. + #define LSH2(u64) (((U16 *)&(u64))[2]) //!< Least significant half-word of 3rd rank of \a u64. + #define LSH3(u64) (((U16 *)&(u64))[3]) //!< Least significant half-word of 4th rank of \a u64. + #define MSH3(u64) LSH0(u64) //!< Most significant half-word of 4th rank of \a u64. + #define MSH2(u64) LSH1(u64) //!< Most significant half-word of 3rd rank of \a u64. + #define MSH1(u64) LSH2(u64) //!< Most significant half-word of 2nd rank of \a u64. + #define MSH0(u64) LSH3(u64) //!< Most significant half-word of 1st rank of \a u64. + #define LSB0D(u64) (((U8 *)&(u64))[0]) //!< Least significant byte of 1st rank of \a u64. + #define LSB1D(u64) (((U8 *)&(u64))[1]) //!< Least significant byte of 2nd rank of \a u64. + #define LSB2D(u64) (((U8 *)&(u64))[2]) //!< Least significant byte of 3rd rank of \a u64. + #define LSB3D(u64) (((U8 *)&(u64))[3]) //!< Least significant byte of 4th rank of \a u64. + #define LSB4D(u64) (((U8 *)&(u64))[4]) //!< Least significant byte of 5th rank of \a u64. + #define LSB5D(u64) (((U8 *)&(u64))[5]) //!< Least significant byte of 6th rank of \a u64. + #define LSB6D(u64) (((U8 *)&(u64))[6]) //!< Least significant byte of 7th rank of \a u64. + #define LSB7D(u64) (((U8 *)&(u64))[7]) //!< Least significant byte of 8th rank of \a u64. + #define MSB7D(u64) LSB0D(u64) //!< Most significant byte of 8th rank of \a u64. + #define MSB6D(u64) LSB1D(u64) //!< Most significant byte of 7th rank of \a u64. + #define MSB5D(u64) LSB2D(u64) //!< Most significant byte of 6th rank of \a u64. + #define MSB4D(u64) LSB3D(u64) //!< Most significant byte of 5th rank of \a u64. + #define MSB3D(u64) LSB4D(u64) //!< Most significant byte of 4th rank of \a u64. + #define MSB2D(u64) LSB5D(u64) //!< Most significant byte of 3rd rank of \a u64. + #define MSB1D(u64) LSB6D(u64) //!< Most significant byte of 2nd rank of \a u64. + #define MSB0D(u64) LSB7D(u64) //!< Most significant byte of 1st rank of \a u64. + +#elif (BIG_ENDIAN_MCU==TRUE) + #define MSB(u16) (((U8 *)&(u16))[0]) //!< Most significant byte of \a u16. + #define LSB(u16) (((U8 *)&(u16))[1]) //!< Least significant byte of \a u16. + + #define MSH(u32) (((U16 *)&(u32))[0]) //!< Most significant half-word of \a u32. + #define LSH(u32) (((U16 *)&(u32))[1]) //!< Least significant half-word of \a u32. + #define MSB0W(u32) (((U8 *)&(u32))[0]) //!< Most significant byte of 1st rank of \a u32. + #define MSB1W(u32) (((U8 *)&(u32))[1]) //!< Most significant byte of 2nd rank of \a u32. + #define MSB2W(u32) (((U8 *)&(u32))[2]) //!< Most significant byte of 3rd rank of \a u32. + #define MSB3W(u32) (((U8 *)&(u32))[3]) //!< Most significant byte of 4th rank of \a u32. + #define LSB3W(u32) MSB0W(u32) //!< Least significant byte of 4th rank of \a u32. + #define LSB2W(u32) MSB1W(u32) //!< Least significant byte of 3rd rank of \a u32. + #define LSB1W(u32) MSB2W(u32) //!< Least significant byte of 2nd rank of \a u32. + #define LSB0W(u32) MSB3W(u32) //!< Least significant byte of 1st rank of \a u32. + + #define MSW(u64) (((U32 *)&(u64))[0]) //!< Most significant word of \a u64. + #define LSW(u64) (((U32 *)&(u64))[1]) //!< Least significant word of \a u64. + #define MSH0(u64) (((U16 *)&(u64))[0]) //!< Most significant half-word of 1st rank of \a u64. + #define MSH1(u64) (((U16 *)&(u64))[1]) //!< Most significant half-word of 2nd rank of \a u64. + #define MSH2(u64) (((U16 *)&(u64))[2]) //!< Most significant half-word of 3rd rank of \a u64. + #define MSH3(u64) (((U16 *)&(u64))[3]) //!< Most significant half-word of 4th rank of \a u64. + #define LSH3(u64) MSH0(u64) //!< Least significant half-word of 4th rank of \a u64. + #define LSH2(u64) MSH1(u64) //!< Least significant half-word of 3rd rank of \a u64. + #define LSH1(u64) MSH2(u64) //!< Least significant half-word of 2nd rank of \a u64. + #define LSH0(u64) MSH3(u64) //!< Least significant half-word of 1st rank of \a u64. + #define MSB0D(u64) (((U8 *)&(u64))[0]) //!< Most significant byte of 1st rank of \a u64. + #define MSB1D(u64) (((U8 *)&(u64))[1]) //!< Most significant byte of 2nd rank of \a u64. + #define MSB2D(u64) (((U8 *)&(u64))[2]) //!< Most significant byte of 3rd rank of \a u64. + #define MSB3D(u64) (((U8 *)&(u64))[3]) //!< Most significant byte of 4th rank of \a u64. + #define MSB4D(u64) (((U8 *)&(u64))[4]) //!< Most significant byte of 5th rank of \a u64. + #define MSB5D(u64) (((U8 *)&(u64))[5]) //!< Most significant byte of 6th rank of \a u64. + #define MSB6D(u64) (((U8 *)&(u64))[6]) //!< Most significant byte of 7th rank of \a u64. + #define MSB7D(u64) (((U8 *)&(u64))[7]) //!< Most significant byte of 8th rank of \a u64. + #define LSB7D(u64) MSB0D(u64) //!< Least significant byte of 8th rank of \a u64. + #define LSB6D(u64) MSB1D(u64) //!< Least significant byte of 7th rank of \a u64. + #define LSB5D(u64) MSB2D(u64) //!< Least significant byte of 6th rank of \a u64. + #define LSB4D(u64) MSB3D(u64) //!< Least significant byte of 5th rank of \a u64. + #define LSB3D(u64) MSB4D(u64) //!< Least significant byte of 4th rank of \a u64. + #define LSB2D(u64) MSB5D(u64) //!< Least significant byte of 3rd rank of \a u64. + #define LSB1D(u64) MSB6D(u64) //!< Least significant byte of 2nd rank of \a u64. + #define LSB0D(u64) MSB7D(u64) //!< Least significant byte of 1st rank of \a u64. + +#else + #error Unknown endianism. +#endif + +//! @} + + +/*! \name Endianism Conversion + * + * The same considerations as for clz and ctz apply here but AVR32-GCC's + * __builtin_bswap_16 and __builtin_bswap_32 do not behave like macros when + * applied to constant expressions, so two sets of macros are defined here: + * - Swap16, Swap32 and Swap64 to apply to constant expressions (values known + * at compile time); + * - swap16, swap32 and swap64 to apply to non-constant expressions (values + * unknown at compile time). + */ +//! @{ + +/*! \brief Toggles the endianism of \a u16 (by swapping its bytes). + * + * \param u16 U16 of which to toggle the endianism. + * + * \return Value resulting from \a u16 with toggled endianism. + * + * \note More optimized if only used with values known at compile time. + */ +#define Swap16(u16) ((U16)(((U16)(u16) >> 8) |\ + ((U16)(u16) << 8))) + +/*! \brief Toggles the endianism of \a u32 (by swapping its bytes). + * + * \param u32 U32 of which to toggle the endianism. + * + * \return Value resulting from \a u32 with toggled endianism. + * + * \note More optimized if only used with values known at compile time. + */ +#define Swap32(u32) ((U32)(((U32)Swap16((U32)(u32) >> 16)) |\ + ((U32)Swap16((U32)(u32)) << 16))) + +/*! \brief Toggles the endianism of \a u64 (by swapping its bytes). + * + * \param u64 U64 of which to toggle the endianism. + * + * \return Value resulting from \a u64 with toggled endianism. + * + * \note More optimized if only used with values known at compile time. + */ +#define Swap64(u64) ((U64)(((U64)Swap32((U64)(u64) >> 32)) |\ + ((U64)Swap32((U64)(u64)) << 32))) + +/*! \brief Toggles the endianism of \a u16 (by swapping its bytes). + * + * \param u16 U16 of which to toggle the endianism. + * + * \return Value resulting from \a u16 with toggled endianism. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define swap16(u16) ((U16)__builtin_bswap_16((U16)(u16))) +#elif (defined __ICCAVR32__) + #define swap16(u16) ((U16)__swap_bytes_in_halfwords((U16)(u16))) +#endif + +/*! \brief Toggles the endianism of \a u32 (by swapping its bytes). + * + * \param u32 U32 of which to toggle the endianism. + * + * \return Value resulting from \a u32 with toggled endianism. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define swap32(u32) ((U32)__builtin_bswap_32((U32)(u32))) +#elif (defined __ICCAVR32__) + #define swap32(u32) ((U32)__swap_bytes((U32)(u32))) +#endif + +/*! \brief Toggles the endianism of \a u64 (by swapping its bytes). + * + * \param u64 U64 of which to toggle the endianism. + * + * \return Value resulting from \a u64 with toggled endianism. + * + * \note More optimized if only used with values unknown at compile time. + */ +#define swap64(u64) ((U64)(((U64)swap32((U64)(u64) >> 32)) |\ + ((U64)swap32((U64)(u64)) << 32))) + +//! @} + + +/*! \name Target Abstraction + */ +//! @{ + +#define _GLOBEXT_ extern //!< extern storage-class specifier. +#define _CONST_TYPE_ const //!< const type qualifier. +#define _MEM_TYPE_SLOW_ //!< Slow memory type. +#define _MEM_TYPE_MEDFAST_ //!< Fairly fast memory type. +#define _MEM_TYPE_FAST_ //!< Fast memory type. + +typedef U8 Byte; //!< 8-bit unsigned integer. + +#define memcmp_ram2ram memcmp //!< Target-specific memcmp of RAM to RAM. +#define memcmp_code2ram memcmp //!< Target-specific memcmp of RAM to NVRAM. +#define memcpy_ram2ram memcpy //!< Target-specific memcpy from RAM to RAM. +#define memcpy_code2ram memcpy //!< Target-specific memcpy from NVRAM to RAM. + +#define LSB0(u32) LSB0W(u32) //!< Least significant byte of 1st rank of \a u32. +#define LSB1(u32) LSB1W(u32) //!< Least significant byte of 2nd rank of \a u32. +#define LSB2(u32) LSB2W(u32) //!< Least significant byte of 3rd rank of \a u32. +#define LSB3(u32) LSB3W(u32) //!< Least significant byte of 4th rank of \a u32. +#define MSB3(u32) MSB3W(u32) //!< Most significant byte of 4th rank of \a u32. +#define MSB2(u32) MSB2W(u32) //!< Most significant byte of 3rd rank of \a u32. +#define MSB1(u32) MSB1W(u32) //!< Most significant byte of 2nd rank of \a u32. +#define MSB0(u32) MSB0W(u32) //!< Most significant byte of 1st rank of \a u32. + +//! @} + +#endif // __AVR32_ABI_COMPILER__ + + +#endif // _COMPILER_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h new file mode 100644 index 0000000..ca516ee --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h @@ -0,0 +1,136 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ****************************************************************** + * + * \brief ISP configuration file. + * + * This file contains the possible external configuration of the ISP. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USB module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ***************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CONF_ISP_H_ +#define _CONF_ISP_H_ + +#include <avr32/io.h> +#include "compiler.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +#define PRODUCT_MANUFACTURER_ID 0x58 +#define PRODUCT_FAMILY_ID 0x20 + +#define ISP_VERSION 0x10 +#define ISP_ID0 0x00 +#define ISP_ID1 0x00 + +#define ISP_CFG1 (*(volatile U32 *)ISP_CFG1_ADDRESS) +#define ISP_CFG1_ADDRESS (AVR32_FLASHC_USER_PAGE_ADDRESS + ISP_CFG1_OFFSET) +#define ISP_CFG1_OFFSET 0x000001FC +#define ISP_CFG1_SIZE 4 + +#define ISP_CFG1_BOOT_KEY1 16 +#define ISP_CFG1_BOOT_KEY1_MASK 0xFFFF0000 +#define ISP_CFG1_BOOT_KEY1_OFFSET 16 +#define ISP_CFG1_BOOT_KEY1_SIZE 16 +#define ISP_CFG1_BOOT_KEY1_VALUE 0xE11E + +#define ISP_CFG1_FORCE 9 +#define ISP_CFG1_FORCE_MASK 0x00000200 +#define ISP_CFG1_FORCE_OFFSET 9 +#define ISP_CFG1_FORCE_SIZE 1 + +#define ISP_CFG1_IO_COND_EN 8 +#define ISP_CFG1_IO_COND_EN_MASK 0x00000100 +#define ISP_CFG1_IO_COND_EN_OFFSET 8 +#define ISP_CFG1_IO_COND_EN_SIZE 1 + +#define ISP_CFG1_CRC8 0 +#define ISP_CFG1_CRC8_MASK 0x000000FF +#define ISP_CFG1_CRC8_OFFSET 0 +#define ISP_CFG1_CRC8_SIZE 8 +#define ISP_CFG1_CRC8_POLYNOMIAL 0x107 + +#define ISP_CFG2 (*(volatile U32 *)ISP_CFG2_ADDRESS) +#define ISP_CFG2_ADDRESS (AVR32_FLASHC_USER_PAGE_ADDRESS + ISP_CFG2_OFFSET) +#define ISP_CFG2_OFFSET 0x000001F8 +#define ISP_CFG2_SIZE 4 + +#define ISP_CFG2_BOOT_KEY 17 +#define ISP_CFG2_BOOT_KEY_MASK 0xFFFE0000 +#define ISP_CFG2_BOOT_KEY_OFFSET 17 +#define ISP_CFG2_BOOT_KEY_SIZE 15 +#define ISP_CFG2_BOOT_KEY_VALUE 0x494F + +#define ISP_CFG2_IO_COND_LEVEL 16 +#define ISP_CFG2_IO_COND_LEVEL_MASK 0x00010000 +#define ISP_CFG2_IO_COND_LEVEL_OFFSET 16 +#define ISP_CFG2_IO_COND_LEVEL_SIZE 1 + +#define ISP_CFG2_IO_COND_PIN 8 +#define ISP_CFG2_IO_COND_PIN_MASK 0x0000FF00 +#define ISP_CFG2_IO_COND_PIN_OFFSET 8 +#define ISP_CFG2_IO_COND_PIN_SIZE 8 + +#define ISP_CFG2_CRC8 0 +#define ISP_CFG2_CRC8_MASK 0x000000FF +#define ISP_CFG2_CRC8_OFFSET 0 +#define ISP_CFG2_CRC8_SIZE 8 +#define ISP_CFG2_CRC8_POLYNOMIAL 0x107 + +#define ISP_KEY (*(volatile U32 *)ISP_KEY_ADDRESS) +#define ISP_KEY_ADDRESS (AVR32_SRAM_ADDRESS + ISP_KEY_OFFSET) +#define ISP_KEY_OFFSET 0x00000000 +#define ISP_KEY_SIZE 4 +#define ISP_KEY_VALUE ('I' << 24 | 'S' << 16 | 'P' << 8 | 'K') + +#ifndef ISP_OSC + #define ISP_OSC 0 +#endif + +#define DFU_FRAME_LENGTH 2048 + +#define PROGRAM_START_ADDRESS (AVR32_FLASH_ADDRESS + PROGRAM_START_OFFSET) +#define PROGRAM_START_OFFSET 0x00002000 + + +#endif // _CONF_ISP_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/parts.h b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/parts.h new file mode 100644 index 0000000..6637b2f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/SOFTWARE_FRAMEWORK/UTILS/parts.h @@ -0,0 +1,203 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Arch file for AVR32. + * + * This file defines common AVR32 UC3 series. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _ARCH_H_ +#define _ARCH_H_ + +// UC3 A Series +#define UC3A0 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3A0128__) || \ + defined (__AVR32_UC3A0256__) || \ + defined (__AVR32_UC3A0512__) || \ + defined (__AVR32_UC3A0512ES__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3A0128__) || \ + defined (__AT32UC3A0256__) || \ + defined (__AT32UC3A0512__) || \ + defined (__AT32UC3A0512ES__))) + +#define UC3A1 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3A1128__) || \ + defined (__AVR32_UC3A1256__) || \ + defined (__AVR32_UC3A1512__) || \ + defined (__AVR32_UC3A1512ES__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3A1128__) || \ + defined (__AT32UC3A1256__) || \ + defined (__AT32UC3A1512__) || \ + defined (__AT32UC3A1512ES__))) + +#define UC3A3 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3A364__) || \ + defined (__AVR32_UC3A364S__) || \ + defined (__AVR32_UC3A3128__) || \ + defined (__AVR32_UC3A3128S__) || \ + defined (__AVR32_UC3A3256__) || \ + defined (__AVR32_UC3A3256S__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3A364__) || \ + defined (__AT32UC3A364S__) || \ + defined (__AT32UC3A3128__) || \ + defined (__AT32UC3A3128S__) || \ + defined (__AT32UC3A3256__) || \ + defined (__AT32UC3A3256S__))) + +#define UC3A (UC3A0 || UC3A1 || UC3A3) + +// UC3 B Series +#define UC3B0 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3B064__) || \ + defined (__AVR32_UC3B0128__) || \ + defined (__AVR32_UC3B0256__) || \ + defined (__AVR32_UC3B0256ES__) || \ + defined (__AVR32_UC3B0512__) || \ + defined (__AVR32_UC3B0512REVC_))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3B064__) || \ + defined (__AT32UC3B0128__) || \ + defined (__AT32UC3B0256__) || \ + defined (__AT32UC3B0256ES__) || \ + defined (__AT32UC3B0512__) || \ + defined (__AT32UC3B0512REVC__))) + +#define UC3B1 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3B164__) || \ + defined (__AVR32_UC3B1128__) || \ + defined (__AVR32_UC3B1256__) || \ + defined (__AVR32_UC3B1256ES__) || \ + defined (__AVR32_UC3B1512__) || \ + defined (__AVR32_UC3B1512ES__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3B164__) || \ + defined (__AT32UC3B1128__) || \ + defined (__AT32UC3B1256__) || \ + defined (__AT32UC3B1256ES__) || \ + defined (__AT32UC3B1512__) || \ + defined (__AT32UC3B1512REVC__))) + +#define UC3B (UC3B0 || UC3B1 ) + +// UC3 C Series +#define UC3C0 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3C064C__) || \ + defined (__AVR32_UC3C0128C__) || \ + defined (__AVR32_UC3C0256C__) || \ + defined (__AVR32_UC3C0512CREVC__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3C064C__) || \ + defined (__AT32UC3C0128C__) || \ + defined (__AT32UC3C0256C__) || \ + defined (__AT32UC3C0512C__))) + +#define UC3C1 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3C164C__) || \ + defined (__AVR32_UC3C1128C__) || \ + defined (__AVR32_UC3C1256C__) || \ + defined (__AVR32_UC3C1512CREVC__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3C164C__) || \ + defined (__AT32UC3C1128C__) || \ + defined (__AT32UC3C1256C__) || \ + defined (__AT32UC3C1512C__))) + +#define UC3C2 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3C264C__) || \ + defined (__AVR32_UC3C2128C__) || \ + defined (__AVR32_UC3C2256C__) || \ + defined (__AVR32_UC3C2512CREVC__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3C264C__) || \ + defined (__AT32UC3C2128C__) || \ + defined (__AT32UC3C2256C__) || \ + defined (__AT32UC3C2512C__))) + +#define UC3C (UC3C0 || UC3C1 || UC3C2) + +// UC3 L Device series +#define UC3L0 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3L016__) || \ + defined (__AVR32_UC3L032__) || \ + defined (__AVR32_UC3L064__) || \ + defined (__AVR32_UC3L064REVB__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3L016__) || \ + defined (__AT32UC3L032__) || \ + defined (__AT32UC3L064__) || \ + defined (__AT32UC3L064REVB__))) + +#define UC3L1 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3L116__) || \ + defined (__AVR32_UC3L132__) || \ + defined (__AVR32_UC3L164__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3L116__) || \ + defined (__AT32UC3L132__) || \ + defined (__AT32UC3L164__))) + +#define UC3L2 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3L216__) || \ + defined (__AVR32_UC3L232__) || \ + defined (__AVR32_UC3L264__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3L216__) || \ + defined (__AT32UC3L232__) || \ + defined (__AT32UC3L264__))) + +#define UC3L3 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3L316__) || \ + defined (__AVR32_UC3L332__) || \ + defined (__AVR32_UC3L364__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3L316__) || \ + defined (__AT32UC3L332__) || \ + defined (__AT32UC3L364__))) + +#define UC3L (UC3L0 || UC3L1 || UC3L2 || UC3L3) + +#endif // _ARCH_H_ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/ard_spi.c b/firmware/libraries/WiFi/extras/wifiHD/src/ard_spi.c new file mode 100644 index 0000000..8bd288b --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/ard_spi.c @@ -0,0 +1,1969 @@ +/* + * ard_spi.c + * + * Created on: May 27, 2010 + * Author: mlf by Metodo2 srl + */ + +//#define _APP_DEBUG_ + +#include <avr32/io.h> +#include "board.h" +#include "gpio.h" +#include "usart.h" +#include "ard_spi.h" +#include "ard_tcp.h" +#include "wifi_spi.h" +#include "wl_cm.h" +#include "ard_utils.h" +#include "intc.h" +#include "spi.h" +#include "debug.h" +#include "delay.h" +#include "eic.h" +#include "timer.h" +#include "lwip/dns.h" +#include <board_init.h> +#include "util.h" +#include "lwip/udp.h" +#include "lwip_setup.h" + +extern const char* fwVersion; + +/*! \name USART Settings + */ +//! @{ +#if BOARD == EVK1105 +# define ARD_USART_SPI (&AVR32_USART1) +# define ARD_USART_SPI_SCK_PIN AVR32_USART1_CLK_0_PIN +# define ARD_USART_SPI_SCK_FUNCTION AVR32_USART1_CLK_0_FUNCTION +# define ARD_USART_SPI_MISO_PIN AVR32_USART1_TXD_0_0_PIN +# define ARD_USART_SPI_MISO_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION +# define ARD_USART_SPI_MOSI_PIN AVR32_USART1_RXD_0_0_PIN +# define ARD_USART_SPI_MOSI_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION +# define ARD_USART_SPI_NSS_PIN AVR32_USART1_CTS_0_0_PIN +# define ARD_USART_SPI_NSS_FUNCTION AVR32_USART1_CTS_0_0_FUNCTION +# define ARD_USART_SPI_IRQ AVR32_USART1_IRQ +#endif +#if BOARD == ARDUINO +# define ARD_SPI (&AVR32_SPI0) +#define EXT_INT_PIN_LINE1 AVR32_EIC_EXTINT_5_PIN +#define EXT_INT_FUNCTION_LINE1 AVR32_EIC_EXTINT_5_FUNCTION +#define EXT_INT_LINE1 EXT_INT5 +#define EXT_INT_IRQ_LINE1 AVR32_EIC_IRQ_5 +#define EXT_INT_NB_LINES 1 +#endif + +/* These defines should be adjusted to match the application */ +/*! \brief CPU core speed in Hz */ +#define CPUHZ 60000000 +/*! \brief Number of bytes in the receive buffer when operating in slave mode */ +#define BUFFERSIZE 64 +/*! \brief A adjustable delay avoiding multiple requests on the switches */ +//#define TIMEOUT 150000 +#define TIMEOUT CPUHZ/200 +/*! \brief Number of bits in each SPI package*/ +#define SPI_BITS 8 +/*! \brief SPI slave speed in Hz */ +#define SPI_SLAVE_SPEED 1000000 + + +#ifndef CMD_MAX_LEN +#define CMD_MAX_LEN 1024 +#endif +#ifndef REPLY_MAX_LEN +#define REPLY_MAX_LEN 1024 +#endif + +#define _BUFFERSIZE 100 + +extern void tcp_debug_print_pcbs(void); +extern bool ifStatus; +extern bool scanNetCompleted; + +static char buf[CMD_MAX_LEN]; +static char reply[REPLY_MAX_LEN]; +static uint16_t cmdCorr = 0; +static uint16_t count = 0; +static uint16_t replyCount = 0; +static cmd_spi_state_t state = SPI_CMD_IDLE; +int receivedChars = 0; +static uint8_t _receiveBuffer[_BUFFERSIZE]; +bool startReply = false; +bool end_write = false; //TODO only for debug + +// Signal indicating a new command is coming from SPI interface +static volatile Bool startRecvCmdSignal = FALSE; + +#define MAX_CMD_NUM 36 +typedef struct sCmd_spi_list{ + cmd_spi_cb_t cb; + char cmd_id; + cmd_spi_rcb_t reply_cb; + void* ctx; + char flags; +}tCmd_spi_list; + +static tCmd_spi_list cmd_spi_list[MAX_CMD_NUM] = { {0} }; + +#ifdef _SPI_STATS_ +typedef struct sStatSpi +{ + int timeoutIntErr; + int timeoutErr; + int txErr; + int rxErr; + int wrongFrame; + int frameDisalign; + int overrideFrame; + int lastCmd; + int lastError; + unsigned long status; +}tStatSpi; + +tStatSpi statSpi = {0}; + +void initStatSpi() +{ + statSpi.lastCmd = 0; + statSpi.lastError = 0; + statSpi.status= 0; + statSpi.txErr = 0; + statSpi.rxErr = 0; + statSpi.timeoutErr= 0; + statSpi.timeoutIntErr= 0; + statSpi.wrongFrame = 0; + statSpi.frameDisalign = 0; + statSpi.overrideFrame = 0; +} + +void printStatSpi() +{ + printk("totSpiCmds\t: 0x%x\n", cmdCorr); + printk("lastCmd \t: 0x%x\n", statSpi.lastCmd); + printk("lastErr \t: 0x%x\n", statSpi.lastError); + printk("spiStatus\t: 0x%X\n", statSpi.status); + printk("spiTxErr \t: 0x%x\n", statSpi.txErr); + printk("spiRxErr \t: 0x%x\n", statSpi.rxErr); + printk("spiTmoErr\t: 0x%x\n", statSpi.timeoutErr); + printk("spiTmoIntErr\t: 0x%x\n", statSpi.timeoutIntErr); + printk("wrongFrame\t: 0x%x\n", statSpi.wrongFrame); + printk("disalFrame\t: 0x%x\n", statSpi.frameDisalign); + printk("overrideFrame\t: 0x%x\n", statSpi.overrideFrame); +} + +cmd_state_t +cmd_statSpi(int argc, char* argv[], void* ctx) +{ + printStatSpi(); + return CMD_DONE; +} + +cmd_state_t +cmd_resetStatSpi(int argc, char* argv[], void* ctx) +{ + initStatSpi(); + return CMD_DONE; +} +#endif + +#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0]) +#define RETURN_ERR(e) return (e==WL_SUCCESS) ? WIFI_SPI_ACK : WIFI_SPI_ERR; +#define RESET_USART_CSR(usart) usart->cr = AVR32_USART_CR_RSTSTA_MASK; + +int result = WL_CONNECT_FAILED; //Store the result of the last operation + +void* mapSockTCP[MAX_SOCK_NUM][MAX_MODE_NUM]; + +//Udp RemoteIp and remote Port +static tRemoteClient remoteClients[MAX_SOCK_NUM] = {{0,0}}; + +void setRemoteClient(uint16_t sock, uint32_t _ipaddr, uint16_t _port) +{ + if (sock < MAX_SOCK_NUM) + { + remoteClients[sock].ipaddr = _ipaddr; + remoteClients[sock].port = _port; + } +} + +tRemoteClient* getRemoteClient(uint16_t sock) +{ + if (sock < MAX_SOCK_NUM) + { + return &remoteClients[sock]; + } + return NULL; +} + +struct netif* ard_netif = NULL; + +// Network list retrived in the last scanNetwork +static struct wl_network_list_t network_list = { 0 }; + +struct ip_addr _hostIpAddr; + +static bool hostIpAddrFound = false; + +void* getTTCP(uint8_t sock, uint8_t mode) +{ + if (sock < MAX_SOCK_NUM) + return mapSockTCP[sock][mode]; + return NULL; +} + +int getSock(void * _ttcp) +{ + if (_ttcp != NULL) + { + int i = 0; + for (; i<MAX_SOCK_NUM; i++) + { + if (_ttcp == mapSockTCP[i][GET_TCP_MODE(_ttcp)]) + return i; + } + } + return -1; +} + +void setMapSockMode(uint8_t sock, void* _ttcp, uint8_t _tcp_mode) +{ + if ((IS_VALID_SOCK(sock))&&(_ttcp!=NULL)) + mapSockTCP[sock][_tcp_mode]=_ttcp; + INFO_TCP("Map [%d, %p, %s]\n", sock, _ttcp, Mode2Str(_tcp_mode)); +} + +void setMapSock(uint8_t sock, void* _ttcp) +{ + setMapSockMode(sock, _ttcp, GET_TCP_MODE(_ttcp)); +} + +void clearMapSockTcp(uint8_t sock, uint8_t mode) +{ + if (sock < MAX_SOCK_NUM) + { + //printk("UnMap [%d, %p]\n", sock, mapSockTCP[sock]); + mapSockTCP[sock][mode] = NULL; + } + +} + +void initMapSockTcp() +{ + memset(mapSockTCP, 0, sizeof(mapSockTCP)); +} + +#if 0 +/** + * Calculate bitrate based on number of bytes transmitted and elapsed time + */ +static void ard_tcp_print_stats(struct ttcp *ttcp) { + uint32_t ms = timer_get_ms() - ttcp->start_time; + uint32_t bytes = ttcp->mode == TTCP_MODE_TRANSMIT ? ttcp->nbuf + * ttcp->buflen : ttcp->recved; + + if (ttcp->verbose) + printk("\n"); + + printk("TTCP [%p]: %d bytes processed, %d.%d KB/s (%s/%s)\n", ttcp, bytes, + bytes / ms, bytes % ms, ProtMode2Str(ttcp->udp), + Mode2Str(ttcp->mode)); +} +#endif + +void showTTCPstatus() +{ + printk("IF status: %s\n", (ifStatus) ? "UP":"DOWN"); + printk("CONN status: %s\n", (_connected) ? "UP":"DOWN"); + + int i = 0; + for (; i<MAX_SOCK_NUM; i++) + { + int ii=0; + for (; ii<MAX_MODE_NUM; ii++) + { + void* p = getTTCP(i, ii); + if (p) + { + ttcp_t* _ttcp = (ttcp_t* )p; + printk("Socket n.:%d(%d) [0x%x] %s %s addr:%s port:%d\n", i, ii, _ttcp, + ProtMode2Str(_ttcp->udp), Mode2Str(_ttcp->mode), ip2str(_ttcp->addr), _ttcp->port); + if (_ttcp->udp == TCP_MODE) + { + int j = 0; + for (; j<MAX_CLIENT_ACCEPTED; ++j) + { + if (_ttcp->tpcb[j]){ + printk("[%d tpcp-%p]-Status:%d\n", j, _ttcp->tpcb[j], _ttcp->tpcb[j]->state); + } + } + + if (_ttcp->lpcb){ + printk("[tlcp-%p]-Status:%d\n", _ttcp->lpcb, _ttcp->lpcb->state); + } + }else{ + if (_ttcp->upcb){ + struct ip_addr loc = _ttcp->upcb->local_ip; + printk("[upcp-%p] flags:0x%x local:%s[0x%x]-%d\n", + _ttcp->upcb, _ttcp->upcb->flags, + ip2str(loc), loc, _ttcp->upcb->local_port); + tRemoteClient remote = {0,0};; + getRemoteData(i, ii, &remote); + struct ip_addr ipaddr = { remote.ipaddr }; + printk("remote:%s(0x%x)-%d\n", ip2str(ipaddr), remote.ipaddr, remote.port); + } + } + //ard_tcp_print_stats(_ttcp); + printk("Data avail:%s\n", isAvailTcpDataByte(i)?"YES":"NO"); + printk("------------------------------\n"); + } + } + } + + tcp_debug_print_pcbs(); +} + +int write_stream(volatile avr32_spi_t *spi, const char *stream, uint16_t len) +{ + uint16_t _len = 0; + unsigned short dummy=0; + + do { + //SIGN1_DN(); + if (spi_write(spi, *stream) == SPI_ERROR_TIMEOUT) + { +#ifdef _SPI_STATS_ + statSpi.timeoutErr++; + statSpi.txErr++; + statSpi.lastError = SPI_ERROR_TIMEOUT; + statSpi.status = spi_getStatus(spi); +#endif + return SPI_ERROR_TIMEOUT; + } + else + { + stream++; + _len++; + spi_read(spi,&dummy); + } + //SIGN1_UP(); + }while (_len < len); + return SPI_OK; +} + +void sendError() +{ + AVAIL_FOR_SPI(); + if (spi_write(&AVR32_SPI, ERR_CMD) != SPI_ERROR_TIMEOUT) + { + //Wait to empty the buffer + while(!spi_writeRegisterEmptyCheck(&AVR32_SPI)); + } + BUSY_FOR_SPI(); + WARN("Send SPI error!\n"); +} + +#define ENABLE_SPI_INT() do { \ + volatile avr32_spi_t *spi = ARD_SPI; \ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); \ + if (global_interrupt_enabled) Disable_global_interrupt(); \ + spi->IER.rdrf = 1; spi->IER.rxbuff = 1; spi->IER.endrx = 1; \ + if (global_interrupt_enabled) Enable_global_interrupt(); \ +}while(0); + +#define DISABLE_SPI_INT() do { \ + volatile avr32_spi_t *spi = ARD_SPI; \ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); \ + if (global_interrupt_enabled) Disable_global_interrupt(); \ + spi->IDR.rdrf = 1; spi->IDR.rxbuff = 1; spi->IDR.endrx = 1; \ + if (global_interrupt_enabled) Enable_global_interrupt(); \ +}while(0); + +#define CLEAR_SPI_INT() do { \ + eic_clear_interrupt_line(&AVR32_EIC, AVR32_SPI0_IRQ); \ + }while(0); + +int spi_add_cmd(char _cmd_id, cmd_spi_cb_t cb, cmd_spi_rcb_t rcb, void* ctx, + char flag) { + U32 i; + for (i = 0; i < ARRAY_SIZE(cmd_spi_list); i++) + if (!cmd_spi_list[i].cb) + break; + + if (i == ARRAY_SIZE(cmd_spi_list)) + { + printk("List Commands full!\n"); + return -1; + } + cmd_spi_list[i].cmd_id = _cmd_id; + cmd_spi_list[i].cb = cb; + cmd_spi_list[i].reply_cb = rcb; + cmd_spi_list[i].ctx = ctx; + cmd_spi_list[i].flags = flag; + return 0; +} + +int set_net_cmd_cb(int numParam, char* buf, void* ctx) { + struct wl_ssid_t ssid; + wl_err_t err = WL_FAILURE; + tParam* param = (tParam*) buf; + + if (param->paramLen < WL_SSID_MAX_LENGTH) { + memcpy(ssid.ssid, &param->param, param->paramLen); + ssid.len = param->paramLen; + ssid.ssid[ssid.len] = 0; + INFO_SPI("SSID:%s\n", ssid.ssid); + //dump(ssid.ssid, ssid.len); + err = wl_cm_set_network(&ssid, NULL); + if (err != 1) + WARN("err=%d\n", err); + } else { + WARN("SSID len out of range"); + } + return err; +} + +extern uint8_t ascii_to_key(char *outp, const char *inp); + +int set_key_cmd_cb(int numParam, char* buf, void* ctx) { + struct wl_ssid_t ssid; + struct wl_mac_addr_t bssid; + uint8_t idx=0, len=0; + char key[13], key_hex[27]; + char keyIdx[2]; + wl_err_t err = WL_SUCCESS; + tParam* params = (tParam*) buf; + + INFO_SPI("%s params=%d\n", __FUNCTION__, numParam); + + // SSID + memset(&ssid, 0, sizeof ssid); + + if (params->paramLen < WL_SSID_MAX_LENGTH) { + memcpy(ssid.ssid, &params->param, params->paramLen); + ssid.len = params->paramLen; + INFO_SPI("%s\n", ssid.ssid); + } else { + //printk("SSID len out of range"); + RETURN_ERR(WL_FAILURE) + } + + params = (tParam*)((char*)buf+PARAM_LEN_SIZE+params->paramLen); + strncpy(keyIdx, (const char*)&params->param, params->paramLen); + keyIdx[(uint8_t)params->paramLen]='\0'; + + idx = (uint8_t)atoi(keyIdx); + // KEY IDX + if ((params->paramLen != 1)||(idx < 0)||(idx > 3)){ + //printk("KEY IDX out of range %d\n", idx); + RETURN_ERR(WL_FAILURE) + } + + params = (tParam*)((char*)params+PARAM_LEN_SIZE+params->paramLen); + strncpy(key_hex, (const char*)&params->param, params->paramLen); + key_hex[(uint8_t)params->paramLen]='\0'; + len = ascii_to_key(key, key_hex); + // KEY + if (( len != 5)&&(len != 13)) + { + //printk("KEY len out of range %d", len); + RETURN_ERR(WL_FAILURE) + } +#if 0 + printk("KEY IDX = %d\n", idx); + dump(key, len); + printk("KEY len %d\n", len); +#endif + memset(&bssid.octet, 0xff, sizeof bssid.octet); + + wl_add_wep_key(idx, len, key, &bssid); + //wl_set_auth_mode(AUTH_MODE_SHARED_KEY); + wl_set_default_wep_key(idx); + + //Connect + err = wl_cm_set_network(&ssid, NULL); + if (err != 1) + WARN("err=%d\n", err); + RETURN_ERR(err) +} + +int set_passphrase_cmd_cb(int numParam, char* buf, void* ctx) { + struct wl_network_t net; + char pass[64]; + wl_err_t err = WL_SUCCESS; + tParam* params = (tParam*) buf; + + INFO_SPI("%s params=%d\n", __FUNCTION__, numParam); + + memset(&net, 0, sizeof net); + memset(net.bssid.octet, 0xFF, sizeof net.bssid.octet); + + net.enc_type = ENC_TYPE_AUTO; + + // SSID + if (params->paramLen < WL_SSID_MAX_LENGTH) { + memcpy(net.ssid.ssid, &params->param, params->paramLen); + net.ssid.len = params->paramLen; + INFO_SPI("%s %d\n", net.ssid.ssid, net.ssid.len); + } else { + //printk("SSID len out of range"); + RETURN_ERR(WL_FAILURE) + } + params = (tParam*)((char*)buf+PARAM_LEN_SIZE+params->paramLen); + // PASSPHRASE + + strncpy(pass, (const char*)&params->param, params->paramLen); + pass[(uint8_t)params->paramLen]='\0'; + INFO_SPI("Pass: %s %d\n", pass, params->paramLen); + + if (wl_set_passphrase(&net, + pass, + params->paramLen, + ENC_TYPE_AUTO, + AUTH_MODE_AUTO) + != WL_SUCCESS) { + WARN("%s : Failed to add passphrase\n", __func__); + + RETURN_ERR(WL_FAILURE) + } + printk("Connect to network..."); + //Connect + err = wl_cm_set_network(&net.ssid, NULL); + if (err != 1) + printk("err=%d\n", err); + else + printk("OK\n"); + RETURN_ERR(err) +} + +int set_ip_config_cmd_cb(int numParam, char* buf, void* ctx) { + struct ip_addr lwip_addr; + struct ctx_server *hs = ctx; + struct net_cfg *ncfg = &(hs->net_cfg); + struct netif *nif = ncfg->netif; + uint8_t parmsToChange=0; + const uint8_t MAX_IP_CONFIG_PARAMS = 3; + + wl_err_t err = WL_SUCCESS; + tParam* params = (tParam*) buf; + + if (params->paramLen == 1) + { + GET_PARAM_NEXT(BYTE, params, _parmsToChange); + parmsToChange = _parmsToChange; + } + else + RETURN_ERR(WL_FAILURE) + + INFO_SPI("%p numParam=%d parmsToChange=%d\n", ctx, numParam, parmsToChange); + + if (parmsToChange <= MAX_IP_CONFIG_PARAMS) + { + int i=0; + for (; i<parmsToChange; ++i) + { + if (params->paramLen == 4) + { + GET_PARAM_NEXT(LONG, params, _ip_addr); + lwip_addr.addr = _ip_addr; + INFO_SPI("%d] nif:%p lwip_addr=0x%x\n", i, nif, lwip_addr.addr); + switch (i) + { + case 0: // local_ip + { + netif_set_ipaddr(nif, &lwip_addr); + break; + } + case 1: // gateway + { + netif_set_gw(nif, &lwip_addr); + break; + } + case 2: // subnet + { + netif_set_netmask(nif, &lwip_addr); + break; + } + } + }else{ + RETURN_ERR(WL_FAILURE) + } + + } + /* Disable DHCP */ + ncfg->dhcp_enabled = STATIC_IP_CONFIG; + }else + RETURN_ERR(WL_FAILURE) + + RETURN_ERR(err) +} + +int set_dns_config_cmd_cb(int numParam, char* buf, void* ctx) { + struct ip_addr lwip_addr; + struct ctx_server *hs = ctx; + struct net_cfg *ncfg = &(hs->net_cfg); + struct netif *nif = ncfg->netif; + uint8_t parmsToChange=0; + const uint8_t MAX_DNS_CONFIG_PARAMS = 2; + + wl_err_t err = WL_SUCCESS; + tParam* params = (tParam*) buf; + + if (params->paramLen == 1) + { + GET_PARAM_NEXT(BYTE, params, _parmsToChange); + parmsToChange = _parmsToChange; + } + else + RETURN_ERR(WL_FAILURE) + + INFO_SPI("%p numParam=%d parmsToChange=%d\n", ctx, numParam, parmsToChange); + + if (parmsToChange <= MAX_DNS_CONFIG_PARAMS) + { + int i=0; + for (; i<parmsToChange; ++i) + { + if (params->paramLen == 4) + { + GET_PARAM_NEXT(LONG, params, _ip_addr); + lwip_addr.addr = _ip_addr; + INFO_SPI("%d] nif:%p lwip_addr=0x%x\n", i, nif, lwip_addr.addr); + dns_setserver(i, &lwip_addr); + }else{ + RETURN_ERR(WL_FAILURE) + } + } + /* Disable DHCP */ + ncfg->dhcp_enabled = STATIC_IP_CONFIG; + }else + RETURN_ERR(WL_FAILURE) + + RETURN_ERR(err) +} + + + +void set_result(wl_status_t _status) +{ + result = _status; +} + + +void set_result_cmd(int err) +{ + wl_err_t _err = (wl_err_t)err; + switch (_err) + { + case WL_SUCCESS: + set_result(WL_CONNECTED); + ERROR_LED_OFF(); + break; + default: + case WL_OOM: + case WL_INVALID_LENGTH: + case WL_NOT_SUPPORTED: + case WL_ABSORBED: + case WL_RESOURCES: + case WL_BUSY: + case WL_RETRY: + case WL_FAILURE: + set_result(WL_CONNECT_FAILED); + ERROR_LED_ON(); + break; + } + INFO_SPI("%s %d\n", __FUNCTION__, result); +} + + + +extern int ttcp_start(struct ip_addr addr, uint16_t port, void *opaque, + void *done_cb, int mode, uint16_t nbuf, uint16_t buflen, int udp, int verbose); + + +int start_server_tcp(uint16_t port, uint8_t sock, uint8_t protMode) +{ + struct ip_addr addr = { 0 }; + uint16_t buflen = 1024; + uint16_t nbuf = 1024; + wl_err_t err = WL_FAILURE; + +#ifdef _APP_DEBUG_ + int verbose = 1; +#else + int verbose = 0; +#endif + int udp = protMode; + int mode = 1; //RECEIVE + void* _ttcp = NULL; + + if (sock >= MAX_SOCK_NUM) + return WIFI_SPI_ERR; + + if (_connected) + { + WARN("Still connected...wait\n"); + return WIFI_SPI_ERR; + } + + if (!ifStatus) + { + WARN_VER("IF down...wait\n"); + return WIFI_SPI_ERR; + } + + + if (ard_tcp_start(addr, port, NULL, NULL, mode, nbuf, buflen, udp, verbose, sock, &_ttcp) == 0) + { + INFO_SPI("Start Server %s [%d, %d] OK!\n", ProtMode2Str(protMode), port, sock); + setMapSock(sock, _ttcp); + err = WL_SUCCESS; + }else{ + + WARN("Start Server %s [%d, %d] FAILED!\n", ProtMode2Str(protMode), port, sock); + clearMapSockTcp(sock, TTCP_MODE_RECEIVE); + } + return err; +} + + +int start_server_tcp_cmd_cb(int numParam, char* buf, void* ctx) { + wl_err_t err = WL_FAILURE; + tParam* params = (tParam*) buf; + if (numParam == 3) + { + GET_PARAM_NEXT(INT, params, port); + GET_PARAM_NEXT(BYTE, params, sock); + GET_PARAM_NEXT(BYTE, params, protMode); + err = start_server_tcp(port, sock, protMode); + } + return (err==WL_SUCCESS) ? WIFI_SPI_ACK : WIFI_SPI_ERR; +} + +int start_client_tcp(uint32_t _addr, uint16_t port, uint8_t sock, uint8_t protMode) +{ + uint16_t buflen = 1024; + uint16_t nbuf = 1024; + wl_err_t err = WL_FAILURE; + struct ip_addr addr = { .addr = _addr}; + + INFO_SPI("Addr:0x%x, port:%d, sock:%d, prot:%s\n", _addr, port, sock, ProtMode2Str(protMode)); + + #ifdef _APP_DEBUG_ + int verbose = 1; + #else + int verbose = 0; + #endif + + int udp = protMode; + int mode = 0; //TRANSMIT + void* _ttcp = NULL; + + if (sock >= MAX_SOCK_NUM) + return WIFI_SPI_ERR; + + // Check previous connection + _ttcp = getTTCP(sock, TTCP_MODE_TRANSMIT); + if (_ttcp != NULL) + { + WARN("Previous client %p not stopped !\n", _ttcp); + ard_tcp_stop(_ttcp); + clearMapSockTcp(sock, TTCP_MODE_TRANSMIT); + } + + if (ard_tcp_start(addr, port, NULL, NULL, mode, nbuf, buflen, udp, verbose, sock, &_ttcp) == 0) + { + INFO_SPI("Start Client %s %p [0x%x, %d, %d] OK!\n", ProtMode2Str(protMode), + _ttcp, addr, port, sock); + setMapSock(sock, _ttcp); + err = WL_SUCCESS; + }else{ + INFO_SPI("Start Client %s %p [0x%x, %d, %d] FAILED!\n", ProtMode2Str(protMode), + _ttcp, addr, port, sock); + clearMapSockTcp(sock, TTCP_MODE_TRANSMIT); + } + return err; +} + + +int start_client_tcp_cmd_cb(int numParam, char* buf, void* ctx) { + wl_err_t err = WL_FAILURE; + tParam* params = (tParam*) buf; + if (numParam == 4) + { + GET_PARAM_NEXT(LONG, params, _addr); + GET_PARAM_NEXT(INT, params, port); + GET_PARAM_NEXT(BYTE, params, sock); + GET_PARAM_NEXT(BYTE, params, protMode); + err = start_client_tcp(_addr, port, sock, protMode); + } + return (err==WL_SUCCESS) ? WIFI_SPI_ACK : WIFI_SPI_ERR; +} + +int stop_client_tcp_cmd_cb(int numParam, char* buf, void* ctx) { + wl_err_t err = WL_FAILURE; + tParam* params = (tParam*) buf; + void* _ttcp = NULL; + + if (numParam == 1) + { + GET_PARAM_NEXT(BYTE, params, sock); + + INFO_SPI("Stop client sock:%d\n", sock); + + if (sock < MAX_SOCK_NUM) + { + _ttcp = getTTCP(sock, TTCP_MODE_TRANSMIT); + ard_tcp_stop(_ttcp); + err = WL_SUCCESS; + } + } + return (err==WL_SUCCESS) ? WIFI_SPI_ACK : WIFI_SPI_ERR; +} + +int insert_data_cmd_cb(int numParam, char* buf, void* ctx) { + + tDataParam* msg = (tDataParam*) buf; + if ((numParam == 2)&&(msg->dataLen == 1)) + { + GET_DATA_BYTE(sock, buf+2); + GET_DATA_INT(len, buf+3); + //printk("tcp:%p buf:%p len:%d\n", getTTCP(sock), (uint8_t*)(buf+5), len); + insertBuf(sock, (uint8_t*)(buf+5), len); + } + return WIFI_SPI_ACK; +} + +int send_data_udp_cmd_cb(int numParam, char* buf, void* ctx) { + wl_err_t err = WL_FAILURE; + + tParam* params = (tParam*) buf; + if ((numParam == 1)&&(params->paramLen == 1)) + { + GET_PARAM_NEXT(BYTE, params, sock); + uint16_t len = 0; + uint8_t* p = mergeBuf(sock, NULL, &len); + err = sendUdpData(getTTCP(sock, TTCP_MODE_TRANSMIT), p, len); + clearBuf(sock); + free(p); + } + + return (err==WL_SUCCESS) ? WIFI_SPI_ACK : WIFI_SPI_ERR; +} + + +int send_data_tcp_cmd_cb(int numParam, char* buf, void* ctx) { + wl_err_t err = WL_FAILURE; + DATA_LED_ON(); + tDataParam* msg = (tDataParam*) buf; + if ((numParam == 2)&&(msg->dataLen == 1)) + { + GET_DATA_BYTE(sock, buf+2); + GET_DATA_INT(len, buf+3); + //printk("tcp:%p buf:%p len:%d\n", getTTCP(sock), (uint8_t*)(buf+5), len); + err = sendTcpData(getTTCP(sock, TTCP_MODE_TRANSMIT), (uint8_t*)(buf+5), len); + } + DATA_LED_OFF(); + return (err==WL_SUCCESS) ? WIFI_SPI_ACK : WIFI_SPI_ERR; +} + +int ack_cmd_cb(int numParam, char* buf, void* ctx) { + return WIFI_SPI_ACK; +} + +int get_result_cmd_cb(int numParam, char* buf, void* ctx) { + INFO_SPI("ifStatus:%d result:%d\n", ifStatus, result); + return WIFI_SPI_ACK; +} + +int disconnect_cmd_cb(int numParam, char* buf, void* ctx) +{ + return ((wl_disconnect()==WL_SUCCESS)? WIFI_SPI_ACK : WIFI_SPI_ERR); +} + + +cmd_spi_state_t get_reply_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CREATE_HEADER_REPLY(reply, recv, 1); + + reply[3] = 1; // paramLen + if (ctx != NULL) { + reply[4] = (*(uint8_t*)ctx); //param + } else { + reply[4] = (ifStatus)?WL_CONNECTED:result; //param + } + + END_HEADER_REPLY(reply, 5, *count); + + //INFO_SPI("result:%d\n", result); + return SPI_CMD_DONE; +} + +cmd_spi_state_t ack_reply_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CREATE_HEADER_REPLY(reply, recv, 1); + + reply[3] = 1; // paramLen + if (ctx != NULL) { + reply[4] = (*(uint8_t*) ctx != 1) ? WIFI_SPI_ERR : WIFI_SPI_ACK; //param + } else { + reply[4] = WIFI_SPI_ACK; //param + } + + END_HEADER_REPLY(reply, 5, *count); + + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_reply_ipaddr_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, 3); + + PUT_LONG_IN_BYTE_NO(ard_netif->ip_addr.addr, reply, 3); + PUT_LONG_IN_BYTE_NO(ard_netif->netmask.addr, reply, 8); + PUT_LONG_IN_BYTE_NO(ard_netif->gw.addr, reply, 13); + + END_HEADER_REPLY(reply, 18, *count); + + return SPI_CMD_DONE; +} + +void getRemoteData(uint8_t sock, uint8_t mode, tRemoteClient* remoteData) +{ + if ((sock>=0) && (sock<MAX_SOCK_NUM)) + { + void* p = getTTCP(sock, mode); + if (p) + { + ttcp_t* _ttcp = (ttcp_t* )p; + if ((_ttcp->udp == UDP_MODE)) + { + if (_ttcp->mode == TTCP_MODE_RECEIVE) + { + remoteData->ipaddr = getRemoteClient(sock)->ipaddr; + remoteData->port = getRemoteClient(sock)->port; + }else{ + remoteData->ipaddr = (_ttcp->upcb) ? _ttcp->upcb->remote_ip.addr : 0; + remoteData->port = (_ttcp->upcb) ? _ttcp->upcb->remote_port : 0; + } + } + } + } +} + + +cmd_spi_state_t get_reply_remote_data_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CHECK_ARD_NETIF(recv, reply, count); + DUMP_SPI_CMD(recv); + + GET_DATA_BYTE(sock, recv+4); + + CREATE_HEADER_REPLY(reply, recv, 2); + tRemoteClient remoteData = {0,0}; + //TODO pass the mode + getRemoteData(sock, TTCP_MODE_RECEIVE, &remoteData); + + PUT_LONG_IN_BYTE_NO(remoteData.ipaddr, reply, 3); + PUT_DATA_INT(remoteData.port, reply, 8); + + END_HEADER_REPLY(reply, 11, *count); + + return SPI_CMD_DONE; +} + + +void foundHostByName(const char *name, struct ip_addr *ipaddr, void *callback_arg) +{ + _hostIpAddr.addr = (ipaddr)?ipaddr->addr:0xffffffff; + INFO_SPI("foundHostByName: Found Host: name=%s ip=0x%x\n", name, _hostIpAddr.addr); + hostIpAddrFound = true; +} + +int req_reply_host_by_name_cb(int numParam, char* buf, void* ctx) { + + char hostName[DNS_MAX_NAME_LENGTH]; + tParam* params = (tParam*) buf; + + // HostName + if (params->paramLen < DNS_MAX_NAME_LENGTH) { + memcpy(hostName, &params->param, params->paramLen); + hostName[params->paramLen]='\0'; + } else { + RETURN_ERR(WL_FAILURE) + } + + INFO_SPI("Looking for Host: name=%s\n", hostName); + _hostIpAddr.addr = 0; + hostIpAddrFound = false; + err_t err = dns_gethostbyname(hostName, &_hostIpAddr, foundHostByName, NULL); + if (err == ERR_OK) + { + INFO_SPI("Found Host: name=%s ip=0x%x\n", hostName, _hostIpAddr.addr); + hostIpAddrFound = true; + RETURN_ERR(WL_SUCCESS) + } + RETURN_ERR(WL_FAILURE) +} + +cmd_spi_state_t get_reply_host_by_name_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + u32_t addr = (hostIpAddrFound)?_hostIpAddr.addr : 0xffffffff; + INFO_SPI("Searching for Host: ip=0x%x found=%d\n", addr, hostIpAddrFound); + + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, 1); + + PUT_LONG_IN_BYTE_NO(addr, reply, 3); + + END_HEADER_REPLY(reply, 8, *count); + + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_reply_mac_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, 1); + + reply[3] = WL_MAC_ADDR_LENGTH; + uint8_t mac[WL_MAC_ADDR_LENGTH]; + if (wl_get_mac_addr(mac) != WL_SUCCESS) { + RETURN_ERR_REPLY(recv, reply, count); + } + //rotate the byte order + reply[4]=mac[5]; + reply[5]=mac[4]; + reply[6]=mac[3]; + reply[7]=mac[2]; + reply[8]=mac[1]; + reply[9]=mac[0]; + END_HEADER_REPLY(reply, 10, *count); + + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_reply_curr_net_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + uint32_t type = (uint32_t)ctx; + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, 1); + + struct wl_network_t* net = wl_get_current_network(); + uint8_t len = 0; + if (net != NULL) + { + switch (type) + { + default: + case GET_CURR_SSID_CMD: + { + len = net->ssid.len; + PUT_BUFDATA_BYTE(net->ssid.ssid, len, reply, 3); + break; + } + case GET_CURR_BSSID_CMD: + { + len = WL_MAC_ADDR_LENGTH; ; + PUT_BUFDATA_BYTE_REV(net->bssid.octet, len, reply, 3); + break; + } + case GET_CURR_RSSI_CMD: + { + len=sizeof(net->rssi); + PUT_LONG_IN_BYTE_HO(net->rssi, reply, 3); + //printk("RSSI:%d", net->rssi); + break; + } + case GET_CURR_ENCT_CMD: + { + len = sizeof(net->enc_type); + PUT_DATA_BYTE(net->enc_type, reply, 3); + //printk("ENCT:%d", net->enc_type); + break; + } + } + }else{ + PUT_DATA_BYTE(0, reply, 3); + } + + END_HEADER_REPLY(reply, 3+len+1, *count); + + //dump(reply, *count); + + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_reply_idx_net_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + uint32_t type = (uint32_t)ctx; + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, 1); + + DUMP_SPI_CMD(recv); + + GET_DATA_BYTE(idx, recv+4); + + if (idx >= WL_NETWORKS_LIST_MAXNUM) + { + WARN("Index out of range: %d\n", idx); + return SPI_CMD_DONE; + } + uint8_t len = 0; + switch (type) + { + default: + case GET_IDX_SSID_CMD: + { + len = network_list.net[idx]->ssid.len; + PUT_BUFDATA_BYTE(network_list.net[idx]->ssid.ssid, len, reply, 3); + INFO_UTIL("SSID:%s\n", network_list.net[idx]->ssid.ssid); + break; + } + case GET_IDX_RSSI_CMD: + { + len = 4; + PUT_LONG_IN_BYTE_HO(network_list.net[idx]->rssi, reply, 3); + INFO_UTIL("RSSI:%d\n", network_list.net[idx]->rssi); + break; + } + case GET_IDX_ENCT_CMD: + { + len = 1; + PUT_DATA_BYTE(network_list.net[idx]->enc_type, reply, 3); + INFO_UTIL("ENCT:%d\n", network_list.net[idx]->enc_type); + break; + } + } + + + END_HEADER_REPLY(reply, 3+len+1, *count); + + DUMP(reply, *count); + + return SPI_CMD_DONE; +} + +static void copy_network_list(struct wl_network_list_t *dst, + struct wl_network_list_t *src) +{ + int i; + for (i = 0; i < dst->cnt; i++) + free(dst->net[i]); + free(dst->net); + + dst->cnt = 0; + + if (src->cnt == 0) + return; + dst->net = calloc(1, src->cnt * sizeof(struct wl_network_t *)); + if (dst->net == NULL) { + printk("could not allocate all gui net array\n"); + return; + } + + for (i = 0; i < src->cnt; i++) { + struct wl_network_t *net = src->net[i]; + dst->net[i] = malloc(sizeof(*net)); + if (dst->net[i] == NULL) { + printk("could not allocate all gui nets\n"); + return; + } + + memcpy(dst->net[i], net, sizeof(*net)); + dst->cnt++; + } +} + +int start_scan_net_cmd_cb(int numParam, char* buf, void* ctx) { + wl_err_t err = WL_FAILURE; + + INFO_SPI("Start Network Scan %d\n", numParam); + if (scanNetCompleted){ + scanNetCompleted = false; + err = wl_scan(); + if (err != WL_SUCCESS) + { + // May be busy scanning already, no fatal error + WARN("err=%d\n", err); + err = WL_SUCCESS; + } + } + return err; +} + +cmd_spi_state_t get_reply_scan_networks_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + const int8_t SCAN_NOT_YET_COMPLETED = 0; + + if (!scanNetCompleted) + { + //return empty list with an error to retry + CREATE_HEADER_REPLY(reply, recv, SCAN_NOT_YET_COMPLETED); + END_HEADER_REPLY(reply, 3, *count); + INFO_SPI("Scan not completed!\n"); + return SPI_CMD_DONE; + } + + int network_cnt = 0; + struct wl_network_list_t* wl_network_list; + + wl_get_network_list(&wl_network_list); + if (wl_network_list->cnt == 0) + { + CREATE_HEADER_REPLY(reply, recv, 0); + END_HEADER_REPLY(reply, 3, *count); + INFO_SPI("Networks not found!\n"); + return SPI_CMD_DONE; + } + + if (wl_network_list->cnt > WL_NETWORKS_LIST_MAXNUM) + { + network_cnt = WL_NETWORKS_LIST_MAXNUM ; + } + else{ + network_cnt = wl_network_list->cnt ; + } + + copy_network_list(&network_list, wl_network_list); + CREATE_HEADER_REPLY(reply, recv, network_cnt); + + uint8_t start = 3; + int ii = 0; + for (; ii < network_cnt; ii++) + { + uint8_t len = network_list.net[ii]->ssid.len+1; + network_list.net[ii]->ssid.ssid[network_list.net[ii]->ssid.len]=0; + PUT_BUFDATA_BYTE(network_list.net[ii]->ssid.ssid, len, reply, start); + start += len+1; + INFO_SPI("%d - %s [%d]- %d - %d - 0x%x\n",ii, network_list.net[ii]->ssid.ssid, + len, network_list.net[ii]->enc_type, + network_list.net[ii]->rssi, network_list.net[ii]->bssid); + } + + END_HEADER_REPLY(reply, start, *count); + //DUMP(reply, *count); + + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_state_tcp_cmd_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, PARAM_NUMS_1); + + uint8_t _state = CLOSED; + if ((recv[3]==1)&&(recv[4]>=0)&&(recv[4]<MAX_SOCK_NUM)) + { + _state = getStateTcp(getTTCP((uint8_t)recv[4], TTCP_MODE_RECEIVE), 0); + } + PUT_DATA_BYTE(_state, reply, 3); + END_HEADER_REPLY(reply, 5, *count); + INFO_SPI_POLL("state:%d\n", _state); + + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_client_state_tcp_cmd_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, PARAM_NUMS_1); + + uint8_t _state = CLOSED; + uint8_t _sock = recv[4]; + if ((recv[3]==1)&&(_sock>=0)&&(_sock<MAX_SOCK_NUM)) + { + void * p= getTTCP(_sock, TTCP_MODE_TRANSMIT); + if (p!=NULL) + { + _state = getStateTcp(p, 1); + }else{ + WARN_VER("TTCP not found for sock:%d\n", _sock); + } + } + PUT_DATA_BYTE(_state, reply, 3); + END_HEADER_REPLY(reply, 5, *count); + INFO_SPI_POLL("sock:%d state:%d\n", _sock, _state); + + return SPI_CMD_DONE; +} + +cmd_spi_state_t avail_data_tcp_cmd_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, PARAM_NUMS_1); + uint16_t dataAvail = 0; + if ((recv[3]==1)&&(recv[4]>=0)&&(recv[4]<MAX_SOCK_NUM)) + { + dataAvail = getAvailTcpDataByte((uint8_t)recv[4]); + } + PUT_DATA_INT_NO(dataAvail, reply, 3); + END_HEADER_REPLY(reply, 6, *count); + + INFO_SPI_POLL("dataAvail:%d\n", dataAvail); + + return SPI_CMD_DONE; +} + +cmd_spi_state_t test_cmd_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + static int counter = 0; + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, PARAM_NUMS_1); + PUT_DATA_BYTE(++counter, reply, 3); + END_HEADER_REPLY(reply, 5, *count); + return SPI_CMD_DONE; +} + +cmd_spi_state_t data_sent_tcp_cmd_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CHECK_ARD_NETIF(recv, reply, count); + SIGN2_DN(); + CREATE_HEADER_REPLY(reply, recv, PARAM_NUMS_1); + uint8_t dataSent = 0; + if ((recv[3]==1)&&(recv[4]>=0)&&(recv[4]<MAX_SOCK_NUM)) + { + dataSent = isDataSent(getTTCP((uint8_t)recv[4], TTCP_MODE_TRANSMIT)); + } + PUT_DATA_BYTE(dataSent, reply, 3); + END_HEADER_REPLY(reply, 5, *count); + SIGN2_UP(); + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_data_tcp_cmd_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + uint8_t data; + + CHECK_ARD_NETIF(recv, reply, count); + + tParam* params = (tParam*)&recv[3]; + + GET_PARAM_NEXT(BYTE, params, _sock); + GET_PARAM_NEXT(INT, params, _peek); + + if ((recv[3]==1)&&(recv[4]>=0)&&(recv[4]<MAX_SOCK_NUM)) + { + SIGN2_DN(); + + if (getTcpDataByte((uint8_t)recv[4], &data, _peek)) + { + CREATE_HEADER_REPLY(reply, recv, PARAM_NUMS_1); + PUT_DATA_BYTE(data, reply, 3); + END_HEADER_REPLY(reply, 5, *count); + }else{ + CREATE_HEADER_REPLY(reply, recv, PARAM_NUMS_0); + END_HEADER_REPLY(reply, 3, *count); + } + SIGN2_UP(); + } + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_databuf_tcp_cmd_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + uint8_t* data; + uint16_t len; + + CHECK_ARD_NETIF(recv, reply, count); + + GET_DATA_BYTE(sock, buf+5); + if ((sock>=0)&&(sock<MAX_SOCK_NUM)) + { + if (getTcpData((uint8_t)sock, (void**)&data, &len)) + { + CREATE_HEADER_REPLY(reply, recv, PARAM_NUMS_1); + PUT_BUFDATA_INT(data, len, reply, 3); + END_HEADER_REPLY(reply, 3+len+2, *count); + freeTcpData((uint8_t)sock); + }else{ + CREATE_HEADER_REPLY(reply, recv, PARAM_NUMS_0); + END_HEADER_REPLY(reply, 3, *count); + } + } + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_firmware_version_cmd_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, 1); + + uint8_t len = strlen(fwVersion); + + PUT_BUFDATA_BYTE(fwVersion, len, reply, 3); + + END_HEADER_REPLY(reply, 3+len+1, *count); + + return SPI_CMD_DONE; +} + +cmd_spi_state_t get_test_cmd_cb(char* recv, char* reply, void* ctx, uint16_t* count) { + + uint8_t buffer[255] = {0}; + + CHECK_ARD_NETIF(recv, reply, count); + + CREATE_HEADER_REPLY(reply, recv, 1); + uint8_t len = 0; + if ((recv[3]==1)&&(recv[4]>=0)&&(recv[4]<0xFF)) + { + len = recv[4]; + int i= 0; + for (; i<len; ++i) buffer[i]=i; + PUT_BUFDATA_BYTE(buffer, len, reply, 3); + }else{ + len = strlen(fwVersion); + PUT_BUFDATA_BYTE(fwVersion, len, reply, 3); + } + END_HEADER_REPLY(reply, 3+len+1, *count); + + return SPI_CMD_DONE; +} + +int sendReply(int cmdIdx, char* recv, char* reply, void* resultCmd) +{ + uint16_t _count = 0; + int _result = SPI_OK; + + cmd_spi_list[cmdIdx].reply_cb(recv, reply, resultCmd, &_count); + state = SPI_CMD_REPLING; + + AVAIL_FOR_SPI(); + _result = write_stream(ARD_SPI, &reply[0], _count); +#ifdef _SPI_STATS_ + if ( _result != SPI_OK) + { + statSpi.lastCmd = cmd_spi_list[cmdIdx].cmd_id; + } +#endif + BUSY_FOR_SPI(); + + IF_SPI_DUMP(printk("==>")); + DUMP_SPI(recv, count); + IF_SPI_DUMP(printk("<==")); + DUMP_SPI(reply, _count); + replyCount = _count; + return _result; +} + +unsigned char* getStartCmdSeq(unsigned char* _recv, int len, int *offset) +{ + int i = 0; + *offset = 0; + //DEB_PIN_UP(); + for (; i<len; ++i) + { + if (_recv[i]==START_CMD) + { + if (i!=0) + { + DEB_PIN_TRIGGER(); + IF_WARN_VER(dump((char*)_recv, (uint16_t)len)); + WARN("%d] Disall. %d/%d cmd:%d\n", cmdCorr, i, len,_recv[i+1]); + } + *offset = i; + return &_recv[i]; + } + } + //DEB_PIN_DN(); + WARN("%d] Disall. %d\n", cmdCorr, i); + + return NULL; +} + +inline bool spiMsg8(uint8_t cmd) +{ + return ((cmd & DATA_FLAG)==0); +} + +int call_reply_cb(char* recv, char* reply) { + +// // check the start of message +// //TODO CHECK if also the ,en must be resize +// //char* recv = (char*)getStartCmdSeq((unsigned char*)_recv, &count); +// char* recv = (char*)getStartCmdSeq((unsigned char*)_recv, count); +// if (recv == NULL) +// return REPLY_ERR_MSG; + + unsigned char cmdId = (unsigned char) recv[1]; + uint8_t _result = REPLY_NO_ERR; + U32 i; + for (i = 0; i < ARRAY_SIZE(cmd_spi_list); i++) { + if (cmd_spi_list[i].cmd_id == cmdId) { + + if (cmd_spi_list[i].flags == CMD_SET_FLAG) { + //Send Reply for SET commands + if (sendReply(i, recv, reply, cmd_spi_list[i].ctx) != SPI_OK) + return REPLY_ERR_SET; + if (spiMsg8(cmdId)) + { + tSpiMsg* spiMsg = (tSpiMsg*) recv; + _result = cmd_spi_list[i].cb(spiMsg->nParam, + (char*) &(spiMsg->params[0]), cmd_spi_list[i].ctx); + }else + { + tSpiMsgData* spiMsg = (tSpiMsgData*) recv; + _result = cmd_spi_list[i].cb(spiMsg->nParam, + (char*) &(spiMsg->params[0]), cmd_spi_list[i].ctx); + } + + if (_result != WIFI_SPI_ACK) + return REPLY_ERR_CMD; + else + return REPLY_NO_ERR; + }else{ + if (spiMsg8(cmdId)) + { + tSpiMsg* spiMsg = (tSpiMsg*) recv; + _result = cmd_spi_list[i].cb(spiMsg->nParam, + (char*) &(spiMsg->params[0]), NULL); + }else{ + tSpiMsgData* spiMsg = (tSpiMsgData*) recv; + _result = cmd_spi_list[i].cb(spiMsg->nParam, + (char*) &(spiMsg->params[0]), NULL); + } + //Send Reply for GET commands or Immediate SET apply + if (cmd_spi_list[i].flags == CMD_GET_FLAG) { + if (sendReply(i, recv, reply, cmd_spi_list[i].ctx) != SPI_OK) + return REPLY_ERR_GET; + else + return REPLY_NO_ERR; + }else if (cmd_spi_list[i].flags == CMD_IMM_SET_FLAG) + { + if (sendReply(i, recv, reply, &_result) != SPI_OK) + return REPLY_ERR_GET; + else + return REPLY_NO_ERR; + + } + } + } + } + // Command not found + if (i==ARRAY_SIZE(cmd_spi_list)) + { + WARN("Unknown cmd 0x%x\n", cmdId); + DUMP(recv, count); + return REPLY_ERR_CMD; + } + return REPLY_NO_ERR; +} + +void init_spi_cmds(void* ctx) { + spi_add_cmd(SET_NET_CMD, set_net_cmd_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(SET_PASSPHRASE_CMD, set_passphrase_cmd_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(SET_KEY_CMD, set_key_cmd_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(SET_IP_CONFIG_CMD, set_ip_config_cmd_cb, ack_reply_cb, ctx, CMD_SET_FLAG); + spi_add_cmd(SET_DNS_CONFIG_CMD, set_dns_config_cmd_cb, ack_reply_cb, ctx, CMD_SET_FLAG); + spi_add_cmd(GET_CONN_STATUS_CMD, get_result_cmd_cb, get_reply_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(GET_IPADDR_CMD, ack_cmd_cb, get_reply_ipaddr_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(GET_MACADDR_CMD, ack_cmd_cb, get_reply_mac_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(GET_CURR_SSID_CMD, ack_cmd_cb, get_reply_curr_net_cb, (void*)GET_CURR_SSID_CMD, CMD_GET_FLAG); + spi_add_cmd(GET_CURR_BSSID_CMD, ack_cmd_cb, get_reply_curr_net_cb, (void*)GET_CURR_BSSID_CMD, CMD_GET_FLAG); + spi_add_cmd(GET_CURR_RSSI_CMD, ack_cmd_cb, get_reply_curr_net_cb, (void*)GET_CURR_RSSI_CMD, CMD_GET_FLAG); + spi_add_cmd(GET_CURR_ENCT_CMD, ack_cmd_cb, get_reply_curr_net_cb, (void*)GET_CURR_ENCT_CMD, CMD_GET_FLAG); + spi_add_cmd(START_SCAN_NETWORKS, start_scan_net_cmd_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(SCAN_NETWORKS, ack_cmd_cb, get_reply_scan_networks_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(DISCONNECT_CMD, disconnect_cmd_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(GET_IDX_ENCT_CMD, ack_cmd_cb, get_reply_idx_net_cb, (void*)GET_IDX_ENCT_CMD, CMD_GET_FLAG); + spi_add_cmd(GET_IDX_SSID_CMD, ack_cmd_cb, get_reply_idx_net_cb, (void*)GET_IDX_SSID_CMD, CMD_GET_FLAG); + spi_add_cmd(GET_IDX_RSSI_CMD, ack_cmd_cb, get_reply_idx_net_cb, (void*)GET_IDX_RSSI_CMD, CMD_GET_FLAG); + spi_add_cmd(REQ_HOST_BY_NAME_CMD, req_reply_host_by_name_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(GET_HOST_BY_NAME_CMD, ack_cmd_cb, get_reply_host_by_name_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(START_SERVER_TCP_CMD, start_server_tcp_cmd_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(START_CLIENT_TCP_CMD, start_client_tcp_cmd_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(STOP_CLIENT_TCP_CMD, stop_client_tcp_cmd_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(GET_STATE_TCP_CMD, ack_cmd_cb, get_state_tcp_cmd_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(GET_DATA_TCP_CMD, ack_cmd_cb, get_data_tcp_cmd_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(AVAIL_DATA_TCP_CMD, ack_cmd_cb, avail_data_tcp_cmd_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(SEND_DATA_TCP_CMD, send_data_tcp_cmd_cb, ack_reply_cb, NULL, CMD_IMM_SET_FLAG); + spi_add_cmd(DATA_SENT_TCP_CMD, ack_cmd_cb, data_sent_tcp_cmd_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(GET_DATABUF_TCP_CMD, ack_cmd_cb, get_databuf_tcp_cmd_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(GET_CLIENT_STATE_TCP_CMD, ack_cmd_cb, get_client_state_tcp_cmd_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(GET_FW_VERSION_CMD, ack_cmd_cb, get_firmware_version_cmd_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(GET_TEST_CMD, ack_cmd_cb, get_test_cmd_cb, NULL, CMD_GET_FLAG); + spi_add_cmd(INSERT_DATABUF_CMD, insert_data_cmd_cb, ack_reply_cb, NULL, CMD_IMM_SET_FLAG); + spi_add_cmd(SEND_DATA_UDP_CMD, send_data_udp_cmd_cb, ack_reply_cb, NULL, CMD_SET_FLAG); + spi_add_cmd(GET_REMOTE_DATA_CMD, ack_cmd_cb, get_reply_remote_data_cb, NULL, CMD_GET_FLAG); +} + + +int checkMsgParam8(unsigned char* buf) +{ + int paramLenTot=0; + tSpiMsg* spiMsg = (tSpiMsg*)buf; + tParam *param = spiMsg->params; + int i=0; + for (; i<spiMsg->nParam; ++i) + { + uint8_t _len = param->paramLen; + paramLenTot+= _len+1; + //printk("%d) len:0x%x\n", i, _len); + param = (tParam*)((char*)(param)+_len+1); + } + return paramLenTot; +} + +int checkMsgParam16(unsigned char* buf) +{ + int paramLenTot=0; + tSpiMsgData* spiMsg = (tSpiMsgData*)buf; + tDataParam* param = (tDataParam*)spiMsg->params; + int i=0; + for (; i<spiMsg->nParam; ++i) + { + uint16_t _len = param->dataLen; + paramLenTot+= _len+sizeof(param->dataLen); + //printk("%d) len:0x%x\n", i, _len); + param = (tDataParam*)((char*)(param)+_len+sizeof(param->dataLen)); + } + return paramLenTot; +} + +bool checkMsgFormat(uint8_t* _recv, int len, int* offset) +{ + + unsigned char* recv = getStartCmdSeq(_recv, len, offset); + if ((recv == NULL)||(recv!=_recv)) + { + DEB_PIN_TRIGGER(); + + IF_WARN_VER(DUMP((char*)_recv, len)); + + STATSPI_DISALIGN_ERROR(); + + if (recv == NULL) + return false; + } + tSpiMsg* spiMsg = (tSpiMsg*) recv; + if ((spiMsg->cmd == START_CMD)&&((spiMsg->tcmd & REPLY_FLAG) == 0)) + { + int paramLenTot = 0; + if (spiMsg8(spiMsg->tcmd)) + paramLenTot = checkMsgParam8(recv); + else + { + DUMP_SPI(_recv, len); + paramLenTot = checkMsgParam16(recv); + } + + //INFO_SPI("cmd:0x%x TotLen:%d\n", spiMsg->tcmd, paramLenTot); + char* p = (char*)recv + paramLenTot + sizeof(tSpiHdr); + if (*p == END_CMD) + { + return true; + }else{ + WARN("%d] Not found end cmd: 0x%x\n", cmdCorr, *p); + } + } + return false; +} + +//#define AVR32_USART_CSR_ITERATION_MASK (UNDERRUN) 0x00000400 +//#define AVR32_USART_CSR_OVRE_MASK 0x00000020 +//#define AVR32_USART_CSR_RXRDY_MASK 0x00000001 + + +void spi_poll(struct netif* netif) { + + ard_netif = netif; + + if (startReply) + { + startReply = false; + int offset = 0; + DISABLE_SPI_INT(); + if (checkMsgFormat(_receiveBuffer, receivedChars, &offset)) + { + state = SPI_CMD_INPROGRESS; + count = receivedChars-offset; + if (count >= CMD_MAX_LEN) + count = CMD_MAX_LEN; + memcpy(buf, &_receiveBuffer[offset], count); + + //mark as buffer used + _receiveBuffer[0] = 0; + + int err = call_reply_cb(buf, &reply[0]); + if (err != REPLY_NO_ERR) + { + DUMP_SPI(buf, count); + DUMP_SPI(reply, replyCount); + } + receivedChars = 0; + count = 0; + state = SPI_CMD_IDLE; + } + else + { + sendError(); + WARN("%d] Check format msg failed!\n", cmdCorr); + IF_WARN_VER(dump((char*)_receiveBuffer, receivedChars)); + state = SPI_CMD_IDLE; + count=0; + //mark as buffer used + _receiveBuffer[0] = 0; + } + CLEAR_SPI_INT(); + //Enable Spi int to receive a new command + ENABLE_SPI_INT(); + //Available for receiving a new spi data + AVAIL_FOR_SPI(); + } + +#ifdef _SPI_STATS_ + if (statSpi.lastError != 0) + { + WARN("%d] Errot=0x%x spiStatus:0x%x\n", cmdCorr, statSpi.lastError, statSpi.status); + statSpi.lastError = 0; + } +#endif +} + +inline int spi_slaveReceiveInt(volatile avr32_spi_t *spi) +{ + receivedChars=0; + int index = 0; + int err = SPI_OK; + state = SPI_CMD_INPUT; + bool endOfFrame = false; + + do { + unsigned int timeout = SPI_TIMEOUT; + err = SPI_OK; + + while ((spi->sr & (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) != + (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) { + if ((timeout--)==0) { + err=SPI_ERROR_TIMEOUT; + break; + } + } + //DEB_PIN_TG(); + #if 0 +#ifdef _SPI_STATS_ + if (spi->sr & AVR32_SPI_SR_OVRES_MASK) + { + STATSPI_OVERRIDE_ERROR(); + } +#endif +#endif + if (err == SPI_OK) { + _receiveBuffer[index] = (spi->rdr >> AVR32_SPI_RDR_RD_OFFSET) & 0x00ff; + DEB_PIN_UP(2); + if ((index==0) && (_receiveBuffer[index] != START_CMD)) + DEB_PIN_TRIGGER(); + ++index; + ++receivedChars; + }else{ +#ifdef _SPI_STATS_ + STATSPI_TIMEOUT_ERROR(); +#endif + break; + } + + /* break on buffer overflow */ + if (receivedChars >= _BUFFERSIZE) { + err = SPI_ERROR_OVERRUN_AND_MODE_FAULT; + break; + } + + if (_receiveBuffer[index - 1] == END_CMD) + { + int8_t numParams = 0; + int idx = PARAM_LEN_POS+1; + bool islen16bit = ((_receiveBuffer[CMD_POS] & DATA_FLAG) == DATA_FLAG); + if (index >= idx) + { + numParams = _receiveBuffer[PARAM_LEN_POS]; + while (((index-1) > idx)&&(numParams>0)) + { + if (islen16bit) + idx += (_receiveBuffer[idx]<<8) + _receiveBuffer[idx+1]+2; + else + idx += _receiveBuffer[idx]+1; + --numParams; + } + if (((index-1) == idx) && (numParams == 0)) + endOfFrame = true; + } + if (!endOfFrame){ + WARN("Wrong termination index:%d nParam:%d idx:%d 16bit:%d\n", index, numParams, idx, islen16bit); + #ifdef _DEBUG_ + dump((char*)_receiveBuffer, receivedChars); + while(0); + #endif + } + } + } while (!endOfFrame); + return err; +} + +#if defined (__GNUC__) +__attribute__((__interrupt__)) +#elif defined (__ICCAVR32__) +__interrupt +#endif +static void spi_int_handler(void) +{ + volatile avr32_spi_t *spi = ARD_SPI; + DEB_PIN_DN(2); + DISABLE_SPI_INT(); + + if ((spi->sr & AVR32_SPI_SR_RDRF_MASK) != 0) + { + int err = spi_slaveReceiveInt(ARD_SPI); + if (err == SPI_OK) + { + BUSY_FOR_SPI(); + startReply=true; + ++cmdCorr; + //maintain disable interrupt to send the reply command + return; + } + } + ENABLE_SPI_INT(); +} + +inline spi_status_t spi_read8(volatile avr32_spi_t *spi, unsigned char *data) +{ + unsigned int timeout = SPI_TIMEOUT; + + while ((spi->sr & (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) != + (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) { + if (!timeout--) { + return SPI_ERROR_TIMEOUT; + } + } + + *data = (spi->rdr >> AVR32_SPI_RDR_RD_OFFSET) & 0x00ff; + + return SPI_OK; +} + + +/*! + * \brief Interrupt handler of the External interrupt line "1". + */ +#if __GNUC__ +__attribute__((__interrupt__)) +#elif __ICCAVR32__ +__interrupt +#endif +static void eic_int_handler1(void) +{ + eic_clear_interrupt_line(&AVR32_EIC, EXT_INT_LINE1); + startRecvCmdSignal = TRUE; +} + +//! Structure holding the configuration parameters of the EIC module. +eic_options_t eic_options[EXT_INT_NB_LINES]; + +void initExtInt() +{ + // Enable edge-triggered interrupt. + eic_options[0].eic_mode = EIC_MODE_EDGE_TRIGGERED; + // Interrupt will trigger on falling edge. + eic_options[0].eic_edge = EIC_EDGE_FALLING_EDGE; + // Initialize in synchronous mode : interrupt is synchronized to the clock + eic_options[0].eic_async = EIC_SYNCH_MODE; + // Set the interrupt line number. + eic_options[0].eic_line = EXT_INT_LINE1; + + // Disable all interrupts. + Disable_global_interrupt(); + + INTC_register_interrupt(&eic_int_handler1, EXT_INT_IRQ_LINE1, AVR32_INTC_INT0); + + // Map the interrupt lines to the GPIO pins with the right peripheral functions. + gpio_enable_module_pin(EXT_INT_PIN_LINE1,EXT_INT_FUNCTION_LINE1); + + // Init the EIC controller with the options + eic_init(&AVR32_EIC, eic_options, EXT_INT_NB_LINES); + + // Enable the chosen lines and their corresponding interrupt feature. + eic_enable_line(&AVR32_EIC, eic_options[0].eic_line); + eic_enable_interrupt_line(&AVR32_EIC, eic_options[0].eic_line); + + // Enable all interrupts. + Enable_global_interrupt(); +} + +int initSpi(void* ctx) +{ + volatile avr32_spi_t *spi = &AVR32_SPI0; + gpio_map_t spi_piomap = { \ + {AVR32_SPI0_SCK_0_0_PIN, AVR32_SPI0_SCK_0_0_FUNCTION}, \ + {AVR32_SPI0_MISO_0_0_PIN, AVR32_SPI0_MISO_0_0_FUNCTION}, \ + {AVR32_SPI0_MOSI_0_0_PIN, AVR32_SPI0_MOSI_0_0_FUNCTION}, \ + {AVR32_SPI0_NPCS_0_0_PIN, AVR32_SPI0_NPCS_0_0_FUNCTION}, \ + }; + + INFO_INIT("SPI init...\n"); + + /* Init PIO */ + gpio_enable_module(spi_piomap, ARRAY_SIZE(spi_piomap)); + + spi_options_t spiOptions; + + spiOptions.reg = 0; + spiOptions.baudrate = SPI_SLAVE_SPEED; + spiOptions.bits = SPI_BITS; + spiOptions.spck_delay = 0; + spiOptions.trans_delay = 4; + spiOptions.stay_act = 0; + spiOptions.spi_mode = 0; + spiOptions.modfdis = 0; + + /* Initialize as slave; bits, spi_mode */ + if (spi_initSlave(spi, spiOptions.bits, spiOptions.spi_mode) != SPI_OK) + { + INFO_SPI("SPI initialization failed!"); + return 1; + } + + spi_status_t status = spi_setupChipReg(spi, &spiOptions, FPBA_HZ); + if (status == SPI_ERROR_ARGUMENT) + WARN("Error configuring SPI\n"); + + // Disable all interrupts. + Disable_global_interrupt(); + + // Register the SPI interrupt handler to the interrupt controller. + INTC_register_interrupt((__int_handler)(&spi_int_handler), AVR32_SPI0_IRQ, AVR32_INTC_INT0); + + // Enable all interrupts. + Enable_global_interrupt(); + + ENABLE_SPI_INT(); + + spi_enable(spi); +#ifdef _SPI_STATS_ + initStatSpi(); +#endif + init_spi_cmds(ctx); + + memset(_receiveBuffer, 0, sizeof(_receiveBuffer)); + memset(buf, 0, sizeof(buf)); + memset(reply, 0, sizeof(reply)); + + initMapSockTcp(); + set_result(WL_IDLE_STATUS); + + init_pBuf(); + + return 0; +} + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/ard_spi.h b/firmware/libraries/WiFi/extras/wifiHD/src/ard_spi.h new file mode 100644 index 0000000..27ec33e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/ard_spi.h @@ -0,0 +1,88 @@ +/* + * ard_spi.h + * + * Created on: May 27, 2010 + * Author: mlf by Metodo2 srl + */ + +#ifndef ARD_SPI_H_ +#define ARD_SPI_H_ + +#include "lwip/netif.h" +#include "console.h" +#include "wl_definitions.h" + + +typedef enum { + SPI_CMD_IDLE, + SPI_CMD_INPUT, + SPI_CMD_DONE, + SPI_CMD_INPROGRESS, + SPI_CMD_REPLING, + SPI_CMD_FAIL, +} cmd_spi_state_t; + +typedef enum { + REPLY_ERR_GET, + REPLY_ERR_SET, + REPLY_ERR_CMD, + REPLY_ERR_MSG, + REPLY_NO_ERR, +} reply_err_t; + + +typedef enum { + CMD_GET_FLAG = 0x01, + CMD_SET_FLAG = 0x02, + CMD_IMM_SET_FLAG = 0x04, +}cmd_flags; + +typedef enum eProtMode {TCP_MODE, UDP_MODE}tProtMode; + +#define TIMEOUT_SPI 200 +#define SPI_ALIGN_ERROR 0xF0 +#define SPI_OVERRIDE_ERROR 0xF1 +#define SPI_TIMEOUT_ERROR 0xF2 +#define DUMMY_DATA 0xFF + +typedef int (*cmd_spi_cb_t)(int numParam, char* buf, void* ctx); +typedef cmd_spi_state_t (*cmd_spi_rcb_t)(char* recv, char* reply, void* ctx, uint16_t* _count); + +typedef struct eRemoteClient{ + uint32_t ipaddr; + uint16_t port; +}tRemoteClient; + +void set_result_cmd(int err) ; + +void set_result(wl_status_t _status); + +int initSpi(void* ctx); + +void initExtInt(); + +void spi_poll(struct netif* netif); + +int spi_slaveReceive(volatile avr32_spi_t *spi); + +void showTTCPstatus(); + +int getSock(void * _ttcp); + +void* getTTCP(uint8_t sock, uint8_t mode); + +void setMapSockMode(uint8_t sock, void* _ttcp, uint8_t _tcp_mode); + +void clearMapSockTcp(uint8_t sock, uint8_t mode); + +int start_server_tcp(uint16_t port, uint8_t sock, uint8_t protMode); + +int start_client_tcp(uint32_t _addr, uint16_t port, uint8_t sock, uint8_t protMode); + +void setRemoteClient(uint16_t sock, uint32_t _ipaddr, uint16_t _port); + +tRemoteClient* getRemoteClient(uint16_t sock); + +void getRemoteData(uint8_t sock, uint8_t mode, tRemoteClient* remoteData); + +#endif /* ARD_SPI_H_ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/ard_tcp.c b/firmware/libraries/WiFi/extras/wifiHD/src/ard_tcp.c new file mode 100644 index 0000000..0a73b20 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/ard_tcp.c @@ -0,0 +1,987 @@ +/* + * ard_tcp.c + * + * Created on: May 27, 2010 + * Author: mlf by Metodo2 srl + */ + +//#define _APP_DEBUG_ +#include "lwip/opt.h" + +#include "lwip/mem.h" +#include "lwip/raw.h" +#include "lwip/icmp.h" +#include "lwip/netif.h" +#include "lwip/sys.h" +#include "lwip/sockets.h" +#include "lwip/inet.h" +#include "lwip/inet_chksum.h" +#include "lwip/tcp.h" +#include "lwip/udp.h" + +#include "ard_tcp.h" +#include "ard_spi.h" +#include "timer.h" +#include "util.h" + +#include "getopt.h" +#include "ard_utils.h" +#include "debug.h" +#include "trace.h" + +unsigned int startTime = 0; +extern bool ifStatus; + +static err_t tcp_data_sent(void *arg, struct tcp_pcb *pcb, u16_t len); + +static void atcp_init_pend_flags(struct ttcp* _ttcp) +{ + int i = 0; + for (; i<MAX_CLIENT_ACCEPTED; ++i) + { + if (_ttcp) _ttcp->pending_close[i] = false; + } +} + +/** + * Clean up and free the ttcp structure + */ +static void ard_tcp_destroy(struct ttcp* ttcp) { + err_t err = ERR_OK; + DUMP_TCP_STATE(ttcp); + + uint8_t sock = getSock(ttcp); + if (sock == -1) + WARN("ttcp already deallocated!\n"); + + freeAllTcpData(sock); + int i = 0; + for (; i<MAX_CLIENT_ACCEPTED; ++i) + { + if (ttcp->tpcb[i]) { + tcp_arg(ttcp->tpcb[i], NULL); + tcp_sent(ttcp->tpcb[i], NULL); + tcp_recv(ttcp->tpcb[i], NULL); + tcp_err(ttcp->tpcb[i], NULL); + //TEMPORAQARY + //err = tcp_close(ttcp->tpcb); + INFO_TCP("Closing tpcb: state:0x%x err:%d\n", ttcp->tpcb[i]->state, err); + } + } + + if (ttcp->lpcb) { + tcp_arg(ttcp->lpcb, NULL); + tcp_accept(ttcp->lpcb, NULL); + err = tcp_close(ttcp->lpcb); + INFO_TCP("Closing lpcb: state:0x%x err:%d\n", ttcp->lpcb->state, err); + } + + if (ttcp->upcb) { + udp_disconnect(ttcp->upcb); + udp_remove(ttcp->upcb); + } + + FREE_PAYLOAD(ttcp); + free(ttcp); +} + +/** + * Invoked when transfer is done or aborted (non-zero result). + */ +static void ard_tcp_done(struct ttcp* ttcp, int result) { +// if (result == 0) +// ard_tcp_print_stats(ttcp); + + if (ttcp->done_cb) + ttcp->done_cb(ttcp->opaque, result); + + ard_tcp_destroy(ttcp); + clearMapSockTcp(getSock(ttcp), GET_TCP_MODE(ttcp)); +} + +/** + * Only used in TCP mode. + * Will transmit a maximum of pbuf->tot_len bytes. + * Called upon connect and when there's space available in the TCP send window + * + */ +static err_t tcp_send_data_pcb(struct ttcp *ttcp, struct tcp_pcb *pcb) { + err_t err = ERR_OK; + uint32_t len; + + GET_CLIENT_ID(ttcp, pcb); + + len = ttcp->left[id]; + ttcp->buff_sent[id] = 0; + + if (len == 0) return ERR_MEM; + + INFO_TCP_VER("left=%d len:%d\n", ttcp->left[id], len); + + /* don't send more than we have in the payload */ + if (len > ttcp->buflen) + len = ttcp->buflen; + + /* We cannot send more data than space available in the send + buffer. */ + if (len > tcp_sndbuf(pcb)) + len = tcp_sndbuf(pcb); + + IF_TCP(startTime = timer_get_ms()); + err = tcp_write(pcb, ttcp->payload[id], len, TCP_WRITE_FLAG_COPY); + if (err != ERR_OK) + { + INFO_TCP("tcp_write failed %p state:%d len:%d err:%d\n", + pcb, pcb->state, len, err); + ttcp->buff_sent[id] = 0; + }else{ + ttcp->buff_sent[id] = 1; + ttcp->left[id] -= len; + } + + return err; +} + + +/** + * Only used in TCP mode. + */ +static err_t tcp_connect_cb(void *arg, struct tcp_pcb *tpcb, err_t err) { + struct ttcp* _ttcp = arg; + + if (_ttcp == NULL) return ERR_ARG; + + GET_CLIENT_ID(_ttcp, tpcb); + INFO_TCP("TTCP [%p-%p]: connect %d %d\n", _ttcp, tpcb, err, tpcb->state); + + _connected = ( tpcb->state == ESTABLISHED) ? 1 : 0; + _ttcp->tcp_poll_retries[id] = 0; + + _ttcp->start_time = timer_get_ms(); + + return ERR_OK; +} + +static void cleanSockState_cb(void *ctx) { + struct ttcp* _ttcp = ctx; + + if (_ttcp == NULL) return; + + int sock = getSock(_ttcp); + if (sock != -1) + clearMapSockTcp(sock, GET_TCP_MODE(_ttcp)); + INFO_TCP("TTCP [%p]: cleanSockState_cb %d\n", _ttcp, sock); + _connected = false; +} + +/** + * Only used in TCP mode. + */ + +static err_t close_conn_pcb(struct tcp_pcb* tpcb) { + + err_t err = tcp_close(tpcb); + if (err== ERR_OK) + { + tcp_arg(tpcb, NULL); + tcp_sent(tpcb, NULL); + tcp_recv(tpcb, NULL); + } + + INFO_TCP("Closing tpcb[%p]: state:0x%x err:%d\n", tpcb, tpcb->state, err); + return err; +} + +static void atcp_conn_err_cb(void *arg, err_t err) { + struct ttcp* _ttcp = arg; + + WARN("TTCP [%p]: connection error: %d currId:%d\n", + _ttcp, err, getCurrClientConnId()); + + if (ifStatus == false) + printk("Abort connection\n"); + + if (err == ERR_ABRT) + { + removeNewClientConn(_ttcp, GET_CURR_PCB(_ttcp)); + FREE_PAYLOAD_ID(_ttcp, getCurrClientConnId()); + } +} + +static void atcp_conn_cli_err_cb(void *arg, err_t err) { + struct ttcp* _ttcp = arg; + + if (_ttcp == NULL) return; + + WARN("TTCP [%p]: connection error: %d arg:%p\n", + _ttcp, err, arg); + + if (ifStatus == false) + printk("Abort connection\n"); + + if ((_ttcp)&&(err == ERR_ABRT)) + { + WARN("TTCP [%p]: free memory\n", _ttcp); + cleanSockState_cb(_ttcp); + // TODO + FREE_PAYLOAD(_ttcp); + } + + //atcp_init_pend_flags(_ttcp); +} + +static err_t close_conn(struct ttcp *_ttcp, struct tcp_pcb* tpcb) { + + if (_ttcp == NULL) return ERR_MEM; + + GET_CLIENT_ID(_ttcp, tpcb); + + err_t err = close_conn_pcb(_ttcp->tpcb[id]); + + if (err == ERR_MEM) + { + WARN("Cannot close id:%d-%p put pending\n", id, _ttcp->tpcb[id]); + _ttcp->pending_close[id] = true; + } + else{ + _ttcp->pending_close[id] = false; + removeNewClientConn(_ttcp, _ttcp->tpcb[id]); + FREE_PAYLOAD_ID(_ttcp, id); + INFO_TCP("----------------------\n"); + } + return err; +} + +void closeConnections() +{ + int ii=0; + for (; ii<MAX_MODE_NUM; ii++) + { + int i = 0; + for (; i<MAX_SOCK_NUM; i++) + { + void* p = getTTCP(i, ii); + if (p) + { + ttcp_t* _ttcp = (ttcp_t* )p; + if (_ttcp->udp == TCP_MODE) + { + ard_tcp_destroy(_ttcp); + clearMapSockTcp(getSock(_ttcp), GET_TCP_MODE(_ttcp)); + } + } + } + } +} + +/** + * Only used in TCP mode. + */ +static err_t atcp_recv_cb(void *arg, struct tcp_pcb *pcb, struct pbuf *p, + err_t err) { + struct ttcp* ttcp = arg; + + if (err == ERR_OK && p != NULL) { + DATA_LED_ON(); + /* for print_stats() */ + ttcp->recved += p->tot_len; + + if ((ttcp->verbose)||(verboseDebug & INFO_TCP_FLAG)) { + INFO_TCP("len:%d\n",p->tot_len); + DUMP_TCP(p->payload, p->tot_len); + ttcp->print_cnt++; + } + + uint8_t* pBufferStore = insert_pBuf(p, ttcp->sock, (void*) pcb); + INFO_TCP("sock:%d pcb:%p pbuf:%p err:%d bufStore:%p len:%d\n", + ttcp->sock, pcb, p, err, pBufferStore, p->tot_len); + pbuf_free(p); + DATA_LED_OFF(); + } + + /* p will be NULL when remote end is done */ + if (err == ERR_OK && p == NULL) { + INFO_TCP("atcp_recv_cb p=NULL on sock:%d pcb:%p\n", ttcp->sock, pcb); + close_conn(ttcp, pcb); + } + + if (err!=ERR_OK) + WARN("err=%d p=%p\n", err, p); + return ERR_OK; +} + +void ack_recved(void* pcb, int len) { + // Comment the call because it is activated on atcp_recv_cb + INFO_TCP("Received %p len:%d\n", pcb, len); + tcp_recved(pcb, len); +} + +static err_t atcp_poll(void *arg, struct tcp_pcb *pcb) { + struct ttcp* _ttcp = arg; + + if (_ttcp == NULL) return ERR_ARG; + + GET_CLIENT_ID(_ttcp, pcb); + + if (_ttcp->left[id]>0) + ++_ttcp->tcp_poll_retries[id]; + + if (_ttcp->tcp_poll_retries[id] > 4) { + WARN("ARD TCP [%p] arg=%p retries=%d abort\n", + pcb, arg, _ttcp->tcp_poll_retries[id]); + _ttcp->tcp_poll_retries[id] = 0; + tcp_abort(pcb); + _ttcp->pending_close[id] = false; + return ERR_ABRT; + } + + if (pcb) + INFO_TCP_POLL("keepAliveCnt:%d keep_idle:%d persist_cnt:%d\n", + pcb->keep_cnt_sent, pcb->keep_idle, pcb->persist_cnt); + + if (_ttcp->left[id] > 0) + INFO_TCP("ARD TCP [%p-%p] arg=%p retries=%d pend.close:%d len:%d\n", + (_ttcp)?GET_FIRST_CLIENT_TCP(_ttcp):0, pcb, arg, + _ttcp->tcp_poll_retries[id], _ttcp->pending_close[id], (_ttcp)?_ttcp->left[id]:0); + tcp_send_data_pcb(_ttcp, pcb); + + if (_ttcp->pending_close[id]) + { + err_t err = ERR_OK; + if (id >=0){ + err = tcp_close(pcb); + if (err == ERR_MEM) + { + _ttcp->pending_close[id] = true; + } + else + { + _ttcp->pending_close[id] = false; + removeNewClientConn(_ttcp, _ttcp->tpcb[id]); + FREE_PAYLOAD_ID(_ttcp, id); + INFO_TCP("----------------------\n"); + } + } + INFO_TCP("ARD TCP [%p-%p] try to close pending:%d err:%d id:%d\n", pcb, + (_ttcp)?GET_FIRST_CLIENT_TCP(_ttcp):0, _ttcp->pending_close[id], err, id); + } + return ERR_OK; +} + +static err_t atcp_poll_conn(void *arg, struct tcp_pcb *pcb) { + struct ttcp* _ttcp = arg; + + if (_ttcp == NULL) return ERR_ARG; + + GET_CLIENT_ID(_ttcp, pcb) + + INFO_TCP_POLL("ARD TCP [%p-%p] arg=%p retries=%d pend.close:%d conn:%d\n", + (_ttcp)?GET_FIRST_CLIENT_TCP(_ttcp):0, pcb, arg, + _ttcp->tcp_poll_retries[id], _ttcp->pending_close[id], _connected); + + if (id != NO_VALID_ID) + { + if (_ttcp->pending_close[id]) + ++(_ttcp->tcp_poll_retries[id]); + } + + if (_ttcp->tcp_poll_retries[id] > 8) { + WARN("ARD TCP [%p-%p] arg=%p retries=%d\n", + pcb, GET_FIRST_CLIENT_TCP(_ttcp), arg, _ttcp->tcp_poll_retries[id]); + _ttcp->tcp_poll_retries[id] = 0; + tcp_abort(pcb); + return ERR_ABRT; + } + + if ((_ttcp)&&(_connected)) tcp_send_data_pcb(_ttcp, pcb); + + if ((id != NO_VALID_ID) && (_ttcp->pending_close[id])) + { + err_t err = tcp_close(pcb); + if (err == ERR_MEM) + { + _ttcp->pending_close[id] = true; + } + else + { + cleanSockState_cb(_ttcp); + FREE_PAYLOAD_ID(_ttcp, id); + _ttcp->pending_close[id] = false; + } + + INFO_TCP("ARD TCP [%p-%p] try to close pending:%d\n", pcb, (_ttcp)?GET_FIRST_CLIENT_TCP(_ttcp):0, _ttcp->pending_close[id]); + } + return ERR_OK; +} + +int8_t currConnId = 0; + +int8_t getCurrClientConnId() { return currConnId;} + +int8_t getNewClientConnId(struct ttcp* _ttcp, struct tcp_pcb *newpcb) +{ + if (_ttcp != NULL){ + int i = 0; + for (; i<MAX_CLIENT_ACCEPTED; ++i) + { + int idx = GET_IDX_CONN(i); + + if (_ttcp->tpcb[idx] == newpcb) + { + INFO_TCP_VER("ttcp:%p id=%d, tpcb=%p\n", _ttcp, idx, newpcb); + return idx; + } + } + } + WARN("No Valid Id for ttcp:%p pcb:%p\n", _ttcp, newpcb); + return NO_VALID_ID; +} + +struct tcp_pcb * getFirstClient(struct ttcp* _ttcp, bool verbose) +{ + if (_ttcp != NULL){ + int i = 0; + for (; i<MAX_CLIENT_ACCEPTED; ++i) + { + int idx = GET_IDX_CONN(i); + if (_ttcp->tpcb[idx] != NULL) + { + if (verbose) INFO_TCP("ttcp:%p id=%d, tpcb=%p\n", _ttcp, idx, _ttcp->tpcb[idx]); + currConnId = idx; + return _ttcp->tpcb[idx]; + } + } + } + if (verbose) WARN("No Valid client for ttcp:%p\n", _ttcp); + return NULL; +} + + +int8_t setNewClientConn(struct ttcp* _ttcp, struct tcp_pcb *newpcb, uint8_t id) +{ + if ((_ttcp != NULL)&&(id>=0)&&(id<MAX_CLIENT_ACCEPTED)){ + INFO_TCP("ttcp:%p id=%d, tpcb=%p\n", _ttcp, id, newpcb); + _ttcp->tpcb[id] = newpcb; + return id; + } + return NO_VALID_ID; +} + +int8_t insertNewClientConn(struct ttcp* _ttcp, struct tcp_pcb *newpcb) +{ + if (_ttcp != NULL){ + int i = 0; + for (; i<MAX_CLIENT_ACCEPTED; ++i) + { + int idx = GET_IDX_CONN(i); + if ((_ttcp->tpcb[idx] == NULL)||(_ttcp->tpcb[idx] == newpcb)) + { + INFO_TCP("ttcp:%p id=%d, tpcb=%p\n", _ttcp, idx, newpcb); + _ttcp->tpcb[idx] = newpcb; + return idx; + } + } + } + return NO_VALID_ID; +} + +int8_t removeNewClientConn(struct ttcp* _ttcp, struct tcp_pcb *newpcb) +{ + if (_ttcp != NULL){ + int i = 0; + for (; i<MAX_CLIENT_ACCEPTED; ++i) + { + int idx = GET_IDX_CONN(i); + if (_ttcp->tpcb[idx] == newpcb) + { + INFO_TCP("ttcp:%p id=%d, tpcb=%p\n", _ttcp, idx, newpcb); + _ttcp->tpcb[idx] = NULL; + return idx; + } + } + } + return NO_VALID_ID; +} + +bool cleanNewClientConn(struct ttcp* _ttcp) +{ + if (_ttcp != NULL){ + int i = 0; + for (; i<MAX_CLIENT_ACCEPTED; ++i) + _ttcp->tpcb[i] = NULL; + return true; + } + return false; +} + + +/** + * Only used in TCP mode. + */ +static err_t atcp_accept_cb(void *arg, struct tcp_pcb *newpcb, err_t err) { + struct ttcp* _ttcp = arg; + + if (_ttcp == NULL) return ERR_ARG; + + INFO_TCP("ARD TCP [%p]: accept new [%p]\n", _ttcp, newpcb); + INFO_TCP("local:%d remote:%d state:%d\n", newpcb->local_port, newpcb->remote_port, newpcb->state); + + int8_t id = insertNewClientConn(_ttcp, newpcb); + + ASSERT((_ttcp->payload[id]==NULL), "payload not freed!"); + _ttcp->payload[id] = malloc(_ttcp->buflen); + INFO_TCP("Alloc payload %d-%p\n", id, _ttcp->payload[id]); + if (_ttcp->payload[id] == NULL) { + WARN("TTCP [%p]: could not allocate payload\n", _ttcp); + return -1; + } + tcp_arg(_ttcp->tpcb[id], _ttcp); + tcp_recv(_ttcp->tpcb[id], atcp_recv_cb); + tcp_err(_ttcp->tpcb[id], atcp_conn_err_cb); + tcp_poll(_ttcp->tpcb[id], atcp_poll, 4); + // Copy the pointer to ttcp also to TRANSMIT mode for the clients connected to the server + int _sock = getSock(_ttcp); + if ((_sock != -1)&&(IS_VALID_SOCK(_sock))) + setMapSockMode(_sock, _ttcp, TTCP_MODE_TRANSMIT); + _ttcp->start_time = timer_get_ms(); + return ERR_OK; +} + +/** + * Start TCP transfer. + */ +static int atcp_start(struct ttcp* ttcp) { + err_t err = ERR_OK; + + struct tcp_pcb * p = tcp_new(); + + if (p == NULL) { + WARN("TTCP [%p]: could not allocate pcb\n", ttcp); + return -1; + } + + currConnId = 0; + tcp_arg(p, ttcp); + atcp_init_pend_flags(ttcp); + + if (ttcp->mode == TTCP_MODE_TRANSMIT) { + int8_t id = insertNewClientConn(ttcp, p); + ttcp->payload[id] = malloc(ttcp->buflen); + INFO_TCP("Alloc payload %d-%p\n", id, ttcp->payload[id]); + if (ttcp->payload[id] == NULL) { + WARN("TTCP [%p]: could not allocate payload\n", ttcp); + return -1; + } + + struct tcp_pcb * pcb = p; + tcp_err(pcb, atcp_conn_cli_err_cb); + tcp_recv(pcb, atcp_recv_cb); + tcp_sent(pcb, tcp_data_sent); + tcp_poll(pcb, atcp_poll_conn, 4); + _connected = false; + INFO_TCP("[tpcb]-%p payload:%p\n", pcb, ttcp->payload[id]); + DUMP_TCP_STATE(ttcp); + if (tcp_connect(pcb, &ttcp->addr, ttcp->port, tcp_connect_cb) + != ERR_OK) { + WARN("TTCP [%p]: tcp connect failed\n", ttcp); + return -1; + } + + } else { + INFO_TCP("BEFORE BIND ttcp:%p lpcb:%p pcb:%p\n", ttcp, ttcp->lpcb, GET_FIRST_CLIENT_TCP(ttcp)); + + err = tcp_bind(p, IP_ADDR_ANY, ttcp->port); + if (err != ERR_OK){ + WARN("TTCP [%p]: bind failed err=%d Port already used\n", ttcp, err); + return -1; + } + + ttcp->lpcb = tcp_listen(p); + if (ttcp->lpcb == NULL) { + WARN("TTCP [%p]: listen failed\n", ttcp); + return -1; + } + + DUMP_TCP_STATE(ttcp); + tcp_accept(ttcp->lpcb, atcp_accept_cb); + } + + return 0; +} + +/** + * Only used in UDP mode. Will finalize the ttcp process when an end marker + * is seen. + */ +static void audp_recv_cb(void *arg, struct udp_pcb *upcb, struct pbuf *p, + struct ip_addr *addr, u16_t port) { + struct ttcp* ttcp = arg; + + /* for print_stats() */ + ttcp->recved += p->tot_len; + DUMP(p->payload,p->tot_len); + if (ttcp->verbose) { + printk("."); + if (ttcp->print_cnt % 80 == 0) + printk("\n"); + ttcp->print_cnt++; + } + INFO_TCP("UDP Insert %p sock:%d addr:%s port:%d\n", p, ttcp->sock, + ip2str(*addr), port); + insert_pBuf(p, ttcp->sock, (void*) upcb); + setRemoteClient(ttcp->sock, addr->addr, port); + + pbuf_free(p); +} + +/** + * Start UDP transfer. + */ +static int udp_start(struct ttcp* ttcp) { + err_t err = ERR_OK; + ttcp->udp_end_marker_left = 5; + ttcp->upcb = udp_new(); + if (ttcp->upcb == NULL) { + WARN("TTCP [%p]: could not allocate pcb\n", ttcp); + return -1; + } + + INFO_TCP("%s, upcb:%p %s:%d\n", __FUNCTION__, ttcp->upcb, ip2str(ttcp->addr), ttcp->port); + if (ttcp->mode == TTCP_MODE_TRANSMIT) { + if (udp_connect(ttcp->upcb, &(ttcp->addr), ttcp->port) != ERR_OK) { + WARN("TTCP [%p]: udp connect failed\n", ttcp); + return -1; + } + udp_recv(ttcp->upcb, audp_recv_cb, ttcp); + } else { + /* bind to any IP address on port specified */ + err = udp_bind(ttcp->upcb, IP_ADDR_ANY, ttcp->port); + if (err!= ERR_OK) { + WARN("TTCP [%p]: bind failed err=%d Port already used\n", ttcp, err); + return -1; + } + // clear remote client data + setRemoteClient(ttcp->sock, 0, 0); + udp_recv(ttcp->upcb, audp_recv_cb, ttcp); + } + INFO_TCP("%s, loc:0x%x-%d rem:0x%x-%d\n", __FUNCTION__, + ttcp->upcb->local_ip.addr, ttcp->upcb->local_port, + ttcp->upcb->remote_ip.addr, ttcp->upcb->remote_port); + return 0; +} + +/** + * Start a new ttcp transfer. It should be possible to call this function + * multiple times in order to get multiple ttcp streams. done_cb() will be + * invoked upon completion. + * + */ +int ard_tcp_start(struct ip_addr addr, uint16_t port, void *opaque, + ard_tcp_done_cb_t *done_cb, int mode, uint16_t nbuf, uint16_t buflen, + int udp, int verbose, uint8_t sock, void** _ttcp) { + struct ttcp* ttcp; + int status; + + if (mode != TTCP_MODE_TRANSMIT && mode != TTCP_MODE_RECEIVE) { + WARN("TTCP [-]: invalid mode\n"); + return -1; + } + + if (nbuf == 0) { + WARN("TTCP [-]: invalid nbuf\n"); + return -1; + } + + if (buflen == 0) { + WARN("TTCP [-]: invalid buflen\n"); + return -1; + } + + ttcp = calloc(1, sizeof(struct ttcp)); + if (ttcp == NULL) { + WARN("TTCP [-]: could not allocate memory for ttcp\n"); + return -1; + } + + ttcp->addr = addr; + ttcp->port = port; + ttcp->nbuf = nbuf; + ttcp->mode = mode; + ttcp->done_cb = done_cb; + ttcp->opaque = opaque; + ttcp->udp = udp; + ttcp->verbose = verbose; + ttcp->buflen = buflen; + cleanNewClientConn(ttcp); + + if (ttcp->udp) + status = udp_start(ttcp); + else + status = atcp_start(ttcp); + + if (status) { + WARN("Start server FAILED!\n"); + goto fail; + } + INFO_TCP("TTCP [%p-%p]: nbuf=%d, buflen=%d, port=%d (%s/%s)\n", ttcp, + ((ttcp->udp==1)?(void*)ttcp->upcb:GET_FIRST_CLIENT_TCP(ttcp)), ttcp->nbuf, ttcp->buflen, + ttcp->port, ProtMode2Str(ttcp->udp), Mode2Str(ttcp->mode)); + + *_ttcp = (void*) ttcp; + ttcp->sock = sock; + + return 0; + + fail: ard_tcp_destroy(ttcp); + return -1; +} + +void ard_tcp_stop(void* ttcp) { + struct ttcp* _ttcp = (struct ttcp*) ttcp; + if (_ttcp == NULL) + { + WARN("ttcp = NULL!\n"); + return; + } + if (_ttcp->mode == TTCP_MODE_TRANSMIT) { + int i = getCurrClientConnId(); + ard_tcp_destroy(_ttcp); + clearMapSockTcp(getSock(_ttcp), GET_TCP_MODE(_ttcp)); + _ttcp->tcp_poll_retries[i] = 0; + }else{ + DUMP_TCP_STATE(_ttcp); + + int i = getCurrClientConnId(); + if ((_ttcp)&&(_ttcp->tpcb[i])&&(_ttcp->tpcb[i]->state!=LAST_ACK)&&(_ttcp->tpcb[i]->state!=CLOSED)) + { + // Flush all the data + err_t err=tcp_output(_ttcp->tpcb[i]); + INFO_TCP("flush data: tpcb:%p err:%d\n", _ttcp->tpcb[i], err); + // if any socket cannot be close stop the close connection + close_conn(_ttcp, _ttcp->tpcb[i]); + } + } +} + +uint8_t getStateTcp(void* p, bool client) { + struct ttcp* _ttcp = (struct ttcp*) p; + + if (ifStatus == false) + return CLOSED; + struct tcp_pcb * pcb = GET_FIRST_CLIENT_TCP_NV(_ttcp); + if ((_ttcp != NULL) && ((pcb != NULL) || (client==0))) { + IF_SPI_POLL(DUMP_TCP_STATE(_ttcp)); + if (client) + { + if ((pcb->state != ESTABLISHED)&&(pcb->state != CLOSED)) + DUMP_TCP_STATE(_ttcp); + return pcb->state; + } + else + { + return _ttcp->lpcb->state; + } + } else { + WARN_POLL("TCP not initialized ttcp:%p tpcb:%p lpcb:%p\n", + _ttcp, ((_ttcp)?pcb:0), ((_ttcp)?_ttcp->lpcb:0)); + } + return CLOSED; +} + +uint8_t getModeTcp(void* p) { + struct ttcp* _ttcp = (struct ttcp*) p; + + if (_ttcp != NULL) + return _ttcp->mode; + return 0; +} + +uint8_t isDataSent(void* p) { + struct ttcp *_ttcp = (struct ttcp *)p; + + int8_t id = getCurrClientConnId(); + if ((_ttcp)&&(!_ttcp->buff_sent[id])) + { + return 0; + } + + return 1; +} + +static err_t tcp_data_sent(void *arg, struct tcp_pcb *pcb, u16_t len) { + struct ttcp *_ttcp; + + LWIP_UNUSED_ARG(len); + + _ttcp = arg; + + if (_ttcp == NULL) return ERR_ARG; + + GET_CLIENT_ID(_ttcp, pcb); + _ttcp->tcp_poll_retries[id] = 0; + _ttcp->buff_sent[id] = 1; + + INFO_TCP("Packet sent pcb:%p len:%d dur:%d left:%d\n", pcb, len, timer_get_ms() - startTime, + (_ttcp)?(_ttcp->left[id]):0); + + if ((_ttcp)&&(_ttcp->left[id] > 0)) { + tcp_send_data_pcb(_ttcp, pcb); + } + + return ERR_OK; +} + +int sendTcpData(void* p, uint8_t* buf, uint16_t len) +{ + struct ttcp* _ttcp = (struct ttcp*) p; + + if (_ttcp==NULL) + { + WARN("ttcp == NULL!\n"); + return WL_FAILURE; + } + + struct tcp_pcb * pcb = GET_FIRST_CLIENT_TCP_NV(_ttcp); + GET_CLIENT_ID(_ttcp, pcb); + + INFO_TCP_VER("ttcp:%p pcb:%p buf:%p len:%d\n", _ttcp, pcb, buf, len); + DUMP_TCP(buf,len); + IF_TCP_VER(DUMP_TCP_STATE(_ttcp)); + + if ((_ttcp != NULL) && (pcb != NULL) && + (buf != NULL) && (len != 0) && (_ttcp->payload[id] != NULL)) { + if (pcb->state == ESTABLISHED || pcb->state == CLOSE_WAIT || + pcb->state == SYN_SENT || pcb->state == SYN_RCVD) { + + memcpy(_ttcp->payload[id], buf, len); + _ttcp->payload[id][len]='\0'; + INFO_TCP_VER("'%s'\n", _ttcp->payload[id]); + _ttcp->left[id] = len; + tcp_sent(pcb, tcp_data_sent); + tcp_send_data_pcb(_ttcp, pcb); + + return WL_SUCCESS; + } + } + //printk("Write failure _ttcp=%p _ttcp->tpcb=%p buf=%p len=%d\n", _ttcp, _ttcp->tpcb, buf, len); + return WL_FAILURE; +} + +int sendUdpData(void* ttcp, uint8_t* buf, uint16_t len) { + struct ttcp* _ttcp = (struct ttcp*) ttcp; + if ((_ttcp != NULL) && (buf != NULL) && (len != 0)) + { + INFO_TCP("buf:%p len:%d\n", buf, len); + DUMP_TCP(buf,len); + }else{ + return WL_FAILURE; + } + + struct pbuf* p = pbuf_alloc(PBUF_TRANSPORT, len, PBUF_RAM); + if (p == NULL) { + WARN("TTCP [%p]: could not allocate pbuf\n", ttcp); + return WL_FAILURE; + } + memcpy(p->payload, buf, len); + if (udp_send(_ttcp->upcb, p) != ERR_OK) { + WARN("TTCP [%p]: udp_send() failed\n", _ttcp); + pbuf_free(p); + return WL_FAILURE; + } + + pbuf_free(p); + return WL_SUCCESS; +} + + + +char + usage[] = + "Usage: ttcp -t/-r [-options] host\n\ + -l length of bufs written to network (default 1024)\n\ + -n number of bufs written to network (default 1024)\n\ + -p port number to send to (default 2000)\n\ + -u udp\n\ + -v verbose\n"; + +/** + * + */ +cmd_state_t cmd_ttcp(int argc, char* argv[], void* ctx) { + + int c; + int mode = TTCP_MODE_TRANSMIT; + int verbose = 0; + uint16_t buflen = 1024; + uint16_t nbuf = 1024; + uint16_t port = 2000; + int udp = 0; + struct ip_addr addr = { 0 }; + + optind = 1; + while ((c = getopt(argc, argv, "utrl:n:p:v")) != -1) { + switch (c) { + case 't': + mode = TTCP_MODE_TRANSMIT; + break; + case 'r': + mode = TTCP_MODE_RECEIVE; + break; + case 'l': + buflen = atoi(optarg); + break; + case 'v': + verbose = 1; + break; + case 'n': + nbuf = atoi(optarg); + break; + case 'u': + udp = 1; + break; + case 'p': + port = atoi(optarg); + break; + } + } + + if (mode == TTCP_MODE_TRANSMIT) { + if (optind >= argc) { + printk("%s", usage); + return CMD_DONE; + } + + addr = str2ip(argv[optind]); + if (!addr.addr) { + printk("%s", usage); + return CMD_DONE; + } + } + void* _ttcp = NULL; + if (ard_tcp_start(addr, port, NULL, NULL, mode, nbuf, buflen, udp, verbose, + 0, &_ttcp)) + return CMD_DONE; + + return CMD_DONE; +} + + +#if 0 +#include "lwip/sockets.h" + +void testlwip() +{ + int Sock; + fd_set fdsetR; + FD_ZERO(&fdsetR); + FD_SET(Sock, &fdsetR); + fd_set fdsetE = fdsetR; + + int rc; + const int cMillies = 10000; + struct timeval timeout; + timeout.tv_sec = cMillies / 1000; + timeout.tv_usec = (cMillies % 1000) * 1000; + //rc = lwip_select(Sock + 1, &fdsetR, NULL, &fdsetE, &timeout); +} +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/ard_tcp.h b/firmware/libraries/WiFi/extras/wifiHD/src/ard_tcp.h new file mode 100644 index 0000000..078e0b0 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/ard_tcp.h @@ -0,0 +1,124 @@ +/* + * ard_tcp.h + * + * Created on: May 27, 2010 + * Author: mlf by Metodo2 srl + */ + +#ifndef ARD_TCP_H +#define ARD_TCP_H + +#include "console.h" +#include "lwip/tcp.h" + +typedef void (ard_tcp_done_cb_t)(void *opaque, int result); + +#define TTCP_MODE_TRANSMIT 0 +#define TTCP_MODE_RECEIVE 1 +#define MAX_MODE_NUM 2 + +#define GET_TCP_MODE(X) ((X!=NULL)?((struct ttcp*)(X))->mode:0) +#define IS_VALID_SOCK(SOCK) ((SOCK>=0)&&(SOCK<MAX_SOCK_NUM)) +#define IS_UDP_SOCK(SOCK) ((getTTCP(SOCK, TTCP_MODE_RECEIVE)!=NULL)?((struct ttcp*)(getTTCP(SOCK, TTCP_MODE_RECEIVE)))->udp:0) + +// Maximum number of client connection accepted by server +#define MAX_CLIENT_ACCEPTED 4 +#define NO_VALID_ID 0xff + +#define GET_FIRST_CLIENT_TCP(TTCP) getFirstClient(TTCP, 1) +#define GET_FIRST_CLIENT_TCP_NV(TTCP) getFirstClient(TTCP, 0) +#define GET_CLIENT_TCP(TTCP,ID) (((TTCP!=NULL)&&(ID>=0)&&(ID<MAX_CLIENT_ACCEPTED))?TTCP->tpcb[ID] : NULL) +#define GET_CLIENT_ID(TTCP, PCB) uint8_t id = NO_VALID_ID; do { \ + id = getNewClientConnId(TTCP, PCB); \ + if (id == NO_VALID_ID) return ERR_MEM; \ + }while(0); +#define GET_IDX_CONN(I) ((I+currConnId)<MAX_CLIENT_ACCEPTED ? (I+currConnId) : (I+currConnId-MAX_CLIENT_ACCEPTED)) +#define GET_CURR_PCB(TTCP) GET_CLIENT_TCP(TTCP,getCurrClientConnId()) + +#define FREE_PAYLOAD(TTCP) do { \ + int id = getCurrClientConnId(); \ + INFO_TCP("Freeing payload %d-%p\n", id, TTCP->payload[id]); \ + if (TTCP->payload[id]) { \ + free(TTCP->payload[id]); \ + TTCP->payload[id] = NULL; } \ +}while(0); + +#define FREE_PAYLOAD_ID(TTCP,ID) do { \ + INFO_TCP("Freeing payload %d-%p\n", ID, TTCP->payload[ID]); \ + if (TTCP->payload[ID]) { \ + free(TTCP->payload[ID]); \ + TTCP->payload[ID] = NULL; } \ +}while(0); + + +typedef struct ttcp { + + /* options */ + struct ip_addr addr; /* host */ + uint16_t port; /* -p */ + uint16_t nbuf; /* -n */ + int mode; /* -t */ + int verbose; /* -v */ + int udp; /* -u */ + uint8_t sock; + uint8_t buff_sent[MAX_CLIENT_ACCEPTED]; + + /* common */ + uint16_t print_cnt; + uint32_t start_time; + uint32_t left[MAX_CLIENT_ACCEPTED]; + uint32_t recved; + ard_tcp_done_cb_t* done_cb; + void* opaque; + uint32_t buflen; /* -l */ + uint32_t tid; + + /* TCP specific */ + struct tcp_pcb* tpcb[MAX_CLIENT_ACCEPTED]; + struct tcp_pcb* lpcb; + char* payload[MAX_CLIENT_ACCEPTED]; + uint8_t tcp_poll_retries[MAX_CLIENT_ACCEPTED]; + bool pending_close[MAX_CLIENT_ACCEPTED]; + + /* UDP specific */ + int udp_started; + uint16_t udp_end_marker_left; + struct udp_pcb* upcb; +}ttcp_t; + +bool _connected; + +int ard_tcp_start(struct ip_addr addr, uint16_t port, void *opaque, + ard_tcp_done_cb_t *done_cb, int mode, uint16_t nbuf, uint16_t buflen, int udp, int verbose, uint8_t sock, void** _ttcp); + +void ard_tcp_stop(void* ttcp); + +uint8_t getStateTcp(void* p, bool client ); + +uint8_t getModeTcp(void* p); + +int sendTcpData(void* p, uint8_t* buf, uint16_t len); + +int sendUdpData(void* p, uint8_t* buf, uint16_t len); + +uint8_t isDataSent(void* p ); + +cmd_state_t cmd_ttcp(int argc, char* argv[], void* ctx); + +int8_t setNewClientConn(struct ttcp* _ttcp, struct tcp_pcb *newpcb, uint8_t id); + +int8_t insertNewClientConn(struct ttcp* _ttcp, struct tcp_pcb *newpcb); + +int8_t removeNewClientConn(struct ttcp* _ttcp, struct tcp_pcb *newpcb); + +bool cleanNewClientConn(struct ttcp* _ttcp); + +int8_t getNewClientConnId(struct ttcp* _ttcp, struct tcp_pcb *newpcb); + +int8_t getCurrClientConnId(); + +struct tcp_pcb * getFirstClient(struct ttcp* _ttcp, bool verbose); + +void closeConnections(); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/ard_utils.c b/firmware/libraries/WiFi/extras/wifiHD/src/ard_utils.c new file mode 100644 index 0000000..c2937d8 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/ard_utils.c @@ -0,0 +1,347 @@ +/* + * ard_utils.c + * + * Created on: Jul 4, 2010 + * Author: mlf by Metodo2 srl + */ +//#define _APP_DEBUG_ + +#include "lwip/pbuf.h" +#include "wifi_spi.h" +#include "ard_utils.h" +#include "debug.h" +#include "ard_spi.h" +#include "ard_tcp.h" + +#define MAX_PBUF_STORED 30 + +tData pBufStore[MAX_PBUF_STORED][MAX_SOCK_NUM]; + +unsigned char headBuf[MAX_SOCK_NUM] = {0}; +unsigned char tailBuf[MAX_SOCK_NUM] = {0}; + +#define IS_BUF_AVAIL(x) (tailBuf[x] != headBuf[x]) +#define IS_BUF_EMPTY(x) ((tailBuf[x] == 0) && (headBuf[x] == 0)) + +void init_pBuf() +{ + memset(pBufStore, 0, sizeof(pBufStore)); +} + +uint8_t* insertBuf(uint8_t sock, uint8_t* buf, uint16_t len) +{ + DUMP(buf,len); + if (sock>= MAX_SOCK_NUM) + { + WARN("Sock out of range: sock=%d", sock); + return NULL; + } + if (pBufStore[headBuf[sock]][sock].data != NULL) + { + WARN("Overwriting buffer %p idx:%d!\n", pBufStore[headBuf[sock]][sock].data, headBuf[sock]); + // to avoid memory leak free the oldest buffer + freetDataIdx(headBuf[sock], sock); + } + + u8_t* p = (u8_t*)calloc(len,sizeof(u8_t)); + if(p != NULL) { + memcpy(p, buf, len); + + pBufStore[headBuf[sock]][sock].data = p; + pBufStore[headBuf[sock]][sock].len = len; + pBufStore[headBuf[sock]][sock].idx = 0; + pBufStore[headBuf[sock]][sock].pcb = getTTCP(sock, TTCP_MODE_TRANSMIT); + headBuf[sock]++; + + if (headBuf[sock] == MAX_PBUF_STORED) + headBuf[sock] = 0; + if (headBuf[sock] == tailBuf[sock]) + { + WARN("Avoid to Overwrite data [%d-%d]!\n", headBuf[sock], tailBuf[sock]); + if (headBuf[sock] != 0) + --headBuf[sock]; + else + headBuf[sock] = MAX_PBUF_STORED-1; + } + INFO_UTIL("Insert[%d]: %p:%d-%d [%d,%d]\n", sock, p, len, p[0], headBuf[sock], tailBuf[sock]); + } + return p; +} + + +uint16_t calcMergeLen(uint8_t sock) +{ + uint16_t len = 0; + + unsigned char index = tailBuf[sock]; + do { + if (pBufStore[index][sock].data != NULL) + { + len += pBufStore[index][sock].len; + len -= pBufStore[index][sock].idx; + INFO_UTIL_VER(" [%d]: len:%d idx:%d tot:%d\n", sock, pBufStore[index][sock].len, pBufStore[index][sock].idx, len); + } + ++index; + if (index == MAX_PBUF_STORED) + index = 0; + }while (index!=headBuf[sock]); + return len; +} + +uint16_t clearBuf(uint8_t sock) +{ + uint16_t len = 0; + + unsigned char index = tailBuf[sock]; + do { + if (pBufStore[index][sock].data != NULL) + { + freetDataIdx(index,sock); + } + ++index; + if (index == MAX_PBUF_STORED) + index = 0; + }while (index!=headBuf[sock]); + tailBuf[sock]=index; + return len; +} + +uint8_t* mergeBuf(uint8_t sock, uint8_t** buf, uint16_t* _len) +{ + uint16_t len = calcMergeLen(sock); + uint8_t* p = (u8_t*)calloc(len,sizeof(u8_t)); + uint8_t* _p = p; + if(p != NULL) { + unsigned char index = tailBuf[sock]; + do { + if (pBufStore[index][sock].data != NULL) + { + memcpy(p, pBufStore[index][sock].data, pBufStore[index][sock].len); + p += pBufStore[index][sock].len; + } + ++index; + if (index == MAX_PBUF_STORED) + index = 0; + }while (index!=headBuf[sock]); + } + DUMP(_p,len); + if (buf != NULL) + *buf = _p; + if (_len != NULL) + *_len = len; + return _p; +} + +uint8_t* insert_pBuf(struct pbuf* q, uint8_t sock, void* _pcb) +{ + if (q == NULL) + return NULL; + + if (pBufStore[headBuf[sock]][sock].data != NULL) + { + WARN("Overwriting buffer %p idx:%d!\n", pBufStore[headBuf[sock]][sock].data, headBuf[sock]); + // to avoid memory leak free the oldest buffer + freetDataIdx(headBuf[sock], sock); + } + + u8_t* p = (u8_t*)calloc(q->tot_len,sizeof(u8_t)); + if(p != NULL) { + if (pbuf_copy_partial(q, p, q->tot_len,0) != q->tot_len) { + WARN("pbuf_copy_partial failed: src:%p, dst:%p, len:%d\n", q, p, q->tot_len); + free(p); + p = NULL; + return p; + } + + pBufStore[headBuf[sock]][sock].data = p; + pBufStore[headBuf[sock]][sock].len = q->tot_len; + pBufStore[headBuf[sock]][sock].idx = 0; + pBufStore[headBuf[sock]][sock].pcb = _pcb; + headBuf[sock]++; + + if (headBuf[sock] == MAX_PBUF_STORED) + headBuf[sock] = 0; + if (headBuf[sock] == tailBuf[sock]) + { + WARN("Avoid to Overwrite data [%d-%d]!\n", headBuf[sock], tailBuf[sock]); + if (headBuf[sock] != 0) + --headBuf[sock]; + else + headBuf[sock] = MAX_PBUF_STORED-1; + } + INFO_UTIL("Insert[%d]: %p:%d-%d [%d,%d]\n", sock, p, q->tot_len, p[0], headBuf[sock], tailBuf[sock]); + } + return p; +} + +void dumpPbuf(uint8_t sock) +{ + unsigned char index = tailBuf[sock]; + printk("headBuf=%d tailBuf=%d\n", headBuf[sock], tailBuf[sock]); + do { + if (pBufStore[index][sock].data != NULL) + { + printk("%d] pcb:%p Buf: %p Len:%d\n", pBufStore[index][sock].idx, pBufStore[index][sock].pcb, + pBufStore[index][sock].data, pBufStore[index][sock].len); + } + ++index; + if (index == MAX_PBUF_STORED) + index = 0; + }while (index!=headBuf[sock]); +} + +tData* get_pBuf(uint8_t sock) +{ + if (IS_BUF_EMPTY(sock)) + return NULL; + + if (IS_BUF_AVAIL(sock)) + { + tData* p = &(pBufStore[tailBuf[sock]][sock]); + INFO_UTIL_VER("%p [%d,%d]\n", p, headBuf[sock], tailBuf[sock]); + return p; + } + return NULL; +} + +void freetData(void * buf, uint8_t sock) +{ + if (buf==NULL) + { + WARN("Buf == NULL!"); + return; + } + + pBufStore[tailBuf[sock]][sock].data = NULL; + pBufStore[tailBuf[sock]][sock].len = 0; + pBufStore[tailBuf[sock]][sock].idx = 0; + pBufStore[tailBuf[sock]][sock].pcb = 0; + + if (++tailBuf[sock] == MAX_PBUF_STORED) + tailBuf[sock] = 0; + INFO_UTIL("%p [%d,%d]\n", buf, headBuf[sock], tailBuf[sock]); + free(buf); +} + +void freetDataIdx(uint8_t idxBuf, uint8_t sock) +{ + if (idxBuf >=MAX_PBUF_STORED) + { + WARN("idxBuf out of range: %d\n", idxBuf); + return; + } + + void * buf = pBufStore[idxBuf][sock].data; + + INFO_UTIL("%p idx:%d\n", buf, idxBuf); + + free(buf); + + pBufStore[idxBuf][sock].data = 0; + pBufStore[idxBuf][sock].len = 0; + pBufStore[idxBuf][sock].idx = 0; + pBufStore[idxBuf][sock].pcb = 0; +} + + +void ack_recved(void* pcb, int len); + +void ackAndFreeData(void* pcb, int len, uint8_t sock, uint8_t* data) +{ + INFO_TCP("Ack pcb:%p len:%d sock:%d data:%p\n", pcb, len, sock, data); + if (!IS_UDP_SOCK(sock)) + ack_recved(pcb, len); + if (data != NULL) + freetData(data, sock); +} + + +bool isAvailTcpDataByte(uint8_t sock) +{ + tData* p = get_pBuf(sock); + + if (p != NULL) + { + INFO_UTIL_VER("check:%d %d %p\n",p->idx, p->len, p->data); + if (p->idx == p->len) + { + INFO_UTIL("Free %p other buf %d tail:%d head:%d\n", + p->data, IS_BUF_AVAIL(sock), tailBuf[sock], headBuf[sock]); + ackAndFreeData(p->pcb, p->len, sock, p->data); + return (IS_BUF_AVAIL(sock)); + }else{ + return true; + } + } + return false; +} + +uint16_t getAvailTcpDataByte(uint8_t sock) +{ + uint16_t len = calcMergeLen(sock); + INFO_UTIL_VER("Availabled data: %d\n", len); + return len; +} + + +bool getTcpDataByte(uint8_t sock, uint8_t* payload, uint8_t peek) +{ + // ref field in struct pbuf has been used as index pointer for byte data + tData* p = get_pBuf(sock); + + if (p != NULL) + { + if (p->idx < p->len) + { + uint8_t* buf = (uint8_t*)p->data; + if (peek) + *payload = buf[p->idx]; + else + *payload = buf[p->idx++]; + INFO_UTIL_VER("get:%d %p %d\n",p->idx, p->data, *payload); + if (p->idx == p->len) + ackAndFreeData(p->pcb, p->len, sock, p->data); + return true; + }else{ + ackAndFreeData(p->pcb, p->len, sock, p->data); + } + } + return false; +} + +bool getTcpData(uint8_t sock, void** payload, uint16_t* len) +{ + tData* p = NULL; + p = get_pBuf(sock); + if (p != NULL) + { + *payload = p->data; + *len = p->len; + return true; + } + return false; +} + +bool freeTcpData(uint8_t sock) +{ + tData* p = NULL; + p = get_pBuf(sock); + if (p != NULL) + { + ackAndFreeData(p->pcb, p->len, sock, p->data); + return true; + } + return false; +} + +void freeAllTcpData(uint8_t sock) +{ + tData* p = NULL; + do{ + p = get_pBuf(sock); + if (p != NULL) + freetData(p->data, sock); + }while(p!=NULL); +} + + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/ard_utils.h b/firmware/libraries/WiFi/extras/wifiHD/src/ard_utils.h new file mode 100644 index 0000000..323b328 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/ard_utils.h @@ -0,0 +1,295 @@ +/* + * ard_utils.h + * + * Created on: Jul 4, 2010 + * Author: mlf by Metodo2 srl + */ + +#ifndef ARD_UTILS_H_ +#define ARD_UTILS_H_ + +#include "gpio.h" +#include "debug.h" +#include "ARDUINO/arduino.h" +#define INIT_SIGNAL_FOR_SPI() gpio_disable_pin_pull_up(ARDUINO_HANDSHAKE_PIN); +#define BUSY_FOR_SPI() gpio_set_gpio_pin(ARDUINO_HANDSHAKE_PIN) +#define AVAIL_FOR_SPI() gpio_clr_gpio_pin(ARDUINO_HANDSHAKE_PIN) + +#define LED0_UP() gpio_set_gpio_pin(LED0_GPIO) +#define LED0_DN() gpio_clr_gpio_pin(LED0_GPIO) +#define LED0_TL() gpio_tgl_gpio_pin(LED0_GPIO) +#define LED1_UP() gpio_set_gpio_pin(LED1_GPIO) +#define LED1_DN() gpio_clr_gpio_pin(LED1_GPIO) +#define LED1_TL() gpio_tgl_gpio_pin(LED1_GPIO) +#define LED2_UP() gpio_set_gpio_pin(LED2_GPIO) +#define LED2_DN() gpio_clr_gpio_pin(LED2_GPIO) +#define LED2_TL() gpio_tgl_gpio_pin(LED2_GPIO) + +#ifdef _DEBUG_ +#define SIGN0_UP LED0_UP +#define SIGN0_DN LED0_DN +#define SIGN0_TL LED0_TL +#define SIGN1_UP LED1_UP +#define SIGN1_DN LED1_DN +#define SIGN1_TL LED1_TL +#define SIGN2_UP LED2_UP +#define SIGN2_DN LED2_DN +#define SIGN2_TL LED2_TL + +#define DEB_PIN_UP(X) gpio_set_gpio_pin(DEB##X##_PIN_GPIO) +#define DEB_PIN_DN(X) gpio_clr_gpio_pin(DEB##X##_PIN_GPIO) +#define DEB_PIN_ENA(X) gpio_enable_gpio_pin(DEB##X##_PIN_GPIO) +#define DEB_PIN_TOGGLE(X) gpio_tgl_gpio_pin(DEB##X##_PIN_GPIO) +#define DEB_PIN_TRIGGER(X) DEB_PIN_DN(X); DEB_PIN_UP(X); + + +#else +#define SIGN0_UP() +#define SIGN0_DN() +#define SIGN0_TL() +#define SIGN1_UP() +#define SIGN1_DN() +#define SIGN1_TL() +#define SIGN2_UP() +#define SIGN2_DN() +#define SIGN2_TL() + +#define DEB_PIN_UP(X) +#define DEB_PIN_DN(X) +#define DEB_PIN_ENA(X) +#define DEB_PIN_TOGGLE(X) +#define DEB_PIN_TRIGGER(X) + +//#define TOGGLE_SIG0 +#endif + +#define DELAY_450NS asm volatile("nop") +#define DELAY_1uS DELAY_450NS; DELAY_450NS; +#define TOGGLE_SIG0() SIGN0_UP(); DELAY_450NS;SIGN0_DN(); + + +#define LINK_LED_OFF LED0_UP +#define ERROR_LED_OFF LED1_UP +#define DATA_LED_OFF LED2_UP + +#define LINK_LED_ON LED0_DN +#define ERROR_LED_ON LED1_DN +#define DATA_LED_ON LED2_DN + +#define LINK_LED_BL LED0_TL +#define ERROR_LED_BL LED1_TL +#define DATA_LED_BL LED2_TL + + +#define CREATE_HEADER_REPLY(REPLY, RECV, NUM_PARAMS)\ + REPLY[0] = RECV[0]; \ + REPLY[1] = RECV[1] | REPLY_FLAG; \ + REPLY[2] = NUM_PARAMS; + +#define CREATE_HEADER_REPLY_WAIT(REPLY, RECV, NUM_PARAMS)\ + REPLY[0] = RECV[0]; \ + REPLY[1] = RECV[1] | WAIT_FLAG; \ + REPLY[2] = NUM_PARAMS; + + +#define END_HEADER_REPLY(REPLY, TOT_LEN, COUNT)\ + REPLY[TOT_LEN] = END_CMD; \ + REPLY[TOT_LEN+1] = 0; \ + COUNT=TOT_LEN+1; + +#define RETURN_ERR_REPLY(RECV,REPLY,COUNT) \ + {uint8_t err = 0; return ack_reply_cb(RECV,REPLY,&err,COUNT);} + +#define CHECK_ARD_NETIF(RECV,REPLY,COUNT) \ + if (ard_netif == NULL) \ + { uint8_t err = 0; return ack_reply_cb(RECV,REPLY,&err,COUNT); } + +#define PUT_LONG_IN_BYTE_HO(LONG, BYTE, IDX) { \ + uint32_t _long = LONG; \ + BYTE[IDX] = 4; \ + BYTE[IDX+1] = (uint8_t)(_long & 0xff); \ + BYTE[IDX+2] = (uint8_t)((_long & 0xff00)>>8); \ + BYTE[IDX+3] = (uint8_t)((_long & 0xff0000)>>16); \ + BYTE[IDX+4] = (uint8_t)((_long & 0xff000000)>>24); \ +} + +#define PUT_LONG_IN_BYTE_NO(LONG, BYTE, IDX) { \ + uint32_t _long = LONG; \ + BYTE[IDX] = 4; \ + BYTE[IDX+4] = (uint8_t)(_long & 0xff); \ + BYTE[IDX+3] = (uint8_t)((_long & 0xff00)>>8); \ + BYTE[IDX+2] = (uint8_t)((_long & 0xff0000)>>16); \ + BYTE[IDX+1] = (uint8_t)((_long & 0xff000000)>>24); \ +} + + +#define PUT_DATA_INT(INT, BYTE, IDX) { \ + uint16_t _int = INT; \ + BYTE[IDX] = 2; \ + BYTE[IDX+1] = (uint8_t)((_int & 0xff00)>>8); \ + BYTE[IDX+2] = (uint8_t)(_int & 0xff); \ +} + +#define PUT_DATA_INT_NO(INT, BYTE, IDX) { \ + uint16_t _int = INT; \ + BYTE[IDX] = 2; \ + BYTE[IDX+2] = (uint8_t)((_int & 0xff00)>>8); \ + BYTE[IDX+1] = (uint8_t)(_int & 0xff); \ +} + +#define PUT_DATA_BYTE(DATA, BYTE, IDX) { \ + BYTE[IDX] = 1; \ + BYTE[IDX+1] = (uint8_t)DATA; \ +} + +#define PUT_BUFDATA_BYTE(BUF, BUFLEN, BYTE, IDX) { \ + BYTE[IDX] = (uint8_t)(BUFLEN & 0xff); \ + uint16_t i = 0; \ + for (; i<BUFLEN; ++i) \ + BYTE[IDX+1+i]=BUF[i]; \ +} + +#define PUT_BUFDATA_INT(BUF, BUFLEN, BYTE, IDX) { \ + BYTE[IDX] = (uint8_t)((BUFLEN & 0xff00)>>8); \ + BYTE[IDX+1] = (uint8_t)(BUFLEN & 0xff); \ + uint16_t i = 0; \ + for (; i<BUFLEN; ++i) \ + BYTE[IDX+2+i]=BUF[i]; \ +} + + +#define PUT_BUFDATA_BYTE_REV(BUF, BUFLEN, BYTE, IDX) { \ + BYTE[IDX] = (uint8_t)(BUFLEN & 0xff); \ + uint16_t i = 0; \ + for (; i<BUFLEN; ++i) \ + BYTE[IDX+1+i]=BUF[BUFLEN-i-1]; \ +} + +#define GET_DATA_LONG(INT32, BUF) \ + uint32_t INT32 = ((*(BUF))<<24) + ((*(BUF+1))<<16) + ((*(BUF+2))<<8) + (*(BUF+3)); + +#define GET_DATA_INT(INT16, BUF) \ + uint16_t INT16 = ((*(BUF))<<8) + (*(BUF+1)); + +#define GET_DATA_BYTE(BYTE, BUF) \ + uint8_t BYTE = (*(BUF)); + +#define CHECK_PARAM_LEN(PARAM, LEN) ((PARAM!=NULL)&&(PARAM->paramLen == LEN)) + +#define NEXT_PARAM(PARAM) \ + do { \ + if (PARAM!=NULL){ \ + PARAM=(tParam*)((uint8_t*)PARAM+PARAM->paramLen+1); \ + GET_PARAM_BYTE(PARAM, end) \ + if (end == END_CMD) WARN("End of cmd params", PARAM); \ + } \ + }while(0); + +#define GET_PARAM_LONG(PARAM, LONG) \ + uint32_t LONG = 0; \ + if CHECK_PARAM_LEN(PARAM, 4) { \ + tLongParam* s = (tLongParam*)PARAM; \ + LONG = s->param; \ + } + +#define GET_PARAM_INT(PARAM, INT) \ + uint16_t INT = 0; \ + if CHECK_PARAM_LEN(PARAM, 2) { \ + tIntParam* s = (tIntParam*)PARAM; \ + INT = s->param; \ + } + +#define GET_PARAM_BYTE(PARAM, BYTE) \ + uint8_t BYTE = 0; \ + if CHECK_PARAM_LEN(PARAM, 1) { \ + tByteParam* s = (tByteParam*)PARAM; \ + BYTE = s->param; \ + } + +#define GET_PARAM_NEXT(TYPE, PARAM, DATA) \ + GET_PARAM_##TYPE(PARAM, DATA) \ + NEXT_PARAM(PARAM) + +#ifdef _SPI_STATS_ +#define STATSPI_TIMEOUT_ERROR() \ + statSpi.timeoutIntErr++; \ + statSpi.rxErr++; \ + statSpi.lastError = SPI_TIMEOUT_ERROR; \ + statSpi.status = spi_getStatus(ARD_SPI); + +#define STATSPI_DISALIGN_ERROR() \ + statSpi.frameDisalign++; \ + statSpi.rxErr++; \ + statSpi.lastError = SPI_ALIGN_ERROR; \ + statSpi.status = spi_getStatus(ARD_SPI); + +#define STATSPI_OVERRIDE_ERROR() \ + statSpi.overrideFrame++; \ + statSpi.rxErr++; \ + statSpi.lastError = SPI_OVERRIDE_ERROR; \ + statSpi.status = spi_getStatus(ARD_SPI); + +#define STATSPI_TX_TIMEOUT_ERROR() \ + statSpi.timeoutErr++; \ + statSpi.txErr++; \ + statSpi.lastError = SPI_ERROR_TIMEOUT; \ + statSpi.status = spi_getStatus(ARD_SPI); +#else +#define STATSPI_TIMEOUT_ERROR() +#define STATSPI_TX_TIMEOUT_ERROR() +#define STATSPI_DISALIGN_ERROR() +#define STATSPI_OVERRIDE_ERROR() +#endif + +#define DUMP_TCP_STATE(TTCP) do {\ + int i = getCurrClientConnId(); \ + INFO_TCP("%d] ttcp:%p tpcb:%p state:%d lpcb:%p state:%d left:%d sent:%d\n", \ + i, TTCP, TTCP->tpcb[i], (TTCP->tpcb[i])?TTCP->tpcb[i]->state:0, \ + TTCP->lpcb, (TTCP->lpcb)?TTCP->lpcb->state:0, \ + (TTCP->tpcb[i])?TTCP->left[i]:0, (TTCP->tpcb[i])?TTCP->buff_sent[i]:0); \ + } while(0); + +#define Mode2Str(_Mode) ((_Mode==0)?"TRANSMIT":"RECEIVE") +#define ProtMode2Str(_protMode) ((_protMode==0)?"TCP":"UDP") + +typedef struct sData +{ + uint8_t* data; + uint16_t len; + uint16_t idx; + void* pcb; +}tData; + +struct pbuf; + +void init_pBuf(); + +uint8_t* insert_pBuf(struct pbuf* q, uint8_t sock, void* _pcb); + +uint8_t* insertBuf(uint8_t sock, uint8_t* buf, uint16_t len); + +uint8_t* mergeBuf(uint8_t sock, uint8_t** buf, uint16_t* _len); + +uint16_t clearBuf(uint8_t sock); + +tData* get_pBuf(uint8_t sock); + +void freetData(void * buf, uint8_t sock); + +void freetDataIdx(uint8_t idxBuf, uint8_t sock); + +bool isBufAvail(); + +bool getTcpData(uint8_t sock, void** payload, uint16_t* len); + +bool getTcpDataByte(uint8_t sock, uint8_t* payload, uint8_t peek); + +uint16_t getAvailTcpDataByte(uint8_t sock); + +bool isAvailTcpDataByte(uint8_t sock); + +uint8_t freeTcpData(uint8_t sock); + +void freeAllTcpData(uint8_t sock); + +#endif /* ARD_UTILS_H_ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/avr32_spi.c b/firmware/libraries/WiFi/extras/wifiHD/src/avr32_spi.c new file mode 100644 index 0000000..739fb28 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/avr32_spi.c @@ -0,0 +1,394 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include <gpio.h> +#include <intc.h> +#include <string.h> +#include <stdint.h> +#include <stdlib.h> +#include <wl_spi.h> +#include <printf-stdarg.h> +#include <board_init.h> + +#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0]) + +__attribute__((__interrupt__)) void avr32_irq_handler(void); +void owl_spi_mdelay(uint32_t ms); + +int owl_spi_init(U8 *flags) +{ +#ifdef _ASSERT_ENABLE_ /* To silence warning if Assert() macro is empty */ + volatile avr32_pm_t *pm = &AVR32_PM; +#endif + + volatile avr32_spi_t *spi = &WL_SPI; +#if WL_SPI_CS == 1 + volatile avr32_spi_csr1_t* CSR = &spi->CSR1; +#elif WL_SPI_CS == 2 + volatile avr32_spi_csr2_t* CSR = &spi->CSR2; +#elif WL_SPI_CS == 3 + volatile avr32_spi_csr3_t* CSR = &spi->CSR3; +#elif SPI_CS == 0 + volatile avr32_spi_csr0_t* CSR = &spi->CSR0; +#endif + +#ifndef WITH_NO_DMA + volatile avr32_pdca_channel_t *pdca_tx = &AVR32_PDCA.channel[0]; + volatile avr32_pdca_channel_t *pdca_rx = &AVR32_PDCA.channel[1]; +#endif + +#ifndef WL_IRQ_PIN + *flags = SPI_FLAG_POLL; +#else + *flags = 0; +#endif + + +#ifdef WL_IRQ_PIN + /* input, irq */ + gpio_enable_gpio_pin(WL_IRQ_PIN); + gpio_enable_pin_pull_up(WL_IRQ_PIN); +#endif + +//#ifdef WL_RESET_PIN +// /* reset pin */ +// gpio_enable_gpio_pin(WL_RESET_PIN); +// gpio_set_gpio_pin(WL_RESET_PIN); +//#endif + + +#ifdef WL_POWER_PIN + /* power off the device */ + gpio_enable_gpio_pin(WL_POWER_PIN); + gpio_set_gpio_pin(WL_POWER_PIN); +#endif + +#ifdef WL_SHUTDOWN_PIN + gpio_enable_gpio_pin(WL_SHUTDOWN_PIN); + +#ifdef WL_NO_INTERNAL_RESET /* never defined for SPB104/SPB105 */ + gpio_clr_gpio_pin(WL_SHUTDOWN_PIN); +#endif + +#ifdef WL_EXTERNAL_RESET + gpio_enable_gpio_pin(WL_RESET_PIN); +#endif + +#endif /* WL_SHUTDOWN_PIN */ + +#ifdef WL_POWER_PIN + /* power on the device */ + gpio_clr_gpio_pin(WL_POWER_PIN); +#endif + +#ifdef WL_SHUTDOWN_PIN + +#ifdef WL_NO_INTERNAL_RESET /* never defined for SPB104/SPB105 */ + owl_spi_mdelay(5); + gpio_set_gpio_pin(WL_SHUTDOWN_PIN); + +#elif WL_EXTERNAL_RESET + owl_spi_mdelay(5); + gpio_set_gpio_pin(WL_SHUTDOWN_PIN); + + owl_spi_mdelay(20); + //delay_ms(10); //2ms + + /* reset pin */ + gpio_set_gpio_pin(WL_RESET_PIN); + +#else + + /* The shutdown pin will go high once the device is powered */ + { +#define SHUTDOWN_TIMEOUT 350 + uint32_t shutdown_timer = 0; + while (gpio_get_pin_value(WL_SHUTDOWN_PIN) == 0) { + if (shutdown_timer > SHUTDOWN_TIMEOUT) + { + printk("Timeout WL Shutdown\n"); + return -1; + } + owl_spi_mdelay(5); + shutdown_timer += 5; + } + } +#endif /* WL_NO_INTERNAL_RESET */ + +#else + /* We need to make a guess about the time needed to power the device, + * this will depend on the hardware design. + */ + owl_spi_mdelay(5); +#endif /* WL_SHUTDOWN_PIN */ + + /* Note: SPI0 clock enabled at reset in pm->pbamask (see 13.6.3) */ + Assert(pm->pbamask & (1 << 5)); + + /* Note: GPIO clock enabled at reset in pm->pbamask (see 13.6.3) */ + Assert(pm->pbamask & (1 << 1)); +#ifdef WL_IRQ_PIN + /* 22.4.7: "In every port there are four interrupt lines + * connected to the interrupt controller. Every eigth + * interrupts in the port are ored together to form an + * interrupt line." + * + * WL_IRQ_# = (WL_IRQ_PIN / 32) * 4 + (WL_IRQ_PIN / 8) % 4 + * 62 => 1 * 4 + 3 = 7 + */ + INTC_register_interrupt(&avr32_irq_handler, WL_IRQ, AVR32_INTC_INT0); +#endif + +#ifndef WITH_NO_DMA + INTC_register_interrupt(&avr32_irq_handler, AVR32_PDCA_IRQ_0, + AVR32_INTC_INT0); + INTC_register_interrupt(&avr32_irq_handler, AVR32_PDCA_IRQ_1, + AVR32_INTC_INT0); + pdca_tx->IER.terr = 1; + pdca_rx->IER.terr = 1; +#endif + +#ifdef WL_SPI_CLOCK_DIVIDER + CSR->scbr = WL_SPI_CLOCK_DIVIDER; +#else + CSR->scbr = 2; +#endif + + /* Use max width of TDR register, 16 bit transfers */ + CSR->bits = 0x8; + + /* Make sure that we can hold CS low until transfer is completed, e.g + * LASTXFER is set in TDR. + */ + CSR->csaat = 1; + + /* NRG component requires clock polarity high */ + CSR->cpol = 1; + + +#ifdef WL_IRQ_PIN + /* make sure to clear any pending bits in ifr here. */ + gpio_clear_pin_interrupt_flag(WL_IRQ_PIN); +#endif + + return 0; +} + +#ifndef WITH_NO_DMA +static void dma_txrx(const U8* in, U8* out, U16 len) +{ + volatile avr32_pdca_channel_t *pdca_tx = &AVR32_PDCA.channel[0]; + volatile avr32_pdca_channel_t *pdca_rx = &AVR32_PDCA.channel[1]; + + /* setup tx */ + pdca_tx->mar = (U32) in; + pdca_tx->PSR.pid = WL_PDCA_PID_TX; + pdca_tx->tcr = len / 2; + pdca_tx->MR.size = 1; /* 2-byte */ + pdca_tx->IER.trc = 1; + + /* setup rx */ + pdca_rx->mar = (U32) out; + pdca_rx->PSR.pid = WL_PDCA_PID_RX; + pdca_rx->tcr = len / 2; + pdca_rx->MR.size = 1; /* 2-byte */ + pdca_rx->IER.trc = 1; + + /* start dma's. for some reason rx must be started prior to tx */ + pdca_rx->CR.ten = 1; + pdca_tx->CR.ten = 1; + + /* blocking wait until transfer is completed */ + while (!(pdca_tx->ISR.trc && pdca_rx->ISR.trc)); +} +#endif + +/* access data using byte pointers since we might get unaligned + * data from lwip. The cpu will issue a data abort if we try + * to access data which is not properly aligned. See data sheet. + * + * Note that fifo_txrx() doesn't handle the case where len is not a + * multiple of two bytes properly. + * + * However, there is no actual case where len is odd at the same time + * as the "out" pointer is non-NULL; therefore I think that in practice, + * we'll not write beyond the end of the "out" array. + * + * The extra unknown byte fetched from the in pointer will be discarded + * by the device since a length field included in the packet header will inform + * the device of the actual number of valid bytes (this implementation is + * kind of hidden inside the library). + */ +static void fifo_txrx(const U8 *in, U8* out, U16 len) +{ + volatile avr32_spi_t *spi = &WL_SPI; + UnionCPtr in_ptr; + UnionPtr out_ptr; + U32 sr; + + Assert(len); + + in_ptr.u8ptr = in; + out_ptr.u8ptr = out; + + while (len) { + U16 rdr; + union { + avr32_spi_tdr_t TDR; + U32 tdr; + } reg = { { 0 } }; + + while (!spi->SR.tdre); + while (!spi->SR.txempty); + + /* prepare tx data register contents */ + if (in_ptr.u8ptr) { + reg.TDR.td |= (in_ptr.u8ptr[0] << 8) | in_ptr.u8ptr[1]; + in_ptr.u16ptr++; + } + else + reg.TDR.td |= 0xffff; + + /* perform tx */ + spi->tdr = reg.tdr; + + /* wait until rx is ready */ + while (!spi->SR.rdrf); + + /* fetch rx data */ + rdr = spi->RDR.rd; + if (out_ptr.u8ptr) { + out_ptr.u8ptr[0] = (rdr >> 8) & 0xff; + out_ptr.u8ptr[1] = rdr & 0xff; + out_ptr.u16ptr++; + } + + if (len >= 2) + len -= 2; + else + len = 0; + } + + sr = spi->sr; + Assert(!(sr & AVR32_SPI_SR_OVRES_MASK)); + Assert(!(sr & AVR32_SPI_SR_MODF_MASK)); +} + +void owl_spi_txrx(const U8 *in, U8* out, U16 len) +{ +#ifndef WITH_NO_DMA + static uint8_t buf[MAX_BLOCK_LEN]; + + /* unaligned data or odd number of bytes, then skip dma */ + if ((U32) in % 4 || (U32) out % 4 || len % 2) { + fifo_txrx(in, out, len); + } else { + if (in == NULL) { + memset(buf, 0xff, len); + in = buf; + } else if (out == NULL) { + out = buf; + } + dma_txrx(in, out, len); + } +#else + fifo_txrx(in, out, len); +#endif +} + +void owl_spi_irq(U8 enable) +{ +#ifdef WL_IRQ_PIN + + if (enable) + gpio_enable_pin_interrupt(WL_IRQ_PIN, GPIO_PIN_CHANGE); + else + gpio_disable_pin_interrupt(WL_IRQ_PIN); +#endif +} + +void owl_spi_cs(U8 enable) +{ + volatile avr32_spi_t *spi = &WL_SPI; + + /* + * PCS = xxx0 => NPCS[3:0] = 1110 + * PCS = xx01 => NPCS[3:0] = 1101 + * PCS = x011 => NPCS[3:0] = 1011 + * PCS = 0111 => NPCS[3:0] = 0111 + * PCS = 1111 => forbidden (no peripheral is selected) + */ + + if (enable) +#if WL_SPI_CS == 2 + spi->MR.pcs = 0x3; /* cs2 */ +#elif WL_SPI_CS == 1 + spi->MR.pcs = 0x1; /* cs1 */ +#elif WL_SPI_CS == 3 + spi->MR.pcs = 0x7; /* cs3 */ +#elif WL_SPI_CS == 0 + spi->MR.pcs = 0x0; /* cs0 */ +#endif + else + spi->MR.pcs = 0xf; +} + +void owl_spi_mdelay(uint32_t ms) +{ + volatile int a = 0; + int i; + for (i = 0; i < ms * 5000; i++) + a++; +} + +__attribute__((__interrupt__)) void avr32_irq_handler(void) +{ +#ifndef WITH_NO_DMA + volatile avr32_pdca_channel_t *pdca_tx = &AVR32_PDCA.channel[0]; + volatile avr32_pdca_channel_t *pdca_rx = &AVR32_PDCA.channel[1]; + + /* tx xfer complete */ + if (pdca_tx->IMR.trc && pdca_tx->ISR.trc) { + pdca_tx->IDR.trc = 1; + pdca_tx->CR.tdis = 1; /* disable tx xfer */ + } + + /* rx xfer complete */ + if (pdca_rx->IMR.trc && pdca_rx->ISR.trc) { + pdca_rx->IDR.trc = 1; + pdca_rx->CR.tdis = 1; /* disable rx xfer */ + } +#endif + +#ifdef WL_IRQ_PIN + if (gpio_get_pin_interrupt_flag(WL_IRQ_PIN)) { + gpio_clear_pin_interrupt_flag(WL_IRQ_PIN); + wl_spi_irq(); + } +#endif + +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/board_init.c b/firmware/libraries/WiFi/extras/wifiHD/src/board_init.c new file mode 100644 index 0000000..a2a191e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/board_init.c @@ -0,0 +1,297 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include <pm.h> +#include <flashc.h> +#include <intc.h> +#include <board.h> +#include <gpio.h> +#ifdef WITH_SDRAM + #include <sdramc.h> +#endif +#include <board_init.h> +#include <spi.h> + +#ifndef NO_SERIAL /* The bootloader does not want serial port + * code */ +#include <usart.h> + +int board_putchar(char c) +{ + int timeout = USART_DEFAULT_TIMEOUT; + if (c == '\n') { + do { + if (!timeout--) + return USART_FAILURE; + } while (usart_write_char(&CONFIG_CONSOLE_PORT, '\r') != + USART_SUCCESS); + + timeout = USART_DEFAULT_TIMEOUT; + } + + do { + if (!timeout--) + return USART_FAILURE; + } while (usart_write_char(&CONFIG_CONSOLE_PORT, c) != USART_SUCCESS); + + return USART_SUCCESS; +} +#endif /* NO_SERIAL */ +/** + * Initializes the MCU system clocks. + */ +static void +init_sys_clocks(void) +{ + + /* if we don't run on OSC0 don't switch to it since we don't know + * what kind of oscillator we have here + */ + +#if OSC == 0 + /* switch to OSC0 to speed up the booting */ + pm_switch_to_osc0(&AVR32_PM, FOSC0, OSC0_STARTUP); +#endif + + +#ifndef USE_PLL + return; +#endif + + /* For audio, ee have to use OSC1 on to generate the correct clockrate + * for the SSC + */ +#if OSC == 1 + /* start oscillator1 */ + pm_enable_osc1_crystal(&AVR32_PM, FOSC1); + pm_enable_clk1(&AVR32_PM, OSC1_STARTUP); +#endif + + /* configure pll multipliers */ + pm_pll_setup(&AVR32_PM, + 0, /* pll */ + PLL_MUL, /* mul */ + 1, /* div */ + OSC, /* osc */ + 16); /* lockcount */ + + /* set PLL operating range and divider (fpll = fvco/2) + * this gives PLL output = 66 MHz (62.0928 MHz for EVK1105/OSC1) + */ + pm_pll_set_option(&AVR32_PM, + 0, /* pll */ + 1, /* pll_freq */ + 1, /* pll_div2 */ + 0); /* pll_wbwdisable. */ + + + /* start PLL0 and wait for the lock */ + pm_pll_enable(&AVR32_PM, 0); + pm_wait_for_pll0_locked(&AVR32_PM); + + /* Set all peripheral clocks torun at master clock rate */ + pm_cksel(&AVR32_PM, + 0, /* pbadiv */ + 0, /* pbasel */ + 0, /* pbbdiv */ + 0, /* pbbsel */ + 0, /* hsbdiv */ + 0); /* hsbsel */ + + /* Set one waitstate for the flash */ + flashc_set_wait_state(1); + + /* Switch to PLL0 as the master clock */ + pm_switch_to_clock(&AVR32_PM, AVR32_PM_MCCTRL_MCSEL_PLL0); +} + +static void init_exceptions(void) +{ + extern void _evba; + Set_system_register(AVR32_EVBA, (int)&_evba); + Enable_global_exception(); +} + +static void init_hmatrix(void) +{ + union { + unsigned long scfg; + avr32_hmatrix_scfg_t SCFG; + } u_avr32_hmatrix_scfg = { + AVR32_HMATRIX.scfg[AVR32_HMATRIX_SLAVE_FLASH] + }; + u_avr32_hmatrix_scfg.SCFG.defmstr_type = + AVR32_HMATRIX_DEFMSTR_TYPE_LAST_DEFAULT; + AVR32_HMATRIX.scfg[AVR32_HMATRIX_SLAVE_FLASH] = + u_avr32_hmatrix_scfg.scfg; +} + +static void init_interrupts(void) +{ + INTC_init_interrupts(); + Enable_global_interrupt(); +} + +static void init_spi(void) +{ +#if defined(WL_SPI) + int i; +#endif + + +#if defined(AT45DBX_SPI) + static const gpio_map_t AT45DBX_SPI_GPIO_MAP = { + { AT45DBX_SPI_SCK_PIN, AT45DBX_SPI_SCK_FUNCTION }, + { AT45DBX_SPI_MISO_PIN, AT45DBX_SPI_MISO_FUNCTION }, + { AT45DBX_SPI_MOSI_PIN, AT45DBX_SPI_MOSI_FUNCTION }, + { AT45DBX_SPI_NPCS2_PIN, AT45DBX_SPI_NPCS2_FUNCTION }, + }; +#endif + + +#if defined(WL_SPI) + const gpio_map_t WL_SPI_GPIO_MAP = { +#if defined(WL_SPI_NPCS0) + WL_SPI_NPCS0, +#endif + WL_SPI_NPCS, WL_SPI_MISO, WL_SPI_MOSI, WL_SPI_SCK + }; +#endif + +#if defined(WL_SPI) || defined(AT45DBX_SPI) + spi_options_t spiOptions = { + .modfdis = 1 /* only param used by spi_initMaster() */ + }; +#endif + +#if defined(AT45DBX_SPI) + gpio_enable_module(AT45DBX_SPI_GPIO_MAP, + sizeof(AT45DBX_SPI_GPIO_MAP) / + sizeof(AT45DBX_SPI_GPIO_MAP[0])); + spi_initMaster(AT45DBX_SPI, &spiOptions); + spi_selectionMode(AT45DBX_SPI, 0, 0, 0); +#endif + +#if defined(WL_SPI) + /* same pins might be initialized twice here */ + gpio_enable_module(WL_SPI_GPIO_MAP, + sizeof(WL_SPI_GPIO_MAP) / + sizeof(WL_SPI_GPIO_MAP[0])); + for (i = 0; i < sizeof(WL_SPI_GPIO_MAP)/sizeof(WL_SPI_GPIO_MAP[0]); i++) + gpio_enable_pin_pull_up(WL_SPI_GPIO_MAP[i].pin); + + /* same SPI controller might be initialized again */ + spi_initMaster(&WL_SPI, &spiOptions); + spi_selectionMode(&WL_SPI, 0, 0, 0); +#endif + +#if defined(AT45DBX_SPI) + spi_enable(AT45DBX_SPI); + + /* put up flash reset pin */ + gpio_set_gpio_pin(AT45DBX_CHIP_RESET); +#endif + +#if defined(WL_SPI) + spi_enable(&WL_SPI); +#endif +} + + +static void init_rs232(void) +{ +#ifndef NO_SERIAL +#if defined(BOARD_RS232_0) + const gpio_map_t BOARD_RS232_0_GPIO_MAP = { + BOARD_RS232_0_TX, + BOARD_RS232_0_RX, +#if defined(BOARD_RS232_0_RTS) && defined (BOARD_RS232_0_CTS) + BOARD_RS232_0_RTS, + BOARD_RS232_0_CTS +#endif + + }; +#endif + +#if defined(BOARD_RS232_1) + const gpio_map_t BOARD_RS232_1_GPIO_MAP = { + BOARD_RS232_1_TX, + BOARD_RS232_1_RX +#if defined(BOARD_RS232_1_RTS) && defined (BOARD_RS232_1_CTS) + BOARD_RS232_1_RTS, + BOARD_RS232_1_CTS +#endif + }; +#endif + +#if defined(BOARD_RS232_0) + gpio_enable_module(BOARD_RS232_0_GPIO_MAP, + sizeof(BOARD_RS232_0_GPIO_MAP) / + sizeof(BOARD_RS232_0_GPIO_MAP[0])); +#endif + +#if defined(BOARD_RS232_1) + gpio_enable_module(BOARD_RS232_1_GPIO_MAP, + sizeof(BOARD_RS232_1_GPIO_MAP) / + sizeof(BOARD_RS232_1_GPIO_MAP[0])); +#endif +#endif /* NO_SERIAL */ +} + +static void init_printk(void) +{ +#ifndef NO_SERIAL +#if defined(CONFIG_CONSOLE_PORT) + const usart_options_t usart_options = { + .baudrate = 57600, + .charlength = 8, + .paritytype = USART_NO_PARITY, + .stopbits = USART_1_STOPBIT, + .channelmode = USART_NORMAL_CHMODE + }; + usart_init_rs232(&CONFIG_CONSOLE_PORT, &usart_options, FPBA_HZ); +#endif +#endif /* NO_SERIAL */ +} + +void board_init(void) +{ + + init_exceptions(); + init_hmatrix(); + init_sys_clocks(); + init_interrupts(); + + init_rs232(); + init_printk(); + +#ifdef WITH_SDRAM + sdramc_init(FHSB_HZ); +#endif + init_spi(); +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/board_init.h b/firmware/libraries/WiFi/extras/wifiHD/src/board_init.h new file mode 100644 index 0000000..05a6609 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/board_init.h @@ -0,0 +1,313 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef STARTUP_H +#define STARTUP_H + +#include <board.h> +#include <wl_api.h> /* defines SPB104, SPB105 */ + +void board_init(void); + + + +/* + * + * EVK1100 + * --------------------------------------------------------------------------- + * + */ +#if BOARD == EVK1100 + +/* USART0 physical assignment */ +#define BOARD_RS232_0 AVR32_USART1 +#define BOARD_RS232_0_TX \ + { AVR32_USART1_TXD_0_0_PIN, AVR32_USART1_TXD_0_0_FUNCTION } +#define BOARD_RS232_0_RX \ + { AVR32_USART1_RXD_0_0_PIN, AVR32_USART1_RXD_0_0_FUNCTION } + +/* USART1 physical assignment */ +#define BOARD_RS232_1 AVR32_USART0 +#define BOARD_RS232_1_TX \ + { AVR32_USART0_TXD_0_0_PIN, AVR32_USART0_TXD_0_0_FUNCTION } +#define BOARD_RS232_1_RX \ + { AVR32_USART0_RXD_0_0_PIN, AVR32_USART0_RXD_0_0_FUNCTION }, + +/* Clocks */ +#define USE_PLL +#define OSC 0 +#define PLL_MUL 10 + +/* Wifi (SPB104 only) */ +#if defined(EXT_BOARD) +#if EXT_BOARD == SPB104 +#define WL_SPI AVR32_SPI1 /* Pin 8 NC, so no irq support if using SD-slot */ +#define WL_SPI_CLOCK_DIVIDER 3 /* due to adapter */ +#define WL_PDCA_PID_TX AVR32_PDCA_PID_SPI1_TX +#define WL_PDCA_PID_RX AVR32_PDCA_PID_SPI1_RX +#define WL_SPI_CS 1 +#define WL_SPI_NPCS0 { AVR32_SPI1_NPCS_0_0_PIN, AVR32_SPI1_NPCS_0_0_FUNCTION } +#define WL_SPI_NPCS { AVR32_SPI1_NPCS_1_0_PIN, AVR32_SPI1_NPCS_1_0_FUNCTION } +#define WL_SPI_MISO { AVR32_SPI1_MISO_0_0_PIN, AVR32_SPI1_MISO_0_0_FUNCTION } +#define WL_SPI_MOSI { AVR32_SPI1_MOSI_0_0_PIN, AVR32_SPI1_MOSI_0_0_FUNCTION } +#define WL_SPI_SCK { AVR32_SPI1_SCK_0_0_PIN, AVR32_SPI1_SCK_0_0_FUNCTION } +#endif +#endif /* EXT_BOARD */ + + + + + + +/* + * + * EVK1101 + * --------------------------------------------------------------------------- + * + */ +#elif BOARD == EVK1101 + +/* USART0 physical assignment */ +#define BOARD_RS232_0 AVR32_USART1 +#define BOARD_RS232_0_TX \ + { AVR32_USART1_TXD_0_0_PIN, AVR32_USART1_TXD_0_0_FUNCTION } +#define BOARD_RS232_0_RX \ + { AVR32_USART1_RXD_0_0_PIN, AVR32_USART1_RXD_0_0_FUNCTION } + +/* Clocks */ +#define USE_PLL +#define OSC 0 +#define PLL_MUL 9 + +/* Wifi (SPB104 only) */ +#if defined(EXT_BOARD) +#if EXT_BOARD == SPB104 /* Pin 8 NC, so no irq support if using SD-slot */ +#define WL_SPI AVR32_SPI +#define WL_SPI_CLOCK_DIVIDER 3 /* due to adapter */ +#define WL_PDCA_PID_TX AVR32_PDCA_PID_SPI_TX +#define WL_PDCA_PID_RX AVR32_PDCA_PID_SPI_RX +#define WL_SPI_CS 1 +#if EXT_BOARD == SPB105 + #define WL_SHUTDOWN_PIN AVR32_PIN_PA06 + #define WL_POWER_PIN AVR32_PIN_PA30 +#endif +#define WL_SPI_NPCS0 { AVR32_SPI_NPCS_0_0_PIN, AVR32_SPI_NPCS_0_0_FUNCTION } +#define WL_SPI_NPCS { AVR32_SPI_NPCS_1_0_PIN, AVR32_SPI_NPCS_1_0_FUNCTION } +#define WL_SPI_MISO { AVR32_SPI_MISO_0_0_PIN, AVR32_SPI_MISO_0_0_FUNCTION } +#define WL_SPI_MOSI { AVR32_SPI_MOSI_0_0_PIN, AVR32_SPI_MOSI_0_0_FUNCTION } +#define WL_SPI_SCK { AVR32_SPI_SCK_0_0_PIN, AVR32_SPI_SCK_0_0_FUNCTION } +#endif +#endif /* EXT_BOARD */ + + + + + + + +/* + * + * EVK1104 + * --------------------------------------------------------------------------- + * + */ +#elif BOARD == EVK1104 /* EVK1104 */ + +/* USART0 physical assignment */ +#define BOARD_RS232_0 AVR32_USART1 +#define BOARD_RS232_0_TX \ + { AVR32_USART1_TXD_0_0_PIN, AVR32_USART1_TXD_0_0_FUNCTION } +#define BOARD_RS232_0_RX \ + { AVR32_USART1_RXD_0_0_PIN, AVR32_USART1_RXD_0_0_FUNCTION } + +/* Clocks */ +#define USE_PLL +#define OSC 0 +#define PLL_MUL 9 /* for some reason we cant use 66 MHz */ + +/* Wifi (SDIO: SPB104 only; SPI: SPB105 only) */ +#if defined(EXT_BOARD) +#if EXT_BOARD == SPB105 + #define WL_SPI AVR32_SPI0 + #define WL_PDCA_PID_TX AVR32_PDCA_PID_SPI0_TX + #define WL_PDCA_PID_RX AVR32_PDCA_PID_SPI0_RX + #define WL_SPI_CLOCK_DIVIDER 3 /* due to adapter */ + #define WL_SHUTDOWN_PIN AVR32_PIN_PA17 /* Pin 8 on RF-head -> Pin 4 on wifi */ + #define WL_IRQ_PIN AVR32_PIN_PA18 /* Pin 6 on RF-head -> Pin 3 on wifi */ + #define WL_IRQ AVR32_GPIO_IRQ_2 + #define WL_SPI_CS 3 + #define WL_SPI_NPCS { AVR32_SPI0_NPCS_3_1_PIN, AVR32_SPI0_NPCS_3_1_FUNCTION } + #define WL_SPI_MISO { AVR32_SPI0_MISO_0_0_PIN, AVR32_SPI0_MISO_0_0_FUNCTION } + #define WL_SPI_MOSI { AVR32_SPI0_MOSI_0_0_PIN, AVR32_SPI0_MOSI_0_0_FUNCTION } + #define WL_SPI_SCK { AVR32_SPI0_SCK_0_0_PIN, AVR32_SPI0_SCK_0_0_FUNCTION } +#elif EXT_BOARD == SPB104 + #ifdef SDIO_SLOT_A + #define WL_SDIO_CLK { AVR32_MCI_CLK_0_PIN, AVR32_MCI_CLK_0_FUNCTION } + #define WL_SDIO_CMD { AVR32_MCI_CMD_0_PIN, AVR32_MCI_CMD_0_FUNCTION } + #define WL_SDIO_DAT0 { AVR32_MCI_DATA_0_PIN, AVR32_MCI_DATA_0_FUNCTION } + #define WL_SDIO_DAT1 { AVR32_MCI_DATA_1_PIN, AVR32_MCI_DATA_1_FUNCTION } + #define WL_SDIO_DAT2 { AVR32_MCI_DATA_2_PIN, AVR32_MCI_DATA_2_FUNCTION } + #define WL_SDIO_DAT3 { AVR32_MCI_DATA_3_PIN, AVR32_MCI_DATA_3_FUNCTION } + #else + #define WL_SDIO_CLK { AVR32_MCI_CLK_0_PIN, AVR32_MCI_CLK_0_FUNCTION } + #define WL_SDIO_CMD { AVR32_MCI_CMD_1_0_PIN, AVR32_MCI_CMD_1_0_FUNCTION } + #define WL_SDIO_DAT0 { AVR32_MCI_DATA_8_0_PIN, AVR32_MCI_DATA_8_0_FUNCTION } + #define WL_SDIO_DAT1 { AVR32_MCI_DATA_9_0_PIN, AVR32_MCI_DATA_9_0_FUNCTION } + #define WL_SDIO_DAT2 { AVR32_MCI_DATA_10_0_PIN, AVR32_MCI_DATA_10_0_FUNCTION } + #define WL_SDIO_DAT3 { AVR32_MCI_DATA_11_0_PIN, AVR32_MCI_DATA_11_0_FUNCTION } + #endif +#endif +#endif /* EXT_BOARD */ + + + + + + + +/* + * + * EVK1105 + * --------------------------------------------------------------------------- + * + */ +#elif BOARD == EVK1105 /* EVK1105 */ + + +/* USART0 physical assignment */ +#define BOARD_RS232_0 AVR32_USART0 +#define BOARD_RS232_0_TX \ + { AVR32_USART0_TXD_0_0_PIN, AVR32_USART0_TXD_0_0_FUNCTION } +#define BOARD_RS232_0_RX \ + { AVR32_USART0_RXD_0_0_PIN, AVR32_USART0_RXD_0_0_FUNCTION } + +/* Clocks */ +#define USE_PLL +#define OSC 1 +#define PLL_MUL 10 + +/* Wifi SPB104/SPB105 */ +#if defined(EXT_BOARD) + #define WL_SPI AVR32_SPI0 + #define WL_PDCA_PID_TX AVR32_PDCA_PID_SPI0_TX + #define WL_PDCA_PID_RX AVR32_PDCA_PID_SPI0_RX + #if EXT_BOARD == SPB105 + #define WL_SPI_CLOCK_DIVIDER 3 /* due to adapter */ + #define WL_SHUTDOWN_PIN AVR32_PIN_PB31 /* Pin 8 on RF-head -> Pin 4 on wifi */ + #define WL_IRQ_PIN AVR32_PIN_PB30 /* Pin 6 on RF-head -> Pin 3 on wifi */ + #define WL_IRQ AVR32_GPIO_IRQ_7 + #define WL_SPI_CS 2 + #elif EXT_BOARD == SPB104 + #define WL_SPI_CLOCK_DIVIDER 3 /* due to adapter */ + #define WL_SPI_CS 1 + #endif + #define WL_SPI_NPCS0 { AVR32_SPI0_NPCS_0_0_PIN, AVR32_SPI0_NPCS_0_0_FUNCTION } + #if WL_SPI_CS == 1 + #define WL_SPI_NPCS { AVR32_SPI0_NPCS_1_0_PIN, AVR32_SPI0_NPCS_1_0_FUNCTION } + #elif WL_SPI_CS == 2 + #define WL_SPI_NPCS { AVR32_SPI0_NPCS_2_0_PIN, AVR32_SPI0_NPCS_2_0_FUNCTION } + #endif + #define WL_SPI_MISO { AVR32_SPI0_MISO_0_0_PIN, AVR32_SPI0_MISO_0_0_FUNCTION } + #define WL_SPI_MOSI { AVR32_SPI0_MOSI_0_0_PIN, AVR32_SPI0_MOSI_0_0_FUNCTION } + #define WL_SPI_SCK { AVR32_SPI0_SCK_0_0_PIN, AVR32_SPI0_SCK_0_0_FUNCTION } +#endif /* EXT_BOARD */ + +/* + * + * ARDUINO + * --------------------------------------------------------------------------- + * + */ +#elif BOARD == ARDUINO /* ARDUINO */ + + +/* USART0 physical assignment */ +#define BOARD_RS232_1 AVR32_USART1 +#define BOARD_RS232_1_TX \ + { AVR32_USART1_TXD_0_0_PIN, AVR32_USART1_TXD_0_0_FUNCTION } +#define BOARD_RS232_1_RX \ + { AVR32_USART1_RXD_0_0_PIN, AVR32_USART1_RXD_0_0_FUNCTION } + +/* Clocks */ +#define USE_PLL +#define OSC 0 +#define PLL_MUL 8 + +#define WL_SPI AVR32_SPI1 +#define WL_PDCA_PID_TX AVR32_PDCA_PID_SPI1_TX +#define WL_PDCA_PID_RX AVR32_PDCA_PID_SPI1_RX + +#define WL_SHUTDOWN_PIN AVR32_PIN_PA09 +#define WL_IRQ_PIN AVR32_PIN_PA03 +/* +* WL_IRQ_# = (WL_IRQ_PIN / 32) * 4 + (WL_IRQ_PIN / 8) % 4 + * 3 => 0 * 4 + 0 = 0 +*/ +#define WL_IRQ AVR32_GPIO_IRQ_0 +#define WL_SPI_CS 0 +#define WL_RESET_PIN AVR32_PIN_PA07 +#define WL_EXTERNAL_RESET 1 + + +#define WL_SPI_NPCS { AVR32_SPI1_NPCS_0_0_PIN, AVR32_SPI1_NPCS_0_0_FUNCTION } +#define WL_SPI_MISO { AVR32_SPI1_MISO_0_0_PIN, AVR32_SPI1_MISO_0_0_FUNCTION } +#define WL_SPI_MOSI { AVR32_SPI1_MOSI_0_0_PIN, AVR32_SPI1_MOSI_0_0_FUNCTION } +#define WL_SPI_SCK { AVR32_SPI1_SCK_0_0_PIN, AVR32_SPI1_SCK_0_0_FUNCTION } + +#endif /* EVKxxxx */ + + + + + + + + + +#if OSC == 0 +# define FOSC FOSC0 /* 12 MHz */ +#else +# define FOSC FOSC1 /* 11.2896 MHz */ +#endif + +#ifdef USE_PLL +# define FMCK_HZ ((FOSC * (PLL_MUL + 1)) / 2) +#else +# define FMCK_HZ FOSC +#endif + +#define FCPU_HZ FMCK_HZ +#define FHSB_HZ FCPU_HZ +#define FPBB_HZ FMCK_HZ +#define FPBA_HZ FMCK_HZ + + +#ifndef CONFIG_CONSOLE_PORT +#define CONFIG_CONSOLE_PORT BOARD_RS232_1 +#endif + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/cmd_wl.c b/firmware/libraries/WiFi/extras/wifiHD/src/cmd_wl.c new file mode 100644 index 0000000..a210dec --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/cmd_wl.c @@ -0,0 +1,731 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include <top_defs.h> +#include <ctype.h> +#include <stdlib.h> +#include <string.h> + +#include <cmd_wl.h> + +#include <wl_cm.h> +#include <console.h> +#include <util.h> +#include <lwip_setup.h> + +#include "lwip/netif.h" +#include "lwip/dns.h" +#include "debug.h" +#include "ard_spi.h" +#include "ard_tcp.h" +#include "ard_utils.h" + +extern void showTTCPstatus(); + +#define _DNS_CMD_ + +/** + * + */ +cmd_state_t +cmd_scan(int argc, char* argv[], void* ctx) +{ + /* Note that the scan results presented will + * be from the last scan, not this one. + */ + wl_scan(); + print_network_list(); + return CMD_DONE; +} + +cmd_state_t +cmd_debug_toggle(int argc, char* argv[], void* ctx) +{ + extern uint8_t tr_data_trace; + if ( argc != 2 ) { + printk("usage: dt <1|0>\n"); + return CMD_DONE; + } + if ( '0' == argv[1][0] ) { + tr_data_trace = 0; + } + if ( '1' == argv[1][0] ) { + tr_data_trace = 1; + } + return CMD_DONE; +} + +/** + * + */ +cmd_state_t +cmd_connect(int argc, char* argv[], void* ctx) +{ + struct wl_ssid_t ssid; + char desired_ssid[WL_SSID_MAX_LENGTH]; + int len = 0; + + if (argc < 2) { + printk("usage: connect <ssid>\n"); + return CMD_DONE; + } + + len = join_argv(desired_ssid, sizeof desired_ssid, argc - 1, argv + 1); + if (0 == len) { + return CMD_DONE; + } + + memcpy(ssid.ssid, desired_ssid, len); + ssid.len = len; + /* Start connection manager */ + wl_cm_set_network(&ssid, NULL); + wl_cm_start(); + return CMD_DONE; +} + +#ifdef WFE_6_12 +cmd_state_t +cmd_ibss(int argc, char* argv[], void* ctx) +{ + struct wl_ssid_t ssid; + char desired_ssid[WL_SSID_MAX_LENGTH]; + uint8_t channel; + enum wl_auth_mode amode; + int len = 0; + wl_err_t ret; + + if ( 2 == argc && ! strncmp(argv[1], "none", 4) ) { + printk("Disconnecting\n"); + wl_disconnect(); + wl_cm_stop(); + return CMD_DONE; + } + if (argc < 4) { + printk("usage: ibss <ssid> <channel (1-14)> <wep_enable (1|0)>\n"); + printk(" ibss none\n"); + return CMD_DONE; + } + + channel = atoi(argv[argc - 2]); + if ( *argv[argc - 1] == '0' ) { + amode = AUTH_MODE_OPEN_SYSTEM; + } else { + amode = AUTH_MODE_SHARED_KEY; + } + len = join_argv(desired_ssid, sizeof desired_ssid, argc - 3, argv + 1); + if (0 == len) { + return CMD_DONE; + } + if ( channel > 14 ) { + printk("Invalid channel %d\n", (int)channel); + return CMD_DONE; + } + printk("%s : Start with ssid \"%s\", channel %d\n", __func__, + desired_ssid, channel); + memcpy(ssid.ssid, desired_ssid, len); + ssid.len = len; + /* Stop the connection manager */ + wl_cm_stop(); + + ret = wl_start_adhoc_net(ssid, channel, amode); + switch (ret) { + case WL_BUSY: + printk("Driver is busy. Already connected?\n"); + break; + case WL_RETRY: + printk("Driver is busy. Retry operation\n"); + break; + case WL_OOM: + printk("Out of memory\n"); + break; + case WL_INVALID_ARGS: + printk("Invalid argument\n"); + break; + case WL_SUCCESS: + break; + default: + printk("Unknown error %d\n", ret); + break; + } + return CMD_DONE; +} +#endif +/** + * + */ +cmd_state_t +cmd_set_ip(int argc, char* argv[], void* ctx) +{ + struct ctx_server *hs = ctx; + struct net_cfg *ncfg = &(hs->net_cfg); + struct ip_addr lwip_addr; + struct netif *nif = ncfg->netif; + + if (argc == 2 && + (strncmp(argv[1], "none", 4) == 0)) { + ncfg->dhcp_enabled = DYNAMIC_IP_CONFIG; + + return CMD_DONE; + } + else if (argc != 4 ) { + printk("usage: ipconfig <ip> <netmask> <gateway-ip>\n"); + printk(" or : ipconfig none (to enable DHCP)\n"); + return CMD_DONE; + } + + /* IP address */ + lwip_addr = str2ip(argv[1]); + INFO_SPI("nif:%p lwip_addr=0x%x\n", nif, lwip_addr.addr); + netif_set_ipaddr(nif, &lwip_addr); + /* Netmask */ + lwip_addr = str2ip(argv[2]); + netif_set_netmask(nif, &lwip_addr); + /* Default Gateway address */ + lwip_addr = str2ip(argv[3]); + netif_set_gw(nif, &lwip_addr); + /* Disable DHCP */ + ncfg->dhcp_enabled = STATIC_IP_CONFIG; + + return CMD_DONE; +} + +#ifdef WITH_WPA + +/** + * + */ +cmd_state_t +cmd_delpass(int argc, char* argv[], void* ctx) +{ + const char *usage = "usage: dpass <ssid>\n"; + struct wl_network_t net; + char desired_ssid[WL_SSID_MAX_LENGTH]; + int len = 0; + + if (argc != 2) { + printk(usage); + return CMD_DONE; + } + + memset(&net, 0, sizeof net); + memset(net.bssid.octet, 0xFF, sizeof net.bssid.octet); + + len = join_argv(desired_ssid, sizeof desired_ssid, argc - 1, argv + 1); + if (0 == len) { + return CMD_DONE; + } + memcpy(net.ssid.ssid, desired_ssid, len); + net.ssid.len = len; + net.enc_type = ENC_TYPE_AUTO; + if (wl_clear_passphrase(&net) != WL_SUCCESS) { + printk("%s : Failed to delete passphrase\n", __func__); + } + + return CMD_DONE; +} + + +/** + * + */ +cmd_state_t +cmd_setpass(int argc, char* argv[], void* ctx) +{ + const char *usage = "usage: wpass <ssid> <passphrase>\n"; + struct wl_network_t net; + char desired_ssid[WL_SSID_MAX_LENGTH]; + int len = 0; + + if (argc < 3) { + printk(usage); + return CMD_DONE; + } + /* Not really kosher, an ssid may legally contain 0-bytes but + * the console interface does not deal with that. + */ + memset(&net, 0, sizeof net); + memset(net.bssid.octet, 0xFF, sizeof net.bssid.octet); + + len = join_argv(desired_ssid, sizeof desired_ssid, argc - 2, argv + 1); + if (0 == len) { + return CMD_DONE; + } + + memcpy(net.ssid.ssid, desired_ssid, len); + net.ssid.len = len; + net.enc_type = ENC_TYPE_AUTO; + if (wl_set_passphrase(&net, + argv[argc - 1], + strlen(argv[argc - 1]), + ENC_TYPE_AUTO, + AUTH_MODE_AUTO) + != WL_SUCCESS) { + printk("%s : Failed to add passphrase\n", __func__); + } + + return CMD_DONE; +} +#endif + +#ifdef _DNS_CMD_ +void foundHost(const char *name, struct ip_addr *ipaddr, void *callback_arg) +{ + printk("Found Host: name=%s ip=0x%x\n", name, ipaddr->addr); +} + +/** + * + */ +cmd_state_t +cmd_gethostbyname(int argc, char* argv[], void* ctx) +{ + const char *usage = "usage: getHost <hostname>\n"; + char hostname[DNS_MAX_NAME_LENGTH]; + struct ip_addr _addr; + int len = 0; + + if (argc < 2) { + printk(usage); + return CMD_DONE; + } + + len = join_argv(hostname, sizeof hostname, argc - 1, argv + 1); + if (0 == len) { + return CMD_DONE; + } + err_t err = dns_gethostbyname(hostname, &_addr, foundHost, NULL); + if (err == ERR_OK) + { + printk("Found Host: name=%s ip=0x%x\n", hostname, _addr.addr); + } + + return CMD_DONE; +} + +/** + * + */ +cmd_state_t +cmd_setDnsServer(int argc, char* argv[], void* ctx) +{ + const char *usage = "usage: setdns [1-2] aaa.bbb.ccc.ddd\n"; + struct ip_addr dnsIp; + int dnsIdx = 0; + + if (argc < 3) { + printk(usage); + return CMD_DONE; + } + + /* DNS IDX */ + dnsIdx = atoi(argv[1])-1; + /* IP address */ + dnsIp = str2ip(argv[2]); + + printk("Set DNS server %d to %s\n", dnsIdx, ip2str(dnsIp)); + dns_setserver(dnsIdx, &dnsIp); + struct ip_addr addr1 = dns_getserver(0); + struct ip_addr addr2 = dns_getserver(1); + + printk("==> DNS1: %s\n", ip2str(addr1), addr1); + printk("==> DNS2: %s\n", ip2str(addr2), addr2); + + return CMD_DONE; +} + +/** + * + */ +cmd_state_t +cmd_startSrv(int argc, char* argv[], void* ctx) +{ + const char *usage = "usage: startSrv <port> <sock> <tcp(0)/udp(1)>\n"; + + int port = 0; + int sock = 0; + int protMode = 0; + + if (argc < 4) { + printk(usage); + return CMD_DONE; + } + + /* TCP port */ + port = atoi(argv[1]); + /* socket index */ + sock = atoi(argv[2]); + /* Protocol Mode */ + protMode = atoi(argv[3]); + + printk("Start %s server on port %d sock %d\n", ProtMode2Str(protMode), port, sock); + if (start_server_tcp(port, sock, protMode) == -1) + { + WARN("Start %s server on port %d sock %d FAILED\n", ProtMode2Str(protMode), port, sock); + } + return CMD_DONE; +} + +/** + * + */ +cmd_state_t +cmd_startCli(int argc, char* argv[], void* ctx) +{ + const char *usage = "usage: startCli <ipaddr> <port> <sock> <tcp(0)/udp(1)>\n"; + struct ip_addr addr = {0}; + int port = 0; + int sock = 0; + int protMode = 0; + + if (argc < 5) { + printk(usage); + return CMD_DONE; + } + + /* IP address */ + addr = str2ip(argv[1]); + /* TCP port */ + port = atoi(argv[2]); + /* socket index */ + sock = atoi(argv[3]); + /* Protocol Mode */ + protMode = atoi(argv[4]); + + printk("Start client on addr 0x%x, port %d sock %d mode %d\n", addr, port, sock, protMode); + if (start_client_tcp(addr.addr, port, sock, protMode) == -1) + { + WARN("Start client on port %d sock %d prot %d mode %d FAILED\n", port, sock, protMode); + } + return CMD_DONE; +} + +#endif + + +/** + * + */ +cmd_state_t +cmd_status(int argc, char* argv[], void* ctx) +{ + struct net_cfg *ncfg = ctx; + struct wl_network_t* net; + uint8_t mac[WL_MAC_ADDR_LENGTH]; + + printk("wl_api version " WL_API_RELEASE_NAME "\n"); + /* print mac address */ + if (wl_get_mac_addr(mac) != WL_SUCCESS) { + printk("failed to get mac address\n"); + }else{ + printk("hw addr: %s\n", mac2str(mac)); + } + + /* print network info */ + net = wl_get_current_network(); + printk("link status: "); + if (!net) { + printk("down\n"); + + }else{ + print_network(net); + } + + /* print ip address */ + if (netif_is_up(netif_default)) + { + printk("ip addr: %s - ", ip2str(netif_default->ip_addr)); + printk("netmask: %s - ", ip2str(netif_default->netmask)); + printk("gateway: %s\n", ip2str(netif_default->gw)); + } + else + printk("ip interface is down\n"); + printk("dhcp : "); + if (ncfg->dhcp_enabled == DYNAMIC_IP_CONFIG) { + printk("enabled\n"); + } + else { + printk("disabled\n"); + } + struct ip_addr addr1 = dns_getserver(0); + struct ip_addr addr2 = dns_getserver(1); + + printk("DNS: %s - ", ip2str(addr1)); + printk("%s\n", ip2str(addr2)); + + showTTCPstatus(); + return CMD_DONE; +} + +#ifdef ADD_CMDS +/** + * + */ +cmd_state_t +cmd_power(int argc, char* argv[], void* ctx) +{ + const char *usage = "usage: powersave <on|off>\n"; + + if (argc < 2) { + printk(usage); + return CMD_DONE; + } + + if (!strcmp(argv[1], "on")) { + if (wl_enable_ps() != WL_SUCCESS) { + printk("could not enable power save\n"); + return CMD_DONE; + } + return CMD_DONE; + } + else if(!strcmp(argv[1], "off")) { + if (wl_disable_ps() != WL_SUCCESS) { + printk("could not disable power save\n"); + return CMD_DONE; + } + return CMD_DONE; + } + + printk(usage); + return CMD_DONE; +} +#endif + +#ifdef ADD_CMDS +/** + * + */ +cmd_state_t +cmd_psconf(int argc, char* argv[], void* ctx) +{ + const char *usage = + "usage: psconf <use_ps_poll> (0/1 default 0)\n" \ + " <traffic_timeout> ([ms] default 10)\n" \ + " <ps_delay> ([ms] default 5000)\n"\ + " <rx_all_dtim> (0/1 default 1)\n"\ + " <listen_interval> ([beacons] default 20)\n"; + + uint8_t use_ps_poll; + uint32_t traffic_timeout; + uint32_t ps_delay; + uint8_t rx_all_dtim; + uint16_t listen_interval; + + if (argc < 6) { + printk(usage); + return CMD_DONE; + } + + use_ps_poll = atoi(argv[1]); + traffic_timeout = atoi(argv[2]); + ps_delay = atoi(argv[3]); + rx_all_dtim = atoi(argv[4]); + listen_interval = atoi(argv[5]); + + if (use_ps_poll > 1) { + printk(usage); + return CMD_DONE; + } + + if (rx_all_dtim > 1) { + printk(usage); + return CMD_DONE; + } + + if (wl_conf_ps(use_ps_poll, traffic_timeout, ps_delay, + rx_all_dtim, listen_interval) != WL_SUCCESS) + printk("configuration failed\n"); + + return CMD_DONE; +} +#endif + +/** + * + */ +cmd_state_t +cmd_setkey(int argc, char* argv[], void* ctx) +{ + int idx, len; + char key[13]; + struct wl_mac_addr_t bssid; + const char *usage = "usage: setkey <key_idx (0-3)> <key in hex>\n\t "\ + "or: setkey none\n"; + + memset(&bssid.octet, 0xff, sizeof bssid.octet); + if (argc == 2 && strcmp(argv[1], "none") == 0) { + printk("Deleting WEP keys\n"); + wl_delete_wep_key(0, &bssid); + wl_delete_wep_key(1, &bssid); + wl_delete_wep_key(2, &bssid); + wl_delete_wep_key(3, &bssid); + return CMD_DONE; + } + if (argc < 3) { + printk(usage); + return CMD_DONE; + } + idx = atoi(argv[1]); + len = strlen(argv[2]); + /* Pass phrase? */ + if ( 5 == len || 13 == len ) { + strncpy(key, argv[2], len); + } + /* Otherwise it's a hex string */ + else { + len = ascii_to_key(key, argv[2]); + if (0 == len || idx > 3 || idx < 0 || (idx == 0 && *argv[1] != '0')) { + printk(usage); + return CMD_DONE; + } + if (len != 5 && len != 13) { + printk(" WEP key must be 10 (WEP-40) or 26 (WEP-104) digits\n"); + return CMD_DONE; + } + } + wl_add_wep_key(idx, len, key, &bssid); + wl_set_default_wep_key(idx); + + return CMD_DONE; +} + +cmd_state_t +cmd_debug(int argc, char* argv[], void* ctx) +{ + int level; + const char *usage = "usage: debug <section> <level>\n\t"\ + "section: init, cm, spi, tcp , util, warn\n\t" + "level : 0 (off), 1 (on), 2 (verbose)\n\t" + "or: debug print/on/off\n"; + + if (argc == 2 && strcmp(argv[1], "off") == 0) { + printk("Debug OFF\n"); + INIT_DEBUG_VARIABLES() + return CMD_DONE; + }else if (argc == 2 && strcmp(argv[1], "print") == 0) { + PRINT_DEBUG_VARIABLES() + return CMD_DONE; + }else if (argc == 2 && strcmp(argv[1], "on") == 0) { + printk("Debug ON\n"); + TURNON_DEBUG_VARIABLES(); + return CMD_DONE; + } + if (argc < 3) { + printk(usage); + return CMD_DONE; + } + level = atoi(argv[2]); + if (argc == 3 && strcmp(argv[1], "init") == 0) { + CHECK_DEBUG_LEVEL(level, INFO_INIT_FLAG); + }else if (argc == 3 && strcmp(argv[1], "spi") == 0) { + CHECK_DEBUG_LEVEL(level, INFO_SPI_FLAG); + }else if (argc == 3 && strcmp(argv[1], "tcp") == 0) { + CHECK_DEBUG_LEVEL(level, INFO_TCP_FLAG); + }else if (argc == 3 && strcmp(argv[1], "cm") == 0) { + CHECK_DEBUG_LEVEL(level, INFO_CM_FLAG); + }else if (argc == 3 && strcmp(argv[1], "util") == 0) { + CHECK_DEBUG_LEVEL(level, INFO_UTIL_FLAG); + }else if (argc == 3 && strcmp(argv[1], "warn") == 0) { + CHECK_DEBUG_LEVEL(level, INFO_WARN_FLAG); + } + return CMD_DONE; +} + +extern void dumpPbuf(uint8_t sock); + +/** + * + */ +cmd_state_t +cmd_dumpBuf(int argc, char* argv[], void* ctx) +{ + const char *usage = "usage: dumpPbuf [sock]\n\t"\ + "sock: socket Number\n"; + + if (argc == 2 && strcmp(argv[1], "all") == 0) { + printk("Dump All Buffers\n"); + int i = 0; + for (; i<MAX_SOCK_NUM; ++i) + { + printk("Socket: %d\n", i); + dumpPbuf(i); + } + }else if (argc == 2) { + uint8_t sock = atoi(argv[1]); + printk("Socket: %d\n", sock); + dumpPbuf(sock); + }else { + printk(usage); + } + return CMD_DONE; +} + + + +/** + * + */ +cmd_state_t +cmd_sendUdpData(int argc, char* argv[], void* ctx) +{ + const char pattern[]={'M', 'I', 'M', 'L', 'F', 'D'}; + const char* pattern2[]={"Prova", "1234567890","FineTest"}; + const char *usage = "usage: sendUdp [sock]\n\t"\ + "sock: socket Number\n"; + + if (argc < 2) + printk(usage); + + if (argc >= 2) { + + uint8_t sock = atoi(argv[1]); + printk("Socket: %d\n", sock); + + if (argc >= 3) { + uint8_t patternType = atoi(argv[2]); + printk("PatternType: %d\n", patternType); + if (patternType == 1) + { + insertBuf(sock, (uint8_t*)pattern2[0], strlen(pattern2[0])); + insertBuf(sock, (uint8_t*)pattern2[1], strlen(pattern2[1])); + insertBuf(sock, (uint8_t*)pattern2[2], strlen(pattern2[2])); + } + if (patternType == 2) + { + mergeBuf(sock, NULL, NULL); + } + }else{ + if (sock < MAX_SOCK_NUM) + { + sendUdpData(getTTCP(sock, TTCP_MODE_TRANSMIT), (uint8_t*)pattern, sizeof(pattern)/sizeof(char)); + } + } + + } + return CMD_DONE; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/cmd_wl.h b/firmware/libraries/WiFi/extras/wifiHD/src/cmd_wl.h new file mode 100644 index 0000000..a1d1a0f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/cmd_wl.h @@ -0,0 +1,66 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef CMD_CM_H +#define CMD_CM_H + +#include <console.h> +#include "netif/wlif.h" + +/*! A pointer to a struct of type "struct net_cfg" should be passed as + * the ctx pointer in the callbacks below. The struct must have a + * single instance per netif. + */ +#define _DNS_CMD_ + +cmd_state_t cmd_scan(int argc, char* argv[], void* ctx); +cmd_state_t cmd_connect(int argc, char* argv[], void* ctx); +cmd_state_t cmd_set_ip(int argc, char* argv[], void* ctx); +cmd_state_t cmd_setkey(int argc, char* argv[], void* ctx); +cmd_state_t cmd_status(int argc, char* argv[], void* ctx); +cmd_state_t cmd_power(int argc, char* argv[], void* ctx); +cmd_state_t cmd_psconf(int argc, char* argv[], void* ctx); +cmd_state_t cmd_setpass(int argc, char* argv[], void* ctx); +cmd_state_t cmd_delpass(int argc, char* argv[], void* ctx); +cmd_state_t cmd_debug(int argc, char* argv[], void* ctx); +cmd_state_t cmd_debug_toggle(int argc, char* argv[], void* ctx); +cmd_state_t cmd_statSpi(int argc, char* argv[], void* ctx); +cmd_state_t cmd_resetStatSpi(int argc, char* argv[], void* ctx); +cmd_state_t cmd_gethostbyname(int argc, char* argv[], void* ctx); +cmd_state_t cmd_setDnsServer(int argc, char* argv[], void* ctx); +cmd_state_t cmd_startSrv(int argc, char* argv[], void* ctx); +cmd_state_t cmd_startCli(int argc, char* argv[], void* ctx); +cmd_state_t cmd_dumpBuf(int argc, char* argv[], void* ctx); +cmd_state_t cmd_sendUdpData(int argc, char* argv[], void* ctx); +#ifdef WFE_6_12 +cmd_state_t cmd_ibss(int argc, char* argv[], void* ctx); +#endif + + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/console.c b/firmware/libraries/WiFi/extras/wifiHD/src/console.c new file mode 100644 index 0000000..e54943f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/console.c @@ -0,0 +1,212 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include <top_defs.h> +#include <string.h> +#include <stdint.h> +#include <stdlib.h> +#include <printf-stdarg.h> +#include <console.h> +#include <board_init.h> +#include <usart.h> + +#define MAX_CMD_CONSOLE_NUM 15 +struct { + cmd_cb_t cb; + const char* str; + void* ctx; +} cmd_list[MAX_CMD_CONSOLE_NUM] = { { 0 } }; + +#ifndef CMD_MAX_LEN +#define CMD_MAX_LEN 80 +#endif +extern int board_putchar(char c); +int io_getc(char *c) +{ + int ci; + int status; + status = usart_read_char(&CONFIG_CONSOLE_PORT, &ci); + if (status == USART_RX_EMPTY) + return 1; + + if (status == USART_RX_ERROR) { + CONFIG_CONSOLE_PORT.cr = AVR32_USART_CR_RSTSTA_MASK; + return 1; + } + + if (ci == '\r') { + board_putchar('\n'); + /* Echo char. */ + } else if (ci == '\b') { + board_putchar(ci); + board_putchar(' '); + board_putchar(ci); + } else + board_putchar(ci); + + + *c = ci; + return 0; +} + +static uint8_t is_initialized = 0; + +char* console_gets() +{ + static char buf[CMD_MAX_LEN]; + static int pos = 0; + char c; + + for (;;) { + if (io_getc(&c)) + return NULL; + + if (c == '\r' || c == '\n') { + buf[pos] = 0; + pos = 0; + return buf; + } + if (c == '\b') { + pos -= 1; + if (pos < 0) pos = 0; + buf[pos] = 0; + } + else + buf[pos++] = c; + if (pos == sizeof(buf)) + pos = 0; + } + return NULL; +} + +int console_add_cmd(const char* str, cmd_cb_t cb, void* ctx) +{ + uint32_t i; + for (i = 0; i < ARRAY_SIZE(cmd_list); i++) + if (!cmd_list[i].cb) + break; + + if (i == ARRAY_SIZE(cmd_list)) + return -1; + + cmd_list[i].str = str; + cmd_list[i].cb = cb; + cmd_list[i].ctx = ctx; + return 0; +} + +void console_init(void) +{ + printk("\n$ "); + is_initialized = 1; +} + +void console_init_silent(void) { + is_initialized = 1; +} + +int console_schedule_cmd(char *cmd, int interactive) { +#define MAX_ARGS 16 + static int argc, i; + static char* argv[MAX_ARGS]; + static char *buf; + static enum { INPUT, RUN } state = INPUT; + + switch (state) { + case INPUT: { + char* token; + if (NULL == cmd) { + return 0; + } + buf = strdup(cmd); + if (!buf) + return 0; + if (!strlen(buf)) { + interactive ? printk("$ ") : 0; + free(buf); + return 0; + } +#ifdef WIFI_DEBUG_ON + printk("%s : Scheduling command \"%s\"\n", + __func__, + buf); +#endif + for (i = 0; i < ARRAY_SIZE(cmd_list); i++) + if(cmd_list[i].str && !strncmp(cmd_list[i].str, buf, min(strlen(cmd_list[i].str), strlen(buf)))) + break; + + if (ARRAY_SIZE(cmd_list) == 0) { + printk("No commands available. Is the WiFi card responding?\n"); + } + if (i == ARRAY_SIZE(cmd_list)) { + if (interactive) { + printk("available commands:\n"); + for (i = 0; i < ARRAY_SIZE(cmd_list); i++) + if (cmd_list[i].cb) + printk(" %s\n", cmd_list[i].str); + printk("$ "); + } + free(buf); + return 0; + } + + for (token = strtok(buf, " "); token != NULL; + token = strtok(NULL, " ")) { + argv[argc] = token; + argc++; + if (argc == MAX_ARGS) + break; + } + + state = RUN; + } /* fall through */ + + case RUN: { + cmd_state_t s = cmd_list[i].cb(argc, argv, cmd_list[i].ctx); + if (s == CMD_INPROGRESS) + return 1; + + interactive ? printk("$ ") : 0; + + argc = 0; + memset(argv, 0, sizeof argv); + free(buf); + state = INPUT; + } + } + + return 1; +} + + +void console_poll(void) +{ + char *buf; + buf = console_gets(); + console_schedule_cmd(buf, 1); +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/console.h b/firmware/libraries/WiFi/extras/wifiHD/src/console.h new file mode 100644 index 0000000..79bfedb --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/console.h @@ -0,0 +1,46 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef CONSOLE_H +#define CONSOLE_H + + +typedef enum { + CMD_DONE, + CMD_INPROGRESS +} cmd_state_t; + +typedef cmd_state_t (*cmd_cb_t)(int argc, char* argv[], void* ctx); + +void console_init(void); +void console_init_silent(void); +char* console_gets(void); +int console_add_cmd(const char* str, cmd_cb_t cb, void* ctx); +int console_schedule_cmd(char *cmd, int interactive); +void console_poll(void); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/debug.h b/firmware/libraries/WiFi/extras/wifiHD/src/debug.h new file mode 100644 index 0000000..154b799 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/debug.h @@ -0,0 +1,191 @@ +//*********************************************/ +// +// File: debug.h +// +// Author: Domenico La Fauci +// +//********************************************/ + + +#ifndef Debug_H +#define Debug_H + +#include <stdio.h> +#include <string.h> + +#define INFO_INIT_FLAG 1 +#define INFO_TCP_FLAG 2 +#define INFO_SPI_FLAG 4 +#define INFO_CM_FLAG 8 +#define INFO_UTIL_FLAG 16 + +#define INFO_D (1<<0xD) // Debug +#define INFO_E (1<<0xE) // Error +#define INFO_WARN_FLAG (1<<0xF) // Warning +#define DEFAULT_INFO_FLAG 0 //INFO_WARN_FLAG + +#ifdef _DEBUG_ +#define DEFINE_DEBUG_VARIABLES() \ +uint16_t enableDebug = DEFAULT_INFO_FLAG | INFO_WARN_FLAG; \ +uint16_t verboseDebug = 0; \ +uint16_t dumpDebug = 0; \ +uint16_t pollDebug = 0; +#else +#define DEFINE_DEBUG_VARIABLES() \ +uint16_t enableDebug = DEFAULT_INFO_FLAG; \ +uint16_t verboseDebug = 0; \ +uint16_t dumpDebug = 0; \ +uint16_t pollDebug = 0; +#endif + +#define INIT_DEBUG_VARIABLES() \ + enableDebug = DEFAULT_INFO_FLAG | INFO_WARN_FLAG; \ + verboseDebug = 0; \ + dumpDebug = 0; pollDebug = 0; + + +#define PRINT_DEBUG_VARIABLES() \ + printk("Debug enabled: 0x%x\n", enableDebug); \ + printk("Verbose enabled: 0x%x\n", verboseDebug); \ + printk("Dump enabled: 0x%x\n", dumpDebug); \ + printk("POoll enabled: 0x%x\n", pollDebug); + +#define TURNON_DEBUG_VARIABLES() \ + enableDebug = 0xff; + +extern uint16_t enableDebug; +extern uint16_t verboseDebug; +extern uint16_t dumpDebug; +extern uint16_t pollDebug; + +#define ENABLE_DEBUG_LEVEL 1 +#define VERBOSE_DEBUG_LEVEL 2 +#define DUMP_DEBUG_LEVEL 3 +#define POLL_DEBUG_LEVEL 4 + +#define CHECK_DEBUG(VAR, LEVEL, LEVEL_LIMIT, FLAG) \ + do{ \ + if (LEVEL >= LEVEL_LIMIT) VAR |= FLAG; \ + else VAR &= ~FLAG; \ + }while(0); + +#define CHECK_ENA_DEBUG(LEVEL, FLAG) \ + CHECK_DEBUG(enableDebug, LEVEL, ENABLE_DEBUG_LEVEL, FLAG) +#define CHECK_VERB_DEBUG(LEVEL, FLAG) \ + CHECK_DEBUG(verboseDebug, LEVEL, VERBOSE_DEBUG_LEVEL, FLAG) +#define CHECK_DUMP_DEBUG(LEVEL, FLAG) \ + CHECK_DEBUG(dumpDebug, LEVEL, DUMP_DEBUG_LEVEL, FLAG) +#define CHECK_POLL_DEBUG(LEVEL, FLAG) \ + CHECK_DEBUG(pollDebug, LEVEL, POLL_DEBUG_LEVEL, FLAG) + + +#define CHECK_DEBUG_LEVEL(LEVEL, INFO_FLAG) \ + CHECK_ENA_DEBUG(LEVEL, INFO_FLAG) \ + CHECK_VERB_DEBUG(LEVEL, INFO_FLAG) \ + CHECK_DUMP_DEBUG(LEVEL, INFO_FLAG) \ + CHECK_POLL_DEBUG(LEVEL, INFO_FLAG) + +#ifdef _INFO_DEBUG_ +#define PRINT_DEBUG(msg, args...) do { \ + printk("[%s] " msg , __func__ , ##args ); \ +} while (0) + +#define INFO_DEBUG(msg, args...) do { \ + printk("I-[%s] " msg , __func__ , ##args ); \ +} while (0) + +#define WARN_DEBUG(msg, args...) do { \ + printk("W-[%s] " msg , __func__ , ##args ); \ +} while (0) + +#else +do { }while(0); +#endif + +#define IF_DEBUG(X,Y) do { \ +if (enableDebug & INFO_##X##_FLAG) \ +Y; \ +} while (0) + +#define IF_DEBUG_VER(X,Y) do { \ +if (verboseDebug & INFO_##X##_FLAG) \ +Y; \ +} while (0) + +#define IF_DEBUG_DUMP(X,Y) do { \ +if (dumpDebug & INFO_##X##_FLAG) \ +Y; \ +} while (0) + +#define IF_DEBUG_POLL(X,Y) do { \ +if (pollDebug & INFO_##X##_FLAG) {\ +Y; \ +}} while (0) + + + +#define IF_WARN(Y) IF_DEBUG(WARN,Y) +#define IF_WARN_VER(Y) IF_DEBUG_VER(WARN,Y) +#define IF_TCP(Y) IF_DEBUG(TCP,Y) +#define IF_TCP_VER(Y) IF_DEBUG_VER(TCP,Y) +#define IF_TCP_POLL(Y) IF_DEBUG_POLL(TCP,Y) +#define IF_TCP_DUMP(Y) IF_DEBUG_DUMP(TCP,Y) +#define IF_SPI(Y) IF_DEBUG(SPI,Y) +#define IF_SPI_VER(Y) IF_DEBUG_VER(SPI,Y) +#define IF_SPI_DUMP(Y) IF_DEBUG_DUMP(SPI,Y) +#define IF_SPI_POLL(Y) IF_DEBUG_POLL(SPI,Y) +#define IF_UTIL(Y) IF_DEBUG(UTIL,Y) +#define IF_UTIL_VER(Y) IF_DEBUG_VER(UTIL,Y) + +#define WARN(msg, args...) IF_DEBUG(WARN,WARN_DEBUG(msg, ##args)) +#define WARN_VER(msg, args...) IF_DEBUG_VER(WARN,WARN_DEBUG(msg, ##args)) +#define WARN_POLL(msg, args...) IF_DEBUG_POLL(WARN,WARN_DEBUG(msg, ##args)) +#if 0 // disable to reduce the size of binary +#define INFO_INIT(msg, args...) IF_DEBUG(INIT,PRINT_DEBUG(msg, ##args)) +#define INFO_INIT_VER(msg, args...) IF_DEBUG_VER(INIT,PRINT_DEBUG(msg, ##args)) +#else +#define INFO_INIT(msg, args...) +#define INFO_INIT_VER(msg, args...) +#endif +#define INFO_TCP(msg, args...) IF_DEBUG(TCP,PRINT_DEBUG(msg, ##args)) +#define INFO_TCP_VER(msg, args...) IF_DEBUG_VER(TCP,PRINT_DEBUG(msg, ##args)) +#define INFO_TCP_DUMP(msg, args...) IF_DEBUG_DUMP(TCP,PRINT_DEBUG(msg, ##args)) +#define INFO_TCP_POLL(msg, args...) IF_DEBUG_POLL(TCP,PRINT_DEBUG(msg, ##args)) +#define INFO_SPI(msg, args...) IF_DEBUG(SPI,PRINT_DEBUG(msg, ##args)) +#define INFO_SPI_VER(msg, args...) IF_DEBUG_VER(SPI,PRINT_DEBUG(msg, ##args)) +#define INFO_SPI_DUMP(msg, args...) IF_DEBUG_DUMP(SPI,PRINT_DEBUG(msg, ##args)) +#define INFO_SPI_POLL(msg, args...) IF_DEBUG_POLL(SPI,PRINT_DEBUG(msg, ##args)) +#define INFO_UTIL(msg, args...) IF_DEBUG(UTIL,PRINT_DEBUG(msg, ##args)) +#define INFO_UTIL_VER(msg, args...) IF_DEBUG_VER(UTIL,PRINT_DEBUG(msg, ##args)) +#define CM_DPRINTF(msg, args...) IF_DEBUG(CM,PRINT_DEBUG(msg, ##args)) + +extern void dump(char* _buf, uint16_t _count); + +#define _DUMP(BUF, COUNT) do { \ + printk("[%s]: ", __func__); \ + dump((char*)BUF, COUNT); \ + } while (0) + +#ifdef _APP_DEBUG_ +#define DUMP(BUF, COUNT) _DUMP(BUF, COUNT) +#else +#define DUMP(BUF, COUNT) do {} while (0) +#endif +#endif + +#define DUMP_TCP(BUF, COUNT) IF_TCP_DUMP(_DUMP(BUF, COUNT)) +#define DUMP_SPI(BUF, COUNT) IF_SPI_DUMP(_DUMP(BUF, COUNT)) + +#define DUMP_SPI_CMD(BUF) do { \ + if (dumpDebug & INFO_SPI_FLAG) { \ + int i = 0; \ + for (; i < CMD_MAX_LEN; ++i) \ + { \ + printk("0x%x ", BUF[i]); \ + if (BUF[i] == END_CMD) \ + break; \ + } \ + printk("\n"); \ + } \ +}while(0); + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/fw_download.h b/firmware/libraries/WiFi/extras/wifiHD/src/fw_download.h new file mode 100644 index 0000000..e36214f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/fw_download.h @@ -0,0 +1,38 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef FW_DOWNLOAD_H +#define FW_DOWNLOAD_H + +#include <stdint.h> +#include <stdio.h> + +int fw_download_init(void); +size_t fw_read_cb(void *ctx, const uint8_t** buf, size_t offset, size_t len); +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/fw_download_extflash.c b/firmware/libraries/WiFi/extras/wifiHD/src/fw_download_extflash.c new file mode 100644 index 0000000..d679271 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/fw_download_extflash.c @@ -0,0 +1,82 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include <top_defs.h> +#include <wl_api.h> +#include <fw_download.h> +#include <nvram.h> +#include <printf-stdarg.h> + +int fw_download_init(void) +{ + nvram_init(); + return 0; +} + +#define BUF_SIZE 512 + + +size_t fw_read_cb(void* ctx, + const uint8_t** buf, + size_t offset, + size_t len) +{ + static uint8_t* fw_buf = NULL; + size_t rlen; + /* when firmware download is completed, this function will be + * invoked one additional time with buf set to NULL. we can + * free the firmware buffer at this time since it's no longer + * needed. + */ + if (NULL == buf) { + if (fw_buf) { + free(fw_buf); + fw_buf = NULL; + } + return 0; + } + + /* first call? then initialize flash and allocate a buffer to hold + * firmware data. + */ + if (fw_buf == NULL) { + fw_buf = malloc(BUF_SIZE); + + if (fw_buf == NULL) { + printk("could not allocate firmware buffer\n"); + return 0; + } + } + /* read at most a full buffer */ + rlen = len > BUF_SIZE ? BUF_SIZE : len; + + /* read data and update output parameters */ + nvram_read(offset, fw_buf, rlen); + *buf = fw_buf; + + return rlen; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/license.txt b/firmware/libraries/WiFi/extras/wifiHD/src/license.txt new file mode 100644 index 0000000..e57439f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/license.txt @@ -0,0 +1,42 @@ + Copyright (C) 2009, H&D Wireless AB All rights reserved. + + The license to use this software in whole and in part and to + redistribute it in any form follows with the WiFi HW module from H&D + Wireless and is granted under the following restrictions: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of H&D Wireless AB may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + 4. The software may only be used together with hardware from H&D + Wireless all other use is prohibited. + + 5. The license to use and redistribute the software is granted + together with the purchase of a hardware platform on a one to one + basis + + 6. The binary code may not be reversed engineered or by other means + copied to circumvent this license. + + THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT + SHALL HD WIRELESS AB BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + + For more information regarding this software license Contact H&D + Wireless AB (support@hd-wireless.se). diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/lwip_setup.c b/firmware/libraries/WiFi/extras/wifiHD/src/lwip_setup.c new file mode 100644 index 0000000..bfa8c09 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/lwip_setup.c @@ -0,0 +1,145 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/*! + * \file lwIP setup code + * + * \brief Collects the lwIP setup code that an application has to + * execute in a standalone environment. + * + * \author H&D Wireless AB \n + * + */ + +#include <lwip/init.h> +#include <lwip/dhcp.h> +#include <lwip/tcp.h> +#include <ipv4/lwip/ip_frag.h> +#include <netif/etharp.h> +#include <netif/wlif.h> +#include <timer.h> + +#include "lwip_setup.h" +#include "lwip/dns.h" + + +/** + * + */ +static void +tcp_tmr_cb(void *ctx) +{ + tcp_tmr(); +} + +/** + * + */ +static void +ip_tmr_cb(void *ctx) +{ + ip_reass_tmr(); +} + +/** + * + */ +static void +dns_tmr_cb(void *ctx) +{ + dns_tmr(); +} + +/** + * + */ +static void +etharp_tmr_cb(void *ctx) +{ + etharp_tmr(); +} + + +/** + * + */ +static void +dhcp_fine_tmr_cb(void *ctx) +{ + dhcp_fine_tmr(); +} + +/** + * + */ +static void +dhcp_coarse_tmr_cb(void *ctx) +{ + dhcp_coarse_tmr(); +} + +int start_ip_stack(struct net_cfg *cfg, + struct ip_addr ipaddr, + struct ip_addr netmask, + struct ip_addr gw) { + + if (cfg->dhcp_enabled) { + IP4_ADDR(&gw, 0,0,0,0); + IP4_ADDR(&ipaddr, 0,0,0,0); + IP4_ADDR(&netmask, 0,0,0,0); + } + + /* add wl to lwip interface list and set as default */ + cfg->netif = netif_add(cfg->netif, + &ipaddr, + &netmask, + &gw, + NULL, + wlif_init, /* init */ + ethernet_input /* handles ARP and IP packets */); + + if (cfg->netif == NULL) + return -1; + netif_set_default(cfg->netif); + + /* register lwip timer callbacks for tcp, arp and dhcp protocols */ + timer_sched_timeout_cb(5000, TIMEOUT_PERIODIC, + etharp_tmr_cb, NULL); + timer_sched_timeout_cb(TCP_TMR_INTERVAL, TIMEOUT_PERIODIC, + tcp_tmr_cb, NULL); + timer_sched_timeout_cb(DHCP_FINE_TIMER_MSECS, TIMEOUT_PERIODIC, + dhcp_fine_tmr_cb, NULL); + timer_sched_timeout_cb(DHCP_COARSE_TIMER_MSECS, TIMEOUT_PERIODIC, + dhcp_coarse_tmr_cb, NULL); + timer_sched_timeout_cb(IP_TMR_INTERVAL, TIMEOUT_PERIODIC, + ip_tmr_cb, NULL); + timer_sched_timeout_cb(DNS_TMR_INTERVAL, TIMEOUT_PERIODIC, + dns_tmr_cb, NULL); + + return 1; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/lwip_setup.h b/firmware/libraries/WiFi/extras/wifiHD/src/lwip_setup.h new file mode 100644 index 0000000..7edf2b5 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/lwip_setup.h @@ -0,0 +1,30 @@ +#ifndef _LWIP_SETUP_H +#define _LWIP_SETUP_H + +#define INIT_IP_CONFIG 0xff +#define STATIC_IP_CONFIG 0 +#define DYNAMIC_IP_CONFIG 1 + +struct net_cfg { + struct netif *netif; /* lwip network interface */ + uint8_t dhcp_enabled; + uint8_t dhcp_running; +}; + +struct ctx_server { + struct net_cfg net_cfg; + uint8_t wl_init_complete; +}; + +/*! Start the IP stack. + * If cfg->netif must have been allocated and lwip_init() + * must have been called before this function is called + * (since the IP stack may have to be polled before this + * function can be called). + */ +int start_ip_stack(struct net_cfg *cfg, + struct ip_addr ipaddr, + struct ip_addr netmask, + struct ip_addr gw); + +#endif /* _LWIP_SETUP_H */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/lwipopts.h b/firmware/libraries/WiFi/extras/wifiHD/src/lwipopts.h new file mode 100644 index 0000000..7b08b84 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/lwipopts.h @@ -0,0 +1,450 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/** + * @file + * + * lwIP Options Configuration + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIPOPTS_H__ +#define __LWIPOPTS_H__ + +#include "wl_api.h" +#include <board.h> + +#ifndef BOARD +#error "BOARD must be defined" +#endif + +/* + ----------------------------------------------- + ---------- Platform specific locking ---------- + ----------------------------------------------- +*/ + +/** + * NO_SYS==1: Provides VERY minimal functionality. Otherwise, + * use lwIP facilities. + */ +#define NO_SYS 1 + + +/* + ------------------------------------ + ---------- Memory options ---------- + ------------------------------------ +*/ +/** + * MEM_ALIGNMENT: should be set to the alignment of the CPU + * 4 byte alignment -> #define MEM_ALIGNMENT 4 + * 2 byte alignment -> #define MEM_ALIGNMENT 2 + */ +#define MEM_ALIGNMENT 4 + +/** + * MEM_SIZE: the size of the heap memory. If the application will send + * a lot of data that needs to be copied, this should be set high. + */ +#define MEM_SIZE 16000 + + +/* + ------------------------------------------------ + ---------- Internal Memory Pool Sizes ---------- + ------------------------------------------------ +*/ +/** + * MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF). + * If the application sends a lot of data out of ROM (or other static memory), + * this should be set high. + */ +#if BOARD == EVK1101 /* Reduced RAM */ + #define MEMP_NUM_PBUF 4 +#else + #define MEMP_NUM_PBUF 30 +#endif +/** + * MEMP_NUM_RAW_PCB: Number of raw connection PCBs + * (requires the LWIP_RAW option) + */ +#define MEMP_NUM_RAW_PCB 4 + +/** + * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One + * per active UDP "connection". + * (requires the LWIP_UDP option) + */ +#define MEMP_NUM_UDP_PCB 4 + +/** + * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. + * (requires the LWIP_TCP option) + */ +#define MEMP_NUM_TCP_PCB 4 + +/** + * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. + * (requires the LWIP_TCP option) + */ +#define MEMP_NUM_TCP_PCB_LISTEN 2 + +/** + * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. + * (requires the LWIP_TCP option) + */ +#if BOARD == EVK1101 /* Reduced RAM */ + #define MEMP_NUM_TCP_SEG 2 +#else + #define MEMP_NUM_TCP_SEG 32 +#endif + +/** + * MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing + * packets (pbufs) that are waiting for an ARP request (to resolve + * their destination address) to finish. + * (requires the ARP_QUEUEING option) + */ +#define MEMP_NUM_ARP_QUEUE 2 + +/** + * MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts. + * (requires NO_SYS==0) + */ +#define MEMP_NUM_SYS_TIMEOUT 0 + +/** + * MEMP_NUM_NETBUF: the number of struct netbufs. + * (only needed if you use the sequential API, like api_lib.c) + */ +#define MEMP_NUM_NETBUF 0 + +/** + * MEMP_NUM_NETCONN: the number of struct netconns. + * (only needed if you use the sequential API, like api_lib.c) + */ +#define MEMP_NUM_NETCONN 0 + +/** + * MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used + * for callback/timeout API communication. + * (only needed if you use tcpip.c) + */ +#define MEMP_NUM_TCPIP_MSG_API 0 + +/** + * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used + * for incoming packets. + * (only needed if you use tcpip.c) + */ +#define MEMP_NUM_TCPIP_MSG_INPKT 0 + +/** + * PBUF_POOL_SIZE: the number of buffers in the pbuf pool. + */ +#if BOARD == EVK1101 /* Reduced RAM */ + #define PBUF_POOL_SIZE 2 +#else + #define PBUF_POOL_SIZE 32 +#endif +/* + --------------------------------- + ---------- ARP options ---------- + --------------------------------- +*/ +/** + * LWIP_ARP==1: Enable ARP functionality. + */ +#define LWIP_ARP 1 + +/* + -------------------------------- + ---------- IP options ---------- + -------------------------------- +*/ +/** + * IP_FORWARD==1: Enables the ability to forward IP packets across network + * interfaces. If you are going to run lwIP on a device with only one network + * interface, define this to 0. + */ +#define IP_FORWARD 0 + +/** + * IP_OPTIONS: Defines the behavior for IP options. + * IP_OPTIONS==0_ALLOWED: All packets with IP options are dropped. + * IP_OPTIONS==1_ALLOWED: IP options are allowed (but not parsed). + */ +#define IP_OPTIONS_ALLOWED 1 + +/** + * IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that + * this option does not affect outgoing packet sizes, which can be controlled + * via IP_FRAG. + */ +#define IP_REASSEMBLY 1 + +/** + * IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note + * that this option does not affect incoming packet sizes, which can be + * controlled via IP_REASSEMBLY. + */ +#define IP_FRAG 1 + +/** + * IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally) + * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived + * in this time, the whole packet is discarded. + */ +#define IP_REASS_MAXAGE 3 + +/** + * IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled. + * Since the received pbufs are enqueued, be sure to configure + * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive + * packets even if the maximum amount of fragments is enqueued for reassembly! + */ +#if BOARD == EVK1101 /* Reduced RAM */ + #define IP_REASS_MAX_PBUFS PBUF_POOL_SIZE + #define MEMP_NUM_REASSDATA PBUF_POOL_SIZE-1 +#else + #define IP_REASS_MAX_PBUFS 10 +#endif + +/** + * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP + * fragmentation. Otherwise pbufs are allocated and reference the original + * packet data to be fragmented. + */ +#define IP_FRAG_USES_STATIC_BUF 0 + +/** + * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers. + */ +#define IP_DEFAULT_TTL 255 + +/* + ---------------------------------- + ---------- ICMP options ---------- + ---------------------------------- +*/ +/** + * LWIP_ICMP==1: Enable ICMP module inside the IP stack. + * Be careful, disable that make your product non-compliant to RFC1122 + */ +#define LWIP_ICMP 1 + +/** + * ICMP_TTL: Default value for Time-To-Live used by ICMP packets. + */ +#define ICMP_TTL (IP_DEFAULT_TTL) + +/* + --------------------------------- + ---------- RAW options ---------- + --------------------------------- +*/ +/** + * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. + */ +#define LWIP_RAW 1 + +/* + ---------------------------------- + ---------- DHCP options ---------- + ---------------------------------- +*/ +/** + * LWIP_DHCP==1: Enable DHCP module. + */ +#define LWIP_DHCP 1 + +/* + ------------------------------------ + ---------- AUTOIP options ---------- + ------------------------------------ +*/ +/** + * LWIP_AUTOIP==1: Enable AUTOIP module. + */ +#define LWIP_AUTOIP 0 + +/* + ---------------------------------- + ---------- SNMP options ---------- + ---------------------------------- +*/ +/** + * LWIP_SNMP==1: Turn on SNMP module. UDP must be available for SNMP + * transport. + */ +#define LWIP_SNMP 0 +#define SNMP_PRIVATE_MIB 0 + +/* + ---------------------------------- + ---------- IGMP options ---------- + ---------------------------------- +*/ +/** + * LWIP_IGMP==1: Turn on IGMP module. + */ +#define LWIP_IGMP 0 + +/* + ---------------------------------- + ---------- DNS options ----------- + ---------------------------------- +*/ +/** + * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS + * transport. + */ +#define LWIP_DNS 1 + +/* + --------------------------------- + ---------- UDP options ---------- + --------------------------------- +*/ +/** + * LWIP_UDP==1: Turn on UDP. + */ +#define LWIP_UDP 1 + +/** + * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP) + */ +#define LWIP_UDPLITE 0 + +/** + * UDP_TTL: Default Time-To-Live value. + */ +#define UDP_TTL (IP_DEFAULT_TTL) + +/* + --------------------------------- + ---------- TCP options ---------- + --------------------------------- +*/ +/** + * LWIP_TCP==1: Turn on TCP. + */ +#define LWIP_TCP 1 + +/* + ---------------------------------- + ---------- Pbuf options ---------- + ---------------------------------- +*/ +/** + * PBUF_LINK_HLEN: the number of bytes that should be allocated for a + * link level header. The default is 14, the standard value for + * Ethernet. + */ +#define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE) + +/* + ------------------------------------ + ---------- LOOPIF options ---------- + ------------------------------------ +*/ +/** + * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1) and loopif.c + */ +#define LWIP_HAVE_LOOPIF 1 +#define LWIP_LOOPIF_MULTITHREADING 0 + +/* + ---------------------------------------------- + ---------- Sequential layer options ---------- + ---------------------------------------------- +*/ + +/** + * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c) + */ +#define LWIP_NETCONN 0 + +/* + ------------------------------------ + ---------- Socket options ---------- + ------------------------------------ +*/ +/** + * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c) + */ +#define LWIP_SOCKET 0 + +/* + ---------------------------------------- + ---------- Statistics options ---------- + ---------------------------------------- +*/ +/** + * LWIP_STATS==1: Enable statistics collection in lwip_stats. + */ +#define LWIP_STATS 1 +#define LINK_STATS 1 + +/* Misc */ +#define LWIP_NETIF_LINK_CALLBACK 1 +#define LWIP_NETIF_STATUS_CALLBACK 1 +#define LWIP_TIMEVAL_PRIVATE 0 + +#undef DHCP_DOES_ARP_CHECK + +#if 0 +#define LWIP_DEBUG 1 +//#define NETIF_DEBUG LWIP_DBG_ON +//#define DHCP_DEBUG LWIP_DBG_ON +//#define ICMP_DEBUG LWIP_DBG_ON +//#define TCP_DEBUG LWIP_DBG_ON +//#define TCP_RTO_DEBUG LWIP_DBG_ON +//#define IP_DEBUG LWIP_DBG_ON +//#define TCP_CWND_DEBUG LWIP_DBG_ON +//#define ETHARP_DEBUG LWIP_DBG_ON +#define PBUF_DEBUG LWIP_DBG_ON +//#define TCP_INPUT_DEBUG LWIP_DBG_ON +//#define TCP_OUTPUT_DEBUG LWIP_DBG_ON +#endif + +#define ETH_PAD_SIZE WL_HEADER_SIZE /* size of wifiengine header */ +#define MEM_LIBC_MALLOC 1 + +#define TCP_MSS 512 +#if BOARD == EVK1101 /* Reduced RAM */ + #define TCP_SND_BUF (1460*1) /* MTU (1500) - IP - TCP hdrs == 1460 */ +#else + #define TCP_SND_BUF 4096 +#endif +#endif /* __LWIPOPTS_H__ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/main.c b/firmware/libraries/WiFi/extras/wifiHD/src/main.c new file mode 100644 index 0000000..fffb34e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/main.c @@ -0,0 +1,454 @@ +/* + * main.c + * + * Created on: May 27, 2010 + * Author: mlf by Metodo2 srl + */ + +//#define _TEST_SPI_ + +#include <compiler.h> +#include "board.h" +#include "gpio.h" + +#include <stdint.h> +#include "wl_api.h" +#include "wl_cm.h" + +#include "lwip/init.h" +#include "lwip/dhcp.h" +#include "lwip/dns.h" +#include "lwip/tcp.h" +#include "netif/etharp.h" +#include "netif/wlif.h" + +#include "board_init.h" +#include "trace.h" + +#include "timer.h" +#include "util.h" +#include "cmd_wl.h" +#include "ping.h" +#include "ard_tcp.h" +#include "spi.h" +#include "ard_spi.h" +#include "delay.h" +#include "tc.h" +#include "debug.h" +#include "ard_utils.h" +#include <lwip_setup.h> + +/* FIRMWARE version */ +const char* fwVersion = "1.1.0"; + +#if BOARD == ARDUINO +#if !defined(DATAFLASH) +#include "wl_fw.h" + +int fw_download_init(void) { return 0;} +void fw_download_cb(void* ctx, uint8_t** buf, uint32_t* len) +{ + //printk("Fw download not available!\n"); + /* remember accross different calls */ + static uint8_t* _fw_buf = (uint8_t*)&fw_buf[0]; + static uint32_t offset = 0; + + /* when firmware download is completed, this function will be invoked + * on additional time with the input value of len set to 0. we can free + * the firmware buffer at this time since it's no longer needed. + */ + if (*len == 0) { + return; + } + + /* decide how much to read. we know *len bytes remains, but we only have + * room for SECTOR_SIEZ bytes in our buffer (fw_buf) + */ + uint32_t fw_len = *len; + + *buf = (_fw_buf+offset); + *len = fw_len; + + /* we need to know where to start reading upon next call */ + offset += fw_len; + +} +#else +#include "fw_download.h" +#endif +#endif + +bool ifStatus = false; +bool scanNetCompleted = false; + +static bool initSpiComplete = false; + +// variable used as enable flag for debug prints +DEFINE_DEBUG_VARIABLES(); + +/** + * + */ +static void +wl_cm_scan_cb(void* ctx) +{ + INFO_INIT("Scan Completed!\n"); + scanNetCompleted=true; +} + +/** + * + */ +static void +wl_cm_conn_cb(struct wl_network_t* net, void* ctx) +{ + struct ctx_server* hs = ctx; + + LINK_LED_ON(); + + INFO_INIT("Connection cb...\n"); + + printk("link up, connected to \"%s\"\n", ssid2str(&net->ssid)); + if ( hs->net_cfg.dhcp_enabled == DYNAMIC_IP_CONFIG ) { + INFO_INIT("Start DHCP...\n"); + printk("requesting dhcp ... "); + int8_t result = dhcp_start(hs->net_cfg.netif); + printk((result==ERR_OK)?"OK\n":"FAILED\n"); + hs->net_cfg.dhcp_running = 1; + } + else { + netif_set_up(hs->net_cfg.netif); + } + + INFO_INIT("Start DNS...\n"); + dns_init(); +} + + +/** + * + */ +static void +wl_cm_disconn_cb(void* ctx) +{ + struct ctx_server* hs = ctx; + + LINK_LED_OFF(); + INFO_INIT("Disconnection cb...\n"); + + if (hs->net_cfg.dhcp_running) { + printk("link down, release dhcp\n"); + dhcp_release(hs->net_cfg.netif); + dhcp_stop(hs->net_cfg.netif); + hs->net_cfg.dhcp_running = 0; + } else { + printk("link down\n"); + netif_set_down(hs->net_cfg.netif); + } + + set_result_cmd(WL_FAILURE); +} + +#if 0 +static void wl_cm_err_cb(void* ctx) +{ + int err = *(int*)ctx; + WARN("Error: %d\n", err); + set_result_cmd(err); +} +#endif + +/** + * + */ +static void +ip_status_cb(struct netif* netif) +{ + INFO_INIT("IP status cb...\n"); + if (netif_is_up(netif)) { + set_result_cmd(WL_SUCCESS); + printk("bound to %s\n", ip2str(netif->ip_addr)); + ifStatus = true; + }else{ + ifStatus = false; + closeConnections(); + WARN("Interface not up!\n"); + } +} + + +/** + * + */ +void +led_init(void) +{ + gpio_enable_gpio_pin(LED0_GPIO); + gpio_enable_gpio_pin(LED1_GPIO); + gpio_enable_gpio_pin(LED2_GPIO); + LINK_LED_OFF(); + ERROR_LED_OFF(); + DATA_LED_OFF(); +} + + +void tc_init(void) +{ + // The timer/counter instance and channel number are used in several functions. + // It's defined as local variable for ease-of-use causes and readability. + volatile avr32_tc_t *tc = WIFI_TC; + + // Options for waveform genration. + tc_waveform_opt_t waveform_opt = + { + .channel = WIFI_TC_CHANNEL_ID, // Channel selection. + + .bswtrg = TC_EVT_EFFECT_NOOP, // Software trigger effect on TIOB. + .beevt = TC_EVT_EFFECT_NOOP, // External event effect on TIOB. + .bcpc = TC_EVT_EFFECT_NOOP, // RC compare effect on TIOB. + .bcpb = TC_EVT_EFFECT_NOOP, // RB compare effect on TIOB. + + .aswtrg = TC_EVT_EFFECT_NOOP, // Software trigger effect on TIOA. + .aeevt = TC_EVT_EFFECT_NOOP, // External event effect on TIOA. + .acpc = TC_EVT_EFFECT_TOGGLE, // RC compare effect on TIOA: toggle. + .acpa = TC_EVT_EFFECT_TOGGLE, // RA compare effect on TIOA: toggle (other possibilities are none, set and clear). + + .wavsel = TC_WAVEFORM_SEL_UP_MODE_RC_TRIGGER,// Waveform selection: Up mode with automatic trigger(reset) on RC compare. + .enetrg = FALSE, // External event trigger enable. + .eevt = TC_EXT_EVENT_SEL_TIOB_INPUT, // External event selection. + .eevtedg = TC_SEL_NO_EDGE, // External event edge selection. + .cpcdis = FALSE, // Counter disable when RC compare. + .cpcstop = FALSE, // Counter clock stopped with RC compare. + + .burst = TC_BURST_NOT_GATED, // Burst signal selection. + .clki = TC_CLOCK_RISING_EDGE, // Clock inversion. + .tcclks = TC_CLOCK_SOURCE_TC2 // Internal source clock 3, connected to fPBA / 2. + }; + + // Assign I/O to timer/counter channel pin & function. + gpio_enable_module_pin(WIFI_TC_CHANNEL_PIN, WIFI_TC_CHANNEL_FUNCTION); + + // Initialize the timer/counter. + tc_init_waveform(tc, &waveform_opt); // Initialize the timer/counter waveform. + + // Set the compare triggers. + tc_write_ra(tc, WIFI_TC_CHANNEL_ID, 0x01A4); // Set RA value. + tc_write_rc(tc, WIFI_TC_CHANNEL_ID, 0x0348); // Set RC value. + + // Start the timer/counter. + tc_start(tc, WIFI_TC_CHANNEL_ID); + +} + +/** + * + */ +void +poll(struct ctx_server* hs) +{ + /* this will trigger any scheduled timer callbacks */ + timer_poll(); + + /* handle console input */ + console_poll(); + + /* wl api 'tick' */ + wl_tick(timer_get_ms()); + + /* lwip driver poll */ + wlif_poll(hs->net_cfg.netif); + + if (initSpiComplete) spi_poll(hs->net_cfg.netif); + +#ifdef WITH_GUI + gui_exec(timer_get_ms()); +#endif +} + +void initShell(void* ctx) +{ + /* initialize shell */ + INFO_INIT("Shell init...\n"); + console_init(); + console_add_cmd("scan", cmd_scan, NULL); + console_add_cmd("connect", cmd_connect, NULL); + console_add_cmd("setkey", cmd_setkey, NULL); + console_add_cmd("status", cmd_status, ctx); + console_add_cmd("debug", cmd_debug, NULL); + console_add_cmd("dumpBuf", cmd_dumpBuf, NULL); + console_add_cmd("ipconfig", cmd_set_ip, ctx); +#ifdef ADD_CMDS + console_add_cmd("powersave", cmd_power, NULL); + console_add_cmd("psconf", cmd_psconf, NULL); +#endif +#ifdef PING_CMD + console_add_cmd("ping", cmd_ping, NULL); +#endif + console_add_cmd("ttcp", cmd_ttcp, NULL); +#ifdef WITH_WPA + console_add_cmd("wpass", cmd_setpass, NULL); + console_add_cmd("dpass", cmd_delpass, NULL); +#endif +#ifdef _SPI_STATS_ + console_add_cmd("spiStat", cmd_statSpi, NULL); + console_add_cmd("resetSpiStat", cmd_resetStatSpi, NULL); +#endif +#ifdef _DNS_CMD_ + console_add_cmd("getHost", cmd_gethostbyname, NULL); + console_add_cmd("setDNS", cmd_setDnsServer, NULL); +#endif + console_add_cmd("startSrv", cmd_startSrv, NULL); + console_add_cmd("startCli", cmd_startCli, NULL); + console_add_cmd("sendUdp", cmd_sendUdpData, NULL); + +} + +/** + * + */ +void +wl_init_complete_cb(void* ctx) +{ + struct ctx_server *hs = ctx; + struct ip_addr ipaddr, netmask, gw; + wl_err_t wl_status; + + if (hs->net_cfg.dhcp_enabled == INIT_IP_CONFIG) + { + IP4_ADDR(&gw, 0,0,0,0); + IP4_ADDR(&ipaddr, 0,0,0,0); + IP4_ADDR(&netmask, 0,0,0,0); + + /* default is dhcp enabled */ + hs->net_cfg.dhcp_enabled = DYNAMIC_IP_CONFIG; + } + + start_ip_stack(&hs->net_cfg, + ipaddr, + netmask, + gw); + netif_set_status_callback(hs->net_cfg.netif, ip_status_cb); + + INFO_INIT("Starting CM...\n"); + /* start connection manager */ + wl_status = wl_cm_init(wl_cm_scan_cb, wl_cm_conn_cb, wl_cm_disconn_cb, hs); + ASSERT(wl_status == WL_SUCCESS, "failed to init wl conn mgr"); + wl_cm_start(); + + wl_scan(); + + if (initSpi(hs)){ + WARN("Spi not initialized\n"); + }else + { + initSpiComplete = true; + AVAIL_FOR_SPI(); + } + + hs->wl_init_complete = 1; +} + +void startup_init(void) +{ + INIT_SIGNAL_FOR_SPI(); + BUSY_FOR_SPI(); + + // if DEBUG enabled use DEB_PIN_GPIO for debug purposes + DEB_PIN_ENA(); + DEB_PIN_ENA(2); + DEB_PIN_UP(); + DEB_PIN_UP(2); +} + +const char timestamp[] = __TIMESTAMP__; + +/** + * + */ +int +main(void) +{ + wl_err_t wl_status; + int status; + struct ctx_server *hs; + enum wl_host_attention_mode mode; + + startup_init(); + + board_init(); + + led_init(); + + tc_init(); + + delay_init(FOSC0); + +#ifdef _TEST_SPI_ + for (;;) + { + /* handle console input */ + + console_poll(); + + spi_poll(NULL); + + } +#else + printk("Arduino Wifi Startup... [%s]\n", timestamp); + + size_t size_ctx_server = sizeof(struct ctx_server); + hs = calloc(1, size_ctx_server); + ASSERT(hs, "out of memory"); + + size_t size_netif = sizeof(struct netif); + hs->net_cfg.netif = calloc(1, size_netif); + ASSERT(hs->net_cfg.netif, "out of memory"); + hs->net_cfg.dhcp_enabled = INIT_IP_CONFIG; + + INFO_INIT("hs:%p size:0x%x netif:%p size:0x%x\n", hs, size_ctx_server, + hs->net_cfg.netif, size_netif); + initShell(hs); + timer_init(NULL, NULL); + lwip_init(); + + status = fw_download_init(); + ASSERT(status == 0, "failed to prepare for firmware download\n"); + + wl_status = wl_transport_init(fw_read_cb, hs, &mode); + if (wl_status != WL_SUCCESS) + goto err; + INFO_INIT("Mode: 0x%x\n", mode); + wl_status = wl_init(hs, wl_init_complete_cb, mode); + if (wl_status != WL_SUCCESS) + goto err; + + /* start main loop */ + for (;;) + poll(hs); + + +err: + /* show error message on console and display if wlan initialization fails */ + +#define WL_CARD_FAILURE_STR "Could not detect wl device, aborting\n" +#define WL_FIRMWARE_INVALID_STR "Invalid firmware data, aborting\n" +#define WL_OTHER_FAILURE_STR "Failed to start wl initialization\n" + + switch (wl_status) { + case WL_CARD_FAILURE: + printk(WL_CARD_FAILURE_STR); + break; + + case WL_FIRMWARE_INVALID: + printk(WL_FIRMWARE_INVALID_STR); + break; + + default: + printk(WL_OTHER_FAILURE_STR); + break; + } + for (;;) { + timer_poll(); + } +#endif +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/nvram.c b/firmware/libraries/WiFi/extras/wifiHD/src/nvram.c new file mode 100644 index 0000000..2c61c5f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/nvram.c @@ -0,0 +1,153 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include <string.h> + +#include "compiler.h" +#include "preprocessor.h" +#include "board.h" +#include "power_clocks_lib.h" +#include "gpio.h" +#include "spi.h" +#include "conf_at45dbx.h" +#include "at45dbx.h" +#include <board_init.h> +#include <nvram.h> + + +static struct nvram { + uint8_t read; + void *data; + uint32_t len; + uint16_t off; +} PRIV; + +int nvram_init(void) +{ + spi_options_t spiOptions = { + .reg = AT45DBX_SPI_FIRST_NPCS, + .baudrate = AT45DBX_SPI_MASTER_SPEED, + .bits = AT45DBX_SPI_BITS, + .spck_delay = 0, + .trans_delay = 0, + .stay_act = 1, + .spi_mode = 0, + .modfdis = 1 + }; + + at45dbx_init(spiOptions, FPBA_HZ); + return 0; +} + + +/** + * Invoked by at45dbx driver + * + */ +void at45dbx_read_multiple_sector_callback(const void *psector) +{ + struct nvram *priv = &PRIV; + const uint8_t *buf = psector; + + if (!priv->read) + return; + + memcpy(priv->data, buf + priv->off, priv->len); +} + + +/** + * Invoked by at45dbx driver + * + */ +void at45dbx_write_multiple_sector_callback(void *psector) +{ + struct nvram *priv = &PRIV; + uint8_t *buf = psector; + memcpy(buf + priv->off, priv->data, priv->len); +} + + +/** + * Write/read any number bytes into any offset of nor flash by taking care + * of cases where the length is not aligned to the sector size or where + * the addr is not aligned to the sector offsets. + * + */ +static int nvram_rw(uint32_t addr, void *data, uint16_t len, int write) +{ + struct nvram *priv = &PRIV; + priv->read = write ? 0 : 1; + + while (len) { + uint32_t sector = addr / AT45DBX_SECTOR_SIZE; + priv->data = data; + priv->off = addr % AT45DBX_SECTOR_SIZE; + priv->len = AT45DBX_SECTOR_SIZE; + + if (len < AT45DBX_SECTOR_SIZE) + priv->len = len; + + if (priv->len > AT45DBX_SECTOR_SIZE - priv->off) + priv->len = AT45DBX_SECTOR_SIZE - priv->off; + + at45dbx_read_open(sector); + at45dbx_read_multiple_sector(1); + at45dbx_read_close(); + + if (write) { + at45dbx_write_open(sector); + at45dbx_write_multiple_sector(1); + at45dbx_write_close(); + } + + data += priv->len; + len -= priv->len; + addr += priv->len; + } + + return 0; +} + +/** + * Write any number bytes into any offset of nor flash. + * + */ +int nvram_write(uint32_t addr, const void *data, uint32_t len) +{ + return nvram_rw(addr, (void *) data, len, 1); +} + + +/** + * Read any number bytes into any offset of nor flash. + * + */ +int nvram_read(uint32_t addr, void *data, uint32_t len) +{ + return nvram_rw(addr, data, len, 0); +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/nvram.h b/firmware/libraries/WiFi/extras/wifiHD/src/nvram.h new file mode 100644 index 0000000..8882749 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/nvram.h @@ -0,0 +1,10 @@ +#ifndef NVRAM_H +#define NVRAM_H + +#include <stdint.h> + +int nvram_init(void); +int nvram_read(uint32_t addr, void *data, uint32_t len); +int nvram_write(uint32_t addr, const void *data, uint32_t len); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/owl_os.c b/firmware/libraries/WiFi/extras/wifiHD/src/owl_os.c new file mode 100644 index 0000000..d17d8ce --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/owl_os.c @@ -0,0 +1,140 @@ +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> +#include <stdio.h> + +#include <wl_os.h> + +void *owl_os_alloc(size_t size) +{ + return malloc(size); +} + +void *owl_os_realloc(void *ptr, size_t size) +{ + return realloc(ptr, size); +} + +void owl_os_free(void *p) +{ + free(p); +} + +void *owl_os_memcpy(void *dst, const void *src, size_t n) +{ + return memcpy(dst, src, n); +} + +void *owl_os_memset(void *s, int c, size_t n) +{ + return memset(s, c, n); +} + +void *owl_os_memmove(void *dst, const void *src, size_t n) +{ + return memmove(dst, src, n); +} + +size_t owl_os_strlen(char *s) +{ + return strlen(s); +} + +char *owl_os_strncpy(char *dst, const char *src, size_t n) +{ + return strncpy(dst, src, n); +} + +int owl_os_strncmp(const char *s1, const char *s2, size_t n) +{ + return strncmp(s1, s2, n); +} + +int owl_os_strcmp(const char *s1, const char *s2) +{ + return strcmp(s1, s2); +} + +char *owl_os_strcpy(char *dst, const char *src) +{ + return strcpy(dst, src); +} + +char *owl_os_strdup(const char *s) +{ + return strdup(s); +} + +char *owl_os_strndup(const char *s, size_t n) +{ + return strndup(s, n); +} + +int owl_os_memcmp(const void *s1, const void *s2, size_t n) +{ + return memcmp(s1, s2, n); +} + +long int owl_os_strtol(const char *nptr, char **endptr, int base) +{ + return strtol(nptr, endptr, base); +} + +char *owl_os_strchr(const char *s, int c) +{ + return strchr(s, c); +} + +char *owl_os_strrchr(const char *s, int c) +{ + return strrchr(s, c); +} + +int owl_os_strcasecmp(const char *s1, const char *s2) +{ + return strcasecmp(s1, s2); +} + +char *owl_os_strstr(const char *haystack, const char *needle) +{ + return strstr(haystack, needle); +} + +int owl_os_snprintf(char *str, size_t size, const char *format, ...) +{ + int ret; + va_list ap; + va_start(ap, format); + ret = vsniprintf(str, size, format, ap); + va_end(ap); + return ret; +} + +/* for debugging only, never called if wl_api was built without debug */ +#ifdef CONFIG_OWL +#include "owl_env.h" +int owl_os_printf(const char *fmt, ...) +{ + char *str = NULL; + va_list args; + int len; + char *iter; + + va_start(args, fmt); + + if ((str = malloc(160)) == NULL) + return -1; + + if ((len = vsniprintf(str, 160, fmt, args)) < 0) { + free(str); + return -1; + } + + iter = str; + while (*iter) + owl_putc(*iter++); + + free(str); + return len; +} +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/ping.c b/firmware/libraries/WiFi/extras/wifiHD/src/ping.c new file mode 100644 index 0000000..aba97db --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/ping.c @@ -0,0 +1,340 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is derived from a part of the lwIP TCP/IP stack. + * + */ +#ifdef PING_CMD +#include "lwip/opt.h" + +#include "lwip/mem.h" +#include "lwip/raw.h" +#include "lwip/icmp.h" +#include "lwip/netif.h" +#include "lwip/sys.h" +#include "lwip/sockets.h" +#include "lwip/inet.h" +#include "lwip/inet_chksum.h" + +#include "ping.h" +#include "timer.h" +#include "util.h" + +#include "getopt.h" + +#define PING_ID 0xAFAF + +struct ping_info_t { + struct ip_addr destination; + uint32_t deadline; /* -w (in seconds) */ + uint32_t interval; /* -i (in ms) */ + uint32_t timeout; /* ms */ + uint32_t data_size; /* -s */ + uint32_t count; /* -c, 0 means continous ping */ + uint32_t size; + uint32_t first_tx_tm; + uint32_t last_tx_tm; + uint32_t last_rx_tm; + uint32_t num_tx; + uint32_t num_rx; + uint32_t flags; + uint16_t seq_num; + Bool quiet; /* -q */ + ping_complete_cb_t complete_cb; + void *ctx; +#define PING_REPLY (1 << 0) +}; + +static struct ping_info_t INFO; + +/** Prepare a echo ICMP request */ +static void ping_prepare_echo(struct icmp_echo_hdr *iecho, + struct ping_info_t* ping_info) +{ + int i; + + ICMPH_TYPE_SET(iecho,ICMP_ECHO); + ICMPH_CODE_SET(iecho, 0); + iecho->chksum = 0; + iecho->id = PING_ID; + iecho->seqno = htons(++ping_info->seq_num); + iecho->chksum = 0; + + /* fill the additional data buffer with some data */ + for(i = 0; i < ping_info->data_size; i++) { + ((char*)iecho)[sizeof(struct icmp_echo_hdr) + i] = i; + } + + iecho->chksum = inet_chksum(iecho, ping_info->size); +} + +/* Ping using the raw ip */ +static u8_t ping_recv(void *arg, struct raw_pcb *pcb, struct pbuf *p, + struct ip_addr *addr) +{ + struct icmp_echo_hdr *iecho; + struct ip_hdr *ip = p->payload; + struct ping_info_t* ping_info = (struct ping_info_t*) arg; + uint32_t us; + + if (pbuf_header( p, -PBUF_IP_HLEN)==0) { + iecho = p->payload; + + if ((iecho->id == PING_ID) && + (iecho->seqno == htons(ping_info->seq_num))) { + ping_info->last_rx_tm = timer_get_ms(); + ping_info->num_rx++; + us = 1000 * + (ping_info->last_rx_tm - ping_info->last_tx_tm); + + if (!ping_info->quiet) + printk("%d bytes from %s: icmp_seq=%d ttl=%d " \ + "time=%d.%03d ms\n", + p->tot_len, ip2str(ip->src), + iecho->seqno, + IPH_TTL(ip), + us / 1000, us % 1000); + + /* do some ping result processing */ + ping_info->flags |= PING_REPLY; + } + } + + pbuf_free(p); + return 1; /* eat the event */ +} + +static void ping_send(struct raw_pcb *raw, struct ping_info_t* ping_info) +{ + struct pbuf *p; + struct icmp_echo_hdr *iecho; + + if (!(p = pbuf_alloc(PBUF_IP, ping_info->size, PBUF_RAM))) { + return; + } + if ((p->len == p->tot_len) && (p->next == NULL)) { + iecho = p->payload; + + ping_prepare_echo(iecho, ping_info); + raw_sendto(raw, p, &ping_info->destination); + + if (!ping_info->first_tx_tm) + ping_info->first_tx_tm = timer_get_ms(); + ping_info->last_tx_tm = timer_get_ms(); + ping_info->num_tx++; + } + pbuf_free(p); +} + +void ping_set_callback(ping_complete_cb_t cb, void *ctx) { + INFO.complete_cb = cb; + INFO.ctx = ctx; +} + +void ping_stop(uint32_t *tx_cnt, uint32_t *rx_cnt) { + struct ping_info_t *ping_info = &INFO; + + *tx_cnt = ping_info->num_tx; + *rx_cnt = ping_info->num_rx; + ping_info->count = ping_info->num_tx; + if ( 0 == ping_info->count ) { + ping_info->count = 1; + } +} + +static int init_ping_info(int argc, char* argv[], struct ping_info_t* ping_info) +{ + int c; + ping_complete_cb_t cb; + void *ctx; + + cb = ping_info->complete_cb; + ctx = ping_info->ctx; + memset(ping_info, 0, sizeof(struct ping_info_t)); + ping_info->complete_cb = cb; + ping_info->ctx = ctx; + + ping_info->deadline = 0; + ping_info->interval = 1000; + ping_info->timeout = 3000; + ping_info->data_size = 32; + ping_info->count = 3; + ping_info->destination = + netif_default ? netif_default->gw : ip_addr_any; + + optind = 1; + while ((c = getopt(argc, argv, "c:i:s:w:q")) != -1) { + switch (c) { + case 'c': + ping_info->count = atoi(optarg); + break; + + case 'i': + ping_info->interval = atoi(optarg); + break; + + case 's': + ping_info->data_size = atoi(optarg); + break; + + case 'q': + ping_info->quiet = TRUE; + break; + + case 'w': + ping_info->deadline = atoi(optarg); + break; + } + } + + ping_info->size = sizeof(struct icmp_echo_hdr) + ping_info->data_size; + + if (optind >= argc) + return -1; + + ping_info->destination = str2ip(argv[optind]); + if (!ping_info->destination.addr) + return -1; + + + ping_info->last_rx_tm = timer_get_ms(); + + return 0; +} + +static void print_stats(struct ping_info_t* ping_info) +{ + printk("\n--- %s ping statistics ---\n", + ip2str(ping_info->destination)); + printk("%d packets transmitted, %d received, %d%% packet loss, "\ + "time %dms\n\n", + ping_info->num_tx, ping_info->num_rx, + 100 * (ping_info->num_tx - ping_info->num_rx) / + ping_info->num_tx, + timer_get_ms() - ping_info->first_tx_tm); +} + +static void ping_finalize(struct ping_info_t* ping_info) { + print_stats(ping_info); + if (ping_info->complete_cb) { + ping_info->complete_cb(ping_info->num_tx, ping_info->num_rx, ping_info->ctx); + } +} + +cmd_state_t cmd_ping(int argc, char* argv[], void* ctx) +{ + static enum { + INIT, + PING, + WAIT_REPLY + } state = INIT; + + struct ping_info_t *ping_info = &INFO; + static struct raw_pcb *pcb; + + switch (state) { + case INIT: + if (init_ping_info(argc, argv, ping_info) != 0) { + printk("Usage: ping [-c count] [-i interval] " \ + "[-s packetsize]\n " \ + "[-w deadline] [-q] destination\n"); + return CMD_DONE; + } + + if (!(pcb = raw_new(IP_PROTO_ICMP))) { + printk("could not allocate pcb\n"); + state = INIT; + return CMD_DONE; + } + raw_recv(pcb, ping_recv, ping_info); + raw_bind(pcb, IP_ADDR_ANY); + + printk("PING %s %d(%d) bytes of data\n", + ip2str(ping_info->destination), + ping_info->data_size, + ping_info->size); + state = PING; + /* fall through */ + + case PING: + if (!netif_is_up(netif_default)) { + printk("netif is down\n"); + raw_remove(pcb); + state = INIT; + return CMD_DONE; + } + + if (ping_info->count && ping_info->num_tx == ping_info->count) { + ping_finalize(ping_info); + raw_remove(pcb); + state = INIT; + return CMD_DONE; + } + + + if (timer_get_ms() < ping_info->last_rx_tm + ping_info->interval) { + return CMD_INPROGRESS; + } + ping_send(pcb, ping_info); + + state = WAIT_REPLY; + return CMD_INPROGRESS; + + case WAIT_REPLY: + if (ping_info->flags & PING_REPLY) { + ping_info->flags &= (~PING_REPLY); + state = PING; + return CMD_INPROGRESS; + } + + if (timer_get_ms() > + ping_info->last_tx_tm + ping_info->timeout) { + if (!ping_info->quiet) + printk("timeout from %s\n", + ip2str(ping_info->destination)); + state = PING; + return CMD_INPROGRESS; + } + + if (ping_info->deadline && + timer_get_ms() > + ping_info->first_tx_tm + ping_info->deadline * 1000) { + ping_finalize(ping_info); + raw_remove(pcb); + state = INIT; + return CMD_DONE; + } + + return CMD_INPROGRESS; + } + + /* unreachable */ + Assert(0); + return CMD_DONE; +} +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/ping.h b/firmware/libraries/WiFi/extras/wifiHD/src/ping.h new file mode 100644 index 0000000..47d409d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/ping.h @@ -0,0 +1,45 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is derived from a part of the lwIP TCP/IP stack. + * + */ +#ifndef PING_H +#define PING_H + +#include "console.h" + +typedef void (*ping_complete_cb_t)(uint32_t tx_pkt_cnt, uint32_t rx_pkt_cnt, void *ctx); + +void ping_set_callback(ping_complete_cb_t cb, void *ctx); + +void ping_stop(uint32_t *tx_cnt, uint32_t *rx_cnt); + +cmd_state_t cmd_ping(int argc, char* argv[], void* ctx); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/printf-stdarg.c b/firmware/libraries/WiFi/extras/wifiHD/src/printf-stdarg.c new file mode 100644 index 0000000..92eb217 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/printf-stdarg.c @@ -0,0 +1,323 @@ +/* This source file is part of the ATMEL AVR32-SoftwareFramework-AT32UC3A-1.4.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief sprintf functions to replace newlib for AVR32 UC3. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (C) 2006-2008, Atmel Corporation All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of ATMEL may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + Copyright 2001, 2002 Georges Menie (www.menie.org) + stdarg version contributed by Christian Ettinger + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +/* + putchar is the only external dependency for this file, + if you have a working putchar, leave it commented out. + If not, uncomment the define below and + replace outbyte(c) by your own function call. + +*/ + + +#include <stdarg.h> + +static void printchar(char **str, int c) +{ + extern int board_putchar(char c); + + if (str) { + **str = c; + ++(*str); + } + else (void) board_putchar(c); +} + +#define PAD_RIGHT 1 +#define PAD_ZERO 2 + +static int prints(char **out, const char *string, int width, int pad) +{ + register int pc = 0, padchar = ' '; + + if (width > 0) { + register int len = 0; + register const char *ptr; + for (ptr = string; *ptr; ++ptr) ++len; + if (len >= width) width = 0; + else width -= len; + if (pad & PAD_ZERO) padchar = '0'; + } + if (!(pad & PAD_RIGHT)) { + for ( ; width > 0; --width) { + printchar (out, padchar); + ++pc; + } + } + for ( ; *string ; ++string) { + printchar (out, *string); + ++pc; + } + for ( ; width > 0; --width) { + printchar (out, padchar); + ++pc; + } + + return pc; +} + +/* the following should be enough for 32 bit int */ +#define PRINT_BUF_LEN 12 + +static int printi(char **out, int i, int b, int sg, int width, int pad, int letbase) +{ + char print_buf[PRINT_BUF_LEN]; + register char *s; + register int t, neg = 0, pc = 0; + register unsigned int u = i; + + if (i == 0) { + print_buf[0] = '0'; + print_buf[1] = '\0'; + return prints (out, print_buf, width, pad); + } + + if (sg && b == 10 && i < 0) { + neg = 1; + u = -i; + } + + s = print_buf + PRINT_BUF_LEN-1; + *s = '\0'; + + while (u) { + t = u % b; + if( t >= 10 ) + t += letbase - '0' - 10; + *--s = t + '0'; + u /= b; + } + + if (neg) { + if( width && (pad & PAD_ZERO) ) { + printchar (out, '-'); + ++pc; + --width; + } + else { + *--s = '-'; + } + } + + return pc + prints (out, s, width, pad); +} + +#if 0 +int fprintf(__FILE *stream, const char *format, ...) +{ +return 0; +} +#endif + +int printk_va(char **out, const char *format, va_list args ) +{ + register int width, pad; + register int pc = 0; + char scr[2]; + + for (; *format != 0; ++format) { + if (*format == '%') { + ++format; + width = pad = 0; + if (*format == '\0') break; + if (*format == '%') goto out; + if (*format == '-') { + ++format; + pad = PAD_RIGHT; + } + while (*format == '0') { + ++format; + pad |= PAD_ZERO; + } + for ( ; *format >= '0' && *format <= '9'; ++format) { + width *= 10; + width += *format - '0'; + } + if( *format == 's' ) { + register char *s = (char *)va_arg( args, int ); + pc += prints (out, s?s:"(null)", width, pad); + continue; + } + if( *format == 'd' ) { + pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a'); + continue; + } + if( *format == 'p' ) { + pad = 8; + pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a'); + continue; + } + if( *format == 'x' ) { + pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a'); + continue; + } + if( *format == 'X' ) { + pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A'); + continue; + } + if( *format == 'u' ) { + pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a'); + continue; + } + if( *format == 'c' ) { + /* char are converted to int then pushed on the stack */ + scr[0] = (char)va_arg( args, int ); + scr[1] = '\0'; + pc += prints (out, scr, width, pad); + continue; + } + } + else { + out: + printchar (out, *format); + ++pc; + } + } + if (out) **out = '\0'; + va_end( args ); + return pc; +} + +int printk(const char *format, ...) +{ + va_list args; + + va_start( args, format ); + return printk_va( 0, format, args ); +} + +#ifndef __ARM__ +int sprintf(char *out, const char *format, ...) +{ + va_list args; + + va_start( args, format ); + return printk_va( &out, format, args ); +} +#endif + +#ifdef TEST_PRINTF +int main(void) +{ + char *ptr = "Hello world!"; + char *np = 0; + int i = 5; + unsigned int bs = sizeof(int)*8; + int mi; + char buf[80]; + + mi = (1 << (bs-1)) + 1; + printf("%s\n", ptr); + printf("printf test\n"); + printf("%s is null pointer\n", np); + printf("%d = 5\n", i); + printf("%d = - max int\n", mi); + printf("char %c = 'a'\n", 'a'); + printf("hex %x = ff\n", 0xff); + printf("hex %02x = 00\n", 0); + printf("signed %d = unsigned %u = hex %x\n", -3, -3, -3); + printf("%d %s(s)%", 0, "message"); + printf("\n"); + printf("%d %s(s) with %%\n", 0, "message"); + sprintf(buf, "justif: \"%-10s\"\n", "left"); printf("%s", buf); + sprintf(buf, "justif: \"%10s\"\n", "right"); printf("%s", buf); + sprintf(buf, " 3: %04d zero padded\n", 3); printf("%s", buf); + sprintf(buf, " 3: %-4d left justif.\n", 3); printf("%s", buf); + sprintf(buf, " 3: %4d right justif.\n", 3); printf("%s", buf); + sprintf(buf, "-3: %04d zero padded\n", -3); printf("%s", buf); + sprintf(buf, "-3: %-4d left justif.\n", -3); printf("%s", buf); + sprintf(buf, "-3: %4d right justif.\n", -3); printf("%s", buf); + + return 0; +} + +/* + * if you compile this file with + * gcc -Wall $(YOUR_C_OPTIONS) -DTEST_PRINTF -c printf.c + * you will get a normal warning: + * printf.c:214: warning: spurious trailing `%' in format + * this line is testing an invalid % at the end of the format string. + * + * this should display (on 32bit int machine) : + * + * Hello world! + * printf test + * (null) is null pointer + * 5 = 5 + * -2147483647 = - max int + * char a = 'a' + * hex ff = ff + * hex 00 = 00 + * signed -3 = unsigned 4294967293 = hex fffffffd + * 0 message(s) + * 0 message(s) with % + * justif: "left " + * justif: " right" + * 3: 0003 zero padded + * 3: 3 left justif. + * 3: 3 right justif. + * -3: -003 zero padded + * -3: -3 left justif. + * -3: -3 right justif. + */ + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/printf-stdarg.h b/firmware/libraries/WiFi/extras/wifiHD/src/printf-stdarg.h new file mode 100644 index 0000000..bce38b6 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/printf-stdarg.h @@ -0,0 +1,34 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef PRINTF_STDARG_H +#define PRINTF_STDARG_H +#include <stdarg.h> + +int printk(const char *format, ...); +int printk_va(char **out, const char *format, va_list args ); +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/timer.c b/firmware/libraries/WiFi/extras/wifiHD/src/timer.c new file mode 100644 index 0000000..6ffba63 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/timer.c @@ -0,0 +1,232 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include <stdint.h> +#include <rtc.h> +#include <intc.h> +#include <timer.h> +#ifdef FREERTOS_USED +#include "FreeRTOS.h" +#include "task.h" +#endif + +#define TIMER_HZ 4 + + +struct timeout_t { + U32 tick; + U32 expire_at_tick; + Bool expired; + U8 type; + void (*cb)(void* ctx); + void* ctx; +}; + +struct timer_t { + volatile U32 tick; + struct timeout_t timeout[10]; + void (*tick_isr) (void* ctx); + const U32 MS_PER_TICK; + void *ctx; +}; + +#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0]) + + +static struct timer_t TIMER = { + .tick = 0, +#ifdef FREERTOS_USED + .MS_PER_TICK = 1 / portTICK_RATE_MS, +#else + .MS_PER_TICK = TIMER_HZ, +#endif + .timeout = { { 0 } }, +}; + +#ifdef FREERTOS_USED /* Use TICK-hook */ + +void vApplicationTickHook( void ) { + struct timer_t* priv = &TIMER; + priv->tick++; + if(priv->tick_isr) { + priv->tick_isr(priv->ctx); + } +} + +#else /* Use interrupt directly */ + +static __attribute__((__interrupt__)) void irq_handler(void) +{ + volatile avr32_rtc_t *rtc = &AVR32_RTC; + struct timer_t* priv = &TIMER; + priv->tick++; + + if(priv->tick_isr) + priv->tick_isr(priv->ctx); + + rtc->icr = AVR32_RTC_ICR_TOPI_MASK; + rtc->isr; +} + +#endif + +void timer_init(void (*tick_isr) (void* ctx), void* ctx) +{ + struct timer_t* priv = &TIMER; + uint8_t id; + +#ifndef FREERTOS_USED + INTC_register_interrupt(&irq_handler, AVR32_RTC_IRQ, AVR32_INTC_INT0); + if (!rtc_init(&AVR32_RTC, RTC_OSC_RC, 0)) + Assert(0); + + rtc_set_top_value(&AVR32_RTC, 115 * priv->MS_PER_TICK / 2); + rtc_enable_interrupt(&AVR32_RTC); + rtc_enable(&AVR32_RTC); +#else + /* With FreeRTOS we use the OS tick instead */ +#endif + priv->tick_isr = tick_isr; + priv->ctx = ctx; + + for (id = 0; id < ARRAY_SIZE(priv->timeout); id++) + priv->timeout[id].expired = TRUE; +} + + +U32 timer_get_ms(void) +{ + struct timer_t* priv = &TIMER; + return priv->tick * priv->MS_PER_TICK; +} + +void timer_delay(U32 ms) +{ + struct timer_t* priv = &TIMER; + U32 expire_at_tick = priv->tick + ms / priv->MS_PER_TICK; + while (priv->tick < expire_at_tick); +} + +/** + * Called from application main loop to invoke any scheduled timeout cbs. + * This function might be called as often as possible rather than at each tick + * to support the timeout value '0', e.g a timeout within less than one tick. + * + */ +void timer_poll(void) +{ + struct timer_t* priv = &TIMER; + U8 i; + + for (i = 0; i < ARRAY_SIZE(priv->timeout); i++) { + struct timeout_t* tmo = &priv->timeout[i]; + if (tmo->expired) + continue; + + if (tmo->expire_at_tick > priv->tick) + continue; + + if (tmo->cb) + tmo->cb(tmo->ctx); + + if (tmo->type == TIMEOUT_PERIODIC) + tmo->expire_at_tick = priv->tick + tmo->tick; + else + tmo->expired = TRUE; + } +} + +static U32 timer_sched_timeout(U32 ms, U8 type) +{ + struct timer_t* priv = &TIMER; + struct timeout_t* tmo; + U8 id; + + Assert(type == TIMEOUT_ONESHOT || type == TIMEOUT_PERIODIC); + + for (id = 0; id < ARRAY_SIZE(priv->timeout); id++) { + tmo = &priv->timeout[id]; + if (tmo->expired) + break; + } + + Assert(id != ARRAY_SIZE(priv->timeout)); + + tmo->tick = ms / priv->MS_PER_TICK; + tmo->expire_at_tick = priv->tick + tmo->tick; + tmo->type = type; + tmo->expired = FALSE; + return id; +} + +U32 timer_sched_timeout_cb(U32 ms, U8 type, void (*cb)(void *ctx), void* ctx) +{ + struct timer_t* priv = &TIMER; + struct timeout_t* tmo; + U8 id; + + Assert(cb); + id = timer_sched_timeout(ms, type); + tmo = &priv->timeout[id]; + + tmo->cb = cb; + tmo->ctx = ctx; + return id; +} + + +U32 timer_mod(U32 id, U32 ms, U8 type, void (*cb)(void *ctx), void* ctx) +{ + struct timer_t* priv = &TIMER; + + if (id != INVALID_TIMER_ID && !priv->timeout[id].expired) + timer_cancel_timeout(id); + + return timer_sched_timeout_cb(ms, type, cb, ctx); +} + +void timer_cancel_timeout(U32 id) +{ + struct timer_t* priv = &TIMER; + struct timeout_t* tmo; + + tmo = &priv->timeout[id]; + tmo->expired = TRUE; +} + +int timer_interval_passed(U32 old, U32 new, U32 diff) { + /* New did not wrap */ + if (new > old && new - old > diff) { + return 1; + } + /* New did wrap */ + else if (new < old && ( ( (U32)(-1) - old ) + new ) > diff ) { + return 1; + } + return 0; +} diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/timer.h b/firmware/libraries/WiFi/extras/wifiHD/src/timer.h new file mode 100644 index 0000000..6614fbc --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/timer.h @@ -0,0 +1,51 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef TIMER_H +#define TIMER_H +#include <stdint.h> + +enum { + TIMEOUT_ONESHOT, + TIMEOUT_PERIODIC +}; + +#define INVALID_TIMER_ID 0xFFFFFFFF + +/* Handle timer overflows. Return 1 if the interval has passed. */ +int timer_interval_passed(uint32_t old, uint32_t new, uint32_t diff); + +void timer_tick(); +void timer_init(void (*tick_isr) (void* ctx), void* ctx); +void timer_poll(void); +void timer_delay(uint32_t ms); +uint32_t timer_sched_timeout_cb(uint32_t ms, uint8_t type, void (*cb)(void *ctx), void* ctx); +uint32_t timer_mod(uint32_t id, uint32_t ms, uint8_t type, void (*cb)(void *ctx), void* ctx); +void timer_cancel_timeout(uint32_t id); +uint32_t timer_get_ms(void); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/top_defs.h b/firmware/libraries/WiFi/extras/wifiHD/src/top_defs.h new file mode 100644 index 0000000..09f7c3e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/top_defs.h @@ -0,0 +1,120 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _TOP_DEFS_H +#define _TOP_DEFS_H + +#include <stdlib.h> +#include <stdint.h> + +#define ARRAY_SIZE(a) sizeof(a) / sizeof((a)[0]) + +#ifndef UNREF +#define UNREF(x) x = x +#endif + +#if __GNUC__ +#ifdef __KERNEL__ +#define WEAK_DECL +#else +#define WEAK_DECL __attribute__ ((__weak__)) +#endif +#define PACKED __attribute__ ((__packed__)) +#define USED __attribute__ ((__used__)) +#else + #error "Unsupported compiler" +#endif + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + + +#if 0 +#include <stdio.h> +/* + * These functions should _NOT_ be used, call iprintf, sniprintf, iscanf, siscanf etc + * instead. Those functions do not have support for floating point formats. + * Not using these functions saves 27kB of code. + */ +extern int printf(const char *format, ...) __attribute__ ((deprecated)); +extern int sprintf(char *str, const char *format, ...) __attribute__ ((deprecated)); +extern int snprintf(char *str, size_t size, const char *format, ...) __attribute__ ((deprecated)); + +int vprintf(const char *format, va_list ap) __attribute__ ((deprecated)); +int vfprintf(FILE *stream, const char *format, va_list ap) __attribute__ ((deprecated)); +int vsprintf(char *str, const char *format, va_list ap) __attribute__ ((deprecated)); +int vsnprintf(char *str, size_t size, const char *format, va_list ap) __attribute__ ((deprecated)); + +int scanf(const char *format, ...) __attribute__ ((deprecated)); +int fscanf(FILE *stream, const char *format, ...) __attribute__ ((deprecated)); +int sscanf(const char *str, const char *format, ...) __attribute__ ((deprecated)); + +int vscanf(const char *format, va_list ap) __attribute__ ((deprecated)); +int vsscanf(const char *str, const char *format, va_list ap) __attribute__ ((deprecated)); +int vfscanf(FILE *stream, const char *format, va_list ap) __attribute__ ((deprecated)); +#endif + +#endif + + + +#if defined(__linux__) || defined(__APPLE__) + #include <stdint.h> + #include <assert.h> + #define sniprintf snprintf + #define asiprintf asprintf + #define printk printf + #define siscanf sscanf + + #define WL_ASSERT(x) assert(x) + #define WL_DEBUG(args...) printf(args) + + #ifdef NO_LWIP + /* IP address representation from lwIP */ + struct ip_addr { + uint32_t addr; + } PACKED; + #endif + + #define FEAT_SOCKETS + +#else + #define WL_ASSERT(cond) do { \ + if (!(cond)) { \ + printk("%s:%d\n", __FILE__, __LINE__); \ + for(;;); \ + } \ + } while(0) + #define WL_DEBUG(args...) printk(args) + + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/trace.h b/firmware/libraries/WiFi/extras/wifiHD/src/trace.h new file mode 100644 index 0000000..984262a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/trace.h @@ -0,0 +1,44 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef TRACE_H +#define TRACE_H + +#include <compiler.h> +#include "printf-stdarg.h" + +#define ASSERT(cond, str) do { \ + if (!(cond)) { \ + printk("%s\n", str); \ + Assert(0); \ + } \ + } while(0) + + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/util.c b/firmware/libraries/WiFi/extras/wifiHD/src/util.c new file mode 100644 index 0000000..c01edeb --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/util.c @@ -0,0 +1,260 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include <top_defs.h> +#include <util.h> +#include <stdint.h> +#include <stdlib.h> +#include <wl_api.h> +#include <stdio.h> +#include <ctype.h> +#include <errno.h> +#include <string.h> +#include <printf-stdarg.h> + +const char* ip2str(struct ip_addr addr) +{ + static char buf[16]; + +#if BYTE_ORDER == LITTLE_ENDIAN + sniprintf(buf, sizeof(buf), "%lu.%lu.%lu.%lu", + addr.addr & 0xff, + (addr.addr >> 8) & 0xff, + (addr.addr >> 16) & 0xff, + (addr.addr >> 24) & 0xff); + return buf; +#else + sniprintf(buf, sizeof(buf), "%lu.%lu.%lu.%lu", + (addr.addr >> 24) & 0xff, + (addr.addr >> 16) & 0xff, + (addr.addr >> 8) & 0xff, + (addr.addr) & 0xff); + return buf; +#endif +} + +struct ip_addr str2ip(const char* str) +{ + int a,b,c,d; + uint32_t ip = 0; + struct ip_addr addr; + + if (siscanf(str,"%d.%d.%d.%d",&a,&b,&c,&d) != 4) + goto out; + + if (a < 0 || a > 255 || b < 0 || b > 255 || + c < 0 || c > 255 || d < 0 || d > 255) { + goto out; + } + +#if BYTE_ORDER == LITTLE_ENDIAN + ip = (d << 24) | (c << 16) | (b << 8) | a; +#else + ip = (a << 24) | (b << 16) | (c << 8) | d; +#endif + + out: + addr.addr = ip; + return addr; +} + +uint8_t ascii_to_key(char *outp, const char *inp) { + char buf[3]; + int len; + buf[2] = '\0'; + len = strlen(inp); + if (len % 2) { + printk("Invalid length\n"); + } + len = 0; + while (*inp) { + if (! isxdigit(*inp) || ! isxdigit(*(inp+1)) || + len > WL_MAX_PASS_LEN) { + return 0; + } + buf[0] = *inp++; + buf[1] = *inp++; + *outp++ = strtol(buf, NULL, 16); + len++; + } + return len; +} + + + +void printbuf(const char *prefix, const void *data, size_t len) +{ + const unsigned char *s = data; + int i, j; + + for (i = 0; i < len; i += 16) + { + printk("%s ", prefix); + for(j = 0; j < 16; j++) { + if(i + j >= len) + printk(" "); + else + printk("%02X ", (uint16_t)s[i + j]); + } + printk(": "); + for(j = 0; j < 16; j++) { + if(i + j >= len) + break; + if(s[i+j] >= 32 && s[i+j] < 127) + printk("%c", s[i + j]); + else + printk("."); + } + printk("\n"); + } +} + + +void print_network(struct wl_network_t* wl_network) +{ + printk("%s ", mac2str(wl_network->bssid.octet)); + printk("\"%s\"", ssid2str(&wl_network->ssid)); + printk(" RSSI %d dBm ", wl_network->rssi); + switch(wl_network->net_type) { + case WL_CONN_TYPE_ADHOC: + printk(" Ad-Hoc "); + break; + default : + break; + } + switch (wl_network->enc_type) { + case ENC_TYPE_WEP : + printk(" (WEP encryption)"); + break; + case ENC_TYPE_TKIP : + printk(" (TKIP encryption)"); + break; + case ENC_TYPE_CCMP : + printk(" (CCMP encryption)"); + break; + case ENC_TYPE_NONE : + break; + } + printk("\n"); + +} + +void print_network_list(void) +{ + struct wl_network_list_t* wl_network_list; + uint8_t i; + + wl_get_network_list(&wl_network_list); + + if (wl_network_list->cnt == 0) + printk("no nets found\n"); + + for (i = 0; i < wl_network_list->cnt; i++) + print_network(wl_network_list->net[i]); +} + +int join_argv(char *dst, size_t dst_len, int argc, char* argv[]) { + char *p = dst; + int i; + int len = 0; + + /* Not really kosher, an ssid may legally contain 0-bytes but + * the console interface does not deal with that. + */ + for (i = 0; i < argc; i++) { + len += strlen(argv[i]); + if (len > dst_len) { + printk("ssid too long (max %d)\n", (int) dst_len); + return 0; + } + p += sniprintf(p, + dst_len - (p - dst), + "%s ", + argv[i]); + } + if (p == dst) { + return 0; + } + p--; + *p = '\0'; /* Delete last space */ + + return p - dst; +} + +const char* ssid2str(struct wl_ssid_t *ssid) { + static char buf[WL_SSID_MAX_LENGTH + 1]; + + memset(buf, 0, sizeof buf); + memcpy(buf, ssid->ssid, ssid->len); + + return buf; +} + + +const char* mac2str(uint8_t* mac) +{ + static char buf[18]; + sniprintf(buf, sizeof(buf), "%02x-%02x-%02x-%02x-%02x-%02x", + mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + return buf; +} + + +char* enc_type2str(enum wl_enc_type enc_type) +{ + switch(enc_type) { + case ENC_TYPE_WEP: + return "WEP"; + case ENC_TYPE_CCMP: + return "CCMP"; + case ENC_TYPE_TKIP: + return "TKIP"; + default: + return ""; + }; +} + +int equal_ssid(const struct wl_ssid_t* ssid1, + const struct wl_ssid_t* ssid2) { + if (ssid1->len == ssid2->len && + (memcmp(ssid1->ssid, ssid2->ssid, ssid1->len) == 0)) { + return 1; + } + return 0; +} + +int equal_bssid(const struct wl_mac_addr_t* bssid1, + const struct wl_mac_addr_t* bssid2) { + if (memcmp(bssid1, bssid2, sizeof *bssid1) == 0) { + return 1; + } + return 0; +} + + diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/util.h b/firmware/libraries/WiFi/extras/wifiHD/src/util.h new file mode 100644 index 0000000..2b3f74f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/util.h @@ -0,0 +1,71 @@ +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _UTIL_H +#define _UTIL_H +#include <stdint.h> +#include <stdlib.h> +#include <wl_api.h> +#include "lwip/ip.h" +#include <console.h> + +const char* ip2str(struct ip_addr addr); + +struct ip_addr str2ip(const char* str); + +uint8_t ascii_to_key(char *outp, const char *inp); + +void print_network(struct wl_network_t* wl_network); + +void print_network_list(void); + +int join_argv(char *dst, size_t dst_len, int argc, char* argv[]); + +void printbuf(const char *prefix, const void *data, size_t len); + +const char* ssid2str(struct wl_ssid_t *ssid); + +const char* mac2str(uint8_t mac[6]); + +char* enc_type2str(enum wl_enc_type enc_type); + +int equal_ssid(const struct wl_ssid_t* ssid1, + const struct wl_ssid_t* ssid2); + +int equal_bssid(const struct wl_mac_addr_t* bssid1, + const struct wl_mac_addr_t* bssid2); + +#define NET_SET_SSID(net, xssid, ssid_len) do { \ + DE_MEMCPY((net)->ssid.ssid, (xssid), (ssid_len)); \ + (net)->ssid.len = (ssid_len); \ + } while (0) + +#define NET_SET_BSSID(net, xbssid) do { \ + DE_MEMCPY(&(net)->bssid, &(xbssid), sizeof (xbssid)); \ + } while (0) + +#endif /* _UTIL_H */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/wifi_spi.h b/firmware/libraries/WiFi/extras/wifiHD/src/wifi_spi.h new file mode 100644 index 0000000..e2e262c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/wifi_spi.h @@ -0,0 +1,160 @@ +/* + * wifi_spi.h + * + * Created on: Jul 4, 2010 + * Author: mlf by Metodo2 srl + */ +#ifndef WiFi_Spi_h +#define WiFi_Spi_h + +#include "wl_definitions.h" + +#define CMD_FLAG 0 +#define REPLY_FLAG 1<<7 +#define DATA_FLAG 0x40 + +#define WIFI_SPI_ACK 1 +#define WIFI_SPI_ERR 0xFF + +#define TIMEOUT_CHAR 1000 + +//#define MAX_SOCK_NUM 4 /**< Maxmium number of socket */ +#define NO_SOCKET_AVAIL 255 + +#define START_CMD 0xE0 +#define END_CMD 0xEE +#define ERR_CMD 0xEF +#define CMD_POS 1 // Position of Command OpCode on SPI stream +#define PARAM_LEN_POS 2 // Position of Param len on SPI stream + +enum { + SET_NET_CMD = 0x10, + SET_PASSPHRASE_CMD = 0x11, + SET_KEY_CMD = 0x12, + TEST_CMD = 0x13, + SET_IP_CONFIG_CMD = 0x14, + SET_DNS_CONFIG_CMD = 0x15, + + GET_CONN_STATUS_CMD = 0x20, + GET_IPADDR_CMD = 0x21, + GET_MACADDR_CMD = 0x22, + GET_CURR_SSID_CMD = 0x23, + GET_CURR_BSSID_CMD = 0x24, + GET_CURR_RSSI_CMD = 0x25, + GET_CURR_ENCT_CMD = 0x26, + SCAN_NETWORKS = 0x27, + START_SERVER_TCP_CMD= 0x28, + GET_STATE_TCP_CMD = 0x29, + DATA_SENT_TCP_CMD = 0x2A, + AVAIL_DATA_TCP_CMD = 0x2B, + GET_DATA_TCP_CMD = 0x2C, + START_CLIENT_TCP_CMD= 0x2D, + STOP_CLIENT_TCP_CMD = 0x2E, + GET_CLIENT_STATE_TCP_CMD = 0x2F, + DISCONNECT_CMD = 0x30, + GET_IDX_SSID_CMD = 0x31, + GET_IDX_RSSI_CMD = 0x32, + GET_IDX_ENCT_CMD = 0x33, + REQ_HOST_BY_NAME_CMD= 0x34, + GET_HOST_BY_NAME_CMD= 0x35, + START_SCAN_NETWORKS = 0x36, + GET_FW_VERSION_CMD = 0x37, + GET_TEST_CMD = 0x38, + SEND_DATA_UDP_CMD = 0x39, + GET_REMOTE_DATA_CMD = 0x3A, + + // All command with DATA_FLAG 0x40 send a 16bit Len + + SEND_DATA_TCP_CMD = 0x44, + GET_DATABUF_TCP_CMD = 0x45, + INSERT_DATABUF_CMD = 0x46, + +}; + +#if 0 +enum wl_tcp_state { + CLOSED = 0, + LISTEN = 1, + SYN_SENT = 2, + SYN_RCVD = 3, + ESTABLISHED = 4, + FIN_WAIT_1 = 5, + FIN_WAIT_2 = 6, + CLOSE_WAIT = 7, + CLOSING = 8, + LAST_ACK = 9, + TIME_WAIT = 10 +}; +#endif + +enum numParams{ + PARAM_NUMS_0, + PARAM_NUMS_1, + PARAM_NUMS_2, + PARAM_NUMS_3, + PARAM_NUMS_4, + PARAM_NUMS_5, + MAX_PARAM_NUMS +}; + +#define MAX_PARAMS MAX_PARAM_NUMS-1 +#define PARAM_LEN_SIZE 1 + +typedef struct __attribute__((__packed__)) +{ + uint8_t paramLen; + char* param; +}tParam; + +typedef struct __attribute__((__packed__)) +{ + uint16_t dataLen; + char* data; +}tDataParam; + + +typedef struct __attribute__((__packed__)) +{ + unsigned char cmd; + unsigned char tcmd; + unsigned char nParam; + tParam params[MAX_PARAMS]; +}tSpiMsg; + +typedef struct __attribute__((__packed__)) +{ + unsigned char cmd; + unsigned char tcmd; + unsigned char nParam; + tDataParam params[MAX_PARAMS]; +}tSpiMsgData; + + +typedef struct __attribute__((__packed__)) +{ + unsigned char cmd; + unsigned char tcmd; + //unsigned char totLen; + unsigned char nParam; +}tSpiHdr; + +typedef struct __attribute__((__packed__)) +{ + uint8_t paramLen; + uint32_t param; +}tLongParam; + +typedef struct __attribute__((__packed__)) +{ + uint8_t paramLen; + uint16_t param; +}tIntParam; + +typedef struct __attribute__((__packed__)) +{ + uint8_t paramLen; + uint8_t param; +}tByteParam; + +#endif +uint8_t param; \ No newline at end of file diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/wl_cm.c b/firmware/libraries/WiFi/extras/wifiHD/src/wl_cm.c new file mode 100644 index 0000000..ebc0e45 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/wl_cm.c @@ -0,0 +1,431 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include "wl_cm.h" +#include "util.h" +#include <string.h> +#include "debug.h" + +/** Roaming configuration parameters **/ + +/*! The ROAMING_RSSI_THRESHOLD setting defines how bad the current + * signal strength should be before we'll consider roaming to an AP + * with better signal strength. The objective is to stay on the + * current AP as long as the RSSI is decent, even if there are other + * APs in the same BSS with better RSSI available. + * If ROAMING_RSSI_THRESHOLD is too high we might roam unecessarily. + * If ROAMING_RSSI_THRESHOLD is too low we might not roam in time to + * avoid packet loss. This also impacts power consumption, staying + * too long with an AP with poor RSSI will consume more power. + * Unit is dBm. + */ +#define ROAMING_RSSI_THRESHOLD -65 + +/*! The ROAMING_RSSI_DIFF setting defines how much better + * than the currently associated AP a new AP must be before + * we'll attempt to roam over to the new AP. + * If ROAMING_RSSI_DIFF is too high it might be too hard + * to roam (important if the STA is expected to move + * quickly through different AP coverage areas). + * If ROAMING_RSSI_DIFF is too low we might bounce between + * two APs with similar signal strengths. + * Unit is dBm. + */ +#define ROAMING_RSSI_DIFF 10 + +# include "printf-stdarg.h" +#include "ard_utils.h" +#include "debug.h" + +/** \defgroup wl_cm Connection Manager + * + * These functions are used to configure and control the WiFi connetion + * manager. + * + * + * @{ + */ + +struct cm_candidate { + struct wl_ssid_t ssid; + struct wl_mac_addr_t bssid; +}; + +struct cm { + cm_scan_cb_t *scan_cb; + cm_conn_cb_t *conn_cb; + cm_disconn_cb_t *disconn_cb; + void* ctx; + uint8_t enabled; + struct cm_candidate candidate; +}; + + +/** + * This function can be modified to pick a network based on + * application specific criteria. + * + * If the SSID can not be found in the scan list it will be + * assumed to be a hidden SSID and the wl_connect() command + * will be called to attempt to probe for the network and + * connect to it. + */ +static struct wl_network_t* +find_best_candidate(struct cm* cm) +{ + struct wl_network_list_t* netlist; + struct wl_network_t *best_net = NULL; + uint8_t i; + + if (wl_get_network_list(&netlist) != WL_SUCCESS) + return NULL; + + if (netlist->cnt == 0) + return NULL; + + for (i = 0; i < netlist->cnt; i++) { + /* match on ssid */ + if (cm->candidate.ssid.len) + if (!equal_ssid(&cm->candidate.ssid, + &netlist->net[i]->ssid)) + continue; + + /* match bssid */ + if (strncmp((char*) cm->candidate.bssid.octet, + "\xff\xff\xff\xff\xff\xff", 6)) + if (!equal_bssid(&cm->candidate.bssid, + &netlist->net[i]->bssid)) + continue; + /* check for best rssi. */ + if ( best_net && + ( best_net->rssi > netlist->net[i]->rssi) ) { + continue; + } + best_net = netlist->net[i]; + } + + return best_net; +} + + +/** + * + */ +static void +select_net(struct cm* cm) +{ + struct wl_network_t *candidate_net; + struct wl_network_t *current_net; + struct wl_ssid_t *ssid_p; + + int ret; + + /* Nothing to do */ + if (0 == cm->candidate.ssid.len) { + return; + } + + current_net = wl_get_current_network(); + candidate_net = find_best_candidate(cm); + + /* Connected to the candidate? ... */ + if ( current_net == candidate_net ) { + if ( current_net ) { + /* ...yes, dont change. */ + + return; + } + } + + /* Roaming checks */ + if (current_net && candidate_net) { + /* Are we changing BSSs? */ + if ( equal_ssid(&candidate_net->ssid, + &current_net->ssid)) { + + /* ...no. Does the currently connected + * net have a decent RSSI?...*/ + if ( current_net->rssi > ROAMING_RSSI_THRESHOLD ) { + /* ...yes, stay with it. */ + return; + } + /* ...no. Does the candidate have + * sufficiently better RSSI to + * motivate a switch to it? */ + if ( candidate_net->rssi < current_net->rssi + + ROAMING_RSSI_DIFF) { + return; + } + /* ...yes, try to roam to candidate_net */ + CM_DPRINTF("CM: Roaming from rssi %d to %d\n", + current_net->rssi, + candidate_net->rssi); + } + } + /* a candidate is found */ + if (candidate_net) { + /* We connect to a specific bssid here because + * find_best_candidate() might have picked a + * particulare AP among many with the same SSID. + * wl_connect() would pick one of them at random. + */ + ret = wl_connect_bssid(candidate_net->bssid); + } + /* no candidate found */ + else { + CM_DPRINTF("CM: No candidate found for ssid \"%s\"\n", + ssid2str(&cm->candidate.ssid)); + /* Might be a hidden SSID so we try to connect to it. + * wl_connect() will trigger a directed scan + * for the SSID in this case. + */ + ssid_p = &cm->candidate.ssid; + ret = wl_connect(ssid_p->ssid, ssid_p->len); + } + switch (ret) { + case WL_SUCCESS : + return; + case WL_BUSY: + wl_disconnect(); + return; + case WL_RETRY: + break; + default : + CM_DPRINTF("CM: failed to connect\n"); + break; + } + + /* some operation failed or no candidate found */ + if (wl_scan() != WL_SUCCESS) + CM_DPRINTF("CM: failed to scan\n"); +} + + +/** + * + */ +static void +wl_scan_complete_cb(void* ctx) +{ + struct cm *cm = ctx; + + CM_DPRINTF("CM: scan completed\n"); + + if (cm->scan_cb) + cm->scan_cb(cm->ctx); + + if ( 0 == cm->enabled ) { + return; + } + select_net(cm); +} + +/** + * + */ +static void +wl_media_connected_cb(void* ctx) +{ + struct cm *cm = ctx; + struct wl_network_t *net = wl_get_current_network(); + CM_DPRINTF("CM: connected to %s\n", ssid2str(&net->ssid)); + LINK_LED_ON(); + ERROR_LED_OFF(); + if (cm->conn_cb) + cm->conn_cb(net, cm->ctx); +} + + +/** + * + */ +static void +wl_conn_failure_cb(void* ctx) +{ + struct cm *cm = ctx; + CM_DPRINTF("CM: connect failed, scanning\n"); + ERROR_LED_ON(); + LINK_LED_OFF(); + + if ( 0 == cm->enabled ) { + return; + } + if (wl_scan() != WL_SUCCESS) + /* should never happen */ + CM_DPRINTF("CM: could not start scan after connect fail!\n"); +} + + +/** + * + */ +static void +wl_conn_lost_cb(void* ctx) +{ + struct cm *cm = ctx; + CM_DPRINTF("CM: connection lost, scanning\n"); + LINK_LED_OFF(); + if (cm->disconn_cb) + cm->disconn_cb(cm->ctx); + + if ( 0 == cm->enabled ) { + return; + } + if (wl_scan() != WL_SUCCESS) + /* should never happen */ + CM_DPRINTF("CM: could not start scan after connect lost!\n"); +} + + +/** + * + */ +static void +wl_event_cb(struct wl_event_t event, void* ctx) +{ + struct cm *cm = ctx; + + switch (event.id) { + case WL_EVENT_MEDIA_CONNECTED: + wl_media_connected_cb(cm); + break; + + case WL_EVENT_CONN_FAILURE: + wl_conn_failure_cb(cm); + break; + + case WL_EVENT_MEDIA_DISCONNECTED: + CM_DPRINTF("CM: disconnected\n"); + wl_conn_lost_cb(cm); + break; + + case WL_EVENT_SCAN_COMPLETE: + wl_scan_complete_cb(cm); + break; + + default: + CM_DPRINTF("CM: unhandled event\n"); + }; +} + +static struct cm *cm = NULL; + + +/** + * Doesn't actually start the CM, just initializing. CM will run whenever + * an valid ssid is set through wl_cm_set_network() and wl_cm_start() + * has been called. + */ +wl_err_t +wl_cm_init(cm_scan_cb_t scan_cb, + cm_conn_cb_t conn_cb, + cm_disconn_cb_t disconn_cb, + void* ctx) +{ + if (cm != NULL) + return WL_FAILURE; + + cm = calloc(1, sizeof(struct cm)); + if (cm == NULL) { + CM_DPRINTF("CM: out of memory\n"); + return WL_FAILURE; + } + + if (wl_register_event_cb(wl_event_cb, cm) != WL_SUCCESS) { + CM_DPRINTF("CM: could not register event cb\n"); + return WL_FAILURE; + } + + cm->scan_cb = scan_cb; + cm->conn_cb = conn_cb; + cm->disconn_cb = disconn_cb; + cm->enabled = 0; + cm->ctx = ctx; + + CM_DPRINTF("CM: initialized\n"); + return WL_SUCCESS; +} + +wl_err_t +wl_cm_start(void) { + if (NULL == cm) + return WL_FAILURE; + + cm->enabled = 1; + return WL_SUCCESS; +} + +wl_err_t +wl_cm_stop(void) { + if (NULL == cm) + return WL_FAILURE; + + cm->enabled = 0; + return WL_SUCCESS; +} + + +/** + * Set the desired network which the connection manager should try to + * connect to. + * + * The ssid and bssid of the desired network should be specified. The ssid and + * bssid will be matched against the networks found during scan. If any + * parameter is null, it will always match. If both parameters are null, + * the first found network will be chosen. + * + * @param ssid The ssid of the desired network. If null, any ssid will match. + * @param bssid The bssid of the desired network. If null, any bssid will match. + * + */ +wl_err_t +wl_cm_set_network(struct wl_ssid_t *ssid, struct wl_mac_addr_t *bssid) +{ + if (cm == NULL) + return WL_FAILURE; + + if (ssid) + memcpy(&cm->candidate.ssid, ssid, sizeof(cm->candidate.ssid)); + else + cm->candidate.ssid.len = 0; + + if (bssid) + memcpy(&cm->candidate.bssid, bssid, + sizeof(cm->candidate.bssid)); + else + memset(&cm->candidate.bssid, 0xff, sizeof(cm->candidate.bssid)); + + if (cm->candidate.ssid.len) + wl_scan(); + + return WL_SUCCESS; +} +/* + * @} + */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/wl_cm.h b/firmware/libraries/WiFi/extras/wifiHD/src/wl_cm.h new file mode 100644 index 0000000..bbb65d9 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/wl_cm.h @@ -0,0 +1,51 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef WL_CM_H +#define WL_CM_H + +#include <stdint.h> +#include <stdlib.h> +#include <wl_api.h> + +typedef void (cm_scan_cb_t)(void* ctx); +typedef void (cm_conn_cb_t)(struct wl_network_t *net, void* ctx); +typedef void (cm_disconn_cb_t)(void* ctx); + +wl_err_t wl_cm_set_network(struct wl_ssid_t *ssid, struct wl_mac_addr_t *bssid); + +wl_err_t wl_cm_init(cm_scan_cb_t scan_cb, + cm_conn_cb_t conn_cb, + cm_disconn_cb_t disconn_cb, + void* ctx); + +wl_err_t wl_cm_start(void); +wl_err_t wl_cm_stop(void); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifiHD/src/wl_definitions.h b/firmware/libraries/WiFi/extras/wifiHD/src/wl_definitions.h new file mode 100644 index 0000000..b07c203 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/src/wl_definitions.h @@ -0,0 +1,39 @@ +/* + * wl_definitions.h + * + * Created on: Mar 6, 2011 + * Author: mlf by Metodo2 srl + */ + +#ifndef WL_DEFINITIONS_H_ +#define WL_DEFINITIONS_H_ + +// Maximum size of a SSID +#define WL_SSID_MAX_LENGTH 32 +// Length of passphrase. Valid lengths are 8-63. +#define WL_WPA_KEY_MAX_LENGTH 63 +// Length of key in bytes. Valid values are 5 and 13. +#define WL_WEP_KEY_MAX_LENGTH 13 +// Size of a MAC-address or BSSID +#define WL_MAC_ADDR_LENGTH 6 +// Size of a MAC-address or BSSID +#define WL_IPV4_LENGTH 4 +// Maximum size of a SSID list +#define WL_NETWORKS_LIST_MAXNUM 10 +// Maxmium number of socket +#define MAX_SOCK_NUM 4 +//Maximum number of attempts to establish wifi connection +#define WL_MAX_ATTEMPT_CONNECTION 10 + +typedef enum { + WL_IDLE_STATUS, + WL_NO_SSID_AVAIL, + WL_SCAN_COMPLETED, + WL_CONNECTED, + WL_CONNECT_FAILED, + WL_CONNECTION_LOST, + WL_DISCONNECTED +} wl_status_t; + + +#endif /* WL_DEFINITIONS_H_ */ diff --git a/firmware/libraries/WiFi/extras/wifiHD/wifiHD.cproj b/firmware/libraries/WiFi/extras/wifiHD/wifiHD.cproj new file mode 100644 index 0000000..3d15941 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifiHD/wifiHD.cproj @@ -0,0 +1,1291 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <SchemaVersion>2.0</SchemaVersion> + <ProjectVersion>6.0</ProjectVersion> + <ToolchainName>com.Atmel.AVRGCC32</ToolchainName> + <ProjectGuid>417e15db-488a-4b56-8d4e-fbe832b2b649</ProjectGuid> + <Name>wifiHD</Name> + <avrdevice>AT32uc3a1256</avrdevice> + <avrdeviceseries>none</avrdeviceseries> + <AvrProjectType>Importer</AvrProjectType> + <OutputType>Executable</OutputType> + <Language>C</Language> + <OutputFileName>wifiHD</OutputFileName> + <OutputFileExtension>.elf</OutputFileExtension> + <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory> + <ToolchainFlavour>Native</ToolchainFlavour> + <avrtool>com.atmel.avrdbg.tool.jtagicemk3</avrtool> + <KeepTimersRunning>true</KeepTimersRunning> + <AsfFrameworkConfig> + <framework-data> + <options /> + <configurations> + <configuration key="config.avr32.utils.trampoline" value="yes" default="yes" content-id="Atmel.ASF" /> + <configuration key="config.avr32.utils.gccstartup" value="yes" default="yes" content-id="Atmel.ASF" /> + <configuration key="config.utils.interrupt.intc" value="yes" default="yes" content-id="Atmel.ASF" /> + <configuration key="config.avr32.drivers.intc.exception" value="yes" default="yes" content-id="Atmel.ASF" /> + </configurations> + <files /> + <documentation help="" /> + </framework-data> + </AsfFrameworkConfig> + <avrtoolinterface>JTAG</avrtoolinterface> + <com_atmel_avrdbg_tool_jtagicemk3> + <ToolType>com.atmel.avrdbg.tool.jtagicemk3</ToolType> + <ToolName>JTAGICE3</ToolName> + <ToolNumber>J30200003078</ToolNumber> + <KeepTimersRunning>true</KeepTimersRunning> + <OverrideVtor>false</OverrideVtor> + <OverrideVtorValue> + </OverrideVtorValue> + <Channel> + <host>127.0.0.1</host> + <port>51999</port> + <ssl>False</ssl> + </Channel> + <ToolOptions> + <InterfaceName>JTAG</InterfaceName> + <InterfaceProperties> + <JtagDbgClock>250000</JtagDbgClock> + <JtagProgClock>1000000</JtagProgClock> + <IspClock>150000</IspClock> + <JtagInChain>false</JtagInChain> + <JtagEnableExtResetOnStartSession>false</JtagEnableExtResetOnStartSession> + <JtagDevicesBefore>0</JtagDevicesBefore> + <JtagDevicesAfter>0</JtagDevicesAfter> + <JtagInstrBitsBefore>0</JtagInstrBitsBefore> + <JtagInstrBitsAfter>0</JtagInstrBitsAfter> + </InterfaceProperties> + </ToolOptions> + </com_atmel_avrdbg_tool_jtagicemk3> + <AsfVersion>3.5.0</AsfVersion> + <OverrideVtor>false</OverrideVtor> + <OverrideVtorValue /> + <eraseonlaunchrule>0</eraseonlaunchrule> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> + <ToolchainSettings> + <Avr32Gcc> + <avr32gcc.common.outputfiles.hex>True</avr32gcc.common.outputfiles.hex> + <avr32gcc.common.outputfiles.lss>True</avr32gcc.common.outputfiles.lss> + <avr32gcc.common.outputfiles.eep>True</avr32gcc.common.outputfiles.eep> + <avr32gcc.common.outputfiles.srec>True</avr32gcc.common.outputfiles.srec> + <avr32gcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>BOARD=ARDUINO</Value> + <Value>WITH_KEY</Value> + <Value>WITH_WPA</Value> + <Value>WITH_NO_DMA</Value> + <Value>DATAFLASH=1</Value> + <Value>_INFO_DEBUG_=1</Value> + </ListValues> + </avr32gcc.compiler.symbols.DefSymbols> + <avr32gcc.compiler.directories.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD</Value> + </ListValues> + </avr32gcc.compiler.directories.IncludePaths> + <avr32gcc.compiler.optimization.level>Optimize for size (-Os)</avr32gcc.compiler.optimization.level> + <avr32gcc.compiler.optimization.OtherFlags>-fdata-sections -ffunction-sections</avr32gcc.compiler.optimization.OtherFlags> + <avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection> + <avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions>True</avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions> + <avr32gcc.compiler.optimization.ForceDoubleWordAlignment>True</avr32gcc.compiler.optimization.ForceDoubleWordAlignment> + <avr32gcc.compiler.warnings.AllWarnings>True</avr32gcc.compiler.warnings.AllWarnings> + <avr32gcc.compiler.miscellaneous.OtherFlags>-c -fmessage-length=0</avr32gcc.compiler.miscellaneous.OtherFlags> + <avr32gcc.linker.general.DoNotUseStandardStartFiles>True</avr32gcc.linker.general.DoNotUseStandardStartFiles> + <avr32gcc.linker.libraries.Libraries> + <ListValues> + <Value>newlib_addons-at32ucr2-speed_opt</Value> + <Value>_ucr2_hd_spi_v2.7.0</Value> + <Value>_ucr2_hd_wl_sta_intwpa_v2.7.0</Value> + </ListValues> + </avr32gcc.linker.libraries.Libraries> + <avr32gcc.linker.libraries.LibrarySearchPaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC</Value> + </ListValues> + </avr32gcc.linker.libraries.LibrarySearchPaths> + <avr32gcc.linker.optimization.GarbageCollectUnusedSections>True</avr32gcc.linker.optimization.GarbageCollectUnusedSections> + <avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection>True</avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection> + <avr32gcc.linker.optimization.AllowDirectReferencesToDataSection>True</avr32gcc.linker.optimization.AllowDirectReferencesToDataSection> + <avr32gcc.linker.miscellaneous.LinkerFlags>-Wl,--gc-sections -Wl,-e,_trampoline -T../src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds</avr32gcc.linker.miscellaneous.LinkerFlags> + <avr32gcc.assembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.assembler.general.IncludePaths> + <avr32gcc.preprocessingassembler.general.AssemblerFlags>-Wa,-g</avr32gcc.preprocessingassembler.general.AssemblerFlags> + <avr32gcc.preprocessingassembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.preprocessingassembler.general.IncludePaths> +</Avr32Gcc> + </ToolchainSettings> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <ToolchainSettings> + <Avr32Gcc> + <avr32gcc.common.outputfiles.hex>True</avr32gcc.common.outputfiles.hex> + <avr32gcc.common.outputfiles.lss>True</avr32gcc.common.outputfiles.lss> + <avr32gcc.common.outputfiles.eep>True</avr32gcc.common.outputfiles.eep> + <avr32gcc.common.outputfiles.srec>True</avr32gcc.common.outputfiles.srec> + <avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories>false</avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories> + <avr32gcc.compiler.preprocessor.PreprocessOnly>false</avr32gcc.compiler.preprocessor.PreprocessOnly> + <avr32gcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>BOARD=ARDUINO</Value> + <Value>NO_SYS</Value> + <Value>_DEBUG_</Value> + <Value>_ASSERT_ENABLE_</Value> + <Value>WITH_KEY</Value> + <Value>WITH_WPA</Value> + <Value>WITH_NO_DMA</Value> + <Value>DATAFLASH=1</Value> + <Value>_INFO_DEBUG_=1</Value> + </ListValues> + </avr32gcc.compiler.symbols.DefSymbols> + <avr32gcc.compiler.directories.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD</Value> + </ListValues> + </avr32gcc.compiler.directories.IncludePaths> + <avr32gcc.compiler.optimization.level>Optimize (-O1)</avr32gcc.compiler.optimization.level> + <avr32gcc.compiler.optimization.OtherFlags>-fdata-sections -ffunction-sections</avr32gcc.compiler.optimization.OtherFlags> + <avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection>true</avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection> + <avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.compiler.optimization.EnableFastMath>false</avr32gcc.compiler.optimization.EnableFastMath> + <avr32gcc.compiler.optimization.GeneratePositionIndependentCode>false</avr32gcc.compiler.optimization.GeneratePositionIndependentCode> + <avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions>true</avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions> + <avr32gcc.compiler.optimization.ForceDoubleWordAlignment>true</avr32gcc.compiler.optimization.ForceDoubleWordAlignment> + <avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool>false</avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool> + <avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing>false</avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing> + <avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData>false</avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData> + <avr32gcc.compiler.optimization.DebugLevel>Maximum (-g3)</avr32gcc.compiler.optimization.DebugLevel> + <avr32gcc.compiler.optimization.GenerateGprofInformation>false</avr32gcc.compiler.optimization.GenerateGprofInformation> + <avr32gcc.compiler.optimization.GenerateProfInformation>false</avr32gcc.compiler.optimization.GenerateProfInformation> + <avr32gcc.compiler.warnings.AllWarnings>true</avr32gcc.compiler.warnings.AllWarnings> + <avr32gcc.compiler.warnings.CheckSyntaxOnly>false</avr32gcc.compiler.warnings.CheckSyntaxOnly> + <avr32gcc.compiler.warnings.Pedantic>false</avr32gcc.compiler.warnings.Pedantic> + <avr32gcc.compiler.warnings.PedanticWarningsAsErrors>false</avr32gcc.compiler.warnings.PedanticWarningsAsErrors> + <avr32gcc.compiler.warnings.InhibitAllWarnings>false</avr32gcc.compiler.warnings.InhibitAllWarnings> + <avr32gcc.compiler.miscellaneous.OtherFlags>-c -fmessage-length=0</avr32gcc.compiler.miscellaneous.OtherFlags> + <avr32gcc.compiler.miscellaneous.SupportAnsiPrograms>false</avr32gcc.compiler.miscellaneous.SupportAnsiPrograms> + <avr32gcc.linker.general.DoNotUseStandardStartFiles>true</avr32gcc.linker.general.DoNotUseStandardStartFiles> + <avr32gcc.linker.general.DoNotUseDefaultLibraries>false</avr32gcc.linker.general.DoNotUseDefaultLibraries> + <avr32gcc.linker.general.NoStartupOrDefaultLibs>false</avr32gcc.linker.general.NoStartupOrDefaultLibs> + <avr32gcc.linker.general.OmitAllSymbolInformation>false</avr32gcc.linker.general.OmitAllSymbolInformation> + <avr32gcc.linker.general.NoSharedLibraries>false</avr32gcc.linker.general.NoSharedLibraries> + <avr32gcc.linker.libraries.Libraries> + <ListValues> + <Value>newlib_addons-at32ucr2-speed_opt</Value> + <Value>_ucr2_hd_spi_v2.7.0</Value> + <Value>_ucr2_hd_wl_sta_intwpa_v2.7.0</Value> + </ListValues> + </avr32gcc.linker.libraries.Libraries> + <avr32gcc.linker.libraries.LibrarySearchPaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC</Value> + </ListValues> + </avr32gcc.linker.libraries.LibrarySearchPaths> + <avr32gcc.linker.optimization.GarbageCollectUnusedSections>true</avr32gcc.linker.optimization.GarbageCollectUnusedSections> + <avr32gcc.linker.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.linker.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.linker.optimization.EnableFastMath>false</avr32gcc.linker.optimization.EnableFastMath> + <avr32gcc.linker.optimization.GeneratePositionIndependentCode>false</avr32gcc.linker.optimization.GeneratePositionIndependentCode> + <avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection>true</avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection> + <avr32gcc.linker.optimization.AllowDirectReferencesToDataSection>true</avr32gcc.linker.optimization.AllowDirectReferencesToDataSection> + <avr32gcc.assembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.assembler.general.IncludePaths> + <avr32gcc.assembler.general.AnounceVersion>false</avr32gcc.assembler.general.AnounceVersion> + <avr32gcc.assembler.debugging.DebugLevel>Default (-g)</avr32gcc.assembler.debugging.DebugLevel> + <avr32gcc.preprocessingassembler.general.AssemblerFlags>-Wa,-g</avr32gcc.preprocessingassembler.general.AssemblerFlags> + <avr32gcc.preprocessingassembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.preprocessingassembler.general.IncludePaths> + <avr32gcc.preprocessingassembler.general.SuppressWarnings>false</avr32gcc.preprocessingassembler.general.SuppressWarnings> + <avr32gcc.preprocessingassembler.general.AnounceVersion>false</avr32gcc.preprocessingassembler.general.AnounceVersion> + <avr32gcc.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</avr32gcc.preprocessingassembler.debugging.DebugLevel> + </Avr32Gcc> + </ToolchainSettings> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Debug_512' "> + <OutputPath>bin\Debug_512\</OutputPath> + <ToolchainSettings> + <Avr32Gcc> + <avr32gcc.common.outputfiles.hex>True</avr32gcc.common.outputfiles.hex> + <avr32gcc.common.outputfiles.lss>True</avr32gcc.common.outputfiles.lss> + <avr32gcc.common.outputfiles.eep>True</avr32gcc.common.outputfiles.eep> + <avr32gcc.common.outputfiles.srec>True</avr32gcc.common.outputfiles.srec> + <avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories>false</avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories> + <avr32gcc.compiler.preprocessor.PreprocessOnly>false</avr32gcc.compiler.preprocessor.PreprocessOnly> + <avr32gcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>BOARD=ARDUINO</Value> + <Value>_APP_DEBUG_</Value> + <Value>_DEBUG_</Value> + <Value>_ASSERT_ENABLE_</Value> + <Value>EXT_BOARD=SPB104</Value> + <Value>WITH_KEY</Value> + <Value>WITH_WPA</Value> + <Value>WITH_NO_DMA</Value> + <Value>LWIP_DEBUG</Value> + <Value>_INFO_DEBUG_=1</Value> + </ListValues> + </avr32gcc.compiler.symbols.DefSymbols> + <avr32gcc.compiler.directories.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD</Value> + </ListValues> + </avr32gcc.compiler.directories.IncludePaths> + <avr32gcc.compiler.optimization.level>Optimize (-O1)</avr32gcc.compiler.optimization.level> + <avr32gcc.compiler.optimization.OtherFlags>-fdata-sections</avr32gcc.compiler.optimization.OtherFlags> + <avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection>true</avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection> + <avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.compiler.optimization.EnableFastMath>false</avr32gcc.compiler.optimization.EnableFastMath> + <avr32gcc.compiler.optimization.GeneratePositionIndependentCode>false</avr32gcc.compiler.optimization.GeneratePositionIndependentCode> + <avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions>true</avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions> + <avr32gcc.compiler.optimization.ForceDoubleWordAlignment>false</avr32gcc.compiler.optimization.ForceDoubleWordAlignment> + <avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool>false</avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool> + <avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing>false</avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing> + <avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData>false</avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData> + <avr32gcc.compiler.optimization.DebugLevel>Maximum (-g3)</avr32gcc.compiler.optimization.DebugLevel> + <avr32gcc.compiler.optimization.GenerateGprofInformation>false</avr32gcc.compiler.optimization.GenerateGprofInformation> + <avr32gcc.compiler.optimization.GenerateProfInformation>false</avr32gcc.compiler.optimization.GenerateProfInformation> + <avr32gcc.compiler.warnings.AllWarnings>true</avr32gcc.compiler.warnings.AllWarnings> + <avr32gcc.compiler.warnings.CheckSyntaxOnly>false</avr32gcc.compiler.warnings.CheckSyntaxOnly> + <avr32gcc.compiler.warnings.Pedantic>false</avr32gcc.compiler.warnings.Pedantic> + <avr32gcc.compiler.warnings.PedanticWarningsAsErrors>false</avr32gcc.compiler.warnings.PedanticWarningsAsErrors> + <avr32gcc.compiler.warnings.InhibitAllWarnings>false</avr32gcc.compiler.warnings.InhibitAllWarnings> + <avr32gcc.compiler.miscellaneous.OtherFlags>-c -fmessage-length=0</avr32gcc.compiler.miscellaneous.OtherFlags> + <avr32gcc.compiler.miscellaneous.SupportAnsiPrograms>false</avr32gcc.compiler.miscellaneous.SupportAnsiPrograms> + <avr32gcc.linker.general.DoNotUseStandardStartFiles>true</avr32gcc.linker.general.DoNotUseStandardStartFiles> + <avr32gcc.linker.general.DoNotUseDefaultLibraries>false</avr32gcc.linker.general.DoNotUseDefaultLibraries> + <avr32gcc.linker.general.NoStartupOrDefaultLibs>false</avr32gcc.linker.general.NoStartupOrDefaultLibs> + <avr32gcc.linker.general.OmitAllSymbolInformation>false</avr32gcc.linker.general.OmitAllSymbolInformation> + <avr32gcc.linker.general.NoSharedLibraries>false</avr32gcc.linker.general.NoSharedLibraries> + <avr32gcc.linker.libraries.Libraries> + <ListValues> + <Value>newlib_addons-at32ucr2-speed_opt</Value> + <Value>_ucr2_hd_spi_standalone_v2.1.1</Value> + <Value>_ucr2_hd_wl_standalone_v2.1.1</Value> + </ListValues> + </avr32gcc.linker.libraries.Libraries> + <avr32gcc.linker.libraries.LibrarySearchPaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.1.1/UCR2/GCC</Value> + </ListValues> + </avr32gcc.linker.libraries.LibrarySearchPaths> + <avr32gcc.linker.optimization.GarbageCollectUnusedSections>true</avr32gcc.linker.optimization.GarbageCollectUnusedSections> + <avr32gcc.linker.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.linker.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.linker.optimization.EnableFastMath>false</avr32gcc.linker.optimization.EnableFastMath> + <avr32gcc.linker.optimization.GeneratePositionIndependentCode>false</avr32gcc.linker.optimization.GeneratePositionIndependentCode> + <avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection>true</avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection> + <avr32gcc.linker.optimization.AllowDirectReferencesToDataSection>true</avr32gcc.linker.optimization.AllowDirectReferencesToDataSection> + <avr32gcc.assembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.assembler.general.IncludePaths> + <avr32gcc.assembler.general.AnounceVersion>false</avr32gcc.assembler.general.AnounceVersion> + <avr32gcc.assembler.debugging.DebugLevel>Default (-g)</avr32gcc.assembler.debugging.DebugLevel> + <avr32gcc.preprocessingassembler.general.AssemblerFlags>-Wa,-g</avr32gcc.preprocessingassembler.general.AssemblerFlags> + <avr32gcc.preprocessingassembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.preprocessingassembler.general.IncludePaths> + <avr32gcc.preprocessingassembler.general.SuppressWarnings>false</avr32gcc.preprocessingassembler.general.SuppressWarnings> + <avr32gcc.preprocessingassembler.general.AnounceVersion>false</avr32gcc.preprocessingassembler.general.AnounceVersion> + <avr32gcc.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</avr32gcc.preprocessingassembler.debugging.DebugLevel> + </Avr32Gcc> + </ToolchainSettings> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Release_512' "> + <OutputPath>bin\Release_512\</OutputPath> + <ToolchainSettings> + <Avr32Gcc> + <avr32gcc.common.outputfiles.hex>True</avr32gcc.common.outputfiles.hex> + <avr32gcc.common.outputfiles.lss>True</avr32gcc.common.outputfiles.lss> + <avr32gcc.common.outputfiles.eep>True</avr32gcc.common.outputfiles.eep> + <avr32gcc.common.outputfiles.srec>True</avr32gcc.common.outputfiles.srec> + <avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories>false</avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories> + <avr32gcc.compiler.preprocessor.PreprocessOnly>false</avr32gcc.compiler.preprocessor.PreprocessOnly> + <avr32gcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>BOARD=ARDUINO</Value> + <Value>_ASSERT_ENABLE_</Value> + <Value>EXT_BOARD=SPB104</Value> + <Value>WITH_KEY</Value> + <Value>WITH_WPA</Value> + <Value>WITH_NO_DMA</Value> + <Value>LWIP_DEBUG</Value> + <Value>_INFO_DEBUG_=1</Value> + </ListValues> + </avr32gcc.compiler.symbols.DefSymbols> + <avr32gcc.compiler.directories.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/ipv4</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD</Value> + </ListValues> + </avr32gcc.compiler.directories.IncludePaths> + <avr32gcc.compiler.optimization.OtherFlags>-fdata-sections</avr32gcc.compiler.optimization.OtherFlags> + <avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection>true</avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection> + <avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.compiler.optimization.EnableFastMath>false</avr32gcc.compiler.optimization.EnableFastMath> + <avr32gcc.compiler.optimization.GeneratePositionIndependentCode>false</avr32gcc.compiler.optimization.GeneratePositionIndependentCode> + <avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions>true</avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions> + <avr32gcc.compiler.optimization.ForceDoubleWordAlignment>false</avr32gcc.compiler.optimization.ForceDoubleWordAlignment> + <avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool>false</avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool> + <avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing>false</avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing> + <avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData>false</avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData> + <avr32gcc.compiler.optimization.GenerateGprofInformation>false</avr32gcc.compiler.optimization.GenerateGprofInformation> + <avr32gcc.compiler.optimization.GenerateProfInformation>false</avr32gcc.compiler.optimization.GenerateProfInformation> + <avr32gcc.compiler.warnings.AllWarnings>true</avr32gcc.compiler.warnings.AllWarnings> + <avr32gcc.compiler.warnings.CheckSyntaxOnly>false</avr32gcc.compiler.warnings.CheckSyntaxOnly> + <avr32gcc.compiler.warnings.Pedantic>false</avr32gcc.compiler.warnings.Pedantic> + <avr32gcc.compiler.warnings.PedanticWarningsAsErrors>false</avr32gcc.compiler.warnings.PedanticWarningsAsErrors> + <avr32gcc.compiler.warnings.InhibitAllWarnings>false</avr32gcc.compiler.warnings.InhibitAllWarnings> + <avr32gcc.compiler.miscellaneous.OtherFlags>-c -fmessage-length=0</avr32gcc.compiler.miscellaneous.OtherFlags> + <avr32gcc.compiler.miscellaneous.SupportAnsiPrograms>false</avr32gcc.compiler.miscellaneous.SupportAnsiPrograms> + <avr32gcc.linker.general.DoNotUseStandardStartFiles>true</avr32gcc.linker.general.DoNotUseStandardStartFiles> + <avr32gcc.linker.general.DoNotUseDefaultLibraries>false</avr32gcc.linker.general.DoNotUseDefaultLibraries> + <avr32gcc.linker.general.NoStartupOrDefaultLibs>false</avr32gcc.linker.general.NoStartupOrDefaultLibs> + <avr32gcc.linker.general.OmitAllSymbolInformation>false</avr32gcc.linker.general.OmitAllSymbolInformation> + <avr32gcc.linker.general.NoSharedLibraries>false</avr32gcc.linker.general.NoSharedLibraries> + <avr32gcc.linker.libraries.Libraries> + <ListValues> + <Value>newlib_addons-at32ucr2-speed_opt</Value> + <Value>_ucr2_hd_spi_standalone_v2.1.1</Value> + <Value>_ucr2_hd_wl_standalone_v2.1.1</Value> + </ListValues> + </avr32gcc.linker.libraries.Libraries> + <avr32gcc.linker.libraries.LibrarySearchPaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.1.1/UCR2/GCC</Value> + </ListValues> + </avr32gcc.linker.libraries.LibrarySearchPaths> + <avr32gcc.linker.optimization.GarbageCollectUnusedSections>true</avr32gcc.linker.optimization.GarbageCollectUnusedSections> + <avr32gcc.linker.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.linker.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.linker.optimization.EnableFastMath>false</avr32gcc.linker.optimization.EnableFastMath> + <avr32gcc.linker.optimization.GeneratePositionIndependentCode>false</avr32gcc.linker.optimization.GeneratePositionIndependentCode> + <avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection>true</avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection> + <avr32gcc.linker.optimization.AllowDirectReferencesToDataSection>true</avr32gcc.linker.optimization.AllowDirectReferencesToDataSection> + <avr32gcc.assembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.assembler.general.IncludePaths> + <avr32gcc.assembler.general.AnounceVersion>false</avr32gcc.assembler.general.AnounceVersion> + <avr32gcc.preprocessingassembler.general.AssemblerFlags>-Wa,-g</avr32gcc.preprocessingassembler.general.AssemblerFlags> + <avr32gcc.preprocessingassembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PDCA</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/TC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EBI/SMC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/DELAY</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/RTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/EIC</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.preprocessingassembler.general.IncludePaths> + <avr32gcc.preprocessingassembler.general.SuppressWarnings>false</avr32gcc.preprocessingassembler.general.SuppressWarnings> + <avr32gcc.preprocessingassembler.general.AnounceVersion>false</avr32gcc.preprocessingassembler.general.AnounceVersion> + </Avr32Gcc> + </ToolchainSettings> + </PropertyGroup> + <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" /> + <ItemGroup> + <Folder Include="src" /> + <Compile Include="src\ard_spi.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\ard_spi.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\ard_tcp.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\ard_tcp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\ard_utils.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\ard_utils.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\avr32_spi.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\board_init.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\board_init.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\cmd_wl.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\cmd_wl.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\CONFIG\conf_access.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\CONFIG\conf_at45dbx.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\console.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\console.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\debug.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\fw_download.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\fw_download_extflash.c"> + <SubType>compile</SubType> + </Compile> + <None Include="src\license.txt"> + <SubType>compile</SubType> + </None> + <Compile Include="src\lwipopts.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\lwip_setup.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\lwip_setup.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\main.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\nvram.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\nvram.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\owl_os.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\ping.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\ping.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\printf-stdarg.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\printf-stdarg.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx_mem.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\timer.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\timer.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\top_defs.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\trace.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\util.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\util.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\wifi_spi.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\wl_cm.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\wl_cm.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\wl_definitions.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\CONFIG" /> + <Compile Include="src\CONFIG\conf_ebi.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\CONFIG\conf_sd_mmc_spi.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\ASM" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\ASM\trampoline.x"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\BOARDS" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\BOARDS\board.h"> + <SubType>compile</SubType> + </Compile> + <None Include="src\SOFTWARE_FRAMEWORK\BOARDS\board.h.my"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\BOARDS\ARDUINO" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\BOARDS\ARDUINO\arduino.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\BOARDS\ARDUINO\led.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\BOARDS\ARDUINO\led.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\wlap_api.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\wl_api.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\wl_os.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\wl_sdio.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\wl_spi.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx_mem.c"> + <SubType>compile</SubType> + </Compile> + <None Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\revision.txt"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR1" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR1\GCC" /> + <None Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR1\GCC\lib_ucr1_hd_sdio_v2.7.0.a"> + <SubType>compile</SubType> + </None> + <None Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR1\GCC\lib_ucr1_hd_spi_v2.7.0.a"> + <SubType>compile</SubType> + </None> + <None Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR1\GCC\lib_ucr1_hd_wl_sta_intwpa_v2.7.0.a"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR2" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR2\GCC" /> + <None Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR2\GCC\lib_ucr2_hd_sdio_v2.7.0.a"> + <SubType>compile</SubType> + </None> + <None Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR2\GCC\lib_ucr2_hd_spi_v2.7.0.a"> + <SubType>compile</SubType> + </None> + <None Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\WIFI\HD\v2.7.0\UCR2\GCC\lib_ucr2_hd_wl_sta_intwpa_v2.7.0.a"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\CPU" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\CPU\CYCLE_COUNTER" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\CPU\CYCLE_COUNTER\cycle_counter.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\EBI" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\EIC" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\EIC\eic.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\EIC\eic.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\FLASHC" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\FLASHC\flashc.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\FLASHC\flashc.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\GPIO" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\GPIO\gpio.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\GPIO\gpio.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\INTC" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\INTC\exception.x"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\INTC\intc.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\INTC\intc.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PDCA" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PDCA\pdca.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PDCA\pdca.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\pm.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\pm.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\pm_conf_clocks.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\power_clocks_lib.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\power_clocks_lib.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\RTC" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\RTC\rtc.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\RTC\rtc.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\SPI" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\SPI\spi.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\SPI\spi.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\TC" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\TC\tc.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\TC\tc.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\USART" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\USART\usart.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\USART\usart.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\DELAY" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\DELAY\delay.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\DELAY\delay.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\dhcp.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\dns.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\init.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\mem.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\memp.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\netif.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\pbuf.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\raw.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\stats.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\tcp.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\tcp_in.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\tcp_out.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\udp.c"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\ipv4" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\ipv4\autoip.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\ipv4\icmp.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\ipv4\igmp.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\ipv4\inet.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\ipv4\inet_chksum.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\ipv4\ip.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\ipv4\ip_addr.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\core\ipv4\ip_frag.c"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4\lwip" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4\lwip\autoip.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4\lwip\icmp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4\lwip\igmp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4\lwip\inet.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4\lwip\inet_chksum.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4\lwip\ip.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4\lwip\ip_addr.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\ipv4\lwip\ip_frag.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\api.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\api_msg.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\arch.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\debug.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\def.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\dhcp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\dns.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\err.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\init.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\mem.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\memp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\memp_std.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\netbuf.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\netdb.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\netif.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\netifapi.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\opt.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\pbuf.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\raw.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\sio.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\snmp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\snmp_asn1.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\snmp_msg.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\snmp_structs.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\sockets.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\stats.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\sys.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\tcp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\tcpip.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\lwip\udp.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\netif" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\netif\etharp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\netif\loopif.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\netif\ppp_oe.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\include\netif\slipif.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\netif" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\netif\etharp.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-1.3.2\src\netif\loopif.c"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD" /> + <None Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\readme.txt"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if\include" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if\include\lwipopts.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if\include\arch" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if\include\arch\cc.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if\include\arch\perf.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if\include\netif" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if\include\netif\wlif.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if\netif" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\LWIP\lwip-port-1.3.2\HD\if\netif\wlif.c"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\MEMORY" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\MEMORY\CTRL_ACCESS" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\MEMORY\CTRL_ACCESS\ctrl_access.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\MEMORY\CTRL_ACCESS\ctrl_access.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\compiler.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\conf_isp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\parts.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG\debug.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG\debug.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG\print_funcs.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG\print_funcs.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS" /> + <None Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\libnewlib_addons-at32ucr2-speed_opt.a"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_cpu.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_exceptions.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_interrupts.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_io.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_usart.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\0512" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\0512\GCC" /> + <None Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\0512\GCC\link_uc3a0512.lds"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\1256" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\1256\GCC" /> + <None Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\1256\GCC\link_uc3a1256.lds"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR\mrepeat.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR\preprocessor.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR\stringz.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR\tpaste.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\STARTUP_FILES" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\STARTUP_FILES\GCC" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\STARTUP_FILES\GCC\crt0.x"> + <SubType>compile</SubType> + </Compile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/.cproject b/firmware/libraries/WiFi/extras/wifi_dnld/.cproject new file mode 100644 index 0000000..286dad7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/.cproject @@ -0,0 +1,1281 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<?fileVersion 4.0.0?> + +<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> +<storageModule moduleId="org.eclipse.cdt.core.settings"> +<cconfiguration id="avr32.managedbuild.config.gnu.exe.debug.618344773"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="avr32.managedbuild.config.gnu.exe.debug.618344773" moduleId="org.eclipse.cdt.core.settings" name="Debug"> +<externalSettings/> +<extensions> +<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/> +<extension id="com.atmel.avr.toolchain.avr32gcc.elf32-avr32" point="org.eclipse.cdt.core.BinaryParser"/> +<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +</extensions> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<configuration artifactName="wifi_dnld" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="AVR32 Standalone debug configuration" id="avr32.managedbuild.config.gnu.exe.debug.618344773" name="Debug" parent="avr32.managedbuild.config.gnu.exe.debug"> +<folderInfo id="avr32.managedbuild.config.gnu.exe.debug.618344773." name="/" resourcePath=""> +<toolChain id="avr32.managedbuild.toolchain.gnu.exe.debug.874656193" name="32-bit AVR/GNU C/C++ Toolchain" superClass="avr32.managedbuild.toolchain.gnu.exe.debug"> +<targetPlatform id="avr32.managedbuild.target.gnu.platform.exe.debug.909801431" name="%PlatformName.Dbg" superClass="avr32.managedbuild.target.gnu.platform.exe.debug"/> +<builder buildPath="${workspace_loc:/wifi_dnld/Debug}" id="avr32.managedbuild.target.gnu.builder.exe.debug.1715478179" keepEnvironmentInBuildfile="false" name="CDT Internal Builder" superClass="avr32.managedbuild.target.gnu.builder.exe.debug"/> +<tool id="avr32.managedbuild.tool.gnu.archiver.exe.debug.382668879" name="32-bit AVR/GNU Archiver" superClass="avr32.managedbuild.tool.gnu.archiver.exe.debug"/> +<tool id="avr32.managedbuild.tool.gnu.cpp.compiler.exe.debug.1606873657" name="32-bit AVR/GNU C++ Compiler" superClass="avr32.managedbuild.tool.gnu.cpp.compiler.exe.debug"> +<option id="gnu.cpp.compiler.option.optimization.level.181942560" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> +<option id="gnu.cpp.compiler.option.debugging.level.333188277" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/> +<option id="avr32.cpp.compiler.option.mcu.853647015" name="Microcontroller Unit" superClass="avr32.cpp.compiler.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.cpp.compiler.option.include.paths.1415771519" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +</option> +<option id="avr32.cpp.compiler.option.flashvault.1838882229" name="Enable FlashVault support" superClass="avr32.cpp.compiler.option.flashvault" value="false" valueType="boolean"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.compiler.exe.debug.468457615" name="32-bit AVR/GNU C Compiler" superClass="avr32.managedbuild.tool.gnu.c.compiler.exe.debug"> +<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.26008628" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/> +<option id="gnu.c.compiler.option.debugging.level.259665554" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/> +<option id="avr32.c.compiler.option.mcu.1201151349" name="Microcontroller Unit" superClass="avr32.c.compiler.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.c.compiler.option.optimization.flags.686407260" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" value="-fdata-sections" valueType="string"/> +<option id="gnu.c.compiler.option.preprocessor.def.symbols.2029598871" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> +<listOptionValue builtIn="false" value="BOARD=ARDUINO"/> +</option> +<option id="gnu.c.compiler.option.include.paths.1842586158" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="../src"/> +</option> +<option id="avr32.c.compiler.option.flashvault.1772536800" name="Enable FlashVault support" superClass="avr32.c.compiler.option.flashvault" value="false" valueType="boolean"/> +<inputType id="avr32.managedbuild.tool.gnu.c.compiler.input.1816670662" superClass="avr32.managedbuild.tool.gnu.c.compiler.input"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.linker.exe.debug.681608330" name="32-bit AVR/GNU C Linker" superClass="avr32.managedbuild.tool.gnu.c.linker.exe.debug"> +<option id="avr32.c.linker.option.mcu.406721254" name="Microcontroller Unit" superClass="avr32.c.linker.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.c.link.option.nostart.834549918" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/> +<option id="gnu.c.link.option.ldflags.1902664612" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="-Wl,--gc-sections -Wl,-e,_trampoline -T../src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds" valueType="string"/> +<option id="gnu.c.link.option.paths.450454804" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +<option id="gnu.c.link.option.libs.767799431" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +</option> +<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1957795482" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> +<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> +<additionalInput kind="additionalinput" paths="$(LIBS)"/> +</inputType> +</tool> +<tool id="avr32.managedbuild.tool.gnu.cpp.linker.exe.debug.2130683587" name="32-bit AVR/GNU C++ Linker" superClass="avr32.managedbuild.tool.gnu.cpp.linker.exe.debug"> +<option id="avr32.cpp.linker.option.mcu.1314062001" name="Microcontroller Unit" superClass="avr32.cpp.linker.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.cpp.link.option.libs.418456932" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +</option> +<option id="gnu.cpp.link.option.paths.2113734099" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.assembler.exe.debug.1502006803" name="32-bit AVR/GNU Assembler" superClass="avr32.managedbuild.tool.gnu.assembler.exe.debug"> +<option id="avr32.both.asm.option.debugging.level.612232148" name="Debug Level" superClass="avr32.both.asm.option.debugging.level" value="avr32.both.asm.debugging.level.max" valueType="enumerated"/> +<option id="avr32.both.asm.option.mcu.211813638" name="Microcontroller Unit" superClass="avr32.both.asm.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.both.asm.option.include.paths.1549891082" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.preprocessor.exe.debug.1062481241" name="32-bit AVR/GNU Preprocessing Assembler" superClass="avr32.managedbuild.tool.gnu.preprocessor.exe.debug"> +<option id="avr32.both.preprocessor.option.debugging.level.863609472" name="Debug Level" superClass="avr32.both.preprocessor.option.debugging.level" value="avr32.both.preprocessor.debugging.level.max" valueType="enumerated"/> +<option id="avr32.both.preprocessor.option.mcu.565918885" name="Microcontroller Unit" superClass="avr32.both.preprocessor.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="avr32.both.preprocessor.option.flags.1172892380" name="Assembler flags" superClass="avr32.both.preprocessor.option.flags" value="-Wa,-g" valueType="string"/> +<option id="avr32.both.preprocessor.option.paths.320260505" name="Include paths (-I)" superClass="avr32.both.preprocessor.option.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +<inputType id="avr32.managedbuild.tool.gnu.preprocessor.input.609982404" superClass="avr32.managedbuild.tool.gnu.preprocessor.input"/> +</tool> +</toolChain> +</folderInfo> +<sourceEntries> +<entry excluding="SOFTWARE_FRAMEWORK/BOARDS/EVK1105" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> +</sourceEntries> +</configuration> +</storageModule> +<storageModule moduleId="scannerConfiguration"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.657878227;avr32.managedbuild.config.gnu.exe.release.657878227.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1756143675;avr32.managedbuild.tool.gnu.c.compiler.input.1828784431"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.618344773;avr32.managedbuild.config.gnu.exe.debug.618344773.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.468457615;avr32.managedbuild.tool.gnu.c.compiler.input.1816670662"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> +<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> +</cconfiguration> +<cconfiguration id="avr32.managedbuild.config.gnu.exe.release.657878227"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="avr32.managedbuild.config.gnu.exe.release.657878227" moduleId="org.eclipse.cdt.core.settings" name="Release"> +<externalSettings/> +<extensions> +<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/> +<extension id="com.atmel.avr.toolchain.avr32gcc.elf32-avr32" point="org.eclipse.cdt.core.BinaryParser"/> +<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +</extensions> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<configuration artifactName="wifi_dnld" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="AVR32 Standalone release configuration" id="avr32.managedbuild.config.gnu.exe.release.657878227" name="Release" parent="avr32.managedbuild.config.gnu.exe.release"> +<folderInfo id="avr32.managedbuild.config.gnu.exe.release.657878227." name="/" resourcePath=""> +<toolChain id="avr32.managedbuild.toolchain.gnu.exe.release.722848766" name="32-bit AVR/GNU C/C++ Toolchain" superClass="avr32.managedbuild.toolchain.gnu.exe.release"> +<targetPlatform id="avr32.managedbuild.target.gnu.platform.exe.release.787333741" name="%PlatformName.Dbg" superClass="avr32.managedbuild.target.gnu.platform.exe.release"/> +<builder buildPath="${workspace_loc:/wifi_dnld/Release}" id="avr32.managedbuild.target.gnu.builder.exe.release.1399107203" keepEnvironmentInBuildfile="false" name="CDT Internal Builder" superClass="avr32.managedbuild.target.gnu.builder.exe.release"/> +<tool id="avr32.managedbuild.tool.gnu.archiver.exe.release.1720225360" name="32-bit AVR/GNU Archiver" superClass="avr32.managedbuild.tool.gnu.archiver.exe.release"/> +<tool id="avr32.managedbuild.tool.gnu.cpp.compiler.exe.release.875278510" name="32-bit AVR/GNU C++ Compiler" superClass="avr32.managedbuild.tool.gnu.cpp.compiler.exe.release"> +<option id="gnu.cpp.compiler.option.optimization.level.183875732" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/> +<option id="gnu.cpp.compiler.option.debugging.level.2087046952" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> +<option defaultValue="gnu.c.optimization.level.most" id="avr32.cpp.compiler.option.optimization.level.release.1669925035" name="Optimization Level" superClass="avr32.cpp.compiler.option.optimization.level.release" valueType="enumerated"/> +<option id="avr32.cpp.compiler.option.mcu.245744969" name="Microcontroller Unit" superClass="avr32.cpp.compiler.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.cpp.compiler.option.include.paths.2014943719" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +</option> +<option id="avr32.cpp.compiler.option.flashvault.275481591" name="Enable FlashVault support" superClass="avr32.cpp.compiler.option.flashvault" value="false" valueType="boolean"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.compiler.exe.release.1756143675" name="32-bit AVR/GNU C Compiler" superClass="avr32.managedbuild.tool.gnu.c.compiler.exe.release"> +<option defaultValue="gnu.c.optimization.level.most" id="avr32.c.compiler.option.optimization.level.release.1026762119" name="Optimization Level" superClass="avr32.c.compiler.option.optimization.level.release" valueType="enumerated"/> +<option id="gnu.c.compiler.option.debugging.level.1638027682" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> +<option id="avr32.c.compiler.option.mcu.1551179967" name="Microcontroller Unit" superClass="avr32.c.compiler.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.c.compiler.option.optimization.flags.1564845329" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" value="-fdata-sections" valueType="string"/> +<option id="gnu.c.compiler.option.preprocessor.def.symbols.687766725" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> +<listOptionValue builtIn="false" value="BOARD=ARDUINO"/> +</option> +<option id="gnu.c.compiler.option.include.paths.1279594844" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +<listOptionValue builtIn="false" value="../src"/> +</option> +<option id="avr32.c.compiler.option.flashvault.1560264128" name="Enable FlashVault support" superClass="avr32.c.compiler.option.flashvault" value="false" valueType="boolean"/> +<inputType id="avr32.managedbuild.tool.gnu.c.compiler.input.1828784431" superClass="avr32.managedbuild.tool.gnu.c.compiler.input"/> +</tool> +<tool id="avr32.managedbuild.tool.gnu.c.linker.exe.release.1281932637" name="32-bit AVR/GNU C Linker" superClass="avr32.managedbuild.tool.gnu.c.linker.exe.release"> +<option id="avr32.c.linker.option.mcu.1595174478" name="Microcontroller Unit" superClass="avr32.c.linker.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.c.link.option.nostart.901647440" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/> +<option id="gnu.c.link.option.ldflags.183335601" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="-Wl,--gc-sections -Wl,-e,_trampoline -T../src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds" valueType="string"/> +<option id="gnu.c.link.option.paths.583164556" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +<option id="gnu.c.link.option.libs.217934189" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +</option> +<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.900000786" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> +<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> +<additionalInput kind="additionalinput" paths="$(LIBS)"/> +</inputType> +</tool> +<tool id="avr32.managedbuild.tool.gnu.cpp.linker.exe.release.1544350382" name="32-bit AVR/GNU C++ Linker" superClass="avr32.managedbuild.tool.gnu.cpp.linker.exe.release"> +<option id="avr32.cpp.linker.option.mcu.2135785353" name="Microcontroller Unit" superClass="avr32.cpp.linker.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.cpp.link.option.libs.1394437968" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"> +<listOptionValue builtIn="false" value="newlib_addons-at32ucr2-speed_opt"/> +</option> +<option id="gnu.cpp.link.option.paths.1503002133" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.assembler.exe.release.2145926358" name="32-bit AVR/GNU Assembler" superClass="avr32.managedbuild.tool.gnu.assembler.exe.release"> +<option id="avr32.both.asm.option.debugging.level.1675736685" name="Debug Level" superClass="avr32.both.asm.option.debugging.level" value="avr32.both.asm.debugging.level.none" valueType="enumerated"/> +<option id="avr32.both.asm.option.mcu.1210222151" name="Microcontroller Unit" superClass="avr32.both.asm.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="gnu.both.asm.option.include.paths.1743520043" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +</tool> +<tool id="avr32.managedbuild.tool.gnu.preprocessor.exe.release.420525713" name="32-bit AVR/GNU Preprocessing Assembler" superClass="avr32.managedbuild.tool.gnu.preprocessor.exe.release"> +<option id="avr32.both.preprocessor.option.debugging.level.1011519699" name="Debug Level" superClass="avr32.both.preprocessor.option.debugging.level" value="avr32.both.preprocessor.debugging.level.none" valueType="enumerated"/> +<option id="avr32.both.preprocessor.option.mcu.612156450" name="Microcontroller Unit" superClass="avr32.both.preprocessor.option.mcu" value="-mpart=uc3a1256" valueType="string"/> +<option id="avr32.both.preprocessor.option.flags.1159687922" name="Assembler flags" superClass="avr32.both.preprocessor.option.flags" value="-Wa,-g" valueType="string"/> +<option id="avr32.both.preprocessor.option.paths.1457315047" name="Include paths (-I)" superClass="avr32.both.preprocessor.option.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS"/> +<listOptionValue builtIn="false" value="../src/CONFIG"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/USART"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/PM"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/UTILS"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC"/> +<listOptionValue builtIn="false" value="../src/SOFTWARE_FRAMEWORK/BOARDS"/> +</option> +<inputType id="avr32.managedbuild.tool.gnu.preprocessor.input.2082742376" superClass="avr32.managedbuild.tool.gnu.preprocessor.input"/> +</tool> +</toolChain> +</folderInfo> +<sourceEntries> +<entry excluding="SOFTWARE_FRAMEWORK/BOARDS/EVK1105" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> +</sourceEntries> +</configuration> +</storageModule> +<storageModule moduleId="scannerConfiguration"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.release.657878227;avr32.managedbuild.config.gnu.exe.release.657878227.;avr32.managedbuild.tool.gnu.c.compiler.exe.release.1756143675;avr32.managedbuild.tool.gnu.c.compiler.input.1828784431"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="avr32.managedbuild.config.gnu.exe.debug.618344773;avr32.managedbuild.config.gnu.exe.debug.618344773.;avr32.managedbuild.tool.gnu.c.compiler.exe.debug.468457615;avr32.managedbuild.tool.gnu.c.compiler.input.1816670662"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"/> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32ManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32StandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="com.atmel.avr32.debug.AVR32LinuxStandardMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-mpart=${part} -E -P -v -dD ${plugin_state_location}/${specs_file}" command="avr32-linux-g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> +<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> +</cconfiguration> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<project id="wifi_dnld.avr32.managedbuild.target.gnu.exe_2.0.1.570559459" name="32-bit AVR/GNU Executable" projectType="avr32.managedbuild.target.gnu.exe_2.0.1"/> +</storageModule> +</cproject> diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/.project b/firmware/libraries/WiFi/extras/wifi_dnld/.project new file mode 100644 index 0000000..aa3047b --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/.project @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>wifi_dnld</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> + <triggers>clean,full,incremental,</triggers> + <arguments> + <dictionary> + <key>?name?</key> + <value></value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.append_environment</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildArguments</key> + <value></value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildCommand</key> + <value>make</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildLocation</key> + <value>${workspace_loc:/wifi_dnld/Debug}</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.contents</key> + <value>org.eclipse.cdt.make.core.activeConfigSettings</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableAutoBuild</key> + <value>false</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableCleanBuild</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableFullBuild</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.stopOnError</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> + <value>true</value> + </dictionary> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.atmel.avr32.core.nature</nature> + <nature>org.eclipse.cdt.core.cnature</nature> + <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> + <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> + </natures> +</projectDescription> diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/Release/wifi_dnld.elf b/firmware/libraries/WiFi/extras/wifi_dnld/Release/wifi_dnld.elf new file mode 100644 index 0000000000000000000000000000000000000000..11ec3ddc7305bca3222a211559170005c6c2f878 GIT binary patch literal 182489 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 literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/CONFIG/conf_access.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/CONFIG/conf_access.h new file mode 100644 index 0000000..23e9b34 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/CONFIG/conf_access.h @@ -0,0 +1,170 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Memory access control configuration file. + * + * This file contains the possible external configuration of the memory access + * control. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CONF_ACCESS_H_ +#define _CONF_ACCESS_H_ + +#include "compiler.h" +#include "board.h" + + +/*! \name Activation of Logical Unit Numbers + */ +//! @{ +#define LUN_0 DISABLE //!< On-Chip Virtual Memory. +#define LUN_1 ENABLE //!< AT45DBX Data Flash. +#define LUN_2 DISABLE //!< SD/MMC Card over SPI. +#define LUN_3 DISABLE +#define LUN_4 DISABLE +#define LUN_5 DISABLE +#define LUN_6 DISABLE +#define LUN_7 DISABLE +#define LUN_USB DISABLE //!< Host Mass-Storage Memory. +//! @} + +/*! \name LUN 0 Definitions + */ +//! @{ +#define VIRTUAL_MEM LUN_0 +#define LUN_ID_VIRTUAL_MEM LUN_ID_0 +#define LUN_0_INCLUDE "virtual_mem.h" +#define Lun_0_test_unit_ready virtual_test_unit_ready +#define Lun_0_read_capacity virtual_read_capacity +#define Lun_0_wr_protect virtual_wr_protect +#define Lun_0_removal virtual_removal +#define Lun_0_usb_read_10 virtual_usb_read_10 +#define Lun_0_usb_write_10 virtual_usb_write_10 +#define Lun_0_mem_2_ram virtual_mem_2_ram +#define Lun_0_ram_2_mem virtual_ram_2_mem +#define LUN_0_NAME "\"On-Chip Virtual Memory\"" +//! @} + +/*! \name LUN 1 Definitions + */ +//! @{ +#define AT45DBX_MEM LUN_1 +#define LUN_ID_AT45DBX_MEM LUN_ID_1 +#define LUN_1_INCLUDE "at45dbx_mem.h" +#define Lun_1_test_unit_ready at45dbx_test_unit_ready +#define Lun_1_read_capacity at45dbx_read_capacity +#define Lun_1_wr_protect at45dbx_wr_protect +#define Lun_1_removal at45dbx_removal +#define Lun_1_usb_read_10 at45dbx_usb_read_10 +#define Lun_1_usb_write_10 at45dbx_usb_write_10 +#define Lun_1_mem_2_ram at45dbx_df_2_ram +#define Lun_1_ram_2_mem at45dbx_ram_2_df +#define LUN_1_NAME "\"AT45DBX Data Flash\"" +//! @} + +/*! \name LUN 2 Definitions + */ +//! @{ +#define SD_MMC_SPI_MEM LUN_2 +#define LUN_ID_SD_MMC_SPI_MEM LUN_ID_2 +#define LUN_2_INCLUDE "sd_mmc_spi_mem.h" +#define Lun_2_test_unit_ready sd_mmc_spi_test_unit_ready +#define Lun_2_read_capacity sd_mmc_spi_read_capacity +#define Lun_2_wr_protect sd_mmc_spi_wr_protect +#define Lun_2_removal sd_mmc_spi_removal +#define Lun_2_usb_read_10 sd_mmc_spi_usb_read_10 +#define Lun_2_usb_write_10 sd_mmc_spi_usb_write_10 +#define Lun_2_mem_2_ram sd_mmc_spi_mem_2_ram +#define Lun_2_ram_2_mem sd_mmc_spi_ram_2_mem +#define LUN_2_NAME "\"SD/MMC Card over SPI\"" +//! @} + +/*! \name USB LUNs Definitions + */ +//! @{ +#define MEM_USB LUN_USB +#define LUN_ID_MEM_USB LUN_ID_USB +#define LUN_USB_INCLUDE "host_mem.h" +#define Lun_usb_test_unit_ready(lun) host_test_unit_ready(lun) +#define Lun_usb_read_capacity(lun, nb_sect) host_read_capacity(lun, nb_sect) +#define Lun_usb_read_sector_size(lun) host_read_sector_size(lun) +#define Lun_usb_wr_protect(lun) host_wr_protect(lun) +#define Lun_usb_removal() host_removal() +#define Lun_usb_mem_2_ram(addr, ram) host_read_10_ram(addr, ram) +#define Lun_usb_ram_2_mem(addr, ram) host_write_10_ram(addr, ram) +#define LUN_USB_NAME "\"Host Mass-Storage Memory\"" +//! @} + +/*! \name Actions Associated with Memory Accesses + * + * Write here the action to associate with each memory access. + * + * \warning Be careful not to waste time in order not to disturb the functions. + */ +//! @{ +#define memory_start_read_action(nb_sectors) +#define memory_stop_read_action() +#define memory_start_write_action(nb_sectors) +#define memory_stop_write_action() +//! @} + +/*! \name Activation of Interface Features + */ +//! @{ +#define ACCESS_USB DISABLED //!< MEM <-> USB interface. +#define ACCESS_MEM_TO_RAM ENABLED //!< MEM <-> RAM interface. +#define ACCESS_STREAM DISABLED //!< Streaming MEM <-> MEM interface. +#define ACCESS_STREAM_RECORD DISABLED //!< Streaming MEM <-> MEM interface in record mode. +#define ACCESS_MEM_TO_MEM DISABLED //!< MEM <-> MEM interface. +#define ACCESS_CODEC DISABLED //!< Codec interface. +//! @} + +/*! \name Specific Options for Access Control + */ +//! @{ +#define GLOBAL_WR_PROTECT DISABLED //!< Management of a global write protection. +//! @} + + +#endif // _CONF_ACCESS_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/CONFIG/conf_at45dbx.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/CONFIG/conf_at45dbx.h new file mode 100644 index 0000000..3280e4f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/CONFIG/conf_at45dbx.h @@ -0,0 +1,83 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT45DBX configuration file. + * + * This file contains the possible external configuration of the AT45DBX. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CONF_AT45DBX_H_ +#define _CONF_AT45DBX_H_ + + +#include "conf_access.h" + +#if AT45DBX_MEM == DISABLE + #error conf_at45dbx.h is #included although AT45DBX_MEM is disabled +#endif + + +#include "at45dbx.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +//! Size of AT45DBX data flash memories to manage. +#define AT45DBX_MEM_SIZE AT45DBX_1MB + +//! Number of AT45DBX components to manage. +#define AT45DBX_MEM_CNT 1 + +//! First chip select used by AT45DBX components on the SPI module instance. +//! AT45DBX_SPI_NPCS0_PIN always corresponds to this first NPCS, whatever it is. +#define AT45DBX_SPI_FIRST_NPCS AT45DBX_SPI_NPCS + +//! SPI master speed in Hz. +#define AT45DBX_SPI_MASTER_SPEED 12000000 + +//! Number of bits in each SPI transfer. +#define AT45DBX_SPI_BITS 8 + + +#endif // _CONF_AT45DBX_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/Doc/SPB104 product brief.pdf b/firmware/libraries/WiFi/extras/wifi_dnld/src/Doc/SPB104 product brief.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8705cb148e29ec8e2ed80499f08a09bfa7ecc126 GIT binary patch literal 760252 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%0DwHdrSVc-t(xQ-%jPrA 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 z%0Dfv4I@2mb{qdd%2}RPlgb1xxjYT!`(E24Sml(=9e_w&*GxD4uu>M3y7@S@s0)%W zwLg-wme_I}3Jc1I-XwTyDB`anocyT2J5$Bto}H0BZobhSqw-n*PlGede;aAPI@lUH z8yY)Me|0dow*4w5LGx)Nb}-g=GPku6(|0na7UN+70Js5MENsjy%v|iO02V3$fa;S= z&erIEW>7YFvNEQYGdFawb+k2cB383?Fd}9kR{AQ!3}7R+`<G%TVgm<rV-sCbabhx7 zMk8B8xBt>_``=w6Hgj^a<6&ZQb#-O5`>UIFMkb7gw$@Cayu!{-W}mF0`VLma5{$&+ zR;Fe&0s_W1Mt>Qh-5iWf-~hyI%y6H{mjC-j%)!pi%1&%T{4d()Zvf|Ka^+tyVw?Ym z_L=tyVEYH{FFwGho&MkX*x6aw|0(-dJM%we0nD5%9BluTWo2ez{X3158NkT}_y>)h z^;7ZRX&h|KT%4SLr?InhvT=Ma>%aGp6Tr>J$@LE!GZ#1DAF`i%S-3y#_J5OQV`Ka0 zI6miq`9H_O!NT&7{&51hxVisB2Qz^AAAMnG=lE+Q{7vs)w7+}`|K69sXdM5baj<c4 zvHgcE3nw@8-(~-rd#-=1$6xEl{*SrhVB=z8{)a3F8z<nOYxJr2Kj!Z*8tXsy#$Pm! zf6)G#mw)anPUg>T@J~Kw?$4w4_i=oBOE_5nInST_81T<M1mI@j{!bb=%RlDebIsYg z{zEU|^J(F~^*TA|fBJYFK3zG)OiJb+#-Hbim`Tyr)`|GDbHs|oOwu+cw#0w^mneRE zkHm<z_{5pHSviH-L`As7S=l*RL^(vbL`1kbgqelK*_pXmMFsx<Ike#f1mGN<^c|f3 Ub$CC|BFm@8iGo60K?3f70gym+#Q*>R literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/Doc/gettingstarted.pdf b/firmware/libraries/WiFi/extras/wifi_dnld/src/Doc/gettingstarted.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7c37693b51441f56f6fbb858c6eb655e52609fca GIT binary patch literal 701930 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%0D&hDPn` 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%0A*QUs8Q>z+-p2a@}xVMem1P_ml=^x3t_z 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 S;4Kj*LQIB}L5=&5;r|6xSsu&) literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/ASM/trampoline.x b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/ASM/trampoline.x new file mode 100644 index 0000000..c127121 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/ASM/trampoline.x @@ -0,0 +1,74 @@ +/* This file is part of the ATMEL AVR32-SoftwareFramework-AT32UC3A-1.4.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AVR32 UC3 ISP trampoline. + * + * In order to be able to program a project with both BatchISP and JTAGICE mkII + * without having to take the general-purpose fuses into consideration, add this + * file to the project and change the program entry point to _trampoline. + * + * The pre-programmed ISP will be erased if JTAGICE mkII is used. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32UC devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (C) 2006-2008, Atmel Corporation All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of ATMEL may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +#include "conf_isp.h" + + +//! @{ +//! \verbatim + + + // This must be linked @ 0x80000000 if it is to be run upon reset. + .section .reset, "ax", @progbits + + + .global _trampoline + .type _trampoline, @function +_trampoline: + // Jump to program start. + rjmp program_start + + .org PROGRAM_START_OFFSET +program_start: + // Jump to the C runtime startup routine. + lda.w pc, _stext + + +//! \endverbatim +//! @} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h new file mode 100644 index 0000000..fbdd466 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h @@ -0,0 +1,234 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1100 board header file. + * + * This file contains definitions and services related to the features of the + * EVK1100 board rev. B and C. + * + * To use this board, define BOARD=EVK1100. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _ARDUINO_H_ +#define _ARDUINO_H_ + +#include "compiler.h" + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. +# include "led.h" +#endif // __AVR32_ABI_COMPILER__ + + +/*! \name Oscillator Definitions + */ +//! @{ + +// RCOsc has no custom calibration by default. Set the following definition to +// the appropriate value if a custom RCOsc calibration has been applied to your +// part. +//#define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< RCOsc frequency: Hz. + +#define FOSC32 32768 //!< Osc32 frequency: Hz. +#define OSC32_STARTUP AVR32_PM_OSCCTRL32_STARTUP_8192_RCOSC //!< Osc32 startup time: RCOsc periods. + +#define FOSC0 12000000 //!< Osc0 frequency: Hz. +#define OSC0_STARTUP AVR32_PM_OSCCTRL0_STARTUP_2048_RCOSC //!< Osc0 startup time: RCOsc periods. + +// Osc1 crystal is not mounted by default. Set the following definitions to the +// appropriate values if a custom Osc1 crystal is mounted on your board. +//#define FOSC1 12000000 //!< Osc1 frequency: Hz. +//#define OSC1_STARTUP AVR32_PM_OSCCTRL1_STARTUP_2048_RCOSC //!< Osc1 startup time: RCOsc periods. + +//! @} + + +//! Number of LEDs. +#define LED_COUNT 3 + +/*! \name GPIO Connections of LEDs + */ +//! @{ +#define LED0_GPIO AVR32_PIN_PB19 +#define LED1_GPIO AVR32_PIN_PB20 +#define LED2_GPIO AVR32_PIN_PB21 +//! @} + +/*! \name PWM Channels of LEDs + */ +//! @{ +#define LED0_PWM 0 +#define LED1_PWM 1 +#define LED2_PWM 2 +//! @} + +/*! \name PWM Functions of LEDs + */ +//! @{ +#define LED0_PWM_FUNCTION AVR32_PWM_0_FUNCTION +#define LED1_PWM_FUNCTION AVR32_PWM_1_FUNCTION +#define LED2_PWM_FUNCTION AVR32_PWM_2_FUNCTION +//! @} + +/*! \name Color Identifiers of LEDs to Use with LED Functions + */ +//! @{ +#define LED_MONO0_GREEN LED0 +#define LED_MONO1_GREEN LED1 +#define LED_MONO2_GREEN LED2 +//! @} + +#if 0 +/*! \name SPI Connections of the DIP204 LCD + */ +//! @{ +#define DIP204_SPI (&AVR32_SPI1) +#define DIP204_SPI_NPCS 2 +#define DIP204_SPI_SCK_PIN AVR32_SPI1_SCK_0_0_PIN +#define DIP204_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_0_FUNCTION +#define DIP204_SPI_MISO_PIN AVR32_SPI1_MISO_0_0_PIN +#define DIP204_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_0_FUNCTION +#define DIP204_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_0_PIN +#define DIP204_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_0_FUNCTION +#define DIP204_SPI_NPCS_PIN AVR32_SPI1_NPCS_2_0_PIN +#define DIP204_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_2_0_FUNCTION +//! @} + +/*! \name GPIO and PWM Connections of the DIP204 LCD Backlight + */ +//! @{ +#define DIP204_BACKLIGHT_PIN AVR32_PIN_PB18 +#define DIP204_PWM_CHANNEL 6 +#define DIP204_PWM_PIN AVR32_PWM_6_PIN +#define DIP204_PWM_FUNCTION AVR32_PWM_6_FUNCTION +//! @} +#endif + +/*! \name SPI Connections of the AT45DBX Data Flash Memory + */ +//! @{ +#define AT45DBX_SPI (&AVR32_SPI1) +#define AT45DBX_SPI_NPCS 2 +#define AT45DBX_SPI_SCK_PIN AVR32_SPI1_SCK_0_0_PIN +#define AT45DBX_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_0_FUNCTION +#define AT45DBX_SPI_MISO_PIN AVR32_SPI1_MISO_0_0_PIN +#define AT45DBX_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_0_FUNCTION +#define AT45DBX_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_0_PIN +#define AT45DBX_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_0_FUNCTION +#define AT45DBX_SPI_NPCS2_PIN AVR32_SPI1_NPCS_2_0_PIN +#define AT45DBX_SPI_NPCS2_FUNCTION AVR32_SPI1_NPCS_2_0_FUNCTION +#define AT45DBX_CHIP_RESET AVR32_PIN_PA02 +//! @} + + +/*! \name GPIO and SPI Connections of the SD/MMC Connector + */ +//! @{ +//#define SD_MMC_CARD_DETECT_PIN AVR32_PIN_PA02 +//#define SD_MMC_WRITE_PROTECT_PIN AVR32_PIN_PA07 +#define SD_MMC_SPI (&AVR32_SPI1) +#define SD_MMC_SPI_NPCS 1 +#define SD_MMC_SPI_SCK_PIN AVR32_SPI1_SCK_0_0_PIN +#define SD_MMC_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_0_FUNCTION +#define SD_MMC_SPI_MISO_PIN AVR32_SPI1_MISO_0_0_PIN +#define SD_MMC_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_0_FUNCTION +#define SD_MMC_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_0_PIN +#define SD_MMC_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_0_FUNCTION +#define SD_MMC_SPI_NPCS_PIN AVR32_SPI1_NPCS_1_0_PIN +#define SD_MMC_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_1_0_FUNCTION +//! @} + +/* Timer Counter to generate clock for WiFi chip*/ +# define WIFI_TC (&AVR32_TC) +# define WIFI_TC_CHANNEL_ID 0 +# define WIFI_TC_CHANNEL_PIN AVR32_TC_A0_0_0_PIN +# define WIFI_TC_CHANNEL_FUNCTION AVR32_TC_A0_0_0_FUNCTION +// Note that TC_A0_0_0 pin is pin 6 (PB23) on AT32UC3A1512 QFP100. + +/* Pin related to WiFi chip communication */ +#ifndef USE_POLL + #define USE_POLL +#endif + #define SPI_CS 0 + #define AVR32_SPI AVR32_SPI1 + #define GPIO_IRQ_PIN AVR32_PIN_PA03 + #define GPIO_IRQ AVR32_GPIO_IRQ_7 + #define GPIO_W_RESET_PIN AVR32_PIN_PA07 + #define GPIO_W_SHUTDOWN_PIN AVR32_PIN_PA09 + +/* Pin related to shield communication */ + #define ARDUINO_HANDSHAKE_PIN AVR32_PIN_PA25 + + #define AVR32_PDCA_PID_TX AVR32_PDCA_PID_SPI1_TX + #define AVR32_PDCA_PID_RX AVR32_PDCA_PID_SPI1_RX + + +#if 0 +/*! \name TWI Connections of the Spare TWI Connector + */ +//! @{ +#define SPARE_TWI (&AVR32_TWI) +#define SPARE_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define SPARE_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define SPARE_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define SPARE_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION +//! @} + + +/*! \name SPI Connections of the Spare SPI Connector + */ +//! @{ +#define SPARE_SPI (&AVR32_SPI0) +#define SPARE_SPI_NPCS 0 +#define SPARE_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define SPARE_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define SPARE_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define SPARE_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define SPARE_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define SPARE_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define SPARE_SPI_NPCS_PIN AVR32_SPI0_NPCS_0_0_PIN +#define SPARE_SPI_NPCS_FUNCTION AVR32_SPI0_NPCS_0_0_FUNCTION +//! @} +#endif + +#endif // _ARDUINO_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c new file mode 100644 index 0000000..d7cd439 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c @@ -0,0 +1,346 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1100 board LEDs support package. + * + * This file contains definitions and services related to the LED features of + * the EVK1100 board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include "preprocessor.h" +#include "compiler.h" +#include "arduino.h" +#include "led.h" + + +//! Structure describing LED hardware connections. +typedef const struct +{ + struct + { + U32 PORT; //!< LED GPIO port. + U32 PIN_MASK; //!< Bit-mask of LED pin in GPIO port. + } GPIO; //!< LED GPIO descriptor. + struct + { + S32 CHANNEL; //!< LED PWM channel (< 0 if N/A). + S32 FUNCTION; //!< LED pin PWM function (< 0 if N/A). + } PWM; //!< LED PWM descriptor. +} tLED_DESCRIPTOR; + + +//! Hardware descriptors of all LEDs. +static tLED_DESCRIPTOR LED_DESCRIPTOR[LED_COUNT] = +{ +#define INSERT_LED_DESCRIPTOR(LED_NO, unused) \ + { \ + {LED##LED_NO##_GPIO / 32, 1 << (LED##LED_NO##_GPIO % 32)},\ + {LED##LED_NO##_PWM, LED##LED_NO##_PWM_FUNCTION } \ + }, + MREPEAT(LED_COUNT, INSERT_LED_DESCRIPTOR, ~) +#undef INSERT_LED_DESCRIPTOR +}; + + +//! Saved state of all LEDs. +static volatile U32 LED_State = (1 << LED_COUNT) - 1; + + +U32 LED_Read_Display(void) +{ + return LED_State; +} + + +void LED_Display(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor; + volatile avr32_gpio_port_t *led_gpio_port; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + LED_State = leds; + + // For all LEDs... + for (led_descriptor = &LED_DESCRIPTOR[0]; + led_descriptor < LED_DESCRIPTOR + LED_COUNT; + led_descriptor++) + { + // Set the LED to the requested state. + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + if (leds & 1) + { + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= 1; + } +} + + +U32 LED_Read_Display_Mask(U32 mask) +{ + return Rd_bits(LED_State, mask); +} + + +void LED_Display_Mask(U32 mask, U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + mask &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Wr_bits(LED_State, mask, leds); + + // While there are specified LEDs left to manage... + while (mask) + { + // Select the next specified LED and set it to the requested state. + led_shift = 1 + ctz(mask); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + leds >>= led_shift - 1; + if (leds & 1) + { + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= 1; + mask >>= led_shift; + } +} + + +Bool LED_Test(U32 leds) +{ + return Tst_bits(LED_State, leds); +} + + +void LED_Off(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Clr_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and turn it off. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +void LED_On(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Set_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and turn it on. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +void LED_Toggle(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Tgl_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and toggle it. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrt = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +U32 LED_Read_Display_Field(U32 field) +{ + return Rd_bitfield(LED_State, field); +} + + +void LED_Display_Field(U32 field, U32 leds) +{ + // Move the bit-field to the appropriate position for the bit-mask. + LED_Display_Mask(field, leds << ctz(field)); +} + + +U8 LED_Get_Intensity(U32 led) +{ + tLED_DESCRIPTOR *led_descriptor; + + // Check that the argument value is valid. + led = ctz(led); + led_descriptor = &LED_DESCRIPTOR[led]; + if (led >= LED_COUNT || led_descriptor->PWM.CHANNEL < 0) return 0; + + // Return the duty cycle value if the LED PWM channel is enabled, else 0. + return (AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL)) ? + AVR32_PWM.channel[led_descriptor->PWM.CHANNEL].cdty : 0; +} + + +void LED_Set_Intensity(U32 leds, U8 intensity) +{ + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_pwm_channel_t *led_pwm_channel; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // For each specified LED... + for (leds &= (1 << LED_COUNT) - 1; leds; leds >>= led_shift) + { + // Select the next specified LED and check that it has a PWM channel. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + if (led_descriptor->PWM.CHANNEL < 0) continue; + + // Initialize or update the LED PWM channel. + led_pwm_channel = &AVR32_PWM.channel[led_descriptor->PWM.CHANNEL]; + if (!(AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL))) + { + led_pwm_channel->cmr = (AVR32_PWM_CPRE_MCK << AVR32_PWM_CPRE_OFFSET) & + ~(AVR32_PWM_CALG_MASK | + AVR32_PWM_CPOL_MASK | + AVR32_PWM_CPD_MASK); + led_pwm_channel->cprd = 0x000000FF; + led_pwm_channel->cdty = intensity; + AVR32_PWM.ena = 1 << led_descriptor->PWM.CHANNEL; + } + else + { + AVR32_PWM.isr; + while (!(AVR32_PWM.isr & (1 << led_descriptor->PWM.CHANNEL))); + led_pwm_channel->cupd = intensity; + } + + // Switch the LED pin to its PWM function. + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + if (led_descriptor->PWM.FUNCTION & 0x1) + { + led_gpio_port->pmr0s = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->pmr0c = led_descriptor->GPIO.PIN_MASK; + } + if (led_descriptor->PWM.FUNCTION & 0x2) + { + led_gpio_port->pmr1s = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->pmr1c = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->gperc = led_descriptor->GPIO.PIN_MASK; + } +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h new file mode 100644 index 0000000..a577124 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h @@ -0,0 +1,191 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1100 board LEDs support package. + * + * This file contains definitions and services related to the LED features of + * the EVK1100 board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _LED_H_ +#define _LED_H_ + +#include "compiler.h" + + +/*! \name Identifiers of LEDs to Use with LED Functions + */ +//! @{ +#define LED0 0x01 +#define LED1 0x02 +#define LED2 0x04 +#define LED3 0x08 +#define LED4 0x10 +#define LED5 0x20 +#define LED6 0x40 +#define LED7 0x80 +//! @} + + +/*! \brief Gets the last state of all LEDs set through the LED API. + * + * \return State of all LEDs (1 bit per LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display(void); + +/*! \brief Sets the state of all LEDs. + * + * \param leds New state of all LEDs (1 bit per LED). + * + * \note The pins of all LEDs are set to GPIO output mode. + */ +extern void LED_Display(U32 leds); + +/*! \brief Gets the last state of the specified LEDs set through the LED API. + * + * \param mask LEDs of which to get the state (1 bit per LED). + * + * \return State of the specified LEDs (1 bit per LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display_Mask(U32 mask); + +/*! \brief Sets the state of the specified LEDs. + * + * \param mask LEDs of which to set the state (1 bit per LED). + * + * \param leds New state of the specified LEDs (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Display_Mask(U32 mask, U32 leds); + +/*! \brief Tests the last state of the specified LEDs set through the LED API. + * + * \param leds LEDs of which to test the state (1 bit per LED). + * + * \return \c TRUE if at least one of the specified LEDs has a state on, else + * \c FALSE. + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern Bool LED_Test(U32 leds); + +/*! \brief Turns off the specified LEDs. + * + * \param leds LEDs to turn off (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Off(U32 leds); + +/*! \brief Turns on the specified LEDs. + * + * \param leds LEDs to turn on (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_On(U32 leds); + +/*! \brief Toggles the specified LEDs. + * + * \param leds LEDs to toggle (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Toggle(U32 leds); + +/*! \brief Gets as a bit-field the last state of the specified LEDs set through + * the LED API. + * + * \param field LEDs of which to get the state (1 bit per LED). + * + * \return State of the specified LEDs (1 bit per LED, beginning with the first + * specified LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display_Field(U32 field); + +/*! \brief Sets as a bit-field the state of the specified LEDs. + * + * \param field LEDs of which to set the state (1 bit per LED). + * \param leds New state of the specified LEDs (1 bit per LED, beginning with + * the first specified LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Display_Field(U32 field, U32 leds); + +/*! \brief Gets the intensity of the specified LED. + * + * \param led LED of which to get the intensity (1 bit per LED; only the least + * significant set bit is used). + * + * \return Intensity of the specified LED (0x00 to 0xFF). + * + * \warning The PWM channel of the specified LED is supposed to be used only by + * this module. + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U8 LED_Get_Intensity(U32 led); + +/*! \brief Sets the intensity of the specified LEDs. + * + * \param leds LEDs of which to set the intensity (1 bit per LED). + * \param intensity New intensity of the specified LEDs (0x00 to 0xFF). + * + * \warning The PWM channels of the specified LEDs are supposed to be used only + * by this module. + * + * \note The pins of the specified LEDs are set to PWM output mode. + */ +extern void LED_Set_Intensity(U32 leds, U8 intensity); + + +#endif // _LED_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/evk1105.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/evk1105.h new file mode 100644 index 0000000..edda44c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/evk1105.h @@ -0,0 +1,433 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1105 board header file. + * + * This file contains definitions and services related to the features of the + * EVK1105 board rev. B. + * + * To use this board, define BOARD=EVK1105. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _EVK1105_H_ +#define _EVK1105_H_ + +#ifdef EVK1105_REV3 +# include "evk1105_rev3.h" +#else + +#include "compiler.h" + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. +# include "led.h" +#endif // __AVR32_ABI_COMPILER__ + + +/*! \name Oscillator Definitions + */ +//! @{ + +// RCOsc has no custom calibration by default. Set the following definition to +// the appropriate value if a custom RCOsc calibration has been applied to your +// part. +//#define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< RCOsc frequency: Hz. + +#define FOSC32 32768 //!< Osc32 frequency: Hz. +#define OSC32_STARTUP AVR32_PM_OSCCTRL32_STARTUP_8192_RCOSC //!< Osc32 startup time: RCOsc periods. + +#define FOSC0 12000000 //!< Osc0 frequency: Hz. +#define OSC0_STARTUP AVR32_PM_OSCCTRL0_STARTUP_2048_RCOSC //!< Osc0 startup time: RCOsc periods. + +#define FOSC1 11289600 //!< Osc1 frequency: Hz +#define OSC1_STARTUP AVR32_PM_OSCCTRL1_STARTUP_2048_RCOSC //!< Osc1 startup time: RCOsc periods. + + +//! @} + + +/*! \name SDRAM Definitions + */ +//! @{ + +//! Part header file of used SDRAM(s). +#define SDRAM_PART_HDR "MT48LC16M16A2TG7E/mt48lc16m16a2tg7e.h" + +//! Data bus width to use the SDRAM(s) with (16 or 32 bits; always 16 bits on +//! UC3). +#define SDRAM_DBW 16 +//! @} + + +/*! \name USB Definitions + */ +//! @{ +//! Multiplexed pin used for USB_ID: AVR32_USBB_USB_ID_x_x. +//! To be selected according to the AVR32_USBB_USB_ID_x_x_PIN and +//! AVR32_USBB_USB_ID_x_x_FUNCTION definitions from <avr32/uc3axxxx.h>. +#define AVR32_USBB_USB_ID_0_2_PIN 21 +#define AVR32_USBB_USB_ID_0_2_FUNCTION 2 +#define USB_ID AVR32_USBB_USB_ID_0_2 + +//! Multiplexed pin used for USB_VBOF: AVR32_USBB_USB_VBOF_x_x. +//! To be selected according to the AVR32_USBB_USB_VBOF_x_x_PIN and +//! AVR32_USBB_USB_VBOF_x_x_FUNCTION definitions from <avr32/uc3axxxx.h>. +# define USB_VBOF AVR32_USBB_USB_VBOF_0_1 + + +//! Active level of the USB_VBOF output pin. +# define USB_VBOF_ACTIVE_LEVEL LOW + +//! USB overcurrent detection pin. +# define USB_OVERCURRENT_DETECT_PIN AVR32_PIN_PX15 + +//! @} + + +//! GPIO connection of the MAC PHY PWR_DOWN/INT signal. +# define MACB_INTERRUPT_PIN AVR32_PIN_PA26 + + + +//! Number of LEDs. +#define LED_COUNT 4 + +/*! \name GPIO Connections of LEDs + */ +//! @{ +# define LED0_GPIO AVR32_PIN_PB27 +# define LED1_GPIO AVR32_PIN_PB28 +# define LED2_GPIO AVR32_PIN_PA05 +# define LED3_GPIO AVR32_PIN_PA06 +//! @} + +/*! \name Color Identifiers of LEDs to Use with LED Functions + */ +//! @{ +#define LED_MONO0_GREEN LED0 +#define LED_MONO1_GREEN LED1 +#define LED_MONO2_GREEN LED2 +#define LED_MONO3_GREEN LED3 +//! @} + +/*! \name PWM Channels of LEDs + */ +//! @{ +#define LED0_PWM 4 +#define LED1_PWM 5 +#define LED2_PWM (-1) +#define LED3_PWM (-1) +//! @} + +/*! \name PWM Functions of LEDs + */ +//! @{ +/* TODO: Implement PWM functionality */ +#define LED0_PWM_FUNCTION (-1)//AVR32_PWM_0_FUNCTION +#define LED1_PWM_FUNCTION (-1)//AVR32_PWM_1_FUNCTION +#define LED2_PWM_FUNCTION (-1) +#define LED3_PWM_FUNCTION (-1) +//! @} + +//! External interrupt connection of touch sensor. +#define QT1081_EIC_EXTINT_PIN AVR32_EIC_EXTINT_1_PIN +#define QT1081_EIC_EXTINT_FUNCTION AVR32_EIC_EXTINT_1_FUNCTION +#define QT1081_EIC_EXTINT_IRQ AVR32_EIC_IRQ_1 +#define QT1081_EIC_EXTINT_INT AVR32_EIC_INT1 +/*! \name Touch sensor low power mode select + */ +#define QT1081_LP_MODE AVR32_PIN_PB29 + +/*! \name GPIO Connections of touch buttons + */ +//! @{ +#define QT1081_TOUCH_SENSOR_0 AVR32_PIN_PB22 +#define QT1081_TOUCH_SENSOR_0_PRESSED 1 +#define QT1081_TOUCH_SENSOR_1 AVR32_PIN_PB23 +#define QT1081_TOUCH_SENSOR_1_PRESSED 1 +#define QT1081_TOUCH_SENSOR_2 AVR32_PIN_PB24 +#define QT1081_TOUCH_SENSOR_2_PRESSED 1 +#define QT1081_TOUCH_SENSOR_3 AVR32_PIN_PB25 +#define QT1081_TOUCH_SENSOR_3_PRESSED 1 +#define QT1081_TOUCH_SENSOR_4 AVR32_PIN_PB26 +#define QT1081_TOUCH_SENSOR_4_PRESSED 1 + +#define QT1081_TOUCH_SENSOR_ENTER QT1081_TOUCH_SENSOR_4 +#define QT1081_TOUCH_SENSOR_ENTER_PRESSED QT1081_TOUCH_SENSOR_4_PRESSED +#define QT1081_TOUCH_SENSOR_LEFT QT1081_TOUCH_SENSOR_3 +#define QT1081_TOUCH_SENSOR_LEFT_PRESSED QT1081_TOUCH_SENSOR_3_PRESSED +#define QT1081_TOUCH_SENSOR_RIGHT QT1081_TOUCH_SENSOR_2 +#define QT1081_TOUCH_SENSOR_RIGHT_PRESSED QT1081_TOUCH_SENSOR_2_PRESSED +#define QT1081_TOUCH_SENSOR_UP QT1081_TOUCH_SENSOR_0 +#define QT1081_TOUCH_SENSOR_UP_PRESSED QT1081_TOUCH_SENSOR_0_PRESSED +#define QT1081_TOUCH_SENSOR_DOWN QT1081_TOUCH_SENSOR_1 +#define QT1081_TOUCH_SENSOR_DOWN_PRESSED QT1081_TOUCH_SENSOR_1_PRESSED +//! @} + +/*! \name SPI Connections of the AT45DBX Data Flash Memory + */ +//! @{ +#define AT45DBX_SPI (&AVR32_SPI0) +#define AT45DBX_SPI_NPCS 0 +#define AT45DBX_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define AT45DBX_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define AT45DBX_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define AT45DBX_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define AT45DBX_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define AT45DBX_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define AT45DBX_SPI_NPCS0_PIN AVR32_SPI0_NPCS_0_0_PIN +#define AT45DBX_SPI_NPCS0_FUNCTION AVR32_SPI0_NPCS_0_0_FUNCTION +//! @} + +/*! \name GPIO and SPI Connections of the SD/MMC Connector + */ +//! @{ +#define SD_MMC_CARD_DETECT_PIN AVR32_PIN_PA02 +#define SD_MMC_WRITE_PROTECT_PIN AVR32_PIN_PA18 +#define SD_MMC_SPI (&AVR32_SPI0) +#define SD_MMC_SPI_NPCS 1 +#define SD_MMC_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define SD_MMC_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define SD_MMC_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define SD_MMC_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define SD_MMC_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define SD_MMC_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define SD_MMC_SPI_NPCS_PIN AVR32_SPI0_NPCS_1_0_PIN +#define SD_MMC_SPI_NPCS_FUNCTION AVR32_SPI0_NPCS_1_0_FUNCTION +//! @} + + +/*! \name TWI expansion + */ +//! @{ +#define EXPANSION_TWI (&AVR32_TWI) +#define EXPANSION_RESET AVR32_PIN_PX16 +#define EXPANSION_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define EXPANSION_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define EXPANSION_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define EXPANSION_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION +//! @} + +/*! \name Wireless expansion + */ + +#define WEXPANSION_EXTINT_PIN AVR32_EIC_EXTINT_8_PIN +#define WEXPANSION_EXTINT_FUNCTION AVR32_EIC_EXTINT_8_FUNCTION +#define WEXPANSION_GPIO1 AVR32_PIN_PB30 +#define WEXPANSION_GPIO2 AVR32_PIN_PB31 + +#define WEXPANSION_SPI (&AVR32_SPI0) +#define WEXPANSION_SPI_NPCS 2 +#define WEXPANSION_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define WEXPANSION_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define WEXPANSION_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define WEXPANSION_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define WEXPANSION_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define WEXPANSION_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define WEXPANSION_SPI_NPCS_PIN AVR32_SPI0_NPCS_2_0_PIN +#define WEXPANSION_SPI_NPCS_FUNCTION AVR32_SPI0_NPCS_2_0_FUNCTION + +//! @} + +/*! \name ET024006DHU TFT display + */ +//! @{ + +#define ET024006DHU_TE_PIN AVR32_PIN_PX19 +#define ET024006DHU_RESET_PIN AVR32_PIN_PX22 +#define ET024006DHU_BL_PIN AVR32_PWM_6_PIN +#define ET024006DHU_BL_FUNCTION AVR32_PWM_6_FUNCTION +#define ET024006DHU_DNC_PIN AVR32_EBI_ADDR_21_1_PIN +#define ET024006DHU_DNC_FUNCTION AVR32_EBI_ADDR_21_1_FUNCTION +#define ET024006DHU_EBI_NCS_PIN AVR32_EBI_NCS_0_1_PIN +#define ET024006DHU_EBI_NCS_FUNCTION AVR32_EBI_NCS_0_1_FUNCTION + +//! @} +/*! \name Optional SPI connection to the TFT + */ +//! @{ + +#define ET024006DHU_SPI (&AVR32_SPI0) +#define ET024006DHU_SPI_NPCS 3 +#define ET024006DHU_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define ET024006DHU_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define ET024006DHU_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define ET024006DHU_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define ET024006DHU_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define ET024006DHU_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define ET024006DHU_SPI_NPCS_PIN AVR32_SPI1_NPCS_3_0_PIN +#define ET024006DHU_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_3_0_FUNCTION + +//! @} + + +/*! \name Audio amplifier connection to the DAC + */ +//! @{ + +#define TPA6130_ABDAC (&AVR32_ABDAC) + +#define TPA6130_DATA0_PIN AVR32_ABDAC_DATA_0_1_PIN +#define TPA6130_DATA0_FUNCTION AVR32_ABDAC_DATA_0_1_FUNCTION +#define TPA6130_DATAN0_PIN AVR32_ABDAC_DATAN_0_1_PIN +#define TPA6130_DATAN0_FUNCTION AVR32_ABDAC_DATAN_0_1_FUNCTION +#define TPA6130_DATA1_PIN AVR32_ABDAC_DATA_1_1_PIN +#define TPA6130_DATA1_FUNCTION AVR32_ABDAC_DATA_1_1_FUNCTION +#define TPA6130_DATAN1_PIN AVR32_ABDAC_DATAN_1_1_PIN +#define TPA6130_DATAN1_FUNCTION AVR32_ABDAC_DATAN_1_1_FUNCTION + +#define TPA6130_ABDAC_PDCA_PID AVR32_PDCA_PID_ABDAC_TX +#define TPA6130_ABDAC_PDCA_CHANNEL 0 +#define TPA6130_ABDAC_PDCA_IRQ AVR32_PDCA_IRQ_0 +#define TPA6130_ABDAC_PDCA_INT_LEVEL AVR32_INTC_INT3 + +#define TPA6130_TWI (&AVR32_TWI) +#define TPA6130_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define TPA6130_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define TPA6130_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define TPA6130_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION + +//! }@ +/*! \name TI TLV320AIC23B sound chip + */ +//! @{ +#define TLV320_SSC (&AVR32_SSC) +#define TLV320_SSC_TX_CLOCK_PIN AVR32_SSC_TX_CLOCK_0_PIN +#define TLV320_SSC_TX_CLOCK_FUNCTION AVR32_SSC_TX_CLOCK_0_FUNCTION +#define TLV320_SSC_TX_DATA_PIN AVR32_SSC_TX_DATA_0_PIN +#define TLV320_SSC_TX_DATA_FUNCTION AVR32_SSC_TX_DATA_0_FUNCTION +#define TLV320_SSC_TX_FRAME_SYNC_PIN AVR32_SSC_TX_FRAME_SYNC_0_PIN +#define TLV320_SSC_TX_FRAME_SYNC_FUNCTION AVR32_SSC_TX_FRAME_SYNC_0_FUNCTION + +#define TLV320_TWI (&AVR32_TWI) +#define TLV320_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define TLV320_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define TLV320_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define TLV320_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION + +#define TLV320_PM_GCLK_PIN AVR32_PM_GCLK_0_0_PIN +#define TLV320_PM_GCLK_FUNCTION AVR32_PM_GCLK_0_0_FUNCTION +//! @} + +////! \name SPI: Apple Authentication Chip Hardware Connections +////! @{ +#define IPOD_AUTH_CHIP_SPI (&AVR32_SPI0) +#define IPOD_AUTH_CHIP_SPI_IRQ AVR32_SPI0_IRQ +#define IPOD_AUTH_CHIP_SPI_NPCS 2 +#define IPOD_AUTH_CHIP_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN +#define IPOD_AUTH_CHIP_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION +#define IPOD_AUTH_CHIP_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN +#define IPOD_AUTH_CHIP_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION +#define IPOD_AUTH_CHIP_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN +#define IPOD_AUTH_CHIP_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION +#define IPOD_AUTH_CHIP_SPI_NPCS_PIN AVR32_SPI0_NPCS_2_0_PIN +#define IPOD_AUTH_CHIP_SPI_NPCS_FUNCTION AVR32_SPI0_NPCS_2_0_FUNCTION +#define IPOD_AUTH_CHIP_SPI_N_RESET_PIN AVR32_PIN_PB30 +#define IPOD_AUTH_CHIP_SPI_CP_READY_PIN AVR32_PIN_PB31 +//! }@ + +/*! \name Connections of the iPOD Authentication Coprocessor + */ +//! @{ + +#define IPOD_AUTH_CHIP_TWI (&AVR32_TWI) +#define IPOD_AUTH_CHIP_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN +#define IPOD_AUTH_CHIP_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION +#define IPOD_AUTH_CHIP_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN +#define IPOD_AUTH_CHIP_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION +#define IPOD_AUTH_CHIP_TWI_N_RESET_PIN AVR32_PIN_PX16 + +//! @} + +/*! \name USART connection to the UC3B board controller + */ +//! @{ + +#define USART0_RXD_PIN AVR32_USART0_RXD_0_0_PIN +#define USART0_RXD_FUNCTION AVR32_USART0_RXD_0_0_FUNCTION +#define USART0_TXD_PIN AVR32_USART0_TXD_0_0_PIN +#define USART0_TXD_FUNCTION AVR32_USART0_TXD_0_0_FUNCTION +#define USART0_RTS_PIN AVR32_USART0_RTS_0_0_PIN +#define USART0_RTS_FUNCTION AVR32_USART0_RTS_0_0_FUNCTION +#define USART0_CTS_PIN AVR32_USART0_CTS_0_0_PIN +#define USART0_CTS_FUNCTION AVR32_USART0_CTS_0_0_FUNCTION + +//! @} + +#define ADC_VEXT_PIN AVR32_ADC_AD_7_PIN +#define ADC_VEXT_FUNCTION AVR32_ADC_AD_7_FUNCTION + +/*! \name LCD Connections of the ET024006DHU display + */ +//! @{ +#define ET024006DHU_SMC_USE_NCS 0 +#define ET024006DHU_SMC_COMPONENT_CS "smc_et024006dhu.h" + +#define ET024006DHU_EBI_DATA_0 AVR32_EBI_DATA_0 +#define ET024006DHU_EBI_DATA_1 AVR32_EBI_DATA_1 +#define ET024006DHU_EBI_DATA_2 AVR32_EBI_DATA_2 +#define ET024006DHU_EBI_DATA_3 AVR32_EBI_DATA_3 +#define ET024006DHU_EBI_DATA_4 AVR32_EBI_DATA_4 +#define ET024006DHU_EBI_DATA_5 AVR32_EBI_DATA_5 +#define ET024006DHU_EBI_DATA_6 AVR32_EBI_DATA_6 +#define ET024006DHU_EBI_DATA_7 AVR32_EBI_DATA_7 +#define ET024006DHU_EBI_DATA_8 AVR32_EBI_DATA_8 +#define ET024006DHU_EBI_DATA_9 AVR32_EBI_DATA_9 +#define ET024006DHU_EBI_DATA_10 AVR32_EBI_DATA_10 +#define ET024006DHU_EBI_DATA_11 AVR32_EBI_DATA_11 +#define ET024006DHU_EBI_DATA_12 AVR32_EBI_DATA_12 +#define ET024006DHU_EBI_DATA_13 AVR32_EBI_DATA_13 +#define ET024006DHU_EBI_DATA_14 AVR32_EBI_DATA_14 +#define ET024006DHU_EBI_DATA_15 AVR32_EBI_DATA_15 + +#define ET024006DHU_EBI_ADDR_21 AVR32_EBI_ADDR_21_1 + +#define ET024006DHU_EBI_NWE AVR32_EBI_NWE0_0 +#define ET024006DHU_EBI_NRD AVR32_EBI_NRD_0 +#define ET024006DHU_EBI_NCS AVR32_EBI_NCS_0_1 +//! @} + + +#endif // !EVK1105_REVA + +#endif // _EVK1105_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c new file mode 100644 index 0000000..561652a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.c @@ -0,0 +1,346 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1105 board LEDs support package. + * + * This file contains definitions and services related to the LED features of + * the EVK1105 board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include "preprocessor.h" +#include "compiler.h" +#include "evk1105.h" +#include "led.h" + + +//! Structure describing LED hardware connections. +typedef const struct +{ + struct + { + U32 PORT; //!< LED GPIO port. + U32 PIN_MASK; //!< Bit-mask of LED pin in GPIO port. + } GPIO; //!< LED GPIO descriptor. + struct + { + S32 CHANNEL; //!< LED PWM channel (< 0 if N/A). + S32 FUNCTION; //!< LED pin PWM function (< 0 if N/A). + } PWM; //!< LED PWM descriptor. +} tLED_DESCRIPTOR; + + +//! Hardware descriptors of all LEDs. +static tLED_DESCRIPTOR LED_DESCRIPTOR[LED_COUNT] = +{ +#define INSERT_LED_DESCRIPTOR(LED_NO, unused) \ + { \ + {LED##LED_NO##_GPIO / 32, 1 << (LED##LED_NO##_GPIO % 32)},\ + {LED##LED_NO##_PWM, LED##LED_NO##_PWM_FUNCTION } \ + }, + MREPEAT(LED_COUNT, INSERT_LED_DESCRIPTOR, ~) +#undef INSERT_LED_DESCRIPTOR +}; + + +//! Saved state of all LEDs. +static volatile U32 LED_State = (1 << LED_COUNT) - 1; + + +U32 LED_Read_Display(void) +{ + return LED_State; +} + + +void LED_Display(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor; + volatile avr32_gpio_port_t *led_gpio_port; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + LED_State = leds; + + // For all LEDs... + for (led_descriptor = &LED_DESCRIPTOR[0]; + led_descriptor < LED_DESCRIPTOR + LED_COUNT; + led_descriptor++) + { + // Set the LED to the requested state. + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + if (leds & 1) + { + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= 1; + } +} + + +U32 LED_Read_Display_Mask(U32 mask) +{ + return Rd_bits(LED_State, mask); +} + + +void LED_Display_Mask(U32 mask, U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + mask &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Wr_bits(LED_State, mask, leds); + + // While there are specified LEDs left to manage... + while (mask) + { + // Select the next specified LED and set it to the requested state. + led_shift = 1 + ctz(mask); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + leds >>= led_shift - 1; + if (leds & 1) + { + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= 1; + mask >>= led_shift; + } +} + + +Bool LED_Test(U32 leds) +{ + return Tst_bits(LED_State, leds); +} + + +void LED_Off(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Clr_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and turn it off. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +void LED_On(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Set_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and turn it on. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +void LED_Toggle(U32 leds) +{ + // Use the LED descriptors to get the connections of a given LED to the MCU. + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // Make sure only existing LEDs are specified. + leds &= (1 << LED_COUNT) - 1; + + // Update the saved state of all LEDs with the requested changes. + Tgl_bits(LED_State, leds); + + // While there are specified LEDs left to manage... + while (leds) + { + // Select the next specified LED and toggle it. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + led_gpio_port->ovrt = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; + led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; + leds >>= led_shift; + } +} + + +U32 LED_Read_Display_Field(U32 field) +{ + return Rd_bitfield(LED_State, field); +} + + +void LED_Display_Field(U32 field, U32 leds) +{ + // Move the bit-field to the appropriate position for the bit-mask. + LED_Display_Mask(field, leds << ctz(field)); +} + + +U8 LED_Get_Intensity(U32 led) +{ + tLED_DESCRIPTOR *led_descriptor; + + // Check that the argument value is valid. + led = ctz(led); + led_descriptor = &LED_DESCRIPTOR[led]; + if (led >= LED_COUNT || led_descriptor->PWM.CHANNEL < 0) return 0; + + // Return the duty cycle value if the LED PWM channel is enabled, else 0. + return (AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL)) ? + AVR32_PWM.channel[led_descriptor->PWM.CHANNEL].cdty : 0; +} + + +void LED_Set_Intensity(U32 leds, U8 intensity) +{ + tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; + volatile avr32_pwm_channel_t *led_pwm_channel; + volatile avr32_gpio_port_t *led_gpio_port; + U8 led_shift; + + // For each specified LED... + for (leds &= (1 << LED_COUNT) - 1; leds; leds >>= led_shift) + { + // Select the next specified LED and check that it has a PWM channel. + led_shift = 1 + ctz(leds); + led_descriptor += led_shift; + if (led_descriptor->PWM.CHANNEL < 0) continue; + + // Initialize or update the LED PWM channel. + led_pwm_channel = &AVR32_PWM.channel[led_descriptor->PWM.CHANNEL]; + if (!(AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL))) + { + led_pwm_channel->cmr = (AVR32_PWM_CPRE_MCK << AVR32_PWM_CPRE_OFFSET) & + ~(AVR32_PWM_CALG_MASK | + AVR32_PWM_CPOL_MASK | + AVR32_PWM_CPD_MASK); + led_pwm_channel->cprd = 0x000000FF; + led_pwm_channel->cdty = intensity; + AVR32_PWM.ena = 1 << led_descriptor->PWM.CHANNEL; + } + else + { + AVR32_PWM.isr; + while (!(AVR32_PWM.isr & (1 << led_descriptor->PWM.CHANNEL))); + led_pwm_channel->cupd = intensity; + } + + // Switch the LED pin to its PWM function. + led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; + if (led_descriptor->PWM.FUNCTION & 0x1) + { + led_gpio_port->pmr0s = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->pmr0c = led_descriptor->GPIO.PIN_MASK; + } + if (led_descriptor->PWM.FUNCTION & 0x2) + { + led_gpio_port->pmr1s = led_descriptor->GPIO.PIN_MASK; + } + else + { + led_gpio_port->pmr1c = led_descriptor->GPIO.PIN_MASK; + } + led_gpio_port->gperc = led_descriptor->GPIO.PIN_MASK; + } +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h new file mode 100644 index 0000000..7766b6a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/EVK1105/led.h @@ -0,0 +1,187 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AT32UC3A EVK1105 board LEDs support package. + * + * This file contains definitions and services related to the LED features of + * the EVK1105 board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 AT32UC3A devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _LED_H_ +#define _LED_H_ + +#include "compiler.h" + + +/*! \name Identifiers of LEDs to Use with LED Functions + */ +//! @{ +#define LED0 0x01 +#define LED1 0x02 +#define LED2 0x04 +#define LED3 0x08 +//! @} + + +/*! \brief Gets the last state of all LEDs set through the LED API. + * + * \return State of all LEDs (1 bit per LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display(void); + +/*! \brief Sets the state of all LEDs. + * + * \param leds New state of all LEDs (1 bit per LED). + * + * \note The pins of all LEDs are set to GPIO output mode. + */ +extern void LED_Display(U32 leds); + +/*! \brief Gets the last state of the specified LEDs set through the LED API. + * + * \param mask LEDs of which to get the state (1 bit per LED). + * + * \return State of the specified LEDs (1 bit per LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display_Mask(U32 mask); + +/*! \brief Sets the state of the specified LEDs. + * + * \param mask LEDs of which to set the state (1 bit per LED). + * + * \param leds New state of the specified LEDs (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Display_Mask(U32 mask, U32 leds); + +/*! \brief Tests the last state of the specified LEDs set through the LED API. + * + * \param leds LEDs of which to test the state (1 bit per LED). + * + * \return \c TRUE if at least one of the specified LEDs has a state on, else + * \c FALSE. + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern Bool LED_Test(U32 leds); + +/*! \brief Turns off the specified LEDs. + * + * \param leds LEDs to turn off (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Off(U32 leds); + +/*! \brief Turns on the specified LEDs. + * + * \param leds LEDs to turn on (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_On(U32 leds); + +/*! \brief Toggles the specified LEDs. + * + * \param leds LEDs to toggle (1 bit per LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Toggle(U32 leds); + +/*! \brief Gets as a bit-field the last state of the specified LEDs set through + * the LED API. + * + * \param field LEDs of which to get the state (1 bit per LED). + * + * \return State of the specified LEDs (1 bit per LED, beginning with the first + * specified LED). + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U32 LED_Read_Display_Field(U32 field); + +/*! \brief Sets as a bit-field the state of the specified LEDs. + * + * \param field LEDs of which to set the state (1 bit per LED). + * \param leds New state of the specified LEDs (1 bit per LED, beginning with + * the first specified LED). + * + * \note The pins of the specified LEDs are set to GPIO output mode. + */ +extern void LED_Display_Field(U32 field, U32 leds); + +/*! \brief Gets the intensity of the specified LED. + * + * \param led LED of which to get the intensity (1 bit per LED; only the least + * significant set bit is used). + * + * \return Intensity of the specified LED (0x00 to 0xFF). + * + * \warning The PWM channel of the specified LED is supposed to be used only by + * this module. + * + * \note The GPIO pin configuration of all LEDs is left unchanged. + */ +extern U8 LED_Get_Intensity(U32 led); + +/*! \brief Sets the intensity of the specified LEDs. + * + * \param leds LEDs of which to set the intensity (1 bit per LED). + * \param intensity New intensity of the specified LEDs (0x00 to 0xFF). + * + * \warning The PWM channels of the specified LEDs are supposed to be used only + * by this module. + * + * \note The pins of the specified LEDs are set to PWM output mode. + */ +extern void LED_Set_Intensity(U32 leds, U8 intensity); + + +#endif // _LED_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/board.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/board.h new file mode 100644 index 0000000..78ee91e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/board.h @@ -0,0 +1,120 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Standard board header file. + * + * This file includes the appropriate board header file according to the + * defined board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +#include <avr32/io.h> + +/*! \name Base Boards + */ +//! @{ +#define EVK1100 1 //!< AT32UC3A EVK1100 board. +#define EVK1101 2 //!< AT32UC3B EVK1101 board. +#define UC3C_EK 3 //!< AT32UC3C UC3C_EK board. +#define EVK1104 4 //!< AT32UC3A3 EVK1104 board. +#define EVK1105 5 //!< AT32UC3A EVK1105 board. +#define STK1000 6 //!< AT32AP7000 STK1000 board. +#define NGW100 7 //!< AT32AP7000 NGW100 board. +#define STK600_RCUC3L0 8 //!< STK600 RCUC3L0 board. +#define UC3L_EK 9 //!< AT32UC3L-EK board. +#define USER_BOARD 99 //!< User-reserved board (if any). +//! @} + +/*! \name Extension Boards + */ +//! @{ +#define EXT1102 1 //!< AT32UC3B EXT1102 board. +#define MC300 2 //!< AT32UC3 MC300 board. +#define USER_EXT_BOARD 99 //!< User-reserved extension board (if any). +//! @} + +#if BOARD == EVK1100 + #include "EVK1100/evk1100.h" +#elif BOARD == EVK1101 + #include "EVK1101/evk1101.h" +#elif BOARD == UC3C_EK + #include "UC3C_EK/uc3c_ek.h" +#elif BOARD == EVK1104 + #include "EVK1104/evk1104.h" +#elif BOARD == EVK1105 + #include "EVK1105/evk1105.h" +#elif BOARD == STK1000 + #include "STK1000/stk1000.h" +#elif BOARD == NGW100 + #include "NGW100/ngw100.h" +#elif BOARD == STK600_RCUC3L0 + #include "STK600/RCUC3L0/stk600_rcuc3l0.h" +#elif BOARD == UC3L_EK + #include "UC3L_EK/uc3l_ek.h" +#elif BOARD == ARDUINO + #include "ARDUINO/arduino.h" +#else + #error No known AVR32 board defined +#endif + +#if (defined EXT_BOARD) + #if EXT_BOARD == EXT1102 + #include "EXT1102/ext1102.h" + #elif EXT_BOARD == MC300 + #include "MC300/mc300.h" + #elif EXT_BOARD == USER_EXT_BOARD + // User-reserved area: #include the header file of your extension board here + // (if any). + #endif +#endif + + +#ifndef FRCOSC + #define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< Default RCOsc frequency. +#endif + + +#endif // _BOARD_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/board.h.ori b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/board.h.ori new file mode 100644 index 0000000..30052c8 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/BOARDS/board.h.ori @@ -0,0 +1,121 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Standard board header file. + * + * This file includes the appropriate board header file according to the + * defined board. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +#include <avr32/io.h> + +/*! \name Base Boards + */ +//! @{ +#define EVK1100 1 //!< AT32UC3A EVK1100 board. +#define EVK1101 2 //!< AT32UC3B EVK1101 board. +#define UC3C_EK 3 //!< AT32UC3C UC3C_EK board. +#define EVK1104 4 //!< AT32UC3A3 EVK1104 board. +#define EVK1105 5 //!< AT32UC3A EVK1105 board. +#define STK1000 6 //!< AT32AP7000 STK1000 board. +#define NGW100 7 //!< AT32AP7000 NGW100 board. +#define STK600_RCUC3L0 8 //!< STK600 RCUC3L0 board. +#define UC3L_EK 9 //!< AT32UC3L-EK board. +#define USER_BOARD 99 //!< User-reserved board (if any). +//! @} + +/*! \name Extension Boards + */ +//! @{ +#define EXT1102 1 //!< AT32UC3B EXT1102 board. +#define MC300 2 //!< AT32UC3 MC300 board. +#define USER_EXT_BOARD 99 //!< User-reserved extension board (if any). +//! @} + +#if BOARD == EVK1100 + #include "EVK1100/evk1100.h" +#elif BOARD == EVK1101 + #include "EVK1101/evk1101.h" +#elif BOARD == UC3C_EK + #include "UC3C_EK/uc3c_ek.h" +#elif BOARD == EVK1104 + #include "EVK1104/evk1104.h" +#elif BOARD == EVK1105 + #include "EVK1105/evk1105.h" +#elif BOARD == STK1000 + #include "STK1000/stk1000.h" +#elif BOARD == NGW100 + #include "NGW100/ngw100.h" +#elif BOARD == STK600_RCUC3L0 + #include "STK600/RCUC3L0/stk600_rcuc3l0.h" +#elif BOARD == UC3L_EK + #include "UC3L_EK/uc3l_ek.h" +#elif BOARD == USER_BOARD + // User-reserved area: #include the header file of your board here (if any). + #include "user_board.h" +#else + #error No known AVR32 board defined +#endif + +#if (defined EXT_BOARD) + #if EXT_BOARD == EXT1102 + #include "EXT1102/ext1102.h" + #elif EXT_BOARD == MC300 + #include "MC300/mc300.h" + #elif EXT_BOARD == USER_EXT_BOARD + // User-reserved area: #include the header file of your extension board here + // (if any). + #endif +#endif + + +#ifndef FRCOSC + #define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< Default RCOsc frequency. +#endif + + +#endif // _BOARD_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.c new file mode 100644 index 0000000..d4b1b73 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.c @@ -0,0 +1,672 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Management of the AT45DBX data flash controller through SPI. + * + * This file manages the accesses to the AT45DBX data flash components. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +//_____ I N C L U D E S ___________________________________________________ + +#include "conf_access.h" + + +#if AT45DBX_MEM == ENABLE + +#include "compiler.h" +#include "board.h" +#include "gpio.h" +#include "spi.h" +#include "conf_at45dbx.h" +#include "at45dbx.h" +#include "printf-stdarg.h" + +#if AT45DBX_MEM_CNT > 4 + #error AT45DBX_MEM_CNT must not exceed 4 +#endif + + +//_____ D E F I N I T I O N S ______________________________________________ + +/*! \name AT45DBX Group A Commands + */ +//! @{ +#define AT45DBX_CMDA_RD_PAGE 0xD2 //!< Main Memory Page Read (Serial/8-bit Mode). +#define AT45DBX_CMDA_RD_ARRAY_LEG 0xE8 //!< Continuous Array Read, Legacy Command (Serial/8-bit Mode). +#define AT45DBX_CMDA_RD_ARRAY_LF_SM 0x03 //!< Continuous Array Read, Low-Frequency Mode (Serial Mode). +#define AT45DBX_CMDA_RD_ARRAY_AF_SM 0x0B //!< Continuous Array Read, Any-Frequency Mode (Serial Mode). +#define AT45DBX_CMDA_RD_SECTOR_PROT_REG 0x32 //!< Read Sector Protection Register (Serial/8-bit Mode). +#define AT45DBX_CMDA_RD_SECTOR_LKDN_REG 0x35 //!< Read Sector Lockdown Register (Serial/8-bit Mode). +#define AT45DBX_CMDA_RD_SECURITY_REG 0x77 //!< Read Security Register (Serial/8-bit Mode). +//! @} + +/*! \name AT45DBX Group B Commands + */ +//! @{ +#define AT45DBX_CMDB_ER_PAGE 0x81 //!< Page Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_ER_BLOCK 0x50 //!< Block Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_ER_SECTOR 0x7C //!< Sector Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_ER_CHIP 0xC794809A //!< Chip Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_XFR_PAGE_TO_BUF1 0x53 //!< Main Memory Page to Buffer 1 Transfer (Serial/8-bit Mode). +#define AT45DBX_CMDB_XFR_PAGE_TO_BUF2 0x55 //!< Main Memory Page to Buffer 2 Transfer (Serial/8-bit Mode). +#define AT45DBX_CMDB_CMP_PAGE_TO_BUF1 0x60 //!< Main Memory Page to Buffer 1 Compare (Serial/8-bit Mode). +#define AT45DBX_CMDB_CMP_PAGE_TO_BUF2 0x61 //!< Main Memory Page to Buffer 2 Compare (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_BUF1_TO_PAGE_ER 0x83 //!< Buffer 1 to Main Memory Page Program with Built-in Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_BUF2_TO_PAGE_ER 0x86 //!< Buffer 2 to Main Memory Page Program with Built-in Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_BUF1_TO_PAGE 0x88 //!< Buffer 1 to Main Memory Page Program without Built-in Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_BUF2_TO_PAGE 0x89 //!< Buffer 2 to Main Memory Page Program without Built-in Erase (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_PAGE_TH_BUF1 0x82 //!< Main Memory Page Program through Buffer 1 (Serial/8-bit Mode). +#define AT45DBX_CMDB_PR_PAGE_TH_BUF2 0x85 //!< Main Memory Page Program through Buffer 2 (Serial/8-bit Mode). +#define AT45DBX_CMDB_RWR_PAGE_TH_BUF1 0x58 //!< Auto Page Rewrite through Buffer 1 (Serial/8-bit Mode). +#define AT45DBX_CMDB_RWR_PAGE_TH_BUF2 0x59 //!< Auto Page Rewrite through Buffer 2 (Serial/8-bit Mode). +//! @} + +/*! \name AT45DBX Group C Commands + */ +//! @{ +#define AT45DBX_CMDC_RD_BUF1_LF_SM 0xD1 //!< Buffer 1 Read, Low-Frequency Mode (Serial Mode). +#define AT45DBX_CMDC_RD_BUF2_LF_SM 0xD3 //!< Buffer 2 Read, Low-Frequency Mode (Serial Mode). +#define AT45DBX_CMDC_RD_BUF1_AF_SM 0xD4 //!< Buffer 1 Read, Any-Frequency Mode (Serial Mode). +#define AT45DBX_CMDC_RD_BUF2_AF_SM 0xD6 //!< Buffer 2 Read, Any-Frequency Mode (Serial Mode). +#define AT45DBX_CMDC_RD_BUF1_AF_8M 0x54 //!< Buffer 1 Read, Any-Frequency Mode (8-bit Mode). +#define AT45DBX_CMDC_RD_BUF2_AF_8M 0x56 //!< Buffer 2 Read, Any-Frequency Mode (8-bit Mode). +#define AT45DBX_CMDC_WR_BUF1 0x84 //!< Buffer 1 Write (Serial/8-bit Mode). +#define AT45DBX_CMDC_WR_BUF2 0x87 //!< Buffer 2 Write (Serial/8-bit Mode). +#define AT45DBX_CMDC_RD_STATUS_REG 0xD7 //!< Status Register Read (Serial/8-bit Mode). +#define AT45DBX_CMDC_RD_MNFCT_DEV_ID_SM 0x9F //!< Manufacturer and Device ID Read (Serial Mode). +//! @} + +/*! \name AT45DBX Group D Commands + */ +//! @{ +#define AT45DBX_CMDD_EN_SECTOR_PROT 0x3D2A7FA9 //!< Enable Sector Protection (Serial/8-bit Mode). +#define AT45DBX_CMDD_DIS_SECTOR_PROT 0x3D2A7F9A //!< Disable Sector Protection (Serial/8-bit Mode). +#define AT45DBX_CMDD_ER_SECTOR_PROT_REG 0x3D2A7FCF //!< Erase Sector Protection Register (Serial/8-bit Mode). +#define AT45DBX_CMDD_PR_SECTOR_PROT_REG 0x3D2A7FFC //!< Program Sector Protection Register (Serial/8-bit Mode). +#define AT45DBX_CMDD_LKDN_SECTOR 0x3D2A7F30 //!< Sector Lockdown (Serial/8-bit Mode). +#define AT45DBX_CMDD_PR_SECURITY_REG 0x9B000000 //!< Program Security Register (Serial/8-bit Mode). +#define AT45DBX_CMDD_PR_CONF_REG 0x3D2A80A6 //!< Program Configuration Register (Serial/8-bit Mode). +#define AT45DBX_CMDD_DEEP_PWR_DN 0xB9 //!< Deep Power-down (Serial/8-bit Mode). +#define AT45DBX_CMDD_RSM_DEEP_PWR_DN 0xAB //!< Resume from Deep Power-down (Serial/8-bit Mode). +//! @} + + +/*! \name Bit-Masks and Values for the Status Register + */ +//! @{ +#define AT45DBX_MSK_BUSY 0x80 //!< Busy status bit-mask. +#define AT45DBX_BUSY 0x00 //!< Busy status value (0x00 when busy, 0x80 when ready). +#define AT45DBX_MSK_DENSITY 0x3C //!< Device density bit-mask. +//! @} +#if AT45DBX_MEM_SIZE == AT45DBX_1MB + +/*! \name AT45DB081 Memories + */ +//! @{ +#define AT45DB021D_DENSITY 0x14 //!< Device density value. +#define AT45DBX_DENSITY 0x24 //!< Device density value. +#define AT45DBX_BYTE_ADDR_BITS 9 //!< Address bits for byte position within buffer. + +//! @} +#elif AT45DBX_MEM_SIZE == AT45DBX_2MB +/*! \name AT45DB021D Memories + */ +//! @{ +#define AT45DBX_DENSITY 0x21 //!< Device density value. +#define AT45DBX_BYTE_ADDR_BITS 10 //!< Address bits for byte position within buffer. + +//! @} +#if 0 +/*! \name AT45DB161 Memories + */ +//! @{ +#define AT45DBX_DENSITY 0x2C //!< Device density value. +#define AT45DBX_BYTE_ADDR_BITS 10 //!< Address bits for byte position within buffer. + +//! @} +#endif + +#elif AT45DBX_MEM_SIZE == AT45DBX_4MB + +/*! \name AT45DB321 Memories + */ +//! @{ +#define AT45DBX_DENSITY 0x34 //!< Device density value. +#define AT45DBX_BYTE_ADDR_BITS 10 //!< Address bits for byte position within buffer. + +//! @} + +#elif AT45DBX_MEM_SIZE == AT45DBX_8MB + +/*! \name AT45DB642 Memories + */ +//! @{ +#define AT45DBX_DENSITY 0x3C //!< Device density value. +#define AT45DBX_BYTE_ADDR_BITS 11 //!< Address bits for byte position within buffer. + + +//! @} + +#else + #error AT45DBX_MEM_SIZE is not defined to a supported value +#endif + + + +//! Address bits for page selection. +#define AT45DBX_PAGE_ADDR_BITS (AT45DBX_MEM_SIZE - AT45DBX_PAGE_BITS) + +//! Number of bits for addresses within pages. +#define AT45DBX_PAGE_BITS (AT45DBX_BYTE_ADDR_BITS - 1) + +//! Page size in bytes. +#define AT45DBX_PAGE_SIZE (1 << AT45DBX_PAGE_BITS) + +//! Bit-mask for byte position within buffer in \ref gl_ptr_mem. +#define AT45DBX_MSK_PTR_BYTE ((1 << AT45DBX_PAGE_BITS) - 1) + +//! Bit-mask for page selection in \ref gl_ptr_mem. +#define AT45DBX_MSK_PTR_PAGE (((1 << AT45DBX_PAGE_ADDR_BITS) - 1) << AT45DBX_PAGE_BITS) + +//! Bit-mask for byte position within sector in \ref gl_ptr_mem. +#define AT45DBX_MSK_PTR_SECTOR ((1 << AT45DBX_SECTOR_BITS) - 1) + + +/*! \brief Sends a dummy byte through SPI. + */ +#define spi_write_dummy() spi_write(AT45DBX_SPI, 0xFF) + + +//! Boolean indicating whether memory is in busy state. +static Bool at45dbx_busy; + +//! Memory data pointer. +static U32 gl_ptr_mem; + +//! Sector buffer. +static U8 sector_buf[AT45DBX_SECTOR_SIZE]; + + +/*! \name Control Functions + */ +//! @{ + + +Bool at45dbx_init(spi_options_t spiOptions, unsigned int pba_hz) +{ + // Setup SPI registers according to spiOptions. + for (spiOptions.reg = AT45DBX_SPI_FIRST_NPCS; + spiOptions.reg < AT45DBX_SPI_FIRST_NPCS + AT45DBX_MEM_CNT; + spiOptions.reg++) + { + if (spi_setupChipReg(AT45DBX_SPI, &spiOptions, pba_hz) != SPI_OK) return KO; + } + + // Memory ready. + at45dbx_busy = FALSE; + + return OK; +} + + +/*! \brief Selects or unselects a DF memory. + * + * \param memidx Memory ID of DF to select or unselect. + * \param bSelect Boolean indicating whether the DF memory has to be selected. + */ +static void at45dbx_chipselect_df(U8 memidx, Bool bSelect) +{ + if (bSelect) + { + // Select SPI chip. + spi_selectChip(AT45DBX_SPI, AT45DBX_SPI_FIRST_NPCS + memidx); + } + else + { + // Unselect SPI chip. + spi_unselectChip(AT45DBX_SPI, AT45DBX_SPI_FIRST_NPCS + memidx); + } +} + + +Bool at45dbx_mem_check(void) +{ + U8 df; + U16 status = 0; + + // DF memory check. + for (df = 0; df < AT45DBX_MEM_CNT; df++) + { + // Select the DF memory to check. + at45dbx_chipselect_df(df, TRUE); + + // Send the Status Register Read command. + spi_write(AT45DBX_SPI, AT45DBX_CMDC_RD_STATUS_REG); + + // Send a dummy byte to read the status register. + spi_write_dummy(); + spi_read(AT45DBX_SPI, &status); + + // Unselect the checked DF memory. + at45dbx_chipselect_df(df, FALSE); + + // Unexpected device density value. + if ((status & AT45DBX_MSK_DENSITY) < AT45DB021D_DENSITY) + { + printk("Unexpected device density value: %d (0x%x)\n", (status & AT45DBX_MSK_DENSITY), status); + return KO; + } + } + + return OK; +} + + +/*! \brief Waits until the DF is ready. + */ +static void at45dbx_wait_ready(void) +{ + U16 status; + + // Select the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, TRUE); + + // Send the Status Register Read command. + spi_write(AT45DBX_SPI, AT45DBX_CMDC_RD_STATUS_REG); + + // Read the status register until the DF is ready. + do + { + // Send a dummy byte to read the status register. + spi_write_dummy(); + spi_read(AT45DBX_SPI, &status); + } while ((status & AT45DBX_MSK_BUSY) == AT45DBX_BUSY); + + // Unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); +} + + +Bool at45dbx_read_open(U32 sector) +{ + U32 addr; + + // Set the global memory pointer to a byte address. + gl_ptr_mem = sector << AT45DBX_SECTOR_BITS; // gl_ptr_mem = sector * AT45DBX_SECTOR_SIZE. + + // If the DF memory is busy, wait until it's ready. + if (at45dbx_busy) at45dbx_wait_ready(); + at45dbx_busy = FALSE; + + // Select the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, TRUE); + + // Initiate a page read at a given sector. + + // Send the Main Memory Page Read command. + spi_write(AT45DBX_SPI, AT45DBX_CMDA_RD_PAGE); + + // Send the three address bytes, which comprise: + // - (24 - (AT45DBX_PAGE_ADDR_BITS + AT45DBX_BYTE_ADDR_BITS)) reserved bits; + // - then AT45DBX_PAGE_ADDR_BITS bits specifying the page in main memory to be read; + // - then AT45DBX_BYTE_ADDR_BITS bits specifying the starting byte address within that page. + // NOTE: The bits of gl_ptr_mem above the AT45DBX_MEM_SIZE bits are useless for the local + // DF addressing. They are used for DF discrimination when there are several DFs. + addr = (Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_PAGE) << AT45DBX_BYTE_ADDR_BITS) | + Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE); + spi_write(AT45DBX_SPI, LSB2W(addr)); + spi_write(AT45DBX_SPI, LSB1W(addr)); + spi_write(AT45DBX_SPI, LSB0W(addr)); + + // Send 32 don't care clock cycles to initialize the read operation. + spi_write_dummy(); + spi_write_dummy(); + spi_write_dummy(); + spi_write_dummy(); + + return OK; +} + + +void at45dbx_read_close(void) +{ + // Unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory ready. + at45dbx_busy = FALSE; +} + + +Bool at45dbx_write_open(U32 sector) +{ + U32 addr; + + // Set the global memory pointer to a byte address. + gl_ptr_mem = sector << AT45DBX_SECTOR_BITS; // gl_ptr_mem = sector * AT45DBX_SECTOR_SIZE. + + // If the DF memory is busy, wait until it's ready. + if (at45dbx_busy) at45dbx_wait_ready(); + at45dbx_busy = FALSE; + +#if AT45DBX_PAGE_SIZE > AT45DBX_SECTOR_SIZE + // Select the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, TRUE); + + // Transfer the content of the current page to buffer 1. + + // Send the Main Memory Page to Buffer 1 Transfer command. + spi_write(AT45DBX_SPI, AT45DBX_CMDB_XFR_PAGE_TO_BUF1); + + // Send the three address bytes, which comprise: + // - (24 - (AT45DBX_PAGE_ADDR_BITS + AT45DBX_BYTE_ADDR_BITS)) reserved bits; + // - then AT45DBX_PAGE_ADDR_BITS bits specifying the page in main memory to be read; + // - then AT45DBX_BYTE_ADDR_BITS don't care bits. + // NOTE: The bits of gl_ptr_mem above the AT45DBX_MEM_SIZE bits are useless for the local + // DF addressing. They are used for DF discrimination when there are several DFs. + addr = Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_PAGE) << AT45DBX_BYTE_ADDR_BITS; + spi_write(AT45DBX_SPI, LSB2W(addr)); + spi_write(AT45DBX_SPI, LSB1W(addr)); + spi_write(AT45DBX_SPI, LSB0W(addr)); + + // Unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Wait for end of page transfer. + at45dbx_wait_ready(); +#endif + + // Select the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, TRUE); + + // Initiate a page write at a given sector. + + // Send the Main Memory Page Program through Buffer 1 command. + spi_write(AT45DBX_SPI, AT45DBX_CMDB_PR_PAGE_TH_BUF1); + + // Send the three address bytes, which comprise: + // - (24 - (AT45DBX_PAGE_ADDR_BITS + AT45DBX_BYTE_ADDR_BITS)) reserved bits; + // - then AT45DBX_PAGE_ADDR_BITS bits specifying the page in main memory to be written; + // - then AT45DBX_BYTE_ADDR_BITS bits specifying the starting byte address within that page. + // NOTE: The bits of gl_ptr_mem above the AT45DBX_MEM_SIZE bits are useless for the local + // DF addressing. They are used for DF discrimination when there are several DFs. + addr = (Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_PAGE) << AT45DBX_BYTE_ADDR_BITS) | + Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE); + spi_write(AT45DBX_SPI, LSB2W(addr)); + spi_write(AT45DBX_SPI, LSB1W(addr)); + spi_write(AT45DBX_SPI, LSB0W(addr)); + + return OK; +} + + +void at45dbx_write_close(void) +{ + // While end of logical sector not reached, zero-fill remaining memory bytes. + while (Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_SECTOR)) + { + spi_write(AT45DBX_SPI, 0x00); + gl_ptr_mem++; + } + + // Unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; +} + + +//! @} + + +/*! \name Single-Byte Access Functions + */ +//! @{ + + +U8 at45dbx_read_byte(void) +{ + U16 data; + + // Memory busy. + if (at45dbx_busy) + { + // Being here, we know that we previously finished a page read. + // => We have to access the next page. + + // Memory ready. + at45dbx_busy = FALSE; + + // Eventually select the next DF and open the next page. + // NOTE: at45dbx_read_open input parameter is a sector. + at45dbx_read_open(gl_ptr_mem >> AT45DBX_SECTOR_BITS); // gl_ptr_mem / AT45DBX_SECTOR_SIZE. + } + + // Send a dummy byte to read the next data byte. + spi_write_dummy(); + spi_read(AT45DBX_SPI, &data); + gl_ptr_mem++; + + // If end of page reached, + if (!Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE)) + { + // unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; + } + + return data; +} + + +Bool at45dbx_write_byte(U8 b) +{ + // Memory busy. + if (at45dbx_busy) + { + // Being here, we know that we previously launched a page programming. + // => We have to access the next page. + + // Eventually select the next DF and open the next page. + // NOTE: at45dbx_write_open input parameter is a sector. + at45dbx_write_open(gl_ptr_mem >> AT45DBX_SECTOR_BITS); // gl_ptr_mem / AT45DBX_SECTOR_SIZE. + } + + // Write the next data byte. + spi_write(AT45DBX_SPI, b); + gl_ptr_mem++; + + // If end of page reached, + if (!Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE)) + { + // unselect the DF memory gl_ptr_mem points to in order to program the page. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; + } + + return OK; +} + + +//! @} + + +/*! \name Multiple-Sector Access Functions + */ +//! @{ + + +Bool at45dbx_read_multiple_sector(U16 nb_sector) +{ + while (nb_sector--) + { + // Read the next sector. + at45dbx_read_sector_2_ram(sector_buf); + at45dbx_read_multiple_sector_callback(sector_buf); + } + + return OK; +} + + +Bool at45dbx_write_multiple_sector(U16 nb_sector) +{ + while (nb_sector--) + { + // Write the next sector. + at45dbx_write_multiple_sector_callback(sector_buf); + at45dbx_write_sector_from_ram(sector_buf); + } + + return OK; +} + + +//! @} + + +/*! \name Single-Sector Access Functions + */ +//! @{ + + +Bool at45dbx_read_sector_2_ram(void *ram) +{ + U8 *_ram = ram; + U16 i; + U16 data; + + // Memory busy. + if (at45dbx_busy) + { + // Being here, we know that we previously finished a page read. + // => We have to access the next page. + + // Memory ready. + at45dbx_busy = FALSE; + + // Eventually select the next DF and open the next page. + // NOTE: at45dbx_read_open input parameter is a sector. + at45dbx_read_open(gl_ptr_mem >> AT45DBX_SECTOR_BITS); // gl_ptr_mem / AT45DBX_SECTOR_SIZE. + } + + // Read the next sector. + for (i = AT45DBX_SECTOR_SIZE; i; i--) + { + // Send a dummy byte to read the next data byte. + spi_write_dummy(); + spi_read(AT45DBX_SPI, &data); + *_ram++ = data; + } + + // Update the memory pointer. + gl_ptr_mem += AT45DBX_SECTOR_SIZE; + +#if AT45DBX_PAGE_SIZE > AT45DBX_SECTOR_SIZE + // If end of page reached, + if (!Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE)) +#endif + { + // unselect the DF memory gl_ptr_mem points to. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; + } + + return OK; +} + + +Bool at45dbx_write_sector_from_ram(const void *ram) +{ + const U8 *_ram = ram; + U16 i; + + // Memory busy. + if (at45dbx_busy) + { + // Being here, we know that we previously launched a page programming. + // => We have to access the next page. + + // Eventually select the next DF and open the next page. + // NOTE: at45dbx_write_open input parameter is a sector. + at45dbx_write_open(gl_ptr_mem >> AT45DBX_SECTOR_BITS); // gl_ptr_mem / AT45DBX_SECTOR_SIZE. + } + + // Write the next sector. + for (i = AT45DBX_SECTOR_SIZE; i; i--) + { + // Write the next data byte. + spi_write(AT45DBX_SPI, *_ram++); + } + + // Update the memory pointer. + gl_ptr_mem += AT45DBX_SECTOR_SIZE; + +#if AT45DBX_PAGE_SIZE > AT45DBX_SECTOR_SIZE + // If end of page reached, + if (!Rd_bitfield(gl_ptr_mem, AT45DBX_MSK_PTR_BYTE)) +#endif + { + // unselect the DF memory gl_ptr_mem points to in order to program the page. + at45dbx_chipselect_df(gl_ptr_mem >> AT45DBX_MEM_SIZE, FALSE); + + // Memory busy. + at45dbx_busy = TRUE; + } + + return OK; +} + + +//! @} + + +#endif // AT45DBX_MEM == ENABLE diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.h new file mode 100644 index 0000000..5816b61 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx.h @@ -0,0 +1,269 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Management of the AT45DBX data flash controller through SPI. + * + * This file manages the accesses to the AT45DBX data flash components. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _AT45DBX_H_ +#define _AT45DBX_H_ + + +#include "conf_access.h" + +#if AT45DBX_MEM == DISABLE + #error at45dbx.h is #included although AT45DBX_MEM is disabled +#endif + + +#include "spi.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +/*! \name Available AT45DBX Sizes + * + * Number of address bits of available AT45DBX data flash memories. + * + * \note Only memories with page sizes of at least 512 bytes (sector size) are + * supported. + */ +//! @{ +#define AT45DBX_1MB 20 +#define AT45DBX_2MB 21 +#define AT45DBX_4MB 22 +#define AT45DBX_8MB 23 +//! @} + +// AT45DBX_1MB +#define AT45DBX_SECTOR_BITS 8 //! Number of bits for addresses within sectors. +// AT45DBX_2MB AT45DBX_4MB AT45DBX_8MB +//#define AT45DBX_SECTOR_BITS 9 //! Number of bits for addresses within sectors. + +//! Sector size in bytes. +#define AT45DBX_SECTOR_SIZE (1 << AT45DBX_SECTOR_BITS) + +//_____ D E C L A R A T I O N S ____________________________________________ + +/*! \name Control Functions + */ +//! @{ + +/*! \brief Initializes the data flash controller and the SPI channel by which + * the DF is controlled. + * + * \param spiOptions Initialization options of the DF SPI channel. + * \param pba_hz SPI module input clock frequency (PBA clock, Hz). + * + * \retval OK Success. + * \retval KO Failure. + */ +extern Bool at45dbx_init(spi_options_t spiOptions, unsigned int pba_hz); + +/*! \brief Performs a memory check on all DFs. + * + * \retval OK Success. + * \retval KO Failure. + */ +extern Bool at45dbx_mem_check(void); + +/*! \brief Opens a DF memory in read mode at a given sector. + * + * \param sector Start sector. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note Sector may be page-unaligned (depending on the DF page size). + */ +extern Bool at45dbx_read_open(U32 sector); + +/*! \brief Unselects the current DF memory. + */ +extern void at45dbx_read_close(void); + +/*! \brief This function opens a DF memory in write mode at a given sector. + * + * \param sector Start sector. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note Sector may be page-unaligned (depending on the DF page size). + * + * \note If \ref AT45DBX_PAGE_SIZE > \ref AT45DBX_SECTOR_SIZE, page content is + * first loaded in buffer to then be partially updated by write byte or + * write sector functions. + */ +extern Bool at45dbx_write_open(U32 sector); + +/*! \brief Fills the end of the current logical sector and launches page programming. + */ +extern void at45dbx_write_close(void); + +//! @} + + +/*! \name Single-Byte Access Functions + */ +//! @{ + +/*! \brief Performs a single byte read from DF memory. + * + * \return The read byte. + * + * \note First call must be preceded by a call to the \ref at45dbx_read_open + * function. + */ +extern U8 at45dbx_read_byte(void); + +/*! \brief Performs a single byte write to DF memory. + * + * \param b The byte to write. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_write_open + * function. + */ +extern Bool at45dbx_write_byte(U8 b); + +//! @} + + +/*! \name Multiple-Sector Access Functions + */ +//! @{ + +/*! \brief Reads \a nb_sector sectors from DF memory. + * + * Data flow is: DF -> callback. + * + * \param nb_sector Number of contiguous sectors to read. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_read_open + * function. + * + * \note As \ref AT45DBX_PAGE_SIZE is always a multiple of + * \ref AT45DBX_SECTOR_SIZE, there is no need to check page end for each + * byte. + */ +extern Bool at45dbx_read_multiple_sector(U16 nb_sector); + +/*! \brief Callback function invoked after each sector read during + * \ref at45dbx_read_multiple_sector. + * + * \param psector Pointer to read sector. + */ +extern void at45dbx_read_multiple_sector_callback(const void *psector); + +/*! \brief Writes \a nb_sector sectors to DF memory. + * + * Data flow is: callback -> DF. + * + * \param nb_sector Number of contiguous sectors to write. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_write_open + * function. + * + * \note As \ref AT45DBX_PAGE_SIZE is always a multiple of + * \ref AT45DBX_SECTOR_SIZE, there is no need to check page end for each + * byte. + */ +extern Bool at45dbx_write_multiple_sector(U16 nb_sector); + +/*! \brief Callback function invoked before each sector write during + * \ref at45dbx_write_multiple_sector. + * + * \param psector Pointer to sector to write. + */ +extern void at45dbx_write_multiple_sector_callback(void *psector); + +//! @} + + +/*! \name Single-Sector Access Functions + */ +//! @{ + +/*! \brief Reads 1 DF sector to a RAM buffer. + * + * Data flow is: DF -> RAM. + * + * \param ram Pointer to RAM buffer. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_read_open + * function. + */ +extern Bool at45dbx_read_sector_2_ram(void *ram); + +/*! \brief Writes 1 DF sector from a RAM buffer. + * + * Data flow is: RAM -> DF. + * + * \param ram Pointer to RAM buffer. + * + * \retval OK Success. + * \retval KO Failure. + * + * \note First call must be preceded by a call to the \ref at45dbx_write_open + * function. + */ +extern Bool at45dbx_write_sector_from_ram(const void *ram); + +//! @} + + +#endif // _AT45DBX_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c new file mode 100644 index 0000000..4c0ace2 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.c @@ -0,0 +1,234 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief CTRL_ACCESS interface for the AT45DBX data flash controller. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +//_____ I N C L U D E S ___________________________________________________ + +#include "conf_access.h" + + +#if AT45DBX_MEM == ENABLE + +#include "conf_at45dbx.h" +#include "at45dbx.h" +#include "at45dbx_mem.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +//! Whether to detect write accesses to the memory. +#define AT45DBX_MEM_TEST_CHANGE_STATE ENABLED + + +#if (ACCESS_USB == ENABLED || ACCESS_MEM_TO_RAM == ENABLED) && AT45DBX_MEM_TEST_CHANGE_STATE == ENABLED + +//! Memory data modified flag. +static volatile Bool s_b_data_modify = FALSE; + +#endif + + +/*! \name Control Interface + */ +//! @{ + + +Ctrl_status at45dbx_test_unit_ready(void) +{ + return (at45dbx_mem_check() == OK) ? CTRL_GOOD : CTRL_NO_PRESENT; +} + + +Ctrl_status at45dbx_read_capacity(U32 *u32_nb_sector) +{ + *u32_nb_sector = (AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) - 1; + + return CTRL_GOOD; +} + + +Bool at45dbx_wr_protect(void) +{ + return FALSE; +} + + +Bool at45dbx_removal(void) +{ + return FALSE; +} + + +//! @} + + +#if ACCESS_USB == ENABLED + +#include "usb_drv.h" +#include "scsi_decoder.h" + + +/*! \name MEM <-> USB Interface + */ +//! @{ + + +Ctrl_status at45dbx_usb_read_10(U32 addr, U16 nb_sector) +{ + if (addr + nb_sector > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; + + at45dbx_read_open(addr); + at45dbx_read_multiple_sector(nb_sector); + at45dbx_read_close(); + + return CTRL_GOOD; +} + + +void at45dbx_read_multiple_sector_callback(const void *psector) +{ + U16 data_to_transfer = AT45DBX_SECTOR_SIZE; + + // Transfer read sector to the USB interface. + while (data_to_transfer) + { + while (!Is_usb_in_ready(g_scsi_ep_ms_in)) + { + if(!Is_usb_endpoint_enabled(g_scsi_ep_ms_in)) + return; // USB Reset + } + + Usb_reset_endpoint_fifo_access(g_scsi_ep_ms_in); + data_to_transfer = usb_write_ep_txpacket(g_scsi_ep_ms_in, psector, + data_to_transfer, &psector); + Usb_ack_in_ready_send(g_scsi_ep_ms_in); + } +} + + +Ctrl_status at45dbx_usb_write_10(U32 addr, U16 nb_sector) +{ + if (addr + nb_sector > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; + +#if AT45DBX_MEM_TEST_CHANGE_STATE == ENABLED + if (nb_sector) s_b_data_modify = TRUE; +#endif + + at45dbx_write_open(addr); + at45dbx_write_multiple_sector(nb_sector); + at45dbx_write_close(); + + return CTRL_GOOD; +} + + +void at45dbx_write_multiple_sector_callback(void *psector) +{ + U16 data_to_transfer = AT45DBX_SECTOR_SIZE; + + // Transfer sector to write from the USB interface. + while (data_to_transfer) + { + while (!Is_usb_out_received(g_scsi_ep_ms_out)) + { + if(!Is_usb_endpoint_enabled(g_scsi_ep_ms_out)) + return; // USB Reset + } + + Usb_reset_endpoint_fifo_access(g_scsi_ep_ms_out); + data_to_transfer = usb_read_ep_rxpacket(g_scsi_ep_ms_out, psector, + data_to_transfer, &psector); + Usb_ack_out_received_free(g_scsi_ep_ms_out); + } +} + + +//! @} + +#endif // ACCESS_USB == ENABLED + + +#if ACCESS_MEM_TO_RAM == ENABLED + +/*! \name MEM <-> RAM Interface + */ +//! @{ + + +Ctrl_status at45dbx_df_2_ram(U32 addr, void *ram) +{ + if (addr + 1 > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; + + at45dbx_read_open(addr); + at45dbx_read_sector_2_ram(ram); + at45dbx_read_close(); + + return CTRL_GOOD; +} + + +Ctrl_status at45dbx_ram_2_df(U32 addr, const void *ram) +{ + if (addr + 1 > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; + +#if AT45DBX_MEM_TEST_CHANGE_STATE == ENABLED + s_b_data_modify = TRUE; +#endif + + at45dbx_write_open(addr); + at45dbx_write_sector_from_ram(ram); + at45dbx_write_close(); + + return CTRL_GOOD; +} + + +//! @} + +#endif // ACCESS_MEM_TO_RAM == ENABLED + + +#endif // AT45DBX_MEM == ENABLE diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h new file mode 100644 index 0000000..de24fa3 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX/at45dbx_mem.h @@ -0,0 +1,164 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief CTRL_ACCESS interface for the AT45DBX data flash controller. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _AT45DBX_MEM_H_ +#define _AT45DBX_MEM_H_ + + +#include "conf_access.h" + +#if AT45DBX_MEM == DISABLE + #error at45dbx_mem.h is #included although AT45DBX_MEM is disabled +#endif + + +#include "ctrl_access.h" + + +//_____ D E C L A R A T I O N S ____________________________________________ + +/*! \name Control Interface + */ +//! @{ + +/*! \brief Tests the memory state and initializes the memory if required. + * + * The TEST UNIT READY SCSI primary command allows an application client to poll + * a LUN until it is ready without having to allocate memory for returned data. + * + * This command may be used to check the media status of LUNs with removable + * media. + * + * \return Status. + */ +extern Ctrl_status at45dbx_test_unit_ready(void); + +/*! \brief Returns the address of the last valid sector in the memory. + * + * \param u32_nb_sector Pointer to the address of the last valid sector. + * + * \return Status. + */ +extern Ctrl_status at45dbx_read_capacity(U32 *u32_nb_sector); + +/*! \brief Returns the write-protection state of the memory. + * + * \return \c TRUE if the memory is write-protected, else \c FALSE. + * + * \note Only used by removable memories with hardware-specific write + * protection. + */ +extern Bool at45dbx_wr_protect(void); + +/*! \brief Tells whether the memory is removable. + * + * \return \c TRUE if the memory is removable, else \c FALSE. + */ +extern Bool at45dbx_removal(void); + +//! @} + + +#if ACCESS_USB == ENABLED + +/*! \name MEM <-> USB Interface + */ +//! @{ + +/*! \brief Tranfers data from the memory to USB. + * + * \param addr Address of first memory sector to read. + * \param nb_sector Number of sectors to transfer. + * + * \return Status. + */ +extern Ctrl_status at45dbx_usb_read_10(U32 addr, U16 nb_sector); + +/*! \brief Tranfers data from USB to the memory. + * + * \param addr Address of first memory sector to write. + * \param nb_sector Number of sectors to transfer. + * + * \return Status. + */ +extern Ctrl_status at45dbx_usb_write_10(U32 addr, U16 nb_sector); + +//! @} + +#endif + + +#if ACCESS_MEM_TO_RAM == ENABLED + +/*! \name MEM <-> RAM Interface + */ +//! @{ + +/*! \brief Copies 1 data sector from the memory to RAM. + * + * \param addr Address of first memory sector to read. + * \param ram Pointer to RAM buffer to write. + * + * \return Status. + */ +extern Ctrl_status at45dbx_df_2_ram(U32 addr, void *ram); + +/*! \brief Copies 1 data sector from RAM to the memory. + * + * \param addr Address of first memory sector to write. + * \param ram Pointer to RAM buffer to read. + * + * \return Status. + */ +extern Ctrl_status at45dbx_ram_2_df(U32 addr, const void *ram); + +//! @} + +#endif + + +#endif // _AT45DBX_MEM_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.c new file mode 100644 index 0000000..2eee15c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.c @@ -0,0 +1,1117 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief FLASHC driver for AVR32 UC3. + * + * AVR32 Flash Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a FLASHC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include <stddef.h> +#include "compiler.h" +#include "flashc.h" + + +/*! \name FLASHC Writable Bit-Field Registers + */ +//! @{ + +typedef union +{ + unsigned long fcr; + avr32_flashc_fcr_t FCR; +} u_avr32_flashc_fcr_t; + +typedef union +{ + unsigned long fcmd; + avr32_flashc_fcmd_t FCMD; +} u_avr32_flashc_fcmd_t; + +//! @} + + +/*! \name Flash Properties + */ +//! @{ + + +unsigned int flashc_get_flash_size(void) +{ +#if (defined AVR32_FLASHC_300_H_INCLUDED) + static const unsigned int FLASH_SIZE[1 << AVR32_FLASHC_PR_FSZ_SIZE] = + { + 32 << 10, + 64 << 10, + 128 << 10, + 256 << 10, + 384 << 10, + 512 << 10, + 768 << 10, + 1024 << 10 + }; + return FLASH_SIZE[(AVR32_FLASHC.pr & AVR32_FLASHC_PR_FSZ_MASK) >> AVR32_FLASHC_PR_FSZ_OFFSET]; +#else + static const unsigned int FLASH_SIZE[1 << AVR32_FLASHC_FSR_FSZ_SIZE] = + { + 32 << 10, + 64 << 10, + 128 << 10, + 256 << 10, + 384 << 10, + 512 << 10, + 768 << 10, + 1024 << 10 + }; + return FLASH_SIZE[(AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_FSZ_MASK) >> AVR32_FLASHC_FSR_FSZ_OFFSET]; +#endif +} + + +unsigned int flashc_get_page_count(void) +{ + return flashc_get_flash_size() / AVR32_FLASHC_PAGE_SIZE; +} + + +unsigned int flashc_get_page_count_per_region(void) +{ + return flashc_get_page_count() / AVR32_FLASHC_REGIONS; +} + + +unsigned int flashc_get_page_region(int page_number) +{ + return ((page_number >= 0) ? page_number : flashc_get_page_number()) / flashc_get_page_count_per_region(); +} + + +unsigned int flashc_get_region_first_page_number(unsigned int region) +{ + return region * flashc_get_page_count_per_region(); +} + + +//! @} + + +/*! \name FLASHC Control + */ +//! @{ + + +unsigned int flashc_get_wait_state(void) +{ + return (AVR32_FLASHC.fcr & AVR32_FLASHC_FCR_FWS_MASK) >> AVR32_FLASHC_FCR_FWS_OFFSET; +} + + +void flashc_set_wait_state(unsigned int wait_state) +{ + u_avr32_flashc_fcr_t u_avr32_flashc_fcr = {AVR32_FLASHC.fcr}; + u_avr32_flashc_fcr.FCR.fws = wait_state; + AVR32_FLASHC.fcr = u_avr32_flashc_fcr.fcr; +} + + +Bool flashc_is_ready_int_enabled(void) +{ + return ((AVR32_FLASHC.fcr & AVR32_FLASHC_FCR_FRDY_MASK) != 0); +} + + +void flashc_enable_ready_int(Bool enable) +{ + u_avr32_flashc_fcr_t u_avr32_flashc_fcr = {AVR32_FLASHC.fcr}; + u_avr32_flashc_fcr.FCR.frdy = (enable != FALSE); + AVR32_FLASHC.fcr = u_avr32_flashc_fcr.fcr; +} + + +Bool flashc_is_lock_error_int_enabled(void) +{ + return ((AVR32_FLASHC.fcr & AVR32_FLASHC_FCR_LOCKE_MASK) != 0); +} + + +void flashc_enable_lock_error_int(Bool enable) +{ + u_avr32_flashc_fcr_t u_avr32_flashc_fcr = {AVR32_FLASHC.fcr}; + u_avr32_flashc_fcr.FCR.locke = (enable != FALSE); + AVR32_FLASHC.fcr = u_avr32_flashc_fcr.fcr; +} + + +Bool flashc_is_prog_error_int_enabled(void) +{ + return ((AVR32_FLASHC.fcr & AVR32_FLASHC_FCR_PROGE_MASK) != 0); +} + + +void flashc_enable_prog_error_int(Bool enable) +{ + u_avr32_flashc_fcr_t u_avr32_flashc_fcr = {AVR32_FLASHC.fcr}; + u_avr32_flashc_fcr.FCR.proge = (enable != FALSE); + AVR32_FLASHC.fcr = u_avr32_flashc_fcr.fcr; +} + + +//! @} + + +/*! \name FLASHC Status + */ +//! @{ + + +Bool flashc_is_ready(void) +{ + return ((AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_FRDY_MASK) != 0); +} + + +void flashc_default_wait_until_ready(void) +{ + while (!flashc_is_ready()); +} + + +void (*volatile flashc_wait_until_ready)(void) = flashc_default_wait_until_ready; + + +/*! \brief Gets the error status of the FLASHC. + * + * \return The error status of the FLASHC built up from + * \c AVR32_FLASHC_FSR_LOCKE_MASK and \c AVR32_FLASHC_FSR_PROGE_MASK. + * + * \warning This hardware error status is cleared by all functions reading the + * Flash Status Register (FSR). This function is therefore not part of + * the driver's API which instead presents \ref flashc_is_lock_error + * and \ref flashc_is_programming_error. + */ +static unsigned int flashc_get_error_status(void) +{ + return AVR32_FLASHC.fsr & (AVR32_FLASHC_FSR_LOCKE_MASK | + AVR32_FLASHC_FSR_PROGE_MASK); +} + + +//! Sticky error status of the FLASHC. +//! This variable is updated by functions that issue FLASHC commands. It +//! contains the cumulated FLASHC error status of all the FLASHC commands issued +//! by a function. +static unsigned int flashc_error_status = 0; + + +Bool flashc_is_lock_error(void) +{ + return ((flashc_error_status & AVR32_FLASHC_FSR_LOCKE_MASK) != 0); +} + + +Bool flashc_is_programming_error(void) +{ + return ((flashc_error_status & AVR32_FLASHC_FSR_PROGE_MASK) != 0); +} + + +//! @} + + +/*! \name FLASHC Command Control + */ +//! @{ + + +unsigned int flashc_get_command(void) +{ + return (AVR32_FLASHC.fcmd & AVR32_FLASHC_FCMD_CMD_MASK) >> AVR32_FLASHC_FCMD_CMD_OFFSET; +} + + +unsigned int flashc_get_page_number(void) +{ + return (AVR32_FLASHC.fcmd & AVR32_FLASHC_FCMD_PAGEN_MASK) >> AVR32_FLASHC_FCMD_PAGEN_OFFSET; +} + + +void flashc_issue_command(unsigned int command, int page_number) +{ + u_avr32_flashc_fcmd_t u_avr32_flashc_fcmd; + flashc_wait_until_ready(); + u_avr32_flashc_fcmd.fcmd = AVR32_FLASHC.fcmd; + u_avr32_flashc_fcmd.FCMD.cmd = command; + if (page_number >= 0) u_avr32_flashc_fcmd.FCMD.pagen = page_number; + u_avr32_flashc_fcmd.FCMD.key = AVR32_FLASHC_FCMD_KEY_KEY; + AVR32_FLASHC.fcmd = u_avr32_flashc_fcmd.fcmd; + flashc_error_status = flashc_get_error_status(); + flashc_wait_until_ready(); +} + + +//! @} + + +/*! \name FLASHC Global Commands + */ +//! @{ + + +void flashc_no_operation(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_NOP, -1); +} + + +void flashc_erase_all(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EA, -1); +} + + +//! @} + + +/*! \name FLASHC Protection Mechanisms + */ +//! @{ + + +Bool flashc_is_security_bit_active(void) +{ + return ((AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_SECURITY_MASK) != 0); +} + + +void flashc_activate_security_bit(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_SSB, -1); +} + + +unsigned int flashc_get_bootloader_protected_size(void) +{ + unsigned int bootprot = (1 << AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE) - 1 - + flashc_read_gp_fuse_bitfield(AVR32_FLASHC_FGPFRLO_BOOTPROT_OFFSET, + AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE); + return (bootprot) ? AVR32_FLASHC_PAGE_SIZE << bootprot : 0; +} + + +unsigned int flashc_set_bootloader_protected_size(unsigned int bootprot_size) +{ + flashc_set_gp_fuse_bitfield(AVR32_FLASHC_FGPFRLO_BOOTPROT_OFFSET, + AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE, + (1 << AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE) - 1 - + ((bootprot_size) ? + 32 - clz((((min(max(bootprot_size, AVR32_FLASHC_PAGE_SIZE << 1), + AVR32_FLASHC_PAGE_SIZE << + ((1 << AVR32_FLASHC_FGPFRLO_BOOTPROT_SIZE) - 1)) + + AVR32_FLASHC_PAGE_SIZE - 1) / + AVR32_FLASHC_PAGE_SIZE) << 1) - 1) - 1 : + 0)); + return flashc_get_bootloader_protected_size(); +} + + +Bool flashc_is_external_privileged_fetch_locked(void) +{ + return (!flashc_read_gp_fuse_bit(AVR32_FLASHC_FGPFRLO_EPFL_OFFSET)); +} + + +void flashc_lock_external_privileged_fetch(Bool lock) +{ + flashc_set_gp_fuse_bit(AVR32_FLASHC_FGPFRLO_EPFL_OFFSET, !lock); +} + + +Bool flashc_is_page_region_locked(int page_number) +{ + return flashc_is_region_locked(flashc_get_page_region(page_number)); +} + + +Bool flashc_is_region_locked(unsigned int region) +{ + return ((AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_LOCK0_MASK << (region & (AVR32_FLASHC_REGIONS - 1))) != 0); +} + + +void flashc_lock_page_region(int page_number, Bool lock) +{ + flashc_issue_command((lock) ? AVR32_FLASHC_FCMD_CMD_LP : AVR32_FLASHC_FCMD_CMD_UP, page_number); +} + + +void flashc_lock_region(unsigned int region, Bool lock) +{ + flashc_lock_page_region(flashc_get_region_first_page_number(region), lock); +} + + +void flashc_lock_all_regions(Bool lock) +{ + unsigned int error_status = 0; + unsigned int region = AVR32_FLASHC_REGIONS; + while (region) + { + flashc_lock_region(--region, lock); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; +} + + +//! @} + + +/*! \name Access to General-Purpose Fuses + */ +//! @{ + + +Bool flashc_read_gp_fuse_bit(unsigned int gp_fuse_bit) +{ + return ((flashc_read_all_gp_fuses() & 1ULL << (gp_fuse_bit & 0x3F)) != 0); +} + + +U64 flashc_read_gp_fuse_bitfield(unsigned int pos, unsigned int width) +{ + return flashc_read_all_gp_fuses() >> (pos & 0x3F) & ((1ULL << min(width, 64)) - 1); +} + + +U8 flashc_read_gp_fuse_byte(unsigned int gp_fuse_byte) +{ + return flashc_read_all_gp_fuses() >> ((gp_fuse_byte & 0x07) << 3); +} + + +U64 flashc_read_all_gp_fuses(void) +{ + return AVR32_FLASHC.fgpfrlo | (U64)AVR32_FLASHC.fgpfrhi << 32; +} + + +Bool flashc_erase_gp_fuse_bit(unsigned int gp_fuse_bit, Bool check) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EGPB, gp_fuse_bit & 0x3F); + return (check) ? flashc_read_gp_fuse_bit(gp_fuse_bit) : TRUE; +} + + +Bool flashc_erase_gp_fuse_bitfield(unsigned int pos, unsigned int width, Bool check) +{ + unsigned int error_status = 0; + unsigned int gp_fuse_bit; + pos &= 0x3F; + width = min(width, 64); + for (gp_fuse_bit = pos; gp_fuse_bit < pos + width; gp_fuse_bit++) + { + flashc_erase_gp_fuse_bit(gp_fuse_bit, FALSE); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; + return (check) ? (flashc_read_gp_fuse_bitfield(pos, width) == (1ULL << width) - 1) : TRUE; +} + + +Bool flashc_erase_gp_fuse_byte(unsigned int gp_fuse_byte, Bool check) +{ + unsigned int error_status; + unsigned int current_gp_fuse_byte; + U64 value = flashc_read_all_gp_fuses(); + flashc_erase_all_gp_fuses(FALSE); + error_status = flashc_error_status; + for (current_gp_fuse_byte = 0; current_gp_fuse_byte < 8; current_gp_fuse_byte++, value >>= 8) + { + if (current_gp_fuse_byte != gp_fuse_byte) + { + flashc_write_gp_fuse_byte(current_gp_fuse_byte, value); + error_status |= flashc_error_status; + } + } + flashc_error_status = error_status; + return (check) ? (flashc_read_gp_fuse_byte(gp_fuse_byte) == 0xFF) : TRUE; +} + + +Bool flashc_erase_all_gp_fuses(Bool check) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EAGPF, -1); + return (check) ? (flashc_read_all_gp_fuses() == 0xFFFFFFFFFFFFFFFFULL) : TRUE; +} + + +void flashc_write_gp_fuse_bit(unsigned int gp_fuse_bit, Bool value) +{ + if (!value) + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_WGPB, gp_fuse_bit & 0x3F); +} + + +void flashc_write_gp_fuse_bitfield(unsigned int pos, unsigned int width, U64 value) +{ + unsigned int error_status = 0; + unsigned int gp_fuse_bit; + pos &= 0x3F; + width = min(width, 64); + for (gp_fuse_bit = pos; gp_fuse_bit < pos + width; gp_fuse_bit++, value >>= 1) + { + flashc_write_gp_fuse_bit(gp_fuse_bit, value & 0x01); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; +} + + +void flashc_write_gp_fuse_byte(unsigned int gp_fuse_byte, U8 value) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_PGPFB, (gp_fuse_byte & 0x07) | value << 3); +} + + +void flashc_write_all_gp_fuses(U64 value) +{ + unsigned int error_status = 0; + unsigned int gp_fuse_byte; + for (gp_fuse_byte = 0; gp_fuse_byte < 8; gp_fuse_byte++, value >>= 8) + { + flashc_write_gp_fuse_byte(gp_fuse_byte, value); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; +} + + +void flashc_set_gp_fuse_bit(unsigned int gp_fuse_bit, Bool value) +{ + if (value) + flashc_erase_gp_fuse_bit(gp_fuse_bit, FALSE); + else + flashc_write_gp_fuse_bit(gp_fuse_bit, FALSE); +} + + +void flashc_set_gp_fuse_bitfield(unsigned int pos, unsigned int width, U64 value) +{ + unsigned int error_status = 0; + unsigned int gp_fuse_bit; + pos &= 0x3F; + width = min(width, 64); + for (gp_fuse_bit = pos; gp_fuse_bit < pos + width; gp_fuse_bit++, value >>= 1) + { + flashc_set_gp_fuse_bit(gp_fuse_bit, value & 0x01); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; +} + + +void flashc_set_gp_fuse_byte(unsigned int gp_fuse_byte, U8 value) +{ + unsigned int error_status; + switch (value) + { + case 0xFF: + flashc_erase_gp_fuse_byte(gp_fuse_byte, FALSE); + break; + case 0x00: + flashc_write_gp_fuse_byte(gp_fuse_byte, 0x00); + break; + default: + flashc_erase_gp_fuse_byte(gp_fuse_byte, FALSE); + error_status = flashc_error_status; + flashc_write_gp_fuse_byte(gp_fuse_byte, value); + flashc_error_status |= error_status; + } +} + + +void flashc_set_all_gp_fuses(U64 value) +{ + unsigned int error_status; + switch (value) + { + case 0xFFFFFFFFFFFFFFFFULL: + flashc_erase_all_gp_fuses(FALSE); + break; + case 0x0000000000000000ULL: + flashc_write_all_gp_fuses(0x0000000000000000ULL); + break; + default: + flashc_erase_all_gp_fuses(FALSE); + error_status = flashc_error_status; + flashc_write_all_gp_fuses(value); + flashc_error_status |= error_status; + } +} + + +//! @} + + +/*! \name Access to Flash Pages + */ +//! @{ + + +void flashc_clear_page_buffer(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_CPB, -1); +} + + +Bool flashc_is_page_erased(void) +{ + return ((AVR32_FLASHC.fsr & AVR32_FLASHC_FSR_QPRR_MASK) != 0); +} + + +Bool flashc_quick_page_read(int page_number) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_QPR, page_number); + return flashc_is_page_erased(); +} + + +Bool flashc_erase_page(int page_number, Bool check) +{ + Bool page_erased = TRUE; + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EP, page_number); + if (check) + { + unsigned int error_status = flashc_error_status; + page_erased = flashc_quick_page_read(-1); + flashc_error_status |= error_status; + } + return page_erased; +} + + +Bool flashc_erase_all_pages(Bool check) +{ + Bool all_pages_erased = TRUE; + unsigned int error_status = 0; + unsigned int page_number = flashc_get_page_count(); + while (page_number) + { + all_pages_erased &= flashc_erase_page(--page_number, check); + error_status |= flashc_error_status; + } + flashc_error_status = error_status; + return all_pages_erased; +} + + +void flashc_write_page(int page_number) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_WP, page_number); +} + + +Bool flashc_quick_user_page_read(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_QPRUP, -1); + return flashc_is_page_erased(); +} + + +Bool flashc_erase_user_page(Bool check) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_EUP, -1); + return (check) ? flashc_quick_user_page_read() : TRUE; +} + + +void flashc_write_user_page(void) +{ + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_WUP, -1); +} + + +volatile void *flashc_memset8(volatile void *dst, U8 src, size_t nbytes, Bool erase) +{ + return flashc_memset16(dst, src | (U16)src << 8, nbytes, erase); +} + + +volatile void *flashc_memset16(volatile void *dst, U16 src, size_t nbytes, Bool erase) +{ + return flashc_memset32(dst, src | (U32)src << 16, nbytes, erase); +} + + +volatile void *flashc_memset32(volatile void *dst, U32 src, size_t nbytes, Bool erase) +{ + return flashc_memset64(dst, src | (U64)src << 32, nbytes, erase); +} + + +volatile void *flashc_memset64(volatile void *dst, U64 src, size_t nbytes, Bool erase) +{ + // Use aggregated pointers to have several alignments available for a same address. + UnionCVPtr flash_array_end; + UnionVPtr dest; + Union64 source = {0}; + StructCVPtr dest_end; + UnionCVPtr flash_page_source_end; + Bool incomplete_flash_page_end; + Union64 flash_dword; + UnionVPtr tmp; + unsigned int error_status = 0; + unsigned int i; + + // Reformat arguments. + flash_array_end.u8ptr = AVR32_FLASH + flashc_get_flash_size(); + dest.u8ptr = dst; + for (i = (Get_align((U32)dest.u8ptr, sizeof(U64)) - 1) & (sizeof(U64) - 1); + src; i = (i - 1) & (sizeof(U64) - 1)) + { + source.u8[i] = src; + src >>= 8; + } + dest_end.u8ptr = dest.u8ptr + nbytes; + + // If destination is outside flash, go to next flash page if any. + if (dest.u8ptr < AVR32_FLASH) + { + dest.u8ptr = AVR32_FLASH; + } + else if (flash_array_end.u8ptr <= dest.u8ptr && dest.u8ptr < AVR32_FLASHC_USER_PAGE) + { + dest.u8ptr = AVR32_FLASHC_USER_PAGE; + } + + // If end of destination is outside flash, move it to the end of the previous flash page if any. + if (dest_end.u8ptr > AVR32_FLASHC_USER_PAGE + AVR32_FLASHC_USER_PAGE_SIZE) + { + dest_end.u8ptr = AVR32_FLASHC_USER_PAGE + AVR32_FLASHC_USER_PAGE_SIZE; + } + else if (AVR32_FLASHC_USER_PAGE >= dest_end.u8ptr && dest_end.u8ptr > flash_array_end.u8ptr) + { + dest_end.u8ptr = flash_array_end.u8ptr; + } + + // Align each end of destination pointer with its natural boundary. + dest_end.u16ptr = (U16 *)Align_down((U32)dest_end.u8ptr, sizeof(U16)); + dest_end.u32ptr = (U32 *)Align_down((U32)dest_end.u16ptr, sizeof(U32)); + dest_end.u64ptr = (U64 *)Align_down((U32)dest_end.u32ptr, sizeof(U64)); + + // While end of destination is not reached... + while (dest.u8ptr < dest_end.u8ptr) + { + // Clear the page buffer in order to prepare data for a flash page write. + flashc_clear_page_buffer(); + error_status |= flashc_error_status; + + // Determine where the source data will end in the current flash page. + flash_page_source_end.u64ptr = + (U64 *)min((U32)dest_end.u64ptr, + Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE) + AVR32_FLASHC_PAGE_SIZE); + + // Determine if the current destination page has an incomplete end. + incomplete_flash_page_end = (Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE) >= + Align_down((U32)dest_end.u8ptr, AVR32_FLASHC_PAGE_SIZE)); + + // Use a flash double-word buffer to manage unaligned accesses. + flash_dword.u64 = source.u64; + + // If destination does not point to the beginning of the current flash page... + if (!Test_align((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE)) + { + // Fill the beginning of the page buffer with the current flash page data. + // This is required by the hardware, even if page erase is not requested, + // in order to be able to write successfully to erased parts of flash + // pages that have already been written to. + for (tmp.u8ptr = (U8 *)Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE); + tmp.u64ptr < (U64 *)Align_down((U32)dest.u8ptr, sizeof(U64)); + tmp.u64ptr++) + *tmp.u64ptr = *tmp.u64ptr; + + // If destination is not 64-bit aligned... + if (!Test_align((U32)dest.u8ptr, sizeof(U64))) + { + // Fill the beginning of the flash double-word buffer with the current + // flash page data. + // This is required by the hardware, even if page erase is not + // requested, in order to be able to write successfully to erased parts + // of flash pages that have already been written to. + for (i = 0; i < Get_align((U32)dest.u8ptr, sizeof(U64)); i++) + flash_dword.u8[i] = *tmp.u8ptr++; + + // Align the destination pointer with its 64-bit boundary. + dest.u64ptr = (U64 *)Align_down((U32)dest.u8ptr, sizeof(U64)); + + // If the current destination double-word is not the last one... + if (dest.u64ptr < dest_end.u64ptr) + { + // Write the flash double-word buffer to the page buffer and reinitialize it. + *dest.u64ptr++ = flash_dword.u64; + flash_dword.u64 = source.u64; + } + } + } + + // Write the source data to the page buffer with 64-bit alignment. + for (i = flash_page_source_end.u64ptr - dest.u64ptr; i; i--) + *dest.u64ptr++ = source.u64; + + // If the current destination page has an incomplete end... + if (incomplete_flash_page_end) + { + // This is required by the hardware, even if page erase is not requested, + // in order to be able to write successfully to erased parts of flash + // pages that have already been written to. + { + tmp.u8ptr = (volatile U8 *)dest_end.u8ptr; + + // If end of destination is not 64-bit aligned... + if (!Test_align((U32)dest_end.u8ptr, sizeof(U64))) + { + // Fill the end of the flash double-word buffer with the current flash page data. + for (i = Get_align((U32)dest_end.u8ptr, sizeof(U64)); i < sizeof(U64); i++) + flash_dword.u8[i] = *tmp.u8ptr++; + + // Write the flash double-word buffer to the page buffer. + *dest.u64ptr++ = flash_dword.u64; + } + + // Fill the end of the page buffer with the current flash page data. + for (; !Test_align((U32)tmp.u64ptr, AVR32_FLASHC_PAGE_SIZE); tmp.u64ptr++) + *tmp.u64ptr = *tmp.u64ptr; + } + } + + // If the current flash page is in the flash array... + if (dest.u8ptr <= AVR32_FLASHC_USER_PAGE) + { + // Erase the current page if requested and write it from the page buffer. + if (erase) + { + flashc_erase_page(-1, FALSE); + error_status |= flashc_error_status; + } + flashc_write_page(-1); + error_status |= flashc_error_status; + + // If the end of the flash array is reached, go to the User page. + if (dest.u8ptr >= flash_array_end.u8ptr) + dest.u8ptr = AVR32_FLASHC_USER_PAGE; + } + // If the current flash page is the User page... + else + { + // Erase the User page if requested and write it from the page buffer. + if (erase) + { + flashc_erase_user_page(FALSE); + error_status |= flashc_error_status; + } + flashc_write_user_page(); + error_status |= flashc_error_status; + } + } + + // Update the FLASHC error status. + flashc_error_status = error_status; + + // Return the initial destination pointer as the standard memset function does. + return dst; +} + + +volatile void *flashc_memcpy(volatile void *dst, const void *src, size_t nbytes, Bool erase) +{ + // Use aggregated pointers to have several alignments available for a same address. + UnionCVPtr flash_array_end; + UnionVPtr dest; + UnionCPtr source; + StructCVPtr dest_end; + UnionCVPtr flash_page_source_end; + Bool incomplete_flash_page_end; + Union64 flash_dword; + Bool flash_dword_pending = FALSE; + UnionVPtr tmp; + unsigned int error_status = 0; + unsigned int i, j; + + // Reformat arguments. + flash_array_end.u8ptr = AVR32_FLASH + flashc_get_flash_size(); + dest.u8ptr = dst; + source.u8ptr = src; + dest_end.u8ptr = dest.u8ptr + nbytes; + + // If destination is outside flash, go to next flash page if any. + if (dest.u8ptr < AVR32_FLASH) + { + source.u8ptr += AVR32_FLASH - dest.u8ptr; + dest.u8ptr = AVR32_FLASH; + } + else if (flash_array_end.u8ptr <= dest.u8ptr && dest.u8ptr < AVR32_FLASHC_USER_PAGE) + { + source.u8ptr += AVR32_FLASHC_USER_PAGE - dest.u8ptr; + dest.u8ptr = AVR32_FLASHC_USER_PAGE; + } + + // If end of destination is outside flash, move it to the end of the previous flash page if any. + if (dest_end.u8ptr > AVR32_FLASHC_USER_PAGE + AVR32_FLASHC_USER_PAGE_SIZE) + { + dest_end.u8ptr = AVR32_FLASHC_USER_PAGE + AVR32_FLASHC_USER_PAGE_SIZE; + } + else if (AVR32_FLASHC_USER_PAGE >= dest_end.u8ptr && dest_end.u8ptr > flash_array_end.u8ptr) + { + dest_end.u8ptr = flash_array_end.u8ptr; + } + + // Align each end of destination pointer with its natural boundary. + dest_end.u16ptr = (U16 *)Align_down((U32)dest_end.u8ptr, sizeof(U16)); + dest_end.u32ptr = (U32 *)Align_down((U32)dest_end.u16ptr, sizeof(U32)); + dest_end.u64ptr = (U64 *)Align_down((U32)dest_end.u32ptr, sizeof(U64)); + + // While end of destination is not reached... + while (dest.u8ptr < dest_end.u8ptr) + { + // Clear the page buffer in order to prepare data for a flash page write. + flashc_clear_page_buffer(); + error_status |= flashc_error_status; + + // Determine where the source data will end in the current flash page. + flash_page_source_end.u64ptr = + (U64 *)min((U32)dest_end.u64ptr, + Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE) + AVR32_FLASHC_PAGE_SIZE); + + // Determine if the current destination page has an incomplete end. + incomplete_flash_page_end = (Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE) >= + Align_down((U32)dest_end.u8ptr, AVR32_FLASHC_PAGE_SIZE)); + + // If destination does not point to the beginning of the current flash page... + if (!Test_align((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE)) + { + // Fill the beginning of the page buffer with the current flash page data. + // This is required by the hardware, even if page erase is not requested, + // in order to be able to write successfully to erased parts of flash + // pages that have already been written to. + for (tmp.u8ptr = (U8 *)Align_down((U32)dest.u8ptr, AVR32_FLASHC_PAGE_SIZE); + tmp.u64ptr < (U64 *)Align_down((U32)dest.u8ptr, sizeof(U64)); + tmp.u64ptr++) + *tmp.u64ptr = *tmp.u64ptr; + + // If destination is not 64-bit aligned... + if (!Test_align((U32)dest.u8ptr, sizeof(U64))) + { + // Fill the beginning of the flash double-word buffer with the current + // flash page data. + // This is required by the hardware, even if page erase is not + // requested, in order to be able to write successfully to erased parts + // of flash pages that have already been written to. + for (i = 0; i < Get_align((U32)dest.u8ptr, sizeof(U64)); i++) + flash_dword.u8[i] = *tmp.u8ptr++; + + // Fill the end of the flash double-word buffer with the source data. + for (; i < sizeof(U64); i++) + flash_dword.u8[i] = *source.u8ptr++; + + // Align the destination pointer with its 64-bit boundary. + dest.u64ptr = (U64 *)Align_down((U32)dest.u8ptr, sizeof(U64)); + + // If the current destination double-word is not the last one... + if (dest.u64ptr < dest_end.u64ptr) + { + // Write the flash double-word buffer to the page buffer. + *dest.u64ptr++ = flash_dword.u64; + } + // If the current destination double-word is the last one, the flash + // double-word buffer must be kept for later. + else flash_dword_pending = TRUE; + } + } + + // Read the source data with the maximal possible alignment and write it to + // the page buffer with 64-bit alignment. + switch (Get_align((U32)source.u8ptr, sizeof(U32))) + { + case 0: + for (i = flash_page_source_end.u64ptr - dest.u64ptr; i; i--) + *dest.u64ptr++ = *source.u64ptr++; + break; + + case sizeof(U16): + for (i = flash_page_source_end.u64ptr - dest.u64ptr; i; i--) + { + for (j = 0; j < sizeof(U64) / sizeof(U16); j++) flash_dword.u16[j] = *source.u16ptr++; + *dest.u64ptr++ = flash_dword.u64; + } + break; + + default: + for (i = flash_page_source_end.u64ptr - dest.u64ptr; i; i--) + { + for (j = 0; j < sizeof(U64); j++) flash_dword.u8[j] = *source.u8ptr++; + *dest.u64ptr++ = flash_dword.u64; + } + } + + // If the current destination page has an incomplete end... + if (incomplete_flash_page_end) + { + // If the flash double-word buffer is in use, do not initialize it. + if (flash_dword_pending) i = Get_align((U32)dest_end.u8ptr, sizeof(U64)); + // If the flash double-word buffer is free... + else + { + // Fill the beginning of the flash double-word buffer with the source data. + for (i = 0; i < Get_align((U32)dest_end.u8ptr, sizeof(U64)); i++) + flash_dword.u8[i] = *source.u8ptr++; + } + + // This is required by the hardware, even if page erase is not requested, + // in order to be able to write successfully to erased parts of flash + // pages that have already been written to. + { + tmp.u8ptr = (volatile U8 *)dest_end.u8ptr; + + // If end of destination is not 64-bit aligned... + if (!Test_align((U32)dest_end.u8ptr, sizeof(U64))) + { + // Fill the end of the flash double-word buffer with the current flash page data. + for (; i < sizeof(U64); i++) + flash_dword.u8[i] = *tmp.u8ptr++; + + // Write the flash double-word buffer to the page buffer. + *dest.u64ptr++ = flash_dword.u64; + } + + // Fill the end of the page buffer with the current flash page data. + for (; !Test_align((U32)tmp.u64ptr, AVR32_FLASHC_PAGE_SIZE); tmp.u64ptr++) + *tmp.u64ptr = *tmp.u64ptr; + } + } + + // If the current flash page is in the flash array... + if (dest.u8ptr <= AVR32_FLASHC_USER_PAGE) + { + // Erase the current page if requested and write it from the page buffer. + if (erase) + { + flashc_erase_page(-1, FALSE); + error_status |= flashc_error_status; + } + flashc_write_page(-1); + error_status |= flashc_error_status; + + // If the end of the flash array is reached, go to the User page. + if (dest.u8ptr >= flash_array_end.u8ptr) + { + source.u8ptr += AVR32_FLASHC_USER_PAGE - dest.u8ptr; + dest.u8ptr = AVR32_FLASHC_USER_PAGE; + } + } + // If the current flash page is the User page... + else + { + // Erase the User page if requested and write it from the page buffer. + if (erase) + { + flashc_erase_user_page(FALSE); + error_status |= flashc_error_status; + } + flashc_write_user_page(); + error_status |= flashc_error_status; + } + } + + // Update the FLASHC error status. + flashc_error_status = error_status; + + // Return the initial destination pointer as the standard memcpy function does. + return dst; +} + + +#if UC3C +void flashc_set_flash_waitstate_and_readmode(unsigned long cpu_f_hz) +{ + //! Device-specific data + #undef AVR32_FLASHC_FWS_0_MAX_FREQ + #undef AVR32_FLASHC_FWS_1_MAX_FREQ + #undef AVR32_FLASHC_HSEN_FWS_0_MAX_FREQ + #undef AVR32_FLASHC_HSEN_FWS_1_MAX_FREQ + #define AVR32_FLASHC_FWS_0_MAX_FREQ 33000000 + #define AVR32_FLASHC_FWS_1_MAX_FREQ 66000000 + #define AVR32_FLASHC_HSEN_FWS_0_MAX_FREQ 33000000 + #define AVR32_FLASHC_HSEN_FWS_1_MAX_FREQ 72000000 + // These defines are missing from or wrong in the toolchain header files uc3cxxx.h + // Put a Bugzilla + + if(cpu_f_hz > AVR32_FLASHC_HSEN_FWS_0_MAX_FREQ) // > 33MHz + { + // Set a wait-state + flashc_set_wait_state(1); + if(cpu_f_hz <= AVR32_FLASHC_FWS_1_MAX_FREQ) // <= 66MHz and >33Mhz + { + // Disable the high-speed read mode. + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSDIS, -1); + } + else // > 66Mhz + { + // Enable the high-speed read mode. + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSEN, -1); + } + } + else // <= 33 MHz + { + // Disable wait-state + flashc_set_wait_state(0); + + // Disable the high-speed read mode. + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSDIS, -1); + + } +} +#endif // UC3C device-specific implementation + +//! @} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.h new file mode 100644 index 0000000..9f2547a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC/flashc.h @@ -0,0 +1,1002 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief FLASHC driver for AVR32 UC3. + * + * AVR32 Flash Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a FLASHC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _FLASHC_H_ +#define _FLASHC_H_ + +#include <avr32/io.h> +#include <stddef.h> +#include "compiler.h" + +//! Number of flash regions defined by the FLASHC. +#define AVR32_FLASHC_REGIONS (AVR32_FLASHC_FLASH_SIZE /\ + (AVR32_FLASHC_PAGES_PR_REGION * AVR32_FLASHC_PAGE_SIZE)) + + +/*! \name Flash Properties + */ +//! @{ + +/*! \brief Gets the size of the whole flash array. + * + * \return The size of the whole flash array in bytes. + */ +extern unsigned int flashc_get_flash_size(void); + +/*! \brief Gets the total number of pages in the flash array. + * + * \return The total number of pages in the flash array. + */ +extern unsigned int flashc_get_page_count(void); + +/*! \brief Gets the number of pages in each flash region. + * + * \return The number of pages in each flash region. + */ +extern unsigned int flashc_get_page_count_per_region(void); + +/*! \brief Gets the region number of a page. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * + * \return The region number of the specified page. + */ +extern unsigned int flashc_get_page_region(int page_number); + +/*! \brief Gets the number of the first page of a region. + * + * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>. + * + * \return The number of the first page of the specified region. + */ +extern unsigned int flashc_get_region_first_page_number(unsigned int region); + +//! @} + + +/*! \name FLASHC Control + */ +//! @{ + +/*! \brief Gets the number of wait states of flash read accesses. + * + * \return The number of wait states of flash read accesses. + */ +extern unsigned int flashc_get_wait_state(void); + +/*! \brief Sets the number of wait states of flash read accesses. + * + * \param wait_state The number of wait states of flash read accesses: \c 0 to + * \c 1. + */ +extern void flashc_set_wait_state(unsigned int wait_state); + +/*! \brief Tells whether the Flash Ready interrupt is enabled. + * + * \return Whether the Flash Ready interrupt is enabled. + */ +extern Bool flashc_is_ready_int_enabled(void); + +/*! \brief Enables or disables the Flash Ready interrupt. + * + * \param enable Whether to enable the Flash Ready interrupt: \c TRUE or + * \c FALSE. + */ +extern void flashc_enable_ready_int(Bool enable); + +/*! \brief Tells whether the Lock Error interrupt is enabled. + * + * \return Whether the Lock Error interrupt is enabled. + */ +extern Bool flashc_is_lock_error_int_enabled(void); + +/*! \brief Enables or disables the Lock Error interrupt. + * + * \param enable Whether to enable the Lock Error interrupt: \c TRUE or + * \c FALSE. + */ +extern void flashc_enable_lock_error_int(Bool enable); + +/*! \brief Tells whether the Programming Error interrupt is enabled. + * + * \return Whether the Programming Error interrupt is enabled. + */ +extern Bool flashc_is_prog_error_int_enabled(void); + +/*! \brief Enables or disables the Programming Error interrupt. + * + * \param enable Whether to enable the Programming Error interrupt: \c TRUE or + * \c FALSE. + */ +extern void flashc_enable_prog_error_int(Bool enable); + +//! @} + + +/*! \name FLASHC Status + */ +//! @{ + +/*! \brief Tells whether the FLASHC is ready to run a new command. + * + * \return Whether the FLASHC is ready to run a new command. + */ +extern Bool flashc_is_ready(void); + +/*! \brief Waits actively until the FLASHC is ready to run a new command. + * + * This is the default function assigned to \ref flashc_wait_until_ready. + */ +extern void flashc_default_wait_until_ready(void); + +//! Pointer to the function used by the driver when it needs to wait until the +//! FLASHC is ready to run a new command. +//! The default function is \ref flashc_default_wait_until_ready. +//! The user may change this pointer to use another implementation. +extern void (*volatile flashc_wait_until_ready)(void); + +/*! \brief Tells whether a Lock Error has occurred during the last function + * called that issued one or more FLASHC commands. + * + * \return Whether a Lock Error has occurred during the last function called + * that issued one or more FLASHC commands. + */ +extern Bool flashc_is_lock_error(void); + +/*! \brief Tells whether a Programming Error has occurred during the last + * function called that issued one or more FLASHC commands. + * + * \return Whether a Programming Error has occurred during the last function + * called that issued one or more FLASHC commands. + */ +extern Bool flashc_is_programming_error(void); + +//! @} + + +/*! \name FLASHC Command Control + */ +//! @{ + +/*! \brief Gets the last issued FLASHC command. + * + * \return The last issued FLASHC command. + */ +extern unsigned int flashc_get_command(void); + +/*! \brief Gets the current FLASHC page number. + * + * \return The current FLASHC page number. + */ +extern unsigned int flashc_get_page_number(void); + +/*! \brief Issues a FLASHC command. + * + * \param command The command: \c AVR32_FLASHC_FCMD_CMD_x. + * \param page_number The page number to apply the command to: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: use this to apply the command to the current page number + * or if the command does not apply to any page number; + * \arg this argument may have other meanings according to the command. See + * the FLASHC chapter of the MCU datasheet. + * + * \warning A Lock Error is issued if the command violates the protection + * mechanism. + * + * \warning A Programming Error is issued if the command is invalid. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_issue_command(unsigned int command, int page_number); + +//! @} + + +/*! \name FLASHC Global Commands + */ +//! @{ + +/*! \brief Issues a No Operation command to the FLASHC. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_no_operation(void); + +/*! \brief Issues an Erase All command to the FLASHC. + * + * This command erases all bits in the flash array, the general-purpose fuse + * bits and the Security bit. The User page is not erased. + * + * This command also ensures that all volatile memories, such as register file + * and RAMs, are erased before the Security bit is erased, i.e. deactivated. + * + * \warning A Lock Error is issued if at least one region is locked or the + * bootloader protection is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + */ +extern void flashc_erase_all(void); + +//! @} + + +/*! \name FLASHC Protection Mechanisms + */ +//! @{ + +/*! \brief Tells whether the Security bit is active. + * + * \return Whether the Security bit is active. + */ +extern Bool flashc_is_security_bit_active(void); + +/*! \brief Activates the Security bit. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_activate_security_bit(void); + +/*! \brief Gets the bootloader protected size. + * + * \return The bootloader protected size in bytes. + */ +extern unsigned int flashc_get_bootloader_protected_size(void); + +/*! \brief Sets the bootloader protected size. + * + * \param bootprot_size The wanted bootloader protected size in bytes. If this + * size is not supported, the actual size will be the + * nearest greater available size or the maximal possible + * size if the requested size is too large. + * + * \return The actual bootloader protected size in bytes. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern unsigned int flashc_set_bootloader_protected_size(unsigned int bootprot_size); + +/*! \brief Tells whether external privileged fetch is locked. + * + * \return Whether external privileged fetch is locked. + */ +extern Bool flashc_is_external_privileged_fetch_locked(void); + +/*! \brief Locks or unlocks external privileged fetch. + * + * \param lock Whether to lock external privileged fetch: \c TRUE or \c FALSE. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_lock_external_privileged_fetch(Bool lock); + +/*! \brief Tells whether the region of a page is locked. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * + * \return Whether the region of the specified page is locked. + */ +extern Bool flashc_is_page_region_locked(int page_number); + +/*! \brief Tells whether a region is locked. + * + * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>. + * + * \return Whether the specified region is locked. + */ +extern Bool flashc_is_region_locked(unsigned int region); + +/*! \brief Locks or unlocks the region of a page. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * \param lock Whether to lock the region of the specified page: \c TRUE or + * \c FALSE. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_lock_page_region(int page_number, Bool lock); + +/*! \brief Locks or unlocks a region. + * + * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>. + * \param lock Whether to lock the specified region: \c TRUE or \c FALSE. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_lock_region(unsigned int region, Bool lock); + +/*! \brief Locks or unlocks all regions. + * + * \param lock Whether to lock the regions: \c TRUE or \c FALSE. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_lock_all_regions(Bool lock); + +//! @} + + +/*! \name Access to General-Purpose Fuses + */ +//! @{ + +/*! \brief Reads a general-purpose fuse bit. + * + * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63. + * + * \return The value of the specified general-purpose fuse bit. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_read_gp_fuse_bit(unsigned int gp_fuse_bit); + +/*! \brief Reads a general-purpose fuse bit-field. + * + * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to + * \c 63. + * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to + * \c 64. + * + * \return The value of the specified general-purpose fuse bit-field. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern U64 flashc_read_gp_fuse_bitfield(unsigned int pos, unsigned int width); + +/*! \brief Reads a general-purpose fuse byte. + * + * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7. + * + * \return The value of the specified general-purpose fuse byte. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern U8 flashc_read_gp_fuse_byte(unsigned int gp_fuse_byte); + +/*! \brief Reads all general-purpose fuses. + * + * \return The value of all general-purpose fuses as a word. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern U64 flashc_read_all_gp_fuses(void); + +/*! \brief Erases a general-purpose fuse bit. + * + * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63. + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_erase_gp_fuse_bit(unsigned int gp_fuse_bit, Bool check); + +/*! \brief Erases a general-purpose fuse bit-field. + * + * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to + * \c 63. + * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to + * \c 64. + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_erase_gp_fuse_bitfield(unsigned int pos, unsigned int width, Bool check); + +/*! \brief Erases a general-purpose fuse byte. + * + * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7. + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_erase_gp_fuse_byte(unsigned int gp_fuse_byte, Bool check); + +/*! \brief Erases all general-purpose fuses. + * + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern Bool flashc_erase_all_gp_fuses(Bool check); + +/*! \brief Writes a general-purpose fuse bit. + * + * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63. + * \param value The value of the specified general-purpose fuse bit. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_write_gp_fuse_bit(unsigned int gp_fuse_bit, Bool value); + +/*! \brief Writes a general-purpose fuse bit-field. + * + * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to + * \c 63. + * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to + * \c 64. + * \param value The value of the specified general-purpose fuse bit-field. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_write_gp_fuse_bitfield(unsigned int pos, unsigned int width, U64 value); + +/*! \brief Writes a general-purpose fuse byte. + * + * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7. + * \param value The value of the specified general-purpose fuse byte. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_write_gp_fuse_byte(unsigned int gp_fuse_byte, U8 value); + +/*! \brief Writes all general-purpose fuses. + * + * \param value The value of all general-purpose fuses as a word. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_write_all_gp_fuses(U64 value); + +/*! \brief Sets a general-purpose fuse bit with the appropriate erase and write + * operations. + * + * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63. + * \param value The value of the specified general-purpose fuse bit. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_set_gp_fuse_bit(unsigned int gp_fuse_bit, Bool value); + +/*! \brief Sets a general-purpose fuse bit-field with the appropriate erase and + * write operations. + * + * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to + * \c 63. + * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to + * \c 64. + * \param value The value of the specified general-purpose fuse bit-field. + * + * \warning A Lock Error is issued if the Security bit is active and the command + * is applied to BOOTPROT or EPFL fuses. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_set_gp_fuse_bitfield(unsigned int pos, unsigned int width, U64 value); + +/*! \brief Sets a general-purpose fuse byte with the appropriate erase and write + * operations. + * + * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7. + * \param value The value of the specified general-purpose fuse byte. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_set_gp_fuse_byte(unsigned int gp_fuse_byte, U8 value); + +/*! \brief Sets all general-purpose fuses with the appropriate erase and write + * operations. + * + * \param value The value of all general-purpose fuses as a word. + * + * \warning A Lock Error is issued if the Security bit is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note The actual number of general-purpose fuse bits implemented by hardware + * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are + * fixed at 1 by hardware. + */ +extern void flashc_set_all_gp_fuses(U64 value); + +//! @} + + +/*! \name Access to Flash Pages + */ +//! @{ + +/*! \brief Clears the page buffer. + * + * This command resets all bits in the page buffer to one. Write accesses to the + * page buffer can only change page buffer bits from one to zero. + * + * \warning The page buffer is not automatically reset after a page write. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern void flashc_clear_page_buffer(void); + +/*! \brief Tells whether the page to which the last Quick Page Read or Quick + * Page Read User Page command was applied was erased. + * + * \return Whether the page to which the last Quick Page Read or Quick Page Read + * User Page command was applied was erased. + */ +extern Bool flashc_is_page_erased(void); + +/*! \brief Applies the Quick Page Read command to a page. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * + * \return Whether the specified page is erased. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern Bool flashc_quick_page_read(int page_number); + +/*! \brief Erases a page. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if the command is applied to a page belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + */ +extern Bool flashc_erase_page(int page_number, Bool check); + +/*! \brief Erases all pages within the flash array. + * + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \warning A Lock Error is issued if at least one region is locked or the + * bootloader protection is active. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + */ +extern Bool flashc_erase_all_pages(Bool check); + +/*! \brief Writes a page from the page buffer. + * + * \param page_number The page number: + * \arg \c 0 to <tt>(flashc_get_page_count() - 1)</tt>: a page number within + * the flash array; + * \arg <tt>< 0</tt>: the current page number. + * + * \warning A Lock Error is issued if the command is applied to a page belonging + * to a locked region or to the bootloader protected area. + * + * \warning The page buffer is not automatically reset after a page write. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + */ +extern void flashc_write_page(int page_number); + +/*! \brief Issues a Quick Page Read User Page command to the FLASHC. + * + * \return Whether the User page is erased. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern Bool flashc_quick_user_page_read(void); + +/*! \brief Erases the User page. + * + * \param check Whether to check erase: \c TRUE or \c FALSE. + * + * \return Whether the erase succeeded or always \c TRUE if erase check was not + * requested. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note An erase operation can only set bits. + */ +extern Bool flashc_erase_user_page(Bool check); + +/*! \brief Writes the User page from the page buffer. + * + * \warning The page buffer is not automatically reset after a page write. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + * + * \note A write operation can only clear bits. + */ +extern void flashc_write_user_page(void); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src source byte. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source byte. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memset8(volatile void *dst, U8 src, size_t nbytes, Bool erase); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src big-endian source half-word. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source half-word. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memset16(volatile void *dst, U16 src, size_t nbytes, Bool erase); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src big-endian source word. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source word. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memset32(volatile void *dst, U32 src, size_t nbytes, Bool erase); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src big-endian source double-word. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source double-word. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memset64(volatile void *dst, U64 src, size_t nbytes, Bool erase); + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the repeated \a src big-endian source pattern. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Source double-word. + * \param src_width \a src width in bits: 8, 16, 32 or 64. + * \param nbytes Number of bytes to set. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +#define flashc_memset(dst, src, src_width, nbytes, erase) \ + TPASTE2(flashc_memset, src_width)((dst), (src), (nbytes), (erase)) + +/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst + * from the source pointed to by \a src. + * + * The destination areas that are not within the flash array or the User page + * are ignored. + * + * All pointer and size alignments are supported. + * + * \param dst Pointer to flash destination. + * \param src Pointer to source data. + * \param nbytes Number of bytes to copy. + * \param erase Whether to erase before writing: \c TRUE or \c FALSE. + * + * \return The value of \a dst. + * + * \warning If copying takes place between areas that overlap, the behavior is + * undefined. + * + * \warning This function may be called with \a erase set to \c FALSE only if + * the destination consists only of erased words, i.e. this function + * can not be used to write only one bit of a previously written word. + * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the + * resulting value in flash may be different from \c 0x00000000. + * + * \warning A Lock Error is issued if the command is applied to pages belonging + * to a locked region or to the bootloader protected area. + * + * \note The FLASHC error status returned by \ref flashc_is_lock_error and + * \ref flashc_is_programming_error is updated. + */ +extern volatile void *flashc_memcpy(volatile void *dst, const void *src, size_t nbytes, Bool erase); + +#if UC3C + +/*! \brief Depednding to the CPU frequency, set the wait states of flash read + * accesses and enable or disable the High speed read mode. + * + * \param cpu_f_hz The CPU frequency + */ +void flashc_set_flash_waitstate_and_readmode(unsigned long cpu_f_hz); +#endif // UC3C device-specific implementation + +//! @} + + +#endif // _FLASHC_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c new file mode 100644 index 0000000..b6b83c7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.c @@ -0,0 +1,458 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief GPIO driver for AVR32 UC3. + * + * This file defines a useful set of functions for the GPIO. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a GPIO module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "gpio.h" + +//! GPIO module instance. +#define GPIO AVR32_GPIO + + +/*! \name Peripheral Bus Interface + */ +//! @{ + + +int gpio_enable_module(const gpio_map_t gpiomap, unsigned int size) +{ + int status = GPIO_SUCCESS; + unsigned int i; + + for (i = 0; i < size; i++) + { + status |= gpio_enable_module_pin(gpiomap->pin, gpiomap->function); + gpiomap++; + } + + return status; +} + + +int gpio_enable_module_pin(unsigned int pin, unsigned int function) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + // Enable the correct function. + switch (function) + { + case 0: // A function. + gpio_port->pmr0c = 1 << (pin & 0x1F); + gpio_port->pmr1c = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pmr2c = 1 << (pin & 0x1F); +#endif + break; + + case 1: // B function. + gpio_port->pmr0s = 1 << (pin & 0x1F); + gpio_port->pmr1c = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pmr2c = 1 << (pin & 0x1F); +#endif + break; + + case 2: // C function. + gpio_port->pmr0c = 1 << (pin & 0x1F); + gpio_port->pmr1s = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pmr2c = 1 << (pin & 0x1F); +#endif + break; + + case 3: // D function. + gpio_port->pmr0s = 1 << (pin & 0x1F); + gpio_port->pmr1s = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pmr2c = 1 << (pin & 0x1F); +#endif + break; + +#if defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + case 4: // E function. + gpio_port->pmr0c = 1 << (pin & 0x1F); + gpio_port->pmr1c = 1 << (pin & 0x1F); + gpio_port->pmr2s = 1 << (pin & 0x1F); + break; + + case 5: // F function. + gpio_port->pmr0s = 1 << (pin & 0x1F); + gpio_port->pmr1c = 1 << (pin & 0x1F); + gpio_port->pmr2s = 1 << (pin & 0x1F); + break; + + case 6: // G function. + gpio_port->pmr0c = 1 << (pin & 0x1F); + gpio_port->pmr1s = 1 << (pin & 0x1F); + gpio_port->pmr2s = 1 << (pin & 0x1F); + break; + + case 7: // H function. + gpio_port->pmr0s = 1 << (pin & 0x1F); + gpio_port->pmr1s = 1 << (pin & 0x1F); + gpio_port->pmr2s = 1 << (pin & 0x1F); + break; +#endif + + default: + return GPIO_INVALID_ARGUMENT; + } + + // Disable GPIO control. + gpio_port->gperc = 1 << (pin & 0x1F); + + return GPIO_SUCCESS; +} + + +void gpio_enable_gpio(const gpio_map_t gpiomap, unsigned int size) +{ + unsigned int i; + + for (i = 0; i < size; i++) + { + gpio_enable_gpio_pin(gpiomap->pin); + gpiomap++; + } +} + + +void gpio_enable_gpio_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->oderc = 1 << (pin & 0x1F); + gpio_port->gpers = 1 << (pin & 0x1F); +} + + +// The open-drain mode is not synthesized on the current AVR32 products. +// If one day some AVR32 products have this feature, the corresponding part +// numbers should be listed in the #if below. +// Note that other functions are available in this driver to use pins with open +// drain in GPIO mode. The advantage of the open-drain mode functions over these +// other functions is that they can be used not only in GPIO mode but also in +// module mode. +#if 0 + + +void gpio_enable_pin_open_drain(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->odmers = 1 << (pin & 0x1F); +} + + +void gpio_disable_pin_open_drain(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->odmerc = 1 << (pin & 0x1F); +} + + +#endif + + +void gpio_enable_pin_pull_up(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puers = 1 << (pin & 0x1F); +#if defined(AVR32_GPIO_200_H_INCLUDED) || defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) + gpio_port->pderc = 1 << (pin & 0x1F); +#endif +} + + +void gpio_disable_pin_pull_up(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puerc = 1 << (pin & 0x1F); +} + +#if defined(AVR32_GPIO_200_H_INCLUDED) || defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) +// Added support of Pull-up Resistor, Pull-down Resistor and Buskeeper Control. + +/*! \brief Enables the pull-down resistor of a pin. + * + * \param pin The pin number. + */ +void gpio_enable_pin_pull_down(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puerc = 1 << (pin & 0x1F); + gpio_port->pders = 1 << (pin & 0x1F); +} + +/*! \brief Disables the pull-down resistor of a pin. + * + * \param pin The pin number. + */ +void gpio_disable_pin_pull_down(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->pderc = 1 << (pin & 0x1F); +} + +/*! \brief Enables the buskeeper functionality on a pin. + * + * \param pin The pin number. + */ +void gpio_enable_pin_buskeeper(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puers = 1 << (pin & 0x1F); + gpio_port->pders = 1 << (pin & 0x1F); +} + +/*! \brief Disables the buskeeper functionality on a pin. + * + * \param pin The pin number. + */ +void gpio_disable_pin_buskeeper(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->puerc = 1 << (pin & 0x1F); + gpio_port->pderc = 1 << (pin & 0x1F); +} + +#endif + +int gpio_get_pin_value(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + return (gpio_port->pvr >> (pin & 0x1F)) & 1; +} + + +int gpio_get_gpio_pin_output_value(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + return (gpio_port->ovr >> (pin & 0x1F)) & 1; +} + + +int gpio_get_gpio_open_drain_pin_output_value(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + return ((gpio_port->oder >> (pin & 0x1F)) & 1) ^ 1; +} + + +void gpio_set_gpio_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrs = 1 << (pin & 0x1F); // Value to be driven on the I/O line: 1. + gpio_port->oders = 1 << (pin & 0x1F); // The GPIO output driver is enabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_clr_gpio_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrc = 1 << (pin & 0x1F); // Value to be driven on the I/O line: 0. + gpio_port->oders = 1 << (pin & 0x1F); // The GPIO output driver is enabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_tgl_gpio_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrt = 1 << (pin & 0x1F); // Toggle the I/O line. + gpio_port->oders = 1 << (pin & 0x1F); // The GPIO output driver is enabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_set_gpio_open_drain_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->oderc = 1 << (pin & 0x1F); // The GPIO output driver is disabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_clr_gpio_open_drain_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrc = 1 << (pin & 0x1F); // Value to be driven on the I/O line: 0. + gpio_port->oders = 1 << (pin & 0x1F); // The GPIO output driver is enabled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_tgl_gpio_open_drain_pin(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + gpio_port->ovrc = 1 << (pin & 0x1F); // Value to be driven on the I/O line if the GPIO output driver is enabled: 0. + gpio_port->odert = 1 << (pin & 0x1F); // The GPIO output driver is toggled for that pin. + gpio_port->gpers = 1 << (pin & 0x1F); // The GPIO module controls that pin. +} + + +void gpio_enable_pin_glitch_filter(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->gfers = 1 << (pin & 0x1F); +} + + +void gpio_disable_pin_glitch_filter(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->gferc = 1 << (pin & 0x1F); +} + +/*! \brief Configure the edge detector of an input pin + * + * \param pin The pin number. + * \param mode The edge detection mode (\ref GPIO_PIN_CHANGE, \ref GPIO_RISING_EDGE + * or \ref GPIO_FALLING_EDGE). + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +static int gpio_configure_edge_detector(unsigned int pin, unsigned int mode) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + // Configure the edge detector. + switch (mode) + { + case GPIO_PIN_CHANGE: + gpio_port->imr0c = 1 << (pin & 0x1F); + gpio_port->imr1c = 1 << (pin & 0x1F); + break; + + case GPIO_RISING_EDGE: + gpio_port->imr0s = 1 << (pin & 0x1F); + gpio_port->imr1c = 1 << (pin & 0x1F); + break; + + case GPIO_FALLING_EDGE: + gpio_port->imr0c = 1 << (pin & 0x1F); + gpio_port->imr1s = 1 << (pin & 0x1F); + break; + + default: + return GPIO_INVALID_ARGUMENT; + } + + return GPIO_SUCCESS; +} + + +int gpio_enable_pin_interrupt(unsigned int pin, unsigned int mode) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + // Enable the glitch filter. + gpio_port->gfers = 1 << (pin & 0x1F); + + // Configure the edge detector. + if(GPIO_INVALID_ARGUMENT == gpio_configure_edge_detector(pin, mode)) + return(GPIO_INVALID_ARGUMENT); + + // Enable interrupt. + gpio_port->iers = 1 << (pin & 0x1F); + + return GPIO_SUCCESS; +} + + +void gpio_disable_pin_interrupt(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->ierc = 1 << (pin & 0x1F); +} + + +int gpio_get_pin_interrupt_flag(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + return (gpio_port->ifr >> (pin & 0x1F)) & 1; +} + + +void gpio_clear_pin_interrupt_flag(unsigned int pin) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + gpio_port->ifrc = 1 << (pin & 0x1F); +} + + +//# +//# Peripheral Event System Support. +//# +#if UC3L +int gpio_configure_pin_periph_event_mode(unsigned int pin, unsigned int mode, unsigned int use_igf) +{ + volatile avr32_gpio_port_t *gpio_port = &GPIO.port[pin >> 5]; + + if(TRUE == use_igf) + { + // Enable the glitch filter. + gpio_port->gfers = 1 << (pin & 0x1F); + } + else + { + // Disable the glitch filter. + gpio_port->gferc = 1 << (pin & 0x1F); + } + + // Configure the edge detector. + return(gpio_configure_edge_detector(pin, mode)); +} + +#endif + +//! @} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h new file mode 100644 index 0000000..f0b5fd8 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO/gpio.h @@ -0,0 +1,583 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief GPIO header for AVR32 UC3. + * + * This file contains basic GPIO driver functions. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a GPIO module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _GPIO_H_ +#define _GPIO_H_ + +#include <avr32/io.h> +#include "compiler.h" + +/*! \name Return Values of the GPIO API + */ +//! @{ +#define GPIO_SUCCESS 0 //!< Function successfully completed. +#define GPIO_INVALID_ARGUMENT 1 //!< Input parameters are out of range. +//! @} + + +/*! \name Interrupt Trigger Modes + */ +//! @{ +#define GPIO_PIN_CHANGE 0 //!< Interrupt triggered upon pin change. +#define GPIO_RISING_EDGE 1 //!< Interrupt triggered upon rising edge. +#define GPIO_FALLING_EDGE 2 //!< Interrupt triggered upon falling edge. +//! @} + + +//! A type definition of pins and modules connectivity. +typedef struct +{ + unsigned char pin; //!< Module pin. + unsigned char function; //!< Module function. +} gpio_map_t[]; + + +/*! \name Peripheral Bus Interface + * + * Low-speed interface with a non-deterministic number of clock cycles per + * access. + * + * This interface operates with lower clock frequencies (fPB <= fCPU), and its + * timing is not deterministic since it needs to access a shared bus which may + * be heavily loaded. + * + * \note This interface is immediately available without initialization. + */ +//! @{ + +/*! \brief Enables specific module modes for a set of pins. + * + * \param gpiomap The pin map. + * \param size The number of pins in \a gpiomap. + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +extern int gpio_enable_module(const gpio_map_t gpiomap, unsigned int size); + +/*! \brief Enables a specific module mode for a pin. + * + * \param pin The pin number.\n + * Refer to the product header file `uc3x.h' (where x is the part + * number; e.g. x = a0512) for module pins. E.g., to enable a PWM + * channel output, the pin number can be AVR32_PWM_3_PIN for PWM + * channel 3. + * \param function The pin function.\n + * Refer to the product header file `uc3x.h' (where x is the + * part number; e.g. x = a0512) for module pin functions. E.g., + * to enable a PWM channel output, the pin function can be + * AVR32_PWM_3_FUNCTION for PWM channel 3. + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +extern int gpio_enable_module_pin(unsigned int pin, unsigned int function); + +/*! \brief Enables the GPIO mode of a set of pins. + * + * \param gpiomap The pin map. + * \param size The number of pins in \a gpiomap. + */ +extern void gpio_enable_gpio(const gpio_map_t gpiomap, unsigned int size); + +/*! \brief Enables the GPIO mode of a pin. + * + * \param pin The pin number.\n + * Refer to the product header file `uc3x.h' (where x is the part + * number; e.g. x = a0512) for pin definitions. E.g., to enable the + * GPIO mode of PX21, AVR32_PIN_PX21 can be used. Module pins such as + * AVR32_PWM_3_PIN for PWM channel 3 can also be used to release + * module pins for GPIO. + */ +extern void gpio_enable_gpio_pin(unsigned int pin); + +// The open-drain mode is not synthesized on the current AVR32 products. +// If one day some AVR32 products have this feature, the corresponding part +// numbers should be listed in the #if below. +// Note that other functions are available in this driver to use pins with open +// drain in GPIO mode. The advantage of the open-drain mode functions over these +// other functions is that they can be used not only in GPIO mode but also in +// module mode. +#if 0 + +/*! \brief Enables the open-drain mode of a pin. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_open_drain(unsigned int pin); + +/*! \brief Disables the open-drain mode of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_open_drain(unsigned int pin); + +#endif + +/*! \brief Enables the pull-up resistor of a pin. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_pull_up(unsigned int pin); + +/*! \brief Disables the pull-up resistor of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_pull_up(unsigned int pin); + +#if defined(AVR32_GPIO_200_H_INCLUDED) || defined(AVR32_GPIO_210_H_INCLUDED) || defined(AVR32_GPIO_211_H_INCLUDED) +// Added support of Pull-up Resistor, Pull-down Resistor and Buskeeper Control. + +/*! \brief Enables the pull-down resistor of a pin. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_pull_down(unsigned int pin); + +/*! \brief Disables the pull-down resistor of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_pull_down(unsigned int pin); + +/*! \brief Enables the buskeeper functionality on a pin. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_buskeeper(unsigned int pin); + +/*! \brief Disables the buskeeper functionality on a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_buskeeper(unsigned int pin); + +#endif + +/*! \brief Returns the value of a pin. + * + * \param pin The pin number. + * + * \return The pin value. + */ +extern int gpio_get_pin_value(unsigned int pin); + +/*! \brief Returns the output value set for a GPIO pin. + * + * \param pin The pin number. + * + * \return The pin output value. + * + * \note This function must be used in conjunction with \ref gpio_set_gpio_pin, + * \ref gpio_clr_gpio_pin and \ref gpio_tgl_gpio_pin. + */ +extern int gpio_get_gpio_pin_output_value(unsigned int pin); + +/*! \brief Returns the output value set for a GPIO pin using open drain. + * + * \param pin The pin number. + * + * \return The pin output value. + * + * \note This function must be used in conjunction with + * \ref gpio_set_gpio_open_drain_pin, \ref gpio_clr_gpio_open_drain_pin + * and \ref gpio_tgl_gpio_open_drain_pin. + */ +extern int gpio_get_gpio_open_drain_pin_output_value(unsigned int pin); + +/*! \brief Drives a GPIO pin to 1. + * + * \param pin The pin number. + */ +extern void gpio_set_gpio_pin(unsigned int pin); + +/*! \brief Drives a GPIO pin to 0. + * + * \param pin The pin number. + */ +extern void gpio_clr_gpio_pin(unsigned int pin); + +/*! \brief Toggles a GPIO pin. + * + * \param pin The pin number. + */ +extern void gpio_tgl_gpio_pin(unsigned int pin); + +/*! \brief Drives a GPIO pin to 1 using open drain. + * + * \param pin The pin number. + */ +extern void gpio_set_gpio_open_drain_pin(unsigned int pin); + +/*! \brief Drives a GPIO pin to 0 using open drain. + * + * \param pin The pin number. + */ +extern void gpio_clr_gpio_open_drain_pin(unsigned int pin); + +/*! \brief Toggles a GPIO pin using open drain. + * + * \param pin The pin number. + */ +extern void gpio_tgl_gpio_open_drain_pin(unsigned int pin); + +/*! \brief Enables the glitch filter of a pin. + * + * When the glitch filter is enabled, a glitch with duration of less than 1 + * clock cycle is automatically rejected, while a pulse with duration of 2 clock + * cycles or more is accepted. For pulse durations between 1 clock cycle and 2 + * clock cycles, the pulse may or may not be taken into account, depending on + * the precise timing of its occurrence. Thus for a pulse to be guaranteed + * visible it must exceed 2 clock cycles, whereas for a glitch to be reliably + * filtered out, its duration must not exceed 1 clock cycle. The filter + * introduces 2 clock cycles latency. + * + * \param pin The pin number. + */ +extern void gpio_enable_pin_glitch_filter(unsigned int pin); + +/*! \brief Disables the glitch filter of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_glitch_filter(unsigned int pin); + +/*! \brief Enables the interrupt of a pin with the specified settings. + * + * \param pin The pin number. + * \param mode The trigger mode (\ref GPIO_PIN_CHANGE, \ref GPIO_RISING_EDGE or + * \ref GPIO_FALLING_EDGE). + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +extern int gpio_enable_pin_interrupt(unsigned int pin, unsigned int mode); + +/*! \brief Disables the interrupt of a pin. + * + * \param pin The pin number. + */ +extern void gpio_disable_pin_interrupt(unsigned int pin); + +/*! \brief Gets the interrupt flag of a pin. + * + * \param pin The pin number. + * + * \return The pin interrupt flag. + */ +extern int gpio_get_pin_interrupt_flag(unsigned int pin); + +/*! \brief Clears the interrupt flag of a pin. + * + * \param pin The pin number. + */ +extern void gpio_clear_pin_interrupt_flag(unsigned int pin); + +//! @} + + +#if (defined AVR32_GPIO_LOCAL_ADDRESS) +/*! \name Local Bus Interface + * + * High-speed interface with only one clock cycle per access. + * + * This interface operates with high clock frequency (fCPU), and its timing is + * deterministic since it does not need to access a shared bus which may be + * heavily loaded. + * + * \warning To use this interface, the clock frequency of the peripheral bus on + * which the GPIO peripheral is connected must be set to the CPU clock + * frequency (fPB = fCPU). + * + * \note This interface has to be initialized in order to be available. + */ +//! @{ + +/*! \brief Enables the local bus interface for GPIO. + * + * \note This function must have been called at least once before using other + * functions in this interface. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_init(void) +{ + Set_system_register(AVR32_CPUCR, + Get_system_register(AVR32_CPUCR) | AVR32_CPUCR_LOCEN_MASK); +} + +/*! \brief Enables the output driver of a pin. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin. + * \ref gpio_enable_gpio_pin can be called for this purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_enable_pin_output_driver(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].oders = 1 << (pin & 0x1F); +} + +/*! \brief Disables the output driver of a pin. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_disable_pin_output_driver(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].oderc = 1 << (pin & 0x1F); +} + +/*! \brief Returns the value of a pin. + * + * \param pin The pin number. + * + * \return The pin value. + * + * \note \ref gpio_local_init must have been called beforehand. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int gpio_local_get_pin_value(unsigned int pin) +{ + return (AVR32_GPIO_LOCAL.port[pin >> 5].pvr >> (pin & 0x1F)) & 1; +} + +/*! \brief Drives a GPIO pin to 1. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin nor its output + * driver. \ref gpio_enable_gpio_pin and + * \ref gpio_local_enable_pin_output_driver can be called for this + * purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_set_gpio_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].ovrs = 1 << (pin & 0x1F); +} + +/*! \brief Drives a GPIO pin to 0. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin nor its output + * driver. \ref gpio_enable_gpio_pin and + * \ref gpio_local_enable_pin_output_driver can be called for this + * purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_clr_gpio_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].ovrc = 1 << (pin & 0x1F); +} + +/*! \brief Toggles a GPIO pin. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init must have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin nor its output + * driver. \ref gpio_enable_gpio_pin and + * \ref gpio_local_enable_pin_output_driver can be called for this + * purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_tgl_gpio_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].ovrt = 1 << (pin & 0x1F); +} + +/*! \brief Initializes the configuration of a GPIO pin so that it can be used + * with GPIO open-drain functions. + * + * \note This function must have been called at least once before using + * \ref gpio_local_set_gpio_open_drain_pin, + * \ref gpio_local_clr_gpio_open_drain_pin or + * \ref gpio_local_tgl_gpio_open_drain_pin. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_init_gpio_open_drain_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].ovrc = 1 << (pin & 0x1F); +} + +/*! \brief Drives a GPIO pin to 1 using open drain. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init and \ref gpio_local_init_gpio_open_drain_pin must + * have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin. + * \ref gpio_enable_gpio_pin can be called for this purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_set_gpio_open_drain_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].oderc = 1 << (pin & 0x1F); +} + +/*! \brief Drives a GPIO pin to 0 using open drain. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init and \ref gpio_local_init_gpio_open_drain_pin must + * have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin. + * \ref gpio_enable_gpio_pin can be called for this purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_clr_gpio_open_drain_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].oders = 1 << (pin & 0x1F); +} + +/*! \brief Toggles a GPIO pin using open drain. + * + * \param pin The pin number. + * + * \note \ref gpio_local_init and \ref gpio_local_init_gpio_open_drain_pin must + * have been called beforehand. + * + * \note This function does not enable the GPIO mode of the pin. + * \ref gpio_enable_gpio_pin can be called for this purpose. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_local_tgl_gpio_open_drain_pin(unsigned int pin) +{ + AVR32_GPIO_LOCAL.port[pin >> 5].odert = 1 << (pin & 0x1F); +} + +//! @} +#endif // AVR32_GPIO_LOCAL_ADDRESS + +#if UC3L +//! @{ +/*! \name Peripheral Event System support + * + * The GPIO can be programmed to output peripheral events whenever an interrupt + * condition is detected, such as pin value change, or only when a rising or + * falling edge is detected. + * + */ + +/*! \brief Enables the peripheral event generation of a pin. + * + * \param pin The pin number. + * + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_enable_pin_periph_event(unsigned int pin) +{ + AVR32_GPIO.port[pin >> 5].oderc = 1 << (pin & 0x1F); // The GPIO output driver is disabled for that pin. + AVR32_GPIO.port[pin >> 5].evers = 1 << (pin & 0x1F); +} + +/*! \brief Disables the peripheral event generation of a pin. + * + * \param pin The pin number. + * + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void gpio_disable_pin_periph_event(unsigned int pin) +{ + AVR32_GPIO.port[pin >> 5].everc = 1 << (pin & 0x1F); +} + +/*! \brief Configure the peripheral event trigger mode of a pin + * + * \param pin The pin number. + * \param mode The trigger mode (\ref GPIO_PIN_CHANGE, \ref GPIO_RISING_EDGE or + * \ref GPIO_FALLING_EDGE). + * \param use_igf use the Input Glitch Filter (TRUE) or not (FALSE). + * + * \return \ref GPIO_SUCCESS or \ref GPIO_INVALID_ARGUMENT. + */ +extern int gpio_configure_pin_periph_event_mode(unsigned int pin, unsigned int mode, unsigned int use_igf); + +//! @} +#endif + + +#endif // _GPIO_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/exception.x b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/exception.x new file mode 100644 index 0000000..ec4109d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/exception.x @@ -0,0 +1,239 @@ +/* This file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Exception and interrupt vectors. + * + * This file maps all events supported by an AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an INTC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#if !__AVR32_UC__ && !__AVR32_AP__ + #error Implementation of the AVR32 architecture not supported by the INTC driver. +#endif + + +#include <avr32/io.h> + + +//! @{ +//! \verbatim + + + .section .exception, "ax", @progbits + + +// Start of Exception Vector Table. + + // EVBA must be aligned with a power of two strictly greater than the EVBA- + // relative offset of the last vector. + .balign 0x200 + + // Export symbol. + .global _evba + .type _evba, @function +_evba: + + .org 0x000 + // Unrecoverable Exception. +_handle_Unrecoverable_Exception: + rjmp $ + + .org 0x004 + // TLB Multiple Hit. +_handle_TLB_Multiple_Hit: + rjmp $ + + .org 0x008 + // Bus Error Data Fetch. +_handle_Bus_Error_Data_Fetch: + rjmp $ + + .org 0x00C + // Bus Error Instruction Fetch. +_handle_Bus_Error_Instruction_Fetch: + rjmp $ + + .org 0x010 + // NMI. +_handle_NMI: + rjmp $ + + .org 0x014 + // Instruction Address. +_handle_Instruction_Address: + rjmp $ + + .org 0x018 + // ITLB Protection. +_handle_ITLB_Protection: + rjmp $ + + .org 0x01C + // Breakpoint. +_handle_Breakpoint: + rjmp $ + + .org 0x020 + // Illegal Opcode. +_handle_Illegal_Opcode: + rjmp $ + + .org 0x024 + // Unimplemented Instruction. +_handle_Unimplemented_Instruction: + rjmp $ + + .org 0x028 + // Privilege Violation. +_handle_Privilege_Violation: + rjmp $ + + .org 0x02C + // Floating-Point: UNUSED IN AVR32UC and AVR32AP. +_handle_Floating_Point: + rjmp $ + + .org 0x030 + // Coprocessor Absent: UNUSED IN AVR32UC. +_handle_Coprocessor_Absent: + rjmp $ + + .org 0x034 + // Data Address (Read). +_handle_Data_Address_Read: + rjmp $ + + .org 0x038 + // Data Address (Write). +_handle_Data_Address_Write: + rjmp $ + + .org 0x03C + // DTLB Protection (Read). +_handle_DTLB_Protection_Read: + rjmp $ + + .org 0x040 + // DTLB Protection (Write). +_handle_DTLB_Protection_Write: + rjmp $ + + .org 0x044 + // DTLB Modified: UNUSED IN AVR32UC. +_handle_DTLB_Modified: + rjmp $ + + .org 0x050 + // ITLB Miss. +_handle_ITLB_Miss: + rjmp $ + + .org 0x060 + // DTLB Miss (Read). +_handle_DTLB_Miss_Read: + rjmp $ + + .org 0x070 + // DTLB Miss (Write). +_handle_DTLB_Miss_Write: + rjmp $ + + .org 0x100 + // Supervisor Call. +_handle_Supervisor_Call: + rjmp $ + + +// Interrupt support. +// The interrupt controller must provide the offset address relative to EVBA. +// Important note: +// All interrupts call a C function named _get_interrupt_handler. +// This function will read group and interrupt line number to then return in +// R12 a pointer to a user-provided interrupt handler. + + .balign 4 + + .irp priority, 0, 1, 2, 3 +_int\priority: +#if __AVR32_UC__ + // R8-R12, LR, PC and SR are automatically pushed onto the system stack by the + // CPU upon interrupt entry. No other register is saved by hardware. +#elif __AVR32_AP__ + // PC and SR are automatically saved in respectively RAR_INTx and RSR_INTx by + // the CPU upon interrupt entry. No other register is saved by hardware. + pushm r8-r12, lr +#endif + mov r12, \priority // Pass the int_level parameter to the _get_interrupt_handler function. + call _get_interrupt_handler + cp.w r12, 0 // Get the pointer to the interrupt handler returned by the function. +#if __AVR32_UC__ + movne pc, r12 // If this was not a spurious interrupt (R12 != NULL), jump to the handler. +#elif __AVR32_AP__ + breq spint\priority // If this was a spurious interrupt (R12 == NULL), branch. + st.w --sp, r12 // Push the pointer to the interrupt handler onto the system stack since no register may be altered. + popm r8-r12, lr, pc // Restore registers and jump to the handler. +spint\priority: + popm r8-r12, lr +#endif + rete // If this was a spurious interrupt (R12 == NULL), return from event handler. + .endr + + +// Constant data area. + + .balign 4 + + // Values to store in the interrupt priority registers for the various interrupt priority levels. + // The interrupt priority registers contain the interrupt priority level and + // the EVBA-relative interrupt vector offset. + .global ipr_val + .type ipr_val, @object +ipr_val: + .word (AVR32_INTC_INT0 << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (_int0 - _evba),\ + (AVR32_INTC_INT1 << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (_int1 - _evba),\ + (AVR32_INTC_INT2 << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (_int2 - _evba),\ + (AVR32_INTC_INT3 << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (_int3 - _evba) + + +//! \endverbatim +//! @} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c new file mode 100644 index 0000000..84d498d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.c @@ -0,0 +1,214 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief INTC driver for AVR32 UC3. + * + * AVR32 Interrupt Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an INTC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> +#include "compiler.h" +#include "preprocessor.h" +#include "intc.h" + +// define _evba from exception.S +extern void _evba; + +//! Values to store in the interrupt priority registers for the various interrupt priority levels. +extern const unsigned int ipr_val[AVR32_INTC_NUM_INT_LEVELS]; + +//! Creates a table of interrupt line handlers per interrupt group in order to optimize RAM space. +//! Each line handler table contains a set of pointers to interrupt handlers. +#if (defined __GNUC__) +#define DECL_INT_LINE_HANDLER_TABLE(GRP, unused) \ +static volatile __int_handler _int_line_handler_table_##GRP[Max(AVR32_INTC_NUM_IRQS_PER_GRP##GRP, 1)]; +#elif (defined __ICCAVR32__) +#define DECL_INT_LINE_HANDLER_TABLE(GRP, unused) \ +static volatile __no_init __int_handler _int_line_handler_table_##GRP[Max(AVR32_INTC_NUM_IRQS_PER_GRP##GRP, 1)]; +#endif +MREPEAT(AVR32_INTC_NUM_INT_GRPS, DECL_INT_LINE_HANDLER_TABLE, ~); +#undef DECL_INT_LINE_HANDLER_TABLE + +//! Table containing for each interrupt group the number of interrupt request +//! lines and a pointer to the table of interrupt line handlers. +static const struct +{ + unsigned int num_irqs; + volatile __int_handler *_int_line_handler_table; +} _int_handler_table[AVR32_INTC_NUM_INT_GRPS] = +{ +#define INSERT_INT_LINE_HANDLER_TABLE(GRP, unused) \ + {AVR32_INTC_NUM_IRQS_PER_GRP##GRP, _int_line_handler_table_##GRP}, + MREPEAT(AVR32_INTC_NUM_INT_GRPS, INSERT_INT_LINE_HANDLER_TABLE, ~) +#undef INSERT_INT_LINE_HANDLER_TABLE +}; + + +/*! \brief Default interrupt handler. + * + * \note Taken and adapted from Newlib. + */ +#if (defined __GNUC__) +__attribute__((__interrupt__)) +#elif (defined __ICCAVR32__) +__interrupt +#endif +static void _unhandled_interrupt(void) +{ + // Catch unregistered interrupts. + while (TRUE); +} + + +/*! \brief Gets the interrupt handler of the current event at the \a int_level + * interrupt priority level (called from exception.S). + * + * \param int_level Interrupt priority level to handle. + * + * \return Interrupt handler to execute. + * + * \note Taken and adapted from Newlib. + */ +__int_handler _get_interrupt_handler(unsigned int int_level) +{ + // ICR3 is mapped first, ICR0 last. + // Code in exception.S puts int_level in R12 which is used by AVR32-GCC to + // pass a single argument to a function. + unsigned int int_grp = AVR32_INTC.icr[AVR32_INTC_INT3 - int_level]; + unsigned int int_req = AVR32_INTC.irr[int_grp]; + + // As an interrupt may disappear while it is being fetched by the CPU + // (spurious interrupt caused by a delayed response from an MCU peripheral to + // an interrupt flag clear or interrupt disable instruction), check if there + // are remaining interrupt lines to process. + // If a spurious interrupt occurs, the status register (SR) contains an + // execution mode and interrupt level masks corresponding to a level 0 + // interrupt, whatever the interrupt priority level causing the spurious + // event. This behavior has been chosen because a spurious interrupt has not + // to be a priority one and because it may not cause any trouble to other + // interrupts. + // However, these spurious interrupts place the hardware in an unstable state + // and could give problems in other/future versions of the CPU, so the + // software has to be written so that they never occur. The only safe way of + // achieving this is to always clear or disable peripheral interrupts with the + // following sequence: + // 1: Mask the interrupt in the CPU by setting GM (or IxM) in SR. + // 2: Perform the bus access to the peripheral register that clears or + // disables the interrupt. + // 3: Wait until the interrupt has actually been cleared or disabled by the + // peripheral. This is usually performed by reading from a register in the + // same peripheral (it DOES NOT have to be the same register that was + // accessed in step 2, but it MUST be in the same peripheral), what takes + // bus system latencies into account, but peripheral internal latencies + // (generally 0 cycle) also have to be considered. + // 4: Unmask the interrupt in the CPU by clearing GM (or IxM) in SR. + // Note that steps 1 and 4 are useless inside interrupt handlers as the + // corresponding interrupt level is automatically masked by IxM (unless IxM is + // explicitly cleared by the software). + // + // Get the right IRQ handler. + // + // If several interrupt lines are active in the group, the interrupt line with + // the highest number is selected. This is to be coherent with the + // prioritization of interrupt groups performed by the hardware interrupt + // controller. + // + // If no handler has been registered for the pending interrupt, + // _unhandled_interrupt will be selected thanks to the initialization of + // _int_line_handler_table_x by INTC_init_interrupts. + // + // exception.S will provide the interrupt handler with a clean interrupt stack + // frame, with nothing more pushed onto the stack. The interrupt handler must + // manage the `rete' instruction, what can be done thanks to pure assembly, + // inline assembly or the `__attribute__((__interrupt__))' C function + // attribute. + return (int_req) ? _int_handler_table[int_grp]._int_line_handler_table[32 - clz(int_req) - 1] : NULL; +} + +//! Init EVBA address. This sequence might also be done in the UTILS/STARTUP/GCC/crt0.S +static __inline__ void INTC_init_evba(void) +{ + Set_system_register(AVR32_EVBA, (int)&_evba ); +} + +void INTC_init_interrupts(void) +{ + unsigned int int_grp, int_req; + + INTC_init_evba(); + + // For all interrupt groups, + for (int_grp = 0; int_grp < AVR32_INTC_NUM_INT_GRPS; int_grp++) + { + // For all interrupt request lines of each group, + for (int_req = 0; int_req < _int_handler_table[int_grp].num_irqs; int_req++) + { + // Assign _unhandled_interrupt as default interrupt handler. + _int_handler_table[int_grp]._int_line_handler_table[int_req] = &_unhandled_interrupt; + } + + // Set the interrupt group priority register to its default value. + // By default, all interrupt groups are linked to the interrupt priority + // level 0 and to the interrupt vector _int0. + AVR32_INTC.ipr[int_grp] = ipr_val[AVR32_INTC_INT0]; + } +} + + +void INTC_register_interrupt(__int_handler handler, unsigned int irq, unsigned int int_level) +{ + // Determine the group of the IRQ. + unsigned int int_grp = irq / AVR32_INTC_MAX_NUM_IRQS_PER_GRP; + + // Store in _int_line_handler_table_x the pointer to the interrupt handler, so + // that _get_interrupt_handler can retrieve it when the interrupt is vectored. + _int_handler_table[int_grp]._int_line_handler_table[irq % AVR32_INTC_MAX_NUM_IRQS_PER_GRP] = handler; + + // Program the corresponding IPRX register to set the interrupt priority level + // and the interrupt vector offset that will be fetched by the core interrupt + // system. + // NOTE: The _intx functions are intermediate assembly functions between the + // core interrupt system and the user interrupt handler. + AVR32_INTC.ipr[int_grp] = ipr_val[int_level & (AVR32_INTC_IPR_INTLEVEL_MASK >> AVR32_INTC_IPR_INTLEVEL_OFFSET)]; +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h new file mode 100644 index 0000000..31a4fc1 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.h @@ -0,0 +1,100 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief INTC driver for AVR32 UC3. + * + * AVR32 Interrupt Controller driver module. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an INTC module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _INTC_H_ +#define _INTC_H_ + +#include "compiler.h" + + +//! Maximal number of interrupt request lines per group. +#define AVR32_INTC_MAX_NUM_IRQS_PER_GRP 32 + +//! Number of interrupt priority levels. +#define AVR32_INTC_NUM_INT_LEVELS (1 << AVR32_INTC_IPR_INTLEVEL_SIZE) + + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. + +//! Pointer to interrupt handler. +#if (defined __GNUC__) +typedef void (*__int_handler)(void); +#elif (defined __ICCAVR32__) +typedef void (__interrupt *__int_handler)(void); +#endif + + +/*! \brief Initializes the hardware interrupt controller driver. + * + * \note Taken and adapted from Newlib. + */ +extern void INTC_init_interrupts(void); + +/*! \brief Registers an interrupt handler. + * + * \param handler Interrupt handler to register. + * \param irq IRQ of the interrupt handler to register. + * \param int_level Interrupt priority level to assign to the group of this IRQ. + * + * \warning The interrupt handler must manage the `rete' instruction, what can + * be done thanks to pure assembly, inline assembly or the + * `__attribute__((__interrupt__))' C function attribute. + * + * \warning If several interrupt handlers of a same group are registered with + * different priority levels, only the latest priority level set will + * be effective. + * + * \note Taken and adapted from Newlib. + */ +extern void INTC_register_interrupt(__int_handler handler, unsigned int irq, unsigned int int_level); + +#endif // __AVR32_ABI_COMPILER__ + + +#endif // _INTC_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c new file mode 100644 index 0000000..76d9268 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.c @@ -0,0 +1,546 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Power Manager driver. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "pm.h" + + +/*! \name PM Writable Bit-Field Registers + */ +//! @{ + +typedef union +{ + unsigned long mcctrl; + avr32_pm_mcctrl_t MCCTRL; +} u_avr32_pm_mcctrl_t; + +typedef union +{ + unsigned long cksel; + avr32_pm_cksel_t CKSEL; +} u_avr32_pm_cksel_t; + +typedef union +{ + unsigned long pll; + avr32_pm_pll_t PLL; +} u_avr32_pm_pll_t; + +typedef union +{ + unsigned long oscctrl0; + avr32_pm_oscctrl0_t OSCCTRL0; +} u_avr32_pm_oscctrl0_t; + +typedef union +{ + unsigned long oscctrl1; + avr32_pm_oscctrl1_t OSCCTRL1; +} u_avr32_pm_oscctrl1_t; + +typedef union +{ + unsigned long oscctrl32; + avr32_pm_oscctrl32_t OSCCTRL32; +} u_avr32_pm_oscctrl32_t; + +typedef union +{ + unsigned long ier; + avr32_pm_ier_t IER; +} u_avr32_pm_ier_t; + +typedef union +{ + unsigned long idr; + avr32_pm_idr_t IDR; +} u_avr32_pm_idr_t; + +typedef union +{ + unsigned long icr; + avr32_pm_icr_t ICR; +} u_avr32_pm_icr_t; + +typedef union +{ + unsigned long gcctrl; + avr32_pm_gcctrl_t GCCTRL; +} u_avr32_pm_gcctrl_t; + +typedef union +{ + unsigned long rccr; + avr32_pm_rccr_t RCCR; +} u_avr32_pm_rccr_t; + +typedef union +{ + unsigned long bgcr; + avr32_pm_bgcr_t BGCR; +} u_avr32_pm_bgcr_t; + +typedef union +{ + unsigned long vregcr; + avr32_pm_vregcr_t VREGCR; +} u_avr32_pm_vregcr_t; + +typedef union +{ + unsigned long bod; + avr32_pm_bod_t BOD; +} u_avr32_pm_bod_t; + +//! @} + + +/*! \brief Sets the mode of the oscillator 0. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * \param mode Oscillator 0 mode (i.e. AVR32_PM_OSCCTRL0_MODE_x). + */ +static void pm_set_osc0_mode(volatile avr32_pm_t *pm, unsigned int mode) +{ + // Read + u_avr32_pm_oscctrl0_t u_avr32_pm_oscctrl0 = {pm->oscctrl0}; + // Modify + u_avr32_pm_oscctrl0.OSCCTRL0.mode = mode; + // Write + pm->oscctrl0 = u_avr32_pm_oscctrl0.oscctrl0; +} + + +void pm_enable_osc0_ext_clock(volatile avr32_pm_t *pm) +{ + pm_set_osc0_mode(pm, AVR32_PM_OSCCTRL0_MODE_EXT_CLOCK); +} + + +void pm_enable_osc0_crystal(volatile avr32_pm_t *pm, unsigned int fosc0) +{ + pm_set_osc0_mode(pm, (fosc0 < 900000) ? AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G0 : + (fosc0 < 3000000) ? AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G1 : + (fosc0 < 8000000) ? AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G2 : + AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G3); +} + + +void pm_enable_clk0(volatile avr32_pm_t *pm, unsigned int startup) +{ + pm_enable_clk0_no_wait(pm, startup); + pm_wait_for_clk0_ready(pm); +} + + +void pm_disable_clk0(volatile avr32_pm_t *pm) +{ + pm->mcctrl &= ~AVR32_PM_MCCTRL_OSC0EN_MASK; +} + + +void pm_enable_clk0_no_wait(volatile avr32_pm_t *pm, unsigned int startup) +{ + // Read register + u_avr32_pm_oscctrl0_t u_avr32_pm_oscctrl0 = {pm->oscctrl0}; + // Modify + u_avr32_pm_oscctrl0.OSCCTRL0.startup = startup; + // Write back + pm->oscctrl0 = u_avr32_pm_oscctrl0.oscctrl0; + + pm->mcctrl |= AVR32_PM_MCCTRL_OSC0EN_MASK; +} + + +void pm_wait_for_clk0_ready(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_OSC0RDY_MASK)); +} + + +/*! \brief Sets the mode of the oscillator 1. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * \param mode Oscillator 1 mode (i.e. AVR32_PM_OSCCTRL1_MODE_x). + */ +static void pm_set_osc1_mode(volatile avr32_pm_t *pm, unsigned int mode) +{ + // Read + u_avr32_pm_oscctrl1_t u_avr32_pm_oscctrl1 = {pm->oscctrl1}; + // Modify + u_avr32_pm_oscctrl1.OSCCTRL1.mode = mode; + // Write + pm->oscctrl1 = u_avr32_pm_oscctrl1.oscctrl1; +} + + +void pm_enable_osc1_ext_clock(volatile avr32_pm_t *pm) +{ + pm_set_osc1_mode(pm, AVR32_PM_OSCCTRL1_MODE_EXT_CLOCK); +} + + +void pm_enable_osc1_crystal(volatile avr32_pm_t *pm, unsigned int fosc1) +{ + pm_set_osc1_mode(pm, (fosc1 < 900000) ? AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G0 : + (fosc1 < 3000000) ? AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G1 : + (fosc1 < 8000000) ? AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G2 : + AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G3); +} + + +void pm_enable_clk1(volatile avr32_pm_t *pm, unsigned int startup) +{ + pm_enable_clk1_no_wait(pm, startup); + pm_wait_for_clk1_ready(pm); +} + + +void pm_disable_clk1(volatile avr32_pm_t *pm) +{ + pm->mcctrl &= ~AVR32_PM_MCCTRL_OSC1EN_MASK; +} + + +void pm_enable_clk1_no_wait(volatile avr32_pm_t *pm, unsigned int startup) +{ + // Read register + u_avr32_pm_oscctrl1_t u_avr32_pm_oscctrl1 = {pm->oscctrl1}; + // Modify + u_avr32_pm_oscctrl1.OSCCTRL1.startup = startup; + // Write back + pm->oscctrl1 = u_avr32_pm_oscctrl1.oscctrl1; + + pm->mcctrl |= AVR32_PM_MCCTRL_OSC1EN_MASK; +} + + +void pm_wait_for_clk1_ready(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_OSC1RDY_MASK)); +} + + +/*! \brief Sets the mode of the 32-kHz oscillator. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * \param mode 32-kHz oscillator mode (i.e. AVR32_PM_OSCCTRL32_MODE_x). + */ +static void pm_set_osc32_mode(volatile avr32_pm_t *pm, unsigned int mode) +{ + // Read + u_avr32_pm_oscctrl32_t u_avr32_pm_oscctrl32 = {pm->oscctrl32}; + // Modify + u_avr32_pm_oscctrl32.OSCCTRL32.mode = mode; + // Write + pm->oscctrl32 = u_avr32_pm_oscctrl32.oscctrl32; +} + + +void pm_enable_osc32_ext_clock(volatile avr32_pm_t *pm) +{ + pm_set_osc32_mode(pm, AVR32_PM_OSCCTRL32_MODE_EXT_CLOCK); +} + + +void pm_enable_osc32_crystal(volatile avr32_pm_t *pm) +{ + pm_set_osc32_mode(pm, AVR32_PM_OSCCTRL32_MODE_CRYSTAL); +} + + +void pm_enable_clk32(volatile avr32_pm_t *pm, unsigned int startup) +{ + pm_enable_clk32_no_wait(pm, startup); + pm_wait_for_clk32_ready(pm); +} + + +void pm_disable_clk32(volatile avr32_pm_t *pm) +{ + pm->oscctrl32 &= ~AVR32_PM_OSCCTRL32_OSC32EN_MASK; +} + + +void pm_enable_clk32_no_wait(volatile avr32_pm_t *pm, unsigned int startup) +{ + // Read register + u_avr32_pm_oscctrl32_t u_avr32_pm_oscctrl32 = {pm->oscctrl32}; + // Modify + u_avr32_pm_oscctrl32.OSCCTRL32.osc32en = 1; + u_avr32_pm_oscctrl32.OSCCTRL32.startup = startup; + // Write back + pm->oscctrl32 = u_avr32_pm_oscctrl32.oscctrl32; +} + + +void pm_wait_for_clk32_ready(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_OSC32RDY_MASK)); +} + + +void pm_cksel(volatile avr32_pm_t *pm, + unsigned int pbadiv, + unsigned int pbasel, + unsigned int pbbdiv, + unsigned int pbbsel, + unsigned int hsbdiv, + unsigned int hsbsel) +{ + u_avr32_pm_cksel_t u_avr32_pm_cksel = {0}; + + u_avr32_pm_cksel.CKSEL.cpusel = hsbsel; + u_avr32_pm_cksel.CKSEL.cpudiv = hsbdiv; + u_avr32_pm_cksel.CKSEL.hsbsel = hsbsel; + u_avr32_pm_cksel.CKSEL.hsbdiv = hsbdiv; + u_avr32_pm_cksel.CKSEL.pbasel = pbasel; + u_avr32_pm_cksel.CKSEL.pbadiv = pbadiv; + u_avr32_pm_cksel.CKSEL.pbbsel = pbbsel; + u_avr32_pm_cksel.CKSEL.pbbdiv = pbbdiv; + + pm->cksel = u_avr32_pm_cksel.cksel; + + // Wait for ckrdy bit and then clear it + while (!(pm->poscsr & AVR32_PM_POSCSR_CKRDY_MASK)); +} + + +void pm_gc_setup(volatile avr32_pm_t *pm, + unsigned int gc, + unsigned int osc_or_pll, // Use Osc (=0) or PLL (=1) + unsigned int pll_osc, // Sel Osc0/PLL0 or Osc1/PLL1 + unsigned int diven, + unsigned int div) +{ + u_avr32_pm_gcctrl_t u_avr32_pm_gcctrl = {0}; + + u_avr32_pm_gcctrl.GCCTRL.oscsel = pll_osc; + u_avr32_pm_gcctrl.GCCTRL.pllsel = osc_or_pll; + u_avr32_pm_gcctrl.GCCTRL.diven = diven; + u_avr32_pm_gcctrl.GCCTRL.div = div; + + pm->gcctrl[gc] = u_avr32_pm_gcctrl.gcctrl; +} + + +void pm_gc_enable(volatile avr32_pm_t *pm, + unsigned int gc) +{ + pm->gcctrl[gc] |= AVR32_PM_GCCTRL_CEN_MASK; +} + + +void pm_gc_disable(volatile avr32_pm_t *pm, + unsigned int gc) +{ + pm->gcctrl[gc] &= ~AVR32_PM_GCCTRL_CEN_MASK; +} + + +void pm_pll_setup(volatile avr32_pm_t *pm, + unsigned int pll, + unsigned int mul, + unsigned int div, + unsigned int osc, + unsigned int lockcount) +{ + u_avr32_pm_pll_t u_avr32_pm_pll = {0}; + + u_avr32_pm_pll.PLL.pllosc = osc; + u_avr32_pm_pll.PLL.plldiv = div; + u_avr32_pm_pll.PLL.pllmul = mul; + u_avr32_pm_pll.PLL.pllcount = lockcount; + + pm->pll[pll] = u_avr32_pm_pll.pll; +} + + +void pm_pll_set_option(volatile avr32_pm_t *pm, + unsigned int pll, + unsigned int pll_freq, + unsigned int pll_div2, + unsigned int pll_wbwdisable) +{ + u_avr32_pm_pll_t u_avr32_pm_pll = {pm->pll[pll]}; + u_avr32_pm_pll.PLL.pllopt = pll_freq | (pll_div2 << 1) | (pll_wbwdisable << 2); + pm->pll[pll] = u_avr32_pm_pll.pll; +} + + +unsigned int pm_pll_get_option(volatile avr32_pm_t *pm, + unsigned int pll) +{ + return (pm->pll[pll] & AVR32_PM_PLLOPT_MASK) >> AVR32_PM_PLLOPT_OFFSET; +} + + +void pm_pll_enable(volatile avr32_pm_t *pm, + unsigned int pll) +{ + pm->pll[pll] |= AVR32_PM_PLLEN_MASK; +} + + +void pm_pll_disable(volatile avr32_pm_t *pm, + unsigned int pll) +{ + pm->pll[pll] &= ~AVR32_PM_PLLEN_MASK; +} + + +void pm_wait_for_pll0_locked(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_LOCK0_MASK)); +} + + +void pm_wait_for_pll1_locked(volatile avr32_pm_t *pm) +{ + while (!(pm->poscsr & AVR32_PM_POSCSR_LOCK1_MASK)); +} + + +void pm_switch_to_clock(volatile avr32_pm_t *pm, unsigned long clock) +{ + // Read + u_avr32_pm_mcctrl_t u_avr32_pm_mcctrl = {pm->mcctrl}; + // Modify + u_avr32_pm_mcctrl.MCCTRL.mcsel = clock; + // Write back + pm->mcctrl = u_avr32_pm_mcctrl.mcctrl; +} + + +void pm_switch_to_osc0(volatile avr32_pm_t *pm, unsigned int fosc0, unsigned int startup) +{ + pm_enable_osc0_crystal(pm, fosc0); // Enable the Osc0 in crystal mode + pm_enable_clk0(pm, startup); // Crystal startup time - This parameter is critical and depends on the characteristics of the crystal + pm_switch_to_clock(pm, AVR32_PM_MCSEL_OSC0); // Then switch main clock to Osc0 +} + + +void pm_bod_enable_irq(volatile avr32_pm_t *pm) +{ + pm->ier = AVR32_PM_IER_BODDET_MASK; +} + + +void pm_bod_disable_irq(volatile avr32_pm_t *pm) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + if (global_interrupt_enabled) Disable_global_interrupt(); + pm->idr = AVR32_PM_IDR_BODDET_MASK; + pm->isr; + if (global_interrupt_enabled) Enable_global_interrupt(); +} + + +void pm_bod_clear_irq(volatile avr32_pm_t *pm) +{ + pm->icr = AVR32_PM_ICR_BODDET_MASK; +} + + +unsigned long pm_bod_get_irq_status(volatile avr32_pm_t *pm) +{ + return ((pm->isr & AVR32_PM_ISR_BODDET_MASK) != 0); +} + + +unsigned long pm_bod_get_irq_enable_bit(volatile avr32_pm_t *pm) +{ + return ((pm->imr & AVR32_PM_IMR_BODDET_MASK) != 0); +} + + +unsigned long pm_bod_get_level(volatile avr32_pm_t *pm) +{ + return (pm->bod & AVR32_PM_BOD_LEVEL_MASK) >> AVR32_PM_BOD_LEVEL_OFFSET; +} + + +unsigned long pm_read_gplp(volatile avr32_pm_t *pm, unsigned long gplp) +{ + return pm->gplp[gplp]; +} + + +void pm_write_gplp(volatile avr32_pm_t *pm, unsigned long gplp, unsigned long value) +{ + pm->gplp[gplp] = value; +} + + +long pm_enable_module(volatile avr32_pm_t *pm, unsigned long module) +{ + unsigned long domain = module>>5; + unsigned long *regptr = (unsigned long*)(&(pm->cpumask) + domain); + + // Implementation-specific shortcut: the ckMASK registers are contiguous and + // memory-mapped in that order: CPUMASK, HSBMASK, PBAMASK, PBBMASK. + + *regptr |= (1<<(module%32)); + + return PASS; +} + +long pm_disable_module(volatile avr32_pm_t *pm, unsigned long module) +{ + unsigned long domain = module>>5; + unsigned long *regptr = (unsigned long*)(&(pm->cpumask) + domain); + + // Implementation-specific shortcut: the ckMASK registers are contiguous and + // memory-mapped in that order: CPUMASK, HSBMASK, PBAMASK, PBBMASK. + + *regptr &= ~(1<<(module%32)); + + return PASS; +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h new file mode 100644 index 0000000..ca679f7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm.h @@ -0,0 +1,493 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Power Manager driver. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _PM_H_ +#define _PM_H_ + +#include <avr32/io.h> +#include "compiler.h" +#include "preprocessor.h" + + +/*! \brief Sets the MCU in the specified sleep mode. + * + * \param mode Sleep mode: + * \arg \c AVR32_PM_SMODE_IDLE: Idle; + * \arg \c AVR32_PM_SMODE_FROZEN: Frozen; + * \arg \c AVR32_PM_SMODE_STANDBY: Standby; + * \arg \c AVR32_PM_SMODE_STOP: Stop; + * \arg \c AVR32_PM_SMODE_DEEP_STOP: DeepStop; + * \arg \c AVR32_PM_SMODE_STATIC: Static. + */ +#define SLEEP(mode) {__asm__ __volatile__ ("sleep "STRINGZ(mode));} + + +//! Input and output parameters when initializing PM clocks using pm_configure_clocks(). +typedef struct +{ + //! CPU frequency (input/output argument). + unsigned long cpu_f; + + //! PBA frequency (input/output argument). + unsigned long pba_f; + + //! Oscillator 0's external crystal(or external clock) frequency (board dependant) (input argument). + unsigned long osc0_f; + + //! Oscillator 0's external crystal(or external clock) startup time: AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC (input argument). + unsigned long osc0_startup; +} pm_freq_param_t; + +#define PM_FREQ_STATUS_FAIL (-1) +#define PM_FREQ_STATUS_OK (0) + + +/*! \brief Gets the MCU reset cause. + * + * \param pm Base address of the Power Manager instance (i.e. &AVR32_PM). + * + * \return The MCU reset cause which can be masked with the + * \c AVR32_PM_RCAUSE_x_MASK bit-masks to isolate specific causes. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ unsigned int pm_get_reset_cause(volatile avr32_pm_t *pm) +{ + return pm->rcause; +} + + +/*! + * \brief This function will enable the external clock mode of the oscillator 0. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_enable_osc0_ext_clock(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the crystal mode of the oscillator 0. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param fosc0 Oscillator 0 crystal frequency (Hz) + */ +extern void pm_enable_osc0_crystal(volatile avr32_pm_t *pm, unsigned int fosc0); + + +/*! + * \brief This function will enable the oscillator 0 to be used with a startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 0 startup time. AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk0(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will disable the oscillator 0. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_disable_clk0(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the oscillator 0 to be used with no startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 0 startup time, for which the function does not wait. AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk0_no_wait(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will wait until the Osc0 clock is ready. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_clk0_ready(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the external clock mode of the oscillator 1. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_enable_osc1_ext_clock(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the crystal mode of the oscillator 1. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param fosc1 Oscillator 1 crystal frequency (Hz) + */ +extern void pm_enable_osc1_crystal(volatile avr32_pm_t *pm, unsigned int fosc1); + + +/*! + * \brief This function will enable the oscillator 1 to be used with a startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 1 startup time. AVR32_PM_OSCCTRL1_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk1(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will disable the oscillator 1. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_disable_clk1(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the oscillator 1 to be used with no startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 1 startup time, for which the function does not wait. AVR32_PM_OSCCTRL1_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk1_no_wait(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will wait until the Osc1 clock is ready. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_clk1_ready(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the external clock mode of the 32-kHz oscillator. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_enable_osc32_ext_clock(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the crystal mode of the 32-kHz oscillator. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_enable_osc32_crystal(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the oscillator 32 to be used with a startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 32 kHz startup time. AVR32_PM_OSCCTRL32_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk32(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will disable the oscillator 32. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_disable_clk32(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will enable the oscillator 32 to be used with no startup time. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param startup Clock 32 kHz startup time, for which the function does not wait. AVR32_PM_OSCCTRL32_STARTUP_x_RCOSC. + */ +extern void pm_enable_clk32_no_wait(volatile avr32_pm_t *pm, unsigned int startup); + + +/*! + * \brief This function will wait until the osc32 clock is ready. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_clk32_ready(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will select all the power manager clocks. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pbadiv Peripheral Bus A clock divisor enable + * \param pbasel Peripheral Bus A select + * \param pbbdiv Peripheral Bus B clock divisor enable + * \param pbbsel Peripheral Bus B select + * \param hsbdiv High Speed Bus clock divisor enable (CPU clock = HSB clock) + * \param hsbsel High Speed Bus select (CPU clock = HSB clock ) + */ +extern void pm_cksel(volatile avr32_pm_t *pm, unsigned int pbadiv, unsigned int pbasel, unsigned int pbbdiv, unsigned int pbbsel, unsigned int hsbdiv, unsigned int hsbsel); + + +/*! + * \brief This function will setup a generic clock. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gc generic clock number (0 for gc0...) + * \param osc_or_pll Use OSC (=0) or PLL (=1) + * \param pll_osc Select Osc0/PLL0 or Osc1/PLL1 + * \param diven Generic clock divisor enable + * \param div Generic clock divisor + */ +extern void pm_gc_setup(volatile avr32_pm_t *pm, unsigned int gc, unsigned int osc_or_pll, unsigned int pll_osc, unsigned int diven, unsigned int div); + + +/*! + * \brief This function will enable a generic clock. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gc generic clock number (0 for gc0...) + */ +extern void pm_gc_enable(volatile avr32_pm_t *pm, unsigned int gc); + + +/*! + * \brief This function will disable a generic clock. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gc generic clock number (0 for gc0...) + */ +extern void pm_gc_disable(volatile avr32_pm_t *pm, unsigned int gc); + + +/*! + * \brief This function will setup a PLL. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + * \param mul PLL MUL in the PLL formula + * \param div PLL DIV in the PLL formula + * \param osc OSC number (0 for osc0, 1 for osc1) + * \param lockcount PLL lockount + */ +extern void pm_pll_setup(volatile avr32_pm_t *pm, unsigned int pll, unsigned int mul, unsigned int div, unsigned int osc, unsigned int lockcount); + + +/*! + * \brief This function will set a PLL option. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + * \param pll_freq Set to 1 for VCO frequency range 80-180MHz, set to 0 for VCO frequency range 160-240Mhz. + * \param pll_div2 Divide the PLL output frequency by 2 (this settings does not change the FVCO value) + * \param pll_wbwdisable 1 Disable the Wide-Bandith Mode (Wide-Bandwith mode allow a faster startup time and out-of-lock time). 0 to enable the Wide-Bandith Mode. + */ +extern void pm_pll_set_option(volatile avr32_pm_t *pm, unsigned int pll, unsigned int pll_freq, unsigned int pll_div2, unsigned int pll_wbwdisable); + + +/*! + * \brief This function will get a PLL option. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + * \return Option + */ +extern unsigned int pm_pll_get_option(volatile avr32_pm_t *pm, unsigned int pll); + + +/*! + * \brief This function will enable a PLL. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + */ +extern void pm_pll_enable(volatile avr32_pm_t *pm, unsigned int pll); + + +/*! + * \brief This function will disable a PLL. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param pll PLL number(0 for PLL0, 1 for PLL1) + */ +extern void pm_pll_disable(volatile avr32_pm_t *pm, unsigned int pll); + + +/*! + * \brief This function will wait for PLL0 locked + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_pll0_locked(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will wait for PLL1 locked + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + */ +extern void pm_wait_for_pll1_locked(volatile avr32_pm_t *pm); + + +/*! + * \brief This function will switch the power manager main clock. + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param clock Clock to be switched on. AVR32_PM_MCSEL_SLOW for RCOsc, AVR32_PM_MCSEL_OSC0 for Osc0, AVR32_PM_MCSEL_PLL0 for PLL0. + */ +extern void pm_switch_to_clock(volatile avr32_pm_t *pm, unsigned long clock); + + +/*! + * \brief Switch main clock to clock Osc0 (crystal mode) + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param fosc0 Oscillator 0 crystal frequency (Hz) + * \param startup Crystal 0 startup time. AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC. + */ +extern void pm_switch_to_osc0(volatile avr32_pm_t *pm, unsigned int fosc0, unsigned int startup); + + +/*! \brief Enables the Brown-Out Detector interrupt. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + */ +extern void pm_bod_enable_irq(volatile avr32_pm_t *pm); + + +/*! \brief Disables the Brown-Out Detector interrupt. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + */ +extern void pm_bod_disable_irq(volatile avr32_pm_t *pm); + + +/*! \brief Clears the Brown-Out Detector interrupt flag. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + */ +extern void pm_bod_clear_irq(volatile avr32_pm_t *pm); + + +/*! \brief Gets the Brown-Out Detector interrupt flag. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * + * \retval 0 No BOD interrupt. + * \retval 1 BOD interrupt pending. + */ +extern unsigned long pm_bod_get_irq_status(volatile avr32_pm_t *pm); + + +/*! \brief Gets the Brown-Out Detector interrupt enable status. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * + * \retval 0 BOD interrupt disabled. + * \retval 1 BOD interrupt enabled. + */ +extern unsigned long pm_bod_get_irq_enable_bit(volatile avr32_pm_t *pm); + + +/*! \brief Gets the triggering threshold of the Brown-Out Detector. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM). + * + * \return Triggering threshold of the BOD. See the electrical characteristics + * in the part datasheet for actual voltage levels. + */ +extern unsigned long pm_bod_get_level(volatile avr32_pm_t *pm); + + +/*! + * \brief Read the content of the PM GPLP registers + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gplp GPLP register index (0,1,... depending on the number of GPLP registers for a given part) + * + * \return The content of the chosen GPLP register. + */ +extern unsigned long pm_read_gplp(volatile avr32_pm_t *pm, unsigned long gplp); + + +/*! + * \brief Write into the PM GPLP registers + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param gplp GPLP register index (0,1,... depending on the number of GPLP registers for a given part) + * \param value Value to write + */ +extern void pm_write_gplp(volatile avr32_pm_t *pm, unsigned long gplp, unsigned long value); + + +/*! \brief Enable the clock of a module. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param module The module to clock (use one of the defines in the part-specific + * header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the + * clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks") + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +extern long pm_enable_module(volatile avr32_pm_t *pm, unsigned long module); + +/*! \brief Disable the clock of a module. + * + * \param pm Base address of the Power Manager (i.e. &AVR32_PM) + * \param module The module to shut down (use one of the defines in the part-specific + * header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the + * clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks") + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +extern long pm_disable_module(volatile avr32_pm_t *pm, unsigned long module); + + + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks + * according to the user wishes. + * + * This function needs some parameters stored in a pm_freq_param_t structure: + * - cpu_f and pba_f are the wanted frequencies, + * - osc0_f is the oscillator 0 on-board frequency (e.g. FOSC0), + * - osc0_startup is the oscillator 0 startup time (e.g. OSC0_STARTUP). + * + * The function will then configure the clocks using the following rules: + * - It first try to find a valid PLL frequency (the highest possible value to avoid jitter) in order + * to satisfy the CPU frequency, + * - It optimizes the configuration depending the various divide stages, + * - Then, the PBA frequency is configured from the CPU freq. + * - Note that HSB and PBB are configured with the same frequency as CPU. + * - Note also that the number of wait states of the flash read accesses is automatically set-up depending + * the CPU frequency. As a consequence, the application needs the FLASHC driver to compile. + * + * The CPU, HSB and PBA frequencies programmed after configuration are stored back into cpu_f and pba_f. + * + * \param param pointer on the configuration structure. + * + * \retval PM_FREQ_STATUS_OK Mode successfully initialized. + * \retval PM_FREQ_STATUS_FAIL The configuration can not be done. + */ +extern int pm_configure_clocks(pm_freq_param_t *param); + + +/*! \brief Automatically configure the USB clock. + * + * USB clock is configured to 48MHz, using the PLL1 from the Oscillator0, assuming + * a 12 MHz crystal is connected to it. + */ +extern void pm_configure_usb_clock(void); + + +#endif // _PM_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm_conf_clocks.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm_conf_clocks.c new file mode 100644 index 0000000..8beb83b --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/pm_conf_clocks.c @@ -0,0 +1,268 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Power Manager clocks configuration helper. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <string.h> +#include "compiler.h" +#include "pm.h" + +extern void flashc_set_wait_state(unsigned int wait_state); +#if (defined AVR32_FLASHC_210_H_INCLUDED) +extern void flashc_issue_command(unsigned int command, int page_number); +#endif + + +#define PM_MAX_MUL ((1 << AVR32_PM_PLL0_PLLMUL_SIZE) - 1) + + +int pm_configure_clocks(pm_freq_param_t *param) +{ + // Supported frequencies: + // Fosc0 mul div PLL div2_en cpu_f pba_f Comment + // 12 15 1 192 1 12 12 + // 12 9 3 40 1 20 20 PLL out of spec + // 12 15 1 192 1 24 12 + // 12 9 1 120 1 30 15 + // 12 9 3 40 0 40 20 PLL out of spec + // 12 15 1 192 1 48 12 + // 12 15 1 192 1 48 24 + // 12 8 1 108 1 54 27 + // 12 9 1 120 1 60 15 + // 12 9 1 120 1 60 30 + // 12 10 1 132 1 66 16.5 + // + unsigned long in_cpu_f = param->cpu_f; + unsigned long in_osc0_f = param->osc0_f; + unsigned long mul, div, div2_en = 0, div2_cpu = 0, div2_pba = 0; + unsigned long pll_freq, rest; + Bool b_div2_pba, b_div2_cpu; + + // Switch to external Oscillator 0 + pm_switch_to_osc0(&AVR32_PM, in_osc0_f, param->osc0_startup); + + // Start with CPU freq config + if (in_cpu_f == in_osc0_f) + { + param->cpu_f = in_osc0_f; + param->pba_f = in_osc0_f; + return PM_FREQ_STATUS_OK; + } + else if (in_cpu_f < in_osc0_f) + { + // TBD + } + + rest = in_cpu_f % in_osc0_f; + + for (div = 1; div < 32; div++) + { + if ((div * rest) % in_osc0_f == 0) + break; + } + if (div == 32) + return PM_FREQ_STATUS_FAIL; + + mul = (in_cpu_f * div) / in_osc0_f; + + if (mul > PM_MAX_MUL) + return PM_FREQ_STATUS_FAIL; + + // export 2power from PLL div to div2_cpu + while (!(div % 2)) + { + div /= 2; + div2_cpu++; + } + + // Here we know the mul and div parameter of the PLL config. + // . Check out if the PLL has a valid in_cpu_f. + // . Try to have for the PLL frequency (VCO output) the highest possible value + // to reduce jitter. + while (in_osc0_f * 2 * mul / div < AVR32_PM_PLL_VCO_RANGE0_MAX_FREQ) + { + if (2 * mul > PM_MAX_MUL) + break; + mul *= 2; + div2_cpu++; + } + + if (div2_cpu != 0) + { + div2_cpu--; + div2_en = 1; + } + + pll_freq = in_osc0_f * mul / (div * (1 << div2_en)); + + // Update real CPU Frequency + param->cpu_f = pll_freq / (1 << div2_cpu); + mul--; + + pm_pll_setup(&AVR32_PM + , 0 // pll + , mul // mul + , div // div + , 0 // osc + , 16 // lockcount + ); + + pm_pll_set_option(&AVR32_PM + , 0 // pll + // PLL clock is lower than 160MHz: need to set pllopt. + , (pll_freq < AVR32_PM_PLL_VCO_RANGE0_MIN_FREQ) ? 1 : 0 // pll_freq + , div2_en // pll_div2 + , 0 // pll_wbwdisable + ); + + rest = pll_freq; + while (rest > AVR32_PM_PBA_MAX_FREQ || + rest != param->pba_f) + { + div2_pba++; + rest = pll_freq / (1 << div2_pba); + if (rest < param->pba_f) + break; + } + + // Update real PBA Frequency + param->pba_f = pll_freq / (1 << div2_pba); + + // Enable PLL0 + pm_pll_enable(&AVR32_PM, 0); + + // Wait for PLL0 locked + pm_wait_for_pll0_locked(&AVR32_PM); + + if (div2_cpu) + { + b_div2_cpu = TRUE; + div2_cpu--; + } + else + b_div2_cpu = FALSE; + + if (div2_pba) + { + b_div2_pba = TRUE; + div2_pba--; + } + else + b_div2_pba = FALSE; + + pm_cksel(&AVR32_PM + , b_div2_pba, div2_pba // PBA + , b_div2_cpu, div2_cpu // PBB + , b_div2_cpu, div2_cpu // HSB + ); + + if (param->cpu_f > AVR32_FLASHC_FWS_0_MAX_FREQ) + { + flashc_set_wait_state(1); +#if (defined AVR32_FLASHC_210_H_INCLUDED) + if (param->cpu_f > AVR32_FLASHC_HSEN_FWS_1_MAX_FREQ) + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSEN, -1); + else + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSDIS, -1); +#endif + } + else + { + flashc_set_wait_state(0); +#if (defined AVR32_FLASHC_210_H_INCLUDED) + if (param->cpu_f > AVR32_FLASHC_HSEN_FWS_0_MAX_FREQ) + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSEN, -1); + else + flashc_issue_command(AVR32_FLASHC_FCMD_CMD_HSDIS, -1); +#endif + } + + pm_switch_to_clock(&AVR32_PM, AVR32_PM_MCCTRL_MCSEL_PLL0); + + return PM_FREQ_STATUS_OK; +} + + +void pm_configure_usb_clock(void) +{ +#if UC3A3 + + // Setup USB GCLK. + pm_gc_setup(&AVR32_PM, AVR32_PM_GCLK_USBB, // gc + 0, // osc_or_pll: use Osc (if 0) or PLL (if 1) + 0, // pll_osc: select Osc0/PLL0 or Osc1/PLL1 + 0, // diven + 0); // div + + // Enable USB GCLK. + pm_gc_enable(&AVR32_PM, AVR32_PM_GCLK_USBB); +#else + // Use 12MHz from OSC0 and generate 96 MHz + pm_pll_setup(&AVR32_PM, 1, // pll. + 7, // mul. + 1, // div. + 0, // osc. + 16); // lockcount. + + pm_pll_set_option(&AVR32_PM, 1, // pll. + 1, // pll_freq: choose the range 80-180MHz. + 1, // pll_div2. + 0); // pll_wbwdisable. + + // start PLL1 and wait forl lock + pm_pll_enable(&AVR32_PM, 1); + + // Wait for PLL1 locked. + pm_wait_for_pll1_locked(&AVR32_PM); + + pm_gc_setup(&AVR32_PM, AVR32_PM_GCLK_USBB, // gc. + 1, // osc_or_pll: use Osc (if 0) or PLL (if 1). + 1, // pll_osc: select Osc0/PLL0 or Osc1/PLL1. + 0, // diven. + 0); // div. + pm_gc_enable(&AVR32_PM, AVR32_PM_GCLK_USBB); +#endif +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.c new file mode 100644 index 0000000..f5fc155 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.c @@ -0,0 +1,566 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief High-level library abstracting features such as oscillators/pll/dfll + * configuration, clock configuration, System-sensible parameters + * configuration, buses clocks configuration, sleep mode, reset. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ +#include "power_clocks_lib.h" + + +//! Device-specific data +#if UC3L +static long int pcl_configure_clocks_uc3l(pcl_freq_param_t *param); // FORWARD declaration +#endif + +#if UC3C +static long int pcl_configure_clocks_uc3c(pcl_freq_param_t *param); // FORWARD declaration +#endif + +long int pcl_configure_clocks(pcl_freq_param_t *param) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE + // Implementation for UC3A, UC3A3, UC3B parts. + return(pm_configure_clocks(param)); +#else + #ifdef AVR32_PM_410_H_INCLUDED + // Implementation for UC3C parts. + return(pcl_configure_clocks_uc3c(param)); + #else + // Implementation for UC3L parts. + return(pcl_configure_clocks_uc3l(param)); + #endif +#endif +} + + +//! Device-specific implementation +#if UC3L +// FORWARD declaration +static long int pcl_configure_synchronous_clocks( pm_clk_src_t main_clk_src, + unsigned long main_clock_freq_hz, + pcl_freq_param_t *param); + +long int pcl_configure_clocks_rcsys(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_RCSYS + + // Supported synchronous clocks frequencies if RCSYS is the main clock source: + // 115200Hz, 57600Hz, 28800Hz, 14400Hz, 7200Hz, 3600Hz, 1800Hz, 900Hz, 450Hz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that the target frequencies are reachable. + if((param->cpu_f > SCIF_SLOWCLOCK_FREQ_HZ) || (param->pba_f > SCIF_SLOWCLOCK_FREQ_HZ) + || (param->pbb_f > SCIF_SLOWCLOCK_FREQ_HZ)) + return(-1); +#endif + + return(pcl_configure_synchronous_clocks(PM_CLK_SRC_SLOW, SCIF_SLOWCLOCK_FREQ_HZ, param)); +} + + +long int pcl_configure_clocks_rc120m(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_RC120M + + // Supported synchronous clocks frequencies if RC120M is the main clock source: + // 30MHz, 15MHz, 7.5MHz, 3.75MHz, 1.875MHz, 937.5kHz, 468.75kHz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that the target frequencies are reachable. + if((param->cpu_f > SCIF_RC120M_FREQ_HZ) || (param->pba_f > SCIF_RC120M_FREQ_HZ) + || (param->pbb_f > SCIF_RC120M_FREQ_HZ)) + return(-1); +#endif + + // Start the 120MHz internal RCosc (RC120M) clock + scif_start_rc120M(); + + return(pcl_configure_synchronous_clocks(PM_CLK_SRC_RC120M, SCIF_RC120M_FREQ_HZ, param)); +} + + +long int pcl_configure_clocks_osc0(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_OSC0 + + // Supported synchronous clocks frequencies if OSC0 is the main clock source: + // (these obviously depend on the OSC0 frequency; we'll take 16MHz as an example) + // 16MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500kHz, 250kHz, 125kHz, 62.5kHz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + + unsigned long main_clock_freq; + + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + + main_clock_freq = param->osc0_f; +#ifdef AVR32SFW_INPUT_CHECK + // Verify that the target frequencies are reachable. + if((param->cpu_f > main_clock_freq) || (param->pba_f > main_clock_freq) + || (param->pbb_f > main_clock_freq)) + return(-1); +#endif + // Configure OSC0 in crystal mode, external crystal with a fcrystal Hz frequency. + scif_configure_osc_crystalmode(SCIF_OSC0, main_clock_freq); + // Enable the OSC0 + scif_enable_osc(SCIF_OSC0, param->osc0_startup, true); + + return(pcl_configure_synchronous_clocks(PM_CLK_SRC_OSC0, main_clock_freq, param)); +} + + +long int pcl_configure_clocks_dfll0(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_DFLL + + // Supported synchronous clocks frequencies if DFLL is the main clock source: + // (these obviously depend on the DFLL target frequency; we'll take 100MHz as an example) + // 50MHz, 25MHz, 12.5MHz, 6.25MHz, 3.125MHz, 1562.5kHz, 781.25kHz, 390.625kHz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + + unsigned long main_clock_freq; + scif_gclk_opt_t *pgc_dfllif_ref_opt; + + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + + main_clock_freq = param->dfll_f; +#ifdef AVR32SFW_INPUT_CHECK + // Verify that the target DFLL output frequency is in the correct range. + if((main_clock_freq > SCIF_DFLL_MAXFREQ_HZ) || (main_clock_freq < SCIF_DFLL_MINFREQ_HZ)) + return(-1); + // Verify that the target frequencies are reachable. + if((param->cpu_f > main_clock_freq) || (param->pba_f > main_clock_freq) + || (param->pbb_f > main_clock_freq)) + return(-1); +#endif + pgc_dfllif_ref_opt = (scif_gclk_opt_t *)param->pextra_params; + // Implementation note: this implementation configures the DFLL in closed-loop + // mode (because it gives the best accuracy) which enables the generic clock CLK_DFLLIF_REF + // as a reference (RCSYS being used as the generic clock source, undivided). + scif_dfll0_closedloop_configure_and_start(pgc_dfllif_ref_opt, main_clock_freq, TRUE); + + return(pcl_configure_synchronous_clocks(PM_CLK_SRC_DFLL0, main_clock_freq, param)); +} + + +static long int pcl_configure_clocks_uc3l(pcl_freq_param_t *param) +{ + // Supported main clock sources: PCL_MC_RCSYS, PCL_MC_OSC0, PCL_MC_DFLL0, PCL_MC_RC120M + + // Supported synchronous clocks frequencies if RCSYS is the main clock source: + // 115200Hz, 57600Hz, 28800Hz, 14400Hz, 7200Hz, 3600Hz, 1800Hz, 900Hz, 450Hz. + + // Supported synchronous clocks frequencies if RC120M is the main clock source: + // 30MHz, 15MHz, 7.5MHz, 3.75MHz, 1.875MHz, 937.5kHz, 468.75kHz. + + // Supported synchronous clocks frequencies if OSC0 is the main clock source: + // (these obviously depend on the OSC0 frequency; we'll take 16MHz as an example) + // 16MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500kHz, 250kHz, 125kHz, 62.5kHz. + + // Supported synchronous clocks frequencies if DFLL is the main clock source: + // (these obviously depend on the DFLL target frequency; we'll take 100MHz as an example) + // 50MHz, 25MHz, 12.5MHz, 6.25MHz, 3.125MHz, 1562.5kHz, 781.25kHz, 390.625kHz. + + // NOTE: by default, this implementation doesn't perform thorough checks on the + // input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + + +#ifdef AVR32SFW_INPUT_CHECK + // Verify that fCPU >= fPBx + if((param->cpu_f < param->pba_f) || (param->cpu_f < param->pbb_f)) + return(-1); +#endif + + if(PCL_MC_RCSYS == param->main_clk_src) + { + return(pcl_configure_clocks_rcsys(param)); + } + else if(PCL_MC_RC120M == param->main_clk_src) + { + return(pcl_configure_clocks_rc120m(param)); + } + else if(PCL_MC_OSC0 == param->main_clk_src) + { + return(pcl_configure_clocks_osc0(param)); + } + else // PCL_MC_DFLL0 == param->main_clk_src + { + return(pcl_configure_clocks_dfll0(param)); + } +} + +static long int pcl_configure_synchronous_clocks(pm_clk_src_t main_clk_src, unsigned long main_clock_freq_hz, pcl_freq_param_t *param) +{ + //# + //# Set the Synchronous clock division ratio for each clock domain + //# + pm_set_all_cksel(main_clock_freq_hz, param->cpu_f, param->pba_f, param->pbb_f); + + //# + //# Set the Flash wait state and the speed read mode (depending on the target CPU frequency). + //# +#if UC3L + flashcdw_set_flash_waitstate_and_readmode(param->cpu_f); +#elif UC3C + flashc_set_flash_waitstate_and_readmode(param->cpu_f); +#endif + + + //# + //# Switch the main clock source to the selected clock. + //# + pm_set_mclk_source(main_clk_src); + + return PASS; +} + +#endif // UC3L device-specific implementation + +//! UC3C Device-specific implementation +#if UC3C +static long int pcl_configure_clocks_uc3c(pcl_freq_param_t *param) +{ + #define PM_MAX_MUL ((1 << AVR32_SCIF_PLLMUL_SIZE) - 1) + #define AVR32_PM_PBA_MAX_FREQ 66000000 + #define AVR32_PM_PLL_VCO_RANGE0_MAX_FREQ 240000000 + #define AVR32_PM_PLL_VCO_RANGE0_MIN_FREQ 160000000 + + // Implementation for UC3C parts. + // Supported frequencies: + // Fosc0 mul div PLL div2_en cpu_f pba_f Comment + // 12 15 1 192 1 12 12 + // 12 9 3 40 1 20 20 PLL out of spec + // 12 15 1 192 1 24 12 + // 12 9 1 120 1 30 15 + // 12 9 3 40 0 40 20 PLL out of spec + // 12 15 1 192 1 48 12 + // 12 15 1 192 1 48 24 + // 12 8 1 108 1 54 27 + // 12 9 1 120 1 60 15 + // 12 9 1 120 1 60 30 + // 12 10 1 132 1 66 16.5 + // + unsigned long in_cpu_f = param->cpu_f; + unsigned long in_osc0_f = param->osc0_f; + unsigned long mul, div, div2_en = 0, div2_cpu = 0, div2_pba = 0; + unsigned long pll_freq, rest; + Bool b_div2_pba, b_div2_cpu; + + // Configure OSC0 in crystal mode, external crystal with a FOSC0 Hz frequency. + scif_configure_osc_crystalmode(SCIF_OSC0, in_osc0_f); + // Enable the OSC0 + scif_enable_osc(SCIF_OSC0, param->osc0_startup, true); + // Set the main clock source as being OSC0. + pm_set_mclk_source(PM_CLK_SRC_OSC0); + + // Start with CPU freq config + if (in_cpu_f == in_osc0_f) + { + param->cpu_f = in_osc0_f; + param->pba_f = in_osc0_f; + return PASS; + } + else if (in_cpu_f < in_osc0_f) + { + // TBD + } + + rest = in_cpu_f % in_osc0_f; + + for (div = 1; div < 32; div++) + { + if ((div * rest) % in_osc0_f == 0) + break; + } + if (div == 32) + return FAIL; + + mul = (in_cpu_f * div) / in_osc0_f; + + if (mul > PM_MAX_MUL) + return FAIL; + + // export 2power from PLL div to div2_cpu + while (!(div % 2)) + { + div /= 2; + div2_cpu++; + } + + // Here we know the mul and div parameter of the PLL config. + // . Check out if the PLL has a valid in_cpu_f. + // . Try to have for the PLL frequency (VCO output) the highest possible value + // to reduce jitter. + while (in_osc0_f * 2 * mul / div < AVR32_PM_PLL_VCO_RANGE0_MAX_FREQ) + { + if (2 * mul > PM_MAX_MUL) + break; + mul *= 2; + div2_cpu++; + } + + if (div2_cpu != 0) + { + div2_cpu--; + div2_en = 1; + } + + pll_freq = in_osc0_f * mul / (div * (1 << div2_en)); + + // Update real CPU Frequency + param->cpu_f = pll_freq / (1 << div2_cpu); + mul--; + + scif_pll_opt_t opt; + + opt.osc = SCIF_OSC0, // Sel Osc0 or Osc1 + opt.lockcount = 16, // lockcount in main clock for the PLL wait lock + opt.div = div, // DIV=1 in the formula + opt.mul = mul, // MUL=7 in the formula + opt.pll_div2 = div2_en, // pll_div2 Divide the PLL output frequency by 2 (this settings does not change the FVCO value) + opt.pll_wbwdisable = 0, //pll_wbwdisable 1 Disable the Wide-Bandith Mode (Wide-Bandwith mode allow a faster startup time and out-of-lock time). 0 to enable the Wide-Bandith Mode. + opt.pll_freq = (pll_freq < AVR32_PM_PLL_VCO_RANGE0_MIN_FREQ) ? 1 : 0, // Set to 1 for VCO frequency range 80-180MHz, set to 0 for VCO frequency range 160-240Mhz. + + + scif_pll_setup(SCIF_PLL0, opt); // lockcount in main clock for the PLL wait lock + + /* Enable PLL0 */ + scif_pll_enable(SCIF_PLL0); + + /* Wait for PLL0 locked */ + scif_wait_for_pll_locked(SCIF_PLL0) ; + + rest = pll_freq; + while (rest > AVR32_PM_PBA_MAX_FREQ || + rest != param->pba_f) + { + div2_pba++; + rest = pll_freq / (1 << div2_pba); + if (rest < param->pba_f) + break; + } + + // Update real PBA Frequency + param->pba_f = pll_freq / (1 << div2_pba); + + + if (div2_cpu) + { + b_div2_cpu = TRUE; + div2_cpu--; + } + else + b_div2_cpu = FALSE; + + if (div2_pba) + { + b_div2_pba = TRUE; + div2_pba--; + } + else + b_div2_pba = FALSE; + + if (b_div2_cpu == TRUE ) + { + pm_set_clk_domain_div(PM_CLK_DOMAIN_0, (pm_divratio_t) div2_cpu); // CPU + pm_set_clk_domain_div(PM_CLK_DOMAIN_1, (pm_divratio_t) div2_cpu); // HSB + pm_set_clk_domain_div(PM_CLK_DOMAIN_3, (pm_divratio_t) div2_cpu); // PBB + } + if (b_div2_pba == TRUE ) + { + pm_set_clk_domain_div(PM_CLK_DOMAIN_2, (pm_divratio_t) div2_pba); // PBA + pm_set_clk_domain_div(PM_CLK_DOMAIN_4, (pm_divratio_t) div2_pba); // PBC + } + + // Set Flashc Wait State + flashc_set_flash_waitstate_and_readmode(param->cpu_f); + + // Set the main clock source as being PLL0. + pm_set_mclk_source(PM_CLK_SRC_PLL0); + + return PASS; +} +#endif // UC3C device-specific implementation + +long int pcl_switch_to_osc(pcl_osc_t osc, unsigned int fcrystal, unsigned int startup) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. + if(PCL_OSC0 == osc) + { + // Configure OSC0 in crystal mode, external crystal with a FOSC0 Hz frequency, + // enable the OSC0, set the main clock source as being OSC0. + pm_switch_to_osc0(&AVR32_PM, fcrystal, startup); + } + else + { + return PCL_NOT_SUPPORTED; + } +#else +// Implementation for UC3C, UC3L parts. + #if AVR32_PM_VERSION_RESETVALUE < 0x400 + return PCL_NOT_SUPPORTED; + #else + if(PCL_OSC0 == osc) + { + // Configure OSC0 in crystal mode, external crystal with a fcrystal Hz frequency. + scif_configure_osc_crystalmode(SCIF_OSC0, fcrystal); + // Enable the OSC0 + scif_enable_osc(SCIF_OSC0, startup, true); + // Set the Flash wait state and the speed read mode (depending on the target CPU frequency). +#if UC3L + flashcdw_set_flash_waitstate_and_readmode(fcrystal); +#elif UC3C + flashc_set_flash_waitstate_and_readmode(fcrystal); +#endif + // Set the main clock source as being OSC0. + pm_set_mclk_source(PM_CLK_SRC_OSC0); + } + else + { + return PCL_NOT_SUPPORTED; + } + #endif +#endif + return PASS; +} + +long int pcl_configure_usb_clock(void) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. + pm_configure_usb_clock(); + return PASS; +#else + #ifdef AVR32_PM_410_H_INCLUDED + const scif_pll_opt_t opt = { + .osc = SCIF_OSC0, // Sel Osc0 or Osc1 + .lockcount = 16, // lockcount in main clock for the PLL wait lock + .div = 1, // DIV=1 in the formula + .mul = 5, // MUL=7 in the formula + .pll_div2 = 1, // pll_div2 Divide the PLL output frequency by 2 (this settings does not change the FVCO value) + .pll_wbwdisable = 0, //pll_wbwdisable 1 Disable the Wide-Bandith Mode (Wide-Bandwith mode allow a faster startup time and out-of-lock time). 0 to enable the Wide-Bandith Mode. + .pll_freq = 1, // Set to 1 for VCO frequency range 80-180MHz, set to 0 for VCO frequency range 160-240Mhz. + }; + + /* Setup PLL1 on Osc0, mul=7 ,no divisor, lockcount=16, ie. 16Mhzx6 = 96MHz output */ + scif_pll_setup(SCIF_PLL1, opt); // lockcount in main clock for the PLL wait lock + + /* Enable PLL1 */ + scif_pll_enable(SCIF_PLL1); + + /* Wait for PLL1 locked */ + scif_wait_for_pll_locked(SCIF_PLL1) ; + + // Implementation for UC3C parts. + // Setup the generic clock for USB + scif_gc_setup(AVR32_SCIF_GCLK_USB, + SCIF_GCCTRL_PLL1, + AVR32_SCIF_GC_NO_DIV_CLOCK, + 0); + // Now enable the generic clock + scif_gc_enable(AVR32_SCIF_GCLK_USB); + return PASS; + #else + return PCL_NOT_SUPPORTED; + #endif +#endif +} + + +#if UC3L +#else +void pcl_write_gplp(unsigned long gplp, unsigned long value) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. + pm_write_gplp(&AVR32_PM,gplp,value); +#else + scif_write_gplp(gplp,value); +#endif +} + +unsigned long pcl_read_gplp(unsigned long gplp) +{ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. + return pm_read_gplp(&AVR32_PM,gplp); +#else + return scif_read_gplp(gplp); +#endif +} +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.h new file mode 100644 index 0000000..28c5888 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/PM/power_clocks_lib.h @@ -0,0 +1,379 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief High-level library abstracting features such as oscillators/pll/dfll + * configuration, clock configuration, System-sensible parameters + * configuration, buses clocks configuration, sleep mode, reset. + * + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _POWER_CLOCKS_LIB_H_ +#define _POWER_CLOCKS_LIB_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <avr32/io.h> +#include "compiler.h" + +#ifndef AVR32_PM_VERSION_RESETVALUE +// Support for UC3A, UC3A3, UC3B parts. + #include "pm.h" +#else +//! Device-specific data +#if UC3L + #include "pm_uc3l.h" + #include "scif_uc3l.h" + #include "flashcdw.h" +#elif UC3C + #include "pm_uc3c.h" + #include "scif_uc3c.h" + #include "flashc.h" +#endif +#endif + +/*! \name Clocks Management + */ +//! @{ + +//! The different oscillators +typedef enum +{ + PCL_OSC0 = 0, + PCL_OSC1 = 1 +} pcl_osc_t; + +//! The different DFLLs +typedef enum +{ + PCL_DFLL0 = 0, + PCL_DFLL1 = 1 +} pcl_dfll_t; + +//! Possible Main Clock Sources +typedef enum +{ + PCL_MC_RCSYS, // Default main clock source, supported by all (aka Slow Clock) + PCL_MC_OSC0, // Supported by all + PCL_MC_OSC1, // Supported by UC3C only + PCL_MC_OSC0_PLL0, // Supported by UC3A, UC3B, UC3A3, UC3C (the main clock source is PLL0 with OSC0 as reference) + PCL_MC_OSC1_PLL0, // Supported by UC3A, UC3B, UC3A3, UC3C (the main clock source is PLL0 with OSC1 as reference) + PCL_MC_OSC0_PLL1, // Supported by UC3C (the main clock source is PLL1 with OSC0 as reference) + PCL_MC_OSC1_PLL1, // Supported by UC3C (the main clock source is PLL1 with OSC1 as reference) + PCL_MC_DFLL0, // Supported by UC3L + PCL_MC_DFLL1, // Not supported yet + PCL_MC_RC120M, // Supported by UC3L, UC3C + PCL_MC_RC8M, // Supported by UC3C + PCL_MC_CRIPOSC // Supported by UC3C +} pcl_mainclk_t; + +//! Input and output parameters to configure clocks with pcl_configure_clocks(). +// NOTE: regarding the frequency settings, always abide by the datasheet rules and min & max supported frequencies. +#ifndef AVR32_PM_VERSION_RESETVALUE +// Support for UC3A, UC3A3, UC3B parts. +#define pcl_freq_param_t pm_freq_param_t // See pm.h +#else +// Support for UC3C, UC3L parts. +typedef struct +{ + //! Main clock source selection (input argument). + pcl_mainclk_t main_clk_src; + + //! Target CPU frequency (input/output argument). + unsigned long cpu_f; + + //! Target PBA frequency (input/output argument). + unsigned long pba_f; + + //! Target PBB frequency (input/output argument). + unsigned long pbb_f; + + //! Target PBC frequency (input/output argument). + unsigned long pbc_f; + + //! Oscillator 0's external crystal(or external clock) frequency (board dependant) (input argument). + unsigned long osc0_f; + + //! Oscillator 0's external crystal(or external clock) startup time: AVR32_PM_OSCCTRL0_STARTUP_x_RCOSC (input argument). + unsigned long osc0_startup; + + //! DFLL target frequency (input/output argument) (NOTE: the bigger, the most stable the frequency) + unsigned long dfll_f; + + //! Other parameters that might be necessary depending on the device (implementation-dependent). + // For the UC3L DFLL setup, this parameter should be pointing to a structure of + // type (scif_gclk_opt_t *). + void *pextra_params; +} pcl_freq_param_t; +#endif + +//! Define "not supported" for the lib. +#define PCL_NOT_SUPPORTED (-10000) + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - main_clk_src is the id of the main clock source to use, + * - cpu_f and pba_f and pbb_f are the wanted frequencies, + * - osc0_f is the oscillator 0's external crystal (or external clock) on-board frequency (e.g. FOSC0), + * - osc0_startup is the oscillator 0's external crystal (or external clock) startup time (e.g. OSC0_STARTUP). + * - dfll_f is the target DFLL frequency to set-up if main_clk_src is the dfll. + * + * The CPU, HSB and PBA frequencies programmed after configuration are stored back into cpu_f and pba_f. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks() and modify it to use + * preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks(pcl_freq_param_t *param); + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks using the RCSYS osc as main source clock. + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - cpu_f and pba_f and pbb_f are the wanted frequencies + * + * Supported main clock sources: PCL_MC_RCSYS + * + * Supported synchronous clocks frequencies: + * 115200Hz, 57600Hz, 28800Hz, 14400Hz, 7200Hz, 3600Hz, 1800Hz, 900Hz, 450Hz. + * + * \note: by default, this implementation doesn't perform thorough checks on the + * input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks_rcsys() and modify it to use + * preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks_rcsys(pcl_freq_param_t *param); + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks using the RC120M osc as main source clock. + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - cpu_f and pba_f and pbb_f are the wanted frequencies + * + * Supported main clock sources: PCL_MC_RC120M + * + * Supported synchronous clocks frequencies: + * 30MHz, 15MHz, 7.5MHz, 3.75MHz, 1.875MHz, 937.5kHz, 468.75kHz. + * + * \note: by default, this implementation doesn't perform thorough checks on the + * input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks_rc120m() and modify it to + * use preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks_rc120m(pcl_freq_param_t *param); + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks using the OSC0 osc as main source clock + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - cpu_f and pba_f and pbb_f are the wanted frequencies, + * - osc0_f is the oscillator 0's external crystal (or external clock) on-board frequency (e.g. FOSC0), + * - osc0_startup is the oscillator 0's external crystal (or external clock) startup time (e.g. OSC0_STARTUP). + * + * Supported main clock sources: PCL_MC_OSC0 + * + * Supported synchronous clocks frequencies: + * (these obviously depend on the OSC0 frequency; we'll take 16MHz as an example) + * 16MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500kHz, 250kHz, 125kHz, 62.5kHz. + * + * \note: by default, this implementation doesn't perform thorough checks on the + * input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks_osc0() and modify it to use + * preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks_osc0(pcl_freq_param_t *param); + +/*! \brief Automatically configure the CPU, PBA, PBB, and HSB clocks using the DFLL0 as main source clock + * + * This function needs some parameters stored in a pcl_freq_param_t structure: + * - cpu_f and pba_f and pbb_f are the wanted frequencies, + * - dfll_f is the target DFLL frequency to set-up + * + * \note: when the DFLL0 is to be used as main source clock for the synchronous clocks, + * the target frequency of the DFLL should be chosen to be as high as possible + * within the specification range (for stability reasons); the target cpu and pbx + * frequencies will then be reached by appropriate division ratio. + * + * Supported main clock sources: PCL_MC_DFLL0 + * + * Supported synchronous clocks frequencies: + * (these obviously depend on the DFLL target frequency; we'll take 100MHz as an example) + * 50MHz, 25MHz, 12.5MHz, 6.25MHz, 3.125MHz, 1562.5kHz, 781.25kHz, 390.625kHz. + * + * \note: by default, this implementation doesn't perform thorough checks on the + * input parameters. To enable the checks, define AVR32SFW_INPUT_CHECK. + * + * \note: since it is dynamically computing the appropriate field values of the + * configuration registers from the parameters structure, this function is not + * optimal in terms of code size. For a code size optimal solution, it is better + * to create a new function from pcl_configure_clocks_dfll0() and modify it to + * use preprocessor computation from pre-defined target frequencies. + * + * \param param pointer on the configuration structure. + * + * \retval 0 Success. + * \retval <0 The configuration cannot be performed. + */ +extern long int pcl_configure_clocks_dfll0(pcl_freq_param_t *param); + +/*! \brief Switch the main clock source to Osc0 configured in crystal mode + * + * \param osc The oscillator to enable and switch to. + * \param fcrystal Oscillator external crystal frequency (Hz) + * \param startup Oscillator startup time. + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +extern long int pcl_switch_to_osc(pcl_osc_t osc, unsigned int fcrystal, unsigned int startup); + +/*! \brief Enable the clock of a module. + * + * \param module The module to clock (use one of the defines in the part-specific + * header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the + * clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks" + * or look in the module section). + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. +#define pcl_enable_module(module) pm_enable_module(&AVR32_PM, module) +#else +// Implementation for UC3C, UC3L parts. +#define pcl_enable_module(module) pm_enable_module(module) +#endif + +/*! \brief Disable the clock of a module. + * + * \param module The module to shut down (use one of the defines in the part-specific + * header file under "toolchain folder"/avr32/inc(lude)/avr32/; depending on the + * clock domain, look for the sections "CPU clocks", "HSB clocks", "PBx clocks" + * or look in the module section). + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +#ifndef AVR32_PM_VERSION_RESETVALUE +// Implementation for UC3A, UC3A3, UC3B parts. +#define pcl_disable_module(module) pm_disable_module(&AVR32_PM, module) +#else +// Implementation for UC3C, UC3L parts. +#define pcl_disable_module(module) pm_disable_module(module) +#endif + +/*! \brief Configure the USB Clock + * + * + * \return Status. + * \retval 0 Success. + * \retval <0 An error occured. + */ +extern long int pcl_configure_usb_clock(void); + +//! @} + +/*! \name Power Management + */ +//! @{ +/*! + * \brief Read the content of the GPLP registers + * \param gplp GPLP register index (0,1,... depending on the number of GPLP registers for a given part) + * + * \return The content of the chosen GPLP register. + */ +extern unsigned long pcl_read_gplp(unsigned long gplp); + + +/*! + * \brief Write into the GPLP registers + * \param gplp GPLP register index (0,1,... depending on the number of GPLP registers for a given part) + * \param value Value to write + */ +extern void pcl_write_gplp(unsigned long gplp, unsigned long value); + +//! @} + +#ifdef __cplusplus +} +#endif + +#endif // _POWER_CLOCKS_LIB_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c new file mode 100644 index 0000000..cadb8b1 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.c @@ -0,0 +1,443 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief SPI driver for AVR32 UC3. + * + * This file defines a useful set of functions for the SPI interface on AVR32 + * devices. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "spi.h" + +#ifdef FREERTOS_USED + +#include "FreeRTOS.h" +#include "semphr.h" + +#endif + + +/*! \name SPI Writable Bit-Field Registers + */ +//! @{ + +typedef union +{ + unsigned long cr; + avr32_spi_cr_t CR; +} u_avr32_spi_cr_t; + +typedef union +{ + unsigned long mr; + avr32_spi_mr_t MR; +} u_avr32_spi_mr_t; + +typedef union +{ + unsigned long tdr; + avr32_spi_tdr_t TDR; +} u_avr32_spi_tdr_t; + +typedef union +{ + unsigned long ier; + avr32_spi_ier_t IER; +} u_avr32_spi_ier_t; + +typedef union +{ + unsigned long idr; + avr32_spi_idr_t IDR; +} u_avr32_spi_idr_t; + +typedef union +{ + unsigned long csr; + avr32_spi_csr0_t CSR; +} u_avr32_spi_csr_t; + +//! @} + + +#ifdef FREERTOS_USED + +//! The SPI mutex. +static xSemaphoreHandle xSPIMutex; + +#endif + + +/*! \brief Calculates the baudrate divider. + * + * \param options Pointer to a structure containing initialization options for + * an SPI channel. + * \param pba_hz SPI module input clock frequency (PBA clock, Hz). + * + * \return Divider or error code. + * \retval >=0 Success. + * \retval <0 Error. + */ +static int getBaudDiv(const spi_options_t *options, unsigned int pba_hz) +{ + int baudDiv = (pba_hz + options->baudrate / 2) / options->baudrate; + + if (baudDiv <= 0 || baudDiv > 255) { + return -1; + } + + return baudDiv; +} + + +void spi_reset(volatile avr32_spi_t *spi) +{ + spi->cr = AVR32_SPI_CR_SWRST_MASK; +} + + +spi_status_t spi_initSlave(volatile avr32_spi_t *spi, + unsigned char bits, + unsigned char spi_mode) +{ + if (spi_mode > 3 || + bits < 8 || bits > 16) { + return SPI_ERROR_ARGUMENT; + } + + // Reset. + spi->cr = AVR32_SPI_CR_SWRST_MASK; + + // Will use CSR0 offsets; these are the same for CSR0 to CSR3. + spi->csr0 = ((spi_mode >> 1) << AVR32_SPI_CSR0_CPOL_OFFSET) | + (((spi_mode & 0x1) ^ 0x1) << AVR32_SPI_CSR0_NCPHA_OFFSET) | + ((bits - 8) << AVR32_SPI_CSR0_BITS_OFFSET); + + return SPI_OK; +} + + +spi_status_t spi_initTest(volatile avr32_spi_t *spi) +{ + // Reset. + spi->cr = AVR32_SPI_CR_SWRST_MASK; + spi->mr |= AVR32_SPI_MR_MSTR_MASK | // Master Mode. + AVR32_SPI_MR_LLB_MASK; // Local Loopback. + + return SPI_OK; +} + + +spi_status_t spi_initMaster(volatile avr32_spi_t *spi, const spi_options_t *options) +{ + u_avr32_spi_mr_t u_avr32_spi_mr; + + if (options->modfdis > 1) { + return SPI_ERROR_ARGUMENT; + } + + // Reset. + spi->cr = AVR32_SPI_CR_SWRST_MASK; + + // Master Mode. + u_avr32_spi_mr.mr = spi->mr; + u_avr32_spi_mr.MR.mstr = 1; + u_avr32_spi_mr.MR.modfdis = options->modfdis; + u_avr32_spi_mr.MR.llb = 0; + u_avr32_spi_mr.MR.pcs = (1 << AVR32_SPI_MR_PCS_SIZE) - 1; + spi->mr = u_avr32_spi_mr.mr; + + return SPI_OK; +} + + +spi_status_t spi_selectionMode(volatile avr32_spi_t *spi, + unsigned char variable_ps, + unsigned char pcs_decode, + unsigned char delay) +{ + u_avr32_spi_mr_t u_avr32_spi_mr; + + if (variable_ps > 1 || + pcs_decode > 1) { + return SPI_ERROR_ARGUMENT; + } + + u_avr32_spi_mr.mr = spi->mr; + u_avr32_spi_mr.MR.ps = variable_ps; + u_avr32_spi_mr.MR.pcsdec = pcs_decode; + u_avr32_spi_mr.MR.dlybcs = delay; + spi->mr = u_avr32_spi_mr.mr; + + return SPI_OK; +} + + +spi_status_t spi_selectChip(volatile avr32_spi_t *spi, unsigned char chip) +{ +#ifdef FREERTOS_USED + while (pdFALSE == xSemaphoreTake(xSPIMutex, 20)); +#endif + + // Assert all lines; no peripheral is selected. + spi->mr |= AVR32_SPI_MR_PCS_MASK; + + if (spi->mr & AVR32_SPI_MR_PCSDEC_MASK) { + // The signal is decoded; allow up to 15 chips. + if (chip > 14) { + return SPI_ERROR_ARGUMENT; + } + + spi->mr &= ~AVR32_SPI_MR_PCS_MASK | (chip << AVR32_SPI_MR_PCS_OFFSET); + } else { + if (chip > 3) { + return SPI_ERROR_ARGUMENT; + } + + spi->mr &= ~(1 << (AVR32_SPI_MR_PCS_OFFSET + chip)); + } + + return SPI_OK; +} + + +spi_status_t spi_unselectChip(volatile avr32_spi_t *spi, unsigned char chip) +{ + unsigned int timeout = SPI_TIMEOUT; + + while (!(spi->sr & AVR32_SPI_SR_TXEMPTY_MASK)) { + if (!timeout--) { + return SPI_ERROR_TIMEOUT; + } + } + + // Assert all lines; no peripheral is selected. + spi->mr |= AVR32_SPI_MR_PCS_MASK; + + // Last transfer, so deassert the current NPCS if CSAAT is set. + spi->cr = AVR32_SPI_CR_LASTXFER_MASK; + +#ifdef FREERTOS_USED + xSemaphoreGive(xSPIMutex); +#endif + + return SPI_OK; +} + + +spi_status_t spi_setupChipReg(volatile avr32_spi_t *spi, + const spi_options_t *options, + unsigned int pba_hz) +{ + u_avr32_spi_csr_t u_avr32_spi_csr; + + if (options->spi_mode > 3 || + options->stay_act > 1 || + options->bits < 8 || options->bits > 16) { + return SPI_ERROR_ARGUMENT; + } + + int baudDiv = getBaudDiv(options, pba_hz); + + if (baudDiv < 0) { + return SPI_ERROR_ARGUMENT; + } + + // Will use CSR0 offsets; these are the same for CSR0 to CSR3. + u_avr32_spi_csr.csr = 0; + u_avr32_spi_csr.CSR.cpol = options->spi_mode >> 1; + u_avr32_spi_csr.CSR.ncpha = (options->spi_mode & 0x1) ^ 0x1; + u_avr32_spi_csr.CSR.csaat = options->stay_act; + u_avr32_spi_csr.CSR.bits = options->bits - 8; + u_avr32_spi_csr.CSR.scbr = baudDiv; + u_avr32_spi_csr.CSR.dlybs = options->spck_delay; + u_avr32_spi_csr.CSR.dlybct = options->trans_delay; + + switch(options->reg) { + case 0: + spi->csr0 = u_avr32_spi_csr.csr; + break; + case 1: + spi->csr1 = u_avr32_spi_csr.csr; + break; + case 2: + spi->csr2 = u_avr32_spi_csr.csr; + break; + case 3: + spi->csr3 = u_avr32_spi_csr.csr; + break; + default: + return SPI_ERROR_ARGUMENT; + } + +#ifdef FREERTOS_USED + if (!xSPIMutex) + { + // Create the SPI mutex. + vSemaphoreCreateBinary(xSPIMutex); + if (!xSPIMutex) + { + while(1); + } + } +#endif + + return SPI_OK; +} + + +void spi_enable(volatile avr32_spi_t *spi) +{ + spi->cr = AVR32_SPI_CR_SPIEN_MASK; +} + + +void spi_disable(volatile avr32_spi_t *spi) +{ + spi->cr = AVR32_SPI_CR_SPIDIS_MASK; +} + + +int spi_is_enabled(volatile avr32_spi_t *spi) +{ + return (spi->sr & AVR32_SPI_SR_SPIENS_MASK) != 0; +} + + +unsigned char spi_writeRegisterEmptyCheck(volatile avr32_spi_t *spi) +{ + return ((spi->sr & AVR32_SPI_SR_TDRE_MASK) != 0); +} + + +spi_status_t spi_write(volatile avr32_spi_t *spi, unsigned short data) +{ + unsigned int timeout = SPI_TIMEOUT; + + while (!(spi->sr & AVR32_SPI_SR_TDRE_MASK)) { + if (!timeout--) { + return SPI_ERROR_TIMEOUT; + } + } + + spi->tdr = data << AVR32_SPI_TDR_TD_OFFSET; + + return SPI_OK; +} + + +spi_status_t spi_variableSlaveWrite(volatile avr32_spi_t *spi, unsigned short data, + unsigned char pcs, unsigned char lastxfer) +{ + unsigned int timeout = SPI_TIMEOUT; + + if (pcs > 14 || lastxfer > 1) { + return SPI_ERROR_ARGUMENT; + } + + while (!(spi->sr & AVR32_SPI_SR_TDRE_MASK)) { + if (!timeout--) { + return SPI_ERROR_TIMEOUT; + } + } + + spi->tdr = (data << AVR32_SPI_TDR_TD_OFFSET) | + (pcs << AVR32_SPI_TDR_PCS_OFFSET) | + (lastxfer << AVR32_SPI_TDR_LASTXFER_OFFSET); + + return SPI_OK; +} + + +unsigned char spi_writeEndCheck(volatile avr32_spi_t *spi) +{ + return ((spi->sr & AVR32_SPI_SR_TXEMPTY_MASK) != 0); +} + + +unsigned char spi_readRegisterFullCheck(volatile avr32_spi_t *spi) +{ + return ((spi->sr & AVR32_SPI_SR_RDRF_MASK) != 0); +} + + +spi_status_t spi_read(volatile avr32_spi_t *spi, unsigned short *data) +{ + unsigned int timeout = SPI_TIMEOUT; + + while ((spi->sr & (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) != + (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) { + if (!timeout--) { + return SPI_ERROR_TIMEOUT; + } + } + + *data = spi->rdr >> AVR32_SPI_RDR_RD_OFFSET; + + return SPI_OK; +} + + +unsigned char spi_getStatus(volatile avr32_spi_t *spi) +{ + spi_status_t ret = SPI_OK; + unsigned long sr = spi->sr; + + if (sr & AVR32_SPI_SR_OVRES_MASK) { + ret = SPI_ERROR_OVERRUN; + } + + if (sr & AVR32_SPI_SR_MODF_MASK) { + ret += SPI_ERROR_MODE_FAULT; + } + + if (ret == (SPI_ERROR_OVERRUN + SPI_ERROR_MODE_FAULT)) { + return SPI_ERROR_OVERRUN_AND_MODE_FAULT; + } + else if (ret > 0) { + return ret; + } else { + return SPI_OK; + } +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h new file mode 100644 index 0000000..6dcc928 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/SPI/spi.h @@ -0,0 +1,342 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief SPI driver for AVR32 UC3. + * + * This file defines a useful set of functions for the SPI interface on AVR32 + * devices. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with an SPI module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _SPI_H_ +#define _SPI_H_ + +#include <avr32/io.h> + + +//! Time-out value (number of attempts). +#define SPI_TIMEOUT 10000 + + +//! Status codes used by the SPI driver. +typedef enum +{ + SPI_ERROR = -1, + SPI_OK = 0, + SPI_ERROR_TIMEOUT = 1, + SPI_ERROR_ARGUMENT, + SPI_ERROR_OVERRUN, + SPI_ERROR_MODE_FAULT, + SPI_ERROR_OVERRUN_AND_MODE_FAULT +} spi_status_t; + +//! Option structure for SPI channels. +typedef struct +{ + //! The SPI channel to set up. + unsigned char reg; + + //! Preferred baudrate for the SPI. + unsigned int baudrate; + + //! Number of bits in each character (8 to 16). + unsigned char bits; + + //! Delay before first clock pulse after selecting slave (in PBA clock periods). + unsigned char spck_delay; + + //! Delay between each transfer/character (in PBA clock periods). + unsigned char trans_delay; + + //! Sets this chip to stay active after last transfer to it. + unsigned char stay_act; + + //! Which SPI mode to use when transmitting. + unsigned char spi_mode; + + //! Disables the mode fault detection. + //! With this bit cleared, the SPI master mode will disable itself if another + //! master tries to address it. + unsigned char modfdis; +} spi_options_t; + + +/*! \brief Resets the SPI controller. + * + * \param spi Base address of the SPI instance. + */ +extern void spi_reset(volatile avr32_spi_t *spi); + +/*! \brief Initializes the SPI in slave mode. + * + * \param spi Base address of the SPI instance. + * \param bits Number of bits in each transmitted character (8 to 16). + * \param spi_mode Clock polarity and phase. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_initSlave(volatile avr32_spi_t *spi, + unsigned char bits, + unsigned char spi_mode); + +/*! \brief Sets up the SPI in a test mode where the transmitter is connected to + * the receiver (local loopback). + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval SPI_OK Success. + */ +extern spi_status_t spi_initTest(volatile avr32_spi_t *spi); + +/*! \brief Initializes the SPI in master mode. + * + * \param spi Base address of the SPI instance. + * \param options Pointer to a structure containing initialization options. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_initMaster(volatile avr32_spi_t *spi, const spi_options_t *options); + +/*! \brief Sets up how and when the slave chips are selected (master mode only). + * + * \param spi Base address of the SPI instance. + * \param variable_ps Target slave is selected in transfer register for every + * character to transmit. + * \param pcs_decode The four chip select lines are decoded externally. Values + * 0 to 14 can be given to \ref spi_selectChip. + * \param delay Delay in PBA periods between chip selects. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_selectionMode(volatile avr32_spi_t *spi, + unsigned char variable_ps, + unsigned char pcs_decode, + unsigned char delay); + +/*! \brief Selects slave chip. + * + * \param spi Base address of the SPI instance. + * \param chip Slave chip number (normal: 0 to 3, extarnally decoded signal: 0 + * to 14). + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_selectChip(volatile avr32_spi_t *spi, unsigned char chip); + +/*! \brief Unselects slave chip. + * + * \param spi Base address of the SPI instance. + * \param chip Slave chip number (normal: 0 to 3, extarnally decoded signal: 0 + * to 14). + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_TIMEOUT Time-out. + * + * \note Will block program execution until time-out occurs if last transmission + * is not complete. Invoke \ref spi_writeEndCheck beforehand if needed. + */ +extern spi_status_t spi_unselectChip(volatile avr32_spi_t *spi, unsigned char chip); + +/*! \brief Sets options for a specific slave chip. + * + * The baudrate field has to be written before transfer in master mode. Four + * similar registers exist, one for each slave. When using encoded slave + * addressing, reg=0 sets options for slaves 0 to 3, reg=1 for slaves 4 to 7 and + * so on. + * + * \param spi Base address of the SPI instance. + * \param options Pointer to a structure containing initialization options for + * an SPI channel. + * \param pba_hz SPI module input clock frequency (PBA clock, Hz). + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + */ +extern spi_status_t spi_setupChipReg(volatile avr32_spi_t *spi, + const spi_options_t *options, + unsigned int pba_hz); + +/*! \brief Enables the SPI. + * + * \param spi Base address of the SPI instance. + */ +extern void spi_enable(volatile avr32_spi_t *spi); + +/*! \brief Disables the SPI. + * + * Ensures that nothing is transferred while setting up buffers. + * + * \param spi Base address of the SPI instance. + * + * \warning This may cause data loss if used on a slave SPI. + */ +extern void spi_disable(volatile avr32_spi_t *spi); + +/*! \brief Tests if the SPI is enabled. + * + * \param spi Base address of the SPI instance. + * + * \return \c 1 if the SPI is enabled, otherwise \c 0. + */ +extern int spi_is_enabled(volatile avr32_spi_t *spi); + +/*! \brief Checks if there is no data in the transmit register. + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval 1 No data in TDR. + * \retval 0 Some data in TDR. + */ +extern unsigned char spi_writeRegisterEmptyCheck(volatile avr32_spi_t *spi); + +/*! \brief Writes one data word in master fixed peripheral select mode or in + * slave mode. + * + * \param spi Base address of the SPI instance. + * \param data The data word to write. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_TIMEOUT Time-out. + * + * \note Will block program execution until time-out occurs if transmitter is + * busy and transmit buffer is full. Invoke + * \ref spi_writeRegisterEmptyCheck beforehand if needed. + * + * \note Once the data has been written to the transmit buffer, the end of + * transmission is not waited for. Invoke \ref spi_writeEndCheck if + * needed. + */ +extern spi_status_t spi_write(volatile avr32_spi_t *spi, unsigned short data); + +/*! \brief Selects a slave in master variable peripheral select mode and writes + * one data word to it. + * + * \param spi Base address of the SPI instance. + * \param data The data word to write. + * \param pcs Slave selector (bit 0 -> nCS line 0, bit 1 -> nCS line 1, + * etc.). + * \param lastxfer Boolean indicating whether this is the last data word + * transfer. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_TIMEOUT Time-out. + * \retval SPI_ERROR_ARGUMENT Invalid argument(s) passed. + * + * \note Will block program execution until time-out occurs if transmitter is + * busy and transmit buffer is full. Invoke + * \ref spi_writeRegisterEmptyCheck beforehand if needed. + * + * \note Once the data has been written to the transmit buffer, the end of + * transmission is not waited for. Invoke \ref spi_writeEndCheck if + * needed. + */ +extern spi_status_t spi_variableSlaveWrite(volatile avr32_spi_t *spi, + unsigned short data, + unsigned char pcs, + unsigned char lastxfer); + +/*! \brief Checks if all transmissions are complete. + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval 1 All transmissions complete. + * \retval 0 Transmissions not complete. + */ +extern unsigned char spi_writeEndCheck(volatile avr32_spi_t *spi); + +/*! \brief Checks if there is data in the receive register. + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval 1 Some data in RDR. + * \retval 0 No data in RDR. + */ +extern unsigned char spi_readRegisterFullCheck(volatile avr32_spi_t *spi); + +/*! \brief Reads one data word in master mode or in slave mode. + * + * \param spi Base address of the SPI instance. + * \param data Pointer to the location where to store the received data word. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_TIMEOUT Time-out. + * + * \note Will block program execution until time-out occurs if no data is + * received or last transmission is not complete. Invoke + * \ref spi_writeEndCheck or \ref spi_readRegisterFullCheck beforehand if + * needed. + */ +extern spi_status_t spi_read(volatile avr32_spi_t *spi, unsigned short *data); + +/*! \brief Gets status information from the SPI. + * + * \param spi Base address of the SPI instance. + * + * \return Status. + * \retval SPI_OK Success. + * \retval SPI_ERROR_OVERRUN Overrun error. + * \retval SPI_ERROR_MODE_FAULT Mode fault (SPI addressed as slave + * while in master mode). + * \retval SPI_ERROR_OVERRUN_AND_MODE_FAULT Overrun error and mode fault. + */ +extern unsigned char spi_getStatus(volatile avr32_spi_t *spi); + + +#endif // _SPI_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c new file mode 100644 index 0000000..b95882a --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.c @@ -0,0 +1,914 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief USART driver for AVR32 UC3. + * + * This file contains basic functions for the AVR32 USART, with support for all + * modes, settings and clock speeds. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "usart.h" + + +//------------------------------------------------------------------------------ +/*! \name Private Functions + */ +//! @{ + + +/*! \brief Checks if the USART is in multidrop mode. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if the USART is in multidrop mode, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +static __inline__ int usart_mode_is_multidrop(volatile avr32_usart_t *usart) +{ + return ((usart->mr >> AVR32_USART_MR_PAR_OFFSET) & AVR32_USART_MR_PAR_MULTI) == AVR32_USART_MR_PAR_MULTI; +} + + +/*! \brief Calculates a clock divider (\e CD) and a fractional part (\e FP) for + * the USART asynchronous modes to generate a baud rate as close as + * possible to the baud rate set point. + * + * Baud rate calculation: + * \f$ Baudrate = \frac{SelectedClock}{Over \times (CD + \frac{FP}{8})} \f$, \e Over being 16 or 8. + * The maximal oversampling is selected if it allows to generate a baud rate close to the set point. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate set point. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Baud rate successfully initialized. + * \retval USART_INVALID_INPUT Baud rate set point is out of range for the given input clock frequency. + */ +static int usart_set_async_baudrate(volatile avr32_usart_t *usart, unsigned int baudrate, unsigned long pba_hz) +{ + unsigned int over = (pba_hz >= 16 * baudrate) ? 16 : 8; + unsigned int cd_fp = ((1 << AVR32_USART_BRGR_FP_SIZE) * pba_hz + (over * baudrate) / 2) / (over * baudrate); + unsigned int cd = cd_fp >> AVR32_USART_BRGR_FP_SIZE; + unsigned int fp = cd_fp & ((1 << AVR32_USART_BRGR_FP_SIZE) - 1); + + if (cd < 1 || cd > (1 << AVR32_USART_BRGR_CD_SIZE) - 1) + return USART_INVALID_INPUT; + + usart->mr = (usart->mr & ~(AVR32_USART_MR_USCLKS_MASK | + AVR32_USART_MR_SYNC_MASK | + AVR32_USART_MR_OVER_MASK)) | + AVR32_USART_MR_USCLKS_MCK << AVR32_USART_MR_USCLKS_OFFSET | + ((over == 16) ? AVR32_USART_MR_OVER_X16 : AVR32_USART_MR_OVER_X8) << AVR32_USART_MR_OVER_OFFSET; + + usart->brgr = cd << AVR32_USART_BRGR_CD_OFFSET | + fp << AVR32_USART_BRGR_FP_OFFSET; + + return USART_SUCCESS; +} + + +/*! \brief Calculates a clock divider (\e CD) for the USART synchronous master + * modes to generate a baud rate as close as possible to the baud rate + * set point. + * + * Baud rate calculation: + * \f$ Baudrate = \frac{SelectedClock}{CD} \f$. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate set point. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Baud rate successfully initialized. + * \retval USART_INVALID_INPUT Baud rate set point is out of range for the given input clock frequency. + */ +static int usart_set_sync_master_baudrate(volatile avr32_usart_t *usart, unsigned int baudrate, unsigned long pba_hz) +{ + unsigned int cd = (pba_hz + baudrate / 2) / baudrate; + + if (cd < 1 || cd > (1 << AVR32_USART_BRGR_CD_SIZE) - 1) + return USART_INVALID_INPUT; + + usart->mr = (usart->mr & ~AVR32_USART_MR_USCLKS_MASK) | + AVR32_USART_MR_USCLKS_MCK << AVR32_USART_MR_USCLKS_OFFSET | + AVR32_USART_MR_SYNC_MASK; + + usart->brgr = cd << AVR32_USART_BRGR_CD_OFFSET; + + return USART_SUCCESS; +} + + +/*! \brief Selects the SCK pin as the source of baud rate for the USART + * synchronous slave modes. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Baud rate successfully initialized. + */ +static int usart_set_sync_slave_baudrate(volatile avr32_usart_t *usart) +{ + usart->mr = (usart->mr & ~AVR32_USART_MR_USCLKS_MASK) | + AVR32_USART_MR_USCLKS_SCK << AVR32_USART_MR_USCLKS_OFFSET | + AVR32_USART_MR_SYNC_MASK; + + return USART_SUCCESS; +} + + +/*! \brief Calculates a clock divider (\e CD) for the USART ISO7816 mode to + * generate an ISO7816 clock as close as possible to the clock set point. + * + * ISO7816 clock calculation: + * \f$ Clock = \frac{SelectedClock}{CD} \f$. + * + * \param usart Base address of the USART instance. + * \param clock ISO7816 clock set point. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS ISO7816 clock successfully initialized. + * \retval USART_INVALID_INPUT ISO7816 clock set point is out of range for the given input clock frequency. + */ +static int usart_set_iso7816_clock(volatile avr32_usart_t *usart, unsigned int clock, unsigned long pba_hz) +{ + unsigned int cd = (pba_hz + clock / 2) / clock; + + if (cd < 1 || cd > (1 << AVR32_USART_BRGR_CD_SIZE) - 1) + return USART_INVALID_INPUT; + + usart->mr = (usart->mr & ~(AVR32_USART_MR_USCLKS_MASK | + AVR32_USART_MR_SYNC_MASK | + AVR32_USART_MR_OVER_MASK)) | + AVR32_USART_MR_USCLKS_MCK << AVR32_USART_MR_USCLKS_OFFSET | + AVR32_USART_MR_OVER_X16 << AVR32_USART_MR_OVER_OFFSET; + + usart->brgr = cd << AVR32_USART_BRGR_CD_OFFSET; + + return USART_SUCCESS; +} + + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + + +/*! \brief Calculates a clock divider (\e CD) for the USART SPI master mode to + * generate a baud rate as close as possible to the baud rate set point. + * + * Baud rate calculation: + * \f$ Baudrate = \frac{SelectedClock}{CD} \f$. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate set point. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Baud rate successfully initialized. + * \retval USART_INVALID_INPUT Baud rate set point is out of range for the given input clock frequency. + */ +static int usart_set_spi_master_baudrate(volatile avr32_usart_t *usart, unsigned int baudrate, unsigned long pba_hz) +{ + unsigned int cd = (pba_hz + baudrate / 2) / baudrate; + + if (cd < 4 || cd > (1 << AVR32_USART_BRGR_CD_SIZE) - 1) + return USART_INVALID_INPUT; + + usart->mr = (usart->mr & ~AVR32_USART_MR_USCLKS_MASK) | + AVR32_USART_MR_USCLKS_MCK << AVR32_USART_MR_USCLKS_OFFSET; + + usart->brgr = cd << AVR32_USART_BRGR_CD_OFFSET; + + return USART_SUCCESS; +} + + +/*! \brief Selects the SCK pin as the source of baud rate for the USART SPI + * slave mode. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Baud rate successfully initialized. + */ +static int usart_set_spi_slave_baudrate(volatile avr32_usart_t *usart) +{ + usart->mr = (usart->mr & ~AVR32_USART_MR_USCLKS_MASK) | + AVR32_USART_MR_USCLKS_SCK << AVR32_USART_MR_USCLKS_OFFSET; + + return USART_SUCCESS; +} + + +#endif // USART rev. >= 4.0.0 + + +//! @} + + +//------------------------------------------------------------------------------ +/*! \name Initialization Functions + */ +//! @{ + + +void usart_reset(volatile avr32_usart_t *usart) +{ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); + + // Disable all USART interrupts. + // Interrupts needed should be set explicitly on every reset. + if (global_interrupt_enabled) Disable_global_interrupt(); + usart->idr = 0xFFFFFFFF; + usart->csr; + if (global_interrupt_enabled) Enable_global_interrupt(); + + // Reset mode and other registers that could cause unpredictable behavior after reset. + usart->mr = 0; + usart->rtor = 0; + usart->ttgr = 0; + + // Shutdown TX and RX (will be re-enabled when setup has successfully completed), + // reset status bits and turn off DTR and RTS. + usart->cr = AVR32_USART_CR_RSTRX_MASK | + AVR32_USART_CR_RSTTX_MASK | + AVR32_USART_CR_RSTSTA_MASK | + AVR32_USART_CR_RSTIT_MASK | + AVR32_USART_CR_RSTNACK_MASK | +#ifndef AVR32_USART_440_H_INCLUDED +// Note: Modem Signal Management DTR-DSR-DCD-RI are not included in USART rev.440. + AVR32_USART_CR_DTRDIS_MASK | +#endif + AVR32_USART_CR_RTSDIS_MASK; +} + + +int usart_init_rs232(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->paritytype > 7 || + opt->stopbits > 2 + 255 || + opt->channelmode > 3 || + usart_set_async_baudrate(usart, opt->baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET; + + if (opt->stopbits > USART_2_STOPBITS) + { + // Set two stop bits + usart->mr |= AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET; + // and a timeguard period gives the rest. + usart->ttgr = opt->stopbits - USART_2_STOPBITS; + } + else + // Insert 1, 1.5 or 2 stop bits. + usart->mr |= opt->stopbits << AVR32_USART_MR_NBSTOP_OFFSET; + + // Set normal mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_NORMAL << AVR32_USART_MR_MODE_OFFSET; + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_rs232_tx_only(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->paritytype > 7 || + opt->stopbits == 1 || opt->stopbits > 2 + 255 || + opt->channelmode > 3 || + usart_set_sync_master_baudrate(usart, opt->baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET; + + if (opt->stopbits > USART_2_STOPBITS) + { + // Set two stop bits + usart->mr |= AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET; + // and a timeguard period gives the rest. + usart->ttgr = opt->stopbits - USART_2_STOPBITS; + } + else + // Insert 1 or 2 stop bits. + usart->mr |= opt->stopbits << AVR32_USART_MR_NBSTOP_OFFSET; + + // Set normal mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_NORMAL << AVR32_USART_MR_MODE_OFFSET; + + // Setup complete; enable communication. + // Enable only output as input is not possible in synchronous mode without + // transferring clock. + usart->cr = AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_hw_handshaking(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // First: Setup standard RS232. + if (usart_init_rs232(usart, opt, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set hardware handshaking mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_HARDWARE << AVR32_USART_MR_MODE_OFFSET; + + return USART_SUCCESS; +} + + +int usart_init_modem(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // First: Setup standard RS232. + if (usart_init_rs232(usart, opt, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set modem mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_MODEM << AVR32_USART_MR_MODE_OFFSET; + + return USART_SUCCESS; +} + + +int usart_init_sync_master(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->paritytype > 7 || + opt->stopbits == 1 || opt->stopbits > 2 + 255 || + opt->channelmode > 3 || + usart_set_sync_master_baudrate(usart, opt->baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET; + + if (opt->stopbits > USART_2_STOPBITS) + { + // Set two stop bits + usart->mr |= AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET; + // and a timeguard period gives the rest. + usart->ttgr = opt->stopbits - USART_2_STOPBITS; + } + else + // Insert 1 or 2 stop bits. + usart->mr |= opt->stopbits << AVR32_USART_MR_NBSTOP_OFFSET; + + // Set normal mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_NORMAL << AVR32_USART_MR_MODE_OFFSET | + AVR32_USART_MR_CLKO_MASK; + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_sync_slave(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->paritytype > 7 || + opt->stopbits == 1 || opt->stopbits > 2 + 255 || + opt->channelmode > 3 || + usart_set_sync_slave_baudrate(usart) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET; + + if (opt->stopbits > USART_2_STOPBITS) + { + // Set two stop bits + usart->mr |= AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET; + // and a timeguard period gives the rest. + usart->ttgr = opt->stopbits - USART_2_STOPBITS; + } + else + // Insert 1 or 2 stop bits. + usart->mr |= opt->stopbits << AVR32_USART_MR_NBSTOP_OFFSET; + + // Set normal mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_NORMAL << AVR32_USART_MR_MODE_OFFSET; + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_rs485(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz) +{ + // First: Setup standard RS232. + if (usart_init_rs232(usart, opt, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set RS485 mode. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MR_MODE_RS485 << AVR32_USART_MR_MODE_OFFSET; + + return USART_SUCCESS; +} + + +int usart_init_IrDA(volatile avr32_usart_t *usart, const usart_options_t *opt, + long pba_hz, unsigned char irda_filter) +{ + // First: Setup standard RS232. + if (usart_init_rs232(usart, opt, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set IrDA filter. + usart->ifr = irda_filter; + + // Set IrDA mode and activate filtering of input. + usart->mr = (usart->mr & ~AVR32_USART_MR_MODE_MASK) | + AVR32_USART_MODE_IRDA << AVR32_USART_MR_MODE_OFFSET | + AVR32_USART_MR_FILTER_MASK; + + return USART_SUCCESS; +} + + +int usart_init_iso7816(volatile avr32_usart_t *usart, const usart_iso7816_options_t *opt, int t, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->paritytype > 1) + return USART_INVALID_INPUT; + + if (t == 0) + { + // Set USART mode to ISO7816, T=0. + // The T=0 protocol always uses 2 stop bits. + usart->mr = AVR32_USART_MR_MODE_ISO7816_T0 << AVR32_USART_MR_MODE_OFFSET | + AVR32_USART_MR_NBSTOP_2 << AVR32_USART_MR_NBSTOP_OFFSET | + opt->bit_order << AVR32_USART_MR_MSBF_OFFSET; // Allow MSBF in T=0. + } + else if (t == 1) + { + // Only LSB first in the T=1 protocol. + // max_iterations field is only used in T=0 mode. + if (opt->bit_order != 0 || + opt->max_iterations != 0) + return USART_INVALID_INPUT; + + // Set USART mode to ISO7816, T=1. + // The T=1 protocol always uses 1 stop bit. + usart->mr = AVR32_USART_MR_MODE_ISO7816_T1 << AVR32_USART_MR_MODE_OFFSET | + AVR32_USART_MR_NBSTOP_1 << AVR32_USART_MR_NBSTOP_OFFSET; + } + else + return USART_INVALID_INPUT; + + if (usart_set_iso7816_clock(usart, opt->iso7816_hz, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + // Set FIDI register: bit rate = selected clock/FI_DI_ratio/16. + usart->fidi = opt->fidi_ratio; + + // Set ISO7816 spesific options in the MODE register. + usart->mr |= opt->paritytype << AVR32_USART_MR_PAR_OFFSET | + AVR32_USART_MR_CLKO_MASK | // Enable clock output. + opt->inhibit_nack << AVR32_USART_MR_INACK_OFFSET | + opt->dis_suc_nack << AVR32_USART_MR_DSNACK_OFFSET | + opt->max_iterations << AVR32_USART_MR_MAX_ITERATION_OFFSET; + + // Setup complete; enable the receiver by default. + usart_iso7816_enable_receiver(usart); + + return USART_SUCCESS; +} + + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + + +int usart_init_lin_master(volatile avr32_usart_t *usart, unsigned long baudrate, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (usart_set_async_baudrate(usart, baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + usart->mr |= AVR32_USART_MR_MODE_LIN_MASTER << AVR32_USART_MR_MODE_OFFSET; // LIN master mode. + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_lin_slave(volatile avr32_usart_t *usart, unsigned long baudrate, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (usart_set_async_baudrate(usart, baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + usart->mr |= AVR32_USART_MR_MODE_LIN_SLAVE << AVR32_USART_MR_MODE_OFFSET; // LIN slave mode. + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_spi_master(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->spimode > 3 || + opt->channelmode > 3 || + usart_set_spi_master_baudrate(usart, opt->baudrate, pba_hz) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= AVR32_USART_MR_MODE_SPI_MASTER << AVR32_USART_MR_MODE_OFFSET | // SPI master mode. + ((opt->spimode & 0x1) ^ 0x1) << AVR32_USART_MR_SYNC_OFFSET | // SPI clock phase. + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET | // Channel mode. + (opt->spimode >> 1) << AVR32_USART_MR_MSBF_OFFSET | // SPI clock polarity. + AVR32_USART_MR_CLKO_MASK; // Drive SCK pin. + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +int usart_init_spi_slave(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz) +{ + // Reset the USART and shutdown TX and RX. + usart_reset(usart); + + // Check input values. + if (!opt || // Null pointer. + opt->charlength < 5 || opt->charlength > 9 || + opt->spimode > 3 || + opt->channelmode > 3 || + usart_set_spi_slave_baudrate(usart) == USART_INVALID_INPUT) + return USART_INVALID_INPUT; + + if (opt->charlength == 9) + { + // Character length set to 9 bits. MODE9 dominates CHRL. + usart->mr |= AVR32_USART_MR_MODE9_MASK; + } + else + { + // CHRL gives the character length (- 5) when MODE9 = 0. + usart->mr |= (opt->charlength - 5) << AVR32_USART_MR_CHRL_OFFSET; + } + + usart->mr |= AVR32_USART_MR_MODE_SPI_SLAVE << AVR32_USART_MR_MODE_OFFSET | // SPI slave mode. + ((opt->spimode & 0x1) ^ 0x1) << AVR32_USART_MR_SYNC_OFFSET | // SPI clock phase. + opt->channelmode << AVR32_USART_MR_CHMODE_OFFSET | // Channel mode. + (opt->spimode >> 1) << AVR32_USART_MR_MSBF_OFFSET; // SPI clock polarity. + + // Setup complete; enable communication. + // Enable input and output. + usart->cr = AVR32_USART_CR_RXEN_MASK | + AVR32_USART_CR_TXEN_MASK; + + return USART_SUCCESS; +} + + +#endif // USART rev. >= 4.0.0 + + +//! @} + + +//------------------------------------------------------------------------------ +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + + +/*! \name SPI Control Functions + */ +//! @{ + + +int usart_spi_selectChip(volatile avr32_usart_t *usart) +{ + // Force the SPI chip select. + usart->cr = AVR32_USART_CR_RTSEN_MASK; + + return USART_SUCCESS; +} + + +int usart_spi_unselectChip(volatile avr32_usart_t *usart) +{ + int timeout = USART_DEFAULT_TIMEOUT; + + do + { + if (!timeout--) return USART_FAILURE; + } while (!usart_tx_empty(usart)); + + // Release the SPI chip select. + usart->cr = AVR32_USART_CR_RTSDIS_MASK; + + return USART_SUCCESS; +} + + +//! @} + + +#endif // USART rev. >= 4.0.0 + + +//------------------------------------------------------------------------------ +/*! \name Transmit/Receive Functions + */ +//! @{ + + +int usart_send_address(volatile avr32_usart_t *usart, int address) +{ + // Check if USART is in multidrop / RS485 mode. + if (!usart_mode_is_multidrop(usart)) return USART_MODE_FAULT; + + // Prepare to send an address. + usart->cr = AVR32_USART_CR_SENDA_MASK; + + // Write the address to TX. + usart_bw_write_char(usart, address); + + return USART_SUCCESS; +} + + +int usart_write_char(volatile avr32_usart_t *usart, int c) +{ + if (usart_tx_ready(usart)) + { + usart->thr = (c << AVR32_USART_THR_TXCHR_OFFSET) & AVR32_USART_THR_TXCHR_MASK; + return USART_SUCCESS; + } + else + return USART_TX_BUSY; +} + + +int usart_putchar(volatile avr32_usart_t *usart, int c) +{ + int timeout = USART_DEFAULT_TIMEOUT; + + if (c == '\n') + { + do + { + if (!timeout--) return USART_FAILURE; + } while (usart_write_char(usart, '\r') != USART_SUCCESS); + + timeout = USART_DEFAULT_TIMEOUT; + } + + do + { + if (!timeout--) return USART_FAILURE; + } while (usart_write_char(usart, c) != USART_SUCCESS); + + return USART_SUCCESS; +} + + +int usart_read_char(volatile avr32_usart_t *usart, int *c) +{ + // Check for errors: frame, parity and overrun. In RS485 mode, a parity error + // would mean that an address char has been received. + if (usart->csr & (AVR32_USART_CSR_OVRE_MASK | + AVR32_USART_CSR_FRAME_MASK | + AVR32_USART_CSR_PARE_MASK)) + return USART_RX_ERROR; + + // No error; if we really did receive a char, read it and return SUCCESS. + if (usart_test_hit(usart)) + { + *c = (usart->rhr & AVR32_USART_RHR_RXCHR_MASK) >> AVR32_USART_RHR_RXCHR_OFFSET; + return USART_SUCCESS; + } + else + return USART_RX_EMPTY; +} + + +int usart_getchar(volatile avr32_usart_t *usart) +{ + int c, ret; + + while ((ret = usart_read_char(usart, &c)) == USART_RX_EMPTY); + + if (ret == USART_RX_ERROR) + return USART_FAILURE; + + return c; +} + + +void usart_write_line(volatile avr32_usart_t *usart, const char *string) +{ + while (*string != '\0') + usart_putchar(usart, *string++); +} + + +int usart_get_echo_line(volatile avr32_usart_t *usart) +{ + int rx_char; + int retval = USART_SUCCESS; + + while (1) + { + rx_char = usart_getchar(usart); + if (rx_char == USART_FAILURE) + { + usart_write_line(usart, "Error!!!\n"); + retval = USART_FAILURE; + break; + } + if (rx_char == '\x03') + { + retval = USART_FAILURE; + break; + } + usart_putchar(usart, rx_char); + if (rx_char == '\r') + { + usart_putchar(usart, '\n'); + break; + } + } + + return retval; +} + + +//! @} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h new file mode 100644 index 0000000..bc1c100 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/DRIVERS/USART/usart.h @@ -0,0 +1,889 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief USART driver for AVR32 UC3. + * + * This file contains basic functions for the AVR32 USART, with support for all + * modes, settings and clock speeds. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _USART_H_ +#define _USART_H_ + +#include <avr32/io.h> +#include "compiler.h" + + +/*! \name Return Values + */ +//! @{ +#define USART_SUCCESS 0 //!< Successful completion. +#define USART_FAILURE -1 //!< Failure because of some unspecified reason. +#define USART_INVALID_INPUT 1 //!< Input value out of range. +#define USART_INVALID_ARGUMENT -1 //!< Argument value out of range. +#define USART_TX_BUSY 2 //!< Transmitter was busy. +#define USART_RX_EMPTY 3 //!< Nothing was received. +#define USART_RX_ERROR 4 //!< Transmission error occurred. +#define USART_MODE_FAULT 5 //!< USART not in the appropriate mode. +//! @} + +//! Default time-out value (number of attempts). +#define USART_DEFAULT_TIMEOUT 10000 + +/*! \name Parity Settings + */ +//! @{ +#define USART_EVEN_PARITY AVR32_USART_MR_PAR_EVEN //!< Use even parity on character transmission. +#define USART_ODD_PARITY AVR32_USART_MR_PAR_ODD //!< Use odd parity on character transmission. +#define USART_SPACE_PARITY AVR32_USART_MR_PAR_SPACE //!< Use a space as parity bit. +#define USART_MARK_PARITY AVR32_USART_MR_PAR_MARK //!< Use a mark as parity bit. +#define USART_NO_PARITY AVR32_USART_MR_PAR_NONE //!< Don't use a parity bit. +#define USART_MULTIDROP_PARITY AVR32_USART_MR_PAR_MULTI //!< Parity bit is used to flag address characters. +//! @} + +/*! \name Stop Bits Settings + */ +//! @{ +#define USART_1_STOPBIT AVR32_USART_MR_NBSTOP_1 //!< Use 1 stop bit. +#define USART_1_5_STOPBITS AVR32_USART_MR_NBSTOP_1_5 //!< Use 1.5 stop bits. +#define USART_2_STOPBITS AVR32_USART_MR_NBSTOP_2 //!< Use 2 stop bits (for more, just give the number of bits). +//! @} + +/*! \name Channel Modes + */ +//! @{ +#define USART_NORMAL_CHMODE AVR32_USART_MR_CHMODE_NORMAL //!< Normal communication. +#define USART_AUTO_ECHO AVR32_USART_MR_CHMODE_ECHO //!< Echo data. +#define USART_LOCAL_LOOPBACK AVR32_USART_MR_CHMODE_LOCAL_LOOP //!< Local loopback. +#define USART_REMOTE_LOOPBACK AVR32_USART_MR_CHMODE_REMOTE_LOOP //!< Remote loopback. +//! @} + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \name LIN Node Actions + */ +//! @{ +#define USART_LIN_PUBLISH_ACTION AVR32_USART_LINMR_NACT_PUBLISH //!< The USART transmits the response. +#define USART_LIN_SUBSCRIBE_ACTION AVR32_USART_LINMR_NACT_SUBSCRIBE //!< The USART receives the response. +#define USART_LIN_IGNORE_ACTION AVR32_USART_LINMR_NACT_IGNORE //!< The USART does not transmit and does not receive the reponse. +//! @} + +/*! \name LIN Checksum Types + */ +//! @{ +#define USART_LIN_ENHANCED_CHECKSUM 0 //!< LIN 2.0 "enhanced" checksum. +#define USART_LIN_CLASSIC_CHECKSUM 1 //!< LIN 1.3 "classic" checksum. +//! @} + +#endif // USART rev. >= 4.0.0 + + +//! Input parameters when initializing RS232 and similar modes. +typedef struct +{ + //! Set baud rate of the USART (unused in slave modes). + unsigned long baudrate; + + //! Number of bits to transmit as a character (5 to 9). + unsigned char charlength; + + //! How to calculate the parity bit: \ref USART_EVEN_PARITY, \ref USART_ODD_PARITY, + //! \ref USART_SPACE_PARITY, \ref USART_MARK_PARITY, \ref USART_NO_PARITY or + //! \ref USART_MULTIDROP_PARITY. + unsigned char paritytype; + + //! Number of stop bits between two characters: \ref USART_1_STOPBIT, + //! \ref USART_1_5_STOPBITS, \ref USART_2_STOPBITS or any number from 3 to 257 + //! which will result in a time guard period of that length between characters. + //! \note \ref USART_1_5_STOPBITS is supported in asynchronous modes only. + unsigned short stopbits; + + //! Run the channel in testmode: \ref USART_NORMAL_CHMODE, \ref USART_AUTO_ECHO, + //! \ref USART_LOCAL_LOOPBACK or \ref USART_REMOTE_LOOPBACK. + unsigned char channelmode; +} usart_options_t; + +//! Input parameters when initializing ISO7816 mode. +typedef struct +{ + //! Set the frequency of the ISO7816 clock. + unsigned long iso7816_hz; + + //! The number of ISO7816 clock ticks in every bit period (1 to 2047, 0 = disable clock). + //! Bit rate = \ref iso7816_hz / \ref fidi_ratio. + unsigned short fidi_ratio; + + //! How to calculate the parity bit: \ref USART_EVEN_PARITY for normal mode or + //! \ref USART_ODD_PARITY for inverse mode. + unsigned char paritytype; + + //! Inhibit Non Acknowledge:\n + //! - 0: the NACK is generated;\n + //! - 1: the NACK is not generated. + //! + //! \note This bit will be used only in ISO7816 mode, protocol T = 0 receiver. + int inhibit_nack; + + //! Disable successive NACKs. + //! Successive parity errors are counted up to the value in the \ref max_iterations field. + //! These parity errors generate a NACK on the ISO line. As soon as this value is reached, + //! no addititional NACK is sent on the ISO line. The ITERATION flag is asserted. + int dis_suc_nack; + + //! Max number of repetitions (0 to 7). + unsigned char max_iterations; + + //! Bit order in transmitted characters:\n + //! - 0: LSB first;\n + //! - 1: MSB first. + int bit_order; +} usart_iso7816_options_t; + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +//! Input parameters when initializing SPI mode. +typedef struct +{ + //! Set the frequency of the SPI clock (unused in slave mode). + unsigned long baudrate; + + //! Number of bits to transmit as a character (5 to 9). + unsigned char charlength; + + //! Which SPI mode to use. + unsigned char spimode; + + //! Run the channel in testmode: \ref USART_NORMAL_CHMODE, \ref USART_AUTO_ECHO, + //! \ref USART_LOCAL_LOOPBACK or \ref USART_REMOTE_LOOPBACK. + unsigned char channelmode; +} usart_spi_options_t; + +#endif // USART rev. >= 4.0.0 + + +//------------------------------------------------------------------------------ +/*! \name Initialization Functions + */ +//! @{ + +/*! \brief Resets the USART and disables TX and RX. + * + * \param usart Base address of the USART instance. + */ +extern void usart_reset(volatile avr32_usart_t *usart); + +/*! \brief Sets up the USART to use the standard RS232 protocol. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_rs232(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the standard RS232 protocol in TX-only mode. + * + * Compared to \ref usart_init_rs232, this function allows very high baud rates + * (up to \a pba_hz instead of \a pba_hz / \c 8) at the expense of full duplex. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + * + * \note The \c 1.5 stop bit is not supported in this mode. + */ +extern int usart_init_rs232_tx_only(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use hardware handshaking. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + * + * \note \ref usart_init_rs232 does not need to be invoked before this function. + */ +extern int usart_init_hw_handshaking(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the modem protocol, activating dedicated inputs/outputs. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_modem(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use a synchronous RS232-like protocol in master mode. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_sync_master(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use a synchronous RS232-like protocol in slave mode. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_sync_slave(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the RS485 protocol. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_rs485(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the IrDA protocol. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up RS232 communication (see \ref usart_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * \param irda_filter Counter used to distinguish received ones from zeros. + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_IrDA(volatile avr32_usart_t *usart, const usart_options_t *opt, + long pba_hz, unsigned char irda_filter); + +/*! \brief Sets up the USART to use the ISO7816 T=0 or T=1 smartcard protocols. + * + * The receiver is enabled by default. \ref usart_iso7816_enable_receiver and + * \ref usart_iso7816_enable_transmitter can be called to change the half-duplex + * communication direction. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up ISO7816 communication (see \ref usart_iso7816_options_t). + * \param t ISO7816 mode to use (T=0 or T=1). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_iso7816(volatile avr32_usart_t *usart, const usart_iso7816_options_t *opt, int t, long pba_hz); + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \brief Sets up the USART to use the LIN master mode. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + */ +extern int usart_init_lin_master(volatile avr32_usart_t *usart, unsigned long baudrate, long pba_hz); + +/*! \brief Sets up the USART to use the LIN slave mode. + * + * \param usart Base address of the USART instance. + * \param baudrate Baud rate. + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + */ +extern int usart_init_lin_slave(volatile avr32_usart_t *usart, unsigned long baudrate, long pba_hz); + +/*! \brief Sets up the USART to use the SPI master mode. + * + * \ref usart_spi_selectChip and \ref usart_spi_unselectChip can be called to + * select or unselect the SPI slave chip. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up SPI mode (see \ref usart_spi_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_spi_master(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz); + +/*! \brief Sets up the USART to use the SPI slave mode. + * + * \param usart Base address of the USART instance. + * \param opt Options needed to set up SPI mode (see \ref usart_spi_options_t). + * \param pba_hz USART module input clock frequency (PBA clock, Hz). + * + * \retval USART_SUCCESS Mode successfully initialized. + * \retval USART_INVALID_INPUT One or more of the arguments is out of valid range. + */ +extern int usart_init_spi_slave(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz); + +#endif // USART rev. >= 4.0.0 + +//! @} + + +//------------------------------------------------------------------------------ +/*! \name Read and Reset Error Status Bits + */ +//! @{ + +/*! \brief Resets the error status. + * + * This function resets the status bits indicating that a parity error, + * framing error or overrun has occurred. The RXBRK bit, indicating + * a start/end of break condition on the RX line, is also reset. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_reset_status(volatile avr32_usart_t *usart) +{ + usart->cr = AVR32_USART_CR_RSTSTA_MASK; +} + +/*! \brief Checks if a parity error has occurred since last status reset. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if a parity error has been detected, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_parity_error(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_PARE_MASK) != 0; +} + +/*! \brief Checks if a framing error has occurred since last status reset. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if a framing error has been detected, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_framing_error(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_FRAME_MASK) != 0; +} + +/*! \brief Checks if an overrun error has occurred since last status reset. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if a overrun error has been detected, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_overrun_error(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_OVRE_MASK) != 0; +} + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \brief Get LIN Error Status + * + * \param usart Base address of the USART instance. + * + * \retval The binary value of the error field. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_lin_get_error(volatile avr32_usart_t *usart) +{ + return (usart->csr & (AVR32_USART_CSR_LINSNRE_MASK | + AVR32_USART_CSR_LINCE_MASK | + AVR32_USART_CSR_LINIPE_MASK | + AVR32_USART_CSR_LINISFE_MASK | + AVR32_USART_CSR_LINBE_MASK)) >> AVR32_USART_CSR_LINBE_OFFSET; +} + +#endif // USART rev. >= 4.0.0 + +//! @} + + +//------------------------------------------------------------------------------ +/*! \name ISO7816 Control Functions + */ +//! @{ + +/*! \brief Enables the ISO7816 receiver. + * + * The ISO7816 transmitter is disabled. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_iso7816_enable_receiver(volatile avr32_usart_t *usart) +{ + usart->cr = AVR32_USART_CR_TXDIS_MASK | AVR32_USART_CR_RXEN_MASK; +} + +/*! \brief Enables the ISO7816 transmitter. + * + * The ISO7816 receiver is disabled. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_iso7816_enable_transmitter(volatile avr32_usart_t *usart) +{ + usart->cr = AVR32_USART_CR_RXDIS_MASK | AVR32_USART_CR_TXEN_MASK; +} + +//! @} + + +//------------------------------------------------------------------------------ +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \name LIN Control Functions + */ +//! @{ + +/*! \brief Sets the node action. + * + * \param usart Base address of the USART instance. + * \param action The node action: \ref USART_LIN_PUBLISH_ACTION, + * \ref USART_LIN_SUBSCRIBE_ACTION or + * \ref USART_LIN_IGNORE_ACTION. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_node_action(volatile avr32_usart_t *usart, unsigned char action) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_NACT_MASK) | + action << AVR32_USART_LINMR_NACT_OFFSET; +} + +/*! \brief Enables or disables the Identifier parity. + * + * \param usart Base address of the USART instance. + * \param parity Whether to enable the Identifier parity: \c TRUE or \c FALSE. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_enable_parity(volatile avr32_usart_t *usart, unsigned char parity) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_PARDIS_MASK) | + !parity << AVR32_USART_LINMR_PARDIS_OFFSET; +} + +/*! \brief Enables or disables the checksum. + * + * \param usart Base address of the USART instance. + * \param parity Whether to enable the checksum: \c TRUE or \c FALSE. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_enable_checksum(volatile avr32_usart_t *usart, unsigned char checksum) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_CHKDIS_MASK) | + !checksum << AVR32_USART_LINMR_CHKDIS_OFFSET; +} + +/*! \brief Sets the checksum type. + * + * \param usart Base address of the USART instance. + * \param chktyp The checksum type: \ref USART_LIN_ENHANCED_CHEKSUM or + * \ref USART_LIN_CLASSIC_CHECKSUM. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_checksum(volatile avr32_usart_t *usart, unsigned char chktyp) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_CHKTYP_MASK) | + chktyp << AVR32_USART_LINMR_CHKTYP_OFFSET; +} + +/*! \brief Gets the response data length. + * + * \param usart Base address of the USART instance. + * + * \return The response data length. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ unsigned char usart_lin_get_data_length(volatile avr32_usart_t *usart) +{ + if (usart->linmr & AVR32_USART_LINMR_DLM_MASK) + { + unsigned char data_length = 1 << ((usart->linir >> (AVR32_USART_LINIR_IDCHR_OFFSET + 4)) & 0x03); + if (data_length == 1) + data_length = 2; + return data_length; + } + else + return ((usart->linmr & AVR32_USART_LINMR_DLC_MASK) >> AVR32_USART_LINMR_DLC_OFFSET) + 1; +} + +/*! \brief Sets the response data length for LIN 1.x. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_data_length_lin1x(volatile avr32_usart_t *usart) +{ + usart->linmr |= AVR32_USART_LINMR_DLM_MASK; +} + +/*! \brief Sets the response data length for LIN 2.x. + * + * \param usart Base address of the USART instance. + * \param data_length The response data length. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_data_length_lin2x(volatile avr32_usart_t *usart, unsigned char data_length) +{ + usart->linmr = (usart->linmr & ~(AVR32_USART_LINMR_DLC_MASK | + AVR32_USART_LINMR_DLM_MASK)) | + (data_length - 1) << AVR32_USART_LINMR_DLC_OFFSET; +} + +/*! \brief Enables or disables the frame slot mode. + * + * \param usart Base address of the USART instance. + * \param frameslot Whether to enable the frame slot mode: \c TRUE or + * \c FALSE. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_enable_frameslot(volatile avr32_usart_t *usart, unsigned char frameslot) +{ + usart->linmr = (usart->linmr & ~AVR32_USART_LINMR_FSDIS_MASK) | + !frameslot << AVR32_USART_LINMR_FSDIS_OFFSET; +} + +/*! \brief Gets the Identifier character. + * + * \param usart Base address of the USART instance. + * + * \return The Identifier character. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ unsigned char usart_lin_get_id_char(volatile avr32_usart_t *usart) +{ + return (usart->linir & AVR32_USART_LINIR_IDCHR_MASK) >> AVR32_USART_LINIR_IDCHR_OFFSET; +} + +/*! \brief Sets the Identifier character. + * + * \param usart Base address of the USART instance. + * \param id_char The Identifier character. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_set_id_char(volatile avr32_usart_t *usart, unsigned char id_char) +{ + usart->linir = (usart->linir & ~AVR32_USART_LINIR_IDCHR_MASK) | + id_char << AVR32_USART_LINIR_IDCHR_OFFSET; +} + +//! @} + +#endif // USART rev. >= 4.0.0 + + +//------------------------------------------------------------------------------ +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \name SPI Control Functions + */ +//! @{ + +/*! \brief Selects SPI slave chip. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Success. + */ +extern int usart_spi_selectChip(volatile avr32_usart_t *usart); + +/*! \brief Unselects SPI slave chip. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Success. + * \retval USART_FAILURE Time-out. + */ +extern int usart_spi_unselectChip(volatile avr32_usart_t *usart); + +//! @} + +#endif // USART rev. >= 4.0.0 + + +//------------------------------------------------------------------------------ +/*! \name Transmit/Receive Functions + */ +//! @{ + +/*! \brief Addresses a receiver. + * + * While in RS485 mode, receivers only accept data addressed to them. + * A packet/char with the address tag set has to precede any data. + * This function is used to address a receiver. This receiver should read + * all the following data, until an address packet addresses another receiver. + * + * \param usart Base address of the USART instance. + * \param address Address of the target device. + * + * \retval USART_SUCCESS Address successfully sent (if current mode is RS485). + * \retval USART_MODE_FAULT Wrong operating mode. + */ +extern int usart_send_address(volatile avr32_usart_t *usart, int address); + +/*! \brief Tests if the USART is ready to transmit a character. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if the USART Transmit Holding Register is free, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_tx_ready(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_TXRDY_MASK) != 0; +} + +/*! \brief Writes the given character to the TX buffer if the transmitter is ready. + * + * \param usart Base address of the USART instance. + * \param c The character (up to 9 bits) to transmit. + * + * \retval USART_SUCCESS The transmitter was ready. + * \retval USART_TX_BUSY The transmitter was busy. + */ +extern int usart_write_char(volatile avr32_usart_t *usart, int c); + +/*! \brief An active wait writing a character to the USART. + * + * \param usart Base address of the USART instance. + * \param c The character (up to 9 bits) to transmit. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_bw_write_char(volatile avr32_usart_t *usart, int c) +{ + while (usart_write_char(usart, c) != USART_SUCCESS); +} + +/*! \brief Sends a character with the USART. + * + * \param usart Base address of the USART instance. + * \param c Character to write. + * + * \retval USART_SUCCESS The character was written. + * \retval USART_FAILURE The function timed out before the USART transmitter became ready to send. + */ +extern int usart_putchar(volatile avr32_usart_t *usart, int c); + +/*! \brief Tests if all requested USART transmissions are over. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if the USART Transmit Shift Register and the USART Transmit + * Holding Register are free, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_tx_empty(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_TXEMPTY_MASK) != 0; +} + +/*! \brief Tests if the USART contains a received character. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if the USART Receive Holding Register is full, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_test_hit(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_RXRDY_MASK) != 0; +} + +/*! \brief Checks the RX buffer for a received character, and stores it at the + * given memory location. + * + * \param usart Base address of the USART instance. + * \param c Pointer to the where the read character should be stored + * (must be at least short in order to accept 9-bit characters). + * + * \retval USART_SUCCESS The character was read successfully. + * \retval USART_RX_EMPTY The RX buffer was empty. + * \retval USART_RX_ERROR An error was deteceted. + */ +extern int usart_read_char(volatile avr32_usart_t *usart, int *c); + +/*! \brief Waits until a character is received, and returns it. + * + * \param usart Base address of the USART instance. + * + * \return The received character, or \ref USART_FAILURE upon error. + */ +extern int usart_getchar(volatile avr32_usart_t *usart); + +/*! \brief Writes one character string to the USART. + * + * \param usart Base address of the USART instance. + * \param string String to be written. + */ +extern void usart_write_line(volatile avr32_usart_t *usart, const char *string); + +/*! \brief Gets and echoes characters until end of line. + * + * \param usart Base address of the USART instance. + * + * \retval USART_SUCCESS Success. + * \retval USART_FAILURE Low-level error detected or ETX character received. + */ +extern int usart_get_echo_line(volatile avr32_usart_t *usart); + +#if defined(AVR32_USART_400_H_INCLUDED) || \ + defined(AVR32_USART_410_H_INCLUDED) || \ + defined(AVR32_USART_420_H_INCLUDED) || \ + defined(AVR32_USART_440_H_INCLUDED) || \ + defined(AVR32_USART_602_H_INCLUDED) + +/*! \brief Abort LIN transmission. + * + * \param usart Base address of the USART instance. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ void usart_lin_abort(volatile avr32_usart_t *usart) +{ + usart->cr = AVR32_USART_LINABT_MASK; +} + +/*! \brief Tests if a LIN transfer has been completed. + * + * \param usart Base address of the USART instance. + * + * \return \c 1 if a LIN transfer has been completed, otherwise \c 0. + */ +#if (defined __GNUC__) +__attribute__((__always_inline__)) +#endif +extern __inline__ int usart_lin_transfer_completed(volatile avr32_usart_t *usart) +{ + return (usart->csr & AVR32_USART_CSR_LINTC_MASK) != 0; +} + +#endif // USART rev. >= 4.0.0 + +//! @} + + +#endif // _USART_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c new file mode 100644 index 0000000..09790c2 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.c @@ -0,0 +1,571 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Abstraction layer for memory interfaces. + * + * This module contains the interfaces: + * - MEM <-> USB; + * - MEM <-> RAM; + * - MEM <-> MEM. + * + * This module may be configured and expanded to support the following features: + * - write-protected globals; + * - password-protected data; + * - specific features; + * - etc. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +//_____ I N C L U D E S ____________________________________________________ + +#include "compiler.h" +#include "preprocessor.h" +#ifdef FREERTOS_USED +#include "FreeRTOS.h" +#include "semphr.h" +#endif +#include "ctrl_access.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +#ifdef FREERTOS_USED + +/*! \name LUN Access Protection Macros + */ +//! @{ + +/*! \brief Locks accesses to LUNs. + * + * \return \c TRUE if the access was successfully locked, else \c FALSE. + */ +#define Ctrl_access_lock() ctrl_access_lock() + +/*! \brief Unlocks accesses to LUNs. + */ +#define Ctrl_access_unlock() xSemaphoreGive(ctrl_access_semphr) + +//! @} + +//! Handle to the semaphore protecting accesses to LUNs. +static xSemaphoreHandle ctrl_access_semphr = NULL; + +#else + +/*! \name LUN Access Protection Macros + */ +//! @{ + +/*! \brief Locks accesses to LUNs. + * + * \return \c TRUE if the access was successfully locked, else \c FALSE. + */ +#define Ctrl_access_lock() TRUE + +/*! \brief Unlocks accesses to LUNs. + */ +#define Ctrl_access_unlock() + +//! @} + +#endif // FREERTOS_USED + + +#if MAX_LUN + +/*! \brief Initializes an entry of the LUN descriptor table. + * + * \param lun Logical Unit Number. + * + * \return LUN descriptor table entry initializer. + */ +#if ACCESS_USB == ENABLED && ACCESS_MEM_TO_RAM == ENABLED +#define Lun_desc_entry(lun) \ + {\ + TPASTE3(Lun_, lun, _test_unit_ready),\ + TPASTE3(Lun_, lun, _read_capacity),\ + TPASTE3(Lun_, lun, _wr_protect),\ + TPASTE3(Lun_, lun, _removal),\ + TPASTE3(Lun_, lun, _usb_read_10),\ + TPASTE3(Lun_, lun, _usb_write_10),\ + TPASTE3(Lun_, lun, _mem_2_ram),\ + TPASTE3(Lun_, lun, _ram_2_mem),\ + TPASTE3(LUN_, lun, _NAME)\ + } +#elif ACCESS_USB == ENABLED +#define Lun_desc_entry(lun) \ + {\ + TPASTE3(Lun_, lun, _test_unit_ready),\ + TPASTE3(Lun_, lun, _read_capacity),\ + TPASTE3(Lun_, lun, _wr_protect),\ + TPASTE3(Lun_, lun, _removal),\ + TPASTE3(Lun_, lun, _usb_read_10),\ + TPASTE3(Lun_, lun, _usb_write_10),\ + TPASTE3(LUN_, lun, _NAME)\ + } +#elif ACCESS_MEM_TO_RAM == ENABLED +#define Lun_desc_entry(lun) \ + {\ + TPASTE3(Lun_, lun, _test_unit_ready),\ + TPASTE3(Lun_, lun, _read_capacity),\ + TPASTE3(Lun_, lun, _wr_protect),\ + TPASTE3(Lun_, lun, _removal),\ + TPASTE3(Lun_, lun, _mem_2_ram),\ + TPASTE3(Lun_, lun, _ram_2_mem),\ + TPASTE3(LUN_, lun, _NAME)\ + } +#else +#define Lun_desc_entry(lun) \ + {\ + TPASTE3(Lun_, lun, _test_unit_ready),\ + TPASTE3(Lun_, lun, _read_capacity),\ + TPASTE3(Lun_, lun, _wr_protect),\ + TPASTE3(Lun_, lun, _removal),\ + TPASTE3(LUN_, lun, _NAME)\ + } +#endif + +//! LUN descriptor table. +static const struct +{ + Ctrl_status (*test_unit_ready)(void); + Ctrl_status (*read_capacity)(U32 *); + Bool (*wr_protect)(void); + Bool (*removal)(void); +#if ACCESS_USB == ENABLED + Ctrl_status (*usb_read_10)(U32, U16); + Ctrl_status (*usb_write_10)(U32, U16); +#endif +#if ACCESS_MEM_TO_RAM == ENABLED + Ctrl_status (*mem_2_ram)(U32, void *); + Ctrl_status (*ram_2_mem)(U32, const void *); +#endif + const char *name; +} lun_desc[MAX_LUN] = +{ +#if LUN_0 == ENABLE + Lun_desc_entry(0), +#endif +#if LUN_1 == ENABLE + Lun_desc_entry(1), +#endif +#if LUN_2 == ENABLE + Lun_desc_entry(2), +#endif +#if LUN_3 == ENABLE + Lun_desc_entry(3), +#endif +#if LUN_4 == ENABLE + Lun_desc_entry(4), +#endif +#if LUN_5 == ENABLE + Lun_desc_entry(5), +#endif +#if LUN_6 == ENABLE + Lun_desc_entry(6), +#endif +#if LUN_7 == ENABLE + Lun_desc_entry(7) +#endif +}; + +#endif + + +#if GLOBAL_WR_PROTECT == ENABLED +Bool g_wr_protect; +#endif + + +/*! \name Control Interface + */ +//! @{ + + +#ifdef FREERTOS_USED + +Bool ctrl_access_init(void) +{ + // If the handle to the protecting semaphore is not valid, + if (!ctrl_access_semphr) + { + // try to create the semaphore. + vSemaphoreCreateBinary(ctrl_access_semphr); + + // If the semaphore could not be created, there is no backup solution. + if (!ctrl_access_semphr) return FALSE; + } + + return TRUE; +} + + +/*! \brief Locks accesses to LUNs. + * + * \return \c TRUE if the access was successfully locked, else \c FALSE. + */ +static Bool ctrl_access_lock(void) +{ + // If the semaphore could not be created, there is no backup solution. + if (!ctrl_access_semphr) return FALSE; + + // Wait for the semaphore. + while (!xSemaphoreTake(ctrl_access_semphr, portMAX_DELAY)); + + return TRUE; +} + +#endif // FREERTOS_USED + + +U8 get_nb_lun(void) +{ +#if MEM_USB == ENABLE + U8 nb_lun; + + if (!Ctrl_access_lock()) return MAX_LUN; + + nb_lun = MAX_LUN + host_get_lun(); + + Ctrl_access_unlock(); + + return nb_lun; +#else + return MAX_LUN; +#endif +} + + +U8 get_cur_lun(void) +{ + return LUN_ID_0; +} + + +Ctrl_status mem_test_unit_ready(U8 lun) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].test_unit_ready() : +#endif +#if LUN_USB == ENABLE + Lun_usb_test_unit_ready(lun - LUN_ID_USB); +#else + CTRL_FAIL; +#endif + + Ctrl_access_unlock(); + + return status; +} + + +Ctrl_status mem_read_capacity(U8 lun, U32 *u32_nb_sector) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].read_capacity(u32_nb_sector) : +#endif +#if LUN_USB == ENABLE + Lun_usb_read_capacity(lun - LUN_ID_USB, u32_nb_sector); +#else + CTRL_FAIL; +#endif + + Ctrl_access_unlock(); + + return status; +} + + +U8 mem_sector_size(U8 lun) +{ + U8 sector_size; + + if (!Ctrl_access_lock()) return 0; + + sector_size = +#if MAX_LUN + (lun < MAX_LUN) ? 1 : +#endif +#if LUN_USB == ENABLE + Lun_usb_read_sector_size(lun - LUN_ID_USB); +#else + 0; +#endif + + Ctrl_access_unlock(); + + return sector_size; +} + + +Bool mem_wr_protect(U8 lun) +{ + Bool wr_protect; + + if (!Ctrl_access_lock()) return TRUE; + + wr_protect = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].wr_protect() : +#endif +#if LUN_USB == ENABLE + Lun_usb_wr_protect(lun - LUN_ID_USB); +#else + TRUE; +#endif + + Ctrl_access_unlock(); + + return wr_protect; +} + + +Bool mem_removal(U8 lun) +{ + Bool removal; + + if (!Ctrl_access_lock()) return TRUE; + + removal = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].removal() : +#endif +#if LUN_USB == ENABLE + Lun_usb_removal(); +#else + TRUE; +#endif + + Ctrl_access_unlock(); + + return removal; +} + + +const char *mem_name(U8 lun) +{ + return +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].name : +#endif +#if LUN_USB == ENABLE + LUN_USB_NAME; +#else + NULL; +#endif +} + + +//! @} + + +#if ACCESS_USB == ENABLED + +/*! \name MEM <-> USB Interface + */ +//! @{ + + +Ctrl_status memory_2_usb(U8 lun, U32 addr, U16 nb_sector) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + memory_start_read_action(nb_sector); + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].usb_read_10(addr, nb_sector) : +#endif + CTRL_FAIL; + memory_stop_read_action(); + + Ctrl_access_unlock(); + + return status; +} + + +Ctrl_status usb_2_memory(U8 lun, U32 addr, U16 nb_sector) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + memory_start_write_action(nb_sector); + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].usb_write_10(addr, nb_sector) : +#endif + CTRL_FAIL; + memory_stop_write_action(); + + Ctrl_access_unlock(); + + return status; +} + + +//! @} + +#endif // ACCESS_USB == ENABLED + + +#if ACCESS_MEM_TO_RAM == ENABLED + +/*! \name MEM <-> RAM Interface + */ +//! @{ + + +Ctrl_status memory_2_ram(U8 lun, U32 addr, void *ram) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + memory_start_read_action(1); + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].mem_2_ram(addr, ram) : +#endif +#if LUN_USB == ENABLE + Lun_usb_mem_2_ram(addr, ram); +#else + CTRL_FAIL; +#endif + memory_stop_read_action(); + + Ctrl_access_unlock(); + + return status; +} + + +Ctrl_status ram_2_memory(U8 lun, U32 addr, const void *ram) +{ + Ctrl_status status; + + if (!Ctrl_access_lock()) return CTRL_FAIL; + + memory_start_write_action(1); + status = +#if MAX_LUN + (lun < MAX_LUN) ? lun_desc[lun].ram_2_mem(addr, ram) : +#endif +#if LUN_USB == ENABLE + Lun_usb_ram_2_mem(addr, ram); +#else + CTRL_FAIL; +#endif + memory_stop_write_action(); + + Ctrl_access_unlock(); + + return status; +} + + +//! @} + +#endif // ACCESS_MEM_TO_RAM == ENABLED + + +#if ACCESS_STREAM == ENABLED + +/*! \name Streaming MEM <-> MEM Interface + */ +//! @{ + + + #if ACCESS_MEM_TO_MEM == ENABLED + +#include "fat.h" + +Ctrl_status stream_mem_to_mem(U8 src_lun, U32 src_addr, U8 dest_lun, U32 dest_addr, U16 nb_sector) +{ +#if (defined __GNUC__) && (defined __AVR32__) + __attribute__((__aligned__(4))) +#elif (defined __ICCAVR32__) + #pragma data_alignment = 4 +#endif + static U8 sector_buf[FS_512B]; + Ctrl_status status = CTRL_GOOD; + + while (nb_sector--) + { + if ((status = memory_2_ram(src_lun, src_addr++, sector_buf)) != CTRL_GOOD) break; + if ((status = ram_2_memory(dest_lun, dest_addr++, sector_buf)) != CTRL_GOOD) break; + } + + return status; +} + + #endif // ACCESS_MEM_TO_MEM == ENABLED + + +Ctrl_status stream_state(U8 id) +{ + return CTRL_GOOD; +} + + +U16 stream_stop(U8 id) +{ + return 0; +} + + +//! @} + +#endif // ACCESS_STREAM == ENABLED diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h new file mode 100644 index 0000000..358bf65 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS/ctrl_access.h @@ -0,0 +1,369 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Abstraction layer for memory interfaces. + * + * This module contains the interfaces: + * - MEM <-> USB; + * - MEM <-> RAM; + * - MEM <-> MEM. + * + * This module may be configured and expanded to support the following features: + * - write-protected globals; + * - password-protected data; + * - specific features; + * - etc. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CTRL_ACCESS_H_ +#define _CTRL_ACCESS_H_ + +#include "compiler.h" +#include "conf_access.h" + + +//! Status returned by CTRL_ACCESS interfaces. +typedef enum +{ + CTRL_GOOD = PASS, //!< Success, memory ready. + CTRL_FAIL = FAIL, //!< An error occurred. + CTRL_NO_PRESENT = FAIL + 1, //!< Memory unplugged. + CTRL_BUSY = FAIL + 2 //!< Memory not initialized or changed. +} Ctrl_status; + + +// FYI: Each Logical Unit Number (LUN) corresponds to a memory. + +// Check LUN defines. +#ifndef LUN_0 + #error LUN_0 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_1 + #error LUN_1 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_2 + #error LUN_2 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_3 + #error LUN_3 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_4 + #error LUN_4 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_5 + #error LUN_5 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_6 + #error LUN_6 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_7 + #error LUN_7 must be defined as ENABLE or DISABLE in conf_access.h +#endif +#ifndef LUN_USB + #error LUN_USB must be defined as ENABLE or DISABLE in conf_access.h +#endif + +/*! \name LUN IDs + */ +//! @{ +#define LUN_ID_0 (0) //!< First static LUN. +#define LUN_ID_1 (LUN_ID_0 + LUN_0) +#define LUN_ID_2 (LUN_ID_1 + LUN_1) +#define LUN_ID_3 (LUN_ID_2 + LUN_2) +#define LUN_ID_4 (LUN_ID_3 + LUN_3) +#define LUN_ID_5 (LUN_ID_4 + LUN_4) +#define LUN_ID_6 (LUN_ID_5 + LUN_5) +#define LUN_ID_7 (LUN_ID_6 + LUN_6) +#define MAX_LUN (LUN_ID_7 + LUN_7) //!< Number of static LUNs. +#define LUN_ID_USB (MAX_LUN) //!< First dynamic LUN (USB host mass storage). +//! @} + + +// Include LUN header files. +#if LUN_0 == ENABLE + #include LUN_0_INCLUDE +#endif +#if LUN_1 == ENABLE + #include LUN_1_INCLUDE +#endif +#if LUN_2 == ENABLE + #include LUN_2_INCLUDE +#endif +#if LUN_3 == ENABLE + #include LUN_3_INCLUDE +#endif +#if LUN_4 == ENABLE + #include LUN_4_INCLUDE +#endif +#if LUN_5 == ENABLE + #include LUN_5_INCLUDE +#endif +#if LUN_6 == ENABLE + #include LUN_6_INCLUDE +#endif +#if LUN_7 == ENABLE + #include LUN_7_INCLUDE +#endif +#if LUN_USB == ENABLE + #include LUN_USB_INCLUDE +#endif + + +// Check the configuration of write protection in conf_access.h. +#ifndef GLOBAL_WR_PROTECT + #error GLOBAL_WR_PROTECT must be defined as ENABLED or DISABLED in conf_access.h +#endif + + +#if GLOBAL_WR_PROTECT == ENABLED + +//! Write protect. +extern Bool g_wr_protect; + +#endif + + +/*! \name Control Interface + */ +//! @{ + +#ifdef FREERTOS_USED + +/*! \brief Initializes the LUN access locker. + * + * \return \c TRUE if the locker was successfully initialized, else \c FALSE. + */ +extern Bool ctrl_access_init(void); + +#endif // FREERTOS_USED + +/*! \brief Returns the number of LUNs. + * + * \return Number of LUNs in the system. + */ +extern U8 get_nb_lun(void); + +/*! \brief Returns the current LUN. + * + * \return Current LUN. + * + * \todo Implement. + */ +extern U8 get_cur_lun(void); + +/*! \brief Tests the memory state and initializes the memory if required. + * + * The TEST UNIT READY SCSI primary command allows an application client to poll + * a LUN until it is ready without having to allocate memory for returned data. + * + * This command may be used to check the media status of LUNs with removable + * media. + * + * \param lun Logical Unit Number. + * + * \return Status. + */ +extern Ctrl_status mem_test_unit_ready(U8 lun); + +/*! \brief Returns the address of the last valid sector (512 bytes) in the + * memory. + * + * \param lun Logical Unit Number. + * \param u32_nb_sector Pointer to the address of the last valid sector. + * + * \return Status. + */ +extern Ctrl_status mem_read_capacity(U8 lun, U32 *u32_nb_sector); + +/*! \brief Returns the size of the physical sector. + * + * \param lun Logical Unit Number. + * + * \return Sector size (unit: 512 bytes). + */ +extern U8 mem_sector_size(U8 lun); + +/*! \brief Returns the write-protection state of the memory. + * + * \param lun Logical Unit Number. + * + * \return \c TRUE if the memory is write-protected, else \c FALSE. + * + * \note Only used by removable memories with hardware-specific write + * protection. + */ +extern Bool mem_wr_protect(U8 lun); + +/*! \brief Tells whether the memory is removable. + * + * \param lun Logical Unit Number. + * + * \return \c TRUE if the memory is removable, else \c FALSE. + */ +extern Bool mem_removal(U8 lun); + +/*! \brief Returns a pointer to the LUN name. + * + * \param lun Logical Unit Number. + * + * \return Pointer to the LUN name string. + */ +extern const char *mem_name(U8 lun); + +//! @} + + +#if ACCESS_USB == ENABLED + +/*! \name MEM <-> USB Interface + */ +//! @{ + +/*! \brief Tranfers data from the memory to USB. + * + * \param lun Logical Unit Number. + * \param addr Address of first memory sector to read. + * \param nb_sector Number of sectors to transfer. + * + * \return Status. + */ +extern Ctrl_status memory_2_usb(U8 lun, U32 addr, U16 nb_sector); + +/*! \brief Tranfers data from USB to the memory. + * + * \param lun Logical Unit Number. + * \param addr Address of first memory sector to write. + * \param nb_sector Number of sectors to transfer. + * + * \return Status. + */ +extern Ctrl_status usb_2_memory(U8 lun, U32 addr, U16 nb_sector); + +//! @} + +#endif // ACCESS_USB == ENABLED + + +#if ACCESS_MEM_TO_RAM == ENABLED + +/*! \name MEM <-> RAM Interface + */ +//! @{ + +/*! \brief Copies 1 data sector from the memory to RAM. + * + * \param lun Logical Unit Number. + * \param addr Address of first memory sector to read. + * \param ram Pointer to RAM buffer to write. + * + * \return Status. + */ +extern Ctrl_status memory_2_ram(U8 lun, U32 addr, void *ram); + +/*! \brief Copies 1 data sector from RAM to the memory. + * + * \param lun Logical Unit Number. + * \param addr Address of first memory sector to write. + * \param ram Pointer to RAM buffer to read. + * + * \return Status. + */ +extern Ctrl_status ram_2_memory(U8 lun, U32 addr, const void *ram); + +//! @} + +#endif // ACCESS_MEM_TO_RAM == ENABLED + + +#if ACCESS_STREAM == ENABLED + +/*! \name Streaming MEM <-> MEM Interface + */ +//! @{ + +//! Erroneous streaming data transfer ID. +#define ID_STREAM_ERR 0xFF + + #if ACCESS_MEM_TO_MEM == ENABLED + +/*! \brief Copies data from one memory to another. + * + * \param src_lun Source Logical Unit Number. + * \param src_addr Source address of first memory sector to read. + * \param dest_lun Destination Logical Unit Number. + * \param dest_addr Destination address of first memory sector to write. + * \param nb_sector Number of sectors to copy. + * + * \return Status. + */ +extern Ctrl_status stream_mem_to_mem(U8 src_lun, U32 src_addr, U8 dest_lun, U32 dest_addr, U16 nb_sector); + + #endif // ACCESS_MEM_TO_MEM == ENABLED + +/*! \brief Returns the state of a streaming data transfer. + * + * \param id Transfer ID. + * + * \return Status. + * + * \todo Implement. + */ +extern Ctrl_status stream_state(U8 id); + +/*! \brief Stops a streaming data transfer. + * + * \param id Transfer ID. + * + * \return Number of remaining sectors. + * + * \todo Implement. + */ +extern U16 stream_stop(U8 id); + +//! @} + +#endif // ACCESS_STREAM == ENABLED + + +#endif // _CTRL_ACCESS_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c new file mode 100644 index 0000000..c7c0a03 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.c @@ -0,0 +1,119 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Macros and functions dedicated to debug purposes. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "debug.h" + + +#if (defined __GNUC__) +# include "malloc.h" + +U32 get_heap_curr_used_size( void ) +{ + struct mallinfo my_info=mallinfo(); + return my_info.uordblks; +} + +U32 get_heap_total_used_size( void ) +{ + struct mallinfo my_info=mallinfo(); + return my_info.arena; +} +#endif + +U32 get_heap_free_size( void ) +{ + U32 high_mark= AVR32_SRAM_SIZE; + U32 low_mark = 0; + U32 size ; + void* p_mem; + + size = (high_mark + low_mark)/2; + + do + { + p_mem = malloc(size); + if( p_mem != NULL) + { // Can allocate memory + free(p_mem); + low_mark = size; + } + else + { // Can not allocate memory + high_mark = size; + } + + size = (high_mark + low_mark)/2; + } + while( (high_mark-low_mark) >1 ); + + return size; +} + +static void* round_trace_pbuf; +static U32 round_trace_size; + +void uc3_round_trace_init(void* buf, U32 size) +{ + round_trace_pbuf = buf; + (*(U32*)round_trace_pbuf)=(U32)buf+4; + round_trace_size = size; +} + +void uc3_round_trace(U32 val) +{ + //Disable_global_interrupt(); + + U32* p_wr = (U32*)(*(U32*)round_trace_pbuf); + *p_wr = val; + p_wr++; + if( ((U32)p_wr % round_trace_size) ==0 ) + p_wr= (U32*)round_trace_pbuf+1; + *p_wr = 0xdeadbeef; + *(U32*)round_trace_pbuf = (U32)p_wr; + + //Enable_global_interrupt(); +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h new file mode 100644 index 0000000..a832d7c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/debug.h @@ -0,0 +1,116 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Macros and functions dedicated to debug purposes. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _DEBUG_H_ +#define _DEBUG_H_ + +#include "stringz.h" + +/*! \brief These macros are used to add traces memory. + * + * First, initialise the trace with Uc3_trace_init(pointer), giving the start address + * of the memory location where will be stored the trace. + * Use Uc3_trace(something) to store "something" into the memory. The end of the trace + * is signaled by the "0xdeadbeef" pattern. + */ +#define Uc3_trace_init(debug_addr) \ + *(U32*)(debug_addr)=debug_addr+4 + +#define Uc3_trace(debug_addr, x) \ + *(U32*)(*(U32*)(debug_addr) ) = (U32)(x) ;\ + *(U32*)(*(U32*)(debug_addr)+4) = 0xdeadbeef ;\ + *(U32*)(debug_addr ) = *(U32*)(debug_addr)+4 + +/*! \brief This macro is used to insert labels into assembly output. + * + */ +#define Insert_label(name) \ + __asm__ __volatile__ (STRINGZ(name)":"); + +#if (defined __GNUC__) +/*! \brief Returns the number of total of used bytes allocated from the HEAP. + * + * \retval total number of used bytes. + */ +U32 get_heap_total_used_size( void ); + +/*! \brief Returns the number of bytes currently used from the HEAP. + * + * \retval total number of used bytes. + */ +U32 get_heap_curr_used_size( void ); +#endif + +/*! \brief Returns the number of free bytes in the HEAP. + * + * This funtion tries to allocate the maximum number of bytes by dichotomical method. + * + * \retval number of free bytes. + */ +extern U32 get_heap_free_size( void ); + +/*! \name Traces function using a round buffer + */ +//! @{ + +/*! \brief Initialize the trace using a round buffer. + * + * \param buf Base address of the buffer used for the trace. + * \param size Size of the round buffer. Must be a power of 2. + */ +void uc3_round_trace_init(void* buf, U32 size); + +/*! \brief Trace a data in the round buffer. + * + * The end of the trace is signaled by the "0xdeadbeef" pattern. + * \param val Data to trace; + */ +void uc3_round_trace(U32 val); + +//! @} + + +#endif // _DEBUG_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.c new file mode 100644 index 0000000..99e9274 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.c @@ -0,0 +1,215 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Strings and integers print module for debug purposes. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include "compiler.h" +#include "gpio.h" +#include "usart.h" +#include "print_funcs.h" + + +//! ASCII representation of hexadecimal digits. +static const char HEX_DIGITS[16] = "0123456789ABCDEF"; + + +void init_dbg_rs232(long pba_hz) +{ + init_dbg_rs232_ex(DBG_USART_BAUDRATE, pba_hz); +} + + +void init_dbg_rs232_ex(unsigned long baudrate, long pba_hz) +{ + static const gpio_map_t DBG_USART_GPIO_MAP = + { + {DBG_USART_RX_PIN, DBG_USART_RX_FUNCTION}, + {DBG_USART_TX_PIN, DBG_USART_TX_FUNCTION} + }; + + // Options for debug USART. + usart_options_t dbg_usart_options = + { + .baudrate = baudrate, + .charlength = 8, + .paritytype = USART_NO_PARITY, + .stopbits = USART_1_STOPBIT, + .channelmode = USART_NORMAL_CHMODE + }; + + // Setup GPIO for debug USART. + gpio_enable_module(DBG_USART_GPIO_MAP, + sizeof(DBG_USART_GPIO_MAP) / sizeof(DBG_USART_GPIO_MAP[0])); + + // Initialize it in RS232 mode. + usart_init_rs232(DBG_USART, &dbg_usart_options, pba_hz); +} + + +void print_dbg(const char *str) +{ + // Redirection to the debug USART. + print(DBG_USART, str); +} + + +void print_dbg_char(int c) +{ + // Redirection to the debug USART. + print_char(DBG_USART, c); +} + + +void print_dbg_ulong(unsigned long n) +{ + // Redirection to the debug USART. + print_ulong(DBG_USART, n); +} + + +void print_dbg_char_hex(unsigned char n) +{ + // Redirection to the debug USART. + print_char_hex(DBG_USART, n); +} + + +void print_dbg_short_hex(unsigned short n) +{ + // Redirection to the debug USART. + print_short_hex(DBG_USART, n); +} + + +void print_dbg_hex(unsigned long n) +{ + // Redirection to the debug USART. + print_hex(DBG_USART, n); +} + + +void print(volatile avr32_usart_t *usart, const char *str) +{ + // Invoke the USART driver to transmit the input string with the given USART. + usart_write_line(usart, str); +} + + +void print_char(volatile avr32_usart_t *usart, int c) +{ + // Invoke the USART driver to transmit the input character with the given USART. + usart_putchar(usart, c); +} + + +void print_ulong(volatile avr32_usart_t *usart, unsigned long n) +{ + char tmp[11]; + int i = sizeof(tmp) - 1; + + // Convert the given number to an ASCII decimal representation. + tmp[i] = '\0'; + do + { + tmp[--i] = '0' + n % 10; + n /= 10; + } while (n); + + // Transmit the resulting string with the given USART. + print(usart, tmp + i); +} + + +void print_char_hex(volatile avr32_usart_t *usart, unsigned char n) +{ + char tmp[3]; + int i; + + // Convert the given number to an ASCII hexadecimal representation. + tmp[2] = '\0'; + for (i = 1; i >= 0; i--) + { + tmp[i] = HEX_DIGITS[n & 0xF]; + n >>= 4; + } + + // Transmit the resulting string with the given USART. + print(usart, tmp); +} + + +void print_short_hex(volatile avr32_usart_t *usart, unsigned short n) +{ + char tmp[5]; + int i; + + // Convert the given number to an ASCII hexadecimal representation. + tmp[4] = '\0'; + for (i = 3; i >= 0; i--) + { + tmp[i] = HEX_DIGITS[n & 0xF]; + n >>= 4; + } + + // Transmit the resulting string with the given USART. + print(usart, tmp); +} + + +void print_hex(volatile avr32_usart_t *usart, unsigned long n) +{ + char tmp[9]; + int i; + + // Convert the given number to an ASCII hexadecimal representation. + tmp[8] = '\0'; + for (i = 7; i >= 0; i--) + { + tmp[i] = HEX_DIGITS[n & 0xF]; + n >>= 4; + } + + // Transmit the resulting string with the given USART. + print(usart, tmp); +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.h new file mode 100644 index 0000000..38f931d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/DEBUG/print_funcs.h @@ -0,0 +1,294 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Strings and integers print module for debug purposes. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USART module can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _PRINT_FUNCS_H_ +#define _PRINT_FUNCS_H_ + +#include <avr32/io.h> +#include "board.h" + + +/*! \name USART Settings for the Debug Module + */ +//! @{ +#if BOARD == EVK1100 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == EVK1101 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == UC3C_EK +# define DBG_USART (&AVR32_USART2) +# define DBG_USART_RX_PIN AVR32_USART2_RXD_0_1_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART2_RXD_0_1_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART2_TXD_0_1_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART2_TXD_0_1_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == EVK1104 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == EVK1105 +# define DBG_USART (&AVR32_USART0) +# define DBG_USART_RX_PIN AVR32_USART0_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART0_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART0_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART0_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +#elif BOARD == STK1000 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_FUNCTION +# define DBG_USART_BAUDRATE 115200 +#elif BOARD == NGW100 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_FUNCTION +# define DBG_USART_BAUDRATE 115200 +#elif BOARD == STK600_RCUC3L0 +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_1_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_1_FUNCTION +// For the RX pin, connect STK600.PORTE.PE3 to STK600.RS232 SPARE.RXD +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_1_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_1_FUNCTION +// For the TX pin, connect STK600.PORTE.PE2 to STK600.RS232 SPARE.TXD +# define DBG_USART_BAUDRATE 57600 +# define DBG_USART_CLOCK_MASK AVR32_USART1_CLK_PBA +#elif BOARD == UC3L_EK +# define DBG_USART (&AVR32_USART3) +# define DBG_USART_RX_PIN AVR32_USART3_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART3_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART3_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART3_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +# define DBG_USART_CLOCK_MASK AVR32_USART3_CLK_PBA +#elif BOARD == ARDUINO +# define DBG_USART (&AVR32_USART1) +# define DBG_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN +# define DBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION +# define DBG_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN +# define DBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION +# define DBG_USART_BAUDRATE 57600 +# define DBG_USART_CLOCK_MASK AVR32_USART1_CLK_PBA +#endif + +#if !defined(DBG_USART) || \ + !defined(DBG_USART_RX_PIN) || \ + !defined(DBG_USART_RX_FUNCTION) || \ + !defined(DBG_USART_TX_PIN) || \ + !defined(DBG_USART_TX_FUNCTION) || \ + !defined(DBG_USART_BAUDRATE) +# error The USART configuration to use for debug on your board is missing +#endif +//! @} + +/*! \name VT100 Common Commands + */ +//! @{ +#define CLEARSCR "\x1B[2J\x1B[;H" //!< Clear screen. +#define CLEAREOL "\x1B[K" //!< Clear end of line. +#define CLEAREOS "\x1B[J" //!< Clear end of screen. +#define CLEARLCR "\x1B[0K" //!< Clear line cursor right. +#define CLEARLCL "\x1B[1K" //!< Clear line cursor left. +#define CLEARELN "\x1B[2K" //!< Clear entire line. +#define CLEARCDW "\x1B[0J" //!< Clear cursor down. +#define CLEARCUP "\x1B[1J" //!< Clear cursor up. +#define GOTOYX "\x1B[%.2d;%.2dH" //!< Set cursor to (y, x). +#define INSERTMOD "\x1B[4h" //!< Insert mode. +#define OVERWRITEMOD "\x1B[4l" //!< Overwrite mode. +#define DELAFCURSOR "\x1B[K" //!< Erase from cursor to end of line. +#define CRLF "\r\n" //!< Carriage Return + Line Feed. +//! @} + +/*! \name VT100 Cursor Commands + */ +//! @{ +#define CURSON "\x1B[?25h" //!< Show cursor. +#define CURSOFF "\x1B[?25l" //!< Hide cursor. +//! @} + +/*! \name VT100 Character Commands + */ +//! @{ +#define NORMAL "\x1B[0m" //!< Normal. +#define BOLD "\x1B[1m" //!< Bold. +#define UNDERLINE "\x1B[4m" //!< Underline. +#define BLINKING "\x1B[5m" //!< Blink. +#define INVVIDEO "\x1B[7m" //!< Inverse video. +//! @} + +/*! \name VT100 Color Commands + */ +//! @{ +#define CL_BLACK "\033[22;30m" //!< Black. +#define CL_RED "\033[22;31m" //!< Red. +#define CL_GREEN "\033[22;32m" //!< Green. +#define CL_BROWN "\033[22;33m" //!< Brown. +#define CL_BLUE "\033[22;34m" //!< Blue. +#define CL_MAGENTA "\033[22;35m" //!< Magenta. +#define CL_CYAN "\033[22;36m" //!< Cyan. +#define CL_GRAY "\033[22;37m" //!< Gray. +#define CL_DARKGRAY "\033[01;30m" //!< Dark gray. +#define CL_LIGHTRED "\033[01;31m" //!< Light red. +#define CL_LIGHTGREEN "\033[01;32m" //!< Light green. +#define CL_YELLOW "\033[01;33m" //!< Yellow. +#define CL_LIGHTBLUE "\033[01;34m" //!< Light blue. +#define CL_LIGHTMAGENTA "\033[01;35m" //!< Light magenta. +#define CL_LIGHTCYAN "\033[01;36m" //!< Light cyan. +#define CL_WHITE "\033[01;37m" //!< White. +//! @} + + +/*! \brief Sets up DBG_USART with 8N1 at DBG_USART_BAUDRATE. + * + * \param pba_hz PBA clock frequency (Hz). + */ +extern void init_dbg_rs232(long pba_hz); + +/*! \brief Sets up DBG_USART with 8N1 at a given baud rate. + * + * \param baudrate Baud rate to set DBG_USART to. + * \param pba_hz PBA clock frequency (Hz). + */ +extern void init_dbg_rs232_ex(unsigned long baudrate, long pba_hz); + +/*! \brief Prints a string of characters to DBG_USART. + * + * \param str The string of characters to print. + */ +extern void print_dbg(const char *str); + +/*! \brief Prints a character to DBG_USART. + * + * \param c The character to print. + */ +extern void print_dbg_char(int c); + +/*! \brief Prints an integer to DBG_USART in a decimal representation. + * + * \param n The integer to print. + */ +extern void print_dbg_ulong(unsigned long n); + +/*! \brief Prints a char to DBG_USART in an hexadecimal representation. + * + * \param n The char to print. + */ +extern void print_dbg_char_hex(unsigned char n); + +/*! \brief Prints a short integer to DBG_USART in an hexadecimal representation. + * + * \param n The short integer to print. + */ +extern void print_dbg_short_hex(unsigned short n); + +/*! \brief Prints an integer to DBG_USART in an hexadecimal representation. + * + * \param n The integer to print. + */ +extern void print_dbg_hex(unsigned long n); + +/*! \brief Prints a string of characters to a given USART. + * + * \param usart Base address of the USART instance to print to. + * \param str The string of characters to print. + */ +extern void print(volatile avr32_usart_t *usart, const char *str); + +/*! \brief Prints a character to a given USART. + * + * \param usart Base address of the USART instance to print to. + * \param c The character to print. + */ +extern void print_char(volatile avr32_usart_t *usart, int c); + +/*! \brief Prints an integer to a given USART in a decimal representation. + * + * \param usart Base address of the USART instance to print to. + * \param n The integer to print. + */ +extern void print_ulong(volatile avr32_usart_t *usart, unsigned long n); + +/*! \brief Prints a char to a given USART in an hexadecimal representation. + * + * \param usart Base address of the USART instance to print to. + * \param n The char to print. + */ +extern void print_char_hex(volatile avr32_usart_t *usart, unsigned char n); + +/*! \brief Prints a short integer to a given USART in an hexadecimal + * representation. + * + * \param usart Base address of the USART instance to print to. + * \param n The short integer to print. + */ +extern void print_short_hex(volatile avr32_usart_t *usart, unsigned short n); + +/*! \brief Prints an integer to a given USART in an hexadecimal representation. + * + * \param usart Base address of the USART instance to print to. + * \param n The integer to print. + */ +extern void print_hex(volatile avr32_usart_t *usart, unsigned long n); + + +#endif // _PRINT_FUNCS_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h new file mode 100644 index 0000000..e3ebea7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_cpu.h @@ -0,0 +1,63 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS CPU include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_CPU_H__ +#define __AVR32_NEWLIB_ADDONS_CPU_H__ + +#include <_ansi.h> + +_BEGIN_STD_C + +#define CPU_HZ get_cpu_hz() + +void udelay(unsigned long usec); +void set_cpu_hz(unsigned int clk_hz); +unsigned int get_cpu_hz(); + +_END_STD_C + +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h new file mode 100644 index 0000000..31caf13 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_exceptions.h @@ -0,0 +1,120 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS exceptions include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_EXCEPTIONS_H__ +#define __AVR32_NEWLIB_ADDONS_EXCEPTIONS_H__ + +#include <_ansi.h> + +_BEGIN_STD_C + +/* + Exception vector offsets +*/ +#define EVBA_UNRECOVERABLE 0x000 +#define EVBA_TLB_MULTIPLE 0x004 +#define EVBA_BUS_ERROR_DATA 0x008 +#define EVBA_BUS_ERROR_INSTR 0x00C +#define EVBA_NMI 0x010 +#define EVBA_INSTR_ADDR 0x014 +#define EVBA_ITLB_MISS 0x050 +#define EVBA_ITLB_PROT 0x018 +#define EVBA_BREAKPOINT 0x01C +#define EVBA_ILLEGAL_OPCODE 0x020 +#define EVBA_UNIMPLEMENTED 0x024 +#define EVBA_PRIVILEGE_VIOL 0x028 +#define EVBA_FLOATING_POINT 0x02C +#define EVBA_COP_ABSENT 0x030 +#define EVBA_SCALL 0x100 +#define EVBA_DATA_ADDR_R 0x034 +#define EVBA_DATA_ADDR_W 0x038 +#define EVBA_DTLB_MISS_R 0x060 +#define EVBA_DTLB_MISS_W 0x070 +#define EVBA_DTLB_PROT_R 0x03C +#define EVBA_DTLB_PROT_W 0x040 +#define EVBA_DTLB_MODIFIED 0x044 + + +/* + Define the form of the function used when registering exceptions. + The function should return the address which the exception should + return to after the exception processing. +*/ + +typedef unsigned int (*__exception_handler)(int /*evba_offset*/, int /*return address*/); + +/* + Define the form of the function used when registering a scall handler. +*/ + +typedef void (*__scall_handler)(int /*code*/, int /*p1*/, int /*p2*/ + , int /*p3*/, int /*p4*/); + +/* + Function for registering an exception handler for the exception with + offset given by evba_offset. +*/ +void _register_exception_handler(__exception_handler handler, int evba_offset); + +/* + Function for registering a scall handler which can be a arbirary + function which uses r8-r12 for parameters. +*/ +void _register_scall_handler(__scall_handler handler); + +/* + Initialize exceptions. Must be called before registering exception handlers + and needed to enable exceptions. 'evba' is the pointer to the exception + vector. 'handler_table' is a pointer to an array where the pointers to + the exception handlers are stored. This array must be at least 0x104 bytes + and word aligned. +*/ +void init_exceptions(void *evba, void *handler_table); + +_END_STD_C + +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h new file mode 100644 index 0000000..76d81f7 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_interrupts.h @@ -0,0 +1,82 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS interrupts include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_INTERRUPTS_H__ +#define __AVR32_NEWLIB_ADDONS_INTERRUPTS_H__ + +#include <_ansi.h> + +_BEGIN_STD_C + +#define INT_GRPS 64 +#define INT_LINES 32 +#define INTPR_BASE (__intc_base__ + 0x0000) +#define INTREQ_BASE (__intc_base__ + 64*4) +#define INTCAUSE_BASE (__intc_base__ + 2*64*4) + +//Register offsets +#define INTLEVEL 30 +#define AUTOVECTOR 0 +#define AUTOVECTOR_BITS 14 + +//Priorities +#define INT0 0 +#define INT1 1 +#define INT2 2 +#define INT3 3 + + +typedef void (*__newlib_int_handler)(int /* int_grp*/, void */*user_handle*/); + +__newlib_int_handler register_interrupt(__newlib_int_handler handler, int int_grp, int line, int priority, + .../* void *user_handle*/); +void init_interrupts(); +void set_interrupts_base(void *base); + +_END_STD_C + +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h new file mode 100644 index 0000000..a725769 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_io.h @@ -0,0 +1,174 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS miscellaneous macros include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_IO_H__ +#define __AVR32_NEWLIB_ADDONS_IO_H__ + +#include <_ansi.h> + +_BEGIN_STD_C + +typedef char u8; +typedef unsigned int u32; + +#define __raw_writeb(v,a) (*(volatile unsigned char *)(a) = (v)) +#define __raw_writew(v,a) (*(volatile unsigned short *)(a) = (v)) +#define __raw_writel(v,a) (*(volatile unsigned int *)(a) = (v)) + +#define __raw_readb(a) (*(volatile unsigned char *)(a)) +#define __raw_readw(a) (*(volatile unsigned short *)(a)) +#define __raw_readl(a) (*(volatile unsigned int *)(a)) + +/* As long as I/O is only performed in P4 (or possibly P3), we're safe */ +#define writeb(v,a) __raw_writeb(v,a) +#define writew(v,a) __raw_writew(v,a) +#define writel(v,a) __raw_writel(v,a) + +#define readb(a) __raw_readb(a) +#define readw(a) __raw_readw(a) +#define readl(a) __raw_readl(a) + +/* Memory segments when segmentation is enabled */ +#define P0SEG 0x00000000 +#define P1SEG 0x80000000 +#define P2SEG 0xa0000000 +#define P3SEG 0xc0000000 +#define P4SEG 0xe0000000 + +/* Returns the privileged segment base of a given address */ +#define PXSEG(a) (((unsigned long)(a)) & 0xe0000000) + +/* Returns the physical address of a PnSEG (n=1,2) address */ +#define PHYSADDR(a) (((unsigned long)(a)) & 0x1fffffff) + +/* + * Map an address to a certain privileged segment + */ +#define P1SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P1SEG)) +#define P2SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P2SEG)) +#define P3SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P3SEG)) +#define P4SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P4SEG)) + + +#define cached(addr) P1SEGADDR(addr) +#define uncached(addr) P2SEGADDR(addr) +#define physaddr(addr) PHYSADDR(addr) + +#define BF(field, value) \ + ({ union { \ + struct { \ + unsigned : 32 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long __val: field ## _SIZE ; \ + }; \ + unsigned long __ul; \ + } __tmp; \ + __tmp.__ul = 0; \ + __tmp.__val = value; \ + __tmp.__ul;}) + +#define BF_D(field, value) \ + ({ union { \ + struct { \ + unsigned long long : 64 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long long __val: field ## _SIZE ; \ + }; \ + unsigned long long __ul; \ + } __tmp; \ + __tmp.__ul = 0; \ + __tmp.__val = value; \ + __tmp.__ul;}) + +#define BFINS(var, field, value) \ + { union {\ + struct { \ + unsigned : 32 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long __val: field ## _SIZE ; \ + }; \ + unsigned long __ul; \ + } __tmp; \ + __tmp.__ul = var; \ + __tmp.__val = value; \ + var = __tmp.__ul;} + +#define BFEXT(var, field) \ + ({ union {\ + struct { \ + unsigned : 32 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long __val: field ## _SIZE ; \ + }; \ + unsigned long __ul; \ + } __tmp; \ + __tmp.__ul = var; \ + __tmp.__val; }) + +#define BFINS_D(var, field, value) \ + { union {\ + struct { \ + unsigned long long : 64 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long long __val: field ## _SIZE ; \ + }; \ + unsigned long long __ul; \ + } __tmp; \ + __tmp.__ul = var; \ + __tmp.__val = value; \ + var = __tmp.__ul;} + +#define BFEXT_D(var, field) \ + ({ union {\ + struct { \ + unsigned long long : 64 - field ## _OFFSET - field ## _SIZE ; \ + unsigned long long __val: field ## _SIZE ; \ + }; \ + unsigned long long __ul; \ + } __tmp; \ + __tmp.__ul = var; \ + __tmp.__val; }) + + +_END_STD_C + +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h new file mode 100644 index 0000000..6c4697d --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE/nlao_usart.h @@ -0,0 +1,208 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief NEWLIB_ADDONS USART include file for AVR32. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef __AVR32_NEWLIB_ADDONS_USART_H__ +#define __AVR32_NEWLIB_ADDONS_USART_H__ + +#include <_ansi.h> + +#include "nlao_io.h" + +_BEGIN_STD_C + +struct usart3 { + volatile u32 us_cr; + volatile u32 us_mr; + volatile u32 us_ier; + volatile u32 us_idr; + volatile u32 us_imr; + volatile u32 us_csr; + volatile u32 us_rhr; + volatile u32 us_thr; + volatile u32 us_brgr; + volatile u32 us_rtor; + volatile u32 us_ttgr; + volatile u32 us_reserved[5]; + volatile u32 us_fidi; + volatile u32 us_ner; + volatile u32 us_xxr; + volatile u32 us_if; +}; + +/* Register offsets */ +#define US_CR 0x0000 +#define US_MR 0x0004 +#define US_IER 0x0008 +#define US_IDR 0x000c +#define US_IMR 0x0010 +#define US_CSR 0x0014 +#define US_RHR 0x0018 +#define US_THR 0x001c +#define US_BRGR 0x0020 +#define US_RTOR 0x0024 +#define US_TTGR 0x0028 + +#define US_FIDI 0x0040 +#define US_NER 0x0044 +#define US_XXR 0x0048 +#define US_IF 0x004c + +#define US_RPR 0x0100 +#define US_RCR 0x0104 +#define US_TPR 0x0108 +#define US_TCR 0x010c +#define US_RNPR 0x0110 +#define US_RNCR 0x0114 +#define US_TNPR 0x0118 +#define US_TNCR 0x011c +#define US_PTCR 0x0120 +#define US_PTSR 0x0124 + + + + +/* USART3 Control Register */ +#define US_CR_RSTRX (1 << 2) +#define US_CR_RSTTX (1 << 3) +#define US_CR_RXEN (1 << 4) +#define US_CR_RXDIS (1 << 5) +#define US_CR_TXEN (1 << 6) +#define US_CR_TXDIS (1 << 7) +#define US_CR_RSTSTA (1 << 8) +#define US_CR_STTBRK (1 << 9) +#define US_CR_STPBRK (1 << 10) + +#define US_CR_DTREN (1 << 16) +#define US_CR_DTRDIS (1 << 17) +#define US_CR_RTSEN (1 << 18) +#define US_CR_RTSDIS (1 << 19) + +/* USART3 Mode Register */ +#define US_MR_MODE (15 << 0) +#define US_MR_MODE_NORMAL ( 0 << 0) +#define US_MR_MODE_HWFLOW ( 2 << 0) +#define US_MR_CLKS ( 3 << 4) +#define US_MR_CLKS_CLOCK ( 0 << 4) +#define US_MR_CLKS_FDIV1 ( 1 << 4) +#define US_MR_CLKS_SLOW ( 2 << 4) +#define US_MR_CLKS_EXT ( 3 << 4) +#define US_MR_CHRL_5BITS ( 0 << 6) +#define US_MR_CHRL_6BITS ( 1 << 6) +#define US_MR_CHRL_7BITS ( 2 << 6) +#define US_MR_CHRL_8BITS ( 3 << 6) +#define US_MR_SYNC ( 1 << 8) +#define US_MR_PAR_EVEN ( 0 << 9) +#define US_MR_PAR_ODD ( 1 << 9) +#define US_MR_PAR_SPACE ( 2 << 9) +#define US_MR_PAR_MARK ( 3 << 9) +#define US_MR_PAR_NONE ( 4 << 9) +#define US_MR_PAR_MDROP ( 6 << 9) +#define US_MR_NBSTOP_1BIT ( 0 << 12) +#define US_MR_NBSTOP_1_5BIT ( 1 << 12) +#define US_MR_NBSTOP_2BITS ( 2 << 12) +#define US_MR_OVER ( 1 << 19) +#define US_MR_OVER_X16 ( 0 << 19) +#define US_MR_OVER_X8 ( 1 << 19) + +/* USART3 Channel Status Register */ +#define US_CSR_RXRDY (1 << 0) +#define US_CSR_TXRDY (1 << 1) +#define US_CSR_RXBRK (1 << 2) +#define US_CSR_ENDRX (1 << 3) +#define US_CSR_ENDTX (1 << 4) + + +#define US_CSR_OVRE (1 << 5) +#define US_CSR_FRAME (1 << 6) +#define US_CSR_PARE (1 << 7) + +#define US_CSR_TXEMPTY (1 << 9) + +#define US_CSR_TXBUFE (1 << 11) +#define US_CSR_RXBUFF (1 << 12) +#define US_CSR_RIIC (1 << 16) +#define US_CSR_DSRIC (1 << 17) +#define US_CSR_DCDIC (1 << 18) +#define US_CSR_CTSIC (1 << 19) +#define US_CSR_RI (1 << 20) +#define US_CSR_DSR (1 << 21) +#define US_CSR_DCD (1 << 22) +#define US_CSR_CTS (1 << 23) + +/* USART3 Baud Rate Generator Register */ +#define US_BRGR_CD_OFFSET 0 +#define US_BRGR_FP_OFFSET 16 + +#define US_BRGR_CD_SIZE 16 +#define US_BRGR_FP_SIZE 3 + +#define US_BRGR_CD (0xFFFF << 0) +#define US_BRGR_FP ( 7 << 16) + +/*USART3 PDC Transfer Control Register */ +#define US_PTCR_RXTEN (1 << 0) +#define US_PTCR_RXTDIS (1 << 1) +#define US_PTCR_TXTEN (1 << 8) +#define US_PTCR_TXTDIS (1 << 9) + +/*USART3 PDC Transfer Status Register */ +#define US_PTSR_RXTEN (1 << 0) +#define US_PTSR_TXTEN (1 << 8) + + +int usart_init(int baudrate); +void usart_putc(char c); +void usart_puts(const char *s); +int usart_getc(void); +int usart_tstc(void); +void usart_setbrg(int baudrate, int cpu_clock); +void set_usart_base(void *usart_base); + + +_END_STD_C + +#endif /* MERLIN_USART3_H */ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/libnewlib_addons-at32ucr2-speed_opt.a b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/libnewlib_addons-at32ucr2-speed_opt.a new file mode 100644 index 0000000000000000000000000000000000000000..aa673eccdd47c07f3ab27c1726263ee9a8306143 GIT binary patch literal 25540 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 literal 0 HcmV?d00001 diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/0512/GCC/link_uc3a0512.lds b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/0512/GCC/link_uc3a0512.lds new file mode 100644 index 0000000..59152ac --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/0512/GCC/link_uc3a0512.lds @@ -0,0 +1,266 @@ +/****************************************************************************** + * AVR32 AT32UC3A0512 GNU LD script file. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: AVR32 AT32UC3A0512 + * + * - author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32") + +OUTPUT_ARCH(avr32:uc) + +ENTRY(_start) + +MEMORY +{ + FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 0x00080000 + INTRAM (wxa!ri) : ORIGIN = 0x00000004, LENGTH = 0x0000FFFC + USERPAGE : ORIGIN = 0x80800000, LENGTH = 0x00000200 +} + +PHDRS +{ + FLASH PT_LOAD; + INTRAM_ALIGN PT_NULL; + INTRAM_AT_FLASH PT_LOAD; + INTRAM PT_NULL; + USERPAGE PT_LOAD; +} + +SECTIONS +{ + /* If this heap size is selected, all the INTRAM space from the end of the + data area to the beginning of the stack will be allocated for the heap. */ + __max_heap_size__ = -1; + + /* Use a default heap size if heap size was not defined. */ + __heap_size__ = DEFINED(__heap_size__) ? __heap_size__ : __max_heap_size__; + + /* Use a default stack size if stack size was not defined. */ + __stack_size__ = DEFINED(__stack_size__) ? __stack_size__ : 4K; + + /* Read-only sections, merged into text segment: */ + PROVIDE (__executable_start = 0x80000000); . = 0x80000000; + .interp : { *(.interp) } >FLASH AT>FLASH :FLASH + .reset : { *(.reset) } >FLASH AT>FLASH :FLASH + .hash : { *(.hash) } >FLASH AT>FLASH :FLASH + .dynsym : { *(.dynsym) } >FLASH AT>FLASH :FLASH + .dynstr : { *(.dynstr) } >FLASH AT>FLASH :FLASH + .gnu.version : { *(.gnu.version) } >FLASH AT>FLASH :FLASH + .gnu.version_d : { *(.gnu.version_d) } >FLASH AT>FLASH :FLASH + .gnu.version_r : { *(.gnu.version_r) } >FLASH AT>FLASH :FLASH + .rel.init : { *(.rel.init) } >FLASH AT>FLASH :FLASH + .rela.init : { *(.rela.init) } >FLASH AT>FLASH :FLASH + .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } >FLASH AT>FLASH :FLASH + .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } >FLASH AT>FLASH :FLASH + .rel.fini : { *(.rel.fini) } >FLASH AT>FLASH :FLASH + .rela.fini : { *(.rela.fini) } >FLASH AT>FLASH :FLASH + .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rel.data.rel.ro : { *(.rel.data.rel.ro*) } >FLASH AT>FLASH :FLASH + .rela.data.rel.ro : { *(.rel.data.rel.ro*) } >FLASH AT>FLASH :FLASH + .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } >FLASH AT>FLASH :FLASH + .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } >FLASH AT>FLASH :FLASH + .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } >FLASH AT>FLASH :FLASH + .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } >FLASH AT>FLASH :FLASH + .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } >FLASH AT>FLASH :FLASH + .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } >FLASH AT>FLASH :FLASH + .rel.ctors : { *(.rel.ctors) } >FLASH AT>FLASH :FLASH + .rela.ctors : { *(.rela.ctors) } >FLASH AT>FLASH :FLASH + .rel.dtors : { *(.rel.dtors) } >FLASH AT>FLASH :FLASH + .rela.dtors : { *(.rela.dtors) } >FLASH AT>FLASH :FLASH + .rel.got : { *(.rel.got) } >FLASH AT>FLASH :FLASH + .rela.got : { *(.rela.got) } >FLASH AT>FLASH :FLASH + .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } >FLASH AT>FLASH :FLASH + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } >FLASH AT>FLASH :FLASH + .rel.plt : { *(.rel.plt) } >FLASH AT>FLASH :FLASH + .rela.plt : { *(.rela.plt) } >FLASH AT>FLASH :FLASH + .init : + { + KEEP (*(.init)) + } >FLASH AT>FLASH :FLASH =0xd703d703 + .plt : { *(.plt) } >FLASH AT>FLASH :FLASH + .text : + { + *(.text .stub .text.* .gnu.linkonce.t.*) + KEEP (*(.text.*personality*)) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + } >FLASH AT>FLASH :FLASH =0xd703d703 + .fini : + { + KEEP (*(.fini)) + } >FLASH AT>FLASH :FLASH =0xd703d703 + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rodata1 : { *(.rodata1) } >FLASH AT>FLASH :FLASH + .eh_frame_hdr : { *(.eh_frame_hdr) } >FLASH AT>FLASH :FLASH + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } >FLASH AT>FLASH :FLASH + .gcc_except_table : ONLY_IF_RO { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } >FLASH AT>FLASH :FLASH + .lalign : { . = ALIGN(8); PROVIDE(_data_lma = .); } >FLASH AT>FLASH :FLASH + . = ORIGIN(INTRAM); + .dalign : { . = ALIGN(8); PROVIDE(_data = .); } >INTRAM AT>INTRAM :INTRAM_ALIGN + /* Exception handling */ + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .gcc_except_table : ONLY_IF_RW { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + /* Thread Local Storage sections */ + .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + /* Ensure the __preinit_array_start label is properly aligned. We + could instead move the label definition inside the section, but + the linker would then create the section even if it turns out to + be empty, which isn't pretty. */ + PROVIDE (__preinit_array_start = ALIGN(32 / 8)); + .preinit_array : { KEEP (*(.preinit_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__preinit_array_end = .); + PROVIDE (__init_array_start = .); + .init_array : { KEEP (*(.init_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__init_array_end = .); + PROVIDE (__fini_array_start = .); + .fini_array : { KEEP (*(.fini_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__fini_array_end = .); + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin*.o(.ctors)) + /* We don't want to include the .ctor section from + from the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .dtors : + { + KEEP (*crtbegin*.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .jcr : { KEEP (*(.jcr)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data.rel.ro : { *(.data.rel.ro.local) *(.data.rel.ro*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .dynamic : { *(.dynamic) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .got : { *(.got.plt) *(.got) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .ramtext : { *(.ramtext .ramtext.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .ddalign : { . = ALIGN(8); } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data : + { + *(.data .data.* .gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + SORT(CONSTRUCTORS) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data1 : { *(.data1) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .balign : { . = ALIGN(8); PROVIDE(_edata = .); } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (edata = .); + __bss_start = .; + .bss : + { + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + /* Align here to ensure that the .bss section occupies space up to + _end. Align after .bss to ensure correct alignment even if the + .bss section disappears because there are no input sections. */ + . = ALIGN(8); + } >INTRAM AT>INTRAM :INTRAM + . = ALIGN(8); + _end = .; + PROVIDE (end = .); + __heap_start__ = ALIGN(8); + .heap : + { + *(.heap) + . = (__heap_size__ == __max_heap_size__) ? + ORIGIN(INTRAM) + LENGTH(INTRAM) - __stack_size__ - ABSOLUTE(.) : + __heap_size__; + } >INTRAM AT>INTRAM :INTRAM + __heap_end__ = .; + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + .stack ORIGIN(INTRAM) + LENGTH(INTRAM) - __stack_size__ : + { + _stack = .; + *(.stack) + . = __stack_size__; + _estack = .; + } >INTRAM AT>INTRAM :INTRAM + .userpage : { *(.userpage .userpage.*) } >USERPAGE AT>USERPAGE :USERPAGE + /DISCARD/ : { *(.note.GNU-stack) } +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds new file mode 100644 index 0000000..a5926d8 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/LINKER_SCRIPTS/AT32UC3A/1256/GCC/link_uc3a1256.lds @@ -0,0 +1,266 @@ +/****************************************************************************** + * AVR32 AT32UC3A1256 GNU LD script file. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: AVR32 AT32UC3A1256 + * + * - author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32") + +OUTPUT_ARCH(avr32:uc) + +ENTRY(_start) + +MEMORY +{ + FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 0x00040000 + INTRAM (wxa!ri) : ORIGIN = 0x00000004, LENGTH = 0x0000FFFC + USERPAGE : ORIGIN = 0x80800000, LENGTH = 0x00000200 +} + +PHDRS +{ + FLASH PT_LOAD; + INTRAM_ALIGN PT_NULL; + INTRAM_AT_FLASH PT_LOAD; + INTRAM PT_NULL; + USERPAGE PT_LOAD; +} + +SECTIONS +{ + /* If this heap size is selected, all the INTRAM space from the end of the + data area to the beginning of the stack will be allocated for the heap. */ + __max_heap_size__ = -1; + + /* Use a default heap size if heap size was not defined. */ + __heap_size__ = DEFINED(__heap_size__) ? __heap_size__ : __max_heap_size__; + + /* Use a default stack size if stack size was not defined. */ + __stack_size__ = DEFINED(__stack_size__) ? __stack_size__ : 4K; + + /* Read-only sections, merged into text segment: */ + PROVIDE (__executable_start = 0x80000000); . = 0x80000000; + .interp : { *(.interp) } >FLASH AT>FLASH :FLASH + .reset : { *(.reset) } >FLASH AT>FLASH :FLASH + .hash : { *(.hash) } >FLASH AT>FLASH :FLASH + .dynsym : { *(.dynsym) } >FLASH AT>FLASH :FLASH + .dynstr : { *(.dynstr) } >FLASH AT>FLASH :FLASH + .gnu.version : { *(.gnu.version) } >FLASH AT>FLASH :FLASH + .gnu.version_d : { *(.gnu.version_d) } >FLASH AT>FLASH :FLASH + .gnu.version_r : { *(.gnu.version_r) } >FLASH AT>FLASH :FLASH + .rel.init : { *(.rel.init) } >FLASH AT>FLASH :FLASH + .rela.init : { *(.rela.init) } >FLASH AT>FLASH :FLASH + .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } >FLASH AT>FLASH :FLASH + .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } >FLASH AT>FLASH :FLASH + .rel.fini : { *(.rel.fini) } >FLASH AT>FLASH :FLASH + .rela.fini : { *(.rela.fini) } >FLASH AT>FLASH :FLASH + .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rel.data.rel.ro : { *(.rel.data.rel.ro*) } >FLASH AT>FLASH :FLASH + .rela.data.rel.ro : { *(.rel.data.rel.ro*) } >FLASH AT>FLASH :FLASH + .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } >FLASH AT>FLASH :FLASH + .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } >FLASH AT>FLASH :FLASH + .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } >FLASH AT>FLASH :FLASH + .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } >FLASH AT>FLASH :FLASH + .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } >FLASH AT>FLASH :FLASH + .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } >FLASH AT>FLASH :FLASH + .rel.ctors : { *(.rel.ctors) } >FLASH AT>FLASH :FLASH + .rela.ctors : { *(.rela.ctors) } >FLASH AT>FLASH :FLASH + .rel.dtors : { *(.rel.dtors) } >FLASH AT>FLASH :FLASH + .rela.dtors : { *(.rela.dtors) } >FLASH AT>FLASH :FLASH + .rel.got : { *(.rel.got) } >FLASH AT>FLASH :FLASH + .rela.got : { *(.rela.got) } >FLASH AT>FLASH :FLASH + .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } >FLASH AT>FLASH :FLASH + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } >FLASH AT>FLASH :FLASH + .rel.plt : { *(.rel.plt) } >FLASH AT>FLASH :FLASH + .rela.plt : { *(.rela.plt) } >FLASH AT>FLASH :FLASH + .init : + { + KEEP (*(.init)) + } >FLASH AT>FLASH :FLASH =0xd703d703 + .plt : { *(.plt) } >FLASH AT>FLASH :FLASH + .text : + { + *(.text .stub .text.* .gnu.linkonce.t.*) + KEEP (*(.text.*personality*)) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + } >FLASH AT>FLASH :FLASH =0xd703d703 + .fini : + { + KEEP (*(.fini)) + } >FLASH AT>FLASH :FLASH =0xd703d703 + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } >FLASH AT>FLASH :FLASH + .rodata1 : { *(.rodata1) } >FLASH AT>FLASH :FLASH + .eh_frame_hdr : { *(.eh_frame_hdr) } >FLASH AT>FLASH :FLASH + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } >FLASH AT>FLASH :FLASH + .gcc_except_table : ONLY_IF_RO { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } >FLASH AT>FLASH :FLASH + .lalign : { . = ALIGN(8); PROVIDE(_data_lma = .); } >FLASH AT>FLASH :FLASH + . = ORIGIN(INTRAM); + .dalign : { . = ALIGN(8); PROVIDE(_data = .); } >INTRAM AT>INTRAM :INTRAM_ALIGN + /* Exception handling */ + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .gcc_except_table : ONLY_IF_RW { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + /* Thread Local Storage sections */ + .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + /* Ensure the __preinit_array_start label is properly aligned. We + could instead move the label definition inside the section, but + the linker would then create the section even if it turns out to + be empty, which isn't pretty. */ + PROVIDE (__preinit_array_start = ALIGN(32 / 8)); + .preinit_array : { KEEP (*(.preinit_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__preinit_array_end = .); + PROVIDE (__init_array_start = .); + .init_array : { KEEP (*(.init_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__init_array_end = .); + PROVIDE (__fini_array_start = .); + .fini_array : { KEEP (*(.fini_array)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (__fini_array_end = .); + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin*.o(.ctors)) + /* We don't want to include the .ctor section from + from the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .dtors : + { + KEEP (*crtbegin*.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .jcr : { KEEP (*(.jcr)) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data.rel.ro : { *(.data.rel.ro.local) *(.data.rel.ro*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .dynamic : { *(.dynamic) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .got : { *(.got.plt) *(.got) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .ramtext : { *(.ramtext .ramtext.*) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .ddalign : { . = ALIGN(8); } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data : + { + *(.data .data.* .gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + SORT(CONSTRUCTORS) + } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .data1 : { *(.data1) } >INTRAM AT>FLASH :INTRAM_AT_FLASH + .balign : { . = ALIGN(8); PROVIDE(_edata = .); } >INTRAM AT>FLASH :INTRAM_AT_FLASH + PROVIDE (edata = .); + __bss_start = .; + .bss : + { + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + /* Align here to ensure that the .bss section occupies space up to + _end. Align after .bss to ensure correct alignment even if the + .bss section disappears because there are no input sections. */ + . = ALIGN(8); + } >INTRAM AT>INTRAM :INTRAM + . = ALIGN(8); + _end = .; + PROVIDE (end = .); + __heap_start__ = ALIGN(8); + .heap : + { + *(.heap) + . = (__heap_size__ == __max_heap_size__) ? + ORIGIN(INTRAM) + LENGTH(INTRAM) - __stack_size__ - ABSOLUTE(.) : + __heap_size__; + } >INTRAM AT>INTRAM :INTRAM + __heap_end__ = .; + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + .stack ORIGIN(INTRAM) + LENGTH(INTRAM) - __stack_size__ : + { + _stack = .; + *(.stack) + . = __stack_size__; + _estack = .; + } >INTRAM AT>INTRAM :INTRAM + .userpage : { *(.userpage .userpage.*) } >USERPAGE AT>USERPAGE :USERPAGE + /DISCARD/ : { *(.note.GNU-stack) } +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/mrepeat.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/mrepeat.h new file mode 100644 index 0000000..41163b6 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/mrepeat.h @@ -0,0 +1,328 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Preprocessor macro repeating utils. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _MREPEAT_H_ +#define _MREPEAT_H_ + +#include "preprocessor.h" + + +//! Maximal number of repetitions supported by MREPEAT. +#define MREPEAT_LIMIT 256 + +/*! \brief Macro repeat. + * + * This macro represents a horizontal repetition construct. + * + * \param count The number of repetitious calls to macro. Valid values range from 0 to MREPEAT_LIMIT. + * \param macro A binary operation of the form macro(n, data). This macro is expanded by MREPEAT with + * the current repetition number and the auxiliary data argument. + * \param data Auxiliary data passed to macro. + * + * \return <tt>macro(0, data) macro(1, data) ... macro(count - 1, data)</tt> + */ +#define MREPEAT(count, macro, data) TPASTE2(MREPEAT, count)(macro, data) + +#define MREPEAT0( macro, data) +#define MREPEAT1( macro, data) MREPEAT0( macro, data) macro( 0, data) +#define MREPEAT2( macro, data) MREPEAT1( macro, data) macro( 1, data) +#define MREPEAT3( macro, data) MREPEAT2( macro, data) macro( 2, data) +#define MREPEAT4( macro, data) MREPEAT3( macro, data) macro( 3, data) +#define MREPEAT5( macro, data) MREPEAT4( macro, data) macro( 4, data) +#define MREPEAT6( macro, data) MREPEAT5( macro, data) macro( 5, data) +#define MREPEAT7( macro, data) MREPEAT6( macro, data) macro( 6, data) +#define MREPEAT8( macro, data) MREPEAT7( macro, data) macro( 7, data) +#define MREPEAT9( macro, data) MREPEAT8( macro, data) macro( 8, data) +#define MREPEAT10( macro, data) MREPEAT9( macro, data) macro( 9, data) +#define MREPEAT11( macro, data) MREPEAT10( macro, data) macro( 10, data) +#define MREPEAT12( macro, data) MREPEAT11( macro, data) macro( 11, data) +#define MREPEAT13( macro, data) MREPEAT12( macro, data) macro( 12, data) +#define MREPEAT14( macro, data) MREPEAT13( macro, data) macro( 13, data) +#define MREPEAT15( macro, data) MREPEAT14( macro, data) macro( 14, data) +#define MREPEAT16( macro, data) MREPEAT15( macro, data) macro( 15, data) +#define MREPEAT17( macro, data) MREPEAT16( macro, data) macro( 16, data) +#define MREPEAT18( macro, data) MREPEAT17( macro, data) macro( 17, data) +#define MREPEAT19( macro, data) MREPEAT18( macro, data) macro( 18, data) +#define MREPEAT20( macro, data) MREPEAT19( macro, data) macro( 19, data) +#define MREPEAT21( macro, data) MREPEAT20( macro, data) macro( 20, data) +#define MREPEAT22( macro, data) MREPEAT21( macro, data) macro( 21, data) +#define MREPEAT23( macro, data) MREPEAT22( macro, data) macro( 22, data) +#define MREPEAT24( macro, data) MREPEAT23( macro, data) macro( 23, data) +#define MREPEAT25( macro, data) MREPEAT24( macro, data) macro( 24, data) +#define MREPEAT26( macro, data) MREPEAT25( macro, data) macro( 25, data) +#define MREPEAT27( macro, data) MREPEAT26( macro, data) macro( 26, data) +#define MREPEAT28( macro, data) MREPEAT27( macro, data) macro( 27, data) +#define MREPEAT29( macro, data) MREPEAT28( macro, data) macro( 28, data) +#define MREPEAT30( macro, data) MREPEAT29( macro, data) macro( 29, data) +#define MREPEAT31( macro, data) MREPEAT30( macro, data) macro( 30, data) +#define MREPEAT32( macro, data) MREPEAT31( macro, data) macro( 31, data) +#define MREPEAT33( macro, data) MREPEAT32( macro, data) macro( 32, data) +#define MREPEAT34( macro, data) MREPEAT33( macro, data) macro( 33, data) +#define MREPEAT35( macro, data) MREPEAT34( macro, data) macro( 34, data) +#define MREPEAT36( macro, data) MREPEAT35( macro, data) macro( 35, data) +#define MREPEAT37( macro, data) MREPEAT36( macro, data) macro( 36, data) +#define MREPEAT38( macro, data) MREPEAT37( macro, data) macro( 37, data) +#define MREPEAT39( macro, data) MREPEAT38( macro, data) macro( 38, data) +#define MREPEAT40( macro, data) MREPEAT39( macro, data) macro( 39, data) +#define MREPEAT41( macro, data) MREPEAT40( macro, data) macro( 40, data) +#define MREPEAT42( macro, data) MREPEAT41( macro, data) macro( 41, data) +#define MREPEAT43( macro, data) MREPEAT42( macro, data) macro( 42, data) +#define MREPEAT44( macro, data) MREPEAT43( macro, data) macro( 43, data) +#define MREPEAT45( macro, data) MREPEAT44( macro, data) macro( 44, data) +#define MREPEAT46( macro, data) MREPEAT45( macro, data) macro( 45, data) +#define MREPEAT47( macro, data) MREPEAT46( macro, data) macro( 46, data) +#define MREPEAT48( macro, data) MREPEAT47( macro, data) macro( 47, data) +#define MREPEAT49( macro, data) MREPEAT48( macro, data) macro( 48, data) +#define MREPEAT50( macro, data) MREPEAT49( macro, data) macro( 49, data) +#define MREPEAT51( macro, data) MREPEAT50( macro, data) macro( 50, data) +#define MREPEAT52( macro, data) MREPEAT51( macro, data) macro( 51, data) +#define MREPEAT53( macro, data) MREPEAT52( macro, data) macro( 52, data) +#define MREPEAT54( macro, data) MREPEAT53( macro, data) macro( 53, data) +#define MREPEAT55( macro, data) MREPEAT54( macro, data) macro( 54, data) +#define MREPEAT56( macro, data) MREPEAT55( macro, data) macro( 55, data) +#define MREPEAT57( macro, data) MREPEAT56( macro, data) macro( 56, data) +#define MREPEAT58( macro, data) MREPEAT57( macro, data) macro( 57, data) +#define MREPEAT59( macro, data) MREPEAT58( macro, data) macro( 58, data) +#define MREPEAT60( macro, data) MREPEAT59( macro, data) macro( 59, data) +#define MREPEAT61( macro, data) MREPEAT60( macro, data) macro( 60, data) +#define MREPEAT62( macro, data) MREPEAT61( macro, data) macro( 61, data) +#define MREPEAT63( macro, data) MREPEAT62( macro, data) macro( 62, data) +#define MREPEAT64( macro, data) MREPEAT63( macro, data) macro( 63, data) +#define MREPEAT65( macro, data) MREPEAT64( macro, data) macro( 64, data) +#define MREPEAT66( macro, data) MREPEAT65( macro, data) macro( 65, data) +#define MREPEAT67( macro, data) MREPEAT66( macro, data) macro( 66, data) +#define MREPEAT68( macro, data) MREPEAT67( macro, data) macro( 67, data) +#define MREPEAT69( macro, data) MREPEAT68( macro, data) macro( 68, data) +#define MREPEAT70( macro, data) MREPEAT69( macro, data) macro( 69, data) +#define MREPEAT71( macro, data) MREPEAT70( macro, data) macro( 70, data) +#define MREPEAT72( macro, data) MREPEAT71( macro, data) macro( 71, data) +#define MREPEAT73( macro, data) MREPEAT72( macro, data) macro( 72, data) +#define MREPEAT74( macro, data) MREPEAT73( macro, data) macro( 73, data) +#define MREPEAT75( macro, data) MREPEAT74( macro, data) macro( 74, data) +#define MREPEAT76( macro, data) MREPEAT75( macro, data) macro( 75, data) +#define MREPEAT77( macro, data) MREPEAT76( macro, data) macro( 76, data) +#define MREPEAT78( macro, data) MREPEAT77( macro, data) macro( 77, data) +#define MREPEAT79( macro, data) MREPEAT78( macro, data) macro( 78, data) +#define MREPEAT80( macro, data) MREPEAT79( macro, data) macro( 79, data) +#define MREPEAT81( macro, data) MREPEAT80( macro, data) macro( 80, data) +#define MREPEAT82( macro, data) MREPEAT81( macro, data) macro( 81, data) +#define MREPEAT83( macro, data) MREPEAT82( macro, data) macro( 82, data) +#define MREPEAT84( macro, data) MREPEAT83( macro, data) macro( 83, data) +#define MREPEAT85( macro, data) MREPEAT84( macro, data) macro( 84, data) +#define MREPEAT86( macro, data) MREPEAT85( macro, data) macro( 85, data) +#define MREPEAT87( macro, data) MREPEAT86( macro, data) macro( 86, data) +#define MREPEAT88( macro, data) MREPEAT87( macro, data) macro( 87, data) +#define MREPEAT89( macro, data) MREPEAT88( macro, data) macro( 88, data) +#define MREPEAT90( macro, data) MREPEAT89( macro, data) macro( 89, data) +#define MREPEAT91( macro, data) MREPEAT90( macro, data) macro( 90, data) +#define MREPEAT92( macro, data) MREPEAT91( macro, data) macro( 91, data) +#define MREPEAT93( macro, data) MREPEAT92( macro, data) macro( 92, data) +#define MREPEAT94( macro, data) MREPEAT93( macro, data) macro( 93, data) +#define MREPEAT95( macro, data) MREPEAT94( macro, data) macro( 94, data) +#define MREPEAT96( macro, data) MREPEAT95( macro, data) macro( 95, data) +#define MREPEAT97( macro, data) MREPEAT96( macro, data) macro( 96, data) +#define MREPEAT98( macro, data) MREPEAT97( macro, data) macro( 97, data) +#define MREPEAT99( macro, data) MREPEAT98( macro, data) macro( 98, data) +#define MREPEAT100(macro, data) MREPEAT99( macro, data) macro( 99, data) +#define MREPEAT101(macro, data) MREPEAT100(macro, data) macro(100, data) +#define MREPEAT102(macro, data) MREPEAT101(macro, data) macro(101, data) +#define MREPEAT103(macro, data) MREPEAT102(macro, data) macro(102, data) +#define MREPEAT104(macro, data) MREPEAT103(macro, data) macro(103, data) +#define MREPEAT105(macro, data) MREPEAT104(macro, data) macro(104, data) +#define MREPEAT106(macro, data) MREPEAT105(macro, data) macro(105, data) +#define MREPEAT107(macro, data) MREPEAT106(macro, data) macro(106, data) +#define MREPEAT108(macro, data) MREPEAT107(macro, data) macro(107, data) +#define MREPEAT109(macro, data) MREPEAT108(macro, data) macro(108, data) +#define MREPEAT110(macro, data) MREPEAT109(macro, data) macro(109, data) +#define MREPEAT111(macro, data) MREPEAT110(macro, data) macro(110, data) +#define MREPEAT112(macro, data) MREPEAT111(macro, data) macro(111, data) +#define MREPEAT113(macro, data) MREPEAT112(macro, data) macro(112, data) +#define MREPEAT114(macro, data) MREPEAT113(macro, data) macro(113, data) +#define MREPEAT115(macro, data) MREPEAT114(macro, data) macro(114, data) +#define MREPEAT116(macro, data) MREPEAT115(macro, data) macro(115, data) +#define MREPEAT117(macro, data) MREPEAT116(macro, data) macro(116, data) +#define MREPEAT118(macro, data) MREPEAT117(macro, data) macro(117, data) +#define MREPEAT119(macro, data) MREPEAT118(macro, data) macro(118, data) +#define MREPEAT120(macro, data) MREPEAT119(macro, data) macro(119, data) +#define MREPEAT121(macro, data) MREPEAT120(macro, data) macro(120, data) +#define MREPEAT122(macro, data) MREPEAT121(macro, data) macro(121, data) +#define MREPEAT123(macro, data) MREPEAT122(macro, data) macro(122, data) +#define MREPEAT124(macro, data) MREPEAT123(macro, data) macro(123, data) +#define MREPEAT125(macro, data) MREPEAT124(macro, data) macro(124, data) +#define MREPEAT126(macro, data) MREPEAT125(macro, data) macro(125, data) +#define MREPEAT127(macro, data) MREPEAT126(macro, data) macro(126, data) +#define MREPEAT128(macro, data) MREPEAT127(macro, data) macro(127, data) +#define MREPEAT129(macro, data) MREPEAT128(macro, data) macro(128, data) +#define MREPEAT130(macro, data) MREPEAT129(macro, data) macro(129, data) +#define MREPEAT131(macro, data) MREPEAT130(macro, data) macro(130, data) +#define MREPEAT132(macro, data) MREPEAT131(macro, data) macro(131, data) +#define MREPEAT133(macro, data) MREPEAT132(macro, data) macro(132, data) +#define MREPEAT134(macro, data) MREPEAT133(macro, data) macro(133, data) +#define MREPEAT135(macro, data) MREPEAT134(macro, data) macro(134, data) +#define MREPEAT136(macro, data) MREPEAT135(macro, data) macro(135, data) +#define MREPEAT137(macro, data) MREPEAT136(macro, data) macro(136, data) +#define MREPEAT138(macro, data) MREPEAT137(macro, data) macro(137, data) +#define MREPEAT139(macro, data) MREPEAT138(macro, data) macro(138, data) +#define MREPEAT140(macro, data) MREPEAT139(macro, data) macro(139, data) +#define MREPEAT141(macro, data) MREPEAT140(macro, data) macro(140, data) +#define MREPEAT142(macro, data) MREPEAT141(macro, data) macro(141, data) +#define MREPEAT143(macro, data) MREPEAT142(macro, data) macro(142, data) +#define MREPEAT144(macro, data) MREPEAT143(macro, data) macro(143, data) +#define MREPEAT145(macro, data) MREPEAT144(macro, data) macro(144, data) +#define MREPEAT146(macro, data) MREPEAT145(macro, data) macro(145, data) +#define MREPEAT147(macro, data) MREPEAT146(macro, data) macro(146, data) +#define MREPEAT148(macro, data) MREPEAT147(macro, data) macro(147, data) +#define MREPEAT149(macro, data) MREPEAT148(macro, data) macro(148, data) +#define MREPEAT150(macro, data) MREPEAT149(macro, data) macro(149, data) +#define MREPEAT151(macro, data) MREPEAT150(macro, data) macro(150, data) +#define MREPEAT152(macro, data) MREPEAT151(macro, data) macro(151, data) +#define MREPEAT153(macro, data) MREPEAT152(macro, data) macro(152, data) +#define MREPEAT154(macro, data) MREPEAT153(macro, data) macro(153, data) +#define MREPEAT155(macro, data) MREPEAT154(macro, data) macro(154, data) +#define MREPEAT156(macro, data) MREPEAT155(macro, data) macro(155, data) +#define MREPEAT157(macro, data) MREPEAT156(macro, data) macro(156, data) +#define MREPEAT158(macro, data) MREPEAT157(macro, data) macro(157, data) +#define MREPEAT159(macro, data) MREPEAT158(macro, data) macro(158, data) +#define MREPEAT160(macro, data) MREPEAT159(macro, data) macro(159, data) +#define MREPEAT161(macro, data) MREPEAT160(macro, data) macro(160, data) +#define MREPEAT162(macro, data) MREPEAT161(macro, data) macro(161, data) +#define MREPEAT163(macro, data) MREPEAT162(macro, data) macro(162, data) +#define MREPEAT164(macro, data) MREPEAT163(macro, data) macro(163, data) +#define MREPEAT165(macro, data) MREPEAT164(macro, data) macro(164, data) +#define MREPEAT166(macro, data) MREPEAT165(macro, data) macro(165, data) +#define MREPEAT167(macro, data) MREPEAT166(macro, data) macro(166, data) +#define MREPEAT168(macro, data) MREPEAT167(macro, data) macro(167, data) +#define MREPEAT169(macro, data) MREPEAT168(macro, data) macro(168, data) +#define MREPEAT170(macro, data) MREPEAT169(macro, data) macro(169, data) +#define MREPEAT171(macro, data) MREPEAT170(macro, data) macro(170, data) +#define MREPEAT172(macro, data) MREPEAT171(macro, data) macro(171, data) +#define MREPEAT173(macro, data) MREPEAT172(macro, data) macro(172, data) +#define MREPEAT174(macro, data) MREPEAT173(macro, data) macro(173, data) +#define MREPEAT175(macro, data) MREPEAT174(macro, data) macro(174, data) +#define MREPEAT176(macro, data) MREPEAT175(macro, data) macro(175, data) +#define MREPEAT177(macro, data) MREPEAT176(macro, data) macro(176, data) +#define MREPEAT178(macro, data) MREPEAT177(macro, data) macro(177, data) +#define MREPEAT179(macro, data) MREPEAT178(macro, data) macro(178, data) +#define MREPEAT180(macro, data) MREPEAT179(macro, data) macro(179, data) +#define MREPEAT181(macro, data) MREPEAT180(macro, data) macro(180, data) +#define MREPEAT182(macro, data) MREPEAT181(macro, data) macro(181, data) +#define MREPEAT183(macro, data) MREPEAT182(macro, data) macro(182, data) +#define MREPEAT184(macro, data) MREPEAT183(macro, data) macro(183, data) +#define MREPEAT185(macro, data) MREPEAT184(macro, data) macro(184, data) +#define MREPEAT186(macro, data) MREPEAT185(macro, data) macro(185, data) +#define MREPEAT187(macro, data) MREPEAT186(macro, data) macro(186, data) +#define MREPEAT188(macro, data) MREPEAT187(macro, data) macro(187, data) +#define MREPEAT189(macro, data) MREPEAT188(macro, data) macro(188, data) +#define MREPEAT190(macro, data) MREPEAT189(macro, data) macro(189, data) +#define MREPEAT191(macro, data) MREPEAT190(macro, data) macro(190, data) +#define MREPEAT192(macro, data) MREPEAT191(macro, data) macro(191, data) +#define MREPEAT193(macro, data) MREPEAT192(macro, data) macro(192, data) +#define MREPEAT194(macro, data) MREPEAT193(macro, data) macro(193, data) +#define MREPEAT195(macro, data) MREPEAT194(macro, data) macro(194, data) +#define MREPEAT196(macro, data) MREPEAT195(macro, data) macro(195, data) +#define MREPEAT197(macro, data) MREPEAT196(macro, data) macro(196, data) +#define MREPEAT198(macro, data) MREPEAT197(macro, data) macro(197, data) +#define MREPEAT199(macro, data) MREPEAT198(macro, data) macro(198, data) +#define MREPEAT200(macro, data) MREPEAT199(macro, data) macro(199, data) +#define MREPEAT201(macro, data) MREPEAT200(macro, data) macro(200, data) +#define MREPEAT202(macro, data) MREPEAT201(macro, data) macro(201, data) +#define MREPEAT203(macro, data) MREPEAT202(macro, data) macro(202, data) +#define MREPEAT204(macro, data) MREPEAT203(macro, data) macro(203, data) +#define MREPEAT205(macro, data) MREPEAT204(macro, data) macro(204, data) +#define MREPEAT206(macro, data) MREPEAT205(macro, data) macro(205, data) +#define MREPEAT207(macro, data) MREPEAT206(macro, data) macro(206, data) +#define MREPEAT208(macro, data) MREPEAT207(macro, data) macro(207, data) +#define MREPEAT209(macro, data) MREPEAT208(macro, data) macro(208, data) +#define MREPEAT210(macro, data) MREPEAT209(macro, data) macro(209, data) +#define MREPEAT211(macro, data) MREPEAT210(macro, data) macro(210, data) +#define MREPEAT212(macro, data) MREPEAT211(macro, data) macro(211, data) +#define MREPEAT213(macro, data) MREPEAT212(macro, data) macro(212, data) +#define MREPEAT214(macro, data) MREPEAT213(macro, data) macro(213, data) +#define MREPEAT215(macro, data) MREPEAT214(macro, data) macro(214, data) +#define MREPEAT216(macro, data) MREPEAT215(macro, data) macro(215, data) +#define MREPEAT217(macro, data) MREPEAT216(macro, data) macro(216, data) +#define MREPEAT218(macro, data) MREPEAT217(macro, data) macro(217, data) +#define MREPEAT219(macro, data) MREPEAT218(macro, data) macro(218, data) +#define MREPEAT220(macro, data) MREPEAT219(macro, data) macro(219, data) +#define MREPEAT221(macro, data) MREPEAT220(macro, data) macro(220, data) +#define MREPEAT222(macro, data) MREPEAT221(macro, data) macro(221, data) +#define MREPEAT223(macro, data) MREPEAT222(macro, data) macro(222, data) +#define MREPEAT224(macro, data) MREPEAT223(macro, data) macro(223, data) +#define MREPEAT225(macro, data) MREPEAT224(macro, data) macro(224, data) +#define MREPEAT226(macro, data) MREPEAT225(macro, data) macro(225, data) +#define MREPEAT227(macro, data) MREPEAT226(macro, data) macro(226, data) +#define MREPEAT228(macro, data) MREPEAT227(macro, data) macro(227, data) +#define MREPEAT229(macro, data) MREPEAT228(macro, data) macro(228, data) +#define MREPEAT230(macro, data) MREPEAT229(macro, data) macro(229, data) +#define MREPEAT231(macro, data) MREPEAT230(macro, data) macro(230, data) +#define MREPEAT232(macro, data) MREPEAT231(macro, data) macro(231, data) +#define MREPEAT233(macro, data) MREPEAT232(macro, data) macro(232, data) +#define MREPEAT234(macro, data) MREPEAT233(macro, data) macro(233, data) +#define MREPEAT235(macro, data) MREPEAT234(macro, data) macro(234, data) +#define MREPEAT236(macro, data) MREPEAT235(macro, data) macro(235, data) +#define MREPEAT237(macro, data) MREPEAT236(macro, data) macro(236, data) +#define MREPEAT238(macro, data) MREPEAT237(macro, data) macro(237, data) +#define MREPEAT239(macro, data) MREPEAT238(macro, data) macro(238, data) +#define MREPEAT240(macro, data) MREPEAT239(macro, data) macro(239, data) +#define MREPEAT241(macro, data) MREPEAT240(macro, data) macro(240, data) +#define MREPEAT242(macro, data) MREPEAT241(macro, data) macro(241, data) +#define MREPEAT243(macro, data) MREPEAT242(macro, data) macro(242, data) +#define MREPEAT244(macro, data) MREPEAT243(macro, data) macro(243, data) +#define MREPEAT245(macro, data) MREPEAT244(macro, data) macro(244, data) +#define MREPEAT246(macro, data) MREPEAT245(macro, data) macro(245, data) +#define MREPEAT247(macro, data) MREPEAT246(macro, data) macro(246, data) +#define MREPEAT248(macro, data) MREPEAT247(macro, data) macro(247, data) +#define MREPEAT249(macro, data) MREPEAT248(macro, data) macro(248, data) +#define MREPEAT250(macro, data) MREPEAT249(macro, data) macro(249, data) +#define MREPEAT251(macro, data) MREPEAT250(macro, data) macro(250, data) +#define MREPEAT252(macro, data) MREPEAT251(macro, data) macro(251, data) +#define MREPEAT253(macro, data) MREPEAT252(macro, data) macro(252, data) +#define MREPEAT254(macro, data) MREPEAT253(macro, data) macro(253, data) +#define MREPEAT255(macro, data) MREPEAT254(macro, data) macro(254, data) +#define MREPEAT256(macro, data) MREPEAT255(macro, data) macro(255, data) + + +#endif // _MREPEAT_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/preprocessor.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/preprocessor.h new file mode 100644 index 0000000..5b996ba --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/preprocessor.h @@ -0,0 +1,55 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Preprocessor utils. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _PREPROCESSOR_H_ +#define _PREPROCESSOR_H_ + +#include "tpaste.h" +#include "stringz.h" +#include "mrepeat.h" + + +#endif // _PREPROCESSOR_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/stringz.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/stringz.h new file mode 100644 index 0000000..3528ea0 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/stringz.h @@ -0,0 +1,75 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Preprocessor stringizing utils. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _STRINGZ_H_ +#define _STRINGZ_H_ + + +/*! \brief Stringize. + * + * Stringize a preprocessing token, this token being allowed to be \#defined. + * + * May be used only within macros with the token passed as an argument if the token is \#defined. + * + * For example, writing STRINGZ(PIN) within a macro \#defined by PIN_NAME(PIN) + * and invoked as PIN_NAME(PIN0) with PIN0 \#defined as A0 is equivalent to + * writing "A0". + */ +#define STRINGZ(x) #x + +/*! \brief Absolute stringize. + * + * Stringize a preprocessing token, this token being allowed to be \#defined. + * + * No restriction of use if the token is \#defined. + * + * For example, writing ASTRINGZ(PIN0) anywhere with PIN0 \#defined as A0 is + * equivalent to writing "A0". + */ +#define ASTRINGZ(x) STRINGZ(x) + + +#endif // _STRINGZ_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/tpaste.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/tpaste.h new file mode 100644 index 0000000..a5d7bee --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR/tpaste.h @@ -0,0 +1,95 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Preprocessor token pasting utils. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _TPASTE_H_ +#define _TPASTE_H_ + + +/*! \name Token Paste + * + * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. + * + * May be used only within macros with the tokens passed as arguments if the tokens are \#defined. + * + * For example, writing TPASTE2(U, WIDTH) within a macro \#defined by + * UTYPE(WIDTH) and invoked as UTYPE(UL_WIDTH) with UL_WIDTH \#defined as 32 is + * equivalent to writing U32. + */ +//! @{ +#define TPASTE2( a, b) a##b +#define TPASTE3( a, b, c) a##b##c +#define TPASTE4( a, b, c, d) a##b##c##d +#define TPASTE5( a, b, c, d, e) a##b##c##d##e +#define TPASTE6( a, b, c, d, e, f) a##b##c##d##e##f +#define TPASTE7( a, b, c, d, e, f, g) a##b##c##d##e##f##g +#define TPASTE8( a, b, c, d, e, f, g, h) a##b##c##d##e##f##g##h +#define TPASTE9( a, b, c, d, e, f, g, h, i) a##b##c##d##e##f##g##h##i +#define TPASTE10(a, b, c, d, e, f, g, h, i, j) a##b##c##d##e##f##g##h##i##j +//! @} + +/*! \name Absolute Token Paste + * + * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. + * + * No restriction of use if the tokens are \#defined. + * + * For example, writing ATPASTE2(U, UL_WIDTH) anywhere with UL_WIDTH \#defined + * as 32 is equivalent to writing U32. + */ +//! @{ +#define ATPASTE2( a, b) TPASTE2( a, b) +#define ATPASTE3( a, b, c) TPASTE3( a, b, c) +#define ATPASTE4( a, b, c, d) TPASTE4( a, b, c, d) +#define ATPASTE5( a, b, c, d, e) TPASTE5( a, b, c, d, e) +#define ATPASTE6( a, b, c, d, e, f) TPASTE6( a, b, c, d, e, f) +#define ATPASTE7( a, b, c, d, e, f, g) TPASTE7( a, b, c, d, e, f, g) +#define ATPASTE8( a, b, c, d, e, f, g, h) TPASTE8( a, b, c, d, e, f, g, h) +#define ATPASTE9( a, b, c, d, e, f, g, h, i) TPASTE9( a, b, c, d, e, f, g, h, i) +#define ATPASTE10(a, b, c, d, e, f, g, h, i, j) TPASTE10(a, b, c, d, e, f, g, h, i, j) +//! @} + + +#endif // _TPASTE_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/STARTUP_FILES/GCC/crt0.x b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/STARTUP_FILES/GCC/crt0.x new file mode 100644 index 0000000..23b658b --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/STARTUP_FILES/GCC/crt0.x @@ -0,0 +1,121 @@ +/* This file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief AVR32UC C runtime startup file. + * + * This file has been built from the Newlib crt0.S. + * + * - Compiler: GNU GCC for AVR32 + * - Supported devices: All AVR32UC devices can be used. + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#include <avr32/io.h> + + +//! @{ +//! \verbatim + + + // This must be linked @ 0x80000000 if it is to be run upon reset. + .section .reset, "ax", @progbits + + + .global _start + .type _start, @function +_start: + // Jump to the C runtime startup routine. + lda.w pc, _stext + + + // _stext is placed outside the .reset section so that the program entry point + // can be changed without affecting the C runtime startup. + .section .text._stext, "ax", @progbits + + + .global _stext + .type _stext, @function +_stext: + // Set initial stack pointer. + lda.w sp, _estack + + // Set up EVBA so interrupts can be enabled. + lda.w r0, _evba + mtsr AVR32_EVBA, r0 + + // Enable the exception processing. + csrf AVR32_SR_EM_OFFSET + + // Load initialized data having a global lifetime from the data LMA. + lda.w r0, _data + lda.w r1, _edata + cp r0, r1 + brhs idata_load_loop_end + lda.w r2, _data_lma +idata_load_loop: + ld.d r4, r2++ + st.d r0++, r4 + cp r0, r1 + brlo idata_load_loop +idata_load_loop_end: + + // Clear uninitialized data having a global lifetime in the blank static storage section. + lda.w r0, __bss_start + lda.w r1, _end + cp r0, r1 + brhs udata_clear_loop_end + mov r2, 0 + mov r3, 0 +udata_clear_loop: + st.d r0++, r2 + cp r0, r1 + brlo udata_clear_loop +udata_clear_loop_end: + +#ifdef CONFIG_FRAME_POINTER + // Safety: Set the default "return" @ to the exit routine address. + lda.w lr, exit +#endif + + // Start the show. + lda.w pc, main + + +//! \endverbatim +//! @} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/compiler.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/compiler.h new file mode 100644 index 0000000..885be7f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/compiler.h @@ -0,0 +1,1145 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Compiler file for AVR32. + * + * This file defines commonly used types and macros. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _COMPILER_H_ +#define _COMPILER_H_ + +#if ((defined __GNUC__) && (defined __AVR32__)) || (defined __ICCAVR32__ || defined __AAVR32__) +# include <avr32/io.h> +#endif +#if (defined __ICCAVR32__) +# include <intrinsics.h> +#endif +#include "preprocessor.h" + +#include "parts.h" + + +//_____ D E C L A R A T I O N S ____________________________________________ + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. + +#include <stddef.h> +#include <stdlib.h> + + +#if (defined __ICCAVR32__) + +/*! \name Compiler Keywords + * + * Port of some keywords from GNU GCC for AVR32 to IAR Embedded Workbench for Atmel AVR32. + */ +//! @{ +#define __asm__ asm +#define __inline__ inline +#define __volatile__ +//! @} + +#endif + + +/*! \name Usual Types + */ +//! @{ +typedef unsigned char Bool; //!< Boolean. +#ifndef __cplusplus +#if !defined(__bool_true_false_are_defined) +typedef unsigned char bool; //!< Boolean. +#endif +#endif +typedef signed char S8 ; //!< 8-bit signed integer. +typedef unsigned char U8 ; //!< 8-bit unsigned integer. +typedef signed short int S16; //!< 16-bit signed integer. +typedef unsigned short int U16; //!< 16-bit unsigned integer. +typedef signed long int S32; //!< 32-bit signed integer. +typedef unsigned long int U32; //!< 32-bit unsigned integer. +typedef signed long long int S64; //!< 64-bit signed integer. +typedef unsigned long long int U64; //!< 64-bit unsigned integer. +typedef float F32; //!< 32-bit floating-point number. +typedef double F64; //!< 64-bit floating-point number. +//! @} + + +/*! \name Status Types + */ +//! @{ +typedef Bool Status_bool_t; //!< Boolean status. +typedef U8 Status_t; //!< 8-bit-coded status. +//! @} + + +/*! \name Aliasing Aggregate Types + */ +//! @{ + +//! 16-bit union. +typedef union +{ + S16 s16 ; + U16 u16 ; + S8 s8 [2]; + U8 u8 [2]; +} Union16; + +//! 32-bit union. +typedef union +{ + S32 s32 ; + U32 u32 ; + S16 s16[2]; + U16 u16[2]; + S8 s8 [4]; + U8 u8 [4]; +} Union32; + +//! 64-bit union. +typedef union +{ + S64 s64 ; + U64 u64 ; + S32 s32[2]; + U32 u32[2]; + S16 s16[4]; + U16 u16[4]; + S8 s8 [8]; + U8 u8 [8]; +} Union64; + +//! Union of pointers to 64-, 32-, 16- and 8-bit unsigned integers. +typedef union +{ + S64 *s64ptr; + U64 *u64ptr; + S32 *s32ptr; + U32 *u32ptr; + S16 *s16ptr; + U16 *u16ptr; + S8 *s8ptr ; + U8 *u8ptr ; +} UnionPtr; + +//! Union of pointers to volatile 64-, 32-, 16- and 8-bit unsigned integers. +typedef union +{ + volatile S64 *s64ptr; + volatile U64 *u64ptr; + volatile S32 *s32ptr; + volatile U32 *u32ptr; + volatile S16 *s16ptr; + volatile U16 *u16ptr; + volatile S8 *s8ptr ; + volatile U8 *u8ptr ; +} UnionVPtr; + +//! Union of pointers to constant 64-, 32-, 16- and 8-bit unsigned integers. +typedef union +{ + const S64 *s64ptr; + const U64 *u64ptr; + const S32 *s32ptr; + const U32 *u32ptr; + const S16 *s16ptr; + const U16 *u16ptr; + const S8 *s8ptr ; + const U8 *u8ptr ; +} UnionCPtr; + +//! Union of pointers to constant volatile 64-, 32-, 16- and 8-bit unsigned integers. +typedef union +{ + const volatile S64 *s64ptr; + const volatile U64 *u64ptr; + const volatile S32 *s32ptr; + const volatile U32 *u32ptr; + const volatile S16 *s16ptr; + const volatile U16 *u16ptr; + const volatile S8 *s8ptr ; + const volatile U8 *u8ptr ; +} UnionCVPtr; + +//! Structure of pointers to 64-, 32-, 16- and 8-bit unsigned integers. +typedef struct +{ + S64 *s64ptr; + U64 *u64ptr; + S32 *s32ptr; + U32 *u32ptr; + S16 *s16ptr; + U16 *u16ptr; + S8 *s8ptr ; + U8 *u8ptr ; +} StructPtr; + +//! Structure of pointers to volatile 64-, 32-, 16- and 8-bit unsigned integers. +typedef struct +{ + volatile S64 *s64ptr; + volatile U64 *u64ptr; + volatile S32 *s32ptr; + volatile U32 *u32ptr; + volatile S16 *s16ptr; + volatile U16 *u16ptr; + volatile S8 *s8ptr ; + volatile U8 *u8ptr ; +} StructVPtr; + +//! Structure of pointers to constant 64-, 32-, 16- and 8-bit unsigned integers. +typedef struct +{ + const S64 *s64ptr; + const U64 *u64ptr; + const S32 *s32ptr; + const U32 *u32ptr; + const S16 *s16ptr; + const U16 *u16ptr; + const S8 *s8ptr ; + const U8 *u8ptr ; +} StructCPtr; + +//! Structure of pointers to constant volatile 64-, 32-, 16- and 8-bit unsigned integers. +typedef struct +{ + const volatile S64 *s64ptr; + const volatile U64 *u64ptr; + const volatile S32 *s32ptr; + const volatile U32 *u32ptr; + const volatile S16 *s16ptr; + const volatile U16 *u16ptr; + const volatile S8 *s8ptr ; + const volatile U8 *u8ptr ; +} StructCVPtr; + +//! @} + +#endif // __AVR32_ABI_COMPILER__ + + +//_____ M A C R O S ________________________________________________________ + +/*! \name Usual Constants + */ +//! @{ +#define DISABLE 0 +#define ENABLE 1 +#define DISABLED 0 +#define ENABLED 1 +#define OFF 0 +#define ON 1 +#define FALSE 0 +#define TRUE 1 +#ifndef __cplusplus +#if !defined(__bool_true_false_are_defined) +#define false FALSE +#define true TRUE +#endif +#endif +#define KO 0 +#define OK 1 +#define PASS 0 +#define FAIL 1 +#define LOW 0 +#define HIGH 1 +#define CLR 0 +#define SET 1 +//! @} + + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. + +/*! \name Bit-Field Handling + */ +//! @{ + +/*! \brief Reads the bits of a value specified by a given bit-mask. + * + * \param value Value to read bits from. + * \param mask Bit-mask indicating bits to read. + * + * \return Read bits. + */ +#define Rd_bits( value, mask) ((value) & (mask)) + +/*! \brief Writes the bits of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue to write bits to. + * \param mask Bit-mask indicating bits to write. + * \param bits Bits to write. + * + * \return Resulting value with written bits. + */ +#define Wr_bits(lvalue, mask, bits) ((lvalue) = ((lvalue) & ~(mask)) |\ + ((bits ) & (mask))) + +/*! \brief Tests the bits of a value specified by a given bit-mask. + * + * \param value Value of which to test bits. + * \param mask Bit-mask indicating bits to test. + * + * \return \c 1 if at least one of the tested bits is set, else \c 0. + */ +#define Tst_bits( value, mask) (Rd_bits(value, mask) != 0) + +/*! \brief Clears the bits of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue of which to clear bits. + * \param mask Bit-mask indicating bits to clear. + * + * \return Resulting value with cleared bits. + */ +#define Clr_bits(lvalue, mask) ((lvalue) &= ~(mask)) + +/*! \brief Sets the bits of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue of which to set bits. + * \param mask Bit-mask indicating bits to set. + * + * \return Resulting value with set bits. + */ +#define Set_bits(lvalue, mask) ((lvalue) |= (mask)) + +/*! \brief Toggles the bits of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue of which to toggle bits. + * \param mask Bit-mask indicating bits to toggle. + * + * \return Resulting value with toggled bits. + */ +#define Tgl_bits(lvalue, mask) ((lvalue) ^= (mask)) + +/*! \brief Reads the bit-field of a value specified by a given bit-mask. + * + * \param value Value to read a bit-field from. + * \param mask Bit-mask indicating the bit-field to read. + * + * \return Read bit-field. + */ +#define Rd_bitfield( value, mask) (Rd_bits( value, mask) >> ctz(mask)) + +/*! \brief Writes the bit-field of a C lvalue specified by a given bit-mask. + * + * \param lvalue C lvalue to write a bit-field to. + * \param mask Bit-mask indicating the bit-field to write. + * \param bitfield Bit-field to write. + * + * \return Resulting value with written bit-field. + */ +#define Wr_bitfield(lvalue, mask, bitfield) (Wr_bits(lvalue, mask, (U32)(bitfield) << ctz(mask))) + +//! @} + + +/*! \brief This macro is used to test fatal errors. + * + * The macro tests if the expression is FALSE. If it is, a fatal error is + * detected and the application hangs up. + * + * \param expr Expression to evaluate and supposed to be nonzero. + */ +#ifdef _ASSERT_ENABLE_ + #define Assert(expr) \ + {\ + if (!(expr)) while (TRUE);\ + } +#else + #define Assert(expr) +#endif + + +/*! \name Zero-Bit Counting + * + * Under AVR32-GCC, __builtin_clz and __builtin_ctz behave like macros when + * applied to constant expressions (values known at compile time), so they are + * more optimized than the use of the corresponding assembly instructions and + * they can be used as constant expressions e.g. to initialize objects having + * static storage duration, and like the corresponding assembly instructions + * when applied to non-constant expressions (values unknown at compile time), so + * they are more optimized than an assembly periphrasis. Hence, clz and ctz + * ensure a possible and optimized behavior for both constant and non-constant + * expressions. + */ +//! @{ + +/*! \brief Counts the leading zero bits of the given value considered as a 32-bit integer. + * + * \param u Value of which to count the leading zero bits. + * + * \return The count of leading zero bits in \a u. + */ +#if (defined __GNUC__) + #define clz(u) __builtin_clz(u) +#elif (defined __ICCAVR32__) + #define clz(u) __count_leading_zeros(u) +#endif + +/*! \brief Counts the trailing zero bits of the given value considered as a 32-bit integer. + * + * \param u Value of which to count the trailing zero bits. + * + * \return The count of trailing zero bits in \a u. + */ +#if (defined __GNUC__) + #define ctz(u) __builtin_ctz(u) +#elif (defined __ICCAVR32__) + #define ctz(u) __count_trailing_zeros(u) +#endif + +//! @} + + +/*! \name Bit Reversing + */ +//! @{ + +/*! \brief Reverses the bits of \a u8. + * + * \param u8 U8 of which to reverse the bits. + * + * \return Value resulting from \a u8 with reversed bits. + */ +#define bit_reverse8(u8) ((U8)(bit_reverse32((U8)(u8)) >> 24)) + +/*! \brief Reverses the bits of \a u16. + * + * \param u16 U16 of which to reverse the bits. + * + * \return Value resulting from \a u16 with reversed bits. + */ +#define bit_reverse16(u16) ((U16)(bit_reverse32((U16)(u16)) >> 16)) + +/*! \brief Reverses the bits of \a u32. + * + * \param u32 U32 of which to reverse the bits. + * + * \return Value resulting from \a u32 with reversed bits. + */ +#if (defined __GNUC__) + #define bit_reverse32(u32) \ + (\ + {\ + unsigned int __value = (U32)(u32);\ + __asm__ ("brev\t%0" : "+r" (__value) : : "cc");\ + (U32)__value;\ + }\ + ) +#elif (defined __ICCAVR32__) + #define bit_reverse32(u32) ((U32)__bit_reverse((U32)(u32))) +#endif + +/*! \brief Reverses the bits of \a u64. + * + * \param u64 U64 of which to reverse the bits. + * + * \return Value resulting from \a u64 with reversed bits. + */ +#define bit_reverse64(u64) ((U64)(((U64)bit_reverse32((U64)(u64) >> 32)) |\ + ((U64)bit_reverse32((U64)(u64)) << 32))) + +//! @} + + +/*! \name Alignment + */ +//! @{ + +/*! \brief Tests alignment of the number \a val with the \a n boundary. + * + * \param val Input value. + * \param n Boundary. + * + * \return \c 1 if the number \a val is aligned with the \a n boundary, else \c 0. + */ +#define Test_align(val, n ) (!Tst_bits( val, (n) - 1 ) ) + +/*! \brief Gets alignment of the number \a val with respect to the \a n boundary. + * + * \param val Input value. + * \param n Boundary. + * + * \return Alignment of the number \a val with respect to the \a n boundary. + */ +#define Get_align( val, n ) ( Rd_bits( val, (n) - 1 ) ) + +/*! \brief Sets alignment of the lvalue number \a lval to \a alg with respect to the \a n boundary. + * + * \param lval Input/output lvalue. + * \param n Boundary. + * \param alg Alignment. + * + * \return New value of \a lval resulting from its alignment set to \a alg with respect to the \a n boundary. + */ +#define Set_align(lval, n, alg) ( Wr_bits(lval, (n) - 1, alg) ) + +/*! \brief Aligns the number \a val with the upper \a n boundary. + * + * \param val Input value. + * \param n Boundary. + * + * \return Value resulting from the number \a val aligned with the upper \a n boundary. + */ +#define Align_up( val, n ) (((val) + ((n) - 1)) & ~((n) - 1)) + +/*! \brief Aligns the number \a val with the lower \a n boundary. + * + * \param val Input value. + * \param n Boundary. + * + * \return Value resulting from the number \a val aligned with the lower \a n boundary. + */ +#define Align_down(val, n ) ( (val) & ~((n) - 1)) + +//! @} + + +/*! \name Mathematics + * + * The same considerations as for clz and ctz apply here but AVR32-GCC does not + * provide built-in functions to access the assembly instructions abs, min and + * max and it does not produce them by itself in most cases, so two sets of + * macros are defined here: + * - Abs, Min and Max to apply to constant expressions (values known at + * compile time); + * - abs, min and max to apply to non-constant expressions (values unknown at + * compile time). + */ +//! @{ + +/*! \brief Takes the absolute value of \a a. + * + * \param a Input value. + * + * \return Absolute value of \a a. + * + * \note More optimized if only used with values known at compile time. + */ +#define Abs(a) (((a) < 0 ) ? -(a) : (a)) + +/*! \brief Takes the minimal value of \a a and \a b. + * + * \param a Input value. + * \param b Input value. + * + * \return Minimal value of \a a and \a b. + * + * \note More optimized if only used with values known at compile time. + */ +#define Min(a, b) (((a) < (b)) ? (a) : (b)) + +/*! \brief Takes the maximal value of \a a and \a b. + * + * \param a Input value. + * \param b Input value. + * + * \return Maximal value of \a a and \a b. + * + * \note More optimized if only used with values known at compile time. + */ +#define Max(a, b) (((a) > (b)) ? (a) : (b)) + +/*! \brief Takes the absolute value of \a a. + * + * \param a Input value. + * + * \return Absolute value of \a a. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define abs(a) \ + (\ + {\ + int __value = (a);\ + __asm__ ("abs\t%0" : "+r" (__value) : : "cc");\ + __value;\ + }\ + ) +#elif (defined __ICCAVR32__) + #define abs(a) Abs(a) +#endif + +/*! \brief Takes the minimal value of \a a and \a b. + * + * \param a Input value. + * \param b Input value. + * + * \return Minimal value of \a a and \a b. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define min(a, b) \ + (\ + {\ + int __value, __arg_a = (a), __arg_b = (b);\ + __asm__ ("min\t%0, %1, %2" : "=r" (__value) : "r" (__arg_a), "r" (__arg_b));\ + __value;\ + }\ + ) +#elif (defined __ICCAVR32__) + #define min(a, b) __min(a, b) +#endif + +/*! \brief Takes the maximal value of \a a and \a b. + * + * \param a Input value. + * \param b Input value. + * + * \return Maximal value of \a a and \a b. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define max(a, b) \ + (\ + {\ + int __value, __arg_a = (a), __arg_b = (b);\ + __asm__ ("max\t%0, %1, %2" : "=r" (__value) : "r" (__arg_a), "r" (__arg_b));\ + __value;\ + }\ + ) +#elif (defined __ICCAVR32__) + #define max(a, b) __max(a, b) +#endif + +//! @} + + +/*! \brief Calls the routine at address \a addr. + * + * It generates a long call opcode. + * + * For example, `Long_call(0x80000000)' generates a software reset on a UC3 if + * it is invoked from the CPU supervisor mode. + * + * \param addr Address of the routine to call. + * + * \note It may be used as a long jump opcode in some special cases. + */ +#define Long_call(addr) ((*(void (*)(void))(addr))()) + +/*! \brief Resets the CPU by software. + * + * \warning It shall not be called from the CPU application mode. + */ +#if (defined __GNUC__) + #define Reset_CPU() \ + (\ + {\ + __asm__ __volatile__ (\ + "lddpc r9, 3f\n\t"\ + "mfsr r8, %[SR]\n\t"\ + "bfextu r8, r8, %[SR_M_OFFSET], %[SR_M_SIZE]\n\t"\ + "cp.w r8, 0b001\n\t"\ + "breq 0f\n\t"\ + "sub r8, pc, $ - 1f\n\t"\ + "pushm r8-r9\n\t"\ + "rete\n"\ + "0:\n\t"\ + "mtsr %[SR], r9\n"\ + "1:\n\t"\ + "mov r0, 0\n\t"\ + "mov r1, 0\n\t"\ + "mov r2, 0\n\t"\ + "mov r3, 0\n\t"\ + "mov r4, 0\n\t"\ + "mov r5, 0\n\t"\ + "mov r6, 0\n\t"\ + "mov r7, 0\n\t"\ + "mov r8, 0\n\t"\ + "mov r9, 0\n\t"\ + "mov r10, 0\n\t"\ + "mov r11, 0\n\t"\ + "mov r12, 0\n\t"\ + "mov sp, 0\n\t"\ + "stdsp sp[0], sp\n\t"\ + "ldmts sp, sp\n\t"\ + "mov lr, 0\n\t"\ + "lddpc pc, 2f\n\t"\ + ".balign 4\n"\ + "2:\n\t"\ + ".word _start\n"\ + "3:\n\t"\ + ".word %[RESET_SR]"\ + :\ + : [SR] "i" (AVR32_SR),\ + [SR_M_OFFSET] "i" (AVR32_SR_M_OFFSET),\ + [SR_M_SIZE] "i" (AVR32_SR_M_SIZE),\ + [RESET_SR] "i" (AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET))\ + );\ + }\ + ) +#elif (defined __ICCAVR32__) + #define Reset_CPU() \ + {\ + extern void *volatile __program_start;\ + __asm__ __volatile__ (\ + "mov r7, LWRD(__program_start)\n\t"\ + "orh r7, HWRD(__program_start)\n\t"\ + "mov r9, LWRD("ASTRINGZ(AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET))")\n\t"\ + "orh r9, HWRD("ASTRINGZ(AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET))")\n\t"\ + "mfsr r8, "ASTRINGZ(AVR32_SR)"\n\t"\ + "bfextu r8, r8, "ASTRINGZ(AVR32_SR_M_OFFSET)", "ASTRINGZ(AVR32_SR_M_SIZE)"\n\t"\ + "cp.w r8, 001b\n\t"\ + "breq $ + 10\n\t"\ + "sub r8, pc, -12\n\t"\ + "pushm r8-r9\n\t"\ + "rete\n\t"\ + "mtsr "ASTRINGZ(AVR32_SR)", r9\n\t"\ + "mov r0, 0\n\t"\ + "mov r1, 0\n\t"\ + "mov r2, 0\n\t"\ + "mov r3, 0\n\t"\ + "mov r4, 0\n\t"\ + "mov r5, 0\n\t"\ + "mov r6, 0\n\t"\ + "st.w r0[4], r7\n\t"\ + "mov r7, 0\n\t"\ + "mov r8, 0\n\t"\ + "mov r9, 0\n\t"\ + "mov r10, 0\n\t"\ + "mov r11, 0\n\t"\ + "mov r12, 0\n\t"\ + "mov sp, 0\n\t"\ + "stdsp sp[0], sp\n\t"\ + "ldmts sp, sp\n\t"\ + "mov lr, 0\n\t"\ + "ld.w pc, lr[4]"\ + );\ + __program_start;\ + } +#endif + + +/*! \name System Register Access + */ +//! @{ + +/*! \brief Gets the value of the \a sysreg system register. + * + * \param sysreg Address of the system register of which to get the value. + * + * \return Value of the \a sysreg system register. + */ +#if (defined __GNUC__) + #define Get_system_register(sysreg) __builtin_mfsr(sysreg) +#elif (defined __ICCAVR32__) + #define Get_system_register(sysreg) __get_system_register(sysreg) +#endif + +/*! \brief Sets the value of the \a sysreg system register to \a value. + * + * \param sysreg Address of the system register of which to set the value. + * \param value Value to set the \a sysreg system register to. + */ +#if (defined __GNUC__) + #define Set_system_register(sysreg, value) __builtin_mtsr(sysreg, value) +#elif (defined __ICCAVR32__) + #define Set_system_register(sysreg, value) __set_system_register(sysreg, value) +#endif + +//! @} + + +/*! \name CPU Status Register Access + */ +//! @{ + +/*! \brief Tells whether exceptions are globally enabled. + * + * \return \c 1 if exceptions are globally enabled, else \c 0. + */ +#define Is_global_exception_enabled() (!Tst_bits(Get_system_register(AVR32_SR), AVR32_SR_EM_MASK)) + +/*! \brief Disables exceptions globally. + */ +#if (defined __GNUC__) + #define Disable_global_exception() ({__asm__ __volatile__ ("ssrf\t%0" : : "i" (AVR32_SR_EM_OFFSET));}) +#elif (defined __ICCAVR32__) + #define Disable_global_exception() (__set_status_flag(AVR32_SR_EM_OFFSET)) +#endif + +/*! \brief Enables exceptions globally. + */ +#if (defined __GNUC__) + #define Enable_global_exception() ({__asm__ __volatile__ ("csrf\t%0" : : "i" (AVR32_SR_EM_OFFSET));}) +#elif (defined __ICCAVR32__) + #define Enable_global_exception() (__clear_status_flag(AVR32_SR_EM_OFFSET)) +#endif + +/*! \brief Tells whether interrupts are globally enabled. + * + * \return \c 1 if interrupts are globally enabled, else \c 0. + */ +#define Is_global_interrupt_enabled() (!Tst_bits(Get_system_register(AVR32_SR), AVR32_SR_GM_MASK)) + +/*! \brief Disables interrupts globally. + */ +#if (defined __GNUC__) + #define Disable_global_interrupt() ({__asm__ __volatile__ ("ssrf\t%0" : : "i" (AVR32_SR_GM_OFFSET));}) +#elif (defined __ICCAVR32__) + #define Disable_global_interrupt() (__disable_interrupt()) +#endif + +/*! \brief Enables interrupts globally. + */ +#if (defined __GNUC__) + #define Enable_global_interrupt() ({__asm__ __volatile__ ("csrf\t%0" : : "i" (AVR32_SR_GM_OFFSET));}) +#elif (defined __ICCAVR32__) + #define Enable_global_interrupt() (__enable_interrupt()) +#endif + +/*! \brief Tells whether interrupt level \a int_level is enabled. + * + * \param int_level Interrupt level (0 to 3). + * + * \return \c 1 if interrupt level \a int_level is enabled, else \c 0. + */ +#define Is_interrupt_level_enabled(int_level) (!Tst_bits(Get_system_register(AVR32_SR), TPASTE3(AVR32_SR_I, int_level, M_MASK))) + +/*! \brief Disables interrupt level \a int_level. + * + * \param int_level Interrupt level to disable (0 to 3). + */ +#if (defined __GNUC__) + #define Disable_interrupt_level(int_level) ({__asm__ __volatile__ ("ssrf\t%0" : : "i" (TPASTE3(AVR32_SR_I, int_level, M_OFFSET)));}) +#elif (defined __ICCAVR32__) + #define Disable_interrupt_level(int_level) (__set_status_flag(TPASTE3(AVR32_SR_I, int_level, M_OFFSET))) +#endif + +/*! \brief Enables interrupt level \a int_level. + * + * \param int_level Interrupt level to enable (0 to 3). + */ +#if (defined __GNUC__) + #define Enable_interrupt_level(int_level) ({__asm__ __volatile__ ("csrf\t%0" : : "i" (TPASTE3(AVR32_SR_I, int_level, M_OFFSET)));}) +#elif (defined __ICCAVR32__) + #define Enable_interrupt_level(int_level) (__clear_status_flag(TPASTE3(AVR32_SR_I, int_level, M_OFFSET))) +#endif + +/*! \brief Protects subsequent code from interrupts. + */ +#define AVR32_ENTER_CRITICAL_REGION( ) \ + { \ + Bool global_interrupt_enabled = Is_global_interrupt_enabled(); \ + Disable_global_interrupt(); // Disable the appropriate interrupts. + +/*! \brief This macro must always be used in conjunction with AVR32_ENTER_CRITICAL_REGION + * so that interrupts are enabled again. + */ +#define AVR32_LEAVE_CRITICAL_REGION( ) \ + if (global_interrupt_enabled) Enable_global_interrupt(); \ + } + +//! @} + + +/*! \name Debug Register Access + */ +//! @{ + +/*! \brief Gets the value of the \a dbgreg debug register. + * + * \param dbgreg Address of the debug register of which to get the value. + * + * \return Value of the \a dbgreg debug register. + */ +#if (defined __GNUC__) + #define Get_debug_register(dbgreg) __builtin_mfdr(dbgreg) +#elif (defined __ICCAVR32__) + #define Get_debug_register(dbgreg) __get_debug_register(dbgreg) +#endif + +/*! \brief Sets the value of the \a dbgreg debug register to \a value. + * + * \param dbgreg Address of the debug register of which to set the value. + * \param value Value to set the \a dbgreg debug register to. + */ +#if (defined __GNUC__) + #define Set_debug_register(dbgreg, value) __builtin_mtdr(dbgreg, value) +#elif (defined __ICCAVR32__) + #define Set_debug_register(dbgreg, value) __set_debug_register(dbgreg, value) +#endif + +//! @} + +#endif // __AVR32_ABI_COMPILER__ + + +//! Boolean evaluating MCU little endianism. +#if ((defined __GNUC__) && (defined __AVR32__)) || ((defined __ICCAVR32__) || (defined __AAVR32__)) + #define LITTLE_ENDIAN_MCU FALSE +#else + #error If you are here, you should check what is exactly the processor you are using... + #define LITTLE_ENDIAN_MCU FALSE +#endif + +// Check that MCU endianism is correctly defined. +#ifndef LITTLE_ENDIAN_MCU + #error YOU MUST define the MCU endianism with LITTLE_ENDIAN_MCU: either FALSE or TRUE +#endif + +//! Boolean evaluating MCU big endianism. +#define BIG_ENDIAN_MCU (!LITTLE_ENDIAN_MCU) + + +#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. + +/*! \name MCU Endianism Handling + */ +//! @{ + +#if (LITTLE_ENDIAN_MCU==TRUE) + #define LSB(u16) (((U8 *)&(u16))[0]) //!< Least significant byte of \a u16. + #define MSB(u16) (((U8 *)&(u16))[1]) //!< Most significant byte of \a u16. + + #define LSH(u32) (((U16 *)&(u32))[0]) //!< Least significant half-word of \a u32. + #define MSH(u32) (((U16 *)&(u32))[1]) //!< Most significant half-word of \a u32. + #define LSB0W(u32) (((U8 *)&(u32))[0]) //!< Least significant byte of 1st rank of \a u32. + #define LSB1W(u32) (((U8 *)&(u32))[1]) //!< Least significant byte of 2nd rank of \a u32. + #define LSB2W(u32) (((U8 *)&(u32))[2]) //!< Least significant byte of 3rd rank of \a u32. + #define LSB3W(u32) (((U8 *)&(u32))[3]) //!< Least significant byte of 4th rank of \a u32. + #define MSB3W(u32) LSB0W(u32) //!< Most significant byte of 4th rank of \a u32. + #define MSB2W(u32) LSB1W(u32) //!< Most significant byte of 3rd rank of \a u32. + #define MSB1W(u32) LSB2W(u32) //!< Most significant byte of 2nd rank of \a u32. + #define MSB0W(u32) LSB3W(u32) //!< Most significant byte of 1st rank of \a u32. + + #define LSW(u64) (((U32 *)&(u64))[0]) //!< Least significant word of \a u64. + #define MSW(u64) (((U32 *)&(u64))[1]) //!< Most significant word of \a u64. + #define LSH0(u64) (((U16 *)&(u64))[0]) //!< Least significant half-word of 1st rank of \a u64. + #define LSH1(u64) (((U16 *)&(u64))[1]) //!< Least significant half-word of 2nd rank of \a u64. + #define LSH2(u64) (((U16 *)&(u64))[2]) //!< Least significant half-word of 3rd rank of \a u64. + #define LSH3(u64) (((U16 *)&(u64))[3]) //!< Least significant half-word of 4th rank of \a u64. + #define MSH3(u64) LSH0(u64) //!< Most significant half-word of 4th rank of \a u64. + #define MSH2(u64) LSH1(u64) //!< Most significant half-word of 3rd rank of \a u64. + #define MSH1(u64) LSH2(u64) //!< Most significant half-word of 2nd rank of \a u64. + #define MSH0(u64) LSH3(u64) //!< Most significant half-word of 1st rank of \a u64. + #define LSB0D(u64) (((U8 *)&(u64))[0]) //!< Least significant byte of 1st rank of \a u64. + #define LSB1D(u64) (((U8 *)&(u64))[1]) //!< Least significant byte of 2nd rank of \a u64. + #define LSB2D(u64) (((U8 *)&(u64))[2]) //!< Least significant byte of 3rd rank of \a u64. + #define LSB3D(u64) (((U8 *)&(u64))[3]) //!< Least significant byte of 4th rank of \a u64. + #define LSB4D(u64) (((U8 *)&(u64))[4]) //!< Least significant byte of 5th rank of \a u64. + #define LSB5D(u64) (((U8 *)&(u64))[5]) //!< Least significant byte of 6th rank of \a u64. + #define LSB6D(u64) (((U8 *)&(u64))[6]) //!< Least significant byte of 7th rank of \a u64. + #define LSB7D(u64) (((U8 *)&(u64))[7]) //!< Least significant byte of 8th rank of \a u64. + #define MSB7D(u64) LSB0D(u64) //!< Most significant byte of 8th rank of \a u64. + #define MSB6D(u64) LSB1D(u64) //!< Most significant byte of 7th rank of \a u64. + #define MSB5D(u64) LSB2D(u64) //!< Most significant byte of 6th rank of \a u64. + #define MSB4D(u64) LSB3D(u64) //!< Most significant byte of 5th rank of \a u64. + #define MSB3D(u64) LSB4D(u64) //!< Most significant byte of 4th rank of \a u64. + #define MSB2D(u64) LSB5D(u64) //!< Most significant byte of 3rd rank of \a u64. + #define MSB1D(u64) LSB6D(u64) //!< Most significant byte of 2nd rank of \a u64. + #define MSB0D(u64) LSB7D(u64) //!< Most significant byte of 1st rank of \a u64. + +#elif (BIG_ENDIAN_MCU==TRUE) + #define MSB(u16) (((U8 *)&(u16))[0]) //!< Most significant byte of \a u16. + #define LSB(u16) (((U8 *)&(u16))[1]) //!< Least significant byte of \a u16. + + #define MSH(u32) (((U16 *)&(u32))[0]) //!< Most significant half-word of \a u32. + #define LSH(u32) (((U16 *)&(u32))[1]) //!< Least significant half-word of \a u32. + #define MSB0W(u32) (((U8 *)&(u32))[0]) //!< Most significant byte of 1st rank of \a u32. + #define MSB1W(u32) (((U8 *)&(u32))[1]) //!< Most significant byte of 2nd rank of \a u32. + #define MSB2W(u32) (((U8 *)&(u32))[2]) //!< Most significant byte of 3rd rank of \a u32. + #define MSB3W(u32) (((U8 *)&(u32))[3]) //!< Most significant byte of 4th rank of \a u32. + #define LSB3W(u32) MSB0W(u32) //!< Least significant byte of 4th rank of \a u32. + #define LSB2W(u32) MSB1W(u32) //!< Least significant byte of 3rd rank of \a u32. + #define LSB1W(u32) MSB2W(u32) //!< Least significant byte of 2nd rank of \a u32. + #define LSB0W(u32) MSB3W(u32) //!< Least significant byte of 1st rank of \a u32. + + #define MSW(u64) (((U32 *)&(u64))[0]) //!< Most significant word of \a u64. + #define LSW(u64) (((U32 *)&(u64))[1]) //!< Least significant word of \a u64. + #define MSH0(u64) (((U16 *)&(u64))[0]) //!< Most significant half-word of 1st rank of \a u64. + #define MSH1(u64) (((U16 *)&(u64))[1]) //!< Most significant half-word of 2nd rank of \a u64. + #define MSH2(u64) (((U16 *)&(u64))[2]) //!< Most significant half-word of 3rd rank of \a u64. + #define MSH3(u64) (((U16 *)&(u64))[3]) //!< Most significant half-word of 4th rank of \a u64. + #define LSH3(u64) MSH0(u64) //!< Least significant half-word of 4th rank of \a u64. + #define LSH2(u64) MSH1(u64) //!< Least significant half-word of 3rd rank of \a u64. + #define LSH1(u64) MSH2(u64) //!< Least significant half-word of 2nd rank of \a u64. + #define LSH0(u64) MSH3(u64) //!< Least significant half-word of 1st rank of \a u64. + #define MSB0D(u64) (((U8 *)&(u64))[0]) //!< Most significant byte of 1st rank of \a u64. + #define MSB1D(u64) (((U8 *)&(u64))[1]) //!< Most significant byte of 2nd rank of \a u64. + #define MSB2D(u64) (((U8 *)&(u64))[2]) //!< Most significant byte of 3rd rank of \a u64. + #define MSB3D(u64) (((U8 *)&(u64))[3]) //!< Most significant byte of 4th rank of \a u64. + #define MSB4D(u64) (((U8 *)&(u64))[4]) //!< Most significant byte of 5th rank of \a u64. + #define MSB5D(u64) (((U8 *)&(u64))[5]) //!< Most significant byte of 6th rank of \a u64. + #define MSB6D(u64) (((U8 *)&(u64))[6]) //!< Most significant byte of 7th rank of \a u64. + #define MSB7D(u64) (((U8 *)&(u64))[7]) //!< Most significant byte of 8th rank of \a u64. + #define LSB7D(u64) MSB0D(u64) //!< Least significant byte of 8th rank of \a u64. + #define LSB6D(u64) MSB1D(u64) //!< Least significant byte of 7th rank of \a u64. + #define LSB5D(u64) MSB2D(u64) //!< Least significant byte of 6th rank of \a u64. + #define LSB4D(u64) MSB3D(u64) //!< Least significant byte of 5th rank of \a u64. + #define LSB3D(u64) MSB4D(u64) //!< Least significant byte of 4th rank of \a u64. + #define LSB2D(u64) MSB5D(u64) //!< Least significant byte of 3rd rank of \a u64. + #define LSB1D(u64) MSB6D(u64) //!< Least significant byte of 2nd rank of \a u64. + #define LSB0D(u64) MSB7D(u64) //!< Least significant byte of 1st rank of \a u64. + +#else + #error Unknown endianism. +#endif + +//! @} + + +/*! \name Endianism Conversion + * + * The same considerations as for clz and ctz apply here but AVR32-GCC's + * __builtin_bswap_16 and __builtin_bswap_32 do not behave like macros when + * applied to constant expressions, so two sets of macros are defined here: + * - Swap16, Swap32 and Swap64 to apply to constant expressions (values known + * at compile time); + * - swap16, swap32 and swap64 to apply to non-constant expressions (values + * unknown at compile time). + */ +//! @{ + +/*! \brief Toggles the endianism of \a u16 (by swapping its bytes). + * + * \param u16 U16 of which to toggle the endianism. + * + * \return Value resulting from \a u16 with toggled endianism. + * + * \note More optimized if only used with values known at compile time. + */ +#define Swap16(u16) ((U16)(((U16)(u16) >> 8) |\ + ((U16)(u16) << 8))) + +/*! \brief Toggles the endianism of \a u32 (by swapping its bytes). + * + * \param u32 U32 of which to toggle the endianism. + * + * \return Value resulting from \a u32 with toggled endianism. + * + * \note More optimized if only used with values known at compile time. + */ +#define Swap32(u32) ((U32)(((U32)Swap16((U32)(u32) >> 16)) |\ + ((U32)Swap16((U32)(u32)) << 16))) + +/*! \brief Toggles the endianism of \a u64 (by swapping its bytes). + * + * \param u64 U64 of which to toggle the endianism. + * + * \return Value resulting from \a u64 with toggled endianism. + * + * \note More optimized if only used with values known at compile time. + */ +#define Swap64(u64) ((U64)(((U64)Swap32((U64)(u64) >> 32)) |\ + ((U64)Swap32((U64)(u64)) << 32))) + +/*! \brief Toggles the endianism of \a u16 (by swapping its bytes). + * + * \param u16 U16 of which to toggle the endianism. + * + * \return Value resulting from \a u16 with toggled endianism. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define swap16(u16) ((U16)__builtin_bswap_16((U16)(u16))) +#elif (defined __ICCAVR32__) + #define swap16(u16) ((U16)__swap_bytes_in_halfwords((U16)(u16))) +#endif + +/*! \brief Toggles the endianism of \a u32 (by swapping its bytes). + * + * \param u32 U32 of which to toggle the endianism. + * + * \return Value resulting from \a u32 with toggled endianism. + * + * \note More optimized if only used with values unknown at compile time. + */ +#if (defined __GNUC__) + #define swap32(u32) ((U32)__builtin_bswap_32((U32)(u32))) +#elif (defined __ICCAVR32__) + #define swap32(u32) ((U32)__swap_bytes((U32)(u32))) +#endif + +/*! \brief Toggles the endianism of \a u64 (by swapping its bytes). + * + * \param u64 U64 of which to toggle the endianism. + * + * \return Value resulting from \a u64 with toggled endianism. + * + * \note More optimized if only used with values unknown at compile time. + */ +#define swap64(u64) ((U64)(((U64)swap32((U64)(u64) >> 32)) |\ + ((U64)swap32((U64)(u64)) << 32))) + +//! @} + + +/*! \name Target Abstraction + */ +//! @{ + +#define _GLOBEXT_ extern //!< extern storage-class specifier. +#define _CONST_TYPE_ const //!< const type qualifier. +#define _MEM_TYPE_SLOW_ //!< Slow memory type. +#define _MEM_TYPE_MEDFAST_ //!< Fairly fast memory type. +#define _MEM_TYPE_FAST_ //!< Fast memory type. + +typedef U8 Byte; //!< 8-bit unsigned integer. + +#define memcmp_ram2ram memcmp //!< Target-specific memcmp of RAM to RAM. +#define memcmp_code2ram memcmp //!< Target-specific memcmp of RAM to NVRAM. +#define memcpy_ram2ram memcpy //!< Target-specific memcpy from RAM to RAM. +#define memcpy_code2ram memcpy //!< Target-specific memcpy from NVRAM to RAM. + +#define LSB0(u32) LSB0W(u32) //!< Least significant byte of 1st rank of \a u32. +#define LSB1(u32) LSB1W(u32) //!< Least significant byte of 2nd rank of \a u32. +#define LSB2(u32) LSB2W(u32) //!< Least significant byte of 3rd rank of \a u32. +#define LSB3(u32) LSB3W(u32) //!< Least significant byte of 4th rank of \a u32. +#define MSB3(u32) MSB3W(u32) //!< Most significant byte of 4th rank of \a u32. +#define MSB2(u32) MSB2W(u32) //!< Most significant byte of 3rd rank of \a u32. +#define MSB1(u32) MSB1W(u32) //!< Most significant byte of 2nd rank of \a u32. +#define MSB0(u32) MSB0W(u32) //!< Most significant byte of 1st rank of \a u32. + +//! @} + +#endif // __AVR32_ABI_COMPILER__ + + +#endif // _COMPILER_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h new file mode 100644 index 0000000..ca516ee --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/conf_isp.h @@ -0,0 +1,136 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ****************************************************************** + * + * \brief ISP configuration file. + * + * This file contains the possible external configuration of the ISP. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices with a USB module can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ***************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _CONF_ISP_H_ +#define _CONF_ISP_H_ + +#include <avr32/io.h> +#include "compiler.h" + + +//_____ D E F I N I T I O N S ______________________________________________ + +#define PRODUCT_MANUFACTURER_ID 0x58 +#define PRODUCT_FAMILY_ID 0x20 + +#define ISP_VERSION 0x10 +#define ISP_ID0 0x00 +#define ISP_ID1 0x00 + +#define ISP_CFG1 (*(volatile U32 *)ISP_CFG1_ADDRESS) +#define ISP_CFG1_ADDRESS (AVR32_FLASHC_USER_PAGE_ADDRESS + ISP_CFG1_OFFSET) +#define ISP_CFG1_OFFSET 0x000001FC +#define ISP_CFG1_SIZE 4 + +#define ISP_CFG1_BOOT_KEY1 16 +#define ISP_CFG1_BOOT_KEY1_MASK 0xFFFF0000 +#define ISP_CFG1_BOOT_KEY1_OFFSET 16 +#define ISP_CFG1_BOOT_KEY1_SIZE 16 +#define ISP_CFG1_BOOT_KEY1_VALUE 0xE11E + +#define ISP_CFG1_FORCE 9 +#define ISP_CFG1_FORCE_MASK 0x00000200 +#define ISP_CFG1_FORCE_OFFSET 9 +#define ISP_CFG1_FORCE_SIZE 1 + +#define ISP_CFG1_IO_COND_EN 8 +#define ISP_CFG1_IO_COND_EN_MASK 0x00000100 +#define ISP_CFG1_IO_COND_EN_OFFSET 8 +#define ISP_CFG1_IO_COND_EN_SIZE 1 + +#define ISP_CFG1_CRC8 0 +#define ISP_CFG1_CRC8_MASK 0x000000FF +#define ISP_CFG1_CRC8_OFFSET 0 +#define ISP_CFG1_CRC8_SIZE 8 +#define ISP_CFG1_CRC8_POLYNOMIAL 0x107 + +#define ISP_CFG2 (*(volatile U32 *)ISP_CFG2_ADDRESS) +#define ISP_CFG2_ADDRESS (AVR32_FLASHC_USER_PAGE_ADDRESS + ISP_CFG2_OFFSET) +#define ISP_CFG2_OFFSET 0x000001F8 +#define ISP_CFG2_SIZE 4 + +#define ISP_CFG2_BOOT_KEY 17 +#define ISP_CFG2_BOOT_KEY_MASK 0xFFFE0000 +#define ISP_CFG2_BOOT_KEY_OFFSET 17 +#define ISP_CFG2_BOOT_KEY_SIZE 15 +#define ISP_CFG2_BOOT_KEY_VALUE 0x494F + +#define ISP_CFG2_IO_COND_LEVEL 16 +#define ISP_CFG2_IO_COND_LEVEL_MASK 0x00010000 +#define ISP_CFG2_IO_COND_LEVEL_OFFSET 16 +#define ISP_CFG2_IO_COND_LEVEL_SIZE 1 + +#define ISP_CFG2_IO_COND_PIN 8 +#define ISP_CFG2_IO_COND_PIN_MASK 0x0000FF00 +#define ISP_CFG2_IO_COND_PIN_OFFSET 8 +#define ISP_CFG2_IO_COND_PIN_SIZE 8 + +#define ISP_CFG2_CRC8 0 +#define ISP_CFG2_CRC8_MASK 0x000000FF +#define ISP_CFG2_CRC8_OFFSET 0 +#define ISP_CFG2_CRC8_SIZE 8 +#define ISP_CFG2_CRC8_POLYNOMIAL 0x107 + +#define ISP_KEY (*(volatile U32 *)ISP_KEY_ADDRESS) +#define ISP_KEY_ADDRESS (AVR32_SRAM_ADDRESS + ISP_KEY_OFFSET) +#define ISP_KEY_OFFSET 0x00000000 +#define ISP_KEY_SIZE 4 +#define ISP_KEY_VALUE ('I' << 24 | 'S' << 16 | 'P' << 8 | 'K') + +#ifndef ISP_OSC + #define ISP_OSC 0 +#endif + +#define DFU_FRAME_LENGTH 2048 + +#define PROGRAM_START_ADDRESS (AVR32_FLASH_ADDRESS + PROGRAM_START_OFFSET) +#define PROGRAM_START_OFFSET 0x00002000 + + +#endif // _CONF_ISP_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/parts.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/parts.h new file mode 100644 index 0000000..6637b2f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/SOFTWARE_FRAMEWORK/UTILS/parts.h @@ -0,0 +1,203 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*This file is prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief Arch file for AVR32. + * + * This file defines common AVR32 UC3 series. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + ******************************************************************************/ + +/* Copyright (c) 2009 Atmel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an Atmel + * AVR product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + */ + +#ifndef _ARCH_H_ +#define _ARCH_H_ + +// UC3 A Series +#define UC3A0 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3A0128__) || \ + defined (__AVR32_UC3A0256__) || \ + defined (__AVR32_UC3A0512__) || \ + defined (__AVR32_UC3A0512ES__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3A0128__) || \ + defined (__AT32UC3A0256__) || \ + defined (__AT32UC3A0512__) || \ + defined (__AT32UC3A0512ES__))) + +#define UC3A1 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3A1128__) || \ + defined (__AVR32_UC3A1256__) || \ + defined (__AVR32_UC3A1512__) || \ + defined (__AVR32_UC3A1512ES__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3A1128__) || \ + defined (__AT32UC3A1256__) || \ + defined (__AT32UC3A1512__) || \ + defined (__AT32UC3A1512ES__))) + +#define UC3A3 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3A364__) || \ + defined (__AVR32_UC3A364S__) || \ + defined (__AVR32_UC3A3128__) || \ + defined (__AVR32_UC3A3128S__) || \ + defined (__AVR32_UC3A3256__) || \ + defined (__AVR32_UC3A3256S__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3A364__) || \ + defined (__AT32UC3A364S__) || \ + defined (__AT32UC3A3128__) || \ + defined (__AT32UC3A3128S__) || \ + defined (__AT32UC3A3256__) || \ + defined (__AT32UC3A3256S__))) + +#define UC3A (UC3A0 || UC3A1 || UC3A3) + +// UC3 B Series +#define UC3B0 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3B064__) || \ + defined (__AVR32_UC3B0128__) || \ + defined (__AVR32_UC3B0256__) || \ + defined (__AVR32_UC3B0256ES__) || \ + defined (__AVR32_UC3B0512__) || \ + defined (__AVR32_UC3B0512REVC_))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3B064__) || \ + defined (__AT32UC3B0128__) || \ + defined (__AT32UC3B0256__) || \ + defined (__AT32UC3B0256ES__) || \ + defined (__AT32UC3B0512__) || \ + defined (__AT32UC3B0512REVC__))) + +#define UC3B1 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3B164__) || \ + defined (__AVR32_UC3B1128__) || \ + defined (__AVR32_UC3B1256__) || \ + defined (__AVR32_UC3B1256ES__) || \ + defined (__AVR32_UC3B1512__) || \ + defined (__AVR32_UC3B1512ES__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3B164__) || \ + defined (__AT32UC3B1128__) || \ + defined (__AT32UC3B1256__) || \ + defined (__AT32UC3B1256ES__) || \ + defined (__AT32UC3B1512__) || \ + defined (__AT32UC3B1512REVC__))) + +#define UC3B (UC3B0 || UC3B1 ) + +// UC3 C Series +#define UC3C0 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3C064C__) || \ + defined (__AVR32_UC3C0128C__) || \ + defined (__AVR32_UC3C0256C__) || \ + defined (__AVR32_UC3C0512CREVC__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3C064C__) || \ + defined (__AT32UC3C0128C__) || \ + defined (__AT32UC3C0256C__) || \ + defined (__AT32UC3C0512C__))) + +#define UC3C1 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3C164C__) || \ + defined (__AVR32_UC3C1128C__) || \ + defined (__AVR32_UC3C1256C__) || \ + defined (__AVR32_UC3C1512CREVC__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3C164C__) || \ + defined (__AT32UC3C1128C__) || \ + defined (__AT32UC3C1256C__) || \ + defined (__AT32UC3C1512C__))) + +#define UC3C2 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3C264C__) || \ + defined (__AVR32_UC3C2128C__) || \ + defined (__AVR32_UC3C2256C__) || \ + defined (__AVR32_UC3C2512CREVC__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3C264C__) || \ + defined (__AT32UC3C2128C__) || \ + defined (__AT32UC3C2256C__) || \ + defined (__AT32UC3C2512C__))) + +#define UC3C (UC3C0 || UC3C1 || UC3C2) + +// UC3 L Device series +#define UC3L0 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3L016__) || \ + defined (__AVR32_UC3L032__) || \ + defined (__AVR32_UC3L064__) || \ + defined (__AVR32_UC3L064REVB__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3L016__) || \ + defined (__AT32UC3L032__) || \ + defined (__AT32UC3L064__) || \ + defined (__AT32UC3L064REVB__))) + +#define UC3L1 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3L116__) || \ + defined (__AVR32_UC3L132__) || \ + defined (__AVR32_UC3L164__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3L116__) || \ + defined (__AT32UC3L132__) || \ + defined (__AT32UC3L164__))) + +#define UC3L2 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3L216__) || \ + defined (__AVR32_UC3L232__) || \ + defined (__AVR32_UC3L264__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3L216__) || \ + defined (__AT32UC3L232__) || \ + defined (__AT32UC3L264__))) + +#define UC3L3 ( defined (__GNUC__) && \ + ( defined (__AVR32_UC3L316__) || \ + defined (__AVR32_UC3L332__) || \ + defined (__AVR32_UC3L364__))) \ + ||((defined(__ICCAVR32__) || defined(__AAVR32__)) && \ + ( defined (__AT32UC3L316__) || \ + defined (__AT32UC3L332__) || \ + defined (__AT32UC3L364__))) + +#define UC3L (UC3L0 || UC3L1 || UC3L2 || UC3L3) + +#endif // _ARCH_H_ diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/clocks.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/clocks.c new file mode 100644 index 0000000..cdd07fa --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/clocks.c @@ -0,0 +1,101 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +#include <avr32/io.h> +#include "board.h" +#include "clocks.h" +#include "pm.h" +#include "flashc.h" +#include "gpio.h" + +/** + * Initializes the MCU system clocks. + */ +void +init_sys_clocks(void) +{ + /* switch to OSC0 to speed up the booting */ + pm_switch_to_osc0(&AVR32_PM, FOSC0, OSC0_STARTUP); + +#ifndef USE_PLL + return; +#endif + + /* For audio, ee have to use OSC1 on to generate the correct clockrate + * for the SSC + */ +#if OSC == 1 + /* start oscillator1 */ + pm_enable_osc1_crystal(&AVR32_PM, FOSC1); + pm_enable_clk1(&AVR32_PM, OSC1_STARTUP); +#endif + + /* configure pll multipliers */ + pm_pll_setup(&AVR32_PM, + 0, /* pll */ + PLL_MUL, /* mul */ + 1, /* div */ + OSC, /* osc */ + 16); /* lockcount */ + + /* set PLL operating range and divider (fpll = fvco/2) + * this gives PLL output = 66 MHz (62.0928 MHz for EVK1105/OSC1) + */ + pm_pll_set_option(&AVR32_PM, + 0, /* pll */ + 1, /* pll_freq */ + 1, /* pll_div2 */ + 0); /* pll_wbwdisable. */ + + + /* start PLL0 and wait for the lock */ + pm_pll_enable(&AVR32_PM, 0); + pm_wait_for_pll0_locked(&AVR32_PM); + + /* Set all peripheral clocks torun at master clock rate */ + pm_cksel(&AVR32_PM, + 0, /* pbadiv */ + 0, /* pbasel */ + 0, /* pbbdiv */ + 0, /* pbbsel */ + 0, /* hsbdiv */ + 0); /* hsbsel */ + + /* Set one waitstate for the flash */ + flashc_set_wait_state(1); + + /* Switch to PLL0 as the master clock */ + pm_switch_to_clock(&AVR32_PM, AVR32_PM_MCCTRL_MCSEL_PLL0); + +#if OSC == 1 + pm_configure_usb_clock(); +#endif +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/clocks.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/clocks.h new file mode 100644 index 0000000..cceda29 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/clocks.h @@ -0,0 +1,78 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef CLOCKS_H +#define CLOCKS_H + +#include "board.h" + + +#if BOARD == EVK1100 +# define USE_PLL +# define OSC 0 +# define PLL_MUL 10 +#elif BOARD == EVK1101 +# define USE_PLL +# define OSC 0 +# define PLL_MUL 9 +#elif BOARD == EVK1104 +# define USE_PLL +# define OSC 0 +# define PLL_MUL 9 /* for some reason we cant use 66 MHz */ +#elif BOARD == EVK1105 +# define USE_PLL +# define OSC 1 +# define PLL_MUL 10 +#elif BOARD == ARDUINO +# define USE_PLL +# define OSC 0 +# define PLL_MUL 8 +#endif + +#if OSC == 0 +# define FOSC FOSC0 /* 12 MHz */ +#else +# define FOSC FOSC1 /* 11.2896 MHz */ +#endif + +#ifdef USE_PLL +# define FMCK_HZ ((FOSC * (PLL_MUL + 1)) / 2) +#else +# define FMCK_HZ FOSC +#endif + +#define FCPU_HZ FMCK_HZ +#define FHSB_HZ FCPU_HZ +#define FPBB_HZ FMCK_HZ +#define FPBA_HZ FMCK_HZ + +void init_sys_clocks(void); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/flash_fw.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/flash_fw.c new file mode 100644 index 0000000..75d35f6 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/flash_fw.c @@ -0,0 +1,125 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include <avr32/io.h> + +#include "printf-stdarg.h" +#include "wl_fw.h" +#include "startup.h" +#include "nor_flash.h" +#include "gpio.h" + +#define GREEN_OFF() gpio_set_gpio_pin(LED0_GPIO) +#define GREEN_ON() gpio_clr_gpio_pin(LED0_GPIO) +#define GREEN_BLINK() gpio_tgl_gpio_pin(LED0_GPIO) +#define RED_OFF() gpio_set_gpio_pin(LED1_GPIO) +#define RED_ON() gpio_clr_gpio_pin(LED1_GPIO) +#define RED_BLINK() gpio_tgl_gpio_pin(LED1_GPIO) +#define BLUE_OFF() gpio_set_gpio_pin(LED2_GPIO) +#define BLUE_ON() gpio_clr_gpio_pin(LED2_GPIO) +#define BLUE_BLINK() gpio_tgl_gpio_pin(LED2_GPIO) + + +/** + * + */ +void +led_init(void) +{ + gpio_enable_gpio_pin(LED0_GPIO); + gpio_enable_gpio_pin(LED1_GPIO); + gpio_enable_gpio_pin(LED2_GPIO); + GREEN_OFF(); + RED_OFF(); + BLUE_OFF(); +} + + +int main(void) +{ + U32 pos, len; + + startup_init(); + printk("*** HD chip firmware upgrade ver 2.7 ***\n"); + led_init(); + flash_init(); + GREEN_ON(); + if (at45dbx_mem_check() == OK) + { + printk("Memory check... [ OK ]\n"); + } + else + { + RED_ON(); + GREEN_OFF(); + printk("Memory check... [FAIL]\n"); + return 0; + } + printk("Writing firmware data to flash\n"); + pos = 0; + while (pos < fw_len) { + if (fw_len - pos > SECTOR_SIZE) + len = SECTOR_SIZE; + else + len = fw_len - pos; + + flash_write(pos, fw_buf + pos, len); + pos += len; + } + + printk("Verifying firmware data\n"); + pos = 0; + while (pos < fw_len) { + static U8 page_buf[SECTOR_SIZE]; + U32 i; + + if (fw_len - pos > SECTOR_SIZE) + len = SECTOR_SIZE; + else + len = fw_len - pos; + + flash_read(pos, page_buf, len); + + for (i = 0; i < len; i++) + if (*(page_buf + i) != *(fw_buf + pos + i)) { + RED_ON(); + GREEN_OFF(); + printk("Verify failed at byte %d, 0x%02x != 0x%02x\n", + pos + i, *(page_buf + i), *(fw_buf + pos + i)); + return 0; + } + + + pos += len; + } + GREEN_OFF(); + BLUE_ON(); + printk("Firmware successfully stored in flash!\n"); + return 0; +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/license.txt b/firmware/libraries/WiFi/extras/wifi_dnld/src/license.txt new file mode 100644 index 0000000..e57439f --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/license.txt @@ -0,0 +1,42 @@ + Copyright (C) 2009, H&D Wireless AB All rights reserved. + + The license to use this software in whole and in part and to + redistribute it in any form follows with the WiFi HW module from H&D + Wireless and is granted under the following restrictions: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of H&D Wireless AB may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + 4. The software may only be used together with hardware from H&D + Wireless all other use is prohibited. + + 5. The license to use and redistribute the software is granted + together with the purchase of a hardware platform on a one to one + basis + + 6. The binary code may not be reversed engineered or by other means + copied to circumvent this license. + + THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT + SHALL HD WIRELESS AB BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + + For more information regarding this software license Contact H&D + Wireless AB (support@hd-wireless.se). diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/nor_flash.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/nor_flash.c new file mode 100644 index 0000000..0115949 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/nor_flash.c @@ -0,0 +1,99 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include <string.h> +#include "compiler.h" +#include "preprocessor.h" +#include "board.h" +#include "power_clocks_lib.h" +#include "gpio.h" +#include "spi.h" +#include "conf_at45dbx.h" +#include "at45dbx.h" +#include "clocks.h" + + +void flash_init(void) +{ + static const gpio_map_t AT45DBX_SPI_GPIO_MAP = { + { AT45DBX_SPI_SCK_PIN, AT45DBX_SPI_SCK_FUNCTION }, + { AT45DBX_SPI_MISO_PIN, AT45DBX_SPI_MISO_FUNCTION }, + { AT45DBX_SPI_MOSI_PIN, AT45DBX_SPI_MOSI_FUNCTION }, + { AT45DBX_SPI_NPCS2_PIN, AT45DBX_SPI_NPCS2_FUNCTION }, + }; + + spi_options_t spiOptions = { + .reg = AT45DBX_SPI_FIRST_NPCS, + .baudrate = AT45DBX_SPI_MASTER_SPEED, + .bits = AT45DBX_SPI_BITS, + .spck_delay = 0, + .trans_delay = 0, + .stay_act = 1, + .spi_mode = 0, + .modfdis = 1 + }; + + gpio_enable_module(AT45DBX_SPI_GPIO_MAP, + sizeof(AT45DBX_SPI_GPIO_MAP) / + sizeof(AT45DBX_SPI_GPIO_MAP[0])); + + spi_initMaster(AT45DBX_SPI, &spiOptions); + + spi_selectionMode(AT45DBX_SPI, 0, 0, 0); + spi_enable(AT45DBX_SPI); + + /* put up flash reset pin */ + gpio_set_gpio_pin(AT45DBX_CHIP_RESET); + + at45dbx_init(spiOptions, FPBA_HZ); +} + +void flash_write(U32 addr, const U8* buf, U32 len) +{ + U32 sector = addr / AT45DBX_SECTOR_SIZE; + U32 i; + Assert(addr % AT45DBX_SECTOR_SIZE == 0); + + at45dbx_write_open(sector); + for (i = 0; i < len; i++) + at45dbx_write_byte(buf[i]); + at45dbx_write_close(); +} + +void flash_read(U32 addr, U8* buf, U32 len) +{ + U32 sector = addr / AT45DBX_SECTOR_SIZE; + U32 i; + Assert(addr % AT45DBX_SECTOR_SIZE == 0); + + at45dbx_read_open(sector); + for (i = 0; i < len; i++) + buf[i] = at45dbx_read_byte(); + at45dbx_read_close(); +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/nor_flash.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/nor_flash.h new file mode 100644 index 0000000..52a4a20 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/nor_flash.h @@ -0,0 +1,41 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef NOR_FLASH_H +#define NOR_FLASH_H + +#include "at45dbx.h" + +#define SECTOR_SIZE AT45DBX_SECTOR_SIZE + +void flash_init(void); +void flash_write(U32 addr, const U8* buf, U32 len); +void flash_read(U32 addr, U8* buf, U32 len); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/printf-stdarg.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/printf-stdarg.c new file mode 100644 index 0000000..86ab88e --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/printf-stdarg.c @@ -0,0 +1,323 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/* This source file is part of the ATMEL AVR32-SoftwareFramework-AT32UC3A-1.4.0 Release */ + +/*This file has been prepared for Doxygen automatic documentation generation.*/ +/*! \file ********************************************************************* + * + * \brief sprintf functions to replace newlib for AVR32 UC3. + * + * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 + * - Supported devices: All AVR32 devices can be used. + * - AppNote: + * + * \author Atmel Corporation: http://www.atmel.com \n + * Support and FAQ: http://support.atmel.no/ + * + *****************************************************************************/ + +/* Copyright (C) 2006-2008, Atmel Corporation All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of ATMEL may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + Copyright 2001, 2002 Georges Menie (www.menie.org) + stdarg version contributed by Christian Ettinger + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +/* + putchar is the only external dependency for this file, + if you have a working putchar, leave it commented out. + If not, uncomment the define below and + replace outbyte(c) by your own function call. + +*/ + + +#include <sys/reent.h> +#include <stdarg.h> + +#define putchar(c) print_dbg_char(c) + +static void printchar(char **str, int c) +{ + extern int putchar(int c); + + if (str) { + **str = c; + ++(*str); + } + else (void)putchar(c); +} + +#define PAD_RIGHT 1 +#define PAD_ZERO 2 + +static int prints(char **out, const char *string, int width, int pad) +{ + register int pc = 0, padchar = ' '; + + if (width > 0) { + register int len = 0; + register const char *ptr; + for (ptr = string; *ptr; ++ptr) ++len; + if (len >= width) width = 0; + else width -= len; + if (pad & PAD_ZERO) padchar = '0'; + } + if (!(pad & PAD_RIGHT)) { + for ( ; width > 0; --width) { + printchar (out, padchar); + ++pc; + } + } + for ( ; *string ; ++string) { + printchar (out, *string); + ++pc; + } + for ( ; width > 0; --width) { + printchar (out, padchar); + ++pc; + } + + return pc; +} + +/* the following should be enough for 32 bit int */ +#define PRINT_BUF_LEN 12 + +static int printi(char **out, int i, int b, int sg, int width, int pad, int letbase) +{ + char print_buf[PRINT_BUF_LEN]; + register char *s; + register int t, neg = 0, pc = 0; + register unsigned int u = i; + + if (i == 0) { + print_buf[0] = '0'; + print_buf[1] = '\0'; + return prints (out, print_buf, width, pad); + } + + if (sg && b == 10 && i < 0) { + neg = 1; + u = -i; + } + + s = print_buf + PRINT_BUF_LEN-1; + *s = '\0'; + + while (u) { + t = u % b; + if( t >= 10 ) + t += letbase - '0' - 10; + *--s = t + '0'; + u /= b; + } + + if (neg) { + if( width && (pad & PAD_ZERO) ) { + printchar (out, '-'); + ++pc; + --width; + } + else { + *--s = '-'; + } + } + + return pc + prints (out, s, width, pad); +} + +int fprintf(__FILE *stream, const char *format, ...) +{ +return 0; +} +int printk_va(char **out, const char *format, va_list args ) +{ + register int width, pad; + register int pc = 0; + char scr[2]; + + for (; *format != 0; ++format) { + if (*format == '%') { + ++format; + width = pad = 0; + if (*format == '\0') break; + if (*format == '%') goto out; + if (*format == '-') { + ++format; + pad = PAD_RIGHT; + } + while (*format == '0') { + ++format; + pad |= PAD_ZERO; + } + for ( ; *format >= '0' && *format <= '9'; ++format) { + width *= 10; + width += *format - '0'; + } + if( *format == 's' ) { + register char *s = (char *)va_arg( args, int ); + pc += prints (out, s?s:"(null)", width, pad); + continue; + } + if( *format == 'd' ) { + pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a'); + continue; + } + if( *format == 'p' ) { + pad = 8; + pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a'); + continue; + } + if( *format == 'x' ) { + pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a'); + continue; + } + if( *format == 'X' ) { + pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A'); + continue; + } + if( *format == 'u' ) { + pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a'); + continue; + } + if( *format == 'c' ) { + /* char are converted to int then pushed on the stack */ + scr[0] = (char)va_arg( args, int ); + scr[1] = '\0'; + pc += prints (out, scr, width, pad); + continue; + } + } + else { + out: + printchar (out, *format); + ++pc; + } + } + if (out) **out = '\0'; + va_end( args ); + return pc; +} + +int printk(const char *format, ...) +{ + va_list args; + + va_start( args, format ); + return printk_va( 0, format, args ); +} + +int sprintf(char *out, const char *format, ...) +{ + va_list args; + + va_start( args, format ); + return printk_va( &out, format, args ); +} + +#ifdef TEST_PRINTF +int main(void) +{ + char *ptr = "Hello world!"; + char *np = 0; + int i = 5; + unsigned int bs = sizeof(int)*8; + int mi; + char buf[80]; + + mi = (1 << (bs-1)) + 1; + printf("%s\n", ptr); + printf("printf test\n"); + printf("%s is null pointer\n", np); + printf("%d = 5\n", i); + printf("%d = - max int\n", mi); + printf("char %c = 'a'\n", 'a'); + printf("hex %x = ff\n", 0xff); + printf("hex %02x = 00\n", 0); + printf("signed %d = unsigned %u = hex %x\n", -3, -3, -3); + printf("%d %s(s)%", 0, "message"); + printf("\n"); + printf("%d %s(s) with %%\n", 0, "message"); + sprintf(buf, "justif: \"%-10s\"\n", "left"); printf("%s", buf); + sprintf(buf, "justif: \"%10s\"\n", "right"); printf("%s", buf); + sprintf(buf, " 3: %04d zero padded\n", 3); printf("%s", buf); + sprintf(buf, " 3: %-4d left justif.\n", 3); printf("%s", buf); + sprintf(buf, " 3: %4d right justif.\n", 3); printf("%s", buf); + sprintf(buf, "-3: %04d zero padded\n", -3); printf("%s", buf); + sprintf(buf, "-3: %-4d left justif.\n", -3); printf("%s", buf); + sprintf(buf, "-3: %4d right justif.\n", -3); printf("%s", buf); + + return 0; +} + +/* + * if you compile this file with + * gcc -Wall $(YOUR_C_OPTIONS) -DTEST_PRINTF -c printf.c + * you will get a normal warning: + * printf.c:214: warning: spurious trailing `%' in format + * this line is testing an invalid % at the end of the format string. + * + * this should display (on 32bit int machine) : + * + * Hello world! + * printf test + * (null) is null pointer + * 5 = 5 + * -2147483647 = - max int + * char a = 'a' + * hex ff = ff + * hex 00 = 00 + * signed -3 = unsigned 4294967293 = hex fffffffd + * 0 message(s) + * 0 message(s) with % + * justif: "left " + * justif: " right" + * 3: 0003 zero padded + * 3: 3 left justif. + * 3: 3 right justif. + * -3: -003 zero padded + * -3: -3 left justif. + * -3: -3 right justif. + */ + +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/printf-stdarg.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/printf-stdarg.h new file mode 100644 index 0000000..f6bd664 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/printf-stdarg.h @@ -0,0 +1,36 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef PRINTF_STDARG_H +#define PRINTF_STDARG_H +#include <stdarg.h> + +int printk(const char *format, ...); +int printk_va(char **out, const char *format, va_list args ); +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/startup.c b/firmware/libraries/WiFi/extras/wifi_dnld/src/startup.c new file mode 100644 index 0000000..fa2a8c0 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/startup.c @@ -0,0 +1,75 @@ +/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include "startup.h" +#include "pm.h" +#include "intc.h" +#include "board.h" +#include "print_funcs.h" +#include "clocks.h" + + +static void init_exceptions(void) +{ + extern void _evba; + Set_system_register(AVR32_EVBA, (int)&_evba); + Enable_global_exception(); +} + +static void init_hmatrix(void) +{ + union { + unsigned long scfg; + avr32_hmatrix_scfg_t SCFG; + } u_avr32_hmatrix_scfg = { + AVR32_HMATRIX.scfg[AVR32_HMATRIX_SLAVE_FLASH] + }; + u_avr32_hmatrix_scfg.SCFG.defmstr_type = + AVR32_HMATRIX_DEFMSTR_TYPE_LAST_DEFAULT; + AVR32_HMATRIX.scfg[AVR32_HMATRIX_SLAVE_FLASH] = + u_avr32_hmatrix_scfg.scfg; +} + +static void init_interrupts(void) +{ + INTC_init_interrupts(); + + //initExtInt(); + + Enable_global_interrupt(); +} + +void startup_init(void) +{ + init_exceptions(); + init_hmatrix(); + init_sys_clocks(); + init_interrupts(); + init_dbg_rs232(FPBA_HZ); +} diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/startup.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/startup.h new file mode 100644 index 0000000..a9adc60 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/startup.h @@ -0,0 +1,35 @@ +/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ + +/*! \page License + * Copyright (C) 2009, H&D Wireless AB All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of H&D Wireless AB may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY H&D WIRELESS AB ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND + * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef STARTUP_H +#define STARTUP_H + +void startup_init(void); + +#endif diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/src/wl_fw.h b/firmware/libraries/WiFi/extras/wifi_dnld/src/wl_fw.h new file mode 100644 index 0000000..5be5f37 --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/src/wl_fw.h @@ -0,0 +1,19287 @@ +/* + * Programming interface for wl_api. + * Copyright (C) 2010 HD Wireless AB + * + * You should have received a copy of the license along with this library. + */ + +#ifndef WITHOUT_STDINT +#include <stdint.h> +#endif +const uint8_t fw_buf[154188] = { + 0x10, 0x61, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x10, 0x61, 0x04, 0x00, + 0x38, 0x61, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x20, 0x61, 0x04, 0x00, + 0x30, 0x61, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x30, 0x61, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x61, 0x04, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0xee, + 0xee, 0xee, 0x18, 0xf0, 0x9f, 0xe5, 0x18, 0xf0, + 0x9f, 0xe5, 0x18, 0xf0, 0x9f, 0xe5, 0x18, 0xf0, + 0x9f, 0xe5, 0x00, 0x00, 0xa0, 0xe1, 0x18, 0xf0, + 0x9f, 0xe5, 0x18, 0xf0, 0x9f, 0xe5, 0x44, 0x00, + 0x00, 0x00, 0xb4, 0x08, 0x00, 0x00, 0xb4, 0x08, + 0x00, 0x00, 0xb4, 0x08, 0x00, 0x00, 0xb4, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x08, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xe1, 0x1f, 0x00, 0xc0, 0xe3, + 0x13, 0x00, 0x80, 0xe3, 0xc0, 0x00, 0x80, 0xe3, + 0x00, 0xf0, 0x2f, 0xe1, 0x1c, 0xf0, 0x9f, 0xe5, + 0x3d, 0x02, 0x00, 0xeb, 0x5a, 0x02, 0x00, 0xeb, + 0x8d, 0x02, 0x00, 0xeb, 0x01, 0x00, 0x8f, 0xe2, + 0x10, 0xff, 0x2f, 0xe1, 0x41, 0xf0, 0xde, 0xfb, + 0x01, 0xf0, 0xdc, 0xfd, 0x3c, 0x00, 0x78, 0x00, + 0x00, 0x00, 0xfe, 0xe7, 0x00, 0x00, 0x5c, 0x00, + 0x00, 0x00, 0x78, 0x47, 0xc0, 0x46, 0x01, 0x00, + 0x00, 0xea, 0x78, 0x47, 0xc0, 0x46, 0x17, 0x00, + 0x00, 0xea, 0x8c, 0x11, 0x9f, 0xe5, 0x00, 0x20, + 0x91, 0xe5, 0x00, 0x30, 0x0f, 0xe1, 0x84, 0x11, + 0x9f, 0xe5, 0xfd, 0x20, 0xa1, 0xe8, 0x80, 0x01, + 0x9f, 0xe5, 0x80, 0x21, 0x9f, 0xe5, 0x01, 0x20, + 0x42, 0xe0, 0x0d, 0x00, 0x40, 0xe0, 0x3c, 0x00, + 0xb4, 0x00, 0x00, 0x00, 0x02, 0x00, 0x50, 0xe1, + 0x28, 0x00, 0x00, 0xaa, 0x68, 0x01, 0x9f, 0xe5, + 0x0d, 0x00, 0x50, 0xe1, 0x02, 0x00, 0x00, 0xba, + 0x04, 0x20, 0x10, 0xe4, 0x04, 0x20, 0x81, 0xe4, + 0xfa, 0xff, 0xff, 0xea, 0x58, 0x11, 0x9f, 0xe5, + 0x58, 0x01, 0x9f, 0xe5, 0x00, 0x00, 0x81, 0xe5, + 0x3c, 0x11, 0x9f, 0xe5, 0x50, 0x01, 0x9f, 0xe5, + 0x00, 0x00, 0x81, 0xe5, 0x1e, 0xff, 0x2f, 0xe1, + 0x3c, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x48, 0x11, + 0x9f, 0xe5, 0x00, 0x00, 0x91, 0xe5, 0x24, 0x11, + 0x9f, 0xe5, 0x00, 0x00, 0x81, 0xe5, 0x2c, 0x11, + 0x9f, 0xe5, 0x38, 0x01, 0x9f, 0xe5, 0x00, 0x00, + 0x81, 0xe5, 0x1e, 0xff, 0x2f, 0xe1, 0x74, 0x02, + 0x00, 0xeb, 0x10, 0x01, 0x9f, 0xe5, 0x28, 0x11, + 0x9f, 0xe5, 0x04, 0x20, 0x91, 0xe4, 0x04, 0x20, + 0x00, 0xe4, 0x04, 0x21, 0x9f, 0xe5, 0x02, 0x00, + 0x51, 0xe1, 0x3c, 0x00, 0x2c, 0x01, 0x00, 0x00, + 0xfa, 0xff, 0xff, 0x1a, 0xf0, 0x10, 0x9f, 0xe5, + 0xfd, 0x20, 0xb1, 0xe8, 0x03, 0xf0, 0x2f, 0xe1, + 0xe0, 0x10, 0x9f, 0xe5, 0x00, 0x20, 0x81, 0xe5, + 0xe8, 0x10, 0x9f, 0xe5, 0xf4, 0x20, 0x9f, 0xe5, + 0x00, 0x20, 0x81, 0xe5, 0x02, 0x10, 0x80, 0xe2, + 0x00, 0x00, 0x20, 0xe0, 0x01, 0x00, 0x40, 0xe2, + 0x11, 0xff, 0x2f, 0xe1, 0x01, 0x00, 0x8f, 0xe2, + 0x10, 0xff, 0x2f, 0xe1, 0x3c, 0x00, 0x68, 0x01, + 0x00, 0x00, 0x01, 0xf0, 0x9c, 0xf8, 0x78, 0x47, + 0x00, 0x00, 0x01, 0x00, 0x8f, 0xe2, 0x10, 0xff, + 0x2f, 0xe1, 0x01, 0xf0, 0x94, 0xf8, 0x78, 0x47, + 0x00, 0x00, 0x03, 0x00, 0x2d, 0xe9, 0x00, 0x10, + 0x0f, 0xe1, 0x00, 0x10, 0x80, 0xe5, 0xb8, 0x10, + 0x9f, 0xe5, 0x04, 0x10, 0x80, 0xe5, 0x00, 0x10, + 0xa0, 0xe1, 0x10, 0x00, 0x80, 0xe2, 0xfc, 0x1f, + 0xa0, 0xe8, 0x00, 0x20, 0xa0, 0xe1, 0x3c, 0x00, + 0xa4, 0x01, 0x00, 0x00, 0x01, 0x30, 0xa0, 0xe1, + 0x03, 0x00, 0xbd, 0xe8, 0x08, 0x00, 0x83, 0xe5, + 0x0c, 0x10, 0x83, 0xe5, 0xd3, 0x00, 0xa0, 0xe3, + 0x00, 0xf0, 0x21, 0xe1, 0x00, 0x60, 0xa2, 0xe8, + 0x00, 0x10, 0x4f, 0xe1, 0x04, 0x10, 0x82, 0xe4, + 0xd2, 0x00, 0xa0, 0xe3, 0x00, 0xf0, 0x21, 0xe1, + 0x00, 0x60, 0xa2, 0xe8, 0x00, 0x10, 0x4f, 0xe1, + 0x04, 0x10, 0x82, 0xe4, 0xd1, 0x00, 0xa0, 0xe3, + 0x3c, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0xf0, + 0x21, 0xe1, 0x00, 0x7f, 0xa2, 0xe8, 0x00, 0x10, + 0x4f, 0xe1, 0x04, 0x10, 0x82, 0xe4, 0xd7, 0x00, + 0xa0, 0xe3, 0x00, 0xf0, 0x21, 0xe1, 0x00, 0x60, + 0xa2, 0xe8, 0x00, 0x10, 0x4f, 0xe1, 0x04, 0x10, + 0x82, 0xe4, 0xdb, 0x00, 0xa0, 0xe3, 0x00, 0xf0, + 0x21, 0xe1, 0x00, 0x60, 0xa2, 0xe8, 0x00, 0x10, + 0x4f, 0xe1, 0x00, 0x10, 0x82, 0xe5, 0x00, 0x00, + 0x93, 0xe5, 0x3c, 0x00, 0x1c, 0x02, 0x00, 0x00, + 0x00, 0xf0, 0x2f, 0xe1, 0x1e, 0xff, 0x2f, 0xe1, + 0x20, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, + 0x20, 0xee, 0x01, 0x00, 0xd8, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0xf0, 0x9f, 0xe5, + 0x10, 0x01, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00, + 0xee, 0xee, 0xee, 0xee, 0x24, 0x03, 0x00, 0x00, + 0x20, 0x02, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x63, 0x1c, 0x0b, 0x4d, 0x3c, 0x00, 0x58, 0x02, + 0x00, 0x00, 0x01, 0xd1, 0x6c, 0x69, 0x10, 0xe0, + 0x00, 0xf0, 0x6c, 0xfb, 0x09, 0x48, 0xff, 0xf7, + 0x0c, 0xff, 0xec, 0x60, 0x08, 0x4a, 0x51, 0x68, + 0x50, 0x68, 0x88, 0x42, 0xfc, 0xd0, 0x02, 0x20, + 0x28, 0x70, 0x01, 0x21, 0x8a, 0x20, 0x01, 0xf0, + 0x12, 0xf8, 0x20, 0x1c, 0xb0, 0xbd, 0x30, 0x00, + 0x07, 0x00, 0x51, 0x02, 0x00, 0x00, 0x00, 0x03, + 0x07, 0x00, 0xb0, 0xb5, 0x05, 0x1c, 0x3c, 0x00, + 0x94, 0x02, 0x00, 0x00, 0x00, 0x24, 0x00, 0xf0, + 0x50, 0xfb, 0x14, 0x48, 0xff, 0xf7, 0xf0, 0xfe, + 0x13, 0x49, 0x14, 0x48, 0xc1, 0x60, 0x01, 0x21, + 0x13, 0x4a, 0x49, 0x03, 0x91, 0x60, 0x13, 0x49, + 0xca, 0x78, 0x08, 0x23, 0x9a, 0x43, 0xca, 0x70, + 0xca, 0x78, 0x04, 0x23, 0x1a, 0x43, 0xca, 0x70, + 0x6b, 0x1c, 0x0d, 0xd0, 0x0e, 0x4b, 0x5a, 0x68, + 0x59, 0x68, 0x91, 0x42, 0xfc, 0xd0, 0xbe, 0x21, + 0x3c, 0x00, 0xd0, 0x02, 0x00, 0x00, 0x19, 0x73, + 0x19, 0x7a, 0x11, 0x22, 0x91, 0x43, 0x19, 0x72, + 0x19, 0x7a, 0xc9, 0x07, 0xfc, 0xd4, 0x02, 0x21, + 0x01, 0x70, 0xff, 0xf7, 0xd0, 0xfe, 0x20, 0x1c, + 0xb0, 0xbd, 0x91, 0x02, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x30, 0x00, 0x07, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, + 0x08, 0x47, 0x10, 0x47, 0x18, 0x47, 0x20, 0x47, + 0x28, 0x47, 0x30, 0x47, 0x38, 0x47, 0x10, 0xb5, + 0x04, 0x1c, 0x10, 0x1c, 0x00, 0xf0, 0x23, 0xf9, + 0x03, 0xc4, 0x10, 0xbc, 0x08, 0xbc, 0x18, 0x47, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x03, 0x00, 0x00, + 0x10, 0xb4, 0x04, 0x2a, 0x0e, 0xd3, 0x03, 0x1c, + 0x0b, 0x43, 0x9b, 0x07, 0x0a, 0xd1, 0x08, 0xc8, + 0x10, 0xc9, 0xa3, 0x42, 0x02, 0xd1, 0x04, 0x3a, + 0x04, 0x2a, 0xf8, 0xd2, 0xa3, 0x42, 0x01, 0xd0, + 0x04, 0x38, 0x04, 0x39, 0x00, 0x2a, 0x02, 0xd1, + 0x00, 0x20, 0x10, 0xbc, 0x70, 0x47, 0xd3, 0x07, + 0x01, 0xd5, 0x01, 0x32, 0x05, 0xe0, 0x03, 0x78, + 0x0c, 0x78, 0x01, 0x31, 0x3c, 0x00, 0x38, 0x04, + 0x00, 0x00, 0x01, 0x30, 0xa3, 0x42, 0x07, 0xd1, + 0x03, 0x78, 0x0c, 0x78, 0x01, 0x31, 0x01, 0x30, + 0xa3, 0x42, 0x01, 0xd1, 0x02, 0x3a, 0xf1, 0xd1, + 0x18, 0x1b, 0xe9, 0xe7, 0x00, 0x00, 0x78, 0x47, + 0x00, 0x00, 0x00, 0x20, 0xa0, 0xe3, 0x04, 0x00, + 0x51, 0xe3, 0x08, 0x00, 0x00, 0x3a, 0x03, 0xc0, + 0x10, 0xe2, 0x0d, 0x00, 0x00, 0x0a, 0x04, 0xc0, + 0x6c, 0xe2, 0x02, 0x00, 0x5c, 0xe3, 0x3c, 0x00, + 0x74, 0x04, 0x00, 0x00, 0x01, 0x20, 0xc0, 0xe4, + 0x01, 0x20, 0xc0, 0xa4, 0x01, 0x20, 0xc0, 0xc4, + 0x0c, 0x10, 0x41, 0xe0, 0x06, 0x00, 0x00, 0xea, + 0x81, 0xcf, 0xb0, 0xe1, 0x01, 0x20, 0xc0, 0x24, + 0x01, 0x20, 0xc0, 0x24, 0x01, 0x20, 0xc0, 0x44, + 0x1e, 0xff, 0x2f, 0xe1, 0x78, 0x47, 0x00, 0x00, + 0x00, 0x20, 0xa0, 0xe3, 0x00, 0x40, 0x2d, 0xe9, + 0x02, 0x30, 0xa0, 0xe1, 0x02, 0xc0, 0xa0, 0xe1, + 0x3c, 0x00, 0xb0, 0x04, 0x00, 0x00, 0x02, 0xe0, + 0xa0, 0xe1, 0x20, 0x10, 0x51, 0xe2, 0x0c, 0x50, + 0xa0, 0x28, 0x0c, 0x50, 0xa0, 0x28, 0x20, 0x10, + 0x51, 0x22, 0xfb, 0xff, 0xff, 0x2a, 0x01, 0x1e, + 0xb0, 0xe1, 0x0c, 0x50, 0xa0, 0x28, 0x0c, 0x00, + 0xa0, 0x48, 0x00, 0x40, 0xbd, 0xe8, 0x01, 0x11, + 0xb0, 0xe1, 0x04, 0x20, 0x80, 0x24, 0x1e, 0xff, + 0x2f, 0x01, 0x01, 0x20, 0xc0, 0x44, 0x01, 0x20, + 0xc0, 0x44, 0x3c, 0x00, 0xec, 0x04, 0x00, 0x00, + 0x40, 0x04, 0x11, 0xe3, 0x01, 0x20, 0xc0, 0x14, + 0x1e, 0xff, 0x2f, 0xe1, 0x78, 0x47, 0x00, 0x00, + 0x03, 0x00, 0x52, 0xe3, 0x3e, 0x00, 0x00, 0x9a, + 0x03, 0xc0, 0x10, 0xe2, 0x08, 0x00, 0x00, 0x0a, + 0x01, 0x30, 0xd1, 0xe4, 0x02, 0x00, 0x5c, 0xe3, + 0x0c, 0x20, 0x82, 0xe0, 0x01, 0xc0, 0xd1, 0x94, + 0x01, 0x30, 0xc0, 0xe4, 0x01, 0x30, 0xd1, 0x34, + 0x04, 0x20, 0x42, 0xe2, 0x3c, 0x00, 0x28, 0x05, + 0x00, 0x00, 0x01, 0xc0, 0xc0, 0x94, 0x01, 0x30, + 0xc0, 0x34, 0x03, 0x30, 0x11, 0xe2, 0x1e, 0x00, + 0x00, 0x0a, 0x04, 0x20, 0x52, 0xe2, 0x2f, 0x00, + 0x00, 0x3a, 0x03, 0xc0, 0x31, 0xe7, 0x02, 0x00, + 0x53, 0xe3, 0x08, 0x00, 0x00, 0x0a, 0x0f, 0x00, + 0x00, 0x8a, 0x2c, 0x34, 0xa0, 0xe1, 0x04, 0xc0, + 0xb1, 0xe5, 0x04, 0x20, 0x52, 0xe2, 0x0c, 0x3c, + 0x83, 0xe1, 0x04, 0x30, 0x80, 0xe4, 0x3c, 0x00, + 0x64, 0x05, 0x00, 0x00, 0xf9, 0xff, 0xff, 0x2a, + 0x01, 0x10, 0x81, 0xe2, 0x23, 0x00, 0x00, 0xea, + 0x2c, 0x38, 0xa0, 0xe1, 0x04, 0xc0, 0xb1, 0xe5, + 0x04, 0x20, 0x52, 0xe2, 0x0c, 0x38, 0x83, 0xe1, + 0x04, 0x30, 0x80, 0xe4, 0xf9, 0xff, 0xff, 0x2a, + 0x02, 0x10, 0x81, 0xe2, 0x1b, 0x00, 0x00, 0xea, + 0x2c, 0x3c, 0xa0, 0xe1, 0x04, 0xc0, 0xb1, 0xe5, + 0x04, 0x20, 0x52, 0xe2, 0x0c, 0x34, 0x83, 0xe1, + 0x3c, 0x00, 0xa0, 0x05, 0x00, 0x00, 0x04, 0x30, + 0x80, 0xe4, 0xf9, 0xff, 0xff, 0x2a, 0x03, 0x10, + 0x81, 0xe2, 0x13, 0x00, 0x00, 0xea, 0x78, 0x47, + 0x00, 0x00, 0x10, 0x40, 0x2d, 0xe9, 0x20, 0x20, + 0x52, 0xe2, 0x05, 0x00, 0x00, 0x3a, 0x18, 0x50, + 0xb1, 0x28, 0x18, 0x50, 0xa0, 0x28, 0x18, 0x50, + 0xb1, 0x28, 0x18, 0x50, 0xa0, 0x28, 0x20, 0x20, + 0x52, 0x22, 0xf9, 0xff, 0xff, 0x2a, 0x02, 0xce, + 0xb0, 0xe1, 0x3c, 0x00, 0xdc, 0x05, 0x00, 0x00, + 0x18, 0x50, 0xb1, 0x28, 0x18, 0x50, 0xa0, 0x28, + 0x18, 0x00, 0xb1, 0x48, 0x18, 0x00, 0xa0, 0x48, + 0x10, 0x40, 0xbd, 0xe8, 0x02, 0xcf, 0xb0, 0xe1, + 0x04, 0x30, 0x91, 0x24, 0x04, 0x30, 0x80, 0x24, + 0x1e, 0xff, 0x2f, 0x01, 0x82, 0x2f, 0xb0, 0xe1, + 0x01, 0x20, 0xd1, 0x44, 0x01, 0x30, 0xd1, 0x24, + 0x01, 0xc0, 0xd1, 0x24, 0x01, 0x20, 0xc0, 0x44, + 0x01, 0x30, 0xc0, 0x24, 0x3c, 0x00, 0x18, 0x06, + 0x00, 0x00, 0x01, 0xc0, 0xc0, 0x24, 0x1e, 0xff, + 0x2f, 0xe1, 0x78, 0x47, 0x00, 0x00, 0xff, 0x30, + 0x01, 0xe2, 0x02, 0x10, 0xa0, 0xe1, 0x03, 0x24, + 0x83, 0xe1, 0x02, 0x28, 0x82, 0xe1, 0x88, 0xff, + 0xff, 0xea, 0x78, 0x47, 0x00, 0x00, 0x80, 0x24, + 0x10, 0xe2, 0x00, 0x00, 0x60, 0x42, 0x41, 0x30, + 0x32, 0xe0, 0x00, 0x10, 0x61, 0x22, 0xa1, 0xc1, + 0x70, 0xe0, 0x20, 0x00, 0x00, 0x3a, 0x3c, 0x00, + 0x54, 0x06, 0x00, 0x00, 0x21, 0xc4, 0x70, 0xe0, + 0x0f, 0x00, 0x00, 0x3a, 0x00, 0x04, 0xa0, 0xe1, + 0xff, 0x24, 0x82, 0xe3, 0x21, 0xc2, 0x70, 0xe0, + 0x17, 0x00, 0x00, 0x3a, 0x21, 0xc4, 0x70, 0xe0, + 0x09, 0x00, 0x00, 0x3a, 0x00, 0x04, 0xa0, 0xe1, + 0xff, 0x28, 0x82, 0xe3, 0x21, 0xc4, 0x70, 0xe0, + 0x00, 0x04, 0xa0, 0x21, 0xff, 0x2c, 0x82, 0x23, + 0x21, 0xc2, 0x70, 0xe0, 0x0e, 0x00, 0x00, 0x3a, + 0x3c, 0x00, 0x90, 0x06, 0x00, 0x00, 0x00, 0xc0, + 0x70, 0xe2, 0x83, 0x00, 0x00, 0x2a, 0x20, 0x04, + 0xa0, 0x21, 0xa1, 0xc3, 0x70, 0xe0, 0x80, 0x13, + 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0x21, 0xc3, + 0x70, 0xe0, 0x00, 0x13, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0xa1, 0xc2, 0x70, 0xe0, 0x80, 0x12, + 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0x21, 0xc2, + 0x70, 0xe0, 0x00, 0x12, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0x3c, 0x00, 0xcc, 0x06, 0x00, 0x00, + 0xa1, 0xc1, 0x70, 0xe0, 0x80, 0x11, 0x41, 0x20, + 0x02, 0x20, 0xa2, 0xe0, 0x21, 0xc1, 0x70, 0xe0, + 0x00, 0x11, 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, + 0xa1, 0xc0, 0x70, 0xe0, 0x80, 0x10, 0x41, 0x20, + 0x02, 0x20, 0xa2, 0xe0, 0x01, 0xc0, 0x70, 0xe0, + 0x00, 0x10, 0x41, 0x20, 0x02, 0x20, 0xb2, 0xe0, + 0xe5, 0xff, 0xff, 0x2a, 0xc3, 0x0f, 0x32, 0xe0, + 0xa3, 0x0f, 0x80, 0xe0, 0x3c, 0x00, 0x08, 0x07, + 0x00, 0x00, 0x00, 0x10, 0x61, 0x22, 0x1e, 0xff, + 0x2f, 0xe1, 0x78, 0x47, 0x00, 0x00, 0x00, 0x20, + 0xa0, 0xe3, 0xa1, 0xc1, 0x70, 0xe0, 0x20, 0x00, + 0x00, 0x3a, 0x21, 0xc4, 0x70, 0xe0, 0x0f, 0x00, + 0x00, 0x3a, 0x00, 0x04, 0xa0, 0xe1, 0xff, 0x24, + 0x82, 0xe3, 0x21, 0xc2, 0x70, 0xe0, 0x17, 0x00, + 0x00, 0x3a, 0x21, 0xc4, 0x70, 0xe0, 0x09, 0x00, + 0x00, 0x3a, 0x00, 0x04, 0xa0, 0xe1, 0x3c, 0x00, + 0x44, 0x07, 0x00, 0x00, 0xff, 0x28, 0x82, 0xe3, + 0x21, 0xc4, 0x70, 0xe0, 0x00, 0x04, 0xa0, 0x21, + 0xff, 0x2c, 0x82, 0x23, 0x21, 0xc2, 0x70, 0xe0, + 0x0e, 0x00, 0x00, 0x3a, 0x00, 0xc0, 0x70, 0xe2, + 0x50, 0x00, 0x00, 0x2a, 0x20, 0x04, 0xa0, 0x21, + 0xa1, 0xc3, 0x70, 0xe0, 0x80, 0x13, 0x41, 0x20, + 0x02, 0x20, 0xa2, 0xe0, 0x21, 0xc3, 0x70, 0xe0, + 0x00, 0x13, 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, + 0x3c, 0x00, 0x80, 0x07, 0x00, 0x00, 0xa1, 0xc2, + 0x70, 0xe0, 0x80, 0x12, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0x21, 0xc2, 0x70, 0xe0, 0x00, 0x12, + 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0xa1, 0xc1, + 0x70, 0xe0, 0x80, 0x11, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0x21, 0xc1, 0x70, 0xe0, 0x00, 0x11, + 0x41, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0xa1, 0xc0, + 0x70, 0xe0, 0x80, 0x10, 0x41, 0x20, 0x02, 0x20, + 0xa2, 0xe0, 0x3c, 0x00, 0xbc, 0x07, 0x00, 0x00, + 0x01, 0xc0, 0x70, 0xe0, 0x00, 0x10, 0x41, 0x20, + 0x02, 0x20, 0xb2, 0xe0, 0xe5, 0xff, 0xff, 0x2a, + 0x02, 0x00, 0xa0, 0xe1, 0x1e, 0xff, 0x2f, 0xe1, + 0x78, 0x47, 0x00, 0x00, 0x0a, 0x10, 0x40, 0xe2, + 0x20, 0x01, 0x40, 0xe0, 0x20, 0x02, 0x80, 0xe0, + 0x20, 0x04, 0x80, 0xe0, 0x20, 0x08, 0x80, 0xe0, + 0xa0, 0x01, 0xa0, 0xe1, 0x00, 0x21, 0x80, 0xe0, + 0x82, 0x10, 0x51, 0xe0, 0x3c, 0x00, 0xf8, 0x07, + 0x00, 0x00, 0x01, 0x00, 0x80, 0x52, 0x0a, 0x10, + 0x81, 0x42, 0x1e, 0xff, 0x2f, 0xe1, 0x30, 0xb4, + 0x44, 0x1c, 0x81, 0x07, 0x08, 0xd0, 0x01, 0x78, + 0x01, 0x30, 0x00, 0x29, 0x02, 0xd1, 0x00, 0x1b, + 0x30, 0xbc, 0x70, 0x47, 0x81, 0x07, 0xf6, 0xd1, + 0x0b, 0x4a, 0xd5, 0x01, 0x02, 0xc8, 0x8b, 0x1a, + 0x8b, 0x43, 0x2b, 0x40, 0xfa, 0xd0, 0x00, 0x1b, + 0x0a, 0x06, 0x01, 0xd1, 0x03, 0x38, 0x3c, 0x00, + 0x34, 0x08, 0x00, 0x00, 0xef, 0xe7, 0x0a, 0x04, + 0x12, 0x0e, 0x01, 0xd1, 0x02, 0x38, 0xea, 0xe7, + 0x09, 0x02, 0x09, 0x0e, 0xe7, 0xd1, 0x01, 0x38, + 0xe5, 0xe7, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0xf0, 0xb4, 0x03, 0x1c, 0x04, 0x1c, 0x0c, 0x43, + 0xa4, 0x07, 0x0c, 0xd1, 0x10, 0x4d, 0xef, 0x01, + 0x02, 0xe0, 0x04, 0x31, 0x04, 0x3a, 0x10, 0xc3, + 0x04, 0x2a, 0x04, 0xd3, 0x0c, 0x68, 0x66, 0x1b, + 0x3c, 0x00, 0x70, 0x08, 0x00, 0x00, 0xa6, 0x43, + 0x3e, 0x40, 0xf5, 0xd0, 0x00, 0x2a, 0x07, 0xd0, + 0x0c, 0x78, 0x01, 0x31, 0x1c, 0x70, 0x01, 0x33, + 0x00, 0x2c, 0x03, 0xd0, 0x01, 0x3a, 0xf7, 0xd1, + 0xf0, 0xbc, 0x70, 0x47, 0x01, 0x2a, 0xfb, 0xd9, + 0x51, 0x1e, 0x00, 0x22, 0x1a, 0x70, 0x01, 0x33, + 0x01, 0x39, 0xfb, 0xd1, 0xf4, 0xe7, 0x01, 0x01, + 0x01, 0x01, 0x78, 0x47, 0x00, 0x00, 0x02, 0x00, + 0xa0, 0xe3, 0x3c, 0x00, 0xac, 0x08, 0x00, 0x00, + 0x02, 0x10, 0xa0, 0xe3, 0x2e, 0xfe, 0xff, 0xea, + 0x1f, 0x40, 0x2d, 0xe9, 0x00, 0x00, 0x0f, 0xe1, + 0xc0, 0x00, 0x80, 0xe3, 0x00, 0xf0, 0x2f, 0xe1, + 0x81, 0x00, 0xa0, 0xe3, 0x02, 0x10, 0xa0, 0xe3, + 0x01, 0x20, 0x8f, 0xe2, 0x12, 0xff, 0x2f, 0xe1, + 0x00, 0xf0, 0xe6, 0xfc, 0x78, 0x47, 0x00, 0x00, + 0x1f, 0x40, 0xbd, 0xe8, 0xfe, 0xff, 0xff, 0xea, + 0x1f, 0x50, 0x2d, 0xe9, 0x3c, 0x00, 0xe8, 0x08, + 0x00, 0x00, 0x01, 0x00, 0x8f, 0xe2, 0x10, 0xff, + 0x2f, 0xe1, 0x00, 0xf0, 0x40, 0xfb, 0x78, 0x47, + 0x00, 0x00, 0x1f, 0x50, 0xbd, 0xe8, 0x04, 0xf0, + 0x5e, 0xe2, 0x1f, 0x50, 0x2d, 0xe9, 0x01, 0x00, + 0x8f, 0xe2, 0x10, 0xff, 0x2f, 0xe1, 0x00, 0xf0, + 0x18, 0xfb, 0x78, 0x47, 0x00, 0x00, 0x1f, 0x50, + 0xbd, 0xe8, 0x04, 0xf0, 0x5e, 0xe2, 0x00, 0xbd, + 0x01, 0xb5, 0x00, 0xa0, 0x00, 0x47, 0x3c, 0x00, + 0x24, 0x09, 0x00, 0x00, 0x00, 0x30, 0x0f, 0xe1, + 0xc0, 0x30, 0xc3, 0xe3, 0x03, 0xf0, 0x21, 0xe1, + 0x01, 0x00, 0x8f, 0xe2, 0x10, 0xff, 0x2f, 0xe1, + 0x01, 0xbd, 0x01, 0xb5, 0x00, 0xa0, 0x00, 0x47, + 0x00, 0x30, 0x0f, 0xe1, 0xc0, 0x30, 0x83, 0xe3, + 0x03, 0xf0, 0x21, 0xe1, 0x01, 0x00, 0x8f, 0xe2, + 0x10, 0xff, 0x2f, 0xe1, 0x01, 0xbd, 0x00, 0x00, + 0x18, 0x00, 0x9f, 0xe5, 0x04, 0x10, 0x90, 0xe4, + 0x3c, 0x00, 0x60, 0x09, 0x00, 0x00, 0x00, 0x00, + 0x51, 0xe3, 0x02, 0x00, 0x00, 0x0a, 0x04, 0x20, + 0x90, 0xe4, 0x00, 0x20, 0x81, 0xe5, 0xf9, 0xff, + 0xff, 0xea, 0x0e, 0xf0, 0xa0, 0xe1, 0x7c, 0x09, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, + 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xd8, 0x03, + 0x00, 0x00, 0xd8, 0x03, 0x00, 0x00, 0xd8, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x09, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, + 0x00, 0x80, 0x01, 0x00, 0x10, 0x8e, 0x01, 0x00, + 0x10, 0x8e, 0x01, 0x00, 0x88, 0xf8, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, + 0xc4, 0x33, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0e, 0x50, 0xa0, 0xe1, + 0x58, 0x40, 0x9f, 0xe5, 0x3c, 0x00, 0xd8, 0x09, + 0x00, 0x00, 0x04, 0x00, 0x94, 0xe4, 0x01, 0x00, + 0x50, 0xe3, 0x05, 0xf0, 0xa0, 0x01, 0x04, 0x10, + 0x94, 0xe4, 0x04, 0x20, 0x94, 0xe4, 0x03, 0x00, + 0x00, 0xeb, 0x04, 0x00, 0x94, 0xe4, 0x04, 0x10, + 0x94, 0xe4, 0x07, 0x00, 0x00, 0xeb, 0xf5, 0xff, + 0xff, 0xea, 0x01, 0x00, 0x50, 0xe1, 0x0e, 0xf0, + 0xa0, 0x01, 0x02, 0x00, 0x51, 0xe1, 0x04, 0x30, + 0x90, 0x14, 0x04, 0x30, 0x81, 0x14, 0x3c, 0x00, + 0x14, 0x0a, 0x00, 0x00, 0xfb, 0xff, 0xff, 0x1a, + 0x0e, 0xf0, 0xa0, 0xe1, 0x14, 0x20, 0x9f, 0xe5, + 0x00, 0x20, 0x92, 0xe5, 0x01, 0x00, 0x50, 0xe1, + 0x04, 0x20, 0x80, 0x14, 0xfc, 0xff, 0xff, 0x1a, + 0x0e, 0xf0, 0xa0, 0xe1, 0x80, 0x09, 0x00, 0x00, + 0xcc, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, + 0x20, 0xe6, 0x01, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x53, 0x56, 0x43, 0x5f, 0x00, 0x04, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x0a, 0x00, 0x00, 0x20, 0xee, + 0x01, 0x00, 0x12, 0x00, 0x00, 0x00, 0x49, 0x52, + 0x51, 0x5f, 0x00, 0x02, 0x00, 0x00, 0x20, 0xf2, + 0x01, 0x00, 0x11, 0x00, 0x00, 0x00, 0x46, 0x49, + 0x51, 0x5f, 0x80, 0x00, 0x00, 0x00, 0x20, 0xf4, + 0x01, 0x00, 0x17, 0x00, 0x00, 0x00, 0x41, 0x42, + 0x54, 0x5f, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xf4, + 0x01, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x55, 0x4e, + 0x44, 0x5f, 0x3c, 0x00, 0x8c, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa0, 0xf4, 0x01, 0x00, + 0x1f, 0x00, 0x00, 0x00, 0x55, 0x53, 0x52, 0x5f, + 0x01, 0x00, 0x00, 0x00, 0x0e, 0x50, 0xa0, 0xe1, + 0x00, 0x60, 0x0f, 0xe1, 0x8c, 0x40, 0x9f, 0xe5, + 0x04, 0x10, 0x94, 0xe4, 0x01, 0x00, 0x51, 0xe3, + 0x09, 0x00, 0x00, 0x0a, 0x04, 0x00, 0x94, 0xe4, + 0x01, 0x10, 0x80, 0xe0, 0x03, 0x10, 0xc1, 0xe3, + 0x04, 0x20, 0x94, 0xe4, 0x3c, 0x00, 0xc8, 0x0a, + 0x00, 0x00, 0xc0, 0x20, 0x82, 0xe3, 0x02, 0xf0, + 0x2f, 0xe1, 0x04, 0xd0, 0x41, 0xe2, 0x04, 0x20, + 0x94, 0xe4, 0x13, 0x00, 0x00, 0xeb, 0xf2, 0xff, + 0xff, 0xea, 0x06, 0xf0, 0x2f, 0xe1, 0x05, 0xf0, + 0xa0, 0xe1, 0x0e, 0x50, 0xa0, 0xe1, 0x00, 0x60, + 0x0f, 0xe1, 0x44, 0x40, 0x9f, 0xe5, 0x04, 0x10, + 0x94, 0xe4, 0x01, 0x00, 0x51, 0xe3, 0x08, 0x00, + 0x00, 0x0a, 0x04, 0x00, 0x94, 0xe4, 0x3c, 0x00, + 0x04, 0x0b, 0x00, 0x00, 0x01, 0x10, 0x80, 0xe0, + 0x03, 0x10, 0xc1, 0xe3, 0x04, 0x20, 0x94, 0xe4, + 0xc0, 0x20, 0x82, 0xe3, 0x02, 0xf0, 0x2f, 0xe1, + 0x04, 0xd0, 0x41, 0xe2, 0x04, 0x20, 0x94, 0xe4, + 0xf3, 0xff, 0xff, 0xea, 0x06, 0xf0, 0x2f, 0xe1, + 0x05, 0xf0, 0xa0, 0xe1, 0x01, 0x00, 0x50, 0xe1, + 0x04, 0x20, 0x80, 0x14, 0xfc, 0xff, 0xff, 0x1a, + 0x0e, 0xf0, 0xa0, 0xe1, 0x3c, 0x0a, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x0b, 0x00, 0x00, 0x01, 0x60, + 0xc0, 0x46, 0xc0, 0x46, 0xc0, 0x46, 0x70, 0x47, + 0x00, 0x00, 0x10, 0x1e, 0x10, 0xee, 0x02, 0x00, + 0x11, 0xe3, 0xfc, 0xff, 0xff, 0x1a, 0x10, 0x0e, + 0x01, 0xee, 0x10, 0x1e, 0x10, 0xee, 0x02, 0x00, + 0x11, 0xe3, 0xfc, 0xff, 0xff, 0x1a, 0x1e, 0xff, + 0x2f, 0xe1, 0x10, 0x1e, 0x10, 0xee, 0x01, 0x00, + 0x11, 0xe3, 0x03, 0x00, 0x00, 0x0a, 0x10, 0x1e, + 0x11, 0xee, 0x3c, 0x00, 0x7c, 0x0b, 0x00, 0x00, + 0x00, 0x10, 0x80, 0xe5, 0x01, 0x00, 0xa0, 0xe3, + 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x00, 0x20, 0xe0, + 0x1e, 0xff, 0x2f, 0xe1, 0x8d, 0x46, 0x97, 0x46, + 0x78, 0x47, 0xc0, 0x46, 0x78, 0xfd, 0xff, 0xea, + 0x10, 0xb5, 0x04, 0x1c, 0x03, 0x28, 0x01, 0xd9, + 0x00, 0xf0, 0xac, 0xfb, 0x0c, 0x48, 0x40, 0x68, + 0x00, 0x28, 0x00, 0xd0, 0x03, 0x24, 0x0b, 0x48, + 0x01, 0x68, 0x09, 0x48, 0x3c, 0x00, 0xb8, 0x0b, + 0x00, 0x00, 0x12, 0x30, 0x00, 0x29, 0x05, 0xd0, + 0x06, 0x21, 0x61, 0x43, 0x40, 0x5c, 0xc3, 0x00, + 0x18, 0x18, 0x04, 0xe0, 0x06, 0x21, 0x61, 0x43, + 0x40, 0x5c, 0x14, 0x23, 0x58, 0x43, 0x0a, 0x30, + 0x00, 0x06, 0x00, 0x0e, 0x10, 0xbd, 0xd4, 0x7a, + 0x01, 0x00, 0xa8, 0x69, 0x01, 0x00, 0x80, 0xb5, + 0x09, 0x4a, 0x09, 0x49, 0x03, 0x20, 0x00, 0xf0, + 0xf2, 0xf9, 0x08, 0x49, 0x08, 0x20, 0x3c, 0x00, + 0xf4, 0x0b, 0x00, 0x00, 0x08, 0x60, 0x48, 0x60, + 0x07, 0x49, 0x1d, 0x20, 0x01, 0xf0, 0xb2, 0xfc, + 0x06, 0x49, 0x1e, 0x20, 0x01, 0xf0, 0xae, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0x00, 0x6c, 0x01, 0x00, + 0x31, 0x27, 0x00, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x29, 0x25, 0x00, 0x00, 0x31, 0x25, 0x00, 0x00, + 0x05, 0x49, 0x80, 0xb5, 0x08, 0x20, 0x88, 0x60, + 0x1d, 0x20, 0x01, 0xf0, 0xbf, 0xfc, 0x1e, 0x20, + 0x3c, 0x00, 0x30, 0x0c, 0x00, 0x00, 0x01, 0xf0, + 0xbc, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x02, 0x1c, 0x08, 0x1c, 0xd1, 0x2a, + 0x80, 0xb5, 0x01, 0xd1, 0x05, 0xf0, 0x19, 0xfc, + 0x80, 0xbd, 0x03, 0x49, 0x80, 0xb5, 0x00, 0x20, + 0x08, 0x80, 0x05, 0x20, 0x05, 0xf0, 0xd5, 0xfb, + 0x80, 0xbd, 0xb0, 0x74, 0x01, 0x00, 0x80, 0xb5, + 0x54, 0x28, 0x01, 0xd1, 0x06, 0xf0, 0xcd, 0xf8, + 0x80, 0xbd, 0x3c, 0x00, 0x6c, 0x0c, 0x00, 0x00, + 0xb0, 0xb5, 0x10, 0x4d, 0x02, 0x1c, 0x01, 0x24, + 0x01, 0x2a, 0x0d, 0x48, 0x29, 0x68, 0x06, 0xd0, + 0xc4, 0x2a, 0x03, 0xd1, 0x6a, 0x68, 0x00, 0x2a, + 0x05, 0xd0, 0xac, 0x60, 0xb0, 0xbd, 0x0e, 0xf0, + 0x89, 0xfb, 0x6c, 0x60, 0x08, 0xe0, 0x00, 0x22, + 0xaa, 0x60, 0x6c, 0x60, 0x0e, 0xf0, 0x82, 0xfb, + 0x00, 0x21, 0x04, 0x20, 0x12, 0xf0, 0xc8, 0xfc, + 0x06, 0xf0, 0xd8, 0xf8, 0x3c, 0x00, 0xa8, 0x0c, + 0x00, 0x00, 0xb0, 0xbd, 0x00, 0x00, 0xc4, 0x60, + 0x01, 0x00, 0xbc, 0x74, 0x01, 0x00, 0x05, 0x4a, + 0x51, 0x69, 0x08, 0x1a, 0x11, 0x69, 0x09, 0x68, + 0x10, 0x31, 0x81, 0x42, 0x01, 0xd8, 0x50, 0x61, + 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x8c, 0x6e, + 0x01, 0x00, 0x01, 0x49, 0x49, 0x68, 0x40, 0x1a, + 0x70, 0x47, 0x8c, 0x6e, 0x01, 0x00, 0x01, 0x48, + 0x40, 0x69, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x0c, 0x00, 0x00, 0x8c, 0x6e, 0x01, 0x00, + 0x02, 0x4a, 0x51, 0x69, 0x08, 0x18, 0x50, 0x61, + 0x70, 0x47, 0x00, 0x00, 0x8c, 0x6e, 0x01, 0x00, + 0x0e, 0x49, 0x0f, 0x48, 0x10, 0xb5, 0x19, 0x22, + 0x92, 0x01, 0x41, 0x60, 0x89, 0x18, 0xc1, 0x60, + 0x0b, 0x49, 0x00, 0x22, 0x0c, 0x31, 0x01, 0x60, + 0x0a, 0x49, 0x82, 0x60, 0x09, 0x68, 0x01, 0x23, + 0xdb, 0x03, 0xc9, 0x18, 0x08, 0x4c, 0x41, 0x61, + 0x3c, 0x00, 0x20, 0x0d, 0x00, 0x00, 0x21, 0x68, + 0x00, 0x29, 0x02, 0xd0, 0x07, 0x49, 0x01, 0x61, + 0x01, 0xe0, 0x00, 0xf0, 0x0c, 0xf8, 0x22, 0x60, + 0x10, 0xbd, 0x44, 0xdc, 0x01, 0x00, 0x8c, 0x6e, + 0x01, 0x00, 0xc8, 0x09, 0x00, 0x00, 0x34, 0x58, + 0x01, 0x00, 0xc4, 0x09, 0x00, 0x00, 0x01, 0x48, + 0x02, 0x49, 0x08, 0x61, 0x70, 0x47, 0xc8, 0x09, + 0x00, 0x00, 0x8c, 0x6e, 0x01, 0x00, 0x08, 0x28, + 0x05, 0xd2, 0x3c, 0x00, 0x5c, 0x0d, 0x00, 0x00, + 0x03, 0x4b, 0x80, 0x00, 0x19, 0x50, 0x02, 0x49, + 0x20, 0x31, 0x0a, 0x50, 0x70, 0x47, 0x00, 0x00, + 0x64, 0x6d, 0x01, 0x00, 0x70, 0xb5, 0x06, 0x1c, + 0x0d, 0x48, 0x0d, 0x1c, 0x00, 0x68, 0x14, 0x1c, + 0x00, 0x28, 0x03, 0xd1, 0x20, 0x1c, 0x00, 0xf0, + 0x09, 0xfc, 0x70, 0xbd, 0x28, 0x06, 0x01, 0xd5, + 0x00, 0xf0, 0x22, 0xfe, 0x22, 0x1c, 0x29, 0x1c, + 0x30, 0x1c, 0x08, 0xf0, 0x3c, 0x00, 0x98, 0x0d, + 0x00, 0x00, 0xdd, 0xfd, 0x01, 0x1c, 0x03, 0x48, + 0x54, 0x30, 0x43, 0x69, 0x32, 0x1c, 0xff, 0xf7, + 0x1b, 0xfb, 0x70, 0xbd, 0x00, 0x00, 0x50, 0x6d, + 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x0d, 0x48, + 0x1f, 0x1c, 0x00, 0x68, 0x15, 0x1c, 0x0c, 0x1c, + 0x00, 0x28, 0x02, 0xd1, 0x28, 0x1c, 0x00, 0xf0, + 0xe8, 0xfb, 0x20, 0x06, 0x01, 0xd5, 0x00, 0xf0, + 0x02, 0xfe, 0x2a, 0x1c, 0x21, 0x1c, 0x3c, 0x00, + 0xd4, 0x0d, 0x00, 0x00, 0x30, 0x1c, 0x08, 0xf0, + 0xbd, 0xfd, 0x01, 0x1c, 0x03, 0x48, 0x54, 0x30, + 0x43, 0x69, 0x3a, 0x1c, 0xff, 0xf7, 0xfb, 0xfa, + 0xf8, 0xbd, 0x00, 0x00, 0x50, 0x6d, 0x01, 0x00, + 0xf8, 0xb5, 0xf1, 0x28, 0x4e, 0xd1, 0x2a, 0x48, + 0x69, 0x46, 0x82, 0x69, 0xff, 0xf7, 0xee, 0xfa, + 0x27, 0x49, 0x00, 0x26, 0x54, 0x39, 0xc8, 0x68, + 0x8b, 0x68, 0xc2, 0x00, 0x01, 0x30, 0xd5, 0x18, + 0x3c, 0x00, 0x10, 0x0e, 0x00, 0x00, 0x07, 0x28, + 0xc8, 0x60, 0x00, 0xd1, 0xce, 0x60, 0x22, 0x48, + 0x6c, 0x68, 0x00, 0x68, 0x00, 0x28, 0x03, 0xd0, + 0x00, 0x21, 0x20, 0x1c, 0x08, 0xf0, 0x3b, 0xfb, + 0x6e, 0x60, 0x25, 0x68, 0x20, 0x89, 0xa9, 0x78, + 0x02, 0x39, 0x40, 0x1a, 0xe9, 0x78, 0x40, 0x1a, + 0x20, 0x81, 0xa8, 0x78, 0x28, 0x18, 0x02, 0x38, + 0x20, 0x60, 0x6e, 0x78, 0x28, 0x78, 0x08, 0x28, + 0x17, 0xd2, 0x3c, 0x00, 0x4c, 0x0e, 0x00, 0x00, + 0x30, 0x06, 0x07, 0xd5, 0x27, 0x1c, 0x20, 0x1c, + 0x00, 0xf0, 0x7a, 0xfc, 0x04, 0x1c, 0x38, 0x1c, + 0x00, 0xf0, 0x9c, 0xfb, 0x28, 0x78, 0x0f, 0x49, + 0x40, 0x39, 0x80, 0x00, 0x0a, 0x58, 0x00, 0x2a, + 0x04, 0xd0, 0x31, 0x1c, 0x20, 0x1c, 0xff, 0xf7, + 0xb3, 0xfa, 0x08, 0xe0, 0x05, 0x21, 0x00, 0xe0, + 0x04, 0x21, 0x06, 0x20, 0x00, 0xf0, 0x10, 0xfa, + 0x20, 0x1c, 0x00, 0xf0, 0x3c, 0x00, 0x88, 0x0e, + 0x00, 0x00, 0x87, 0xfb, 0x30, 0x06, 0x01, 0xd5, + 0x00, 0xf0, 0xa1, 0xfd, 0xf8, 0xbd, 0x01, 0x21, + 0x06, 0x20, 0x00, 0xf0, 0x04, 0xfa, 0xf9, 0xe7, + 0x00, 0x00, 0xa4, 0x6d, 0x01, 0x00, 0xcc, 0x5c, + 0x01, 0x00, 0xf8, 0xb5, 0x1a, 0x4d, 0x19, 0x4f, + 0x01, 0x24, 0x54, 0x35, 0x29, 0x1c, 0x03, 0x20, + 0x7c, 0x60, 0x17, 0x4b, 0x18, 0x4a, 0x05, 0xf0, + 0xf4, 0xfb, 0x00, 0x28, 0x02, 0xd0, 0x3c, 0x00, + 0xc4, 0x0e, 0x00, 0x00, 0x00, 0x20, 0x38, 0x60, + 0x1f, 0xe0, 0x3c, 0x60, 0x07, 0x21, 0x28, 0x1c, + 0xea, 0x69, 0xff, 0xf7, 0x83, 0xfa, 0x38, 0x20, + 0x00, 0xf0, 0x80, 0xfc, 0x00, 0x24, 0xb8, 0x60, + 0xb8, 0x68, 0xe6, 0x00, 0x35, 0x18, 0x68, 0x46, + 0x02, 0x21, 0x00, 0xf0, 0x75, 0xfb, 0x28, 0x60, + 0x28, 0x1c, 0x00, 0xf0, 0xa5, 0xfd, 0xb8, 0x68, + 0x81, 0x59, 0x06, 0x48, 0x54, 0x30, 0x02, 0x6a, + 0x3c, 0x00, 0x00, 0x0f, 0x00, 0x00, 0xff, 0xf7, + 0x6c, 0xfa, 0x01, 0x34, 0x07, 0x2c, 0xea, 0xdb, + 0x00, 0x20, 0xf8, 0x60, 0x38, 0x61, 0xf8, 0xbd, + 0x00, 0x00, 0x50, 0x6d, 0x01, 0x00, 0x81, 0x9a, + 0x00, 0x00, 0x61, 0x9a, 0x00, 0x00, 0x05, 0x48, + 0x80, 0xb5, 0x00, 0x68, 0x00, 0x28, 0x05, 0xd0, + 0x03, 0x48, 0x54, 0x30, 0x42, 0x6a, 0x00, 0x21, + 0xff, 0xf7, 0x53, 0xfa, 0x80, 0xbd, 0x50, 0x6d, + 0x01, 0x00, 0x3c, 0x00, 0x3c, 0x0f, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x70, 0xb5, 0x0a, 0x4e, + 0x09, 0x4d, 0x08, 0x4c, 0x08, 0x3e, 0xa1, 0x69, + 0x00, 0x29, 0x07, 0xd0, 0x30, 0x68, 0x41, 0x60, + 0x00, 0x7b, 0x81, 0x00, 0x69, 0x58, 0xff, 0xf7, + 0x3e, 0xfa, 0xf4, 0xe7, 0x03, 0x49, 0x02, 0x20, + 0x08, 0x70, 0x70, 0xbd, 0x00, 0x10, 0x07, 0x00, + 0xe0, 0x7e, 0x01, 0x00, 0x00, 0x02, 0x07, 0x00, + 0x70, 0xb5, 0x0a, 0x4e, 0x3c, 0x00, 0x78, 0x0f, + 0x00, 0x00, 0x09, 0x4d, 0x08, 0x4c, 0x08, 0x3e, + 0xe1, 0x69, 0x00, 0x29, 0x07, 0xd0, 0x70, 0x68, + 0x41, 0x60, 0x00, 0x7b, 0x81, 0x00, 0x69, 0x58, + 0xff, 0xf7, 0x24, 0xfa, 0xf4, 0xe7, 0x03, 0x49, + 0x02, 0x20, 0x08, 0x70, 0x70, 0xbd, 0x00, 0x10, + 0x07, 0x00, 0xe0, 0x7e, 0x01, 0x00, 0x00, 0x02, + 0x07, 0x00, 0xb0, 0xb5, 0x09, 0x4d, 0x04, 0x1c, + 0x28, 0x1c, 0x20, 0x22, 0x40, 0x30, 0x3c, 0x00, + 0xb4, 0x0f, 0x00, 0x00, 0x05, 0x49, 0xff, 0xf7, + 0x9f, 0xfa, 0xe0, 0x68, 0xe8, 0x60, 0x20, 0x69, + 0x28, 0x61, 0xa0, 0x6a, 0xa8, 0x62, 0x60, 0x68, + 0x68, 0x60, 0xb0, 0xbd, 0x70, 0x52, 0x01, 0x00, + 0x00, 0x10, 0x07, 0x00, 0xf8, 0xb5, 0x00, 0x24, + 0x00, 0x23, 0x20, 0x28, 0x01, 0xdb, 0x01, 0x24, + 0x07, 0xe0, 0x08, 0x4e, 0x80, 0x00, 0x35, 0x58, + 0x07, 0x4f, 0xbd, 0x42, 0x00, 0xd0, 0x2b, 0x1c, + 0x3c, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x31, 0x50, + 0x13, 0x60, 0x00, 0x2c, 0x03, 0xd0, 0x21, 0x1c, + 0x82, 0x20, 0x00, 0xf0, 0x52, 0xf9, 0x20, 0x1c, + 0xf8, 0xbd, 0xe0, 0x7e, 0x01, 0x00, 0x75, 0x75, + 0x00, 0x00, 0xb0, 0xb5, 0x0b, 0x4d, 0x04, 0x1c, + 0x28, 0x68, 0x00, 0x28, 0x0f, 0xd0, 0x20, 0x1c, + 0x12, 0xf0, 0xb7, 0xfd, 0x00, 0x28, 0x0a, 0xd0, + 0x21, 0x7a, 0x28, 0x7a, 0x0a, 0x07, 0x00, 0x07, + 0x00, 0x0f, 0x3c, 0x00, 0x2c, 0x10, 0x00, 0x00, + 0x12, 0x0f, 0x90, 0x42, 0x29, 0x72, 0x01, 0xd0, + 0x01, 0x20, 0xb0, 0xbd, 0x00, 0x20, 0xb0, 0xbd, + 0x70, 0x78, 0x01, 0x00, 0xf0, 0xb5, 0x42, 0x4e, + 0x05, 0x1c, 0x30, 0x68, 0x85, 0xb0, 0x00, 0x28, + 0x63, 0xd0, 0x00, 0x24, 0x00, 0x20, 0x00, 0x2d, + 0x06, 0xd0, 0x69, 0x78, 0x18, 0x29, 0x03, 0xd1, + 0xe9, 0x79, 0x01, 0x29, 0x00, 0xd1, 0x01, 0x20, + 0x00, 0x28, 0x45, 0xd0, 0x3c, 0x00, 0x68, 0x10, + 0x00, 0x00, 0x00, 0x20, 0xb0, 0x72, 0x81, 0x00, + 0x4a, 0x19, 0x93, 0x7a, 0x59, 0x06, 0x89, 0x0f, + 0xdb, 0x06, 0x04, 0xd5, 0xb3, 0x7a, 0x01, 0x27, + 0x8f, 0x40, 0x3b, 0x43, 0xb3, 0x72, 0xd2, 0x7a, + 0x13, 0x09, 0x12, 0x07, 0x12, 0x0f, 0x93, 0x42, + 0x05, 0xd3, 0x01, 0x22, 0x8a, 0x40, 0x14, 0x43, + 0x01, 0xaa, 0x89, 0x00, 0x50, 0x50, 0x01, 0x30, + 0x04, 0x28, 0xe4, 0xdb, 0xb0, 0x7a, 0x3c, 0x00, + 0xa4, 0x10, 0x00, 0x00, 0x20, 0x40, 0x01, 0x07, + 0x0d, 0xd5, 0x41, 0x07, 0x09, 0xd5, 0xc1, 0x07, + 0x05, 0xd5, 0x81, 0x07, 0x01, 0xd5, 0x00, 0x24, + 0x05, 0xe0, 0x02, 0x99, 0x02, 0xe0, 0x01, 0x99, + 0x00, 0xe0, 0x03, 0x99, 0x04, 0x91, 0x41, 0x07, + 0x09, 0xd5, 0xc1, 0x07, 0x05, 0xd5, 0x81, 0x07, + 0x01, 0xd5, 0x00, 0x24, 0x03, 0xe0, 0x02, 0x99, + 0x00, 0xe0, 0x01, 0x99, 0x03, 0x91, 0xc1, 0x07, + 0x3c, 0x00, 0xe0, 0x10, 0x00, 0x00, 0x05, 0xd5, + 0x81, 0x07, 0x01, 0xd5, 0x00, 0x24, 0x01, 0xe0, + 0x02, 0x99, 0x01, 0x91, 0x80, 0x07, 0x01, 0xd5, + 0x00, 0x24, 0x22, 0xe0, 0x0f, 0x2c, 0x20, 0xd1, + 0x70, 0x68, 0x00, 0x28, 0x0b, 0xd0, 0x04, 0x9a, + 0x02, 0xab, 0x00, 0x92, 0x0a, 0xcb, 0x01, 0x9a, + 0x28, 0x1c, 0x0b, 0xf0, 0x8a, 0xfb, 0x00, 0x20, + 0x70, 0x60, 0x10, 0xe0, 0x17, 0xe0, 0x30, 0x7a, + 0x29, 0x7a, 0x3c, 0x00, 0x1c, 0x11, 0x00, 0x00, + 0x00, 0x07, 0x09, 0x07, 0x09, 0x0f, 0x00, 0x0f, + 0x88, 0x42, 0x07, 0xd0, 0x04, 0x9a, 0x02, 0xab, + 0x00, 0x92, 0x0a, 0xcb, 0x01, 0x9a, 0x28, 0x1c, + 0x0b, 0xf0, 0x76, 0xfb, 0x28, 0x7a, 0x30, 0x72, + 0x01, 0x20, 0x0f, 0x2c, 0x00, 0xd0, 0x00, 0x20, + 0x05, 0xb0, 0xf0, 0xbd, 0x01, 0x20, 0xfb, 0xe7, + 0x70, 0x78, 0x01, 0x00, 0x0d, 0x4a, 0x70, 0xb5, + 0x11, 0x68, 0x00, 0x20, 0x3c, 0x00, 0x58, 0x11, + 0x00, 0x00, 0x00, 0x29, 0x0e, 0xd0, 0x11, 0x7a, + 0x09, 0x06, 0x0b, 0xd5, 0x53, 0x7a, 0x94, 0x7a, + 0x03, 0x21, 0x01, 0x25, 0x2a, 0x1c, 0x8a, 0x40, + 0x1e, 0x1c, 0x16, 0x40, 0x03, 0xd0, 0x22, 0x40, + 0x01, 0xd1, 0x01, 0x20, 0x70, 0xbd, 0xff, 0x31, + 0x09, 0x06, 0x09, 0x16, 0xf2, 0xd5, 0x70, 0xbd, + 0x00, 0x00, 0x70, 0x78, 0x01, 0x00, 0x10, 0xb5, + 0x08, 0x4c, 0x20, 0x68, 0x00, 0x28, 0x3c, 0x00, + 0x94, 0x11, 0x00, 0x00, 0x04, 0xd0, 0x60, 0x68, + 0x00, 0x28, 0x01, 0xd1, 0x0b, 0xf0, 0xc0, 0xfb, + 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x07, 0xc4, + 0x0c, 0x3c, 0x01, 0x20, 0x60, 0x60, 0x10, 0xbd, + 0x70, 0x78, 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, + 0x08, 0x60, 0x70, 0x47, 0x70, 0x78, 0x01, 0x00, + 0xf8, 0xb5, 0x0e, 0x4d, 0x04, 0x1c, 0x00, 0x20, + 0x68, 0x72, 0x20, 0x1c, 0x12, 0xf0, 0xde, 0xfc, + 0x3c, 0x00, 0xd0, 0x11, 0x00, 0x00, 0x00, 0x28, + 0x12, 0xd0, 0x00, 0x20, 0x03, 0x21, 0x01, 0x22, + 0x0f, 0x1a, 0x16, 0x1c, 0x23, 0x7a, 0xbe, 0x40, + 0x33, 0x40, 0x04, 0xd0, 0x6b, 0x7a, 0x16, 0x1c, + 0x86, 0x40, 0x33, 0x43, 0x6b, 0x72, 0x01, 0x30, + 0x00, 0x06, 0x00, 0x0e, 0x03, 0x28, 0xef, 0xd9, + 0xf8, 0xbd, 0x70, 0x78, 0x01, 0x00, 0x92, 0x00, + 0x51, 0x18, 0x8a, 0x7a, 0x12, 0x07, 0x12, 0x0f, + 0x02, 0x70, 0x3c, 0x00, 0x0c, 0x12, 0x00, 0x00, + 0xca, 0x7a, 0x12, 0x07, 0x12, 0x0f, 0x42, 0x70, + 0xca, 0x7a, 0x12, 0x09, 0x82, 0x70, 0x09, 0x7b, + 0x81, 0x80, 0x70, 0x47, 0x03, 0x4a, 0x0f, 0x21, + 0x52, 0x7a, 0x01, 0x20, 0x91, 0x43, 0x00, 0xd0, + 0x00, 0x20, 0x70, 0x47, 0x70, 0x78, 0x01, 0x00, + 0x40, 0x07, 0x05, 0x49, 0x40, 0x0f, 0x05, 0x4a, + 0x09, 0x56, 0x52, 0x7a, 0x01, 0x20, 0x0a, 0x40, + 0x00, 0xd1, 0x00, 0x20, 0x3c, 0x00, 0x48, 0x12, + 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x5e, 0x46, + 0x01, 0x00, 0x70, 0x78, 0x01, 0x00, 0x12, 0x4a, + 0x70, 0xb5, 0x53, 0x7a, 0x94, 0x7a, 0xff, 0x20, + 0x03, 0x21, 0x01, 0x25, 0x2a, 0x1c, 0x8a, 0x40, + 0x1e, 0x1c, 0x16, 0x40, 0x14, 0xd0, 0x22, 0x40, + 0x12, 0xd1, 0x08, 0x06, 0x00, 0x0e, 0x07, 0xd0, + 0x01, 0x28, 0x07, 0xd0, 0x02, 0x28, 0x07, 0xd0, + 0x03, 0x28, 0x07, 0xd1, 0x07, 0x20, 0x3c, 0x00, + 0x84, 0x12, 0x00, 0x00, 0x70, 0xbd, 0x03, 0x20, + 0x70, 0xbd, 0x01, 0x20, 0x70, 0xbd, 0x05, 0x20, + 0x70, 0xbd, 0xff, 0x20, 0x70, 0xbd, 0xff, 0x31, + 0x09, 0x06, 0x09, 0x16, 0xe1, 0xd5, 0x70, 0xbd, + 0x70, 0x78, 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, + 0x13, 0x48, 0x0d, 0x1c, 0x81, 0x68, 0x00, 0x29, + 0x05, 0xd0, 0x01, 0x7b, 0x00, 0x29, 0x01, 0xd1, + 0x04, 0x73, 0x45, 0x73, 0xf8, 0xbd, 0x0f, 0x4e, + 0x3c, 0x00, 0xc0, 0x12, 0x00, 0x00, 0x31, 0x1c, + 0x20, 0x31, 0x8a, 0x79, 0x00, 0xab, 0x1a, 0x70, + 0xc9, 0x79, 0x59, 0x70, 0x42, 0x68, 0x00, 0x2a, + 0x07, 0xd0, 0x20, 0x02, 0x28, 0x43, 0x01, 0x1c, + 0x00, 0x20, 0xff, 0xf7, 0x7e, 0xf8, 0x00, 0x28, + 0x04, 0xd1, 0x2a, 0x1c, 0x21, 0x1c, 0x00, 0x20, + 0x11, 0xf0, 0x0f, 0xf8, 0x00, 0xab, 0x18, 0x88, + 0xf0, 0x84, 0xe2, 0xe7, 0x00, 0x00, 0x88, 0x5a, + 0x01, 0x00, 0x3c, 0x00, 0xfc, 0x12, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x80, 0xb5, 0x01, 0x21, + 0x81, 0x20, 0xff, 0xf7, 0xcd, 0xff, 0x80, 0xbd, + 0x01, 0x49, 0x01, 0x20, 0x88, 0x60, 0x70, 0x47, + 0x88, 0x5a, 0x01, 0x00, 0x05, 0x49, 0x80, 0xb5, + 0x00, 0x20, 0x88, 0x60, 0x08, 0x7b, 0x00, 0x28, + 0x02, 0xd0, 0x49, 0x7b, 0xff, 0xf7, 0xbc, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0x88, 0x5a, 0x01, 0x00, + 0x02, 0x4a, 0x01, 0x1c, 0x3c, 0x00, 0x38, 0x13, + 0x00, 0x00, 0x50, 0x68, 0x51, 0x60, 0x70, 0x47, + 0x00, 0x00, 0x88, 0x5a, 0x01, 0x00, 0x10, 0xb5, + 0x0c, 0x1c, 0x07, 0xf0, 0x64, 0xfa, 0x04, 0x61, + 0x00, 0x20, 0x10, 0xbd, 0x00, 0x00, 0xff, 0xb5, + 0x0e, 0x1c, 0x1f, 0x1c, 0x38, 0x20, 0x81, 0xb0, + 0x00, 0xf0, 0x3d, 0xfa, 0x1d, 0x49, 0x04, 0x1c, + 0x48, 0x69, 0x00, 0x28, 0x01, 0xd1, 0x4c, 0x61, + 0x00, 0xe0, 0x04, 0x60, 0x30, 0x01, 0x3c, 0x00, + 0x74, 0x13, 0x00, 0x00, 0x00, 0x90, 0x00, 0x04, + 0x00, 0x0c, 0x00, 0xf0, 0x15, 0xfa, 0x05, 0x1c, + 0x00, 0x99, 0xff, 0xf7, 0x8b, 0xf8, 0x00, 0x20, + 0x73, 0x1e, 0x04, 0xe0, 0x01, 0x01, 0x4a, 0x19, + 0x10, 0x32, 0x6a, 0x50, 0x01, 0x30, 0x98, 0x42, + 0xf8, 0xd3, 0x00, 0x01, 0x2d, 0x50, 0x38, 0x21, + 0x20, 0x1c, 0xff, 0xf7, 0x7b, 0xf8, 0xa5, 0x60, + 0x65, 0x60, 0xe6, 0x85, 0x0c, 0x20, 0x60, 0x86, + 0x3c, 0x00, 0xb0, 0x13, 0x00, 0x00, 0xaf, 0x20, + 0x80, 0x01, 0xe0, 0x61, 0x0e, 0x20, 0xe0, 0x86, + 0x00, 0x20, 0x20, 0x60, 0x01, 0x98, 0xe0, 0x60, + 0x38, 0x68, 0x60, 0x61, 0x03, 0x99, 0x04, 0x48, + 0x08, 0x60, 0x04, 0x48, 0x38, 0x60, 0x05, 0xb0, + 0x00, 0x20, 0xf0, 0xbd, 0x00, 0x00, 0xfc, 0x5a, + 0x01, 0x00, 0xdd, 0x15, 0x01, 0x00, 0xfd, 0x16, + 0x01, 0x00, 0x02, 0x1c, 0x08, 0x1c, 0xf0, 0x2a, + 0x80, 0xb5, 0x3c, 0x00, 0xec, 0x13, 0x00, 0x00, + 0x04, 0xd0, 0xf1, 0x2a, 0x07, 0xd1, 0x06, 0xf0, + 0x09, 0xfb, 0x80, 0xbd, 0x07, 0xf0, 0x0c, 0xfa, + 0x0d, 0xf0, 0xa8, 0xfa, 0x80, 0xbd, 0x01, 0x21, + 0x02, 0x20, 0xff, 0xf7, 0x4d, 0xff, 0x80, 0xbd, + 0x01, 0x49, 0x00, 0x20, 0x48, 0x61, 0x70, 0x47, + 0xfc, 0x5a, 0x01, 0x00, 0x00, 0x28, 0x02, 0xd0, + 0x00, 0x29, 0x00, 0xd0, 0xc1, 0x60, 0x70, 0x47, + 0xf8, 0xb5, 0x17, 0x1c, 0x3c, 0x00, 0x28, 0x14, + 0x00, 0x00, 0x0e, 0x1c, 0x05, 0x1c, 0x1c, 0x1c, + 0x1c, 0x30, 0x07, 0xf0, 0xc8, 0xf8, 0x01, 0x69, + 0x42, 0x69, 0x80, 0x68, 0x89, 0x19, 0x89, 0x1a, + 0x81, 0x42, 0x06, 0xd2, 0x23, 0x1c, 0x3a, 0x1c, + 0x31, 0x1c, 0x28, 0x1c, 0x00, 0xf0, 0x05, 0xf8, + 0xf8, 0xbd, 0x00, 0x20, 0x38, 0x60, 0x20, 0x60, + 0xfa, 0xe7, 0xff, 0xb5, 0x85, 0xb0, 0x05, 0x98, + 0x01, 0x27, 0x0e, 0x1c, 0x1c, 0x30, 0x3c, 0x00, + 0x64, 0x14, 0x00, 0x00, 0x07, 0xf0, 0xae, 0xf8, + 0x04, 0x1c, 0x80, 0x88, 0x04, 0x30, 0x03, 0x90, + 0x2c, 0x48, 0x04, 0x90, 0x80, 0x79, 0x02, 0x90, + 0xa0, 0x69, 0xb0, 0x42, 0x17, 0xd2, 0x35, 0x1a, + 0x11, 0xe0, 0x03, 0x98, 0xff, 0xf7, 0x16, 0xfc, + 0x00, 0x28, 0x06, 0xd1, 0x01, 0x21, 0x8e, 0x20, + 0xff, 0xf7, 0x08, 0xff, 0x00, 0x25, 0x00, 0x27, + 0x05, 0xe0, 0x21, 0x68, 0x01, 0x60, 0x20, 0x60, + 0x3c, 0x00, 0xa0, 0x14, 0x00, 0x00, 0xa0, 0x69, + 0x01, 0x30, 0xa0, 0x61, 0x01, 0x3d, 0xeb, 0xd2, + 0x00, 0x2f, 0x35, 0xd0, 0xa0, 0x69, 0x80, 0x1b, + 0xa0, 0x61, 0x20, 0x69, 0x80, 0x19, 0x20, 0x61, + 0x61, 0x69, 0x40, 0x1a, 0xe1, 0x68, 0x88, 0x42, + 0x03, 0xd9, 0x07, 0x21, 0x8e, 0x20, 0xff, 0xf7, + 0xec, 0xfe, 0x25, 0x68, 0x2f, 0x1c, 0x70, 0x1e, + 0x01, 0x95, 0x00, 0xe0, 0x3f, 0x68, 0x01, 0x38, + 0xfc, 0xd2, 0x3c, 0x00, 0xdc, 0x14, 0x00, 0x00, + 0x38, 0x68, 0x20, 0x60, 0x02, 0x98, 0x04, 0x99, + 0x88, 0x71, 0x2e, 0x68, 0x2c, 0x60, 0x32, 0x1d, + 0x00, 0x92, 0x29, 0x1c, 0x20, 0x31, 0x01, 0x22, + 0x28, 0x1d, 0x05, 0x9b, 0x08, 0xf0, 0x7a, 0xfc, + 0xbd, 0x42, 0x01, 0xd0, 0x35, 0x1c, 0xf0, 0xe7, + 0x00, 0x20, 0x38, 0x61, 0x01, 0x98, 0x07, 0x99, + 0x04, 0x30, 0x08, 0x60, 0x08, 0x98, 0x04, 0x37, + 0x07, 0x60, 0x09, 0xb0, 0x3c, 0x00, 0x18, 0x15, + 0x00, 0x00, 0xf0, 0xbd, 0x02, 0x98, 0x04, 0x99, + 0x88, 0x71, 0xf9, 0xe7, 0x00, 0x00, 0x20, 0x10, + 0x07, 0x00, 0x38, 0xb5, 0x04, 0x1c, 0x15, 0x1c, + 0x00, 0x20, 0x0c, 0x60, 0x09, 0xe0, 0xe2, 0x68, + 0x20, 0x1c, 0x00, 0x92, 0xa3, 0x8a, 0x21, 0x68, + 0xa2, 0x69, 0x08, 0xf0, 0x56, 0xfc, 0x20, 0x1c, + 0xe4, 0x68, 0x00, 0x2c, 0xf3, 0xd1, 0x28, 0x60, + 0x38, 0xbd, 0x80, 0xb5, 0x0c, 0xe0, 0x3c, 0x00, + 0x54, 0x15, 0x00, 0x00, 0xc2, 0x68, 0x8a, 0x42, + 0x08, 0xd1, 0x00, 0x21, 0xc1, 0x60, 0x00, 0x28, + 0x03, 0xd1, 0x06, 0x21, 0x8e, 0x20, 0xff, 0xf7, + 0x9d, 0xfe, 0x80, 0xbd, 0x10, 0x1c, 0x00, 0x28, + 0xf7, 0xd0, 0xef, 0xe7, 0x10, 0xb5, 0x04, 0x1c, + 0x0c, 0xd0, 0xa0, 0x69, 0x00, 0x28, 0x06, 0xd1, + 0x20, 0x69, 0x00, 0x28, 0x03, 0xd0, 0x06, 0xf0, + 0xf7, 0xfd, 0x00, 0x20, 0x20, 0x61, 0x20, 0x1c, + 0x3c, 0x00, 0x90, 0x15, 0x00, 0x00, 0x06, 0xf0, + 0xf2, 0xfd, 0x10, 0xbd, 0x00, 0x00, 0x10, 0xb5, + 0x00, 0x28, 0x09, 0xd0, 0xc4, 0x68, 0x03, 0xe0, + 0xff, 0xf7, 0xe7, 0xff, 0x20, 0x1c, 0xf9, 0xe7, + 0x00, 0x2c, 0xf9, 0xd1, 0xff, 0xf7, 0xe1, 0xff, + 0x10, 0xbd, 0x01, 0x1c, 0x00, 0x20, 0x04, 0xe0, + 0x0a, 0x89, 0xc9, 0x68, 0x10, 0x18, 0x00, 0x04, + 0x00, 0x0c, 0x00, 0x29, 0xf8, 0xd1, 0x70, 0x47, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x15, 0x00, 0x00, + 0x00, 0xe0, 0x08, 0x1c, 0xc1, 0x68, 0x00, 0x29, + 0xfb, 0xd1, 0x70, 0x47, 0xf8, 0xb5, 0x06, 0x1c, + 0x0c, 0x1c, 0x1c, 0x20, 0x00, 0xf0, 0x68, 0xfa, + 0x05, 0x1c, 0x00, 0x2e, 0x01, 0xd1, 0x00, 0x2c, + 0x02, 0xd1, 0x30, 0x1c, 0x01, 0x21, 0x03, 0xe0, + 0x20, 0x1c, 0x00, 0xf0, 0x5d, 0xfa, 0x00, 0x21, + 0x00, 0x22, 0x00, 0x92, 0x0a, 0x1c, 0x01, 0x1c, + 0x23, 0x1c, 0x28, 0x1c, 0x3c, 0x00, 0x08, 0x16, + 0x00, 0x00, 0x08, 0xf0, 0xf2, 0xfb, 0x28, 0x1c, + 0xf8, 0xbd, 0xb0, 0xb5, 0x03, 0x32, 0x92, 0x08, + 0x92, 0x00, 0x14, 0x04, 0x24, 0x0c, 0x09, 0x19, + 0x1d, 0x1c, 0xc9, 0x18, 0x09, 0x04, 0x09, 0x0c, + 0xff, 0xf7, 0xd7, 0xff, 0x01, 0x89, 0x02, 0x68, + 0x12, 0x19, 0x09, 0x1b, 0x49, 0x1b, 0x02, 0x60, + 0x01, 0x81, 0xb0, 0xbd, 0x00, 0x00, 0xf8, 0xb5, + 0x0a, 0x4c, 0xa0, 0x21, 0x20, 0x1c, 0x3c, 0x00, + 0x44, 0x16, 0x00, 0x00, 0xfe, 0xf7, 0x2a, 0xff, + 0x00, 0x20, 0x26, 0x1c, 0xa0, 0x36, 0x07, 0x4d, + 0x07, 0xe0, 0x0c, 0x21, 0x41, 0x43, 0x49, 0x19, + 0x0e, 0xc9, 0x27, 0x1d, 0x0e, 0xc7, 0x20, 0x34, + 0x01, 0x30, 0xa6, 0x42, 0xf5, 0xd1, 0xf8, 0xbd, + 0xd0, 0x5c, 0x01, 0x00, 0xc8, 0x3f, 0x01, 0x00, + 0xf7, 0xb5, 0xc4, 0x68, 0x06, 0x1c, 0x00, 0x25, + 0x00, 0x2c, 0x82, 0xb0, 0x23, 0xd0, 0x20, 0x89, + 0x3c, 0x00, 0x80, 0x16, 0x00, 0x00, 0x90, 0x42, + 0x20, 0xd3, 0xe1, 0x68, 0x87, 0x1a, 0x01, 0x91, + 0x00, 0x21, 0xe1, 0x60, 0x03, 0x99, 0x00, 0x20, + 0xff, 0xf7, 0xa1, 0xff, 0x05, 0x1c, 0x20, 0x89, + 0xc0, 0x1b, 0x20, 0x81, 0x2a, 0x68, 0x03, 0x99, + 0x30, 0x1c, 0x00, 0xf0, 0x16, 0xf8, 0x20, 0x89, + 0xc0, 0x19, 0x20, 0x81, 0x01, 0x99, 0x20, 0x1c, + 0xff, 0xf7, 0xb1, 0xfe, 0x21, 0x1c, 0x28, 0x1c, + 0xff, 0xf7, 0x3c, 0x00, 0xbc, 0x16, 0x00, 0x00, + 0xad, 0xfe, 0x29, 0x1c, 0x30, 0x1c, 0xff, 0xf7, + 0xa9, 0xfe, 0x01, 0x20, 0x00, 0x2d, 0x00, 0xd1, + 0x00, 0x20, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0xf7, 0xb5, 0x04, 0x1c, 0x0e, 0x1c, 0x00, 0x20, + 0x01, 0xe0, 0x20, 0x1c, 0x0c, 0x1c, 0xe1, 0x68, + 0x00, 0x29, 0xfa, 0xd1, 0x27, 0x89, 0xb7, 0x42, + 0x0a, 0xd3, 0xb8, 0x1b, 0x00, 0x04, 0x00, 0x0c, + 0x20, 0x81, 0x21, 0x68, 0x3c, 0x00, 0xf8, 0x16, + 0x00, 0x00, 0x09, 0x18, 0x02, 0x98, 0x32, 0x1c, + 0xfe, 0xf7, 0xfb, 0xfe, 0xfe, 0xbd, 0xf1, 0x1b, + 0x0d, 0x04, 0x2d, 0x0c, 0x00, 0x28, 0x19, 0xd0, + 0x01, 0x89, 0xa9, 0x42, 0x16, 0xd3, 0x49, 0x1b, + 0x09, 0x04, 0x09, 0x0c, 0x01, 0x81, 0x00, 0x68, + 0x41, 0x18, 0x02, 0x98, 0x2a, 0x1c, 0xfe, 0xf7, + 0xe8, 0xfe, 0x21, 0x68, 0x02, 0x98, 0x72, 0x1b, + 0x40, 0x19, 0xfe, 0xf7, 0xe2, 0xfe, 0x3c, 0x00, + 0x34, 0x17, 0x00, 0x00, 0x20, 0x89, 0xc0, 0x1b, + 0x20, 0x81, 0x20, 0x68, 0xc0, 0x19, 0x20, 0x60, + 0xdf, 0xe7, 0x03, 0x21, 0x8e, 0x20, 0xff, 0xf7, + 0xad, 0xfd, 0xda, 0xe7, 0xf8, 0xb5, 0x04, 0x1c, + 0x00, 0x26, 0x13, 0xe0, 0x21, 0x89, 0x00, 0x20, + 0xff, 0xf7, 0x3e, 0xff, 0x05, 0x1c, 0x22, 0x89, + 0x21, 0x68, 0x00, 0x68, 0xfe, 0xf7, 0xc8, 0xfe, + 0x00, 0x2e, 0x01, 0xd1, 0x2e, 0x1c, 0x03, 0xe0, + 0x3c, 0x00, 0x70, 0x17, 0x00, 0x00, 0x29, 0x1c, + 0x38, 0x1c, 0xff, 0xf7, 0x50, 0xfe, 0xe4, 0x68, + 0x2f, 0x1c, 0x00, 0x2c, 0xe9, 0xd1, 0x30, 0x1c, + 0xf8, 0xbd, 0xb0, 0xb5, 0x04, 0x1c, 0x00, 0x89, + 0x40, 0x1a, 0x05, 0x04, 0x20, 0x68, 0x2d, 0x0c, + 0x40, 0x18, 0x29, 0x1c, 0xff, 0xf7, 0x1f, 0xff, + 0x21, 0x89, 0x49, 0x1b, 0x21, 0x81, 0xe1, 0x68, + 0xc1, 0x60, 0xe0, 0x60, 0xb0, 0xbd, 0x10, 0xb5, + 0x03, 0x30, 0x3c, 0x00, 0xac, 0x17, 0x00, 0x00, + 0x09, 0x4a, 0x81, 0x08, 0x10, 0x68, 0x3d, 0x24, + 0x08, 0x4b, 0x64, 0x01, 0x89, 0x00, 0x09, 0x18, + 0x1b, 0x19, 0x99, 0x42, 0x01, 0xd8, 0x11, 0x60, + 0x10, 0xbd, 0x0f, 0x21, 0x80, 0x20, 0xff, 0xf7, + 0x6b, 0xfd, 0x00, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0xb4, 0xcf, 0x01, 0x00, 0x14, 0xc8, 0x01, 0x00, + 0x10, 0xb5, 0x11, 0xf0, 0x61, 0xff, 0x04, 0x1c, + 0x03, 0xd1, 0x0d, 0x21, 0x3c, 0x00, 0xe8, 0x17, + 0x00, 0x00, 0x80, 0x20, 0xff, 0xf7, 0x5b, 0xfd, + 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, 0xb0, 0xb5, + 0x01, 0x1f, 0x0b, 0x68, 0x0d, 0x48, 0x00, 0x22, + 0x83, 0x42, 0x04, 0xd0, 0x01, 0x32, 0x10, 0x30, + 0x03, 0x2a, 0xf9, 0xd3, 0x01, 0xe0, 0x03, 0x2a, + 0x06, 0xd3, 0x09, 0x24, 0x21, 0x1c, 0x80, 0x20, + 0xff, 0xf7, 0x45, 0xfd, 0x20, 0x1c, 0xb0, 0xbd, + 0x05, 0x4b, 0x00, 0x24, 0x9a, 0x79, 0x3c, 0x00, + 0x24, 0x18, 0x00, 0x00, 0x85, 0x68, 0x0d, 0x60, + 0x81, 0x60, 0x9a, 0x71, 0xf5, 0xe7, 0x00, 0x00, + 0x20, 0x57, 0x01, 0x00, 0x20, 0x10, 0x07, 0x00, + 0xb0, 0xb5, 0x00, 0x21, 0x10, 0x4a, 0x00, 0x23, + 0xd4, 0x68, 0x84, 0x42, 0x04, 0xd2, 0x01, 0x33, + 0x10, 0x32, 0x03, 0x2b, 0xf8, 0xd3, 0x01, 0xe0, + 0x03, 0x2b, 0x01, 0xd3, 0x04, 0x21, 0x0e, 0xe0, + 0x0a, 0x4c, 0xa3, 0x79, 0x90, 0x68, 0x00, 0x28, + 0x3c, 0x00, 0x60, 0x18, 0x00, 0x00, 0x02, 0xd1, + 0xa3, 0x71, 0x03, 0x21, 0x06, 0xe0, 0x05, 0x68, + 0x95, 0x60, 0xa3, 0x71, 0x00, 0x29, 0x01, 0xd1, + 0x04, 0xc0, 0xb0, 0xbd, 0x80, 0x20, 0xff, 0xf7, + 0x14, 0xfd, 0x00, 0x20, 0xb0, 0xbd, 0x20, 0x57, + 0x01, 0x00, 0x20, 0x10, 0x07, 0x00, 0xa0, 0x30, + 0x00, 0x8a, 0x40, 0x07, 0x40, 0x0f, 0x08, 0x28, + 0x0f, 0xd2, 0x01, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, + 0x9f, 0x44, 0x3c, 0x00, 0x9c, 0x18, 0x00, 0x00, + 0x05, 0x03, 0x03, 0x05, 0x07, 0x07, 0x09, 0x09, + 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x02, 0x20, 0x70, 0x47, 0x03, 0x20, 0x70, 0x47, + 0x04, 0x20, 0x70, 0x47, 0xb0, 0xb5, 0x10, 0x4d, + 0x68, 0x69, 0x00, 0x28, 0x07, 0xd0, 0x0e, 0x49, + 0x00, 0x22, 0x2c, 0x31, 0x03, 0xc9, 0x01, 0x43, + 0x03, 0x20, 0x06, 0xf0, 0xcf, 0xff, 0x0b, 0x4c, + 0x00, 0x22, 0x03, 0xcc, 0x3c, 0x00, 0xd8, 0x18, + 0x00, 0x00, 0x08, 0x3c, 0x01, 0x43, 0x03, 0x20, + 0x06, 0xf0, 0xaf, 0xff, 0x03, 0xcc, 0x08, 0x43, + 0x07, 0x49, 0x4a, 0x68, 0x02, 0x43, 0x4a, 0x60, + 0x8a, 0x68, 0x10, 0x43, 0x88, 0x60, 0x01, 0x20, + 0x68, 0x61, 0xb0, 0xbd, 0x00, 0x00, 0x64, 0x73, + 0x01, 0x00, 0xb0, 0x58, 0x01, 0x00, 0x10, 0x00, + 0x07, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, 0x0f, 0xf0, + 0xa8, 0xfa, 0x05, 0x4d, 0xe8, 0x6a, 0x3c, 0x00, + 0x14, 0x19, 0x00, 0x00, 0x00, 0x28, 0x06, 0xd1, + 0x00, 0x2c, 0x04, 0xd0, 0x20, 0x1c, 0x0f, 0xf0, + 0xb7, 0xfd, 0x01, 0x20, 0x28, 0x70, 0xb0, 0xbd, + 0xf4, 0x6e, 0x01, 0x00, 0x05, 0x49, 0x80, 0xb5, + 0x88, 0x6a, 0x00, 0x28, 0x04, 0xda, 0x00, 0x20, + 0x88, 0x62, 0x01, 0x21, 0x0d, 0xf0, 0x42, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0xac, 0x7e, 0x01, 0x00, + 0xf8, 0xb5, 0x1e, 0x4d, 0x04, 0x1c, 0x00, 0x20, + 0x3c, 0x00, 0x50, 0x19, 0x00, 0x00, 0x68, 0x62, + 0xa8, 0x70, 0x1c, 0x48, 0x00, 0x78, 0xc0, 0x07, + 0x22, 0xd5, 0xb8, 0x20, 0x03, 0x59, 0x1a, 0x48, + 0x00, 0x78, 0x0e, 0x28, 0x09, 0xd1, 0x0a, 0x1c, + 0x80, 0x32, 0x06, 0xd0, 0x18, 0x4e, 0x0d, 0x20, + 0x32, 0x5c, 0x8a, 0x42, 0x01, 0xdd, 0x01, 0x38, + 0xfa, 0xd1, 0x59, 0x1e, 0x0b, 0x06, 0x1b, 0x0e, + 0xab, 0x70, 0xab, 0x62, 0x0e, 0x28, 0x0b, 0xd2, + 0x08, 0xe0, 0x3c, 0x00, 0x8c, 0x19, 0x00, 0x00, + 0x62, 0x18, 0xb0, 0x32, 0x12, 0x7b, 0x82, 0x42, + 0x02, 0xd8, 0x58, 0x1a, 0xa8, 0x62, 0x02, 0xe0, + 0x01, 0x39, 0x00, 0x29, 0xf4, 0xda, 0x0e, 0xf0, + 0x35, 0xf9, 0x00, 0x90, 0x00, 0xab, 0x18, 0x78, + 0x59, 0x78, 0x81, 0x42, 0x00, 0xd9, 0x58, 0x78, + 0xed, 0x30, 0xe8, 0x70, 0x01, 0x21, 0x20, 0x1c, + 0x0d, 0xf0, 0x02, 0xfd, 0xf8, 0xbd, 0x00, 0x00, + 0xac, 0x7e, 0x01, 0x00, 0x3c, 0x00, 0xc8, 0x19, + 0x00, 0x00, 0x1d, 0x75, 0x01, 0x00, 0x11, 0x67, + 0x01, 0x00, 0xc7, 0x52, 0x01, 0x00, 0x0e, 0x49, + 0x10, 0xb5, 0x08, 0x69, 0x8b, 0x68, 0xc2, 0x00, + 0xd4, 0x18, 0x62, 0x68, 0x00, 0x2a, 0x0f, 0xd1, + 0x01, 0x30, 0x08, 0x61, 0x07, 0x28, 0x01, 0xd1, + 0x00, 0x20, 0x08, 0x61, 0x20, 0x1c, 0x00, 0xf0, + 0x24, 0xf8, 0x05, 0x48, 0x21, 0x68, 0x54, 0x30, + 0x02, 0x6a, 0xfe, 0xf7, 0xec, 0xfc, 0x3c, 0x00, + 0x04, 0x1a, 0x00, 0x00, 0x10, 0xbd, 0x06, 0x21, + 0x06, 0x20, 0xff, 0xf7, 0x4b, 0xfc, 0x10, 0xbd, + 0x50, 0x6d, 0x01, 0x00, 0x08, 0x49, 0x09, 0x79, + 0xc9, 0x07, 0x08, 0x4a, 0x08, 0xd4, 0x00, 0xe0, + 0x08, 0x1c, 0xc1, 0x68, 0x00, 0x29, 0xfb, 0xd1, + 0x01, 0x89, 0x04, 0x31, 0x01, 0x81, 0x00, 0xe0, + 0x00, 0x20, 0xd0, 0x62, 0x70, 0x47, 0x00, 0x00, + 0x60, 0x80, 0x07, 0x00, 0x04, 0x6c, 0x01, 0x00, + 0x3c, 0x00, 0x40, 0x1a, 0x00, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x19, 0x21, 0x89, 0x01, 0x00, 0x20, + 0xff, 0xf7, 0xc5, 0xfd, 0x01, 0x1c, 0x60, 0x60, + 0x20, 0x68, 0xff, 0xf7, 0xe0, 0xfc, 0x60, 0x68, + 0x21, 0x68, 0x08, 0x30, 0x08, 0x60, 0x10, 0xbd, + 0x00, 0x00, 0x0a, 0x28, 0x01, 0xda, 0x04, 0x20, + 0x04, 0xe0, 0x50, 0x28, 0x01, 0xda, 0x05, 0x20, + 0x00, 0xe0, 0x07, 0x20, 0x04, 0x4a, 0x11, 0x78, + 0x38, 0x23, 0x3c, 0x00, 0x7c, 0x1a, 0x00, 0x00, + 0xc0, 0x00, 0x18, 0x40, 0x99, 0x43, 0x08, 0x43, + 0x10, 0x70, 0x70, 0x47, 0x88, 0x00, 0x07, 0x00, + 0xb0, 0xb5, 0x05, 0x1c, 0x07, 0x48, 0x40, 0x68, + 0x08, 0xe0, 0x01, 0x69, 0xa9, 0x42, 0x04, 0xd1, + 0x44, 0x68, 0x05, 0xf0, 0xc7, 0xfd, 0x20, 0x1c, + 0x00, 0xe0, 0x40, 0x68, 0x00, 0x28, 0xf4, 0xd1, + 0xb0, 0xbd, 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, + 0xf8, 0xb5, 0x00, 0x25, 0x3c, 0x00, 0xb8, 0x1a, + 0x00, 0x00, 0x06, 0xf0, 0x84, 0xfd, 0x11, 0x4f, + 0x04, 0x1c, 0xbe, 0x79, 0x20, 0x68, 0x00, 0x28, + 0x07, 0xd1, 0xa0, 0x88, 0x04, 0x30, 0xff, 0xf7, + 0xf2, 0xf8, 0x00, 0x28, 0x06, 0xd1, 0x01, 0x21, + 0x0f, 0xe0, 0x01, 0x68, 0x21, 0x60, 0xa1, 0x69, + 0x01, 0x39, 0xa1, 0x61, 0x10, 0xc0, 0x05, 0x1c, + 0x20, 0x69, 0x01, 0x30, 0x20, 0x61, 0x61, 0x69, + 0x40, 0x1a, 0xe1, 0x68, 0x88, 0x42, 0x3c, 0x00, + 0xf4, 0x1a, 0x00, 0x00, 0x03, 0xd9, 0x07, 0x21, + 0x8e, 0x20, 0xff, 0xf7, 0xd3, 0xfb, 0xbe, 0x71, + 0x28, 0x1c, 0xf8, 0xbd, 0x20, 0x10, 0x07, 0x00, + 0xb0, 0xb5, 0x09, 0xf0, 0xbb, 0xff, 0x2f, 0x4c, + 0x00, 0x28, 0x20, 0x74, 0x03, 0xd0, 0x01, 0x21, + 0x01, 0x20, 0x0a, 0xf0, 0x71, 0xfc, 0x2b, 0x4d, + 0x14, 0x35, 0x28, 0x68, 0x00, 0x28, 0x4d, 0xd0, + 0x01, 0x21, 0x0f, 0x20, 0x11, 0xf0, 0x82, 0xfd, + 0x3c, 0x00, 0x30, 0x1b, 0x00, 0x00, 0x28, 0x89, + 0x08, 0xf0, 0xfb, 0xff, 0x01, 0x1c, 0x01, 0x22, + 0x0f, 0x20, 0x11, 0xf0, 0x40, 0xfd, 0xe0, 0x78, + 0x01, 0x25, 0x02, 0x28, 0x36, 0xd1, 0x0a, 0xf0, + 0xc6, 0xf8, 0x00, 0x28, 0x0a, 0xd0, 0x0b, 0xf0, + 0x92, 0xfb, 0x1e, 0x49, 0x09, 0x68, 0x40, 0x18, + 0x11, 0xf0, 0x5f, 0xf8, 0x00, 0x28, 0x01, 0xd1, + 0x02, 0x20, 0x2f, 0xe0, 0xe0, 0x78, 0x02, 0x28, + 0x24, 0xd1, 0x3c, 0x00, 0x6c, 0x1b, 0x00, 0x00, + 0x60, 0x70, 0x25, 0x70, 0x60, 0x68, 0x01, 0x28, + 0x1c, 0xd0, 0x15, 0x48, 0x10, 0x38, 0x81, 0x7b, + 0x00, 0x29, 0x04, 0xd1, 0x85, 0x73, 0x0f, 0x20, + 0x13, 0x49, 0x10, 0xf0, 0x01, 0xfc, 0x08, 0xf0, + 0x4f, 0xfe, 0x00, 0x28, 0x07, 0xd0, 0x0e, 0x48, + 0x01, 0x21, 0x98, 0x38, 0x00, 0x69, 0x01, 0xf0, + 0xb7, 0xfd, 0x00, 0x28, 0x05, 0xd0, 0x01, 0x20, + 0x0e, 0xf0, 0x0c, 0xfd, 0x3c, 0x00, 0xa8, 0x1b, + 0x00, 0x00, 0x01, 0x20, 0x0e, 0xf0, 0x1d, 0xfc, + 0xb0, 0xbd, 0x05, 0xf0, 0xdc, 0xfe, 0xb0, 0xbd, + 0xe0, 0x78, 0x00, 0x28, 0x01, 0xd1, 0x25, 0x70, + 0xf7, 0xe7, 0x03, 0x20, 0x00, 0xe0, 0x04, 0x20, + 0x0d, 0xf0, 0x8d, 0xfa, 0xb0, 0xbd, 0x84, 0x66, + 0x01, 0x00, 0x6c, 0x57, 0x01, 0x00, 0xe9, 0x03, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0x00, 0x21, + 0x00, 0x20, 0x0a, 0x4d, 0x00, 0xe0, 0x3c, 0x00, + 0xe4, 0x1b, 0x00, 0x00, 0x01, 0x31, 0xcb, 0x00, + 0x5a, 0x19, 0x16, 0x79, 0x01, 0x2e, 0x02, 0xd0, + 0x52, 0x79, 0xa2, 0x42, 0x02, 0xd0, 0x0b, 0x29, + 0xf4, 0xd3, 0x70, 0xbd, 0x0b, 0x29, 0xfc, 0xd2, + 0xc8, 0x00, 0x01, 0x21, 0x5a, 0x19, 0x28, 0x58, + 0x11, 0x71, 0x70, 0xbd, 0x38, 0x58, 0x01, 0x00, + 0x05, 0x48, 0x80, 0xb5, 0x00, 0x7f, 0x24, 0x23, + 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, 0x00, 0x6a, + 0x3c, 0x00, 0x20, 0x1c, 0x00, 0x00, 0xfe, 0xf7, + 0xda, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x94, 0x46, 0x01, 0x00, 0x80, 0xb5, + 0x04, 0xf0, 0x37, 0xff, 0x00, 0x20, 0x11, 0xf0, + 0x84, 0xfc, 0x00, 0x20, 0x80, 0xbd, 0xb0, 0xb5, + 0x05, 0x4c, 0x05, 0x1c, 0x20, 0x6b, 0xe1, 0x6a, + 0x02, 0xf0, 0xe3, 0xfd, 0x29, 0x1c, 0xa0, 0x6a, + 0x02, 0xf0, 0x11, 0xfb, 0xb0, 0xbd, 0xa4, 0x6c, + 0x01, 0x00, 0x3c, 0x00, 0x5c, 0x1c, 0x00, 0x00, + 0xb0, 0xb5, 0x03, 0x1c, 0x08, 0x1c, 0x14, 0x1c, + 0x00, 0x2b, 0x0c, 0x4d, 0x09, 0xd0, 0x69, 0x69, + 0x89, 0x00, 0x01, 0x31, 0x0a, 0x04, 0x12, 0x0c, + 0x22, 0x80, 0x29, 0x1c, 0xfe, 0xf7, 0x3e, 0xfc, + 0x0a, 0xe0, 0x01, 0x1c, 0x28, 0x1c, 0x22, 0x88, + 0xfe, 0xf7, 0x38, 0xfc, 0x20, 0x88, 0x01, 0x28, + 0x02, 0xd9, 0x80, 0x08, 0x01, 0x38, 0x68, 0x61, + 0x01, 0x20, 0xb0, 0xbd, 0x3c, 0x00, 0x98, 0x1c, + 0x00, 0x00, 0x20, 0x6e, 0x01, 0x00, 0xf1, 0xb5, + 0x00, 0x98, 0x00, 0x26, 0xc1, 0x68, 0x08, 0x68, + 0x09, 0x89, 0x1c, 0x29, 0x34, 0xd3, 0xc1, 0x88, + 0xff, 0x23, 0x01, 0x33, 0x99, 0x42, 0x2f, 0xd1, + 0x01, 0x88, 0xc9, 0x1a, 0x2c, 0xd1, 0x41, 0x88, + 0x08, 0x29, 0x29, 0xd1, 0x01, 0x79, 0x06, 0x29, + 0x26, 0xd1, 0x41, 0x79, 0x04, 0x29, 0x23, 0xd1, + 0x00, 0x25, 0x00, 0x24, 0x07, 0x1c, 0x3c, 0x00, + 0xd4, 0x1c, 0x00, 0x00, 0x18, 0x37, 0x0b, 0xe0, + 0xa0, 0x00, 0x41, 0x18, 0x04, 0x31, 0x04, 0x22, + 0x38, 0x1c, 0xfe, 0xf7, 0x8b, 0xfb, 0x00, 0x28, + 0x01, 0xd1, 0x01, 0x25, 0x04, 0xe0, 0x01, 0x34, + 0x0a, 0x49, 0x48, 0x69, 0xa0, 0x42, 0xef, 0xd8, + 0x08, 0x49, 0x08, 0x78, 0x00, 0x28, 0x0a, 0xd0, + 0x01, 0x28, 0x01, 0xd0, 0x02, 0x28, 0x06, 0xd1, + 0x00, 0x2d, 0x04, 0xd1, 0x00, 0x98, 0xc0, 0x68, + 0x3c, 0x00, 0x10, 0x1d, 0x00, 0x00, 0xff, 0xf7, + 0x42, 0xfc, 0x01, 0x26, 0x30, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x20, 0x6e, 0x01, 0x00, 0x01, 0x48, + 0x40, 0x68, 0x70, 0x47, 0x00, 0x00, 0x20, 0x6e, + 0x01, 0x00, 0x02, 0x49, 0x48, 0x60, 0x01, 0x20, + 0x48, 0x61, 0x70, 0x47, 0x00, 0x00, 0x20, 0x6e, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0x01, 0x26, + 0x03, 0xf0, 0xef, 0xfa, 0x25, 0x1c, 0x10, 0x35, + 0x00, 0x28, 0x3c, 0x00, 0x4c, 0x1d, 0x00, 0x00, + 0x04, 0xd0, 0x00, 0x20, 0x20, 0x77, 0x03, 0xf0, + 0xf1, 0xfb, 0x07, 0xe0, 0x03, 0xf0, 0x38, 0xfd, + 0x00, 0x28, 0x09, 0xd0, 0x01, 0x20, 0x20, 0x77, + 0x03, 0xf0, 0xce, 0xfc, 0x01, 0x1c, 0x06, 0x22, + 0x28, 0x1c, 0xfe, 0xf7, 0xc3, 0xfb, 0x02, 0xe0, + 0x02, 0x20, 0x20, 0x77, 0x00, 0x26, 0x30, 0x1c, + 0x70, 0xbd, 0x00, 0x00, 0x03, 0x48, 0x80, 0x7a, + 0xc0, 0x07, 0x03, 0x49, 0x3c, 0x00, 0x88, 0x1d, + 0x00, 0x00, 0xc0, 0x0f, 0x88, 0x62, 0x70, 0x47, + 0x00, 0x00, 0x40, 0x90, 0x07, 0x00, 0xa4, 0x6c, + 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, 0x88, 0x62, + 0x70, 0x47, 0xa4, 0x6c, 0x01, 0x00, 0x06, 0x48, + 0x80, 0x7a, 0xc1, 0x07, 0x06, 0x4a, 0xc9, 0x0f, + 0x91, 0x62, 0x20, 0x21, 0x80, 0x07, 0x00, 0xd4, + 0x00, 0x21, 0xa0, 0x32, 0x11, 0x70, 0x70, 0x47, + 0x00, 0x00, 0x40, 0x90, 0x07, 0x00, 0x3c, 0x00, + 0xc4, 0x1d, 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x07, 0x4a, 0x12, 0x68, 0x07, 0x4b, 0x9b, 0x69, + 0x1a, 0x40, 0x01, 0xd0, 0x01, 0x22, 0x00, 0xe0, + 0x00, 0x22, 0x0a, 0x60, 0x01, 0x21, 0x00, 0x2a, + 0x00, 0xd0, 0x00, 0x21, 0x01, 0x60, 0x70, 0x47, + 0x10, 0x00, 0x07, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x01, 0x22, 0x02, 0x60, 0x0a, 0x60, 0x70, 0x47, + 0xb0, 0xb5, 0x0d, 0x1c, 0x01, 0x1c, 0x58, 0x31, + 0x3c, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x04, 0x1c, + 0x06, 0x22, 0x28, 0x1d, 0xfe, 0xf7, 0x77, 0xfb, + 0x21, 0x1c, 0x5e, 0x31, 0x06, 0x22, 0x28, 0x1c, + 0x0a, 0x30, 0xfe, 0xf7, 0x70, 0xfb, 0x21, 0x1c, + 0x64, 0x31, 0x06, 0x22, 0x28, 0x1c, 0x10, 0x30, + 0xfe, 0xf7, 0x69, 0xfb, 0xb0, 0xbd, 0xfe, 0xb5, + 0x00, 0x25, 0x1d, 0x72, 0x17, 0x1c, 0x0e, 0x1c, + 0xb2, 0x6d, 0x00, 0x21, 0x92, 0x19, 0x50, 0x32, + 0xd2, 0x7a, 0x3c, 0x00, 0x3c, 0x1e, 0x00, 0x00, + 0x1c, 0x1c, 0x5a, 0x72, 0x00, 0x78, 0x32, 0x1c, + 0x80, 0x32, 0xc0, 0x07, 0xc0, 0x17, 0x01, 0x30, + 0x01, 0x90, 0x08, 0x98, 0x02, 0x92, 0x00, 0x28, + 0x01, 0xd1, 0x30, 0x7f, 0x2b, 0xe0, 0x37, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x00, 0xdd, 0x01, 0x1c, + 0x01, 0x98, 0x00, 0x28, 0x02, 0xd0, 0x08, 0x98, + 0x01, 0x28, 0x10, 0xd1, 0x02, 0x9a, 0x90, 0x6b, + 0x00, 0x28, 0x06, 0xd0, 0x3c, 0x00, 0x78, 0x1e, + 0x00, 0x00, 0x88, 0x42, 0x01, 0xd9, 0x45, 0x1a, + 0x01, 0x3d, 0x70, 0x19, 0xb0, 0x30, 0x03, 0xe0, + 0xb5, 0x6d, 0x01, 0x3d, 0x70, 0x19, 0x50, 0x30, + 0x00, 0x7b, 0x0f, 0xe0, 0x02, 0x9a, 0x10, 0x6a, + 0x00, 0x28, 0x07, 0xd0, 0x88, 0x42, 0x01, 0xd9, + 0x45, 0x1a, 0x01, 0x3d, 0x70, 0x19, 0xa0, 0x30, + 0x00, 0x79, 0x03, 0xe0, 0xbd, 0x69, 0x01, 0x3d, + 0x78, 0x19, 0x00, 0x7f, 0xa0, 0x72, 0x3c, 0x00, + 0xb4, 0x1e, 0x00, 0x00, 0x0e, 0xf0, 0x0c, 0xf8, + 0x0e, 0x28, 0x11, 0xd1, 0xa0, 0x7a, 0x08, 0xf0, + 0x67, 0xff, 0x00, 0x28, 0x0c, 0xd0, 0x78, 0x68, + 0x00, 0x28, 0x05, 0xd1, 0x1b, 0x48, 0x00, 0x25, + 0x00, 0x78, 0x08, 0xf0, 0x4b, 0xff, 0x02, 0xe0, + 0x45, 0x1e, 0x78, 0x19, 0x00, 0x7a, 0xa0, 0x72, + 0x02, 0x9a, 0x50, 0x69, 0x00, 0x28, 0x17, 0xd0, + 0x08, 0x98, 0x01, 0x28, 0x14, 0xd0, 0xa0, 0x7a, + 0x3c, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0x08, 0xf0, + 0x4e, 0xff, 0x00, 0x28, 0x0f, 0xd0, 0x01, 0x98, + 0x00, 0x28, 0x07, 0xd0, 0x02, 0x20, 0x20, 0x72, + 0x70, 0x6c, 0x80, 0x19, 0x40, 0x30, 0xc0, 0x79, + 0x60, 0x72, 0x04, 0xe0, 0x7d, 0x68, 0x01, 0x3d, + 0x78, 0x19, 0x00, 0x7a, 0xa0, 0x72, 0x02, 0x9a, + 0xa0, 0x7a, 0x91, 0x69, 0x08, 0xf0, 0x51, 0xff, + 0x20, 0x60, 0x02, 0x9a, 0x60, 0x7a, 0x91, 0x69, + 0x08, 0xf0, 0x3c, 0x00, 0x2c, 0x1f, 0x00, 0x00, + 0x4b, 0xff, 0x60, 0x60, 0xa0, 0x7a, 0xe0, 0x72, + 0x25, 0x73, 0xfe, 0xbd, 0xd4, 0x7e, 0x01, 0x00, + 0x90, 0x57, 0x01, 0x00, 0x00, 0x06, 0x00, 0x0e, + 0x00, 0x2a, 0x8c, 0xb5, 0x01, 0xd0, 0x8a, 0x22, + 0x00, 0xe0, 0x88, 0x22, 0x00, 0xab, 0x1a, 0x80, + 0x0c, 0xf0, 0xc2, 0xf8, 0x01, 0x90, 0x68, 0x46, + 0x0b, 0xf0, 0xbc, 0xfa, 0x8c, 0xbd, 0x00, 0x00, + 0x01, 0x1c, 0x08, 0x48, 0x3c, 0x00, 0x68, 0x1f, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0x68, 0x00, 0x28, + 0x09, 0xd0, 0x49, 0x68, 0x02, 0x20, 0x00, 0x29, + 0x00, 0xd1, 0x01, 0x20, 0x01, 0x06, 0x09, 0x0e, + 0x00, 0x20, 0x06, 0xf0, 0xd8, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0x20, 0x67, 0x01, 0x00, 0x1c, 0xb5, + 0x01, 0x90, 0x04, 0x1c, 0x44, 0x30, 0x01, 0xaa, + 0x69, 0x46, 0x11, 0xf0, 0xb8, 0xfd, 0x00, 0x28, + 0x0b, 0xd0, 0xa0, 0x69, 0x00, 0x21, 0x3c, 0x00, + 0xa4, 0x1f, 0x00, 0x00, 0xc2, 0x07, 0xd2, 0x0f, + 0x02, 0x20, 0xff, 0xf7, 0xc9, 0xff, 0x00, 0x21, + 0x20, 0x1c, 0x0f, 0xf0, 0xd9, 0xfe, 0x1c, 0xbd, + 0x04, 0x21, 0x98, 0x20, 0xff, 0xf7, 0x72, 0xf9, + 0xf9, 0xe7, 0x00, 0x00, 0x8c, 0xb5, 0x00, 0xab, + 0x84, 0x21, 0x19, 0x80, 0x05, 0x4b, 0x02, 0x1c, + 0x18, 0x1c, 0x99, 0x8a, 0x0c, 0xf0, 0x8e, 0xf8, + 0x01, 0x90, 0x68, 0x46, 0x0b, 0xf0, 0x7c, 0xfa, + 0x3c, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0x8c, 0xbd, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x06, 0x49, 0x80, 0xb5, 0xc9, 0x68, + 0x14, 0x23, 0x40, 0x31, 0x89, 0x7a, 0x04, 0x4a, + 0x59, 0x43, 0x89, 0x18, 0x80, 0x00, 0x08, 0x58, + 0xfe, 0xf7, 0xe9, 0xf9, 0x80, 0xbd, 0x70, 0x7c, + 0x01, 0x00, 0x54, 0x47, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x20, 0xff, 0xf7, 0xd6, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x20, 0x00, 0x00, + 0x80, 0xb5, 0x12, 0x48, 0x11, 0x49, 0x80, 0x8a, + 0x0a, 0x8b, 0x00, 0x21, 0x00, 0x28, 0xc2, 0xb0, + 0x0c, 0xd1, 0x01, 0x2a, 0x05, 0xd0, 0x02, 0x2a, + 0x15, 0xd0, 0x00, 0xab, 0x5a, 0x80, 0x0e, 0x22, + 0x07, 0xe0, 0x02, 0x22, 0x00, 0xab, 0x5a, 0x80, + 0x99, 0x80, 0x04, 0xe0, 0x00, 0xab, 0x5a, 0x80, + 0x0d, 0x22, 0x00, 0xab, 0x9a, 0x80, 0x00, 0xab, + 0x18, 0x80, 0xff, 0x20, 0x3c, 0x00, 0x58, 0x20, + 0x00, 0x00, 0x98, 0x71, 0xd9, 0x71, 0x68, 0x46, + 0x00, 0xf0, 0xd1, 0xf9, 0x42, 0xb0, 0x80, 0xbd, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x10, 0xb5, + 0x09, 0xf0, 0x5f, 0xfc, 0x00, 0x20, 0x05, 0xf0, + 0x2a, 0xf9, 0x03, 0x4c, 0xe0, 0x8a, 0x05, 0xf0, + 0x36, 0xf9, 0x20, 0x1c, 0x0f, 0xf0, 0xb3, 0xfe, + 0x10, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x1c, 0xb5, + 0x09, 0xf0, 0x4f, 0xfc, 0x07, 0x20, 0x3c, 0x00, + 0x94, 0x20, 0x00, 0x00, 0x00, 0xab, 0x07, 0x4c, + 0x18, 0x80, 0xe1, 0x8a, 0x20, 0x1c, 0x0c, 0xf0, + 0x0b, 0xf8, 0x01, 0x90, 0x68, 0x46, 0x0b, 0xf0, + 0x17, 0xfa, 0x20, 0x1c, 0x0f, 0xf0, 0x9e, 0xfe, + 0x1c, 0xbd, 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x98, 0x20, 0xff, 0xf7, + 0xf1, 0xf8, 0x80, 0xbd, 0x10, 0xb5, 0x15, 0x4c, + 0xc2, 0xb0, 0xa0, 0x8a, 0x00, 0x28, 0x03, 0xd0, + 0x3c, 0x00, 0xd0, 0x20, 0x00, 0x00, 0x01, 0x28, + 0x1e, 0xd1, 0x02, 0x20, 0x00, 0xe0, 0x01, 0x20, + 0xe1, 0x68, 0x40, 0x31, 0x88, 0x72, 0x20, 0x69, + 0x08, 0xf0, 0x23, 0xfd, 0x02, 0x1c, 0x0c, 0x48, + 0x18, 0x38, 0x80, 0x88, 0xe1, 0x68, 0x0f, 0xf0, + 0xa4, 0xfe, 0xa0, 0x8a, 0x00, 0xab, 0x18, 0x80, + 0x01, 0x20, 0x58, 0x80, 0x00, 0x20, 0x98, 0x80, + 0xff, 0x21, 0x99, 0x71, 0xd8, 0x71, 0x68, 0x46, + 0x00, 0xf0, 0x3c, 0x00, 0x0c, 0x21, 0x00, 0x00, + 0x7b, 0xf9, 0x42, 0xb0, 0x10, 0xbd, 0x03, 0x21, + 0x98, 0x20, 0xff, 0xf7, 0xc5, 0xf8, 0xf8, 0xe7, + 0x70, 0x7c, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0x03, 0x48, 0x0f, 0xf0, 0x60, 0xfe, + 0x00, 0x20, 0x05, 0xf0, 0xcd, 0xf8, 0x80, 0xbd, + 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x48, + 0x0f, 0xf0, 0x56, 0xfe, 0x80, 0xbd, 0x00, 0x00, + 0x70, 0x7c, 0x01, 0x00, 0x3c, 0x00, 0x48, 0x21, + 0x00, 0x00, 0x80, 0xb5, 0x02, 0x21, 0x98, 0x20, + 0xff, 0xf7, 0xa9, 0xf8, 0x80, 0xbd, 0x80, 0xb5, + 0x03, 0x20, 0xff, 0xf7, 0x34, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0xf0, 0xb5, 0x21, 0x4e, 0x00, 0x27, + 0xb1, 0x8a, 0x30, 0x1c, 0x00, 0x25, 0x04, 0x24, + 0x00, 0x29, 0x00, 0x8b, 0xc3, 0xb0, 0x1e, 0xd1, + 0x01, 0x28, 0x07, 0xd0, 0x31, 0x1c, 0x49, 0x8b, + 0x02, 0x28, 0x12, 0xd1, 0x00, 0x29, 0x3c, 0x00, + 0x84, 0x21, 0x00, 0x00, 0x07, 0xd1, 0x00, 0x24, + 0x05, 0xe0, 0x00, 0x24, 0x01, 0x25, 0x02, 0x20, + 0x00, 0xab, 0xd8, 0x80, 0x1f, 0x81, 0x0f, 0xf0, + 0x7f, 0xff, 0x00, 0x2c, 0x10, 0xd1, 0xf1, 0x68, + 0x05, 0x20, 0x40, 0x31, 0x88, 0x72, 0x0e, 0xe0, + 0x00, 0x29, 0x1a, 0xd1, 0x00, 0xab, 0xd8, 0x80, + 0x0e, 0x20, 0x02, 0xe0, 0x00, 0xab, 0xd8, 0x80, + 0x0d, 0x20, 0x00, 0xab, 0x18, 0x81, 0x07, 0xe0, + 0x3c, 0x00, 0xc0, 0x21, 0x00, 0x00, 0x30, 0x1c, + 0x0f, 0xf0, 0x13, 0xfe, 0x20, 0x1c, 0xff, 0xf7, + 0xfc, 0xfe, 0x00, 0x2d, 0x08, 0xd0, 0xb0, 0x8a, + 0x00, 0xab, 0x98, 0x80, 0xff, 0x20, 0x98, 0x72, + 0xdf, 0x72, 0x01, 0xa8, 0x00, 0xf0, 0x11, 0xf9, + 0x43, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x70, 0x7c, + 0x01, 0x00, 0x10, 0xb5, 0x00, 0x20, 0x05, 0xf0, + 0x6c, 0xf8, 0x04, 0x4c, 0xe0, 0x8a, 0x05, 0xf0, + 0x78, 0xf8, 0x3c, 0x00, 0xfc, 0x21, 0x00, 0x00, + 0x0f, 0xf0, 0x4c, 0xff, 0x20, 0x1c, 0x0f, 0xf0, + 0xf3, 0xfd, 0x10, 0xbd, 0x70, 0x7c, 0x01, 0x00, + 0x80, 0xb5, 0x04, 0x20, 0xff, 0xf7, 0xd8, 0xfe, + 0x01, 0x48, 0x0f, 0xf0, 0xe9, 0xfd, 0x80, 0xbd, + 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x20, + 0xff, 0xf7, 0xce, 0xfe, 0x01, 0x20, 0x05, 0xf0, + 0x5f, 0xf8, 0x02, 0x48, 0x0f, 0xf0, 0xdc, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x22, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, + 0x03, 0x20, 0xff, 0xf7, 0xc0, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0xb0, 0xb5, 0x1d, 0x4d, 0xc2, 0xb0, + 0x28, 0x8b, 0x00, 0xab, 0xff, 0x21, 0x58, 0x80, + 0x99, 0x71, 0x00, 0x21, 0xd9, 0x71, 0xaa, 0x8a, + 0x00, 0x24, 0x01, 0x2a, 0x18, 0xd1, 0x2a, 0x1c, + 0x52, 0x8b, 0x02, 0x28, 0x0f, 0xd1, 0x00, 0x2a, + 0x16, 0xd1, 0x03, 0x20, 0x58, 0x80, 0x3c, 0x00, + 0x74, 0x22, 0x00, 0x00, 0x99, 0x80, 0x2c, 0x1c, + 0xff, 0x22, 0x98, 0x1d, 0xe9, 0x69, 0xfe, 0xf7, + 0x3b, 0xf9, 0xe1, 0x68, 0x04, 0x20, 0x40, 0x31, + 0x88, 0x72, 0x10, 0xe0, 0x00, 0x2a, 0x06, 0xd1, + 0x01, 0x24, 0x0e, 0x20, 0x01, 0xe0, 0x01, 0x24, + 0x0d, 0x20, 0x00, 0xab, 0x98, 0x80, 0x28, 0x1c, + 0x0f, 0xf0, 0xa4, 0xfd, 0x04, 0x20, 0xff, 0xf7, + 0x8d, 0xfe, 0x00, 0x2c, 0x05, 0xd0, 0xa8, 0x8a, + 0x3c, 0x00, 0xb0, 0x22, 0x00, 0x00, 0x00, 0xab, + 0x18, 0x80, 0x68, 0x46, 0x00, 0xf0, 0xa5, 0xf8, + 0x42, 0xb0, 0xb0, 0xbd, 0x00, 0x00, 0x70, 0x7c, + 0x01, 0x00, 0x10, 0xb5, 0x00, 0x20, 0x05, 0xf0, + 0x00, 0xf8, 0x03, 0x4c, 0xe0, 0x8a, 0x05, 0xf0, + 0x0c, 0xf8, 0x20, 0x1c, 0x0f, 0xf0, 0x89, 0xfd, + 0x10, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, + 0x04, 0x20, 0xff, 0xf7, 0x6e, 0xfe, 0x01, 0x48, + 0x0f, 0xf0, 0x3c, 0x00, 0xec, 0x22, 0x00, 0x00, + 0x7f, 0xfd, 0x80, 0xbd, 0x70, 0x7c, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x20, 0xff, 0xf7, 0x64, 0xfe, + 0x01, 0x20, 0x04, 0xf0, 0xf5, 0xff, 0x02, 0x48, + 0x0f, 0xf0, 0x72, 0xfd, 0x80, 0xbd, 0x00, 0x00, + 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x03, 0x20, + 0xff, 0xf7, 0x56, 0xfe, 0x80, 0xbd, 0x00, 0x00, + 0xb0, 0xb5, 0x19, 0x4d, 0x04, 0x24, 0xa9, 0x8a, + 0x28, 0x1c, 0x02, 0x8b, 0x3c, 0x00, 0x28, 0x23, + 0x00, 0x00, 0xc2, 0xb0, 0x01, 0x29, 0x14, 0xd1, + 0x40, 0x8b, 0x04, 0x2a, 0x0b, 0xd1, 0x00, 0x28, + 0x00, 0xd1, 0x00, 0x24, 0x0f, 0xf0, 0xad, 0xfe, + 0x00, 0x2c, 0x19, 0xd1, 0xe9, 0x68, 0x05, 0x20, + 0x40, 0x31, 0x88, 0x72, 0x17, 0xe0, 0x00, 0x28, + 0x10, 0xd1, 0x00, 0xab, 0x5a, 0x80, 0x0e, 0x20, + 0x02, 0xe0, 0x00, 0xab, 0x5a, 0x80, 0x0d, 0x20, + 0x00, 0xab, 0x98, 0x80, 0x19, 0x80, 0x3c, 0x00, + 0x64, 0x23, 0x00, 0x00, 0xff, 0x20, 0x98, 0x71, + 0x00, 0x20, 0xd8, 0x71, 0x68, 0x46, 0x00, 0xf0, + 0x49, 0xf8, 0x42, 0xb0, 0xb0, 0xbd, 0x28, 0x1c, + 0x0f, 0xf0, 0x38, 0xfd, 0x20, 0x1c, 0xff, 0xf7, + 0x21, 0xfe, 0xf6, 0xe7, 0x70, 0x7c, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x20, 0x04, 0xf0, 0x9e, 0xff, + 0x03, 0x4c, 0xe0, 0x8a, 0x04, 0xf0, 0xaa, 0xff, + 0x20, 0x1c, 0x0f, 0xf0, 0x27, 0xfd, 0x10, 0xbd, + 0x3c, 0x00, 0xa0, 0x23, 0x00, 0x00, 0x70, 0x7c, + 0x01, 0x00, 0x80, 0xb5, 0x04, 0x20, 0xff, 0xf7, + 0x0c, 0xfe, 0x01, 0x48, 0x0f, 0xf0, 0x1d, 0xfd, + 0x80, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x20, 0xff, 0xf7, 0x02, 0xfe, 0x01, 0x20, + 0x04, 0xf0, 0x93, 0xff, 0x02, 0x48, 0x0f, 0xf0, + 0x10, 0xfd, 0x80, 0xbd, 0x00, 0x00, 0x70, 0x7c, + 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x4d, 0x01, 0x1c, + 0x44, 0x31, 0x3c, 0x00, 0xdc, 0x23, 0x00, 0x00, + 0x04, 0x1c, 0x06, 0x22, 0x28, 0x1c, 0xfe, 0xf7, + 0x89, 0xf8, 0xec, 0x60, 0x20, 0x69, 0x03, 0xf0, + 0x97, 0xf8, 0x01, 0x1c, 0x06, 0x22, 0xa8, 0x18, + 0xfe, 0xf7, 0x80, 0xf8, 0x04, 0x20, 0xff, 0xf7, + 0xf7, 0xfd, 0xb0, 0xbd, 0x70, 0x7c, 0x01, 0x00, + 0x90, 0xb5, 0x04, 0x1c, 0x80, 0x88, 0x93, 0xb0, + 0x00, 0x28, 0x06, 0xd0, 0x15, 0x49, 0x06, 0x22, + 0x48, 0x80, 0x18, 0x31, 0x3c, 0x00, 0x18, 0x24, + 0x00, 0x00, 0x88, 0x1f, 0xfe, 0xf7, 0x6d, 0xf8, + 0x68, 0x46, 0x0c, 0xf0, 0x14, 0xf8, 0x20, 0x88, + 0x01, 0x28, 0x08, 0xd1, 0x60, 0x88, 0x03, 0x28, + 0x05, 0xd1, 0xa0, 0x88, 0x00, 0x28, 0x02, 0xd1, + 0x06, 0x20, 0x0c, 0xa9, 0x08, 0x70, 0xa0, 0x79, + 0x06, 0x21, 0xff, 0x28, 0x04, 0xd0, 0xe0, 0x79, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x1c, 0x08, 0x31, + 0x0b, 0x20, 0x08, 0xaa, 0x50, 0x72, 0x3c, 0x00, + 0x54, 0x24, 0x00, 0x00, 0x20, 0x1c, 0x08, 0xf0, + 0x3b, 0xff, 0x03, 0x90, 0x68, 0x46, 0x0b, 0xf0, + 0x31, 0xf8, 0x13, 0xb0, 0x90, 0xbd, 0x00, 0x00, + 0x58, 0x7c, 0x01, 0x00, 0x07, 0x4b, 0x1a, 0x78, + 0x82, 0x42, 0x01, 0xd0, 0x00, 0x29, 0x07, 0xd0, + 0xff, 0x20, 0x18, 0x70, 0x04, 0x48, 0x01, 0x88, + 0x01, 0x22, 0x52, 0x03, 0x91, 0x43, 0x01, 0x80, + 0x70, 0x47, 0x00, 0x00, 0x4c, 0x7b, 0x01, 0x00, + 0x3c, 0x00, 0x90, 0x24, 0x00, 0x00, 0x32, 0x80, + 0x07, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x0c, 0x23, + 0x07, 0x49, 0x58, 0x43, 0x40, 0x18, 0x00, 0x79, + 0x0a, 0xf0, 0x4f, 0xf9, 0x01, 0x20, 0x03, 0x49, + 0xa0, 0x40, 0x08, 0x39, 0x0a, 0x78, 0x10, 0x43, + 0x08, 0x70, 0x10, 0xbd, 0x00, 0x00, 0x74, 0x7a, + 0x01, 0x00, 0x03, 0x4a, 0x00, 0x21, 0x11, 0x54, + 0x80, 0x00, 0x30, 0x32, 0x10, 0x58, 0x01, 0x70, + 0x70, 0x47, 0x3c, 0x00, 0xcc, 0x24, 0x00, 0x00, + 0xe0, 0x7a, 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x05, 0x28, 0x01, 0xd3, 0xfe, 0xf7, 0x12, 0xff, + 0x20, 0x1c, 0xff, 0xf7, 0xed, 0xff, 0x00, 0x21, + 0x20, 0x1c, 0x0e, 0xf0, 0x89, 0xfb, 0x10, 0xbd, + 0x05, 0x49, 0x80, 0xb5, 0x88, 0x60, 0x08, 0x7f, + 0x24, 0x23, 0x04, 0x49, 0x58, 0x43, 0x08, 0x58, + 0xfd, 0xf7, 0x6c, 0xff, 0x80, 0xbd, 0x00, 0x00, + 0xd4, 0x79, 0x01, 0x00, 0x3c, 0x00, 0x08, 0x25, + 0x00, 0x00, 0x94, 0x46, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x21, 0x91, 0x20, 0xfe, 0xf7, 0xc7, 0xfe, + 0x80, 0xbd, 0x02, 0x4a, 0x11, 0x68, 0x81, 0x43, + 0x11, 0x60, 0x70, 0x47, 0x00, 0x00, 0x78, 0x6e, + 0x01, 0x00, 0x80, 0xb5, 0xfe, 0xf7, 0xe9, 0xfe, + 0x80, 0xbd, 0x80, 0xb5, 0xfe, 0xf7, 0xe5, 0xfe, + 0x80, 0xbd, 0x80, 0xb5, 0x00, 0xf0, 0x31, 0xfa, + 0x80, 0xbd, 0x03, 0x49, 0x80, 0xb5, 0x3c, 0x00, + 0x44, 0x25, 0x00, 0x00, 0x04, 0x20, 0x88, 0x60, + 0x00, 0xf0, 0xd0, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0x00, 0x30, 0x07, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0x99, 0xfa, 0x80, 0xbd, 0x80, 0xb5, 0x00, 0xf0, + 0x99, 0xfb, 0x80, 0xbd, 0x38, 0xb5, 0x20, 0x28, + 0x15, 0xd2, 0x0d, 0x4c, 0x22, 0x1c, 0x20, 0x32, + 0x95, 0x79, 0x00, 0xab, 0x1d, 0x70, 0xd2, 0x79, + 0x5a, 0x70, 0x0a, 0x4b, 0x82, 0x00, 0x99, 0x50, + 0x3c, 0x00, 0x80, 0x25, 0x00, 0x00, 0x01, 0x21, + 0x81, 0x40, 0x08, 0x48, 0x01, 0x60, 0x42, 0x68, + 0x11, 0x43, 0x41, 0x60, 0x00, 0xab, 0x18, 0x88, + 0xe0, 0x84, 0x38, 0xbd, 0x01, 0x21, 0xff, 0x20, + 0xfe, 0xf7, 0x83, 0xfe, 0xf9, 0xe7, 0x00, 0x10, + 0x07, 0x00, 0x30, 0x74, 0x01, 0x00, 0x00, 0x40, + 0x07, 0x00, 0x20, 0x28, 0x09, 0xd2, 0x05, 0x49, + 0x06, 0x4b, 0x82, 0x00, 0x99, 0x50, 0x05, 0x4a, + 0x51, 0x68, 0x3c, 0x00, 0xbc, 0x25, 0x00, 0x00, + 0x01, 0x23, 0x83, 0x40, 0x99, 0x43, 0x51, 0x60, + 0x70, 0x47, 0x00, 0x00, 0xa9, 0x75, 0x00, 0x00, + 0x30, 0x74, 0x01, 0x00, 0x00, 0x40, 0x07, 0x00, + 0x02, 0x4a, 0x11, 0x68, 0x08, 0x43, 0x10, 0x60, + 0x70, 0x47, 0x00, 0x00, 0x78, 0x6e, 0x01, 0x00, + 0x0b, 0x48, 0x01, 0x68, 0x03, 0x22, 0x12, 0x04, + 0x11, 0x43, 0x01, 0x60, 0x01, 0x68, 0x07, 0x22, + 0x12, 0x06, 0x91, 0x43, 0x3c, 0x00, 0xf8, 0x25, + 0x00, 0x00, 0x01, 0x22, 0x52, 0x06, 0x89, 0x18, + 0x01, 0x60, 0x01, 0x68, 0x12, 0x0c, 0x11, 0x43, + 0x01, 0x60, 0x01, 0x68, 0x52, 0x08, 0x11, 0x43, + 0x01, 0x60, 0x70, 0x47, 0x00, 0x00, 0x80, 0x00, + 0x07, 0x00, 0xfe, 0xb5, 0x1c, 0x4e, 0x05, 0x1c, + 0xb0, 0x8a, 0xf2, 0x68, 0x12, 0xd0, 0x01, 0x24, + 0x00, 0x29, 0x09, 0xd1, 0x11, 0x6d, 0x02, 0xaa, + 0x01, 0xab, 0xfe, 0xf7, 0xf8, 0xfe, 0x3c, 0x00, + 0x34, 0x26, 0x00, 0x00, 0x02, 0x98, 0x00, 0x28, + 0x01, 0xd0, 0x00, 0x24, 0x0b, 0xe0, 0x01, 0xaa, + 0x02, 0xa9, 0x28, 0x1c, 0xfe, 0xf7, 0x70, 0xff, + 0x05, 0xe0, 0x11, 0x6d, 0x02, 0xaa, 0x00, 0x24, + 0x01, 0xab, 0xfe, 0xf7, 0x01, 0xff, 0x0e, 0x49, + 0x08, 0x1c, 0x20, 0x30, 0x82, 0x79, 0x00, 0xab, + 0x1a, 0x70, 0xc0, 0x79, 0x58, 0x70, 0x30, 0x68, + 0x00, 0x28, 0x02, 0xd1, 0x02, 0x98, 0x30, 0x60, + 0x3c, 0x00, 0x70, 0x26, 0x00, 0x00, 0x02, 0xe0, + 0x02, 0x98, 0x72, 0x68, 0xd0, 0x60, 0x01, 0x98, + 0x00, 0xab, 0x70, 0x60, 0x18, 0x88, 0xc8, 0x84, + 0xf0, 0x68, 0xc0, 0x6c, 0xf0, 0x60, 0x20, 0x1c, + 0xfe, 0xbd, 0x24, 0x7e, 0x01, 0x00, 0x00, 0x10, + 0x07, 0x00, 0xf8, 0xb5, 0x04, 0x1c, 0x54, 0x27, + 0x1d, 0x4e, 0x00, 0x20, 0x30, 0x60, 0x70, 0x60, + 0x67, 0x43, 0x38, 0x04, 0x15, 0x1c, 0x00, 0x0c, + 0xb1, 0x82, 0x3c, 0x00, 0xac, 0x26, 0x00, 0x00, + 0xff, 0xf7, 0x96, 0xf8, 0x08, 0x21, 0x30, 0x61, + 0x00, 0x26, 0x17, 0x4a, 0x14, 0xe0, 0x03, 0x1c, + 0x24, 0x33, 0x42, 0x61, 0x03, 0x61, 0xc6, 0x61, + 0x01, 0x83, 0x08, 0x33, 0x03, 0x60, 0xb1, 0x23, + 0x43, 0x60, 0x03, 0x1c, 0x64, 0x33, 0xc3, 0x60, + 0x0c, 0x23, 0x03, 0x81, 0x03, 0x1c, 0x54, 0x33, + 0x4c, 0x30, 0x28, 0xc0, 0x01, 0x3c, 0x18, 0x1c, + 0x00, 0x2c, 0xe8, 0xd1, 0x3c, 0x00, 0xe8, 0x26, + 0x00, 0x00, 0x09, 0x4e, 0x07, 0x22, 0x30, 0x69, + 0xd2, 0x43, 0xc1, 0x19, 0x50, 0x50, 0x02, 0x1c, + 0x10, 0x32, 0x80, 0x39, 0x8a, 0x63, 0xf0, 0x60, + 0xb0, 0x60, 0x00, 0x21, 0x00, 0x20, 0xff, 0xf7, + 0x88, 0xff, 0x30, 0x69, 0xf0, 0x60, 0xb0, 0x60, + 0xf8, 0xbd, 0x24, 0x7e, 0x01, 0x00, 0x91, 0x00, + 0x05, 0x00, 0x01, 0x48, 0x40, 0x6a, 0x70, 0x47, + 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, 0x3c, 0x00, + 0x24, 0x27, 0x00, 0x00, 0x01, 0x48, 0x00, 0x88, + 0x70, 0x47, 0x00, 0x00, 0xfc, 0x6b, 0x01, 0x00, + 0x06, 0x49, 0x80, 0xb5, 0x08, 0x88, 0x01, 0x30, + 0x08, 0x80, 0x05, 0x49, 0x08, 0x20, 0x08, 0x60, + 0x04, 0x49, 0x88, 0x69, 0x88, 0x61, 0x00, 0xf0, + 0x21, 0xf8, 0x80, 0xbd, 0xfc, 0x6b, 0x01, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x03, 0x4a, 0x01, 0x20, 0x12, 0x1d, 0x06, 0xca, + 0x3c, 0x00, 0x60, 0x27, 0x00, 0x00, 0x91, 0x42, + 0x00, 0xd1, 0x00, 0x20, 0x70, 0x47, 0xe8, 0x7d, + 0x01, 0x00, 0x06, 0x48, 0x00, 0xb5, 0xc0, 0x7c, + 0x00, 0x28, 0x03, 0xd1, 0xff, 0xf7, 0xef, 0xff, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x20, 0x00, 0xbd, + 0x00, 0x20, 0x00, 0xbd, 0x00, 0x00, 0xa0, 0x80, + 0x07, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x80, 0x07, + 0x02, 0xd5, 0x06, 0xf0, 0x3e, 0xfd, 0x03, 0xe0, + 0xe0, 0x07, 0x3c, 0x00, 0x9c, 0x27, 0x00, 0x00, + 0x01, 0xd5, 0x06, 0xf0, 0xe3, 0xfd, 0x60, 0x07, + 0x01, 0xd5, 0xfe, 0xf7, 0xab, 0xfd, 0x10, 0xbd, + 0x02, 0x4a, 0x01, 0x1c, 0x10, 0x68, 0x11, 0x60, + 0x70, 0x47, 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, + 0x38, 0xb5, 0x20, 0x4d, 0x2c, 0x1c, 0x20, 0x34, + 0xa0, 0x79, 0x00, 0xab, 0x18, 0x70, 0xe0, 0x79, + 0x58, 0x70, 0xfe, 0xf7, 0x27, 0xfa, 0x00, 0xab, + 0x18, 0x88, 0xe8, 0x84, 0x3c, 0x00, 0xd8, 0x27, + 0x00, 0x00, 0x1a, 0x48, 0x81, 0x78, 0x08, 0x22, + 0x91, 0x43, 0x81, 0x70, 0x81, 0x78, 0x11, 0x43, + 0x81, 0x70, 0x17, 0x48, 0x41, 0x68, 0x80, 0x22, + 0x91, 0x43, 0x41, 0x60, 0x01, 0x68, 0x11, 0x43, + 0x01, 0x60, 0x00, 0x20, 0x01, 0x30, 0x64, 0x28, + 0xfc, 0xd3, 0xa0, 0x79, 0x0f, 0x4d, 0x00, 0xab, + 0x18, 0x70, 0xe0, 0x79, 0x10, 0x4c, 0x58, 0x70, + 0x20, 0x1c, 0x10, 0x30, 0x00, 0xf0, 0x3c, 0x00, + 0x14, 0x28, 0x00, 0x00, 0xdf, 0xfb, 0x00, 0x20, + 0xc0, 0x43, 0xa0, 0x61, 0xff, 0xf7, 0x9c, 0xff, + 0x00, 0x28, 0x09, 0xd0, 0x0a, 0x49, 0x08, 0x69, + 0x01, 0x30, 0x08, 0x61, 0x00, 0x20, 0x3c, 0x31, + 0x89, 0x68, 0x48, 0x63, 0x06, 0xf0, 0xee, 0xfc, + 0x00, 0xab, 0x18, 0x88, 0xe8, 0x84, 0x38, 0xbd, + 0x00, 0x10, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, + 0xf4, 0x00, 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x3c, 0x00, 0x50, 0x28, 0x00, 0x00, 0xe8, 0x7d, + 0x01, 0x00, 0x0a, 0x48, 0x80, 0xb5, 0x00, 0x6a, + 0x00, 0x28, 0x01, 0xd0, 0xfe, 0xf7, 0xc1, 0xf9, + 0x07, 0x48, 0x07, 0x49, 0x3c, 0x30, 0x80, 0x68, + 0x10, 0x30, 0x48, 0x61, 0x01, 0x20, 0x08, 0x61, + 0x05, 0x49, 0x08, 0x68, 0x80, 0x22, 0x90, 0x43, + 0x08, 0x60, 0x80, 0xbd, 0x00, 0x00, 0xe8, 0x7d, + 0x01, 0x00, 0x00, 0x30, 0x07, 0x00, 0xf4, 0x00, + 0x07, 0x00, 0x3c, 0x00, 0x8c, 0x28, 0x00, 0x00, + 0x80, 0xb5, 0x0c, 0xf0, 0xcb, 0xfe, 0x06, 0xf0, + 0xbf, 0xfc, 0x80, 0xbd, 0x01, 0x49, 0xc8, 0x62, + 0x70, 0x47, 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, + 0x02, 0x4a, 0x91, 0x6a, 0x08, 0x43, 0x90, 0x62, + 0x70, 0x47, 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, + 0x18, 0x23, 0x06, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x00, 0x21, 0x02, 0x79, 0x03, 0x68, 0x1a, 0x70, + 0x01, 0x31, 0x08, 0x30, 0x3c, 0x00, 0xc8, 0x28, + 0x00, 0x00, 0x03, 0x29, 0xf8, 0xd3, 0x70, 0x47, + 0x00, 0x00, 0x28, 0x52, 0x01, 0x00, 0x03, 0x49, + 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, + 0x81, 0x62, 0x70, 0x47, 0x00, 0x00, 0x85, 0x75, + 0x00, 0x00, 0x04, 0x6c, 0x01, 0x00, 0xf8, 0xb5, + 0xff, 0xf7, 0x33, 0xff, 0x28, 0x4f, 0x00, 0x28, + 0x04, 0xd0, 0xff, 0xf7, 0xc8, 0xff, 0x38, 0x6a, + 0x01, 0x30, 0x38, 0x62, 0xf8, 0x6a, 0x3c, 0x00, + 0x04, 0x29, 0x00, 0x00, 0x00, 0x28, 0x02, 0xd0, + 0x01, 0x89, 0x04, 0x39, 0x01, 0x81, 0x38, 0x6b, + 0x00, 0x25, 0x00, 0x28, 0x08, 0xd0, 0x0b, 0x20, + 0x3d, 0x63, 0x10, 0xf0, 0xe5, 0xfa, 0x1e, 0x49, + 0x08, 0x68, 0x21, 0x22, 0x90, 0x43, 0x08, 0x60, + 0x38, 0x78, 0x3c, 0x21, 0x1b, 0x4a, 0x41, 0x43, + 0x8c, 0x18, 0xff, 0x22, 0x79, 0x6a, 0x3a, 0x70, + 0x00, 0x29, 0x0c, 0xd0, 0xb9, 0x69, 0x01, 0x31, + 0x3c, 0x00, 0x40, 0x29, 0x00, 0x00, 0xb9, 0x61, + 0x7d, 0x62, 0xbd, 0x68, 0x00, 0x2d, 0x04, 0xd0, + 0x63, 0x6b, 0x7a, 0x6b, 0x00, 0x21, 0xfd, 0xf7, + 0x47, 0xfd, 0xf8, 0xbd, 0x04, 0x28, 0x03, 0xd3, + 0x01, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0xa1, 0xfc, + 0x38, 0x69, 0x26, 0x1c, 0x01, 0x30, 0x38, 0x61, + 0x20, 0x36, 0x30, 0x78, 0x02, 0x28, 0x03, 0xd0, + 0x0c, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0x95, 0xfc, + 0x35, 0x70, 0x3c, 0x00, 0x7c, 0x29, 0x00, 0x00, + 0xa1, 0x69, 0x00, 0x29, 0xe8, 0xd0, 0x63, 0x6b, + 0x30, 0x34, 0x20, 0x78, 0x0c, 0x1c, 0x00, 0x21, + 0x7a, 0x6b, 0xfd, 0xf7, 0x27, 0xfd, 0xdf, 0xe7, + 0x04, 0x6c, 0x01, 0x00, 0xf4, 0x00, 0x07, 0x00, + 0x18, 0xdb, 0x01, 0x00, 0x10, 0xb5, 0x0b, 0x4c, + 0x60, 0x6a, 0x00, 0x28, 0x0e, 0xd0, 0x0a, 0x48, + 0x00, 0xf0, 0x12, 0xfb, 0x00, 0x20, 0x60, 0x62, + 0xa4, 0x68, 0x00, 0x2c, 0x3c, 0x00, 0xb8, 0x29, + 0x00, 0x00, 0x05, 0xd0, 0x7e, 0x23, 0xdb, 0x43, + 0x00, 0x22, 0x01, 0x21, 0xfd, 0xf7, 0x0d, 0xfd, + 0x10, 0xbd, 0xe0, 0x69, 0x01, 0x30, 0xe0, 0x61, + 0x10, 0xbd, 0x04, 0x6c, 0x01, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x09, 0x48, 0x41, 0x68, 0x3f, 0x22, + 0x12, 0x04, 0x91, 0x43, 0x0d, 0x22, 0x12, 0x04, + 0x89, 0x18, 0x41, 0x60, 0x41, 0x68, 0x01, 0x22, + 0x52, 0x02, 0x91, 0x43, 0x41, 0x60, 0x3c, 0x00, + 0xf4, 0x29, 0x00, 0x00, 0x03, 0x48, 0x81, 0x78, + 0x81, 0x70, 0x81, 0x78, 0x81, 0x70, 0x70, 0x47, + 0x80, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, + 0xf0, 0xb5, 0x01, 0x25, 0x08, 0x24, 0x00, 0x20, + 0x0e, 0x4a, 0x0f, 0x49, 0x00, 0x26, 0x3c, 0x23, + 0x43, 0x43, 0xd1, 0x52, 0x9b, 0x18, 0x5d, 0x71, + 0x9b, 0x60, 0x5e, 0x61, 0x1c, 0x82, 0xc0, 0x27, + 0xdf, 0x60, 0x20, 0x27, 0xfe, 0x54, 0x9e, 0x61, + 0x3c, 0x00, 0x30, 0x2a, 0x00, 0x00, 0x30, 0x27, + 0xfe, 0x54, 0x07, 0x4f, 0x3f, 0x18, 0x20, 0x37, + 0x01, 0x30, 0x05, 0x28, 0x9f, 0x63, 0xe9, 0xd3, + 0x05, 0x48, 0xff, 0x32, 0x01, 0x32, 0x90, 0x62, + 0xf0, 0xbd, 0x18, 0xdb, 0x01, 0x00, 0xbe, 0xba, + 0x00, 0x00, 0x30, 0x80, 0x07, 0x00, 0x06, 0x6c, + 0x01, 0x00, 0x01, 0x49, 0x48, 0x60, 0x70, 0x47, + 0x00, 0x00, 0x04, 0x6c, 0x01, 0x00, 0x05, 0x49, + 0x08, 0x5c, 0x3c, 0x00, 0x6c, 0x2a, 0x00, 0x00, + 0x05, 0x49, 0x49, 0x68, 0x40, 0x18, 0xc0, 0x06, + 0xc0, 0x0e, 0x04, 0x49, 0x20, 0x30, 0x48, 0x72, + 0x70, 0x47, 0x00, 0x00, 0xa0, 0x57, 0x01, 0x00, + 0x04, 0x6c, 0x01, 0x00, 0x00, 0x80, 0x07, 0x00, + 0x80, 0xb5, 0x15, 0x21, 0x84, 0x20, 0xfe, 0xf7, + 0x07, 0xfc, 0x80, 0xbd, 0xf8, 0xb5, 0x43, 0x48, + 0x84, 0x68, 0x03, 0x34, 0x42, 0x4d, 0x04, 0xe0, + 0x20, 0x1c, 0x10, 0xf0, 0x3c, 0x00, 0xa8, 0x2a, + 0x00, 0x00, 0xb9, 0xf8, 0x00, 0x28, 0x71, 0xd1, + 0x28, 0x69, 0xc0, 0x07, 0xf7, 0xd5, 0x3e, 0x48, + 0x28, 0x60, 0x3e, 0x4a, 0x14, 0x1c, 0x20, 0x34, + 0x20, 0x79, 0x00, 0x90, 0x3c, 0x23, 0x3c, 0x49, + 0x58, 0x43, 0x45, 0x18, 0x28, 0x79, 0xff, 0xf7, + 0xcc, 0xff, 0x28, 0x1c, 0x3a, 0x49, 0x08, 0x30, + 0x48, 0x60, 0x01, 0x26, 0x08, 0x1c, 0x06, 0x60, + 0x68, 0x6a, 0x00, 0x28, 0x0d, 0xd0, 0x3c, 0x00, + 0xe4, 0x2a, 0x00, 0x00, 0xa9, 0x6a, 0x92, 0x6a, + 0x35, 0x4b, 0x9f, 0x68, 0xd7, 0x1b, 0x1a, 0x68, + 0x51, 0x18, 0x79, 0x18, 0x8a, 0x42, 0x5a, 0x68, + 0x00, 0xd8, 0x00, 0xe0, 0x01, 0x32, 0x06, 0xc0, + 0xe8, 0x6a, 0xfe, 0xf7, 0x87, 0xff, 0x2d, 0x49, + 0xe8, 0x6a, 0x48, 0x60, 0x30, 0x1c, 0x0e, 0x60, + 0x66, 0x79, 0x1f, 0xe0, 0x2b, 0x48, 0x46, 0x61, + 0x04, 0x7f, 0x29, 0x49, 0x20, 0x1c, 0x50, 0x39, + 0x3c, 0x00, 0x20, 0x2b, 0x00, 0x00, 0x89, 0x6a, + 0xfd, 0xf7, 0x5a, 0xfc, 0x00, 0x98, 0x84, 0x42, + 0x10, 0xd0, 0x3c, 0x20, 0x22, 0x49, 0x60, 0x43, + 0x40, 0x18, 0x87, 0x69, 0x00, 0x2f, 0x09, 0xd0, + 0x00, 0x21, 0x20, 0x30, 0x01, 0x70, 0x7e, 0x23, + 0xdb, 0x43, 0x02, 0x21, 0x00, 0x22, 0x20, 0x1c, + 0xfd, 0xf7, 0x4c, 0xfc, 0x01, 0x20, 0xa0, 0x40, + 0x86, 0x43, 0x00, 0x2e, 0xdd, 0xd1, 0xe9, 0x69, + 0x00, 0x29, 0x3c, 0x00, 0x5c, 0x2b, 0x00, 0x00, + 0x03, 0xd0, 0x30, 0x20, 0x40, 0x5d, 0xfd, 0xf7, + 0x3a, 0xfc, 0x16, 0x4c, 0x50, 0x3c, 0x60, 0x6a, + 0x00, 0x28, 0x03, 0xd0, 0x0a, 0x21, 0x84, 0x20, + 0xfe, 0xf7, 0x96, 0xfb, 0x20, 0x35, 0x28, 0x78, + 0x01, 0x28, 0x03, 0xd0, 0x0b, 0x21, 0x84, 0x20, + 0xfe, 0xf7, 0x8e, 0xfb, 0x02, 0x20, 0x28, 0x70, + 0xe0, 0x68, 0x01, 0x30, 0x00, 0xe0, 0x07, 0xe0, + 0xe0, 0x60, 0x00, 0x98, 0x3c, 0x00, 0x98, 0x2b, + 0x00, 0x00, 0x20, 0x70, 0x00, 0x98, 0x60, 0x70, + 0x0a, 0x48, 0x00, 0x68, 0x60, 0x63, 0xf8, 0xbd, + 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x40, + 0x07, 0x00, 0x01, 0x00, 0x00, 0x01, 0x30, 0x80, + 0x07, 0x00, 0x18, 0xdb, 0x01, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x54, 0x6c, 0x01, 0x00, 0x00, 0xa0, + 0x07, 0x00, 0x78, 0x6e, 0x01, 0x00, 0x3c, 0x22, + 0x3c, 0x23, 0x4a, 0x43, 0x09, 0x49, 0x3c, 0x00, + 0xd4, 0x2b, 0x00, 0x00, 0xb0, 0xb5, 0x54, 0x18, + 0x58, 0x43, 0x45, 0x18, 0x21, 0x1c, 0x38, 0x22, + 0x28, 0x1c, 0xfd, 0xf7, 0xe5, 0xfc, 0xa0, 0x6b, + 0x00, 0x78, 0xa9, 0x6b, 0x08, 0x70, 0x00, 0x20, + 0x20, 0x34, 0x20, 0x70, 0xb0, 0xbd, 0x00, 0x00, + 0x18, 0xdb, 0x01, 0x00, 0x3c, 0x23, 0x07, 0x49, + 0x58, 0x43, 0x10, 0xb5, 0x44, 0x18, 0x20, 0x34, + 0x20, 0x78, 0x02, 0x28, 0x03, 0xd1, 0x0d, 0x21, + 0x3c, 0x00, 0x10, 0x2c, 0x00, 0x00, 0x84, 0x20, + 0xfe, 0xf7, 0x47, 0xfb, 0x00, 0x20, 0x20, 0x70, + 0x10, 0xbd, 0x18, 0xdb, 0x01, 0x00, 0xff, 0xb5, + 0x3c, 0x20, 0x48, 0x43, 0x1a, 0x49, 0x81, 0xb0, + 0x44, 0x18, 0x26, 0x1c, 0x20, 0x36, 0x30, 0x78, + 0x15, 0x1c, 0x0f, 0x9f, 0x02, 0x28, 0x03, 0xd1, + 0x04, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0x31, 0xfb, + 0x01, 0x20, 0x30, 0x70, 0x25, 0x71, 0x0b, 0x99, + 0x30, 0x22, 0x3c, 0x00, 0x4c, 0x2c, 0x00, 0x00, + 0x61, 0x80, 0x0a, 0x99, 0xe1, 0x62, 0x0d, 0x99, + 0xa1, 0x61, 0x0c, 0x99, 0xe1, 0x61, 0x0e, 0x99, + 0x61, 0x62, 0xa7, 0x62, 0x01, 0x99, 0x11, 0x55, + 0x7e, 0x21, 0xc9, 0x43, 0x61, 0x63, 0x04, 0x99, + 0x00, 0x29, 0x00, 0xd1, 0x00, 0x20, 0x06, 0x1c, + 0x28, 0x1c, 0x08, 0xf0, 0x8b, 0xf8, 0x00, 0x28, + 0x01, 0xd0, 0x02, 0x20, 0x00, 0xe0, 0x00, 0x20, + 0xa1, 0x6b, 0x30, 0x43, 0x3c, 0x00, 0x88, 0x2c, + 0x00, 0x00, 0x08, 0x70, 0x05, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0x18, 0xdb, 0x01, 0x00, 0x80, 0xb5, + 0x14, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0x03, 0xfb, + 0x80, 0xbd, 0x01, 0x48, 0x40, 0x78, 0x70, 0x47, + 0x00, 0x00, 0x04, 0x6c, 0x01, 0x00, 0x02, 0x48, + 0x00, 0x69, 0xc0, 0x07, 0xc0, 0x0f, 0x70, 0x47, + 0x00, 0x00, 0x00, 0x40, 0x07, 0x00, 0x01, 0x1c, + 0x3c, 0x23, 0x04, 0x4a, 0x59, 0x43, 0x3c, 0x00, + 0xc4, 0x2c, 0x00, 0x00, 0x89, 0x18, 0x20, 0x31, + 0x09, 0x78, 0x01, 0x20, 0x00, 0x29, 0x00, 0xd0, + 0x00, 0x20, 0x70, 0x47, 0x18, 0xdb, 0x01, 0x00, + 0x08, 0x48, 0x40, 0x6a, 0x00, 0x28, 0x0a, 0xd1, + 0x07, 0x4a, 0x00, 0x21, 0x20, 0x23, 0x9b, 0x5c, + 0x02, 0x2b, 0x04, 0xd0, 0x01, 0x31, 0x3c, 0x32, + 0x05, 0x29, 0xf7, 0xd3, 0x70, 0x47, 0x01, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x04, 0x6c, 0x01, 0x00, + 0x3c, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x18, 0xdb, + 0x01, 0x00, 0xf8, 0xb5, 0x0e, 0x1c, 0x04, 0x1c, + 0x17, 0x1c, 0xfe, 0xf7, 0x82, 0xfe, 0x20, 0x1c, + 0x11, 0x4c, 0x60, 0x60, 0x01, 0x20, 0x20, 0x60, + 0x10, 0x4d, 0x68, 0x69, 0x01, 0x30, 0x68, 0x61, + 0x68, 0x6a, 0x00, 0x28, 0x03, 0xd0, 0x07, 0x21, + 0x84, 0x20, 0xfe, 0xf7, 0xba, 0xfa, 0xa0, 0x68, + 0x40, 0x07, 0x03, 0xd5, 0x06, 0x21, 0x84, 0x20, + 0xfe, 0xf7, 0x3c, 0x00, 0x3c, 0x2d, 0x00, 0x00, + 0xb3, 0xfa, 0x08, 0x48, 0x00, 0x69, 0x00, 0x28, + 0x03, 0xda, 0xaa, 0x21, 0x84, 0x20, 0xfe, 0xf7, + 0xab, 0xfa, 0x02, 0x20, 0x68, 0x62, 0xae, 0x60, + 0x2f, 0x70, 0xf8, 0xbd, 0x00, 0x30, 0x07, 0x00, + 0x04, 0x6c, 0x01, 0x00, 0x00, 0x40, 0x07, 0x00, + 0x04, 0x4a, 0x51, 0x80, 0x10, 0x71, 0x03, 0x48, + 0x03, 0x49, 0x08, 0x30, 0x48, 0x60, 0x01, 0x20, + 0x08, 0x60, 0x70, 0x47, 0x3c, 0x00, 0x78, 0x2d, + 0x00, 0x00, 0x3c, 0x6c, 0x01, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x00, 0x21, 0x00, 0x23, 0x05, 0xe0, + 0x02, 0x89, 0x43, 0x60, 0xc0, 0x68, 0x51, 0x18, + 0x09, 0x04, 0x09, 0x0c, 0x00, 0x28, 0xf7, 0xd1, + 0x04, 0x31, 0x08, 0x04, 0x00, 0x0c, 0x70, 0x47, + 0x00, 0x00, 0x02, 0x4a, 0x51, 0x6b, 0x08, 0x43, + 0x50, 0x63, 0x70, 0x47, 0x00, 0x00, 0x04, 0x6c, + 0x01, 0x00, 0x38, 0xb5, 0x0a, 0x4c, 0x3c, 0x00, + 0xb4, 0x2d, 0x00, 0x00, 0x22, 0x1c, 0x20, 0x32, + 0x95, 0x79, 0x00, 0xab, 0x1d, 0x70, 0xd2, 0x79, + 0x5a, 0x70, 0x03, 0x68, 0x40, 0x68, 0x06, 0x4a, + 0x50, 0x65, 0x05, 0x48, 0x13, 0x65, 0x50, 0x30, + 0x81, 0x60, 0x00, 0xab, 0x18, 0x88, 0xe0, 0x84, + 0x38, 0xbd, 0x00, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x04, 0x6c, 0x01, 0x00, 0x98, 0xb5, 0x0d, 0x4c, + 0x20, 0x1c, 0x20, 0x30, 0x81, 0x79, 0x00, 0xab, + 0x3c, 0x00, 0xf0, 0x2d, 0x00, 0x00, 0x19, 0x70, + 0xc0, 0x79, 0x58, 0x70, 0x0a, 0x48, 0x00, 0xf0, + 0xec, 0xf8, 0x09, 0x49, 0x00, 0x20, 0x48, 0x62, + 0xff, 0xf7, 0x69, 0xff, 0x00, 0x28, 0x03, 0xd0, + 0x12, 0x21, 0x84, 0x20, 0xfe, 0xf7, 0x49, 0xfa, + 0x00, 0xab, 0x18, 0x88, 0xe0, 0x84, 0x98, 0xbd, + 0x00, 0x00, 0x00, 0x10, 0x07, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x04, 0x6c, 0x01, 0x00, 0x03, 0x48, + 0x01, 0x7a, 0x3c, 0x00, 0x2c, 0x2e, 0x00, 0x00, + 0xfe, 0x22, 0x91, 0x43, 0x0a, 0x31, 0x01, 0x72, + 0x70, 0x47, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, + 0x90, 0xb5, 0x0e, 0x4c, 0x85, 0xb0, 0xa0, 0x78, + 0x02, 0x28, 0x14, 0xd1, 0x03, 0x20, 0xa0, 0x70, + 0x0b, 0x49, 0x00, 0x20, 0x00, 0x22, 0x04, 0x92, + 0x02, 0x90, 0x03, 0x91, 0xe1, 0x88, 0x01, 0x22, + 0x01, 0x92, 0x00, 0x91, 0x61, 0x78, 0x20, 0x78, + 0x22, 0x69, 0xe3, 0x68, 0x3c, 0x00, 0x68, 0x2e, + 0x00, 0x00, 0x08, 0xf0, 0x94, 0xfd, 0x04, 0x48, + 0x09, 0xf0, 0x7f, 0xf9, 0x05, 0xb0, 0x90, 0xbd, + 0x00, 0x00, 0xb4, 0x79, 0x01, 0x00, 0xad, 0xb6, + 0x00, 0x00, 0x71, 0xb6, 0x00, 0x00, 0xb0, 0xb5, + 0x0c, 0x4d, 0xac, 0x79, 0x0c, 0x49, 0x09, 0x78, + 0x00, 0x29, 0x03, 0xd0, 0x01, 0x29, 0x0e, 0xd0, + 0x02, 0x29, 0x08, 0xd1, 0xc2, 0x88, 0x00, 0x2a, + 0x09, 0xd0, 0x01, 0x23, 0x81, 0x68, 0x3c, 0x00, + 0xa4, 0x2e, 0x00, 0x00, 0x02, 0x20, 0x0f, 0xf0, + 0xc1, 0xf8, 0x03, 0xe0, 0x02, 0x21, 0x86, 0x20, + 0xfe, 0xf7, 0xf8, 0xf9, 0xac, 0x71, 0xb0, 0xbd, + 0x20, 0x10, 0x07, 0x00, 0xa0, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x68, 0x07, 0x49, 0x4a, 0x60, + 0x03, 0x79, 0xca, 0x78, 0xcb, 0x70, 0x00, 0x79, + 0x90, 0x42, 0x06, 0xd0, 0x03, 0x48, 0x14, 0x30, + 0x00, 0x89, 0x07, 0xf0, 0x27, 0xfe, 0x06, 0xf0, + 0x3c, 0x00, 0xe0, 0x2e, 0x00, 0x00, 0xab, 0xfa, + 0x80, 0xbd, 0x84, 0x66, 0x01, 0x00, 0x70, 0xb5, + 0x16, 0x4c, 0x15, 0x4d, 0xa0, 0x78, 0x00, 0x26, + 0x98, 0x3d, 0x01, 0x28, 0x03, 0xd1, 0x28, 0x69, + 0x08, 0xf0, 0xfb, 0xfc, 0xa6, 0x70, 0x60, 0x68, + 0x01, 0x28, 0x03, 0xd0, 0x00, 0x21, 0x28, 0x69, + 0x00, 0xf0, 0xff, 0xfb, 0x0e, 0x48, 0x29, 0x69, + 0x0c, 0xf0, 0x31, 0xfa, 0x01, 0x20, 0x0c, 0xf0, + 0xe4, 0xf8, 0x3c, 0x00, 0x1c, 0x2f, 0x00, 0x00, + 0xe0, 0x78, 0x01, 0x28, 0x02, 0xd0, 0x01, 0x20, + 0x60, 0x70, 0x00, 0xe0, 0x66, 0x70, 0x06, 0x48, + 0x14, 0x30, 0x41, 0x68, 0x01, 0x29, 0x06, 0xd1, + 0x06, 0x60, 0x41, 0x6f, 0x00, 0x29, 0x02, 0xd0, + 0x00, 0x20, 0xfd, 0xf7, 0x4c, 0xfa, 0x70, 0xbd, + 0x84, 0x66, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x30, 0xb5, 0x00, 0x22, 0x00, 0x23, 0x01, 0x25, + 0x2c, 0x1c, 0x94, 0x40, 0x3c, 0x00, 0x58, 0x2f, + 0x00, 0x00, 0x04, 0x40, 0x01, 0xd0, 0xca, 0x54, + 0x01, 0x33, 0x01, 0x32, 0x0e, 0x2a, 0xf6, 0xdb, + 0x18, 0x1c, 0x30, 0xbd, 0x00, 0x00, 0xff, 0xb5, + 0x01, 0x27, 0x00, 0x26, 0x05, 0x1c, 0x02, 0x20, + 0x81, 0xb0, 0x00, 0x90, 0x00, 0x2d, 0x18, 0xd0, + 0x28, 0x78, 0xff, 0x28, 0x15, 0xd0, 0x00, 0x24, + 0x10, 0xe0, 0x28, 0x19, 0x80, 0x78, 0x0a, 0x99, + 0x00, 0x29, 0x01, 0xd0, 0x01, 0x06, 0x3c, 0x00, + 0x94, 0x2f, 0x00, 0x00, 0x08, 0xd5, 0x07, 0xf0, + 0xe9, 0xfe, 0x0e, 0x28, 0x03, 0xd0, 0x01, 0x21, + 0x81, 0x40, 0x0e, 0x43, 0x00, 0xe0, 0x00, 0x27, + 0x01, 0x34, 0x68, 0x78, 0xa0, 0x42, 0xeb, 0xdc, + 0x00, 0x98, 0x02, 0x9d, 0x01, 0x38, 0x00, 0x90, + 0xdf, 0xd1, 0x03, 0x98, 0x31, 0x1c, 0x81, 0x43, + 0x02, 0xd0, 0x03, 0x98, 0x06, 0x40, 0x00, 0x27, + 0x04, 0x98, 0x06, 0x60, 0x05, 0xb0, 0x38, 0x1c, + 0x3c, 0x00, 0xd0, 0x2f, 0x00, 0x00, 0xf0, 0xbd, + 0x00, 0x00, 0x02, 0x21, 0x01, 0x60, 0x64, 0x21, + 0x01, 0xe0, 0x01, 0x39, 0x02, 0xd0, 0x02, 0x68, + 0x92, 0x07, 0xfa, 0xd4, 0x01, 0x20, 0x00, 0x29, + 0x00, 0xd1, 0x00, 0x20, 0x70, 0x47, 0x10, 0xb5, + 0x00, 0x20, 0xc4, 0x43, 0x05, 0x4b, 0x02, 0x22, + 0x01, 0x01, 0x5a, 0x50, 0xc9, 0x18, 0x8c, 0x60, + 0x01, 0x30, 0x08, 0x28, 0xf8, 0xdb, 0x10, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x30, 0x00, 0x00, + 0x00, 0x30, 0x07, 0x00, 0xf0, 0xb5, 0x05, 0x1c, + 0x60, 0x35, 0xc7, 0x6a, 0x04, 0x1c, 0x28, 0x7b, + 0x00, 0x2f, 0x8b, 0xb0, 0x15, 0xd0, 0x08, 0x28, + 0x15, 0xd2, 0x02, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, + 0x9f, 0x44, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, + 0x09, 0x09, 0x0c, 0x0c, 0x01, 0x26, 0x00, 0x21, + 0x09, 0xe0, 0x00, 0x26, 0x06, 0xe0, 0x02, 0x26, + 0x02, 0x21, 0x04, 0xe0, 0x3c, 0x00, 0x48, 0x30, + 0x00, 0x00, 0x03, 0x26, 0x03, 0x21, 0x01, 0xe0, + 0x04, 0x26, 0x01, 0x21, 0x8c, 0x22, 0x12, 0x59, + 0x07, 0x91, 0x26, 0x49, 0x06, 0x90, 0x04, 0x91, + 0x00, 0x20, 0x03, 0x90, 0x05, 0x97, 0x08, 0x92, + 0xe0, 0x69, 0x22, 0x69, 0x21, 0x1c, 0x70, 0x31, + 0x01, 0x91, 0x21, 0x49, 0x00, 0x90, 0x70, 0x00, + 0x40, 0x18, 0x60, 0x30, 0x02, 0x92, 0x03, 0x88, + 0x59, 0x1c, 0x01, 0x80, 0x1e, 0x48, 0x3c, 0x00, + 0x84, 0x30, 0x00, 0x00, 0x02, 0x88, 0xa1, 0x68, + 0x0a, 0xa8, 0x09, 0xf0, 0xe1, 0xff, 0x60, 0x60, + 0xe8, 0x7a, 0xa1, 0x6a, 0xc9, 0x07, 0x00, 0x07, + 0x00, 0x0e, 0xc9, 0x0d, 0x08, 0x43, 0x61, 0x6a, + 0x22, 0x69, 0xc9, 0x07, 0x89, 0x0d, 0x01, 0x43, + 0x01, 0x20, 0x00, 0x2a, 0x00, 0xd1, 0x00, 0x20, + 0x80, 0x03, 0x08, 0x43, 0x21, 0x6a, 0xc9, 0x03, + 0x08, 0x43, 0x08, 0x21, 0x08, 0x43, 0x0a, 0x99, + 0x3c, 0x00, 0xc0, 0x30, 0x00, 0x00, 0x08, 0x80, + 0x20, 0x1c, 0xfe, 0xf7, 0x98, 0xfe, 0x20, 0x69, + 0x00, 0x28, 0x04, 0xd1, 0x20, 0x1c, 0x0a, 0xf0, + 0x82, 0xf9, 0x0b, 0xb0, 0xf0, 0xbd, 0x80, 0x79, + 0x06, 0x28, 0x01, 0xd9, 0xfe, 0xf7, 0x0f, 0xf9, + 0x20, 0x69, 0x06, 0x49, 0x80, 0x79, 0x80, 0x00, + 0x09, 0x58, 0x20, 0x1c, 0xfd, 0xf7, 0x74, 0xf9, + 0xef, 0xe7, 0x79, 0x2f, 0x01, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x3c, 0x00, 0xfc, 0x30, 0x00, 0x00, + 0x08, 0x61, 0x01, 0x00, 0x74, 0x57, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x58, 0x30, 0x8a, 0xb0, + 0x0e, 0xf0, 0x7c, 0xfe, 0x22, 0x1c, 0x80, 0x32, + 0x51, 0x68, 0x00, 0x29, 0x01, 0xd0, 0x11, 0x7a, + 0x07, 0xe0, 0x00, 0x28, 0x04, 0xd0, 0x80, 0x69, + 0x80, 0x07, 0x01, 0xd5, 0x03, 0x21, 0x00, 0xe0, + 0x01, 0x21, 0xd2, 0x68, 0x07, 0x91, 0x22, 0x49, + 0x00, 0x20, 0x08, 0x92, 0x3c, 0x00, 0x38, 0x31, + 0x00, 0x00, 0x04, 0x91, 0x00, 0x22, 0x05, 0x92, + 0x06, 0x90, 0x03, 0x90, 0xe0, 0x69, 0x22, 0x69, + 0x00, 0x90, 0x21, 0x1c, 0x70, 0x31, 0x1c, 0x48, + 0x01, 0x91, 0x02, 0x92, 0x03, 0x89, 0x59, 0x1c, + 0x01, 0x81, 0x1a, 0x48, 0x02, 0x88, 0xa1, 0x68, + 0x09, 0xa8, 0x09, 0xf0, 0x76, 0xff, 0x60, 0x60, + 0x6b, 0x20, 0x00, 0x5d, 0xa1, 0x6a, 0x22, 0x69, + 0xc9, 0x07, 0x00, 0x07, 0x00, 0x0e, 0x3c, 0x00, + 0x74, 0x31, 0x00, 0x00, 0xc9, 0x0d, 0x01, 0x43, + 0x01, 0x20, 0x00, 0x2a, 0x00, 0xd1, 0x00, 0x20, + 0x80, 0x03, 0x08, 0x43, 0x09, 0x99, 0x08, 0x80, + 0x20, 0x1c, 0xfe, 0xf7, 0x35, 0xfe, 0x20, 0x69, + 0x00, 0x28, 0x04, 0xd1, 0x20, 0x1c, 0x0a, 0xf0, + 0x1f, 0xf9, 0x0a, 0xb0, 0x10, 0xbd, 0x80, 0x79, + 0x06, 0x28, 0x01, 0xd9, 0xfe, 0xf7, 0xac, 0xf8, + 0x20, 0x69, 0x07, 0x49, 0x80, 0x79, 0x80, 0x00, + 0x3c, 0x00, 0xb0, 0x31, 0x00, 0x00, 0x09, 0x58, + 0x20, 0x1c, 0xfd, 0xf7, 0x11, 0xf9, 0xef, 0xe7, + 0x00, 0x00, 0xbd, 0x2f, 0x01, 0x00, 0x24, 0x6a, + 0x01, 0x00, 0x08, 0x61, 0x01, 0x00, 0x74, 0x57, + 0x01, 0x00, 0x3e, 0xb5, 0x05, 0x1c, 0x00, 0x69, + 0x04, 0x21, 0x07, 0xf0, 0xd2, 0xfa, 0x00, 0x28, + 0x09, 0xd0, 0x42, 0x78, 0x02, 0x32, 0x01, 0x1c, + 0x68, 0x46, 0xfd, 0xf7, 0x88, 0xf9, 0xe8, 0x6a, + 0x6c, 0x46, 0x3c, 0x00, 0xec, 0x31, 0x00, 0x00, + 0x02, 0x90, 0x00, 0xe0, 0x00, 0x24, 0x28, 0x1c, + 0x14, 0x30, 0x02, 0xf0, 0x03, 0xfb, 0x00, 0x28, + 0x04, 0xd0, 0x21, 0x1c, 0x28, 0x1c, 0x05, 0xf0, + 0xa5, 0xfe, 0x3e, 0xbd, 0x00, 0x2c, 0xfc, 0xd0, + 0x02, 0x49, 0x20, 0x1c, 0x49, 0x69, 0xfd, 0xf7, + 0xe2, 0xf8, 0xf6, 0xe7, 0x44, 0x7d, 0x01, 0x00, + 0x70, 0xb5, 0x1e, 0x1c, 0x18, 0x23, 0x58, 0x43, + 0x06, 0x4b, 0x04, 0x9d, 0x3c, 0x00, 0x28, 0x32, + 0x00, 0x00, 0x19, 0x50, 0xc4, 0x18, 0x00, 0x20, + 0x60, 0x61, 0x62, 0x60, 0xa6, 0x60, 0xe5, 0x60, + 0x0f, 0xf0, 0xb9, 0xfd, 0x20, 0x61, 0x70, 0xbd, + 0x00, 0x00, 0xb8, 0x7d, 0x01, 0x00, 0x02, 0x4a, + 0x01, 0x1c, 0x90, 0x69, 0x91, 0x61, 0x70, 0x47, + 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, 0x01, 0x48, + 0x40, 0x6b, 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x04, 0x49, 0x04, 0x4b, 0x3c, 0x00, + 0x64, 0x32, 0x00, 0x00, 0xca, 0x68, 0x09, 0x69, + 0x5c, 0x3b, 0x5b, 0x68, 0xc9, 0x1a, 0x41, 0x43, + 0x50, 0x18, 0x70, 0x47, 0xa0, 0x7d, 0x01, 0x00, + 0x01, 0x48, 0x00, 0x78, 0x70, 0x47, 0x00, 0x00, + 0x78, 0x69, 0x01, 0x00, 0x80, 0xb5, 0x06, 0x22, + 0x01, 0x49, 0xfd, 0xf7, 0x35, 0xf9, 0x80, 0xbd, + 0xfe, 0x67, 0x01, 0x00, 0xf0, 0xb5, 0x89, 0xb0, + 0x00, 0x93, 0x16, 0x4f, 0x13, 0x1c, 0x0e, 0x1c, + 0x3c, 0x00, 0xa0, 0x32, 0x00, 0x00, 0x04, 0x1c, + 0x3a, 0x1c, 0x01, 0xf0, 0x62, 0xff, 0x01, 0xa9, + 0x06, 0xa8, 0xa2, 0x68, 0x02, 0xf0, 0x0b, 0xf9, + 0x01, 0xaa, 0x06, 0xa9, 0x38, 0x1c, 0x63, 0x6a, + 0x02, 0xf0, 0x81, 0xfc, 0x05, 0x1c, 0x01, 0x28, + 0x14, 0xd1, 0x0c, 0x48, 0xfc, 0x21, 0xc8, 0x51, + 0x38, 0x1c, 0x02, 0xf0, 0x0c, 0xf8, 0x03, 0x21, + 0x30, 0x1c, 0x07, 0xf0, 0x52, 0xfa, 0x00, 0x28, + 0x07, 0xd0, 0x3c, 0x00, 0xdc, 0x32, 0x00, 0x00, + 0x80, 0x78, 0x00, 0xf0, 0x33, 0xfc, 0x20, 0x1c, + 0x10, 0x30, 0x0e, 0xf0, 0x47, 0xfd, 0x00, 0xe0, + 0x00, 0x25, 0x28, 0x1c, 0x09, 0xb0, 0xf0, 0xbd, + 0xf4, 0x67, 0x01, 0x00, 0xc1, 0x38, 0x00, 0x00, + 0x10, 0xb5, 0x07, 0x4c, 0x06, 0x48, 0x06, 0x22, + 0x21, 0x1d, 0x08, 0x38, 0xfd, 0xf7, 0xf6, 0xf8, + 0x01, 0xf0, 0xfc, 0xff, 0x00, 0xf0, 0x42, 0xfc, + 0x20, 0x1c, 0x02, 0xf0, 0x3c, 0x00, 0x18, 0x33, + 0x00, 0x00, 0x27, 0xfc, 0x10, 0xbd, 0xf4, 0x67, + 0x01, 0x00, 0x08, 0x49, 0xc9, 0x68, 0x00, 0x29, + 0x0a, 0xd0, 0x06, 0x4a, 0x01, 0x32, 0x51, 0x78, + 0x12, 0x78, 0x48, 0x43, 0x00, 0x2a, 0x01, 0xd1, + 0x08, 0x18, 0x70, 0x47, 0x10, 0x18, 0x70, 0x47, + 0x01, 0x30, 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x04, 0x4b, 0x05, 0x49, 0x00, 0x28, + 0x5a, 0x69, 0x00, 0xd0, 0x01, 0x1c, 0x3c, 0x00, + 0x54, 0x33, 0x00, 0x00, 0x10, 0x1c, 0x59, 0x61, + 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, + 0xb9, 0x75, 0x00, 0x00, 0x07, 0x49, 0x00, 0x20, + 0x0a, 0x78, 0x02, 0x2a, 0x09, 0xd1, 0x0a, 0x7c, + 0x00, 0x2a, 0x05, 0xd1, 0xca, 0x68, 0x00, 0x2a, + 0x03, 0xd0, 0x49, 0x69, 0x00, 0x29, 0x00, 0xd0, + 0x01, 0x20, 0x70, 0x47, 0x78, 0x69, 0x01, 0x00, + 0x0c, 0x4a, 0x80, 0xb5, 0x01, 0x21, 0x51, 0x60, + 0x3c, 0x00, 0x90, 0x33, 0x00, 0x00, 0x09, 0xf0, + 0x6a, 0xf8, 0x09, 0x48, 0x1c, 0x30, 0x81, 0x69, + 0x00, 0x29, 0x07, 0xd0, 0x00, 0x23, 0x83, 0x61, + 0x00, 0x22, 0x00, 0x21, 0x00, 0x20, 0x00, 0xf0, + 0xd2, 0xf8, 0x80, 0xbd, 0x00, 0x22, 0x00, 0x21, + 0x03, 0x48, 0x00, 0xf0, 0x5c, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0x5c, 0x69, 0x01, 0x00, 0x51, 0x35, + 0x00, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, 0x01, 0x28, + 0x16, 0xd1, 0x3c, 0x00, 0xcc, 0x33, 0x00, 0x00, + 0x0e, 0x4d, 0x02, 0x2c, 0x09, 0xd1, 0x00, 0xf0, + 0x2b, 0xfa, 0x00, 0x28, 0x0e, 0xd0, 0x68, 0x69, + 0x00, 0x28, 0x0b, 0xd1, 0x21, 0x1c, 0x13, 0x20, + 0x0c, 0xe0, 0x03, 0x2c, 0xfa, 0xd1, 0x00, 0xf0, + 0xf9, 0xf9, 0x00, 0x28, 0x02, 0xd0, 0x28, 0x7c, + 0x00, 0x28, 0xf3, 0xd0, 0xb0, 0xbd, 0x21, 0x1c, + 0x00, 0x06, 0x00, 0x0e, 0x04, 0xf0, 0x62, 0xfc, + 0xb0, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x34, + 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, 0xb0, 0xb5, + 0x0c, 0x4c, 0x00, 0x25, 0x25, 0x74, 0x65, 0x61, + 0xe5, 0x60, 0x00, 0xf0, 0x3c, 0xfa, 0x00, 0xf0, + 0x34, 0xfa, 0x07, 0x48, 0x1c, 0x38, 0x05, 0x61, + 0x09, 0xf0, 0x33, 0xff, 0x20, 0x78, 0x00, 0x28, + 0x02, 0xd1, 0x04, 0xf0, 0x6e, 0xfa, 0xb0, 0xbd, + 0x02, 0x28, 0xfc, 0xd1, 0x04, 0xf0, 0xa5, 0xfb, + 0xb0, 0xbd, 0x78, 0x69, 0x01, 0x00, 0x3c, 0x00, + 0x44, 0x34, 0x00, 0x00, 0x0c, 0x48, 0x80, 0xb5, + 0x01, 0x78, 0x00, 0x29, 0x12, 0xd0, 0xc0, 0x68, + 0x00, 0x28, 0x0f, 0xd1, 0x08, 0x48, 0x1c, 0x38, + 0x40, 0x69, 0x00, 0x28, 0x0a, 0xd1, 0x07, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x06, 0xd0, 0x00, 0x22, + 0x07, 0x21, 0x10, 0x20, 0x10, 0xf0, 0xa0, 0xf9, + 0x02, 0xf0, 0x2c, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0x78, 0x69, 0x01, 0x00, 0xd4, 0x67, 0x01, 0x00, + 0x3c, 0x00, 0x80, 0x34, 0x00, 0x00, 0xf8, 0xb5, + 0x1d, 0x4e, 0x1c, 0x4d, 0x04, 0x1c, 0xf0, 0x68, + 0x02, 0x27, 0x1c, 0x3d, 0x00, 0x28, 0x07, 0xd0, + 0xe8, 0x68, 0x00, 0x28, 0x04, 0xd0, 0xfd, 0xf7, + 0xc2, 0xfe, 0x00, 0x28, 0x00, 0xd0, 0xbc, 0x43, + 0x00, 0x2c, 0x14, 0xd0, 0x37, 0x70, 0xf0, 0x68, + 0x14, 0x4f, 0x00, 0x28, 0x10, 0xd0, 0xe0, 0x07, + 0x17, 0xd4, 0xfd, 0xf7, 0xb4, 0xfe, 0x00, 0x28, + 0x13, 0xd0, 0x3c, 0x00, 0xbc, 0x34, 0x00, 0x00, + 0x70, 0x69, 0x00, 0x28, 0x06, 0xd1, 0xe8, 0x68, + 0x00, 0x28, 0x01, 0xd0, 0xfd, 0xf7, 0x1a, 0xff, + 0x0d, 0xf0, 0x0a, 0xfa, 0xf8, 0xbd, 0x68, 0x69, + 0x00, 0x28, 0x05, 0xd1, 0x09, 0x48, 0x00, 0x68, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x2c, 0x04, 0xd1, + 0x39, 0x1c, 0x20, 0x1c, 0x0e, 0xf0, 0x52, 0xfd, + 0xf0, 0xe7, 0x04, 0xf0, 0x1d, 0xfb, 0x02, 0xf0, + 0xeb, 0xfb, 0xeb, 0xe7, 0x3c, 0x00, 0xf8, 0x34, + 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, 0x50, 0xc3, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0x05, 0x48, + 0x41, 0x69, 0x00, 0x29, 0x04, 0xd0, 0x40, 0x6a, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x20, 0x70, 0x47, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x06, 0x49, + 0x00, 0x20, 0x48, 0x60, 0x08, 0x60, 0x88, 0x60, + 0x08, 0xf0, 0x9b, 0xff, 0x07, 0x21, 0x3c, 0x00, + 0x34, 0x35, 0x00, 0x00, 0x12, 0x20, 0x22, 0x79, + 0x10, 0xf0, 0x3a, 0xf9, 0x10, 0xbd, 0x00, 0x00, + 0x5c, 0x69, 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, + 0x08, 0x60, 0x70, 0x47, 0xe8, 0x67, 0x01, 0x00, + 0xf8, 0xb5, 0x07, 0x1c, 0x0e, 0x1c, 0x08, 0xf0, + 0xa3, 0xfa, 0x13, 0x4d, 0x04, 0x1c, 0x68, 0x68, + 0x00, 0x28, 0x17, 0xd0, 0x00, 0x2f, 0x02, 0xd0, + 0xa8, 0x68, 0x03, 0x28, 0x13, 0xd3, 0x00, 0x20, + 0x3c, 0x00, 0x70, 0x35, 0x00, 0x00, 0xa8, 0x60, + 0x68, 0x60, 0x21, 0x1c, 0x0f, 0x20, 0x0e, 0xf0, + 0xf0, 0xfe, 0x28, 0x68, 0x00, 0x28, 0x03, 0xd0, + 0x00, 0x2c, 0x06, 0xd1, 0x01, 0x20, 0x02, 0xe0, + 0x01, 0x2c, 0x02, 0xd1, 0x00, 0x20, 0xff, 0xf7, + 0xfa, 0xfe, 0xf8, 0xbd, 0x72, 0x1c, 0x00, 0x21, + 0x04, 0x48, 0x00, 0xf0, 0x68, 0xf8, 0xa8, 0x68, + 0x01, 0x30, 0xa8, 0x60, 0xf5, 0xe7, 0x5c, 0x69, + 0x01, 0x00, 0x3c, 0x00, 0xac, 0x35, 0x00, 0x00, + 0x51, 0x35, 0x00, 0x00, 0x0a, 0x49, 0x80, 0xb5, + 0xca, 0x68, 0x00, 0x2a, 0x0b, 0xd0, 0x42, 0x68, + 0x00, 0x2a, 0x09, 0xd0, 0x00, 0x22, 0x4a, 0x62, + 0x02, 0x68, 0x0a, 0x62, 0x02, 0x68, 0x07, 0x21, + 0x17, 0x20, 0x10, 0xf0, 0xef, 0xf8, 0x80, 0xbd, + 0x01, 0x20, 0x48, 0x62, 0x80, 0xbd, 0x00, 0x00, + 0x78, 0x69, 0x01, 0x00, 0x70, 0xb5, 0x14, 0x4d, + 0x84, 0x6c, 0xe9, 0x68, 0x3c, 0x00, 0xe8, 0x35, + 0x00, 0x00, 0x00, 0x29, 0x17, 0xd0, 0x40, 0x30, + 0xec, 0x61, 0x40, 0x78, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x68, 0x62, 0x28, 0x6a, 0x0e, 0x4e, + 0x00, 0x1b, 0xb0, 0x42, 0x0c, 0xd2, 0x08, 0xf0, + 0x3a, 0xfe, 0x29, 0x6a, 0x40, 0x1a, 0xb0, 0x42, + 0x03, 0xd2, 0x02, 0x22, 0x07, 0x21, 0x13, 0x20, + 0x09, 0xe0, 0x04, 0xf0, 0xb6, 0xfa, 0x70, 0xbd, + 0x07, 0x48, 0xa9, 0x68, 0x0b, 0xf0, 0x3c, 0x00, + 0x24, 0x36, 0x00, 0x00, 0xbd, 0xfe, 0x22, 0x1c, + 0x07, 0x21, 0x16, 0x20, 0x10, 0xf0, 0xc0, 0xf8, + 0x70, 0xbd, 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, + 0xa0, 0x86, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x0a, 0x49, 0x80, 0xb5, 0x00, 0x20, 0x88, 0x61, + 0x08, 0x69, 0x00, 0x28, 0x0c, 0xd0, 0x07, 0x48, + 0x1c, 0x30, 0x00, 0x78, 0x00, 0x28, 0x07, 0xd0, + 0x01, 0xf0, 0xd2, 0xff, 0x02, 0x28, 0x03, 0xd1, + 0x3c, 0x00, 0x60, 0x36, 0x00, 0x00, 0x00, 0xf0, + 0x12, 0xf9, 0x00, 0xf0, 0xbc, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0x5c, 0x69, 0x01, 0x00, 0xf0, 0xb5, + 0x06, 0x1c, 0x0c, 0x1c, 0x15, 0x1c, 0x91, 0xb0, + 0x01, 0xa8, 0x40, 0x21, 0xfc, 0xf7, 0x0d, 0xff, + 0x00, 0x21, 0x68, 0x46, 0xfd, 0xf7, 0xa7, 0xff, + 0x04, 0x90, 0x01, 0xa8, 0x06, 0x22, 0x08, 0x49, + 0xfc, 0xf7, 0x31, 0xff, 0x06, 0x22, 0x02, 0xa8, + 0x02, 0x30, 0x3c, 0x00, 0x9c, 0x36, 0x00, 0x00, + 0x06, 0x49, 0xfc, 0xf7, 0x2b, 0xff, 0x00, 0xab, + 0xdc, 0x76, 0x0c, 0x95, 0x31, 0x1c, 0x01, 0xa8, + 0x07, 0xf0, 0x4e, 0xf8, 0x11, 0xb0, 0xf0, 0xbd, + 0x12, 0x61, 0x01, 0x00, 0xf8, 0x67, 0x01, 0x00, + 0x03, 0x1c, 0x08, 0x1c, 0x19, 0x1c, 0x11, 0x4b, + 0x80, 0xb5, 0x06, 0xd0, 0x04, 0x21, 0x11, 0x80, + 0x04, 0x22, 0x19, 0x1c, 0xfc, 0xf7, 0x12, 0xff, + 0x16, 0xe0, 0x04, 0x22, 0x3c, 0x00, 0xd8, 0x36, + 0x00, 0x00, 0x01, 0x1c, 0x18, 0x1c, 0xfc, 0xf7, + 0x0c, 0xff, 0x09, 0x48, 0x10, 0x38, 0x00, 0x69, + 0x00, 0x28, 0x0c, 0xd0, 0x07, 0x48, 0x0c, 0x30, + 0x00, 0x78, 0x00, 0x28, 0x07, 0xd0, 0x01, 0xf0, + 0x84, 0xff, 0x02, 0x28, 0x03, 0xd1, 0x00, 0xf0, + 0xc4, 0xf8, 0x00, 0xf0, 0x6e, 0xf8, 0x01, 0x20, + 0x80, 0xbd, 0x6c, 0x69, 0x01, 0x00, 0xf8, 0xb5, + 0x04, 0x1c, 0x0f, 0x1c, 0x00, 0x25, 0x3c, 0x00, + 0x14, 0x37, 0x00, 0x00, 0x00, 0x26, 0x01, 0xf0, + 0x73, 0xff, 0x02, 0x28, 0x2f, 0xd1, 0x19, 0x49, + 0x01, 0x2f, 0x08, 0x68, 0x07, 0xd1, 0x02, 0x1c, + 0x22, 0x40, 0x0a, 0xd1, 0x20, 0x43, 0x08, 0x60, + 0xa0, 0x42, 0x06, 0xd1, 0x04, 0xe0, 0x00, 0x28, + 0x03, 0xd0, 0xa0, 0x43, 0x08, 0x60, 0x00, 0xd1, + 0x01, 0x25, 0x48, 0x68, 0x00, 0x28, 0x1a, 0xd1, + 0x00, 0x2d, 0x17, 0xd0, 0x01, 0x20, 0x48, 0x60, + 0x3c, 0x00, 0x50, 0x37, 0x00, 0x00, 0x38, 0x1c, + 0x08, 0xf0, 0x89, 0xfe, 0x0b, 0x48, 0x1c, 0x30, + 0x81, 0x69, 0x00, 0x29, 0x07, 0xd0, 0x00, 0x23, + 0x83, 0x61, 0x00, 0x22, 0x00, 0x21, 0x00, 0x20, + 0xff, 0xf7, 0xf1, 0xfe, 0x06, 0xe0, 0x00, 0x22, + 0x00, 0x21, 0x04, 0x48, 0xff, 0xf7, 0x7b, 0xff, + 0x00, 0xe0, 0x01, 0x26, 0x30, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x5c, 0x69, 0x01, 0x00, 0x51, 0x35, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x37, 0x00, 0x00, + 0x03, 0x1c, 0x08, 0x1c, 0x19, 0x1c, 0x12, 0x4b, + 0x80, 0xb5, 0x06, 0xd0, 0x04, 0x21, 0x11, 0x80, + 0x04, 0x22, 0x19, 0x1c, 0xfc, 0xf7, 0xaa, 0xfe, + 0x18, 0xe0, 0x04, 0x22, 0x01, 0x1c, 0x18, 0x1c, + 0xfc, 0xf7, 0xa4, 0xfe, 0x0a, 0x48, 0x10, 0x30, + 0xc1, 0x68, 0x00, 0x29, 0x0e, 0xd0, 0x00, 0x78, + 0x00, 0x28, 0x0b, 0xd0, 0x01, 0xf0, 0x1e, 0xff, + 0x02, 0x28, 0x07, 0xd1, 0x3c, 0x00, 0xc8, 0x37, + 0x00, 0x00, 0x00, 0xf0, 0x64, 0xf8, 0x00, 0xf0, + 0x2e, 0xf8, 0x00, 0x28, 0x01, 0xd1, 0x09, 0xf0, + 0x7a, 0xfd, 0x01, 0x20, 0x80, 0xbd, 0x68, 0x69, + 0x01, 0x00, 0x10, 0xb5, 0x0a, 0x4c, 0x20, 0x69, + 0x00, 0x28, 0x09, 0xd0, 0xa1, 0x69, 0x00, 0x29, + 0x06, 0xd1, 0x7d, 0x21, 0xc9, 0x00, 0x41, 0x43, + 0x03, 0x22, 0x07, 0x20, 0x0f, 0xf0, 0xe1, 0xfe, + 0x21, 0x69, 0x01, 0x20, 0x00, 0x29, 0x3c, 0x00, + 0x04, 0x38, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x20, + 0x10, 0xbd, 0x00, 0x00, 0x5c, 0x69, 0x01, 0x00, + 0x10, 0xb5, 0x05, 0x4c, 0x00, 0x28, 0x03, 0xd0, + 0xfd, 0xf7, 0x9a, 0xfc, 0xe0, 0x60, 0x10, 0xbd, + 0x01, 0x20, 0x00, 0x21, 0xe1, 0x60, 0x10, 0xbd, + 0x78, 0x69, 0x01, 0x00, 0x0a, 0x48, 0x0a, 0x49, + 0x10, 0xb5, 0xc0, 0x68, 0x1c, 0x39, 0xc9, 0x68, + 0x00, 0x28, 0x03, 0xd0, 0x00, 0x29, 0x01, 0xd0, + 0x3c, 0x00, 0x40, 0x38, 0x00, 0x00, 0x01, 0x24, + 0x00, 0xe0, 0x00, 0x24, 0x00, 0x2c, 0x03, 0xd0, + 0x02, 0x22, 0x07, 0x20, 0x0f, 0xf0, 0xb7, 0xfe, + 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x10, 0xb5, 0x09, 0x4c, 0x00, 0x20, + 0x21, 0x69, 0x00, 0x29, 0x0c, 0xd0, 0x06, 0x49, + 0x1c, 0x31, 0x09, 0x78, 0x00, 0x29, 0x07, 0xd0, + 0x00, 0xf0, 0x09, 0xf8, 0x01, 0x20, 0xa0, 0x61, + 0x20, 0x69, 0x3c, 0x00, 0x7c, 0x38, 0x00, 0x00, + 0x7d, 0x23, 0xdb, 0x00, 0x58, 0x43, 0x10, 0xbd, + 0x5c, 0x69, 0x01, 0x00, 0x80, 0xb5, 0x03, 0x21, + 0x07, 0x20, 0x0f, 0xf0, 0xd1, 0xfe, 0x80, 0xbd, + 0x80, 0xb5, 0x02, 0x21, 0x07, 0x20, 0x0f, 0xf0, + 0xcb, 0xfe, 0x80, 0xbd, 0x06, 0x48, 0x80, 0xb5, + 0x00, 0x78, 0x00, 0x28, 0x01, 0xd0, 0xfd, 0xf7, + 0x29, 0xfd, 0x00, 0x22, 0x07, 0x21, 0x11, 0x20, + 0x0f, 0xf0, 0x7c, 0xff, 0x3c, 0x00, 0xb8, 0x38, + 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x10, 0x1c, + 0x06, 0x4a, 0x51, 0x61, 0x00, 0xf0, 0xa3, 0xf8, + 0x10, 0x20, 0x00, 0x2c, 0x00, 0xd1, 0x11, 0x20, + 0x00, 0x22, 0x07, 0x21, 0x0f, 0xf0, 0x69, 0xff, + 0x10, 0xbd, 0x5c, 0x69, 0x01, 0x00, 0x01, 0x49, + 0x48, 0x62, 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x10, 0xb5, 0x09, 0x4c, 0x3c, 0x00, + 0xf4, 0x38, 0x00, 0x00, 0xe0, 0x69, 0x00, 0x28, + 0x0c, 0xd1, 0xe0, 0x62, 0x01, 0x20, 0xe0, 0x61, + 0x0b, 0xf0, 0x08, 0xfd, 0x0b, 0xf0, 0x74, 0xfe, + 0x01, 0x20, 0x00, 0xf0, 0xb5, 0xf8, 0x0f, 0xf0, + 0x4d, 0xfa, 0x60, 0x63, 0x10, 0xbd, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x05, 0x49, 0x80, 0xb5, + 0x00, 0x20, 0xc8, 0x61, 0x88, 0x63, 0x00, 0xf0, + 0x89, 0xf8, 0x00, 0xf0, 0x01, 0xf9, 0x02, 0xf0, + 0x3c, 0x00, 0x30, 0x39, 0x00, 0x00, 0x91, 0xfb, + 0x80, 0xbd, 0x44, 0x7d, 0x01, 0x00, 0x10, 0xb5, + 0x01, 0x28, 0x38, 0xd1, 0x08, 0x06, 0x00, 0x0e, + 0x05, 0x28, 0x32, 0xd1, 0x1d, 0x4c, 0x20, 0x78, + 0x01, 0x28, 0x09, 0xd0, 0x02, 0x28, 0x1b, 0xd0, + 0x03, 0x28, 0x2a, 0xd1, 0x02, 0xf0, 0x7d, 0xfb, + 0x00, 0xf0, 0x6f, 0xf8, 0x01, 0x20, 0x10, 0xe0, + 0x17, 0x48, 0x21, 0x6b, 0x0b, 0xf0, 0x1b, 0xfd, + 0x0b, 0xf0, 0x3c, 0x00, 0x6c, 0x39, 0x00, 0x00, + 0x41, 0xfe, 0x15, 0x48, 0x00, 0x69, 0x03, 0x28, + 0x01, 0xd3, 0xc0, 0x07, 0x03, 0xd5, 0x01, 0x21, + 0x20, 0x6b, 0x07, 0xf0, 0x19, 0xff, 0x02, 0x20, + 0x00, 0xf0, 0x78, 0xf8, 0x10, 0xbd, 0x0f, 0x48, + 0x00, 0x68, 0x20, 0x64, 0x0a, 0x48, 0x5c, 0x30, + 0xc1, 0x68, 0x02, 0x69, 0x89, 0x18, 0xc1, 0x60, + 0x03, 0xf0, 0xcc, 0xfc, 0x03, 0x20, 0x00, 0xf0, + 0x69, 0xf8, 0x01, 0x20, 0x3c, 0x00, 0xa8, 0x39, + 0x00, 0x00, 0xe0, 0x62, 0x10, 0xbd, 0x09, 0x21, + 0x00, 0xe0, 0x08, 0x21, 0x09, 0x20, 0xfd, 0xf7, + 0x76, 0xfc, 0x10, 0xbd, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, 0xf4, 0x68, + 0x01, 0x00, 0x78, 0x6e, 0x01, 0x00, 0xb0, 0xb5, + 0x0f, 0x4c, 0x20, 0x78, 0x65, 0x1e, 0x01, 0x28, + 0x0f, 0xd1, 0x00, 0x20, 0xff, 0xf7, 0xa1, 0xfc, + 0x0c, 0x49, 0x09, 0x88, 0x49, 0x08, 0x3c, 0x00, + 0xe4, 0x39, 0x00, 0x00, 0x40, 0x1a, 0x0f, 0xf0, + 0x19, 0xf9, 0x00, 0x28, 0x04, 0xd0, 0x28, 0x78, + 0x01, 0x28, 0x07, 0xd0, 0x02, 0x28, 0x05, 0xd0, + 0x20, 0x78, 0x00, 0x28, 0x04, 0xd1, 0x28, 0x78, + 0x03, 0x28, 0x01, 0xd1, 0x01, 0x20, 0xb0, 0xbd, + 0x00, 0x20, 0xb0, 0xbd, 0x45, 0x7d, 0x01, 0x00, + 0xf4, 0x67, 0x01, 0x00, 0x01, 0x49, 0xc8, 0x64, + 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, + 0x3c, 0x00, 0x20, 0x3a, 0x00, 0x00, 0x04, 0x49, + 0x05, 0x4a, 0x89, 0x68, 0x12, 0x6d, 0x01, 0x20, + 0x91, 0x42, 0x00, 0xd3, 0x00, 0x20, 0x70, 0x47, + 0x00, 0x00, 0xf4, 0x68, 0x01, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x10, 0xb5, 0x06, 0x4c, 0x20, 0x6b, + 0x07, 0xf0, 0xf9, 0xfe, 0xa0, 0x6b, 0x00, 0x28, + 0x03, 0xd1, 0x03, 0x48, 0x21, 0x6b, 0x0b, 0xf0, + 0x92, 0xfc, 0x10, 0xbd, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x3c, 0x00, 0x5c, 0x3a, 0x00, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x04, 0x48, 0x00, 0x78, + 0x02, 0x28, 0x01, 0xd0, 0x03, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x44, 0x7d, 0x01, 0x00, 0xf8, 0xb5, 0x07, 0x1c, + 0xff, 0xf7, 0xd0, 0xff, 0x06, 0x1c, 0x01, 0x2f, + 0x26, 0x4d, 0x1f, 0xd0, 0x02, 0x2f, 0x45, 0xd0, + 0x03, 0x2f, 0x12, 0xd1, 0x24, 0x48, 0x25, 0x4b, + 0x00, 0x69, 0x6a, 0x69, 0x3c, 0x00, 0x98, 0x3a, + 0x00, 0x00, 0x41, 0x08, 0x5a, 0x43, 0x23, 0x4b, + 0xd4, 0x18, 0x8c, 0x42, 0x00, 0xd9, 0x0c, 0x1c, + 0x00, 0x2e, 0x05, 0xd0, 0x1e, 0x49, 0x5b, 0x39, + 0x09, 0x78, 0x00, 0x29, 0x00, 0xd1, 0x04, 0x1c, + 0x05, 0x22, 0x21, 0x1c, 0x09, 0x20, 0x0f, 0xf0, + 0x80, 0xfd, 0x18, 0x4a, 0x5c, 0x3a, 0x17, 0x70, + 0xf8, 0xbd, 0xff, 0xf7, 0xd6, 0xfb, 0x00, 0x28, + 0x02, 0xd0, 0x28, 0x69, 0x00, 0x28, 0x3c, 0x00, + 0xd4, 0x3a, 0x00, 0x00, 0x0e, 0xd0, 0x04, 0xf0, + 0xcf, 0xfb, 0x13, 0x4b, 0x69, 0x69, 0x11, 0x4a, + 0x59, 0x43, 0x5c, 0x3a, 0xd2, 0x6b, 0x89, 0x18, + 0x88, 0x42, 0x01, 0xd9, 0x44, 0x1a, 0x04, 0xe0, + 0x00, 0x24, 0x02, 0xe0, 0x04, 0xf0, 0xae, 0xfd, + 0x04, 0x1c, 0x00, 0x2e, 0xdb, 0xd0, 0x09, 0x48, + 0x5b, 0x38, 0x00, 0x78, 0x01, 0x28, 0xd6, 0xd1, + 0x08, 0x4b, 0x9c, 0x42, 0x02, 0xd9, 0x58, 0x42, + 0x3c, 0x00, 0x10, 0x3b, 0x00, 0x00, 0x24, 0x18, + 0xd0, 0xe7, 0x00, 0x24, 0xce, 0xe7, 0x04, 0xf0, + 0xae, 0xfb, 0xca, 0xe7, 0x00, 0x00, 0xf4, 0x68, + 0x01, 0x00, 0xa0, 0x7d, 0x01, 0x00, 0x98, 0x3a, + 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, 0x80, 0xb5, + 0x05, 0x21, 0x09, 0x20, 0x0f, 0xf0, 0x7d, 0xfd, + 0x02, 0x49, 0x00, 0x20, 0x08, 0x70, 0x80, 0xbd, + 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, 0x70, 0xb5, + 0x06, 0x1c, 0x3c, 0x00, 0x4c, 0x3b, 0x00, 0x00, + 0x0d, 0xf0, 0xbc, 0xfa, 0xff, 0xf7, 0xce, 0xfe, + 0x09, 0x4c, 0x0a, 0x48, 0x21, 0x6b, 0x0b, 0xf0, + 0x21, 0xfc, 0x01, 0x25, 0x01, 0x21, 0x30, 0x06, + 0x00, 0x0e, 0xa5, 0x63, 0x07, 0xf0, 0x3a, 0xfe, + 0x05, 0x48, 0x29, 0x02, 0x09, 0x58, 0x00, 0x29, + 0x00, 0xd1, 0x05, 0x61, 0x70, 0xbd, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0xf4, 0x67, 0x01, 0x00, 0x3c, 0x00, 0x88, 0x3b, + 0x00, 0x00, 0x02, 0x4a, 0x11, 0x6c, 0x08, 0x43, + 0x10, 0x64, 0x70, 0x47, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0x80, 0xb5, 0xff, 0xf7, 0xbf, 0xfe, + 0x0b, 0xf0, 0xa1, 0xfb, 0x80, 0xbd, 0x02, 0x4a, + 0x01, 0x1c, 0x10, 0x69, 0x11, 0x61, 0x70, 0x47, + 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, 0xf3, 0xb5, + 0x06, 0x1c, 0x00, 0x20, 0x89, 0xb0, 0xf8, 0x4c, + 0x08, 0x90, 0xe2, 0x69, 0x08, 0x25, 0x3c, 0x00, + 0xc4, 0x3b, 0x00, 0x00, 0x00, 0x2a, 0x03, 0xd0, + 0x06, 0xa9, 0x07, 0xa8, 0xfc, 0xf7, 0x06, 0xfc, + 0x30, 0x1c, 0xf3, 0x4e, 0x00, 0x27, 0x20, 0x36, + 0x82, 0x28, 0x6f, 0xd0, 0x15, 0xdc, 0x01, 0x28, + 0x18, 0xd0, 0x80, 0x28, 0x6b, 0xd1, 0xee, 0x4d, + 0x80, 0x3d, 0xa8, 0x68, 0x01, 0x28, 0x67, 0xd1, + 0x68, 0x68, 0x0f, 0xf0, 0x1b, 0xf8, 0x00, 0x28, + 0x63, 0xd1, 0x01, 0x21, 0x01, 0x20, 0x0d, 0xf0, + 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x9d, 0xf8, + 0x08, 0xf0, 0xdb, 0xfd, 0x0b, 0xb0, 0xf0, 0xbd, + 0x83, 0x28, 0x6d, 0xd0, 0x84, 0x28, 0x55, 0xd1, + 0xe7, 0xe0, 0x0a, 0x98, 0x0a, 0x28, 0x04, 0xd2, + 0x03, 0xa3, 0x1b, 0x18, 0x1b, 0x5a, 0x5b, 0x00, + 0x9f, 0x44, 0xf6, 0xe0, 0x00, 0x00, 0xee, 0x00, + 0x0b, 0x00, 0xf7, 0x00, 0xf7, 0x00, 0xf7, 0x00, + 0xf7, 0x00, 0x2f, 0x00, 0x88, 0x00, 0x8b, 0x00, + 0xad, 0x00, 0x3c, 0x00, 0x3c, 0x3c, 0x00, 0x00, + 0x00, 0xf0, 0x56, 0xfe, 0x00, 0x28, 0x17, 0xd0, + 0xd6, 0x4a, 0x80, 0x3a, 0xd1, 0x6a, 0x06, 0x98, + 0x81, 0x42, 0x16, 0xd0, 0x06, 0x21, 0x00, 0x28, + 0x00, 0xd1, 0x07, 0x21, 0x0d, 0x06, 0x2d, 0x0e, + 0x00, 0x28, 0x0e, 0xd0, 0xcf, 0x4a, 0x01, 0x20, + 0x80, 0x3a, 0x50, 0x65, 0x0f, 0xf0, 0xa0, 0xf8, + 0xcc, 0x4a, 0x80, 0x3a, 0x50, 0x66, 0x04, 0xe0, + 0x00, 0x21, 0x16, 0x20, 0x3c, 0x00, 0x78, 0x3c, + 0x00, 0x00, 0x0f, 0xf0, 0xdc, 0xfc, 0x01, 0x25, + 0x02, 0x20, 0x05, 0x90, 0x2e, 0xe2, 0xc6, 0x48, + 0x80, 0x38, 0x40, 0x6d, 0x00, 0x28, 0x2e, 0xd0, + 0xc6, 0x49, 0x20, 0x69, 0xc4, 0x4d, 0x40, 0x18, + 0x0e, 0xf0, 0xc1, 0xff, 0x00, 0x28, 0x12, 0xd0, + 0x0f, 0xf0, 0x85, 0xf8, 0xc1, 0x49, 0x49, 0x42, + 0x40, 0x18, 0xbd, 0x49, 0x20, 0x61, 0x80, 0x39, + 0x48, 0x6e, 0x40, 0x19, 0x0e, 0xf0, 0x3c, 0x00, + 0xb4, 0x3c, 0x00, 0x00, 0xbb, 0xff, 0x00, 0x28, + 0x11, 0xd0, 0x0a, 0xe0, 0xf7, 0xe0, 0x17, 0xe2, + 0xb2, 0xe0, 0xb0, 0xe0, 0xb6, 0x49, 0x20, 0x69, + 0x80, 0x39, 0x49, 0x6e, 0x40, 0x1a, 0xa8, 0x42, + 0x05, 0xdb, 0xb3, 0x49, 0xb5, 0x4d, 0x80, 0x39, + 0x4f, 0x65, 0x03, 0xf0, 0x27, 0xfb, 0x06, 0x22, + 0x29, 0x1c, 0x16, 0x20, 0x0f, 0xf0, 0x72, 0xfc, + 0x47, 0xe0, 0x95, 0xe0, 0x00, 0xf0, 0xfe, 0xfd, + 0x3c, 0x00, 0xf0, 0x3c, 0x00, 0x00, 0x00, 0x28, + 0x42, 0xd1, 0xaa, 0x4d, 0xc4, 0x3d, 0xef, 0x60, + 0x08, 0xf0, 0x19, 0xfd, 0x03, 0xf0, 0x15, 0xfb, + 0xa8, 0x6a, 0x00, 0x28, 0x02, 0xd0, 0xff, 0xf7, + 0x4c, 0xff, 0xaf, 0x62, 0xa4, 0x48, 0x80, 0x38, + 0x00, 0x68, 0x00, 0x21, 0xff, 0xf7, 0xf9, 0xfc, + 0x08, 0xf0, 0x3f, 0xf9, 0x09, 0x21, 0x16, 0x20, + 0x0f, 0xf0, 0x87, 0xfc, 0x00, 0x22, 0x16, 0x21, + 0x83, 0x20, 0x3c, 0x00, 0x2c, 0x3d, 0x00, 0x00, + 0x0f, 0xf0, 0x40, 0xfd, 0xff, 0xf7, 0x86, 0xfc, + 0x21, 0xe0, 0x00, 0xf0, 0x1b, 0xfe, 0x1e, 0xe0, + 0x06, 0xf0, 0x54, 0xfa, 0x97, 0x4d, 0x80, 0x3d, + 0xa9, 0x6f, 0x40, 0x1a, 0x04, 0x90, 0x06, 0x98, + 0x00, 0x28, 0x01, 0xd0, 0xaf, 0x65, 0x02, 0xe0, + 0xa8, 0x6d, 0x00, 0x28, 0x08, 0xd1, 0x91, 0x48, + 0xc4, 0x38, 0x00, 0x78, 0x80, 0x07, 0x03, 0xd5, + 0x92, 0x48, 0x47, 0x60, 0x3c, 0x00, 0x68, 0x3d, + 0x00, 0x00, 0x00, 0xf0, 0x02, 0xfe, 0x04, 0x98, + 0xff, 0x38, 0x23, 0x38, 0x14, 0x28, 0x02, 0xd2, + 0x01, 0x20, 0xe8, 0x63, 0x53, 0xe0, 0xef, 0x63, + 0x51, 0xe0, 0x87, 0x4a, 0xb5, 0x7a, 0x80, 0x3a, + 0x00, 0x2d, 0x4c, 0xd0, 0x0d, 0xf0, 0x71, 0xff, + 0x00, 0xf0, 0xad, 0xfd, 0x07, 0x1c, 0x82, 0x48, + 0x80, 0x38, 0x40, 0x6f, 0xff, 0x30, 0x5f, 0x30, + 0x0e, 0xf0, 0x3d, 0xff, 0x02, 0x1c, 0x3c, 0x00, + 0xa4, 0x3d, 0x00, 0x00, 0x7e, 0x48, 0x80, 0x38, + 0x40, 0x6d, 0x00, 0x28, 0x1a, 0xd1, 0x00, 0xf0, + 0xf1, 0xfd, 0x00, 0x28, 0x16, 0xd1, 0x04, 0x2d, + 0x02, 0xd1, 0x00, 0x2f, 0x12, 0xd1, 0x1b, 0xe0, + 0x00, 0x2f, 0x06, 0xd0, 0x02, 0x2d, 0x14, 0xd0, + 0x79, 0x48, 0x40, 0x68, 0x00, 0x28, 0x09, 0xd0, + 0x12, 0xe0, 0x00, 0x2a, 0x10, 0xd1, 0x4b, 0x21, + 0xc9, 0x00, 0x01, 0x23, 0x09, 0x22, 0x16, 0x20, + 0x3c, 0x00, 0xe0, 0x3d, 0x00, 0x00, 0x0f, 0xf0, + 0xd6, 0xfc, 0x6e, 0x4a, 0x73, 0x48, 0x80, 0x3a, + 0x11, 0x68, 0x0b, 0xf0, 0xd8, 0xfa, 0x18, 0xe0, + 0x01, 0x21, 0x00, 0x20, 0x01, 0xe0, 0x01, 0x21, + 0x01, 0x20, 0x00, 0xf0, 0x2a, 0xfe, 0x10, 0xe0, + 0x67, 0x4a, 0x6c, 0x49, 0x80, 0x3a, 0x90, 0x6e, + 0x40, 0x18, 0x90, 0x66, 0x01, 0x25, 0x08, 0x95, + 0x8b, 0xe1, 0x04, 0x21, 0x6c, 0xe1, 0x61, 0x4a, + 0x66, 0x48, 0x3c, 0x00, 0x1c, 0x3e, 0x00, 0x00, + 0x80, 0x3a, 0x11, 0x68, 0x0b, 0xf0, 0xaa, 0xfa, + 0x88, 0xe1, 0xaf, 0x60, 0xa8, 0x6f, 0xe8, 0x67, + 0x63, 0x48, 0x01, 0x6d, 0xa9, 0x67, 0x07, 0x9a, + 0x14, 0x20, 0x00, 0x2a, 0x00, 0xd1, 0x00, 0x20, + 0x08, 0x18, 0x12, 0x30, 0xa8, 0x66, 0x70, 0x78, + 0xb0, 0x70, 0x30, 0x78, 0x70, 0x70, 0x02, 0x20, + 0x30, 0x70, 0xa0, 0x69, 0xfc, 0xf7, 0xc2, 0xfa, + 0xef, 0x64, 0xa8, 0x6f, 0x3c, 0x00, 0x58, 0x3e, + 0x00, 0x00, 0xe9, 0x6f, 0x59, 0x4b, 0x40, 0x1a, + 0x98, 0x42, 0x12, 0xd2, 0x68, 0x6d, 0x06, 0x99, + 0x88, 0x42, 0x0e, 0xd0, 0x30, 0x78, 0x02, 0x28, + 0x0b, 0xd8, 0x0e, 0xf0, 0x9c, 0xff, 0xa9, 0x6f, + 0x08, 0x22, 0x40, 0x1a, 0x52, 0x49, 0x09, 0x1a, + 0x3b, 0x1c, 0x16, 0x20, 0x0f, 0xf0, 0x85, 0xfc, + 0x00, 0xe0, 0xaf, 0x65, 0x01, 0x20, 0x05, 0x90, + 0x08, 0x90, 0x43, 0x48, 0x02, 0x25, 0x3c, 0x00, + 0x94, 0x3e, 0x00, 0x00, 0xc4, 0x38, 0xc1, 0x68, + 0x00, 0x29, 0x72, 0xd1, 0x01, 0x21, 0xc1, 0x60, + 0x49, 0x48, 0x00, 0x6b, 0x00, 0x28, 0x6c, 0xd0, + 0x08, 0xf0, 0x66, 0xfc, 0x69, 0xe0, 0x3c, 0x48, + 0x00, 0x22, 0x01, 0x92, 0x80, 0x38, 0x80, 0x68, + 0x01, 0x28, 0x04, 0xd1, 0x38, 0x48, 0x80, 0x38, + 0x87, 0x60, 0x01, 0x20, 0x48, 0xe1, 0x3a, 0x48, + 0x01, 0x23, 0x43, 0x60, 0x34, 0x48, 0xc4, 0x38, + 0x3c, 0x00, 0xd0, 0x3e, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x28, 0x0a, 0xd1, 0x00, 0xf0, 0x25, 0xfe, + 0x00, 0x28, 0x06, 0xd0, 0xff, 0x21, 0x91, 0x31, + 0x01, 0x23, 0x09, 0x22, 0x16, 0x20, 0x0f, 0xf0, + 0x52, 0xfc, 0x2c, 0x49, 0x80, 0x39, 0x48, 0x6f, + 0x89, 0x6f, 0x42, 0x1a, 0x03, 0x92, 0x06, 0xf0, + 0x76, 0xf9, 0x28, 0x49, 0x80, 0x39, 0x89, 0x6f, + 0x03, 0x9a, 0x40, 0x1a, 0x02, 0x90, 0x37, 0x20, + 0x00, 0x01, 0x3c, 0x00, 0x0c, 0x3f, 0x00, 0x00, + 0x10, 0x1a, 0x50, 0x28, 0x0d, 0xd2, 0x23, 0x48, + 0x80, 0x38, 0x40, 0x6d, 0x00, 0x28, 0x04, 0xd1, + 0x02, 0x98, 0xff, 0x38, 0x55, 0x38, 0x14, 0x28, + 0x01, 0xd2, 0x01, 0x22, 0x00, 0xe0, 0x00, 0x22, + 0x01, 0x92, 0x03, 0x9a, 0x01, 0x20, 0xff, 0x3a, + 0x0b, 0x3a, 0x50, 0x2a, 0x00, 0xd3, 0x00, 0x20, + 0x04, 0x90, 0x00, 0x28, 0x0a, 0xd0, 0x17, 0x48, + 0x80, 0x38, 0xc0, 0x6f, 0x3c, 0x00, 0x48, 0x3f, + 0x00, 0x00, 0x08, 0x1a, 0x9b, 0x21, 0xc9, 0x00, + 0x40, 0x1a, 0x14, 0x28, 0x01, 0xd2, 0x01, 0x22, + 0x00, 0xe0, 0x00, 0x22, 0x00, 0x92, 0x00, 0x2a, + 0x11, 0xd0, 0x0f, 0x4d, 0x01, 0x20, 0x80, 0x3d, + 0x68, 0x65, 0x0e, 0xf0, 0x20, 0xff, 0x68, 0x66, + 0x01, 0x25, 0x01, 0x21, 0x16, 0x20, 0x0f, 0xf0, + 0x5e, 0xfb, 0x00, 0x21, 0x16, 0x20, 0x0f, 0xf0, + 0x5a, 0xfb, 0x00, 0xe0, 0xba, 0xe0, 0x3c, 0x00, + 0x84, 0x3f, 0x00, 0x00, 0xf0, 0x79, 0x02, 0x28, + 0x3c, 0xd8, 0x05, 0x4a, 0x80, 0x3a, 0x51, 0x6c, + 0x00, 0x29, 0x37, 0xd1, 0x13, 0x6c, 0x11, 0x1c, + 0x00, 0x2b, 0x33, 0xd1, 0x16, 0xe0, 0x00, 0x00, + 0x24, 0x6d, 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, + 0xc0, 0x5c, 0x15, 0x00, 0x70, 0x99, 0x14, 0x00, + 0xb0, 0x57, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0xe2, 0x04, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, + 0x3c, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x53, 0x07, + 0x00, 0x00, 0x1e, 0x02, 0x00, 0x00, 0xc8, 0x57, + 0x01, 0x00, 0x4a, 0x6d, 0x00, 0x2a, 0x02, 0xd0, + 0xb2, 0x7a, 0x02, 0x2a, 0x15, 0xd1, 0x00, 0x9a, + 0x00, 0x2a, 0x03, 0xd0, 0xca, 0x6d, 0x01, 0x32, + 0xca, 0x65, 0x00, 0xe0, 0xcf, 0x65, 0x01, 0x9a, + 0x00, 0x2a, 0x0b, 0xd0, 0x8a, 0x6f, 0xcb, 0x6f, + 0xd2, 0x1a, 0x5a, 0x4b, 0x9a, 0x42, 0x02, 0xd2, + 0x8a, 0x6d, 0x3c, 0x00, 0xfc, 0x3f, 0x00, 0x00, + 0x01, 0x32, 0x00, 0xe0, 0x01, 0x22, 0x8a, 0x65, + 0x00, 0xe0, 0x8f, 0x65, 0x04, 0x99, 0x00, 0x29, + 0x01, 0xd1, 0x02, 0x28, 0x0b, 0xd9, 0x54, 0x4a, + 0x02, 0x28, 0x1e, 0xd9, 0xd0, 0x6f, 0x61, 0x68, + 0x88, 0x42, 0x1a, 0xd1, 0x91, 0x6f, 0x08, 0x1a, + 0x50, 0x49, 0x88, 0x42, 0x15, 0xdd, 0x4e, 0x4b, + 0x98, 0x6f, 0xe1, 0x68, 0x40, 0x1a, 0x7d, 0x21, + 0xc9, 0x00, 0x88, 0x42, 0x3c, 0x00, 0x38, 0x40, + 0x00, 0x00, 0x0b, 0xdd, 0x61, 0x69, 0x40, 0x1a, + 0x00, 0x28, 0x04, 0xdd, 0x02, 0x11, 0x40, 0x11, + 0x10, 0x18, 0x40, 0x18, 0x01, 0xe0, 0x80, 0x10, + 0x08, 0x18, 0x60, 0x61, 0x58, 0x6f, 0xe0, 0x60, + 0x03, 0x98, 0xff, 0x38, 0x23, 0x38, 0x14, 0x28, + 0x09, 0xd2, 0x02, 0x98, 0xff, 0x38, 0x23, 0x38, + 0x14, 0x28, 0x04, 0xd2, 0x3e, 0x4a, 0x90, 0x6f, + 0x50, 0x64, 0x90, 0x6a, 0x90, 0x64, 0x3c, 0x00, + 0x74, 0x40, 0x00, 0x00, 0x0e, 0xf0, 0x9a, 0xfe, + 0x3a, 0x49, 0x49, 0x6c, 0x40, 0x1a, 0x3b, 0x49, + 0x88, 0x42, 0x01, 0xd9, 0x37, 0x49, 0x4f, 0x64, + 0x39, 0x49, 0x03, 0x98, 0x40, 0x18, 0x14, 0x28, + 0x07, 0xd2, 0x34, 0x49, 0xc8, 0x6b, 0x00, 0x28, + 0x03, 0xd0, 0x88, 0x6f, 0x08, 0x64, 0x88, 0x6a, + 0x88, 0x64, 0x0e, 0xf0, 0x83, 0xfe, 0x2f, 0x49, + 0x09, 0x6c, 0x40, 0x1a, 0x31, 0x49, 0x88, 0x42, + 0x3c, 0x00, 0xb0, 0x40, 0x00, 0x00, 0x01, 0xd9, + 0x2c, 0x48, 0x07, 0x64, 0x04, 0x20, 0x05, 0x90, + 0x08, 0x21, 0x16, 0x20, 0x0f, 0xf0, 0xb9, 0xfa, + 0x28, 0x48, 0x40, 0x6d, 0x00, 0x28, 0x02, 0xd0, + 0x04, 0x99, 0x00, 0x29, 0x08, 0xd0, 0x29, 0x49, + 0x00, 0x28, 0x00, 0xd1, 0x29, 0x49, 0x3b, 0x1c, + 0x06, 0x22, 0x16, 0x20, 0x0f, 0xf0, 0x57, 0xfb, + 0x02, 0x2d, 0x09, 0xd0, 0x06, 0x2d, 0x0a, 0xd0, + 0x07, 0x2d, 0x3c, 0x00, 0xec, 0x40, 0x00, 0x00, + 0x13, 0xd1, 0x07, 0xe0, 0x01, 0x21, 0x16, 0x20, + 0xfd, 0xf7, 0xd6, 0xf8, 0x1e, 0xe0, 0x1a, 0x4a, + 0x57, 0x63, 0x97, 0x63, 0x18, 0x4a, 0x06, 0x98, + 0xd0, 0x62, 0x07, 0x99, 0x11, 0x63, 0x53, 0x6b, + 0x18, 0x43, 0x50, 0x63, 0x90, 0x6b, 0x08, 0x43, + 0x90, 0x63, 0x05, 0x98, 0x00, 0x28, 0x05, 0xd0, + 0x05, 0x98, 0x0c, 0xf0, 0x5f, 0xfa, 0x05, 0x98, + 0x0c, 0xf0, 0xd2, 0xf9, 0x3c, 0x00, 0x28, 0x41, + 0x00, 0x00, 0x08, 0x2d, 0x05, 0xd0, 0x0d, 0x48, + 0x44, 0x38, 0x85, 0x70, 0x28, 0x1c, 0x03, 0xf0, + 0xdc, 0xfd, 0x11, 0x49, 0xe0, 0x69, 0x88, 0x42, + 0x00, 0xd1, 0x61, 0xe5, 0x08, 0x98, 0x00, 0x28, + 0xfb, 0xd0, 0xb0, 0x7a, 0x02, 0x28, 0xf8, 0xd1, + 0x01, 0x21, 0x16, 0x20, 0x0f, 0xf0, 0x6f, 0xfa, + 0x02, 0x20, 0x0d, 0xf0, 0xe8, 0xfe, 0x53, 0xe5, + 0x00, 0x00, 0x53, 0x07, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x41, 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x20, 0xa1, 0x07, 0x00, 0x20, 0x4e, 0x00, 0x00, + 0x3f, 0xfb, 0xff, 0xff, 0xa0, 0x86, 0x01, 0x00, + 0x50, 0xc3, 0x00, 0x00, 0xc0, 0x5c, 0x15, 0x00, + 0xf1, 0x1d, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0xf8, 0xb5, 0x21, 0x48, + 0x00, 0x68, 0x21, 0x4d, 0x69, 0x69, 0x08, 0x40, + 0x01, 0xd1, 0x01, 0x27, 0x00, 0xe0, 0x00, 0x27, + 0x3c, 0x00, 0xa0, 0x41, 0x00, 0x00, 0x1d, 0x4d, + 0x01, 0x26, 0x69, 0x6a, 0x00, 0x29, 0x00, 0xd0, + 0x00, 0x26, 0x1b, 0x4d, 0x1a, 0x48, 0x2c, 0x1c, + 0xa0, 0x30, 0x02, 0x7a, 0x28, 0x1c, 0x40, 0x30, + 0x80, 0x34, 0x10, 0x23, 0xb7, 0x42, 0x10, 0xd1, + 0x01, 0x25, 0xc5, 0x80, 0x00, 0x29, 0x00, 0xd0, + 0x00, 0x23, 0x1a, 0x43, 0x11, 0x1c, 0x01, 0x73, + 0x01, 0x20, 0x0e, 0xf0, 0x88, 0xfe, 0x08, 0x20, + 0x20, 0x70, 0x3c, 0x00, 0xdc, 0x41, 0x00, 0x00, + 0x00, 0x22, 0x16, 0x21, 0x80, 0x20, 0x13, 0xe0, + 0x11, 0x27, 0xc7, 0x80, 0x2e, 0x1c, 0x0b, 0x4d, + 0x00, 0x29, 0x00, 0xd1, 0x00, 0x23, 0x1a, 0x43, + 0x11, 0x1c, 0x01, 0x73, 0x01, 0x20, 0x0e, 0xf0, + 0x75, 0xfe, 0x08, 0x20, 0x20, 0x70, 0x30, 0x6d, + 0x00, 0x22, 0x16, 0x21, 0x68, 0x67, 0x82, 0x20, + 0x0f, 0xf0, 0xd0, 0xfa, 0xf8, 0xbd, 0x00, 0x00, + 0x10, 0x00, 0x07, 0x00, 0x3c, 0x00, 0x18, 0x42, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x00, 0x90, + 0x07, 0x00, 0xb0, 0xb5, 0x0f, 0x4d, 0x04, 0x1c, + 0xaa, 0x7a, 0x01, 0x21, 0x08, 0x1c, 0x00, 0x2a, + 0x00, 0xd0, 0x00, 0x20, 0x00, 0x2c, 0x00, 0xd0, + 0x00, 0x21, 0x88, 0x42, 0x0a, 0xd0, 0x00, 0x2c, + 0x04, 0xd1, 0x00, 0xf0, 0x42, 0xfb, 0x00, 0xf0, + 0xd6, 0xfa, 0x03, 0xe0, 0x00, 0xf0, 0xd9, 0xfa, + 0x00, 0xf0, 0x09, 0xf8, 0xa8, 0x7a, 0x3c, 0x00, + 0x54, 0x42, 0x00, 0x00, 0x02, 0x49, 0xe4, 0x39, + 0x48, 0x71, 0xac, 0x72, 0xb0, 0xbd, 0x00, 0x00, + 0x44, 0x6d, 0x01, 0x00, 0x80, 0xb5, 0x3e, 0xf0, + 0x55, 0xf8, 0x02, 0x49, 0x01, 0x20, 0x08, 0x70, + 0x80, 0xbd, 0x00, 0x00, 0x68, 0x7e, 0x01, 0x00, + 0xf3, 0xb5, 0x01, 0x20, 0x8d, 0xb0, 0x0f, 0x1c, + 0x01, 0x24, 0x08, 0x90, 0x0e, 0xf0, 0x92, 0xfd, + 0x06, 0x1c, 0x00, 0xf0, 0xb5, 0xfa, 0x09, 0x90, + 0x3c, 0x00, 0x90, 0x42, 0x00, 0x00, 0x00, 0xf0, + 0x80, 0xfb, 0x07, 0x90, 0xfe, 0xf7, 0x3f, 0xfa, + 0x05, 0x1c, 0x00, 0x21, 0x0c, 0x91, 0x08, 0xf0, + 0xf0, 0xfb, 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x0a, 0x90, 0xfe, 0xf7, + 0x12, 0xfd, 0x05, 0xf0, 0xe0, 0xfe, 0x0b, 0x90, + 0x00, 0x2d, 0x23, 0xd0, 0x28, 0x88, 0x41, 0x07, + 0x20, 0xd4, 0x29, 0x1d, 0x04, 0x91, 0x0a, 0x35, + 0x00, 0x06, 0x3c, 0x00, 0xcc, 0x42, 0x00, 0x00, + 0x80, 0x0e, 0x01, 0x21, 0x20, 0x28, 0x03, 0x95, + 0x00, 0xd0, 0x00, 0x21, 0x0d, 0x1c, 0x04, 0x98, + 0x06, 0xf0, 0x38, 0xfd, 0x0c, 0x90, 0x04, 0x98, + 0x06, 0xf0, 0x10, 0xfd, 0x00, 0x28, 0x08, 0xd0, + 0x03, 0x98, 0x01, 0xf0, 0x87, 0xfa, 0x00, 0x28, + 0x03, 0xd0, 0x00, 0x2d, 0x01, 0xd1, 0x01, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x0c, 0x99, 0x01, 0x43, + 0x0c, 0x91, 0xfc, 0xf7, 0x3c, 0x00, 0x08, 0x43, + 0x00, 0x00, 0x23, 0xff, 0x00, 0x28, 0x2f, 0xd0, + 0x07, 0xf0, 0x99, 0xff, 0x05, 0x1c, 0x07, 0xf0, + 0xb2, 0xff, 0x04, 0x90, 0xff, 0xf7, 0xf3, 0xf8, + 0x0c, 0x99, 0x01, 0x43, 0x00, 0x2d, 0x06, 0xd0, + 0x04, 0x98, 0xf0, 0x4a, 0x30, 0x1a, 0x90, 0x42, + 0x01, 0xd2, 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, + 0x08, 0x43, 0x0c, 0x90, 0x0b, 0x98, 0x0a, 0x9b, + 0x18, 0x43, 0x01, 0x1c, 0x0b, 0x91, 0x3c, 0x00, + 0x44, 0x43, 0x00, 0x00, 0x05, 0xf0, 0xce, 0xfe, + 0x00, 0x28, 0x1a, 0xd1, 0x00, 0x2d, 0x06, 0xd0, + 0x04, 0x98, 0xe7, 0x49, 0x30, 0x1a, 0x88, 0x42, + 0x01, 0xd2, 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, + 0x0c, 0x99, 0x08, 0x43, 0x05, 0x1c, 0x00, 0xf0, + 0x1f, 0xfb, 0x28, 0x43, 0x03, 0xe0, 0x00, 0xf0, + 0x1b, 0xfb, 0x0c, 0x99, 0x08, 0x43, 0x0c, 0x90, + 0x00, 0xf0, 0xd4, 0xfb, 0x0b, 0x99, 0x01, 0x43, + 0x3c, 0x00, 0x80, 0x43, 0x00, 0x00, 0x0b, 0x91, + 0xdc, 0x49, 0xc8, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0x01, 0x38, 0xc8, 0x60, 0x08, 0xf0, 0xe7, 0xfb, + 0x06, 0x90, 0x08, 0xf0, 0x90, 0xfd, 0x31, 0x1a, + 0x05, 0x91, 0x06, 0x99, 0xd6, 0x48, 0x81, 0x42, + 0x08, 0xd8, 0x00, 0x2f, 0x08, 0xd1, 0x05, 0x99, + 0x40, 0x08, 0x81, 0x42, 0x04, 0xd9, 0x06, 0x99, + 0x81, 0x42, 0x01, 0xd9, 0x00, 0x24, 0x8b, 0xe0, + 0xd0, 0x48, 0x3c, 0x00, 0xbc, 0x43, 0x00, 0x00, + 0x05, 0x99, 0xd0, 0x4d, 0x81, 0x42, 0x26, 0xd2, + 0xe8, 0x79, 0x10, 0x28, 0x06, 0xd2, 0x00, 0x2f, + 0x21, 0xd1, 0xcc, 0x48, 0xa0, 0x38, 0x80, 0x6a, + 0x00, 0x28, 0x1c, 0xd1, 0x09, 0xf0, 0x62, 0xff, + 0x04, 0x90, 0x00, 0x28, 0x02, 0xd1, 0x00, 0x20, + 0xc3, 0x49, 0x13, 0xe0, 0x09, 0xf0, 0x10, 0xfe, + 0x00, 0x28, 0x03, 0xd0, 0xc4, 0x48, 0xc0, 0x69, + 0x00, 0x28, 0xf4, 0xd0, 0x3c, 0x00, 0xf8, 0x43, + 0x00, 0x00, 0x04, 0x98, 0x05, 0x28, 0x03, 0xd0, + 0xc1, 0x48, 0x00, 0x6a, 0x00, 0x28, 0x65, 0xd1, + 0xbb, 0x49, 0x48, 0x6a, 0x00, 0x28, 0x23, 0xd0, + 0x01, 0x38, 0x48, 0x62, 0x00, 0xf0, 0x87, 0xff, + 0x00, 0x28, 0x11, 0xd0, 0xbb, 0x48, 0x05, 0x99, + 0x81, 0x42, 0x0d, 0xd2, 0x01, 0xf0, 0x9b, 0xf8, + 0x04, 0x30, 0x0d, 0xf0, 0xee, 0xfc, 0x40, 0x30, + 0xc1, 0x7a, 0x01, 0x29, 0x4e, 0xd0, 0x3c, 0x00, + 0x34, 0x44, 0x00, 0x00, 0x80, 0x7a, 0x00, 0x28, + 0x01, 0xd0, 0x05, 0x28, 0x49, 0xd3, 0x01, 0xf0, + 0xdf, 0xf8, 0x02, 0x28, 0x10, 0xd0, 0x00, 0x2f, + 0x02, 0xd1, 0x06, 0x98, 0x00, 0x28, 0x40, 0xd1, + 0x00, 0x20, 0x08, 0x90, 0x82, 0xe1, 0xaa, 0x48, + 0xa0, 0x38, 0xc0, 0x68, 0x00, 0x28, 0x38, 0xd0, + 0xa8, 0x48, 0x80, 0x69, 0x48, 0x62, 0x34, 0xe0, + 0x0a, 0xa9, 0x03, 0xc9, 0x08, 0x43, 0x45, 0xd0, + 0x3c, 0x00, 0x70, 0x44, 0x00, 0x00, 0xa3, 0x48, + 0x29, 0x78, 0xa0, 0x38, 0x02, 0x29, 0x40, 0xd8, + 0x40, 0x6d, 0x00, 0x28, 0x0a, 0xd0, 0x9f, 0x48, + 0xa2, 0x49, 0x20, 0x38, 0xc0, 0x68, 0x40, 0x18, + 0x0e, 0xf0, 0xc7, 0xfb, 0x00, 0x28, 0x01, 0xd0, + 0x01, 0x21, 0x00, 0xe0, 0x00, 0x21, 0x96, 0x4a, + 0x90, 0x6a, 0x00, 0x28, 0x02, 0xda, 0x64, 0x08, + 0x64, 0x00, 0x2a, 0xe0, 0x00, 0x29, 0x09, 0xd1, + 0x95, 0x4b, 0x3c, 0x00, 0xac, 0x44, 0x00, 0x00, + 0xa0, 0x3b, 0x5b, 0x6d, 0x00, 0x2b, 0x02, 0xd0, + 0x05, 0x28, 0x0d, 0xdb, 0x01, 0xe0, 0x07, 0x28, + 0x0a, 0xdb, 0x01, 0x20, 0xc0, 0x43, 0x90, 0x62, + 0x64, 0x08, 0x8e, 0x49, 0x64, 0x00, 0x00, 0x20, + 0xa0, 0x39, 0x88, 0x65, 0x14, 0xe0, 0xd1, 0xe0, + 0x39, 0x43, 0x11, 0xd1, 0x89, 0x49, 0xa0, 0x39, + 0xcb, 0x6d, 0x00, 0x2b, 0x02, 0xd1, 0x89, 0x6d, + 0x01, 0x29, 0x09, 0xd9, 0x3c, 0x00, 0xe8, 0x44, + 0x00, 0x00, 0x07, 0x9b, 0x00, 0x2b, 0x01, 0xd1, + 0x07, 0x28, 0x01, 0xdb, 0x64, 0x08, 0x64, 0x00, + 0x01, 0x30, 0x90, 0x62, 0xbd, 0xe0, 0x7d, 0x49, + 0x88, 0x69, 0x04, 0x90, 0x00, 0x20, 0x88, 0x61, + 0x0c, 0x98, 0x00, 0x28, 0x2c, 0xd0, 0x07, 0xf0, + 0x66, 0xfc, 0x00, 0x28, 0x02, 0xd0, 0x02, 0x20, + 0x04, 0x43, 0x25, 0xe0, 0x7a, 0x48, 0xc0, 0x6a, + 0x00, 0x28, 0x04, 0xd1, 0x77, 0x48, 0x3c, 0x00, + 0x24, 0x45, 0x00, 0x00, 0xa0, 0x38, 0xc0, 0x68, + 0x00, 0x28, 0x1c, 0xd1, 0x04, 0x98, 0x00, 0x28, + 0x0d, 0xd1, 0x28, 0x78, 0x10, 0x28, 0x02, 0xd3, + 0xe8, 0x78, 0x02, 0x28, 0x02, 0xd9, 0x28, 0x79, + 0x10, 0x28, 0x04, 0xd3, 0x04, 0x24, 0x6b, 0x49, + 0x01, 0x22, 0x8a, 0x61, 0x94, 0xe0, 0x6c, 0x48, + 0xa0, 0x38, 0x40, 0x6d, 0x00, 0x28, 0x71, 0xd0, + 0x05, 0xf0, 0xa2, 0xfd, 0x00, 0x28, 0x6d, 0xd0, + 0x3c, 0x00, 0x60, 0x45, 0x00, 0x00, 0x64, 0x08, + 0x64, 0x00, 0x88, 0xe0, 0xff, 0xf7, 0x5b, 0xfa, + 0x00, 0x28, 0x1a, 0xd0, 0x68, 0x48, 0x00, 0x78, + 0x02, 0x28, 0x01, 0xd1, 0x00, 0x2f, 0x14, 0xd1, + 0x00, 0x20, 0xfe, 0xf7, 0x70, 0xfe, 0x30, 0x1a, + 0x04, 0x90, 0xff, 0xf7, 0x6c, 0xfa, 0x00, 0x28, + 0x07, 0xd0, 0xff, 0xf7, 0x1e, 0xfa, 0x00, 0x28, + 0x03, 0xd0, 0x5d, 0x49, 0x04, 0x98, 0x88, 0x42, + 0x4f, 0xd3, 0x3c, 0x00, 0x9c, 0x45, 0x00, 0x00, + 0x05, 0xf0, 0x6c, 0xfd, 0x00, 0x28, 0x4b, 0xd1, + 0x53, 0x49, 0x08, 0x78, 0x03, 0x28, 0x08, 0xd1, + 0x88, 0x68, 0x01, 0x22, 0xd2, 0x07, 0x30, 0x1a, + 0x90, 0x42, 0x41, 0xd2, 0x01, 0x22, 0x0a, 0x70, + 0x57, 0xe0, 0x54, 0x48, 0x00, 0x78, 0x02, 0x28, + 0x01, 0xd1, 0x00, 0x2f, 0x51, 0xd1, 0x4a, 0x49, + 0x88, 0x68, 0x51, 0x49, 0x80, 0x1b, 0x88, 0x42, + 0x07, 0xd9, 0x01, 0x20, 0x3c, 0x00, 0xd8, 0x45, + 0x00, 0x00, 0xfe, 0xf7, 0x42, 0xfe, 0x7d, 0x21, + 0x09, 0x01, 0x40, 0x18, 0x44, 0x49, 0x88, 0x60, + 0x4a, 0x48, 0x00, 0x78, 0x02, 0x28, 0x04, 0xd1, + 0x07, 0x9b, 0x00, 0x2b, 0x01, 0xd1, 0x01, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x47, 0x4b, 0x47, 0x49, + 0x58, 0x43, 0x40, 0x18, 0x3c, 0x49, 0x89, 0x68, + 0x89, 0x1b, 0x88, 0x42, 0x30, 0xd9, 0x07, 0x9b, + 0x00, 0x20, 0x03, 0x93, 0x00, 0xf0, 0x3c, 0x00, + 0x14, 0x46, 0x00, 0x00, 0x79, 0xff, 0x02, 0x90, + 0xff, 0xf7, 0xd8, 0xf9, 0x04, 0x90, 0x01, 0xf0, + 0x57, 0xf8, 0x04, 0x99, 0x02, 0x9a, 0x51, 0x43, + 0x48, 0x43, 0x01, 0x90, 0x00, 0xf0, 0xdc, 0xff, + 0x41, 0x1c, 0x01, 0x98, 0x01, 0x22, 0x48, 0x43, + 0x11, 0x1c, 0x00, 0xe0, 0x1b, 0xe0, 0x31, 0x4b, + 0x5b, 0x6a, 0x83, 0x42, 0x00, 0xd3, 0x00, 0x21, + 0x03, 0x9b, 0x01, 0x22, 0x00, 0x2b, 0x00, 0xd0, + 0x3c, 0x00, 0x50, 0x46, 0x00, 0x00, 0x00, 0x22, + 0x2c, 0x4b, 0x51, 0x43, 0x9b, 0x6a, 0x01, 0x22, + 0x83, 0x42, 0x00, 0xd3, 0x00, 0x22, 0x50, 0x00, + 0x08, 0x18, 0x03, 0xd0, 0x23, 0x49, 0x03, 0x20, + 0x08, 0x70, 0x03, 0xe0, 0x09, 0x98, 0xc0, 0x68, + 0x06, 0x28, 0x08, 0xd9, 0x02, 0x24, 0x08, 0x98, + 0x00, 0x28, 0x6e, 0xd0, 0x1d, 0x49, 0x00, 0x20, + 0xc8, 0x61, 0x48, 0x61, 0xa5, 0xe0, 0x1a, 0x49, + 0x48, 0x69, 0x3c, 0x00, 0x8c, 0x46, 0x00, 0x00, + 0x00, 0x28, 0x0a, 0xd1, 0x00, 0x2f, 0x05, 0xd0, + 0x01, 0x22, 0x4a, 0x61, 0xc8, 0x69, 0x80, 0x18, + 0xc8, 0x61, 0x0a, 0xe0, 0x00, 0x20, 0xc8, 0x61, + 0x03, 0xe0, 0x00, 0x2f, 0x05, 0xd1, 0x00, 0x20, + 0x48, 0x61, 0x0d, 0x98, 0x00, 0x28, 0x00, 0xd1, + 0xc8, 0x68, 0x00, 0x20, 0x08, 0x90, 0x08, 0x78, + 0x01, 0x28, 0x2f, 0xd0, 0x02, 0x28, 0x4b, 0xd1, + 0x00, 0x2f, 0x08, 0xd1, 0x3c, 0x00, 0xc8, 0x46, + 0x00, 0x00, 0xe8, 0x78, 0x00, 0x28, 0x02, 0xd1, + 0x28, 0x78, 0x10, 0x28, 0x43, 0xd2, 0x28, 0x79, + 0x10, 0x28, 0x40, 0xd2, 0x48, 0x68, 0x0a, 0x69, + 0x30, 0x1a, 0x90, 0x42, 0x67, 0xd3, 0x01, 0x22, + 0x0a, 0x70, 0x38, 0xe0, 0x00, 0x00, 0xe2, 0x04, + 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x68, 0x7e, + 0x01, 0x00, 0xa0, 0x86, 0x01, 0x00, 0x88, 0x13, + 0x00, 0x00, 0x44, 0x6d, 0x01, 0x00, 0x3c, 0x00, + 0x04, 0x47, 0x00, 0x00, 0xc8, 0x57, 0x01, 0x00, + 0x50, 0xc3, 0x00, 0x00, 0x98, 0x3a, 0x00, 0x00, + 0xc0, 0x57, 0x01, 0x00, 0x40, 0x0d, 0x03, 0x00, + 0xc4, 0x09, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, + 0x00, 0x20, 0x0b, 0x9a, 0x0a, 0x9b, 0xc0, 0x43, + 0x1a, 0x43, 0x37, 0xd0, 0x00, 0x2f, 0x35, 0xd1, + 0x07, 0x9b, 0x00, 0x2b, 0x08, 0xd0, 0x6a, 0x78, + 0x02, 0x2a, 0x2f, 0xd9, 0x2a, 0x78, 0x10, 0x2a, + 0x3c, 0x00, 0x40, 0x47, 0x00, 0x00, 0x2c, 0xd2, + 0x2a, 0x79, 0x10, 0x2a, 0x29, 0xd2, 0x25, 0x4b, + 0x1a, 0x6c, 0x00, 0x2a, 0x06, 0xd0, 0x9a, 0x6a, + 0x9f, 0x6c, 0xba, 0x42, 0x02, 0xd1, 0x1f, 0x20, + 0x1f, 0xe0, 0x2e, 0xe0, 0x20, 0x4b, 0x5a, 0x6c, + 0x00, 0x2a, 0x03, 0xd0, 0x1f, 0x4f, 0xb3, 0x1a, + 0xbb, 0x42, 0x16, 0xd3, 0x1c, 0x4b, 0x00, 0x2a, + 0x05, 0xd0, 0x9a, 0x6a, 0x9f, 0x6c, 0xba, 0x42, + 0x01, 0xd1, 0x3c, 0x00, 0x7c, 0x47, 0x00, 0x00, + 0x0f, 0x20, 0x0d, 0xe0, 0x07, 0x9a, 0x00, 0x2a, + 0x04, 0xd0, 0xea, 0x79, 0x20, 0x2a, 0x01, 0xd1, + 0x00, 0x20, 0x05, 0xe0, 0xea, 0x79, 0x10, 0x2a, + 0x01, 0xd3, 0x03, 0x20, 0x00, 0xe0, 0x9a, 0x6a, + 0x12, 0x4a, 0x12, 0x68, 0x02, 0x40, 0x0b, 0xd1, + 0x01, 0x20, 0x08, 0x90, 0x02, 0x20, 0x08, 0x70, + 0x0f, 0x48, 0x08, 0x61, 0x4e, 0x60, 0x64, 0xe7, + 0xff, 0xe7, 0x01, 0x20, 0x3c, 0x00, 0xb8, 0x47, + 0x00, 0x00, 0x08, 0x90, 0x60, 0xe7, 0x0c, 0x49, + 0x88, 0x6a, 0x00, 0x28, 0x01, 0xda, 0x01, 0x30, + 0x02, 0xe0, 0x00, 0x28, 0x01, 0xdd, 0x00, 0x20, + 0x88, 0x62, 0x00, 0x20, 0x08, 0x62, 0x08, 0x99, + 0x20, 0x04, 0x08, 0x43, 0x0f, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x71, 0x02, + 0x00, 0x00, 0x08, 0x20, 0x07, 0x00, 0x53, 0x07, + 0x00, 0x00, 0x68, 0x7e, 0x01, 0x00, 0x3c, 0x00, + 0xf4, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x00, 0x48, 0x70, 0x47, 0x50, 0x7e, 0x01, 0x00, + 0x80, 0xb5, 0x3d, 0xf0, 0x7f, 0xfd, 0x02, 0x49, + 0x01, 0x20, 0x08, 0x70, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x7e, 0x01, 0x00, 0xf8, 0xb5, 0x0d, 0x1c, + 0x0e, 0xf0, 0xc8, 0xfa, 0x26, 0x49, 0x04, 0x1c, + 0x88, 0x6a, 0x26, 0x4e, 0x00, 0x28, 0x01, 0xd0, + 0x04, 0x20, 0x03, 0xe0, 0x70, 0x6a, 0x00, 0x28, + 0x3c, 0x00, 0x30, 0x48, 0x00, 0x00, 0x01, 0xd0, + 0x01, 0x38, 0x70, 0x62, 0x00, 0x27, 0x00, 0x2d, + 0x02, 0xd0, 0xb7, 0x61, 0xf7, 0x61, 0x0a, 0xe0, + 0xb0, 0x69, 0x1c, 0x49, 0x01, 0x30, 0xb0, 0x61, + 0x49, 0x6d, 0x00, 0x29, 0x03, 0xd0, 0x03, 0x28, + 0x01, 0xd9, 0x01, 0x20, 0xf0, 0x61, 0xb4, 0x60, + 0xf1, 0x68, 0x00, 0x91, 0x08, 0xf0, 0xf7, 0xfc, + 0xf0, 0x60, 0x00, 0x99, 0x88, 0x42, 0x02, 0xd0, + 0x30, 0x62, 0x3c, 0x00, 0x6c, 0x48, 0x00, 0x00, + 0x34, 0x61, 0x0b, 0xe0, 0x00, 0xf0, 0x90, 0xf8, + 0x00, 0x28, 0x01, 0xd0, 0x11, 0x48, 0x00, 0xe0, + 0x11, 0x48, 0x31, 0x69, 0x61, 0x1a, 0x81, 0x42, + 0x00, 0xd9, 0x37, 0x62, 0x0b, 0x4a, 0x0c, 0x48, + 0xd1, 0x6c, 0x20, 0x30, 0x00, 0x29, 0x01, 0xd0, + 0x0a, 0x21, 0x03, 0xe0, 0x01, 0x7a, 0x00, 0x29, + 0x01, 0xd0, 0xff, 0x31, 0x01, 0x72, 0x00, 0x2d, + 0x03, 0xd1, 0x01, 0x7a, 0x3c, 0x00, 0xa8, 0x48, + 0x00, 0x00, 0x00, 0x29, 0x00, 0xd0, 0x91, 0x6a, + 0x00, 0x7a, 0x00, 0x28, 0x00, 0xd1, 0x17, 0x65, + 0xf8, 0xbd, 0xa4, 0x6c, 0x01, 0x00, 0x3c, 0x7e, + 0x01, 0x00, 0xa6, 0x0e, 0x00, 0x00, 0xa8, 0x61, + 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x06, 0x49, + 0x80, 0xb5, 0x89, 0x68, 0x00, 0x29, 0x07, 0xd0, + 0x05, 0x21, 0x00, 0x28, 0x00, 0xd1, 0x04, 0x21, + 0x08, 0x06, 0x00, 0x0e, 0x03, 0xf0, 0x3c, 0x00, + 0xe4, 0x48, 0x00, 0x00, 0x05, 0xfa, 0x80, 0xbd, + 0x60, 0x6c, 0x01, 0x00, 0x07, 0x48, 0x00, 0x68, + 0x07, 0x49, 0x4a, 0x69, 0x10, 0x40, 0x01, 0xd0, + 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, 0x49, 0x6a, + 0x88, 0x42, 0x01, 0xd1, 0x01, 0x20, 0x70, 0x47, + 0x00, 0x20, 0x70, 0x47, 0x10, 0x00, 0x07, 0x00, + 0xa4, 0x6c, 0x01, 0x00, 0x70, 0xb5, 0x0e, 0xf0, + 0x49, 0xfa, 0x02, 0x1c, 0x00, 0xf0, 0x3a, 0xf8, + 0x3c, 0x00, 0x20, 0x49, 0x00, 0x00, 0x10, 0x49, + 0x00, 0x28, 0x0e, 0xd0, 0x08, 0x1c, 0xa0, 0x31, + 0x0e, 0x78, 0x0e, 0x4b, 0x10, 0x2e, 0x01, 0xd3, + 0x80, 0x6f, 0x03, 0xe0, 0x49, 0x78, 0x10, 0x29, + 0x0e, 0xd3, 0xc0, 0x6f, 0xc0, 0x18, 0x84, 0x1a, + 0x0a, 0xe0, 0x08, 0x1c, 0x80, 0x30, 0x45, 0x69, + 0x08, 0x49, 0x8d, 0x42, 0x01, 0xd9, 0x0c, 0x1c, + 0x05, 0xe0, 0xc0, 0x68, 0x10, 0x1a, 0x2c, 0x1a, + 0x00, 0x2c, 0x3c, 0x00, 0x5c, 0x49, 0x00, 0x00, + 0x00, 0xda, 0x64, 0x19, 0x20, 0x1c, 0x70, 0xbd, + 0xa4, 0x6c, 0x01, 0x00, 0xa6, 0x0e, 0x00, 0x00, + 0x50, 0xc3, 0x00, 0x00, 0x80, 0xb5, 0x05, 0xf0, + 0xb7, 0xfb, 0x00, 0x28, 0x02, 0xd0, 0x07, 0xf0, + 0x1f, 0xff, 0x80, 0xbd, 0x03, 0x48, 0x00, 0x78, + 0x00, 0x28, 0xfa, 0xd0, 0x07, 0xf0, 0x70, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, + 0x03, 0x49, 0x01, 0x20, 0x3c, 0x00, 0x98, 0x49, + 0x00, 0x00, 0x49, 0x69, 0x03, 0x29, 0x00, 0xd8, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x60, 0x6c, + 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x4d, 0x00, 0x24, + 0x28, 0x78, 0x01, 0x28, 0x03, 0xd0, 0x05, 0xf0, + 0x6a, 0xfb, 0x04, 0x06, 0x24, 0x0e, 0xfe, 0xf7, + 0xd2, 0xfc, 0x00, 0x02, 0x20, 0x43, 0x02, 0xd1, + 0x68, 0x6a, 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, + 0xb0, 0xbd, 0x00, 0x20, 0xb0, 0xbd, 0x3c, 0x00, + 0xd4, 0x49, 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, + 0x01, 0x21, 0x01, 0x28, 0x00, 0xd0, 0x00, 0x21, + 0x01, 0x48, 0x41, 0x62, 0x70, 0x47, 0x00, 0x00, + 0x60, 0x6c, 0x01, 0x00, 0x15, 0x48, 0x10, 0xb5, + 0x04, 0x68, 0x15, 0x48, 0x00, 0x6a, 0x00, 0x28, + 0x14, 0xd0, 0xff, 0xf7, 0xcb, 0xff, 0x00, 0x28, + 0x0e, 0xd1, 0x11, 0x48, 0x11, 0x49, 0xc4, 0x30, + 0x40, 0x69, 0x88, 0x42, 0x08, 0xd2, 0xcc, 0x08, + 0x3c, 0x00, 0x10, 0x4a, 0x00, 0x00, 0xa0, 0x42, + 0x05, 0xd3, 0xff, 0xf7, 0x7e, 0xff, 0xa0, 0x42, + 0x01, 0xda, 0x0c, 0x4c, 0x01, 0xe0, 0xff, 0x24, + 0x91, 0x34, 0x7d, 0x20, 0x00, 0x01, 0x84, 0x42, + 0x04, 0xd9, 0x00, 0x22, 0x16, 0x21, 0x83, 0x20, + 0x0e, 0xf0, 0xbd, 0xfe, 0x01, 0x23, 0x09, 0x22, + 0x21, 0x1c, 0x16, 0x20, 0x0e, 0xf0, 0xa7, 0xfe, + 0x10, 0xbd, 0xb0, 0x57, 0x01, 0x00, 0x60, 0x6c, + 0x01, 0x00, 0x3c, 0x00, 0x4c, 0x4a, 0x00, 0x00, + 0xc0, 0x5d, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x0e, 0x1c, 0x00, 0xf0, + 0x43, 0xf8, 0x00, 0x28, 0x0f, 0xd0, 0x08, 0x4c, + 0x20, 0x78, 0xc0, 0x07, 0x03, 0xd4, 0x05, 0xf0, + 0xab, 0xf9, 0x09, 0xf0, 0x31, 0xfe, 0x00, 0x2d, + 0x05, 0xd0, 0x20, 0x78, 0x80, 0x07, 0x02, 0xd4, + 0x30, 0x1c, 0x02, 0xf0, 0xfd, 0xfe, 0x70, 0xbd, + 0x60, 0x6c, 0x01, 0x00, 0x3c, 0x00, 0x88, 0x4a, + 0x00, 0x00, 0xb0, 0xb5, 0x00, 0x28, 0x18, 0xd0, + 0x11, 0x48, 0x81, 0x42, 0x15, 0xd2, 0x10, 0x48, + 0x0c, 0x1c, 0x0d, 0x18, 0x07, 0xf0, 0xdf, 0xfa, + 0x81, 0x00, 0x09, 0x18, 0xa1, 0x42, 0x01, 0xd2, + 0x40, 0x00, 0x03, 0xe0, 0x41, 0x00, 0x09, 0x18, + 0xa1, 0x42, 0x01, 0xd2, 0x24, 0x1a, 0x06, 0xe0, + 0x41, 0x00, 0xa1, 0x42, 0x03, 0xd2, 0x40, 0x08, + 0xf8, 0xe7, 0x06, 0x4d, 0x07, 0x4c, 0x3c, 0x00, + 0xc4, 0x4a, 0x00, 0x00, 0x0e, 0xf0, 0x72, 0xf9, + 0x00, 0x19, 0x29, 0x1c, 0x07, 0xf0, 0xdc, 0xfa, + 0xb0, 0xbd, 0x00, 0x00, 0x80, 0xb9, 0x2a, 0x00, + 0x53, 0x07, 0x00, 0x00, 0x4c, 0x1d, 0x00, 0x00, + 0x88, 0x13, 0x00, 0x00, 0xb0, 0xb5, 0x05, 0xf0, + 0xfd, 0xfa, 0x00, 0x28, 0x13, 0xd1, 0xfe, 0xf7, + 0xb5, 0xfe, 0x0a, 0x4c, 0x0a, 0x4d, 0x00, 0x28, + 0x60, 0x63, 0x00, 0xd0, 0x28, 0x60, 0x0e, 0xf0, + 0x3c, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x55, 0xf9, + 0x21, 0x6a, 0x00, 0x29, 0x04, 0xd1, 0xe1, 0x69, + 0x40, 0x1a, 0x29, 0x68, 0x88, 0x42, 0x01, 0xd9, + 0x01, 0x20, 0xb0, 0xbd, 0x00, 0x20, 0xb0, 0xbd, + 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, 0xb0, 0x57, + 0x01, 0x00, 0x80, 0xb5, 0xff, 0xf7, 0xdd, 0xff, + 0x00, 0x28, 0x05, 0xd0, 0x05, 0xf0, 0xb7, 0xfa, + 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, 0x80, 0xbd, + 0x00, 0x20, 0x3c, 0x00, 0x3c, 0x4b, 0x00, 0x00, + 0x80, 0xbd, 0x00, 0x00, 0x10, 0xb5, 0x0a, 0x4c, + 0x00, 0x21, 0xa2, 0x68, 0x00, 0x2a, 0x03, 0xd0, + 0xa1, 0x60, 0x02, 0xf0, 0x83, 0xf9, 0x10, 0xbd, + 0x61, 0x60, 0x01, 0x1c, 0x00, 0x22, 0x04, 0x20, + 0x0e, 0xf0, 0x36, 0xfd, 0x03, 0x48, 0x21, 0x68, + 0x0a, 0xf0, 0x08, 0xfc, 0x10, 0xbd, 0x00, 0x00, + 0xbc, 0x74, 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x3c, 0x00, 0x78, 0x4b, + 0x00, 0x00, 0x01, 0xd1, 0xfc, 0xf7, 0xc1, 0xfb, + 0x20, 0x4c, 0xe0, 0x6a, 0x00, 0x28, 0x15, 0xd0, + 0x1f, 0x4b, 0xa0, 0x69, 0x58, 0x43, 0xc6, 0x0b, + 0x20, 0x88, 0x46, 0x43, 0xf0, 0x00, 0x80, 0x19, + 0xe6, 0x60, 0xfb, 0xf7, 0x1c, 0xfe, 0xa8, 0x42, + 0x05, 0xd8, 0x30, 0x1c, 0xfb, 0xf7, 0x17, 0xfe, + 0x80, 0x19, 0xa8, 0x42, 0x02, 0xd2, 0x00, 0x20, + 0xe0, 0x60, 0x20, 0xe0, 0xe5, 0x60, 0x3c, 0x00, + 0xb4, 0x4b, 0x00, 0x00, 0x00, 0x2d, 0x1d, 0xd0, + 0x26, 0x88, 0xa0, 0x69, 0x70, 0x43, 0xc1, 0x03, + 0x28, 0x1c, 0xfb, 0xf7, 0xa5, 0xfd, 0x60, 0x61, + 0x0d, 0x48, 0x32, 0x1c, 0x29, 0x1c, 0x30, 0x30, + 0xfb, 0xf7, 0x0a, 0xfc, 0x0c, 0x4b, 0x60, 0x69, + 0x58, 0x43, 0xc0, 0x0b, 0x60, 0x62, 0x01, 0xf0, + 0xb7, 0xfd, 0xa0, 0x62, 0xe0, 0x68, 0x00, 0x28, + 0x04, 0xd0, 0x20, 0x69, 0xa1, 0x68, 0xfb, 0xf7, + 0x3c, 0x00, 0xf0, 0x4b, 0x00, 0x00, 0xf4, 0xfb, + 0x70, 0xbd, 0x05, 0x48, 0xa1, 0x68, 0xfb, 0xf7, + 0xef, 0xfb, 0x70, 0xbd, 0x00, 0x00, 0xc8, 0x74, + 0x01, 0x00, 0x40, 0x42, 0x0f, 0x00, 0xc0, 0xc6, + 0x2d, 0x00, 0x88, 0x13, 0x00, 0x00, 0xf1, 0xb5, + 0x3e, 0x48, 0x00, 0xab, 0x81, 0x78, 0xc0, 0x78, + 0x3e, 0x4f, 0x0a, 0x07, 0x04, 0x07, 0x58, 0x78, + 0x3b, 0x49, 0x12, 0x0f, 0x08, 0x5c, 0x14, 0x39, + 0x24, 0x0f, 0x3c, 0x00, 0x2c, 0x4c, 0x00, 0x00, + 0x80, 0x18, 0x78, 0x60, 0x01, 0x30, 0xb8, 0x60, + 0x18, 0x78, 0x35, 0x4d, 0x08, 0x5c, 0x00, 0x19, + 0xb8, 0x61, 0x01, 0x30, 0xf8, 0x61, 0xeb, 0x78, + 0x33, 0x48, 0x1e, 0x09, 0x33, 0x4b, 0x18, 0x38, + 0x81, 0x78, 0x5e, 0x43, 0xab, 0x78, 0x1d, 0x09, + 0xc8, 0x23, 0x6b, 0x43, 0x00, 0x29, 0x08, 0xd1, + 0x2b, 0x4d, 0x2d, 0x78, 0x3d, 0x60, 0xc5, 0x60, + 0x7d, 0x25, 0xed, 0x00, 0x3c, 0x00, 0x68, 0x4c, + 0x00, 0x00, 0x5d, 0x1b, 0x2c, 0x4b, 0x07, 0xe0, + 0x27, 0x4d, 0x6d, 0x78, 0x3d, 0x60, 0xc5, 0x60, + 0x4b, 0x25, 0x2d, 0x01, 0x5d, 0x1b, 0x28, 0x4b, + 0xf6, 0x18, 0x02, 0x20, 0x00, 0xf0, 0x57, 0xf8, + 0x28, 0x1a, 0xf8, 0x60, 0x22, 0x48, 0x22, 0x1c, + 0x18, 0x38, 0x81, 0x78, 0x03, 0x20, 0x00, 0xf0, + 0x4e, 0xf8, 0x30, 0x1a, 0x38, 0x62, 0x39, 0x68, + 0x00, 0xab, 0x79, 0x61, 0x5a, 0x78, 0x3c, 0x00, + 0xa4, 0x4c, 0x00, 0x00, 0x56, 0x23, 0xf9, 0x68, + 0x5a, 0x43, 0x89, 0x1a, 0xf9, 0x60, 0xc8, 0x31, + 0x39, 0x61, 0x18, 0x49, 0x18, 0x39, 0x89, 0x78, + 0x00, 0x29, 0xb9, 0x69, 0x11, 0xd1, 0x00, 0xab, + 0x1a, 0x78, 0x13, 0x4b, 0x14, 0x3b, 0x9a, 0x5c, + 0x53, 0x1c, 0x59, 0x43, 0x0a, 0x23, 0x59, 0x43, + 0x14, 0x4b, 0x59, 0x1a, 0x51, 0x43, 0x0a, 0x23, + 0x59, 0x43, 0x40, 0x1a, 0x38, 0x62, 0x12, 0x49, + 0x3c, 0x00, 0xe0, 0x4c, 0x00, 0x00, 0x10, 0xe0, + 0x00, 0xab, 0x1a, 0x78, 0x0a, 0x4b, 0x14, 0x3b, + 0x9a, 0x5c, 0x53, 0x1c, 0x59, 0x43, 0x0a, 0x23, + 0x59, 0x43, 0x0d, 0x4b, 0x59, 0x1a, 0x51, 0x43, + 0x0a, 0x23, 0x59, 0x43, 0x40, 0x1a, 0x0b, 0x49, + 0x38, 0x62, 0x40, 0x18, 0x78, 0x62, 0xf8, 0xbd, + 0x00, 0x00, 0x0c, 0x5a, 0x01, 0x00, 0x66, 0x5a, + 0x01, 0x00, 0x94, 0x78, 0x01, 0x00, 0xa0, 0x86, + 0x01, 0x00, 0x3c, 0x00, 0x1c, 0x4d, 0x00, 0x00, + 0x00, 0x48, 0x71, 0x00, 0xb0, 0xd6, 0x8c, 0x00, + 0x88, 0x10, 0x00, 0x00, 0x80, 0x38, 0x01, 0x00, + 0x58, 0x12, 0x00, 0x00, 0x70, 0x11, 0x01, 0x00, + 0x30, 0xb5, 0x19, 0x4b, 0x02, 0x28, 0xdd, 0x68, + 0x06, 0xd1, 0x00, 0x29, 0x04, 0xd1, 0x2b, 0x1c, + 0x0c, 0x33, 0x9c, 0x1a, 0x64, 0x23, 0x5c, 0x43, + 0x02, 0x28, 0x09, 0xd1, 0x01, 0x29, 0x07, 0xd1, + 0x64, 0x23, 0x7d, 0x24, 0x3c, 0x00, 0x58, 0x4d, + 0x00, 0x00, 0xe4, 0x00, 0x6b, 0x43, 0x1c, 0x19, + 0xa0, 0x23, 0x53, 0x43, 0xe4, 0x1a, 0x0a, 0x23, + 0x5a, 0x43, 0x03, 0x28, 0x09, 0xd1, 0x00, 0x29, + 0x07, 0xd1, 0x13, 0x23, 0xff, 0x24, 0xe4, 0x00, + 0x6b, 0x43, 0x1b, 0x19, 0x9b, 0x1a, 0x1c, 0x1c, + 0x5c, 0x43, 0x03, 0x28, 0x08, 0xd1, 0x01, 0x29, + 0x06, 0xd1, 0x0e, 0x20, 0x05, 0x49, 0x68, 0x43, + 0x40, 0x18, 0x80, 0x1a, 0x04, 0x1c, 0x3c, 0x00, + 0x94, 0x4d, 0x00, 0x00, 0x44, 0x43, 0x20, 0x1c, + 0x30, 0xbd, 0x00, 0x00, 0x7c, 0x78, 0x01, 0x00, + 0x84, 0x08, 0x00, 0x00, 0x10, 0xb5, 0x07, 0x4c, + 0x0c, 0x23, 0x60, 0x78, 0x05, 0x49, 0x14, 0x31, + 0x58, 0x43, 0x40, 0x18, 0x40, 0x68, 0x01, 0xf0, + 0x4f, 0xfc, 0x00, 0x21, 0x60, 0x78, 0x02, 0xf0, + 0x4b, 0xff, 0x10, 0xbd, 0x4c, 0x7b, 0x01, 0x00, + 0x0c, 0x48, 0xf8, 0xb5, 0x40, 0x78, 0x0c, 0x23, + 0x3c, 0x00, 0xd0, 0x4d, 0x00, 0x00, 0x0a, 0x49, + 0x58, 0x43, 0x14, 0x31, 0x44, 0x18, 0x26, 0x1d, + 0x60, 0xce, 0x30, 0x1c, 0x0b, 0xf0, 0x0b, 0xfd, + 0x00, 0x27, 0x41, 0x20, 0x47, 0x55, 0x05, 0x48, + 0x29, 0x1c, 0x02, 0xf0, 0xf0, 0xfe, 0x28, 0x1c, + 0x01, 0xf0, 0x31, 0xfc, 0x04, 0x34, 0xc0, 0xc4, + 0xf8, 0xbd, 0x4c, 0x7b, 0x01, 0x00, 0x55, 0x80, + 0x00, 0x00, 0xb0, 0xb5, 0x0a, 0x4d, 0x4c, 0x21, + 0x28, 0x78, 0x3c, 0x00, 0x0c, 0x4e, 0x00, 0x00, + 0x09, 0x4a, 0x41, 0x43, 0x8c, 0x18, 0x22, 0x68, + 0x01, 0x21, 0xfb, 0xf7, 0xe1, 0xfa, 0x28, 0x78, + 0x01, 0xf0, 0xfa, 0xfb, 0x3c, 0x23, 0xe0, 0x56, + 0x41, 0x1e, 0x01, 0x20, 0x07, 0xf0, 0x34, 0xfb, + 0xb0, 0xbd, 0x00, 0x00, 0x3c, 0x7c, 0x01, 0x00, + 0x58, 0xe3, 0x01, 0x00, 0x0c, 0x23, 0x07, 0x49, + 0x58, 0x43, 0x40, 0x18, 0x80, 0xb5, 0x40, 0x68, + 0x41, 0x6b, 0x00, 0x29, 0x3c, 0x00, 0x48, 0x4e, + 0x00, 0x00, 0x02, 0xd0, 0x0b, 0xf0, 0xfb, 0xfd, + 0x80, 0xbd, 0x0b, 0xf0, 0x2c, 0xfd, 0x80, 0xbd, + 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, 0x38, 0x22, + 0x0a, 0x4b, 0x42, 0x43, 0xd2, 0x18, 0x00, 0x29, + 0x80, 0xb5, 0x04, 0xd0, 0x02, 0x29, 0x07, 0xd1, + 0x0b, 0xf0, 0xfb, 0xfc, 0x80, 0xbd, 0xd2, 0x6a, + 0x01, 0x21, 0xfb, 0xf7, 0xb0, 0xfa, 0x80, 0xbd, + 0x03, 0x21, 0x86, 0x20, 0xfc, 0xf7, 0x3c, 0x00, + 0x84, 0x4e, 0x00, 0x00, 0x0f, 0xfa, 0x80, 0xbd, + 0xd4, 0xe4, 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x06, + 0x24, 0x0e, 0x0c, 0x20, 0x0e, 0x49, 0x60, 0x43, + 0x40, 0x18, 0x45, 0x68, 0xa8, 0x6b, 0x00, 0x28, + 0x03, 0xd1, 0x00, 0x21, 0x20, 0x1c, 0xfd, 0xf7, + 0xe1, 0xfa, 0x20, 0x1c, 0x07, 0xf0, 0xf2, 0xff, + 0x00, 0x28, 0x08, 0xd0, 0x28, 0x1c, 0x60, 0x30, + 0xc1, 0x79, 0x01, 0x29, 0x03, 0xd9, 0xff, 0x31, + 0x3c, 0x00, 0xc0, 0x4e, 0x00, 0x00, 0xc1, 0x71, + 0xff, 0x31, 0x81, 0x71, 0x01, 0x21, 0x20, 0x1c, + 0x02, 0xf0, 0xc5, 0xfe, 0xb0, 0xbd, 0x60, 0x7b, + 0x01, 0x00, 0x70, 0xb5, 0x00, 0x06, 0x00, 0x0e, + 0x05, 0x1c, 0x4c, 0x23, 0x0a, 0x49, 0x58, 0x43, + 0x44, 0x18, 0x3c, 0x20, 0x00, 0x5d, 0xff, 0x30, + 0x06, 0x06, 0x36, 0x16, 0x28, 0x1c, 0x01, 0xf0, + 0x90, 0xfb, 0x00, 0x21, 0x28, 0x1c, 0x22, 0x68, + 0xfb, 0xf7, 0x3c, 0x00, 0xfc, 0x4e, 0x00, 0x00, + 0x6f, 0xfa, 0x31, 0x1c, 0x00, 0x20, 0x07, 0xf0, + 0xc7, 0xfa, 0x70, 0xbd, 0x58, 0xe3, 0x01, 0x00, + 0x0c, 0x22, 0x0f, 0x4b, 0x42, 0x43, 0xd2, 0x18, + 0x10, 0xb5, 0x54, 0x68, 0x00, 0x29, 0x0d, 0xd0, + 0x02, 0x29, 0x0f, 0xd1, 0x2c, 0x20, 0x00, 0x5d, + 0x00, 0x28, 0x03, 0xd0, 0x07, 0x21, 0x0c, 0x20, + 0xfc, 0xf7, 0xba, 0xf9, 0x20, 0x1c, 0x0b, 0xf0, + 0xbb, 0xfc, 0x10, 0xbd, 0x3c, 0x00, 0x38, 0x4f, + 0x00, 0x00, 0x00, 0x21, 0x02, 0xf0, 0x8d, 0xfe, + 0x10, 0xbd, 0x04, 0x21, 0x0c, 0x20, 0xfc, 0xf7, + 0xae, 0xf9, 0x10, 0xbd, 0x00, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x29, 0x07, 0xd0, + 0x0c, 0x23, 0x05, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x40, 0x68, 0x0b, 0xf0, 0x4a, 0xfc, 0x80, 0xbd, + 0x01, 0x21, 0x02, 0xf0, 0x76, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, 0x3c, 0x00, + 0x74, 0x4f, 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x00, 0x29, 0x05, 0xd0, 0x02, 0x29, 0x1a, 0xd1, + 0x20, 0x1c, 0x0b, 0xf0, 0xeb, 0xfc, 0x10, 0xbd, + 0x0d, 0x48, 0x04, 0x70, 0x0d, 0x48, 0x07, 0xf0, + 0x07, 0xf9, 0x0d, 0x48, 0x01, 0x88, 0x01, 0x22, + 0x12, 0x03, 0x11, 0x43, 0x01, 0x80, 0x4c, 0x20, + 0x0a, 0x49, 0x60, 0x43, 0x40, 0x18, 0x40, 0x30, + 0x00, 0x78, 0xfd, 0xf7, 0x5d, 0xfd, 0x20, 0x1c, + 0x3c, 0x00, 0xb0, 0x4f, 0x00, 0x00, 0x0a, 0xf0, + 0xd4, 0xf8, 0x10, 0xbd, 0x03, 0x21, 0x86, 0x20, + 0xfc, 0xf7, 0x73, 0xf9, 0x10, 0xbd, 0x3c, 0x7c, + 0x01, 0x00, 0x05, 0x4e, 0x00, 0x00, 0x32, 0x80, + 0x07, 0x00, 0x58, 0xe3, 0x01, 0x00, 0xff, 0xb5, + 0x05, 0x1c, 0x01, 0x20, 0x83, 0xb0, 0x01, 0x90, + 0x0c, 0x20, 0x5d, 0x4a, 0x68, 0x43, 0x86, 0x18, + 0x01, 0x27, 0x00, 0x29, 0x74, 0x68, 0x0e, 0xd0, + 0x02, 0x29, 0x3c, 0x00, 0xec, 0x4f, 0x00, 0x00, + 0x6a, 0xd1, 0x2c, 0x20, 0x00, 0x5d, 0x00, 0x28, + 0x03, 0xd0, 0x06, 0x21, 0x0c, 0x20, 0xfc, 0xf7, + 0x53, 0xf9, 0x20, 0x1c, 0x0b, 0xf0, 0x20, 0xfd, + 0x07, 0xb0, 0xf0, 0xbd, 0x52, 0x48, 0x14, 0x38, + 0x45, 0x70, 0xa0, 0x6b, 0x00, 0x28, 0x07, 0xd0, + 0x50, 0x48, 0x07, 0xf0, 0x7f, 0xf8, 0x01, 0x21, + 0x28, 0x1c, 0xfd, 0xf7, 0x25, 0xfa, 0x1c, 0xe0, + 0x4d, 0x48, 0x07, 0xf0, 0x3c, 0x00, 0x28, 0x50, + 0x00, 0x00, 0x77, 0xf8, 0x4a, 0x48, 0x14, 0x38, + 0x05, 0x70, 0x4b, 0x48, 0x01, 0x88, 0x01, 0x22, + 0x52, 0x03, 0x11, 0x43, 0x01, 0x80, 0x40, 0x20, + 0x00, 0x5d, 0xfd, 0xf7, 0x12, 0xfd, 0xb0, 0x68, + 0x00, 0x28, 0x09, 0xd1, 0x28, 0x1c, 0x07, 0xf0, + 0x64, 0xff, 0xb0, 0x60, 0x00, 0x28, 0x03, 0xd1, + 0x09, 0x21, 0x0c, 0x20, 0xfc, 0xf7, 0x23, 0xf9, + 0x05, 0x98, 0x00, 0x28, 0x03, 0xd0, 0x3c, 0x00, + 0x64, 0x50, 0x00, 0x00, 0xe0, 0x6c, 0x01, 0x30, + 0xe0, 0x64, 0x0e, 0xe0, 0x67, 0x20, 0x00, 0x5d, + 0x00, 0x28, 0x07, 0xd1, 0xe0, 0x6c, 0x00, 0x28, + 0x04, 0xd1, 0x39, 0x48, 0x02, 0x38, 0xc0, 0x6a, + 0xa0, 0x64, 0x09, 0xe0, 0x20, 0x6d, 0x00, 0x28, + 0x01, 0xd0, 0x00, 0x27, 0x04, 0xe0, 0x28, 0x1c, + 0x07, 0xf0, 0x00, 0xff, 0x00, 0x28, 0xe5, 0xd1, + 0x05, 0x98, 0x20, 0x65, 0x20, 0x1c, 0x20, 0x30, + 0x3c, 0x00, 0xa0, 0x50, 0x00, 0x00, 0x62, 0x6a, + 0x02, 0x90, 0x81, 0x7b, 0x28, 0x1c, 0x07, 0xf0, + 0x78, 0xff, 0x00, 0x2f, 0x19, 0xd0, 0x20, 0x1c, + 0x60, 0x30, 0xc1, 0x79, 0x4a, 0x1c, 0xc2, 0x71, + 0x80, 0x79, 0x81, 0x42, 0x02, 0xd2, 0x01, 0x20, + 0x01, 0xe0, 0x40, 0xe0, 0x00, 0x20, 0x01, 0x90, + 0x00, 0x28, 0x0a, 0xd0, 0x25, 0x48, 0x00, 0x78, + 0x80, 0x07, 0x06, 0xd5, 0x00, 0xf0, 0x0d, 0xfb, + 0x01, 0x1c, 0x3c, 0x00, 0xdc, 0x50, 0x00, 0x00, + 0x20, 0x1c, 0x0b, 0xf0, 0x15, 0xfd, 0x01, 0x90, + 0x01, 0x98, 0x00, 0x28, 0x0f, 0xd0, 0x02, 0x98, + 0x00, 0x7b, 0x02, 0x28, 0x03, 0xd1, 0x20, 0x1c, + 0x04, 0xf0, 0xd0, 0xfe, 0x84, 0xe7, 0x01, 0x28, + 0x00, 0xd0, 0x7e, 0xe7, 0x21, 0x1c, 0x30, 0x1c, + 0x04, 0xf0, 0xe2, 0xfe, 0x7c, 0xe7, 0x25, 0x1c, + 0x60, 0x35, 0xe8, 0x79, 0xff, 0x30, 0xa8, 0x71, + 0x68, 0x7a, 0x06, 0xf0, 0x3c, 0x00, 0x18, 0x51, + 0x00, 0x00, 0x9d, 0xfc, 0x0d, 0xf0, 0x47, 0xfe, + 0x07, 0x1c, 0x05, 0xf0, 0x12, 0xff, 0x3f, 0x18, + 0x02, 0x98, 0x81, 0x7b, 0x20, 0x69, 0x04, 0x30, + 0x00, 0xf0, 0x35, 0xfa, 0x61, 0x6a, 0x05, 0xf0, + 0xea, 0xfe, 0x39, 0x18, 0x6b, 0x7a, 0x30, 0x88, + 0x80, 0x31, 0x09, 0x4a, 0x0d, 0xf0, 0x91, 0xfe, + 0x5d, 0xe7, 0x03, 0x21, 0x0c, 0x20, 0xfc, 0xf7, + 0xaa, 0xf8, 0x58, 0xe7, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x51, 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, + 0xa5, 0x4d, 0x00, 0x00, 0xc9, 0x4d, 0x00, 0x00, + 0x32, 0x80, 0x07, 0x00, 0x1d, 0x75, 0x01, 0x00, + 0x8d, 0x4e, 0x00, 0x00, 0xff, 0xb5, 0x81, 0xb0, + 0x1f, 0x1c, 0x05, 0x1c, 0x14, 0x1c, 0x10, 0x1c, + 0x0a, 0x9e, 0x00, 0xf0, 0xf5, 0xfc, 0x29, 0x1c, + 0x10, 0x31, 0x20, 0x1d, 0x06, 0x22, 0xfb, 0xf7, + 0xb7, 0xf9, 0xa8, 0x8e, 0x20, 0x80, 0xe8, 0x8e, + 0x3c, 0x00, 0x90, 0x51, 0x00, 0x00, 0x60, 0x80, + 0x02, 0x99, 0x20, 0x1c, 0x00, 0xf0, 0x07, 0xf9, + 0xff, 0x34, 0x01, 0x34, 0x66, 0x60, 0x27, 0x60, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xf8, 0xb5, + 0x0f, 0x1c, 0x1e, 0x1c, 0x05, 0x1c, 0x14, 0x1c, + 0x10, 0x1c, 0x00, 0xf0, 0xd8, 0xfc, 0xa8, 0x88, + 0x39, 0x1c, 0x20, 0x80, 0x28, 0x89, 0x60, 0x80, + 0x20, 0x1c, 0x00, 0xf0, 0xf0, 0xf8, 0xff, 0x34, + 0x01, 0x34, 0x3c, 0x00, 0xcc, 0x51, 0x00, 0x00, + 0x66, 0x60, 0xf8, 0xbd, 0x70, 0xb5, 0x04, 0x1c, + 0xc0, 0x68, 0x05, 0x68, 0x20, 0x1c, 0x14, 0x30, + 0x06, 0x1c, 0x00, 0xf0, 0x0f, 0xfb, 0x00, 0x28, + 0x16, 0xd0, 0x01, 0x22, 0x02, 0x21, 0x20, 0x69, + 0x05, 0xf0, 0xf8, 0xfa, 0x00, 0x28, 0x01, 0xd0, + 0xfb, 0xf7, 0x24, 0xff, 0x00, 0x22, 0x02, 0x21, + 0x20, 0x69, 0x05, 0xf0, 0xef, 0xfa, 0x00, 0x28, + 0x06, 0xd0, 0xfb, 0xf7, 0x3c, 0x00, 0x08, 0x52, + 0x00, 0x00, 0x01, 0xff, 0x00, 0x28, 0x02, 0xd0, + 0x30, 0x1c, 0x0b, 0xf0, 0x7c, 0xfb, 0x68, 0x89, + 0x80, 0x07, 0xc0, 0x0f, 0x03, 0xf0, 0xa7, 0xf8, + 0x18, 0x23, 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, + 0xc1, 0x68, 0x00, 0x29, 0x02, 0xd0, 0x20, 0x1c, + 0xfb, 0xf7, 0xd4, 0xf8, 0x70, 0xbd, 0x94, 0x67, + 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, 0x10, 0x1c, + 0x0d, 0x1c, 0x19, 0x1c, 0xff, 0x22, 0x3c, 0x00, + 0x44, 0x52, 0x00, 0x00, 0x00, 0x27, 0xff, 0x2d, + 0x25, 0xd0, 0x00, 0x29, 0x05, 0xd0, 0x4b, 0x88, + 0x00, 0x2b, 0x02, 0xd0, 0x00, 0xf0, 0x50, 0xfc, + 0x15, 0xe0, 0x00, 0x21, 0x10, 0x4e, 0x4b, 0x00, + 0x9e, 0x19, 0x02, 0x23, 0xf6, 0x5e, 0x86, 0x42, + 0x01, 0xdd, 0x0a, 0x1c, 0x04, 0xe0, 0x01, 0x31, + 0x09, 0x06, 0x09, 0x0e, 0x26, 0x29, 0xf1, 0xd3, + 0x09, 0x4e, 0x50, 0x00, 0x80, 0x19, 0x4e, 0x23, + 0x3c, 0x00, 0x80, 0x52, 0x00, 0x00, 0xc0, 0x5e, + 0x27, 0x2a, 0x07, 0xd2, 0x06, 0x49, 0x20, 0x39, + 0x49, 0x57, 0x47, 0x31, 0x40, 0x1a, 0x20, 0x60, + 0x01, 0x27, 0x02, 0xe0, 0x7e, 0x20, 0xc0, 0x43, + 0x20, 0x60, 0x38, 0x1c, 0xf8, 0xbd, 0xfa, 0x47, + 0x01, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, 0x7e, 0x21, + 0x05, 0x1c, 0x00, 0x20, 0xc9, 0x43, 0x00, 0x2c, + 0x0f, 0xd0, 0x10, 0x1c, 0x05, 0xf0, 0x6b, 0xfd, + 0x00, 0x28, 0x3c, 0x00, 0xbc, 0x52, 0x00, 0x00, + 0x02, 0xd0, 0x21, 0x1c, 0xc9, 0x39, 0x01, 0xe0, + 0x21, 0x1c, 0x86, 0x39, 0x02, 0x20, 0xc0, 0x43, + 0xfb, 0xf7, 0xb4, 0xf9, 0x01, 0x1c, 0x01, 0x20, + 0x29, 0x60, 0xb0, 0xbd, 0x98, 0xb5, 0x14, 0x1c, + 0x00, 0x22, 0x00, 0x92, 0x22, 0x1c, 0xfd, 0xf7, + 0x43, 0xfe, 0x98, 0xbd, 0x05, 0x49, 0x80, 0xb5, + 0x08, 0x60, 0x05, 0x49, 0x01, 0x20, 0xc8, 0x61, + 0x01, 0x21, 0x00, 0x20, 0x3c, 0x00, 0xf8, 0x52, + 0x00, 0x00, 0x03, 0xf0, 0x1c, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x20, 0x67, 0x01, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x21, 0x00, 0x20, + 0x03, 0xf0, 0x11, 0xfe, 0x06, 0xf0, 0x0d, 0xfb, + 0x02, 0x49, 0x00, 0x20, 0x08, 0x60, 0x80, 0xbd, + 0x00, 0x00, 0x20, 0x67, 0x01, 0x00, 0x03, 0x49, + 0x01, 0x20, 0x09, 0x69, 0x00, 0x29, 0x00, 0xd1, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x53, 0x00, 0x00, 0x10, 0x67, 0x01, 0x00, + 0x03, 0x48, 0x00, 0x69, 0x00, 0x28, 0x01, 0xd0, + 0x40, 0x69, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x10, 0x67, 0x01, 0x00, 0x70, 0xb5, 0x16, 0x1c, + 0x0d, 0x1c, 0x04, 0x1c, 0x00, 0x28, 0x01, 0xd0, + 0x01, 0x2c, 0x07, 0xd1, 0x00, 0xf0, 0x36, 0xfa, + 0x00, 0x28, 0x05, 0xd0, 0x13, 0xf0, 0xca, 0xf9, + 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, 0x70, 0xbd, + 0x3c, 0x00, 0x70, 0x53, 0x00, 0x00, 0x01, 0x20, + 0x00, 0x2c, 0x00, 0xd0, 0x00, 0x20, 0x0a, 0x4c, + 0x04, 0x34, 0x61, 0xc4, 0x10, 0x3c, 0x00, 0xf0, + 0x24, 0xfa, 0x00, 0x28, 0x02, 0xd0, 0x00, 0xf0, + 0xc6, 0xf9, 0x01, 0xe0, 0x00, 0xf0, 0xe5, 0xf8, + 0xc0, 0x30, 0xc3, 0x6b, 0x22, 0x1d, 0x07, 0xca, + 0xfb, 0xf7, 0x20, 0xf8, 0x00, 0x20, 0x70, 0xbd, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0xf8, 0xb5, + 0x0d, 0x1c, 0x3c, 0x00, 0xac, 0x53, 0x00, 0x00, + 0x00, 0x21, 0x04, 0x1c, 0x28, 0x1c, 0x05, 0xf0, + 0xe3, 0xf9, 0x23, 0x1c, 0xff, 0x33, 0x21, 0x33, + 0xff, 0x27, 0x00, 0x28, 0x05, 0xd0, 0x22, 0x22, + 0x01, 0x1c, 0x18, 0x1c, 0xfb, 0xf7, 0x96, 0xf8, + 0x00, 0xe0, 0x1f, 0x70, 0x03, 0x21, 0x28, 0x1c, + 0x05, 0xf0, 0xd2, 0xf9, 0x26, 0x1c, 0xff, 0x36, + 0x41, 0x36, 0x00, 0x28, 0x05, 0xd0, 0x03, 0x22, + 0x01, 0x1c, 0xb0, 0x1c, 0x3c, 0x00, 0xe8, 0x53, + 0x00, 0x00, 0xfb, 0xf7, 0x86, 0xf8, 0x00, 0xe0, + 0xb7, 0x70, 0x01, 0x21, 0x28, 0x1c, 0x05, 0xf0, + 0xc2, 0xf9, 0x00, 0x28, 0x07, 0xd0, 0x01, 0x1c, + 0x20, 0x1c, 0xff, 0x30, 0x0a, 0x22, 0x46, 0x30, + 0xfb, 0xf7, 0x77, 0xf8, 0x00, 0xe0, 0x77, 0x71, + 0x32, 0x21, 0x28, 0x1c, 0x05, 0xf0, 0xb3, 0xf9, + 0x00, 0x28, 0x07, 0xd0, 0x01, 0x1c, 0x20, 0x1c, + 0xff, 0x30, 0x12, 0x22, 0x50, 0x30, 0x3c, 0x00, + 0x24, 0x54, 0x00, 0x00, 0xfb, 0xf7, 0x68, 0xf8, + 0x00, 0xe0, 0xf7, 0x73, 0x06, 0x21, 0x28, 0x1c, + 0x05, 0xf0, 0xa4, 0xf9, 0x00, 0x28, 0x07, 0xd0, + 0x01, 0x1c, 0x20, 0x1c, 0xff, 0x30, 0x04, 0x22, + 0x63, 0x30, 0xfb, 0xf7, 0x59, 0xf8, 0xf8, 0xbd, + 0xff, 0x34, 0x61, 0x34, 0xa7, 0x70, 0xfa, 0xe7, + 0x08, 0x49, 0x80, 0xb5, 0x09, 0x68, 0x00, 0x28, + 0x01, 0xd1, 0x07, 0x48, 0x01, 0x68, 0x08, 0x1c, + 0x3c, 0x00, 0x60, 0x54, 0x00, 0x00, 0x05, 0xd1, + 0x03, 0x21, 0x90, 0x20, 0xfb, 0xf7, 0x1d, 0xff, + 0x00, 0x20, 0x80, 0xbd, 0x01, 0xf0, 0xd7, 0xfb, + 0x80, 0xbd, 0x1c, 0x67, 0x01, 0x00, 0x20, 0x67, + 0x01, 0x00, 0x80, 0xb5, 0xff, 0xf7, 0xe7, 0xff, + 0x80, 0xbd, 0xf0, 0xb5, 0x00, 0x24, 0x84, 0x46, + 0x00, 0x20, 0x0b, 0xe0, 0x87, 0x40, 0x17, 0x40, + 0x07, 0xd0, 0x14, 0x23, 0x0b, 0x4d, 0x43, 0x43, + 0x5b, 0x19, 0x3c, 0x00, 0x9c, 0x54, 0x00, 0x00, + 0x1b, 0x7c, 0x65, 0x46, 0x2b, 0x55, 0x01, 0x34, + 0x01, 0x30, 0x01, 0x27, 0x3b, 0x1c, 0x0e, 0x28, + 0x00, 0xd3, 0x00, 0x23, 0x0e, 0x88, 0x3d, 0x1c, + 0xa6, 0x42, 0x00, 0xdc, 0x00, 0x25, 0x2b, 0x40, + 0xe7, 0xd1, 0x0c, 0x80, 0xf0, 0xbd, 0x00, 0x00, + 0x74, 0x40, 0x01, 0x00, 0x78, 0xb5, 0x04, 0x1c, + 0x01, 0x20, 0x20, 0x70, 0x08, 0x20, 0x00, 0xab, + 0x0d, 0x1c, 0x18, 0x80, 0x3c, 0x00, 0xd8, 0x54, + 0x00, 0x00, 0x16, 0x1c, 0xa0, 0x1c, 0x69, 0x46, + 0xff, 0xf7, 0xd1, 0xff, 0x00, 0xab, 0x00, 0x22, + 0xd2, 0x43, 0x19, 0x88, 0x82, 0x40, 0x61, 0x70, + 0x32, 0x20, 0x28, 0x70, 0x10, 0x20, 0x18, 0x80, + 0x32, 0x40, 0xa8, 0x1c, 0x69, 0x46, 0xff, 0xf7, + 0xc2, 0xff, 0x00, 0xab, 0x18, 0x88, 0x68, 0x70, + 0x78, 0xbd, 0x80, 0xb5, 0x02, 0xf0, 0x35, 0xff, + 0x00, 0x21, 0x00, 0x28, 0x00, 0xd0, 0x3c, 0x00, + 0x14, 0x55, 0x00, 0x00, 0x01, 0x69, 0x08, 0x1c, + 0x80, 0xbd, 0x00, 0x00, 0x05, 0x49, 0x00, 0x28, + 0x01, 0xd0, 0xc8, 0x68, 0x00, 0xe0, 0x08, 0x69, + 0x00, 0x28, 0x01, 0xd0, 0x04, 0x30, 0x70, 0x47, + 0x00, 0x20, 0x70, 0x47, 0x10, 0x67, 0x01, 0x00, + 0x03, 0x48, 0x00, 0x69, 0x00, 0x28, 0x01, 0xd0, + 0x04, 0x30, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x10, 0x67, 0x01, 0x00, 0x02, 0x48, 0x00, 0x69, + 0x3c, 0x00, 0x50, 0x55, 0x00, 0x00, 0x00, 0x28, + 0xff, 0xd1, 0x70, 0x47, 0x00, 0x00, 0x10, 0x67, + 0x01, 0x00, 0x10, 0xb5, 0x05, 0x4c, 0x20, 0x69, + 0x00, 0x28, 0x03, 0xd1, 0x04, 0x21, 0x90, 0x20, + 0xfb, 0xf7, 0x9b, 0xfe, 0x20, 0x69, 0x10, 0xbd, + 0x00, 0x00, 0x10, 0x67, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x00, 0xf0, 0x40, 0xf9, 0x00, 0x28, + 0x01, 0xd0, 0x00, 0x20, 0x10, 0xbd, 0x20, 0x1c, + 0x00, 0xf0, 0x3c, 0x00, 0x8c, 0x55, 0x00, 0x00, + 0x57, 0xf9, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x20, + 0x10, 0xbd, 0x02, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0x70, 0xb5, 0x0f, 0x4e, 0x04, 0x1c, 0x30, 0x68, + 0x0d, 0x1c, 0x00, 0x28, 0x07, 0xd0, 0x21, 0x1c, + 0x04, 0x30, 0x05, 0xf0, 0xc1, 0xfb, 0x00, 0x28, + 0x01, 0xd0, 0x30, 0x68, 0x0b, 0xe0, 0x09, 0x4a, + 0x10, 0x68, 0x00, 0x28, 0x09, 0xd0, 0x21, 0x1c, + 0x14, 0x1c, 0x04, 0x30, 0x3c, 0x00, 0xc8, 0x55, + 0x00, 0x00, 0x05, 0xf0, 0xb4, 0xfb, 0x00, 0x28, + 0x02, 0xd0, 0x20, 0x68, 0x9c, 0x30, 0x00, 0xe0, + 0x03, 0x48, 0x40, 0x5d, 0x70, 0xbd, 0x20, 0x67, + 0x01, 0x00, 0x1c, 0x67, 0x01, 0x00, 0xcc, 0x47, + 0x01, 0x00, 0x04, 0x49, 0x00, 0x20, 0x09, 0x69, + 0x00, 0x29, 0x02, 0xd0, 0xff, 0x31, 0x01, 0x31, + 0x88, 0x69, 0x70, 0x47, 0x00, 0x00, 0x10, 0x67, + 0x01, 0x00, 0x01, 0x48, 0x00, 0x7a, 0x3c, 0x00, + 0x04, 0x56, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0xac, 0x7c, 0x01, 0x00, 0xfe, 0xb5, 0x06, 0x1c, + 0x00, 0x20, 0x1f, 0x1c, 0x14, 0x1c, 0x00, 0x29, + 0x02, 0x90, 0x19, 0xd0, 0x01, 0x29, 0x26, 0xd0, + 0x02, 0x29, 0x47, 0xd1, 0x26, 0x48, 0x00, 0x78, + 0x05, 0xf0, 0xa0, 0xfb, 0xa0, 0x72, 0x0a, 0xf0, + 0x4f, 0xfc, 0x0e, 0x28, 0x09, 0xd1, 0xa0, 0x7a, + 0x05, 0xf0, 0xaa, 0xfb, 0x00, 0x28, 0x04, 0xd0, + 0x3c, 0x00, 0x40, 0x56, 0x00, 0x00, 0x20, 0x48, + 0x00, 0x78, 0x05, 0xf0, 0x92, 0xfb, 0xa0, 0x72, + 0x00, 0x20, 0x20, 0x72, 0x2f, 0xe0, 0x1d, 0x4d, + 0x28, 0x68, 0x00, 0x28, 0x01, 0xd1, 0xfb, 0xf7, + 0x52, 0xfe, 0x00, 0x97, 0x2a, 0x68, 0x23, 0x1c, + 0x18, 0x32, 0x11, 0x1c, 0x30, 0x1c, 0xfc, 0xf7, + 0xde, 0xfb, 0x26, 0xe0, 0x30, 0x1c, 0x0c, 0xf0, + 0xca, 0xfb, 0x05, 0x1c, 0x02, 0xd0, 0xa8, 0x68, + 0x00, 0x28, 0x3c, 0x00, 0x7c, 0x56, 0x00, 0x00, + 0x08, 0xd1, 0x13, 0x48, 0x00, 0x68, 0x00, 0x28, + 0x01, 0xd1, 0xfb, 0xf7, 0x3b, 0xfe, 0x10, 0x48, + 0x00, 0x68, 0x18, 0x30, 0x02, 0x1c, 0x0e, 0x48, + 0x00, 0x97, 0x01, 0x68, 0x23, 0x1c, 0x18, 0x31, + 0x30, 0x1c, 0xfc, 0xf7, 0xc3, 0xfb, 0x00, 0x2d, + 0x0a, 0xd0, 0x40, 0x35, 0x28, 0x88, 0x80, 0x06, + 0x06, 0xd4, 0x00, 0x20, 0x20, 0x60, 0x03, 0xe0, + 0x01, 0x21, 0x90, 0x20, 0x3c, 0x00, 0xb8, 0x56, + 0x00, 0x00, 0xfb, 0xf7, 0xf4, 0xfd, 0x02, 0x98, + 0xfe, 0xbd, 0xb0, 0x69, 0x01, 0x00, 0x90, 0x57, + 0x01, 0x00, 0x20, 0x67, 0x01, 0x00, 0x1c, 0x67, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x20, 0x02, 0xf0, + 0x4a, 0xfe, 0x18, 0x23, 0x05, 0x4a, 0x58, 0x43, + 0x80, 0x18, 0x40, 0x69, 0x01, 0x21, 0x00, 0x28, + 0x00, 0xd0, 0x41, 0x78, 0x08, 0x1c, 0x80, 0xbd, + 0x00, 0x00, 0x94, 0x67, 0x01, 0x00, 0x3c, 0x00, + 0xf4, 0x56, 0x00, 0x00, 0x02, 0x49, 0x08, 0x69, + 0x00, 0x28, 0x00, 0xd1, 0xc8, 0x68, 0x70, 0x47, + 0x10, 0x67, 0x01, 0x00, 0x03, 0x48, 0xc0, 0x68, + 0x00, 0x28, 0x01, 0xd0, 0x04, 0x30, 0x70, 0x47, + 0x00, 0x20, 0x70, 0x47, 0x10, 0x67, 0x01, 0x00, + 0x10, 0xb5, 0x05, 0x4c, 0xe0, 0x68, 0x00, 0x28, + 0x03, 0xd1, 0x05, 0x21, 0x90, 0x20, 0xfb, 0xf7, + 0xbd, 0xfd, 0xe0, 0x68, 0x10, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x57, 0x00, 0x00, 0x10, 0x67, + 0x01, 0x00, 0xf8, 0xb5, 0x0d, 0x1c, 0x00, 0x2a, + 0x03, 0xd0, 0x11, 0x49, 0x12, 0x4f, 0x0e, 0x78, + 0x01, 0xe0, 0x11, 0x4f, 0x0c, 0x26, 0x08, 0x2e, + 0x01, 0xd2, 0x34, 0x1c, 0x00, 0xe0, 0x08, 0x24, + 0x01, 0x21, 0x01, 0x70, 0x44, 0x70, 0x39, 0x1c, + 0x22, 0x1c, 0x02, 0x30, 0xfa, 0xf7, 0xcb, 0xfe, + 0x32, 0x1b, 0x00, 0x2a, 0x07, 0xdd, 0x32, 0x20, + 0x28, 0x70, 0x3c, 0x00, 0x6c, 0x57, 0x00, 0x00, + 0x39, 0x19, 0xa8, 0x1c, 0x6a, 0x70, 0xfa, 0xf7, + 0xc1, 0xfe, 0xf8, 0xbd, 0xff, 0x20, 0x28, 0x70, + 0x00, 0x20, 0x68, 0x70, 0xf9, 0xe7, 0x00, 0x00, + 0xa4, 0x69, 0x01, 0x00, 0xb0, 0x69, 0x01, 0x00, + 0x90, 0x57, 0x01, 0x00, 0x01, 0x49, 0x48, 0x62, + 0x70, 0x47, 0x00, 0x00, 0x94, 0x67, 0x01, 0x00, + 0x03, 0x49, 0x80, 0xb5, 0x08, 0x60, 0x01, 0x21, + 0x01, 0x20, 0x03, 0xf0, 0x3c, 0x00, 0xa8, 0x57, + 0x00, 0x00, 0xc5, 0xfb, 0x80, 0xbd, 0x1c, 0x67, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x21, 0x01, 0x20, + 0x03, 0xf0, 0xbd, 0xfb, 0x06, 0xf0, 0xb9, 0xf8, + 0x02, 0x49, 0x00, 0x20, 0x08, 0x60, 0x80, 0xbd, + 0x00, 0x00, 0x1c, 0x67, 0x01, 0x00, 0x03, 0x49, + 0x01, 0x20, 0xc9, 0x68, 0x00, 0x29, 0x00, 0xd1, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x10, 0x67, + 0x01, 0x00, 0x03, 0x48, 0xc0, 0x68, 0x3c, 0x00, + 0xe4, 0x57, 0x00, 0x00, 0x00, 0x28, 0x01, 0xd0, + 0x40, 0x69, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, + 0x10, 0x67, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x01, 0x20, 0x03, 0xf0, 0x9b, 0xfb, 0x80, 0xbd, + 0x05, 0x4a, 0x80, 0xb5, 0x12, 0x69, 0x00, 0x21, + 0x00, 0x2a, 0x03, 0xd0, 0x11, 0x1d, 0x05, 0xf0, + 0x91, 0xfa, 0x01, 0x1c, 0x08, 0x1c, 0x80, 0xbd, + 0x10, 0x67, 0x01, 0x00, 0x06, 0x4a, 0x80, 0xb5, + 0x3c, 0x00, 0x20, 0x58, 0x00, 0x00, 0x12, 0x69, + 0x00, 0x21, 0x00, 0x2a, 0x05, 0xd0, 0x11, 0x1c, + 0xff, 0x31, 0x21, 0x31, 0x05, 0xf0, 0x8b, 0xfa, + 0x01, 0x1c, 0x08, 0x1c, 0x80, 0xbd, 0x10, 0x67, + 0x01, 0x00, 0x05, 0x4a, 0x80, 0xb5, 0xd2, 0x68, + 0x00, 0x21, 0x00, 0x2a, 0x03, 0xd0, 0x11, 0x1d, + 0x05, 0xf0, 0x73, 0xfa, 0x01, 0x1c, 0x08, 0x1c, + 0x80, 0xbd, 0x10, 0x67, 0x01, 0x00, 0x06, 0x4a, + 0x80, 0xb5, 0x3c, 0x00, 0x5c, 0x58, 0x00, 0x00, + 0xd2, 0x68, 0x00, 0x21, 0x00, 0x2a, 0x05, 0xd0, + 0x11, 0x1c, 0xff, 0x31, 0x21, 0x31, 0x05, 0xf0, + 0x6d, 0xfa, 0x01, 0x1c, 0x08, 0x1c, 0x80, 0xbd, + 0x10, 0x67, 0x01, 0x00, 0xff, 0xb5, 0x0d, 0x1c, + 0x1f, 0x1c, 0x87, 0xb0, 0x10, 0x9e, 0x00, 0x24, + 0x02, 0xf0, 0x72, 0xfd, 0x18, 0x23, 0x13, 0x49, + 0x58, 0x43, 0x08, 0x58, 0x00, 0x28, 0x19, 0xd0, + 0x04, 0x1c, 0x33, 0x1c, 0x3c, 0x00, 0x98, 0x58, + 0x00, 0x00, 0x3a, 0x1c, 0x28, 0x1c, 0x09, 0x99, + 0xfa, 0xf7, 0x9f, 0xfd, 0x04, 0x1c, 0x14, 0xd0, + 0x18, 0x20, 0x00, 0xab, 0x18, 0x80, 0xaa, 0x68, + 0x01, 0xa8, 0x69, 0x46, 0xff, 0xf7, 0xe7, 0xfd, + 0x6a, 0x46, 0x01, 0xa9, 0x00, 0x20, 0x07, 0xf0, + 0x44, 0xfe, 0x00, 0x28, 0x05, 0xd1, 0x0a, 0x21, + 0x00, 0xe0, 0x0f, 0x21, 0x90, 0x20, 0xfb, 0xf7, + 0xea, 0xfc, 0x20, 0x1c, 0x0b, 0xb0, 0x3c, 0x00, + 0xd4, 0x58, 0x00, 0x00, 0xf0, 0xbd, 0x00, 0x00, + 0x94, 0x67, 0x01, 0x00, 0x10, 0xb5, 0x00, 0x24, + 0x02, 0xf0, 0x44, 0xfd, 0x18, 0x23, 0x05, 0x49, + 0x58, 0x43, 0x40, 0x18, 0x80, 0x68, 0x00, 0x28, + 0x02, 0xd0, 0xfa, 0xf7, 0x71, 0xfd, 0x01, 0x24, + 0x20, 0x1c, 0x10, 0xbd, 0x94, 0x67, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x4b, 0x00, 0xf0, 0x4e, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x10, 0x67, 0x01, 0x00, + 0x3c, 0x00, 0x10, 0x59, 0x00, 0x00, 0x80, 0xb5, + 0x02, 0x4b, 0x00, 0xf0, 0x46, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0x11, 0x67, 0x01, 0x00, 0xf8, 0xb5, + 0x0e, 0x1c, 0x15, 0x1c, 0x00, 0x28, 0x1c, 0x49, + 0x10, 0xd0, 0x48, 0x68, 0x1c, 0x4a, 0x28, 0x80, + 0x00, 0x20, 0x07, 0xe0, 0x0b, 0x18, 0x1c, 0x7a, + 0x14, 0x23, 0x63, 0x43, 0x9b, 0x18, 0x1b, 0x7c, + 0x33, 0x54, 0x01, 0x30, 0x2b, 0x88, 0x83, 0x42, + 0xf4, 0xdc, 0x3c, 0x00, 0x4c, 0x59, 0x00, 0x00, + 0x24, 0xe0, 0x00, 0x20, 0x0f, 0x1c, 0x00, 0x24, + 0x08, 0x60, 0x0f, 0xe0, 0x30, 0x5d, 0x05, 0xf0, + 0x07, 0xfa, 0x0e, 0x28, 0x01, 0xd1, 0x00, 0x20, + 0xf8, 0xbd, 0x39, 0x19, 0x08, 0x72, 0x01, 0x22, + 0x39, 0x68, 0x82, 0x40, 0x11, 0x43, 0x08, 0x1c, + 0x38, 0x60, 0x01, 0x34, 0x28, 0x88, 0xa0, 0x42, + 0xec, 0xdc, 0x28, 0x88, 0x78, 0x60, 0xff, 0xf7, + 0xb7, 0xfe, 0x00, 0x28, 0x3c, 0x00, 0x88, 0x59, + 0x00, 0x00, 0x06, 0xd0, 0x01, 0x69, 0x00, 0x29, + 0x03, 0xd0, 0x7f, 0x21, 0xc9, 0x43, 0x0b, 0xf0, + 0x52, 0xfb, 0x01, 0x20, 0xe3, 0xe7, 0x2c, 0x7d, + 0x01, 0x00, 0x74, 0x40, 0x01, 0x00, 0x10, 0xb5, + 0x1c, 0x1c, 0x00, 0x28, 0x0b, 0xd0, 0x20, 0x78, + 0x0e, 0x28, 0x05, 0xd2, 0x14, 0x23, 0x0c, 0x4a, + 0x58, 0x43, 0x80, 0x18, 0x00, 0x7c, 0x00, 0xe0, + 0x00, 0x20, 0x08, 0x70, 0x0e, 0xe0, 0x3c, 0x00, + 0xc4, 0x59, 0x00, 0x00, 0x08, 0x78, 0x05, 0xf0, + 0xd1, 0xf9, 0x20, 0x70, 0xff, 0xf7, 0x92, 0xfe, + 0x00, 0x28, 0x06, 0xd0, 0x01, 0x69, 0x00, 0x29, + 0x03, 0xd0, 0x7f, 0x21, 0xc9, 0x43, 0x0b, 0xf0, + 0x2d, 0xfb, 0x01, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0x74, 0x40, 0x01, 0x00, 0x80, 0xb5, 0x27, 0x20, + 0xc0, 0x43, 0x09, 0xf0, 0x31, 0xfc, 0x80, 0xbd, + 0x80, 0xb5, 0x27, 0x20, 0xc0, 0x43, 0x09, 0xf0, + 0x3c, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x39, 0xfc, + 0x80, 0xbd, 0x80, 0xb5, 0x28, 0x20, 0x09, 0xf0, + 0x42, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0x28, 0x20, 0x09, 0xf0, 0x4a, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0xb0, 0xb5, 0x01, 0x28, 0x28, 0xd1, + 0x01, 0x29, 0x01, 0xd0, 0xfb, 0xf7, 0x6b, 0xfc, + 0xff, 0xf7, 0xe9, 0xfd, 0x02, 0x28, 0x1a, 0xd1, + 0x07, 0xf0, 0x13, 0xfc, 0x12, 0x4c, 0x21, 0x69, + 0x88, 0x42, 0x3c, 0x00, 0x3c, 0x5a, 0x00, 0x00, + 0x15, 0xd0, 0x07, 0xf0, 0x0d, 0xfc, 0x20, 0x61, + 0x20, 0x68, 0x7d, 0x24, 0xe4, 0x00, 0x44, 0x43, + 0x0d, 0xf0, 0xae, 0xf9, 0x05, 0x1c, 0x07, 0xf0, + 0x0b, 0xfc, 0x28, 0x1a, 0x84, 0x42, 0x00, 0xd9, + 0x24, 0x1a, 0x01, 0x22, 0x21, 0x1c, 0x0a, 0x20, + 0x0d, 0xf0, 0xb2, 0xfd, 0xb0, 0xbd, 0x00, 0x21, + 0x09, 0x20, 0x0c, 0xf0, 0x75, 0xfc, 0xb0, 0xbd, + 0x07, 0x21, 0x0a, 0x20, 0x3c, 0x00, 0x78, 0x5a, + 0x00, 0x00, 0xfb, 0xf7, 0x14, 0xfc, 0xb0, 0xbd, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0x7d, 0x20, + 0x02, 0x49, 0x00, 0x01, 0x08, 0x60, 0x70, 0x47, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0x10, 0xb5, + 0x81, 0x6d, 0x04, 0x1c, 0xff, 0x30, 0x46, 0x30, + 0x0c, 0xf0, 0xd1, 0xfc, 0x20, 0x1c, 0xff, 0x30, + 0x50, 0x30, 0xa1, 0x6d, 0x0c, 0xf0, 0xcb, 0xfc, + 0x10, 0xbd, 0xb0, 0xb5, 0x04, 0x1c, 0x3c, 0x00, + 0xb4, 0x5a, 0x00, 0x00, 0x0d, 0x1c, 0x02, 0xf0, + 0x59, 0xfc, 0x20, 0x1c, 0x02, 0xf0, 0x56, 0xfc, + 0x18, 0x23, 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x18, 0x22, 0x29, 0x1c, 0xfa, 0xf7, 0x70, 0xfd, + 0xb0, 0xbd, 0x00, 0x00, 0x94, 0x67, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x09, 0xf0, 0xbc, 0xfb, + 0x20, 0x1c, 0x09, 0xf0, 0xc7, 0xfb, 0x10, 0xbd, + 0x10, 0xb5, 0x04, 0x1c, 0x09, 0xf0, 0xd0, 0xfb, + 0x3c, 0x00, 0xf0, 0x5a, 0x00, 0x00, 0x20, 0x1c, + 0x09, 0xf0, 0xdb, 0xfb, 0x10, 0xbd, 0x70, 0xb5, + 0x0c, 0x78, 0x06, 0x1c, 0x48, 0x88, 0x4d, 0x78, + 0xe2, 0x00, 0x80, 0x1a, 0xe9, 0x00, 0x40, 0x1a, + 0x01, 0x1c, 0x41, 0x43, 0x12, 0x31, 0x24, 0x20, + 0xfa, 0xf7, 0x91, 0xfd, 0x21, 0x1c, 0x61, 0x43, + 0xc9, 0x00, 0x40, 0x18, 0x29, 0x1c, 0x69, 0x43, + 0xc9, 0x00, 0x42, 0x18, 0x0c, 0x49, 0x88, 0x79, + 0x0c, 0x4b, 0x3c, 0x00, 0x2c, 0x5b, 0x00, 0x00, + 0x53, 0x43, 0x0c, 0x4a, 0x13, 0x60, 0x53, 0x7b, + 0x34, 0x02, 0x14, 0x60, 0x52, 0x7b, 0x88, 0x71, + 0x01, 0x33, 0x58, 0x10, 0x08, 0x4b, 0x80, 0x1a, + 0x01, 0x21, 0x49, 0x02, 0x58, 0x43, 0x00, 0x28, + 0x00, 0xda, 0x49, 0x42, 0x08, 0x18, 0x80, 0x12, + 0x21, 0x38, 0x70, 0xbd, 0x20, 0x10, 0x07, 0x00, + 0xec, 0x04, 0x00, 0x00, 0x00, 0xa0, 0x07, 0x00, + 0x03, 0x03, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x5b, + 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x06, 0x21, + 0x04, 0x30, 0xfa, 0xf7, 0x70, 0xfc, 0xff, 0x20, + 0x21, 0x30, 0xff, 0x21, 0x01, 0x55, 0x20, 0x1c, + 0xff, 0x30, 0x41, 0x30, 0x81, 0x70, 0x41, 0x71, + 0xc1, 0x73, 0xff, 0x20, 0x63, 0x30, 0x01, 0x55, + 0x00, 0x20, 0x20, 0x61, 0x60, 0x61, 0xff, 0x34, + 0x01, 0x34, 0xa0, 0x60, 0xe0, 0x60, 0x10, 0xbd, + 0x00, 0x00, 0x70, 0xb5, 0x06, 0x1c, 0x3c, 0x00, + 0xa4, 0x5b, 0x00, 0x00, 0x08, 0x1c, 0x58, 0x60, + 0x9a, 0x60, 0x1c, 0x1c, 0x1e, 0x60, 0x15, 0x1c, + 0x9b, 0x8a, 0xe2, 0x8a, 0x31, 0x1c, 0x02, 0xf0, + 0xa1, 0xfc, 0x28, 0x1a, 0xe0, 0x60, 0x70, 0xbd, + 0x70, 0xb5, 0x04, 0x1c, 0x08, 0x1c, 0x11, 0x1c, + 0x1e, 0x1c, 0x00, 0x25, 0xeb, 0x43, 0x22, 0x1c, + 0x18, 0x32, 0x0b, 0xf0, 0xf7, 0xfb, 0x22, 0x1c, + 0xff, 0x32, 0x50, 0x32, 0x11, 0x1c, 0x0a, 0x39, + 0x3c, 0x00, 0xe0, 0x5b, 0x00, 0x00, 0x01, 0x23, + 0x20, 0x1c, 0x00, 0xf0, 0xc6, 0xf8, 0x0c, 0x28, + 0x10, 0xd0, 0x01, 0x25, 0x20, 0x1c, 0x0b, 0xf0, + 0xac, 0xfa, 0x20, 0x1c, 0x00, 0xf0, 0x19, 0xf8, + 0x20, 0x1c, 0x00, 0xf0, 0x0a, 0xf8, 0x20, 0x1c, + 0x00, 0xf0, 0x29, 0xf8, 0x31, 0x1c, 0x20, 0x1c, + 0x0b, 0xf0, 0x17, 0xfa, 0x28, 0x1c, 0x70, 0xbd, + 0x00, 0x00, 0xff, 0x21, 0x1d, 0x31, 0x09, 0x58, + 0x80, 0x30, 0x3c, 0x00, 0x1c, 0x5c, 0x00, 0x00, + 0x89, 0x07, 0x00, 0x29, 0x01, 0xda, 0x01, 0x21, + 0x00, 0xe0, 0x00, 0x21, 0xc1, 0x62, 0x70, 0x47, + 0x01, 0x1c, 0x80, 0x31, 0x00, 0x22, 0x0a, 0x63, + 0x07, 0x4a, 0x12, 0x68, 0x00, 0x2a, 0x09, 0xd0, + 0x42, 0x88, 0x92, 0x06, 0x06, 0xd5, 0xff, 0x30, + 0x01, 0x30, 0xc0, 0x69, 0x40, 0x07, 0x01, 0xd4, + 0x01, 0x20, 0x08, 0x63, 0x70, 0x47, 0x00, 0x00, + 0xac, 0x69, 0x01, 0x00, 0x3c, 0x00, 0x58, 0x5c, + 0x00, 0x00, 0x80, 0xb5, 0x01, 0x1c, 0x4a, 0x88, + 0x00, 0x20, 0x52, 0x05, 0x05, 0xd5, 0xff, 0x31, + 0x01, 0x31, 0xc9, 0x69, 0x49, 0x07, 0x00, 0xd4, + 0x01, 0x20, 0x06, 0xf0, 0xec, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0xf8, 0xb5, 0x05, 0x1c, 0x98, 0x68, + 0x17, 0x1c, 0x0e, 0x1c, 0x1c, 0x1c, 0x00, 0x28, + 0x02, 0xd1, 0x20, 0x1c, 0x0c, 0xf0, 0x31, 0xf8, + 0xab, 0x69, 0x39, 0x1c, 0x30, 0x1c, 0x3c, 0x00, + 0x94, 0x5c, 0x00, 0x00, 0xa2, 0x68, 0x0b, 0xf0, + 0x95, 0xfb, 0xf8, 0xbd, 0xf8, 0xb5, 0x16, 0x1c, + 0x0d, 0x1c, 0x1f, 0x1c, 0x00, 0x24, 0x02, 0xf0, + 0x61, 0xfb, 0x18, 0x23, 0x06, 0x49, 0x58, 0x43, + 0x40, 0x18, 0x43, 0x68, 0x00, 0x2b, 0x05, 0xd0, + 0x3a, 0x1c, 0x31, 0x1c, 0x28, 0x1c, 0xfa, 0xf7, + 0x8e, 0xfb, 0x01, 0x24, 0x20, 0x1c, 0xf8, 0xbd, + 0x94, 0x67, 0x01, 0x00, 0x80, 0xb5, 0x07, 0xf0, + 0x3c, 0x00, 0xd0, 0x5c, 0x00, 0x00, 0xc5, 0xfa, + 0x09, 0x49, 0x08, 0x61, 0x08, 0x68, 0x00, 0x28, + 0x02, 0xd1, 0x7d, 0x20, 0x00, 0x01, 0x08, 0x60, + 0x08, 0x68, 0x7d, 0x21, 0xc9, 0x00, 0x41, 0x43, + 0x00, 0x23, 0x01, 0x22, 0x0a, 0x20, 0x0d, 0xf0, + 0x4e, 0xfd, 0x80, 0xbd, 0x00, 0x00, 0xd4, 0x67, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x21, 0x0a, 0x20, + 0x0d, 0xf0, 0x97, 0xfc, 0x80, 0xbd, 0xf8, 0xb5, + 0x0e, 0x1c, 0x3c, 0x00, 0x0c, 0x5d, 0x00, 0x00, + 0x51, 0x68, 0x14, 0x1c, 0x12, 0x68, 0xa5, 0x68, + 0x0b, 0x1c, 0x75, 0x1b, 0x57, 0x19, 0x97, 0x42, + 0x00, 0xd2, 0x01, 0x31, 0x42, 0x68, 0x00, 0x25, + 0x8a, 0x42, 0x02, 0xdd, 0x01, 0x25, 0x62, 0x60, + 0x05, 0xe0, 0x9a, 0x42, 0x03, 0xd1, 0x01, 0x68, + 0xb9, 0x42, 0x00, 0xd9, 0x01, 0x25, 0x00, 0x2d, + 0x09, 0xd0, 0x01, 0x68, 0x21, 0x60, 0xa6, 0x60, + 0xa3, 0x8a, 0xe2, 0x8a, 0x3c, 0x00, 0x48, 0x5d, + 0x00, 0x00, 0x60, 0x68, 0x02, 0xf0, 0xd7, 0xfb, + 0x30, 0x1a, 0xe0, 0x60, 0x28, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x02, 0xf0, 0x07, 0xfb, + 0x18, 0x23, 0x03, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x18, 0x21, 0xfa, 0xf7, 0x98, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0x94, 0x67, 0x01, 0x00, 0xfe, 0xb5, + 0x04, 0x1c, 0x08, 0x1c, 0x11, 0x1c, 0x1e, 0x1c, + 0x0c, 0x25, 0x01, 0x22, 0x00, 0x92, 0x3c, 0x00, + 0x84, 0x5d, 0x00, 0x00, 0xa2, 0x69, 0x02, 0xab, + 0xfd, 0xf7, 0xf0, 0xf8, 0x00, 0x28, 0x45, 0xd0, + 0x02, 0x98, 0x27, 0x21, 0x02, 0x1c, 0x0a, 0x40, + 0x01, 0xd1, 0x08, 0x43, 0x02, 0x90, 0x21, 0x49, + 0xa0, 0x69, 0x08, 0x40, 0x06, 0xd0, 0x02, 0x98, + 0x01, 0x40, 0x03, 0xd1, 0x49, 0x21, 0xc9, 0x00, + 0x08, 0x43, 0x02, 0x90, 0xa0, 0x6d, 0x02, 0x99, + 0x88, 0x42, 0x30, 0xd0, 0x00, 0x2e, 0x2d, 0xd0, + 0x3c, 0x00, 0xc0, 0x5d, 0x00, 0x00, 0x40, 0x21, + 0x20, 0x1c, 0x58, 0x30, 0xfa, 0xf7, 0x69, 0xfb, + 0x02, 0x98, 0x00, 0x25, 0x00, 0x26, 0x37, 0x1c, + 0xa0, 0x65, 0x19, 0xe0, 0xc0, 0x07, 0x11, 0xd5, + 0xf0, 0x19, 0x00, 0x19, 0x70, 0x30, 0x05, 0x71, + 0x28, 0x1c, 0x04, 0xf0, 0xd4, 0xff, 0x00, 0x28, + 0x04, 0xd0, 0xa0, 0x19, 0x80, 0x30, 0x05, 0x72, + 0x01, 0x36, 0x03, 0xe0, 0xe0, 0x19, 0x60, 0x30, + 0x05, 0x70, 0x3c, 0x00, 0xfc, 0x5d, 0x00, 0x00, + 0x01, 0x37, 0x01, 0x35, 0x2d, 0x06, 0x02, 0x98, + 0x2d, 0x0e, 0x40, 0x08, 0x02, 0x90, 0x02, 0x98, + 0x00, 0x28, 0xe2, 0xd1, 0x84, 0x20, 0x06, 0x51, + 0xf0, 0x19, 0x20, 0x67, 0xe7, 0x65, 0x00, 0x25, + 0x00, 0xe0, 0x0b, 0x25, 0x28, 0x1c, 0xfe, 0xbd, + 0xd8, 0x3a, 0x00, 0x00, 0x38, 0xb5, 0x05, 0x1c, + 0x08, 0x1c, 0x11, 0x1c, 0x00, 0x24, 0xe2, 0x43, + 0x6b, 0x46, 0xff, 0xf7, 0x3c, 0x00, 0x38, 0x5e, + 0x00, 0x00, 0x4f, 0xfa, 0x00, 0x28, 0x05, 0xd0, + 0xa8, 0x69, 0x00, 0x99, 0x01, 0x40, 0x81, 0x42, + 0x00, 0xd1, 0x01, 0x24, 0x20, 0x1c, 0x38, 0xbd, + 0x00, 0x00, 0x7c, 0xb5, 0x05, 0x6a, 0x86, 0x69, + 0x04, 0x1c, 0xc0, 0x68, 0xfb, 0xf7, 0xb7, 0xfb, + 0xe1, 0x69, 0xfb, 0xf7, 0xda, 0xfa, 0x20, 0x1c, + 0xe2, 0x69, 0x40, 0x30, 0xc1, 0x8b, 0x12, 0x89, + 0x89, 0x18, 0xc1, 0x83, 0x06, 0x49, 0x3c, 0x00, + 0x74, 0x5e, 0x00, 0x00, 0x01, 0x94, 0x00, 0x91, + 0x28, 0x69, 0x33, 0x1c, 0x82, 0x88, 0x01, 0x68, + 0xe0, 0x68, 0xc0, 0x68, 0x00, 0xf0, 0xf2, 0xf9, + 0x7c, 0xbd, 0x00, 0x00, 0x91, 0x5e, 0x00, 0x00, + 0xb0, 0xb5, 0xd1, 0x68, 0x55, 0x69, 0xc8, 0x68, + 0x14, 0x1c, 0x14, 0x4b, 0x0c, 0xe0, 0x02, 0x68, + 0x9a, 0x42, 0x07, 0xd1, 0xc2, 0x68, 0xca, 0x60, + 0x00, 0x21, 0xc1, 0x60, 0x01, 0x60, 0xfb, 0xf7, + 0x3c, 0x00, 0xb0, 0x5e, 0x00, 0x00, 0x73, 0xfb, + 0x03, 0xe0, 0x01, 0x1c, 0xc0, 0x68, 0x00, 0x28, + 0xf0, 0xd1, 0xe0, 0x68, 0xc0, 0x68, 0xe8, 0x60, + 0xe0, 0x68, 0xc5, 0x60, 0x20, 0x1c, 0x40, 0x30, + 0xc1, 0x8b, 0x2a, 0x89, 0x89, 0x18, 0xc1, 0x83, + 0x20, 0x68, 0x00, 0x28, 0x02, 0xd0, 0xff, 0xf7, + 0xba, 0xff, 0xb0, 0xbd, 0x04, 0x48, 0x04, 0xf0, + 0x4e, 0xf9, 0x00, 0x6a, 0x07, 0xf0, 0x77, 0xfa, + 0xb0, 0xbd, 0x3c, 0x00, 0xec, 0x5e, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0xa0, 0x6a, 0x01, 0x00, + 0xf1, 0xb5, 0x82, 0xb0, 0x02, 0x98, 0x06, 0x69, + 0x01, 0x1c, 0x08, 0x36, 0x60, 0x31, 0x45, 0x68, + 0x01, 0x91, 0x82, 0xe0, 0x10, 0x21, 0x00, 0x20, + 0x2f, 0x69, 0xfb, 0xf7, 0x63, 0xfb, 0x68, 0x61, + 0x01, 0x89, 0x08, 0x39, 0x09, 0x04, 0x09, 0x0c, + 0x01, 0x81, 0x68, 0x69, 0x00, 0x68, 0x40, 0x18, + 0x08, 0x21, 0xfb, 0xf7, 0x3c, 0x00, 0x28, 0x5f, + 0x00, 0x00, 0x57, 0xfb, 0xe8, 0x61, 0x68, 0x69, + 0x71, 0x88, 0x00, 0x68, 0x20, 0x22, 0x01, 0x80, + 0x71, 0x68, 0x41, 0x60, 0x01, 0x99, 0x49, 0x7b, + 0x89, 0x01, 0x11, 0x43, 0xc1, 0x70, 0x00, 0x21, + 0x81, 0x70, 0x28, 0x20, 0xfb, 0xf7, 0x75, 0xfc, + 0x39, 0x88, 0x04, 0x1c, 0xc1, 0x81, 0xa8, 0x6b, + 0x00, 0x28, 0x03, 0xd1, 0x01, 0x20, 0x80, 0x02, + 0x08, 0x43, 0xe0, 0x81, 0x06, 0x22, 0x3c, 0x00, + 0x64, 0x5f, 0x00, 0x00, 0x39, 0x1d, 0x20, 0x1c, + 0x10, 0x30, 0xfa, 0xf7, 0xc5, 0xfa, 0x39, 0x1c, + 0x0a, 0x31, 0x06, 0x22, 0x20, 0x1c, 0x16, 0x30, + 0x00, 0x90, 0xfa, 0xf7, 0xbd, 0xfa, 0x39, 0x1c, + 0x10, 0x31, 0x06, 0x22, 0x20, 0x1c, 0x1c, 0x30, + 0xfa, 0xf7, 0xb6, 0xfa, 0xe1, 0x89, 0x25, 0x4a, + 0x5c, 0x20, 0x11, 0x40, 0x01, 0x22, 0x92, 0x03, + 0x11, 0x43, 0x40, 0x5b, 0xe1, 0x81, 0x0f, 0x21, + 0x3c, 0x00, 0xa0, 0x5f, 0x00, 0x00, 0x08, 0x40, + 0x60, 0x84, 0x20, 0x1c, 0x20, 0x30, 0x16, 0x21, + 0x81, 0x71, 0x00, 0x21, 0x21, 0x70, 0xe9, 0x6b, + 0x00, 0x29, 0x07, 0xd0, 0x29, 0x69, 0x09, 0x8b, + 0x09, 0x07, 0x09, 0x0f, 0x21, 0x70, 0xa1, 0x84, + 0x18, 0x21, 0x81, 0x71, 0x06, 0x22, 0x60, 0x1c, + 0x00, 0x99, 0xfa, 0xf7, 0x94, 0xfa, 0x70, 0x68, + 0x00, 0x0e, 0xe0, 0x71, 0x70, 0x68, 0x00, 0x02, + 0x00, 0x0e, 0x3c, 0x00, 0xdc, 0x5f, 0x00, 0x00, + 0x20, 0x72, 0x70, 0x68, 0x00, 0x04, 0x00, 0x0e, + 0x60, 0x72, 0x70, 0x68, 0xa0, 0x72, 0x70, 0x88, + 0x00, 0x0a, 0xe0, 0x72, 0x70, 0x88, 0x20, 0x73, + 0x70, 0x88, 0x01, 0x30, 0x00, 0x04, 0x00, 0x0c, + 0x70, 0x80, 0x02, 0xd1, 0x70, 0x68, 0x01, 0x30, + 0x70, 0x60, 0xac, 0x61, 0x02, 0x98, 0x28, 0x62, + 0x2d, 0x68, 0x00, 0x2d, 0x00, 0xd0, 0x79, 0xe7, + 0x02, 0x98, 0x04, 0x49, 0x3c, 0x00, 0x18, 0x60, + 0x00, 0x00, 0x42, 0x68, 0x04, 0x48, 0x04, 0xf0, + 0x74, 0xf8, 0xfe, 0xbd, 0x00, 0x00, 0x8f, 0xc7, + 0xff, 0xff, 0x3d, 0xda, 0x00, 0x00, 0xa0, 0x6a, + 0x01, 0x00, 0xb0, 0xb5, 0x07, 0x4d, 0x28, 0x78, + 0x03, 0x28, 0x08, 0xd0, 0x00, 0x24, 0x2c, 0x70, + 0x69, 0x68, 0x00, 0x29, 0x03, 0xd0, 0x01, 0x20, + 0xfa, 0xf7, 0xc8, 0xf9, 0x6c, 0x60, 0xb0, 0xbd, + 0x00, 0x00, 0x9c, 0x73, 0x01, 0x00, 0x3c, 0x00, + 0x54, 0x60, 0x00, 0x00, 0xf8, 0xb5, 0x2b, 0x4b, + 0xd8, 0x6a, 0x00, 0x28, 0x50, 0xd0, 0x2a, 0x48, + 0x01, 0x1c, 0xff, 0x31, 0x01, 0x31, 0xca, 0x68, + 0x01, 0x32, 0xca, 0x60, 0x1a, 0x6c, 0x00, 0x2a, + 0x02, 0xd1, 0x4a, 0x69, 0x01, 0x32, 0x4a, 0x61, + 0x0a, 0x69, 0x01, 0x32, 0x0a, 0x61, 0xda, 0x68, + 0x00, 0x2a, 0x04, 0xd0, 0x1f, 0x4a, 0x01, 0x32, + 0x12, 0x78, 0x00, 0x2a, 0x02, 0xd1, 0x8a, 0x69, + 0x3c, 0x00, 0x90, 0x60, 0x00, 0x00, 0x01, 0x32, + 0x8a, 0x61, 0x00, 0x25, 0x07, 0x1d, 0x18, 0x26, + 0x1a, 0x4a, 0x6e, 0x43, 0x74, 0x32, 0x90, 0x59, + 0x00, 0x28, 0x29, 0xd0, 0xb4, 0x18, 0x60, 0x69, + 0x00, 0x28, 0x25, 0xd1, 0x60, 0x68, 0x00, 0x28, + 0x02, 0xd0, 0x01, 0x68, 0x00, 0x29, 0x05, 0xd1, + 0xa1, 0x68, 0x00, 0x29, 0x1c, 0xd0, 0x09, 0x68, + 0x00, 0x29, 0x19, 0xd0, 0x00, 0x28, 0x05, 0xd0, + 0xe1, 0x68, 0x3c, 0x00, 0xcc, 0x60, 0x00, 0x00, + 0x01, 0x31, 0xe1, 0x60, 0x00, 0x68, 0x81, 0x42, + 0x11, 0xd3, 0xa0, 0x68, 0x00, 0x28, 0x06, 0xd0, + 0x21, 0x69, 0x00, 0x68, 0x08, 0x18, 0x0c, 0xf0, + 0xa3, 0xfd, 0x00, 0x28, 0x07, 0xd0, 0x06, 0x4a, + 0x01, 0x20, 0x60, 0x61, 0x74, 0x32, 0x91, 0x59, + 0x38, 0x1c, 0xfa, 0xf7, 0x70, 0xf9, 0x01, 0x35, + 0x02, 0x2d, 0xcb, 0xdb, 0xf8, 0xbd, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x3c, 0x00, 0x08, 0x61, + 0x00, 0x00, 0xf4, 0x67, 0x01, 0x00, 0xf8, 0xb5, + 0x0f, 0x1c, 0x00, 0x25, 0x04, 0x1c, 0x00, 0x28, + 0x25, 0xd0, 0x20, 0x1c, 0x04, 0xf0, 0x03, 0xfe, + 0x00, 0x28, 0x06, 0xd0, 0xff, 0xf7, 0xff, 0xf8, + 0x04, 0x1c, 0xff, 0xf7, 0x50, 0xfb, 0x06, 0x1c, + 0x07, 0xe0, 0x20, 0x1c, 0xff, 0xf7, 0x91, 0xfb, + 0x06, 0x1c, 0x20, 0x1c, 0xff, 0xf7, 0x6f, 0xfb, + 0x04, 0x1c, 0x00, 0x2e, 0x06, 0xd0, 0x3c, 0x00, + 0x44, 0x61, 0x00, 0x00, 0xff, 0xf7, 0x4c, 0xfb, + 0x00, 0x28, 0x02, 0xd0, 0x01, 0x25, 0x01, 0x20, + 0x07, 0xe0, 0x00, 0x2c, 0x06, 0xd0, 0xff, 0xf7, + 0xef, 0xf8, 0x00, 0x28, 0x02, 0xd0, 0x01, 0x25, + 0x00, 0x20, 0x38, 0x60, 0x28, 0x1c, 0xf8, 0xbd, + 0xb0, 0xb5, 0xc5, 0x68, 0x04, 0x1c, 0x0d, 0xf0, + 0x8f, 0xfc, 0x20, 0x7e, 0xc1, 0x07, 0x08, 0xd5, + 0xe1, 0x68, 0xa9, 0x42, 0x05, 0xd9, 0x22, 0x69, + 0x3c, 0x00, 0x80, 0x61, 0x00, 0x00, 0x91, 0x42, + 0x02, 0xd3, 0xe1, 0x8a, 0x01, 0x31, 0xe1, 0x82, + 0x81, 0x07, 0x08, 0xd5, 0xe1, 0x68, 0xa9, 0x42, + 0x05, 0xd2, 0x22, 0x69, 0x91, 0x42, 0x02, 0xd8, + 0xe1, 0x8a, 0x01, 0x31, 0xe1, 0x82, 0x40, 0x07, + 0x06, 0xd5, 0xe0, 0x68, 0x21, 0x69, 0x88, 0x42, + 0x02, 0xd1, 0xe0, 0x8a, 0x01, 0x30, 0xe0, 0x82, + 0xe0, 0x8a, 0xa1, 0x8a, 0x88, 0x42, 0x0d, 0xd3, + 0x60, 0x7e, 0x3c, 0x00, 0xbc, 0x61, 0x00, 0x00, + 0x02, 0x28, 0x0b, 0xd0, 0x20, 0x68, 0xe1, 0x68, + 0x04, 0x22, 0x07, 0xf0, 0x65, 0xfb, 0x60, 0x7e, + 0x00, 0x28, 0x03, 0xd1, 0x20, 0x68, 0x08, 0xf0, + 0xab, 0xff, 0xb0, 0xbd, 0x00, 0x20, 0xe0, 0x82, + 0xb0, 0xbd, 0x00, 0x00, 0x70, 0xb5, 0x06, 0x1c, + 0x0c, 0x23, 0x20, 0x49, 0x58, 0x43, 0x45, 0x18, + 0x00, 0x20, 0xa8, 0x60, 0x30, 0x1c, 0x06, 0xf0, + 0x91, 0xfe, 0x04, 0x1c, 0x3c, 0x00, 0xf8, 0x61, + 0x00, 0x00, 0x68, 0x60, 0x33, 0xd0, 0x01, 0x20, + 0xa8, 0x70, 0x2c, 0x20, 0x00, 0x5d, 0x02, 0x28, + 0x03, 0xd1, 0x20, 0x1c, 0x03, 0xf0, 0x45, 0xfe, + 0x10, 0xe0, 0x61, 0x6b, 0x00, 0x29, 0x0a, 0xd0, + 0x01, 0x28, 0x04, 0xd1, 0x21, 0x1c, 0x28, 0x1c, + 0x03, 0xf0, 0x55, 0xfe, 0x06, 0xe0, 0x20, 0x1c, + 0x0a, 0xf0, 0x0d, 0xfc, 0x02, 0xe0, 0x20, 0x1c, + 0x0a, 0xf0, 0x3d, 0xfb, 0x0d, 0x48, 0x3c, 0x00, + 0x34, 0x62, 0x00, 0x00, 0x14, 0x38, 0x41, 0x68, + 0x00, 0x29, 0x10, 0xd0, 0x20, 0x1c, 0x40, 0x30, + 0x02, 0x8b, 0x12, 0x07, 0x92, 0x0f, 0x01, 0x2a, + 0x09, 0xd0, 0x80, 0x8b, 0x32, 0x02, 0x00, 0x09, + 0x00, 0x04, 0x10, 0x43, 0x81, 0x22, 0x02, 0x43, + 0x0c, 0x20, 0x0d, 0xf0, 0xb7, 0xf9, 0x0c, 0xf0, + 0xa5, 0xfd, 0x60, 0x64, 0x70, 0xbd, 0x00, 0x00, + 0x60, 0x7b, 0x01, 0x00, 0xff, 0xb5, 0x08, 0x1c, + 0x3c, 0x00, 0x70, 0x62, 0x00, 0x00, 0x11, 0x1c, + 0x0c, 0x32, 0x20, 0x24, 0x14, 0x43, 0x0c, 0x4a, + 0x83, 0xb0, 0x0c, 0xae, 0x52, 0x68, 0x60, 0xce, + 0x94, 0x70, 0x00, 0x24, 0xd4, 0x70, 0x93, 0x63, + 0x0d, 0x23, 0x40, 0x27, 0xbb, 0x52, 0x94, 0x61, + 0x14, 0x84, 0x01, 0x22, 0x02, 0x92, 0x32, 0x1c, + 0x00, 0x90, 0x01, 0x91, 0x23, 0x1c, 0x29, 0x1c, + 0x03, 0x98, 0x00, 0xf0, 0x66, 0xf9, 0x07, 0xb0, + 0xf0, 0xbd, 0x3c, 0x00, 0xac, 0x62, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, + 0x00, 0x27, 0x11, 0x4e, 0x1d, 0xe0, 0xe0, 0x68, + 0x00, 0x28, 0x70, 0x68, 0x0c, 0xd1, 0x80, 0x88, + 0x00, 0x07, 0x0d, 0xd1, 0x01, 0x21, 0x0c, 0x48, + 0xfb, 0xf7, 0x84, 0xf9, 0xc4, 0x60, 0xe8, 0x60, + 0x70, 0x68, 0x81, 0x88, 0x01, 0x31, 0x02, 0xe0, + 0x81, 0x88, 0x22, 0x89, 0x89, 0x18, 0x81, 0x80, + 0xe0, 0x68, 0x39, 0x1c, 0x3c, 0x00, 0xe8, 0x62, + 0x00, 0x00, 0x00, 0x28, 0x01, 0xd1, 0x71, 0x68, + 0xc9, 0x6d, 0x25, 0x1c, 0x61, 0x60, 0x04, 0x1c, + 0x00, 0x2c, 0xdf, 0xd1, 0xf8, 0xbd, 0xa0, 0x7e, + 0x01, 0x00, 0x06, 0x49, 0x10, 0xb5, 0x49, 0x68, + 0x00, 0x23, 0x05, 0xe0, 0x8a, 0x88, 0x04, 0x89, + 0x12, 0x19, 0x8a, 0x80, 0x43, 0x60, 0xc0, 0x68, + 0x00, 0x28, 0xf7, 0xd1, 0x10, 0xbd, 0xa0, 0x7e, + 0x01, 0x00, 0x10, 0xb5, 0x09, 0x49, 0x3c, 0x00, + 0x24, 0x63, 0x00, 0x00, 0x00, 0x24, 0x49, 0x68, + 0x0a, 0xe0, 0x8a, 0x88, 0x03, 0x89, 0xd2, 0x18, + 0x8a, 0x80, 0xc3, 0x68, 0x22, 0x1c, 0x00, 0x2b, + 0x00, 0xd1, 0xca, 0x6d, 0x42, 0x60, 0x18, 0x1c, + 0x00, 0x28, 0xf2, 0xd1, 0x10, 0xbd, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0x01, 0x1c, 0x13, 0x48, + 0x10, 0xb5, 0x40, 0x68, 0x00, 0x23, 0x09, 0xe0, + 0x82, 0x88, 0x0c, 0x89, 0x12, 0x19, 0x82, 0x80, + 0x3c, 0x00, 0x60, 0x63, 0x00, 0x00, 0x4b, 0x60, + 0xca, 0x68, 0x00, 0x2a, 0x00, 0xd1, 0x41, 0x66, + 0xc9, 0x68, 0x00, 0x29, 0xf3, 0xd1, 0x01, 0x1c, + 0x68, 0x31, 0x81, 0x64, 0xc3, 0x64, 0x43, 0x65, + 0x82, 0x88, 0x08, 0x23, 0x11, 0x1c, 0x08, 0x31, + 0x89, 0x07, 0x89, 0x0f, 0x59, 0x1a, 0x50, 0x23, + 0x19, 0x52, 0x51, 0x18, 0x81, 0x80, 0x01, 0x1c, + 0x40, 0x6e, 0x48, 0x31, 0xc1, 0x60, 0x10, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x63, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0x10, 0xb5, 0x07, 0x49, + 0x00, 0x24, 0x4b, 0x68, 0x06, 0xe0, 0xc2, 0x68, + 0x21, 0x1c, 0x00, 0x2a, 0x00, 0xd1, 0xd9, 0x6d, + 0x41, 0x60, 0x10, 0x1c, 0x00, 0x28, 0xf6, 0xd1, + 0x10, 0xbd, 0x00, 0x00, 0xa0, 0x7e, 0x01, 0x00, + 0x70, 0x47, 0x00, 0x00, 0xfe, 0xb5, 0x06, 0x1c, + 0x0c, 0x48, 0x0c, 0x1c, 0x40, 0x68, 0x80, 0x21, + 0x81, 0x70, 0x00, 0x21, 0x3c, 0x00, 0xd8, 0x63, + 0x00, 0x00, 0xc1, 0x70, 0x15, 0x1c, 0x40, 0x22, + 0x81, 0x63, 0x11, 0x52, 0x81, 0x61, 0x01, 0x84, + 0x00, 0x20, 0x04, 0x22, 0x02, 0x92, 0x00, 0x90, + 0x01, 0x91, 0x29, 0x1c, 0x20, 0x1c, 0x1a, 0x1c, + 0x33, 0x1c, 0x00, 0xf0, 0xbc, 0xf8, 0xfe, 0xbd, + 0x00, 0x00, 0xa0, 0x7e, 0x01, 0x00, 0x70, 0xb5, + 0x06, 0x1c, 0x17, 0x48, 0x80, 0x78, 0x02, 0x21, + 0x16, 0x4a, 0x88, 0x43, 0x90, 0x70, 0x3c, 0x00, + 0x14, 0x64, 0x00, 0x00, 0x10, 0x1c, 0x80, 0x78, + 0x08, 0x43, 0x11, 0x1c, 0x88, 0x70, 0x13, 0x48, + 0x00, 0x24, 0xc4, 0x70, 0x70, 0x20, 0xfb, 0xf7, + 0xd9, 0xf9, 0x11, 0x4d, 0x70, 0x21, 0x68, 0x60, + 0xfa, 0xf7, 0x34, 0xf8, 0x30, 0x07, 0x00, 0x0f, + 0x69, 0x68, 0x90, 0x30, 0xc8, 0x65, 0x0d, 0x48, + 0x68, 0x22, 0x08, 0x80, 0x08, 0x1c, 0x28, 0x30, + 0x89, 0x60, 0x48, 0x61, 0x08, 0x20, 0x08, 0x82, + 0x3c, 0x00, 0x50, 0x64, 0x00, 0x00, 0x08, 0x1c, + 0x38, 0x30, 0x48, 0x63, 0x20, 0x38, 0x48, 0x64, + 0x5a, 0x20, 0x50, 0x54, 0x06, 0x48, 0x08, 0x31, + 0x41, 0x64, 0x44, 0x65, 0x70, 0xbd, 0x00, 0x00, + 0x07, 0x00, 0x58, 0x00, 0x07, 0x00, 0xa0, 0x7e, + 0x01, 0x00, 0xde, 0xc0, 0x00, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x0a, 0x4b, 0x10, 0xb5, 0x58, 0x6d, + 0x0a, 0x49, 0x00, 0x22, 0x49, 0x68, 0x00, 0x24, + 0x4a, 0x62, 0x3c, 0x00, 0x8c, 0x64, 0x00, 0x00, + 0x5c, 0x65, 0x4b, 0x6e, 0x00, 0x2b, 0x01, 0xd0, + 0xda, 0x60, 0x4a, 0x66, 0x8b, 0x6d, 0x00, 0x2b, + 0x03, 0xd0, 0x0a, 0x6e, 0x00, 0x21, 0xf9, 0xf7, + 0x9c, 0xff, 0x10, 0xbd, 0x00, 0x30, 0x07, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0x09, 0x49, 0x10, 0xb5, + 0x08, 0x88, 0x01, 0x30, 0x08, 0x80, 0x01, 0x20, + 0x07, 0x49, 0x80, 0x02, 0x08, 0x60, 0x07, 0x4c, + 0xa2, 0x6d, 0x00, 0x2a, 0x3c, 0x00, 0xc8, 0x64, + 0x00, 0x00, 0x05, 0xd0, 0x05, 0x21, 0xd1, 0x20, + 0x0d, 0xf0, 0x6f, 0xf9, 0x01, 0x20, 0xa0, 0x65, + 0x10, 0xbd, 0xb0, 0x74, 0x01, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, 0xff, 0xb5, + 0x83, 0xb0, 0x0c, 0xae, 0x86, 0x46, 0x8c, 0x46, + 0x0e, 0x4a, 0x43, 0xce, 0x0f, 0xad, 0x0f, 0x1c, + 0x52, 0x68, 0x0c, 0x37, 0x30, 0xcd, 0x97, 0x70, + 0xd3, 0x70, 0x96, 0x63, 0x0d, 0x26, 0x3c, 0x00, + 0x04, 0x65, 0x00, 0x00, 0x40, 0x27, 0xbe, 0x52, + 0x05, 0x9e, 0x96, 0x61, 0x13, 0x84, 0x00, 0x22, + 0x02, 0x92, 0x2a, 0x1c, 0x00, 0x90, 0x01, 0x91, + 0x21, 0x1c, 0x60, 0x46, 0x73, 0x46, 0x00, 0xf0, + 0x29, 0xf8, 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0xff, 0xb5, 0x10, 0x1c, + 0x1a, 0x1c, 0x0c, 0x1c, 0x19, 0x1c, 0x60, 0x23, + 0xff, 0x32, 0x13, 0x43, 0x0c, 0x4a, 0x83, 0xb0, + 0x3c, 0x00, 0x40, 0x65, 0x00, 0x00, 0x0c, 0xae, + 0x52, 0x68, 0x60, 0xce, 0x93, 0x70, 0x00, 0x23, + 0xd3, 0x70, 0x93, 0x63, 0x40, 0x27, 0xbb, 0x52, + 0x93, 0x61, 0x13, 0x84, 0x03, 0x22, 0x02, 0x92, + 0x01, 0x91, 0x29, 0x1c, 0x32, 0x1c, 0x00, 0x90, + 0x20, 0x1c, 0x03, 0x9b, 0x00, 0xf0, 0x05, 0xf8, + 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xa0, 0x7e, + 0x01, 0x00, 0xf8, 0xb5, 0x05, 0x1c, 0x11, 0x48, + 0x1c, 0x1c, 0x3c, 0x00, 0x7c, 0x65, 0x00, 0x00, + 0x08, 0x9b, 0x07, 0x9f, 0x40, 0x68, 0xde, 0x00, + 0x81, 0x65, 0x02, 0x66, 0x00, 0x21, 0x81, 0x80, + 0x0d, 0x48, 0x81, 0x59, 0x20, 0x1c, 0xf9, 0xf7, + 0x22, 0xff, 0x0b, 0x48, 0x30, 0x18, 0x41, 0x68, + 0x28, 0x1c, 0xf9, 0xf7, 0x1c, 0xff, 0x07, 0x49, + 0x06, 0x98, 0x49, 0x68, 0x00, 0x2c, 0x88, 0x62, + 0x0f, 0x86, 0x00, 0xd1, 0x2c, 0x1c, 0x05, 0x48, + 0x4c, 0x62, 0x45, 0x65, 0x3c, 0x00, 0xb8, 0x65, + 0x00, 0x00, 0x01, 0x21, 0x01, 0x65, 0x01, 0x64, + 0xf8, 0xbd, 0xa0, 0x7e, 0x01, 0x00, 0x90, 0x52, + 0x01, 0x00, 0x00, 0x30, 0x07, 0x00, 0xff, 0xb5, + 0x83, 0xb0, 0x0d, 0xae, 0x60, 0xce, 0x0c, 0x9f, + 0x08, 0x1c, 0x11, 0x1c, 0xd2, 0x19, 0xff, 0x32, + 0x40, 0x24, 0x14, 0x43, 0x0b, 0x4a, 0x52, 0x68, + 0x94, 0x70, 0x00, 0x24, 0xd4, 0x70, 0x93, 0x63, + 0x40, 0x23, 0x9f, 0x52, 0x94, 0x61, 0x3c, 0x00, + 0xf4, 0x65, 0x00, 0x00, 0x14, 0x84, 0x02, 0x22, + 0x02, 0x92, 0x32, 0x1c, 0x00, 0x90, 0x01, 0x91, + 0x23, 0x1c, 0x29, 0x1c, 0x03, 0x98, 0xff, 0xf7, + 0xb5, 0xff, 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0xa0, 0x7e, 0x01, 0x00, 0x4c, 0x21, 0x0d, 0x4a, + 0x41, 0x43, 0x10, 0xb5, 0x8c, 0x18, 0x0c, 0x49, + 0x09, 0x78, 0x88, 0x42, 0x07, 0xd1, 0x05, 0xf0, + 0xc7, 0xfd, 0x0a, 0x48, 0x01, 0x88, 0x01, 0x22, + 0x3c, 0x00, 0x30, 0x66, 0x00, 0x00, 0x12, 0x03, + 0x91, 0x43, 0x01, 0x80, 0x20, 0x1c, 0x30, 0x30, + 0x0c, 0x23, 0xc1, 0x56, 0x40, 0x7b, 0x81, 0x42, + 0x02, 0xdd, 0x20, 0x8d, 0x0c, 0xf0, 0xe5, 0xfb, + 0x10, 0xbd, 0x58, 0xe3, 0x01, 0x00, 0x3c, 0x7c, + 0x01, 0x00, 0x32, 0x80, 0x07, 0x00, 0x01, 0x1c, + 0x60, 0x31, 0x80, 0xb5, 0xca, 0x79, 0x8b, 0x79, + 0x9a, 0x42, 0x07, 0xd9, 0x48, 0x7a, 0x0c, 0x23, + 0x07, 0x49, 0x3c, 0x00, 0x6c, 0x66, 0x00, 0x00, + 0x58, 0x43, 0x08, 0x5a, 0x0c, 0xf0, 0xd0, 0xfb, + 0x80, 0xbd, 0x20, 0x30, 0x00, 0x7b, 0x01, 0x28, + 0xfa, 0xd1, 0x48, 0x7a, 0x05, 0xf0, 0x40, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x1c, 0x21, 0xf9, 0xf7, + 0x03, 0xff, 0x03, 0x48, 0xa0, 0x80, 0xe0, 0x80, + 0x20, 0x81, 0x60, 0x81, 0xa0, 0x81, 0x10, 0xbd, + 0xff, 0xff, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x66, + 0x00, 0x00, 0xff, 0xb5, 0x04, 0x1c, 0x00, 0x20, + 0x83, 0xb0, 0x0d, 0x1c, 0x06, 0x2c, 0x02, 0x90, + 0x38, 0xd2, 0x1f, 0x4a, 0xff, 0x26, 0xc1, 0x00, + 0x89, 0x18, 0x89, 0x78, 0xa1, 0x42, 0x03, 0xd1, + 0xc0, 0x00, 0x80, 0x18, 0x46, 0x78, 0x04, 0xe0, + 0x01, 0x30, 0x00, 0x06, 0x00, 0x16, 0x06, 0x28, + 0xf1, 0xdb, 0xff, 0x2e, 0x24, 0xd0, 0x01, 0x93, + 0x20, 0x1c, 0x0d, 0xf0, 0xe8, 0xf9, 0x3c, 0x00, + 0xe4, 0x66, 0x00, 0x00, 0x00, 0x28, 0x05, 0xd0, + 0x24, 0x21, 0x28, 0x1c, 0x01, 0xab, 0x02, 0xaa, + 0xfa, 0xf7, 0x30, 0xfe, 0x10, 0x49, 0xf0, 0x00, + 0x30, 0x39, 0x0f, 0x58, 0x31, 0x06, 0x09, 0x16, + 0x28, 0x1c, 0x05, 0x9a, 0x01, 0x9b, 0xf9, 0xf7, + 0x6e, 0xfe, 0x06, 0x1c, 0x10, 0xd1, 0x20, 0x1c, + 0x0d, 0xf0, 0xd0, 0xf9, 0x00, 0x28, 0x0b, 0xd0, + 0x28, 0x1c, 0x69, 0x69, 0xfa, 0xf7, 0x12, 0xfe, + 0x3c, 0x00, 0x20, 0x67, 0x00, 0x00, 0x02, 0x98, + 0x68, 0x61, 0x04, 0xe0, 0x06, 0x2c, 0x01, 0xd3, + 0x07, 0x26, 0x00, 0xe0, 0x08, 0x26, 0x30, 0x1c, + 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xcc, 0x5a, + 0x01, 0x00, 0x10, 0xb5, 0x0c, 0x1c, 0x09, 0xf0, + 0x86, 0xf8, 0x00, 0x28, 0x02, 0xd0, 0x20, 0x1c, + 0x09, 0xf0, 0xb5, 0xf8, 0x10, 0xbd, 0xfe, 0xb5, + 0x13, 0x4d, 0x04, 0x1c, 0xae, 0x69, 0x00, 0x2e, + 0x1c, 0xd0, 0x3c, 0x00, 0x5c, 0x67, 0x00, 0x00, + 0x10, 0x4f, 0x30, 0x37, 0x78, 0x68, 0x60, 0x43, + 0x01, 0x1c, 0x28, 0x88, 0xf9, 0xf7, 0xd2, 0xff, + 0x39, 0x68, 0x61, 0x43, 0x41, 0x18, 0x01, 0xa8, + 0x32, 0x1c, 0xf9, 0xf7, 0x37, 0xfe, 0x02, 0x98, + 0x29, 0x6a, 0x40, 0x18, 0x28, 0x62, 0x0b, 0xd4, + 0xe9, 0x69, 0x88, 0x42, 0x08, 0xd9, 0xa9, 0x69, + 0x40, 0x1a, 0x28, 0x62, 0x01, 0x98, 0x01, 0x30, + 0x01, 0xe0, 0x00, 0x20, 0x3c, 0x00, 0x98, 0x67, + 0x00, 0x00, 0x02, 0x90, 0x01, 0x90, 0x01, 0x98, + 0xfe, 0xbd, 0xc8, 0x74, 0x01, 0x00, 0xf8, 0xb5, + 0x00, 0x28, 0x28, 0xd0, 0x00, 0x24, 0x14, 0x4d, + 0x00, 0xe0, 0x01, 0x34, 0x61, 0x00, 0x09, 0x19, + 0x49, 0x19, 0x49, 0x78, 0x00, 0x29, 0xf8, 0xd1, + 0x63, 0x00, 0x1b, 0x19, 0x03, 0x33, 0x07, 0x22, + 0x69, 0x46, 0x03, 0xf0, 0xd4, 0xfb, 0x00, 0x2c, + 0x0f, 0xd0, 0x00, 0x20, 0x00, 0x99, 0x3c, 0x00, + 0xd4, 0x67, 0x00, 0x00, 0x0a, 0xe0, 0x42, 0x00, + 0x12, 0x18, 0xae, 0x5c, 0x53, 0x18, 0x52, 0x19, + 0x5e, 0x71, 0x56, 0x78, 0x01, 0x30, 0x9e, 0x71, + 0x92, 0x78, 0xda, 0x71, 0xa0, 0x42, 0xf2, 0xdb, + 0x00, 0x98, 0x03, 0x22, 0x02, 0x30, 0x03, 0x49, + 0xf9, 0xf7, 0x7e, 0xfe, 0xf8, 0xbd, 0x00, 0x00, + 0xeb, 0x62, 0x01, 0x00, 0xe8, 0x62, 0x01, 0x00, + 0xb0, 0xb5, 0x05, 0x1c, 0x08, 0x1c, 0xfa, 0xf7, + 0x3c, 0x00, 0x10, 0x68, 0x00, 0x00, 0x9d, 0xff, + 0x04, 0x1c, 0x28, 0x1c, 0xfa, 0xf7, 0xd9, 0xfe, + 0x21, 0x1c, 0xfa, 0xf7, 0xfc, 0xfd, 0x20, 0x1c, + 0xb0, 0xbd, 0xf3, 0xb5, 0x44, 0x48, 0x0c, 0x1c, + 0x00, 0x78, 0x81, 0xb0, 0x01, 0x28, 0x72, 0xd1, + 0xfa, 0xf7, 0x82, 0xf8, 0x41, 0x4d, 0xe8, 0x6a, + 0x41, 0x49, 0x08, 0x60, 0xe8, 0x6b, 0x48, 0x60, + 0x40, 0x48, 0xfa, 0xf7, 0xa6, 0xf9, 0xe8, 0x6a, + 0x00, 0x28, 0x3c, 0x00, 0x4c, 0x68, 0x00, 0x00, + 0xfc, 0xda, 0x22, 0x1c, 0x0f, 0x20, 0x01, 0x99, + 0x0a, 0xf0, 0xa4, 0xf8, 0x38, 0x4d, 0x02, 0x27, + 0x2f, 0x63, 0x38, 0x4a, 0x64, 0x26, 0x00, 0x20, + 0xaa, 0x21, 0x08, 0x32, 0x13, 0x18, 0x01, 0x30, + 0x00, 0x04, 0x00, 0x0c, 0x64, 0x28, 0x19, 0x74, + 0xf8, 0xd3, 0x16, 0x81, 0x00, 0x20, 0x50, 0x60, + 0x10, 0x1c, 0x10, 0x30, 0x10, 0x60, 0x00, 0x25, + 0x17, 0x1c, 0xd2, 0x60, 0x3c, 0x00, 0x88, 0x68, + 0x00, 0x00, 0x08, 0xe0, 0x28, 0x1c, 0xf9, 0xf7, + 0xa2, 0xff, 0x41, 0x31, 0x78, 0x19, 0x01, 0x35, + 0x2d, 0x04, 0x2d, 0x0c, 0x01, 0x74, 0xb5, 0x42, + 0xf4, 0xd3, 0x26, 0x4d, 0x6f, 0x63, 0x01, 0x20, + 0x28, 0x63, 0x24, 0x4d, 0xe8, 0x6a, 0x00, 0x28, + 0xfb, 0xda, 0x0b, 0x22, 0x3b, 0x1c, 0x24, 0x4e, + 0x03, 0xe0, 0x01, 0x32, 0x64, 0x2a, 0x00, 0xd1, + 0x00, 0x22, 0x10, 0x1c, 0x0c, 0x21, 0x3c, 0x00, + 0xc4, 0x68, 0x00, 0x00, 0x01, 0x39, 0x75, 0x5c, + 0x1f, 0x18, 0x3f, 0x7c, 0xbd, 0x42, 0xf3, 0xd1, + 0x01, 0x38, 0x00, 0xd5, 0x63, 0x20, 0x00, 0x29, + 0xf4, 0xd1, 0x18, 0x4e, 0x50, 0x1c, 0xf1, 0x6b, + 0x1a, 0x4a, 0x10, 0x1c, 0x01, 0x38, 0xfd, 0xd1, + 0xf0, 0x6b, 0x88, 0x42, 0x01, 0xd0, 0x01, 0x1c, + 0xf7, 0xe7, 0x02, 0x27, 0x37, 0x63, 0x16, 0x4d, + 0x90, 0x21, 0x28, 0x1c, 0xf9, 0xf7, 0xce, 0xfd, + 0x3c, 0x00, 0x00, 0x69, 0x00, 0x00, 0x28, 0x1c, + 0x28, 0x30, 0x28, 0x60, 0x28, 0x1c, 0x10, 0x30, + 0x2f, 0x81, 0xe8, 0x60, 0x28, 0x1c, 0x20, 0x30, + 0x28, 0x61, 0x04, 0x21, 0x00, 0xe0, 0x0c, 0xe0, + 0x29, 0x83, 0xe8, 0x61, 0xed, 0x62, 0x75, 0x63, + 0x01, 0x20, 0x30, 0x63, 0x22, 0x1c, 0x89, 0x20, + 0x01, 0x99, 0x0a, 0xf0, 0x38, 0xf8, 0x00, 0x20, + 0x28, 0x63, 0xfe, 0xbd, 0x00, 0x00, 0x08, 0x57, + 0x01, 0x00, 0x3c, 0x00, 0x3c, 0x69, 0x00, 0x00, + 0x00, 0x30, 0x07, 0x00, 0x10, 0x8e, 0x01, 0x00, + 0x74, 0xff, 0x01, 0x00, 0x09, 0x57, 0x01, 0x00, + 0x20, 0x4e, 0x00, 0x00, 0xe4, 0xfe, 0x01, 0x00, + 0x80, 0xb5, 0x13, 0x28, 0x1e, 0xd0, 0xf0, 0x28, + 0x16, 0xd1, 0x09, 0xf0, 0xb5, 0xf9, 0x00, 0x28, + 0x13, 0xd1, 0x0d, 0xf0, 0xbf, 0xfa, 0x11, 0xf0, + 0x0d, 0xfc, 0x00, 0x22, 0x04, 0x21, 0xc4, 0x20, + 0x0c, 0xf0, 0x1c, 0xff, 0x3c, 0x00, 0x78, 0x69, + 0x00, 0x00, 0x09, 0x48, 0x00, 0x21, 0x00, 0x78, + 0x05, 0xf0, 0x3f, 0xfd, 0x05, 0xf0, 0x93, 0xf8, + 0x07, 0x49, 0x01, 0x20, 0x08, 0x60, 0x80, 0xbd, + 0x01, 0x1c, 0x01, 0x20, 0xfa, 0xf7, 0x87, 0xfc, + 0x80, 0xbd, 0x00, 0xf0, 0x32, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0x6a, 0x57, 0x01, 0x00, 0x3c, 0xd9, + 0x01, 0x00, 0xb0, 0xb5, 0x0c, 0xf0, 0xff, 0xf9, + 0x0b, 0x49, 0x02, 0x24, 0x48, 0x60, 0x3c, 0x00, + 0xb4, 0x69, 0x00, 0x00, 0x0a, 0x48, 0x04, 0x61, + 0x01, 0x20, 0x77, 0x21, 0x09, 0x03, 0x08, 0x61, + 0x08, 0x4d, 0x68, 0x68, 0x80, 0x07, 0x02, 0xd4, + 0x68, 0x68, 0x20, 0x43, 0x68, 0x60, 0x09, 0xf0, + 0xc7, 0xf9, 0x68, 0x68, 0xa0, 0x43, 0x68, 0x60, + 0x00, 0x20, 0xb0, 0xbd, 0xe0, 0x60, 0x01, 0x00, + 0x00, 0x30, 0x07, 0x00, 0x00, 0x01, 0x07, 0x00, + 0x80, 0xb5, 0x01, 0x23, 0x03, 0x22, 0x00, 0x21, + 0x3c, 0x00, 0xf0, 0x69, 0x00, 0x00, 0x02, 0x20, + 0x3c, 0xf0, 0xf1, 0xfa, 0x00, 0x28, 0x01, 0xd0, + 0xfa, 0xf7, 0x81, 0xfc, 0x80, 0xbd, 0x1c, 0xb5, + 0xfc, 0xf7, 0xf5, 0xfa, 0xfa, 0xf7, 0x19, 0xfe, + 0x01, 0xf0, 0x03, 0xf9, 0x00, 0x24, 0x21, 0x1c, + 0x68, 0x46, 0x01, 0xf0, 0xe2, 0xfb, 0x00, 0xab, + 0x18, 0x78, 0x01, 0x28, 0x03, 0xd0, 0x02, 0x28, + 0x01, 0xd0, 0x03, 0x28, 0x01, 0xd1, 0x0c, 0xf0, + 0xb2, 0xfc, 0x3c, 0x00, 0x2c, 0x6a, 0x00, 0x00, + 0x01, 0x34, 0x24, 0x06, 0x24, 0x16, 0x06, 0x2c, + 0xec, 0xdb, 0xfa, 0xf7, 0x09, 0xf9, 0xfa, 0xf7, + 0xe7, 0xfc, 0xfa, 0xf7, 0x33, 0xfa, 0xfa, 0xf7, + 0x6d, 0xfa, 0xfb, 0xf7, 0xdf, 0xff, 0x05, 0xf0, + 0x4d, 0xfb, 0x06, 0xf0, 0x81, 0xfc, 0x0b, 0xf0, + 0x7d, 0xf9, 0x07, 0xf0, 0x29, 0xfc, 0x11, 0x48, + 0x10, 0x21, 0x01, 0x60, 0x09, 0x01, 0x01, 0x60, + 0xc9, 0x02, 0x01, 0x60, 0x3c, 0x00, 0x68, 0x6a, + 0x00, 0x00, 0x89, 0x00, 0x01, 0x60, 0x20, 0x21, + 0x01, 0x60, 0x04, 0x21, 0x01, 0x60, 0x08, 0x21, + 0x01, 0x60, 0x40, 0x21, 0x01, 0x60, 0x80, 0x21, + 0x01, 0x60, 0x89, 0x00, 0x01, 0x60, 0x49, 0x00, + 0x01, 0x60, 0x49, 0x00, 0x01, 0x60, 0x49, 0x00, + 0x01, 0x60, 0xc9, 0x03, 0x01, 0x60, 0x89, 0x0b, + 0x01, 0x60, 0xf9, 0xf7, 0x41, 0xff, 0x1c, 0xbd, + 0x00, 0x00, 0x00, 0x10, 0x07, 0x00, 0x3c, 0x00, + 0xa4, 0x6a, 0x00, 0x00, 0x80, 0xb5, 0x3b, 0xf0, + 0x4f, 0xf8, 0x3b, 0xf0, 0x7d, 0xf9, 0xfa, 0xf7, + 0x4b, 0xf9, 0x80, 0xbd, 0xf8, 0xb5, 0x00, 0x25, + 0x00, 0x24, 0x00, 0x22, 0x00, 0x28, 0x71, 0xd0, + 0x43, 0x4f, 0xb9, 0x68, 0x0b, 0x1a, 0xbb, 0x60, + 0xf8, 0x68, 0x39, 0x1c, 0x01, 0x30, 0xf8, 0x60, + 0x89, 0x6a, 0x00, 0x2b, 0x1e, 0xdc, 0x02, 0x24, + 0x00, 0x29, 0x06, 0xda, 0xfb, 0x69, 0x98, 0x42, + 0x3c, 0x00, 0xe0, 0x6a, 0x00, 0x00, 0x06, 0xdd, + 0x3b, 0x69, 0x98, 0x42, 0x09, 0xdd, 0x07, 0xe0, + 0xbb, 0x69, 0x98, 0x42, 0x01, 0xdc, 0x01, 0x24, + 0x03, 0xe0, 0x7b, 0x69, 0x98, 0x42, 0x00, 0xdd, + 0x03, 0x24, 0x78, 0x6a, 0x00, 0x28, 0x08, 0xd0, + 0x00, 0x20, 0x78, 0x62, 0x03, 0x2c, 0x01, 0xd1, + 0x02, 0x24, 0x02, 0xe0, 0x02, 0x2c, 0x00, 0xd1, + 0x01, 0x24, 0x2e, 0x48, 0x01, 0x2c, 0x00, 0x79, + 0x18, 0xd1, 0x3c, 0x00, 0x1c, 0x6b, 0x00, 0x00, + 0xbb, 0x78, 0x99, 0x42, 0x15, 0xda, 0x3b, 0x78, + 0x7b, 0x70, 0x39, 0x70, 0x01, 0x31, 0xb9, 0x62, + 0x01, 0xd5, 0x01, 0x31, 0xb9, 0x62, 0xb9, 0x6a, + 0x01, 0x25, 0x99, 0x42, 0x03, 0xd1, 0x04, 0x28, + 0x04, 0xd2, 0x01, 0x30, 0x00, 0xe0, 0x00, 0x20, + 0x38, 0x71, 0x01, 0x22, 0x00, 0x29, 0x33, 0xda, + 0x27, 0xe0, 0x03, 0x2c, 0x35, 0xd1, 0x00, 0x26, + 0x00, 0x28, 0x07, 0xd0, 0x3c, 0x00, 0x58, 0x6b, + 0x00, 0x00, 0x1e, 0x49, 0x81, 0x40, 0x38, 0x6a, + 0x08, 0x18, 0x0c, 0xf0, 0x5c, 0xf8, 0x00, 0x28, + 0x2c, 0xd0, 0x1b, 0x48, 0x00, 0x78, 0x40, 0x07, + 0x05, 0xd5, 0xf8, 0x68, 0x39, 0x69, 0x88, 0x42, + 0x01, 0xdb, 0x03, 0x23, 0xfe, 0x56, 0xb8, 0x6a, + 0xb0, 0x42, 0x12, 0xdd, 0x01, 0x21, 0x79, 0x62, + 0x39, 0x78, 0x01, 0x25, 0x79, 0x70, 0x38, 0x70, + 0x01, 0x38, 0xb8, 0x62, 0x88, 0x42, 0x3c, 0x00, + 0x94, 0x6b, 0x00, 0x00, 0x01, 0xd0, 0x00, 0x21, + 0x39, 0x71, 0x00, 0x28, 0x0c, 0xda, 0x07, 0x20, + 0x38, 0x71, 0x00, 0xe0, 0x12, 0xe0, 0x07, 0xe0, + 0x38, 0x79, 0x00, 0x28, 0x09, 0xd0, 0xff, 0x30, + 0x38, 0x71, 0x06, 0xe0, 0x00, 0x2a, 0x02, 0xd0, + 0x0c, 0xf0, 0xf8, 0xf8, 0x38, 0x62, 0x00, 0x2c, + 0x04, 0xd0, 0xfe, 0xf7, 0x97, 0xfd, 0x29, 0x1c, + 0x08, 0xf0, 0xfc, 0xfb, 0xf8, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x6b, 0x00, 0x00, 0xac, 0x7e, + 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x1d, 0x75, + 0x01, 0x00, 0x80, 0xb5, 0x10, 0x68, 0x00, 0x28, + 0x02, 0xd0, 0x00, 0xf0, 0x0a, 0xf8, 0x80, 0xbd, + 0x03, 0x48, 0xc0, 0x69, 0x80, 0x68, 0x08, 0xf0, + 0xb2, 0xf9, 0x80, 0xbd, 0x00, 0x00, 0x84, 0x6a, + 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0xc0, 0x68, + 0xc0, 0x68, 0x00, 0x28, 0x01, 0xd1, 0xfa, 0xf7, + 0x7a, 0xfb, 0x3c, 0x00, 0x0c, 0x6c, 0x00, 0x00, + 0xe0, 0x68, 0xe1, 0x69, 0xc0, 0x68, 0x23, 0x1c, + 0x01, 0x4a, 0xff, 0xf7, 0xd7, 0xfb, 0x10, 0xbd, + 0xdd, 0x6b, 0x00, 0x00, 0xb0, 0xb5, 0x05, 0x1c, + 0x0c, 0x21, 0x00, 0x20, 0xfa, 0xf7, 0xd6, 0xfc, + 0x04, 0x1c, 0x00, 0x68, 0x00, 0x21, 0x41, 0x60, + 0x01, 0x60, 0x29, 0x88, 0x01, 0x81, 0x69, 0x88, + 0x41, 0x81, 0x29, 0x1c, 0xff, 0x31, 0x21, 0x31, + 0x20, 0x1c, 0x03, 0xf0, 0x3c, 0x00, 0x48, 0x6c, + 0x00, 0x00, 0x77, 0xf9, 0x29, 0x1c, 0xff, 0x31, + 0x46, 0x31, 0x20, 0x1c, 0x03, 0xf0, 0x71, 0xf9, + 0x29, 0x1c, 0xff, 0x31, 0x50, 0x31, 0x20, 0x1c, + 0x03, 0xf0, 0x6b, 0xf9, 0x29, 0x1c, 0xff, 0x31, + 0x43, 0x31, 0x20, 0x1c, 0x03, 0xf0, 0x65, 0xf9, + 0x29, 0x1c, 0xff, 0x31, 0x63, 0x31, 0x20, 0x1c, + 0x03, 0xf0, 0x5f, 0xf9, 0x04, 0x48, 0x00, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0x20, 0x1c, 0x3c, 0x00, + 0x84, 0x6c, 0x00, 0x00, 0xff, 0xf7, 0x8e, 0xfd, + 0x20, 0x1c, 0xb0, 0xbd, 0xe4, 0x62, 0x01, 0x00, + 0xf8, 0xb5, 0x05, 0x1c, 0x0c, 0x1c, 0x04, 0xd1, + 0x05, 0x21, 0x18, 0x20, 0xfa, 0xf7, 0x02, 0xfb, + 0x4d, 0xe0, 0x29, 0x1c, 0x12, 0x31, 0x06, 0x22, + 0x60, 0x1c, 0xf9, 0xf7, 0x25, 0xfc, 0x22, 0x1c, + 0x30, 0x32, 0x00, 0x26, 0x00, 0x21, 0x00, 0x20, + 0x16, 0x70, 0x34, 0x4b, 0x1b, 0x5c, 0x2f, 0x8a, + 0x3c, 0x00, 0xc0, 0x6c, 0x00, 0x00, 0xdf, 0x40, + 0xff, 0x07, 0x07, 0xd5, 0x17, 0x78, 0x01, 0x33, + 0x01, 0x37, 0x17, 0x70, 0x67, 0x18, 0x30, 0x37, + 0x7b, 0x70, 0x01, 0x31, 0x01, 0x30, 0x0e, 0x28, + 0xee, 0xdb, 0xa8, 0x7b, 0x60, 0x72, 0x10, 0x78, + 0x00, 0x28, 0x2b, 0xd0, 0x2a, 0x48, 0x1e, 0x21, + 0x09, 0x5c, 0x27, 0x1c, 0x10, 0x37, 0x21, 0x72, + 0x01, 0x68, 0x61, 0x81, 0xc1, 0x89, 0x21, 0x77, + 0x81, 0x89, 0x3c, 0x00, 0xfc, 0x6c, 0x00, 0x00, + 0x79, 0x73, 0xc1, 0x8a, 0xa1, 0x81, 0x01, 0x8b, + 0xe1, 0x81, 0x42, 0x8a, 0x21, 0x1c, 0x60, 0x31, + 0x4a, 0x80, 0x82, 0x8a, 0x8a, 0x80, 0x1f, 0x49, + 0x2c, 0x31, 0x09, 0x7a, 0x00, 0x29, 0x09, 0xd0, + 0x02, 0x29, 0x0a, 0xd1, 0x01, 0x22, 0x62, 0x62, + 0x62, 0x72, 0x42, 0x8b, 0xa2, 0x81, 0x80, 0x8b, + 0xe0, 0x81, 0x03, 0xe0, 0x01, 0x21, 0x66, 0x62, + 0x00, 0xe0, 0x00, 0x21, 0x3c, 0x00, 0x38, 0x6d, + 0x00, 0x00, 0xe8, 0x7b, 0x08, 0x40, 0x01, 0xd1, + 0x00, 0x20, 0xf8, 0xbd, 0xa8, 0x68, 0x43, 0x1c, + 0x09, 0xd0, 0x22, 0x1c, 0x12, 0x32, 0x00, 0x92, + 0x93, 0x1d, 0x02, 0x32, 0x21, 0x1c, 0x01, 0xf0, + 0x9c, 0xfa, 0xa0, 0x62, 0x00, 0xe0, 0xa6, 0x62, + 0x68, 0x7b, 0x29, 0x1c, 0x1d, 0x31, 0x20, 0x74, + 0x0b, 0x48, 0x20, 0x22, 0x20, 0x62, 0x20, 0x1c, + 0x42, 0x30, 0xbe, 0x73, 0xf9, 0xf7, 0x3c, 0x00, + 0x74, 0x6d, 0x00, 0x00, 0xc1, 0xfb, 0x40, 0x34, + 0x26, 0x70, 0x68, 0x7e, 0x04, 0x49, 0x60, 0x70, + 0x68, 0x68, 0x2c, 0x31, 0x48, 0x60, 0x01, 0x20, + 0xda, 0xe7, 0x00, 0x00, 0x90, 0x58, 0x01, 0x00, + 0xc8, 0x6e, 0x01, 0x00, 0x91, 0x02, 0x01, 0x00, + 0x70, 0xb5, 0x16, 0x1c, 0x0d, 0x1c, 0x04, 0x1c, + 0x00, 0x28, 0x06, 0xd0, 0x0c, 0x20, 0xfa, 0xf7, + 0x47, 0xfd, 0x30, 0xc0, 0x08, 0x38, 0x06, 0x72, + 0x3c, 0x00, 0xb0, 0x6d, 0x00, 0x00, 0x70, 0xbd, + 0x00, 0x20, 0x70, 0xbd, 0x00, 0x00, 0x01, 0x1c, + 0x05, 0x48, 0x80, 0xb5, 0x00, 0x68, 0x01, 0xd0, + 0x01, 0x21, 0x00, 0xe0, 0x00, 0x21, 0xfc, 0xf7, + 0xa0, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x0c, 0x79, + 0x01, 0x00, 0x70, 0xb5, 0x0e, 0x1c, 0x04, 0x1c, + 0x00, 0x28, 0x01, 0xd1, 0xfa, 0xf7, 0x8f, 0xfa, + 0x06, 0x4d, 0x28, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0xfa, 0xf7, 0x3c, 0x00, 0xec, 0x6d, 0x00, 0x00, + 0x89, 0xfa, 0x04, 0x48, 0x2e, 0x60, 0xc4, 0x60, + 0x01, 0x21, 0x01, 0x70, 0x70, 0xbd, 0x00, 0x00, + 0xa8, 0x7e, 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, + 0x10, 0xb5, 0x07, 0x4c, 0x20, 0x68, 0x00, 0x28, + 0x01, 0xd1, 0xfa, 0xf7, 0x77, 0xfa, 0x05, 0x48, + 0x00, 0x69, 0x21, 0x68, 0xf9, 0xf7, 0xdf, 0xfa, + 0x00, 0x20, 0x20, 0x60, 0x10, 0xbd, 0x00, 0x00, + 0xa8, 0x7e, 0x01, 0x00, 0x3c, 0x00, 0x28, 0x6e, + 0x00, 0x00, 0x30, 0x00, 0x07, 0x00, 0x01, 0x20, + 0x05, 0x49, 0xc0, 0x06, 0x80, 0xb5, 0x08, 0x60, + 0x00, 0x22, 0x03, 0x21, 0x54, 0x20, 0x0c, 0xf0, + 0xb8, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x04, 0x21, + 0xc4, 0x20, 0x0c, 0xf0, 0xae, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0x04, 0x48, 0x80, 0xb5, 0x00, 0x88, + 0x02, 0x49, 0xff, 0xf7, 0xb8, 0xff, 0x3c, 0x00, + 0x64, 0x6e, 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, + 0x75, 0x4b, 0x00, 0x00, 0xc8, 0x74, 0x01, 0x00, + 0xf8, 0xb5, 0x06, 0x1c, 0x31, 0x48, 0x00, 0x25, + 0xc0, 0x68, 0x0c, 0x1c, 0x00, 0x28, 0x30, 0xd0, + 0x2e, 0x48, 0x2f, 0x4f, 0x04, 0x30, 0x00, 0x78, + 0x38, 0x76, 0x2c, 0x48, 0x04, 0x30, 0x40, 0x78, + 0x38, 0x81, 0x00, 0x2a, 0x0b, 0xd0, 0xf9, 0xf7, + 0xa5, 0xfa, 0x1f, 0x20, 0xb8, 0x76, 0x20, 0x1c, + 0x3c, 0x00, 0xa0, 0x6e, 0x00, 0x00, 0xf9, 0xf7, + 0xf6, 0xf9, 0x25, 0x48, 0x04, 0x30, 0x80, 0x78, + 0xb8, 0x76, 0x43, 0xe0, 0x25, 0x48, 0x22, 0x49, + 0x84, 0x42, 0x4d, 0x69, 0x02, 0xd2, 0x6c, 0x43, + 0xe4, 0x0b, 0x0f, 0xe0, 0x1f, 0x48, 0x21, 0x1c, + 0x80, 0x6a, 0x00, 0x90, 0xf9, 0xf7, 0x23, 0xfc, + 0x00, 0x99, 0x02, 0x1c, 0x4a, 0x43, 0xa1, 0x1a, + 0x1a, 0x4a, 0x69, 0x43, 0x52, 0x6a, 0xc9, 0x0b, + 0x50, 0x43, 0x3c, 0x00, 0xdc, 0x6e, 0x00, 0x00, + 0x44, 0x18, 0x02, 0x2c, 0x01, 0xd8, 0x00, 0x20, + 0xf8, 0xbd, 0xf9, 0xf7, 0x7d, 0xfa, 0x1f, 0x20, + 0xb8, 0x76, 0x20, 0x1c, 0xf9, 0xf7, 0xae, 0xf9, + 0x04, 0x1c, 0x11, 0x48, 0x04, 0x30, 0x80, 0x78, + 0xb8, 0x76, 0x0f, 0x4f, 0x7d, 0x6a, 0xac, 0x42, + 0x04, 0xd2, 0x20, 0x1c, 0xff, 0xf7, 0x22, 0xfc, + 0x05, 0x1c, 0x12, 0xe0, 0x21, 0x1c, 0x28, 0x1c, + 0xf9, 0xf7, 0xfc, 0xfb, 0x3c, 0x00, 0x18, 0x6f, + 0x00, 0x00, 0x06, 0x1c, 0x68, 0x43, 0x20, 0x1a, + 0xff, 0xf7, 0x17, 0xfc, 0x05, 0x1c, 0x00, 0x24, + 0x04, 0xe0, 0x78, 0x6a, 0xff, 0xf7, 0x11, 0xfc, + 0x45, 0x19, 0x01, 0x34, 0xb4, 0x42, 0xf8, 0xd3, + 0x28, 0x1c, 0xd4, 0xe7, 0x00, 0x00, 0xc8, 0x74, + 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, 0xc0, 0xc6, + 0x2d, 0x00, 0x01, 0x1c, 0x7d, 0x20, 0x80, 0xb5, + 0xc0, 0x00, 0xf9, 0xf7, 0x72, 0xfb, 0x3c, 0x00, + 0x54, 0x6f, 0x00, 0x00, 0x02, 0x49, 0x88, 0x61, + 0x40, 0x08, 0xc8, 0x61, 0x80, 0xbd, 0x00, 0x00, + 0xc8, 0x74, 0x01, 0x00, 0x10, 0xb5, 0x06, 0x4c, + 0x21, 0x1c, 0x00, 0x20, 0x0b, 0xf0, 0x42, 0xfa, + 0x21, 0x1c, 0x00, 0x20, 0x0b, 0xf0, 0x0a, 0xfa, + 0x00, 0xf0, 0x68, 0xfe, 0x10, 0xbd, 0x00, 0x00, + 0x85, 0x6f, 0x00, 0x00, 0x30, 0xb5, 0x0f, 0x4d, + 0x2a, 0x78, 0x04, 0x2a, 0x19, 0xd8, 0x00, 0x2a, + 0x3c, 0x00, 0x90, 0x6f, 0x00, 0x00, 0x17, 0xd0, + 0x00, 0x21, 0x07, 0xe0, 0x4b, 0x00, 0x5b, 0x18, + 0x5c, 0x19, 0x01, 0x23, 0xe4, 0x56, 0x84, 0x42, + 0x02, 0xda, 0x01, 0x31, 0x8a, 0x42, 0xf5, 0xdc, + 0x8a, 0x42, 0x00, 0xd1, 0x01, 0x39, 0x48, 0x00, + 0x40, 0x18, 0x40, 0x19, 0x81, 0x78, 0x02, 0x4a, + 0x34, 0x3a, 0x11, 0x70, 0xc0, 0x78, 0x50, 0x70, + 0x30, 0xbd, 0x00, 0x75, 0x01, 0x00, 0x30, 0xb5, + 0x11, 0x1c, 0x3c, 0x00, 0xcc, 0x6f, 0x00, 0x00, + 0x38, 0x31, 0x85, 0xb0, 0x91, 0x62, 0x08, 0x21, + 0x11, 0x86, 0x00, 0x23, 0x14, 0x1c, 0x01, 0x1c, + 0x53, 0x63, 0xc0, 0x68, 0x15, 0x4d, 0x0b, 0xe0, + 0x02, 0x68, 0xaa, 0x42, 0x06, 0xd1, 0xc2, 0x68, + 0xca, 0x60, 0xc3, 0x60, 0x03, 0x60, 0xfa, 0xf7, + 0xd1, 0xfa, 0x03, 0xe0, 0x01, 0x1c, 0xc0, 0x68, + 0x00, 0x28, 0xf1, 0xd1, 0x22, 0x1c, 0x40, 0x32, + 0x08, 0x21, 0x20, 0x68, 0x3c, 0x00, 0x08, 0x70, + 0x00, 0x00, 0xfa, 0xf7, 0x64, 0xfb, 0x0b, 0x49, + 0x20, 0x1c, 0x48, 0x30, 0x02, 0x90, 0x04, 0x94, + 0x03, 0x91, 0xe0, 0x69, 0x82, 0x88, 0x01, 0x68, + 0x6e, 0x20, 0x01, 0x92, 0x00, 0x91, 0x22, 0x1c, + 0x56, 0x32, 0x03, 0x5d, 0x21, 0x1c, 0x28, 0x31, + 0x20, 0x68, 0xff, 0xf7, 0x58, 0xfa, 0x05, 0xb0, + 0x30, 0xbd, 0xa0, 0x7e, 0x01, 0x00, 0xd5, 0x70, + 0x00, 0x00, 0x1c, 0xb5, 0x07, 0x49, 0x3c, 0x00, + 0x44, 0x70, 0x00, 0x00, 0x02, 0x1c, 0x01, 0x90, + 0x00, 0x91, 0xc0, 0x69, 0x13, 0x1c, 0x84, 0x88, + 0x01, 0x68, 0x10, 0x68, 0x48, 0x33, 0x22, 0x1c, + 0xff, 0xf7, 0x08, 0xf9, 0x1c, 0xbd, 0x00, 0x00, + 0xc9, 0x6f, 0x00, 0x00, 0x10, 0xb5, 0x14, 0x1c, + 0x18, 0x48, 0x03, 0xf0, 0x89, 0xf8, 0xa0, 0x42, + 0x01, 0xd0, 0xfa, 0xf7, 0x45, 0xf9, 0x04, 0x22, + 0x20, 0x1c, 0x40, 0x30, 0xa1, 0x6a, 0xf9, 0xf7, + 0x3c, 0x00, 0x80, 0x70, 0x00, 0x00, 0xbd, 0xf9, + 0x00, 0x28, 0x02, 0xd1, 0x01, 0x20, 0x20, 0x62, + 0x05, 0xe0, 0x00, 0x20, 0x20, 0x62, 0x84, 0x20, + 0x00, 0x5d, 0x00, 0x28, 0x03, 0xd1, 0x20, 0x1c, + 0x09, 0xf0, 0x23, 0xfb, 0x05, 0xe0, 0x20, 0x68, + 0xfa, 0xf7, 0x79, 0xfa, 0x20, 0x1c, 0xfa, 0xf7, + 0xa4, 0xfb, 0xe0, 0x69, 0x80, 0x79, 0x06, 0x28, + 0x06, 0xd1, 0x20, 0x6a, 0x06, 0x49, 0x00, 0x28, + 0x03, 0xd0, 0x3c, 0x00, 0xbc, 0x70, 0x00, 0x00, + 0x08, 0x69, 0x01, 0x30, 0x08, 0x61, 0x10, 0xbd, + 0x48, 0x69, 0x01, 0x30, 0x48, 0x61, 0x10, 0xbd, + 0xa0, 0x6a, 0x01, 0x00, 0x28, 0x61, 0x01, 0x00, + 0x1c, 0xb5, 0x14, 0x1c, 0x15, 0x48, 0x03, 0xf0, + 0x51, 0xf8, 0xa0, 0x42, 0x01, 0xd0, 0xfa, 0xf7, + 0x0d, 0xf9, 0x20, 0x1c, 0x4f, 0x30, 0x02, 0x79, + 0x41, 0x79, 0x00, 0xab, 0x12, 0x02, 0x11, 0x43, + 0xc2, 0x78, 0x12, 0x04, 0x3c, 0x00, 0xf8, 0x70, + 0x00, 0x00, 0x11, 0x43, 0x82, 0x78, 0x12, 0x06, + 0x11, 0x43, 0x00, 0x91, 0x01, 0x78, 0x40, 0x78, + 0x09, 0x02, 0x08, 0x43, 0x98, 0x80, 0x20, 0x1c, + 0x69, 0x46, 0x06, 0xf0, 0x3c, 0xf9, 0x00, 0x28, + 0x03, 0xd1, 0x20, 0x1c, 0x09, 0xf0, 0xe3, 0xfa, + 0x1c, 0xbd, 0x20, 0x68, 0xfa, 0xf7, 0x39, 0xfa, + 0x20, 0x1c, 0xfa, 0xf7, 0x64, 0xfb, 0xf7, 0xe7, + 0x00, 0x00, 0xa0, 0x6a, 0x01, 0x00, 0x3c, 0x00, + 0x34, 0x71, 0x00, 0x00, 0xbc, 0xb5, 0x1f, 0x4d, + 0x14, 0x1c, 0x28, 0x1c, 0xdc, 0x30, 0x03, 0xf0, + 0x1f, 0xf8, 0xa0, 0x42, 0x01, 0xd0, 0xfa, 0xf7, + 0xdb, 0xf8, 0xa0, 0x6c, 0x00, 0xab, 0x02, 0x78, + 0x81, 0x78, 0x12, 0x02, 0x11, 0x43, 0x02, 0x79, + 0x12, 0x04, 0x11, 0x43, 0x42, 0x79, 0x12, 0x06, + 0x11, 0x43, 0x00, 0x91, 0x81, 0x79, 0xc0, 0x79, + 0x00, 0x02, 0x08, 0x43, 0x98, 0x80, 0x20, 0x1c, + 0x3c, 0x00, 0x70, 0x71, 0x00, 0x00, 0x69, 0x46, + 0x06, 0xf0, 0x0b, 0xf9, 0x00, 0x28, 0x17, 0xd0, + 0x01, 0x28, 0x0e, 0xd1, 0xed, 0x6c, 0x00, 0x2d, + 0x0b, 0xd0, 0x80, 0x20, 0x02, 0x5d, 0xe0, 0x6c, + 0x01, 0x21, 0x00, 0x28, 0x00, 0xd1, 0x00, 0x21, + 0x60, 0x68, 0x6b, 0x46, 0x0a, 0x30, 0xf9, 0xf7, + 0x23, 0xf9, 0x20, 0x68, 0xfa, 0xf7, 0xfb, 0xf9, + 0x20, 0x1c, 0xfa, 0xf7, 0x26, 0xfb, 0xbc, 0xbd, + 0x20, 0x1c, 0x3c, 0x00, 0xac, 0x71, 0x00, 0x00, + 0x00, 0xf0, 0x8e, 0xfe, 0xfa, 0xe7, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0xbc, 0xb5, 0x04, 0x1c, + 0x40, 0x6a, 0x00, 0x25, 0x00, 0x28, 0x03, 0xd0, + 0x60, 0x68, 0x00, 0x8b, 0x05, 0x07, 0x2d, 0x0f, + 0x22, 0x1c, 0x40, 0x32, 0x08, 0x21, 0x20, 0x68, + 0xfa, 0xf7, 0x7e, 0xfa, 0xa1, 0x68, 0x01, 0x95, + 0x00, 0x91, 0x21, 0x1c, 0x22, 0x1c, 0x60, 0x32, + 0x20, 0x68, 0x50, 0x31, 0x3c, 0x00, 0xe8, 0x71, + 0x00, 0x00, 0x0d, 0x1c, 0xe3, 0x68, 0x09, 0xf0, + 0xe2, 0xff, 0xe0, 0x69, 0x80, 0x6b, 0x00, 0x28, + 0x03, 0xd1, 0xfe, 0xf7, 0xe8, 0xfa, 0x00, 0x28, + 0x01, 0xd0, 0x18, 0x20, 0x00, 0xe0, 0x10, 0x20, + 0x06, 0x49, 0x01, 0x94, 0x00, 0x91, 0xe1, 0x69, + 0x08, 0x23, 0x09, 0x68, 0x0a, 0x18, 0x21, 0x1c, + 0x28, 0x31, 0x28, 0x1c, 0xff, 0xf7, 0x87, 0xf9, + 0xbc, 0xbd, 0x35, 0x71, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x72, 0x00, 0x00, 0x10, 0xb5, 0x10, 0x1c, + 0x38, 0x30, 0x90, 0x62, 0x04, 0x20, 0x10, 0x86, + 0x00, 0x20, 0x50, 0x63, 0x10, 0x68, 0x14, 0x1c, + 0x40, 0x32, 0x04, 0x21, 0xfa, 0xf7, 0x4a, 0xfa, + 0x23, 0x1c, 0x21, 0x1c, 0x28, 0x31, 0x02, 0x4a, + 0x20, 0x68, 0xff, 0xf7, 0xbd, 0xf8, 0x10, 0xbd, + 0x65, 0x70, 0x00, 0x00, 0x0e, 0xb5, 0xc3, 0x69, + 0x02, 0x1c, 0x98, 0x88, 0x05, 0x49, 0x02, 0x92, + 0x3c, 0x00, 0x60, 0x72, 0x00, 0x00, 0x01, 0x91, + 0x00, 0x90, 0x1b, 0x68, 0x10, 0x68, 0x91, 0x69, + 0x03, 0x22, 0xff, 0xf7, 0xae, 0xf9, 0x0e, 0xbd, + 0x00, 0x00, 0x25, 0x72, 0x00, 0x00, 0x0e, 0xb5, + 0x02, 0x1c, 0x06, 0x49, 0x10, 0x20, 0x00, 0x90, + 0x02, 0x92, 0x13, 0x1c, 0x01, 0x91, 0x10, 0x68, + 0x00, 0x22, 0x70, 0x33, 0x00, 0x21, 0xff, 0xf7, + 0x9c, 0xf9, 0x0e, 0xbd, 0x00, 0x00, 0x25, 0x72, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x72, 0x00, 0x00, + 0x10, 0xb5, 0x03, 0x1c, 0x00, 0x21, 0x00, 0x20, + 0x08, 0x4c, 0x00, 0xe0, 0x01, 0x31, 0xca, 0x00, + 0xa2, 0x58, 0x9a, 0x42, 0x02, 0xd0, 0x0b, 0x29, + 0xf8, 0xd3, 0x10, 0xbd, 0x0b, 0x29, 0xfc, 0xd2, + 0xc9, 0x00, 0x09, 0x19, 0x00, 0x20, 0x08, 0x71, + 0x01, 0x20, 0x10, 0xbd, 0x38, 0x58, 0x01, 0x00, + 0x8c, 0xb5, 0x00, 0xab, 0x86, 0x21, 0x19, 0x80, + 0x01, 0x1c, 0x04, 0x48, 0x3c, 0x00, 0xd8, 0x72, + 0x00, 0x00, 0x06, 0xf0, 0xee, 0xfe, 0x01, 0x90, + 0x68, 0x46, 0x06, 0xf0, 0xfa, 0xf8, 0x8c, 0xbd, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x0d, 0x48, 0x0d, 0x49, 0x94, 0xb0, + 0x04, 0x80, 0x06, 0x22, 0x18, 0x31, 0x0c, 0x30, + 0xf9, 0xf7, 0xfb, 0xf8, 0x01, 0xa8, 0x07, 0xf0, + 0xa2, 0xf8, 0x0c, 0x20, 0x09, 0xa9, 0x48, 0x72, + 0x00, 0xab, 0x1c, 0x80, 0x02, 0x21, 0x3c, 0x00, + 0x14, 0x73, 0x00, 0x00, 0x68, 0x46, 0x03, 0xf0, + 0xdb, 0xff, 0x04, 0x90, 0x01, 0xa8, 0x06, 0xf0, + 0xd1, 0xf8, 0x14, 0xb0, 0x10, 0xbd, 0x00, 0x00, + 0x58, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x04, 0xf0, + 0x45, 0xfe, 0x05, 0xf0, 0x53, 0xfa, 0x80, 0xbd, + 0x10, 0xb5, 0x19, 0x4c, 0xe0, 0x68, 0x00, 0x28, + 0x06, 0xd0, 0x61, 0x1c, 0x08, 0x78, 0x00, 0x28, + 0x03, 0xd1, 0x48, 0x78, 0xff, 0x30, 0x08, 0x70, + 0x3c, 0x00, 0x50, 0x73, 0x00, 0x00, 0x10, 0xbd, + 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, 0x08, 0x70, + 0xa1, 0x68, 0x00, 0x29, 0xf7, 0xd0, 0x00, 0x28, + 0xf5, 0xd1, 0x0e, 0x48, 0x54, 0x30, 0x81, 0x78, + 0x00, 0x29, 0x03, 0xd1, 0xc1, 0x78, 0xff, 0x31, + 0x81, 0x70, 0x10, 0xbd, 0xff, 0x31, 0x09, 0x06, + 0x09, 0x0e, 0x81, 0x70, 0xf9, 0xd1, 0xa1, 0x69, + 0x00, 0x29, 0xf6, 0xd0, 0x80, 0x88, 0x03, 0xf0, + 0xd0, 0xfb, 0x3c, 0x00, 0x8c, 0x73, 0x00, 0x00, + 0x04, 0x4a, 0x01, 0x1c, 0x5c, 0x32, 0x0c, 0x32, + 0x05, 0xca, 0x80, 0x1a, 0xa2, 0x69, 0xf9, 0xf7, + 0x1f, 0xf8, 0x10, 0xbd, 0x44, 0x7d, 0x01, 0x00, + 0xf0, 0xb5, 0x04, 0x1c, 0x40, 0x68, 0x00, 0x25, + 0x01, 0x79, 0x00, 0x22, 0x85, 0xb0, 0xc9, 0x07, + 0xcb, 0x17, 0x69, 0x49, 0x01, 0x33, 0x89, 0x6a, + 0x10, 0x29, 0x05, 0xd3, 0x66, 0x49, 0xc0, 0x39, + 0x08, 0x6b, 0x01, 0x30, 0x3c, 0x00, 0xc8, 0x73, + 0x00, 0x00, 0x08, 0x63, 0x8e, 0xe0, 0x21, 0x68, + 0x0e, 0x68, 0xf6, 0x78, 0xb7, 0x06, 0xff, 0x0f, + 0xb6, 0x09, 0x00, 0x2b, 0x04, 0x97, 0x06, 0xd0, + 0x63, 0x69, 0x1f, 0x1c, 0x1b, 0x6a, 0x50, 0x37, + 0x9f, 0x42, 0x00, 0xd1, 0x01, 0x25, 0x00, 0x2d, + 0x02, 0xd0, 0x63, 0x69, 0x1b, 0x6a, 0x04, 0xe0, + 0x3c, 0x23, 0x59, 0x4f, 0x73, 0x43, 0xdb, 0x19, + 0x04, 0x33, 0xe3, 0x61, 0x9f, 0x88, 0x3c, 0x00, + 0x04, 0x74, 0x00, 0x00, 0x00, 0x2f, 0x70, 0xd0, + 0x9b, 0x79, 0x02, 0x2b, 0x6e, 0xd0, 0x04, 0x2b, + 0x17, 0xd0, 0x06, 0x2b, 0x69, 0xd1, 0x08, 0x68, + 0xa0, 0x61, 0x08, 0x89, 0x04, 0x38, 0x08, 0x81, + 0x20, 0x68, 0x01, 0x68, 0x04, 0x31, 0x01, 0x60, + 0x4e, 0x49, 0x00, 0x29, 0x5d, 0xd0, 0x04, 0x9f, + 0xba, 0x42, 0x5a, 0xd1, 0x49, 0x48, 0x22, 0x1c, + 0x1c, 0x30, 0x02, 0xf0, 0x65, 0xfe, 0x05, 0xb0, + 0x3c, 0x00, 0x40, 0x74, 0x00, 0x00, 0xf0, 0xbd, + 0x09, 0x68, 0x25, 0x1c, 0xca, 0x79, 0x40, 0x35, + 0x26, 0x1c, 0xea, 0x73, 0x8b, 0x79, 0x22, 0x1c, + 0x50, 0x32, 0x13, 0x70, 0x4b, 0x79, 0x60, 0x36, + 0x53, 0x70, 0x0b, 0x79, 0x93, 0x70, 0x4b, 0x78, + 0xd3, 0x70, 0x09, 0x78, 0x11, 0x71, 0x00, 0x21, + 0x29, 0x72, 0x16, 0x21, 0xb1, 0x73, 0x61, 0x6a, + 0x00, 0x29, 0x06, 0xd0, 0x01, 0x8b, 0x09, 0x07, + 0x09, 0x0f, 0x3c, 0x00, 0x7c, 0x74, 0x00, 0x00, + 0x29, 0x72, 0xb1, 0x81, 0x18, 0x21, 0xb1, 0x73, + 0x01, 0x1c, 0x0a, 0x31, 0x20, 0x1c, 0x06, 0x22, + 0x49, 0x30, 0xf9, 0xf7, 0x33, 0xf8, 0x60, 0x68, + 0x14, 0x22, 0x01, 0x88, 0xe9, 0x82, 0x01, 0x1d, + 0x20, 0x1c, 0x58, 0x30, 0xf9, 0xf7, 0x2a, 0xf8, + 0xe8, 0x8a, 0x30, 0x49, 0x08, 0x40, 0x01, 0x21, + 0x89, 0x03, 0x08, 0x43, 0xe8, 0x82, 0x70, 0x89, + 0x0f, 0x21, 0x08, 0x40, 0x3c, 0x00, 0xb8, 0x74, + 0x00, 0x00, 0x70, 0x81, 0x20, 0x68, 0x01, 0x89, + 0x08, 0x39, 0x01, 0x81, 0x20, 0x68, 0x01, 0x68, + 0x08, 0x31, 0x01, 0x60, 0x08, 0x21, 0x00, 0x20, + 0xfa, 0xf7, 0x83, 0xf8, 0x05, 0x1c, 0x02, 0x68, + 0x20, 0x68, 0x08, 0x21, 0xfa, 0xf7, 0xfb, 0xf8, + 0x20, 0x68, 0xfa, 0xf7, 0x74, 0xf8, 0x21, 0x49, + 0xc5, 0x60, 0x2f, 0xe0, 0x30, 0xe0, 0xff, 0xe7, + 0x21, 0x68, 0x60, 0x68, 0x0a, 0x68, 0x3c, 0x00, + 0xf4, 0x74, 0x00, 0x00, 0x80, 0x23, 0xa2, 0x64, + 0x1e, 0x55, 0xe5, 0x64, 0x55, 0x79, 0x13, 0x79, + 0x2d, 0x02, 0x5b, 0x19, 0x95, 0x79, 0x2d, 0x04, + 0x5b, 0x19, 0xd5, 0x79, 0x2d, 0x06, 0x5b, 0x19, + 0x95, 0x78, 0x12, 0x78, 0x12, 0x02, 0xaa, 0x18, + 0x15, 0x04, 0x0a, 0x89, 0x2d, 0x0c, 0x08, 0x3a, + 0x0a, 0x81, 0x21, 0x68, 0x0a, 0x68, 0x08, 0x32, + 0x0a, 0x60, 0xe1, 0x69, 0x02, 0x1c, 0x0a, 0x32, + 0x3c, 0x00, 0x30, 0x75, 0x00, 0x00, 0x01, 0xa8, + 0x09, 0x68, 0x0b, 0xf0, 0x3e, 0xf9, 0xe0, 0x69, + 0x2b, 0x1c, 0x01, 0x68, 0x20, 0x1c, 0x70, 0x30, + 0x01, 0xaa, 0x0b, 0xf0, 0x86, 0xf9, 0x09, 0x49, + 0x01, 0x22, 0x6d, 0xe7, 0x20, 0x68, 0xfa, 0xf7, + 0x22, 0xf8, 0x20, 0x1c, 0xfa, 0xf7, 0x4d, 0xf9, + 0x70, 0xe7, 0x84, 0x6a, 0x01, 0x00, 0x68, 0x61, + 0x01, 0x00, 0x55, 0x72, 0x00, 0x00, 0x8f, 0xc7, + 0xff, 0xff, 0x3c, 0x00, 0x6c, 0x75, 0x00, 0x00, + 0x41, 0x70, 0x00, 0x00, 0x79, 0x72, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x82, 0x20, 0xf9, 0xf7, + 0x93, 0xfe, 0x80, 0xbd, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0xc0, 0x68, 0xf9, 0xf7, 0xfa, 0xff, + 0x01, 0x20, 0x80, 0xbd, 0x3c, 0x00, 0xa8, 0x75, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0x21, 0xff, 0x20, + 0xf9, 0xf7, 0x79, 0xfe, 0x80, 0xbd, 0x70, 0x47, + 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x01, 0x20, + 0x70, 0x47, 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x06, 0x21, 0x99, 0x20, + 0xf9, 0xf7, 0x65, 0xfe, 0x80, 0xbd, 0xb0, 0xb5, + 0x00, 0x25, 0x01, 0x29, 0x12, 0x4c, 0x3c, 0x00, + 0xe4, 0x75, 0x00, 0x00, 0x0f, 0xd1, 0x0a, 0xf0, + 0x0f, 0xfc, 0x00, 0x28, 0x1d, 0xd0, 0x61, 0x78, + 0x3c, 0x23, 0x59, 0x43, 0x09, 0x19, 0x04, 0x31, + 0x01, 0x62, 0x61, 0x1c, 0x41, 0x62, 0x84, 0x62, + 0x04, 0x1c, 0x50, 0x34, 0x06, 0xe0, 0x00, 0x29, + 0x0f, 0xd1, 0x3c, 0x20, 0x50, 0x43, 0x25, 0x70, + 0x04, 0x19, 0x04, 0x34, 0x00, 0x2c, 0x08, 0xd0, + 0x20, 0x68, 0x00, 0x28, 0x02, 0xd0, 0x20, 0x21, + 0x3c, 0x00, 0x20, 0x76, 0x00, 0x00, 0xf8, 0xf7, + 0x18, 0xff, 0xa5, 0x80, 0x07, 0x20, 0xa0, 0x71, + 0xb0, 0xbd, 0x68, 0x61, 0x01, 0x00, 0x70, 0xb5, + 0x04, 0x1c, 0x00, 0x21, 0x01, 0xf0, 0x41, 0xfc, + 0x60, 0x68, 0x00, 0x28, 0x01, 0xd0, 0x21, 0x68, + 0x01, 0x60, 0x20, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0x61, 0x68, 0x41, 0x60, 0x12, 0x4e, 0x70, 0x68, + 0xa0, 0x42, 0x01, 0xd1, 0x60, 0x68, 0x70, 0x60, + 0xe0, 0x68, 0x3c, 0x00, 0x5c, 0x76, 0x00, 0x00, + 0x00, 0x28, 0x0b, 0xd0, 0x00, 0x25, 0x06, 0xe0, + 0xe0, 0x68, 0xe9, 0x00, 0x41, 0x18, 0x14, 0x20, + 0x0b, 0xf0, 0xe2, 0xff, 0x01, 0x35, 0x30, 0x88, + 0x85, 0x42, 0xf5, 0xdb, 0x06, 0x21, 0x20, 0x1c, + 0x44, 0x30, 0xf8, 0xf7, 0xe9, 0xfe, 0x20, 0x6b, + 0x00, 0x28, 0x01, 0xd0, 0xf9, 0xf7, 0x86, 0xff, + 0xe0, 0x69, 0x00, 0x28, 0x01, 0xd0, 0xfa, 0xf7, + 0xaf, 0xf8, 0x70, 0xbd, 0x3c, 0x00, 0x98, 0x76, + 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, 0xf0, 0xb5, + 0x1d, 0x4f, 0x05, 0x9d, 0x3f, 0x68, 0x01, 0x26, + 0x1c, 0x1c, 0x33, 0x1c, 0x00, 0x2f, 0x00, 0xd0, + 0x2b, 0x1c, 0x1d, 0x06, 0x2d, 0x0e, 0x00, 0x29, + 0x06, 0xd0, 0x11, 0x78, 0x0e, 0x23, 0x16, 0x4f, + 0x09, 0x18, 0x09, 0x7a, 0x6b, 0x43, 0x10, 0xe0, + 0x21, 0x78, 0x00, 0x29, 0x13, 0xd0, 0xff, 0x31, + 0x0d, 0xe0, 0x01, 0x29, 0x01, 0xd9, 0x3c, 0x00, + 0xd4, 0x76, 0x00, 0x00, 0x01, 0x31, 0x11, 0x70, + 0x11, 0x78, 0x0e, 0x23, 0x0f, 0x4f, 0x49, 0x08, + 0x11, 0x70, 0x09, 0x18, 0x09, 0x7a, 0x6b, 0x43, + 0xdb, 0x19, 0x59, 0x5c, 0x21, 0x70, 0x21, 0x78, + 0x00, 0x29, 0x02, 0xd1, 0x11, 0x78, 0x00, 0x29, + 0xea, 0xd1, 0x09, 0x48, 0xc0, 0x68, 0x00, 0x28, + 0x05, 0xd0, 0x21, 0x78, 0x30, 0x1c, 0x00, 0x29, + 0x00, 0xd1, 0x00, 0x20, 0xf0, 0xbd, 0x01, 0x20, + 0x3c, 0x00, 0x10, 0x77, 0x00, 0x00, 0xf0, 0xbd, + 0x00, 0x00, 0x18, 0x67, 0x01, 0x00, 0x24, 0x67, + 0x01, 0x00, 0x5c, 0x67, 0x01, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0x84, 0x46, 0x00, 0x20, 0xf0, 0xb5, + 0x00, 0x29, 0x09, 0xd0, 0x11, 0x78, 0x1a, 0x4e, + 0xb1, 0x70, 0x19, 0x4e, 0xb1, 0x78, 0x71, 0x70, + 0x31, 0x70, 0x01, 0x21, 0x31, 0x61, 0x27, 0xe0, + 0x16, 0x4e, 0x01, 0x23, 0xf1, 0x56, 0x63, 0x46, + 0x5f, 0x68, 0x3c, 0x00, 0x4c, 0x77, 0x00, 0x00, + 0x00, 0x23, 0xf6, 0x56, 0x01, 0x25, 0xcc, 0x0f, + 0xb7, 0x42, 0x00, 0xd9, 0x00, 0x25, 0x00, 0x2c, + 0x01, 0xd0, 0x00, 0x2d, 0xe8, 0xd1, 0x0e, 0x4f, + 0x3b, 0x69, 0x00, 0x2b, 0x03, 0xd0, 0x00, 0x2d, + 0x01, 0xd1, 0x16, 0x70, 0x02, 0xe0, 0x1c, 0x43, + 0x01, 0xd1, 0x11, 0x70, 0x01, 0x20, 0x01, 0x24, + 0x00, 0x2b, 0x00, 0xd0, 0x00, 0x24, 0x3c, 0x61, + 0x00, 0x2c, 0x02, 0xd0, 0x3c, 0x00, 0x88, 0x77, + 0x00, 0x00, 0x71, 0x1c, 0x39, 0x70, 0x01, 0xe0, + 0xff, 0x31, 0x79, 0x70, 0x00, 0x28, 0xd5, 0xd0, + 0x01, 0x20, 0xf0, 0xbd, 0x00, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0x90, 0xb5, 0x0a, 0x4c, 0x00, 0x20, + 0x93, 0xb0, 0x20, 0x61, 0x03, 0x90, 0x68, 0x46, + 0x00, 0x21, 0x08, 0xf0, 0x84, 0xfd, 0x20, 0x7a, + 0x02, 0x28, 0x01, 0xd1, 0xe0, 0x6b, 0x00, 0xe0, + 0x20, 0x6c, 0xe0, 0x61, 0x01, 0x20, 0x3c, 0x00, + 0xc4, 0x77, 0x00, 0x00, 0x08, 0xf0, 0x8a, 0xfd, + 0x13, 0xb0, 0x90, 0xbd, 0xf4, 0x6e, 0x01, 0x00, + 0xf7, 0xb5, 0x05, 0x1c, 0x88, 0x88, 0x0c, 0x1c, + 0x82, 0xb0, 0x1f, 0x4f, 0x00, 0x28, 0x00, 0xd1, + 0x00, 0x27, 0x04, 0x98, 0x00, 0x28, 0x01, 0xd1, + 0xf9, 0xf7, 0x8a, 0xfd, 0x1b, 0x48, 0x3b, 0x1c, + 0x00, 0x68, 0x21, 0x1c, 0x02, 0x68, 0x28, 0x1c, + 0x00, 0x92, 0x04, 0x9a, 0xfe, 0xf7, 0x3c, 0xf8, + 0x3c, 0x00, 0x00, 0x78, 0x00, 0x00, 0x06, 0x1c, + 0x22, 0xd0, 0x03, 0x21, 0x04, 0x98, 0x02, 0xf0, + 0xb8, 0xff, 0x00, 0x28, 0x1b, 0xd0, 0x80, 0x78, + 0x01, 0x21, 0x03, 0xf0, 0xe4, 0xff, 0xa0, 0x88, + 0xa1, 0x8e, 0x48, 0x43, 0x00, 0x04, 0x0f, 0x49, + 0x00, 0x0c, 0x08, 0x80, 0x03, 0xf0, 0x81, 0xf9, + 0x01, 0x22, 0x00, 0x2d, 0x00, 0xd1, 0x00, 0x22, + 0x01, 0x1c, 0x0e, 0x20, 0x0b, 0xf0, 0xc9, 0xfe, + 0x00, 0x2f, 0x3c, 0x00, 0x3c, 0x78, 0x00, 0x00, + 0x08, 0xd1, 0x00, 0x21, 0x28, 0x1c, 0x02, 0xf0, + 0xbd, 0xfc, 0x03, 0xe0, 0x00, 0x26, 0x28, 0x1c, + 0x00, 0xf0, 0x0a, 0xf8, 0x30, 0x1c, 0x05, 0xb0, + 0xf0, 0xbd, 0x00, 0x00, 0xc1, 0xa1, 0x00, 0x00, + 0xe4, 0x65, 0x01, 0x00, 0xa8, 0x7c, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0xfe, 0xf7, 0x38, 0xf8, + 0x01, 0x21, 0x00, 0x2c, 0x00, 0xd1, 0x00, 0x21, + 0x0e, 0x20, 0x0b, 0xf0, 0x3c, 0x00, 0x78, 0x78, + 0x00, 0x00, 0xdd, 0xfe, 0x10, 0xbd, 0xf8, 0xb5, + 0x07, 0x1c, 0x0b, 0xf0, 0x94, 0xfa, 0xfd, 0xf7, + 0xbc, 0xfe, 0x00, 0x26, 0x02, 0x28, 0x1e, 0x4d, + 0x01, 0xd0, 0x2e, 0x70, 0xf8, 0xbd, 0xfd, 0xf7, + 0x3e, 0xf8, 0x04, 0x1c, 0xf9, 0xf7, 0x59, 0xfc, + 0x00, 0x28, 0x14, 0xd0, 0xfd, 0xf7, 0x77, 0xf8, + 0x00, 0x28, 0x10, 0xd0, 0x02, 0xf0, 0xf9, 0xfb, + 0x00, 0x28, 0x01, 0xd0, 0x00, 0x24, 0x3c, 0x00, + 0xb4, 0x78, 0x00, 0x00, 0x00, 0xe0, 0x15, 0x4c, + 0x33, 0x1c, 0x21, 0x1c, 0x07, 0x22, 0x16, 0x20, + 0x0b, 0xf0, 0x66, 0xff, 0x68, 0x78, 0x80, 0x21, + 0x08, 0x43, 0x68, 0x70, 0x02, 0xf0, 0x0a, 0xfc, + 0x00, 0x28, 0xde, 0xd1, 0x28, 0x78, 0x80, 0x07, + 0xdb, 0xd4, 0xfd, 0xf7, 0x23, 0xf9, 0x00, 0x28, + 0x05, 0xd1, 0x28, 0x78, 0xc0, 0x07, 0x02, 0xd5, + 0xfd, 0xf7, 0x42, 0xf8, 0xd1, 0xe7, 0x02, 0xf0, + 0x3c, 0x00, 0xf0, 0x78, 0x00, 0x00, 0xcd, 0xfb, + 0x00, 0x28, 0xcd, 0xd0, 0x28, 0x78, 0x02, 0x21, + 0x08, 0x43, 0x28, 0x70, 0x21, 0x1c, 0x38, 0x1c, + 0xfd, 0xf7, 0xc1, 0xf8, 0xc4, 0xe7, 0x60, 0x6c, + 0x01, 0x00, 0x71, 0x02, 0x00, 0x00, 0x10, 0xb5, + 0x12, 0x4c, 0x01, 0x20, 0x20, 0x70, 0xfe, 0xf7, + 0xf0, 0xf9, 0x01, 0x21, 0xa0, 0x68, 0xfb, 0xf7, + 0xf4, 0xfe, 0xa0, 0x68, 0x03, 0xf0, 0x87, 0xff, + 0x0d, 0x48, 0x3c, 0x00, 0x2c, 0x79, 0x00, 0x00, + 0xa1, 0x68, 0x07, 0xf0, 0x23, 0xfd, 0xfb, 0xf7, + 0x55, 0xff, 0xe0, 0x68, 0x00, 0x28, 0x0d, 0xd0, + 0x09, 0x49, 0x06, 0x20, 0x0a, 0xf0, 0x24, 0xfd, + 0x08, 0x49, 0x05, 0x20, 0x0a, 0xf0, 0x20, 0xfd, + 0xfb, 0xf7, 0x6e, 0xff, 0x00, 0x28, 0x01, 0xd0, + 0x05, 0xf0, 0xf8, 0xfc, 0x10, 0xbd, 0x00, 0x00, + 0x78, 0x69, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0xe1, 0x35, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x79, + 0x00, 0x00, 0xb1, 0x35, 0x00, 0x00, 0xf0, 0xb5, + 0x24, 0x4d, 0x23, 0x4c, 0x68, 0x7c, 0x20, 0x3c, + 0x9b, 0xb0, 0x00, 0x28, 0x08, 0xd0, 0x02, 0x28, + 0x03, 0xd8, 0x20, 0x89, 0x01, 0x38, 0x20, 0x81, + 0x37, 0xe0, 0x00, 0x27, 0x6f, 0x74, 0x34, 0xe0, + 0x1c, 0x4e, 0x68, 0x22, 0x14, 0x36, 0x31, 0x1c, + 0x0c, 0x31, 0x01, 0xa8, 0xf8, 0xf7, 0x09, 0xfe, + 0x18, 0x48, 0x33, 0x89, 0x01, 0x21, 0x3c, 0x00, + 0xa4, 0x79, 0x00, 0x00, 0x44, 0x30, 0x0a, 0x1c, + 0x00, 0x2b, 0x00, 0x7b, 0x00, 0xd1, 0x02, 0x1c, + 0x12, 0x06, 0x12, 0x0e, 0x0d, 0xaf, 0x3a, 0x70, + 0x94, 0x46, 0xaa, 0x7b, 0x93, 0x19, 0x30, 0x33, + 0x5b, 0x7b, 0x7b, 0x70, 0xea, 0x73, 0x01, 0x32, + 0x12, 0x06, 0x12, 0x0e, 0x00, 0x27, 0x82, 0x42, + 0xaa, 0x73, 0x01, 0xd3, 0xaf, 0x73, 0x04, 0xe0, + 0x62, 0x46, 0x01, 0x2a, 0x01, 0xd1, 0x77, 0x60, + 0x3c, 0x00, 0xe0, 0x79, 0x00, 0x00, 0x00, 0xe0, + 0x71, 0x60, 0x06, 0x48, 0x07, 0x4a, 0x80, 0x38, + 0x81, 0x67, 0x42, 0x67, 0x68, 0x22, 0x01, 0xa9, + 0xf8, 0xf7, 0xdd, 0xfd, 0x27, 0x81, 0x08, 0xf0, + 0x12, 0xfd, 0x1b, 0xb0, 0xf0, 0xbd, 0x84, 0x66, + 0x01, 0x00, 0xe9, 0x2e, 0x00, 0x00, 0xf1, 0xb5, + 0x86, 0xb0, 0x06, 0x99, 0x00, 0x20, 0x88, 0x61, + 0x06, 0x98, 0x84, 0x68, 0x80, 0x8d, 0x65, 0x68, + 0x01, 0x28, 0x3c, 0x00, 0x1c, 0x7a, 0x00, 0x00, + 0x4c, 0xd9, 0x35, 0x49, 0x49, 0x68, 0x05, 0x91, + 0x00, 0x29, 0x47, 0xd0, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x23, 0x03, 0x90, 0x28, 0x1c, 0x96, 0x46, + 0x94, 0x46, 0x06, 0x68, 0x04, 0x96, 0xf2, 0x78, + 0x80, 0x26, 0xb2, 0x43, 0x3f, 0x2a, 0x2e, 0xd8, + 0xd7, 0x06, 0xff, 0x0e, 0x01, 0x26, 0xbe, 0x40, + 0x37, 0x1c, 0x04, 0x9e, 0x52, 0x09, 0xb6, 0x78, + 0x76, 0x00, 0xb2, 0x18, 0x3c, 0x00, 0x58, 0x7a, + 0x00, 0x00, 0x26, 0x4e, 0x92, 0x00, 0x1c, 0x36, + 0xb2, 0x58, 0x3a, 0x40, 0x1e, 0xd0, 0x03, 0xe0, + 0x02, 0x90, 0x02, 0x89, 0xc0, 0x68, 0x51, 0x18, + 0x00, 0x28, 0xf9, 0xd1, 0x05, 0x98, 0x81, 0x42, + 0x14, 0xd8, 0x70, 0x46, 0x01, 0x30, 0x86, 0x46, + 0x00, 0x2b, 0x04, 0xd0, 0x60, 0x46, 0xd8, 0x60, + 0x01, 0x98, 0x62, 0x46, 0xd0, 0x60, 0x03, 0x98, + 0x01, 0x38, 0x03, 0x90, 0x06, 0xd0, 0x3c, 0x00, + 0x94, 0x7a, 0x00, 0x00, 0x23, 0x1c, 0x24, 0x68, + 0x60, 0x68, 0x02, 0x9a, 0x01, 0x90, 0x94, 0x46, + 0xc9, 0xe7, 0x70, 0x46, 0x01, 0x28, 0x07, 0xd9, + 0x2a, 0x1c, 0x00, 0x21, 0x3f, 0x20, 0x01, 0xf0, + 0x51, 0xff, 0x05, 0x1c, 0x06, 0x98, 0x85, 0x61, + 0x28, 0x1c, 0x01, 0xf0, 0xb3, 0xff, 0x0e, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x07, 0xd0, 0x28, 0x68, + 0x01, 0x88, 0x40, 0x79, 0x02, 0x31, 0x09, 0x1a, + 0x3c, 0x00, 0xd0, 0x7a, 0x00, 0x00, 0x28, 0x1c, + 0x01, 0xf0, 0xe5, 0xfc, 0xa2, 0x68, 0x06, 0x98, + 0xc0, 0x68, 0x06, 0x99, 0x0b, 0x69, 0x29, 0x1c, + 0xf8, 0xf7, 0x7c, 0xfc, 0x03, 0x49, 0x08, 0x69, + 0x01, 0x30, 0x08, 0x61, 0x07, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xfc, 0x5a, 0x01, 0x00, 0xcc, 0x5c, + 0x01, 0x00, 0x10, 0xb5, 0x09, 0x4a, 0x80, 0x00, + 0x12, 0x58, 0xd0, 0x06, 0xc0, 0x0e, 0x01, 0x30, + 0x07, 0x4b, 0x3c, 0x00, 0x0c, 0x7b, 0x00, 0x00, + 0x1c, 0x68, 0x00, 0x2c, 0xfc, 0xdb, 0x5a, 0x60, + 0x20, 0x22, 0x12, 0x1a, 0x91, 0x40, 0x19, 0x60, + 0x19, 0x68, 0x00, 0x29, 0xfc, 0xdb, 0x10, 0xbd, + 0xe8, 0x60, 0x01, 0x00, 0x30, 0x20, 0x07, 0x00, + 0xb0, 0xb5, 0x12, 0x4c, 0x00, 0x25, 0x25, 0x70, + 0xa1, 0x68, 0x11, 0x48, 0x07, 0xf0, 0x32, 0xfc, + 0x65, 0x61, 0xfb, 0xf7, 0xa3, 0xfe, 0xe0, 0x68, + 0x00, 0x28, 0x0d, 0xd0, 0x3c, 0x00, 0x48, 0x7b, + 0x00, 0x00, 0xfb, 0xf7, 0xa4, 0xfe, 0x01, 0x21, + 0x07, 0x20, 0x0b, 0xf0, 0x70, 0xfd, 0x0a, 0x49, + 0x06, 0x20, 0x0a, 0xf0, 0x4c, 0xfc, 0x09, 0x49, + 0x05, 0x20, 0x0a, 0xf0, 0x48, 0xfc, 0xa0, 0x68, + 0x03, 0xf0, 0x67, 0xfe, 0x00, 0x21, 0xa0, 0x68, + 0xfb, 0xf7, 0xcd, 0xfd, 0x05, 0xf0, 0xab, 0xfb, + 0xb0, 0xbd, 0x78, 0x69, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0xe1, 0x35, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x7b, 0x00, 0x00, 0xb1, 0x35, 0x00, 0x00, + 0x10, 0xb5, 0x0f, 0x4c, 0x20, 0x7c, 0x00, 0x28, + 0x19, 0xd1, 0x60, 0x69, 0x00, 0x28, 0x16, 0xd1, + 0xe0, 0x68, 0x00, 0x28, 0x06, 0xd0, 0x0a, 0x48, + 0x1c, 0x38, 0xc0, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0x05, 0xf0, 0xce, 0xfb, 0x01, 0x21, 0x07, 0x20, + 0x0b, 0xf0, 0x40, 0xfd, 0xa0, 0x68, 0x03, 0xf0, + 0x3f, 0xfe, 0x04, 0x48, 0xa1, 0x68, 0x07, 0xf0, + 0x3c, 0x00, 0xc0, 0x7b, 0x00, 0x00, 0xdb, 0xfb, + 0x01, 0x20, 0x20, 0x70, 0x10, 0xbd, 0x78, 0x69, + 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, 0x70, 0xb5, + 0x0e, 0x4c, 0x01, 0x22, 0xa3, 0x68, 0xe5, 0x68, + 0x26, 0x8a, 0x5d, 0x1b, 0xb5, 0x42, 0x01, 0xd1, + 0x00, 0x22, 0x06, 0xe0, 0x25, 0x68, 0x01, 0x33, + 0x2e, 0x68, 0xa3, 0x60, 0x26, 0x60, 0x04, 0x35, + 0x03, 0xc5, 0x00, 0x2a, 0x04, 0xd1, 0x01, 0x21, + 0x9d, 0x20, 0x3c, 0x00, 0xfc, 0x7b, 0x00, 0x00, + 0xf9, 0xf7, 0x52, 0xfb, 0x70, 0xbd, 0x03, 0x49, + 0x02, 0x20, 0x08, 0x60, 0x70, 0xbd, 0x00, 0x00, + 0x44, 0xe3, 0x01, 0x00, 0x40, 0x20, 0x07, 0x00, + 0x80, 0xb5, 0x02, 0xf0, 0xb9, 0xf8, 0x80, 0xbd, + 0x80, 0xb5, 0x02, 0x21, 0x2d, 0x20, 0xf9, 0xf7, + 0x3f, 0xfb, 0x00, 0x20, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x2a, 0x20, 0xf9, 0xf7, + 0x37, 0xfb, 0x00, 0x20, 0x3c, 0x00, 0x38, 0x7c, + 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0x01, 0x21, 0x2b, 0x20, 0xf9, 0xf7, 0x2f, 0xfb, + 0x02, 0x20, 0x80, 0xbd, 0x00, 0x00, 0x01, 0x49, + 0x01, 0x20, 0x08, 0x61, 0x70, 0x47, 0x7c, 0x78, + 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x0c, 0x23, + 0x0f, 0x1c, 0x17, 0x49, 0x58, 0x43, 0x45, 0x18, + 0x6c, 0x68, 0x30, 0x1c, 0x0b, 0xf0, 0x3f, 0xfe, + 0x00, 0x2f, 0x09, 0xd1, 0x30, 0x1c, 0x3c, 0x00, + 0x74, 0x7c, 0x00, 0x00, 0x03, 0xf0, 0xee, 0xfe, + 0x41, 0x20, 0x07, 0x55, 0x11, 0x48, 0x21, 0x1c, + 0xff, 0xf7, 0xa6, 0xff, 0xf8, 0xbd, 0x41, 0x20, + 0x07, 0x55, 0xa0, 0x6b, 0x00, 0x28, 0x03, 0xd0, + 0x20, 0x1c, 0x00, 0xf0, 0xdf, 0xf9, 0xf5, 0xe7, + 0x20, 0x1c, 0x00, 0xf0, 0xdb, 0xf9, 0xac, 0x68, + 0x00, 0x2c, 0x02, 0xd0, 0x00, 0x20, 0xa8, 0x60, + 0xed, 0xe7, 0x30, 0x1c, 0x05, 0xf0, 0x34, 0xf9, + 0x3c, 0x00, 0xb0, 0x7c, 0x00, 0x00, 0x04, 0x1c, + 0xe8, 0xd1, 0x08, 0x21, 0x0c, 0x20, 0xf9, 0xf7, + 0xf4, 0xfa, 0xe3, 0xe7, 0x00, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0x55, 0x80, 0x00, 0x00, 0x07, 0x4a, + 0x80, 0xb5, 0x50, 0x70, 0x51, 0x60, 0x12, 0x78, + 0x06, 0x4b, 0x80, 0x00, 0x52, 0x01, 0xd2, 0x18, + 0x10, 0x18, 0x40, 0x38, 0x02, 0x68, 0x08, 0x1c, + 0xf8, 0xf7, 0x7b, 0xfb, 0x80, 0xbd, 0x78, 0x69, + 0x01, 0x00, 0x3c, 0x00, 0xec, 0x7c, 0x00, 0x00, + 0xfc, 0x42, 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x49, + 0x04, 0x1c, 0xc8, 0x70, 0x08, 0x4d, 0xe4, 0x35, + 0xa8, 0x7a, 0x08, 0x71, 0x08, 0x2c, 0x01, 0xd3, + 0xf9, 0xf7, 0xfc, 0xfa, 0xa8, 0x7a, 0x05, 0x49, + 0x40, 0x01, 0x40, 0x18, 0xa1, 0x00, 0x40, 0x58, + 0xf8, 0xf7, 0x60, 0xfb, 0xb0, 0xbd, 0x00, 0x00, + 0x60, 0x6c, 0x01, 0x00, 0x80, 0x43, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x28, 0x3c, 0x00, 0x28, 0x7d, + 0x00, 0x00, 0x01, 0xd0, 0x09, 0xf0, 0x1d, 0xf9, + 0x80, 0xbd, 0xb0, 0xb5, 0x05, 0x1c, 0x0c, 0x1c, + 0x00, 0x20, 0x08, 0x60, 0x68, 0x68, 0x09, 0xf0, + 0x36, 0xfb, 0x6c, 0x60, 0xb0, 0xbd, 0x10, 0xb5, + 0x04, 0x1c, 0x09, 0xf0, 0x34, 0xfb, 0x21, 0x68, + 0x00, 0x29, 0x00, 0xd1, 0x64, 0x60, 0x10, 0xbd, + 0x00, 0x00, 0x00, 0x21, 0x01, 0x60, 0x40, 0x60, + 0x70, 0x47, 0xf8, 0xb5, 0x46, 0x68, 0x3c, 0x00, + 0x64, 0x7d, 0x00, 0x00, 0x04, 0x1c, 0x40, 0x6a, + 0x35, 0x1c, 0x0a, 0x35, 0x00, 0x28, 0x04, 0xd0, + 0x20, 0x1c, 0xf9, 0xf7, 0x89, 0xfd, 0x07, 0x1c, + 0x00, 0xe0, 0x04, 0x27, 0x29, 0x1c, 0x60, 0x69, + 0x00, 0xf0, 0xf6, 0xfc, 0x79, 0x00, 0x0f, 0x18, + 0xba, 0x88, 0xf1, 0x8a, 0x05, 0x1c, 0x8a, 0x42, + 0x05, 0xd1, 0x30, 0x88, 0x00, 0x05, 0x02, 0xd5, + 0x04, 0xf0, 0xbe, 0xfb, 0x3c, 0xe0, 0x28, 0x68, + 0x3c, 0x00, 0xa0, 0x7d, 0x00, 0x00, 0x00, 0x28, + 0x0f, 0xd0, 0x01, 0x32, 0x8a, 0x42, 0x04, 0xd1, + 0xf9, 0xf7, 0x0f, 0xfc, 0x21, 0x68, 0xc1, 0x60, + 0x0b, 0xe0, 0xf9, 0xf7, 0xf0, 0xfb, 0xf0, 0x8a, + 0x00, 0x07, 0x04, 0xd0, 0x00, 0x21, 0x29, 0x60, + 0x29, 0xe0, 0x08, 0x07, 0x27, 0xd1, 0x20, 0x68, + 0x28, 0x60, 0xf0, 0x8a, 0xb8, 0x80, 0x13, 0x48, + 0x01, 0x68, 0x01, 0x31, 0x01, 0x60, 0x31, 0x88, + 0x49, 0x05, 0x3c, 0x00, 0xdc, 0x7d, 0x00, 0x00, + 0x18, 0xd4, 0x29, 0x68, 0x21, 0x60, 0x00, 0x21, + 0x29, 0x60, 0xe1, 0x69, 0x00, 0x29, 0x0d, 0xd0, + 0x89, 0x79, 0x02, 0x29, 0x0a, 0xd1, 0x08, 0x21, + 0x21, 0x86, 0x21, 0x1c, 0x38, 0x31, 0xa1, 0x62, + 0x22, 0x1c, 0xdc, 0x30, 0x08, 0x49, 0x02, 0xf0, + 0x81, 0xf9, 0xf8, 0xbd, 0x20, 0x1c, 0x00, 0xf0, + 0x5f, 0xf8, 0xfa, 0xe7, 0x20, 0x1c, 0xf9, 0xf7, + 0xef, 0xfc, 0xf6, 0xe7, 0x3c, 0x00, 0x18, 0x7e, + 0x00, 0x00, 0x20, 0x68, 0xf9, 0xf7, 0xbd, 0xfb, + 0xf7, 0xe7, 0xc4, 0x69, 0x01, 0x00, 0xb9, 0x71, + 0x00, 0x00, 0xf8, 0xb5, 0x0f, 0x1c, 0x09, 0x78, + 0x01, 0x24, 0xc9, 0x07, 0x21, 0xd5, 0x02, 0xf0, + 0x8c, 0xff, 0x00, 0x28, 0x01, 0xd0, 0x00, 0x24, + 0x1b, 0xe0, 0x0e, 0x4e, 0x75, 0x6e, 0x00, 0x2d, + 0x17, 0xd0, 0x34, 0x6e, 0x06, 0x22, 0x31, 0x1c, + 0x38, 0x1c, 0xf8, 0xf7, 0xd4, 0xfa, 0x3c, 0x00, + 0x54, 0x7e, 0x00, 0x00, 0x00, 0x28, 0x05, 0xd1, + 0x01, 0x20, 0x00, 0x2c, 0x00, 0xd0, 0x00, 0x20, + 0x04, 0x1c, 0x03, 0xe0, 0x01, 0x3d, 0x06, 0x36, + 0x00, 0x2d, 0xee, 0xd1, 0x00, 0x2c, 0x03, 0xd1, + 0x02, 0x4e, 0xb0, 0x6e, 0x01, 0x30, 0xb0, 0x66, + 0x20, 0x1c, 0xf8, 0xbd, 0x10, 0x79, 0x01, 0x00, + 0x30, 0xb5, 0x05, 0x1c, 0x00, 0x20, 0x06, 0x49, + 0x00, 0x22, 0x1c, 0x23, 0xcc, 0x56, 0xac, 0x42, + 0x3c, 0x00, 0x90, 0x7e, 0x00, 0x00, 0x01, 0xd1, + 0x08, 0x1c, 0x30, 0xbd, 0x01, 0x32, 0x48, 0x31, + 0x01, 0x2a, 0xf5, 0xd3, 0x30, 0xbd, 0xcc, 0x6d, + 0x01, 0x00, 0x10, 0xb5, 0x08, 0x4c, 0x00, 0x22, + 0x1c, 0x23, 0x53, 0x43, 0xe3, 0x58, 0x83, 0x42, + 0x04, 0xd1, 0x1c, 0x20, 0x50, 0x43, 0x00, 0x19, + 0x0a, 0x60, 0x10, 0xbd, 0x01, 0x32, 0x0e, 0x2a, + 0xf2, 0xd3, 0x00, 0x20, 0x10, 0xbd, 0xdc, 0x71, + 0x01, 0x00, 0x3c, 0x00, 0xcc, 0x7e, 0x00, 0x00, + 0xf0, 0xb5, 0x41, 0x68, 0x95, 0xb0, 0x07, 0x1c, + 0x90, 0x37, 0x13, 0x91, 0x04, 0x1c, 0xf8, 0x78, + 0x25, 0x1c, 0x80, 0x35, 0xc6, 0x07, 0x28, 0x79, + 0xf6, 0x0f, 0x4a, 0x49, 0x02, 0x28, 0x4d, 0xd1, + 0x0a, 0x6d, 0x00, 0x2a, 0x4a, 0xd0, 0x48, 0x68, + 0x01, 0x30, 0x48, 0x60, 0x0a, 0xf0, 0x58, 0xff, + 0x44, 0x49, 0x08, 0x61, 0x48, 0x61, 0x13, 0x99, + 0x09, 0x79, 0xc9, 0x07, 0x3c, 0x00, 0x08, 0x7f, + 0x00, 0x00, 0x01, 0xd4, 0x41, 0x49, 0x88, 0x61, + 0x20, 0x68, 0x06, 0x22, 0x06, 0x90, 0xa1, 0x68, + 0x03, 0xa8, 0xf8, 0xf7, 0xee, 0xfa, 0x06, 0x22, + 0x04, 0xa8, 0x02, 0x30, 0xe1, 0x68, 0xf8, 0xf7, + 0xe8, 0xfa, 0x07, 0xa8, 0x06, 0x22, 0x21, 0x69, + 0xf8, 0xf7, 0xe3, 0xfa, 0xb8, 0x78, 0x08, 0xab, + 0x00, 0x21, 0x98, 0x70, 0x0c, 0x96, 0x63, 0x6a, + 0x20, 0x1c, 0xa0, 0x30, 0x0a, 0x1c, 0x3c, 0x00, + 0x44, 0x7f, 0x00, 0x00, 0x00, 0x2b, 0x02, 0xd0, + 0x02, 0x8a, 0x52, 0x07, 0x52, 0x0f, 0x08, 0xab, + 0xda, 0x70, 0x00, 0xab, 0x99, 0x84, 0x13, 0x99, + 0x09, 0x88, 0xc9, 0x0b, 0xd9, 0x84, 0x69, 0x6b, + 0x10, 0xab, 0x10, 0x91, 0xa9, 0x6b, 0x11, 0x91, + 0x80, 0x8b, 0x29, 0x49, 0x18, 0x81, 0x09, 0x6d, + 0x03, 0xa8, 0xf8, 0xf7, 0x32, 0xfa, 0x29, 0x79, + 0x68, 0x6b, 0x0b, 0xf0, 0x4d, 0xfd, 0x29, 0x79, + 0x3c, 0x00, 0x80, 0x7f, 0x00, 0x00, 0xa8, 0x6b, + 0x0b, 0xf0, 0x67, 0xfd, 0x3d, 0xe0, 0x00, 0x28, + 0x38, 0xd1, 0x48, 0x6d, 0x14, 0x90, 0x00, 0x28, + 0x34, 0xd0, 0x20, 0x68, 0x06, 0x22, 0x03, 0x90, + 0xa1, 0x68, 0x68, 0x46, 0xf8, 0xf7, 0xab, 0xfa, + 0x06, 0x22, 0x68, 0x46, 0x80, 0x18, 0xe1, 0x68, + 0xf8, 0xf7, 0xa5, 0xfa, 0x05, 0xa8, 0x06, 0x22, + 0x21, 0x69, 0xf8, 0xf7, 0xa0, 0xfa, 0x00, 0x21, + 0x04, 0x91, 0x3c, 0x00, 0xbc, 0x7f, 0x00, 0x00, + 0xb9, 0x78, 0x08, 0xa8, 0x10, 0xab, 0x01, 0x72, + 0x08, 0x96, 0xe9, 0x68, 0x0b, 0x91, 0x69, 0x79, + 0x41, 0x72, 0x68, 0x6b, 0x0e, 0x90, 0xa8, 0x6b, + 0x10, 0x90, 0x28, 0x8d, 0xd8, 0x80, 0x68, 0x8d, + 0x18, 0x81, 0xe1, 0x69, 0x0c, 0xa8, 0x00, 0x29, + 0x04, 0xd0, 0x89, 0x79, 0x01, 0x70, 0x20, 0x6a, + 0x0d, 0x90, 0x01, 0xe0, 0x07, 0x21, 0x01, 0x70, + 0x68, 0x46, 0x14, 0x99, 0x3c, 0x00, 0xf8, 0x7f, + 0x00, 0x00, 0xf8, 0xf7, 0xef, 0xf9, 0x02, 0xe0, + 0x20, 0x68, 0xf9, 0xf7, 0xca, 0xfa, 0x20, 0x1c, + 0xf9, 0xf7, 0xf5, 0xfb, 0x15, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0xc0, 0x68, 0x06, 0x22, 0x01, 0x89, + 0x0c, 0x31, 0x01, 0x81, 0x05, 0x68, 0x21, 0x1c, + 0x0c, 0x3d, 0x05, 0x60, 0xa8, 0x18, 0xf8, 0xf7, + 0x64, 0xfa, 0x06, 0x22, 0xa1, 0x18, 0x3c, 0x00, + 0x34, 0x80, 0x00, 0x00, 0x28, 0x1c, 0xf8, 0xf7, + 0x5f, 0xfa, 0xa0, 0x8f, 0x00, 0x09, 0xe0, 0x62, + 0x20, 0x63, 0x03, 0x48, 0x01, 0x69, 0x20, 0x1c, + 0xf8, 0xf7, 0xc7, 0xf9, 0xb0, 0xbd, 0x00, 0x00, + 0x7c, 0x79, 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, + 0x60, 0x36, 0x05, 0x1c, 0x70, 0x7a, 0x0c, 0x23, + 0x25, 0x49, 0x58, 0x43, 0x44, 0x18, 0xa8, 0x6b, + 0x00, 0x27, 0x00, 0x28, 0x06, 0xd0, 0xa0, 0x78, + 0x3c, 0x00, 0x70, 0x80, 0x00, 0x00, 0x01, 0x28, + 0x03, 0xd1, 0xa7, 0x70, 0x70, 0x7a, 0x0a, 0xf0, + 0xb6, 0xfd, 0x2a, 0x1c, 0x0c, 0x21, 0x80, 0x20, + 0x0b, 0xf0, 0x95, 0xfb, 0xa8, 0x6b, 0x00, 0x28, + 0x33, 0xd0, 0xa0, 0x78, 0x02, 0x28, 0x0b, 0xd0, + 0x04, 0x28, 0x22, 0xd1, 0xa7, 0x70, 0x2f, 0x1c, + 0x40, 0x37, 0x78, 0x78, 0x02, 0x28, 0x0c, 0xd1, + 0x70, 0x7a, 0x0a, 0xf0, 0xa0, 0xfd, 0x18, 0xe0, + 0x03, 0x20, 0x3c, 0x00, 0xac, 0x80, 0x00, 0x00, + 0xa0, 0x70, 0x12, 0x49, 0x00, 0x20, 0x14, 0x39, + 0x09, 0x69, 0xf8, 0xf7, 0x90, 0xf9, 0x0f, 0xe0, + 0x2c, 0x1c, 0x07, 0xe0, 0x78, 0x78, 0x41, 0x21, + 0x22, 0x1c, 0x08, 0x55, 0x0c, 0x21, 0x80, 0x20, + 0x0b, 0xf0, 0x70, 0xfb, 0x60, 0x34, 0x60, 0x7a, + 0x04, 0xf0, 0x20, 0xff, 0x04, 0x1c, 0xf1, 0xd1, + 0x70, 0x7a, 0x40, 0x35, 0xa9, 0x8b, 0x00, 0x02, + 0x09, 0x09, 0x09, 0x04, 0x3c, 0x00, 0xe8, 0x80, + 0x00, 0x00, 0x08, 0x43, 0x81, 0x21, 0x01, 0x43, + 0x0c, 0x20, 0x0b, 0xf0, 0xa0, 0xfa, 0xf8, 0xbd, + 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, 0xf8, 0xb5, + 0x1c, 0x49, 0x05, 0x1c, 0x88, 0x6a, 0x01, 0x30, + 0x88, 0x62, 0x28, 0x1c, 0x0b, 0xf0, 0x7d, 0xfd, + 0x04, 0x1c, 0x11, 0xd0, 0x2b, 0x1c, 0x20, 0x33, + 0x1e, 0x1c, 0x5a, 0x79, 0x20, 0x1c, 0xb4, 0x30, + 0x19, 0x79, 0x14, 0x4f, 0xfd, 0xf7, 0x3c, 0x00, + 0x24, 0x81, 0x00, 0x00, 0x89, 0xf8, 0xaa, 0x7a, + 0x20, 0x1c, 0xb8, 0x30, 0xb1, 0x79, 0xfd, 0xf7, + 0xb9, 0xf8, 0x00, 0x2f, 0x04, 0xd1, 0x01, 0x21, + 0x28, 0x68, 0xfa, 0xf7, 0x6d, 0xfa, 0xf8, 0xbd, + 0x60, 0x68, 0xbc, 0x21, 0xc0, 0x8a, 0x08, 0x53, + 0x28, 0x68, 0x00, 0x21, 0xfa, 0xf7, 0x64, 0xfa, + 0x00, 0x28, 0x09, 0xd0, 0x06, 0x49, 0xc8, 0x6a, + 0x01, 0x30, 0xc8, 0x62, 0x00, 0x2c, 0xee, 0xd0, + 0x3c, 0x00, 0x60, 0x81, 0x00, 0x00, 0x20, 0x1c, + 0xf9, 0xf7, 0x47, 0xfb, 0xea, 0xe7, 0x20, 0x1c, + 0xf8, 0xf7, 0x3c, 0xf9, 0xe6, 0xe7, 0xc4, 0x69, + 0x01, 0x00, 0xa1, 0xff, 0x00, 0x00, 0xf8, 0xb5, + 0x16, 0x4c, 0x05, 0x1f, 0x00, 0x22, 0x21, 0x1c, + 0xa0, 0x31, 0x03, 0xe0, 0x28, 0x68, 0xa0, 0x42, + 0x09, 0xd0, 0x20, 0x34, 0xa1, 0x42, 0xf9, 0xd1, + 0x00, 0x2a, 0x04, 0xd1, 0x02, 0x21, 0x8e, 0x20, + 0xf9, 0xf7, 0x3c, 0x00, 0x9c, 0x81, 0x00, 0x00, + 0x83, 0xf8, 0xf8, 0xbd, 0x0d, 0x4f, 0xbe, 0x79, + 0x60, 0x69, 0x01, 0x30, 0x60, 0x61, 0xf8, 0xf7, + 0x97, 0xfd, 0xa8, 0x42, 0x07, 0xd1, 0xa0, 0x88, + 0x04, 0x30, 0xf8, 0xf7, 0x97, 0xfd, 0xe0, 0x69, + 0x01, 0x30, 0xe0, 0x61, 0x05, 0xe0, 0x20, 0x68, + 0x28, 0x60, 0x25, 0x60, 0xa0, 0x69, 0x01, 0x30, + 0xa0, 0x61, 0xbe, 0x71, 0xe5, 0xe7, 0x00, 0x00, + 0xd0, 0x5c, 0x01, 0x00, 0x3c, 0x00, 0xd8, 0x81, + 0x00, 0x00, 0x20, 0x10, 0x07, 0x00, 0x00, 0x29, + 0x01, 0xdb, 0x06, 0x29, 0x01, 0xdb, 0x02, 0x20, + 0x70, 0x47, 0x06, 0x4b, 0xc9, 0x00, 0x5a, 0x5c, + 0xc9, 0x18, 0x02, 0x70, 0x4a, 0x78, 0x42, 0x70, + 0x8a, 0x78, 0x82, 0x70, 0x49, 0x68, 0x41, 0x60, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0xcc, 0x5a, + 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x05, 0x28, 0x01, 0xd3, 0xf9, 0xf7, 0x3c, 0x00, + 0x14, 0x82, 0x00, 0x00, 0x75, 0xf8, 0x10, 0x48, + 0x40, 0x68, 0x00, 0x28, 0x00, 0xd0, 0x03, 0x24, + 0x10, 0x2d, 0x00, 0xd3, 0x0f, 0x25, 0x06, 0x20, + 0x0b, 0x49, 0x60, 0x43, 0x12, 0x31, 0x40, 0x18, + 0x41, 0x78, 0x80, 0x78, 0x49, 0x19, 0x09, 0x06, + 0x09, 0x0e, 0x88, 0x42, 0x00, 0xd2, 0x01, 0x1c, + 0x01, 0x20, 0x88, 0x40, 0x05, 0x49, 0x01, 0x38, + 0x09, 0x68, 0x08, 0x40, 0x00, 0x04, 0x00, 0x0c, + 0x3c, 0x00, 0x50, 0x82, 0x00, 0x00, 0x02, 0xf0, + 0x44, 0xfe, 0xb0, 0xbd, 0x00, 0x00, 0xd4, 0x7a, + 0x01, 0x00, 0x08, 0x20, 0x07, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0d, 0x1c, 0x09, 0xf0, 0xcf, 0xfd, + 0x00, 0x28, 0x03, 0xd1, 0x20, 0x1c, 0x09, 0xf0, + 0x82, 0xfd, 0x05, 0x61, 0xb0, 0xbd, 0x80, 0xb5, + 0x0a, 0xf0, 0x97, 0xfd, 0x03, 0x4a, 0x0c, 0x32, + 0x06, 0xca, 0x89, 0x18, 0x08, 0x1a, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x82, 0x00, 0x00, + 0xa0, 0x7d, 0x01, 0x00, 0x70, 0xb5, 0x0b, 0x4c, + 0x04, 0x9e, 0x64, 0x68, 0x0d, 0xe0, 0x65, 0x68, + 0x85, 0x42, 0x09, 0xd1, 0x20, 0x7a, 0x08, 0x70, + 0xe0, 0x68, 0x10, 0x60, 0x20, 0x69, 0x18, 0x60, + 0x20, 0x7d, 0x30, 0x80, 0x01, 0x20, 0x70, 0xbd, + 0x24, 0x68, 0x00, 0x2c, 0xef, 0xd1, 0x00, 0x20, + 0x70, 0xbd, 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x3c, 0x00, 0xc8, 0x82, + 0x00, 0x00, 0x20, 0x30, 0x81, 0x7b, 0x20, 0x69, + 0x04, 0x30, 0xfd, 0xf7, 0x64, 0xf9, 0x01, 0x1c, + 0x62, 0x20, 0x02, 0x5b, 0x63, 0x6a, 0x40, 0x34, + 0x20, 0x78, 0x02, 0xf0, 0xce, 0xfd, 0x10, 0xbd, + 0x00, 0x00, 0x0b, 0x49, 0x10, 0xb5, 0x08, 0x88, + 0x8a, 0x69, 0x0a, 0x23, 0x50, 0x43, 0x58, 0x43, + 0x0e, 0xd0, 0x08, 0x4a, 0x53, 0x89, 0x94, 0x88, + 0xd2, 0x88, 0x1b, 0x19, 0x52, 0x04, 0x3c, 0x00, + 0x04, 0x83, 0x00, 0x00, 0x52, 0x0c, 0x9a, 0x18, + 0xc9, 0x68, 0x06, 0x32, 0x4a, 0x43, 0x0a, 0x21, + 0x51, 0x43, 0xf8, 0xf7, 0xfd, 0xf9, 0x10, 0xbd, + 0xc8, 0x74, 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, + 0x10, 0xb5, 0x43, 0x1c, 0x01, 0xd1, 0x10, 0x48, + 0x10, 0xbd, 0x0f, 0x4a, 0x0e, 0x4b, 0x94, 0x3a, + 0x12, 0x68, 0x44, 0x3b, 0x1b, 0x7a, 0x10, 0xe0, + 0x54, 0x68, 0x84, 0x42, 0x0c, 0xd1, 0x00, 0x29, + 0x3c, 0x00, 0x40, 0x83, 0x00, 0x00, 0x0f, 0xd1, + 0x02, 0x2b, 0x03, 0xd1, 0xd4, 0x7b, 0x02, 0x2c, + 0x0a, 0xd2, 0x04, 0xe0, 0x00, 0x2b, 0x05, 0xd1, + 0xd4, 0x7b, 0xe4, 0x07, 0x04, 0xd4, 0x12, 0x68, + 0x00, 0x2a, 0xec, 0xd1, 0x00, 0x20, 0x10, 0xbd, + 0x10, 0x1c, 0x10, 0xbd, 0x00, 0x00, 0x38, 0x6f, + 0x01, 0x00, 0x01, 0x1c, 0x01, 0x20, 0x01, 0x29, + 0x00, 0xd0, 0x00, 0x20, 0x70, 0x47, 0x00, 0xb5, + 0x02, 0x1c, 0x3c, 0x00, 0x7c, 0x83, 0x00, 0x00, + 0xfd, 0xf7, 0xce, 0xf8, 0x00, 0x28, 0x08, 0xd0, + 0x10, 0x1c, 0xff, 0xf7, 0xf1, 0xff, 0x18, 0x23, + 0x03, 0x49, 0x58, 0x43, 0x40, 0x18, 0x00, 0x69, + 0x00, 0xbd, 0x00, 0x20, 0x00, 0xbd, 0x00, 0x00, + 0x94, 0x67, 0x01, 0x00, 0x80, 0xb5, 0x00, 0x28, + 0x00, 0xd1, 0x08, 0x48, 0x07, 0x49, 0x00, 0x68, + 0x50, 0x31, 0x09, 0x7a, 0x00, 0x29, 0x02, 0xd0, + 0x02, 0x29, 0x04, 0xd1, 0x3c, 0x00, 0xb8, 0x83, + 0x00, 0x00, 0x00, 0xe0, 0x01, 0x21, 0x00, 0xf0, + 0x06, 0xf8, 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, 0x12, 0x4a, + 0x12, 0x4b, 0x12, 0x7a, 0x2c, 0x3b, 0x00, 0x2a, + 0x03, 0xd1, 0x5a, 0x68, 0x00, 0x2a, 0x18, 0xd1, + 0x04, 0xe0, 0x02, 0x2a, 0x02, 0xd1, 0x9a, 0x68, + 0x00, 0x2a, 0x12, 0xd1, 0x00, 0x20, 0x70, 0x47, + 0xc2, 0x7b, 0x8a, 0x42, 0x01, 0xd0, 0x3c, 0x00, + 0xf4, 0x83, 0x00, 0x00, 0x03, 0x2a, 0x0a, 0xd1, + 0x82, 0x7e, 0x01, 0x2a, 0x07, 0xd1, 0x02, 0x7f, + 0x01, 0x32, 0x12, 0x06, 0x12, 0x0e, 0x02, 0x77, + 0xc3, 0x7e, 0x9a, 0x42, 0xee, 0xd2, 0x00, 0x68, + 0x00, 0x28, 0xec, 0xd1, 0x70, 0x47, 0x00, 0x00, + 0xf4, 0x6e, 0x01, 0x00, 0xf7, 0xb5, 0x84, 0x46, + 0x00, 0x20, 0x01, 0x27, 0x00, 0x24, 0x00, 0x25, + 0x88, 0xb0, 0x07, 0xe0, 0x62, 0x46, 0x52, 0x5d, + 0x3c, 0x00, 0x30, 0x84, 0x00, 0x00, 0x00, 0x2a, + 0x05, 0xd0, 0xab, 0x00, 0x6e, 0x46, 0xf2, 0x50, + 0x01, 0x35, 0x8d, 0x42, 0xf5, 0xd3, 0x00, 0x2d, + 0x00, 0xd0, 0x01, 0x20, 0x00, 0x28, 0x28, 0xd0, + 0x00, 0x27, 0x16, 0x4c, 0x6e, 0x46, 0x22, 0xe0, + 0x20, 0x1c, 0x00, 0xf0, 0x30, 0xf8, 0x01, 0x28, + 0x01, 0xd0, 0x07, 0x28, 0x06, 0xd1, 0x00, 0x21, + 0x20, 0x1c, 0x00, 0xf0, 0x34, 0xf8, 0x31, 0x68, + 0x88, 0x42, 0x3c, 0x00, 0x6c, 0x84, 0x00, 0x00, + 0x01, 0xd2, 0x02, 0x27, 0x14, 0xe0, 0x20, 0x68, + 0xc9, 0x00, 0x0c, 0x18, 0x08, 0x3c, 0x20, 0x1c, + 0x00, 0xf0, 0x1c, 0xf8, 0x07, 0x28, 0x07, 0xd1, + 0x01, 0x20, 0x01, 0x2d, 0x00, 0xd0, 0x00, 0x20, + 0x24, 0x68, 0x00, 0x28, 0x00, 0xd1, 0x08, 0x34, + 0x01, 0x3d, 0x04, 0x36, 0x00, 0x2d, 0xda, 0xd1, + 0x0a, 0x98, 0x04, 0x60, 0x0b, 0xb0, 0x38, 0x1c, + 0xf0, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x84, + 0x00, 0x00, 0x20, 0x52, 0x01, 0x00, 0x00, 0x68, + 0x00, 0x29, 0x01, 0xd0, 0x80, 0x02, 0x80, 0x0a, + 0x70, 0x47, 0x10, 0xb5, 0x40, 0x68, 0x80, 0x00, + 0x44, 0x0f, 0x08, 0x2c, 0x03, 0xd3, 0x02, 0x21, + 0x87, 0x20, 0xf8, 0xf7, 0xec, 0xfe, 0x20, 0x1c, + 0x10, 0xbd, 0x00, 0x29, 0x02, 0xd0, 0x00, 0x68, + 0x80, 0x0d, 0x70, 0x47, 0x40, 0x68, 0x80, 0x05, + 0x80, 0x0d, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x84, 0x00, 0x00, 0x10, 0xb5, 0x40, 0x68, + 0x40, 0x01, 0x44, 0x0f, 0x05, 0x2c, 0x03, 0xd3, + 0x05, 0x21, 0x87, 0x20, 0xf8, 0xf7, 0xd6, 0xfe, + 0x20, 0x1c, 0x10, 0xbd, 0xf8, 0xb5, 0x05, 0x1c, + 0x88, 0x0a, 0x00, 0x90, 0x1c, 0x48, 0x8e, 0x05, + 0xc0, 0x69, 0xb6, 0x0d, 0x17, 0x1c, 0x1c, 0x1c, + 0x00, 0x28, 0x05, 0xd1, 0x18, 0x48, 0x81, 0x69, + 0x8d, 0x42, 0x1d, 0xd0, 0x85, 0x61, 0x11, 0xe0, + 0x3c, 0x00, 0x20, 0x85, 0x00, 0x00, 0xfd, 0xf7, + 0xe8, 0xf8, 0x15, 0x49, 0x09, 0x78, 0x0e, 0x29, + 0x07, 0xd1, 0x00, 0x28, 0x05, 0xd0, 0x11, 0x49, + 0x50, 0x31, 0x06, 0x23, 0xc9, 0x56, 0xf9, 0xf7, + 0x06, 0xfa, 0x0e, 0x49, 0x00, 0x20, 0xc8, 0x61, + 0x8d, 0x61, 0x29, 0x1c, 0x20, 0x1c, 0xf8, 0xf7, + 0xe2, 0xf8, 0x79, 0x43, 0x20, 0x1c, 0xf8, 0xf7, + 0xde, 0xf8, 0x08, 0x48, 0x41, 0x61, 0x20, 0x1c, + 0x00, 0x99, 0x3c, 0x00, 0x5c, 0x85, 0x00, 0x00, + 0xf8, 0xf7, 0xd8, 0xf8, 0x05, 0x48, 0x40, 0x69, + 0x0a, 0x18, 0xa2, 0x42, 0x01, 0xd2, 0x40, 0x18, + 0x01, 0xe0, 0x40, 0x18, 0x00, 0x1b, 0x80, 0x02, + 0x80, 0x19, 0xf8, 0xbd, 0xac, 0x7c, 0x01, 0x00, + 0x11, 0x67, 0x01, 0x00, 0xf8, 0xb5, 0x0f, 0x1c, + 0x06, 0x1c, 0x14, 0x1c, 0x1d, 0x1c, 0x07, 0xf0, + 0xa1, 0xfc, 0x0e, 0x28, 0x09, 0xd1, 0x20, 0x1c, + 0x02, 0xf0, 0xfc, 0xfb, 0x3c, 0x00, 0x98, 0x85, + 0x00, 0x00, 0x00, 0x28, 0x04, 0xd0, 0x08, 0x48, + 0x00, 0x78, 0x02, 0xf0, 0xe4, 0xfb, 0x04, 0x1c, + 0x01, 0x21, 0x00, 0x2e, 0xac, 0x72, 0x00, 0xd0, + 0x39, 0x1c, 0x20, 0x1c, 0x02, 0xf0, 0x07, 0xfc, + 0x28, 0x60, 0x00, 0x20, 0x28, 0x72, 0x6c, 0x72, + 0xf8, 0xbd, 0x90, 0x57, 0x01, 0x00, 0x03, 0x1c, + 0x0a, 0x48, 0x10, 0xb5, 0x00, 0x24, 0x02, 0x1c, + 0xa0, 0x32, 0x03, 0xe0, 0x81, 0x88, 0x3c, 0x00, + 0xd4, 0x85, 0x00, 0x00, 0x99, 0x42, 0x09, 0xd2, + 0x20, 0x30, 0x82, 0x42, 0xf9, 0xd1, 0x00, 0x2c, + 0x04, 0xd1, 0x02, 0x21, 0x8e, 0x20, 0xf8, 0xf7, + 0x5d, 0xfe, 0x00, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0xd0, 0x5c, 0x01, 0x00, 0xff, 0xb5, 0x06, 0x1c, + 0x00, 0x20, 0x81, 0xb0, 0x10, 0x60, 0x1f, 0x1c, + 0x01, 0x25, 0x14, 0x1c, 0x30, 0x1c, 0xff, 0xf7, + 0x6d, 0xff, 0x05, 0x28, 0x12, 0xd2, 0x02, 0xa3, + 0x3c, 0x00, 0x10, 0x86, 0x00, 0x00, 0x1b, 0x5c, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x03, 0x03, + 0x03, 0x03, 0x08, 0x00, 0x39, 0x1c, 0x30, 0x1c, + 0xff, 0xf7, 0x55, 0xff, 0x03, 0xe0, 0x02, 0x98, + 0xf8, 0xf7, 0xeb, 0xf8, 0x01, 0x30, 0x20, 0x60, + 0x04, 0xe0, 0x05, 0x21, 0x87, 0x20, 0xf8, 0xf7, + 0x34, 0xfe, 0x00, 0x25, 0x20, 0x68, 0x80, 0x28, + 0x04, 0xd9, 0x06, 0x21, 0x87, 0x20, 0xf8, 0xf7, + 0x2c, 0xfe, 0x3c, 0x00, 0x4c, 0x86, 0x00, 0x00, + 0x00, 0x25, 0x28, 0x1c, 0x05, 0xb0, 0xf0, 0xbd, + 0x70, 0xb5, 0x17, 0x4c, 0x60, 0x6c, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x1d, 0xe0, 0x16, 0x4e, + 0x14, 0x4d, 0x31, 0x88, 0xa0, 0x6c, 0x00, 0x28, + 0x08, 0xd0, 0x28, 0x78, 0x81, 0x42, 0x05, 0xd9, + 0xf8, 0xf7, 0x4c, 0xf8, 0x01, 0x38, 0xfa, 0xf7, + 0x51, 0xfe, 0x0e, 0xe0, 0xe0, 0x6c, 0x00, 0x28, + 0x0a, 0xd0, 0x00, 0x20, 0x3c, 0x00, 0x88, 0x86, + 0x00, 0x00, 0xfa, 0xf7, 0x4a, 0xfe, 0x29, 0x78, + 0x32, 0x88, 0x91, 0x42, 0x04, 0xd9, 0x90, 0x42, + 0x02, 0xd9, 0x10, 0x1c, 0x00, 0xe0, 0x08, 0x1c, + 0xfa, 0xf7, 0xdf, 0xfd, 0xe1, 0x6b, 0x44, 0x1a, + 0x0a, 0xf0, 0x81, 0xfb, 0x20, 0x1a, 0x00, 0xd5, + 0x00, 0x20, 0x70, 0xbd, 0x00, 0x00, 0x44, 0x7d, + 0x01, 0x00, 0xf8, 0x60, 0x01, 0x00, 0xfc, 0x60, + 0x01, 0x00, 0xff, 0xb5, 0x27, 0x4e, 0x3c, 0x00, + 0xc4, 0x86, 0x00, 0x00, 0x04, 0x1c, 0xb0, 0x79, + 0x0f, 0x1c, 0x15, 0x1c, 0x81, 0xb0, 0x00, 0x90, + 0x0a, 0xf0, 0x6c, 0xfb, 0xc1, 0x19, 0x23, 0x48, + 0x07, 0x68, 0x00, 0x2f, 0x05, 0xd1, 0x0a, 0x21, + 0x80, 0x20, 0xf8, 0xf7, 0xdf, 0xfd, 0x05, 0xb0, + 0xf0, 0xbd, 0x1e, 0x48, 0x40, 0x68, 0x84, 0x46, + 0x00, 0x28, 0x01, 0xd1, 0x00, 0x22, 0x0e, 0xe0, + 0x82, 0x68, 0x03, 0x68, 0xab, 0x42, 0x07, 0xd1, + 0x3c, 0x00, 0x00, 0x87, 0x00, 0x00, 0x03, 0x79, + 0xa3, 0x42, 0x04, 0xd1, 0x0b, 0x21, 0x80, 0x20, + 0xf8, 0xf7, 0xcb, 0xfd, 0x23, 0xe0, 0xc0, 0x68, + 0x00, 0x28, 0xf1, 0xd1, 0x13, 0x4b, 0xf8, 0x68, + 0x18, 0x60, 0x3d, 0x60, 0x3c, 0x71, 0xb9, 0x60, + 0x04, 0x98, 0x8d, 0x1a, 0x38, 0x61, 0x60, 0x46, + 0x00, 0x23, 0x05, 0xe0, 0x84, 0x68, 0xa4, 0x1a, + 0xac, 0x42, 0x03, 0xda, 0x03, 0x1c, 0xc0, 0x68, + 0x00, 0x28, 0x3c, 0x00, 0x3c, 0x87, 0x00, 0x00, + 0xf7, 0xd1, 0xf8, 0x60, 0x00, 0x2b, 0x08, 0xd1, + 0x07, 0x48, 0x3b, 0x1c, 0x47, 0x60, 0x08, 0x48, + 0x06, 0x4a, 0x00, 0x88, 0x0a, 0xf0, 0x8a, 0xfb, + 0x00, 0xe0, 0xdf, 0x60, 0x00, 0x98, 0xb0, 0x71, + 0xc3, 0xe7, 0x00, 0x00, 0x20, 0x10, 0x07, 0x00, + 0x7c, 0x5d, 0x01, 0x00, 0x21, 0x38, 0x01, 0x00, + 0x2c, 0x74, 0x01, 0x00, 0xf3, 0xb5, 0x83, 0xb0, + 0x04, 0x1c, 0x09, 0xd0, 0x3c, 0x00, 0x78, 0x87, + 0x00, 0x00, 0x20, 0x1c, 0x04, 0x99, 0x09, 0xf0, + 0x8e, 0xfb, 0x00, 0x28, 0x03, 0xd0, 0x20, 0x1c, + 0x30, 0x30, 0x05, 0xb0, 0xf0, 0xbd, 0x0a, 0xf0, + 0x0e, 0xfb, 0x1e, 0x4a, 0x00, 0x26, 0x04, 0x9f, + 0x01, 0x96, 0x00, 0x90, 0x02, 0x92, 0x02, 0x9c, + 0x00, 0x25, 0x39, 0x1c, 0x20, 0x1c, 0x14, 0x30, + 0x02, 0xf0, 0xc5, 0xfa, 0x00, 0x28, 0x01, 0xd0, + 0x26, 0x1c, 0x03, 0xe0, 0x01, 0x35, 0x3c, 0x00, + 0xb4, 0x87, 0x00, 0x00, 0x1c, 0x34, 0x04, 0x2d, + 0xf2, 0xd3, 0x00, 0x2e, 0x22, 0xd1, 0x01, 0x98, + 0x13, 0x4f, 0x01, 0x30, 0x01, 0x90, 0x02, 0x28, + 0xe8, 0xd3, 0x01, 0x21, 0xc9, 0x06, 0x02, 0x9a, + 0x00, 0x20, 0x13, 0x69, 0x00, 0x9c, 0xe3, 0x1a, + 0x8b, 0x42, 0x01, 0xdd, 0x19, 0x1c, 0x16, 0x1c, + 0x01, 0x30, 0x1c, 0x32, 0x04, 0x28, 0xf4, 0xd3, + 0x30, 0x68, 0x00, 0x28, 0x01, 0xd0, 0xf8, 0xf7, + 0x3c, 0x00, 0xf0, 0x87, 0x00, 0x00, 0xd3, 0xfe, + 0x30, 0x1c, 0xfd, 0xf7, 0x4a, 0xff, 0x30, 0x1c, + 0x14, 0x30, 0x06, 0x22, 0x04, 0x99, 0xf7, 0xf7, + 0x7a, 0xfe, 0x00, 0x9c, 0x30, 0x1c, 0x34, 0x61, + 0xbd, 0xe7, 0x30, 0x6a, 0x01, 0x00, 0x34, 0x42, + 0x01, 0x00, 0x09, 0x49, 0x10, 0xb5, 0x4c, 0x69, + 0x03, 0xe0, 0xe1, 0x68, 0x81, 0x42, 0x03, 0xd0, + 0x24, 0x68, 0x00, 0x2c, 0xf9, 0xd1, 0x01, 0xe0, + 0x00, 0x2c, 0x3c, 0x00, 0x2c, 0x88, 0x00, 0x00, + 0x03, 0xd1, 0x02, 0x21, 0x02, 0x20, 0xf8, 0xf7, + 0x37, 0xfd, 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, + 0xfc, 0x5a, 0x01, 0x00, 0x10, 0xb5, 0xc3, 0x07, + 0x06, 0xd5, 0x08, 0x4b, 0x5c, 0x69, 0x0c, 0x43, + 0x5c, 0x61, 0x1c, 0x7e, 0x14, 0x43, 0x1c, 0x76, + 0x80, 0x07, 0x06, 0xd5, 0x04, 0x48, 0x43, 0x69, + 0x19, 0x43, 0x41, 0x61, 0x01, 0x7e, 0x11, 0x43, + 0x01, 0x76, 0x10, 0xbd, 0x3c, 0x00, 0x68, 0x88, + 0x00, 0x00, 0xfc, 0x57, 0x01, 0x00, 0x18, 0x58, + 0x01, 0x00, 0x70, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x16, 0x1c, 0x00, 0xf0, 0x08, 0xf8, 0xa0, 0x07, + 0xc0, 0x17, 0x01, 0x30, 0x32, 0x1c, 0x29, 0x1c, + 0x00, 0xf0, 0x21, 0xf8, 0x70, 0xbd, 0x10, 0xb5, + 0xc3, 0x07, 0x06, 0xd5, 0x08, 0x4b, 0x5c, 0x69, + 0x8c, 0x43, 0x5c, 0x61, 0x1c, 0x7e, 0x94, 0x43, + 0x1c, 0x76, 0x80, 0x07, 0x06, 0xd5, 0x3c, 0x00, + 0xa4, 0x88, 0x00, 0x00, 0x04, 0x48, 0x43, 0x69, + 0x8b, 0x43, 0x43, 0x61, 0x01, 0x7e, 0x91, 0x43, + 0x01, 0x76, 0x10, 0xbd, 0xfc, 0x57, 0x01, 0x00, + 0x18, 0x58, 0x01, 0x00, 0x03, 0x22, 0x11, 0x1f, + 0x80, 0xb5, 0x01, 0x20, 0x00, 0xf0, 0x02, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x30, 0xb5, 0x15, 0x1c, + 0x0c, 0x1c, 0x00, 0x28, 0x87, 0xb0, 0x02, 0xd0, + 0x1c, 0x22, 0x22, 0x49, 0x01, 0xe0, 0x22, 0x49, + 0x3c, 0x00, 0xe0, 0x88, 0x00, 0x00, 0x1c, 0x22, + 0x68, 0x46, 0xf7, 0xf7, 0x64, 0xfe, 0x05, 0x99, + 0x00, 0xab, 0x1a, 0x7e, 0x8c, 0x43, 0x20, 0x1c, + 0x95, 0x43, 0x02, 0x9a, 0x29, 0x1c, 0x02, 0x40, + 0x02, 0x92, 0x01, 0x9a, 0x02, 0x40, 0x01, 0x92, + 0x00, 0x9a, 0x02, 0x40, 0x00, 0x92, 0x03, 0x9a, + 0x02, 0x40, 0x03, 0x92, 0x98, 0x7c, 0x08, 0x40, + 0x98, 0x74, 0x58, 0x7c, 0x08, 0x40, 0x58, 0x74, + 0x18, 0x7c, 0x3c, 0x00, 0x1c, 0x89, 0x00, 0x00, + 0x08, 0x40, 0x18, 0x74, 0xd8, 0x7c, 0x08, 0x40, + 0xd8, 0x74, 0x02, 0x99, 0x10, 0x48, 0x41, 0x61, + 0x01, 0xaa, 0x06, 0xca, 0x91, 0x43, 0x81, 0x61, + 0x81, 0x68, 0x01, 0x9a, 0x11, 0x43, 0x81, 0x60, + 0x81, 0x68, 0x00, 0x9a, 0x91, 0x43, 0x81, 0x60, + 0x00, 0xaa, 0x06, 0xca, 0x11, 0x43, 0x42, 0x68, + 0x11, 0x43, 0x41, 0x60, 0x41, 0x68, 0x03, 0x9a, + 0x91, 0x43, 0x41, 0x60, 0x3c, 0x00, 0x58, 0x89, + 0x00, 0x00, 0x04, 0xa8, 0x0b, 0xf0, 0x01, 0xf8, + 0x07, 0xb0, 0x30, 0xbd, 0x00, 0x00, 0xfc, 0x57, + 0x01, 0x00, 0x18, 0x58, 0x01, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x01, 0x1c, + 0x01, 0x20, 0x08, 0xf0, 0xe0, 0xf9, 0x00, 0x2c, + 0x02, 0xd0, 0x03, 0xf0, 0x1c, 0xff, 0x10, 0xbd, + 0xfe, 0xf7, 0xd1, 0xfc, 0x10, 0xbd, 0xf0, 0xb5, + 0x0c, 0x1c, 0x01, 0x0e, 0x01, 0x23, 0x3c, 0x00, + 0x94, 0x89, 0x00, 0x00, 0x1b, 0x06, 0x09, 0x06, + 0x99, 0x42, 0x9f, 0xb0, 0x28, 0xd1, 0x17, 0x49, + 0x08, 0x40, 0x00, 0x21, 0x1a, 0x28, 0x00, 0xd3, + 0x02, 0x21, 0x00, 0x29, 0x19, 0xd1, 0xc5, 0x00, + 0x13, 0x4f, 0x10, 0xa8, 0xee, 0x19, 0xb2, 0x88, + 0x21, 0x68, 0xf7, 0xf7, 0x9d, 0xfd, 0x20, 0x1c, + 0xf8, 0xf7, 0xea, 0xfd, 0x7a, 0x59, 0x01, 0xa9, + 0x10, 0xa8, 0xf7, 0xf7, 0x07, 0xfd, 0x00, 0x28, + 0x3c, 0x00, 0xd0, 0x89, 0x00, 0x00, 0x05, 0xd0, + 0x10, 0x98, 0x01, 0xa9, 0x01, 0x90, 0xb0, 0x79, + 0x00, 0xf0, 0x9d, 0xf8, 0x1f, 0xb0, 0xf0, 0xbd, + 0x2a, 0x20, 0xf8, 0xf7, 0x5e, 0xfc, 0x20, 0x1c, + 0xf8, 0xf7, 0xd5, 0xfd, 0xf6, 0xe7, 0x03, 0x21, + 0x2a, 0x20, 0xf8, 0xf7, 0x56, 0xfc, 0xf1, 0xe7, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0x00, 0x24, 0x45, + 0x01, 0x00, 0x10, 0xb5, 0x0c, 0x1c, 0x80, 0x28, + 0x02, 0xd0, 0x3c, 0x00, 0x0c, 0x8a, 0x00, 0x00, + 0x81, 0x28, 0x08, 0xd1, 0x03, 0xe0, 0x20, 0x1c, + 0x00, 0xf0, 0x06, 0xf9, 0x10, 0xbd, 0x20, 0x1c, + 0xf8, 0xf7, 0xbc, 0xfd, 0x10, 0xbd, 0x03, 0x21, + 0x2c, 0x20, 0xf8, 0xf7, 0x3d, 0xfc, 0xf6, 0xe7, + 0xf0, 0xb5, 0x0c, 0x1c, 0x00, 0x21, 0x8b, 0xb0, + 0x0a, 0x91, 0x01, 0x0e, 0x01, 0x23, 0x1b, 0x06, + 0x09, 0x06, 0x99, 0x42, 0x2a, 0xd1, 0x18, 0x49, + 0x08, 0x40, 0x06, 0x1c, 0x3c, 0x00, 0x48, 0x8a, + 0x00, 0x00, 0x06, 0x2e, 0x01, 0xd3, 0x07, 0x21, + 0x24, 0xe0, 0x20, 0x89, 0xf8, 0xf7, 0xf1, 0xfe, + 0x22, 0x89, 0x21, 0x68, 0x05, 0x1c, 0xf7, 0xf7, + 0x4c, 0xfd, 0x20, 0x1c, 0xf8, 0xf7, 0x99, 0xfd, + 0xf4, 0x00, 0x0f, 0x4e, 0x28, 0x1c, 0x0a, 0xaa, + 0x69, 0x46, 0x33, 0x59, 0xf7, 0xf7, 0xb4, 0xfc, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x28, 0x07, 0xd1, + 0x28, 0x68, 0x69, 0x46, 0x00, 0x90, 0x3c, 0x00, + 0x84, 0x8a, 0x00, 0x00, 0xa0, 0x19, 0x00, 0x79, + 0x0a, 0x9a, 0x00, 0xf0, 0x09, 0xf9, 0x28, 0x1c, + 0xf8, 0xf7, 0xb0, 0xfe, 0x0b, 0xb0, 0xf0, 0xbd, + 0x01, 0x21, 0x2b, 0x20, 0xf8, 0xf7, 0x02, 0xfc, + 0xf8, 0xe7, 0x00, 0x00, 0x7f, 0xff, 0xff, 0x00, + 0x28, 0x46, 0x01, 0x00, 0x0a, 0x1c, 0x01, 0x0e, + 0x01, 0x23, 0x1b, 0x06, 0x09, 0x06, 0x99, 0x42, + 0x80, 0xb5, 0x08, 0xd0, 0x5b, 0x00, 0x99, 0x42, + 0x3c, 0x00, 0xc0, 0x8a, 0x00, 0x00, 0x0b, 0xd1, + 0x00, 0x06, 0x00, 0x0e, 0x11, 0x1c, 0x00, 0xf0, + 0x0e, 0xf9, 0x80, 0xbd, 0x05, 0x49, 0x01, 0x40, + 0x10, 0x1c, 0x05, 0xf0, 0xa2, 0xf9, 0x80, 0xbd, + 0x01, 0x21, 0x2d, 0x20, 0xf8, 0xf7, 0xe1, 0xfb, + 0x80, 0xbd, 0x7f, 0xff, 0xff, 0x00, 0x80, 0xb5, + 0x01, 0x1c, 0x0f, 0x20, 0x00, 0xf0, 0x13, 0xf8, + 0x80, 0xbd, 0x80, 0xb5, 0x01, 0x1c, 0x04, 0x20, + 0x00, 0xf0, 0x3c, 0x00, 0xfc, 0x8a, 0x00, 0x00, + 0x0d, 0xf8, 0x80, 0xbd, 0x80, 0xb5, 0x01, 0x1c, + 0x17, 0x20, 0x00, 0xf0, 0x07, 0xf8, 0x80, 0xbd, + 0x80, 0xb5, 0x01, 0x1c, 0x01, 0x20, 0x00, 0xf0, + 0x01, 0xf8, 0x80, 0xbd, 0xf8, 0xb5, 0x04, 0x1c, + 0x06, 0x1c, 0x80, 0x20, 0x84, 0x43, 0x0f, 0x1c, + 0x19, 0x2c, 0x01, 0xd3, 0xf8, 0xf7, 0xea, 0xfb, + 0x08, 0x48, 0x04, 0x5d, 0x21, 0x1c, 0x00, 0x20, + 0xf8, 0xf7, 0x50, 0xfd, 0x3c, 0x00, 0x38, 0x8b, + 0x00, 0x00, 0x05, 0x1c, 0x22, 0x1c, 0x39, 0x1c, + 0x00, 0x68, 0xf7, 0xf7, 0xda, 0xfc, 0x2a, 0x1c, + 0x31, 0x1c, 0x07, 0x20, 0xf8, 0xf7, 0x11, 0xf9, + 0xf8, 0xbd, 0xf4, 0x45, 0x01, 0x00, 0xf8, 0xb5, + 0x0d, 0x1c, 0x16, 0x1c, 0x04, 0x1c, 0x1f, 0x1c, + 0x08, 0x21, 0x00, 0x20, 0xf8, 0xf7, 0x39, 0xfd, + 0x14, 0x22, 0x01, 0x68, 0x0e, 0x4b, 0x72, 0x43, + 0xd2, 0x18, 0x0c, 0x71, 0x12, 0x7c, 0x3c, 0x00, + 0x74, 0x8b, 0x00, 0x00, 0x4a, 0x71, 0x0d, 0x60, + 0x0b, 0x4a, 0x8f, 0x71, 0x12, 0x68, 0x7f, 0x2a, + 0x03, 0xd9, 0x52, 0x05, 0x52, 0x0e, 0x80, 0x23, + 0x1a, 0x43, 0xca, 0x71, 0x07, 0x4a, 0x00, 0x23, + 0x51, 0x68, 0x01, 0x31, 0x51, 0x60, 0x02, 0x1c, + 0x81, 0x21, 0x00, 0x20, 0xf8, 0xf7, 0x08, 0xf9, + 0xf8, 0xbd, 0x00, 0x00, 0x74, 0x40, 0x01, 0x00, + 0xfc, 0x5a, 0x01, 0x00, 0x80, 0x6e, 0x01, 0x00, + 0x3c, 0x00, 0xb0, 0x8b, 0x00, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x08, 0x21, 0x00, 0x20, 0xf8, 0xf7, + 0x0e, 0xfd, 0x21, 0x8b, 0xe2, 0x7d, 0x05, 0x1c, + 0x09, 0x05, 0x52, 0x07, 0x52, 0x0f, 0x49, 0x0c, + 0x00, 0x68, 0x11, 0x43, 0x81, 0x80, 0xa1, 0x7d, + 0x14, 0x23, 0x0e, 0x4a, 0x59, 0x43, 0x89, 0x18, + 0x09, 0x7c, 0xc1, 0x71, 0xe1, 0x6a, 0x01, 0x60, + 0xe1, 0x68, 0x28, 0x1c, 0xf8, 0xf7, 0x17, 0xfc, + 0x0a, 0x48, 0x3c, 0x00, 0xec, 0x8b, 0x00, 0x00, + 0x00, 0x68, 0x00, 0x28, 0x01, 0xd0, 0xf7, 0xf7, + 0xf1, 0xfb, 0x07, 0x49, 0x04, 0x31, 0x88, 0x68, + 0x01, 0x30, 0x88, 0x60, 0x00, 0x21, 0x2a, 0x1c, + 0x00, 0x20, 0x23, 0x6b, 0xf8, 0xf7, 0xd2, 0xf8, + 0x01, 0x20, 0xb0, 0xbd, 0x74, 0x40, 0x01, 0x00, + 0x7c, 0x6e, 0x01, 0x00, 0x01, 0x48, 0x80, 0x68, + 0x70, 0x47, 0x00, 0x00, 0x80, 0x6e, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x3c, 0x00, 0x28, 0x8c, + 0x00, 0x00, 0x92, 0xb0, 0x01, 0x68, 0x68, 0x46, + 0x08, 0x22, 0xf7, 0xf7, 0x62, 0xfc, 0x00, 0xab, + 0x98, 0x88, 0x40, 0x07, 0x40, 0x0f, 0xd8, 0x77, + 0x98, 0x88, 0x40, 0x04, 0x00, 0x0d, 0x18, 0x84, + 0xd8, 0x88, 0x58, 0x84, 0x00, 0x98, 0x0d, 0x90, + 0x05, 0x94, 0x20, 0x89, 0x08, 0x38, 0x20, 0x81, + 0x05, 0x98, 0x01, 0x68, 0x08, 0x31, 0x01, 0x60, + 0x00, 0x20, 0x0a, 0x90, 0x0c, 0x90, 0x3c, 0x00, + 0x64, 0x8c, 0x00, 0x00, 0x00, 0x21, 0x11, 0x20, + 0x09, 0xf0, 0x78, 0xfb, 0x05, 0x49, 0x06, 0x4a, + 0x08, 0x68, 0x01, 0x30, 0x08, 0x60, 0x02, 0x21, + 0x02, 0xa8, 0x01, 0xf0, 0xcd, 0xfc, 0x12, 0xb0, + 0x10, 0xbd, 0x00, 0x00, 0x80, 0x6e, 0x01, 0x00, + 0x55, 0x8b, 0x00, 0x00, 0x02, 0x1c, 0x01, 0x20, + 0x00, 0x06, 0x08, 0x43, 0x80, 0xb5, 0x2b, 0x21, + 0x0a, 0xf0, 0x8a, 0xfd, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x8c, 0x00, 0x00, 0xf7, 0xb5, + 0x04, 0x1c, 0x06, 0x1c, 0x80, 0x20, 0x84, 0x43, + 0x17, 0x1c, 0x06, 0x2c, 0x01, 0xd3, 0xf8, 0xf7, + 0x26, 0xfb, 0x0b, 0x48, 0x05, 0x5d, 0x29, 0x1c, + 0x00, 0x20, 0xf8, 0xf7, 0x8c, 0xfc, 0x04, 0x1c, + 0x00, 0x68, 0x01, 0x99, 0x2a, 0x1c, 0xf7, 0xf7, + 0x16, 0xfc, 0x39, 0x1c, 0x20, 0x1c, 0xf8, 0xf7, + 0xa2, 0xfb, 0x22, 0x1c, 0x31, 0x1c, 0x00, 0x23, + 0x02, 0x20, 0x3c, 0x00, 0xdc, 0x8c, 0x00, 0x00, + 0xf8, 0xf7, 0x68, 0xf8, 0xfe, 0xbd, 0x00, 0x00, + 0x20, 0x46, 0x01, 0x00, 0x0a, 0x1c, 0x01, 0x1c, + 0x80, 0xb5, 0x00, 0x23, 0x01, 0x20, 0xf8, 0xf7, + 0x5d, 0xf8, 0x80, 0xbd, 0xff, 0xb5, 0x9f, 0xb0, + 0x1f, 0x1c, 0x05, 0x1c, 0x0a, 0x30, 0x1e, 0x90, + 0x1c, 0xaa, 0x1d, 0xa9, 0x0a, 0xf0, 0x00, 0xff, + 0x00, 0x28, 0x71, 0xd0, 0x00, 0x2f, 0x09, 0xd0, + 0x0a, 0x21, 0x00, 0x20, 0x3c, 0x00, 0x18, 0x8d, + 0x00, 0x00, 0xf8, 0xf7, 0x5e, 0xfc, 0x06, 0x68, + 0x04, 0x1c, 0x30, 0x1d, 0xfa, 0xf7, 0xaf, 0xfa, + 0x05, 0xe0, 0x04, 0x21, 0x00, 0x20, 0xf8, 0xf7, + 0x54, 0xfc, 0x06, 0x68, 0x04, 0x1c, 0x28, 0x89, + 0x36, 0x49, 0x01, 0x22, 0x08, 0x80, 0x70, 0x80, + 0xe8, 0x88, 0x14, 0xa9, 0x30, 0x80, 0x19, 0xa8, + 0xfc, 0xf7, 0xf5, 0xfc, 0xfc, 0xf7, 0xff, 0xfb, + 0x01, 0x1c, 0xff, 0x31, 0x21, 0x31, 0x3c, 0x00, + 0x54, 0x8d, 0x00, 0x00, 0x20, 0x1c, 0x01, 0xf0, + 0xef, 0xf8, 0x19, 0xa9, 0x20, 0x1c, 0x01, 0xf0, + 0xeb, 0xf8, 0x14, 0xa9, 0x20, 0x1c, 0x01, 0xf0, + 0xe7, 0xf8, 0x20, 0x1c, 0x20, 0x99, 0xfd, 0xf7, + 0x4b, 0xfd, 0x00, 0x22, 0x02, 0x21, 0x01, 0xf0, + 0x33, 0xfd, 0x06, 0x1c, 0x1c, 0x99, 0x00, 0x20, + 0x88, 0x61, 0x30, 0x1c, 0xf8, 0xf7, 0x1c, 0xfa, + 0x00, 0x2e, 0x0b, 0xd0, 0x30, 0x7a, 0x00, 0x28, + 0x3c, 0x00, 0x90, 0x8d, 0x00, 0x00, 0x02, 0xd0, + 0x40, 0x21, 0x08, 0x43, 0x30, 0x72, 0x1c, 0x98, + 0x02, 0x22, 0x81, 0x69, 0x11, 0x43, 0x81, 0x61, + 0x04, 0xe0, 0x1c, 0x99, 0x02, 0x22, 0x88, 0x69, + 0x90, 0x43, 0x88, 0x61, 0x1d, 0xaa, 0x06, 0xca, + 0x01, 0xa8, 0x05, 0xf0, 0x58, 0xfb, 0x09, 0xa8, + 0x00, 0x2f, 0x02, 0xd0, 0x02, 0x22, 0x42, 0x72, + 0x01, 0xe0, 0x00, 0x21, 0x41, 0x72, 0x04, 0x94, + 0x01, 0xa8, 0x3c, 0x00, 0xcc, 0x8d, 0x00, 0x00, + 0x04, 0xf0, 0x7a, 0xfb, 0x01, 0x21, 0x1c, 0x98, + 0x08, 0xf0, 0xc8, 0xff, 0x00, 0x2f, 0x04, 0xd0, + 0x1c, 0x98, 0x01, 0x22, 0x81, 0x69, 0x11, 0x43, + 0x81, 0x61, 0xa8, 0x88, 0x1c, 0x9c, 0x01, 0xf0, + 0x9f, 0xfe, 0x02, 0x1c, 0x21, 0x1c, 0x00, 0xe0, + 0x04, 0xe0, 0x07, 0x48, 0x40, 0x88, 0x09, 0xf0, + 0x1f, 0xf8, 0x04, 0xe0, 0x3a, 0x1c, 0x00, 0x21, + 0x05, 0x20, 0xf9, 0xf7, 0x3c, 0x00, 0x08, 0x8e, + 0x00, 0x00, 0x9b, 0xf8, 0x00, 0x20, 0x23, 0xb0, + 0xf0, 0xbd, 0xfc, 0x60, 0x01, 0x00, 0x98, 0x7c, + 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, 0xc0, 0x68, + 0x05, 0x68, 0xa0, 0x1d, 0x01, 0xf0, 0x95, 0xff, + 0x00, 0x28, 0x45, 0xd0, 0x21, 0x1c, 0x14, 0x31, + 0x20, 0x1c, 0x6a, 0x46, 0x0a, 0xf0, 0x55, 0xfe, + 0x00, 0x28, 0x3d, 0xd0, 0xfc, 0xf7, 0x7d, 0xfa, + 0x00, 0x28, 0x39, 0xd1, 0x00, 0x98, 0x3c, 0x00, + 0x44, 0x8e, 0x00, 0x00, 0x4b, 0x21, 0x09, 0x5c, + 0x01, 0x29, 0x34, 0xd1, 0x04, 0x26, 0x09, 0xf0, + 0x19, 0xf9, 0x68, 0x88, 0x00, 0x28, 0x1b, 0xd1, + 0xa8, 0x88, 0x03, 0x21, 0x89, 0x03, 0x88, 0x43, + 0x15, 0x49, 0x00, 0x26, 0x08, 0x80, 0x01, 0x22, + 0x02, 0x21, 0x20, 0x69, 0x01, 0xf0, 0xb8, 0xfc, + 0x04, 0x1c, 0x14, 0xd0, 0x00, 0x98, 0x80, 0x69, + 0x80, 0x07, 0x10, 0xd5, 0xf8, 0xf7, 0x9a, 0xf9, + 0x3c, 0x00, 0x80, 0x8e, 0x00, 0x00, 0x20, 0x1c, + 0xf8, 0xf7, 0xdd, 0xf8, 0x00, 0x28, 0x09, 0xd1, + 0xf8, 0xf7, 0x7f, 0xf9, 0x01, 0x26, 0x00, 0x98, + 0x02, 0x22, 0x81, 0x69, 0x91, 0x43, 0x81, 0x61, + 0x00, 0x21, 0x01, 0xe0, 0x00, 0x98, 0x02, 0x21, + 0x08, 0xf0, 0x61, 0xff, 0x00, 0x98, 0x80, 0x69, + 0xa9, 0x88, 0xc2, 0x07, 0xd2, 0x0f, 0x30, 0x1c, + 0xf9, 0xf7, 0x45, 0xf8, 0xf8, 0xbd, 0xfa, 0x60, + 0x01, 0x00, 0x3c, 0x00, 0xbc, 0x8e, 0x00, 0x00, + 0x1c, 0xb5, 0x04, 0x69, 0x00, 0x23, 0x00, 0x22, + 0x00, 0x2c, 0x13, 0xd1, 0x4b, 0x24, 0x24, 0x5c, + 0x02, 0x2c, 0x03, 0xd1, 0x02, 0x29, 0x05, 0xd0, + 0x01, 0x22, 0x03, 0xe0, 0x02, 0x29, 0x01, 0xd1, + 0x01, 0x22, 0x01, 0x23, 0x00, 0x2a, 0x05, 0xd0, + 0x00, 0x90, 0x04, 0x20, 0x01, 0x93, 0x69, 0x46, + 0x09, 0xf0, 0x36, 0xfa, 0x1c, 0xbd, 0x00, 0x00, + 0xb0, 0xb5, 0x04, 0x1c, 0x3c, 0x00, 0xf8, 0x8e, + 0x00, 0x00, 0xf2, 0x21, 0x0f, 0x20, 0x0c, 0x4d, + 0x0a, 0xf0, 0x99, 0xfb, 0x28, 0x78, 0x08, 0x28, + 0x0b, 0xd2, 0x01, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, + 0x9f, 0x44, 0x07, 0x03, 0x03, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x00, 0x2c, 0x01, 0xd1, 0x05, 0xf0, + 0xbc, 0xfb, 0xb0, 0xbd, 0x01, 0x2c, 0xfc, 0xd1, + 0xff, 0x20, 0x07, 0xf0, 0x38, 0xfa, 0xb0, 0xbd, + 0x00, 0x00, 0x74, 0x66, 0x01, 0x00, 0x3c, 0x00, + 0x34, 0x8f, 0x00, 0x00, 0x8c, 0xb5, 0x05, 0x4a, + 0x00, 0xab, 0x11, 0x72, 0x00, 0x90, 0x19, 0x71, + 0x69, 0x46, 0x08, 0x20, 0x09, 0xf0, 0x0a, 0xfa, + 0x8c, 0xbd, 0x00, 0x00, 0xac, 0x7c, 0x01, 0x00, + 0xf3, 0xb5, 0x04, 0x1c, 0xc0, 0x68, 0x06, 0x27, + 0x85, 0xb0, 0x06, 0x68, 0x09, 0xf0, 0x26, 0xff, + 0x98, 0x49, 0x48, 0x63, 0x20, 0x69, 0x03, 0x21, + 0x01, 0xf0, 0x08, 0xfc, 0x96, 0x4d, 0x00, 0x28, + 0x3c, 0x00, 0x70, 0x8f, 0x00, 0x00, 0x4d, 0xd0, + 0x95, 0x49, 0x40, 0x31, 0x09, 0x79, 0x80, 0x78, + 0x81, 0x42, 0x47, 0xd1, 0x01, 0x21, 0x20, 0x69, + 0x01, 0xf0, 0xfb, 0xfb, 0x02, 0x90, 0x20, 0x69, + 0x32, 0x21, 0x01, 0xf0, 0xf6, 0xfb, 0x01, 0x90, + 0x02, 0x1c, 0x8d, 0x48, 0x02, 0x99, 0xfc, 0xf7, + 0x46, 0xff, 0x00, 0x28, 0x36, 0xd0, 0x00, 0x23, + 0x8a, 0x48, 0x02, 0x99, 0x01, 0x9a, 0xfc, 0xf7, + 0xe4, 0xfe, 0x3c, 0x00, 0xac, 0x8f, 0x00, 0x00, + 0x0b, 0x28, 0x2e, 0xd1, 0x86, 0x4a, 0x51, 0x88, + 0x70, 0x89, 0x41, 0x40, 0x03, 0x91, 0x0b, 0x1c, + 0x84, 0x49, 0x0b, 0x40, 0x25, 0xd1, 0x50, 0x80, + 0x03, 0x99, 0x17, 0x1c, 0x00, 0x29, 0x0b, 0xd0, + 0x03, 0x99, 0x48, 0x05, 0x02, 0xd5, 0x38, 0x1c, + 0xfc, 0xf7, 0x40, 0xfe, 0x03, 0x99, 0x88, 0x06, + 0x02, 0xd5, 0x38, 0x1c, 0xfc, 0xf7, 0x24, 0xfe, + 0x2a, 0x21, 0x20, 0x69, 0x3c, 0x00, 0xe8, 0x8f, + 0x00, 0x00, 0x01, 0xf0, 0xc8, 0xfb, 0x00, 0x28, + 0x0d, 0xd0, 0x80, 0x78, 0xe9, 0x69, 0x81, 0x42, + 0x09, 0xd0, 0xe8, 0x61, 0x38, 0x1c, 0xfc, 0xf7, + 0x16, 0xfe, 0x38, 0x1c, 0xfc, 0xf7, 0x07, 0xfe, + 0x38, 0x1c, 0xfc, 0xf7, 0x26, 0xfe, 0x00, 0x27, + 0x20, 0x1c, 0x20, 0x30, 0x04, 0x90, 0x40, 0x7a, + 0x08, 0x28, 0x71, 0xd1, 0x0a, 0xf0, 0xd1, 0xfc, + 0x00, 0x20, 0x68, 0x61, 0x00, 0x23, 0x3c, 0x00, + 0x24, 0x90, 0x00, 0x00, 0x2b, 0x61, 0xa8, 0x68, + 0x66, 0x49, 0x01, 0x30, 0xa8, 0x60, 0x30, 0x89, + 0x5c, 0x31, 0x88, 0x82, 0x01, 0xf0, 0x7a, 0xfd, + 0x62, 0x49, 0x5c, 0x31, 0x08, 0x61, 0x22, 0x6a, + 0x04, 0x98, 0x18, 0x21, 0x00, 0x7a, 0x01, 0xf0, + 0x33, 0xfe, 0xe1, 0x6a, 0x40, 0x18, 0x03, 0x90, + 0x5c, 0x48, 0x00, 0x6a, 0x00, 0x28, 0x0d, 0xd0, + 0x00, 0x2f, 0x0b, 0xd1, 0x59, 0x48, 0x01, 0x23, + 0x3c, 0x00, 0x60, 0x90, 0x00, 0x00, 0x5c, 0x30, + 0x01, 0x68, 0x1b, 0x07, 0x00, 0x22, 0x30, 0x68, + 0x09, 0xf0, 0x49, 0xff, 0x00, 0x28, 0x00, 0xd1, + 0x05, 0x27, 0x00, 0x21, 0xa0, 0x6b, 0x0a, 0xf0, + 0xce, 0xfc, 0x00, 0x21, 0x20, 0x6c, 0x0a, 0xf0, + 0xe8, 0xfc, 0x4f, 0x4b, 0x03, 0xce, 0x03, 0x9a, + 0x5c, 0x33, 0xfc, 0xf7, 0x88, 0xfd, 0x00, 0x20, + 0x4c, 0x4e, 0x05, 0x21, 0xb0, 0x63, 0x20, 0x69, + 0x01, 0xf0, 0x3c, 0x00, 0x9c, 0x90, 0x00, 0x00, + 0x6f, 0xfb, 0x01, 0x1c, 0x01, 0xd1, 0xf0, 0x60, + 0x1c, 0xe0, 0x01, 0x20, 0xf0, 0x60, 0x88, 0x78, + 0x45, 0x4a, 0x01, 0x32, 0x10, 0x70, 0xc8, 0x78, + 0x50, 0x70, 0x47, 0x4a, 0x10, 0x70, 0x30, 0x69, + 0x00, 0x28, 0x0a, 0xd0, 0x4a, 0x78, 0x08, 0x79, + 0x05, 0x31, 0x09, 0xf0, 0xdd, 0xfa, 0x31, 0x69, + 0xf7, 0xf7, 0x85, 0xf9, 0xf0, 0x68, 0x00, 0x28, + 0x04, 0xd0, 0x3b, 0x4a, 0x3c, 0x00, 0xd8, 0x90, + 0x00, 0x00, 0x01, 0x32, 0x10, 0x78, 0x00, 0x28, + 0x08, 0xd1, 0x00, 0x20, 0xa8, 0x61, 0x71, 0x6a, + 0x00, 0x29, 0x03, 0xd0, 0x20, 0x1c, 0x14, 0x30, + 0xf7, 0xf7, 0x74, 0xf9, 0x34, 0x4a, 0x5c, 0x32, + 0x10, 0x69, 0x31, 0x6a, 0x41, 0x18, 0x00, 0xe0, + 0x20, 0xe0, 0x0a, 0x23, 0xd0, 0x68, 0x0a, 0x22, + 0x09, 0xf0, 0xfb, 0xfe, 0x00, 0x28, 0x07, 0xd0, + 0x2d, 0x4a, 0x31, 0x6a, 0x5c, 0x32, 0x3c, 0x00, + 0x14, 0x91, 0x00, 0x00, 0xd0, 0x68, 0x40, 0x1a, + 0x11, 0x69, 0x40, 0x1a, 0x70, 0x60, 0x29, 0x4a, + 0x5c, 0x32, 0xd0, 0x68, 0x30, 0x62, 0xf0, 0x69, + 0x00, 0x28, 0x04, 0xd0, 0xfa, 0xf7, 0x00, 0xfd, + 0x01, 0x20, 0xfa, 0xf7, 0xa1, 0xfc, 0xfa, 0xf7, + 0x81, 0xfc, 0x27, 0x48, 0x00, 0x68, 0x03, 0xf0, + 0x07, 0xf9, 0x06, 0x98, 0x00, 0x28, 0x03, 0xd1, + 0x1e, 0x4e, 0x00, 0x23, 0xb3, 0x60, 0x16, 0xe0, + 0x3c, 0x00, 0x50, 0x91, 0x00, 0x00, 0x1c, 0x4e, + 0x01, 0x20, 0xb0, 0x60, 0x06, 0x98, 0x01, 0x68, + 0x40, 0x68, 0xb0, 0x65, 0x19, 0x48, 0x71, 0x65, + 0x54, 0x30, 0xc0, 0x88, 0x00, 0x28, 0x09, 0xd0, + 0xb1, 0x69, 0x00, 0x29, 0x06, 0xd0, 0x01, 0xf0, + 0xdc, 0xfc, 0x01, 0x1c, 0xe0, 0x6a, 0xb2, 0x69, + 0xf7, 0xf7, 0x2f, 0xf9, 0x00, 0x2f, 0x15, 0xd1, + 0x12, 0x48, 0x01, 0x69, 0x00, 0x29, 0x08, 0xd1, + 0x01, 0x21, 0x3c, 0x00, 0x8c, 0x91, 0x00, 0x00, + 0x01, 0x61, 0x2a, 0x68, 0x00, 0x2a, 0x03, 0xd0, + 0x00, 0x21, 0x00, 0x20, 0xf7, 0xf7, 0x20, 0xf9, + 0x09, 0x49, 0x00, 0x23, 0xcb, 0x62, 0x2b, 0x61, + 0x6b, 0x61, 0x06, 0xf0, 0xb5, 0xf8, 0x07, 0xb0, + 0xf0, 0xbd, 0x6b, 0x68, 0x06, 0x48, 0x00, 0x2b, + 0xf9, 0xd0, 0x02, 0x1d, 0x11, 0x1c, 0x38, 0x1c, + 0xf7, 0xf7, 0x0f, 0xf9, 0xf3, 0xe7, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x3c, 0x00, 0xc8, 0x91, + 0x00, 0x00, 0xf4, 0x68, 0x01, 0x00, 0xf4, 0x67, + 0x01, 0x00, 0x03, 0x08, 0x00, 0x00, 0xf8, 0x60, + 0x01, 0x00, 0xc4, 0x67, 0x01, 0x00, 0x08, 0xb5, + 0xf8, 0xf7, 0x2f, 0xfd, 0x00, 0x90, 0x00, 0xab, + 0x18, 0x88, 0x00, 0x28, 0x0c, 0xd0, 0x05, 0xf0, + 0x50, 0xff, 0x00, 0xab, 0x59, 0x88, 0x18, 0x88, + 0x05, 0xf0, 0x6d, 0xf9, 0xfe, 0xf7, 0x97, 0xf8, + 0x03, 0x20, 0xfb, 0xf7, 0x0e, 0xf8, 0x3c, 0x00, + 0x04, 0x92, 0x00, 0x00, 0x08, 0xbd, 0x01, 0x20, + 0xff, 0xf7, 0xb2, 0xfb, 0x00, 0x20, 0x08, 0xf0, + 0x8d, 0xfe, 0xf7, 0xe7, 0xf8, 0xb5, 0x4f, 0x49, + 0x8c, 0x68, 0x20, 0x6a, 0x00, 0x68, 0x05, 0x78, + 0xfc, 0xf7, 0x68, 0xfa, 0x00, 0x28, 0x12, 0xd0, + 0x2a, 0x07, 0x92, 0x0f, 0x01, 0x21, 0x01, 0x2a, + 0x00, 0xd0, 0x00, 0x21, 0x00, 0x29, 0x03, 0xd0, + 0x29, 0x06, 0x09, 0x0f, 0x0b, 0x29, 0x06, 0xd1, + 0x3c, 0x00, 0x40, 0x92, 0x00, 0x00, 0x2a, 0x21, + 0x09, 0x5d, 0x08, 0x18, 0x90, 0x30, 0x00, 0x7b, + 0xf9, 0xf7, 0x0d, 0xfc, 0x41, 0x4f, 0x3c, 0x3f, + 0xb8, 0x6b, 0x79, 0x6b, 0xf7, 0xf7, 0xc0, 0xf8, + 0xa0, 0x6c, 0x00, 0x26, 0xc6, 0x60, 0x60, 0x6b, + 0x80, 0x08, 0x04, 0xd0, 0xb8, 0x69, 0x01, 0x30, + 0xb8, 0x61, 0x06, 0xf0, 0xdc, 0xf9, 0x39, 0x4d, + 0x28, 0x69, 0x80, 0x05, 0x80, 0x0f, 0x08, 0xd1, + 0x78, 0x69, 0x3c, 0x00, 0x7c, 0x92, 0x00, 0x00, + 0x04, 0x21, 0x01, 0x30, 0x78, 0x61, 0x60, 0x6b, + 0x40, 0x08, 0x40, 0x00, 0x08, 0x43, 0x60, 0x63, + 0xb8, 0x6a, 0x00, 0x28, 0x03, 0xd0, 0x60, 0x6b, + 0x08, 0x21, 0x08, 0x43, 0x60, 0x63, 0x20, 0x1c, + 0x20, 0x30, 0x00, 0x90, 0x39, 0x68, 0xf7, 0xf7, + 0x9a, 0xf8, 0x03, 0x20, 0x00, 0x02, 0x28, 0x60, + 0x2b, 0x49, 0x88, 0x68, 0xa0, 0x63, 0xc8, 0x68, + 0xe0, 0x63, 0x08, 0x79, 0x3c, 0x00, 0xb8, 0x92, + 0x00, 0x00, 0xc0, 0x06, 0xc0, 0x0e, 0x25, 0x1c, + 0x40, 0x35, 0x28, 0x71, 0x48, 0x79, 0x68, 0x71, + 0x23, 0x48, 0x3c, 0x38, 0x46, 0x62, 0x00, 0x98, + 0x80, 0x7a, 0x01, 0xf0, 0x5e, 0xfd, 0x00, 0x21, + 0x00, 0x28, 0x21, 0x4a, 0x01, 0xd0, 0x11, 0x78, + 0x03, 0xe0, 0x93, 0x78, 0xdb, 0x07, 0x00, 0xd5, + 0x51, 0x78, 0xa9, 0x71, 0x00, 0x28, 0x04, 0xd0, + 0x1b, 0x49, 0x14, 0x31, 0x08, 0x68, 0x3c, 0x00, + 0xf4, 0x92, 0x00, 0x00, 0x20, 0x64, 0x00, 0xe0, + 0x6e, 0x80, 0xb8, 0x6a, 0xc0, 0x07, 0x02, 0xd5, + 0xff, 0x20, 0x28, 0x71, 0xae, 0x71, 0xe6, 0x61, + 0xb8, 0x68, 0x01, 0x30, 0xb8, 0x60, 0x79, 0x68, + 0x88, 0x42, 0x03, 0xd0, 0x0b, 0x21, 0x85, 0x20, + 0xf7, 0xf7, 0xc4, 0xff, 0x0d, 0x49, 0x88, 0x68, + 0xc0, 0x6c, 0x88, 0x60, 0xfb, 0x6a, 0x00, 0x2b, + 0x0c, 0xd0, 0x0e, 0x4a, 0xd4, 0x7b, 0x00, 0x2b, + 0x3c, 0x00, 0x30, 0x93, 0x00, 0x00, 0x02, 0xdd, + 0x7f, 0x2c, 0x05, 0xd2, 0x01, 0xe0, 0x00, 0x2c, + 0x02, 0xd0, 0xd4, 0x7b, 0xe3, 0x18, 0xd3, 0x73, + 0xfe, 0x62, 0xc9, 0x68, 0x88, 0x42, 0x03, 0xd1, + 0x05, 0x21, 0x85, 0x20, 0xf7, 0xf7, 0xa9, 0xff, + 0xf8, 0xbd, 0x24, 0x7e, 0x01, 0x00, 0x00, 0x40, + 0x07, 0x00, 0xa0, 0x80, 0x07, 0x00, 0xe8, 0x80, + 0x07, 0x00, 0x40, 0x00, 0x07, 0x00, 0xfe, 0xb5, + 0x30, 0x4c, 0x3c, 0x00, 0x6c, 0x93, 0x00, 0x00, + 0xa0, 0x6b, 0x21, 0x6b, 0xf7, 0xf7, 0x33, 0xf8, + 0x2d, 0x49, 0x3c, 0x31, 0x8e, 0x68, 0x70, 0x8b, + 0x06, 0x28, 0x04, 0xd2, 0xe0, 0x69, 0x01, 0x30, + 0xe0, 0x61, 0x0e, 0x20, 0x30, 0x85, 0x28, 0x49, + 0x3c, 0x31, 0x0d, 0x68, 0x00, 0x2d, 0x03, 0xd1, + 0x03, 0x21, 0x85, 0x20, 0xf7, 0xf7, 0x84, 0xff, + 0x24, 0x48, 0x45, 0x61, 0x35, 0x62, 0x31, 0x8d, + 0xef, 0x68, 0x04, 0x39, 0x3c, 0x00, 0xa8, 0x93, + 0x00, 0x00, 0x0c, 0x04, 0x01, 0x21, 0x02, 0x91, + 0x24, 0x0c, 0x00, 0x21, 0x01, 0x91, 0x1d, 0x48, + 0x3c, 0x30, 0x80, 0x8a, 0xa0, 0x42, 0x03, 0xd3, + 0x2c, 0x81, 0xee, 0x60, 0x00, 0x24, 0x0b, 0xe0, + 0x00, 0x2f, 0x04, 0xd1, 0x03, 0x21, 0x85, 0x20, + 0xf7, 0xf7, 0x69, 0xff, 0x04, 0xe0, 0x3d, 0x1c, + 0x20, 0x1a, 0x04, 0x04, 0xff, 0x68, 0x24, 0x0c, + 0x02, 0x98, 0x00, 0x28, 0x04, 0xd0, 0x3c, 0x00, + 0xe4, 0x93, 0x00, 0x00, 0x12, 0x49, 0x01, 0x20, + 0x08, 0x61, 0x00, 0x20, 0x02, 0x90, 0x01, 0x98, + 0x01, 0x30, 0x01, 0x90, 0x00, 0x2c, 0xdd, 0xd1, + 0x0c, 0x48, 0x0c, 0x4c, 0x3c, 0x30, 0x07, 0x60, + 0x01, 0x98, 0x30, 0x65, 0xb5, 0x64, 0x30, 0x6a, + 0x00, 0x68, 0x60, 0x62, 0x60, 0x68, 0x01, 0x30, + 0x60, 0x60, 0xa1, 0x68, 0x01, 0x31, 0x88, 0x42, + 0x03, 0xd0, 0x0a, 0x21, 0x85, 0x20, 0xf7, 0xf7, + 0x3c, 0x00, 0x20, 0x94, 0x00, 0x00, 0x41, 0xff, + 0x04, 0x48, 0x00, 0x68, 0xa0, 0x62, 0xfe, 0xbd, + 0x00, 0x00, 0xe8, 0x7d, 0x01, 0x00, 0x00, 0x30, + 0x07, 0x00, 0x78, 0x6e, 0x01, 0x00, 0xb0, 0xb5, + 0x05, 0x1c, 0x01, 0x21, 0x0f, 0x20, 0x0a, 0xf0, + 0xf8, 0xf8, 0xf2, 0x21, 0x0f, 0x20, 0x0a, 0xf0, + 0xf4, 0xf8, 0x0c, 0x48, 0x0c, 0x4c, 0x00, 0x68, + 0x14, 0x3c, 0x00, 0x28, 0x0c, 0xd0, 0xe0, 0x78, + 0x01, 0x28, 0x3c, 0x00, 0x5c, 0x94, 0x00, 0x00, + 0x09, 0xd0, 0x01, 0x22, 0x29, 0x1c, 0x0f, 0x20, + 0x0a, 0xf0, 0xac, 0xf8, 0x60, 0x78, 0x02, 0x28, + 0x06, 0xd0, 0x01, 0x20, 0x03, 0xe0, 0x60, 0x78, + 0x02, 0x28, 0x01, 0xd0, 0x00, 0x20, 0x60, 0x70, + 0xb0, 0xbd, 0x00, 0x00, 0x98, 0x66, 0x01, 0x00, + 0x02, 0x22, 0x00, 0x28, 0x80, 0xb5, 0x00, 0xd1, + 0x03, 0x22, 0x03, 0x49, 0x0e, 0x20, 0x0a, 0xf0, + 0x9b, 0xf8, 0x00, 0x20, 0x3c, 0x00, 0x98, 0x94, + 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, 0x50, 0xc3, + 0x00, 0x00, 0xf8, 0xb5, 0x00, 0x23, 0x00, 0x22, + 0x00, 0x28, 0x2e, 0xd0, 0x06, 0x89, 0x04, 0x68, + 0x75, 0x1e, 0x2d, 0x04, 0xb6, 0x1a, 0xf6, 0x07, + 0x2d, 0x0c, 0xf6, 0x0f, 0xb4, 0x46, 0x0e, 0xe0, + 0xa7, 0x5c, 0xa6, 0x18, 0x02, 0x33, 0x00, 0x97, + 0x77, 0x78, 0xa7, 0x54, 0x02, 0x32, 0x12, 0x04, + 0x00, 0x9f, 0x12, 0x0c, 0x00, 0x29, 0x3c, 0x00, + 0xd4, 0x94, 0x00, 0x00, 0x77, 0x70, 0x01, 0xdd, + 0x8b, 0x42, 0x15, 0xda, 0xaa, 0x42, 0xee, 0xd3, + 0xc0, 0x68, 0x00, 0x28, 0x10, 0xd0, 0x02, 0x89, + 0x00, 0x2a, 0xf9, 0xd0, 0x62, 0x46, 0x00, 0x2a, + 0x0b, 0xd0, 0x02, 0x68, 0x66, 0x5d, 0x17, 0x78, + 0x02, 0x33, 0x67, 0x55, 0x16, 0x70, 0x01, 0x22, + 0x00, 0x29, 0xd2, 0xdd, 0x8b, 0x42, 0xd0, 0xdb, + 0xf8, 0xbd, 0x00, 0x22, 0xcd, 0xe7, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x95, 0x00, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0d, 0x1c, 0x01, 0x20, 0xf8, 0xf7, + 0x5e, 0xfb, 0x0d, 0x49, 0x00, 0x28, 0xc8, 0x61, + 0x14, 0xd0, 0x62, 0x68, 0x42, 0x60, 0xa2, 0x7c, + 0x02, 0x72, 0xa2, 0x68, 0xc2, 0x60, 0xe2, 0x68, + 0x02, 0x61, 0x22, 0x8a, 0x02, 0x75, 0x0a, 0x1d, + 0x0a, 0x62, 0x12, 0x68, 0x00, 0x2a, 0xff, 0xd1, + 0x02, 0x60, 0x48, 0x60, 0x00, 0x20, 0xa8, 0x60, + 0x01, 0x20, 0x3c, 0x00, 0x4c, 0x95, 0x00, 0x00, + 0xb0, 0xbd, 0x01, 0x20, 0xfa, 0xe7, 0x00, 0x00, + 0xa4, 0x6e, 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x40, 0x68, 0x0d, 0x1c, 0x43, 0x1c, 0x02, 0xd1, + 0x21, 0x1c, 0x09, 0x48, 0x08, 0xe0, 0x00, 0x20, + 0xf8, 0xf7, 0x34, 0xfb, 0x06, 0x49, 0x94, 0x39, + 0x08, 0x61, 0x00, 0x28, 0x03, 0xd0, 0x21, 0x1c, + 0x00, 0xf0, 0x48, 0xfe, 0x00, 0xe0, 0x01, 0x20, + 0xa8, 0x60, 0x01, 0x20, 0x3c, 0x00, 0x88, 0x95, + 0x00, 0x00, 0xb0, 0xbd, 0x00, 0x00, 0x38, 0x6f, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x21, 0x97, 0x20, + 0xf7, 0xf7, 0x85, 0xfe, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0x38, 0xb5, 0x0a, 0x1c, 0x14, 0x32, + 0x00, 0x92, 0x13, 0x1f, 0x05, 0x1c, 0x08, 0x3a, + 0x0c, 0x1c, 0x16, 0x31, 0x40, 0x68, 0xfe, 0xf7, + 0x6c, 0xfe, 0x00, 0x28, 0x01, 0xd0, 0x00, 0x20, + 0x00, 0xe0, 0x01, 0x20, 0x69, 0x68, 0x3c, 0x00, + 0xc4, 0x95, 0x00, 0x00, 0xa0, 0x60, 0x61, 0x60, + 0x01, 0x20, 0x38, 0xbd, 0x10, 0xb5, 0x0c, 0x1c, + 0x01, 0x7a, 0x00, 0x29, 0x0f, 0xd0, 0x01, 0x29, + 0x09, 0xd0, 0x02, 0x29, 0x03, 0xd1, 0x00, 0x21, + 0x00, 0x20, 0x0a, 0xf0, 0x73, 0xfc, 0x00, 0x20, + 0x20, 0x71, 0x01, 0x20, 0x10, 0xbd, 0x41, 0x68, + 0x01, 0x20, 0x0a, 0xf0, 0x6b, 0xfc, 0x00, 0xf0, + 0x0d, 0xf9, 0xf4, 0xe7, 0x80, 0xb5, 0x04, 0x49, + 0x3c, 0x00, 0x00, 0x96, 0x00, 0x00, 0x48, 0x68, + 0x01, 0x38, 0x48, 0x60, 0x01, 0xd1, 0x07, 0xf0, + 0x6e, 0xfb, 0x00, 0x20, 0x80, 0xbd, 0xac, 0x79, + 0x01, 0x00, 0xb0, 0xb5, 0x05, 0x1c, 0x0c, 0x1c, + 0x00, 0xf0, 0x4f, 0xfe, 0xa0, 0x60, 0x68, 0x68, + 0x60, 0x60, 0x01, 0x20, 0xb0, 0xbd, 0xb0, 0xb5, + 0x05, 0x1c, 0x0c, 0x1c, 0x00, 0xf0, 0x6f, 0xfe, + 0xa0, 0x60, 0x68, 0x68, 0x60, 0x60, 0x01, 0x20, + 0xb0, 0xbd, 0x3c, 0x00, 0x3c, 0x96, 0x00, 0x00, + 0x08, 0x1c, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x0e, 0xc0, 0x08, 0xc0, 0x01, 0x20, 0x70, 0x47, + 0xf8, 0xb5, 0x0f, 0x1c, 0x04, 0x1c, 0x20, 0x79, + 0x20, 0x28, 0x01, 0xd2, 0x20, 0x20, 0x20, 0x71, + 0x66, 0x79, 0x00, 0x2e, 0x02, 0xd1, 0x25, 0x79, + 0x00, 0x22, 0x0d, 0xe0, 0x25, 0x79, 0x29, 0x1c, + 0x30, 0x1c, 0xf7, 0xf7, 0x4f, 0xf8, 0x00, 0x29, + 0x01, 0xd1, 0x32, 0x1c, 0x3c, 0x00, 0x78, 0x96, + 0x00, 0x00, 0x04, 0xe0, 0x70, 0x43, 0x80, 0x19, + 0x05, 0x06, 0x2d, 0x0e, 0x32, 0x1c, 0xe0, 0x79, + 0x29, 0x1c, 0x00, 0xf0, 0xf2, 0xf9, 0x20, 0x7a, + 0x2f, 0x49, 0xc0, 0x07, 0xc0, 0x0f, 0x08, 0x60, + 0x2e, 0x48, 0x00, 0x78, 0xc0, 0x07, 0x43, 0xd5, + 0xa1, 0x79, 0x2c, 0x4a, 0xc8, 0x07, 0x48, 0xd4, + 0x2c, 0x4e, 0x16, 0x60, 0x8b, 0x07, 0x2b, 0x48, + 0x08, 0xd5, 0xcc, 0x08, 0x01, 0x23, 0x3c, 0x00, + 0xb4, 0x96, 0x00, 0x00, 0xa3, 0x40, 0x03, 0x60, + 0x49, 0x07, 0x04, 0xd5, 0x28, 0x49, 0x11, 0x60, + 0x01, 0xe0, 0x40, 0x21, 0x01, 0x60, 0x13, 0x68, + 0x26, 0x4a, 0xb3, 0x42, 0x10, 0xd1, 0x54, 0x68, + 0x01, 0x68, 0x0c, 0x43, 0x54, 0x60, 0x14, 0x68, + 0x0c, 0x40, 0x01, 0xd0, 0x51, 0x61, 0x00, 0xe0, + 0x91, 0x61, 0x54, 0x68, 0x0c, 0x43, 0x54, 0x60, + 0x94, 0x68, 0x21, 0x43, 0x91, 0x60, 0x13, 0xe0, + 0x3c, 0x00, 0xf0, 0x96, 0x00, 0x00, 0x54, 0x7c, + 0x01, 0x68, 0x0c, 0x43, 0x54, 0x74, 0x14, 0x7c, + 0x0c, 0x40, 0x03, 0xd0, 0x14, 0x7c, 0x0c, 0x43, + 0x14, 0x74, 0x02, 0xe0, 0x14, 0x7c, 0x8c, 0x43, + 0x14, 0x74, 0x54, 0x7c, 0x0c, 0x43, 0x54, 0x74, + 0x94, 0x7c, 0x21, 0x43, 0x91, 0x74, 0xb3, 0x42, + 0x05, 0xd1, 0x00, 0x22, 0x01, 0x68, 0x03, 0x20, + 0xff, 0xf7, 0x8d, 0xf8, 0x09, 0xe0, 0x00, 0x68, + 0x00, 0x21, 0x3c, 0x00, 0x2c, 0x97, 0x00, 0x00, + 0x02, 0x06, 0x12, 0x0e, 0x03, 0x20, 0xff, 0xf7, + 0x85, 0xf8, 0x01, 0xe0, 0x0b, 0x48, 0x10, 0x60, + 0x00, 0x20, 0x38, 0x71, 0x7d, 0x71, 0xf7, 0xf7, + 0xe9, 0xfd, 0x01, 0x20, 0xf8, 0xbd, 0x00, 0x00, + 0xcc, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x07, 0x00, + 0x5c, 0x5b, 0x01, 0x00, 0xb9, 0x9b, 0x00, 0x00, + 0x58, 0x5b, 0x01, 0x00, 0x95, 0x9b, 0x00, 0x00, + 0x10, 0x00, 0x07, 0x00, 0x3c, 0x00, 0x68, 0x97, + 0x00, 0x00, 0x55, 0x9b, 0x00, 0x00, 0xb0, 0xb5, + 0x0d, 0x1c, 0x04, 0x30, 0x00, 0x24, 0xfe, 0xf7, + 0xd6, 0xfa, 0x01, 0x20, 0x6c, 0x60, 0xb0, 0xbd, + 0x00, 0x00, 0xf0, 0xb5, 0x07, 0x7a, 0x43, 0x68, + 0x04, 0x1c, 0x0e, 0x48, 0x0e, 0x1c, 0x00, 0x68, + 0x01, 0x25, 0x01, 0x1c, 0x9b, 0xb0, 0x06, 0xe0, + 0x4a, 0x68, 0x9a, 0x42, 0x02, 0xd1, 0x8f, 0x76, + 0x00, 0x25, 0x02, 0xe0, 0x09, 0x68, 0x3c, 0x00, + 0xa4, 0x97, 0x00, 0x00, 0x00, 0x29, 0xf6, 0xd1, + 0x00, 0x2d, 0x05, 0xd1, 0x21, 0x7a, 0x01, 0x29, + 0x02, 0xd1, 0x01, 0xa9, 0xf8, 0xf7, 0xa8, 0xf8, + 0x60, 0x68, 0x04, 0x36, 0x21, 0xc6, 0x1b, 0xb0, + 0x01, 0x20, 0xf0, 0xbd, 0xa4, 0x6e, 0x01, 0x00, + 0x10, 0xb5, 0x0c, 0x1c, 0x08, 0xf0, 0xae, 0xfc, + 0x60, 0x60, 0x01, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0x10, 0xb5, 0x0c, 0x1c, 0x07, 0xf0, 0x84, 0xfa, + 0x3c, 0x00, 0xe0, 0x97, 0x00, 0x00, 0x04, 0xf0, + 0x54, 0xff, 0x00, 0x20, 0x60, 0x60, 0x01, 0x20, + 0x10, 0xbd, 0x00, 0x20, 0xc0, 0x43, 0x48, 0x60, + 0x01, 0x20, 0x70, 0x47, 0x00, 0x00, 0x10, 0xb5, + 0x0c, 0x1c, 0x00, 0x79, 0xfa, 0xf7, 0x07, 0xf8, + 0x00, 0x28, 0x01, 0xd0, 0x00, 0x20, 0x00, 0xe0, + 0x02, 0x20, 0x60, 0x60, 0x01, 0x20, 0x10, 0xbd, + 0x00, 0x00, 0x1c, 0xb5, 0x06, 0x4c, 0x20, 0x68, + 0x00, 0x28, 0x3c, 0x00, 0x1c, 0x98, 0x00, 0x00, + 0x07, 0xd0, 0x09, 0xf0, 0xc5, 0xfa, 0x01, 0x90, + 0x20, 0x68, 0x41, 0x68, 0x68, 0x46, 0xf6, 0xf7, + 0xd6, 0xfd, 0x1c, 0xbd, 0xac, 0x79, 0x01, 0x00, + 0x01, 0x49, 0x08, 0x60, 0x70, 0x47, 0x00, 0x00, + 0xac, 0x79, 0x01, 0x00, 0x0e, 0xb5, 0x06, 0x4b, + 0x1b, 0x68, 0x00, 0x2b, 0x06, 0xd0, 0x02, 0x90, + 0x00, 0x91, 0x01, 0x92, 0x68, 0x46, 0xd9, 0x68, + 0xf6, 0xf7, 0xc1, 0xfd, 0x3c, 0x00, 0x58, 0x98, + 0x00, 0x00, 0x0e, 0xbd, 0x00, 0x00, 0xac, 0x79, + 0x01, 0x00, 0x1c, 0xb5, 0x04, 0x1c, 0x07, 0xf0, + 0x4c, 0xfa, 0x06, 0x48, 0x41, 0x68, 0x01, 0x31, + 0x41, 0x60, 0x00, 0x94, 0x00, 0x21, 0x01, 0x91, + 0x00, 0x68, 0x01, 0x68, 0x68, 0x46, 0xf6, 0xf7, + 0xad, 0xfd, 0x1c, 0xbd, 0x00, 0x00, 0xac, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0xf8, 0xf7, 0xa3, 0xf8, + 0x80, 0xbd, 0x80, 0xb5, 0x02, 0x1c, 0x3c, 0x00, + 0x94, 0x98, 0x00, 0x00, 0x80, 0x21, 0x03, 0x20, + 0x00, 0xf0, 0x5c, 0xf8, 0x01, 0x1c, 0x03, 0x48, + 0x00, 0x22, 0x43, 0x69, 0xf6, 0xf7, 0x9b, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0xa4, 0x6d, 0x01, 0x00, + 0xf8, 0xb5, 0x0c, 0x1c, 0x13, 0x49, 0x05, 0x1c, + 0x08, 0x68, 0x16, 0x1c, 0x01, 0x30, 0x08, 0x60, + 0x00, 0x20, 0x20, 0x61, 0x22, 0x1c, 0x10, 0x32, + 0x28, 0x1d, 0x00, 0x21, 0x07, 0x1c, 0x00, 0x92, + 0x3c, 0x00, 0xd0, 0x98, 0x00, 0x00, 0x03, 0xf0, + 0xde, 0xfe, 0x20, 0x71, 0x20, 0x69, 0x00, 0x28, + 0x10, 0xd0, 0x01, 0x04, 0x09, 0x0c, 0x00, 0x20, + 0xf7, 0xf7, 0x79, 0xfe, 0x30, 0x60, 0x29, 0x1d, + 0x03, 0xc9, 0xa0, 0x60, 0xe1, 0x60, 0x30, 0x68, + 0x01, 0x68, 0x00, 0x9a, 0x38, 0x1c, 0x03, 0xf0, + 0xca, 0xfe, 0x20, 0x71, 0x01, 0x20, 0xf8, 0xbd, + 0x00, 0x00, 0x10, 0x75, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x1c, 0x3c, 0x00, 0x0c, 0x99, 0x00, 0x00, + 0x08, 0x21, 0x04, 0x20, 0x09, 0xf0, 0x4e, 0xff, + 0x03, 0x20, 0x80, 0xbd, 0x10, 0xb5, 0x07, 0x4a, + 0x0c, 0x1c, 0x51, 0x68, 0x01, 0x31, 0x51, 0x60, + 0x01, 0x1c, 0x10, 0x31, 0xc2, 0x68, 0x04, 0x30, + 0x03, 0xf0, 0xf0, 0xfe, 0x20, 0x71, 0x00, 0x20, + 0x10, 0xbd, 0x00, 0x00, 0x10, 0x75, 0x01, 0x00, + 0x04, 0x49, 0x80, 0xb5, 0x81, 0x61, 0x08, 0x21, + 0x02, 0x1c, 0x03, 0x20, 0x3c, 0x00, 0x48, 0x99, + 0x00, 0x00, 0x09, 0xf0, 0x32, 0xff, 0x03, 0x20, + 0x80, 0xbd, 0x95, 0xd8, 0x00, 0x00, 0xf7, 0xb5, + 0x07, 0x1c, 0x16, 0x1c, 0x06, 0x21, 0x00, 0x20, + 0x82, 0xb0, 0xf7, 0xf7, 0x3a, 0xfe, 0x05, 0x1c, + 0x20, 0x48, 0x00, 0x78, 0x06, 0x28, 0x00, 0xd9, + 0x28, 0x81, 0x2c, 0x68, 0x00, 0x20, 0xa7, 0x70, + 0x03, 0x99, 0xe1, 0x70, 0x31, 0x1c, 0x03, 0xe0, + 0x0a, 0x89, 0x10, 0x18, 0x0f, 0x1c, 0x3c, 0x00, + 0x84, 0x99, 0x00, 0x00, 0xc9, 0x68, 0x00, 0x29, + 0xf9, 0xd1, 0x6b, 0x46, 0x01, 0xaa, 0x21, 0x1d, + 0x00, 0xf0, 0x34, 0xf8, 0x00, 0xab, 0x18, 0x78, + 0x60, 0x71, 0x18, 0x78, 0x00, 0x28, 0x17, 0xd0, + 0x11, 0x48, 0x40, 0x68, 0x00, 0x28, 0x08, 0xd0, + 0x19, 0x78, 0x00, 0x20, 0xf7, 0xf7, 0x14, 0xfe, + 0x01, 0x1c, 0x38, 0x1c, 0xf7, 0xf7, 0x30, 0xfd, + 0x0a, 0xe0, 0x38, 0x68, 0x00, 0x28, 0x02, 0xd1, + 0x3c, 0x00, 0xc0, 0x99, 0x00, 0x00, 0x3f, 0x60, + 0x01, 0x20, 0xb8, 0x61, 0x00, 0xab, 0x19, 0x78, + 0x38, 0x89, 0x40, 0x18, 0x38, 0x81, 0x00, 0xab, + 0x98, 0x88, 0x31, 0x1c, 0x02, 0x38, 0x20, 0x80, + 0x28, 0x1c, 0xf7, 0xf7, 0x1c, 0xfd, 0x28, 0x1c, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xc8, 0x5c, + 0x01, 0x00, 0x01, 0x79, 0x42, 0x79, 0x00, 0x88, + 0x89, 0x18, 0x02, 0x39, 0x40, 0x1a, 0x70, 0x47, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x99, 0x00, 0x00, + 0x70, 0xb5, 0x08, 0x4d, 0x2c, 0x78, 0xad, 0x78, + 0x20, 0x18, 0x06, 0x1c, 0x00, 0x2d, 0x03, 0xd0, + 0x70, 0x19, 0x01, 0x38, 0x01, 0x3d, 0xa8, 0x43, + 0x10, 0x80, 0x80, 0x1b, 0x18, 0x70, 0x0c, 0x70, + 0x70, 0xbd, 0x00, 0x00, 0xc8, 0x5c, 0x01, 0x00, + 0xb0, 0xb5, 0x04, 0x68, 0x0c, 0x4a, 0x21, 0x88, + 0x52, 0x78, 0x02, 0x31, 0x91, 0x42, 0x11, 0xd2, + 0x55, 0x1a, 0xf7, 0xf7, 0x3c, 0x00, 0x38, 0x9a, + 0x00, 0x00, 0xc9, 0xfd, 0x01, 0x68, 0x00, 0x29, + 0x02, 0xd1, 0x00, 0x60, 0x01, 0x21, 0x81, 0x61, + 0x01, 0x89, 0x49, 0x19, 0x01, 0x81, 0x20, 0x88, + 0x40, 0x19, 0x20, 0x80, 0x60, 0x79, 0x40, 0x19, + 0x60, 0x71, 0xb0, 0xbd, 0x00, 0x00, 0xc8, 0x5c, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x06, 0x21, + 0xf1, 0x20, 0x09, 0xf0, 0xa2, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x1c, 0x02, 0x48, 0x3c, 0x00, + 0x74, 0x9a, 0x00, 0x00, 0x03, 0x70, 0x41, 0x70, + 0x82, 0x70, 0x70, 0x47, 0xc8, 0x5c, 0x01, 0x00, + 0xb0, 0xb5, 0x08, 0x1c, 0x09, 0x68, 0x15, 0x1c, + 0x8c, 0x78, 0xf7, 0xf7, 0x85, 0xfd, 0x04, 0x49, + 0xa0, 0x00, 0x09, 0x58, 0x00, 0x29, 0x02, 0xd0, + 0x28, 0x1c, 0xf6, 0xf7, 0x9e, 0xfc, 0xb0, 0xbd, + 0x84, 0x6d, 0x01, 0x00, 0xfe, 0xb5, 0x04, 0x1c, + 0xc0, 0x7a, 0xa1, 0x7a, 0xc6, 0x07, 0xf6, 0x0f, + 0x3c, 0x00, 0xb0, 0x9a, 0x00, 0x00, 0x32, 0x1c, + 0x20, 0x1d, 0x01, 0xf0, 0x3c, 0xf8, 0x60, 0x69, + 0x25, 0x4f, 0xc1, 0x07, 0x37, 0xd5, 0xb8, 0x69, + 0x00, 0x28, 0x01, 0xd0, 0xf6, 0xf7, 0x87, 0xfc, + 0x20, 0x68, 0x05, 0x68, 0x28, 0x88, 0x80, 0x07, + 0x34, 0xd1, 0x01, 0xaa, 0x02, 0xa9, 0x28, 0x1c, + 0x01, 0xf0, 0x0b, 0xfc, 0x28, 0x1c, 0x01, 0xf0, + 0x12, 0xfc, 0x00, 0x78, 0xc0, 0x07, 0x0a, 0xd4, + 0x60, 0x69, 0x3c, 0x00, 0xec, 0x9a, 0x00, 0x00, + 0x80, 0x07, 0x26, 0xd4, 0x33, 0x1c, 0x29, 0x1c, + 0xa2, 0x7a, 0x20, 0x69, 0x7d, 0x69, 0xf6, 0xf7, + 0x72, 0xfc, 0x1e, 0xe0, 0x00, 0xab, 0x18, 0x7a, + 0x00, 0x28, 0x03, 0xd0, 0x01, 0x28, 0x06, 0xd0, + 0x02, 0x28, 0x16, 0xd1, 0x28, 0x1c, 0x79, 0x6a, + 0xf6, 0xf7, 0x61, 0xfc, 0x11, 0xe0, 0x00, 0xab, + 0x18, 0x79, 0x0e, 0x28, 0x01, 0xd0, 0x0f, 0x28, + 0x0b, 0xd1, 0x28, 0x1c, 0x3c, 0x00, 0x28, 0x9b, + 0x00, 0x00, 0x39, 0x6a, 0xf6, 0xf7, 0x56, 0xfc, + 0x06, 0xe0, 0x00, 0x07, 0x80, 0x0f, 0x03, 0xd1, + 0x20, 0x69, 0xf9, 0x69, 0xf6, 0xf7, 0x4e, 0xfc, + 0x78, 0x6b, 0x21, 0x21, 0x01, 0x30, 0x78, 0x63, + 0x22, 0x1c, 0x80, 0x20, 0x09, 0xf0, 0x31, 0xfe, + 0xfe, 0xbd, 0x28, 0x7a, 0x01, 0x00, 0x0b, 0x49, + 0x18, 0xb5, 0x08, 0x78, 0xc0, 0x07, 0x11, 0xd5, + 0x0a, 0x4a, 0x10, 0x1c, 0x20, 0x30, 0x3c, 0x00, + 0x64, 0x9b, 0x00, 0x00, 0x84, 0x79, 0x00, 0xab, + 0x1c, 0x70, 0xc0, 0x79, 0x58, 0x70, 0x08, 0x78, + 0x40, 0x23, 0x18, 0x43, 0x08, 0x70, 0x05, 0x48, + 0x00, 0x78, 0x08, 0x70, 0x00, 0xab, 0x18, 0x88, + 0xd0, 0x84, 0x18, 0xbd, 0x04, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x07, 0x00, 0xe0, 0x60, 0x01, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x05, 0x49, 0x10, 0xb5, + 0x88, 0x79, 0x05, 0x4b, 0x1a, 0x7c, 0x05, 0x4c, + 0x3c, 0x00, 0xa0, 0x9b, 0x00, 0x00, 0x24, 0x68, + 0x62, 0x40, 0x1a, 0x74, 0x88, 0x71, 0x10, 0xbd, + 0x00, 0x00, 0x20, 0x10, 0x07, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x58, 0x5b, 0x01, 0x00, 0x04, 0x49, + 0x0a, 0x68, 0x04, 0x48, 0x00, 0x68, 0x02, 0x40, + 0x01, 0xd0, 0x88, 0x61, 0x70, 0x47, 0x48, 0x61, + 0x70, 0x47, 0x10, 0x00, 0x07, 0x00, 0x58, 0x5b, + 0x01, 0x00, 0x02, 0x1c, 0x01, 0x20, 0x00, 0x06, + 0x08, 0x43, 0x3c, 0x00, 0xdc, 0x9b, 0x00, 0x00, + 0x80, 0xb5, 0x2a, 0x21, 0x09, 0xf0, 0xe6, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x00, 0x29, 0x03, 0xd0, 0x81, 0x29, 0x07, 0xd1, + 0x81, 0x20, 0x00, 0xe0, 0x80, 0x20, 0x22, 0x1c, + 0x2c, 0x21, 0x09, 0xf0, 0xd7, 0xfd, 0x10, 0xbd, + 0x02, 0x21, 0x2c, 0x20, 0xf7, 0xf7, 0x4c, 0xfb, + 0x20, 0x1c, 0xf7, 0xf7, 0xc3, 0xfc, 0x10, 0xbd, + 0x80, 0xb5, 0xb4, 0xb0, 0x3c, 0x00, 0x18, 0x9c, + 0x00, 0x00, 0x01, 0x28, 0x06, 0xd0, 0x82, 0x28, + 0x1c, 0xd1, 0x1a, 0xa8, 0x07, 0xf0, 0x35, 0xfc, + 0x34, 0xb0, 0x80, 0xbd, 0x81, 0x29, 0x13, 0xd1, + 0x0d, 0x48, 0x0c, 0x4a, 0x81, 0x69, 0x00, 0x68, + 0x50, 0x32, 0x81, 0x42, 0x02, 0xd0, 0xd1, 0x6a, + 0x01, 0x29, 0x02, 0xd0, 0x11, 0x78, 0x02, 0x29, + 0x02, 0xd1, 0x07, 0xf0, 0x0a, 0xf9, 0xeb, 0xe7, + 0x69, 0x46, 0xf7, 0xf7, 0x5a, 0xfe, 0x3c, 0x00, + 0x54, 0x9c, 0x00, 0x00, 0xe7, 0xe7, 0x01, 0x21, + 0x00, 0xe0, 0x02, 0x21, 0x18, 0x20, 0xf7, 0xf7, + 0x21, 0xfb, 0xe0, 0xe7, 0xa4, 0x6e, 0x01, 0x00, + 0xb0, 0xb5, 0x04, 0x1c, 0x00, 0x68, 0x17, 0x4d, + 0x9a, 0xb0, 0x68, 0x63, 0x08, 0xf0, 0x3e, 0xfa, + 0x20, 0x79, 0x14, 0x49, 0x13, 0x4a, 0x50, 0x39, + 0x2c, 0x3a, 0x02, 0x28, 0x0a, 0xd1, 0x90, 0x68, + 0x80, 0x02, 0xa8, 0x61, 0xc8, 0x68, 0xe8, 0x61, + 0x3c, 0x00, 0x90, 0x9c, 0x00, 0x00, 0x02, 0x20, + 0x28, 0x72, 0x07, 0xf0, 0xe4, 0xf8, 0x1a, 0xb0, + 0xb0, 0xbd, 0x03, 0x1c, 0x00, 0x20, 0x00, 0x2b, + 0x0b, 0xd1, 0x52, 0x68, 0x92, 0x02, 0xaa, 0x61, + 0x0a, 0x1c, 0x89, 0x68, 0xe9, 0x61, 0x28, 0x72, + 0x10, 0x68, 0x69, 0x46, 0xf7, 0xf7, 0x27, 0xfe, + 0xed, 0xe7, 0xa8, 0x61, 0x01, 0x20, 0x28, 0x72, + 0x28, 0x70, 0x00, 0x20, 0x06, 0xf0, 0x7d, 0xfa, + 0xe5, 0xe7, 0x3c, 0x00, 0xcc, 0x9c, 0x00, 0x00, + 0xf4, 0x6e, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x21, + 0x07, 0x20, 0xf7, 0xf7, 0xe1, 0xfa, 0x80, 0xbd, + 0x70, 0x47, 0x00, 0x00, 0xf8, 0xb5, 0x00, 0x24, + 0x19, 0x4a, 0x00, 0x26, 0xd5, 0x68, 0x11, 0x68, + 0x04, 0x35, 0x08, 0x1c, 0x91, 0x60, 0x02, 0xe0, + 0x01, 0x1c, 0x40, 0x19, 0x08, 0x60, 0x53, 0x68, + 0x83, 0x42, 0xf9, 0xd8, 0x3c, 0x00, 0x08, 0x9d, + 0x00, 0x00, 0x01, 0x34, 0x10, 0x32, 0x03, 0x2c, + 0x0e, 0x60, 0xee, 0xd3, 0xf6, 0xf7, 0xf1, 0xff, + 0x10, 0x48, 0x10, 0x49, 0x12, 0x4c, 0x08, 0x60, + 0x10, 0x49, 0x00, 0x20, 0x01, 0x22, 0x19, 0x23, + 0x5b, 0x01, 0x0c, 0x25, 0x43, 0x43, 0x1b, 0x19, + 0x45, 0x43, 0x4a, 0x51, 0x1f, 0x1c, 0x6d, 0x18, + 0xab, 0x60, 0x6b, 0x60, 0x00, 0x25, 0x1e, 0x1c, + 0x14, 0x36, 0x9e, 0x60, 0x33, 0x1c, 0x3c, 0x00, + 0x44, 0x9d, 0x00, 0x00, 0x01, 0x35, 0x27, 0x2d, + 0xf8, 0xdb, 0x01, 0x30, 0x03, 0x28, 0x9f, 0x60, + 0xe8, 0xdb, 0xf8, 0xbd, 0x20, 0x57, 0x01, 0x00, + 0x14, 0xc8, 0x01, 0x00, 0xb4, 0xcf, 0x01, 0x00, + 0x18, 0xd9, 0x01, 0x00, 0xb8, 0xcf, 0x01, 0x00, + 0xb0, 0xb5, 0x07, 0x4c, 0x25, 0x1c, 0xc0, 0x35, + 0x28, 0x6b, 0x1e, 0x21, 0x00, 0xf0, 0xf2, 0xf9, + 0xa2, 0x6b, 0x20, 0x1c, 0xdc, 0x30, 0x29, 0x6b, + 0x3c, 0x00, 0x80, 0x9d, 0x00, 0x00, 0x00, 0xf0, + 0xb6, 0xf9, 0xb0, 0xbd, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x00, 0x20, 0x10, 0x22, 0x10, 0xb5, + 0x0a, 0x49, 0x05, 0xe0, 0x0c, 0x23, 0x43, 0x43, + 0x5c, 0x18, 0x0c, 0x34, 0xcc, 0x50, 0x01, 0x30, + 0x0f, 0x28, 0xf7, 0xd3, 0x0c, 0x23, 0x58, 0x43, + 0x09, 0x50, 0x04, 0x48, 0x41, 0x60, 0x01, 0x60, + 0x02, 0x82, 0x00, 0x21, 0x81, 0x60, 0xc1, 0x60, + 0x10, 0xbd, 0x3c, 0x00, 0xbc, 0x9d, 0x00, 0x00, + 0x84, 0xe2, 0x01, 0x00, 0x44, 0xe3, 0x01, 0x00, + 0x10, 0xb5, 0x08, 0x4c, 0xa0, 0x6a, 0x00, 0x28, + 0x03, 0xd1, 0x07, 0x48, 0xf9, 0xf7, 0xe8, 0xfe, + 0xa0, 0x62, 0x04, 0x48, 0x44, 0x30, 0x00, 0x68, + 0x01, 0x21, 0xf9, 0xf7, 0x95, 0xfc, 0x60, 0x62, + 0x10, 0xbd, 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, + 0xcd, 0x26, 0x01, 0x00, 0xff, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x1e, 0x1c, 0x3c, 0x00, 0xf8, 0x9d, + 0x00, 0x00, 0x81, 0xb0, 0x0a, 0x9f, 0x1c, 0x21, + 0xf6, 0xf7, 0x4d, 0xfb, 0x03, 0x98, 0xa0, 0x61, + 0x25, 0x60, 0x25, 0x61, 0x26, 0x81, 0xa6, 0x82, + 0xe7, 0x60, 0x05, 0xb0, 0xf0, 0xbd, 0x70, 0xb5, + 0x0d, 0x1c, 0xa4, 0x21, 0x04, 0x1c, 0x08, 0x30, + 0xf6, 0xf7, 0x3d, 0xfb, 0x20, 0x1c, 0x44, 0x30, + 0x06, 0x22, 0x29, 0x1c, 0xf6, 0xf7, 0x65, 0xfb, + 0x18, 0x48, 0x3c, 0x23, 0x41, 0x1c, 0x3c, 0x00, + 0x34, 0x9e, 0x00, 0x00, 0x61, 0x62, 0x41, 0x78, + 0x59, 0x43, 0x09, 0x18, 0x89, 0x7a, 0x06, 0x29, + 0x01, 0xd1, 0xa0, 0x62, 0x02, 0xe0, 0x21, 0x1c, + 0x4d, 0x31, 0xa1, 0x62, 0x41, 0x78, 0x3c, 0x23, + 0x59, 0x43, 0x08, 0x18, 0x04, 0x30, 0x0f, 0x49, + 0x20, 0x62, 0x0b, 0x88, 0x00, 0x2b, 0x15, 0xd0, + 0xac, 0x20, 0x00, 0x5d, 0x0b, 0x4a, 0x18, 0x32, + 0x00, 0x02, 0x80, 0x18, 0xb0, 0x30, 0xe0, 0x60, + 0x3c, 0x00, 0x70, 0x9e, 0x00, 0x00, 0x8d, 0x68, + 0x00, 0x20, 0x08, 0xe0, 0xe2, 0x68, 0xc1, 0x00, + 0x54, 0x50, 0xe6, 0x68, 0x82, 0x00, 0x52, 0x19, + 0x71, 0x18, 0x4a, 0x60, 0x01, 0x30, 0x98, 0x42, + 0xf4, 0xdb, 0x70, 0xbd, 0x00, 0x00, 0x68, 0x61, + 0x01, 0x00, 0x58, 0x75, 0x01, 0x00, 0x1f, 0xb5, + 0x04, 0x1c, 0x60, 0x34, 0x61, 0x7a, 0x03, 0x1c, + 0x80, 0x6a, 0x08, 0x4a, 0x02, 0x91, 0x01, 0x90, + 0x03, 0x92, 0x3c, 0x00, 0xac, 0x9e, 0x00, 0x00, + 0xe2, 0x79, 0x18, 0x1c, 0x20, 0x30, 0x00, 0x92, + 0x44, 0x7b, 0x82, 0x7b, 0x5e, 0x20, 0xc1, 0x5a, + 0x18, 0x69, 0x04, 0x30, 0x23, 0x1c, 0x02, 0xf0, + 0x7f, 0xfe, 0x1f, 0xbd, 0x39, 0x4e, 0x00, 0x00, + 0xb0, 0xb5, 0x0b, 0x1c, 0x01, 0x88, 0x69, 0x20, + 0xc0, 0x5c, 0x86, 0xb0, 0x0e, 0x4a, 0x04, 0x91, + 0x03, 0x90, 0x05, 0x92, 0x0d, 0x4d, 0x59, 0x6a, + 0x9a, 0x6a, 0x2d, 0x68, 0x3c, 0x00, 0xe8, 0x9e, + 0x00, 0x00, 0x01, 0x24, 0x00, 0x2d, 0x00, 0xd0, + 0x04, 0x1c, 0x0a, 0x48, 0x00, 0x5d, 0x01, 0x91, + 0x02, 0x92, 0x00, 0x90, 0x18, 0x1c, 0x20, 0x30, + 0x44, 0x7b, 0x82, 0x7b, 0x5e, 0x20, 0xc1, 0x5a, + 0x18, 0x69, 0x04, 0x30, 0x23, 0x1c, 0x02, 0xf0, + 0xa4, 0xfe, 0x06, 0xb0, 0xb0, 0xbd, 0x51, 0x4f, + 0x00, 0x00, 0x18, 0x67, 0x01, 0x00, 0x0a, 0x61, + 0x01, 0x00, 0x01, 0x89, 0x8a, 0x1c, 0x3c, 0x00, + 0x24, 0x9f, 0x00, 0x00, 0x02, 0x81, 0x02, 0x68, + 0x02, 0x3a, 0x02, 0x60, 0x08, 0x0a, 0x09, 0x02, + 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x00, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x08, 0x78, 0x0e, 0x1c, + 0xff, 0x28, 0x14, 0xd0, 0x71, 0x78, 0x02, 0x31, + 0x00, 0x20, 0xf7, 0xf7, 0x45, 0xfb, 0x04, 0x1c, + 0x02, 0x89, 0x00, 0x68, 0x31, 0x1c, 0xf6, 0xf7, + 0xcf, 0xfa, 0x00, 0x2d, 0x06, 0xd0, 0x28, 0x1c, + 0x3c, 0x00, 0x60, 0x9f, 0x00, 0x00, 0xf7, 0xf7, + 0x34, 0xfb, 0x21, 0x1c, 0xf7, 0xf7, 0x57, 0xfa, + 0x00, 0xe0, 0x25, 0x1c, 0x28, 0x1c, 0x70, 0xbd, + 0x00, 0x00, 0xff, 0xb5, 0x0f, 0x1c, 0x1e, 0x1c, + 0x04, 0x1c, 0x98, 0x1c, 0x01, 0x04, 0x09, 0x0c, + 0x00, 0x20, 0x81, 0xb0, 0xf7, 0xf7, 0x27, 0xfb, + 0x05, 0x1c, 0x00, 0x68, 0x00, 0x2c, 0x38, 0x60, + 0x03, 0x99, 0x01, 0x70, 0x38, 0x68, 0x46, 0x70, + 0x06, 0xd0, 0x3c, 0x00, 0x9c, 0x9f, 0x00, 0x00, + 0x20, 0x1c, 0xf7, 0xf7, 0x15, 0xfb, 0x29, 0x1c, + 0xf7, 0xf7, 0x38, 0xfa, 0x00, 0xe0, 0x2c, 0x1c, + 0x20, 0x1c, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0x70, 0xb5, 0x10, 0x48, 0x04, 0x68, 0x04, 0x60, + 0x0f, 0x49, 0x20, 0x20, 0x08, 0x60, 0xa0, 0x05, + 0x0e, 0x4e, 0x02, 0xd5, 0x70, 0x6a, 0xf6, 0xf7, + 0x05, 0xfa, 0xe0, 0x01, 0x02, 0xd5, 0x30, 0x6e, + 0xf6, 0xf7, 0x00, 0xfa, 0x3c, 0x00, 0xd8, 0x9f, + 0x00, 0x00, 0x0a, 0x48, 0x04, 0x40, 0x00, 0x25, + 0x07, 0xe0, 0xe0, 0x07, 0x03, 0xd5, 0xa8, 0x00, + 0x30, 0x58, 0xf6, 0xf7, 0xf6, 0xf9, 0x01, 0x35, + 0x64, 0x08, 0x00, 0x2c, 0xf5, 0xd1, 0x70, 0xbd, + 0x00, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x30, 0x74, 0x01, 0x00, 0xff, 0xfd, + 0xff, 0xfe, 0x80, 0xb5, 0x07, 0x21, 0x80, 0x20, + 0xf7, 0xf7, 0x49, 0xf9, 0x80, 0xbd, 0x3c, 0x00, + 0x14, 0xa0, 0x00, 0x00, 0xf8, 0xb5, 0x14, 0x4b, + 0x82, 0x00, 0x9c, 0x58, 0xca, 0x06, 0x01, 0x27, + 0x39, 0x1c, 0xd2, 0x0e, 0x91, 0x40, 0x11, 0x4a, + 0x11, 0x60, 0x11, 0x4e, 0x40, 0x00, 0x85, 0x19, + 0x15, 0xe0, 0x60, 0x60, 0x20, 0x7b, 0xc1, 0x00, + 0x89, 0x19, 0x10, 0x31, 0x0a, 0x78, 0x0d, 0x23, + 0x9a, 0x43, 0x0a, 0x70, 0x39, 0x1c, 0x81, 0x40, + 0x31, 0x73, 0x07, 0x49, 0x00, 0x01, 0x08, 0x31, + 0x3c, 0x00, 0x50, 0xa0, 0x00, 0x00, 0x40, 0x18, + 0x08, 0x4a, 0x41, 0x68, 0x42, 0x60, 0x80, 0x68, + 0xf6, 0xf7, 0xbe, 0xf9, 0x28, 0x7b, 0x00, 0x28, + 0xe6, 0xd1, 0xf8, 0xbd, 0x00, 0x00, 0xa4, 0x73, + 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, 0x00, 0x60, + 0x07, 0x00, 0xd1, 0x75, 0x00, 0x00, 0x03, 0x49, + 0x01, 0x20, 0x09, 0x7a, 0x00, 0x29, 0x00, 0xd1, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x04, 0x7a, + 0x01, 0x00, 0x3c, 0x00, 0x8c, 0xa0, 0x00, 0x00, + 0x03, 0x49, 0x01, 0x20, 0x89, 0x7a, 0x00, 0x29, + 0x00, 0xd1, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, + 0x14, 0x7a, 0x01, 0x00, 0xb0, 0xb5, 0x00, 0x24, + 0xfa, 0xf7, 0x76, 0xfc, 0x00, 0x28, 0x14, 0xd0, + 0x01, 0x24, 0x08, 0xf0, 0x7d, 0xfe, 0x0a, 0x4d, + 0x0a, 0x4b, 0x00, 0x21, 0x5a, 0x18, 0xa0, 0x32, + 0x12, 0x78, 0x10, 0x2a, 0x06, 0xd3, 0x8a, 0x00, + 0xd2, 0x18, 0x92, 0x6f, 0x3c, 0x00, 0xc8, 0xa0, + 0x00, 0x00, 0x82, 0x1a, 0xaa, 0x42, 0x00, 0xd2, + 0x00, 0x24, 0x01, 0x31, 0x03, 0x29, 0xf0, 0xd3, + 0x20, 0x1c, 0xb0, 0xbd, 0x00, 0x00, 0x8b, 0x08, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x01, 0x48, + 0xc0, 0x68, 0x70, 0x47, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x70, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x16, 0x1c, 0xfd, 0xf7, 0x2e, 0xfe, 0x00, 0x20, + 0xe0, 0x60, 0x26, 0x61, 0xa5, 0x60, 0x3c, 0x00, + 0x04, 0xa1, 0x00, 0x00, 0x70, 0xbd, 0x00, 0x00, + 0xf8, 0xb5, 0x17, 0x1c, 0x0e, 0x1c, 0x04, 0x1c, + 0x00, 0x28, 0x01, 0xd0, 0x00, 0x2e, 0x01, 0xd1, + 0xf7, 0xf7, 0xf2, 0xf8, 0xa0, 0x68, 0x07, 0xf0, + 0x49, 0xf9, 0x05, 0x1c, 0x01, 0xd1, 0xf7, 0xf7, + 0xeb, 0xf8, 0x29, 0x1c, 0x6e, 0x60, 0xaf, 0x60, + 0x20, 0x1c, 0xfd, 0xf7, 0xfd, 0xfd, 0xe0, 0x68, + 0x41, 0x1c, 0xe1, 0x60, 0x00, 0x28, 0x03, 0xd1, + 0x3c, 0x00, 0x40, 0xa1, 0x00, 0x00, 0x05, 0x48, + 0x21, 0x69, 0x05, 0xf0, 0x2c, 0xf9, 0x20, 0x68, + 0xa8, 0x42, 0x02, 0xd1, 0x38, 0x1c, 0xf6, 0xf7, + 0x48, 0xf9, 0xf8, 0xbd, 0x00, 0x00, 0xc4, 0x60, + 0x01, 0x00, 0x00, 0x22, 0x01, 0x39, 0x10, 0xb5, + 0x05, 0xe0, 0x0c, 0x23, 0x53, 0x43, 0x1c, 0x18, + 0x0c, 0x34, 0xc4, 0x50, 0x01, 0x32, 0x8a, 0x42, + 0xf7, 0xd3, 0x00, 0x21, 0x0c, 0x23, 0x5a, 0x43, + 0x81, 0x50, 0x3c, 0x00, 0x7c, 0xa1, 0x00, 0x00, + 0x10, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x01, 0xd1, 0xf7, 0xf7, 0xbb, 0xf8, 0x20, 0x1c, + 0xfd, 0xf7, 0xda, 0xfd, 0x01, 0x1c, 0x85, 0x68, + 0xa0, 0x68, 0x07, 0xf0, 0x09, 0xf9, 0xe0, 0x68, + 0x01, 0x38, 0xe0, 0x60, 0x03, 0xd1, 0x06, 0x48, + 0x21, 0x69, 0x05, 0xf0, 0xe7, 0xf8, 0x21, 0x68, + 0x00, 0x29, 0x03, 0xd0, 0x88, 0x68, 0x49, 0x68, + 0xf6, 0xf7, 0x11, 0xf9, 0x3c, 0x00, 0xb8, 0xa1, + 0x00, 0x00, 0x28, 0x1c, 0xb0, 0xbd, 0xc4, 0x60, + 0x01, 0x00, 0x01, 0x21, 0x00, 0x28, 0x8c, 0xb5, + 0x00, 0xd1, 0x00, 0x21, 0x0e, 0x20, 0x09, 0xf0, + 0x32, 0xfa, 0x83, 0x20, 0x00, 0xab, 0x18, 0x80, + 0x00, 0x20, 0x04, 0xf0, 0x0c, 0xf8, 0x01, 0x90, + 0x68, 0x46, 0x03, 0xf0, 0x7a, 0xf9, 0x8c, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x08, 0xf0, 0xdf, 0xfd, + 0x06, 0x49, 0x0a, 0x89, 0x06, 0x49, 0x3c, 0x00, + 0xf4, 0xa1, 0x00, 0x00, 0x09, 0x6e, 0x41, 0x1a, + 0x0b, 0x0c, 0x59, 0x18, 0x89, 0x1a, 0x09, 0x04, + 0x09, 0x0c, 0x40, 0x1a, 0x80, 0xbd, 0x00, 0x00, + 0x00, 0x90, 0x07, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x70, 0xb5, 0x04, 0x1c, 0x88, 0x7e, 0x0d, 0x1c, + 0x20, 0x28, 0x03, 0xd9, 0x03, 0x21, 0x18, 0x20, + 0xf7, 0xf7, 0x40, 0xf8, 0x00, 0x26, 0x26, 0x76, + 0xa8, 0x7e, 0x29, 0x1c, 0x1b, 0x31, 0x60, 0x76, + 0x3c, 0x00, 0x30, 0xa2, 0x00, 0x00, 0x20, 0x1c, + 0x1d, 0x30, 0xaa, 0x7e, 0xf6, 0xf7, 0x5f, 0xf9, + 0x68, 0x68, 0x29, 0x1c, 0x60, 0x60, 0xa8, 0x68, + 0x13, 0x31, 0xa0, 0x60, 0xa8, 0x7b, 0x06, 0x22, + 0x20, 0x73, 0xe8, 0x7b, 0x60, 0x73, 0x28, 0x7c, + 0xa0, 0x73, 0x68, 0x7c, 0xe0, 0x73, 0xa8, 0x89, + 0x20, 0x82, 0xa8, 0x7c, 0xe0, 0x76, 0x26, 0x77, + 0x20, 0x1c, 0x12, 0x30, 0xa6, 0x76, 0xf6, 0xf7, + 0x46, 0xf9, 0x3c, 0x00, 0x6c, 0xa2, 0x00, 0x00, + 0x60, 0x68, 0x43, 0x1c, 0x1d, 0xd0, 0x11, 0x4d, + 0x6d, 0x61, 0x28, 0x68, 0x00, 0x28, 0x1a, 0xd0, + 0x22, 0x7b, 0x01, 0x1c, 0x0b, 0x7b, 0x9a, 0x42, + 0x01, 0xd3, 0x20, 0x60, 0x14, 0xe0, 0x0b, 0x1c, + 0x09, 0x68, 0x00, 0x29, 0x0b, 0xd0, 0x0e, 0x7b, + 0xb2, 0x42, 0x08, 0xd2, 0x0b, 0x68, 0x00, 0x2b, + 0xf0, 0xd0, 0x1e, 0x7b, 0xb2, 0x42, 0xed, 0xd3, + 0x23, 0x60, 0x0c, 0x60, 0x3c, 0x00, 0xa8, 0xa2, + 0x00, 0x00, 0x01, 0xe0, 0x21, 0x60, 0x1c, 0x60, + 0x00, 0x20, 0x70, 0xbd, 0x26, 0x60, 0x2c, 0x60, + 0xfa, 0xe7, 0xa4, 0x6e, 0x01, 0x00, 0x13, 0x4a, + 0xb0, 0xb5, 0x51, 0x68, 0x01, 0x24, 0x00, 0x29, + 0x1e, 0xd0, 0x13, 0x1d, 0xd1, 0x61, 0x13, 0x62, + 0x43, 0x68, 0x04, 0xe0, 0x10, 0x62, 0x00, 0x68, + 0xd0, 0x61, 0x00, 0x28, 0x14, 0xd0, 0xd0, 0x69, + 0x45, 0x68, 0x9d, 0x42, 0xf6, 0xd1, 0x3c, 0x00, + 0xe4, 0xa2, 0x00, 0x00, 0x10, 0x6a, 0x81, 0x42, + 0x04, 0xd1, 0x51, 0x60, 0xd0, 0x69, 0x00, 0x68, + 0x08, 0x60, 0x02, 0xe0, 0xd1, 0x69, 0x09, 0x68, + 0x01, 0x60, 0xd0, 0x69, 0xfc, 0xf7, 0xce, 0xff, + 0x00, 0x28, 0x00, 0xd0, 0x00, 0x24, 0x20, 0x1c, + 0xb0, 0xbd, 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, + 0xb0, 0xb5, 0x17, 0x4d, 0x01, 0x24, 0x29, 0x68, + 0x00, 0x29, 0x27, 0xd0, 0x6d, 0x61, 0x29, 0x61, + 0x3c, 0x00, 0x20, 0xa3, 0x00, 0x00, 0x43, 0x68, + 0x04, 0xe0, 0x68, 0x61, 0x00, 0x68, 0x28, 0x61, + 0x00, 0x28, 0x1d, 0xd0, 0x28, 0x69, 0x42, 0x68, + 0x9a, 0x42, 0xf6, 0xd1, 0xaa, 0x69, 0x2b, 0x69, + 0x9a, 0x42, 0x00, 0xd1, 0xa9, 0x61, 0x6a, 0x69, + 0x91, 0x42, 0x03, 0xd1, 0x29, 0x60, 0x00, 0x68, + 0x08, 0x60, 0x06, 0xe0, 0x00, 0x68, 0x10, 0x60, + 0x28, 0x68, 0x00, 0x28, 0x01, 0xd1, 0x07, 0xf0, + 0xcc, 0xfe, 0x3c, 0x00, 0x5c, 0xa3, 0x00, 0x00, + 0x28, 0x69, 0xfc, 0xf7, 0x9d, 0xff, 0x00, 0x28, + 0x02, 0xd0, 0x00, 0x24, 0x00, 0xe0, 0x01, 0x24, + 0x20, 0x1c, 0xb0, 0xbd, 0xa4, 0x6e, 0x01, 0x00, + 0xb0, 0xb5, 0x05, 0x1c, 0x07, 0x48, 0x44, 0x68, + 0x07, 0xe0, 0x21, 0x1c, 0x44, 0x31, 0x28, 0x1c, + 0x00, 0xf0, 0xd6, 0xfc, 0x00, 0x28, 0x02, 0xd1, + 0x64, 0x68, 0x00, 0x2c, 0xf5, 0xd1, 0x20, 0x1c, + 0xb0, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xa3, + 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, 0x70, 0xb5, + 0x0d, 0x1c, 0x14, 0x1c, 0x00, 0x28, 0x0b, 0x4e, + 0x08, 0xd0, 0x70, 0x6e, 0x06, 0x23, 0x58, 0x43, + 0x02, 0x04, 0x12, 0x0c, 0x31, 0x1c, 0x28, 0x1c, + 0x22, 0x80, 0x07, 0xe0, 0x21, 0x88, 0x06, 0x20, + 0xf6, 0xf7, 0xa7, 0xf9, 0x70, 0x66, 0x22, 0x88, + 0x29, 0x1c, 0x30, 0x1c, 0xf6, 0xf7, 0x95, 0xf8, + 0x01, 0x20, 0x70, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xa3, 0x00, 0x00, 0x10, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x03, 0x28, 0x03, 0xd8, 0x04, 0x4a, + 0xc0, 0x00, 0x11, 0x50, 0x80, 0xbd, 0x01, 0x21, + 0x26, 0x20, 0xf6, 0xf7, 0x5b, 0xff, 0x80, 0xbd, + 0x7c, 0x79, 0x01, 0x00, 0xb0, 0xb5, 0x05, 0x1c, + 0xc0, 0x68, 0x01, 0x89, 0x39, 0x29, 0x39, 0xd3, + 0x04, 0x68, 0xa0, 0x79, 0x88, 0x28, 0x35, 0xd1, + 0xe0, 0x79, 0x8e, 0x28, 0x32, 0xd1, 0x20, 0x7a, + 0x3c, 0x00, 0x10, 0xa4, 0x00, 0x00, 0x01, 0x28, + 0x2f, 0xd1, 0x60, 0x7a, 0x03, 0x28, 0x2c, 0xd1, + 0x20, 0x7b, 0x02, 0x28, 0x01, 0xd0, 0xfe, 0x28, + 0x27, 0xd1, 0x60, 0x7b, 0x1d, 0x21, 0x08, 0x40, + 0x01, 0x28, 0x22, 0xd1, 0xa0, 0x7b, 0xc8, 0x21, + 0x08, 0x40, 0x08, 0x28, 0x1d, 0xd1, 0xa8, 0x1d, + 0xfb, 0xf7, 0xe1, 0xf9, 0x00, 0x28, 0x18, 0xd0, + 0x19, 0x20, 0x21, 0x5c, 0x00, 0x29, 0x14, 0xd1, + 0x01, 0x30, 0x3c, 0x00, 0x4c, 0xa4, 0x00, 0x00, + 0x39, 0x28, 0xf9, 0xdb, 0x68, 0x8b, 0x04, 0x21, + 0x08, 0x43, 0x68, 0x83, 0x03, 0xf0, 0xd6, 0xfe, + 0x00, 0x28, 0x09, 0xd1, 0x00, 0x23, 0x00, 0x22, + 0x26, 0x20, 0x04, 0x49, 0x09, 0xf0, 0x92, 0xf9, + 0x03, 0x48, 0x00, 0x68, 0x01, 0xf0, 0x84, 0xf9, + 0xb0, 0xbd, 0x00, 0x00, 0x50, 0xc3, 0x00, 0x00, + 0x0c, 0x79, 0x01, 0x00, 0xb0, 0xb5, 0x08, 0x4c, + 0xa3, 0x68, 0x01, 0x33, 0x3c, 0x00, 0x88, 0xa4, + 0x00, 0x00, 0xa3, 0x60, 0x0c, 0x1c, 0x09, 0xd0, + 0x25, 0x68, 0x00, 0x2d, 0x03, 0xd0, 0x23, 0x7a, + 0x61, 0x68, 0xf5, 0xf7, 0xa3, 0xff, 0x20, 0x1c, + 0xf7, 0xf7, 0xa9, 0xf9, 0xb0, 0xbd, 0x94, 0x79, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0xc0, 0x68, + 0x01, 0x89, 0x05, 0x68, 0x08, 0x29, 0x53, 0xd3, + 0x06, 0x22, 0x28, 0x1c, 0x55, 0x49, 0xf5, 0xf7, + 0x9e, 0xff, 0x00, 0x28, 0x37, 0xd1, 0x3c, 0x00, + 0xc4, 0xa4, 0x00, 0x00, 0xe9, 0x88, 0x52, 0x4e, + 0x04, 0x3e, 0x81, 0x29, 0x24, 0xd1, 0xe5, 0x68, + 0x29, 0x68, 0x08, 0x7a, 0x4a, 0x7a, 0x00, 0x02, + 0x80, 0x18, 0x00, 0x04, 0x00, 0x0c, 0x42, 0x0b, + 0x00, 0x05, 0x00, 0x0d, 0xe2, 0x75, 0x20, 0x83, + 0x4b, 0x89, 0x00, 0x20, 0x42, 0x00, 0xb2, 0x5a, + 0x9a, 0x42, 0x06, 0xd1, 0x28, 0x89, 0x0c, 0x38, + 0x02, 0x0a, 0x00, 0x02, 0x10, 0x43, 0x48, 0x81, + 0x3c, 0x00, 0x00, 0xa5, 0x00, 0x00, 0x02, 0xe0, + 0x01, 0x30, 0x02, 0x28, 0xf1, 0xd3, 0xe0, 0x68, + 0x01, 0x89, 0x0a, 0x39, 0x01, 0x81, 0xe0, 0x68, + 0x01, 0x68, 0x0a, 0x31, 0x1c, 0xe0, 0x00, 0x22, + 0x00, 0x20, 0x43, 0x00, 0xf3, 0x5a, 0x8b, 0x42, + 0x01, 0xd1, 0x01, 0x22, 0x02, 0xe0, 0x01, 0x30, + 0x02, 0x28, 0xf6, 0xd3, 0x00, 0x2a, 0x11, 0xd1, + 0x07, 0xe0, 0x36, 0x49, 0x06, 0x22, 0x06, 0x31, + 0x28, 0x1c, 0x3c, 0x00, 0x3c, 0xa5, 0x00, 0x00, + 0xf5, 0xf7, 0x5e, 0xff, 0x00, 0x28, 0x08, 0xd1, + 0xe0, 0x68, 0x01, 0x89, 0x06, 0x39, 0x01, 0x81, + 0xe0, 0x68, 0x01, 0x68, 0x06, 0x31, 0x01, 0x60, + 0x10, 0xe0, 0xe0, 0x68, 0xff, 0xf7, 0xe2, 0xfc, + 0x0c, 0xe0, 0x02, 0x31, 0x01, 0x81, 0xe0, 0x68, + 0x01, 0x68, 0x02, 0x39, 0x01, 0x60, 0xe0, 0x68, + 0x00, 0x89, 0x02, 0x38, 0x02, 0x0a, 0x00, 0x02, + 0x10, 0x43, 0x08, 0x80, 0x3c, 0x00, 0x78, 0xa5, + 0x00, 0x00, 0xe0, 0x68, 0x03, 0x25, 0x02, 0x89, + 0x01, 0x68, 0x24, 0x4e, 0x02, 0x2a, 0x10, 0xd9, + 0x09, 0x88, 0x08, 0x29, 0x05, 0xd0, 0xc1, 0x23, + 0xdb, 0x00, 0x99, 0x42, 0x03, 0xd1, 0x01, 0x25, + 0x02, 0xe0, 0x00, 0x25, 0x00, 0xe0, 0x02, 0x25, + 0xe9, 0x00, 0x71, 0x58, 0x00, 0x29, 0x00, 0xd1, + 0x02, 0x25, 0xf7, 0xf7, 0x04, 0xf8, 0xe9, 0x00, + 0x89, 0x19, 0x89, 0x88, 0x88, 0x42, 0x3c, 0x00, + 0xb4, 0xa5, 0x00, 0x00, 0x00, 0xd9, 0x03, 0x25, + 0xa1, 0x1d, 0x20, 0x1c, 0xfd, 0xf7, 0x34, 0xfc, + 0x00, 0x28, 0x00, 0xd1, 0x03, 0x25, 0x02, 0x2d, + 0x05, 0xd0, 0x03, 0x2d, 0x07, 0xd1, 0xe0, 0x68, + 0xf6, 0xf7, 0xe2, 0xff, 0x70, 0xbd, 0x20, 0x1c, + 0xfd, 0xf7, 0x1c, 0xfd, 0x70, 0xbd, 0xe0, 0x68, + 0x01, 0x89, 0x02, 0x39, 0x01, 0x81, 0xe0, 0x68, + 0x01, 0x68, 0x02, 0x31, 0x01, 0x60, 0xe8, 0x00, + 0x3c, 0x00, 0xf0, 0xa5, 0x00, 0x00, 0x31, 0x58, + 0x20, 0x1c, 0xf5, 0xf7, 0xf1, 0xfe, 0x00, 0x28, + 0xef, 0xd1, 0xe0, 0x68, 0x01, 0x89, 0x02, 0x31, + 0x01, 0x81, 0xe0, 0x68, 0x01, 0x68, 0x02, 0x39, + 0x01, 0x60, 0xe3, 0xe7, 0x00, 0x00, 0x6a, 0x46, + 0x01, 0x00, 0x7c, 0x79, 0x01, 0x00, 0x70, 0xb5, + 0x0e, 0x1c, 0x04, 0x1c, 0x15, 0x1c, 0xf7, 0xf7, + 0x8c, 0xfb, 0x00, 0x28, 0x2a, 0xd0, 0x1b, 0x49, + 0x08, 0x68, 0x3c, 0x00, 0x2c, 0xa6, 0x00, 0x00, + 0x01, 0x30, 0x08, 0x60, 0x00, 0x2e, 0x0a, 0xd0, + 0x01, 0x2e, 0x0b, 0xd0, 0x02, 0x2e, 0x0f, 0xd1, + 0x20, 0x1c, 0x04, 0xf0, 0xcd, 0xf8, 0x20, 0x1c, + 0xff, 0xf7, 0xd6, 0xfe, 0x0c, 0xe0, 0x08, 0x21, + 0xe0, 0x68, 0x02, 0xe0, 0xc1, 0x21, 0xe0, 0x68, + 0xc9, 0x00, 0x04, 0xf0, 0x35, 0xf9, 0x03, 0xe0, + 0x02, 0x21, 0x26, 0x20, 0xf6, 0xf7, 0x20, 0xfe, + 0xe2, 0x7d, 0xe1, 0x6a, 0x3c, 0x00, 0x68, 0xa6, + 0x00, 0x00, 0x28, 0x1c, 0xfc, 0xf7, 0x95, 0xfb, + 0x20, 0x63, 0x00, 0x20, 0x20, 0x62, 0xa0, 0x62, + 0x20, 0x1c, 0x00, 0xf0, 0x6c, 0xfe, 0x70, 0xbd, + 0xe0, 0x68, 0xf6, 0xf7, 0x8a, 0xff, 0x00, 0x2d, + 0xf9, 0xd0, 0xe3, 0x7d, 0x00, 0x22, 0x01, 0x20, + 0xe1, 0x6a, 0xf5, 0xf7, 0xa7, 0xfe, 0x70, 0xbd, + 0x00, 0x00, 0x94, 0x79, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x28, 0x04, 0xd1, 0x05, 0x48, 0x3c, 0x00, + 0xa4, 0xa6, 0x00, 0x00, 0x00, 0x68, 0x01, 0xf0, + 0x09, 0xf9, 0x80, 0xbd, 0x03, 0x21, 0x26, 0x20, + 0xf6, 0xf7, 0xf8, 0xfd, 0x80, 0xbd, 0x00, 0x00, + 0x0c, 0x79, 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, + 0x80, 0x79, 0x00, 0x24, 0xc0, 0x07, 0x2d, 0xd5, + 0xf0, 0x68, 0x00, 0x68, 0x41, 0x7a, 0x11, 0x29, + 0x28, 0xd1, 0xc1, 0x88, 0x0a, 0x0a, 0x09, 0x02, + 0x11, 0x43, 0xc9, 0x04, 0x22, 0xd1, 0x01, 0x78, + 0x3c, 0x00, 0xe0, 0xa6, 0x00, 0x00, 0x11, 0x4f, + 0x09, 0x07, 0x89, 0x0e, 0x08, 0x18, 0x41, 0x88, + 0x0a, 0x0a, 0x09, 0x02, 0x11, 0x43, 0x0d, 0x04, + 0x2d, 0x0c, 0x43, 0x2d, 0x39, 0x68, 0x01, 0xd1, + 0xca, 0x07, 0x0e, 0xd4, 0x44, 0x2d, 0x06, 0xd1, + 0xc9, 0x07, 0x04, 0xd5, 0x24, 0x30, 0x00, 0xf0, + 0x22, 0xfb, 0x00, 0x28, 0x05, 0xd0, 0x06, 0x48, + 0x85, 0x42, 0x06, 0xd1, 0x38, 0x68, 0x80, 0x07, + 0x03, 0xd5, 0x3c, 0x00, 0x1c, 0xa7, 0x00, 0x00, + 0x01, 0x24, 0xf0, 0x68, 0xf6, 0xf7, 0x3a, 0xff, + 0x20, 0x1c, 0xf8, 0xbd, 0x7c, 0x5a, 0x01, 0x00, + 0x6c, 0x07, 0x00, 0x00, 0x80, 0xb5, 0x00, 0x28, + 0x07, 0xd0, 0x00, 0x21, 0x26, 0x20, 0x08, 0xf0, + 0x7b, 0xff, 0x02, 0x48, 0x00, 0x68, 0x01, 0xf0, + 0xbb, 0xf8, 0x80, 0xbd, 0x0c, 0x79, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x09, 0x4a, 0x08, 0x1c, + 0x51, 0x68, 0x01, 0x31, 0x3c, 0x00, 0x58, 0xa7, + 0x00, 0x00, 0x51, 0x60, 0x00, 0x21, 0x21, 0x62, + 0xa1, 0x62, 0xe2, 0x7d, 0xe1, 0x6a, 0xfc, 0xf7, + 0x18, 0xfb, 0x20, 0x63, 0x20, 0x1c, 0xf7, 0xf7, + 0xe6, 0xfa, 0x20, 0x1c, 0x00, 0xf0, 0xef, 0xfd, + 0x10, 0xbd, 0x94, 0x79, 0x01, 0x00, 0x0c, 0xb5, + 0x02, 0x1c, 0x08, 0x1c, 0x00, 0x21, 0x01, 0x91, + 0x00, 0x92, 0x6a, 0x46, 0x01, 0xa9, 0x00, 0xf0, + 0x02, 0xf8, 0x0c, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xa7, 0x00, 0x00, 0x70, 0xb5, 0x13, 0x68, + 0x00, 0x2b, 0x1e, 0xd0, 0x00, 0x26, 0x0b, 0x68, + 0x00, 0x2b, 0x02, 0xd1, 0x13, 0x68, 0x1b, 0x68, + 0x0b, 0x60, 0x13, 0x68, 0x1c, 0x68, 0x1b, 0x89, + 0xe5, 0x18, 0x08, 0xe0, 0x5c, 0x78, 0x1c, 0x19, + 0x02, 0x34, 0x0c, 0x60, 0x1c, 0x78, 0x84, 0x42, + 0x01, 0xd1, 0x18, 0x1c, 0x70, 0xbd, 0x0b, 0x68, + 0xab, 0x42, 0xf3, 0xd3, 0x13, 0x68, 0xdb, 0x68, + 0x3c, 0x00, 0xd0, 0xa7, 0x00, 0x00, 0x13, 0x60, + 0x0e, 0x60, 0x13, 0x68, 0x00, 0x2b, 0xe1, 0xd1, + 0x00, 0x20, 0x70, 0xbd, 0x00, 0x00, 0x70, 0xb5, + 0x03, 0x1c, 0x20, 0xd0, 0x18, 0x68, 0x1e, 0x89, + 0x05, 0x1c, 0x16, 0xe0, 0x04, 0x78, 0xdd, 0x2c, + 0x10, 0xd1, 0x84, 0x78, 0x00, 0x2c, 0x0d, 0xd1, + 0xc4, 0x78, 0x50, 0x2c, 0x0a, 0xd1, 0x04, 0x79, + 0xf2, 0x2c, 0x07, 0xd1, 0x44, 0x79, 0x8c, 0x42, + 0x04, 0xd1, 0x3c, 0x00, 0x0c, 0xa8, 0x00, 0x00, + 0x02, 0x29, 0x0c, 0xd1, 0x84, 0x79, 0x94, 0x42, + 0x09, 0xd0, 0x44, 0x78, 0x20, 0x18, 0x02, 0x30, + 0x44, 0x1b, 0xb4, 0x42, 0xe5, 0xdb, 0xdb, 0x68, + 0x00, 0x2b, 0xde, 0xd1, 0x00, 0x20, 0x70, 0xbd, + 0x04, 0x49, 0x80, 0xb5, 0x0a, 0x78, 0x0a, 0x20, + 0x00, 0x2a, 0x00, 0xd0, 0x48, 0x6a, 0x00, 0xf0, + 0xd1, 0xf8, 0x80, 0xbd, 0x1c, 0x75, 0x01, 0x00, + 0xb0, 0xb5, 0x17, 0x4c, 0x3c, 0x00, 0x48, 0xa8, + 0x00, 0x00, 0x20, 0x68, 0x00, 0x28, 0x29, 0xd0, + 0x16, 0x4d, 0xe8, 0x69, 0x00, 0x28, 0x25, 0xd1, + 0x01, 0xf0, 0x3f, 0xfa, 0x00, 0x28, 0x21, 0xd1, + 0xff, 0xf7, 0x41, 0xfc, 0x00, 0x28, 0x1d, 0xd1, + 0x20, 0x68, 0xa9, 0x69, 0x40, 0x18, 0x08, 0xf0, + 0xd6, 0xf9, 0x00, 0x28, 0x16, 0xd0, 0x02, 0xf0, + 0x06, 0xfd, 0x21, 0x68, 0x40, 0x18, 0x08, 0xf0, + 0xce, 0xf9, 0x00, 0x28, 0x0e, 0xd0, 0x3c, 0x00, + 0x84, 0xa8, 0x00, 0x00, 0x01, 0x20, 0xe8, 0x61, + 0x00, 0x22, 0x25, 0x21, 0x80, 0x20, 0x08, 0xf0, + 0x8f, 0xff, 0x06, 0x48, 0x29, 0x6a, 0x04, 0xf0, + 0x83, 0xfd, 0x01, 0x21, 0x28, 0x6a, 0x00, 0xf0, + 0x89, 0xff, 0xb0, 0xbd, 0xe8, 0x59, 0x01, 0x00, + 0x1c, 0x75, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x00, 0x24, 0xfa, 0xf7, + 0x0b, 0xff, 0x18, 0x4e, 0x71, 0x6a, 0x40, 0x18, + 0x3c, 0x00, 0xc0, 0xa8, 0x00, 0x00, 0x00, 0xf0, + 0x8e, 0xf8, 0x00, 0x28, 0x0b, 0xd1, 0x04, 0xf0, + 0xfe, 0xfb, 0x00, 0x21, 0x25, 0x20, 0x08, 0xf0, + 0xb0, 0xfe, 0x03, 0x22, 0x29, 0x1c, 0x28, 0x1c, + 0x00, 0xf0, 0xaf, 0xf8, 0x18, 0xe0, 0x70, 0x6a, + 0x44, 0x1e, 0x00, 0xf0, 0x7c, 0xf8, 0x00, 0x28, + 0x12, 0xd1, 0x0c, 0x48, 0x31, 0x6a, 0x04, 0xf0, + 0x56, 0xfd, 0x01, 0x21, 0x30, 0x6a, 0x00, 0xf0, + 0x5c, 0xff, 0x3c, 0x00, 0xfc, 0xa8, 0x00, 0x00, + 0x00, 0x20, 0xfa, 0xf7, 0x0d, 0xfe, 0x06, 0xf0, + 0x03, 0xf8, 0x00, 0x23, 0x00, 0x22, 0x25, 0x20, + 0x05, 0x49, 0x08, 0xf0, 0x3f, 0xff, 0x20, 0x1c, + 0x07, 0xf0, 0xfc, 0xfa, 0x70, 0xbd, 0x00, 0x00, + 0x1c, 0x75, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x10, 0x27, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x28, + 0x07, 0xd0, 0x80, 0x28, 0x0d, 0xd1, 0x00, 0x22, + 0x00, 0x21, 0x08, 0x48, 0x3c, 0x00, 0x38, 0xa9, + 0x00, 0x00, 0xf8, 0xf7, 0x9a, 0xfe, 0x80, 0xbd, + 0x01, 0x29, 0x02, 0xd1, 0x06, 0x49, 0x00, 0x20, + 0xc8, 0x61, 0x04, 0xf0, 0xbe, 0xfb, 0x80, 0xbd, + 0x05, 0x21, 0x25, 0x20, 0xf6, 0xf7, 0xa7, 0xfc, + 0x80, 0xbd, 0x61, 0xa9, 0x00, 0x00, 0x1c, 0x75, + 0x01, 0x00, 0x00, 0x21, 0x00, 0x28, 0x80, 0xb5, + 0x01, 0xd1, 0x03, 0x48, 0x41, 0x68, 0x01, 0x22, + 0x25, 0x20, 0x08, 0xf0, 0x2c, 0xfe, 0x3c, 0x00, + 0x74, 0xa9, 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, + 0xe8, 0x59, 0x01, 0x00, 0x02, 0x49, 0xc8, 0x68, + 0x01, 0x38, 0x48, 0x62, 0x70, 0x47, 0x00, 0x00, + 0x1c, 0x75, 0x01, 0x00, 0x38, 0xb5, 0x03, 0x1c, + 0x08, 0x1c, 0x19, 0x1c, 0x11, 0x4b, 0x06, 0xd0, + 0x01, 0x21, 0x11, 0x80, 0x0a, 0x1c, 0x19, 0x1c, + 0xf5, 0xf7, 0xaa, 0xfd, 0x17, 0xe0, 0x0d, 0x4d, + 0x01, 0x1c, 0x2c, 0x78, 0x12, 0x88, 0x18, 0x1c, + 0x3c, 0x00, 0xb0, 0xa9, 0x00, 0x00, 0xf5, 0xf7, + 0xa2, 0xfd, 0x28, 0x78, 0x84, 0x42, 0x0d, 0xd0, + 0x00, 0x23, 0x6b, 0x61, 0x00, 0x28, 0x03, 0xd0, + 0x00, 0x20, 0x07, 0xf0, 0xa4, 0xfa, 0x05, 0xe0, + 0x00, 0x22, 0x00, 0x21, 0x00, 0x20, 0x00, 0x92, + 0xf8, 0xf7, 0x23, 0xfc, 0x01, 0x20, 0x38, 0xbd, + 0x00, 0x00, 0x1c, 0x75, 0x01, 0x00, 0x70, 0xb5, + 0x04, 0x1c, 0x01, 0x26, 0x08, 0xf0, 0xe1, 0xf9, + 0x05, 0x1c, 0x3c, 0x00, 0xec, 0xa9, 0x00, 0x00, + 0x00, 0x20, 0xfa, 0xf7, 0x8b, 0xfd, 0x44, 0x43, + 0x02, 0xf0, 0x40, 0xfc, 0x02, 0xf0, 0x3e, 0xfc, + 0x01, 0x1c, 0x23, 0x1c, 0x00, 0x22, 0x28, 0x1c, + 0x08, 0xf0, 0x7c, 0xfa, 0x00, 0x28, 0x13, 0xd1, + 0x0a, 0x48, 0x23, 0x1c, 0x00, 0x22, 0x81, 0x69, + 0x28, 0x1c, 0x08, 0xf0, 0x73, 0xfa, 0x00, 0x28, + 0x0a, 0xd1, 0xf8, 0xf7, 0x19, 0xfc, 0x01, 0x1c, + 0x23, 0x1c, 0x00, 0x22, 0x3c, 0x00, 0x28, 0xaa, + 0x00, 0x00, 0x28, 0x1c, 0x08, 0xf0, 0x69, 0xfa, + 0x00, 0x28, 0x00, 0xd1, 0x00, 0x26, 0x30, 0x1c, + 0x70, 0xbd, 0x1c, 0x75, 0x01, 0x00, 0x70, 0xb5, + 0x0d, 0x1c, 0x04, 0x1c, 0x16, 0x1c, 0x07, 0xf0, + 0x76, 0xf9, 0x00, 0x28, 0x0d, 0xd0, 0xfa, 0xf7, + 0x52, 0xfe, 0x00, 0x28, 0x09, 0xd0, 0xff, 0x30, + 0x01, 0x30, 0x43, 0x68, 0x00, 0x2b, 0x04, 0xd0, + 0x22, 0x1c, 0x29, 0x1c, 0x30, 0x1c, 0x3c, 0x00, + 0x64, 0xaa, 0x00, 0x00, 0xf5, 0xf7, 0xbb, 0xfc, + 0x70, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x21, + 0x1d, 0x20, 0x08, 0xf0, 0xdf, 0xfd, 0x07, 0x4a, + 0x07, 0x48, 0x11, 0x69, 0x01, 0x60, 0x51, 0x69, + 0x41, 0x60, 0x06, 0x49, 0x49, 0x68, 0x81, 0x60, + 0x00, 0x21, 0xc1, 0x60, 0x03, 0xf0, 0x74, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0x28, 0x61, 0x01, 0x00, + 0x48, 0x75, 0x01, 0x00, 0x90, 0x5c, 0x01, 0x00, + 0x3c, 0x00, 0xa0, 0xaa, 0x00, 0x00, 0x70, 0xb5, + 0x04, 0x1c, 0x40, 0x6b, 0x00, 0x28, 0x35, 0xd0, + 0x1d, 0x4d, 0x00, 0x26, 0x28, 0x78, 0x00, 0x28, + 0x24, 0xd0, 0x41, 0x20, 0x00, 0x5d, 0x00, 0x28, + 0x03, 0xd1, 0x08, 0xf0, 0x76, 0xf9, 0xa8, 0x61, + 0x1b, 0xe0, 0x69, 0x69, 0x01, 0x31, 0x69, 0x61, + 0xa8, 0x68, 0x00, 0x28, 0x08, 0xd0, 0x81, 0x42, + 0x06, 0xd1, 0x20, 0x69, 0x01, 0x1c, 0x10, 0x31, + 0x04, 0x30, 0x3c, 0x00, 0xdc, 0xaa, 0x00, 0x00, + 0x82, 0x22, 0xff, 0xf7, 0xad, 0xff, 0x68, 0x68, + 0x00, 0x28, 0x0a, 0xd0, 0x69, 0x69, 0x81, 0x42, + 0x07, 0xd1, 0x20, 0x69, 0x01, 0x1c, 0x10, 0x31, + 0x04, 0x30, 0x02, 0x22, 0xff, 0xf7, 0xa0, 0xff, + 0x6e, 0x61, 0x68, 0x78, 0x05, 0x21, 0x08, 0x40, + 0x08, 0xd0, 0x07, 0x48, 0x00, 0x78, 0x0e, 0x28, + 0x03, 0xd3, 0x60, 0x34, 0xe0, 0x79, 0xfb, 0xf7, + 0xcf, 0xff, 0x70, 0xbd, 0x3c, 0x00, 0x18, 0xab, + 0x00, 0x00, 0x03, 0x48, 0x06, 0x60, 0x70, 0xbd, + 0x00, 0x00, 0x1c, 0x75, 0x01, 0x00, 0x10, 0x67, + 0x01, 0x00, 0xd4, 0x7e, 0x01, 0x00, 0x80, 0x02, + 0x70, 0x47, 0x14, 0x23, 0x30, 0xb5, 0x09, 0x4d, + 0x4b, 0x43, 0x5b, 0x19, 0x5b, 0x68, 0x08, 0x24, + 0x00, 0x2b, 0x00, 0xd1, 0x02, 0x24, 0x38, 0x23, + 0x5a, 0x43, 0x05, 0x4b, 0x89, 0x00, 0xd2, 0x18, + 0x51, 0x5a, 0x02, 0x68, 0x09, 0x19, 0x3c, 0x00, + 0x54, 0xab, 0x00, 0x00, 0x51, 0x1a, 0x01, 0x60, + 0x30, 0xbd, 0x00, 0x00, 0x74, 0x40, 0x01, 0x00, + 0x8c, 0x41, 0x01, 0x00, 0xf8, 0xb5, 0x07, 0x1c, + 0x2c, 0x48, 0x14, 0x1c, 0x2c, 0x4a, 0x48, 0x43, + 0x86, 0x46, 0x80, 0x18, 0x80, 0x0d, 0x84, 0x46, + 0x2b, 0x48, 0x2a, 0x4a, 0x06, 0x26, 0x1d, 0x1c, + 0x48, 0x43, 0x4a, 0x43, 0x0e, 0x2f, 0x40, 0xd2, + 0x01, 0xa3, 0xdb, 0x5d, 0x5b, 0x00, 0x9f, 0x44, + 0x3c, 0x00, 0x90, 0xab, 0x00, 0x00, 0x06, 0x08, + 0x0a, 0x0f, 0x14, 0x18, 0x1d, 0x20, 0x27, 0x24, + 0x27, 0x2b, 0x2f, 0x31, 0xc8, 0x00, 0x1f, 0xe0, + 0x88, 0x00, 0x1d, 0xe0, 0x21, 0x49, 0x70, 0x46, + 0x40, 0x18, 0x00, 0x0d, 0x18, 0xe0, 0x1f, 0x4a, + 0x80, 0x18, 0x80, 0x0d, 0x40, 0x18, 0x21, 0xe0, + 0x1e, 0x48, 0x10, 0x18, 0x00, 0x0d, 0x1d, 0xe0, + 0x1d, 0x49, 0x70, 0x46, 0x40, 0x18, 0x40, 0x0d, + 0x0a, 0xe0, 0x3c, 0x00, 0xcc, 0xab, 0x00, 0x00, + 0x1b, 0x49, 0x40, 0x18, 0x01, 0xe0, 0x1b, 0x48, + 0x10, 0x18, 0x40, 0x0d, 0x11, 0xe0, 0x1a, 0x49, + 0x40, 0x18, 0x05, 0xe0, 0x60, 0x46, 0x20, 0x80, + 0x00, 0x20, 0x16, 0xe0, 0x17, 0x48, 0x10, 0x18, + 0x80, 0x0d, 0x06, 0xe0, 0x16, 0x49, 0x02, 0xe0, + 0x16, 0x48, 0x48, 0x43, 0x16, 0x49, 0x40, 0x18, + 0xc0, 0x0d, 0x03, 0x30, 0x80, 0x08, 0x80, 0x00, + 0x20, 0x80, 0x2e, 0x80, 0x3c, 0x00, 0x08, 0xac, + 0x00, 0x00, 0xf8, 0xbd, 0xff, 0x21, 0xff, 0x20, + 0xf6, 0xf7, 0x49, 0xfb, 0x00, 0x20, 0x20, 0x80, + 0x28, 0x80, 0xf6, 0xe7, 0x00, 0x00, 0xd1, 0x45, + 0x17, 0x00, 0xff, 0xff, 0x3f, 0x00, 0xe3, 0x38, + 0x0e, 0x00, 0x55, 0x55, 0x15, 0x00, 0xff, 0xff, + 0x0f, 0x00, 0xa9, 0xaa, 0x2a, 0x01, 0x70, 0x1c, + 0x37, 0x00, 0xff, 0xff, 0x1f, 0x00, 0xcb, 0xcc, + 0x4c, 0x00, 0x70, 0x1c, 0x47, 0x00, 0x3c, 0x00, + 0x44, 0xac, 0x00, 0x00, 0xa9, 0xaa, 0x7a, 0x00, + 0x70, 0x1c, 0x67, 0x00, 0xa9, 0xaa, 0xba, 0x00, + 0x84, 0xf6, 0x12, 0x00, 0xec, 0x25, 0xb4, 0x00, + 0x04, 0x49, 0x00, 0x28, 0x01, 0xd0, 0x09, 0x22, + 0x00, 0xe0, 0x14, 0x22, 0x4a, 0x80, 0x48, 0x60, + 0x70, 0x47, 0x00, 0x00, 0xa4, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0x06, 0x22, 0xf5, 0xf7, 0x40, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0xbc, 0xb5, 0x15, 0x1c, + 0x3c, 0x00, 0x80, 0xac, 0x00, 0x00, 0x04, 0x1c, + 0x04, 0x31, 0x09, 0x04, 0x09, 0x0c, 0x01, 0xaa, + 0x6b, 0x46, 0xff, 0xf7, 0x6a, 0xff, 0x38, 0x20, + 0x06, 0x49, 0x68, 0x43, 0x40, 0x18, 0xa1, 0x00, + 0x40, 0x5a, 0x00, 0xab, 0x99, 0x88, 0x40, 0x18, + 0x19, 0x88, 0x40, 0x18, 0x00, 0x04, 0x00, 0x0c, + 0xbc, 0xbd, 0x8c, 0x41, 0x01, 0x00, 0xbc, 0xb5, + 0x04, 0x1c, 0x15, 0x1c, 0x01, 0xaa, 0x6b, 0x46, + 0xff, 0xf7, 0x3c, 0x00, 0xbc, 0xac, 0x00, 0x00, + 0x53, 0xff, 0x38, 0x20, 0x05, 0x49, 0x68, 0x43, + 0x40, 0x18, 0xa1, 0x00, 0x40, 0x5a, 0x00, 0xab, + 0x99, 0x88, 0x40, 0x18, 0x00, 0x04, 0x00, 0x0c, + 0xbc, 0xbd, 0x00, 0x00, 0x8c, 0x41, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x28, 0x0f, 0xd0, 0x00, 0x29, + 0x0d, 0xd0, 0x02, 0x78, 0x0b, 0x78, 0x9a, 0x42, + 0x09, 0xd1, 0xff, 0x2a, 0x05, 0xd0, 0x42, 0x78, + 0x02, 0x32, 0xf5, 0xf7, 0x3c, 0x00, 0xf8, 0xac, + 0x00, 0x00, 0x81, 0xfb, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x06, 0x22, 0x04, 0x49, + 0xf5, 0xf7, 0x75, 0xfb, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0x5e, 0x40, 0x01, 0x00, 0x01, 0x1c, + 0x49, 0x78, 0x01, 0x20, 0x00, 0x29, 0x00, 0xd0, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xad, 0x00, 0x00, 0x80, 0xb5, 0x06, 0x22, + 0xf5, 0xf7, 0x60, 0xfb, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, + 0x80, 0xb5, 0xff, 0xf7, 0xc7, 0xff, 0x80, 0xbd, + 0x80, 0xb5, 0x06, 0x22, 0x04, 0x49, 0xf5, 0xf7, + 0x51, 0xfb, 0x00, 0x28, 0x01, 0xd1, 0x01, 0x20, + 0x80, 0xbd, 0x00, 0x20, 0x80, 0xbd, 0x00, 0x00, + 0x12, 0x61, 0x01, 0x00, 0x01, 0x1c, 0x80, 0x20, + 0x3c, 0x00, 0x70, 0xad, 0x00, 0x00, 0x81, 0x43, + 0x8a, 0x08, 0x0e, 0x20, 0x1c, 0x2a, 0x10, 0xb5, + 0x06, 0xd2, 0x03, 0x4c, 0x52, 0x00, 0xa3, 0x5c, + 0x8b, 0x42, 0x01, 0xd1, 0x10, 0x19, 0x40, 0x78, + 0x10, 0xbd, 0xfc, 0x41, 0x01, 0x00, 0x14, 0x23, + 0x02, 0x49, 0x58, 0x43, 0x40, 0x18, 0x40, 0x68, + 0x70, 0x47, 0x74, 0x40, 0x01, 0x00, 0x20, 0x22, + 0x01, 0x1c, 0x80, 0xb5, 0x02, 0x48, 0xf5, 0xf7, + 0x52, 0xfd, 0x3c, 0x00, 0xac, 0xad, 0x00, 0x00, + 0x80, 0xbd, 0x00, 0x00, 0x48, 0x61, 0x01, 0x00, + 0x08, 0x06, 0x00, 0x0e, 0x02, 0x28, 0x01, 0xd1, + 0x00, 0x20, 0x70, 0x47, 0x01, 0x20, 0x70, 0x47, + 0x00, 0x29, 0x0c, 0xd0, 0x07, 0x49, 0x09, 0x68, + 0x00, 0x29, 0x08, 0xd0, 0x14, 0x23, 0x06, 0x49, + 0x58, 0x43, 0x40, 0x18, 0xc0, 0x68, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xad, + 0x00, 0x00, 0xac, 0x69, 0x01, 0x00, 0x74, 0x40, + 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x06, 0x22, + 0x01, 0x1c, 0x04, 0x48, 0xf5, 0xf7, 0x7d, 0xfb, + 0x06, 0x22, 0x21, 0x1c, 0x03, 0x48, 0xf5, 0xf7, + 0x78, 0xfb, 0x10, 0xbd, 0x00, 0x00, 0x12, 0x61, + 0x01, 0x00, 0x40, 0x80, 0x07, 0x00, 0x00, 0x29, + 0x01, 0xd1, 0x00, 0x20, 0x70, 0x47, 0x38, 0x23, + 0x5a, 0x43, 0x07, 0x4b, 0xd2, 0x18, 0x3c, 0x00, + 0x24, 0xae, 0x00, 0x00, 0x83, 0x00, 0xd2, 0x5a, + 0x14, 0x23, 0x58, 0x43, 0x05, 0x4b, 0xc0, 0x18, + 0x40, 0x88, 0x10, 0x18, 0x08, 0x1a, 0x0a, 0x38, + 0x00, 0x04, 0x00, 0x0c, 0x70, 0x47, 0x00, 0x00, + 0x8c, 0x41, 0x01, 0x00, 0x74, 0x40, 0x01, 0x00, + 0xf8, 0xb5, 0x07, 0x1c, 0x08, 0x1c, 0x16, 0x1c, + 0x1c, 0x1c, 0x19, 0x1c, 0x00, 0xf0, 0x5a, 0xf8, + 0x05, 0x1c, 0x14, 0x35, 0x22, 0x1c, 0x31, 0x1c, + 0x3c, 0x00, 0x60, 0xae, 0x00, 0x00, 0x38, 0x1c, + 0xff, 0xf7, 0x0b, 0xff, 0x28, 0x18, 0x00, 0x04, + 0x00, 0x0c, 0xf8, 0xbd, 0x00, 0x00, 0x00, 0xb5, + 0x00, 0xf0, 0x4b, 0xf8, 0x0a, 0x30, 0x00, 0x04, + 0x00, 0x0c, 0x00, 0xbd, 0x00, 0x00, 0xf8, 0xb5, + 0x07, 0x1c, 0x08, 0x1c, 0x16, 0x1c, 0x1c, 0x1c, + 0x19, 0x1c, 0x00, 0xf0, 0x3e, 0xf8, 0x45, 0x00, + 0x1e, 0x35, 0x22, 0x1c, 0x31, 0x1c, 0x38, 0x1c, + 0xff, 0xf7, 0x3c, 0x00, 0x9c, 0xae, 0x00, 0x00, + 0xef, 0xfe, 0x28, 0x18, 0x00, 0x04, 0x00, 0x0c, + 0xf8, 0xbd, 0x00, 0x00, 0xff, 0xb5, 0x0f, 0x1c, + 0x81, 0xb0, 0x0a, 0xa9, 0x14, 0x1c, 0x1e, 0x1c, + 0x03, 0xc9, 0x00, 0xf0, 0x29, 0xf8, 0x05, 0x1c, + 0x1e, 0x35, 0x21, 0x1c, 0x30, 0x1c, 0x00, 0xf0, + 0x23, 0xf8, 0x2d, 0x18, 0x22, 0x1c, 0x39, 0x1c, + 0x01, 0x98, 0xff, 0xf7, 0xd5, 0xfe, 0x28, 0x18, + 0x00, 0x04, 0x00, 0x0c, 0x3c, 0x00, 0xd8, 0xae, + 0x00, 0x00, 0x05, 0xb0, 0xf0, 0xbd, 0x0a, 0x49, + 0x80, 0xb5, 0x09, 0x88, 0x09, 0x29, 0x04, 0xd0, + 0x14, 0x29, 0x07, 0xd1, 0x01, 0x01, 0x80, 0x00, + 0x00, 0xe0, 0xc1, 0x00, 0x08, 0x18, 0x00, 0x04, + 0x00, 0x0c, 0x80, 0xbd, 0xff, 0x21, 0xff, 0x20, + 0xf6, 0xf7, 0xd1, 0xf9, 0x00, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0xa6, 0x69, 0x01, 0x00, 0x38, 0x23, + 0x59, 0x43, 0x06, 0x4a, 0x14, 0x23, 0x3c, 0x00, + 0x14, 0xaf, 0x00, 0x00, 0x89, 0x18, 0x82, 0x00, + 0x89, 0x5a, 0x05, 0x4a, 0x58, 0x43, 0x80, 0x18, + 0x40, 0x88, 0x08, 0x18, 0x00, 0x04, 0x00, 0x0c, + 0x70, 0x47, 0x00, 0x00, 0x8c, 0x41, 0x01, 0x00, + 0x74, 0x40, 0x01, 0x00, 0x02, 0x48, 0x03, 0x49, + 0x00, 0x68, 0x40, 0x00, 0x08, 0x5a, 0x70, 0x47, + 0xa8, 0x69, 0x01, 0x00, 0x54, 0x40, 0x01, 0x00, + 0x0a, 0x20, 0x70, 0x47, 0x10, 0xb5, 0x04, 0x1c, + 0x3c, 0x00, 0x50, 0xaf, 0x00, 0x00, 0xfd, 0xf7, + 0x62, 0xff, 0x20, 0x1c, 0x10, 0xbd, 0xb0, 0xb5, + 0x04, 0x1c, 0xc0, 0x68, 0x05, 0x68, 0xa0, 0x1d, + 0xff, 0xf7, 0xf5, 0xfe, 0x00, 0x28, 0x18, 0xd0, + 0x21, 0x1c, 0x14, 0x31, 0x20, 0x1c, 0x08, 0xf0, + 0xe2, 0xfd, 0x00, 0x28, 0x11, 0xd0, 0x29, 0x88, + 0x09, 0x48, 0x20, 0x22, 0x81, 0x82, 0x69, 0x88, + 0x01, 0x83, 0xa9, 0x88, 0x06, 0x35, 0x41, 0x83, + 0xc5, 0x61, 0x3c, 0x00, 0x8c, 0xaf, 0x00, 0x00, + 0x30, 0x21, 0x09, 0x5d, 0x11, 0x54, 0x61, 0x6b, + 0x41, 0x62, 0x01, 0x20, 0xf7, 0xf7, 0x28, 0xf8, + 0x20, 0x1c, 0xb0, 0xbd, 0x70, 0x7c, 0x01, 0x00, + 0x70, 0xb5, 0x04, 0x1c, 0xc0, 0x68, 0x21, 0x1c, + 0x14, 0x31, 0x05, 0x68, 0x20, 0x1c, 0x08, 0xf0, + 0xc1, 0xfd, 0x00, 0x28, 0x08, 0xd0, 0x05, 0x4e, + 0xf0, 0x68, 0x02, 0xf0, 0xcf, 0xfd, 0x28, 0x88, + 0xf0, 0x82, 0x03, 0x20, 0x3c, 0x00, 0xc8, 0xaf, + 0x00, 0x00, 0xf7, 0xf7, 0x10, 0xf8, 0x20, 0x1c, + 0x70, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x3e, 0xb5, + 0x04, 0x1c, 0xc0, 0x68, 0x05, 0x68, 0xa0, 0x1d, + 0xff, 0xf7, 0xb7, 0xfe, 0x00, 0x28, 0x21, 0xd0, + 0x21, 0x1c, 0x14, 0x31, 0x20, 0x1c, 0x02, 0xaa, + 0x08, 0xf0, 0x77, 0xfd, 0x00, 0x28, 0x19, 0xd0, + 0x02, 0x98, 0x4b, 0x21, 0x09, 0x5c, 0x00, 0x29, + 0x10, 0xd0, 0x01, 0x29, 0x14, 0xd0, 0x3c, 0x00, + 0x04, 0xb0, 0x00, 0x00, 0x02, 0x29, 0x0c, 0xd1, + 0x29, 0x88, 0x0d, 0x20, 0x00, 0xab, 0x18, 0x80, + 0x20, 0x1c, 0x03, 0xf0, 0x51, 0xf8, 0x01, 0x90, + 0x68, 0x46, 0x02, 0xf0, 0x5d, 0xfa, 0xf6, 0xf7, + 0xb5, 0xf8, 0x00, 0x21, 0x02, 0x98, 0x06, 0xf0, + 0x9f, 0xfe, 0x20, 0x1c, 0x3e, 0xbd, 0x07, 0xf0, + 0x29, 0xf8, 0x02, 0x98, 0x00, 0x21, 0x80, 0x69, + 0xc2, 0x07, 0xd2, 0x0f, 0x04, 0x20, 0xf6, 0xf7, + 0x3c, 0x00, 0x40, 0xb0, 0x00, 0x00, 0x7f, 0xff, + 0xee, 0xe7, 0x10, 0xb5, 0x04, 0x1c, 0xfd, 0xf7, + 0xe6, 0xfe, 0x20, 0x1c, 0x10, 0xbd, 0x3e, 0xb5, + 0x05, 0x1c, 0x00, 0xf0, 0x40, 0xfe, 0x00, 0x28, + 0x15, 0xd1, 0x28, 0x1c, 0x14, 0x30, 0xfa, 0xf7, + 0xce, 0xfb, 0x00, 0x28, 0x0f, 0xd0, 0x05, 0x21, + 0x28, 0x69, 0xff, 0xf7, 0x86, 0xfb, 0x04, 0x1c, + 0x09, 0xd0, 0x05, 0x22, 0x21, 0x1c, 0x68, 0x46, + 0xf5, 0xf7, 0x3c, 0x00, 0x7c, 0xb0, 0x00, 0x00, + 0x3d, 0xfa, 0x05, 0x34, 0x02, 0x94, 0x68, 0x46, + 0x03, 0xf0, 0x1a, 0xfb, 0x2a, 0x1c, 0x0d, 0x21, + 0x8f, 0x20, 0x08, 0xf0, 0x8f, 0xfb, 0x00, 0x20, + 0x3e, 0xbd, 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0xfa, 0xf7, 0x98, 0xf8, 0x20, 0x1c, 0x05, 0xf0, + 0xe5, 0xf8, 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, + 0xb0, 0xb5, 0x04, 0x1c, 0x00, 0x69, 0x00, 0x21, + 0x94, 0xb0, 0xff, 0xf7, 0x3c, 0x00, 0xb8, 0xb0, + 0x00, 0x00, 0x61, 0xfb, 0x69, 0x46, 0xfb, 0xf7, + 0x26, 0xf8, 0x00, 0x28, 0x1e, 0xd0, 0x00, 0x98, + 0xfa, 0xf7, 0x29, 0xfa, 0x01, 0x1c, 0x01, 0xa8, + 0x02, 0xf0, 0xd7, 0xf9, 0x00, 0x98, 0xfa, 0xf7, + 0xd2, 0xf9, 0x04, 0x90, 0x05, 0x20, 0x09, 0xad, + 0x68, 0x72, 0x02, 0xa8, 0x21, 0x1c, 0x06, 0x22, + 0x02, 0x30, 0xf5, 0xf7, 0x06, 0xfa, 0x01, 0x20, + 0x08, 0x90, 0x21, 0x6a, 0x0a, 0x90, 0x3c, 0x00, + 0xf4, 0xb0, 0x00, 0x00, 0x28, 0x20, 0x09, 0x91, + 0x00, 0x5d, 0x28, 0x72, 0x01, 0xa8, 0x00, 0xf0, + 0x69, 0xf8, 0x20, 0x1c, 0x14, 0xb0, 0xb0, 0xbd, + 0xff, 0xb5, 0x16, 0x1c, 0x1f, 0x1c, 0x81, 0xb0, + 0x0a, 0x9d, 0x4c, 0x20, 0xf6, 0xf7, 0x90, 0xfb, + 0x04, 0x1c, 0x14, 0x30, 0x06, 0x22, 0x02, 0x99, + 0xf5, 0xf7, 0xea, 0xf9, 0x20, 0x1c, 0x06, 0x22, + 0x01, 0x99, 0xf5, 0xf7, 0xe5, 0xf9, 0x28, 0x20, + 0x3c, 0x00, 0x30, 0xb1, 0x00, 0x00, 0x00, 0x21, + 0x06, 0x55, 0xe1, 0x60, 0x27, 0x62, 0x00, 0x2d, + 0x01, 0xd0, 0x8e, 0x20, 0x00, 0xe0, 0x8d, 0x20, + 0x22, 0x1c, 0x0d, 0x21, 0x08, 0xf0, 0x33, 0xfb, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xb0, 0xb5, + 0x05, 0x1c, 0x4c, 0x20, 0xf6, 0xf7, 0x6f, 0xfb, + 0x04, 0x1c, 0x4c, 0x22, 0x29, 0x1c, 0xf5, 0xf7, + 0x26, 0xfa, 0x29, 0x20, 0x40, 0x5d, 0x0d, 0x28, + 0x2c, 0xd2, 0x3c, 0x00, 0x6c, 0xb1, 0x00, 0x00, + 0x01, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, 0x9f, 0x44, + 0x28, 0x1a, 0x28, 0x1e, 0x06, 0x0a, 0x28, 0x28, + 0x0e, 0x28, 0x22, 0x12, 0x16, 0x00, 0x22, 0x1c, + 0x0d, 0x21, 0x8c, 0x20, 0x1a, 0xe0, 0x22, 0x1c, + 0x0d, 0x21, 0x83, 0x20, 0x16, 0xe0, 0x22, 0x1c, + 0x0d, 0x21, 0x84, 0x20, 0x12, 0xe0, 0x22, 0x1c, + 0x0d, 0x21, 0x85, 0x20, 0x0e, 0xe0, 0x22, 0x1c, + 0x0d, 0x21, 0x86, 0x20, 0x3c, 0x00, 0xa8, 0xb1, + 0x00, 0x00, 0x0a, 0xe0, 0x22, 0x1c, 0x0d, 0x21, + 0x87, 0x20, 0x06, 0xe0, 0x22, 0x1c, 0x0d, 0x21, + 0x89, 0x20, 0x02, 0xe0, 0x22, 0x1c, 0x0d, 0x21, + 0x8b, 0x20, 0x08, 0xf0, 0xf6, 0xfa, 0xb0, 0xbd, + 0xe8, 0x68, 0xf6, 0xf7, 0xe6, 0xf9, 0x20, 0x1c, + 0xf6, 0xf7, 0x11, 0xfb, 0xb0, 0xbd, 0xfe, 0xb5, + 0x05, 0x1c, 0x90, 0x20, 0xf6, 0xf7, 0x2d, 0xfb, + 0x04, 0x1c, 0x90, 0x21, 0xf5, 0xf7, 0x3c, 0x00, + 0xe4, 0xb1, 0x00, 0x00, 0x5b, 0xf9, 0x37, 0x4e, + 0x01, 0x27, 0xf0, 0x69, 0x04, 0x28, 0x03, 0xd9, + 0x70, 0x6b, 0x01, 0x30, 0x70, 0x63, 0x4d, 0xe0, + 0x33, 0x48, 0xb1, 0x6b, 0x04, 0xf0, 0xd0, 0xf8, + 0x01, 0x20, 0x20, 0x62, 0xa8, 0x7e, 0x21, 0x1c, + 0x80, 0x31, 0x02, 0x91, 0x08, 0x70, 0x22, 0x1c, + 0x60, 0x32, 0x01, 0x92, 0x00, 0x20, 0x2f, 0x1c, + 0x20, 0x37, 0x90, 0x72, 0x78, 0x7a, 0x2b, 0x1c, + 0x3c, 0x00, 0x20, 0xb2, 0x00, 0x00, 0x14, 0x33, + 0xd0, 0x72, 0xe8, 0x68, 0xaa, 0x1d, 0xa0, 0x60, + 0xe8, 0x6b, 0x48, 0x60, 0x44, 0x20, 0x40, 0x5d, + 0x08, 0x72, 0x29, 0x1c, 0x20, 0x1c, 0x05, 0xf0, + 0xaa, 0xfc, 0x68, 0x6a, 0x00, 0x28, 0x0a, 0xd1, + 0x01, 0x9a, 0x20, 0x1c, 0x93, 0x7a, 0x02, 0x99, + 0x22, 0x1c, 0x70, 0x32, 0x58, 0x30, 0x09, 0x78, + 0xfa, 0xf7, 0xdb, 0xf9, 0x06, 0xe0, 0x3a, 0x7a, + 0x23, 0x1c, 0x3c, 0x00, 0x5c, 0xb2, 0x00, 0x00, + 0xe8, 0x69, 0x29, 0x6a, 0x70, 0x33, 0xfd, 0xf7, + 0x8d, 0xf9, 0x30, 0x20, 0x40, 0x5d, 0x18, 0x49, + 0x07, 0x28, 0x0b, 0xd1, 0x58, 0x20, 0x00, 0x5d, + 0xc0, 0x07, 0xc0, 0x17, 0x01, 0x30, 0xe0, 0x61, + 0x00, 0x20, 0x20, 0x61, 0x20, 0x1c, 0xf7, 0xf7, + 0x3f, 0xff, 0x18, 0xe0, 0x01, 0x22, 0x20, 0x1c, + 0x05, 0xf0, 0xac, 0xff, 0x07, 0x1c, 0x12, 0xd0, + 0x03, 0xf0, 0x06, 0xff, 0x3c, 0x00, 0x98, 0xb2, + 0x00, 0x00, 0xf3, 0x6d, 0x00, 0x2b, 0x06, 0xd0, + 0x60, 0x68, 0x20, 0x30, 0x82, 0x7b, 0x61, 0x6b, + 0x38, 0x1c, 0xf5, 0xf7, 0x99, 0xf8, 0xe8, 0x68, + 0xf6, 0xf7, 0x73, 0xf9, 0x20, 0x1c, 0xf6, 0xf7, + 0x9e, 0xfa, 0xfe, 0xbd, 0xf0, 0x69, 0x01, 0x30, + 0xf0, 0x61, 0xfa, 0xe7, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, 0x05, 0x31, + 0x00, 0x00, 0x70, 0xb5, 0x06, 0x1c, 0x3c, 0x00, + 0xd4, 0xb2, 0x00, 0x00, 0x0d, 0x1c, 0x09, 0x04, + 0x09, 0x0c, 0x00, 0x20, 0xf6, 0xf7, 0x7c, 0xf9, + 0x04, 0x1c, 0x2a, 0x1c, 0x31, 0x1c, 0x00, 0x68, + 0xf5, 0xf7, 0x06, 0xf9, 0x20, 0x1c, 0x70, 0xbd, + 0x40, 0x88, 0x70, 0x47, 0x03, 0x78, 0x1b, 0x07, + 0x9b, 0x0f, 0x0b, 0x70, 0x00, 0x78, 0x00, 0x09, + 0x10, 0x70, 0x70, 0x47, 0x04, 0x30, 0x70, 0x47, + 0x04, 0x30, 0x70, 0x47, 0xd4, 0x21, 0x01, 0x70, + 0x3c, 0x00, 0x10, 0xb3, 0x00, 0x00, 0x00, 0x21, + 0x41, 0x70, 0x70, 0x47, 0x00, 0x00, 0xc4, 0x21, + 0x01, 0x70, 0x00, 0x21, 0x41, 0x70, 0x70, 0x47, + 0x00, 0x00, 0xb4, 0x21, 0x01, 0x70, 0x00, 0x21, + 0x41, 0x70, 0x70, 0x47, 0x00, 0x00, 0x01, 0x49, + 0x48, 0x65, 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x01, 0x49, 0x08, 0x65, 0x70, 0x47, + 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, 0x01, 0x49, + 0x88, 0x65, 0x3c, 0x00, 0x4c, 0xb3, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, + 0xf8, 0xb5, 0x5f, 0x4f, 0x05, 0x1c, 0xb8, 0x68, + 0x01, 0x30, 0xb8, 0x60, 0x07, 0xf0, 0x24, 0xfd, + 0x38, 0x61, 0x90, 0x20, 0xf6, 0xf7, 0x66, 0xfa, + 0x04, 0x1c, 0x90, 0x21, 0xf5, 0xf7, 0x94, 0xf8, + 0x28, 0x6b, 0x27, 0x1c, 0x60, 0x63, 0x68, 0x8b, + 0x80, 0x37, 0x26, 0x1c, 0xc0, 0x07, 0xc0, 0x0f, + 0x20, 0x62, 0x68, 0x8b, 0x3c, 0x00, 0x88, 0xb3, + 0x00, 0x00, 0x60, 0x36, 0x02, 0x21, 0x40, 0x07, + 0xc0, 0x0f, 0x20, 0x63, 0x68, 0x8b, 0x80, 0x07, + 0xc0, 0x0f, 0xf8, 0x60, 0x28, 0x7f, 0x38, 0x70, + 0xb1, 0x72, 0x00, 0x28, 0x08, 0xd1, 0xf9, 0xf7, + 0xc8, 0xff, 0x00, 0x28, 0x02, 0xd0, 0x01, 0x20, + 0x60, 0x62, 0x01, 0xe0, 0x01, 0x20, 0xa0, 0x62, + 0xf8, 0x68, 0x00, 0x28, 0x03, 0xd0, 0x00, 0x21, + 0x02, 0x20, 0x06, 0xf0, 0xcc, 0xff, 0x3c, 0x00, + 0xc4, 0xb3, 0x00, 0x00, 0x2b, 0x1c, 0x10, 0x33, + 0xaa, 0x1d, 0x29, 0x1c, 0x20, 0x1c, 0x05, 0xf0, + 0xdf, 0xfb, 0xa8, 0x6a, 0x00, 0x28, 0x0c, 0xd1, + 0x39, 0x78, 0x02, 0x29, 0x07, 0xd0, 0x22, 0x1c, + 0x70, 0x32, 0x20, 0x1c, 0x58, 0x30, 0xb3, 0x7a, + 0xfa, 0xf7, 0x10, 0xf9, 0x08, 0xe0, 0x01, 0x26, + 0x5e, 0xe0, 0xaa, 0x7d, 0x23, 0x1c, 0x28, 0x6a, + 0x69, 0x6a, 0x70, 0x33, 0xfd, 0xf7, 0xc0, 0xf8, + 0x3c, 0x00, 0x00, 0xb4, 0x00, 0x00, 0xe9, 0x68, + 0x00, 0x20, 0x09, 0x89, 0x00, 0x29, 0x00, 0xd1, + 0x04, 0x20, 0xf0, 0x72, 0x38, 0x78, 0x01, 0x28, + 0x14, 0xd1, 0x00, 0x27, 0x00, 0x90, 0x00, 0x20, + 0x06, 0xe0, 0x29, 0x69, 0x01, 0x29, 0x03, 0xd1, + 0xa9, 0x69, 0x01, 0x27, 0x89, 0x07, 0x1a, 0xd5, + 0x06, 0xf0, 0x79, 0xfc, 0x00, 0x28, 0xf4, 0xd1, + 0x01, 0x2f, 0x14, 0xd1, 0x00, 0x98, 0x01, 0x28, + 0x11, 0xd1, 0x3c, 0x00, 0x3c, 0xb4, 0x00, 0x00, + 0x08, 0xe0, 0x20, 0x1c, 0x58, 0x30, 0x06, 0xf0, + 0xe1, 0xfc, 0x00, 0x28, 0x0a, 0xd0, 0x80, 0x69, + 0x80, 0x07, 0x07, 0xd5, 0xf0, 0x7a, 0x08, 0x21, + 0x08, 0x43, 0xf0, 0x72, 0x01, 0x20, 0xe0, 0x62, + 0xe8, 0x7d, 0x30, 0x73, 0xe8, 0x68, 0xa0, 0x60, + 0xe0, 0x6a, 0x00, 0x28, 0x12, 0xd0, 0x1a, 0x4f, + 0xf8, 0x6b, 0x00, 0x28, 0x0e, 0xd0, 0x30, 0x7b, + 0xf5, 0xf7, 0xde, 0xfe, 0x3c, 0x00, 0x78, 0xb4, + 0x00, 0x00, 0x00, 0x28, 0x09, 0xd0, 0x21, 0x1c, + 0x38, 0x1c, 0x40, 0x30, 0xfc, 0xf7, 0x55, 0xfc, + 0x14, 0x48, 0xb9, 0x6b, 0x03, 0xf0, 0x89, 0xff, + 0xf8, 0xbd, 0x10, 0x4f, 0x12, 0x48, 0xb9, 0x6b, + 0x03, 0xf0, 0x83, 0xff, 0x00, 0x22, 0x20, 0x1c, + 0x10, 0x49, 0x05, 0xf0, 0xa2, 0xfe, 0x06, 0x1c, + 0x03, 0xd1, 0x38, 0x6a, 0x01, 0x30, 0x38, 0x62, + 0xee, 0xe7, 0x20, 0x1c, 0xf6, 0xf7, 0x3c, 0x00, + 0xb4, 0xb4, 0x00, 0x00, 0x9f, 0xf9, 0xe8, 0x68, + 0xf6, 0xf7, 0x6e, 0xf8, 0x03, 0xf0, 0xf2, 0xfd, + 0x04, 0x48, 0x83, 0x6d, 0x00, 0x2b, 0xe2, 0xd0, + 0x00, 0x22, 0x30, 0x1c, 0x29, 0x6b, 0xf4, 0xf7, + 0x86, 0xff, 0xdc, 0xe7, 0xc4, 0x69, 0x01, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x11, 0x30, 0x00, 0x00, 0x10, 0xb5, 0x0a, 0x20, + 0x07, 0xf0, 0xfe, 0xfc, 0x07, 0xf0, 0x5e, 0xfc, + 0x3c, 0x00, 0xf0, 0xb4, 0x00, 0x00, 0x0b, 0x49, + 0x44, 0x18, 0x0c, 0xe0, 0x20, 0x1c, 0x07, 0xf0, + 0x90, 0xfb, 0x00, 0x28, 0x07, 0xd0, 0xf7, 0xf7, + 0x34, 0xf9, 0x00, 0x28, 0x03, 0xd0, 0x12, 0x21, + 0x86, 0x20, 0xf5, 0xf7, 0xca, 0xfe, 0xf7, 0xf7, + 0x2c, 0xf9, 0x00, 0x28, 0xee, 0xd1, 0x01, 0xf0, + 0x80, 0xfd, 0x10, 0xbd, 0x00, 0x00, 0x40, 0x9c, + 0x00, 0x00, 0x10, 0xb5, 0x0c, 0x1c, 0x01, 0x1c, + 0x17, 0x4a, 0x3c, 0x00, 0x2c, 0xb5, 0x00, 0x00, + 0x01, 0x29, 0x50, 0x69, 0x04, 0xd0, 0x80, 0x29, + 0x1d, 0xd0, 0x81, 0x29, 0x21, 0xd1, 0x1c, 0xe0, + 0x91, 0x78, 0x01, 0x29, 0x15, 0xd1, 0x02, 0x21, + 0x91, 0x70, 0x14, 0x1c, 0x01, 0x1c, 0x10, 0x48, + 0x03, 0xf0, 0x28, 0xff, 0x01, 0x21, 0x60, 0x69, + 0x00, 0xf0, 0x2e, 0xf9, 0x60, 0x69, 0x01, 0xf0, + 0x5f, 0xfc, 0x20, 0x70, 0xa0, 0x88, 0xa1, 0x69, + 0x00, 0x23, 0x0a, 0x4a, 0x3c, 0x00, 0x68, 0xb5, + 0x00, 0x00, 0x07, 0xf0, 0x7e, 0xfc, 0x10, 0xbd, + 0x22, 0x21, 0x06, 0xe0, 0x01, 0xf0, 0x1d, 0xfc, + 0x20, 0x1c, 0x00, 0xf0, 0x4a, 0xf8, 0x10, 0xbd, + 0x1c, 0x21, 0x20, 0x20, 0xf5, 0xf7, 0x8f, 0xfe, + 0x10, 0xbd, 0xb4, 0x79, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0x3d, 0x2e, 0x00, 0x00, 0x70, 0xb5, + 0x1c, 0x4c, 0xa0, 0x78, 0x00, 0x28, 0x32, 0xd0, + 0x05, 0x28, 0x30, 0xd0, 0x60, 0x69, 0x3c, 0x00, + 0xa4, 0xb5, 0x00, 0x00, 0x00, 0xf0, 0xea, 0xf8, + 0x18, 0x4e, 0xb5, 0x79, 0xa0, 0x78, 0x01, 0x28, + 0x0b, 0xd0, 0x02, 0x28, 0x0e, 0xd0, 0x03, 0x28, + 0x10, 0xd0, 0x04, 0x28, 0x17, 0xd1, 0x42, 0x1f, + 0x80, 0x21, 0x20, 0x20, 0x08, 0xf0, 0x08, 0xf8, + 0x0e, 0xe0, 0x00, 0x21, 0x20, 0x20, 0x08, 0xf0, + 0x31, 0xf8, 0x0c, 0xe0, 0xa0, 0x88, 0x07, 0xf0, + 0x1d, 0xfc, 0x05, 0xe0, 0x20, 0x78, 0x00, 0xf0, + 0x3c, 0x00, 0xe0, 0xb5, 0x00, 0x00, 0x39, 0xfa, + 0x00, 0x20, 0x00, 0xf0, 0xc4, 0xfd, 0x60, 0x69, + 0x01, 0xf0, 0xe1, 0xfb, 0x05, 0x20, 0xa0, 0x70, + 0xb5, 0x71, 0x60, 0x69, 0x00, 0xf0, 0x61, 0xf9, + 0x00, 0x22, 0x20, 0x21, 0x81, 0x20, 0x08, 0xf0, + 0xd6, 0xf8, 0x70, 0xbd, 0x00, 0x00, 0xb4, 0x79, + 0x01, 0x00, 0x20, 0x10, 0x07, 0x00, 0xb0, 0xb5, + 0x0d, 0x4d, 0x04, 0x1c, 0xa8, 0x78, 0x00, 0x28, + 0x14, 0xd0, 0x3c, 0x00, 0x1c, 0xb6, 0x00, 0x00, + 0x68, 0x69, 0x00, 0xf0, 0x0b, 0xf9, 0x0a, 0x48, + 0x69, 0x69, 0x03, 0xf0, 0xa7, 0xfe, 0xa8, 0x88, + 0x07, 0xf0, 0x9e, 0xfb, 0x00, 0x2c, 0x02, 0xd0, + 0x68, 0x78, 0x00, 0xf0, 0x79, 0xff, 0x00, 0x20, + 0xa8, 0x70, 0xa9, 0x68, 0x20, 0x1c, 0xf4, 0xf7, + 0xca, 0xfe, 0xb0, 0xbd, 0xb4, 0x79, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x06, 0x4b, 0x80, 0xb5, + 0x99, 0x78, 0x03, 0x29, 0x3c, 0x00, 0x58, 0xb6, + 0x00, 0x00, 0x06, 0xd1, 0x04, 0x21, 0x99, 0x70, + 0x20, 0x21, 0x02, 0x1c, 0x80, 0x20, 0x08, 0xf0, + 0xa4, 0xf8, 0x80, 0xbd, 0x00, 0x00, 0xb4, 0x79, + 0x01, 0x00, 0x10, 0xb5, 0x0c, 0x4c, 0xa1, 0x78, + 0x03, 0x29, 0x0f, 0xd1, 0x10, 0x30, 0xfa, 0xf7, + 0xde, 0xf8, 0x00, 0x28, 0x09, 0xd0, 0x20, 0x78, + 0x00, 0xf0, 0xe5, 0xf9, 0x00, 0x20, 0x00, 0xf0, + 0x70, 0xfd, 0x00, 0x21, 0x05, 0x48, 0x3c, 0x00, + 0x94, 0xb6, 0x00, 0x00, 0xfc, 0xf7, 0x9c, 0xfa, + 0x10, 0xbd, 0x1b, 0x21, 0x20, 0x20, 0xf5, 0xf7, + 0x01, 0xfe, 0x10, 0xbd, 0xb4, 0x79, 0x01, 0x00, + 0x51, 0xb6, 0x00, 0x00, 0x09, 0x49, 0x80, 0xb5, + 0x89, 0x78, 0x03, 0x29, 0x09, 0xd1, 0x00, 0xf0, + 0xcd, 0xf9, 0x00, 0x20, 0x00, 0xf0, 0x58, 0xfd, + 0x01, 0x21, 0x05, 0x48, 0xfc, 0xf7, 0x84, 0xfa, + 0x80, 0xbd, 0x17, 0x21, 0x20, 0x20, 0xf5, 0xf7, + 0x3c, 0x00, 0xd0, 0xb6, 0x00, 0x00, 0xe9, 0xfd, + 0x80, 0xbd, 0xb4, 0x79, 0x01, 0x00, 0x51, 0xb6, + 0x00, 0x00, 0x70, 0xb5, 0x10, 0x4c, 0x1d, 0x1c, + 0xa3, 0x78, 0x06, 0x1c, 0x04, 0x98, 0x00, 0x2b, + 0x18, 0xd1, 0x01, 0x23, 0xa3, 0x70, 0x22, 0x61, + 0xe6, 0x60, 0x61, 0x70, 0xa0, 0x60, 0xa5, 0x61, + 0x00, 0x20, 0x07, 0xf0, 0xac, 0xfa, 0xa0, 0x80, + 0x30, 0x1c, 0xf7, 0xf7, 0x3c, 0xfb, 0xe0, 0x80, + 0x07, 0xf0, 0x3c, 0x00, 0x0c, 0xb7, 0x00, 0x00, + 0x4f, 0xfb, 0xc7, 0x21, 0xc9, 0x00, 0x28, 0x1a, + 0x41, 0x1a, 0x00, 0x22, 0x20, 0x20, 0x07, 0xf0, + 0x57, 0xff, 0x70, 0xbd, 0xb4, 0x79, 0x01, 0x00, + 0xb0, 0xb5, 0x04, 0x1c, 0x0d, 0x1c, 0x00, 0xf0, + 0x09, 0xf8, 0x20, 0x1c, 0x00, 0xf0, 0x24, 0xf8, + 0x00, 0x2d, 0x01, 0xd0, 0xff, 0xf7, 0xd4, 0xfe, + 0xb0, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x0c, 0x4c, + 0x05, 0x1c, 0xa0, 0x68, 0x3c, 0x00, 0x48, 0xb7, + 0x00, 0x00, 0x00, 0x28, 0x0f, 0xd1, 0x0a, 0x48, + 0x01, 0x7e, 0x02, 0x22, 0x11, 0x40, 0x61, 0x60, + 0x01, 0x7e, 0x11, 0x43, 0x01, 0x76, 0x07, 0x20, + 0x03, 0xf0, 0x49, 0xfc, 0x20, 0x60, 0x03, 0xf0, + 0x98, 0xff, 0x03, 0xf0, 0xee, 0xff, 0xa0, 0x68, + 0x28, 0x43, 0xa0, 0x60, 0xb0, 0xbd, 0x40, 0x7c, + 0x01, 0x00, 0x0c, 0x80, 0x07, 0x00, 0x0a, 0x49, + 0x38, 0xb5, 0x0a, 0x1c, 0x20, 0x32, 0x3c, 0x00, + 0x84, 0xb7, 0x00, 0x00, 0x94, 0x79, 0x00, 0xab, + 0x1c, 0x70, 0xd2, 0x79, 0x07, 0x4c, 0x5a, 0x70, + 0xe2, 0x68, 0x00, 0x2a, 0x02, 0xd1, 0x06, 0x4d, + 0x01, 0x23, 0x6b, 0x70, 0x10, 0x43, 0xe0, 0x60, + 0x00, 0xab, 0x18, 0x88, 0xc8, 0x84, 0x38, 0xbd, + 0x00, 0x10, 0x07, 0x00, 0x40, 0x7c, 0x01, 0x00, + 0x00, 0x50, 0x07, 0x00, 0xb0, 0xb5, 0x05, 0x1c, + 0x00, 0x29, 0x01, 0xd0, 0x00, 0xf0, 0x28, 0xf8, + 0x3c, 0x00, 0xc0, 0xb7, 0x00, 0x00, 0x06, 0x4c, + 0x60, 0x78, 0x21, 0x69, 0x08, 0x43, 0x03, 0xd1, + 0x01, 0x21, 0x0e, 0x20, 0x06, 0xf0, 0xc5, 0xfd, + 0x20, 0x69, 0x28, 0x43, 0x20, 0x61, 0xb0, 0xbd, + 0x00, 0x00, 0x18, 0x63, 0x01, 0x00, 0xb0, 0xb5, + 0x0a, 0x4c, 0x05, 0x1c, 0x22, 0x69, 0x00, 0x20, + 0x00, 0x2a, 0x0c, 0xd1, 0x00, 0x29, 0x00, 0xd0, + 0x04, 0xe0, 0x60, 0x78, 0x00, 0x28, 0x02, 0xd1, + 0x04, 0xf0, 0x3c, 0x00, 0xfc, 0xb7, 0x00, 0x00, + 0x69, 0xfb, 0x60, 0x70, 0x28, 0x1c, 0x06, 0xf0, + 0xef, 0xfc, 0x01, 0x20, 0xb0, 0xbd, 0x00, 0x00, + 0x18, 0x63, 0x01, 0x00, 0x10, 0xb5, 0x08, 0x4c, + 0x60, 0x78, 0x00, 0x28, 0x0a, 0xd0, 0x06, 0xf0, + 0xe3, 0xfc, 0x00, 0x20, 0x60, 0x70, 0x20, 0x69, + 0x00, 0x28, 0x03, 0xd0, 0x01, 0x21, 0x0e, 0x20, + 0x06, 0xf0, 0x96, 0xfd, 0x10, 0xbd, 0x00, 0x00, + 0x18, 0x63, 0x01, 0x00, 0x3c, 0x00, 0x38, 0xb8, + 0x00, 0x00, 0x09, 0x49, 0x80, 0xb5, 0x0b, 0x69, + 0x83, 0x42, 0x04, 0xd1, 0x4a, 0x78, 0x00, 0x2a, + 0x01, 0xd1, 0x01, 0x22, 0x00, 0xe0, 0x00, 0x22, + 0x83, 0x43, 0x0b, 0x61, 0x00, 0x2a, 0x03, 0xd0, + 0x00, 0x21, 0x0e, 0x20, 0x06, 0xf0, 0x7f, 0xfd, + 0x80, 0xbd, 0x18, 0x63, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x20, 0xf6, 0xf7, 0x56, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x3c, 0x00, + 0x74, 0xb8, 0x00, 0x00, 0x00, 0xf0, 0x04, 0xf8, + 0x20, 0x1c, 0x00, 0xf0, 0x1f, 0xf8, 0x10, 0xbd, + 0xb0, 0xb5, 0x0c, 0x4d, 0x04, 0x1c, 0xa8, 0x68, + 0xa0, 0x42, 0x0f, 0xd1, 0x07, 0x20, 0x29, 0x68, + 0x08, 0xf0, 0x8c, 0xfb, 0x68, 0x68, 0x02, 0x22, + 0x07, 0x49, 0x00, 0x28, 0x08, 0x7e, 0x01, 0xd0, + 0x10, 0x43, 0x00, 0xe0, 0x90, 0x43, 0x08, 0x76, + 0x04, 0xf0, 0xc4, 0xf8, 0xa8, 0x68, 0xa0, 0x43, + 0x3c, 0x00, 0xb0, 0xb8, 0x00, 0x00, 0xa8, 0x60, + 0xb0, 0xbd, 0x40, 0x7c, 0x01, 0x00, 0x0c, 0x80, + 0x07, 0x00, 0x0a, 0x49, 0x38, 0xb5, 0x0a, 0x1c, + 0x20, 0x32, 0x94, 0x79, 0x00, 0xab, 0x1c, 0x70, + 0xd2, 0x79, 0x07, 0x4c, 0x5a, 0x70, 0xe2, 0x68, + 0x82, 0x42, 0x02, 0xd1, 0x06, 0x4d, 0x00, 0x23, + 0x6b, 0x70, 0x82, 0x43, 0xe2, 0x60, 0x00, 0xab, + 0x18, 0x88, 0xc8, 0x84, 0x38, 0xbd, 0x00, 0x10, + 0x07, 0x00, 0x3c, 0x00, 0xec, 0xb8, 0x00, 0x00, + 0x40, 0x7c, 0x01, 0x00, 0x00, 0x50, 0x07, 0x00, + 0xb0, 0xb5, 0x05, 0x1c, 0x0a, 0x4c, 0x00, 0x21, + 0x60, 0x69, 0xff, 0xf7, 0x11, 0xff, 0x04, 0x20, + 0x01, 0xf0, 0x46, 0xf9, 0x01, 0xf0, 0x88, 0xfb, + 0x00, 0x22, 0x04, 0x21, 0x04, 0x20, 0x01, 0xf0, + 0x8b, 0xf8, 0x28, 0x1c, 0x01, 0xf0, 0x4a, 0xfa, + 0x60, 0x69, 0xff, 0xf7, 0xa7, 0xff, 0xb0, 0xbd, + 0x40, 0x7c, 0x01, 0x00, 0x3c, 0x00, 0x28, 0xb9, + 0x00, 0x00, 0x80, 0xb5, 0x01, 0xf0, 0x77, 0xfa, + 0x80, 0xbd, 0xb0, 0xb5, 0x0d, 0x4d, 0x01, 0x21, + 0x28, 0x69, 0xff, 0xf7, 0xf4, 0xfe, 0xff, 0xf7, + 0x2a, 0xfe, 0x00, 0xf0, 0x2c, 0xfb, 0x00, 0xf0, + 0x84, 0xfa, 0x00, 0x24, 0x00, 0x22, 0x04, 0x21, + 0x20, 0x1c, 0x01, 0xf0, 0x6c, 0xf8, 0x01, 0x34, + 0x24, 0x06, 0x24, 0x0e, 0x04, 0x2c, 0xf5, 0xd3, + 0x28, 0x69, 0xff, 0xf7, 0x86, 0xff, 0x3c, 0x00, + 0x64, 0xb9, 0x00, 0x00, 0xb0, 0xbd, 0x00, 0x00, + 0x40, 0x7c, 0x01, 0x00, 0xf8, 0xb5, 0x05, 0x1c, + 0x0e, 0x1c, 0x07, 0x4c, 0x17, 0x1c, 0x01, 0x21, + 0x20, 0x69, 0xff, 0xf7, 0xd3, 0xfe, 0x3a, 0x1c, + 0x31, 0x1c, 0x28, 0x1c, 0x01, 0xf0, 0x52, 0xf8, + 0x20, 0x69, 0xff, 0xf7, 0x71, 0xff, 0xf8, 0xbd, + 0x40, 0x7c, 0x01, 0x00, 0xff, 0xb5, 0x89, 0xb0, + 0x06, 0x1c, 0x16, 0x98, 0x1d, 0x1c, 0x00, 0x28, + 0x3c, 0x00, 0xa0, 0xb9, 0x00, 0x00, 0x01, 0xd0, + 0x29, 0x48, 0x14, 0x90, 0x28, 0x68, 0x00, 0x88, + 0x00, 0x06, 0x80, 0x0e, 0x20, 0x28, 0x01, 0xd0, + 0x14, 0x28, 0x17, 0xd1, 0x0a, 0xaa, 0x18, 0x24, + 0x18, 0x21, 0x05, 0xca, 0xff, 0xf7, 0x77, 0xf9, + 0x07, 0x1c, 0x28, 0x1c, 0x01, 0x89, 0xa1, 0x42, + 0x02, 0xdd, 0x00, 0x68, 0x01, 0x19, 0x0b, 0xe0, + 0xc0, 0x68, 0x64, 0x1a, 0x00, 0x28, 0xf5, 0xd1, + 0x0f, 0x21, 0x3c, 0x00, 0xdc, 0xb9, 0x00, 0x00, + 0x86, 0x20, 0xf5, 0xf7, 0x61, 0xfc, 0x00, 0x21, + 0x01, 0xe0, 0x00, 0x21, 0x00, 0x27, 0x18, 0x48, + 0x08, 0x90, 0x80, 0x79, 0x07, 0x90, 0x0c, 0x20, + 0x16, 0x4a, 0x70, 0x43, 0x80, 0x18, 0x04, 0x79, + 0x04, 0x91, 0x12, 0x99, 0x15, 0x98, 0x14, 0x9a, + 0x01, 0x91, 0x03, 0x90, 0x05, 0x97, 0x00, 0x95, + 0x0a, 0xab, 0x02, 0x92, 0x21, 0x1c, 0x30, 0x1c, + 0x0c, 0xcb, 0xf7, 0xf7, 0x3c, 0x00, 0x18, 0xba, + 0x00, 0x00, 0x03, 0xf9, 0x01, 0x25, 0xb5, 0x40, + 0x0c, 0x4e, 0x08, 0x3e, 0x30, 0x78, 0x28, 0x40, + 0x06, 0xd0, 0x20, 0x1c, 0x00, 0xf0, 0xc9, 0xfd, + 0x30, 0x78, 0xa8, 0x43, 0x30, 0x70, 0x03, 0xe0, + 0x20, 0x1c, 0x13, 0x99, 0x00, 0xf0, 0x43, 0xff, + 0x07, 0xa9, 0x03, 0xc9, 0x88, 0x71, 0x0d, 0xb0, + 0xf0, 0xbd, 0x95, 0x24, 0x00, 0x00, 0x20, 0x10, + 0x07, 0x00, 0x74, 0x7a, 0x01, 0x00, 0x3c, 0x00, + 0x54, 0xba, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x0c, 0x23, 0x09, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x00, 0x79, 0x05, 0x1c, 0x00, 0xf0, 0x92, 0xfe, + 0x28, 0x1c, 0xf7, 0xf7, 0xc7, 0xf8, 0x01, 0x20, + 0x03, 0x4a, 0xa0, 0x40, 0x08, 0x3a, 0x11, 0x78, + 0x81, 0x43, 0x11, 0x70, 0xb0, 0xbd, 0x00, 0x00, + 0x74, 0x7a, 0x01, 0x00, 0x10, 0xb5, 0x05, 0x4c, + 0x20, 0x78, 0x00, 0x28, 0x03, 0xd1, 0x1a, 0x21, + 0x3c, 0x00, 0x90, 0xba, 0x00, 0x00, 0x86, 0x20, + 0xf5, 0xf7, 0x07, 0xfc, 0x20, 0x78, 0x10, 0xbd, + 0x00, 0x00, 0x18, 0x63, 0x01, 0x00, 0x01, 0x48, + 0x40, 0x78, 0x70, 0x47, 0x00, 0x00, 0x2c, 0x63, + 0x01, 0x00, 0x80, 0xb5, 0xf6, 0xf7, 0xd1, 0xfe, + 0x00, 0xf0, 0x1b, 0xf9, 0x80, 0xbd, 0xfe, 0xb5, + 0x01, 0x68, 0x05, 0x1c, 0x0c, 0x68, 0x0e, 0x1c, + 0x21, 0x78, 0x88, 0x07, 0x71, 0xd1, 0x68, 0x69, + 0xc2, 0x07, 0x3c, 0x00, 0xcc, 0xba, 0x00, 0x00, + 0x6e, 0xd5, 0x80, 0x07, 0x6d, 0xd5, 0xe8, 0x7a, + 0xc2, 0x07, 0x08, 0x07, 0x09, 0x09, 0x02, 0x91, + 0x45, 0x49, 0x80, 0x0f, 0xd2, 0x0f, 0x00, 0x28, + 0x4f, 0x68, 0x05, 0xd0, 0x01, 0x28, 0x09, 0xd0, + 0x02, 0x28, 0x21, 0xd0, 0x03, 0x28, 0x5b, 0xd1, + 0xff, 0x23, 0x20, 0x1c, 0xa9, 0x7a, 0xf4, 0xf7, + 0x74, 0xfc, 0x55, 0xe0, 0x02, 0x98, 0x0b, 0x28, + 0x0a, 0xd0, 0x0c, 0x28, 0x3c, 0x00, 0x08, 0xbb, + 0x00, 0x00, 0x0f, 0xd0, 0x0d, 0x28, 0x4e, 0xd1, + 0x39, 0x4f, 0xf8, 0x68, 0xf4, 0xf7, 0x61, 0xfc, + 0x00, 0x20, 0xc0, 0x43, 0x5a, 0xe0, 0x35, 0x4f, + 0xa9, 0x7a, 0xbb, 0x68, 0x20, 0x1c, 0xf4, 0xf7, + 0x5b, 0xfc, 0x40, 0xe0, 0x32, 0x4f, 0x38, 0x69, + 0xf4, 0xf7, 0x53, 0xfc, 0x3b, 0xe0, 0x00, 0x21, + 0x01, 0x91, 0x02, 0x99, 0x00, 0x20, 0xff, 0x23, + 0x09, 0x07, 0x01, 0xd4, 0x01, 0x20, 0x3c, 0x00, + 0x44, 0xbb, 0x00, 0x00, 0x13, 0xe0, 0x31, 0x89, + 0x19, 0x29, 0x01, 0xd3, 0x26, 0x7e, 0x07, 0xe0, + 0x15, 0x29, 0x04, 0xd3, 0x18, 0x26, 0x71, 0x1a, + 0x49, 0x19, 0x0e, 0x7b, 0x00, 0xe0, 0x00, 0x26, + 0xb1, 0x06, 0x02, 0xd4, 0x01, 0x20, 0x73, 0x07, + 0x5b, 0x0f, 0x01, 0x21, 0x01, 0x91, 0x00, 0x28, + 0x03, 0xd0, 0xa9, 0x7a, 0x20, 0x1c, 0xf4, 0xf7, + 0x36, 0xfc, 0x01, 0x99, 0x01, 0x29, 0x15, 0xd1, + 0x3c, 0x00, 0x80, 0xbb, 0x00, 0x00, 0xf0, 0x06, + 0xc6, 0x0f, 0x20, 0x88, 0x1b, 0x4f, 0xe4, 0x8a, + 0xf9, 0x6b, 0x00, 0x05, 0xc0, 0x0f, 0x00, 0x29, + 0x1a, 0xd0, 0x4b, 0x1c, 0x18, 0xd0, 0x00, 0x2e, + 0x0a, 0xd0, 0x00, 0x28, 0x08, 0xd0, 0x38, 0x88, + 0x84, 0x42, 0x13, 0xd0, 0x02, 0x98, 0x0c, 0x28, + 0x01, 0xe0, 0x1d, 0xe0, 0x12, 0xe0, 0x0d, 0xd0, + 0x08, 0x1c, 0x01, 0xf0, 0x76, 0xf9, 0x00, 0x28, + 0x03, 0xd1, 0x3c, 0x00, 0xbc, 0xbb, 0x00, 0x00, + 0x00, 0xf0, 0xa6, 0xfa, 0xf4, 0xf7, 0x0a, 0xfc, + 0x00, 0x20, 0xc0, 0x43, 0xf8, 0x63, 0x00, 0x2e, + 0x0d, 0xd0, 0x3c, 0x80, 0x00, 0x20, 0xf8, 0x63, + 0x09, 0xe0, 0x20, 0x88, 0x00, 0x06, 0x80, 0x0e, + 0x20, 0x28, 0x04, 0xd1, 0x04, 0x4f, 0x20, 0x1c, + 0xb9, 0x6a, 0xf4, 0xf7, 0xf8, 0xfb, 0x29, 0x1c, + 0x02, 0x48, 0xfb, 0xf7, 0xef, 0xff, 0xfe, 0xbd, + 0x28, 0x7a, 0x01, 0x00, 0x3c, 0x00, 0xf8, 0xbb, + 0x00, 0x00, 0xa5, 0x9a, 0x00, 0x00, 0x03, 0x48, + 0x80, 0xb5, 0x00, 0x78, 0x00, 0x21, 0x00, 0xf0, + 0xfc, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0x18, 0x63, + 0x01, 0x00, 0x04, 0x4b, 0x05, 0x49, 0x00, 0x28, + 0x1a, 0x68, 0x00, 0xd0, 0x01, 0x1c, 0x10, 0x1c, + 0x19, 0x60, 0x70, 0x47, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x95, 0x75, 0x00, 0x00, 0x05, 0x48, + 0x80, 0xb5, 0x00, 0x7f, 0x24, 0x23, 0x3c, 0x00, + 0x34, 0xbc, 0x00, 0x00, 0x04, 0x49, 0x58, 0x43, + 0x40, 0x18, 0xc0, 0x69, 0xf4, 0xf7, 0xcc, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0xd4, 0x79, 0x01, 0x00, + 0x94, 0x46, 0x01, 0x00, 0x02, 0x1c, 0x06, 0x48, + 0x80, 0xb5, 0x81, 0x62, 0x82, 0x60, 0x00, 0x7f, + 0x24, 0x23, 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x80, 0x69, 0xf4, 0xf7, 0xb9, 0xfb, 0x80, 0xbd, + 0xd4, 0x79, 0x01, 0x00, 0x94, 0x46, 0x01, 0x00, + 0x3c, 0x00, 0x70, 0xbc, 0x00, 0x00, 0x80, 0xb5, + 0x00, 0x20, 0x00, 0xf0, 0x3c, 0xfb, 0x00, 0x20, + 0x00, 0xf0, 0x6d, 0xfa, 0x00, 0xf0, 0x65, 0xfa, + 0x04, 0x49, 0xc8, 0x6a, 0x01, 0x30, 0xc8, 0x62, + 0x08, 0x1f, 0x00, 0x88, 0x07, 0xf0, 0xc1, 0xf8, + 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, 0x06, 0x48, + 0x80, 0xb5, 0x00, 0x21, 0x01, 0x77, 0xc1, 0x6a, + 0x01, 0x31, 0xc1, 0x62, 0x04, 0x38, 0x00, 0x88, + 0x07, 0xf0, 0x3c, 0x00, 0xac, 0xbc, 0x00, 0x00, + 0xb3, 0xf8, 0x03, 0xf0, 0xd1, 0xf9, 0x80, 0xbd, + 0xd4, 0x79, 0x01, 0x00, 0x80, 0xb5, 0x05, 0xf0, + 0xe9, 0xfa, 0x80, 0xbd, 0x80, 0xb5, 0x00, 0x28, + 0x03, 0xd1, 0x01, 0x20, 0x04, 0xf0, 0x22, 0xfa, + 0x80, 0xbd, 0x01, 0x20, 0x03, 0xf0, 0xe6, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x03, 0x49, 0x01, 0x20, + 0x49, 0x78, 0x00, 0x29, 0x00, 0xd0, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xbc, + 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, 0x70, 0xb5, + 0x13, 0x4d, 0x28, 0x78, 0x00, 0x28, 0x20, 0xd1, + 0x01, 0x21, 0x2e, 0x1c, 0x70, 0x68, 0xff, 0xf7, + 0x12, 0xfd, 0x00, 0x21, 0x07, 0x20, 0x06, 0xf0, + 0x2a, 0xfb, 0x0d, 0x48, 0x00, 0x24, 0x04, 0x71, + 0x04, 0xf0, 0xed, 0xf8, 0x06, 0xf0, 0xd5, 0xf9, + 0x01, 0x20, 0x28, 0x70, 0x0a, 0x48, 0x04, 0x60, + 0x44, 0x60, 0xf6, 0xf7, 0x4c, 0xfd, 0x3c, 0x00, + 0x24, 0xbd, 0x00, 0x00, 0xf7, 0xf7, 0x5e, 0xf8, + 0xff, 0xf7, 0xa2, 0xff, 0x00, 0xf0, 0xa8, 0xfd, + 0x05, 0x48, 0x71, 0x68, 0x03, 0xf0, 0x20, 0xfb, + 0x01, 0x20, 0x70, 0xbd, 0x2c, 0x63, 0x01, 0x00, + 0x50, 0x00, 0x07, 0x00, 0x80, 0x00, 0x07, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0xb0, 0xb5, 0x1e, 0x4c, + 0x20, 0x78, 0x01, 0x28, 0x35, 0xd1, 0x25, 0x1c, + 0x69, 0x68, 0x1c, 0x48, 0x03, 0xf0, 0x20, 0xfb, + 0x3c, 0x00, 0x60, 0xbd, 0x00, 0x00, 0x04, 0xf0, + 0xf0, 0xf8, 0x1a, 0x48, 0x01, 0x68, 0x49, 0x08, + 0x49, 0x00, 0x01, 0x60, 0x01, 0x68, 0x01, 0x22, + 0x11, 0x43, 0x01, 0x60, 0x00, 0xf0, 0x2b, 0xfe, + 0x00, 0xf0, 0x1b, 0xfc, 0x06, 0xf0, 0x99, 0xf8, + 0xf6, 0xf7, 0x29, 0xfe, 0xf6, 0xf7, 0x2d, 0xfc, + 0x00, 0x20, 0x20, 0x70, 0xff, 0xf7, 0x83, 0xff, + 0x00, 0xf0, 0x8b, 0xfd, 0x0f, 0x48, 0x81, 0x78, + 0x08, 0x22, 0x3c, 0x00, 0x9c, 0xbd, 0x00, 0x00, + 0x91, 0x43, 0x81, 0x70, 0x81, 0x78, 0x11, 0x43, + 0x81, 0x70, 0x0c, 0x49, 0x10, 0x20, 0x08, 0x71, + 0x68, 0x68, 0xff, 0xf7, 0x5f, 0xfd, 0xf7, 0xf7, + 0x39, 0xf8, 0xf6, 0xf7, 0x4d, 0xfd, 0x01, 0x21, + 0x07, 0x20, 0x06, 0xf0, 0xcd, 0xfa, 0x01, 0x20, + 0xb0, 0xbd, 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0xf0, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x07, 0x00, 0x3c, 0x00, 0xd8, 0xbd, + 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x03, 0x49, + 0x01, 0x20, 0x89, 0x7a, 0x01, 0x29, 0x00, 0xd0, + 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, 0x14, 0x7a, + 0x01, 0x00, 0xb0, 0xb5, 0x15, 0x4d, 0x04, 0x1c, + 0x28, 0x7a, 0x00, 0x28, 0x20, 0xd1, 0xf9, 0xf7, + 0x00, 0xfc, 0x02, 0x28, 0x1c, 0xd1, 0x01, 0x20, + 0x28, 0x72, 0xe8, 0x68, 0x00, 0x28, 0x10, 0xd0, + 0x20, 0x68, 0x29, 0x68, 0x08, 0x60, 0x3c, 0x00, + 0x14, 0xbe, 0x00, 0x00, 0x69, 0x68, 0x0d, 0x48, + 0x03, 0xf0, 0xc2, 0xfa, 0x01, 0x21, 0x68, 0x68, + 0xff, 0xf7, 0xc8, 0xfc, 0x00, 0x22, 0x24, 0x20, + 0x61, 0x68, 0x07, 0xf0, 0xcf, 0xfb, 0xb0, 0xbd, + 0x00, 0x20, 0x28, 0x72, 0x21, 0x68, 0x01, 0x20, + 0xf4, 0xf7, 0xcf, 0xfa, 0xb0, 0xbd, 0x00, 0x20, + 0x21, 0x68, 0xf4, 0xf7, 0xca, 0xfa, 0xb0, 0xbd, + 0x04, 0x7a, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x3c, 0x00, 0x50, 0xbe, 0x00, 0x00, 0x04, 0x48, + 0x80, 0xb5, 0x00, 0x7a, 0x01, 0x28, 0x02, 0xd1, + 0x00, 0x20, 0x02, 0xf0, 0xf0, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x04, 0x7a, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x28, 0x07, 0xd0, 0x80, 0x28, 0x09, 0xd1, + 0x07, 0x48, 0x00, 0x7a, 0x00, 0x28, 0x04, 0xd0, + 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, 0x02, 0xf0, + 0xde, 0xfe, 0x80, 0xbd, 0x0e, 0x21, 0x24, 0x20, + 0xf5, 0xf7, 0x3c, 0x00, 0x8c, 0xbe, 0x00, 0x00, + 0x0b, 0xfa, 0x80, 0xbd, 0x04, 0x7a, 0x01, 0x00, + 0xf8, 0xb5, 0x3a, 0x4e, 0x05, 0x1c, 0xb0, 0x7a, + 0x00, 0x28, 0x69, 0xd1, 0xf9, 0xf7, 0xae, 0xfb, + 0x02, 0x28, 0x65, 0xd1, 0x36, 0x48, 0x00, 0x68, + 0x00, 0x28, 0x61, 0xd0, 0x35, 0x48, 0x71, 0x68, + 0x03, 0xf0, 0x74, 0xfa, 0x01, 0x21, 0x70, 0x68, + 0xff, 0xf7, 0x7a, 0xfc, 0x6c, 0x20, 0xf5, 0xf7, + 0xb9, 0xfc, 0x04, 0x1c, 0x3c, 0x00, 0xc8, 0xbe, + 0x00, 0x00, 0x6c, 0x21, 0xf4, 0xf7, 0xe7, 0xfa, + 0x30, 0x68, 0x2c, 0x22, 0x04, 0x60, 0x29, 0x68, + 0x81, 0x60, 0x69, 0x68, 0xc1, 0x60, 0x00, 0x21, + 0x11, 0x54, 0x81, 0x62, 0xa9, 0x68, 0x00, 0x29, + 0x02, 0xd0, 0xe9, 0x68, 0x01, 0x61, 0x05, 0xe0, + 0x06, 0xf0, 0x5d, 0xff, 0x69, 0x68, 0x40, 0x18, + 0x31, 0x68, 0x08, 0x61, 0x70, 0x68, 0xff, 0xf7, + 0x14, 0xfd, 0x69, 0x21, 0x08, 0x55, 0x3c, 0x00, + 0x04, 0xbf, 0x00, 0x00, 0x00, 0x20, 0xf9, 0xf7, + 0x09, 0xfb, 0x01, 0x27, 0x3b, 0x1c, 0x06, 0x1c, + 0x22, 0x1c, 0x24, 0x32, 0x00, 0x21, 0xf9, 0xf7, + 0x79, 0xfb, 0x1c, 0x48, 0x03, 0x21, 0x00, 0x88, + 0x89, 0x03, 0x08, 0x43, 0x21, 0x1c, 0x40, 0x31, + 0x00, 0x91, 0x48, 0x83, 0x18, 0x48, 0x10, 0x21, + 0x60, 0x60, 0x18, 0x48, 0xa0, 0x60, 0xa7, 0x63, + 0x67, 0x63, 0x00, 0x20, 0xf5, 0xf7, 0x4c, 0xfb, + 0x3c, 0x00, 0x40, 0xbf, 0x00, 0x00, 0xe0, 0x60, + 0x02, 0x89, 0x00, 0x99, 0xca, 0x83, 0x07, 0x68, + 0x31, 0x1c, 0x38, 0x1d, 0x27, 0x61, 0xfe, 0xf7, + 0x8e, 0xfe, 0x38, 0x1c, 0x0a, 0x30, 0x0f, 0x49, + 0xfe, 0xf7, 0x89, 0xfe, 0xa4, 0x20, 0x38, 0x80, + 0x00, 0x20, 0x04, 0xf0, 0xde, 0xfb, 0x00, 0x22, + 0x1f, 0x20, 0x69, 0x68, 0x07, 0xf0, 0x2d, 0xfb, + 0xf8, 0xbd, 0xff, 0xe7, 0x00, 0x20, 0x29, 0x68, + 0xf4, 0xf7, 0x3c, 0x00, 0x7c, 0xbf, 0x00, 0x00, + 0x2e, 0xfa, 0xf8, 0xe7, 0x14, 0x7a, 0x01, 0x00, + 0x80, 0x5a, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0xfa, 0x60, 0x01, 0x00, 0x99, 0xec, 0x00, 0x00, + 0x15, 0xed, 0x00, 0x00, 0x12, 0x61, 0x01, 0x00, + 0x06, 0x48, 0x80, 0xb5, 0x81, 0x7a, 0x00, 0x29, + 0x07, 0xd0, 0x00, 0x68, 0x04, 0x22, 0x20, 0x30, + 0x01, 0x7b, 0x11, 0x43, 0x01, 0x73, 0x02, 0xf0, + 0x6b, 0xfd, 0x80, 0xbd, 0x3c, 0x00, 0xb8, 0xbf, + 0x00, 0x00, 0x14, 0x7a, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x4c, 0xa0, 0x7a, 0x01, 0x28, 0x03, 0xd1, + 0x06, 0xf0, 0xf1, 0xfe, 0x21, 0x68, 0x88, 0x61, + 0x10, 0xbd, 0x14, 0x7a, 0x01, 0x00, 0x03, 0x1c, + 0x08, 0x1c, 0x1f, 0x49, 0x70, 0xb5, 0x0a, 0x68, + 0x01, 0x2b, 0x1c, 0xd0, 0x80, 0x2b, 0x05, 0xd0, + 0x83, 0x2b, 0x30, 0xd1, 0x88, 0x7a, 0x00, 0x28, + 0x14, 0xd0, 0x29, 0xe0, 0x53, 0x69, 0x3c, 0x00, + 0xf4, 0xbf, 0x00, 0x00, 0x00, 0x2b, 0x0e, 0xd0, + 0x94, 0x69, 0xd5, 0x69, 0x2e, 0x1b, 0x0c, 0x69, + 0x5d, 0x1b, 0x36, 0x1b, 0xb6, 0x10, 0xa4, 0x19, + 0x0c, 0x61, 0xcc, 0x68, 0x2d, 0x1b, 0xad, 0x10, + 0x64, 0x19, 0xcc, 0x60, 0x93, 0x61, 0x02, 0xf0, + 0x81, 0xfd, 0x70, 0xbd, 0x02, 0x28, 0x12, 0xd1, + 0x90, 0x6a, 0x0c, 0x1c, 0x00, 0x28, 0xf8, 0xd0, + 0x07, 0xf0, 0x0e, 0xfa, 0xa0, 0x7a, 0x01, 0x28, + 0x3c, 0x00, 0x30, 0xc0, 0x00, 0x00, 0xf3, 0xd1, + 0x20, 0x68, 0x81, 0x6a, 0x00, 0x29, 0xef, 0xd1, + 0x20, 0x30, 0x01, 0x7b, 0x08, 0x22, 0x11, 0x43, + 0x01, 0x73, 0x70, 0xbd, 0x02, 0xf0, 0x21, 0xfd, + 0x70, 0xbd, 0x0e, 0x21, 0x1f, 0x20, 0xf5, 0xf7, + 0x28, 0xf9, 0x70, 0xbd, 0x00, 0x00, 0x14, 0x7a, + 0x01, 0x00, 0x02, 0x49, 0x0c, 0x31, 0x03, 0xc9, + 0x40, 0x18, 0x70, 0x47, 0x00, 0x00, 0x14, 0x7a, + 0x01, 0x00, 0x3c, 0x00, 0x6c, 0xc0, 0x00, 0x00, + 0x05, 0x48, 0x80, 0xb5, 0x00, 0x68, 0x04, 0x22, + 0x20, 0x30, 0x01, 0x7b, 0x11, 0x43, 0x01, 0x73, + 0x07, 0xf0, 0xe4, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0x14, 0x7a, 0x01, 0x00, 0x70, 0xb5, 0x16, 0x4c, + 0x0e, 0x1c, 0xa1, 0x7a, 0x00, 0x29, 0x1c, 0xd0, + 0x21, 0x68, 0x08, 0x61, 0x07, 0xf0, 0x32, 0xfa, + 0x00, 0x28, 0x17, 0xd0, 0x20, 0x68, 0x00, 0x25, + 0x05, 0x62, 0x00, 0x22, 0x3c, 0x00, 0xa8, 0xc0, + 0x00, 0x00, 0x83, 0x21, 0x1f, 0x20, 0x07, 0xf0, + 0x94, 0xfa, 0x60, 0x68, 0xff, 0xf7, 0x03, 0xfc, + 0x21, 0x68, 0x04, 0x22, 0x20, 0x31, 0x08, 0x7b, + 0x2b, 0x1c, 0x90, 0x43, 0x08, 0x73, 0x31, 0x1c, + 0x00, 0x22, 0x1f, 0x20, 0x07, 0xf0, 0x61, 0xfb, + 0x70, 0xbd, 0x20, 0x68, 0x08, 0x22, 0x20, 0x30, + 0x01, 0x7b, 0x11, 0x43, 0x01, 0x73, 0x02, 0xf0, + 0xd6, 0xfc, 0x70, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xc0, 0x00, 0x00, 0x14, 0x7a, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0x77, 0xfc, 0x00, 0xf0, + 0x6f, 0xfc, 0x00, 0xf0, 0x29, 0xff, 0x00, 0xf0, + 0x5d, 0xfa, 0x00, 0xf0, 0xc5, 0xf8, 0x00, 0xf0, + 0x85, 0xff, 0x80, 0xbd, 0x80, 0xb5, 0xfa, 0xf7, + 0x85, 0xfa, 0x80, 0xbd, 0x01, 0x48, 0xc0, 0x68, + 0x70, 0x47, 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, + 0x03, 0x49, 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, + 0x3c, 0x00, 0x20, 0xc1, 0x00, 0x00, 0x02, 0x48, + 0xc1, 0x60, 0x70, 0x47, 0x00, 0x00, 0x81, 0x75, + 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, 0x01, 0x48, + 0x02, 0x49, 0xc8, 0x60, 0x70, 0x47, 0x81, 0x75, + 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, 0x01, 0x49, + 0x88, 0x61, 0x70, 0x47, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x01, 0x49, 0x00, 0x20, 0x88, 0x61, + 0x70, 0x47, 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, + 0x00, 0x28, 0x3c, 0x00, 0x5c, 0xc1, 0x00, 0x00, + 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, 0xc1, 0x61, + 0x70, 0x47, 0x00, 0x00, 0x89, 0x75, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, 0x00, 0x28, + 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, 0x81, 0x62, + 0x70, 0x47, 0x00, 0x00, 0x8d, 0x75, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, 0x00, 0x28, + 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, 0x01, 0x62, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xc1, + 0x00, 0x00, 0x91, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x03, 0x49, 0x00, 0x28, 0x00, 0xd0, + 0x01, 0x1c, 0x02, 0x48, 0x01, 0x61, 0x70, 0x47, + 0x00, 0x00, 0x99, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x01, 0x48, 0x02, 0x49, 0x08, 0x61, + 0x70, 0x47, 0x81, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x02, 0x1c, 0x08, 0x1c, 0x80, 0x2a, + 0x80, 0xb5, 0x02, 0xd1, 0x00, 0xf0, 0x3c, 0x00, + 0xd4, 0xc1, 0x00, 0x00, 0x07, 0xf8, 0x80, 0xbd, + 0x1e, 0x21, 0x21, 0x20, 0xf5, 0xf7, 0x62, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x10, 0x4d, + 0x04, 0x1c, 0xa8, 0x6b, 0x01, 0x30, 0xa8, 0x63, + 0x69, 0x6b, 0x09, 0x1a, 0x28, 0x1c, 0x00, 0x6b, + 0x0c, 0x29, 0x03, 0xd9, 0x00, 0x21, 0xff, 0xf7, + 0x91, 0xfa, 0x03, 0xe0, 0x08, 0x29, 0x01, 0xd1, + 0xff, 0xf7, 0x32, 0xfb, 0x20, 0x1c, 0x00, 0xf0, + 0x3c, 0x00, 0x10, 0xc2, 0x00, 0x00, 0x4d, 0xf9, + 0x60, 0x69, 0x40, 0x07, 0x01, 0xd5, 0x03, 0xf0, + 0x0c, 0xfc, 0x20, 0x1c, 0xe9, 0x6a, 0xf4, 0xf7, + 0xdb, 0xf8, 0xb0, 0xbd, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x03, 0x49, 0x00, 0x28, 0x00, 0xd0, + 0x01, 0x1c, 0x02, 0x48, 0x41, 0x62, 0x70, 0x47, + 0x00, 0x00, 0xb5, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0x03, 0x49, 0x01, 0x20, 0x09, 0x6c, + 0x00, 0x29, 0x3c, 0x00, 0x4c, 0xc2, 0x00, 0x00, + 0x00, 0xd1, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x10, 0xb5, 0x07, 0x4c, + 0xe1, 0x6b, 0x00, 0x29, 0x01, 0xd1, 0xe0, 0x63, + 0x04, 0xe0, 0x81, 0x42, 0x02, 0xd0, 0x00, 0x20, + 0xc0, 0x43, 0xf8, 0xe7, 0x06, 0xf0, 0x9c, 0xfd, + 0x20, 0x64, 0x10, 0xbd, 0x28, 0x7a, 0x01, 0x00, + 0x01, 0x48, 0x00, 0x6c, 0x70, 0x47, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x3c, 0x00, 0x88, 0xc2, + 0x00, 0x00, 0x05, 0x49, 0x80, 0xb5, 0x00, 0x20, + 0x48, 0x63, 0x88, 0x63, 0xff, 0x21, 0x09, 0x31, + 0x15, 0x22, 0x10, 0x20, 0xf6, 0xf7, 0xfb, 0xf9, + 0x80, 0xbd, 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, + 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, 0x02, 0x48, + 0x81, 0x60, 0x70, 0x47, 0x00, 0x00, 0xc1, 0x75, + 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, 0x03, 0x49, + 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, 0x3c, 0x00, + 0xc4, 0xc2, 0x00, 0x00, 0x02, 0x48, 0xc1, 0x62, + 0x70, 0x47, 0x00, 0x00, 0xc5, 0x75, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0x04, 0x4b, 0x05, 0x49, + 0x00, 0x28, 0x5a, 0x68, 0x00, 0xd0, 0x01, 0x1c, + 0x10, 0x1c, 0x59, 0x60, 0x70, 0x47, 0x00, 0x00, + 0x28, 0x7a, 0x01, 0x00, 0xc9, 0x75, 0x00, 0x00, + 0x03, 0x49, 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, + 0x02, 0x48, 0x41, 0x61, 0x70, 0x47, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xc3, 0x00, 0x00, 0xcd, 0x75, + 0x00, 0x00, 0x28, 0x7a, 0x01, 0x00, 0x0f, 0x4b, + 0x10, 0xb5, 0xd9, 0x68, 0x00, 0x29, 0x19, 0xd0, + 0x0e, 0x4c, 0x00, 0x21, 0xca, 0x00, 0x12, 0x19, + 0x40, 0x3a, 0xd2, 0x6b, 0x82, 0x42, 0x02, 0xda, + 0x01, 0x31, 0x03, 0x29, 0xf6, 0xd3, 0x48, 0x1c, + 0x1a, 0x78, 0x00, 0x06, 0x00, 0x0e, 0x90, 0x42, + 0x08, 0xd0, 0x18, 0x70, 0x08, 0x06, 0x00, 0x0e, + 0x04, 0x1c, 0x3c, 0x00, 0x3c, 0xc3, 0x00, 0x00, + 0xf6, 0xf7, 0xba, 0xfa, 0x20, 0x1c, 0x03, 0xf0, + 0x1b, 0xfd, 0x10, 0xbd, 0x18, 0x63, 0x01, 0x00, + 0x3c, 0x42, 0x01, 0x00, 0x10, 0xb5, 0x14, 0x4c, + 0xe1, 0x68, 0x00, 0x29, 0x22, 0xd0, 0x21, 0x78, + 0x12, 0x4b, 0xca, 0x00, 0xd2, 0x18, 0x40, 0x3a, + 0xd3, 0x6b, 0x83, 0x42, 0x02, 0xda, 0x48, 0x1c, + 0x20, 0x70, 0x0b, 0xe0, 0x92, 0x6b, 0x82, 0x42, + 0x14, 0xdd, 0xff, 0x31, 0x3c, 0x00, 0x78, 0xc3, + 0x00, 0x00, 0x08, 0x06, 0x00, 0x0e, 0x20, 0x70, + 0x03, 0xd1, 0x19, 0x21, 0x86, 0x20, 0xf4, 0xf7, + 0x8e, 0xff, 0x20, 0x78, 0xff, 0x30, 0x00, 0x06, + 0x00, 0x0e, 0xf6, 0xf7, 0x90, 0xfa, 0x20, 0x78, + 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, 0x03, 0xf0, + 0xee, 0xfc, 0x10, 0xbd, 0x00, 0x00, 0x18, 0x63, + 0x01, 0x00, 0x3c, 0x42, 0x01, 0x00, 0x09, 0x48, + 0x00, 0x21, 0x01, 0x81, 0x41, 0x81, 0x3c, 0x00, + 0xb4, 0xc3, 0x00, 0x00, 0x81, 0x81, 0xc1, 0x81, + 0x07, 0x4a, 0x02, 0x80, 0x01, 0x23, 0xdb, 0x02, + 0x43, 0x80, 0x82, 0x80, 0xc2, 0x80, 0x41, 0x76, + 0x31, 0x21, 0x81, 0x76, 0x01, 0x21, 0x01, 0x76, + 0x70, 0x47, 0x00, 0x00, 0x30, 0x80, 0x07, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x20, + 0xf6, 0xf7, 0xf8, 0xf8, 0x01, 0x20, 0xf6, 0xf7, + 0xdb, 0xfc, 0x01, 0x20, 0xf6, 0xf7, 0x5a, 0xfa, + 0x3c, 0x00, 0xf0, 0xc3, 0x00, 0x00, 0x01, 0x20, + 0x00, 0xf0, 0xf1, 0xfd, 0x01, 0x20, 0xf7, 0xf7, + 0xc6, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0x10, 0xb5, + 0x11, 0x4c, 0x00, 0x29, 0x07, 0xd1, 0x00, 0x28, + 0x02, 0xd1, 0x01, 0x20, 0xe0, 0x60, 0x06, 0xe0, + 0x00, 0x21, 0xe1, 0x60, 0x03, 0xe0, 0x01, 0x29, + 0x07, 0xd1, 0x00, 0x28, 0x01, 0xd0, 0x20, 0x70, + 0x03, 0xe0, 0x18, 0x21, 0x86, 0x20, 0xf4, 0xf7, + 0x3c, 0xff, 0x3c, 0x00, 0x2c, 0xc4, 0x00, 0x00, + 0x20, 0x78, 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, + 0xf6, 0xf7, 0x3e, 0xfa, 0x20, 0x78, 0xff, 0x30, + 0x00, 0x06, 0x00, 0x0e, 0x03, 0xf0, 0x9c, 0xfc, + 0x10, 0xbd, 0x00, 0x00, 0x18, 0x63, 0x01, 0x00, + 0x05, 0x49, 0x80, 0xb5, 0x09, 0x68, 0x88, 0x42, + 0x05, 0xd0, 0xfe, 0xf7, 0xff, 0xfb, 0x00, 0xf0, + 0x87, 0xfa, 0xff, 0xf7, 0x2b, 0xfc, 0x80, 0xbd, + 0xa8, 0x69, 0x01, 0x00, 0x3c, 0x00, 0x68, 0xc4, + 0x00, 0x00, 0x01, 0x49, 0x48, 0x70, 0x70, 0x47, + 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, 0x01, 0x49, + 0xc8, 0x60, 0x70, 0x47, 0x00, 0x00, 0x4c, 0x7b, + 0x01, 0x00, 0x03, 0x49, 0x01, 0x20, 0x09, 0x78, + 0x00, 0x29, 0x00, 0xd0, 0x00, 0x20, 0x70, 0x47, + 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, 0x04, 0x4a, + 0x00, 0x28, 0x02, 0xd0, 0x90, 0x69, 0x01, 0x30, + 0x90, 0x61, 0xd0, 0x69, 0x40, 0x18, 0x3c, 0x00, + 0xa4, 0xc4, 0x00, 0x00, 0xd0, 0x61, 0x70, 0x47, + 0x90, 0x5c, 0x01, 0x00, 0xfe, 0xb5, 0x04, 0x1c, + 0x00, 0x68, 0x05, 0x68, 0x28, 0x1c, 0xfe, 0xf7, + 0x27, 0xff, 0x07, 0x1c, 0x60, 0x69, 0x15, 0x4e, + 0xc0, 0x07, 0xc0, 0x0f, 0x21, 0xd0, 0x01, 0xaa, + 0x02, 0xa9, 0x28, 0x1c, 0xfe, 0xf7, 0x12, 0xff, + 0x38, 0x78, 0xc0, 0x07, 0x0c, 0xd4, 0x60, 0x69, + 0x80, 0x07, 0x08, 0xd5, 0x00, 0xab, 0x18, 0x7a, + 0x3c, 0x00, 0xe0, 0xc4, 0x00, 0x00, 0x00, 0x28, + 0x01, 0xd0, 0x02, 0x28, 0x02, 0xd1, 0x70, 0x6a, + 0x01, 0x30, 0x70, 0x62, 0xfe, 0xbd, 0x00, 0xab, + 0x18, 0x7a, 0x00, 0x28, 0x01, 0xd0, 0x02, 0x28, + 0xf8, 0xd1, 0x70, 0x6a, 0x01, 0x30, 0x70, 0x62, + 0xb0, 0x6a, 0x01, 0x30, 0xb0, 0x62, 0xf1, 0xe7, + 0xf0, 0x6a, 0x01, 0x30, 0xf0, 0x62, 0xed, 0xe7, + 0x00, 0x00, 0x90, 0x5c, 0x01, 0x00, 0x02, 0x49, + 0x48, 0x69, 0x3c, 0x00, 0x1c, 0xc5, 0x00, 0x00, + 0x01, 0x30, 0x48, 0x61, 0x70, 0x47, 0x00, 0x00, + 0x90, 0x5c, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x01, 0x1c, 0x40, 0x31, + 0x10, 0xb5, 0x0a, 0x8b, 0x12, 0x07, 0x92, 0x0f, + 0x01, 0x2a, 0x33, 0xd0, 0x4a, 0x78, 0x1a, 0x49, + 0x04, 0x1c, 0x60, 0x34, 0x00, 0x2a, 0x0b, 0x6a, + 0x22, 0xd1, 0xe2, 0x79, 0x01, 0x2a, 0x02, 0xd9, + 0xcc, 0x68, 0x01, 0x34, 0x3c, 0x00, 0x58, 0xc5, + 0x00, 0x00, 0xcc, 0x60, 0x02, 0x2a, 0x02, 0xd9, + 0x0c, 0x69, 0x01, 0x34, 0x0c, 0x61, 0x0c, 0x68, + 0x01, 0x34, 0x0c, 0x60, 0x44, 0x6b, 0x00, 0x2c, + 0x03, 0xd0, 0x04, 0x69, 0x24, 0x7c, 0xe4, 0x07, + 0x02, 0xd5, 0x4c, 0x68, 0x01, 0x34, 0x4c, 0x60, + 0x80, 0x6b, 0x00, 0x28, 0x02, 0xd0, 0x08, 0x6b, + 0x01, 0x30, 0x08, 0x63, 0x00, 0x2a, 0x0c, 0xd0, + 0x98, 0x18, 0x01, 0x38, 0x08, 0xe0, 0x3c, 0x00, + 0x94, 0xc5, 0x00, 0x00, 0x01, 0x2a, 0x01, 0xd0, + 0x02, 0x2a, 0x02, 0xd1, 0x88, 0x68, 0x01, 0x30, + 0x88, 0x60, 0xe0, 0x79, 0x18, 0x18, 0x08, 0x62, + 0x10, 0xbd, 0x00, 0x00, 0x90, 0x5c, 0x01, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x01, 0x49, 0x0a, 0x20, + 0x08, 0x81, 0x70, 0x47, 0xc4, 0x7a, 0x01, 0x00, + 0xf0, 0xb5, 0x32, 0x4f, 0x04, 0x1c, 0x78, 0x78, + 0x85, 0xb0, 0xc0, 0x07, 0xc0, 0x0f, 0x03, 0x90, + 0x3c, 0x00, 0xd0, 0xc5, 0x00, 0x00, 0xb8, 0x78, + 0x02, 0x90, 0x01, 0x20, 0xa0, 0x40, 0x04, 0x90, + 0x39, 0x1c, 0x88, 0x70, 0x2c, 0x48, 0x00, 0x88, + 0x06, 0xf0, 0x0b, 0xfc, 0x01, 0x90, 0xfe, 0xf7, + 0xae, 0xfc, 0x04, 0x30, 0x29, 0x4e, 0xa5, 0x00, + 0x71, 0x59, 0x09, 0x79, 0x88, 0x42, 0x06, 0xd0, + 0xfe, 0xf7, 0xa5, 0xfc, 0x71, 0x59, 0x04, 0x30, + 0x08, 0x71, 0x01, 0x20, 0x78, 0x70, 0x00, 0x20, + 0x78, 0x70, 0x3c, 0x00, 0x0c, 0xc6, 0x00, 0x00, + 0x21, 0x48, 0x01, 0x21, 0x20, 0x4e, 0x30, 0x38, + 0x01, 0x55, 0x71, 0x59, 0x03, 0x20, 0x08, 0x70, + 0x06, 0xf0, 0xc6, 0xfb, 0x06, 0x1c, 0xfe, 0xf7, + 0x91, 0xfc, 0x36, 0x18, 0x0e, 0x36, 0x09, 0xe0, + 0x30, 0x1c, 0x06, 0xf0, 0xf5, 0xfa, 0x00, 0x28, + 0x04, 0xd0, 0x23, 0x21, 0x86, 0x20, 0xf4, 0xf7, + 0x33, 0xfe, 0x03, 0xe0, 0xf6, 0xf7, 0x34, 0xfb, + 0x00, 0x28, 0xf1, 0xd0, 0x3c, 0x00, 0x48, 0xc6, + 0x00, 0x00, 0x12, 0x48, 0x13, 0x49, 0x3c, 0x38, + 0x00, 0x78, 0x08, 0x72, 0x20, 0x1c, 0xf4, 0xf7, + 0xa2, 0xfa, 0x0e, 0x4e, 0x71, 0x59, 0x08, 0x71, + 0x03, 0x98, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x21, + 0x79, 0x70, 0x09, 0x48, 0x00, 0x88, 0x01, 0x99, + 0x06, 0xf0, 0xbd, 0xfb, 0x02, 0x98, 0xb8, 0x70, + 0x09, 0x49, 0x49, 0x79, 0x04, 0x98, 0x88, 0x42, + 0x03, 0xd0, 0x24, 0x21, 0x86, 0x20, 0x3c, 0x00, + 0x84, 0xc6, 0x00, 0x00, 0xf4, 0xf7, 0x0e, 0xfe, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x50, 0x07, 0x00, + 0xd0, 0x79, 0x01, 0x00, 0x10, 0x7b, 0x01, 0x00, + 0x80, 0x80, 0x07, 0x00, 0x50, 0x80, 0x07, 0x00, + 0xb0, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, 0x05, 0x28, + 0x01, 0xd3, 0xf4, 0xf7, 0x29, 0xfe, 0x05, 0x2d, + 0x01, 0xd3, 0xf4, 0xf7, 0x25, 0xfe, 0x0b, 0x4a, + 0xa8, 0x00, 0x11, 0x58, 0xa0, 0x00, 0x10, 0x58, + 0x3c, 0x00, 0xc0, 0xc6, 0x00, 0x00, 0x0e, 0xc9, + 0x0e, 0xc0, 0x06, 0x21, 0x06, 0x22, 0x06, 0x48, + 0x69, 0x43, 0x2a, 0x38, 0x09, 0x18, 0x62, 0x43, + 0x10, 0x18, 0x06, 0x22, 0xf3, 0xf7, 0x0f, 0xff, + 0x02, 0x48, 0x30, 0x38, 0x41, 0x5d, 0x01, 0x55, + 0xb0, 0xbd, 0x10, 0x7b, 0x01, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0e, 0x48, 0x0d, 0x1c, 0x80, 0x78, + 0x01, 0x21, 0xa1, 0x40, 0x08, 0x40, 0x03, 0xd0, + 0x01, 0x21, 0x3c, 0x00, 0xfc, 0xc6, 0x00, 0x00, + 0x86, 0x20, 0xf4, 0xf7, 0xd1, 0xfd, 0x06, 0x21, + 0x06, 0x22, 0x09, 0x48, 0x69, 0x43, 0x09, 0x18, + 0x62, 0x43, 0x10, 0x18, 0x06, 0x22, 0xf3, 0xf7, + 0xf1, 0xfe, 0x20, 0x1c, 0xf4, 0xf7, 0x40, 0xfa, + 0x03, 0x4a, 0xa1, 0x00, 0x2a, 0x32, 0x51, 0x58, + 0x08, 0x71, 0xb0, 0xbd, 0x00, 0x50, 0x07, 0x00, + 0xe6, 0x7a, 0x01, 0x00, 0x03, 0x49, 0x80, 0xb5, + 0x00, 0x20, 0x48, 0x60, 0x3c, 0x00, 0x38, 0xc7, + 0x00, 0x00, 0x07, 0xf0, 0x32, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0xd4, 0x7a, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x05, 0x28, 0x01, 0xd3, 0xf4, 0xf7, + 0xd8, 0xfd, 0x07, 0x49, 0x08, 0x7a, 0x07, 0x4a, + 0x10, 0x70, 0x01, 0x20, 0x08, 0x72, 0xfe, 0xf7, + 0xf4, 0xfb, 0x04, 0x4a, 0x04, 0x30, 0xa1, 0x00, + 0x3c, 0x32, 0x51, 0x58, 0x08, 0x71, 0x10, 0xbd, + 0x00, 0x00, 0x80, 0x80, 0x07, 0x00, 0x3c, 0x00, + 0x74, 0xc7, 0x00, 0x00, 0xd4, 0x7a, 0x01, 0x00, + 0x03, 0x49, 0x80, 0xb5, 0x01, 0x20, 0x48, 0x60, + 0x07, 0xf0, 0x0e, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0xd4, 0x7a, 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x05, 0x28, 0x01, 0xd3, 0xf4, 0xf7, 0xb4, 0xfd, + 0x20, 0x1c, 0xf5, 0xf7, 0x8f, 0xfe, 0x00, 0x21, + 0x20, 0x1c, 0xfb, 0xf7, 0x31, 0xfd, 0x01, 0x21, + 0x00, 0x28, 0x00, 0xd0, 0x01, 0x1c, 0x09, 0x04, + 0x3c, 0x00, 0xb0, 0xc7, 0x00, 0x00, 0x09, 0x0c, + 0x20, 0x1c, 0x04, 0xf0, 0x22, 0xfa, 0x10, 0xbd, + 0x00, 0x00, 0x06, 0x49, 0x01, 0x20, 0x05, 0x4b, + 0x88, 0x60, 0x00, 0x20, 0x3c, 0x33, 0x00, 0x21, + 0x82, 0x00, 0x9a, 0x58, 0x11, 0x70, 0x01, 0x30, + 0x05, 0x28, 0xf9, 0xdb, 0x70, 0x47, 0xd4, 0x7a, + 0x01, 0x00, 0x0f, 0x49, 0x38, 0xb5, 0x00, 0x20, + 0x88, 0x60, 0x0e, 0x48, 0x01, 0x1c, 0x20, 0x31, + 0x8a, 0x79, 0x3c, 0x00, 0xec, 0xc7, 0x00, 0x00, + 0x00, 0xab, 0x1a, 0x70, 0xc9, 0x79, 0x0a, 0x4c, + 0x09, 0x4d, 0x59, 0x70, 0x0c, 0x34, 0x3c, 0x35, + 0x00, 0x21, 0x03, 0x22, 0x63, 0x5c, 0x00, 0x2b, + 0x02, 0xd0, 0x8b, 0x00, 0xeb, 0x58, 0x1a, 0x70, + 0x01, 0x31, 0x05, 0x29, 0xf6, 0xdb, 0x00, 0xab, + 0x19, 0x88, 0xc1, 0x84, 0x38, 0xbd, 0x00, 0x00, + 0xd4, 0x7a, 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, + 0xff, 0xb5, 0x14, 0x4f, 0x3c, 0x00, 0x28, 0xc8, + 0x00, 0x00, 0x04, 0x1c, 0xbe, 0x79, 0x0d, 0x1c, + 0x81, 0xb0, 0x0f, 0x20, 0x00, 0xf0, 0xb9, 0xf8, + 0x2a, 0x1c, 0x10, 0x4d, 0x00, 0x90, 0x21, 0x1c, + 0x28, 0x1c, 0xf4, 0xf7, 0xde, 0xfc, 0x21, 0x1c, + 0xa8, 0x1d, 0x03, 0x9a, 0xf4, 0xf7, 0xd9, 0xfc, + 0x21, 0x1c, 0x28, 0x1c, 0x0c, 0x30, 0x04, 0x9a, + 0xf4, 0xf7, 0xd3, 0xfc, 0x21, 0x1c, 0x28, 0x1c, + 0x12, 0x30, 0x0a, 0x9a, 0xf4, 0xf7, 0x3c, 0x00, + 0x64, 0xc8, 0x00, 0x00, 0xcd, 0xfc, 0x07, 0xf0, + 0x9b, 0xf8, 0x00, 0x98, 0x00, 0xf0, 0x76, 0xf8, + 0xbe, 0x71, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0x20, 0x10, 0x07, 0x00, 0xe6, 0x7a, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x20, 0xf6, 0xf7, 0x26, 0xf8, + 0x07, 0x49, 0x88, 0x78, 0x00, 0x09, 0x00, 0x01, + 0x88, 0x70, 0x00, 0x24, 0x20, 0x1c, 0xf5, 0xf7, + 0x11, 0xfe, 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, + 0x3c, 0x00, 0xa0, 0xc8, 0x00, 0x00, 0x04, 0x2c, + 0xf7, 0xd3, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x50, + 0x07, 0x00, 0x80, 0xb5, 0x02, 0xf0, 0xe3, 0xfb, + 0x03, 0x48, 0x81, 0x78, 0x0f, 0x22, 0x11, 0x43, + 0x81, 0x70, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x50, + 0x07, 0x00, 0xf8, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x05, 0x28, 0x01, 0xd3, 0xf4, 0xf7, 0x17, 0xfd, + 0xa6, 0x00, 0x00, 0x2d, 0x11, 0x4f, 0x07, 0xd1, + 0xb8, 0x59, 0x3c, 0x00, 0xdc, 0xc8, 0x00, 0x00, + 0x81, 0x68, 0x00, 0x29, 0x0e, 0xd1, 0x40, 0x78, + 0x00, 0x28, 0x0b, 0xd0, 0x02, 0xe0, 0xff, 0x35, + 0x2d, 0x06, 0x2d, 0x0e, 0x29, 0x1c, 0x20, 0x1c, + 0xfb, 0xf7, 0x88, 0xfc, 0x01, 0x1c, 0x20, 0x1c, + 0x04, 0xf0, 0x7e, 0xf9, 0x06, 0x49, 0x01, 0x20, + 0x30, 0x39, 0x08, 0x55, 0x04, 0x48, 0x3c, 0x38, + 0x80, 0x68, 0x00, 0x28, 0x02, 0xd1, 0xb9, 0x59, + 0x03, 0x20, 0x08, 0x70, 0x3c, 0x00, 0x18, 0xc9, + 0x00, 0x00, 0xf8, 0xbd, 0x00, 0x00, 0x10, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0x04, 0xf0, 0xcd, 0xf9, + 0x80, 0xbd, 0x10, 0xb5, 0x04, 0x1c, 0x05, 0x28, + 0x01, 0xd3, 0xf4, 0xf7, 0xe6, 0xfc, 0x20, 0x1c, + 0xf5, 0xf7, 0xc1, 0xfd, 0x00, 0x20, 0x05, 0x4a, + 0xa1, 0x00, 0x51, 0x58, 0x88, 0x60, 0x04, 0x49, + 0x88, 0x78, 0x01, 0x22, 0xa2, 0x40, 0x10, 0x43, + 0x88, 0x70, 0x10, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xc9, 0x00, 0x00, 0x10, 0x7b, 0x01, 0x00, + 0x00, 0x50, 0x07, 0x00, 0x02, 0x4a, 0x91, 0x78, + 0x08, 0x43, 0x90, 0x70, 0x70, 0x47, 0x00, 0x00, + 0x00, 0x50, 0x07, 0x00, 0xf8, 0xb5, 0x0c, 0x4f, + 0xbe, 0x79, 0x0f, 0x20, 0x00, 0xf0, 0x18, 0xf8, + 0x05, 0x1c, 0x00, 0x24, 0x20, 0x1c, 0xf4, 0xf7, + 0x0d, 0xf9, 0x08, 0x4a, 0xa1, 0x00, 0x51, 0x58, + 0x08, 0x71, 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, + 0x3c, 0x00, 0x90, 0xc9, 0x00, 0x00, 0x04, 0x2c, + 0xf3, 0xd3, 0x28, 0x1c, 0xff, 0xf7, 0xe1, 0xff, + 0xbe, 0x71, 0xf8, 0xbd, 0x00, 0x00, 0x20, 0x10, + 0x07, 0x00, 0x10, 0x7b, 0x01, 0x00, 0xb0, 0xb5, + 0x08, 0x49, 0x8d, 0x78, 0x8a, 0x78, 0x05, 0x40, + 0x82, 0x43, 0x8a, 0x70, 0x06, 0xf0, 0xf9, 0xf9, + 0x04, 0x1c, 0x0a, 0x34, 0x20, 0x1c, 0x06, 0xf0, + 0x34, 0xf9, 0x00, 0x28, 0xfa, 0xd0, 0x28, 0x1c, + 0xb0, 0xbd, 0x3c, 0x00, 0xcc, 0xc9, 0x00, 0x00, + 0x00, 0x50, 0x07, 0x00, 0x01, 0x49, 0x0a, 0x20, + 0x08, 0x81, 0x70, 0x47, 0x38, 0x7b, 0x01, 0x00, + 0xf8, 0xb5, 0x10, 0x48, 0x04, 0x26, 0x04, 0x1c, + 0xe0, 0x34, 0x05, 0x1c, 0x38, 0x3d, 0x00, 0x27, + 0x20, 0x1c, 0x1c, 0x30, 0xe4, 0x60, 0xa0, 0x61, + 0x27, 0x61, 0x0b, 0x48, 0xa6, 0x82, 0xe0, 0x61, + 0x27, 0x62, 0xa7, 0x62, 0x06, 0x20, 0xa0, 0x84, + 0x20, 0x1c, 0xfe, 0xf7, 0x3c, 0x00, 0x08, 0xca, + 0x00, 0x00, 0x87, 0xfc, 0x20, 0x1c, 0x0c, 0x30, + 0xf6, 0xf7, 0xb7, 0xf9, 0x05, 0x49, 0x38, 0x3c, + 0xac, 0x42, 0x08, 0x80, 0xe7, 0xd1, 0xf8, 0xbd, + 0x00, 0x00, 0xd4, 0xe4, 0x01, 0x00, 0x12, 0x61, + 0x01, 0x00, 0x48, 0x7b, 0x01, 0x00, 0xf7, 0xb5, + 0x05, 0x1c, 0x0c, 0x23, 0x0f, 0x1c, 0x12, 0x49, + 0x58, 0x43, 0x44, 0x18, 0x20, 0x88, 0x06, 0xf0, + 0xea, 0xf9, 0xa0, 0x78, 0x01, 0x28, 0x3c, 0x00, + 0x44, 0xca, 0x00, 0x00, 0x1a, 0xd1, 0x66, 0x68, + 0x02, 0x2f, 0x05, 0xd1, 0x5c, 0x20, 0x80, 0x5b, + 0x02, 0x99, 0x00, 0x09, 0x88, 0x42, 0x11, 0xd1, + 0x28, 0x1c, 0xfe, 0xf7, 0xfb, 0xff, 0x30, 0x1c, + 0xf9, 0xf7, 0xfa, 0xfd, 0x04, 0x20, 0xa0, 0x70, + 0x39, 0x1c, 0x28, 0x1c, 0xfb, 0xf7, 0xf4, 0xf8, + 0x03, 0x4a, 0xe8, 0x00, 0x3c, 0x32, 0x11, 0x58, + 0x01, 0x31, 0x11, 0x50, 0xfe, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xca, 0x00, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0x01, 0x20, 0x06, 0x4a, 0x00, 0x21, + 0x0c, 0x23, 0x4b, 0x43, 0x9b, 0x18, 0x9b, 0x78, + 0x00, 0x2b, 0x00, 0xd0, 0x00, 0x20, 0x01, 0x31, + 0x04, 0x29, 0xf5, 0xdb, 0x70, 0x47, 0x60, 0x7b, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0xff, 0xf7, + 0xea, 0xfc, 0x00, 0x28, 0x03, 0xd1, 0x20, 0x21, + 0x0c, 0x20, 0xf4, 0xf7, 0xf6, 0xfb, 0x26, 0x1c, + 0x60, 0x36, 0x3c, 0x00, 0xbc, 0xca, 0x00, 0x00, + 0x00, 0x21, 0xf1, 0x71, 0xe1, 0x64, 0x60, 0x6b, + 0x25, 0x1c, 0x40, 0x35, 0x00, 0x28, 0x31, 0xd0, + 0xff, 0xf7, 0x04, 0xf9, 0x01, 0x22, 0x12, 0x03, + 0x00, 0x28, 0x20, 0x69, 0x01, 0x88, 0x01, 0xd0, + 0x91, 0x43, 0x00, 0xe0, 0x11, 0x43, 0x01, 0x80, + 0x20, 0x69, 0x01, 0x22, 0x00, 0x88, 0xd2, 0x02, + 0x28, 0x83, 0x20, 0x1c, 0x58, 0x30, 0x01, 0x88, + 0x91, 0x43, 0x01, 0x80, 0x3c, 0x00, 0xf8, 0xca, + 0x00, 0x00, 0xa3, 0x6b, 0x52, 0x08, 0x00, 0x2b, + 0x10, 0xd0, 0x91, 0x43, 0x01, 0x80, 0x28, 0x8b, + 0x00, 0x07, 0x80, 0x0f, 0x01, 0x28, 0x15, 0xd0, + 0x2e, 0x20, 0x01, 0x5d, 0x20, 0x69, 0x04, 0x30, + 0xf8, 0xf7, 0x41, 0xfd, 0x61, 0x6a, 0xfe, 0xf7, + 0xa8, 0xf9, 0x04, 0xe0, 0x11, 0x43, 0x01, 0x80, + 0x20, 0x1c, 0xfb, 0xf7, 0xcc, 0xfb, 0x68, 0x83, + 0x04, 0xe0, 0x20, 0x69, 0x41, 0x80, 0x3c, 0x00, + 0x34, 0xcb, 0x00, 0x00, 0xa8, 0x8b, 0x21, 0x69, + 0xc8, 0x82, 0xe0, 0x68, 0xf6, 0xf7, 0x20, 0xf9, + 0x30, 0x80, 0x60, 0x6d, 0x00, 0x28, 0x04, 0xd0, + 0x00, 0x22, 0x03, 0x21, 0x70, 0x7a, 0xfe, 0xf7, + 0x0d, 0xff, 0x20, 0x1c, 0x00, 0xf0, 0xb6, 0xf9, + 0x70, 0x7a, 0x06, 0xf0, 0x45, 0xf8, 0x70, 0xbd, + 0xb0, 0xb5, 0x00, 0x24, 0x06, 0xf0, 0x22, 0xf9, + 0x09, 0x4a, 0x00, 0x21, 0x0c, 0x23, 0x4b, 0x43, + 0x3c, 0x00, 0x70, 0xcb, 0x00, 0x00, 0x9d, 0x18, + 0x6b, 0x68, 0x5b, 0x6c, 0xad, 0x78, 0xc3, 0x1a, + 0x01, 0x2d, 0x02, 0xd1, 0xa3, 0x42, 0x00, 0xdd, + 0x1c, 0x1c, 0x01, 0x31, 0x05, 0x29, 0xf0, 0xd3, + 0x20, 0x1c, 0xb0, 0xbd, 0x00, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x06, 0xf0, + 0xa8, 0xfe, 0x0c, 0x20, 0x08, 0x49, 0x60, 0x43, + 0x45, 0x18, 0x28, 0x88, 0x06, 0xf0, 0x35, 0xf9, + 0x68, 0x68, 0x3c, 0x00, 0xac, 0xcb, 0x00, 0x00, + 0x00, 0x28, 0x06, 0xd0, 0x20, 0x30, 0x00, 0x7b, + 0x01, 0x28, 0x02, 0xd1, 0x20, 0x1c, 0xff, 0xf7, + 0xa3, 0xfa, 0xb0, 0xbd, 0x60, 0x7b, 0x01, 0x00, + 0xff, 0xb5, 0x85, 0xb0, 0x0f, 0xae, 0x60, 0xce, + 0x38, 0x20, 0x1e, 0x49, 0x70, 0x43, 0x17, 0x1c, + 0x44, 0x18, 0xff, 0xf7, 0x7f, 0xf8, 0x01, 0x22, + 0x12, 0x03, 0x00, 0x28, 0x03, 0xd0, 0x20, 0x88, + 0x90, 0x43, 0x20, 0x80, 0x3c, 0x00, 0xe8, 0xcb, + 0x00, 0x00, 0x02, 0xe0, 0x21, 0x88, 0x11, 0x43, + 0x21, 0x80, 0x11, 0x98, 0x39, 0x1c, 0xe0, 0x62, + 0x05, 0x98, 0xf8, 0xf7, 0xd0, 0xfc, 0x01, 0x1c, + 0x2b, 0x1c, 0x38, 0x1c, 0x06, 0x9a, 0xfe, 0xf7, + 0x20, 0xf9, 0x60, 0x80, 0x06, 0x22, 0x20, 0x1d, + 0x0f, 0x49, 0xf3, 0xf7, 0x72, 0xfc, 0x23, 0x1c, + 0x08, 0x98, 0x30, 0x33, 0x18, 0x70, 0x0e, 0x98, + 0x0c, 0x49, 0x58, 0x70, 0x65, 0x63, 0x3c, 0x00, + 0x24, 0xcc, 0x00, 0x00, 0x00, 0x20, 0x02, 0x90, + 0x01, 0x22, 0x04, 0x92, 0x09, 0x48, 0x03, 0x91, + 0x5a, 0x78, 0x01, 0x88, 0x01, 0x92, 0x00, 0x91, + 0x19, 0x78, 0x24, 0x3b, 0x30, 0x1c, 0x62, 0x6b, + 0xfe, 0xf7, 0xa8, 0xfe, 0x09, 0xb0, 0xf0, 0xbd, + 0xd4, 0xe4, 0x01, 0x00, 0x12, 0x61, 0x01, 0x00, + 0x5d, 0x4e, 0x00, 0x00, 0x48, 0x7b, 0x01, 0x00, + 0xff, 0xb5, 0x87, 0xb0, 0x10, 0x98, 0x12, 0xaf, + 0x3c, 0x00, 0x60, 0xcc, 0x00, 0x00, 0x8c, 0x46, + 0xa2, 0xcf, 0x4c, 0x23, 0x30, 0x4c, 0x6b, 0x43, + 0x1c, 0x19, 0x16, 0x1c, 0x15, 0x9a, 0x27, 0x85, + 0x27, 0x1c, 0x30, 0x37, 0x06, 0x97, 0x05, 0x97, + 0x00, 0x23, 0x3b, 0x73, 0x05, 0x9f, 0x78, 0x73, + 0x11, 0x98, 0x27, 0x1c, 0x60, 0x64, 0x61, 0x60, + 0x22, 0x60, 0x40, 0x37, 0x3e, 0x70, 0x61, 0x46, + 0x61, 0x87, 0x07, 0x98, 0x31, 0x1c, 0xf8, 0xf7, + 0x80, 0xfc, 0x3c, 0x00, 0x9c, 0xcc, 0x00, 0x00, + 0x05, 0x99, 0xc8, 0x73, 0x0a, 0x98, 0x78, 0x70, + 0x30, 0x1c, 0xfe, 0xf7, 0x73, 0xf8, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x00, 0xe0, 0x00, 0x20, + 0x41, 0x00, 0x02, 0x20, 0x01, 0x40, 0x11, 0x9a, + 0x01, 0x20, 0x00, 0x2a, 0x00, 0xd1, 0x00, 0x20, + 0x08, 0x43, 0x38, 0x72, 0x20, 0x1c, 0x2e, 0x30, + 0x07, 0x99, 0xfd, 0xf7, 0xcf, 0xff, 0x28, 0x1c, + 0x04, 0xf0, 0xae, 0xf8, 0x3c, 0x00, 0xd8, 0xcc, + 0x00, 0x00, 0xfe, 0xf7, 0xfe, 0xff, 0x4c, 0x22, + 0x12, 0x4b, 0x6a, 0x43, 0xd2, 0x18, 0x01, 0x21, + 0x09, 0x03, 0x2a, 0x32, 0x00, 0x28, 0x04, 0xd0, + 0x10, 0x1c, 0x12, 0x88, 0x8a, 0x43, 0x02, 0x80, + 0x02, 0xe0, 0x10, 0x88, 0x08, 0x43, 0x10, 0x80, + 0x0b, 0x49, 0x00, 0x20, 0x03, 0x91, 0x06, 0x99, + 0x02, 0x90, 0x00, 0x22, 0x04, 0x92, 0x08, 0x48, + 0x0a, 0x7b, 0x41, 0x88, 0x23, 0x1c, 0x3c, 0x00, + 0x14, 0xcd, 0x00, 0x00, 0x01, 0x92, 0x00, 0x91, + 0x79, 0x78, 0x08, 0x33, 0x28, 0x1c, 0x62, 0x68, + 0xfe, 0xf7, 0x38, 0xfe, 0x0b, 0xb0, 0xf0, 0xbd, + 0x58, 0xe3, 0x01, 0x00, 0x75, 0x4f, 0x00, 0x00, + 0x3c, 0x7c, 0x01, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, + 0x01, 0x28, 0x27, 0xd0, 0x80, 0x28, 0x30, 0xd1, + 0xe0, 0x6c, 0x00, 0x28, 0x08, 0xd0, 0x69, 0x20, + 0x00, 0x5d, 0x18, 0x49, 0xc0, 0x00, 0x40, 0x18, + 0x3c, 0x00, 0x50, 0xcd, 0x00, 0x00, 0x04, 0x30, + 0x01, 0x68, 0x01, 0x31, 0x01, 0x60, 0x20, 0x1c, + 0xff, 0xf7, 0xe9, 0xfb, 0x13, 0x4d, 0x50, 0x3d, + 0xe8, 0x68, 0x00, 0x28, 0x05, 0xd0, 0x2e, 0x20, + 0x00, 0x5d, 0xfe, 0xf7, 0x10, 0xf8, 0x02, 0xf0, + 0x42, 0xfe, 0x20, 0x1c, 0x61, 0x68, 0xf3, 0xf7, + 0x2f, 0xfb, 0x40, 0x34, 0x60, 0x78, 0x00, 0x28, + 0x02, 0xd1, 0x06, 0xf0, 0x12, 0xf8, 0xa8, 0x60, + 0xb0, 0xbd, 0x3c, 0x00, 0x8c, 0xcd, 0x00, 0x00, + 0x20, 0x06, 0x00, 0x0e, 0x81, 0x28, 0xfa, 0xd1, + 0x22, 0x0c, 0x20, 0x04, 0x00, 0x0e, 0x02, 0x21, + 0xfe, 0xf7, 0xe6, 0xfd, 0xb0, 0xbd, 0x0a, 0x21, + 0x0c, 0x20, 0xf4, 0xf7, 0x7d, 0xfa, 0xb0, 0xbd, + 0x9c, 0x7b, 0x01, 0x00, 0xf8, 0xb5, 0x18, 0x4e, + 0x18, 0x4f, 0x05, 0x1c, 0x34, 0x79, 0xb8, 0x79, + 0x00, 0x90, 0x20, 0x1c, 0xf5, 0xf7, 0x7c, 0xff, + 0x00, 0x28, 0x06, 0xd0, 0x3c, 0x00, 0xc8, 0xcd, + 0x00, 0x00, 0x12, 0x48, 0x38, 0x38, 0x40, 0x68, + 0x85, 0x42, 0x01, 0xd1, 0x00, 0x2d, 0x03, 0xd1, + 0x10, 0x21, 0x86, 0x20, 0xf4, 0xf7, 0x63, 0xfa, + 0x0d, 0x49, 0x00, 0x20, 0x38, 0x39, 0x48, 0x60, + 0x04, 0x21, 0x20, 0x1c, 0xff, 0xf7, 0x59, 0xfc, + 0x04, 0x21, 0x20, 0x1c, 0xf5, 0xf7, 0xeb, 0xfe, + 0x0c, 0x21, 0x06, 0x4a, 0x61, 0x43, 0x30, 0x3a, + 0x89, 0x18, 0x0c, 0x71, 0x04, 0x20, 0x3c, 0x00, + 0x04, 0xce, 0x00, 0x00, 0x30, 0x71, 0x00, 0x98, + 0xb8, 0x71, 0x0f, 0x20, 0xff, 0xf7, 0xa6, 0xfd, + 0xf8, 0xbd, 0x00, 0x00, 0xa4, 0x7a, 0x01, 0x00, + 0x20, 0x10, 0x07, 0x00, 0xf8, 0xb5, 0x04, 0x1c, + 0x0f, 0x20, 0xff, 0xf7, 0xc1, 0xfd, 0xf5, 0xf7, + 0x3b, 0xff, 0x01, 0x25, 0x00, 0x28, 0x00, 0xd0, + 0x00, 0x25, 0x16, 0x4e, 0xb0, 0x79, 0x16, 0x4f, + 0x00, 0x90, 0x38, 0x79, 0x04, 0x28, 0x01, 0xd1, + 0x3c, 0x00, 0x40, 0xce, 0x00, 0x00, 0x00, 0x2c, + 0x03, 0xd1, 0x11, 0x21, 0x86, 0x20, 0xf4, 0xf7, + 0x2c, 0xfa, 0x10, 0x48, 0x29, 0x06, 0x38, 0x38, + 0x44, 0x60, 0x09, 0x0e, 0x0c, 0x1c, 0x04, 0x20, + 0xff, 0xf7, 0x21, 0xfc, 0x03, 0x21, 0x20, 0x1c, + 0xff, 0xf7, 0x41, 0xfc, 0x21, 0x1c, 0x04, 0x20, + 0xf5, 0xf7, 0xaf, 0xfe, 0x0c, 0x21, 0x07, 0x4a, + 0x69, 0x43, 0x04, 0x20, 0x30, 0x3a, 0x89, 0x18, + 0x08, 0x71, 0x3c, 0x00, 0x7c, 0xce, 0x00, 0x00, + 0x3c, 0x71, 0x00, 0x98, 0xb0, 0x71, 0x20, 0x1c, + 0xff, 0xf7, 0x50, 0xfd, 0x04, 0x20, 0xf8, 0xbd, + 0x20, 0x10, 0x07, 0x00, 0xa4, 0x7a, 0x01, 0x00, + 0x0c, 0x23, 0x02, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x80, 0x68, 0x70, 0x47, 0x74, 0x7a, 0x01, 0x00, + 0x60, 0x30, 0xc1, 0x79, 0x80, 0x79, 0x81, 0x42, + 0x01, 0xd9, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xce, + 0x00, 0x00, 0x01, 0x48, 0x80, 0x68, 0x70, 0x47, + 0x00, 0x00, 0x4c, 0x7b, 0x01, 0x00, 0x38, 0xb5, + 0x69, 0x21, 0x09, 0x5c, 0x18, 0x23, 0x10, 0x4a, + 0x59, 0x43, 0x89, 0x18, 0x8a, 0x68, 0x01, 0x32, + 0x8a, 0x60, 0x4b, 0x69, 0xd2, 0x1a, 0xcb, 0x68, + 0x93, 0x42, 0x00, 0xd2, 0xca, 0x60, 0x00, 0x22, + 0x0b, 0x4c, 0x02, 0x60, 0x22, 0x1c, 0x20, 0x32, + 0x95, 0x79, 0x00, 0xab, 0x1d, 0x70, 0x3c, 0x00, + 0xf4, 0xce, 0x00, 0x00, 0xd2, 0x79, 0x5a, 0x70, + 0x0a, 0x68, 0x00, 0x2a, 0x01, 0xd1, 0x48, 0x60, + 0x00, 0xe0, 0x10, 0x60, 0x00, 0xab, 0x08, 0x60, + 0x18, 0x88, 0xe0, 0x84, 0x38, 0xbd, 0x00, 0x00, + 0xc4, 0x7b, 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x18, 0x23, 0x0a, 0x49, 0x58, 0x43, 0x41, 0x18, + 0x08, 0x69, 0x01, 0x30, 0x08, 0x61, 0x48, 0x68, + 0x00, 0x28, 0x09, 0xd0, 0x48, 0x69, 0x01, 0x30, + 0x3c, 0x00, 0x30, 0xcf, 0x00, 0x00, 0x48, 0x61, + 0x48, 0x68, 0x02, 0x68, 0x4a, 0x60, 0x00, 0x2a, + 0x00, 0xd1, 0x0a, 0x60, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0xc4, 0x7b, 0x01, 0x00, 0xf8, 0xb5, + 0x12, 0x4e, 0x10, 0x4d, 0x0f, 0x4c, 0x0a, 0x27, + 0x21, 0x1c, 0x00, 0x20, 0xe0, 0x60, 0x2a, 0x31, + 0x22, 0x1c, 0x18, 0x32, 0xa1, 0x60, 0x62, 0x61, + 0x27, 0x82, 0x0c, 0x4a, 0xe0, 0x61, 0xa2, 0x61, + 0x60, 0x62, 0x3c, 0x00, 0x6c, 0xcf, 0x00, 0x00, + 0x06, 0x20, 0x20, 0x84, 0x08, 0x1c, 0xfe, 0xf7, + 0xd7, 0xf9, 0x20, 0x1c, 0x08, 0x30, 0xf5, 0xf7, + 0x01, 0xff, 0x4c, 0x3c, 0xac, 0x42, 0x70, 0x80, + 0xe5, 0xd1, 0xff, 0x20, 0x30, 0x70, 0xf8, 0xbd, + 0x88, 0xe4, 0x01, 0x00, 0x0c, 0xe3, 0x01, 0x00, + 0x3c, 0x7c, 0x01, 0x00, 0x12, 0x61, 0x01, 0x00, + 0xf8, 0xb5, 0x04, 0x1c, 0x0b, 0x48, 0x0e, 0x1c, + 0x17, 0x1c, 0x44, 0x70, 0x3c, 0x00, 0xa8, 0xcf, + 0x00, 0x00, 0x05, 0xf0, 0x00, 0xff, 0x05, 0x1c, + 0x39, 0x1c, 0x30, 0x1c, 0xfd, 0xf7, 0xab, 0xff, + 0x0c, 0x21, 0x05, 0x4a, 0x28, 0x18, 0x0a, 0x30, + 0x61, 0x43, 0x08, 0x32, 0x50, 0x50, 0x03, 0x48, + 0x89, 0x18, 0x00, 0x68, 0x88, 0x60, 0xf8, 0xbd, + 0x00, 0x00, 0x6c, 0x7a, 0x01, 0x00, 0x78, 0x6e, + 0x01, 0x00, 0x70, 0xb5, 0x0b, 0x4e, 0x05, 0x1c, + 0x70, 0x78, 0xff, 0x28, 0x0f, 0xd0, 0x3c, 0x00, + 0xe4, 0xcf, 0x00, 0x00, 0x0c, 0x23, 0x08, 0x4c, + 0x58, 0x43, 0x08, 0x34, 0x20, 0x58, 0x05, 0xf0, + 0x1d, 0xfe, 0x00, 0x28, 0x06, 0xd1, 0x70, 0x78, + 0x0c, 0x23, 0x58, 0x43, 0x00, 0x19, 0x81, 0x68, + 0x29, 0x43, 0x81, 0x60, 0x70, 0xbd, 0x00, 0x00, + 0x6c, 0x7a, 0x01, 0x00, 0x80, 0xb5, 0x30, 0x21, + 0x01, 0x48, 0xf3, 0xf7, 0x43, 0xfa, 0x80, 0xbd, + 0xec, 0xe5, 0x01, 0x00, 0x10, 0xb5, 0x05, 0xf0, + 0x3c, 0x00, 0x20, 0xd0, 0x00, 0x00, 0xc5, 0xfe, + 0x0a, 0x49, 0x44, 0x18, 0x0c, 0xe0, 0x20, 0x1c, + 0x05, 0xf0, 0xf7, 0xfd, 0x00, 0x28, 0x07, 0xd0, + 0xf5, 0xf7, 0x51, 0xfe, 0x00, 0x28, 0x03, 0xd0, + 0x13, 0x21, 0x86, 0x20, 0xf4, 0xf7, 0x31, 0xf9, + 0xf5, 0xf7, 0x49, 0xfe, 0x00, 0x28, 0xee, 0xd1, + 0x10, 0xbd, 0xb0, 0x36, 0x00, 0x00, 0xff, 0xb5, + 0x8b, 0xb0, 0x19, 0x9b, 0x0d, 0x1c, 0x04, 0x1c, + 0x1a, 0x20, 0x3c, 0x00, 0x5c, 0xd0, 0x00, 0x00, + 0x00, 0x2b, 0x16, 0x99, 0x00, 0xd1, 0x18, 0x20, + 0x01, 0x90, 0x14, 0x98, 0x00, 0x28, 0x27, 0xd0, + 0xff, 0x20, 0x19, 0x9b, 0x01, 0x30, 0x00, 0x2b, + 0x01, 0xd1, 0x18, 0x23, 0x00, 0xe0, 0x1a, 0x23, + 0x04, 0x33, 0x82, 0x42, 0x04, 0xd3, 0xd0, 0x1a, + 0x40, 0x08, 0x40, 0x00, 0x00, 0x04, 0x00, 0x0c, + 0x0d, 0x90, 0x6a, 0x48, 0x00, 0x88, 0xc2, 0x1a, + 0x12, 0x04, 0x12, 0x0c, 0x3c, 0x00, 0x98, 0xd0, + 0x00, 0x00, 0x04, 0x92, 0x00, 0x29, 0x08, 0xd0, + 0x89, 0x79, 0x66, 0x4a, 0x49, 0x00, 0x51, 0x5a, + 0x04, 0x9a, 0x51, 0x1a, 0x0a, 0x04, 0x12, 0x0c, + 0x04, 0x92, 0x04, 0x9a, 0x82, 0x42, 0x05, 0xd9, + 0x00, 0x20, 0x04, 0x90, 0x02, 0xe0, 0x60, 0x48, + 0x04, 0x90, 0x0d, 0x90, 0x01, 0x98, 0x01, 0x04, + 0x09, 0x0c, 0x0a, 0x91, 0x00, 0x20, 0xf4, 0xf7, + 0x84, 0xfa, 0x00, 0x90, 0x00, 0x68, 0x3c, 0x00, + 0xd4, 0xd0, 0x00, 0x00, 0x00, 0x26, 0x06, 0x90, + 0x20, 0x60, 0x00, 0x20, 0x05, 0x90, 0x0e, 0x98, + 0x00, 0x24, 0x00, 0x05, 0x00, 0x0c, 0x09, 0x90, + 0x1a, 0x98, 0x0d, 0x9f, 0x40, 0x07, 0x40, 0x0f, + 0x08, 0x90, 0x07, 0x94, 0x03, 0x95, 0x00, 0x2d, + 0x0d, 0xd0, 0x28, 0x89, 0xb8, 0x42, 0x04, 0xd8, + 0x36, 0x18, 0x3f, 0x1a, 0x07, 0xd0, 0xed, 0x68, + 0xf5, 0xe7, 0x39, 0x04, 0x09, 0x0c, 0x28, 0x1c, + 0x3c, 0x00, 0x10, 0xd1, 0x00, 0x00, 0xf4, 0xf7, + 0x38, 0xfb, 0xef, 0xe7, 0x00, 0x2e, 0x02, 0xd1, + 0x07, 0x99, 0x00, 0x29, 0x71, 0xd1, 0x27, 0x1c, + 0x6c, 0x20, 0xf4, 0xf7, 0x88, 0xfb, 0x07, 0x99, + 0x04, 0x1c, 0x00, 0x29, 0x20, 0xd1, 0x07, 0x94, + 0x00, 0x20, 0xa0, 0x61, 0x18, 0x98, 0x27, 0x1c, + 0x60, 0x60, 0x17, 0x98, 0x24, 0x37, 0xa0, 0x60, + 0x06, 0x98, 0x20, 0x61, 0x15, 0x98, 0x0f, 0xc8, + 0x0f, 0xc7, 0x3c, 0x00, 0x4c, 0xd1, 0x00, 0x00, + 0x14, 0x98, 0x5c, 0x21, 0x60, 0x63, 0x09, 0x98, + 0x08, 0x53, 0x19, 0x98, 0x69, 0x21, 0xe0, 0x63, + 0x1b, 0x98, 0x08, 0x55, 0x1c, 0x98, 0x60, 0x65, + 0x19, 0x98, 0x00, 0x28, 0x23, 0xd0, 0x08, 0x98, + 0x06, 0x99, 0x08, 0x83, 0x1f, 0xe0, 0x6c, 0x22, + 0x20, 0x1c, 0x07, 0x99, 0xf3, 0xf7, 0x1a, 0xfa, + 0x3c, 0x60, 0x01, 0x98, 0x62, 0x21, 0x30, 0x18, + 0xc8, 0x53, 0x15, 0x98, 0x3c, 0x00, 0x88, 0xd1, + 0x00, 0x00, 0x40, 0x21, 0x80, 0x7a, 0xc8, 0x55, + 0x00, 0x20, 0xb8, 0x63, 0x06, 0x98, 0x0a, 0x99, + 0xf4, 0xf7, 0x1f, 0xfa, 0xf8, 0x60, 0x02, 0x99, + 0xf4, 0xf7, 0x3b, 0xf9, 0x20, 0x1c, 0x40, 0x30, + 0x81, 0x8b, 0x05, 0x9a, 0x12, 0x07, 0x12, 0x0f, + 0x11, 0x43, 0x81, 0x83, 0x03, 0x98, 0x5e, 0x21, + 0x02, 0x90, 0x01, 0x98, 0x22, 0x4a, 0x30, 0x18, + 0x08, 0x53, 0x12, 0x68, 0x01, 0x21, 0x3c, 0x00, + 0xc4, 0xd1, 0x00, 0x00, 0x08, 0x1c, 0x00, 0x2a, + 0x00, 0xd0, 0x1b, 0x98, 0x00, 0x06, 0x04, 0x9a, + 0x00, 0x0e, 0x96, 0x42, 0x03, 0xd9, 0x2c, 0x22, + 0x11, 0x55, 0x1b, 0x49, 0x04, 0xe0, 0x15, 0x99, + 0x2c, 0x22, 0x09, 0x7a, 0x11, 0x55, 0x19, 0x49, + 0x08, 0x5c, 0x66, 0x21, 0x08, 0x55, 0x1c, 0x98, + 0x00, 0x28, 0x01, 0xd0, 0x1f, 0x20, 0x08, 0x55, + 0x00, 0x2d, 0x03, 0xd0, 0xe8, 0x68, 0x03, 0x90, + 0x3c, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x20, + 0x00, 0xe0, 0x09, 0xe0, 0xe8, 0x60, 0x05, 0x98, + 0x00, 0x26, 0x01, 0x30, 0x00, 0x04, 0x00, 0x0c, + 0x0d, 0x9f, 0x05, 0x90, 0x03, 0x9d, 0x6d, 0xe7, + 0x00, 0x98, 0xe0, 0x60, 0x02, 0x99, 0xf4, 0xf7, + 0xfa, 0xf8, 0x00, 0x20, 0x20, 0x60, 0x01, 0x21, + 0xa1, 0x63, 0x60, 0x34, 0x60, 0x80, 0x07, 0x98, + 0x0f, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x06, 0x61, + 0x01, 0x00, 0x3c, 0x00, 0x3c, 0xd2, 0x00, 0x00, + 0x5c, 0x43, 0x01, 0x00, 0x38, 0x09, 0x00, 0x00, + 0x18, 0x67, 0x01, 0x00, 0x0e, 0x61, 0x01, 0x00, + 0x0a, 0x61, 0x01, 0x00, 0x01, 0x48, 0x00, 0x68, + 0x70, 0x47, 0x00, 0x00, 0xc4, 0x6a, 0x01, 0x00, + 0x02, 0x49, 0x09, 0x1d, 0x03, 0xc9, 0x40, 0x18, + 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, + 0x01, 0x48, 0x00, 0x69, 0x70, 0x47, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0x3c, 0x00, 0x78, 0xd2, + 0x00, 0x00, 0x01, 0x48, 0x40, 0x69, 0x70, 0x47, + 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, 0x01, 0x48, + 0x80, 0x69, 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x70, 0xb5, 0x0d, 0x4e, 0x00, 0x20, + 0x35, 0x1c, 0x40, 0x35, 0xf0, 0x63, 0x0d, 0xe0, + 0xa0, 0x68, 0xf4, 0xf7, 0x7a, 0xf9, 0xb3, 0x6d, + 0x00, 0x2b, 0x04, 0xd0, 0x00, 0x22, 0x01, 0x20, + 0x61, 0x6b, 0xf3, 0xf7, 0x95, 0xf8, 0x3c, 0x00, + 0xb4, 0xd2, 0x00, 0x00, 0x20, 0x1c, 0xf4, 0xf7, + 0x9d, 0xfa, 0x28, 0x1c, 0xfa, 0xf7, 0x42, 0xfd, + 0x04, 0x1c, 0xec, 0xd1, 0x70, 0xbd, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0xf8, 0xb5, 0x1a, 0x4f, + 0x00, 0x26, 0xf8, 0x6b, 0x00, 0x28, 0x2c, 0xd0, + 0x38, 0x1c, 0x40, 0x30, 0x00, 0x90, 0x1d, 0xe0, + 0x16, 0x48, 0xb9, 0x6b, 0x02, 0xf0, 0x5c, 0xf8, + 0x00, 0x22, 0x20, 0x1c, 0x14, 0x49, 0x03, 0xf0, + 0x3c, 0x00, 0xf0, 0xd2, 0x00, 0x00, 0x7b, 0xff, + 0x05, 0x1c, 0x04, 0xd1, 0x38, 0x6a, 0x01, 0x30, + 0x38, 0x62, 0x01, 0x36, 0x0d, 0xe0, 0xa0, 0x68, + 0xf4, 0xf7, 0x49, 0xf9, 0xbb, 0x6d, 0x00, 0x2b, + 0x04, 0xd0, 0x00, 0x22, 0x28, 0x1c, 0x61, 0x6b, + 0xf3, 0xf7, 0x64, 0xf8, 0x20, 0x1c, 0xf4, 0xf7, + 0x6c, 0xfa, 0x00, 0x98, 0xfa, 0xf7, 0x11, 0xfd, + 0x04, 0x1c, 0xdc, 0xd1, 0x07, 0x48, 0xb9, 0x6b, + 0x02, 0xf0, 0x3c, 0x00, 0x2c, 0xd3, 0x00, 0x00, + 0x25, 0xf8, 0x00, 0x20, 0xf8, 0x63, 0x30, 0x1c, + 0xf8, 0xbd, 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x11, 0x30, 0x00, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, + 0xc8, 0x63, 0x70, 0x47, 0xc4, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x20, 0x05, 0x4a, 0x00, 0x21, + 0x1c, 0x23, 0x43, 0x43, 0x9b, 0x18, 0x01, 0x30, + 0x04, 0x28, 0xd9, 0x66, 0x3c, 0x00, 0x68, 0xd3, + 0x00, 0x00, 0xf8, 0xdb, 0xfc, 0xf7, 0xfd, 0xfc, + 0x80, 0xbd, 0xc4, 0x69, 0x01, 0x00, 0x01, 0x49, + 0xc8, 0x64, 0x70, 0x47, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x01, 0x49, 0x88, 0x64, 0x70, 0x47, + 0x00, 0x00, 0xc4, 0x69, 0x01, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0d, 0x1c, 0x21, 0x1c, 0x02, 0x8e, + 0x80, 0x6a, 0x40, 0x31, 0xf3, 0xf7, 0x2f, 0xf8, + 0x00, 0x28, 0x16, 0xd1, 0x02, 0x21, 0x3c, 0x00, + 0xa4, 0xd3, 0x00, 0x00, 0x20, 0x1c, 0xf4, 0xf7, + 0x6f, 0xfa, 0xe2, 0x69, 0xc0, 0x00, 0x10, 0x18, + 0x82, 0x8b, 0xab, 0x88, 0x9a, 0x42, 0x04, 0xd1, + 0x82, 0x69, 0x2b, 0x68, 0x9a, 0x42, 0x08, 0xd2, + 0x01, 0xe0, 0x9a, 0x42, 0x05, 0xd2, 0x00, 0x21, + 0x18, 0x30, 0x0c, 0xcd, 0x0c, 0xc0, 0x00, 0xe0, + 0x01, 0x21, 0x08, 0x1c, 0xb0, 0xbd, 0x00, 0x00, + 0xf8, 0xb5, 0x06, 0x1c, 0x00, 0x27, 0x44, 0x68, + 0x3c, 0x00, 0xe0, 0xd3, 0x00, 0x00, 0x0f, 0xe0, + 0x09, 0x49, 0x48, 0x6a, 0x01, 0x30, 0x48, 0x62, + 0xa0, 0x69, 0x00, 0x28, 0x02, 0xd0, 0xf4, 0xf7, + 0x00, 0xfa, 0xa7, 0x61, 0x26, 0x62, 0x25, 0x68, + 0x20, 0x1c, 0xff, 0xf7, 0x52, 0xfb, 0x2c, 0x1c, + 0x00, 0x2c, 0xed, 0xd1, 0xf8, 0xbd, 0xc4, 0x69, + 0x01, 0x00, 0x03, 0x30, 0x07, 0x4a, 0x81, 0x08, + 0x13, 0x68, 0x50, 0x68, 0x1b, 0x68, 0x89, 0x00, + 0x09, 0x18, 0x3c, 0x00, 0x1c, 0xd4, 0x00, 0x00, + 0x8b, 0x42, 0x01, 0xd3, 0x51, 0x60, 0x00, 0xe0, + 0x00, 0x20, 0x90, 0x60, 0x70, 0x47, 0x00, 0x00, + 0x8c, 0x6e, 0x01, 0x00, 0x70, 0xb5, 0x12, 0x4e, + 0x80, 0x38, 0xc5, 0x00, 0x70, 0x59, 0x0c, 0x1c, + 0x00, 0x28, 0x04, 0xd1, 0x01, 0x21, 0x0d, 0x20, + 0xf3, 0xf7, 0x2e, 0xff, 0x0d, 0xe0, 0x20, 0x69, + 0x00, 0x28, 0x05, 0xd1, 0xa8, 0x19, 0x81, 0x88, + 0xe0, 0x68, 0x01, 0xf0, 0x3c, 0x00, 0x58, 0xd4, + 0x00, 0x00, 0x47, 0xfa, 0x20, 0x61, 0x71, 0x59, + 0x20, 0x1c, 0xf2, 0xf7, 0xbb, 0xff, 0x04, 0x1c, + 0x00, 0x2c, 0x07, 0xd0, 0xe0, 0x68, 0x00, 0x28, + 0x01, 0xd0, 0xf4, 0xf7, 0x92, 0xf8, 0x20, 0x1c, + 0xf4, 0xf7, 0xbd, 0xf9, 0x70, 0xbd, 0x54, 0x42, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0x0d, 0x1c, + 0x0e, 0x49, 0x06, 0x22, 0xf3, 0xf7, 0x35, 0xf8, + 0x00, 0x26, 0xe6, 0x61, 0x66, 0x62, 0x3c, 0x00, + 0x94, 0xd4, 0x00, 0x00, 0x07, 0x20, 0x30, 0x21, + 0x08, 0x55, 0xe6, 0x63, 0x28, 0x1c, 0xf8, 0xf7, + 0x6b, 0xf8, 0xa0, 0x76, 0x20, 0x1c, 0x14, 0x30, + 0x06, 0x22, 0x29, 0x1c, 0xf3, 0xf7, 0x24, 0xf8, + 0x06, 0x22, 0x29, 0x1c, 0xa0, 0x18, 0xf3, 0xf7, + 0x1f, 0xf8, 0x26, 0x61, 0x70, 0xbd, 0x00, 0x00, + 0x12, 0x61, 0x01, 0x00, 0x80, 0xb5, 0xfd, 0xf7, + 0x85, 0xfe, 0x80, 0xbd, 0x01, 0x49, 0x48, 0x60, + 0x3c, 0x00, 0xd0, 0xd4, 0x00, 0x00, 0x70, 0x47, + 0x00, 0x00, 0xe4, 0x65, 0x01, 0x00, 0x02, 0x49, + 0x80, 0xb5, 0x49, 0x68, 0xf2, 0xf7, 0x7c, 0xff, + 0x80, 0xbd, 0xe4, 0x65, 0x01, 0x00, 0x80, 0xb5, + 0xf4, 0xf7, 0xe5, 0xf9, 0x07, 0x49, 0x07, 0x48, + 0x0e, 0xc9, 0x0e, 0xc0, 0x18, 0x38, 0x00, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0x02, 0xf0, 0xb7, 0xfa, + 0x80, 0xbd, 0x02, 0xf0, 0x9e, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xd5, 0x00, 0x00, + 0xb0, 0x58, 0x01, 0x00, 0x90, 0x73, 0x01, 0x00, + 0x05, 0x49, 0x80, 0xb5, 0x89, 0x68, 0x00, 0x20, + 0x00, 0x29, 0x00, 0xd1, 0x03, 0x20, 0x00, 0x06, + 0x00, 0x0e, 0xfa, 0xf7, 0xe3, 0xfb, 0x80, 0xbd, + 0x60, 0x6c, 0x01, 0x00, 0x80, 0xb5, 0x03, 0x48, + 0x06, 0x22, 0x03, 0x49, 0xf2, 0xf7, 0xde, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0x40, 0x80, 0x07, 0x00, + 0x12, 0x61, 0x01, 0x00, 0x3c, 0x00, 0x48, 0xd5, + 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x0c, 0x4d, + 0x0b, 0x1c, 0x21, 0x1c, 0x00, 0x20, 0x0c, 0x3d, + 0x00, 0x29, 0x09, 0x4c, 0x05, 0xd0, 0x28, 0x78, + 0x21, 0x1c, 0x10, 0x80, 0x02, 0x1c, 0x18, 0x1c, + 0x07, 0xe0, 0x11, 0x88, 0x0e, 0x29, 0x07, 0xd8, + 0x0a, 0x06, 0x12, 0x0e, 0x19, 0x1c, 0x20, 0x1c, + 0x2a, 0x70, 0xf2, 0xf7, 0xbe, 0xff, 0x01, 0x20, + 0xb0, 0xbd, 0xb0, 0x69, 0x01, 0x00, 0x3c, 0x00, + 0x84, 0xd5, 0x00, 0x00, 0x10, 0xb5, 0x00, 0x20, + 0x0a, 0x4a, 0x01, 0x21, 0x11, 0x60, 0x0a, 0x4c, + 0x0a, 0xe0, 0x02, 0x1c, 0x01, 0x6a, 0x50, 0x32, + 0x91, 0x42, 0x05, 0xd0, 0x61, 0x78, 0x3c, 0x23, + 0x59, 0x43, 0x09, 0x19, 0x04, 0x31, 0x01, 0x62, + 0x04, 0xf0, 0xba, 0xfb, 0x00, 0x28, 0xf0, 0xd1, + 0x10, 0xbd, 0x00, 0x00, 0xdc, 0x62, 0x01, 0x00, + 0x68, 0x61, 0x01, 0x00, 0x04, 0x48, 0x80, 0xb5, + 0x3c, 0x00, 0xc0, 0xd5, 0x00, 0x00, 0x00, 0x68, + 0x00, 0x28, 0x03, 0xd0, 0x01, 0x1c, 0x10, 0x20, + 0x04, 0xf0, 0xc7, 0xfe, 0x80, 0xbd, 0x28, 0x61, + 0x01, 0x00, 0x03, 0x22, 0x11, 0x1f, 0x80, 0xb5, + 0x00, 0x20, 0xfb, 0xf7, 0x76, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x0b, 0xf0, 0xb9, 0xfa, + 0x80, 0xbd, 0xff, 0xb5, 0x83, 0xb0, 0x16, 0x1c, + 0x00, 0x21, 0x01, 0x91, 0x1f, 0x1c, 0x08, 0x21, + 0x02, 0xaa, 0x3c, 0x00, 0xfc, 0xd5, 0x00, 0x00, + 0xfa, 0xf7, 0x0e, 0xff, 0x04, 0x1c, 0x2a, 0xd1, + 0x02, 0x98, 0x41, 0x68, 0x49, 0x00, 0x01, 0xd4, + 0x09, 0x24, 0x24, 0xe0, 0xfa, 0xf7, 0x52, 0xff, + 0x38, 0x60, 0x02, 0x98, 0x41, 0x68, 0x49, 0x02, + 0xcd, 0x0f, 0x29, 0x1c, 0xfa, 0xf7, 0x44, 0xff, + 0x01, 0x1c, 0x30, 0x60, 0x38, 0x68, 0x00, 0x06, + 0x00, 0x0e, 0x00, 0xf0, 0x1b, 0xf8, 0x00, 0x28, + 0x01, 0xd1, 0x0a, 0x24, 0x3c, 0x00, 0x38, 0xd6, + 0x00, 0x00, 0x0f, 0xe0, 0x31, 0x68, 0x02, 0x98, + 0x2b, 0x1c, 0x01, 0xaa, 0xfa, 0xf7, 0xd7, 0xff, + 0x00, 0x28, 0x06, 0xd0, 0x01, 0x98, 0x00, 0x28, + 0x04, 0xd0, 0x04, 0x99, 0x09, 0x68, 0x81, 0x42, + 0x00, 0xd2, 0x03, 0x24, 0x01, 0x98, 0x04, 0x99, + 0x08, 0x60, 0x07, 0xb0, 0x20, 0x1c, 0xf0, 0xbd, + 0x00, 0x00, 0x70, 0xb5, 0x05, 0x1c, 0x0e, 0x1c, + 0x01, 0x24, 0x00, 0xf0, 0x84, 0xff, 0x3c, 0x00, + 0x74, 0xd6, 0x00, 0x00, 0x00, 0x28, 0x08, 0xd0, + 0x03, 0x2d, 0x01, 0xd0, 0x04, 0x2d, 0x04, 0xd1, + 0x03, 0x20, 0xc0, 0x03, 0x86, 0x42, 0x00, 0xd3, + 0x00, 0x24, 0x20, 0x1c, 0x70, 0xbd, 0x00, 0x00, + 0x7c, 0xb5, 0x15, 0x1c, 0x06, 0x1c, 0x0c, 0x1c, + 0x29, 0x1c, 0x6a, 0x46, 0x01, 0xab, 0xff, 0xf7, + 0xa5, 0xff, 0x00, 0x28, 0x02, 0xd1, 0x00, 0x2c, + 0x01, 0xd1, 0x03, 0x20, 0x7c, 0xbd, 0x17, 0x48, + 0x3c, 0x00, 0xb0, 0xd6, 0x00, 0x00, 0x00, 0xab, + 0x06, 0x60, 0x18, 0x79, 0x07, 0x28, 0x21, 0xd2, + 0x02, 0xa3, 0x1b, 0x5c, 0x5b, 0x00, 0x9f, 0x44, + 0x00, 0x00, 0x1d, 0x04, 0x04, 0x06, 0x10, 0x17, + 0x13, 0x00, 0x04, 0x20, 0xed, 0xe7, 0x2a, 0x1c, + 0x21, 0x1c, 0x01, 0x20, 0x00, 0x9b, 0xf2, 0xf7, + 0x81, 0xfe, 0x00, 0x28, 0x12, 0xd1, 0x06, 0x20, + 0xe3, 0xe7, 0x2a, 0x68, 0x00, 0x99, 0x05, 0xe0, + 0x00, 0x98, 0x3c, 0x00, 0xec, 0xd6, 0x00, 0x00, + 0x42, 0x78, 0x81, 0x1c, 0x01, 0xe0, 0x2a, 0x68, + 0x69, 0x46, 0x20, 0x1c, 0xf2, 0xf7, 0xfe, 0xfe, + 0x03, 0xe0, 0x04, 0x21, 0x87, 0x20, 0xf3, 0xf7, + 0xcf, 0xfd, 0x00, 0x20, 0xd0, 0xe7, 0x00, 0x00, + 0xf8, 0x6b, 0x01, 0x00, 0xf7, 0xb5, 0x86, 0xb0, + 0x0e, 0x1c, 0x08, 0x21, 0x05, 0xaa, 0x06, 0x98, + 0xfa, 0xf7, 0x7e, 0xfe, 0x04, 0x1c, 0x45, 0xd1, + 0x05, 0x98, 0x41, 0x68, 0x3c, 0x00, 0x28, 0xd7, + 0x00, 0x00, 0x02, 0x90, 0x49, 0x02, 0xc9, 0x0f, + 0x00, 0x25, 0x04, 0x95, 0x03, 0x91, 0x08, 0x9f, + 0xfa, 0xf7, 0xd5, 0xfe, 0x01, 0x90, 0x02, 0xa9, + 0x03, 0xc9, 0xfa, 0xf7, 0xc6, 0xfe, 0x01, 0x99, + 0x05, 0x29, 0x14, 0xd2, 0x02, 0xa3, 0x5b, 0x5c, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x0e, 0x03, + 0x06, 0x0c, 0x03, 0x00, 0x87, 0x42, 0x0e, 0xd8, + 0x07, 0xe0, 0x87, 0x42, 0x0b, 0xd8, 0x3c, 0x00, + 0x64, 0xd7, 0x00, 0x00, 0x01, 0x25, 0xc0, 0x1b, + 0x04, 0x90, 0x07, 0xe0, 0x87, 0x42, 0x05, 0xd1, + 0x01, 0x25, 0x03, 0xe0, 0x05, 0x21, 0x87, 0x20, + 0xf3, 0xf7, 0x94, 0xfd, 0x00, 0x2d, 0x01, 0xd1, + 0x03, 0x24, 0x15, 0xe0, 0x05, 0x98, 0x41, 0x68, + 0x00, 0x29, 0x69, 0xda, 0x3a, 0x4a, 0x06, 0x99, + 0x11, 0x60, 0xfa, 0xf7, 0x91, 0xfe, 0x07, 0x1c, + 0x05, 0x98, 0x03, 0x99, 0xfa, 0xf7, 0x86, 0xfe, + 0x3c, 0x00, 0xa0, 0xd7, 0x00, 0x00, 0x05, 0x1c, + 0x01, 0x1c, 0x38, 0x1c, 0xff, 0xf7, 0x5f, 0xff, + 0x00, 0x28, 0x01, 0xd1, 0x0a, 0x24, 0x5e, 0xe0, + 0x07, 0x2f, 0x57, 0xd2, 0x02, 0xa3, 0xdb, 0x5d, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x53, 0x04, + 0x04, 0x06, 0x2e, 0x50, 0x48, 0x00, 0x04, 0x24, + 0x51, 0xe0, 0x04, 0x98, 0x00, 0x28, 0x01, 0xd1, + 0x00, 0x27, 0x14, 0xe0, 0x08, 0x99, 0x08, 0x18, + 0x00, 0x04, 0x3c, 0x00, 0xdc, 0xd7, 0x00, 0x00, + 0x00, 0x0c, 0xf4, 0xf7, 0x2b, 0xf8, 0x07, 0x1c, + 0x31, 0x1c, 0x08, 0x9a, 0xf2, 0xf7, 0x86, 0xfe, + 0x08, 0x98, 0x04, 0x99, 0x38, 0x18, 0xf2, 0xf7, + 0x2f, 0xfe, 0x08, 0x98, 0x04, 0x99, 0x3e, 0x1c, + 0x40, 0x18, 0x08, 0x90, 0x31, 0x1c, 0x00, 0x20, + 0x08, 0xaa, 0xf2, 0xf7, 0xec, 0xfd, 0x00, 0x28, + 0x00, 0xd1, 0x05, 0x24, 0x00, 0x2f, 0x2d, 0xd0, + 0x38, 0x1c, 0xf3, 0xf7, 0x3c, 0x00, 0x18, 0xd8, + 0x00, 0x00, 0xed, 0xff, 0x29, 0xe0, 0x03, 0x99, + 0x00, 0x29, 0x04, 0xd0, 0x05, 0x98, 0x40, 0x68, + 0x87, 0x02, 0xbf, 0x0a, 0x00, 0xe0, 0x00, 0x27, + 0x31, 0x1c, 0x28, 0x1c, 0x08, 0x9a, 0xf2, 0xf7, + 0x60, 0xfe, 0x04, 0x99, 0x00, 0x29, 0x03, 0xd0, + 0x08, 0x98, 0x28, 0x18, 0xf2, 0xf7, 0x07, 0xfe, + 0x00, 0x2f, 0x12, 0xd0, 0xf2, 0xf7, 0xcc, 0xfd, + 0x0f, 0xe0, 0x31, 0x1c, 0xa8, 0x1c, 0x3c, 0x00, + 0x54, 0xd8, 0x00, 0x00, 0x08, 0x9a, 0xf2, 0xf7, + 0x4f, 0xfe, 0x08, 0x98, 0x68, 0x70, 0x07, 0xe0, + 0xff, 0xe7, 0x07, 0x24, 0x04, 0xe0, 0x08, 0x24, + 0x03, 0x21, 0x87, 0x20, 0xf3, 0xf7, 0x1a, 0xfd, + 0x20, 0x1c, 0x09, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0xf8, 0x6b, 0x01, 0x00, 0x9e, 0xb5, 0x1c, 0x1c, + 0x00, 0xab, 0x19, 0x72, 0x00, 0x92, 0x00, 0x22, + 0x01, 0x94, 0x69, 0x46, 0xfb, 0xf7, 0x08, 0xfa, + 0x3c, 0x00, 0x90, 0xd8, 0x00, 0x00, 0x9e, 0xbd, + 0x00, 0x00, 0x8f, 0xb5, 0x02, 0x92, 0x00, 0x22, + 0x00, 0x90, 0x01, 0x90, 0x03, 0x91, 0x69, 0x46, + 0x04, 0x20, 0xfb, 0xf7, 0xfc, 0xf9, 0x8f, 0xbd, + 0x00, 0x00, 0xb0, 0xb5, 0x0c, 0x1c, 0x01, 0x28, + 0x0a, 0xd0, 0x03, 0x28, 0x19, 0xd0, 0x04, 0x28, + 0x2c, 0xd1, 0x60, 0x68, 0x01, 0xf0, 0x35, 0xfc, + 0x01, 0x1c, 0x83, 0x20, 0x0c, 0xcc, 0x22, 0xe0, + 0x1c, 0x20, 0x3c, 0x00, 0xcc, 0xd8, 0x00, 0x00, + 0x14, 0x49, 0x60, 0x43, 0x40, 0x18, 0x14, 0x49, + 0x45, 0x18, 0x28, 0x1c, 0xf8, 0xf7, 0x46, 0xfc, + 0xa9, 0x68, 0x00, 0x29, 0x03, 0xd0, 0x22, 0x1c, + 0x08, 0x20, 0x05, 0xf0, 0x71, 0xfe, 0xb0, 0xbd, + 0x20, 0x8c, 0xc8, 0x28, 0x01, 0xd3, 0x04, 0x20, + 0x04, 0xe0, 0x65, 0x28, 0x01, 0xd3, 0x02, 0x20, + 0x00, 0xe0, 0x01, 0x20, 0x20, 0x84, 0x20, 0x1c, + 0x03, 0xf0, 0xdc, 0xfa, 0x3c, 0x00, 0x08, 0xd9, + 0x00, 0x00, 0x22, 0x68, 0xe3, 0x68, 0x01, 0x1c, + 0x82, 0x20, 0xff, 0xf7, 0xb4, 0xff, 0xb0, 0xbd, + 0xa0, 0x21, 0x08, 0x20, 0xf3, 0xf7, 0xc3, 0xfc, + 0xb0, 0xbd, 0xdc, 0x71, 0x01, 0x00, 0x64, 0xee, + 0xff, 0xff, 0x03, 0x48, 0x04, 0x4a, 0x81, 0x68, + 0x51, 0x61, 0xc0, 0x68, 0x90, 0x61, 0x70, 0x47, + 0x00, 0x00, 0xf4, 0x68, 0x01, 0x00, 0xc0, 0x71, + 0x01, 0x00, 0x03, 0x49, 0x04, 0x4a, 0x3c, 0x00, + 0x44, 0xd9, 0x00, 0x00, 0x08, 0x6b, 0x90, 0x60, + 0x88, 0x68, 0xd0, 0x60, 0x70, 0x47, 0x00, 0x00, + 0x90, 0x5c, 0x01, 0x00, 0xc0, 0x71, 0x01, 0x00, + 0x00, 0xb5, 0xff, 0xf7, 0xf1, 0xff, 0xff, 0xf7, + 0xe3, 0xff, 0x00, 0xbd, 0xb0, 0xb5, 0x0d, 0x1c, + 0x00, 0x28, 0x14, 0xd0, 0x0b, 0x49, 0x0c, 0x4c, + 0x88, 0x68, 0x62, 0x69, 0xc9, 0x68, 0x80, 0x1a, + 0xa2, 0x69, 0x89, 0x1a, 0x40, 0x18, 0x04, 0xd0, + 0x3c, 0x00, 0x80, 0xd9, 0x00, 0x00, 0x64, 0x23, + 0x59, 0x43, 0xf2, 0xf7, 0xc4, 0xfe, 0x20, 0x61, + 0xff, 0xf7, 0xcd, 0xff, 0x20, 0x69, 0x28, 0x60, + 0x01, 0x20, 0xb0, 0xbd, 0x00, 0x20, 0xb0, 0xbd, + 0x00, 0x00, 0xf4, 0x68, 0x01, 0x00, 0xc0, 0x71, + 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, 0x00, 0x28, + 0x17, 0xd0, 0x0c, 0x49, 0x0d, 0x4c, 0x08, 0x6b, + 0xa2, 0x68, 0x89, 0x68, 0x80, 0x1a, 0xe2, 0x68, + 0x89, 0x1a, 0x3c, 0x00, 0xbc, 0xd9, 0x00, 0x00, + 0x40, 0x18, 0x07, 0xd0, 0x22, 0x88, 0x90, 0x42, + 0x04, 0xd9, 0x64, 0x23, 0x59, 0x43, 0xf2, 0xf7, + 0xa1, 0xfe, 0x60, 0x60, 0xff, 0xf7, 0xb6, 0xff, + 0x60, 0x68, 0x28, 0x60, 0x01, 0x20, 0xb0, 0xbd, + 0x00, 0x20, 0xb0, 0xbd, 0x90, 0x5c, 0x01, 0x00, + 0xc0, 0x71, 0x01, 0x00, 0x7c, 0xb5, 0x10, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0x00, 0xf0, 0x24, 0xf8, + 0x7c, 0xbd, 0x0f, 0x48, 0x3c, 0x00, 0xf8, 0xd9, + 0x00, 0x00, 0xc0, 0x69, 0x84, 0x68, 0xe0, 0x68, + 0x25, 0x6a, 0xa6, 0x69, 0xf3, 0xf7, 0xe3, 0xfd, + 0xe1, 0x69, 0xf3, 0xf7, 0x06, 0xfd, 0x20, 0x1c, + 0xe2, 0x69, 0x40, 0x30, 0xc1, 0x8b, 0x12, 0x89, + 0x89, 0x18, 0xc1, 0x83, 0x07, 0x49, 0x01, 0x94, + 0x00, 0x91, 0x28, 0x69, 0x33, 0x1c, 0x82, 0x88, + 0x01, 0x68, 0xe0, 0x68, 0xc0, 0x68, 0xf8, 0xf7, + 0x1e, 0xfc, 0xe0, 0xe7, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xda, 0x00, 0x00, 0x84, 0x6a, 0x01, 0x00, + 0x91, 0x5e, 0x00, 0x00, 0xf0, 0xb5, 0x85, 0x69, + 0x06, 0x6a, 0x04, 0x1c, 0xc0, 0x68, 0x85, 0xb0, + 0xc0, 0x68, 0x00, 0x28, 0x01, 0xd1, 0xf3, 0xf7, + 0x57, 0xfc, 0x0a, 0x49, 0x02, 0x95, 0x04, 0x94, + 0x03, 0x91, 0x30, 0x69, 0x82, 0x88, 0x01, 0x68, + 0x26, 0x20, 0x01, 0x92, 0x00, 0x91, 0x43, 0x5d, + 0xe0, 0x68, 0xe1, 0x69, 0x2a, 0x1c, 0x0e, 0x32, + 0x3c, 0x00, 0x70, 0xda, 0x00, 0x00, 0xc0, 0x68, + 0xf8, 0xf7, 0x37, 0xfd, 0x05, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xe9, 0xd9, 0x00, 0x00, 0x10, 0xb5, + 0x14, 0x1c, 0x05, 0x48, 0xfc, 0xf7, 0x7b, 0xfb, + 0xa0, 0x68, 0xf3, 0xf7, 0x9e, 0xfd, 0xe1, 0x68, + 0xc1, 0x60, 0x20, 0x1c, 0xf5, 0xf7, 0xbb, 0xfa, + 0x10, 0xbd, 0xa0, 0x6a, 0x01, 0x00, 0x7c, 0xb5, + 0x04, 0x1c, 0x60, 0x30, 0x02, 0x7b, 0xa1, 0x69, + 0x00, 0x91, 0x3c, 0x00, 0xac, 0xda, 0x00, 0x00, + 0x01, 0x92, 0x22, 0x1c, 0x21, 0x1c, 0x38, 0x31, + 0xa0, 0x68, 0x48, 0x32, 0x0d, 0x1c, 0x63, 0x69, + 0x03, 0xf0, 0x7a, 0xfb, 0x08, 0x21, 0x00, 0x20, + 0xf3, 0xf7, 0x88, 0xfd, 0xe0, 0x60, 0x26, 0x69, + 0xb1, 0x6b, 0x00, 0x29, 0x01, 0xd0, 0x10, 0x23, + 0x00, 0xe0, 0x18, 0x23, 0x05, 0x49, 0x01, 0x94, + 0x00, 0x91, 0x31, 0x68, 0xca, 0x18, 0x08, 0x23, + 0x01, 0x1c, 0x28, 0x1c, 0x3c, 0x00, 0xe8, 0xda, + 0x00, 0x00, 0xf8, 0xf7, 0x20, 0xfd, 0x7c, 0xbd, + 0x00, 0x00, 0x81, 0xda, 0x00, 0x00, 0xf0, 0xb5, + 0x46, 0x68, 0x17, 0x1c, 0x04, 0x1c, 0x01, 0x21, + 0x30, 0x1c, 0x9b, 0xb0, 0xfa, 0xf7, 0x0d, 0xfc, + 0x00, 0x25, 0x00, 0x28, 0x03, 0xd0, 0x13, 0x49, + 0x0a, 0x7a, 0x01, 0x2a, 0x01, 0xd1, 0x01, 0x25, + 0x1c, 0xe0, 0x88, 0x62, 0x4e, 0x61, 0x20, 0x89, + 0xc8, 0x61, 0x60, 0x89, 0x00, 0x28, 0x3c, 0x00, + 0x24, 0xdb, 0x00, 0x00, 0x03, 0xd0, 0x00, 0x20, + 0x08, 0x84, 0x48, 0x84, 0x04, 0xe0, 0xe0, 0x68, + 0x08, 0x84, 0x20, 0x8a, 0x48, 0x84, 0x60, 0x8a, + 0x88, 0x84, 0x08, 0x6b, 0x00, 0x28, 0x03, 0xd1, + 0x01, 0xa8, 0x03, 0xf0, 0x77, 0xfc, 0x04, 0xe0, + 0x01, 0x20, 0x08, 0x61, 0x00, 0x20, 0x02, 0xf0, + 0x39, 0xfb, 0x3d, 0x71, 0x1b, 0xb0, 0x01, 0x20, + 0xf0, 0xbd, 0x00, 0x00, 0xf4, 0x6e, 0x01, 0x00, + 0x3c, 0x00, 0x60, 0xdb, 0x00, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0xf7, 0xf7, 0xe8, 0xfb, 0x00, 0x28, + 0x11, 0xd1, 0x4b, 0x20, 0x00, 0x5d, 0x01, 0x28, + 0x0d, 0xd1, 0x20, 0x1c, 0x04, 0xf0, 0x85, 0xfa, + 0x00, 0x21, 0x20, 0x1c, 0x04, 0xf0, 0xf3, 0xf8, + 0xa0, 0x69, 0x00, 0x21, 0xc2, 0x07, 0xd2, 0x0f, + 0x04, 0x20, 0xf4, 0xf7, 0xd8, 0xf9, 0x10, 0xbd, + 0x00, 0x00, 0x38, 0xb5, 0x04, 0x1c, 0x04, 0xf0, + 0x36, 0xf9, 0x3c, 0x00, 0x9c, 0xdb, 0x00, 0x00, + 0x00, 0x28, 0x03, 0xd0, 0x40, 0x30, 0x80, 0x7a, + 0x00, 0x28, 0x25, 0xd1, 0x0c, 0x20, 0x29, 0x21, + 0x08, 0x55, 0x21, 0x1c, 0x06, 0x22, 0xa0, 0x18, + 0xf2, 0xf7, 0xa0, 0xfc, 0x20, 0x1c, 0x06, 0x22, + 0x0e, 0x49, 0xf2, 0xf7, 0x9b, 0xfc, 0x01, 0x20, + 0xe0, 0x61, 0x60, 0x62, 0x07, 0x20, 0x30, 0x21, + 0x08, 0x55, 0x00, 0x25, 0xe5, 0x63, 0x06, 0x20, + 0x00, 0xab, 0x18, 0x80, 0x3c, 0x00, 0xd8, 0xdb, + 0x00, 0x00, 0xe0, 0x68, 0x00, 0x28, 0x01, 0xd0, + 0xf3, 0xf7, 0xdb, 0xfc, 0x02, 0x21, 0x68, 0x46, + 0xfd, 0xf7, 0x73, 0xfb, 0xe0, 0x60, 0x20, 0x1c, + 0xff, 0xf7, 0x69, 0xfc, 0xe5, 0x60, 0x20, 0x1c, + 0x38, 0xbd, 0x12, 0x61, 0x01, 0x00, 0xfe, 0xb5, + 0x05, 0x1c, 0x0e, 0x1c, 0x15, 0x20, 0x00, 0xab, + 0x98, 0x80, 0x14, 0x21, 0x17, 0x1c, 0x00, 0x20, + 0xf3, 0xf7, 0xe3, 0xfc, 0x02, 0x90, 0x3c, 0x00, + 0x14, 0xdc, 0x00, 0x00, 0x04, 0x68, 0x06, 0x22, + 0x31, 0x1c, 0x60, 0x1d, 0x25, 0x71, 0xf2, 0xf7, + 0x6b, 0xfc, 0x06, 0x22, 0x39, 0x1c, 0x20, 0x1c, + 0x0b, 0x30, 0xf2, 0xf7, 0x65, 0xfc, 0x01, 0xa8, + 0xff, 0xf7, 0x52, 0xfc, 0xfe, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0x23, 0xfb, 0xf7, 0x5c, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x70, 0xb5, 0x05, 0x1c, + 0x08, 0x35, 0x0f, 0x4e, 0x29, 0x1c, 0x04, 0x1c, + 0x3c, 0x00, 0x50, 0xdc, 0x00, 0x00, 0x06, 0x22, + 0x30, 0x1c, 0xf2, 0xf7, 0x50, 0xfc, 0xa0, 0x88, + 0xb0, 0x82, 0x28, 0x1c, 0x05, 0xf0, 0xa1, 0xff, + 0x00, 0x28, 0x0b, 0xd0, 0xe0, 0x88, 0x30, 0x61, + 0x28, 0x1c, 0x04, 0xf0, 0xcc, 0xf8, 0xa1, 0x88, + 0x40, 0x30, 0x41, 0x80, 0x00, 0x20, 0xf4, 0xf7, + 0xb8, 0xf9, 0x02, 0xe0, 0x04, 0x20, 0xf4, 0xf7, + 0xa0, 0xf9, 0x00, 0x20, 0x70, 0xbd, 0x70, 0x7c, + 0x01, 0x00, 0x3c, 0x00, 0x8c, 0xdc, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0x20, 0xfb, 0xf7, 0xf8, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x70, 0xb5, 0x04, 0x1c, + 0x04, 0x30, 0x05, 0x1c, 0xfd, 0xf7, 0x32, 0xf8, + 0x00, 0x28, 0x09, 0xd0, 0x00, 0x20, 0xf7, 0xf7, + 0x37, 0xfc, 0x00, 0x28, 0x04, 0xd0, 0x06, 0x22, + 0x01, 0x1c, 0x28, 0x1c, 0xf2, 0xf7, 0x1e, 0xfc, + 0x0a, 0x4e, 0x06, 0x22, 0x29, 0x1c, 0x30, 0x1c, + 0xf2, 0xf7, 0x18, 0xfc, 0x3c, 0x00, 0xc8, 0xdc, + 0x00, 0x00, 0x60, 0x89, 0xf0, 0x82, 0x28, 0x1c, + 0x05, 0xf0, 0x69, 0xff, 0x00, 0x28, 0x03, 0xd0, + 0x02, 0x20, 0xf4, 0xf7, 0x88, 0xf9, 0x02, 0xe0, + 0x05, 0x20, 0xf9, 0xf7, 0xf4, 0xfa, 0x00, 0x20, + 0x70, 0xbd, 0x70, 0x7c, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x00, 0x79, 0x04, 0x28, 0x1c, 0xd2, + 0x60, 0x79, 0x01, 0x28, 0x01, 0xd0, 0x03, 0x28, + 0x04, 0xd1, 0x00, 0x22, 0x01, 0x21, 0x3c, 0x00, + 0x04, 0xdd, 0x00, 0x00, 0xa0, 0x1d, 0xf9, 0xf7, + 0x69, 0xfc, 0x60, 0x79, 0x00, 0x28, 0x04, 0xd1, + 0x22, 0x79, 0x00, 0x21, 0xf9, 0xf7, 0x62, 0xfc, + 0x0a, 0xe0, 0x03, 0x28, 0x08, 0xd1, 0x00, 0x24, + 0x22, 0x1c, 0x00, 0x21, 0x00, 0x20, 0xf9, 0xf7, + 0x59, 0xfc, 0x01, 0x34, 0x04, 0x2c, 0xf7, 0xdb, + 0x01, 0x20, 0x10, 0xbd, 0xf0, 0xb5, 0x97, 0xb0, + 0x17, 0x1c, 0x05, 0x1c, 0x04, 0x30, 0x04, 0x1c, + 0x3c, 0x00, 0x40, 0xdd, 0x00, 0x00, 0x15, 0xaa, + 0x16, 0xa9, 0x05, 0xf0, 0xe2, 0xfe, 0x00, 0x28, + 0x2e, 0xd0, 0x15, 0x98, 0x4b, 0x21, 0x09, 0x5c, + 0x00, 0x29, 0x23, 0xd0, 0x01, 0x29, 0x02, 0xd0, + 0x02, 0x29, 0x1f, 0xd1, 0x01, 0xe0, 0x04, 0xf0, + 0x90, 0xf9, 0xad, 0x7a, 0x13, 0x48, 0x16, 0x9e, + 0x05, 0x80, 0x06, 0x22, 0x21, 0x1c, 0x08, 0x30, + 0xf2, 0xf7, 0xc1, 0xfb, 0x22, 0x1c, 0x31, 0x1c, + 0x02, 0xa8, 0x3c, 0x00, 0x7c, 0xdd, 0x00, 0x00, + 0x00, 0xf0, 0x74, 0xfb, 0x0a, 0x20, 0x0a, 0xa9, + 0x48, 0x72, 0x00, 0xab, 0x9d, 0x80, 0x02, 0x21, + 0x01, 0xa8, 0xfd, 0xf7, 0x9f, 0xfa, 0x05, 0x90, + 0x02, 0xa8, 0xff, 0xf7, 0x95, 0xfb, 0xf3, 0xf7, + 0xf7, 0xf9, 0x00, 0x21, 0x15, 0x98, 0x03, 0xf0, + 0xe1, 0xff, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, + 0x38, 0x71, 0x17, 0xb0, 0x01, 0x20, 0xf0, 0xbd, + 0x98, 0x7c, 0x01, 0x00, 0x3c, 0x00, 0xb8, 0xdd, + 0x00, 0x00, 0x80, 0xb5, 0x01, 0x20, 0xfb, 0xf7, + 0x62, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x80, 0x7d, 0x15, 0x1c, 0x0a, 0x1c, + 0xc0, 0x07, 0xc0, 0x17, 0x01, 0x30, 0x21, 0x1c, + 0xf9, 0xf7, 0xfb, 0xfc, 0x00, 0x28, 0x03, 0xd1, + 0x04, 0x20, 0x28, 0x71, 0x01, 0x20, 0xb0, 0xbd, + 0x20, 0x6a, 0xf7, 0xf7, 0x76, 0xfe, 0x60, 0x6a, + 0xf7, 0xf7, 0x7b, 0xfe, 0x20, 0x6a, 0x3c, 0x00, + 0xf4, 0xdd, 0x00, 0x00, 0xfe, 0xf7, 0x88, 0xfa, + 0x00, 0x20, 0xb0, 0xbd, 0x10, 0xb5, 0x14, 0x1c, + 0xc2, 0x79, 0x81, 0x79, 0x80, 0x88, 0xf7, 0xf7, + 0xa1, 0xfa, 0x20, 0x71, 0x01, 0x20, 0x10, 0xbd, + 0x80, 0xb5, 0x01, 0x23, 0xfa, 0xf7, 0x70, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0xf0, 0xb5, 0x04, 0x1c, + 0x08, 0x1c, 0x00, 0x21, 0x0f, 0x28, 0x91, 0xb0, + 0x00, 0xd3, 0x02, 0x21, 0x00, 0x29, 0x41, 0xd1, + 0x3c, 0x00, 0x30, 0xde, 0x00, 0x00, 0xc0, 0x00, + 0x24, 0x4f, 0x10, 0x90, 0xc6, 0x19, 0xb2, 0x88, + 0x21, 0x68, 0x02, 0xa8, 0xf2, 0xf7, 0x5b, 0xfb, + 0x21, 0x89, 0xb0, 0x88, 0x09, 0x1a, 0x00, 0x29, + 0x07, 0xdd, 0x09, 0x04, 0x22, 0x68, 0x09, 0x0c, + 0x10, 0x18, 0xf3, 0xf7, 0xc0, 0xfb, 0x05, 0x1c, + 0x00, 0xe0, 0x00, 0x25, 0xb0, 0x79, 0x80, 0x21, + 0x88, 0x43, 0x17, 0x49, 0x78, 0x31, 0x09, 0x5c, + 0x00, 0x20, 0x3c, 0x00, 0x6c, 0xde, 0x00, 0x00, + 0xf3, 0xf7, 0xb4, 0xfb, 0x07, 0x1c, 0x00, 0x68, + 0x13, 0x49, 0x01, 0x90, 0x10, 0x98, 0x0b, 0x58, + 0x01, 0x9a, 0x29, 0x1c, 0x02, 0xa8, 0xf2, 0xf7, + 0xac, 0xfa, 0x00, 0x90, 0x28, 0x1c, 0xf3, 0xf7, + 0x73, 0xfb, 0x20, 0x1c, 0xf3, 0xf7, 0x82, 0xfb, + 0x00, 0x98, 0x00, 0x28, 0x08, 0xd0, 0x02, 0x98, + 0x01, 0x99, 0x08, 0x60, 0xb0, 0x79, 0x39, 0x1c, + 0xfa, 0xf7, 0x20, 0xff, 0x3c, 0x00, 0xa8, 0xde, + 0x00, 0x00, 0x11, 0xb0, 0xf0, 0xbd, 0x38, 0x1c, + 0xf3, 0xf7, 0x61, 0xfb, 0xf9, 0xe7, 0x2d, 0x20, + 0xf3, 0xf7, 0xf5, 0xf9, 0x20, 0x1c, 0xf3, 0xf7, + 0x6c, 0xfb, 0xf2, 0xe7, 0x00, 0x00, 0x24, 0x44, + 0x01, 0x00, 0x70, 0xb5, 0x05, 0x1c, 0x20, 0x35, + 0x06, 0x1c, 0xa8, 0x79, 0x04, 0x28, 0x48, 0xd2, + 0xe9, 0x79, 0x01, 0x29, 0x13, 0xd1, 0x30, 0x1c, + 0x28, 0x30, 0x03, 0xf0, 0x92, 0xff, 0x3c, 0x00, + 0xe4, 0xde, 0x00, 0x00, 0x00, 0x28, 0x3f, 0xd0, + 0x01, 0x1c, 0x8c, 0x31, 0x01, 0x65, 0xa9, 0x79, + 0x4c, 0x22, 0x04, 0x1c, 0x11, 0x54, 0x81, 0x18, + 0x41, 0x62, 0x50, 0x34, 0x04, 0x62, 0xe1, 0x1e, + 0x81, 0x62, 0x0b, 0xe0, 0x00, 0x29, 0x2f, 0xd1, + 0x3c, 0x22, 0x18, 0x49, 0x42, 0x43, 0x54, 0x18, + 0x17, 0x4a, 0x04, 0x34, 0x12, 0x68, 0x00, 0x2a, + 0x00, 0xd1, 0x48, 0x70, 0x00, 0x2c, 0x23, 0xd0, + 0x3c, 0x00, 0x20, 0xdf, 0x00, 0x00, 0x35, 0x1c, + 0x30, 0x35, 0xe8, 0x79, 0x01, 0x28, 0x01, 0xd0, + 0x05, 0x28, 0x01, 0xd1, 0x06, 0x20, 0xe8, 0x71, + 0x20, 0x22, 0x31, 0x1d, 0x20, 0x68, 0xf2, 0xf7, + 0xde, 0xfa, 0xb0, 0x8c, 0xa0, 0x80, 0xe8, 0x79, + 0xa0, 0x71, 0xa8, 0x79, 0x00, 0x25, 0xa0, 0x63, + 0x01, 0x20, 0x60, 0x81, 0x00, 0x20, 0xe0, 0x60, + 0x2e, 0x36, 0xe8, 0x00, 0x00, 0x19, 0x18, 0x30, + 0x08, 0x22, 0x3c, 0x00, 0x5c, 0xdf, 0x00, 0x00, + 0x31, 0x1c, 0xf2, 0xf7, 0xcb, 0xfa, 0x01, 0x35, + 0x04, 0x2d, 0xf5, 0xd3, 0x01, 0x20, 0x70, 0xbd, + 0x68, 0x61, 0x01, 0x00, 0xdc, 0x62, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0xc0, 0x7a, 0x01, 0x28, + 0x01, 0xd0, 0x03, 0x28, 0x07, 0xd1, 0x20, 0x1d, + 0x03, 0xf0, 0x40, 0xff, 0x00, 0x28, 0x02, 0xd0, + 0xa1, 0x7a, 0x40, 0x30, 0x41, 0x73, 0xe0, 0x7a, + 0x00, 0x28, 0x01, 0xd0, 0x3c, 0x00, 0x98, 0xdf, + 0x00, 0x00, 0x03, 0x28, 0x02, 0xd1, 0xa0, 0x7a, + 0x02, 0x49, 0x08, 0x70, 0x01, 0x20, 0x10, 0xbd, + 0x00, 0x00, 0x68, 0x61, 0x01, 0x00, 0x70, 0xb5, + 0x0e, 0x1c, 0x03, 0x21, 0x04, 0x1c, 0x30, 0x1c, + 0xfc, 0xf7, 0xe1, 0xfb, 0x00, 0x28, 0x01, 0xd0, + 0x85, 0x78, 0x00, 0xe0, 0x00, 0x25, 0x0b, 0x48, + 0x32, 0x1c, 0x00, 0x68, 0x03, 0x68, 0x20, 0x7c, + 0x80, 0x07, 0xc0, 0x0f, 0x21, 0x1c, 0x3c, 0x00, + 0xd4, 0xdf, 0x00, 0x00, 0xf7, 0xf7, 0x62, 0xfe, + 0x00, 0x28, 0x05, 0xd0, 0x01, 0x21, 0x28, 0x1c, + 0xfd, 0xf7, 0xfe, 0xfb, 0x00, 0x20, 0x00, 0xe0, + 0x08, 0x20, 0x03, 0xf0, 0xc5, 0xff, 0x00, 0x20, + 0x70, 0xbd, 0x00, 0x00, 0xe4, 0x65, 0x01, 0x00, + 0x80, 0xb5, 0x42, 0x68, 0x00, 0x88, 0x01, 0x21, + 0x49, 0x06, 0x08, 0x43, 0x2d, 0x21, 0x05, 0xf0, + 0xd3, 0xfb, 0x80, 0xbd, 0x03, 0x49, 0x01, 0x20, + 0x3c, 0x00, 0x10, 0xe0, 0x00, 0x00, 0x49, 0x78, + 0x02, 0x29, 0x00, 0xd0, 0x00, 0x20, 0x70, 0x47, + 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, 0x8c, 0xb5, + 0x01, 0x28, 0x1f, 0xd1, 0x00, 0x29, 0x0d, 0xd0, + 0x01, 0x29, 0x0b, 0xd0, 0x02, 0x29, 0x01, 0xd0, + 0x03, 0x29, 0x16, 0xd1, 0x00, 0x20, 0xf9, 0xf7, + 0x14, 0xfc, 0x93, 0x20, 0x00, 0xab, 0x18, 0x80, + 0x00, 0x20, 0x08, 0xe0, 0x01, 0x29, 0x00, 0xd0, + 0x00, 0x20, 0x3c, 0x00, 0x4c, 0xe0, 0x00, 0x00, + 0xf9, 0xf7, 0x0a, 0xfc, 0x83, 0x20, 0x00, 0xab, + 0x18, 0x80, 0x02, 0x20, 0x00, 0xf0, 0xcc, 0xf8, + 0x01, 0x90, 0x68, 0x46, 0xff, 0xf7, 0x3a, 0xfa, + 0x8c, 0xbd, 0x01, 0x21, 0x0e, 0x20, 0xf3, 0xf7, + 0x1b, 0xf9, 0xf9, 0xe7, 0xff, 0xb5, 0x17, 0x1c, + 0x1e, 0x1c, 0x14, 0x21, 0x00, 0x20, 0x83, 0xb0, + 0xf3, 0xf7, 0xac, 0xfa, 0x05, 0x1c, 0x04, 0x68, + 0x12, 0x20, 0x00, 0xab, 0x3c, 0x00, 0x88, 0xe0, + 0x00, 0x00, 0x98, 0x80, 0x06, 0x22, 0x60, 0x1d, + 0x03, 0x99, 0xf2, 0xf7, 0x32, 0xfa, 0x00, 0x20, + 0x20, 0x71, 0x27, 0x73, 0x04, 0x99, 0x20, 0x1c, + 0xe1, 0x72, 0x31, 0x1c, 0x06, 0x22, 0x0d, 0x30, + 0xf2, 0xf7, 0x27, 0xfa, 0x02, 0x95, 0x01, 0xa8, + 0xff, 0xf7, 0x13, 0xfa, 0x07, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x0f, 0x1c, + 0x0c, 0x21, 0x00, 0x20, 0xf3, 0xf7, 0x3c, 0x00, + 0xc4, 0xe0, 0x00, 0x00, 0x89, 0xfa, 0x05, 0x68, + 0x04, 0x1c, 0x28, 0x1d, 0x06, 0x22, 0x31, 0x1c, + 0xf2, 0xf7, 0x12, 0xfa, 0x6f, 0x81, 0x20, 0x1c, + 0xf8, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x0d, 0x1c, 0x08, 0x21, 0x00, 0x20, 0xf3, 0xf7, + 0x77, 0xfa, 0x01, 0x68, 0x8c, 0x71, 0x8d, 0x80, + 0xb0, 0xbd, 0x00, 0x00, 0xf7, 0xb5, 0x0e, 0x1c, + 0x10, 0x21, 0x17, 0x1c, 0x00, 0x20, 0xf3, 0xf7, + 0x3c, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x6b, 0xfa, + 0x04, 0x68, 0x05, 0x1c, 0x20, 0x1d, 0x06, 0x22, + 0x00, 0x99, 0xf2, 0xf7, 0xf4, 0xf9, 0x66, 0x81, + 0xa7, 0x81, 0x28, 0x1c, 0xfe, 0xbd, 0xf3, 0xb5, + 0x0c, 0x1c, 0x08, 0x21, 0x00, 0x20, 0x85, 0xb0, + 0xf3, 0xf7, 0x59, 0xfa, 0x06, 0x1c, 0x07, 0x68, + 0xe0, 0x68, 0x00, 0x28, 0x02, 0xd0, 0x05, 0x99, + 0x01, 0x29, 0x04, 0xd1, 0x05, 0x98, 0x38, 0x71, + 0x00, 0x20, 0x3c, 0x00, 0x3c, 0xe1, 0x00, 0x00, + 0x78, 0x71, 0x56, 0xe0, 0x03, 0x68, 0x01, 0x21, + 0x03, 0x93, 0x20, 0x69, 0x02, 0x90, 0xfc, 0xf7, + 0x17, 0xfb, 0x05, 0x1c, 0x02, 0x98, 0x32, 0x21, + 0xfc, 0xf7, 0x12, 0xfb, 0x00, 0x22, 0xd2, 0x43, + 0x01, 0x1c, 0x28, 0x1c, 0x04, 0xab, 0xf7, 0xf7, + 0xb9, 0xf8, 0x00, 0x28, 0x04, 0xd1, 0x30, 0x1c, + 0xf3, 0xf7, 0x02, 0xfa, 0x00, 0x26, 0x3c, 0xe0, + 0x00, 0x2d, 0x05, 0xd0, 0x3c, 0x00, 0x78, 0xe1, + 0x00, 0x00, 0x68, 0x78, 0x09, 0x38, 0x07, 0x28, + 0x01, 0xd8, 0x32, 0x20, 0x28, 0x70, 0x1c, 0x21, + 0x00, 0x20, 0xf3, 0xf7, 0x26, 0xfa, 0x01, 0x90, + 0x05, 0x68, 0x01, 0x1c, 0x30, 0x1c, 0xf3, 0xf7, + 0x40, 0xf9, 0xe0, 0x68, 0xf3, 0xf7, 0x0b, 0xfa, + 0xa8, 0x61, 0xe1, 0x68, 0x01, 0x98, 0xf3, 0xf7, + 0x38, 0xf9, 0x00, 0x20, 0xe0, 0x60, 0x05, 0x98, + 0x80, 0x21, 0x08, 0x43, 0x38, 0x71, 0x3c, 0x00, + 0xb4, 0xe1, 0x00, 0x00, 0x01, 0x20, 0x21, 0x1c, + 0x14, 0x31, 0x78, 0x71, 0x28, 0x1c, 0x06, 0x22, + 0xf2, 0xf7, 0x9a, 0xf9, 0x02, 0x9a, 0x29, 0x20, + 0x00, 0x92, 0x00, 0x5d, 0x01, 0x21, 0xe2, 0x6a, + 0x08, 0x28, 0x00, 0xd0, 0x00, 0x21, 0x28, 0x1c, + 0x03, 0x9b, 0x02, 0xf0, 0x9d, 0xff, 0xa0, 0x6b, + 0x28, 0x61, 0x20, 0x6c, 0x68, 0x61, 0x7f, 0x30, + 0x01, 0xd1, 0x0f, 0x20, 0x68, 0x61, 0x30, 0x1c, + 0x3c, 0x00, 0xf0, 0xe1, 0x00, 0x00, 0x07, 0xb0, + 0xf0, 0xbd, 0x10, 0xb5, 0x04, 0x1c, 0x08, 0x21, + 0x00, 0x20, 0xf3, 0xf7, 0xec, 0xf9, 0x01, 0x68, + 0x0c, 0x71, 0x10, 0xbd, 0x00, 0x00, 0x01, 0x48, + 0x00, 0x68, 0x70, 0x47, 0x00, 0x00, 0x28, 0x61, + 0x01, 0x00, 0x01, 0x49, 0x08, 0x60, 0x70, 0x47, + 0x00, 0x00, 0xe4, 0x65, 0x01, 0x00, 0x02, 0x1c, + 0x01, 0x20, 0x00, 0x06, 0x08, 0x43, 0x80, 0xb5, + 0x2d, 0x21, 0x3c, 0x00, 0x2c, 0xe2, 0x00, 0x00, + 0x05, 0xf0, 0xc0, 0xfa, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x01, 0x28, 0x07, 0xd0, 0xf1, 0x28, + 0x25, 0xd0, 0xf3, 0x28, 0x27, 0xd1, 0x02, 0x20, + 0x02, 0xf0, 0xbc, 0xf9, 0x80, 0xbd, 0x00, 0x29, + 0x1a, 0xd0, 0x01, 0x29, 0x03, 0xd0, 0xf2, 0x29, + 0xf8, 0xd1, 0x88, 0x21, 0x1c, 0xe0, 0x10, 0x48, + 0x01, 0x78, 0x00, 0x29, 0x05, 0xd1, 0x40, 0x78, + 0x01, 0x28, 0xef, 0xd1, 0x3c, 0x00, 0x68, 0xe2, + 0x00, 0x00, 0x00, 0xf0, 0x16, 0xfa, 0x80, 0xbd, + 0x0b, 0x48, 0x14, 0x30, 0x00, 0x89, 0xfc, 0xf7, + 0x5a, 0xfc, 0x01, 0x1c, 0x01, 0x22, 0x0f, 0x20, + 0x05, 0xf0, 0x9f, 0xf9, 0x80, 0xbd, 0x04, 0xf0, + 0x52, 0xfa, 0x80, 0xbd, 0x00, 0x20, 0xfa, 0xf7, + 0x32, 0xfe, 0x80, 0xbd, 0x02, 0x21, 0x0f, 0x20, + 0xf3, 0xf7, 0x05, 0xf8, 0x80, 0xbd, 0x84, 0x66, + 0x01, 0x00, 0x01, 0x48, 0x00, 0x78, 0x3c, 0x00, + 0xa4, 0xe2, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x74, 0x66, 0x01, 0x00, 0x01, 0x49, 0x00, 0x20, + 0x48, 0x60, 0x70, 0x47, 0xec, 0x65, 0x01, 0x00, + 0xf8, 0xb5, 0x0e, 0x1c, 0x13, 0x4d, 0x01, 0x1c, + 0x14, 0x1c, 0x68, 0x22, 0x28, 0x1c, 0x1f, 0x1c, + 0x0c, 0x30, 0xf2, 0xf7, 0x71, 0xf9, 0x0f, 0x49, + 0x00, 0x20, 0xac, 0x39, 0x48, 0x60, 0x01, 0x21, + 0x29, 0x60, 0x19, 0x21, 0x19, 0x2c, 0x6e, 0x67, + 0x3c, 0x00, 0xe0, 0xe2, 0x00, 0x00, 0x00, 0xd3, + 0x21, 0x1c, 0x29, 0x81, 0x09, 0x49, 0x14, 0x39, + 0x88, 0x73, 0x8f, 0x74, 0xc8, 0x78, 0x01, 0x28, + 0x08, 0xd0, 0x01, 0x21, 0x0f, 0x20, 0x05, 0xf0, + 0x9c, 0xf9, 0x19, 0x20, 0xfc, 0xf7, 0x15, 0xfc, + 0xfb, 0xf7, 0x99, 0xf8, 0x01, 0x20, 0xf8, 0xbd, + 0x00, 0x00, 0x98, 0x66, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x28, 0x02, 0xd1, 0x00, 0xf0, 0x2f, 0xf8, + 0x80, 0xbd, 0x3c, 0x00, 0x1c, 0xe3, 0x00, 0x00, + 0x01, 0x21, 0x1d, 0x20, 0xf2, 0xf7, 0xc0, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x01, 0x20, 0x07, 0x49, 0x00, 0x05, 0x80, 0xb5, + 0x88, 0x60, 0x00, 0x22, 0x80, 0x21, 0x16, 0x20, + 0x05, 0xf0, 0x4c, 0xf9, 0x04, 0xf0, 0x34, 0xfd, + 0x02, 0x49, 0x08, 0x61, 0x80, 0xbd, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x24, 0x6d, 0x01, 0x00, + 0x06, 0x4a, 0x80, 0xb5, 0x3c, 0x00, 0x58, 0xe3, + 0x00, 0x00, 0xd1, 0x6a, 0x81, 0x42, 0x07, 0xd1, + 0x10, 0x7f, 0x24, 0x23, 0x04, 0x49, 0x58, 0x43, + 0x40, 0x18, 0xc0, 0x68, 0xf2, 0xf7, 0x35, 0xf8, + 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, 0x94, 0x46, + 0x01, 0x00, 0x1d, 0x48, 0x1c, 0xb5, 0x00, 0x78, + 0x00, 0x28, 0x2d, 0xd0, 0x1c, 0x48, 0x00, 0x68, + 0x00, 0x28, 0x29, 0xd0, 0x1a, 0x4a, 0x1a, 0x4b, + 0x04, 0x32, 0x11, 0x68, 0x1c, 0x69, 0x3c, 0x00, + 0x94, 0xe3, 0x00, 0x00, 0xa1, 0x42, 0x22, 0xd1, + 0x51, 0x68, 0x5b, 0x69, 0x99, 0x42, 0x1f, 0xd1, + 0x16, 0x49, 0x49, 0x68, 0x93, 0x68, 0xc9, 0x1a, + 0x81, 0x42, 0x19, 0xd2, 0xd0, 0x68, 0x14, 0x49, + 0x01, 0x30, 0xd0, 0x60, 0x09, 0x68, 0x88, 0x42, + 0x0c, 0xd9, 0x06, 0x22, 0xff, 0x21, 0x68, 0x46, + 0xf2, 0xf7, 0x2e, 0xf9, 0xf3, 0xf7, 0xac, 0xfc, + 0x01, 0x1c, 0x00, 0x23, 0x00, 0x22, 0x68, 0x46, + 0x3c, 0x00, 0xd0, 0xe3, 0x00, 0x00, 0x02, 0xf0, + 0xce, 0xf9, 0x01, 0x22, 0x1d, 0x20, 0x0a, 0x49, + 0x05, 0xf0, 0xf7, 0xf8, 0x1c, 0xbd, 0xf7, 0xf7, + 0x88, 0xf9, 0x04, 0x22, 0x81, 0x18, 0x08, 0x1c, + 0xfc, 0xf7, 0x27, 0xfb, 0xf6, 0xe7, 0x1c, 0x75, + 0x01, 0x00, 0x44, 0x75, 0x01, 0x00, 0x28, 0x61, + 0x01, 0x00, 0x90, 0x5c, 0x01, 0x00, 0xf0, 0x59, + 0x01, 0x00, 0xa0, 0x86, 0x01, 0x00, 0x80, 0xb5, + 0x01, 0x68, 0x3c, 0x00, 0x0c, 0xe4, 0x00, 0x00, + 0x00, 0x29, 0x15, 0xd1, 0x00, 0x79, 0x02, 0x28, + 0x12, 0xd1, 0x08, 0x1c, 0xf7, 0xf7, 0x80, 0xf8, + 0x00, 0x28, 0x0d, 0xd0, 0x03, 0xf0, 0xf2, 0xfc, + 0x08, 0x30, 0x41, 0x8f, 0x00, 0x29, 0x07, 0xd1, + 0x80, 0x69, 0x00, 0x28, 0x04, 0xd0, 0x80, 0x79, + 0x06, 0x28, 0x01, 0xd1, 0xfc, 0xf7, 0x18, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x01, 0x49, 0x00, 0x20, + 0x88, 0x62, 0x70, 0x47, 0x3c, 0x00, 0x48, 0xe4, + 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, 0xb0, 0xb5, + 0x05, 0x4d, 0x04, 0x1c, 0xa9, 0x1d, 0xff, 0xf7, + 0x14, 0xf8, 0x06, 0x22, 0x29, 0x1c, 0xa0, 0x18, + 0xf2, 0xf7, 0x4b, 0xf8, 0xb0, 0xbd, 0x70, 0x7c, + 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x15, 0x1c, + 0xff, 0xf7, 0x07, 0xf8, 0x06, 0x22, 0x29, 0x1c, + 0xa0, 0x18, 0xf2, 0xf7, 0x3e, 0xf8, 0xb0, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x0a, 0x30, 0x3c, 0x00, + 0x84, 0xe4, 0x00, 0x00, 0xf7, 0xf7, 0xbc, 0xf9, + 0x01, 0x23, 0x00, 0x28, 0x03, 0xd0, 0x05, 0x48, + 0x00, 0x78, 0x01, 0x28, 0x04, 0xd1, 0x00, 0x22, + 0x00, 0x21, 0x00, 0x20, 0x03, 0xf0, 0xc6, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0xa0, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x23, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x20, 0x03, 0xf0, 0xbb, 0xfd, 0x80, 0xbd, + 0xb0, 0xb5, 0x05, 0x4d, 0xac, 0x79, 0x0a, 0x1c, + 0x3c, 0x00, 0xc0, 0xe4, 0x00, 0x00, 0x01, 0x1c, + 0x01, 0x23, 0x01, 0x20, 0x03, 0xf0, 0xb1, 0xfd, + 0xac, 0x71, 0xb0, 0xbd, 0x00, 0x00, 0x20, 0x10, + 0x07, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x0c, 0x1c, + 0x88, 0x07, 0x02, 0xd5, 0xf6, 0xf7, 0x47, 0xfa, + 0x10, 0xe0, 0x60, 0x07, 0x0e, 0xd5, 0x17, 0x4f, + 0xa3, 0x20, 0xc0, 0x5d, 0x15, 0x4d, 0x10, 0x28, + 0x00, 0xd3, 0x15, 0x4d, 0x04, 0xf0, 0x59, 0xfc, + 0xb9, 0x6f, 0x3c, 0x00, 0xfc, 0xe4, 0x00, 0x00, + 0x40, 0x1a, 0x29, 0x1a, 0x01, 0x20, 0xf6, 0xf7, + 0xc1, 0xfa, 0xe0, 0x07, 0x11, 0x49, 0xc0, 0x0f, + 0x48, 0x60, 0x0c, 0xd0, 0x0d, 0x4c, 0x44, 0x3c, + 0x20, 0x78, 0x03, 0x28, 0x0f, 0xd1, 0x00, 0x2e, + 0x06, 0xd0, 0xf6, 0xf7, 0xf9, 0xf9, 0x01, 0x1c, + 0x01, 0x20, 0xf6, 0xf7, 0xaf, 0xfa, 0xf8, 0xbd, + 0x09, 0x49, 0x01, 0x20, 0xf6, 0xf7, 0xaa, 0xfa, + 0x01, 0x20, 0x20, 0x70, 0x3c, 0x00, 0x38, 0xe5, + 0x00, 0x00, 0xf7, 0xe7, 0x01, 0x21, 0x30, 0x1c, + 0xf6, 0xf7, 0x89, 0xfa, 0xf2, 0xe7, 0xa6, 0x0e, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0xc4, 0x09, + 0x00, 0x00, 0xb0, 0x57, 0x01, 0x00, 0x40, 0x42, + 0x0f, 0x00, 0x80, 0xb5, 0x06, 0x28, 0x04, 0xdb, + 0x05, 0x21, 0xff, 0x20, 0xf2, 0xf7, 0x9f, 0xfe, + 0x80, 0xbd, 0x03, 0x4a, 0xc0, 0x00, 0x11, 0x50, + 0x01, 0x21, 0x80, 0x18, 0x01, 0x71, 0x3c, 0x00, + 0x74, 0xe5, 0x00, 0x00, 0x80, 0xbd, 0x00, 0x00, + 0x9c, 0x5a, 0x01, 0x00, 0x01, 0x48, 0x80, 0x68, + 0x70, 0x47, 0x00, 0x00, 0xd0, 0x60, 0x01, 0x00, + 0xb0, 0xb5, 0x08, 0x4c, 0x25, 0x1d, 0x28, 0x1c, + 0x21, 0x68, 0x00, 0xf0, 0xf1, 0xfe, 0x00, 0x28, + 0x03, 0xd1, 0x01, 0x21, 0x04, 0x48, 0xf2, 0xf7, + 0xcf, 0xfa, 0x28, 0x1c, 0x21, 0x68, 0x00, 0xf0, + 0xfb, 0xfe, 0xb0, 0xbd, 0xc0, 0x60, 0x01, 0x00, + 0x3c, 0x00, 0xb0, 0xe5, 0x00, 0x00, 0x2c, 0x10, + 0x07, 0x00, 0xb0, 0xb5, 0x10, 0x4d, 0x0c, 0x1c, + 0xa8, 0x68, 0x00, 0x28, 0x02, 0xd1, 0x04, 0xf0, + 0xf4, 0xfb, 0x28, 0x60, 0x20, 0x1c, 0x04, 0xf0, + 0x38, 0xfb, 0x01, 0x21, 0x03, 0x20, 0x03, 0xf0, + 0xc4, 0xfe, 0x04, 0xf0, 0xf0, 0xfb, 0xa8, 0x68, + 0x00, 0x28, 0x0b, 0xd1, 0x04, 0xf0, 0xe5, 0xfb, + 0x29, 0x68, 0x00, 0x1b, 0x40, 0x1a, 0x69, 0x68, + 0x40, 0x18, 0x3c, 0x00, 0xec, 0xe5, 0x00, 0x00, + 0x41, 0x08, 0x40, 0x18, 0x28, 0x60, 0x01, 0x20, + 0xa8, 0x60, 0xb0, 0xbd, 0xd0, 0x60, 0x01, 0x00, + 0xf8, 0xb5, 0x1f, 0x4e, 0x00, 0x24, 0xb0, 0x68, + 0x00, 0x28, 0x02, 0xd1, 0x04, 0xf0, 0xd0, 0xfb, + 0x70, 0x60, 0x05, 0xf0, 0x61, 0xf8, 0x04, 0xf0, + 0x8f, 0xfb, 0x05, 0x1c, 0xf9, 0xf7, 0x66, 0xfe, + 0x31, 0x68, 0x18, 0x4a, 0x41, 0x18, 0x12, 0x68, + 0xe8, 0x0b, 0x00, 0x2a, 0x3c, 0x00, 0x28, 0xe6, + 0x00, 0x00, 0x00, 0xd1, 0xa8, 0x0a, 0x40, 0x18, + 0x85, 0x42, 0x1f, 0xd9, 0x14, 0x4f, 0x2d, 0x1a, + 0x38, 0x1c, 0x20, 0x30, 0x81, 0x79, 0x00, 0xab, + 0x19, 0x70, 0xc0, 0x79, 0x58, 0x70, 0x05, 0xf0, + 0x6e, 0xf8, 0x00, 0x28, 0x03, 0xd1, 0x02, 0x21, + 0x8f, 0x20, 0xf2, 0xf7, 0x28, 0xfe, 0x29, 0x1c, + 0x0c, 0x48, 0xf2, 0x68, 0xf8, 0xf7, 0x09, 0xfc, + 0x00, 0x28, 0x04, 0xd0, 0x01, 0x1c, 0x3c, 0x00, + 0x64, 0xe6, 0x00, 0x00, 0x28, 0x1c, 0xff, 0xf7, + 0xa5, 0xff, 0x01, 0x24, 0x00, 0xab, 0x18, 0x88, + 0xf8, 0x84, 0x05, 0xf0, 0x47, 0xf8, 0x20, 0x1c, + 0xf8, 0xbd, 0x00, 0x00, 0xd0, 0x60, 0x01, 0x00, + 0xf4, 0x74, 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x89, 0x13, 0x01, 0x00, 0x01, 0x49, 0x01, 0x20, + 0xc8, 0x60, 0x70, 0x47, 0xd0, 0x60, 0x01, 0x00, + 0x06, 0x48, 0x80, 0xb5, 0x00, 0x68, 0x01, 0x28, + 0x3c, 0x00, 0xa0, 0xe6, 0x00, 0x00, 0x07, 0xd1, + 0x04, 0x48, 0xac, 0x38, 0x01, 0x69, 0x03, 0x48, + 0x00, 0xf0, 0x79, 0xfe, 0xf3, 0xf7, 0x2b, 0xfa, + 0x80, 0xbd, 0x98, 0x66, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0x80, 0xb5, 0x42, 0x78, 0x81, 0x68, + 0x00, 0x79, 0x03, 0xf0, 0xde, 0xff, 0x00, 0x28, + 0x01, 0xd1, 0xf5, 0xf7, 0xb6, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0x1f, 0xb5, 0x04, 0xf0, 0x69, 0xfb, + 0xf6, 0xf7, 0x3c, 0x00, 0xdc, 0xe6, 0x00, 0x00, + 0x91, 0xff, 0x16, 0x4c, 0x02, 0x28, 0x03, 0xd1, + 0xff, 0xf7, 0xdc, 0xfd, 0x04, 0x28, 0x02, 0xd3, + 0x00, 0x20, 0x20, 0x70, 0x1f, 0xbd, 0xfb, 0xf7, + 0xf7, 0xfc, 0x00, 0x28, 0xfa, 0xd1, 0x60, 0x6a, + 0x00, 0x28, 0xf7, 0xd0, 0x20, 0x78, 0x80, 0x07, + 0xf4, 0xd4, 0x09, 0x21, 0x16, 0x20, 0x04, 0xf0, + 0x93, 0xff, 0x01, 0x20, 0x20, 0x70, 0x0b, 0x4c, + 0x09, 0x49, 0x02, 0x90, 0x3c, 0x00, 0x18, 0xe7, + 0x00, 0x00, 0x01, 0x94, 0x00, 0x91, 0x04, 0xf0, + 0x46, 0xfb, 0x00, 0x19, 0x03, 0x90, 0x68, 0x46, + 0xfd, 0xf7, 0xb5, 0xfb, 0x00, 0x22, 0x16, 0x21, + 0x84, 0x20, 0x05, 0xf0, 0x3e, 0xf8, 0xdc, 0xe7, + 0x00, 0x00, 0x60, 0x6c, 0x01, 0x00, 0x61, 0xed, + 0x00, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x23, 0x48, + 0x70, 0xb5, 0x80, 0x78, 0x9c, 0xb0, 0x01, 0x28, + 0x3e, 0xd1, 0x20, 0x4c, 0x09, 0xa8, 0x3c, 0x00, + 0x54, 0xe7, 0x00, 0x00, 0x80, 0x3c, 0x61, 0x1c, + 0xfe, 0xf7, 0x92, 0xfe, 0x04, 0x20, 0x11, 0xad, + 0x68, 0x72, 0xa0, 0x6f, 0x19, 0xa9, 0x18, 0x90, + 0x7c, 0x20, 0x00, 0x5d, 0x01, 0x26, 0x08, 0x71, + 0x1d, 0x20, 0x00, 0x5d, 0x00, 0x28, 0x06, 0xd0, + 0x10, 0x96, 0x12, 0x96, 0xfc, 0xf7, 0xf6, 0xfa, + 0x28, 0x72, 0x20, 0x7a, 0x11, 0x90, 0xf3, 0xf7, + 0xcd, 0xff, 0x6a, 0x21, 0x08, 0x53, 0x40, 0x34, + 0x3c, 0x00, 0x90, 0xe7, 0x00, 0x00, 0x00, 0x22, + 0x01, 0xa9, 0x06, 0xa8, 0xf6, 0xf7, 0xcd, 0xff, + 0x21, 0x1c, 0x00, 0x20, 0xfb, 0xf7, 0xcb, 0xfb, + 0x06, 0xa9, 0xfb, 0xf7, 0xc8, 0xfb, 0x01, 0xa9, + 0xfb, 0xf7, 0xc5, 0xfb, 0x0a, 0x49, 0x09, 0x68, + 0x00, 0x29, 0x07, 0xd0, 0x33, 0x1c, 0x0a, 0x22, + 0x69, 0x46, 0xfb, 0xf7, 0xda, 0xfb, 0x00, 0x9a, + 0x07, 0x21, 0x91, 0x70, 0x0c, 0x90, 0x09, 0xa8, + 0xfe, 0xf7, 0x3c, 0x00, 0xcc, 0xe7, 0x00, 0x00, + 0x7b, 0xfe, 0x1c, 0xb0, 0x70, 0xbd, 0x00, 0x00, + 0x84, 0x66, 0x01, 0x00, 0xe4, 0x62, 0x01, 0x00, + 0xf8, 0xb5, 0x04, 0x1c, 0xc0, 0x68, 0xff, 0x22, + 0x01, 0x68, 0x12, 0x02, 0x0e, 0x1c, 0x08, 0x7b, + 0x49, 0x7b, 0x09, 0x02, 0x11, 0x40, 0x08, 0x43, + 0x05, 0x1c, 0x31, 0x1c, 0x06, 0x22, 0xa0, 0x18, + 0xf1, 0xf7, 0x7c, 0xfe, 0x06, 0x22, 0xb1, 0x18, + 0x20, 0x1c, 0xf1, 0xf7, 0x3c, 0x00, 0x08, 0xe8, + 0x00, 0x00, 0x77, 0xfe, 0x28, 0x0a, 0x29, 0x02, + 0x08, 0x43, 0x00, 0x04, 0x03, 0x21, 0x49, 0x02, + 0x00, 0x0c, 0x88, 0x42, 0x08, 0xd2, 0xe0, 0x68, + 0x01, 0x89, 0x0e, 0x39, 0x01, 0x81, 0xe0, 0x68, + 0x01, 0x68, 0x0e, 0x31, 0x01, 0x60, 0xf8, 0xbd, + 0x00, 0x26, 0x20, 0x1c, 0x10, 0x30, 0x03, 0xf0, + 0xe8, 0xfa, 0x21, 0x8b, 0x00, 0x29, 0x05, 0xd1, + 0xe1, 0x7d, 0x00, 0x29, 0x0b, 0xd0, 0x3c, 0x00, + 0x44, 0xe8, 0x00, 0x00, 0x80, 0x69, 0x80, 0x07, + 0x08, 0xd4, 0xe0, 0x68, 0x01, 0x26, 0x01, 0x89, + 0x02, 0x39, 0x01, 0x81, 0xe0, 0x68, 0x01, 0x68, + 0x02, 0x31, 0x06, 0xe0, 0xe0, 0x68, 0x01, 0x89, + 0x06, 0x39, 0x01, 0x81, 0xe0, 0x68, 0x01, 0x68, + 0x06, 0x31, 0x01, 0x60, 0x14, 0x49, 0x00, 0x20, + 0x0b, 0x1f, 0x42, 0x00, 0x9a, 0x5a, 0xaa, 0x42, + 0x02, 0xd1, 0x11, 0x49, 0x06, 0x31, 0x02, 0xe0, + 0x3c, 0x00, 0x80, 0xe8, 0x00, 0x00, 0x01, 0x30, + 0x02, 0x28, 0xf5, 0xd3, 0xe0, 0x68, 0x06, 0x22, + 0x00, 0x68, 0xf1, 0xf7, 0x34, 0xfe, 0x01, 0x2e, + 0xcb, 0xd1, 0x81, 0x20, 0x00, 0xab, 0x18, 0x80, + 0xe1, 0x7d, 0x20, 0x8b, 0x49, 0x03, 0x08, 0x43, + 0x31, 0x03, 0x08, 0x43, 0x00, 0x04, 0x00, 0x0c, + 0x01, 0x0a, 0x00, 0x02, 0x08, 0x43, 0x58, 0x80, + 0xe0, 0x68, 0x19, 0x88, 0x00, 0x68, 0xc1, 0x80, + 0x59, 0x88, 0x3c, 0x00, 0xbc, 0xe8, 0x00, 0x00, + 0x01, 0x81, 0xb5, 0xe7, 0x6a, 0x46, 0x01, 0x00, + 0xb0, 0xb5, 0x0d, 0x1c, 0x01, 0x89, 0x06, 0x22, + 0x08, 0x31, 0x01, 0x81, 0x04, 0x68, 0x04, 0x49, + 0x08, 0x3c, 0x04, 0x60, 0x20, 0x1c, 0xf1, 0xf7, + 0x0d, 0xfe, 0xe5, 0x80, 0xb0, 0xbd, 0x00, 0x00, + 0x6a, 0x46, 0x01, 0x00, 0xf8, 0xb5, 0x00, 0x29, + 0x01, 0xd0, 0x00, 0x28, 0x01, 0xd1, 0x00, 0x20, + 0xf8, 0xbd, 0x09, 0x04, 0x3c, 0x00, 0xf8, 0xe8, + 0x00, 0x00, 0x09, 0x0c, 0xf2, 0xf7, 0x43, 0xff, + 0x06, 0x1c, 0x05, 0x1c, 0x00, 0x27, 0x20, 0xe0, + 0x2c, 0x89, 0x29, 0x68, 0x02, 0x2c, 0x01, 0xd2, + 0x02, 0x20, 0x01, 0xe0, 0x48, 0x78, 0x02, 0x30, + 0x84, 0x42, 0x02, 0xdd, 0x24, 0x1a, 0x09, 0x18, + 0xf4, 0xe7, 0x84, 0x42, 0x10, 0xd0, 0x01, 0x1b, + 0x0a, 0x04, 0x01, 0x04, 0x09, 0x0c, 0x12, 0x0c, + 0x28, 0x1c, 0xf2, 0xf7, 0x9e, 0xfe, 0x3c, 0x00, + 0x34, 0xe9, 0x00, 0x00, 0x00, 0x28, 0x06, 0xd1, + 0xe8, 0x68, 0xf2, 0xf7, 0x2d, 0xfe, 0xef, 0x60, + 0x28, 0x89, 0x00, 0x1b, 0x28, 0x81, 0xed, 0x68, + 0x00, 0x2d, 0xdc, 0xd1, 0x30, 0x1c, 0xd1, 0xe7, + 0xf8, 0xb5, 0x85, 0x68, 0x04, 0x1c, 0x80, 0x69, + 0x2e, 0x1c, 0x00, 0x28, 0x0d, 0xd0, 0x71, 0x68, + 0xf2, 0xf7, 0xf6, 0xfd, 0xa0, 0x69, 0xf2, 0xf7, + 0x17, 0xfe, 0x06, 0xe0, 0x00, 0x21, 0xc1, 0x60, + 0x3c, 0x00, 0x70, 0xe9, 0x00, 0x00, 0xf1, 0x60, + 0xa0, 0x8d, 0x36, 0x68, 0x01, 0x38, 0xa0, 0x85, + 0xf0, 0x68, 0x00, 0x28, 0xf5, 0xd1, 0x30, 0x68, + 0xa0, 0x60, 0xa0, 0x8d, 0x01, 0x38, 0x00, 0x04, + 0x00, 0x0c, 0xa0, 0x85, 0x02, 0xd0, 0x20, 0x1c, + 0xf9, 0xf7, 0x39, 0xf8, 0x2a, 0x4f, 0x2a, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x03, 0xd0, 0x06, 0x21, + 0x68, 0x68, 0xfa, 0xf7, 0x7c, 0xfd, 0x68, 0x68, + 0x00, 0x68, 0x3c, 0x00, 0xac, 0xe9, 0x00, 0x00, + 0x81, 0x78, 0x00, 0x29, 0x2b, 0xd1, 0xc1, 0x78, + 0x00, 0x29, 0x30, 0xd1, 0x21, 0x8e, 0x01, 0x39, + 0x21, 0x86, 0xfb, 0xf7, 0x15, 0xf8, 0xa1, 0x6a, + 0x08, 0x1a, 0xa0, 0x62, 0xe1, 0x69, 0x88, 0x42, + 0x03, 0xd9, 0x04, 0x21, 0x02, 0x20, 0xf2, 0xf7, + 0x67, 0xfc, 0xb8, 0x68, 0x00, 0x28, 0x1e, 0xd0, + 0x1a, 0x49, 0x20, 0x8e, 0x49, 0x68, 0x0c, 0x22, + 0x52, 0x1a, 0x90, 0x42, 0x3c, 0x00, 0xe8, 0xe9, + 0x00, 0x00, 0x08, 0xd3, 0x19, 0x23, 0x9b, 0x01, + 0xaf, 0x22, 0x92, 0x01, 0x59, 0x43, 0xa0, 0x6a, + 0x51, 0x1a, 0x88, 0x42, 0x0e, 0xd2, 0x00, 0x21, + 0x0c, 0x20, 0x03, 0xf0, 0xac, 0xfc, 0x00, 0x20, + 0xb8, 0x60, 0x07, 0xe0, 0x01, 0x29, 0x05, 0xd1, + 0xc0, 0x78, 0x17, 0x28, 0x02, 0xd1, 0xa0, 0x8e, + 0x01, 0x38, 0xa0, 0x86, 0x2a, 0x1d, 0x06, 0xca, + 0xe0, 0x68, 0x63, 0x69, 0xf1, 0xf7, 0x3c, 0x00, + 0x24, 0xea, 0x00, 0x00, 0xdc, 0xfc, 0xb5, 0x42, + 0x01, 0xd0, 0x2d, 0x68, 0xb4, 0xe7, 0xa0, 0x8d, + 0x00, 0x28, 0x03, 0xd1, 0x05, 0x48, 0xb9, 0x69, + 0x00, 0xf0, 0x9e, 0xfc, 0xf8, 0xbd, 0x00, 0x00, + 0xfc, 0x5a, 0x01, 0x00, 0xcc, 0x5c, 0x01, 0x00, + 0x18, 0x57, 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, + 0x89, 0x07, 0x07, 0x4b, 0xca, 0x0f, 0x80, 0xb5, + 0x19, 0x7c, 0x00, 0x29, 0x06, 0xd0, 0x81, 0x43, + 0x3c, 0x00, 0x60, 0xea, 0x00, 0x00, 0x19, 0x74, + 0x03, 0xd1, 0x07, 0x21, 0x15, 0x20, 0x04, 0xf0, + 0xa2, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x1c, 0x01, 0x20, + 0xff, 0xf7, 0xe9, 0xff, 0x80, 0xbd, 0x80, 0xb5, + 0x01, 0x1c, 0x02, 0x20, 0xff, 0xf7, 0xe3, 0xff, + 0x80, 0xbd, 0xb0, 0xb5, 0x1b, 0x4c, 0x60, 0x68, + 0xfc, 0xf7, 0x2f, 0xff, 0x20, 0x68, 0x00, 0x25, + 0x40, 0x68, 0x3c, 0x00, 0x9c, 0xea, 0x00, 0x00, + 0x00, 0x28, 0x03, 0xd0, 0xfd, 0xf7, 0x18, 0xfc, + 0x20, 0x68, 0x45, 0x60, 0x60, 0x68, 0xfc, 0xf7, + 0xc5, 0xfe, 0x14, 0x48, 0x61, 0x68, 0x00, 0xf0, + 0x61, 0xfc, 0xa0, 0x7a, 0x01, 0x28, 0x05, 0xd0, + 0x02, 0x28, 0x03, 0xd0, 0x20, 0x68, 0x00, 0x68, + 0x00, 0xf0, 0xde, 0xf8, 0x01, 0x21, 0x1f, 0x20, + 0x04, 0xf0, 0xb2, 0xfd, 0x00, 0x21, 0x1f, 0x20, + 0x04, 0xf0, 0xae, 0xfd, 0x3c, 0x00, 0xd8, 0xea, + 0x00, 0x00, 0x02, 0x21, 0x1f, 0x20, 0x04, 0xf0, + 0xaa, 0xfd, 0xa5, 0x72, 0x21, 0x68, 0x2c, 0x20, + 0x40, 0x5c, 0x89, 0x68, 0xf1, 0xf7, 0x76, 0xfc, + 0x60, 0x68, 0xfc, 0xf7, 0xe4, 0xfe, 0x20, 0x68, + 0x05, 0x62, 0xb0, 0xbd, 0x00, 0x00, 0x14, 0x7a, + 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, 0x04, 0x49, + 0x0a, 0x68, 0xc8, 0x68, 0x92, 0x6a, 0x00, 0x2a, + 0x01, 0xd0, 0x09, 0x69, 0x08, 0x18, 0x3c, 0x00, + 0x14, 0xeb, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x14, 0x7a, 0x01, 0x00, 0xb0, 0xb5, 0x13, 0x4c, + 0x05, 0x1c, 0xa0, 0x7a, 0x01, 0x38, 0x02, 0x28, + 0x19, 0xd8, 0x01, 0x21, 0x1f, 0x20, 0x04, 0xf0, + 0x81, 0xfd, 0x20, 0x68, 0xfc, 0x23, 0x01, 0x1c, + 0x20, 0x30, 0x02, 0x7b, 0x1a, 0x40, 0x02, 0x73, + 0x00, 0x2d, 0x0f, 0xd0, 0x01, 0x23, 0x1a, 0x43, + 0x02, 0x73, 0xa0, 0x7a, 0x03, 0x28, 0x07, 0xd1, + 0x3c, 0x00, 0x50, 0xeb, 0x00, 0x00, 0x01, 0x20, + 0x01, 0xf0, 0xe7, 0xfd, 0x00, 0x28, 0x01, 0xd1, + 0xff, 0xf7, 0x97, 0xff, 0xb0, 0xbd, 0x4b, 0x62, + 0xb0, 0xbd, 0x02, 0x21, 0x11, 0x43, 0x01, 0x73, + 0xf6, 0xe7, 0x14, 0x7a, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x0a, 0x30, 0xf6, 0xf7, 0x43, 0xfe, + 0x00, 0x28, 0x0c, 0xd0, 0x22, 0x88, 0x0a, 0x49, + 0x0b, 0x7a, 0x90, 0x04, 0xc0, 0x0f, 0x00, 0x2b, + 0x06, 0xd1, 0x3c, 0x00, 0x8c, 0xeb, 0x00, 0x00, + 0x12, 0x06, 0x92, 0x0e, 0x20, 0x2a, 0x00, 0xd1, + 0x01, 0x20, 0xc8, 0x60, 0x10, 0xbd, 0x00, 0x28, + 0xfc, 0xd1, 0x00, 0x22, 0x24, 0x21, 0x80, 0x20, + 0x04, 0xf0, 0x04, 0xfe, 0x10, 0xbd, 0x00, 0x00, + 0x04, 0x7a, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x1c, + 0x1f, 0x21, 0x80, 0x20, 0x04, 0xf0, 0xfa, 0xfd, + 0x80, 0xbd, 0x00, 0x00, 0xf8, 0xb5, 0x1d, 0x4e, + 0x04, 0x1c, 0x30, 0x68, 0x3c, 0x00, 0xc8, 0xeb, + 0x00, 0x00, 0x1d, 0x1c, 0x47, 0x68, 0x20, 0x1c, + 0xf1, 0xf7, 0x0a, 0xfc, 0xfb, 0xf7, 0x87, 0xfa, + 0x00, 0x28, 0x04, 0xd0, 0x28, 0x1c, 0xf2, 0xf7, + 0x2a, 0xfb, 0x00, 0x28, 0x28, 0xd1, 0x20, 0x88, + 0x40, 0x05, 0x25, 0xd4, 0x30, 0x68, 0x00, 0x68, + 0xfe, 0xf7, 0x59, 0xf9, 0x00, 0x28, 0x03, 0xd1, + 0xfd, 0xf7, 0x89, 0xfa, 0xf1, 0xf7, 0xed, 0xfb, + 0x30, 0x68, 0x00, 0x25, 0x40, 0x68, 0x3c, 0x00, + 0x04, 0xec, 0x00, 0x00, 0x00, 0x28, 0x03, 0xd0, + 0xfd, 0xf7, 0x64, 0xfb, 0x30, 0x68, 0x45, 0x60, + 0x20, 0x88, 0x00, 0x09, 0x00, 0x07, 0x03, 0xd1, + 0x04, 0xf0, 0xc8, 0xf8, 0x61, 0x88, 0x45, 0x18, + 0x30, 0x68, 0x45, 0x61, 0x81, 0x6a, 0x01, 0x31, + 0x81, 0x62, 0x20, 0x88, 0x80, 0x04, 0xc1, 0x0f, + 0x02, 0x48, 0xf8, 0xf7, 0xcd, 0xff, 0xf8, 0xbd, + 0x14, 0x7a, 0x01, 0x00, 0xb1, 0xeb, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xec, 0x00, 0x00, 0xb0, 0xb5, + 0x0e, 0x4c, 0x05, 0x1c, 0x60, 0x68, 0xfc, 0xf7, + 0xf6, 0xfd, 0x0c, 0x48, 0x61, 0x68, 0x00, 0xf0, + 0x92, 0xfb, 0x00, 0x21, 0x24, 0x20, 0x04, 0xf0, + 0xec, 0xfc, 0x00, 0x22, 0xd2, 0x43, 0x80, 0x21, + 0x24, 0x20, 0x04, 0xf0, 0xb8, 0xfc, 0x00, 0x20, + 0xe0, 0x60, 0x20, 0x72, 0x20, 0x68, 0x01, 0x68, + 0x28, 0x06, 0x00, 0x0e, 0xf1, 0xf7, 0xb0, 0xfb, + 0xb0, 0xbd, 0x3c, 0x00, 0x7c, 0xec, 0x00, 0x00, + 0x04, 0x7a, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0xc0, 0x68, 0xf2, 0xf7, + 0x85, 0xfc, 0x20, 0x1c, 0xf2, 0xf7, 0xb0, 0xfd, + 0x10, 0xbd, 0x00, 0x00, 0x70, 0xb5, 0x1c, 0x4e, + 0x05, 0x1c, 0xb0, 0x7a, 0x2c, 0x1c, 0x40, 0x34, + 0x02, 0x28, 0x26, 0xd1, 0xa0, 0x8b, 0x31, 0x89, + 0x88, 0x42, 0x22, 0xd1, 0x30, 0x68, 0x41, 0x6a, + 0x00, 0x29, 0x08, 0xd0, 0x3c, 0x00, 0xb8, 0xec, + 0x00, 0x00, 0x20, 0x30, 0x00, 0x7b, 0xc0, 0x07, + 0x04, 0xd5, 0x01, 0x20, 0x01, 0xf0, 0x2f, 0xfd, + 0x00, 0x28, 0x18, 0xd1, 0x60, 0x78, 0x00, 0x28, + 0x09, 0xd1, 0x30, 0x68, 0x02, 0x23, 0x20, 0x30, + 0x02, 0x7b, 0x0d, 0x49, 0x52, 0x08, 0x52, 0x00, + 0x1a, 0x43, 0x02, 0x73, 0x01, 0xe0, 0xff, 0x21, + 0xf5, 0x31, 0x01, 0x22, 0x1f, 0x20, 0x04, 0xf0, + 0x6e, 0xfc, 0x03, 0x20, 0xb0, 0x72, 0x3c, 0x00, + 0xf4, 0xec, 0x00, 0x00, 0x02, 0xe0, 0x28, 0x1c, + 0xff, 0xf7, 0xc4, 0xff, 0x60, 0x78, 0x00, 0x28, + 0x03, 0xd1, 0x29, 0x1c, 0x01, 0x20, 0x03, 0xf0, + 0x29, 0xfb, 0x70, 0xbd, 0x14, 0x7a, 0x01, 0x00, + 0x50, 0xc3, 0x00, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x60, 0x34, 0xe0, 0x79, 0x0e, 0x4d, 0x00, 0x28, + 0x0a, 0xd1, 0x02, 0x20, 0xa8, 0x72, 0x28, 0x68, + 0x40, 0x68, 0x00, 0x28, 0x04, 0xd1, 0x0b, 0x48, + 0x3c, 0x00, 0x30, 0xed, 0x00, 0x00, 0xfd, 0xf7, + 0xd0, 0xfa, 0x29, 0x68, 0x48, 0x60, 0x04, 0xf0, + 0x38, 0xf8, 0x29, 0x68, 0xc8, 0x61, 0xff, 0xf7, + 0xe0, 0xfe, 0x29, 0x68, 0x09, 0x69, 0x08, 0x1a, + 0x03, 0xf0, 0x6f, 0xff, 0x00, 0x28, 0x01, 0xd0, + 0xe0, 0x79, 0xa0, 0x71, 0xb0, 0xbd, 0x14, 0x7a, + 0x01, 0x00, 0xc1, 0xeb, 0x00, 0x00, 0xf8, 0xb5, + 0x04, 0x1c, 0x00, 0x26, 0x04, 0xf0, 0x21, 0xf8, + 0x05, 0x1c, 0x3c, 0x00, 0x6c, 0xed, 0x00, 0x00, + 0x22, 0x48, 0x00, 0x27, 0x07, 0x70, 0xa1, 0x07, + 0x04, 0xd0, 0xe1, 0x07, 0xc9, 0x0f, 0x01, 0x62, + 0xc5, 0x61, 0x01, 0x26, 0x41, 0x6b, 0x00, 0x29, + 0x34, 0xd1, 0x00, 0x2e, 0x32, 0xd0, 0x06, 0x1c, + 0xf9, 0xf7, 0x44, 0xff, 0x31, 0x6b, 0x1a, 0x4b, + 0x41, 0x1a, 0xa2, 0x07, 0x12, 0xd5, 0xda, 0x68, + 0x00, 0x2a, 0x08, 0xdd, 0x91, 0x42, 0x1a, 0x68, + 0x02, 0xda, 0x14, 0x09, 0x3c, 0x00, 0xa8, 0xed, + 0x00, 0x00, 0xa2, 0x18, 0x06, 0xe0, 0x14, 0x09, + 0x12, 0x1b, 0x03, 0xe0, 0x0a, 0x43, 0x02, 0xd1, + 0x1a, 0x68, 0x52, 0x00, 0x1a, 0x60, 0xb7, 0x63, + 0x0a, 0xe0, 0xb2, 0x6b, 0x01, 0x32, 0xb2, 0x63, + 0x02, 0x2a, 0x1a, 0x68, 0x01, 0xdd, 0x94, 0x08, + 0x00, 0xe0, 0x14, 0x09, 0x12, 0x1b, 0x1a, 0x60, + 0xd9, 0x60, 0x30, 0x63, 0xf5, 0x62, 0x18, 0x68, + 0x08, 0x49, 0x88, 0x42, 0x01, 0xd9, 0x3c, 0x00, + 0xe4, 0xed, 0x00, 0x00, 0x19, 0x60, 0x03, 0xe0, + 0x64, 0x28, 0x01, 0xd2, 0x64, 0x20, 0x18, 0x60, + 0xf5, 0xf7, 0xfc, 0xfd, 0xf8, 0xbd, 0x00, 0x00, + 0x60, 0x6c, 0x01, 0x00, 0xb0, 0x57, 0x01, 0x00, + 0x20, 0xa1, 0x07, 0x00, 0xfe, 0xb5, 0x04, 0x1c, + 0x00, 0x20, 0x50, 0x4d, 0x00, 0x21, 0x68, 0x61, + 0x20, 0x69, 0xfb, 0xf7, 0xb3, 0xfc, 0x07, 0x1c, + 0x20, 0x69, 0x03, 0x21, 0xfb, 0xf7, 0xae, 0xfc, + 0x3c, 0x00, 0x20, 0xee, 0x00, 0x00, 0x00, 0x28, + 0x03, 0xd0, 0x80, 0x78, 0x29, 0x78, 0x88, 0x42, + 0x63, 0xd1, 0x47, 0x4d, 0x20, 0x1c, 0x14, 0x30, + 0x39, 0x1c, 0x06, 0x1c, 0x2a, 0x78, 0x02, 0xf0, + 0x5a, 0xfa, 0x00, 0x28, 0x59, 0xd1, 0xe0, 0x68, + 0x05, 0x68, 0x41, 0x48, 0x01, 0x95, 0x58, 0x30, + 0x02, 0x90, 0xfb, 0xf7, 0x6a, 0xff, 0x3e, 0x4d, + 0x19, 0x35, 0x00, 0x28, 0x0b, 0xd0, 0x28, 0x1c, + 0xfb, 0xf7, 0x3c, 0x00, 0x5c, 0xee, 0x00, 0x00, + 0x55, 0xff, 0x00, 0x28, 0x1e, 0xd1, 0x31, 0x1c, + 0x28, 0x1c, 0xfb, 0xf7, 0x65, 0xff, 0x00, 0x28, + 0x42, 0xd0, 0x17, 0xe0, 0x28, 0x1c, 0xfb, 0xf7, + 0x49, 0xff, 0x00, 0x28, 0x06, 0xd0, 0x39, 0x1c, + 0x02, 0x98, 0xfb, 0xf7, 0x63, 0xff, 0x00, 0x28, + 0x36, 0xd0, 0x0b, 0xe0, 0x39, 0x1c, 0x02, 0x98, + 0xfb, 0xf7, 0x5c, 0xff, 0x00, 0x28, 0x2f, 0xd0, + 0x31, 0x1c, 0x28, 0x1c, 0x3c, 0x00, 0x98, 0xee, + 0x00, 0x00, 0xfb, 0xf7, 0x4c, 0xff, 0x00, 0x28, + 0x29, 0xd0, 0x30, 0x1c, 0xf6, 0xf7, 0xad, 0xfc, + 0x29, 0x4a, 0x18, 0x32, 0x11, 0x7c, 0x00, 0x29, + 0x04, 0xd0, 0x51, 0x6a, 0x00, 0x29, 0x01, 0xd0, + 0x00, 0x28, 0x1c, 0xd1, 0x90, 0x6a, 0x00, 0x28, + 0x3b, 0xd0, 0x13, 0x78, 0x01, 0x9d, 0x01, 0x21, + 0x6d, 0x89, 0x01, 0x20, 0x2b, 0x40, 0x9b, 0x07, + 0x11, 0xd0, 0xa3, 0x6b, 0x1e, 0x4e, 0x3c, 0x00, + 0xd4, 0xee, 0x00, 0x00, 0x1d, 0x1c, 0x7f, 0x35, + 0x98, 0x36, 0x00, 0x2d, 0x14, 0xd0, 0x55, 0x8a, + 0x00, 0x2d, 0x08, 0xd1, 0x55, 0x69, 0xab, 0x42, + 0x0f, 0xda, 0x00, 0x20, 0x17, 0x4d, 0x01, 0x23, + 0x6b, 0x61, 0x0a, 0xe0, 0x29, 0xe0, 0xf5, 0x78, + 0x02, 0x2d, 0x06, 0xd1, 0x14, 0x4f, 0x55, 0x69, + 0x3f, 0x68, 0xed, 0x19, 0xab, 0x42, 0x00, 0xda, + 0x00, 0x20, 0x23, 0x6c, 0x1d, 0x1c, 0x7f, 0x35, + 0x3c, 0x00, 0x10, 0xef, 0x00, 0x00, 0x10, 0xd0, + 0x55, 0x8a, 0x00, 0x2d, 0x03, 0xd1, 0x95, 0x69, + 0xab, 0x42, 0x0a, 0xd2, 0x08, 0xe0, 0xf5, 0x78, + 0x02, 0x2d, 0x06, 0xd1, 0x0b, 0x4e, 0x95, 0x69, + 0x36, 0x68, 0xad, 0x19, 0xab, 0x42, 0x00, 0xd2, + 0x00, 0x21, 0x08, 0x43, 0x08, 0xd0, 0x10, 0x6a, + 0x00, 0x28, 0x01, 0xd0, 0xf1, 0xf7, 0x4b, 0xfa, + 0x00, 0x21, 0x20, 0x1c, 0x01, 0xf0, 0xb9, 0xf9, + 0xfe, 0xbd, 0x3c, 0x00, 0x4c, 0xef, 0x00, 0x00, + 0xec, 0x65, 0x01, 0x00, 0xc4, 0x67, 0x01, 0x00, + 0xcc, 0x67, 0x01, 0x00, 0x3e, 0xb5, 0x05, 0x6a, + 0x04, 0x1c, 0xc0, 0x68, 0xf2, 0xf7, 0x34, 0xfb, + 0xe1, 0x69, 0xf2, 0xf7, 0x57, 0xfa, 0x20, 0x1c, + 0x40, 0x30, 0xc1, 0x8b, 0x04, 0x31, 0xc1, 0x83, + 0x2b, 0x69, 0x10, 0x49, 0x98, 0x79, 0x06, 0x28, + 0x0a, 0xd1, 0x98, 0x88, 0x01, 0x91, 0x02, 0x94, + 0x00, 0x90, 0x60, 0x69, 0x3c, 0x00, 0x88, 0xef, + 0x00, 0x00, 0x1b, 0x68, 0x01, 0x68, 0xe0, 0x68, + 0x03, 0x22, 0xc0, 0x68, 0x0a, 0xe0, 0x02, 0x28, + 0x0b, 0xd1, 0x10, 0x20, 0x00, 0x90, 0x01, 0x91, + 0x02, 0x94, 0xe0, 0x68, 0xa3, 0x69, 0xc0, 0x68, + 0x00, 0x22, 0x00, 0x21, 0xf7, 0xf7, 0x0f, 0xfb, + 0x3e, 0xbd, 0xf2, 0xf7, 0xa6, 0xf9, 0xfb, 0xe7, + 0x00, 0x00, 0xbd, 0xef, 0x00, 0x00, 0x80, 0xb5, + 0xd1, 0x68, 0x50, 0x69, 0xc9, 0x68, 0x3c, 0x00, + 0xc4, 0xef, 0x00, 0x00, 0xc1, 0x60, 0xd1, 0x68, + 0xc8, 0x60, 0x11, 0x1c, 0x40, 0x31, 0xcb, 0x8b, + 0x00, 0x89, 0x18, 0x18, 0xc8, 0x83, 0x10, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0xff, 0xf7, 0xbc, 0xff, + 0x80, 0xbd, 0x03, 0x48, 0xfb, 0xf7, 0xcc, 0xf8, + 0x00, 0x6a, 0xfe, 0xf7, 0xf5, 0xf9, 0x80, 0xbd, + 0xa0, 0x6a, 0x01, 0x00, 0xf8, 0xb5, 0x06, 0x1c, + 0x0a, 0x24, 0x30, 0x07, 0x01, 0x09, 0xa0, 0x07, + 0x3c, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x01, 0x43, + 0x0f, 0x1c, 0x0a, 0x4d, 0x2f, 0x60, 0x04, 0xf0, + 0xfa, 0xfe, 0xad, 0x68, 0x28, 0x01, 0x00, 0x0f, + 0xb0, 0x42, 0x05, 0xd0, 0x01, 0x3c, 0xf4, 0xd2, + 0x01, 0x21, 0x9b, 0x20, 0xf2, 0xf7, 0x41, 0xf9, + 0x28, 0x02, 0x00, 0x0a, 0x08, 0x2e, 0x01, 0xd1, + 0x31, 0x05, 0x08, 0x43, 0xf8, 0xbd, 0x60, 0x00, + 0x07, 0x00, 0x01, 0x22, 0xd2, 0x05, 0x80, 0xb5, + 0x00, 0x21, 0x3c, 0x00, 0x3c, 0xf0, 0x00, 0x00, + 0x04, 0x20, 0x04, 0xf0, 0xdd, 0xfc, 0x0f, 0x20, + 0xff, 0xf7, 0xd6, 0xff, 0x0f, 0x21, 0x09, 0x04, + 0x08, 0x40, 0x00, 0x0c, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x05, 0x48, 0xfd, 0xf7, 0x4a, 0xf9, + 0x04, 0x48, 0xfd, 0xf7, 0x7b, 0xf8, 0x04, 0x48, + 0xfd, 0xf7, 0x6c, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0x89, 0x34, 0x01, 0x00, 0xed, 0x24, 0x00, 0x00, + 0x11, 0x1c, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xf0, + 0x00, 0x00, 0x80, 0xb5, 0x02, 0x48, 0xf3, 0xf7, + 0x2a, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0xd1, 0x24, + 0x00, 0x00, 0x80, 0xb5, 0xf2, 0xf7, 0x53, 0xf9, + 0x80, 0xbd, 0x80, 0xb5, 0x00, 0x21, 0x00, 0x20, + 0x01, 0xf0, 0x51, 0xfe, 0x03, 0x20, 0x02, 0xf0, + 0x46, 0xff, 0x80, 0xbd, 0x00, 0x00, 0x06, 0x48, + 0x80, 0xb5, 0xc1, 0x69, 0x00, 0x29, 0x06, 0xd1, + 0x01, 0x6a, 0x00, 0x29, 0x03, 0xd1, 0x3c, 0x00, + 0xb4, 0xf0, 0x00, 0x00, 0x81, 0x6b, 0x03, 0x48, + 0x00, 0xf0, 0x5e, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0x34, 0x63, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x4c, 0x20, 0x6a, 0xfc, 0xf7, + 0xb3, 0xfb, 0x03, 0x48, 0x21, 0x6a, 0x00, 0xf0, + 0x4f, 0xf9, 0x10, 0xbd, 0x1c, 0x75, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x4c, + 0x20, 0x7c, 0x00, 0x28, 0x02, 0xd0, 0x01, 0x21, + 0x3c, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0xfd, 0xf7, + 0x86, 0xf9, 0x00, 0x25, 0x25, 0x70, 0xa0, 0x68, + 0x01, 0x28, 0x03, 0xd1, 0x00, 0x20, 0xa5, 0x60, + 0x01, 0xf0, 0x8f, 0xf8, 0xa0, 0x78, 0x01, 0x28, + 0x05, 0xd1, 0x03, 0x48, 0x98, 0x38, 0x00, 0x69, + 0xfc, 0xf7, 0xef, 0xfb, 0xa5, 0x70, 0xb0, 0xbd, + 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x21, 0x01, 0x20, 0x01, 0xf0, 0x09, 0xfe, + 0x80, 0xbd, 0x3c, 0x00, 0x2c, 0xf1, 0x00, 0x00, + 0x38, 0xb5, 0x69, 0x46, 0x00, 0x25, 0xf8, 0xf7, + 0xb7, 0xfe, 0x04, 0x1c, 0x01, 0xd1, 0x01, 0x20, + 0x38, 0xbd, 0xa0, 0x68, 0x00, 0x28, 0x04, 0xd0, + 0x00, 0x99, 0xa1, 0x31, 0x08, 0x20, 0x04, 0xf0, + 0x73, 0xfa, 0x1c, 0x21, 0x20, 0x1c, 0xf1, 0xf7, + 0xa3, 0xf9, 0x28, 0x1c, 0xf0, 0xe7, 0x00, 0x00, + 0xfe, 0xb5, 0x07, 0x1c, 0x4c, 0x23, 0x39, 0x49, + 0x58, 0x43, 0x44, 0x18, 0x3c, 0x00, 0x68, 0xf1, + 0x00, 0x00, 0x25, 0x1c, 0x40, 0x35, 0x28, 0x7a, + 0x37, 0x49, 0x48, 0x76, 0x21, 0x1c, 0x30, 0x31, + 0x02, 0x91, 0x0c, 0x23, 0xc8, 0x56, 0x42, 0x1c, + 0x0a, 0x73, 0x49, 0x7b, 0x88, 0x42, 0x46, 0xda, + 0x32, 0x48, 0x00, 0x78, 0x80, 0x07, 0x3e, 0xd5, + 0x00, 0x20, 0x01, 0x90, 0xf6, 0xf7, 0xaf, 0xfa, + 0x00, 0x28, 0x2e, 0xd0, 0xac, 0x21, 0x09, 0x58, + 0x00, 0x29, 0x01, 0xd0, 0xe4, 0x30, 0x3c, 0x00, + 0xa4, 0xf1, 0x00, 0x00, 0x00, 0xe0, 0xcc, 0x30, + 0x06, 0x1c, 0x40, 0x68, 0x00, 0x28, 0x25, 0xd0, + 0x02, 0x99, 0x08, 0x7b, 0x01, 0x28, 0x11, 0xd1, + 0x20, 0x1c, 0x2e, 0x30, 0x29, 0x78, 0xf6, 0xf7, + 0xed, 0xf9, 0x71, 0x68, 0x03, 0xe0, 0x72, 0x18, + 0x12, 0x7a, 0x82, 0x42, 0x03, 0xd9, 0xff, 0x31, + 0x09, 0x06, 0x09, 0x0e, 0xf7, 0xd1, 0xa9, 0x70, + 0x01, 0x20, 0x01, 0x90, 0x23, 0x1c, 0x3e, 0x33, + 0x3c, 0x00, 0xe0, 0xf1, 0x00, 0x00, 0x1a, 0x1d, + 0x30, 0x1c, 0x00, 0x97, 0x01, 0x99, 0xf8, 0xf7, + 0x58, 0xfa, 0x00, 0x28, 0x11, 0xd0, 0xa8, 0x78, + 0x80, 0x19, 0x00, 0x7a, 0x00, 0xe0, 0x00, 0x20, + 0x68, 0x70, 0x68, 0x78, 0x01, 0x21, 0xfb, 0xf7, + 0xe0, 0xfd, 0x60, 0x60, 0x38, 0x1c, 0x01, 0xf0, + 0x14, 0xfe, 0x38, 0x1c, 0x01, 0xf0, 0xa5, 0xfb, + 0xfe, 0xbd, 0x02, 0x99, 0x08, 0x7b, 0xff, 0x30, + 0x48, 0x73, 0x3c, 0x00, 0x1c, 0xf2, 0x00, 0x00, + 0x38, 0x1c, 0xfc, 0xf7, 0x19, 0xfc, 0x03, 0xf0, + 0xc3, 0xfd, 0x06, 0x1c, 0xfb, 0xf7, 0x8e, 0xfe, + 0x41, 0x00, 0x76, 0x18, 0x68, 0x78, 0x61, 0x68, + 0xfb, 0xf7, 0x6a, 0xfe, 0x31, 0x18, 0x20, 0x8d, + 0x3b, 0x1c, 0x05, 0x4a, 0x03, 0xf0, 0x12, 0xfe, + 0xe5, 0xe7, 0x00, 0x00, 0x58, 0xe3, 0x01, 0x00, + 0x30, 0x80, 0x07, 0x00, 0x1d, 0x75, 0x01, 0x00, + 0xd5, 0x4e, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xf2, + 0x00, 0x00, 0x03, 0x1c, 0x04, 0x48, 0x80, 0xb5, + 0x02, 0x79, 0x20, 0x30, 0x03, 0x49, 0x00, 0xf0, + 0x30, 0xf8, 0x80, 0xbd, 0x00, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0xc4, 0x67, 0x01, 0x00, 0x03, 0x1c, + 0x04, 0x48, 0x80, 0xb5, 0xc2, 0x78, 0x38, 0x30, + 0x03, 0x49, 0x00, 0xf0, 0x22, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0xac, 0x7c, 0x01, 0x00, 0xc8, 0x67, + 0x01, 0x00, 0x03, 0x1c, 0x04, 0x48, 0x3c, 0x00, + 0x94, 0xf2, 0x00, 0x00, 0x80, 0xb5, 0x82, 0x79, + 0x50, 0x30, 0x03, 0x49, 0x00, 0xf0, 0x14, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0xac, 0x7c, 0x01, 0x00, + 0xcc, 0x67, 0x01, 0x00, 0x03, 0x1c, 0x04, 0x48, + 0x80, 0xb5, 0x42, 0x79, 0x68, 0x30, 0x03, 0x49, + 0x00, 0xf0, 0x06, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0xac, 0x7c, 0x01, 0x00, 0xd0, 0x67, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x24, 0x84, 0x80, 0x0b, 0x60, + 0x3c, 0x00, 0xd0, 0xf2, 0x00, 0x00, 0x19, 0x1c, + 0x51, 0x43, 0x01, 0x60, 0x19, 0x06, 0x09, 0x16, + 0x10, 0x22, 0x06, 0x30, 0xf1, 0xf7, 0x9f, 0xf9, + 0x10, 0xbd, 0xb0, 0xb5, 0x06, 0x4d, 0x00, 0x24, + 0xac, 0x60, 0xec, 0x60, 0xec, 0x61, 0x2c, 0x62, + 0x02, 0xf0, 0xf1, 0xfc, 0x00, 0xf0, 0x0d, 0xf8, + 0xec, 0x62, 0x2c, 0x70, 0xb0, 0xbd, 0x44, 0x7d, + 0x01, 0x00, 0x80, 0xb5, 0x80, 0x21, 0x01, 0x48, + 0xf1, 0xf7, 0x3c, 0x00, 0x0c, 0xf3, 0x00, 0x00, + 0xc7, 0xf8, 0x80, 0xbd, 0x04, 0x66, 0x01, 0x00, + 0xf8, 0xb5, 0x07, 0x4f, 0x00, 0x24, 0x00, 0x26, + 0x18, 0x20, 0x60, 0x43, 0xc5, 0x19, 0xee, 0x60, + 0x03, 0xf0, 0x42, 0xfd, 0x10, 0x35, 0x01, 0x34, + 0x02, 0x2c, 0x41, 0xc5, 0xf4, 0xdb, 0xf8, 0xbd, + 0xb8, 0x7d, 0x01, 0x00, 0x00, 0x23, 0x03, 0x60, + 0x04, 0x4b, 0x00, 0x29, 0x00, 0xd1, 0x19, 0x1c, + 0x41, 0x60, 0x00, 0x2a, 0x3c, 0x00, 0x48, 0xf3, + 0x00, 0x00, 0x00, 0xd1, 0x1a, 0x1c, 0x82, 0x60, + 0x70, 0x47, 0xbd, 0x75, 0x00, 0x00, 0x10, 0xb5, + 0x07, 0x4c, 0x20, 0x68, 0x01, 0x30, 0x20, 0x60, + 0x20, 0x28, 0x03, 0xd9, 0x58, 0x21, 0x58, 0x20, + 0xf1, 0xf7, 0x9d, 0xff, 0x21, 0x68, 0x01, 0x20, + 0x01, 0x39, 0x88, 0x40, 0x10, 0xbd, 0x60, 0x5b, + 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, + 0x21, 0x68, 0x00, 0x20, 0x00, 0x29, 0x3c, 0x00, + 0x84, 0xf3, 0x00, 0x00, 0x0a, 0xd0, 0xa9, 0x43, + 0x21, 0x60, 0x07, 0xd1, 0xa0, 0x68, 0xf1, 0xf7, + 0x23, 0xf8, 0x00, 0x28, 0x02, 0xd1, 0x21, 0x68, + 0x29, 0x43, 0x21, 0x60, 0xb0, 0xbd, 0x00, 0x00, + 0xb0, 0xb5, 0x0d, 0x1c, 0x04, 0x1c, 0x21, 0x68, + 0x00, 0x20, 0x29, 0x43, 0x21, 0x60, 0xa9, 0x42, + 0x07, 0xd1, 0x60, 0x68, 0xf1, 0xf7, 0x10, 0xf8, + 0x00, 0x28, 0x02, 0xd1, 0x21, 0x68, 0xa9, 0x43, + 0x3c, 0x00, 0xc0, 0xf3, 0x00, 0x00, 0x21, 0x60, + 0xb0, 0xbd, 0x1a, 0x4b, 0xb0, 0xb5, 0x9a, 0x6a, + 0x00, 0x28, 0x0b, 0xd0, 0x00, 0x2a, 0x07, 0xdb, + 0xb8, 0x24, 0x24, 0x58, 0x01, 0x3c, 0xa4, 0x1a, + 0x00, 0x19, 0xb0, 0x30, 0x00, 0x7b, 0x02, 0xe0, + 0x0e, 0x20, 0x00, 0xe0, 0x0d, 0x20, 0x5d, 0x6a, + 0x12, 0x4c, 0x00, 0x2d, 0x01, 0xd0, 0x20, 0x78, + 0x00, 0xe0, 0x20, 0x5c, 0xff, 0x24, 0xa8, 0x34, + 0xc4, 0x40, 0x3c, 0x00, 0xfc, 0xf3, 0x00, 0x00, + 0x9c, 0x60, 0xf5, 0x24, 0xc4, 0x40, 0x9c, 0x61, + 0xfd, 0x24, 0xc4, 0x40, 0xdc, 0x61, 0xff, 0x24, + 0x29, 0x34, 0xc4, 0x40, 0x5c, 0x61, 0xff, 0x24, + 0x53, 0x34, 0xc4, 0x40, 0x00, 0x20, 0x0c, 0x33, + 0x11, 0xc3, 0x00, 0x29, 0x05, 0xd0, 0x00, 0x2a, + 0x03, 0xdc, 0x02, 0x21, 0x50, 0x42, 0x00, 0xf0, + 0x65, 0xfb, 0xb0, 0xbd, 0xac, 0x7e, 0x01, 0x00, + 0xb8, 0x52, 0x01, 0x00, 0x3c, 0x00, 0x38, 0xf4, + 0x00, 0x00, 0x10, 0xb5, 0x13, 0x4c, 0x13, 0x48, + 0x21, 0x1c, 0xff, 0x31, 0x69, 0x31, 0x0e, 0xc9, + 0x0e, 0xc0, 0x21, 0x1c, 0xff, 0x31, 0x24, 0x22, + 0x75, 0x31, 0x0f, 0x48, 0xf1, 0xf7, 0x51, 0xf8, + 0x21, 0x1c, 0xff, 0x31, 0x3c, 0x22, 0x99, 0x31, + 0x0d, 0x48, 0xf1, 0xf7, 0xa6, 0xf8, 0xfc, 0xf7, + 0xa2, 0xff, 0x21, 0x1c, 0xff, 0x31, 0x10, 0x22, + 0xd5, 0x31, 0x09, 0x48, 0xf1, 0xf7, 0x3c, 0x00, + 0x74, 0xf4, 0x00, 0x00, 0x41, 0xf8, 0x21, 0x1c, + 0xff, 0x31, 0x28, 0x22, 0xe5, 0x31, 0x07, 0x48, + 0xf1, 0xf7, 0x96, 0xf8, 0x10, 0xbd, 0x00, 0x00, + 0x40, 0x63, 0x01, 0x00, 0x00, 0x80, 0x07, 0x00, + 0x0c, 0x80, 0x07, 0x00, 0x30, 0x80, 0x07, 0x00, + 0x80, 0x80, 0x07, 0x00, 0xa0, 0x80, 0x07, 0x00, + 0xf8, 0xb5, 0x00, 0x28, 0x59, 0xd0, 0x04, 0xf0, + 0x4b, 0xf9, 0xf8, 0xf7, 0xb3, 0xfb, 0x00, 0x22, + 0x3c, 0x00, 0xb0, 0xf4, 0x00, 0x00, 0x01, 0x21, + 0x13, 0x20, 0x04, 0xf0, 0x7c, 0xf9, 0x2a, 0x49, + 0x29, 0x48, 0x49, 0x6c, 0x01, 0x60, 0x00, 0x21, + 0x29, 0x48, 0xc9, 0x43, 0x41, 0x60, 0x26, 0x4c, + 0x14, 0x34, 0x61, 0x6c, 0x81, 0x60, 0xa1, 0x6c, + 0xc1, 0x60, 0x00, 0x20, 0x25, 0x4d, 0x02, 0x26, + 0x01, 0x01, 0x6e, 0x50, 0x0a, 0x19, 0x4f, 0x19, + 0x50, 0x32, 0x04, 0x37, 0x0e, 0xca, 0x01, 0x30, + 0x08, 0x28, 0x3c, 0x00, 0xec, 0xf4, 0x00, 0x00, + 0x0e, 0xc7, 0xf4, 0xdb, 0x14, 0x22, 0x21, 0x1c, + 0xcc, 0x31, 0x1e, 0x48, 0xf1, 0xf7, 0x5a, 0xf8, + 0x1d, 0x48, 0x81, 0x78, 0x09, 0x09, 0x09, 0x01, + 0x81, 0x70, 0x00, 0x21, 0xc1, 0x70, 0x41, 0x70, + 0x21, 0x1c, 0xe0, 0x31, 0x0a, 0x78, 0x02, 0x70, + 0x49, 0x78, 0x41, 0x70, 0x21, 0x1c, 0xe8, 0x31, + 0x30, 0x22, 0x08, 0x30, 0xf1, 0xf7, 0x46, 0xf8, + 0x21, 0x1c, 0xff, 0x31, 0x3c, 0x00, 0x28, 0xf5, + 0x00, 0x00, 0x50, 0x22, 0x19, 0x31, 0x12, 0x48, + 0xf1, 0xf7, 0x3f, 0xf8, 0x83, 0x20, 0x80, 0x00, + 0x14, 0x22, 0x21, 0x18, 0x10, 0x48, 0xf1, 0xf7, + 0x38, 0xf8, 0x11, 0x20, 0x40, 0x01, 0x84, 0x22, + 0x21, 0x18, 0x0d, 0x48, 0xf1, 0xf7, 0x31, 0xf8, + 0xff, 0xf7, 0x73, 0xff, 0x20, 0x1c, 0xf1, 0xf7, + 0x28, 0xfd, 0xf8, 0xbd, 0xff, 0xf7, 0x6d, 0xff, + 0xfb, 0xe7, 0x08, 0x20, 0x07, 0x00, 0x3c, 0x00, + 0x64, 0xf5, 0x00, 0x00, 0x2c, 0x63, 0x01, 0x00, + 0x40, 0x20, 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x00, 0x40, 0x07, 0x00, 0x00, 0x50, 0x07, 0x00, + 0x00, 0x60, 0x07, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x00, 0x90, 0x07, 0x00, 0xf8, 0xb5, 0x05, 0x1c, + 0x18, 0x48, 0xc0, 0x68, 0x00, 0x28, 0x25, 0xd0, + 0x16, 0x4e, 0x01, 0x36, 0x74, 0x78, 0x30, 0x78, + 0x27, 0x1a, 0x79, 0x19, 0x20, 0x1c, 0xf1, 0xf7, + 0x3c, 0x00, 0xa0, 0xf5, 0x00, 0x00, 0x4b, 0xf8, + 0x00, 0x90, 0x29, 0x1c, 0x20, 0x1c, 0xf1, 0xf7, + 0xb2, 0xf8, 0xc1, 0x19, 0x20, 0x1c, 0xf1, 0xf7, + 0x42, 0xf8, 0x60, 0x1a, 0x30, 0x70, 0x70, 0x1e, + 0x80, 0x68, 0x00, 0x28, 0x0d, 0xd0, 0x53, 0x36, + 0xf4, 0x78, 0x00, 0x99, 0x20, 0x1c, 0xf1, 0xf7, + 0xa2, 0xf8, 0xb1, 0x78, 0x61, 0x1a, 0x41, 0x18, + 0x20, 0x1c, 0xf1, 0xf7, 0x9c, 0xf8, 0x60, 0x1a, + 0xb0, 0x70, 0x3c, 0x00, 0xdc, 0xf5, 0x00, 0x00, + 0x03, 0x48, 0x5c, 0x30, 0x01, 0x69, 0xc2, 0x68, + 0x69, 0x43, 0x51, 0x18, 0xc1, 0x60, 0xf8, 0xbd, + 0x44, 0x7d, 0x01, 0x00, 0xb0, 0xb5, 0x0c, 0x4d, + 0xe8, 0x68, 0x29, 0x69, 0x40, 0x18, 0x7d, 0x21, + 0x09, 0x01, 0x44, 0x18, 0x20, 0x1c, 0x03, 0xf0, + 0x0b, 0xfb, 0x00, 0x28, 0x0a, 0xd0, 0x03, 0xf0, + 0xcf, 0xfb, 0x01, 0x1b, 0x28, 0x69, 0xf1, 0xf7, + 0x7d, 0xf8, 0x01, 0x30, 0x3c, 0x00, 0x18, 0xf6, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x0c, 0xff, 0xf7, + 0xb2, 0xff, 0xb0, 0xbd, 0x00, 0x00, 0xa0, 0x7d, + 0x01, 0x00, 0x70, 0xb5, 0x10, 0x4c, 0x60, 0x68, + 0x80, 0x25, 0xa8, 0x43, 0x60, 0x60, 0x20, 0x68, + 0x28, 0x43, 0x20, 0x60, 0x0d, 0x4e, 0x30, 0x1c, + 0x10, 0x30, 0xf3, 0xf7, 0xc8, 0xfc, 0x00, 0x28, + 0x03, 0xd1, 0x07, 0x21, 0x85, 0x20, 0xf1, 0xf7, + 0x2a, 0xfe, 0x08, 0x48, 0x00, 0x21, 0x3c, 0x00, + 0x54, 0xf6, 0x00, 0x00, 0x80, 0x68, 0x41, 0x63, + 0xc0, 0x6c, 0x10, 0x30, 0x70, 0x61, 0x01, 0x20, + 0x30, 0x61, 0x20, 0x68, 0xa8, 0x43, 0x20, 0x60, + 0x70, 0xbd, 0x00, 0x00, 0xf4, 0x00, 0x07, 0x00, + 0x00, 0x30, 0x07, 0x00, 0x24, 0x7e, 0x01, 0x00, + 0x01, 0x1c, 0x00, 0x20, 0x05, 0x29, 0x80, 0xb5, + 0x09, 0xd2, 0x02, 0xa3, 0x5b, 0x5c, 0x5b, 0x00, + 0x9f, 0x44, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x3c, 0x00, 0x90, 0xf6, 0x00, 0x00, 0x03, 0x00, + 0xff, 0xf7, 0xcf, 0xfc, 0x80, 0xbd, 0x01, 0x22, + 0x92, 0x02, 0x80, 0xb5, 0x00, 0x21, 0x07, 0x20, + 0x04, 0xf0, 0xab, 0xf9, 0x80, 0xbd, 0x80, 0xb5, + 0x40, 0x22, 0x00, 0x21, 0x00, 0x20, 0x04, 0xf0, + 0xa4, 0xf9, 0x03, 0x22, 0x00, 0x21, 0x00, 0x20, + 0x04, 0xf0, 0x9f, 0xf9, 0x80, 0xbd, 0x70, 0xb5, + 0x0e, 0x1c, 0x05, 0x1c, 0x14, 0x1c, 0x08, 0x28, + 0x0e, 0xd1, 0x3c, 0x00, 0xcc, 0xf6, 0x00, 0x00, + 0x00, 0xf0, 0x00, 0xfc, 0x0e, 0x28, 0x01, 0xd1, + 0x14, 0x20, 0x00, 0xe0, 0x10, 0x20, 0xe1, 0x03, + 0x00, 0xd5, 0x01, 0x38, 0xc0, 0x06, 0x0a, 0x49, + 0xc0, 0x0e, 0x88, 0x71, 0x08, 0xe0, 0x09, 0x2d, + 0x06, 0xd1, 0xa0, 0x04, 0x01, 0xd5, 0x00, 0x20, + 0x00, 0xe0, 0x01, 0x20, 0xf3, 0xf7, 0xb0, 0xf9, + 0x34, 0x40, 0x21, 0x1c, 0x32, 0x1c, 0x28, 0x1c, + 0x04, 0xf0, 0x7a, 0xf9, 0x3c, 0x00, 0x08, 0xf7, + 0x00, 0x00, 0x70, 0xbd, 0x00, 0x00, 0x00, 0x80, + 0x07, 0x00, 0x70, 0xb5, 0x00, 0x24, 0x13, 0x29, + 0x11, 0xd8, 0x00, 0x28, 0x01, 0xd1, 0x08, 0x4e, + 0x08, 0x25, 0x01, 0x28, 0x01, 0xd1, 0x07, 0x4e, + 0x09, 0x25, 0x00, 0xf0, 0x78, 0xfa, 0x00, 0x28, + 0x05, 0xd0, 0x02, 0x1c, 0x31, 0x1c, 0x28, 0x1c, + 0xff, 0xf7, 0xc3, 0xff, 0x01, 0x24, 0x20, 0x1c, + 0x70, 0xbd, 0xf8, 0xff, 0x07, 0x00, 0x3c, 0x00, + 0x44, 0xf7, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x01, 0x22, 0xd2, 0x02, 0x80, 0xb5, 0x00, 0x21, + 0x07, 0x20, 0x04, 0xf0, 0x53, 0xf9, 0x80, 0xbd, + 0x0f, 0x22, 0x12, 0x04, 0x07, 0x21, 0x49, 0x04, + 0x80, 0xb5, 0x09, 0x20, 0x04, 0xf0, 0x4a, 0xf9, + 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0x00, 0x21, + 0x04, 0x20, 0x04, 0xf0, 0x1b, 0xfc, 0x40, 0x21, + 0x00, 0x20, 0x04, 0xf0, 0x17, 0xfc, 0x04, 0x49, + 0x3c, 0x00, 0x80, 0xf7, 0x00, 0x00, 0x00, 0x20, + 0x88, 0x60, 0x02, 0x48, 0x09, 0x69, 0x20, 0x30, + 0xff, 0xf7, 0x09, 0xfe, 0x80, 0xbd, 0x64, 0x73, + 0x01, 0x00, 0xb0, 0xb5, 0x60, 0x21, 0x00, 0x20, + 0x04, 0xf0, 0x07, 0xfc, 0x11, 0x4d, 0x00, 0x24, + 0x00, 0x22, 0x04, 0x20, 0x29, 0x5d, 0x04, 0xf0, + 0x28, 0xf9, 0x0c, 0x20, 0x03, 0xf0, 0x9b, 0xfb, + 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, 0x05, 0x2c, + 0xf2, 0xd3, 0x3c, 0x00, 0xbc, 0xf7, 0x00, 0x00, + 0x0f, 0x22, 0x00, 0x21, 0x0a, 0x20, 0x04, 0xf0, + 0x1b, 0xf9, 0x61, 0x21, 0x00, 0x20, 0x04, 0xf0, + 0xef, 0xfb, 0x06, 0x49, 0x01, 0x20, 0x88, 0x60, + 0x04, 0x48, 0x09, 0x69, 0x20, 0x30, 0xff, 0xf7, + 0xcd, 0xfd, 0xff, 0x20, 0x2d, 0x30, 0xb0, 0xbd, + 0xa8, 0x58, 0x01, 0x00, 0x64, 0x73, 0x01, 0x00, + 0xf8, 0xb5, 0x06, 0x1c, 0x12, 0x48, 0xc6, 0x70, + 0x01, 0x20, 0xff, 0xf7, 0x3c, 0x00, 0xf8, 0xf7, + 0x00, 0x00, 0xfd, 0xfb, 0x01, 0x27, 0xbf, 0x02, + 0x04, 0x1c, 0xb8, 0x43, 0x01, 0x1c, 0x01, 0x20, + 0x04, 0xf0, 0xd1, 0xfb, 0x03, 0x20, 0xff, 0xf7, + 0xf2, 0xfb, 0x05, 0x1c, 0xb8, 0x43, 0x01, 0x1c, + 0x03, 0x20, 0x04, 0xf0, 0xc8, 0xfb, 0x30, 0x1c, + 0x00, 0xf0, 0x9f, 0xf9, 0x00, 0xf0, 0x57, 0xf8, + 0x21, 0x1c, 0x01, 0x20, 0x04, 0xf0, 0xbf, 0xfb, + 0x29, 0x1c, 0x03, 0x20, 0x04, 0xf0, 0x3c, 0x00, + 0x34, 0xf8, 0x00, 0x00, 0xbb, 0xfb, 0x00, 0x20, + 0xf8, 0xbd, 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x22, 0x40, 0x21, 0x00, 0x20, + 0x04, 0xf0, 0xd8, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x01, 0x24, 0x09, 0x20, + 0xff, 0xf7, 0xcc, 0xfb, 0x0f, 0x21, 0x09, 0x04, + 0x88, 0x43, 0x03, 0x21, 0x89, 0x04, 0xe2, 0x04, + 0x05, 0x2d, 0x12, 0x4e, 0x20, 0xd2, 0x02, 0xa3, + 0x3c, 0x00, 0x70, 0xf8, 0x00, 0x00, 0x5b, 0x5d, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x06, 0x09, + 0x0c, 0x10, 0x03, 0x00, 0x03, 0x21, 0x09, 0x04, + 0x0c, 0xe0, 0x01, 0x21, 0x09, 0x04, 0x09, 0xe0, + 0x01, 0x21, 0x49, 0x04, 0x06, 0xe0, 0xf3, 0x68, + 0x04, 0x2b, 0x05, 0xd9, 0x02, 0xe0, 0xf3, 0x68, + 0x04, 0x2b, 0x01, 0xd8, 0x01, 0x43, 0x01, 0xe0, + 0x10, 0x43, 0x01, 0x1c, 0x09, 0x20, 0x04, 0xf0, + 0x80, 0xfb, 0x3c, 0x00, 0xac, 0xf8, 0x00, 0x00, + 0x20, 0x1c, 0x70, 0xbd, 0x00, 0x24, 0xfb, 0xe7, + 0x64, 0x73, 0x01, 0x00, 0x01, 0x21, 0xc9, 0x05, + 0x00, 0x28, 0x80, 0xb5, 0x02, 0xd0, 0x0a, 0x1c, + 0x00, 0x21, 0x00, 0xe0, 0x00, 0x22, 0x04, 0x20, + 0x04, 0xf0, 0x96, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0xf0, 0xb5, 0x91, 0xb0, 0x00, 0x26, 0x40, 0x21, + 0x01, 0xa8, 0xf0, 0xf7, 0xdd, 0xfd, 0x2a, 0x4f, + 0xb8, 0x79, 0x01, 0x22, 0x3c, 0x00, 0xe8, 0xf8, + 0x00, 0x00, 0x52, 0x03, 0x00, 0x90, 0x00, 0x21, + 0x06, 0x20, 0x04, 0xf0, 0x84, 0xf8, 0x60, 0x21, + 0x00, 0x20, 0x04, 0xf0, 0x58, 0xfb, 0x61, 0x21, + 0x00, 0x20, 0x04, 0xf0, 0x54, 0xfb, 0x08, 0x20, + 0x03, 0xf0, 0xef, 0xfa, 0x00, 0x24, 0x0f, 0x20, + 0xff, 0xf7, 0x71, 0xfb, 0x40, 0x05, 0x05, 0x0f, + 0xa8, 0x00, 0x01, 0xa9, 0x09, 0x58, 0x01, 0xaa, + 0x01, 0x31, 0x01, 0x34, 0x0c, 0x2c, 0x3c, 0x00, + 0x24, 0xf9, 0x00, 0x00, 0x11, 0x50, 0xf1, 0xd3, + 0x00, 0x20, 0x81, 0x00, 0x01, 0xaa, 0x51, 0x58, + 0xb1, 0x42, 0x01, 0xd9, 0x0e, 0x1c, 0x05, 0x1c, + 0x01, 0x30, 0x10, 0x28, 0xf5, 0xd3, 0x06, 0x20, + 0xff, 0xf7, 0x58, 0xfb, 0x0f, 0x21, 0x49, 0x02, + 0x88, 0x43, 0x69, 0x02, 0x08, 0x43, 0x01, 0x21, + 0x49, 0x03, 0x01, 0x43, 0x06, 0x20, 0x04, 0xf0, + 0x29, 0xfb, 0x0d, 0x48, 0x84, 0x68, 0x64, 0x34, + 0x3c, 0x00, 0x60, 0xf9, 0x00, 0x00, 0x08, 0xe0, + 0x20, 0x1c, 0x03, 0xf0, 0x5a, 0xf9, 0x00, 0x28, + 0x03, 0xd0, 0x01, 0x21, 0x95, 0x20, 0xf1, 0xf7, + 0x98, 0xfc, 0x0f, 0x20, 0xff, 0xf7, 0x3d, 0xfb, + 0x00, 0x04, 0xf1, 0xd5, 0x87, 0x20, 0x03, 0xf0, + 0xb2, 0xfa, 0x00, 0x98, 0xb8, 0x71, 0x11, 0xb0, + 0xf0, 0xbd, 0x20, 0x10, 0x07, 0x00, 0x00, 0x01, + 0x07, 0x00, 0x10, 0xb5, 0x17, 0x4c, 0x61, 0x69, + 0x00, 0x29, 0x3c, 0x00, 0x9c, 0xf9, 0x00, 0x00, + 0x04, 0xd0, 0x0a, 0x21, 0x13, 0x20, 0x03, 0xf0, + 0x47, 0xfe, 0x10, 0xbd, 0x01, 0x1c, 0x12, 0x48, + 0x01, 0x29, 0x00, 0x78, 0x0c, 0xd0, 0x11, 0x29, + 0xf7, 0xd1, 0x05, 0x28, 0x03, 0xd1, 0x01, 0x21, + 0x13, 0x20, 0xf1, 0xf7, 0x71, 0xfc, 0x20, 0x78, + 0x07, 0x28, 0xee, 0xd1, 0x02, 0x21, 0x0a, 0xe0, + 0x05, 0x28, 0x07, 0xd0, 0x06, 0x28, 0x0a, 0xd0, + 0x07, 0x28, 0xf7, 0xd0, 0x3c, 0x00, 0xd8, 0xf9, + 0x00, 0x00, 0x08, 0x28, 0xe4, 0xd1, 0x00, 0x20, + 0x05, 0xe0, 0x01, 0x21, 0x13, 0x20, 0xf1, 0xf7, + 0x5e, 0xfc, 0x10, 0xbd, 0x01, 0x20, 0x02, 0xf0, + 0x6c, 0xfd, 0x10, 0xbd, 0x00, 0x00, 0x7c, 0x78, + 0x01, 0x00, 0x0d, 0x49, 0x80, 0xb5, 0x09, 0x78, + 0x03, 0x29, 0x01, 0xd1, 0x00, 0x28, 0x0b, 0xd0, + 0x07, 0x29, 0x01, 0xd1, 0x00, 0x28, 0x07, 0xd0, + 0x02, 0x29, 0x01, 0xd1, 0x00, 0x28, 0x3c, 0x00, + 0x14, 0xfa, 0x00, 0x00, 0x03, 0xd1, 0x05, 0x29, + 0x09, 0xd1, 0x00, 0x28, 0x07, 0xd0, 0x00, 0x20, + 0xfc, 0xf7, 0x28, 0xfd, 0x00, 0x22, 0x13, 0x21, + 0x11, 0x20, 0x03, 0xf0, 0xc1, 0xfe, 0x80, 0xbd, + 0x7c, 0x78, 0x01, 0x00, 0x80, 0xb5, 0x06, 0x22, + 0x08, 0x21, 0x00, 0x20, 0x03, 0xf0, 0xde, 0xff, + 0x80, 0xbd, 0x00, 0x00, 0x07, 0x48, 0x80, 0xb5, + 0x40, 0x69, 0x00, 0x28, 0x01, 0xd1, 0xf1, 0xf7, + 0x3c, 0x00, 0x50, 0xfa, 0x00, 0x00, 0x33, 0xff, + 0x05, 0x49, 0x05, 0x4a, 0x08, 0x68, 0x50, 0x61, + 0x48, 0x68, 0x90, 0x61, 0x01, 0x20, 0x80, 0xbd, + 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, 0xb0, 0x58, + 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, 0x07, 0x48, + 0x80, 0xb5, 0x40, 0x69, 0x00, 0x28, 0x01, 0xd1, + 0xf1, 0xf7, 0x1d, 0xff, 0x05, 0x49, 0x05, 0x4a, + 0x08, 0x68, 0x90, 0x61, 0x48, 0x68, 0x50, 0x61, + 0x01, 0x20, 0x3c, 0x00, 0x8c, 0xfa, 0x00, 0x00, + 0x80, 0xbd, 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, + 0xb0, 0x58, 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x11, 0xb5, 0x00, 0xab, 0x59, 0x78, 0x14, 0x48, + 0x01, 0x23, 0xc0, 0x56, 0x00, 0x22, 0x09, 0x18, + 0x0b, 0x06, 0x1b, 0x16, 0x13, 0x21, 0x13, 0x2b, + 0x02, 0xdd, 0x00, 0xab, 0x59, 0x70, 0x07, 0xe0, + 0x00, 0x2b, 0x02, 0xda, 0x00, 0xab, 0x5a, 0x70, + 0x02, 0xe0, 0x1c, 0x1c, 0x3c, 0x00, 0xc8, 0xfa, + 0x00, 0x00, 0x00, 0xab, 0x5c, 0x70, 0x00, 0xab, + 0x1b, 0x78, 0x18, 0x18, 0x00, 0x06, 0x00, 0x16, + 0x13, 0x28, 0x02, 0xdd, 0x00, 0xab, 0x19, 0x70, + 0x06, 0xe0, 0x00, 0x28, 0x02, 0xda, 0x00, 0xab, + 0x1a, 0x70, 0x01, 0xe0, 0x00, 0xab, 0x18, 0x70, + 0x00, 0x98, 0x18, 0xbd, 0x00, 0x00, 0x64, 0x73, + 0x01, 0x00, 0x38, 0xb5, 0x0c, 0x1c, 0x15, 0x49, + 0x00, 0xab, 0x49, 0x68, 0x13, 0x25, 0x3c, 0x00, + 0x04, 0xfb, 0x00, 0x00, 0x00, 0x91, 0x59, 0x78, + 0x09, 0x18, 0x59, 0x70, 0x19, 0x78, 0x08, 0x18, + 0x18, 0x70, 0x19, 0x88, 0x10, 0x48, 0x02, 0x2c, + 0xc1, 0x80, 0x01, 0xd0, 0x00, 0x2c, 0x0b, 0xd1, + 0x00, 0xab, 0x18, 0x78, 0x13, 0x28, 0x00, 0xd9, + 0x1d, 0x70, 0x00, 0xab, 0x19, 0x78, 0x00, 0x20, + 0xff, 0xf7, 0xee, 0xfd, 0x02, 0x2c, 0x01, 0xd0, + 0x01, 0x2c, 0x09, 0xd1, 0x00, 0xab, 0x58, 0x78, + 0x3c, 0x00, 0x40, 0xfb, 0x00, 0x00, 0x13, 0x28, + 0x00, 0xd9, 0x5d, 0x70, 0x00, 0xab, 0x59, 0x78, + 0x01, 0x20, 0xff, 0xf7, 0xe0, 0xfd, 0x38, 0xbd, + 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, 0xa0, 0x58, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0xb0, 0xb5, + 0x04, 0x1c, 0x0e, 0x28, 0x13, 0x4d, 0x04, 0xd0, + 0x12, 0x49, 0xa0, 0x00, 0x00, 0x19, 0x4d, 0x39, + 0x45, 0x18, 0x06, 0x20, 0xff, 0xf7, 0x3d, 0xfa, + 0x0f, 0x49, 0x3c, 0x00, 0x7c, 0xfb, 0x00, 0x00, + 0xe0, 0x22, 0x09, 0x19, 0x10, 0x39, 0xc9, 0x7b, + 0x90, 0x43, 0x49, 0x01, 0x11, 0x40, 0x01, 0x43, + 0x06, 0x20, 0x04, 0xf0, 0x0d, 0xfa, 0x29, 0x1c, + 0x05, 0x20, 0x09, 0x4a, 0x03, 0xf0, 0x30, 0xff, + 0x08, 0x48, 0x1f, 0x22, 0x00, 0x19, 0x10, 0x38, + 0xc0, 0x7b, 0xc1, 0x04, 0xd2, 0x04, 0x08, 0x20, + 0x03, 0xf0, 0x26, 0xff, 0xb0, 0xbd, 0x00, 0x00, + 0xb4, 0x09, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xfb, + 0x00, 0x00, 0x14, 0x45, 0x01, 0x00, 0xff, 0x0f, + 0x00, 0x00, 0xc0, 0x58, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x06, 0x49, 0x00, 0x28, + 0x01, 0xd1, 0x08, 0x68, 0x80, 0xbd, 0x01, 0x28, + 0x01, 0xd1, 0x48, 0x68, 0x80, 0xbd, 0xf1, 0xf7, + 0x90, 0xfb, 0x00, 0x20, 0x80, 0xbd, 0x7c, 0x73, + 0x01, 0x00, 0x01, 0x48, 0x40, 0x68, 0x70, 0x47, + 0x00, 0x00, 0xa0, 0x58, 0x01, 0x00, 0x3c, 0x00, + 0xf4, 0xfb, 0x00, 0x00, 0x04, 0x48, 0x01, 0x23, + 0x04, 0x49, 0xc0, 0x56, 0xc9, 0x56, 0x40, 0x18, + 0x00, 0x04, 0x00, 0x0c, 0x70, 0x47, 0x00, 0x00, + 0xa0, 0x58, 0x01, 0x00, 0xa2, 0x58, 0x01, 0x00, + 0x01, 0x48, 0x40, 0x68, 0x70, 0x47, 0x00, 0x00, + 0x64, 0x73, 0x01, 0x00, 0xf8, 0xb5, 0x05, 0x1c, + 0x0e, 0x1c, 0x00, 0xf0, 0x55, 0xf9, 0x04, 0x1c, + 0x00, 0xf0, 0x58, 0xf9, 0x00, 0x28, 0x2c, 0xd0, + 0x3c, 0x00, 0x30, 0xfc, 0x00, 0x00, 0xb3, 0x00, + 0x60, 0x1e, 0x00, 0x2d, 0x1c, 0x4e, 0x19, 0x49, + 0x1a, 0x4a, 0x06, 0xd1, 0x0b, 0x25, 0x0e, 0x2c, + 0x00, 0xd1, 0x19, 0x4a, 0xd2, 0x58, 0x08, 0x56, + 0x08, 0xe0, 0x01, 0x2d, 0x1c, 0xd1, 0x9a, 0x18, + 0x04, 0x36, 0x08, 0x18, 0x08, 0x25, 0x0e, 0x23, + 0x12, 0x6d, 0xc0, 0x56, 0x07, 0x1c, 0x47, 0x43, + 0xfb, 0x00, 0xdf, 0x19, 0x12, 0x4b, 0x3f, 0x21, + 0x58, 0x43, 0x3c, 0x00, 0x6c, 0xfc, 0x00, 0x00, + 0x11, 0x4b, 0xa9, 0x40, 0x0c, 0x1c, 0x38, 0x18, + 0xc0, 0x18, 0x14, 0x40, 0xec, 0x40, 0xc0, 0x11, + 0x60, 0x43, 0x1b, 0x0a, 0xc0, 0x18, 0x80, 0x12, + 0x03, 0xd1, 0x01, 0x20, 0x04, 0xe0, 0x00, 0x20, + 0xf8, 0xbd, 0x3f, 0x28, 0x00, 0xdd, 0x3f, 0x20, + 0x30, 0x60, 0xa8, 0x40, 0x08, 0x40, 0x8a, 0x43, + 0x10, 0x43, 0xf5, 0xe7, 0xcc, 0x59, 0x01, 0x00, + 0xdc, 0x58, 0x01, 0x00, 0x3c, 0x00, 0xa8, 0xfc, + 0x00, 0x00, 0x7c, 0x73, 0x01, 0x00, 0x7c, 0x59, + 0x01, 0x00, 0x06, 0x06, 0x00, 0x00, 0x26, 0x00, + 0x02, 0x00, 0x03, 0x48, 0x08, 0xb5, 0xc0, 0x88, + 0x00, 0xab, 0x18, 0x80, 0x00, 0x98, 0x08, 0xbd, + 0x00, 0x00, 0xa0, 0x58, 0x01, 0x00, 0xb0, 0xb5, + 0x0b, 0x4d, 0x09, 0x4c, 0x0e, 0x20, 0x6c, 0x60, + 0xff, 0xf7, 0x8d, 0xf9, 0x09, 0x49, 0x02, 0x1c, + 0xc8, 0x60, 0x01, 0x06, 0x09, 0x0e, 0x3c, 0x00, + 0xe4, 0xfc, 0x00, 0x00, 0x13, 0x3a, 0x02, 0x2a, + 0x02, 0xd9, 0x17, 0x38, 0x04, 0x28, 0x00, 0xd8, + 0x00, 0x21, 0x08, 0x1c, 0x6c, 0x60, 0xb0, 0xbd, + 0x04, 0x18, 0x02, 0x00, 0x60, 0x00, 0x07, 0x00, + 0x64, 0x73, 0x01, 0x00, 0x0a, 0x48, 0x98, 0xb5, + 0x02, 0x78, 0x13, 0x21, 0x14, 0x2a, 0x00, 0xd3, + 0x01, 0x70, 0x42, 0x78, 0x14, 0x2a, 0x00, 0xd3, + 0x41, 0x70, 0x06, 0x4c, 0x60, 0x68, 0xff, 0xf7, + 0x3c, 0x00, 0x20, 0xfd, 0x00, 0x00, 0xbd, 0xfe, + 0x00, 0x90, 0x00, 0xab, 0x18, 0x88, 0xe0, 0x80, + 0x00, 0xf0, 0x75, 0xff, 0x98, 0xbd, 0xa4, 0x58, + 0x01, 0x00, 0xa0, 0x58, 0x01, 0x00, 0x03, 0x48, + 0x80, 0xb5, 0x41, 0x78, 0x01, 0x20, 0xff, 0xf7, + 0xe6, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0xa6, 0x58, + 0x01, 0x00, 0x03, 0x48, 0x80, 0xb5, 0x01, 0x78, + 0x00, 0x20, 0xff, 0xf7, 0xdc, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xfd, 0x00, 0x00, + 0xa6, 0x58, 0x01, 0x00, 0xb0, 0xb5, 0x05, 0x4d, + 0x00, 0x24, 0x20, 0x1c, 0xff, 0xf7, 0x44, 0xf9, + 0x01, 0x34, 0x10, 0x2c, 0x01, 0xc5, 0xf8, 0xd3, + 0xb0, 0xbd, 0x00, 0x00, 0xd4, 0x44, 0x01, 0x00, + 0x04, 0x49, 0x80, 0xb5, 0x88, 0x70, 0x04, 0x49, + 0x80, 0x00, 0x09, 0x58, 0x07, 0x20, 0x04, 0xf0, + 0x0f, 0xf9, 0x80, 0xbd, 0x64, 0x73, 0x01, 0x00, + 0xd0, 0x58, 0x01, 0x00, 0x3c, 0x00, 0x98, 0xfd, + 0x00, 0x00, 0xb0, 0xb5, 0x3f, 0x24, 0x02, 0x1c, + 0x00, 0x2a, 0x01, 0xd1, 0x08, 0x20, 0x0b, 0x23, + 0x01, 0x2a, 0x01, 0xd1, 0x09, 0x20, 0x08, 0x23, + 0x25, 0x1c, 0x9d, 0x40, 0x00, 0x29, 0x00, 0xd1, + 0x01, 0x21, 0x3f, 0x29, 0x00, 0xd9, 0x21, 0x1c, + 0x99, 0x40, 0x0a, 0x1c, 0x29, 0x1c, 0xff, 0xf7, + 0x7c, 0xfc, 0xb0, 0xbd, 0x00, 0x00, 0x91, 0xb5, + 0x12, 0x49, 0x00, 0xab, 0x1a, 0x78, 0x3c, 0x00, + 0xd4, 0xfd, 0x00, 0x00, 0x08, 0x78, 0x11, 0x4c, + 0x80, 0x18, 0x00, 0x06, 0x00, 0x0e, 0x20, 0x70, + 0x49, 0x78, 0x5a, 0x78, 0x89, 0x18, 0x09, 0x06, + 0x09, 0x0e, 0x13, 0x22, 0x13, 0x28, 0x61, 0x70, + 0x00, 0xd9, 0x22, 0x70, 0x13, 0x29, 0x00, 0xd9, + 0x62, 0x70, 0x08, 0x49, 0x08, 0x48, 0x06, 0x39, + 0xc9, 0x88, 0x81, 0x80, 0x21, 0x78, 0x00, 0x20, + 0xff, 0xf7, 0x82, 0xfc, 0x61, 0x78, 0x01, 0x20, + 0x3c, 0x00, 0x10, 0xfe, 0x00, 0x00, 0xff, 0xf7, + 0x7e, 0xfc, 0x98, 0xbd, 0x00, 0x00, 0xa4, 0x58, + 0x01, 0x00, 0xa6, 0x58, 0x01, 0x00, 0x64, 0x73, + 0x01, 0x00, 0x70, 0xb5, 0x1d, 0x4d, 0x04, 0x1c, + 0x28, 0x78, 0x0e, 0x1c, 0x03, 0x28, 0x03, 0xd1, + 0x02, 0x21, 0x11, 0x20, 0xf1, 0xf7, 0x35, 0xfa, + 0x20, 0x1c, 0x00, 0xf0, 0x4e, 0xf8, 0x00, 0x28, + 0x25, 0xd0, 0x28, 0x78, 0x01, 0x28, 0x0a, 0xd1, + 0x68, 0x68, 0x3c, 0x00, 0x4c, 0xfe, 0x00, 0x00, + 0x00, 0x28, 0x07, 0xd0, 0x01, 0x21, 0x11, 0x20, + 0x03, 0xf0, 0xee, 0xfb, 0x01, 0x20, 0x69, 0x68, + 0xf0, 0xf7, 0xbd, 0xfa, 0x6c, 0x70, 0x6e, 0x60, + 0x20, 0x1c, 0xff, 0xf7, 0xc1, 0xfc, 0x04, 0x1c, + 0x00, 0xf0, 0xd4, 0xfe, 0x00, 0x2c, 0x02, 0xd0, + 0x68, 0x68, 0x00, 0x28, 0x02, 0xd1, 0xf6, 0xf7, + 0xd9, 0xf8, 0x70, 0xbd, 0x01, 0x20, 0x28, 0x70, + 0x01, 0x22, 0x21, 0x1c, 0x3c, 0x00, 0x88, 0xfe, + 0x00, 0x00, 0x11, 0x20, 0x03, 0xf0, 0x9f, 0xfb, + 0x70, 0xbd, 0x02, 0x21, 0x11, 0x20, 0xf1, 0xf7, + 0x06, 0xfa, 0x70, 0xbd, 0x00, 0x00, 0x9c, 0x73, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x28, 0x05, 0xd1, + 0x00, 0x29, 0x04, 0xd0, 0x01, 0x29, 0x01, 0xd1, + 0xf6, 0xf7, 0xbf, 0xf8, 0x80, 0xbd, 0x05, 0x49, + 0x08, 0x78, 0x03, 0x28, 0x02, 0xd0, 0x00, 0x20, + 0x08, 0x70, 0x80, 0xbd, 0x03, 0x21, 0x3c, 0x00, + 0xc4, 0xfe, 0x00, 0x00, 0x11, 0x20, 0xf1, 0xf7, + 0xed, 0xf9, 0x80, 0xbd, 0x9c, 0x73, 0x01, 0x00, + 0x01, 0x48, 0x40, 0x78, 0x70, 0x47, 0x00, 0x00, + 0x9c, 0x73, 0x01, 0x00, 0x01, 0x1c, 0x01, 0x39, + 0x01, 0x20, 0x0e, 0x29, 0x00, 0xd3, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x10, 0xb5, 0x13, 0x4c, + 0x20, 0x78, 0x01, 0x28, 0x0e, 0xd1, 0x60, 0x68, + 0x00, 0x28, 0x0d, 0xd0, 0x01, 0x21, 0x11, 0x20, + 0x3c, 0x00, 0x00, 0xff, 0x00, 0x00, 0x03, 0xf0, + 0x98, 0xfb, 0x01, 0x20, 0x61, 0x68, 0xf0, 0xf7, + 0x67, 0xfa, 0x00, 0x20, 0x60, 0x60, 0x20, 0x70, + 0x01, 0xe0, 0x03, 0x28, 0x0e, 0xd0, 0x00, 0x21, + 0x11, 0x20, 0x03, 0xf0, 0x8a, 0xfb, 0xff, 0xf7, + 0x24, 0xfc, 0xff, 0xf7, 0xc0, 0xfb, 0x05, 0x49, + 0x08, 0x7b, 0x40, 0x08, 0x40, 0x00, 0x08, 0x73, + 0x03, 0x20, 0x20, 0x70, 0x01, 0x20, 0x10, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xff, 0x00, 0x00, + 0x9c, 0x73, 0x01, 0x00, 0x88, 0x00, 0x07, 0x00, + 0x10, 0xb5, 0x0d, 0x4c, 0x20, 0x78, 0x03, 0x28, + 0x13, 0xd1, 0x00, 0x20, 0x20, 0x70, 0x0b, 0x48, + 0x01, 0x7b, 0x01, 0x22, 0x11, 0x43, 0x01, 0x73, + 0xff, 0xf7, 0x70, 0xfc, 0xff, 0xf7, 0x18, 0xfc, + 0x00, 0x28, 0x06, 0xd0, 0x02, 0x21, 0x21, 0x70, + 0x01, 0x1c, 0x00, 0x22, 0x11, 0x20, 0x03, 0xf0, + 0x2b, 0xfb, 0x01, 0x20, 0x3c, 0x00, 0x78, 0xff, + 0x00, 0x00, 0x10, 0xbd, 0x00, 0x00, 0x9c, 0x73, + 0x01, 0x00, 0x88, 0x00, 0x07, 0x00, 0x80, 0xb5, + 0x05, 0x49, 0x00, 0x28, 0x04, 0xd0, 0x00, 0x20, + 0x08, 0x60, 0x03, 0xf0, 0x5a, 0xfa, 0x80, 0xbd, + 0x01, 0x20, 0x08, 0x60, 0x80, 0xbd, 0x80, 0x5a, + 0x01, 0x00, 0xfe, 0xb5, 0x05, 0x1c, 0x80, 0x35, + 0x04, 0x1c, 0xa8, 0x68, 0x29, 0x79, 0x06, 0x68, + 0x20, 0x1c, 0xa0, 0x30, 0x02, 0x29, 0x3c, 0x00, + 0xb4, 0xff, 0x00, 0x00, 0x1c, 0xd1, 0x69, 0x79, + 0x08, 0x29, 0x01, 0xd0, 0x0c, 0x29, 0x17, 0xd1, + 0x01, 0x21, 0x61, 0x62, 0xa9, 0x68, 0x09, 0x68, + 0x09, 0x8b, 0x01, 0x82, 0xa9, 0x69, 0x01, 0x91, + 0x00, 0x8a, 0xc0, 0x06, 0x05, 0xd5, 0x60, 0x68, + 0x00, 0x88, 0x40, 0x05, 0x01, 0xd4, 0x01, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x02, 0x90, 0x05, 0x20, + 0x01, 0xa9, 0x02, 0xf0, 0xb7, 0xf9, 0x02, 0xe0, + 0x3c, 0x00, 0xf0, 0xff, 0x00, 0x00, 0x00, 0x21, + 0x61, 0x62, 0x01, 0x82, 0xa9, 0x68, 0x1a, 0x23, + 0x0a, 0x89, 0x67, 0x6a, 0x18, 0x1c, 0x00, 0x2f, + 0x00, 0xd1, 0x18, 0x20, 0x10, 0x1a, 0x08, 0x81, + 0xa8, 0x68, 0x01, 0x68, 0x62, 0x6a, 0x00, 0x2a, + 0x00, 0xd1, 0x18, 0x23, 0xc9, 0x18, 0x01, 0x60, + 0xa8, 0x68, 0x41, 0xc4, 0x30, 0x88, 0x08, 0x3c, + 0x40, 0x04, 0x03, 0xd5, 0x20, 0x1c, 0xf7, 0xf7, + 0xbc, 0xf9, 0x3c, 0x00, 0x2c, 0x00, 0x01, 0x00, + 0xfe, 0xbd, 0x00, 0x21, 0xe1, 0x61, 0x30, 0x79, + 0xc0, 0x07, 0x03, 0xd4, 0x20, 0x1c, 0xf7, 0xf7, + 0x91, 0xfe, 0xf5, 0xe7, 0x20, 0x1c, 0xf7, 0xf7, + 0x43, 0xff, 0xf1, 0xe7, 0xf7, 0xb5, 0x05, 0x1c, + 0x0a, 0x30, 0x06, 0x1c, 0xf5, 0xf7, 0xa4, 0xfa, + 0x14, 0x4f, 0x04, 0x1c, 0x39, 0x88, 0xf2, 0xf7, + 0x83, 0xfe, 0x32, 0x88, 0x78, 0x68, 0x02, 0x80, + 0x72, 0x88, 0x02, 0x30, 0x3c, 0x00, 0x68, 0x00, + 0x01, 0x00, 0x02, 0x80, 0xb1, 0x88, 0x41, 0x80, + 0x69, 0x88, 0x02, 0x9a, 0x20, 0x1c, 0xfa, 0xf7, + 0xce, 0xfe, 0x0b, 0x4d, 0x08, 0x35, 0x68, 0x80, + 0xfb, 0xf7, 0x2b, 0xfe, 0x01, 0x21, 0x09, 0x03, + 0x00, 0x28, 0x28, 0x88, 0x01, 0xd0, 0x88, 0x43, + 0x00, 0xe0, 0x08, 0x43, 0x28, 0x80, 0x04, 0x48, + 0x00, 0x22, 0x00, 0x21, 0x14, 0x30, 0xf2, 0xf7, + 0x32, 0xfe, 0x20, 0x1c, 0xfc, 0xf7, 0x3c, 0x00, + 0xa4, 0x00, 0x01, 0x00, 0x85, 0xfa, 0xfe, 0xbd, + 0x24, 0x7b, 0x01, 0x00, 0x10, 0xb5, 0x13, 0x4c, + 0x11, 0x49, 0x20, 0x1c, 0xff, 0x30, 0x69, 0x30, + 0x0e, 0xc9, 0x0e, 0xc0, 0x20, 0x1c, 0xff, 0x30, + 0x24, 0x22, 0x75, 0x30, 0x0e, 0x49, 0xf0, 0xf7, + 0x17, 0xfa, 0x20, 0x1c, 0xff, 0x30, 0x3c, 0x22, + 0x99, 0x30, 0x0c, 0x49, 0xf0, 0xf7, 0x6c, 0xfa, + 0x20, 0x1c, 0xff, 0x30, 0x10, 0x22, 0xd5, 0x30, + 0x3c, 0x00, 0xe0, 0x00, 0x01, 0x00, 0x09, 0x49, + 0xf0, 0xf7, 0x09, 0xfa, 0x20, 0x1c, 0xff, 0x30, + 0x28, 0x22, 0xe5, 0x30, 0x07, 0x49, 0xf0, 0xf7, + 0x5e, 0xfa, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x80, + 0x07, 0x00, 0x40, 0x63, 0x01, 0x00, 0x0c, 0x80, + 0x07, 0x00, 0x30, 0x80, 0x07, 0x00, 0x80, 0x80, + 0x07, 0x00, 0xa0, 0x80, 0x07, 0x00, 0xb0, 0xb5, + 0x00, 0x28, 0x3f, 0xd0, 0x21, 0x48, 0x41, 0x68, + 0x21, 0x4c, 0x3c, 0x00, 0x1c, 0x01, 0x01, 0x00, + 0x61, 0x60, 0xc1, 0x68, 0xe1, 0x60, 0x01, 0x69, + 0x21, 0x61, 0x80, 0x6a, 0xa0, 0x62, 0x1e, 0x49, + 0x1c, 0x48, 0x09, 0x68, 0x14, 0x38, 0x41, 0x64, + 0x1c, 0x48, 0x25, 0x1c, 0x3c, 0x35, 0x0f, 0xc8, + 0x0f, 0xc5, 0x20, 0x1c, 0x80, 0x22, 0x4c, 0x30, + 0x19, 0x49, 0xf0, 0xf7, 0x33, 0xfa, 0x14, 0x22, + 0x20, 0x1c, 0xcc, 0x30, 0x17, 0x49, 0xf0, 0xf7, + 0x2d, 0xfa, 0x38, 0x22, 0x3c, 0x00, 0x58, 0x01, + 0x01, 0x00, 0x20, 0x1c, 0xe0, 0x30, 0x15, 0x49, + 0xf0, 0xf7, 0x27, 0xfa, 0x20, 0x1c, 0xff, 0x30, + 0x50, 0x22, 0x19, 0x30, 0x13, 0x49, 0xf0, 0xf7, + 0x20, 0xfa, 0x83, 0x20, 0x80, 0x00, 0x14, 0x22, + 0x20, 0x18, 0x10, 0x49, 0xf0, 0xf7, 0x19, 0xfa, + 0x11, 0x20, 0x40, 0x01, 0x84, 0x22, 0x20, 0x18, + 0x0e, 0x49, 0xf0, 0xf7, 0x12, 0xfa, 0xff, 0xf7, + 0x8e, 0xff, 0xf8, 0xf7, 0x94, 0xfb, 0x3c, 0x00, + 0x94, 0x01, 0x01, 0x00, 0xb0, 0xbd, 0xff, 0xf7, + 0x89, 0xff, 0xb0, 0xbd, 0x00, 0x10, 0x07, 0x00, + 0x40, 0x63, 0x01, 0x00, 0x08, 0x20, 0x07, 0x00, + 0x40, 0x20, 0x07, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x00, 0x40, 0x07, 0x00, 0x00, 0x50, 0x07, 0x00, + 0x00, 0x60, 0x07, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x00, 0x90, 0x07, 0x00, 0x0c, 0x49, 0x80, 0xb5, + 0x01, 0x20, 0x48, 0x60, 0x0a, 0x48, 0x14, 0x38, + 0x3c, 0x00, 0xd0, 0x01, 0x01, 0x00, 0x00, 0x78, + 0x01, 0x28, 0x04, 0xd0, 0x08, 0x48, 0x94, 0x38, + 0x40, 0x6f, 0x00, 0x28, 0x03, 0xd0, 0x00, 0x20, + 0x00, 0xf0, 0x1f, 0xf8, 0x80, 0xbd, 0x08, 0x68, + 0x00, 0x28, 0xfb, 0xd0, 0x03, 0x48, 0xf2, 0xf7, + 0x7a, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x98, 0x66, + 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x80, 0xb5, + 0x00, 0x28, 0x09, 0xd1, 0xf2, 0x21, 0x0f, 0x20, + 0x03, 0xf0, 0x3c, 0x00, 0x0c, 0x02, 0x01, 0x00, + 0x13, 0xfa, 0x00, 0x22, 0x0f, 0x21, 0xf1, 0x20, + 0x03, 0xf0, 0xcc, 0xfa, 0x80, 0xbd, 0x01, 0x20, + 0xf8, 0xf7, 0x6a, 0xfe, 0x80, 0xbd, 0x00, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x03, 0x20, 0x00, 0xf0, + 0xc9, 0xf9, 0x00, 0x21, 0x0f, 0x20, 0x03, 0xf0, + 0xff, 0xf9, 0xff, 0xf7, 0x65, 0xf8, 0x0b, 0x49, + 0x00, 0x20, 0x48, 0x74, 0xfb, 0xf7, 0xe6, 0xfa, + 0x09, 0x48, 0x00, 0x68, 0x3c, 0x00, 0x48, 0x02, + 0x01, 0x00, 0x00, 0x28, 0x03, 0xdc, 0x02, 0x21, + 0x40, 0x42, 0xff, 0xf7, 0x52, 0xfc, 0x04, 0x48, + 0x14, 0x30, 0x00, 0x68, 0x00, 0x28, 0x02, 0xd0, + 0x20, 0x1c, 0xf2, 0xf7, 0x42, 0xfe, 0x10, 0xbd, + 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, 0xd4, 0x7e, + 0x01, 0x00, 0x06, 0x49, 0x80, 0xb5, 0x09, 0x78, + 0x04, 0x29, 0x05, 0xd0, 0x05, 0x29, 0x03, 0xd0, + 0x06, 0x29, 0x01, 0xd0, 0x07, 0x29, 0x3c, 0x00, + 0x84, 0x02, 0x01, 0x00, 0x01, 0xd1, 0xfe, 0xf7, + 0xbd, 0xfd, 0x80, 0xbd, 0x74, 0x66, 0x01, 0x00, + 0x10, 0xb5, 0x09, 0x4c, 0xe0, 0x68, 0x00, 0x28, + 0x0b, 0xd1, 0x07, 0x48, 0x2c, 0x38, 0x00, 0x8a, + 0xc0, 0x07, 0x04, 0xd5, 0x00, 0x21, 0x01, 0x20, + 0x62, 0x68, 0xf9, 0xf7, 0xc9, 0xfa, 0x01, 0x20, + 0xe0, 0x60, 0x01, 0x20, 0x10, 0xbd, 0x00, 0x00, + 0xf4, 0x6e, 0x01, 0x00, 0x8c, 0xb5, 0x02, 0x1c, + 0x3c, 0x00, 0xc0, 0x02, 0x01, 0x00, 0x08, 0x1c, + 0x11, 0x1c, 0xfd, 0xf7, 0x28, 0xff, 0x01, 0x90, + 0x00, 0x28, 0x05, 0xd0, 0x17, 0x20, 0x00, 0xab, + 0x18, 0x80, 0x68, 0x46, 0xfd, 0xf7, 0xff, 0xf8, + 0x8c, 0xbd, 0xf1, 0xb5, 0x2e, 0x4c, 0xae, 0xb0, + 0x00, 0x25, 0x25, 0x63, 0x20, 0x69, 0x01, 0x28, + 0x03, 0xd1, 0x01, 0xa8, 0x01, 0xf0, 0xa1, 0xf8, + 0x4e, 0xe0, 0x01, 0x26, 0x28, 0x4f, 0x26, 0x70, + 0x50, 0x3f, 0x3c, 0x00, 0xfc, 0x02, 0x01, 0x00, + 0xb8, 0x69, 0xf8, 0xf7, 0x4f, 0xf8, 0x25, 0x49, + 0x2c, 0x39, 0x00, 0x28, 0x1d, 0xd0, 0xe0, 0x6a, + 0x01, 0x28, 0x1a, 0xd1, 0x08, 0x8a, 0x0f, 0x1c, + 0x80, 0x07, 0x04, 0xd5, 0x00, 0x21, 0x02, 0x20, + 0x62, 0x68, 0xf9, 0xf7, 0x8f, 0xfa, 0x38, 0x8a, + 0x00, 0x07, 0x07, 0xd5, 0xe0, 0x68, 0x01, 0x28, + 0x04, 0xd1, 0x00, 0x21, 0x08, 0x20, 0x62, 0x68, + 0xf9, 0xf7, 0x84, 0xfa, 0x3c, 0x00, 0x38, 0x03, + 0x01, 0x00, 0x00, 0x22, 0x18, 0x21, 0x82, 0x20, + 0x26, 0x63, 0x03, 0xf0, 0x36, 0xfa, 0x25, 0xe0, + 0x08, 0x8a, 0x0e, 0x1c, 0x80, 0x07, 0x04, 0xd5, + 0x00, 0x21, 0x02, 0x20, 0x62, 0x68, 0xf9, 0xf7, + 0x74, 0xfa, 0x30, 0x8a, 0x00, 0x07, 0x07, 0xd5, + 0xe0, 0x68, 0x01, 0x28, 0x04, 0xd1, 0x00, 0x21, + 0x08, 0x20, 0x62, 0x68, 0xf9, 0xf7, 0x69, 0xfa, + 0x30, 0x8a, 0x40, 0x07, 0x04, 0xd5, 0x3c, 0x00, + 0x74, 0x03, 0x01, 0x00, 0x00, 0x22, 0x00, 0x21, + 0x04, 0x20, 0xf9, 0xf7, 0x61, 0xfa, 0x2e, 0x98, + 0x01, 0x28, 0x04, 0xd0, 0x1e, 0x95, 0x09, 0x21, + 0x1b, 0xa8, 0xff, 0xf7, 0x97, 0xff, 0xe5, 0x62, + 0xbd, 0x61, 0xe5, 0x60, 0x2f, 0xb0, 0xf0, 0xbd, + 0xf4, 0x6e, 0x01, 0x00, 0x80, 0xb5, 0x07, 0x20, + 0xfe, 0xf7, 0xa0, 0xfe, 0x00, 0x21, 0x0f, 0x20, + 0x03, 0xf0, 0x44, 0xf9, 0x0c, 0x48, 0x01, 0x78, + 0x3c, 0x00, 0xb0, 0x03, 0x01, 0x00, 0x00, 0x29, + 0x0f, 0xd0, 0x02, 0x21, 0x01, 0x70, 0x88, 0x38, + 0x00, 0x78, 0x00, 0x28, 0x04, 0xd0, 0x07, 0x49, + 0x10, 0x31, 0x48, 0x7c, 0x01, 0x30, 0x48, 0x74, + 0xf2, 0x22, 0x0f, 0x20, 0x05, 0x49, 0x03, 0xf0, + 0xfc, 0xf8, 0x00, 0x22, 0x0f, 0x21, 0xf3, 0x20, + 0x03, 0xf0, 0xe9, 0xf9, 0x80, 0xbd, 0x74, 0x66, + 0x01, 0x00, 0x80, 0x84, 0x1e, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x3c, 0x00, 0xec, 0x03, 0x01, 0x00, + 0xf2, 0x21, 0x0f, 0x20, 0x03, 0xf0, 0x20, 0xf9, + 0x01, 0x2c, 0x0a, 0xd1, 0x08, 0x48, 0x08, 0x49, + 0x00, 0x68, 0x14, 0x39, 0x00, 0x28, 0x05, 0xd0, + 0xc8, 0x78, 0x02, 0x28, 0x02, 0xd1, 0xf7, 0xf7, + 0xaf, 0xfa, 0x10, 0xbd, 0x00, 0x20, 0x48, 0x70, + 0x05, 0x20, 0xfe, 0xf7, 0x65, 0xfe, 0x10, 0xbd, + 0x98, 0x66, 0x01, 0x00, 0xf8, 0xb5, 0x28, 0x4e, + 0x30, 0x21, 0x35, 0x1c, 0x3c, 0x00, 0x28, 0x04, + 0x01, 0x00, 0x60, 0x35, 0x28, 0x89, 0x89, 0x5d, + 0x88, 0x42, 0x03, 0xd1, 0x00, 0x20, 0xff, 0xf7, + 0xf6, 0xfe, 0xf8, 0xbd, 0x34, 0x1c, 0x70, 0x34, + 0x01, 0x21, 0x21, 0x70, 0x41, 0x18, 0x80, 0x19, + 0x30, 0x30, 0x29, 0x81, 0x40, 0x78, 0x1d, 0x4f, + 0x18, 0x3f, 0x38, 0x70, 0x00, 0x28, 0x08, 0xd0, + 0x00, 0x21, 0xfb, 0xf7, 0xc2, 0xf9, 0x00, 0x28, + 0x07, 0xd1, 0x20, 0x78, 0xff, 0xf7, 0x3c, 0x00, + 0x64, 0x04, 0x01, 0x00, 0x9b, 0xff, 0xe7, 0xe7, + 0x01, 0x21, 0x0f, 0x20, 0xf0, 0xf7, 0x1a, 0xff, + 0x14, 0x48, 0x01, 0x21, 0x80, 0x30, 0x81, 0x70, + 0x38, 0x69, 0xfb, 0xf7, 0x55, 0xfa, 0x20, 0x73, + 0x00, 0x21, 0x0f, 0x20, 0x03, 0xf0, 0xd6, 0xf8, + 0x70, 0x7a, 0x01, 0x28, 0x0e, 0xd1, 0x0e, 0x48, + 0x00, 0x68, 0x00, 0x28, 0x04, 0xd0, 0x38, 0x78, + 0x02, 0xf0, 0xda, 0xfa, 0x00, 0x28, 0x05, 0xd0, + 0x3c, 0x00, 0xa0, 0x04, 0x01, 0x00, 0x30, 0x7f, + 0x60, 0x73, 0x03, 0x20, 0x20, 0x70, 0x71, 0x89, + 0x05, 0xe0, 0x05, 0x20, 0x20, 0x70, 0xa8, 0x88, + 0xfa, 0xf7, 0x3b, 0xfb, 0x01, 0x1c, 0x00, 0x22, + 0x0f, 0x20, 0x03, 0xf0, 0x86, 0xf8, 0xba, 0xe7, + 0x00, 0x00, 0x04, 0x66, 0x01, 0x00, 0xe4, 0x62, + 0x01, 0x00, 0x70, 0xb5, 0x04, 0x1c, 0x02, 0xf0, + 0x6c, 0xfc, 0x36, 0x4b, 0x19, 0x1c, 0xa0, 0x31, + 0x0a, 0x78, 0x3c, 0x00, 0xdc, 0x04, 0x01, 0x00, + 0x10, 0x2a, 0x02, 0xd2, 0x0a, 0x79, 0x10, 0x2a, + 0x01, 0xd3, 0x01, 0x25, 0x00, 0xe0, 0x00, 0x25, + 0x30, 0x4e, 0xca, 0x79, 0x80, 0x36, 0x01, 0x2c, + 0x12, 0xd0, 0x00, 0x25, 0x02, 0x2c, 0x2e, 0xd0, + 0x04, 0x2c, 0x3c, 0xd1, 0x5c, 0x6b, 0x00, 0x2c, + 0x39, 0xd1, 0x9c, 0x6f, 0x00, 0x1b, 0x2a, 0x4c, + 0xa0, 0x42, 0x34, 0xd9, 0xb2, 0x68, 0x98, 0x6a, + 0x82, 0x42, 0x31, 0xd0, 0x3c, 0x00, 0x18, 0x05, + 0x01, 0x00, 0x4d, 0x72, 0x34, 0xe0, 0xb0, 0x68, + 0x9c, 0x6a, 0x02, 0x22, 0xa0, 0x42, 0x21, 0xd1, + 0x58, 0x6b, 0x00, 0x28, 0x1e, 0xd1, 0x00, 0x2d, + 0x1c, 0xd1, 0x48, 0x7a, 0x19, 0x28, 0x20, 0xd0, + 0x34, 0x68, 0x98, 0x6f, 0x64, 0x00, 0x00, 0x1b, + 0x74, 0x68, 0x00, 0x19, 0xff, 0x30, 0x1c, 0x4c, + 0x39, 0x30, 0xa0, 0x42, 0x16, 0xd2, 0x48, 0x79, + 0x8c, 0x79, 0x00, 0x19, 0x30, 0x28, 0x3c, 0x00, + 0x54, 0x05, 0x01, 0x00, 0x11, 0xd3, 0x10, 0x22, + 0x0f, 0xe0, 0x5c, 0x6b, 0x01, 0x2c, 0x06, 0xd1, + 0xb0, 0x68, 0x9a, 0x6a, 0x90, 0x42, 0x00, 0xd1, + 0x4d, 0x72, 0x00, 0x22, 0x05, 0xe0, 0x9c, 0x6f, + 0x00, 0x1b, 0x12, 0x4c, 0xa0, 0x42, 0x00, 0xd3, + 0x20, 0x22, 0x06, 0xe0, 0x4a, 0x7a, 0x19, 0x2a, + 0x01, 0xd2, 0x01, 0x32, 0x4a, 0x72, 0x20, 0x22, + 0xb0, 0x60, 0x30, 0x68, 0x9b, 0x6f, 0x98, 0x42, + 0x3c, 0x00, 0x90, 0x05, 0x01, 0x00, 0x04, 0xd1, + 0x00, 0x2a, 0x00, 0xd1, 0x48, 0x79, 0x4a, 0x71, + 0x06, 0xe0, 0x10, 0x2a, 0x04, 0xd3, 0x70, 0x60, + 0x33, 0x60, 0x48, 0x79, 0x88, 0x71, 0xf6, 0xe7, + 0xca, 0x71, 0x70, 0xbd, 0x00, 0x00, 0xa4, 0x6c, + 0x01, 0x00, 0xa3, 0x04, 0x00, 0x00, 0x71, 0x02, + 0x00, 0x00, 0x35, 0x0c, 0x00, 0x00, 0x05, 0x48, + 0x80, 0xb5, 0x81, 0x7b, 0x00, 0x29, 0x05, 0xd0, + 0x00, 0x21, 0x3c, 0x00, 0xcc, 0x05, 0x01, 0x00, + 0x81, 0x73, 0x03, 0x49, 0x0f, 0x20, 0x01, 0xf0, + 0x0f, 0xff, 0x80, 0xbd, 0x74, 0x66, 0x01, 0x00, + 0xe9, 0x03, 0x01, 0x00, 0xf8, 0xb5, 0x04, 0x1c, + 0x02, 0xf0, 0xe2, 0xfb, 0x05, 0x1c, 0x38, 0x4e, + 0x20, 0x1c, 0x37, 0x49, 0x34, 0x1c, 0xa0, 0x34, + 0x10, 0x22, 0x44, 0x39, 0x01, 0x28, 0x2c, 0xd0, + 0x04, 0x28, 0x4e, 0xd1, 0x37, 0x1c, 0x74, 0x36, + 0x09, 0xce, 0x26, 0x78, 0x3c, 0x00, 0x08, 0x06, + 0x01, 0x00, 0xc0, 0x1a, 0x20, 0x2e, 0x04, 0xd1, + 0x30, 0x4e, 0xb0, 0x42, 0x01, 0xd9, 0x00, 0x26, + 0x4e, 0x61, 0x3e, 0x1c, 0x3f, 0x6c, 0x00, 0x2f, + 0x48, 0xd1, 0x77, 0x6c, 0x00, 0x2f, 0x45, 0xd1, + 0xb7, 0x6a, 0x00, 0x2f, 0x3d, 0xd0, 0x77, 0x6b, + 0x00, 0x2f, 0x3a, 0xd0, 0x27, 0x4f, 0xb8, 0x42, + 0x37, 0xd2, 0x60, 0x78, 0x10, 0x28, 0x06, 0xd3, + 0xf0, 0x6f, 0x18, 0x1a, 0x24, 0x4b, 0x3c, 0x00, + 0x44, 0x06, 0x01, 0x00, 0x98, 0x42, 0x01, 0xd2, + 0xe2, 0x70, 0xf5, 0x66, 0x48, 0x69, 0x06, 0x28, + 0x2f, 0xd2, 0x01, 0x30, 0x2c, 0xe0, 0x20, 0x78, + 0x20, 0x28, 0x01, 0xd1, 0x06, 0x23, 0x4b, 0x61, + 0x02, 0x23, 0x23, 0x71, 0xb3, 0x6a, 0x00, 0x2b, + 0x19, 0xd0, 0x49, 0x69, 0x03, 0x29, 0x16, 0xd9, + 0x71, 0x6b, 0x73, 0x6d, 0x59, 0x40, 0x12, 0xd0, + 0xe1, 0x78, 0x10, 0x29, 0x10, 0xd3, 0x61, 0x78, + 0x3c, 0x00, 0x80, 0x06, 0x01, 0x00, 0x33, 0x1c, + 0x10, 0x29, 0x0c, 0xd3, 0xd9, 0x6f, 0x69, 0x1a, + 0x13, 0x4d, 0xa9, 0x42, 0x07, 0xd2, 0x58, 0x6c, + 0x00, 0x28, 0x02, 0xd0, 0x98, 0x6c, 0x00, 0x28, + 0x00, 0xd1, 0x22, 0x71, 0xf8, 0xbd, 0x02, 0x28, + 0xfc, 0xd1, 0x22, 0x70, 0xfa, 0xe7, 0x48, 0x69, + 0x00, 0x28, 0x01, 0xd0, 0x01, 0x38, 0x48, 0x61, + 0x0a, 0x49, 0xf0, 0x6e, 0x40, 0x18, 0x02, 0xf0, + 0xb0, 0xfa, 0x3c, 0x00, 0xbc, 0x06, 0x01, 0x00, + 0x00, 0x28, 0xee, 0xd0, 0x01, 0x20, 0xe0, 0x70, + 0x06, 0x48, 0x28, 0x18, 0xf0, 0x66, 0xe8, 0xe7, + 0xa4, 0x6c, 0x01, 0x00, 0xe2, 0x04, 0x00, 0x00, + 0x1a, 0x06, 0x00, 0x00, 0x53, 0x07, 0x00, 0x00, + 0x00, 0x2d, 0x31, 0x01, 0x00, 0x5a, 0x62, 0x02, + 0x80, 0xb5, 0x41, 0x68, 0x09, 0x79, 0xc9, 0x07, + 0x13, 0xd5, 0xc1, 0x69, 0x00, 0x29, 0x0d, 0xd0, + 0x89, 0x79, 0x02, 0x29, 0x3c, 0x00, 0xf8, 0x06, + 0x01, 0x00, 0x0a, 0xd1, 0x08, 0x21, 0x01, 0x86, + 0x01, 0x1c, 0x38, 0x31, 0x81, 0x62, 0x02, 0x1c, + 0x06, 0x48, 0x04, 0x49, 0xf9, 0xf7, 0xfd, 0xfc, + 0x80, 0xbd, 0xf7, 0xf7, 0xdc, 0xfb, 0x80, 0xbd, + 0xf7, 0xf7, 0x23, 0xfb, 0x80, 0xbd, 0xb9, 0x71, + 0x00, 0x00, 0xa0, 0x6a, 0x01, 0x00, 0x10, 0xb5, + 0x00, 0x24, 0x00, 0x28, 0x03, 0xd0, 0x02, 0xf0, + 0xe8, 0xfe, 0x00, 0x28, 0x17, 0xd0, 0x3c, 0x00, + 0x34, 0x07, 0x01, 0x00, 0x0c, 0x4c, 0x01, 0x20, + 0xa0, 0x72, 0x20, 0x68, 0x00, 0x21, 0x41, 0x62, + 0x0a, 0x49, 0x02, 0x68, 0xc9, 0x78, 0x60, 0x32, + 0x91, 0x71, 0x21, 0x89, 0x01, 0x31, 0x21, 0x81, + 0x00, 0x68, 0x40, 0x30, 0x81, 0x83, 0xfb, 0xf7, + 0x31, 0xfc, 0x20, 0x68, 0x00, 0x68, 0xfc, 0xf7, + 0xa1, 0xf9, 0x01, 0x24, 0x20, 0x1c, 0x10, 0xbd, + 0x14, 0x7a, 0x01, 0x00, 0x0e, 0x61, 0x01, 0x00, + 0x3c, 0x00, 0x70, 0x07, 0x01, 0x00, 0x7f, 0xb5, + 0x06, 0x1c, 0x1e, 0x48, 0x1d, 0x1c, 0x43, 0x88, + 0x02, 0x88, 0x1c, 0x21, 0x00, 0x20, 0x90, 0xb0, + 0xf0, 0xf7, 0x45, 0xff, 0x03, 0x90, 0x04, 0x68, + 0xff, 0x21, 0x01, 0x31, 0x21, 0x80, 0x08, 0x20, + 0x60, 0x80, 0x06, 0x20, 0x20, 0x71, 0x04, 0x20, + 0x60, 0x71, 0xc0, 0x01, 0x00, 0x2d, 0x00, 0xd1, + 0x08, 0x1c, 0xe0, 0x80, 0x01, 0xa8, 0x02, 0x30, + 0x31, 0x1c, 0x3c, 0x00, 0xac, 0x07, 0x01, 0x00, + 0x05, 0x1c, 0xfa, 0xf7, 0x5f, 0xfa, 0x10, 0x49, + 0x68, 0x46, 0xfa, 0xf7, 0x5b, 0xfa, 0x20, 0x1c, + 0x08, 0x30, 0x69, 0x46, 0xfa, 0xf7, 0x56, 0xfa, + 0x29, 0x1c, 0x20, 0x1c, 0x12, 0x30, 0xfa, 0xf7, + 0x51, 0xfa, 0x10, 0xab, 0x98, 0x88, 0x00, 0x22, + 0x01, 0x21, 0x20, 0x83, 0xd8, 0x88, 0x60, 0x83, + 0x18, 0x89, 0xe0, 0x81, 0x58, 0x89, 0x20, 0x82, + 0x68, 0x46, 0xf9, 0xf7, 0x3c, 0x00, 0xe8, 0x07, + 0x01, 0x00, 0x17, 0xff, 0x14, 0xb0, 0x70, 0xbd, + 0x00, 0x00, 0x14, 0x6e, 0x01, 0x00, 0x12, 0x61, + 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x18, 0x48, + 0x25, 0x1c, 0x00, 0x78, 0x60, 0x35, 0x80, 0x07, + 0x00, 0x28, 0x08, 0xda, 0xe8, 0x79, 0x00, 0x28, + 0x05, 0xd0, 0xf4, 0xf7, 0x70, 0xff, 0x01, 0x1c, + 0x20, 0x1c, 0x00, 0xf0, 0x78, 0xf9, 0x29, 0x88, + 0x2e, 0x20, 0x00, 0x5d, 0xf2, 0xf7, 0x3c, 0x00, + 0x24, 0x08, 0x01, 0x00, 0x9f, 0xfa, 0xe8, 0x79, + 0x00, 0x28, 0x0b, 0xd1, 0x20, 0x1c, 0x40, 0x30, + 0x01, 0x8b, 0x22, 0x69, 0x11, 0x80, 0x41, 0x8b, + 0x22, 0x69, 0x51, 0x80, 0x80, 0x8b, 0x21, 0x69, + 0xc8, 0x82, 0x07, 0xe0, 0x01, 0x28, 0x05, 0xd1, + 0x20, 0x69, 0x01, 0x22, 0x01, 0x88, 0xd2, 0x02, + 0x11, 0x43, 0x01, 0x80, 0x6a, 0x7a, 0xe0, 0x68, + 0x02, 0x49, 0xf2, 0xf7, 0x53, 0xfa, 0xb0, 0xbd, + 0x3c, 0x00, 0x60, 0x08, 0x01, 0x00, 0x1d, 0x75, + 0x01, 0x00, 0xd1, 0x4f, 0x00, 0x00, 0x90, 0xb5, + 0x04, 0x1c, 0x38, 0x23, 0x0c, 0x49, 0x58, 0x43, + 0x43, 0x18, 0x85, 0xb0, 0x00, 0x20, 0x0a, 0x49, + 0x02, 0x90, 0x18, 0x1c, 0x01, 0x22, 0x03, 0x91, + 0x09, 0x49, 0x04, 0x92, 0x30, 0x30, 0x42, 0x78, + 0x09, 0x88, 0x01, 0x92, 0x00, 0x91, 0x01, 0x78, + 0x5a, 0x6b, 0x0c, 0x33, 0x20, 0x1c, 0xfb, 0xf7, + 0x7c, 0xf8, 0x3c, 0x00, 0x9c, 0x08, 0x01, 0x00, + 0x05, 0xb0, 0x90, 0xbd, 0xd4, 0xe4, 0x01, 0x00, + 0x5d, 0x4e, 0x00, 0x00, 0x48, 0x7b, 0x01, 0x00, + 0x90, 0xb5, 0x85, 0xb0, 0x03, 0x1c, 0x00, 0x20, + 0x02, 0x90, 0x0a, 0x49, 0x18, 0x1c, 0x00, 0x22, + 0x04, 0x92, 0x60, 0x30, 0x03, 0x91, 0xc2, 0x79, + 0x01, 0x88, 0x01, 0x92, 0x00, 0x91, 0x5a, 0x6a, + 0xdc, 0x68, 0x20, 0x33, 0x99, 0x7b, 0x40, 0x7a, + 0x23, 0x1c, 0xfb, 0xf7, 0x3c, 0x00, 0xd8, 0x08, + 0x01, 0x00, 0x5d, 0xf8, 0x05, 0xb0, 0x90, 0xbd, + 0x00, 0x00, 0x0d, 0x4f, 0x00, 0x00, 0x07, 0x49, + 0x80, 0xb5, 0x88, 0x6a, 0x00, 0x28, 0x08, 0xd1, + 0x01, 0x20, 0x88, 0x62, 0xf0, 0xf7, 0xaf, 0xfc, + 0x01, 0x1c, 0x03, 0x48, 0x00, 0x22, 0xf2, 0xf7, + 0xb8, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x41, 0xe4, 0x00, 0x00, 0xf0, 0xb5, + 0x9b, 0xb0, 0x00, 0x28, 0x20, 0xd0, 0x3c, 0x00, + 0x14, 0x09, 0x01, 0x00, 0x01, 0x1c, 0x08, 0xa8, + 0xfc, 0xf7, 0xb2, 0xfd, 0x01, 0x20, 0x11, 0x90, + 0x03, 0x20, 0x10, 0xad, 0x28, 0x72, 0x04, 0x20, + 0x68, 0x72, 0x05, 0xa8, 0x00, 0x22, 0x69, 0x46, + 0xf4, 0xf7, 0x00, 0xff, 0x00, 0x24, 0x00, 0x26, + 0x05, 0xa9, 0x00, 0x20, 0xf9, 0xf7, 0xfc, 0xfa, + 0x69, 0x46, 0xf9, 0xf7, 0xf9, 0xfa, 0x0b, 0x90, + 0x08, 0xa8, 0xfc, 0xf7, 0xbb, 0xfd, 0x01, 0x34, + 0x3c, 0x00, 0x50, 0x09, 0x01, 0x00, 0x02, 0x2c, + 0x2e, 0x72, 0xf0, 0xdb, 0x1b, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0x90, 0xb5, 0x04, 0x1c, 0x4c, 0x23, + 0x0c, 0x49, 0x58, 0x43, 0x43, 0x18, 0x85, 0xb0, + 0x00, 0x20, 0x0a, 0x49, 0x02, 0x90, 0x00, 0x22, + 0x04, 0x92, 0x3c, 0x20, 0x03, 0x91, 0xc2, 0x5c, + 0x08, 0x48, 0x41, 0x88, 0x01, 0x92, 0x41, 0x20, + 0x00, 0x91, 0xc1, 0x5c, 0x5a, 0x68, 0x08, 0x33, + 0x20, 0x1c, 0x3c, 0x00, 0x8c, 0x09, 0x01, 0x00, + 0xfb, 0xf7, 0x02, 0xf8, 0x05, 0xb0, 0x90, 0xbd, + 0x58, 0xe3, 0x01, 0x00, 0x75, 0x4f, 0x00, 0x00, + 0x3c, 0x7c, 0x01, 0x00, 0xf8, 0xb5, 0x0e, 0x1c, + 0x22, 0x4c, 0x38, 0x21, 0x17, 0x1c, 0x05, 0x1c, + 0x20, 0x1c, 0xef, 0xf7, 0x75, 0xfd, 0x23, 0x1c, + 0x25, 0x33, 0x21, 0x1c, 0x24, 0x31, 0x10, 0x20, + 0x6a, 0x46, 0xf9, 0xf7, 0x1d, 0xf8, 0x00, 0xab, + 0x18, 0x88, 0x07, 0x21, 0x3c, 0x00, 0xc8, 0x09, + 0x01, 0x00, 0x1a, 0x4a, 0x02, 0x38, 0x20, 0x84, + 0x20, 0x1c, 0x20, 0x30, 0x81, 0x70, 0xc5, 0x70, + 0x11, 0x1c, 0x06, 0x73, 0x47, 0x73, 0x34, 0x31, + 0x21, 0x63, 0x30, 0x32, 0x62, 0x63, 0x01, 0x79, + 0x25, 0x1c, 0x10, 0x35, 0x21, 0x81, 0x20, 0x60, + 0xe5, 0x60, 0x18, 0x88, 0x40, 0x1a, 0x20, 0x83, + 0x20, 0x1c, 0x28, 0x30, 0x20, 0x61, 0x20, 0x1c, + 0xf9, 0xf7, 0x11, 0xf8, 0x0d, 0x48, 0x3c, 0x00, + 0x04, 0x0a, 0x01, 0x00, 0x00, 0x68, 0x00, 0x28, + 0x07, 0xd0, 0x06, 0x21, 0x20, 0x1c, 0xf8, 0xf7, + 0x47, 0xfd, 0x10, 0x21, 0x28, 0x1c, 0xf8, 0xf7, + 0x43, 0xfd, 0x08, 0x48, 0x02, 0x21, 0x01, 0x62, + 0x44, 0x62, 0x01, 0x21, 0x01, 0x62, 0x06, 0x48, + 0x00, 0x68, 0xef, 0xf7, 0xd5, 0xfc, 0xf8, 0xbd, + 0x8c, 0x8e, 0x01, 0x00, 0xe4, 0xfe, 0x01, 0x00, + 0xcc, 0x5c, 0x01, 0x00, 0x00, 0x30, 0x07, 0x00, + 0x3c, 0x00, 0x40, 0x0a, 0x01, 0x00, 0x5c, 0x5b, + 0x01, 0x00, 0xf0, 0xb5, 0x06, 0x1c, 0x40, 0x36, + 0x31, 0x8b, 0x04, 0x1c, 0x25, 0x1c, 0x08, 0x07, + 0x80, 0x0f, 0x60, 0x35, 0x01, 0x28, 0x85, 0xb0, + 0x3b, 0xd0, 0xe8, 0x79, 0x00, 0x28, 0x05, 0xd1, + 0x20, 0x69, 0x01, 0x80, 0xb0, 0x8b, 0x21, 0x69, + 0xc8, 0x82, 0x07, 0xe0, 0x01, 0x28, 0x05, 0xd1, + 0x20, 0x69, 0x01, 0x22, 0x01, 0x88, 0xd2, 0x02, + 0x11, 0x43, 0x3c, 0x00, 0x7c, 0x0a, 0x01, 0x00, + 0x01, 0x80, 0x20, 0x48, 0x00, 0x78, 0x80, 0x07, + 0x26, 0xd5, 0xe8, 0x79, 0x00, 0x28, 0x23, 0xd0, + 0xa0, 0x6b, 0x00, 0x28, 0x1c, 0xd0, 0xf4, 0xf7, + 0x2f, 0xfe, 0x00, 0x28, 0x09, 0xd0, 0xb8, 0x21, + 0x09, 0x58, 0x00, 0x29, 0x05, 0xd0, 0x30, 0x21, + 0x09, 0x5d, 0xb4, 0x30, 0x08, 0x18, 0x07, 0x7a, + 0x00, 0xe0, 0x00, 0x27, 0x01, 0x21, 0x38, 0x1c, + 0xfa, 0xf7, 0x86, 0xf9, 0x3c, 0x00, 0xb8, 0x0a, + 0x01, 0x00, 0x04, 0x90, 0x20, 0x69, 0x04, 0x30, + 0x39, 0x1c, 0xf4, 0xf7, 0x6c, 0xfd, 0x04, 0x99, + 0xfa, 0xf7, 0xd3, 0xf9, 0x02, 0xe0, 0x20, 0x1c, + 0xf7, 0xf7, 0xf9, 0xfb, 0x70, 0x83, 0x70, 0x8b, + 0x21, 0x69, 0x00, 0x22, 0x48, 0x80, 0x09, 0x49, + 0x0a, 0x48, 0x04, 0x92, 0x03, 0x91, 0x02, 0x90, + 0xea, 0x79, 0x29, 0x88, 0x01, 0x92, 0x00, 0x91, + 0x62, 0x6a, 0xe3, 0x68, 0x20, 0x34, 0x3c, 0x00, + 0xf4, 0x0a, 0x01, 0x00, 0xa1, 0x7b, 0x68, 0x7a, + 0xfa, 0xf7, 0x4c, 0xff, 0x05, 0xb0, 0xf0, 0xbd, + 0x1d, 0x75, 0x01, 0x00, 0xd1, 0x4f, 0x00, 0x00, + 0xdd, 0x2f, 0x01, 0x00, 0xfe, 0xb5, 0x04, 0x1c, + 0x26, 0x1c, 0x01, 0x20, 0x20, 0x36, 0x00, 0x29, + 0x02, 0x90, 0x2e, 0xd0, 0x58, 0x20, 0x00, 0x5b, + 0x00, 0x07, 0x80, 0x0f, 0x01, 0x28, 0x01, 0xd1, + 0xcc, 0x31, 0x00, 0xe0, 0xb4, 0x31, 0x48, 0x68, + 0x3c, 0x00, 0x30, 0x0b, 0x01, 0x00, 0x0d, 0x1c, + 0x00, 0x28, 0x24, 0xd0, 0x20, 0x1c, 0x60, 0x30, + 0xc2, 0x79, 0x01, 0x21, 0x01, 0x2a, 0x00, 0xd0, + 0x00, 0x21, 0x27, 0x1c, 0x62, 0x6d, 0x30, 0x37, + 0x00, 0x2a, 0x04, 0xd0, 0x3a, 0x1c, 0x28, 0x1c, + 0xf6, 0xf7, 0xe7, 0xfd, 0x07, 0xe0, 0x42, 0x7a, + 0x23, 0x1c, 0x68, 0x33, 0x00, 0x92, 0x3a, 0x1c, + 0x28, 0x1c, 0xf6, 0xf7, 0x9a, 0xfd, 0x02, 0x90, + 0x38, 0x78, 0x3c, 0x00, 0x6c, 0x0b, 0x01, 0x00, + 0x40, 0x19, 0x00, 0x7a, 0x01, 0x21, 0xb0, 0x73, + 0xfa, 0xf7, 0x26, 0xf9, 0x01, 0xe0, 0x00, 0x20, + 0xb0, 0x73, 0x60, 0x62, 0xb0, 0x7b, 0x0d, 0x28, + 0x01, 0xd9, 0xf0, 0xf7, 0xbb, 0xfb, 0x02, 0x98, + 0xfe, 0xbd, 0x00, 0x00, 0xff, 0xb5, 0x04, 0x1c, + 0x80, 0x30, 0x25, 0x1c, 0x5e, 0x35, 0x00, 0x78, + 0xae, 0x1d, 0xaf, 0x1f, 0x00, 0x28, 0x83, 0xb0, + 0x12, 0xd1, 0xf4, 0xf7, 0x3c, 0x00, 0xa8, 0x0b, + 0x01, 0x00, 0xc7, 0xfb, 0x00, 0x28, 0x07, 0xd0, + 0x06, 0x98, 0x05, 0x99, 0x02, 0x90, 0x04, 0x98, + 0x01, 0x90, 0xa6, 0x61, 0x67, 0x61, 0x0d, 0xe0, + 0x04, 0x98, 0x06, 0x99, 0x02, 0x90, 0x05, 0x98, + 0x01, 0x90, 0x66, 0x61, 0x05, 0xe0, 0x04, 0xa9, + 0x03, 0xc9, 0x02, 0x90, 0x06, 0x98, 0x01, 0x90, + 0x67, 0x61, 0xa5, 0x61, 0x06, 0x22, 0x38, 0x1c, + 0xef, 0xf7, 0x8b, 0xfc, 0x06, 0x22, 0x3c, 0x00, + 0xe4, 0x0b, 0x01, 0x00, 0x28, 0x1c, 0x02, 0x99, + 0xef, 0xf7, 0x86, 0xfc, 0x06, 0x22, 0x30, 0x1c, + 0x01, 0x99, 0xef, 0xf7, 0x81, 0xfc, 0x07, 0xb0, + 0xf0, 0xbd, 0x00, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x05, 0x28, 0x01, 0xd3, 0xf0, 0xf7, + 0x7b, 0xfb, 0x02, 0x49, 0xa0, 0x00, 0x08, 0x58, + 0x85, 0x60, 0xb0, 0xbd, 0x10, 0x7b, 0x01, 0x00, + 0xf8, 0xb5, 0xff, 0xf7, 0x59, 0xf9, 0x05, 0x1c, + 0x3c, 0x00, 0x20, 0x0c, 0x01, 0x00, 0xfe, 0xf7, + 0xe8, 0xff, 0x04, 0x1c, 0x28, 0x1c, 0xff, 0xf7, + 0x58, 0xf9, 0x00, 0x28, 0x42, 0xd0, 0x69, 0x1e, + 0x21, 0x4d, 0x4a, 0x00, 0x20, 0x4b, 0x1c, 0x3d, + 0xae, 0x5c, 0x98, 0x5c, 0x30, 0x40, 0xd6, 0x18, + 0x01, 0x23, 0xf6, 0x56, 0x52, 0x19, 0xd2, 0x56, + 0x96, 0x42, 0x01, 0xdd, 0x15, 0x1c, 0x00, 0xe0, + 0x35, 0x1c, 0x18, 0x4b, 0x2a, 0x3b, 0x59, 0x56, + 0x51, 0x18, 0x3c, 0x00, 0x5c, 0x0c, 0x01, 0x00, + 0xb1, 0x42, 0x00, 0xdb, 0x31, 0x1c, 0x0e, 0x1c, + 0x00, 0x28, 0x26, 0xd0, 0xfe, 0xf7, 0xbe, 0xff, + 0x00, 0x90, 0x00, 0xab, 0x18, 0x78, 0x12, 0x49, + 0x00, 0x23, 0xc9, 0x56, 0x00, 0xab, 0x15, 0x22, + 0x10, 0x1a, 0x5b, 0x78, 0x00, 0x1b, 0x40, 0x18, + 0xd2, 0x1a, 0x12, 0x1b, 0x51, 0x18, 0x00, 0x22, + 0x85, 0x42, 0x02, 0xdb, 0x00, 0xab, 0x1a, 0x70, + 0x02, 0xe0, 0x40, 0x1b, 0x3c, 0x00, 0x98, 0x0c, + 0x01, 0x00, 0x00, 0xab, 0x18, 0x70, 0x8e, 0x42, + 0x02, 0xdb, 0x00, 0xab, 0x5a, 0x70, 0x02, 0xe0, + 0x88, 0x1b, 0x00, 0xab, 0x58, 0x70, 0x00, 0x98, + 0xff, 0xf7, 0x8d, 0xf8, 0x01, 0xf0, 0xff, 0xf8, + 0xf8, 0xbd, 0xe6, 0x78, 0x01, 0x00, 0x65, 0x73, + 0x01, 0x00, 0x70, 0xb5, 0x08, 0x4e, 0x06, 0x4d, + 0x00, 0x24, 0x06, 0x20, 0x60, 0x43, 0x80, 0x19, + 0x06, 0x22, 0x29, 0x1c, 0xef, 0xf7, 0x3c, 0x00, + 0xd4, 0x0c, 0x01, 0x00, 0x11, 0xfc, 0x01, 0x34, + 0x05, 0x2c, 0xf5, 0xdb, 0x70, 0xbd, 0x00, 0x00, + 0x4e, 0x47, 0x01, 0x00, 0xe6, 0x7a, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0x01, 0x68, 0x03, 0x48, + 0xfe, 0xf7, 0x42, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0xa8, 0x79, 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0x01, 0x68, 0x03, 0x48, + 0xfe, 0xf7, 0x4a, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x0d, 0x01, 0x00, 0xa8, 0x79, + 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, 0x10, 0xb5, + 0x00, 0x28, 0x0a, 0xd0, 0x06, 0x4c, 0xa1, 0x69, + 0x00, 0x29, 0x01, 0xd1, 0x00, 0x20, 0x00, 0xe0, + 0x09, 0x68, 0xf7, 0xf7, 0x38, 0xfb, 0xa0, 0x61, + 0x10, 0xbd, 0x00, 0x20, 0x10, 0xbd, 0xa4, 0x6e, + 0x01, 0x00, 0xf3, 0xb5, 0x37, 0x48, 0x83, 0xb0, + 0x02, 0x90, 0x80, 0x79, 0x0e, 0x1c, 0x00, 0x27, + 0x01, 0x90, 0x3c, 0x00, 0x4c, 0x0d, 0x01, 0x00, + 0x34, 0x48, 0x35, 0x4a, 0x01, 0x6a, 0x03, 0x9c, + 0x03, 0x1c, 0x1b, 0x69, 0xa1, 0x42, 0x01, 0xd0, + 0x93, 0x61, 0x00, 0xe0, 0x53, 0x61, 0x31, 0x49, + 0x8a, 0x68, 0x96, 0x42, 0x3f, 0xd0, 0x2d, 0x48, + 0x8e, 0x60, 0xc1, 0x68, 0x00, 0x24, 0x25, 0x1c, + 0x00, 0x29, 0x2d, 0x48, 0x09, 0xd0, 0x00, 0x2e, + 0x0b, 0xd0, 0x28, 0x48, 0x01, 0x24, 0xc0, 0x6a, + 0x24, 0x03, 0x00, 0x28, 0x3c, 0x00, 0x88, 0x0d, + 0x01, 0x00, 0x06, 0xd0, 0x01, 0x27, 0x04, 0xe0, + 0x00, 0x2e, 0x01, 0xd0, 0x05, 0x1c, 0xf9, 0xe7, + 0x04, 0x1c, 0x00, 0x2f, 0x06, 0xd0, 0xfb, 0xf7, + 0x1e, 0xfb, 0x1f, 0x48, 0x01, 0x68, 0x22, 0x48, + 0xfe, 0xf7, 0xfb, 0xfa, 0x20, 0x1c, 0x28, 0x43, + 0x0e, 0xd0, 0x2a, 0x1c, 0x21, 0x1c, 0x01, 0x20, + 0x02, 0xf0, 0x21, 0xfe, 0x2a, 0x1c, 0x21, 0x1c, + 0x02, 0x20, 0x02, 0xf0, 0x1c, 0xfe, 0x3c, 0x00, + 0xc4, 0x0d, 0x01, 0x00, 0x2a, 0x1c, 0x21, 0x1c, + 0x03, 0x20, 0x02, 0xf0, 0x17, 0xfe, 0x00, 0x2f, + 0x06, 0xd1, 0x13, 0x48, 0x01, 0x68, 0x16, 0x48, + 0xfe, 0xf7, 0xce, 0xfa, 0xfa, 0xf7, 0x42, 0xfd, + 0x03, 0x9c, 0x00, 0x2c, 0x01, 0xd1, 0x01, 0xf0, + 0xe1, 0xff, 0x01, 0xa9, 0x03, 0xc9, 0x88, 0x71, + 0x01, 0xf0, 0xdc, 0xff, 0x0a, 0x4c, 0x0a, 0x4b, + 0x44, 0x3c, 0xa1, 0x69, 0x22, 0x69, 0x08, 0x3b, + 0x3c, 0x00, 0x00, 0x0e, 0x01, 0x00, 0x41, 0x1a, + 0x00, 0x2a, 0x03, 0xd0, 0x1a, 0x68, 0x51, 0x18, + 0x19, 0x60, 0x02, 0xe0, 0x5a, 0x68, 0x51, 0x18, + 0x59, 0x60, 0xa0, 0x61, 0x26, 0x61, 0x05, 0xb0, + 0xf0, 0xbd, 0x20, 0x10, 0x07, 0x00, 0xa4, 0x6c, + 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, 0xb0, 0x57, + 0x01, 0x00, 0x00, 0x10, 0x60, 0x00, 0x84, 0x73, + 0x01, 0x00, 0x1c, 0xb5, 0x4c, 0x23, 0x08, 0x49, + 0x58, 0x43, 0x3c, 0x00, 0x3c, 0x0e, 0x01, 0x00, + 0x44, 0x18, 0x20, 0x1c, 0x40, 0x30, 0x41, 0x78, + 0x62, 0x68, 0x00, 0x91, 0x01, 0x92, 0x3f, 0x21, + 0x0b, 0x5d, 0x61, 0x8f, 0x00, 0x78, 0x62, 0x6c, + 0xfa, 0xf7, 0x28, 0xf8, 0xa0, 0x85, 0x1c, 0xbd, + 0x58, 0xe3, 0x01, 0x00, 0xb0, 0xb5, 0x16, 0x4d, + 0xa9, 0x69, 0x00, 0x29, 0x25, 0xd0, 0x2c, 0x1c, + 0x30, 0x34, 0x20, 0x7a, 0x00, 0x28, 0x20, 0xd0, + 0x00, 0x23, 0x81, 0x22, 0x3c, 0x00, 0x78, 0x0e, + 0x01, 0x00, 0x18, 0x20, 0x02, 0xf0, 0x89, 0xfc, + 0x20, 0x7a, 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, + 0x20, 0x72, 0x12, 0xd1, 0x0c, 0x48, 0x28, 0x21, + 0x2c, 0x38, 0x09, 0x5c, 0x21, 0x72, 0x29, 0x7a, + 0x00, 0x29, 0x01, 0xd1, 0x00, 0x6a, 0x00, 0xe0, + 0x40, 0x6a, 0xa9, 0x69, 0x80, 0x02, 0x81, 0x42, + 0x03, 0xd2, 0x49, 0x00, 0x81, 0x42, 0x01, 0xd2, + 0xa9, 0x61, 0xb0, 0xbd, 0xa8, 0x61, 0x3c, 0x00, + 0xb4, 0x0e, 0x01, 0x00, 0xb0, 0xbd, 0x01, 0xf0, + 0x1d, 0xf9, 0xb0, 0xbd, 0xf4, 0x6e, 0x01, 0x00, + 0x7f, 0xb5, 0x05, 0x1c, 0x04, 0x20, 0x6b, 0x46, + 0x1b, 0x18, 0x02, 0x90, 0x00, 0x26, 0x28, 0x18, + 0x6a, 0x46, 0x02, 0xa9, 0xfc, 0xf7, 0x8a, 0xfb, + 0x00, 0x28, 0x06, 0xd1, 0x00, 0xab, 0x18, 0x79, + 0x04, 0x28, 0x08, 0xd0, 0x18, 0x79, 0x03, 0x28, + 0x05, 0xd0, 0x00, 0xab, 0x18, 0x79, 0x10, 0x21, + 0x3c, 0x00, 0xf0, 0x0e, 0x01, 0x00, 0x08, 0x43, + 0x04, 0xb0, 0x70, 0xbd, 0x03, 0xa9, 0xe8, 0x68, + 0xf6, 0xf7, 0xd3, 0xff, 0x00, 0x28, 0x05, 0xd0, + 0x03, 0x98, 0x20, 0x21, 0x08, 0x43, 0x00, 0x06, + 0x00, 0x0e, 0xf1, 0xe7, 0x03, 0xa9, 0x00, 0x20, + 0xf6, 0xf7, 0xc7, 0xff, 0x04, 0x1c, 0x01, 0xd1, + 0x02, 0x20, 0xe9, 0xe7, 0xe8, 0x68, 0x00, 0xab, + 0x20, 0x60, 0x00, 0x98, 0x60, 0x60, 0x18, 0x79, + 0xa0, 0x76, 0x3c, 0x00, 0x2c, 0x0f, 0x01, 0x00, + 0xa8, 0x8c, 0x60, 0x76, 0xe8, 0x69, 0x20, 0x61, + 0x68, 0x8c, 0xa0, 0x82, 0x28, 0x8c, 0x20, 0x76, + 0x69, 0x69, 0x09, 0x48, 0x81, 0x42, 0x00, 0xd9, + 0x08, 0x1c, 0xa0, 0x60, 0x20, 0x1c, 0x02, 0xf0, + 0xa1, 0xfd, 0xa1, 0x68, 0x00, 0x29, 0x04, 0xd0, + 0x03, 0x9a, 0xa1, 0x32, 0x08, 0x20, 0x02, 0xf0, + 0x37, 0xfb, 0x30, 0x1c, 0xc7, 0xe7, 0x00, 0x00, + 0xa0, 0x86, 0x01, 0x00, 0x3c, 0x00, 0x68, 0x0f, + 0x01, 0x00, 0xfe, 0xb5, 0x06, 0x1c, 0x40, 0x78, + 0x01, 0x24, 0x06, 0x28, 0x50, 0xd3, 0xc1, 0x1e, + 0x03, 0x20, 0xef, 0xf7, 0x5e, 0xfb, 0x00, 0x90, + 0x0e, 0x28, 0x49, 0xd8, 0x00, 0x20, 0x0a, 0xe0, + 0x41, 0x00, 0x09, 0x18, 0x89, 0x19, 0x4a, 0x79, + 0x89, 0x79, 0x51, 0x18, 0x01, 0x39, 0x0e, 0x29, + 0x00, 0xd9, 0x00, 0x24, 0x01, 0x30, 0x00, 0x99, + 0x88, 0x42, 0xf1, 0xdb, 0x00, 0x2c, 0x3c, 0x00, + 0xa4, 0x0f, 0x01, 0x00, 0x37, 0xd0, 0x03, 0x22, + 0xb1, 0x1c, 0x1b, 0x48, 0xef, 0xf7, 0xa4, 0xfa, + 0x1a, 0x4c, 0x1c, 0x21, 0x20, 0x1c, 0xef, 0xf7, + 0x4d, 0xfa, 0x00, 0x25, 0x28, 0xe0, 0x69, 0x00, + 0x49, 0x19, 0x02, 0x91, 0x8a, 0x19, 0x53, 0x79, + 0x15, 0x48, 0x43, 0x54, 0x93, 0x79, 0x0f, 0x18, + 0x7b, 0x70, 0xd3, 0x79, 0xbb, 0x70, 0x07, 0x23, + 0xd2, 0x56, 0x01, 0x92, 0x44, 0x5c, 0x0f, 0xe0, + 0x3c, 0x00, 0xe0, 0x0f, 0x01, 0x00, 0x20, 0x1c, + 0xfe, 0xf7, 0x7b, 0xff, 0x00, 0x28, 0x07, 0xd0, + 0x0c, 0x4a, 0x60, 0x00, 0x80, 0x18, 0x01, 0x21, + 0x10, 0x38, 0x81, 0x73, 0x01, 0x99, 0xc1, 0x73, + 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, 0x07, 0x48, + 0x02, 0x99, 0x40, 0x5c, 0x79, 0x78, 0x40, 0x18, + 0xa0, 0x42, 0xe8, 0xd8, 0x01, 0x35, 0x00, 0x98, + 0x85, 0x42, 0xd3, 0xdb, 0xfe, 0xbd, 0xe8, 0x62, + 0x01, 0x00, 0x3c, 0x00, 0x1c, 0x10, 0x01, 0x00, + 0xe6, 0x78, 0x01, 0x00, 0xeb, 0x62, 0x01, 0x00, + 0x01, 0x68, 0x0f, 0x29, 0x01, 0xdd, 0x0f, 0x21, + 0x01, 0x60, 0x01, 0x68, 0x00, 0x29, 0x01, 0xda, + 0x00, 0x21, 0x01, 0x60, 0x70, 0x47, 0x00, 0x00, + 0xf8, 0xb5, 0x04, 0x1c, 0x1e, 0x48, 0x22, 0x1d, + 0x05, 0x68, 0x00, 0x92, 0x16, 0x1c, 0x23, 0x1c, + 0x0f, 0x1c, 0xcc, 0x33, 0x2a, 0x1c, 0x20, 0x1c, + 0x70, 0x30, 0xa1, 0x6d, 0x3c, 0x00, 0x58, 0x10, + 0x01, 0x00, 0x00, 0xf0, 0x3e, 0xf9, 0x00, 0x96, + 0xa1, 0x6d, 0x27, 0x20, 0x01, 0x40, 0x23, 0x1c, + 0xe4, 0x33, 0x20, 0x1c, 0x2a, 0x1c, 0x5c, 0x30, + 0x00, 0xf0, 0x33, 0xf9, 0x13, 0x48, 0x00, 0x78, + 0x0e, 0x28, 0x01, 0xd2, 0x01, 0x25, 0x85, 0x40, + 0x11, 0x48, 0xa1, 0x69, 0x00, 0x78, 0x29, 0x40, + 0x00, 0x07, 0x0b, 0xd4, 0x48, 0x07, 0x03, 0xd5, + 0x08, 0x07, 0x01, 0xd5, 0x04, 0x20, 0x3c, 0x00, + 0x94, 0x10, 0x01, 0x00, 0x81, 0x43, 0x88, 0x06, + 0x03, 0xd5, 0x48, 0x06, 0x01, 0xd5, 0x20, 0x20, + 0x81, 0x43, 0x23, 0x1c, 0xb4, 0x33, 0x2a, 0x1c, + 0x20, 0x1c, 0x30, 0x30, 0x00, 0x96, 0x00, 0xf0, + 0x13, 0xf9, 0x39, 0x1c, 0x20, 0x1c, 0xf0, 0xf7, + 0x47, 0xfc, 0xf8, 0xbd, 0x2c, 0x7d, 0x01, 0x00, + 0x10, 0x67, 0x01, 0x00, 0x1d, 0x75, 0x01, 0x00, + 0xb0, 0xb5, 0xf2, 0xf7, 0x27, 0xfc, 0xfe, 0xf7, + 0x3c, 0x00, 0xd0, 0x10, 0x01, 0x00, 0x09, 0xf9, + 0x0f, 0x48, 0x00, 0x25, 0x45, 0x70, 0x0e, 0x48, + 0x0d, 0x4c, 0x00, 0x88, 0x5b, 0x34, 0xa0, 0x82, + 0xf9, 0xf7, 0x23, 0xfd, 0x20, 0x61, 0xa0, 0x8a, + 0x00, 0x28, 0x04, 0xd0, 0x01, 0x21, 0x89, 0x05, + 0xef, 0xf7, 0x0d, 0xfb, 0xe1, 0x82, 0x05, 0x48, + 0x01, 0x38, 0x45, 0x60, 0x01, 0xf0, 0x55, 0xfe, + 0x02, 0x1c, 0x23, 0x1c, 0x00, 0x21, 0x00, 0x20, + 0xf4, 0xf7, 0x3c, 0x00, 0x0c, 0x11, 0x01, 0x00, + 0x49, 0xfd, 0xb0, 0xbd, 0x45, 0x7d, 0x01, 0x00, + 0xf4, 0x67, 0x01, 0x00, 0x70, 0xb5, 0x16, 0x1c, + 0x5a, 0x89, 0x04, 0x1c, 0x04, 0x98, 0x92, 0x07, + 0x92, 0x0f, 0x00, 0x25, 0x00, 0x29, 0xa2, 0x71, + 0x09, 0xd0, 0x05, 0x21, 0xf9, 0xf7, 0x24, 0xfb, + 0x00, 0x28, 0x01, 0xd0, 0xc0, 0x78, 0x00, 0xe0, + 0x01, 0x20, 0xe0, 0x71, 0x00, 0xe0, 0xe5, 0x71, + 0xe5, 0x60, 0xa6, 0x60, 0x3c, 0x00, 0x48, 0x11, + 0x01, 0x00, 0x70, 0xbd, 0x00, 0x00, 0xfe, 0xb5, + 0x05, 0x1c, 0x0e, 0x22, 0x9c, 0x30, 0x16, 0x49, + 0xef, 0xf7, 0xcf, 0xf9, 0x29, 0x1c, 0x28, 0x1c, + 0x80, 0x30, 0x88, 0x31, 0x00, 0x24, 0x2f, 0x1c, + 0x60, 0x37, 0x02, 0x91, 0x01, 0x90, 0x20, 0x06, + 0x00, 0x0e, 0x06, 0x1c, 0xf9, 0xf7, 0x0d, 0xfe, + 0x00, 0x28, 0x03, 0xd0, 0x01, 0x98, 0x42, 0x68, + 0x02, 0x99, 0x01, 0xe0, 0xea, 0x6d, 0x3c, 0x00, + 0x84, 0x11, 0x01, 0x00, 0x39, 0x1c, 0x00, 0x2a, + 0x0d, 0xd0, 0x00, 0x20, 0x03, 0xe0, 0x0b, 0x5c, + 0xb3, 0x42, 0x02, 0xd8, 0x01, 0x30, 0x90, 0x42, + 0xf9, 0xdb, 0x08, 0x18, 0x10, 0x38, 0xc0, 0x7b, + 0x29, 0x19, 0x90, 0x31, 0x08, 0x73, 0x01, 0x34, + 0x0e, 0x2c, 0xdf, 0xd3, 0xfe, 0xbd, 0x00, 0x00, + 0xcc, 0x47, 0x01, 0x00, 0xff, 0xb5, 0x81, 0xb0, + 0x14, 0x1c, 0x10, 0x1c, 0x06, 0x22, 0x0d, 0x1c, + 0x3c, 0x00, 0xc0, 0x11, 0x01, 0x00, 0x19, 0x1c, + 0x0b, 0x9e, 0x0a, 0x9f, 0xef, 0xf7, 0x97, 0xf9, + 0x06, 0x22, 0x39, 0x1c, 0xa0, 0x18, 0xef, 0xf7, + 0x92, 0xf9, 0xe6, 0x60, 0x2c, 0x60, 0x10, 0x20, + 0x28, 0x81, 0x6e, 0x60, 0x01, 0x98, 0xe8, 0x60, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x70, 0xb5, + 0x04, 0x1c, 0x00, 0x20, 0x20, 0x61, 0x58, 0x20, + 0x00, 0x5d, 0x0e, 0x1c, 0x15, 0x1c, 0xc0, 0x07, + 0xc0, 0x17, 0x3c, 0x00, 0xfc, 0x11, 0x01, 0x00, + 0x01, 0x30, 0xe0, 0x61, 0x21, 0x6b, 0x00, 0x29, + 0x36, 0xd1, 0x1e, 0x49, 0x09, 0x68, 0x29, 0x43, + 0x32, 0xd0, 0xa1, 0x68, 0x89, 0x8a, 0x00, 0x29, + 0x2e, 0xd0, 0x00, 0x28, 0x0b, 0xd0, 0x20, 0x1c, + 0x58, 0x30, 0x00, 0xf0, 0xf3, 0xfd, 0x00, 0x28, + 0x1b, 0xd0, 0x81, 0x6a, 0x02, 0x6a, 0x40, 0x6a, + 0x09, 0x78, 0x00, 0x78, 0x06, 0xe0, 0x14, 0x4a, + 0x3c, 0x23, 0x11, 0x78, 0x3c, 0x00, 0x38, 0x12, + 0x01, 0x00, 0x50, 0x78, 0x43, 0x43, 0x9a, 0x18, + 0x04, 0x32, 0x00, 0x2d, 0x03, 0xd1, 0x02, 0x29, + 0x01, 0xd0, 0x03, 0x29, 0x02, 0xd1, 0x6d, 0x21, + 0x22, 0x61, 0x08, 0x55, 0x20, 0x69, 0x00, 0x28, + 0x0d, 0xd0, 0x81, 0x88, 0x00, 0x29, 0x01, 0xd1, + 0x01, 0x20, 0x70, 0xbd, 0x80, 0x79, 0x02, 0x28, + 0x05, 0xd1, 0x22, 0x1c, 0x07, 0x49, 0x07, 0x48, + 0xf8, 0xf7, 0x4b, 0xff, 0x02, 0xe0, 0x3c, 0x00, + 0x74, 0x12, 0x01, 0x00, 0x20, 0x1c, 0xef, 0xf7, + 0xb5, 0xf8, 0x00, 0x20, 0x70, 0xbd, 0x00, 0x00, + 0x28, 0x61, 0x01, 0x00, 0x68, 0x61, 0x01, 0x00, + 0xa1, 0xda, 0x00, 0x00, 0xa0, 0x6a, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x21, 0x00, 0x20, 0xf9, 0xf7, + 0x39, 0xfe, 0xc4, 0x00, 0xf9, 0xf7, 0x54, 0xfe, + 0x24, 0x18, 0xf9, 0xf7, 0x47, 0xfe, 0x08, 0x49, + 0x20, 0x18, 0x09, 0x88, 0x08, 0x4c, 0x40, 0x18, + 0x3c, 0x00, 0xb0, 0x12, 0x01, 0x00, 0x06, 0x49, + 0x09, 0x88, 0x40, 0x18, 0x60, 0x61, 0xf9, 0xf7, + 0x46, 0xfe, 0x05, 0x49, 0x09, 0x88, 0x40, 0x18, + 0x40, 0x00, 0xa0, 0x61, 0x10, 0xbd, 0x02, 0x61, + 0x01, 0x00, 0x04, 0x61, 0x01, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0xa6, 0x69, 0x01, 0x00, 0x11, 0x40, + 0x08, 0x1c, 0x10, 0xb5, 0x1c, 0x1c, 0x19, 0x1c, + 0x08, 0x31, 0x18, 0x60, 0xf1, 0xf7, 0x31, 0xfe, + 0x60, 0x60, 0x3c, 0x00, 0xec, 0x12, 0x01, 0x00, + 0x10, 0xbd, 0x00, 0x00, 0xf8, 0xb5, 0x06, 0x1c, + 0x22, 0x48, 0x0f, 0x1c, 0x41, 0x68, 0x91, 0x42, + 0x03, 0xd0, 0x00, 0x21, 0x81, 0x60, 0xc1, 0x60, + 0x42, 0x60, 0xc4, 0x68, 0x15, 0xe0, 0x28, 0x20, + 0x1d, 0x49, 0x60, 0x43, 0x40, 0x18, 0x05, 0x1c, + 0x06, 0x22, 0x31, 0x1c, 0xef, 0xf7, 0x70, 0xf8, + 0x00, 0x28, 0x07, 0xd1, 0xa8, 0x1d, 0x39, 0x1c, + 0xf9, 0xf7, 0x10, 0xfd, 0x3c, 0x00, 0x28, 0x13, + 0x01, 0x00, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x20, + 0xf8, 0xbd, 0x01, 0x34, 0x24, 0x07, 0x24, 0x0f, + 0x12, 0x48, 0x80, 0x68, 0x84, 0x42, 0xe5, 0xd1, + 0x10, 0x4c, 0x28, 0x23, 0xa0, 0x68, 0x0f, 0x4d, + 0x58, 0x43, 0x40, 0x19, 0x06, 0x22, 0x31, 0x1c, + 0xef, 0xf7, 0xd3, 0xf8, 0xa0, 0x68, 0x28, 0x23, + 0x58, 0x43, 0x40, 0x19, 0x06, 0x30, 0x22, 0x22, + 0x39, 0x1c, 0xef, 0xf7, 0xca, 0xf8, 0x3c, 0x00, + 0x64, 0x13, 0x01, 0x00, 0xa0, 0x68, 0x01, 0x30, + 0x00, 0x07, 0x00, 0x0f, 0xa0, 0x60, 0xe1, 0x68, + 0x81, 0x42, 0x03, 0xd1, 0x01, 0x31, 0x08, 0x07, + 0x00, 0x0f, 0xe0, 0x60, 0x00, 0x20, 0xd6, 0xe7, + 0xec, 0x65, 0x01, 0x00, 0xa0, 0xf4, 0x01, 0x00, + 0x10, 0xb5, 0x00, 0x21, 0x03, 0x20, 0x00, 0xf0, + 0xe5, 0xff, 0x05, 0x4c, 0xa0, 0x68, 0x00, 0x28, + 0x04, 0xd1, 0x01, 0xf0, 0x07, 0xfd, 0x61, 0x68, + 0x3c, 0x00, 0xa0, 0x13, 0x01, 0x00, 0x40, 0x1a, + 0x60, 0x60, 0x10, 0xbd, 0x00, 0x00, 0xd0, 0x60, + 0x01, 0x00, 0x02, 0x68, 0x0a, 0x60, 0x01, 0x60, + 0x70, 0x47, 0x01, 0x1c, 0x00, 0x68, 0x00, 0x28, + 0x01, 0xd0, 0x02, 0x68, 0x0a, 0x60, 0x70, 0x47, + 0x00, 0x00, 0xfe, 0xb5, 0x14, 0x1c, 0x1d, 0x1c, + 0x00, 0x22, 0xd2, 0x43, 0x01, 0xab, 0xf3, 0xf7, + 0x82, 0xff, 0x01, 0x98, 0x00, 0x26, 0x28, 0x40, + 0x01, 0x90, 0x3c, 0x00, 0xdc, 0x13, 0x01, 0x00, + 0x00, 0x25, 0x00, 0x27, 0x20, 0x60, 0x1e, 0xe0, + 0x01, 0x21, 0xb9, 0x40, 0x0a, 0x1c, 0x02, 0x40, + 0x18, 0xd0, 0x88, 0x43, 0x01, 0x90, 0x39, 0x06, + 0x09, 0x0e, 0x70, 0x19, 0x00, 0x19, 0x02, 0x91, + 0x01, 0x77, 0x08, 0x1c, 0xf9, 0xf7, 0xc6, 0xfc, + 0x00, 0x28, 0x06, 0xd0, 0x30, 0x1c, 0x00, 0x19, + 0x01, 0x36, 0x02, 0x99, 0x30, 0x30, 0x01, 0x70, + 0x04, 0xe0, 0x28, 0x1c, 0x3c, 0x00, 0x18, 0x14, + 0x01, 0x00, 0x01, 0x35, 0x02, 0x99, 0x00, 0x19, + 0x01, 0x72, 0x01, 0x37, 0x01, 0x98, 0x00, 0x28, + 0xdd, 0xd1, 0x70, 0x19, 0xa0, 0x61, 0x65, 0x60, + 0xe6, 0x62, 0xfe, 0xbd, 0x00, 0x00, 0xb0, 0xb5, + 0x14, 0x4d, 0x04, 0x1c, 0x28, 0x7a, 0x01, 0x28, + 0x02, 0xd1, 0x04, 0x20, 0xf6, 0xf7, 0xad, 0xf9, + 0x21, 0x1c, 0xa8, 0x6a, 0xf5, 0xf7, 0x21, 0xfc, + 0x00, 0x28, 0x03, 0xd1, 0x04, 0x20, 0x3c, 0x00, + 0x54, 0x14, 0x01, 0x00, 0xf6, 0xf7, 0xa4, 0xf9, + 0xb0, 0xbd, 0x02, 0x20, 0x28, 0x70, 0x28, 0x8c, + 0x00, 0x28, 0x00, 0xd0, 0x60, 0x81, 0x68, 0x8c, + 0x00, 0x28, 0x00, 0xd0, 0xa0, 0x81, 0xa8, 0x8c, + 0x00, 0x28, 0x00, 0xd0, 0xe0, 0x81, 0xe8, 0x69, + 0x01, 0x23, 0x02, 0x04, 0x12, 0x0c, 0x20, 0x1c, + 0x02, 0x49, 0xfc, 0xf7, 0x19, 0xff, 0xb0, 0xbd, + 0xf4, 0x6e, 0x01, 0x00, 0xa1, 0x77, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x14, 0x01, 0x00, 0xf8, 0xb5, + 0x19, 0x4e, 0x05, 0x1c, 0xb0, 0x69, 0x00, 0x28, + 0x00, 0xd1, 0x30, 0x68, 0xff, 0xf7, 0x3b, 0xfc, + 0x15, 0x4f, 0x04, 0x1c, 0x50, 0x37, 0x00, 0x28, + 0x0b, 0xd0, 0x60, 0x68, 0x29, 0x1c, 0x78, 0x60, + 0x01, 0x20, 0x38, 0x63, 0x20, 0x1c, 0xf5, 0xf7, + 0xea, 0xfb, 0x00, 0x28, 0x04, 0xd1, 0x00, 0x20, + 0xf8, 0xbd, 0x00, 0x23, 0xfb, 0x62, 0xfa, 0xe7, + 0x00, 0x23, 0x3c, 0x00, 0xcc, 0x14, 0x01, 0x00, + 0x23, 0x77, 0xf8, 0x6a, 0x00, 0x28, 0x01, 0xd1, + 0x01, 0x20, 0xf8, 0x62, 0x38, 0x7a, 0x01, 0x28, + 0x07, 0xd0, 0xf8, 0x69, 0x06, 0x49, 0x02, 0x04, + 0x12, 0x0c, 0x28, 0x1c, 0xfc, 0xf7, 0xe6, 0xfe, + 0x01, 0xe0, 0xfb, 0x62, 0xb3, 0x61, 0x01, 0x20, + 0xe5, 0xe7, 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, + 0xdd, 0x02, 0x01, 0x00, 0x70, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x16, 0x1c, 0x3c, 0x00, 0x08, 0x15, + 0x01, 0x00, 0x04, 0x2c, 0x1b, 0xd2, 0x10, 0x48, + 0x83, 0x42, 0x07, 0xd2, 0x58, 0x00, 0x0f, 0x49, + 0xef, 0xf7, 0xfb, 0xf8, 0xff, 0x30, 0x00, 0x0a, + 0x01, 0x38, 0x00, 0xe0, 0x00, 0x20, 0x1f, 0x35, + 0xea, 0x06, 0x61, 0x07, 0x09, 0x0e, 0xd2, 0x0e, + 0x11, 0x43, 0x72, 0x07, 0x52, 0x0d, 0x11, 0x43, + 0x00, 0x06, 0x00, 0x0a, 0x08, 0x43, 0x06, 0x4a, + 0xa1, 0x00, 0x50, 0x50, 0x70, 0xbd, 0x3c, 0x00, + 0x44, 0x15, 0x01, 0x00, 0x01, 0x21, 0x8d, 0x20, + 0xef, 0xf7, 0xac, 0xfe, 0x70, 0xbd, 0x00, 0x00, + 0x40, 0x9c, 0x00, 0x00, 0x00, 0x80, 0x38, 0x01, + 0xe8, 0x60, 0x01, 0x00, 0x09, 0x4a, 0x80, 0x00, + 0x10, 0x58, 0x40, 0x09, 0x40, 0x01, 0x07, 0x22, + 0x02, 0x43, 0x07, 0x48, 0x03, 0x68, 0x00, 0x2b, + 0xfc, 0xdb, 0x42, 0x60, 0x09, 0x06, 0x01, 0x60, + 0x01, 0x68, 0x00, 0x29, 0xfc, 0xdb, 0x08, 0x20, + 0x3c, 0x00, 0x80, 0x15, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0xe8, 0x60, 0x01, 0x00, 0x30, 0x20, + 0x07, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x0d, 0x1c, + 0x07, 0x49, 0xa0, 0x00, 0x08, 0x58, 0x00, 0x28, + 0x03, 0xd1, 0x02, 0x21, 0x8d, 0x20, 0xef, 0xf7, + 0x80, 0xfe, 0x29, 0x1c, 0x20, 0x1c, 0xf6, 0xf7, + 0xa8, 0xfa, 0xb0, 0xbd, 0x00, 0x00, 0xe8, 0x60, + 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, 0x0d, 0x1c, + 0x07, 0x49, 0x3c, 0x00, 0xbc, 0x15, 0x01, 0x00, + 0xa0, 0x00, 0x08, 0x58, 0x00, 0x28, 0x03, 0xd1, + 0x02, 0x21, 0x8d, 0x20, 0xef, 0xf7, 0x6c, 0xfe, + 0x29, 0x1c, 0x20, 0x1c, 0xff, 0xf7, 0xc4, 0xff, + 0xb0, 0xbd, 0x00, 0x00, 0xe8, 0x60, 0x01, 0x00, + 0xf8, 0xb5, 0x0d, 0x1c, 0x16, 0x1c, 0xf7, 0xf7, + 0x17, 0xf9, 0x04, 0x1c, 0x28, 0x68, 0x40, 0x4f, + 0x81, 0x78, 0x00, 0x29, 0x3b, 0xd1, 0xc1, 0x78, + 0x00, 0x29, 0x58, 0xd1, 0x3c, 0x00, 0xf8, 0x15, + 0x01, 0x00, 0xf8, 0xf7, 0xf8, 0xf9, 0x22, 0x8e, + 0x61, 0x8e, 0x8a, 0x42, 0x04, 0xd0, 0xa1, 0x6a, + 0x09, 0x18, 0xe0, 0x69, 0x81, 0x42, 0x10, 0xd9, + 0x38, 0x49, 0x32, 0x1c, 0x48, 0x6b, 0x01, 0x30, + 0x48, 0x63, 0x20, 0x6a, 0x01, 0x30, 0x20, 0x62, + 0x38, 0x68, 0x01, 0x30, 0x38, 0x60, 0xe0, 0x68, + 0x63, 0x69, 0x29, 0x1c, 0xee, 0xf7, 0xd8, 0xfe, + 0xf8, 0xbd, 0x01, 0x32, 0x12, 0x04, 0x3c, 0x00, + 0x34, 0x16, 0x01, 0x00, 0x12, 0x0c, 0x22, 0x86, + 0xa1, 0x62, 0xb8, 0x68, 0x00, 0x28, 0x34, 0xd1, + 0x2c, 0x48, 0x0c, 0x23, 0x00, 0x68, 0x1b, 0x1a, + 0x9a, 0x42, 0x07, 0xd2, 0x19, 0x23, 0x9b, 0x01, + 0xaf, 0x22, 0x92, 0x01, 0x58, 0x43, 0x10, 0x1a, + 0x81, 0x42, 0x26, 0xd3, 0x01, 0x20, 0xb8, 0x60, + 0x01, 0x21, 0x0c, 0x20, 0x00, 0xf0, 0x7a, 0xfe, + 0x1f, 0xe0, 0x01, 0x29, 0x1d, 0xd1, 0xc0, 0x78, + 0x3c, 0x00, 0x70, 0x16, 0x01, 0x00, 0x17, 0x28, + 0x1a, 0xd1, 0xa0, 0x8e, 0xe1, 0x8e, 0x88, 0x42, + 0x14, 0xd3, 0xe9, 0x68, 0x09, 0x68, 0x09, 0x79, + 0x09, 0x06, 0x0f, 0xd5, 0x60, 0x6a, 0x32, 0x1c, + 0x01, 0x30, 0x60, 0x62, 0xe0, 0x68, 0x63, 0x69, + 0x29, 0x1c, 0xee, 0xf7, 0xa3, 0xfe, 0xe8, 0x68, + 0x01, 0x68, 0x08, 0x31, 0x0b, 0x20, 0x00, 0xf0, + 0x5c, 0xfe, 0xc3, 0xe7, 0x01, 0x30, 0xa0, 0x86, + 0xa0, 0x8d, 0x3c, 0x00, 0xac, 0x16, 0x01, 0x00, + 0xe1, 0x8d, 0x88, 0x42, 0x04, 0xd1, 0x03, 0x21, + 0x02, 0x20, 0xef, 0xf7, 0xf5, 0xfd, 0xb8, 0xe7, + 0x60, 0x68, 0x45, 0x60, 0x86, 0x60, 0x00, 0x68, + 0x60, 0x60, 0xf8, 0x68, 0x01, 0x30, 0xf8, 0x60, + 0xa0, 0x8d, 0x41, 0x1c, 0xa1, 0x85, 0x00, 0x28, + 0xab, 0xd1, 0x08, 0x48, 0xb9, 0x69, 0xfd, 0xf7, + 0x61, 0xfe, 0x22, 0x1c, 0x02, 0x21, 0xf1, 0x20, + 0x02, 0xf0, 0x64, 0xf8, 0x3c, 0x00, 0xe8, 0x16, + 0x01, 0x00, 0xa1, 0xe7, 0x00, 0x00, 0xfc, 0x5a, + 0x01, 0x00, 0x90, 0x5c, 0x01, 0x00, 0x18, 0x57, + 0x01, 0x00, 0xc4, 0x60, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x1c, 0x02, 0x21, 0xf0, 0x20, 0x02, 0xf0, + 0x54, 0xf8, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x28, + 0x03, 0xd1, 0x02, 0x48, 0x41, 0x78, 0xc9, 0x07, + 0xfc, 0xd5, 0x70, 0x47, 0x00, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x80, 0xb5, 0x00, 0x06, 0x3c, 0x00, + 0x24, 0x17, 0x01, 0x00, 0x01, 0xd1, 0xf1, 0xf7, + 0x71, 0xfe, 0x80, 0xbd, 0x80, 0xb5, 0xf4, 0xf7, + 0xe5, 0xfa, 0x80, 0xbd, 0x80, 0xb5, 0xf6, 0xf7, + 0xeb, 0xf8, 0x80, 0xbd, 0x01, 0x49, 0x00, 0x20, + 0x08, 0x74, 0x70, 0x47, 0x78, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0xc0, 0x07, 0x03, 0xd5, 0x02, 0x49, + 0x01, 0x20, 0x00, 0xf0, 0x1d, 0xfc, 0x80, 0xbd, + 0x50, 0xc3, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0e, + 0x3c, 0x00, 0x60, 0x17, 0x01, 0x00, 0x01, 0x28, + 0x80, 0xb5, 0x02, 0xd1, 0xf6, 0xf7, 0xe1, 0xf9, + 0x80, 0xbd, 0x00, 0x28, 0xfc, 0xd1, 0xf1, 0xf7, + 0x4c, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0xf6, 0xf7, 0xd7, 0xf9, 0x80, 0xbd, 0x03, 0x49, + 0x80, 0xb5, 0x00, 0x20, 0x08, 0x74, 0xf6, 0xf7, + 0xfe, 0xf9, 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x06, 0x00, 0x0e, + 0xf1, 0xf7, 0x3c, 0x00, 0x9c, 0x17, 0x01, 0x00, + 0x71, 0xfe, 0x80, 0xbd, 0x10, 0xb5, 0x01, 0x28, + 0x08, 0xd0, 0x02, 0x28, 0x03, 0xd0, 0x03, 0x28, + 0x01, 0xd0, 0xef, 0xf7, 0xa7, 0xfd, 0xf6, 0xf7, + 0xe9, 0xf9, 0x10, 0xbd, 0x01, 0xf0, 0xf8, 0xfa, + 0x04, 0x1c, 0xfa, 0xf7, 0x5d, 0xfd, 0x24, 0x1a, + 0xfa, 0xf7, 0x3e, 0xfd, 0x08, 0x49, 0x00, 0x28, + 0x0b, 0xd0, 0x48, 0x6a, 0x00, 0x28, 0x08, 0xd0, + 0x06, 0x48, 0x84, 0x42, 0x3c, 0x00, 0xd8, 0x17, + 0x01, 0x00, 0x05, 0xd2, 0x01, 0x1b, 0x01, 0x22, + 0x07, 0x20, 0x01, 0xf0, 0xf4, 0xfe, 0xe5, 0xe7, + 0x00, 0x20, 0x48, 0x61, 0xe2, 0xe7, 0x78, 0x69, + 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x09, 0x49, + 0x80, 0xb5, 0x48, 0x69, 0x00, 0x28, 0x0c, 0xd0, + 0x08, 0x6a, 0xca, 0x69, 0x80, 0x1a, 0x00, 0x28, + 0x07, 0xdd, 0x00, 0x20, 0x48, 0x61, 0x01, 0x21, + 0x07, 0x20, 0x01, 0xf0, 0x10, 0xff, 0x3c, 0x00, + 0x14, 0x18, 0x01, 0x00, 0xf6, 0xf7, 0xb8, 0xf9, + 0x80, 0xbd, 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0xe7, 0xfb, 0x80, 0xbd, + 0x80, 0xb5, 0x00, 0xf0, 0x3f, 0xfc, 0x00, 0x20, + 0xf7, 0xf7, 0xd4, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0x37, 0xfc, 0xfd, 0xf7, + 0x6f, 0xfc, 0xf5, 0xf7, 0x73, 0xfd, 0x30, 0xf0, + 0x47, 0xfb, 0x80, 0xbd, 0x04, 0x48, 0x80, 0xb5, + 0x3c, 0x00, 0x50, 0x18, 0x01, 0x00, 0xc1, 0x6a, + 0x00, 0x6b, 0xf2, 0xf7, 0xde, 0xff, 0x01, 0x20, + 0xf7, 0xf7, 0x89, 0xf8, 0x80, 0xbd, 0xa4, 0x6c, + 0x01, 0x00, 0x10, 0xb5, 0xf3, 0xf7, 0x41, 0xf8, + 0x0d, 0x4c, 0x00, 0x28, 0x04, 0xd0, 0x01, 0x20, + 0xe0, 0x64, 0xf7, 0xf7, 0xb2, 0xfc, 0x10, 0xbd, + 0x01, 0x21, 0x01, 0x20, 0xf3, 0xf7, 0xe9, 0xf8, + 0xfd, 0xf7, 0x4d, 0xfc, 0x60, 0x6d, 0x00, 0x28, + 0x03, 0xd0, 0x3c, 0x00, 0x8c, 0x18, 0x01, 0x00, + 0xf3, 0xf7, 0x82, 0xf8, 0x00, 0x28, 0x01, 0xd0, + 0xf5, 0xf7, 0x4a, 0xfd, 0x01, 0x20, 0xf2, 0xf7, + 0xc1, 0xfc, 0x10, 0xbd, 0xa4, 0x6c, 0x01, 0x00, + 0x04, 0x48, 0x80, 0xb5, 0xc1, 0x6a, 0x00, 0x6b, + 0xf2, 0xf7, 0xb2, 0xff, 0x01, 0x20, 0xf7, 0xf7, + 0x5d, 0xf8, 0x80, 0xbd, 0xa4, 0x6c, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0xf5, 0xfb, 0xf5, 0xf7, + 0x33, 0xfd, 0xfc, 0xf7, 0x3c, 0x00, 0xc8, 0x18, + 0x01, 0x00, 0x31, 0xfd, 0xf9, 0xf7, 0xcb, 0xff, + 0x04, 0x20, 0xf2, 0xf7, 0xa6, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x48, 0x80, 0xb5, 0xc1, 0x6a, + 0x00, 0x6b, 0xf2, 0xf7, 0x98, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0xf0, 0xdd, 0xfb, 0x00, 0x20, 0xf7, 0xf7, + 0x3c, 0xf8, 0x30, 0xf0, 0xee, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0x21, 0x3c, 0x00, + 0x04, 0x19, 0x01, 0x00, 0x01, 0x20, 0xff, 0xf7, + 0x19, 0xfa, 0x01, 0x20, 0xf2, 0xf7, 0x88, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0xc9, 0xfb, 0xfc, 0xf7, 0x07, 0xfd, 0x01, 0x21, + 0x01, 0x20, 0xff, 0xf7, 0x0b, 0xfa, 0x04, 0x20, + 0xf2, 0xf7, 0x7a, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, 0x00, 0x20, + 0x00, 0xf0, 0x8a, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x19, 0x01, 0x00, 0x03, 0x48, + 0x80, 0xb5, 0x82, 0x6a, 0x01, 0x21, 0x04, 0x20, + 0x00, 0xf0, 0x81, 0xfb, 0x80, 0xbd, 0xd4, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, + 0x03, 0x20, 0x00, 0xf0, 0x78, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x48, 0x80, 0xb5, 0x82, 0x6a, + 0x01, 0x21, 0x04, 0x20, 0x00, 0xf0, 0x6f, 0xfb, + 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x22, 0x3c, 0x00, 0x7c, 0x19, 0x01, 0x00, + 0x00, 0x21, 0x03, 0x20, 0x00, 0xf0, 0x66, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x06, 0x48, 0x80, 0xb5, + 0x81, 0x68, 0x42, 0x69, 0x00, 0x69, 0x51, 0x18, + 0x81, 0x42, 0x03, 0xd9, 0x01, 0x21, 0x01, 0x20, + 0x00, 0xf0, 0x58, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0xd4, 0x79, 0x01, 0x00, 0x06, 0x48, 0x80, 0xb5, + 0x82, 0x88, 0x81, 0x68, 0x00, 0x69, 0x51, 0x18, + 0x81, 0x42, 0x03, 0xd9, 0x3c, 0x00, 0xb8, 0x19, + 0x01, 0x00, 0x01, 0x21, 0x02, 0x20, 0x00, 0xf0, + 0x48, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x10, 0xb5, 0x08, 0x4c, 0x20, 0x7b, + 0x21, 0x6a, 0xf9, 0xf7, 0x9c, 0xfa, 0xa1, 0x69, + 0x42, 0x18, 0xa0, 0x68, 0x21, 0x69, 0x80, 0x18, + 0x88, 0x42, 0x03, 0xd9, 0x01, 0x21, 0x02, 0x20, + 0x00, 0xf0, 0x33, 0xfb, 0x10, 0xbd, 0xd4, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x3c, 0x00, + 0xf4, 0x19, 0x01, 0x00, 0x00, 0x21, 0x00, 0x20, + 0x00, 0xf0, 0x2a, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x0e, 0x01, 0x28, 0x80, 0xb5, + 0x02, 0xd1, 0xf6, 0xf7, 0x8f, 0xf8, 0x80, 0xbd, + 0x00, 0x28, 0xfc, 0xd1, 0xf1, 0xf7, 0xfa, 0xfc, + 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0xf6, 0xf7, + 0x85, 0xf8, 0x80, 0xbd, 0x80, 0xb5, 0x00, 0x06, + 0x00, 0x0e, 0xf1, 0xf7, 0x29, 0xfd, 0x80, 0xbd, + 0x3c, 0x00, 0x30, 0x1a, 0x01, 0x00, 0xb0, 0xb5, + 0x02, 0x25, 0x02, 0x28, 0x10, 0x4c, 0x0b, 0xd1, + 0xfb, 0xf7, 0x47, 0xfc, 0x00, 0x28, 0x01, 0xd1, + 0xfe, 0xf7, 0x4f, 0xff, 0x25, 0x70, 0xa1, 0x68, + 0x0c, 0x48, 0xfd, 0xf7, 0xa8, 0xfc, 0xb0, 0xbd, + 0x03, 0x28, 0x0d, 0xd1, 0x08, 0x48, 0x7d, 0x23, + 0x1c, 0x38, 0x00, 0x69, 0xdb, 0x00, 0x58, 0x43, + 0x19, 0x1c, 0x40, 0x18, 0x41, 0x08, 0x02, 0x20, + 0x00, 0xf0, 0x3c, 0x00, 0x6c, 0x1a, 0x01, 0x00, + 0x91, 0xfa, 0x25, 0x70, 0xb0, 0xbd, 0xf8, 0xf7, + 0x31, 0xf9, 0xb0, 0xbd, 0x78, 0x69, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x10, 0xb5, 0x05, 0x4c, + 0xe0, 0x68, 0x00, 0x28, 0x01, 0xd1, 0xef, 0xf7, + 0x39, 0xfc, 0x02, 0x20, 0x20, 0x70, 0x00, 0xf0, + 0xaf, 0xfa, 0x10, 0xbd, 0x78, 0x69, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0x82, 0x6a, 0x01, 0x21, + 0x04, 0x20, 0x00, 0xf0, 0x3c, 0x00, 0xa8, 0x1a, + 0x01, 0x00, 0xd3, 0xfa, 0x80, 0xbd, 0xd4, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, + 0x03, 0x20, 0x00, 0xf0, 0xca, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x20, 0x00, 0xf0, 0xc2, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x48, 0x80, 0xb5, 0x42, 0x69, + 0x01, 0x21, 0x01, 0x20, 0x00, 0xf0, 0xb9, 0xfa, + 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, 0x3c, 0x00, + 0xe4, 0x1a, 0x01, 0x00, 0x06, 0x48, 0x80, 0xb5, + 0x82, 0x88, 0x00, 0x2a, 0x02, 0xd0, 0x01, 0x21, + 0x02, 0x20, 0x02, 0xe0, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x20, 0x00, 0xf0, 0xa9, 0xfa, 0x80, 0xbd, + 0xd4, 0x79, 0x01, 0x00, 0x10, 0xb5, 0x06, 0x4c, + 0x20, 0x7b, 0x21, 0x6a, 0xf9, 0xf7, 0xfe, 0xf9, + 0xa1, 0x69, 0x42, 0x18, 0x01, 0x21, 0x02, 0x20, + 0x00, 0xf0, 0x9a, 0xfa, 0x10, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x1b, 0x01, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x80, 0xb5, 0x00, 0x22, 0x00, 0x21, + 0x00, 0x20, 0x00, 0xf0, 0x90, 0xfa, 0x80, 0xbd, + 0x00, 0x00, 0x38, 0xb5, 0xfa, 0xf7, 0x41, 0xfe, + 0x00, 0x20, 0xf0, 0xf7, 0x80, 0xf8, 0x00, 0x90, + 0x00, 0xab, 0x1c, 0x88, 0x5d, 0x88, 0xf8, 0xf7, + 0x3c, 0xf9, 0x00, 0x2c, 0x02, 0xd0, 0xfd, 0xf7, + 0x9e, 0xfa, 0x02, 0xe0, 0x01, 0x20, 0xf6, 0xf7, + 0x0a, 0xff, 0x3c, 0x00, 0x5c, 0x1b, 0x01, 0x00, + 0x29, 0x1c, 0x20, 0x1c, 0xfc, 0xf7, 0xb8, 0xfc, + 0x00, 0x2c, 0x02, 0xd0, 0xf5, 0xf7, 0xe0, 0xfb, + 0x02, 0xe0, 0x00, 0x20, 0x00, 0xf0, 0xdc, 0xf9, + 0x03, 0x20, 0x00, 0x2c, 0x00, 0xd1, 0x02, 0x20, + 0x00, 0x06, 0x00, 0x0e, 0xf2, 0xf7, 0x4e, 0xfb, + 0x38, 0xbd, 0x00, 0x00, 0x03, 0x48, 0x80, 0xb5, + 0x82, 0x6a, 0x01, 0x21, 0x04, 0x20, 0x00, 0xf0, + 0x5d, 0xfa, 0x80, 0xbd, 0x3c, 0x00, 0x98, 0x1b, + 0x01, 0x00, 0xd4, 0x79, 0x01, 0x00, 0x80, 0xb5, + 0x30, 0xf0, 0x9b, 0xf9, 0x80, 0xbd, 0x80, 0xb5, + 0x00, 0x22, 0x00, 0x21, 0x03, 0x20, 0x00, 0xf0, + 0x50, 0xfa, 0x80, 0xbd, 0x00, 0x00, 0x03, 0x48, + 0x80, 0xb5, 0x42, 0x69, 0x01, 0x21, 0x01, 0x20, + 0x00, 0xf0, 0x47, 0xfa, 0x80, 0xbd, 0xd4, 0x79, + 0x01, 0x00, 0x04, 0x48, 0x80, 0xb5, 0x82, 0x88, + 0x00, 0x2a, 0x03, 0xd0, 0x01, 0x21, 0x3c, 0x00, + 0xd4, 0x1b, 0x01, 0x00, 0x02, 0x20, 0x00, 0xf0, + 0x3b, 0xfa, 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, + 0x10, 0xb5, 0x06, 0x4c, 0x20, 0x7b, 0x21, 0x6a, + 0xf9, 0xf7, 0x90, 0xf9, 0xa1, 0x69, 0x42, 0x18, + 0x01, 0x21, 0x02, 0x20, 0x00, 0xf0, 0x2c, 0xfa, + 0x10, 0xbd, 0x00, 0x00, 0xd4, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0xfc, 0xf7, 0x93, 0xfb, 0x01, 0x21, + 0x01, 0x20, 0xff, 0xf7, 0x97, 0xf8, 0x04, 0x20, + 0x3c, 0x00, 0x10, 0x1c, 0x01, 0x00, 0xf2, 0xf7, + 0x06, 0xfb, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0x2f, 0xf0, 0x6b, 0xfb, 0x00, 0x28, 0x0a, 0xd0, + 0x01, 0x20, 0xf2, 0xf7, 0xfc, 0xfa, 0xfa, 0xf7, + 0x2a, 0xfc, 0x00, 0x28, 0x02, 0xd1, 0x04, 0x20, + 0xf6, 0xf7, 0x5d, 0xf8, 0x80, 0xbd, 0x03, 0x21, + 0x16, 0x20, 0xef, 0xf7, 0x32, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0x02, 0x48, 0x80, 0xb5, 0x00, 0x68, + 0xee, 0xf7, 0x3c, 0x00, 0x4c, 0x1c, 0x01, 0x00, + 0xc5, 0xfb, 0x80, 0xbd, 0xd4, 0x79, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0x42, 0x69, 0x01, 0x21, + 0x01, 0x20, 0x00, 0xf0, 0xf7, 0xf9, 0x80, 0xbd, + 0xd4, 0x79, 0x01, 0x00, 0x80, 0xb5, 0x30, 0xf0, + 0x35, 0xf9, 0x80, 0xbd, 0xb0, 0xb5, 0x18, 0x4c, + 0xaa, 0x20, 0x00, 0x5d, 0x04, 0x28, 0x19, 0xd1, + 0x01, 0x25, 0xe5, 0x62, 0x25, 0x63, 0x01, 0xf0, + 0x93, 0xf8, 0xa0, 0x66, 0x3c, 0x00, 0x88, 0x1c, + 0x01, 0x00, 0x01, 0xf0, 0xfc, 0xfd, 0xf2, 0xf7, + 0x2e, 0xfe, 0x00, 0x28, 0x0e, 0xd0, 0x02, 0x20, + 0xf2, 0xf7, 0xc3, 0xfa, 0xa5, 0x60, 0x01, 0xf0, + 0x86, 0xf8, 0x64, 0x30, 0x60, 0x60, 0xfa, 0xf7, + 0x8a, 0xfd, 0x01, 0x21, 0x01, 0x20, 0xff, 0xf7, + 0x46, 0xf8, 0xb0, 0xbd, 0x01, 0x20, 0xf2, 0xf7, + 0xb4, 0xfa, 0x00, 0x20, 0xa0, 0x60, 0x00, 0x21, + 0x01, 0x20, 0xff, 0xf7, 0x3c, 0xf8, 0x3c, 0x00, + 0xc4, 0x1c, 0x01, 0x00, 0xf2, 0xf7, 0x66, 0xfe, + 0x00, 0x28, 0xf1, 0xd0, 0xfa, 0xf7, 0x76, 0xfd, + 0xb0, 0xbd, 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x20, 0xef, 0xf7, 0xd6, 0xfe, + 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, 0x01, 0x20, + 0xef, 0xf7, 0xd0, 0xfe, 0x80, 0xbd, 0x00, 0x00, + 0xac, 0x21, 0x09, 0x5c, 0x02, 0x4a, 0x09, 0x02, + 0x89, 0x18, 0xc0, 0x31, 0x81, 0x60, 0x70, 0x47, + 0x3c, 0x00, 0x00, 0x1d, 0x01, 0x00, 0x70, 0x75, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x28, 0x04, 0xd1, + 0x03, 0xc9, 0x09, 0x68, 0xee, 0xf7, 0x64, 0xfb, + 0x80, 0xbd, 0x01, 0x21, 0x14, 0x20, 0xef, 0xf7, + 0xc4, 0xfa, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x28, + 0x02, 0xd1, 0x02, 0x48, 0x40, 0x68, 0x70, 0x47, + 0x40, 0x68, 0x70, 0x47, 0x00, 0x00, 0x58, 0x75, + 0x01, 0x00, 0x10, 0xb5, 0x00, 0x24, 0xf8, 0xf7, + 0x1c, 0xfb, 0x3c, 0x00, 0x3c, 0x1d, 0x01, 0x00, + 0x00, 0x28, 0x04, 0xd0, 0x40, 0x30, 0x80, 0x7a, + 0x05, 0x28, 0x00, 0xd1, 0x01, 0x24, 0x20, 0x1c, + 0x10, 0xbd, 0x00, 0x00, 0x04, 0x48, 0x00, 0x21, + 0x40, 0x68, 0x01, 0xe0, 0x01, 0x63, 0x40, 0x68, + 0x00, 0x28, 0xfb, 0xd1, 0x70, 0x47, 0x00, 0x00, + 0x58, 0x75, 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x0d, 0x1c, 0xf7, 0xf7, 0xa5, 0xf8, 0x40, 0x34, + 0xe5, 0x72, 0xb0, 0xbd, 0x3c, 0x00, 0x78, 0x1d, + 0x01, 0x00, 0xf8, 0xb5, 0x07, 0x1c, 0xf8, 0xf7, + 0xfa, 0xfa, 0x04, 0x1c, 0x04, 0xd0, 0x05, 0x21, + 0x14, 0x20, 0xef, 0xf7, 0x8c, 0xfa, 0x28, 0xe0, + 0x00, 0x25, 0x14, 0x49, 0x28, 0x02, 0x46, 0x18, + 0x30, 0x1c, 0x44, 0x30, 0x06, 0x22, 0x12, 0x49, + 0xee, 0xf7, 0x2d, 0xfb, 0x00, 0x28, 0x02, 0xd1, + 0xac, 0x20, 0x85, 0x55, 0x34, 0x1c, 0x01, 0x35, + 0x03, 0x2d, 0xee, 0xd3, 0x00, 0x2c, 0x3c, 0x00, + 0xb4, 0x1d, 0x01, 0x00, 0x14, 0xd0, 0x39, 0x1c, + 0x20, 0x1c, 0xf8, 0xf7, 0x2b, 0xf8, 0x09, 0x49, + 0x00, 0x20, 0x20, 0x60, 0x18, 0x39, 0x48, 0x68, + 0x60, 0x60, 0x00, 0x28, 0x00, 0xd0, 0x04, 0x60, + 0x4c, 0x60, 0xca, 0x68, 0x00, 0x2a, 0x03, 0xd0, + 0x01, 0x21, 0x20, 0x1c, 0xee, 0xf7, 0xfe, 0xfa, + 0x20, 0x1c, 0xf8, 0xbd, 0x70, 0x75, 0x01, 0x00, + 0x58, 0x46, 0x01, 0x00, 0x80, 0xb5, 0xf8, 0xf7, + 0x3c, 0x00, 0xf0, 0x1d, 0x01, 0x00, 0xc1, 0xfa, + 0x00, 0x28, 0x04, 0xd1, 0x06, 0x21, 0x14, 0x20, + 0xef, 0xf7, 0x53, 0xfa, 0x80, 0xbd, 0xf5, 0xf7, + 0x16, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0xf8, 0xf7, 0xb3, 0xfa, 0x80, 0xbd, 0x10, 0xb5, + 0x09, 0x4c, 0x21, 0x88, 0x02, 0x29, 0x03, 0xd1, + 0x14, 0x20, 0xef, 0xf7, 0x42, 0xfa, 0x04, 0xe0, + 0xa3, 0x68, 0x8a, 0x00, 0x98, 0x50, 0x48, 0x1c, + 0x20, 0x80, 0x3c, 0x00, 0x2c, 0x1e, 0x01, 0x00, + 0x20, 0x88, 0x01, 0x38, 0x00, 0x04, 0x00, 0x0c, + 0x10, 0xbd, 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, + 0x0b, 0x1c, 0x11, 0x1c, 0x08, 0x4a, 0x80, 0xb5, + 0x12, 0x88, 0x90, 0x42, 0x06, 0xd2, 0xda, 0x68, + 0xc0, 0x00, 0x12, 0x18, 0x14, 0x20, 0x01, 0xf0, + 0xbb, 0xfb, 0x80, 0xbd, 0x03, 0x21, 0x14, 0x20, + 0xef, 0xf7, 0x22, 0xfa, 0x80, 0xbd, 0x00, 0x00, + 0x58, 0x75, 0x01, 0x00, 0x3c, 0x00, 0x68, 0x1e, + 0x01, 0x00, 0x08, 0x4a, 0x80, 0xb5, 0x12, 0x88, + 0x90, 0x42, 0x06, 0xd2, 0xc9, 0x68, 0xc0, 0x00, + 0x09, 0x18, 0x14, 0x20, 0x01, 0xf0, 0xdb, 0xfb, + 0x80, 0xbd, 0x04, 0x21, 0x14, 0x20, 0xef, 0xf7, + 0x0e, 0xfa, 0x80, 0xbd, 0x00, 0x00, 0x58, 0x75, + 0x01, 0x00, 0x01, 0x49, 0xc8, 0x60, 0x70, 0x47, + 0x00, 0x00, 0x58, 0x75, 0x01, 0x00, 0x80, 0xb5, + 0x06, 0x22, 0x44, 0x30, 0xee, 0xf7, 0x3c, 0x00, + 0xa4, 0x1e, 0x01, 0x00, 0xab, 0xfa, 0x00, 0x28, + 0x01, 0xd1, 0x01, 0x20, 0x80, 0xbd, 0x00, 0x20, + 0x80, 0xbd, 0x00, 0x00, 0x1c, 0xb5, 0x14, 0x4c, + 0x20, 0x69, 0x00, 0x28, 0x23, 0xd0, 0x20, 0x78, + 0x0a, 0x28, 0x01, 0xd0, 0x00, 0xf0, 0xfc, 0xf8, + 0x00, 0x20, 0x60, 0x61, 0x0f, 0x48, 0x40, 0x79, + 0xa0, 0x70, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x28, + 0x15, 0xd1, 0xfd, 0xf7, 0xed, 0xfe, 0x01, 0x90, + 0x3c, 0x00, 0xe0, 0x1e, 0x01, 0x00, 0xfd, 0xf7, + 0x82, 0xfe, 0x00, 0x90, 0x00, 0xab, 0x18, 0x79, + 0x19, 0x78, 0x40, 0x1a, 0x18, 0x71, 0x58, 0x79, + 0x59, 0x78, 0x40, 0x1a, 0x58, 0x71, 0x01, 0x98, + 0xf2, 0xf7, 0x89, 0xfe, 0x05, 0x20, 0x20, 0x70, + 0x00, 0xf0, 0xbf, 0xf9, 0x1c, 0xbd, 0x7c, 0x78, + 0x01, 0x00, 0x0c, 0x5a, 0x01, 0x00, 0x08, 0xb5, + 0x04, 0x4a, 0x00, 0x90, 0x14, 0x32, 0x00, 0x20, + 0x02, 0x4b, 0x3c, 0x00, 0x1c, 0x1f, 0x01, 0x00, + 0x02, 0x49, 0xf1, 0xf7, 0x7d, 0xf9, 0x08, 0xbd, + 0x2c, 0x75, 0x01, 0x00, 0xb1, 0xa8, 0x00, 0x00, + 0xb0, 0xb5, 0x00, 0x28, 0x06, 0xd0, 0x01, 0x28, + 0x06, 0xd0, 0x02, 0x28, 0x07, 0xd1, 0x0c, 0x4c, + 0x01, 0x25, 0x07, 0xe0, 0x0b, 0x4c, 0x04, 0xe0, + 0x0a, 0x4c, 0x2a, 0x3c, 0x01, 0xe0, 0x08, 0x4c, + 0xb6, 0x34, 0x00, 0x25, 0x00, 0xf0, 0x2c, 0xff, + 0x07, 0x49, 0x89, 0x6e, 0x3c, 0x00, 0x58, 0x1f, + 0x01, 0x00, 0x09, 0x19, 0x09, 0x1a, 0xa1, 0x42, + 0x00, 0xd9, 0x00, 0x21, 0x2a, 0x1c, 0x16, 0x20, + 0x01, 0xf0, 0x31, 0xfb, 0xb0, 0xbd, 0x71, 0x02, + 0x00, 0x00, 0x0c, 0x05, 0x00, 0x00, 0xa4, 0x6c, + 0x01, 0x00, 0x8c, 0xb5, 0x00, 0xab, 0x8e, 0x21, + 0x19, 0x80, 0xfc, 0xf7, 0x38, 0xf9, 0x01, 0x90, + 0x68, 0x46, 0xfb, 0xf7, 0xa6, 0xfa, 0x8c, 0xbd, + 0x00, 0x00, 0xbf, 0xb5, 0x13, 0x4a, 0x3c, 0x00, + 0x94, 0x1f, 0x01, 0x00, 0x01, 0x91, 0x0d, 0x1c, + 0x11, 0x7c, 0x88, 0x43, 0x04, 0x1c, 0x21, 0x43, + 0x08, 0x1c, 0x10, 0x74, 0xa0, 0x07, 0x0b, 0xd5, + 0x0e, 0x48, 0x00, 0x90, 0x01, 0x20, 0x02, 0x90, + 0x00, 0xf0, 0xfc, 0xfe, 0x0c, 0x49, 0x40, 0x18, + 0x03, 0x90, 0x68, 0x46, 0xf9, 0xf7, 0x6a, 0xff, + 0xe0, 0x07, 0x0c, 0xd5, 0xf1, 0xf7, 0x2c, 0xfd, + 0x00, 0x28, 0x03, 0xd0, 0x07, 0x48, 0x85, 0x42, + 0x3c, 0x00, 0xd0, 0x1f, 0x01, 0x00, 0x00, 0xd2, + 0x01, 0x90, 0x06, 0x48, 0x00, 0x90, 0x68, 0x46, + 0xf9, 0xf7, 0x09, 0xff, 0xbf, 0xbd, 0x78, 0x69, + 0x01, 0x00, 0x81, 0xea, 0x00, 0x00, 0x10, 0x27, + 0x00, 0x00, 0xa0, 0x86, 0x01, 0x00, 0x75, 0xea, + 0x00, 0x00, 0x10, 0xb5, 0x0a, 0x4c, 0x60, 0x69, + 0x00, 0x28, 0x0e, 0xd1, 0x01, 0x20, 0x60, 0x61, + 0xa1, 0x68, 0x07, 0x48, 0xfd, 0xf7, 0xcb, 0xf9, + 0x00, 0x21, 0x3c, 0x00, 0x0c, 0x20, 0x01, 0x00, + 0xa0, 0x68, 0xf9, 0xf7, 0xd1, 0xfb, 0x01, 0x22, + 0x07, 0x20, 0x04, 0x49, 0x01, 0xf0, 0xd8, 0xfa, + 0x10, 0xbd, 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, + 0x34, 0x63, 0x01, 0x00, 0x98, 0x3a, 0x00, 0x00, + 0x10, 0xb5, 0x0c, 0x1c, 0x11, 0x1c, 0x06, 0x4a, + 0x00, 0x2b, 0x10, 0x70, 0x03, 0xd0, 0x00, 0x28, + 0x02, 0xd1, 0xf9, 0xf7, 0xf5, 0xfd, 0x10, 0xbd, + 0x20, 0x1c, 0xf9, 0xf7, 0x3c, 0x00, 0x48, 0x20, + 0x01, 0x00, 0x01, 0xfe, 0x10, 0xbd, 0xa0, 0x79, + 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x4c, 0x05, 0x1c, + 0xe3, 0x6a, 0x20, 0x1f, 0x01, 0x33, 0xe3, 0x62, + 0x00, 0x88, 0x00, 0x29, 0x06, 0xd0, 0xa1, 0x68, + 0x89, 0x18, 0x21, 0x61, 0x05, 0x4a, 0x00, 0xf0, + 0xfc, 0xfe, 0x01, 0xe0, 0x00, 0xf0, 0xcf, 0xfe, + 0x25, 0x77, 0xb0, 0xbd, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x55, 0xe3, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x20, 0x01, 0x00, 0x01, 0x1c, 0x03, 0x48, + 0x80, 0xb5, 0x40, 0x88, 0xff, 0xf7, 0xec, 0xfe, + 0x80, 0xbd, 0x00, 0x00, 0x98, 0x7c, 0x01, 0x00, + 0x03, 0x48, 0x80, 0xb5, 0xc1, 0x68, 0x18, 0x38, + 0x80, 0x88, 0xff, 0xf7, 0xe1, 0xfe, 0x80, 0xbd, + 0x70, 0x7c, 0x01, 0x00, 0x80, 0xb5, 0x00, 0x21, + 0x16, 0x20, 0x01, 0xf0, 0xbf, 0xfa, 0x01, 0x21, + 0x16, 0x20, 0x01, 0xf0, 0xbb, 0xfa, 0x80, 0xbd, + 0x3c, 0x00, 0xc0, 0x20, 0x01, 0x00, 0x10, 0xb5, + 0x0b, 0x4c, 0x20, 0x78, 0x0a, 0x28, 0x10, 0xd0, + 0x01, 0x20, 0x60, 0x61, 0x0a, 0x21, 0x13, 0x20, + 0x01, 0xf0, 0xaf, 0xfa, 0x0a, 0x20, 0x60, 0x70, + 0x20, 0x70, 0xfd, 0xf7, 0x3c, 0xfb, 0x01, 0x20, + 0xfd, 0xf7, 0xe9, 0xfb, 0x00, 0x20, 0xfa, 0xf7, + 0xc4, 0xf9, 0x10, 0xbd, 0x00, 0x00, 0x7c, 0x78, + 0x01, 0x00, 0x10, 0xb5, 0x0c, 0x4c, 0x00, 0x20, + 0x0b, 0x49, 0x3c, 0x00, 0xfc, 0x20, 0x01, 0x00, + 0x20, 0x63, 0xe0, 0x62, 0x50, 0x39, 0x88, 0x61, + 0x20, 0x70, 0x08, 0x48, 0x38, 0x21, 0x0c, 0x38, + 0x00, 0x7a, 0x08, 0x55, 0x81, 0x21, 0x18, 0x20, + 0x01, 0xf0, 0x8e, 0xfa, 0x20, 0x69, 0x01, 0x28, + 0x02, 0xd1, 0x00, 0x20, 0xf5, 0xf7, 0x3e, 0xfb, + 0x10, 0xbd, 0x00, 0x00, 0xf4, 0x6e, 0x01, 0x00, + 0xb0, 0xb5, 0x1c, 0x4c, 0x00, 0x25, 0x2c, 0x22, + 0x01, 0x1d, 0x20, 0x1c, 0x3c, 0x00, 0x38, 0x21, + 0x01, 0x00, 0x9a, 0xb0, 0xee, 0xf7, 0x39, 0xfa, + 0x18, 0x49, 0x2c, 0x31, 0x08, 0x1c, 0x00, 0x7a, + 0x8a, 0x69, 0x00, 0x2a, 0x13, 0xd1, 0x02, 0x28, + 0x03, 0xd1, 0xa0, 0x68, 0x00, 0x28, 0x20, 0xd0, + 0x04, 0xe0, 0x00, 0x28, 0x1d, 0xd1, 0x60, 0x68, + 0x00, 0x28, 0x1a, 0xd0, 0x80, 0x02, 0x88, 0x61, + 0x0e, 0x48, 0x69, 0x46, 0x24, 0x38, 0x00, 0x68, + 0xef, 0xf7, 0xcb, 0xfb, 0x11, 0xe0, 0x3c, 0x00, + 0x74, 0x21, 0x01, 0x00, 0x00, 0x22, 0x02, 0x28, + 0x03, 0xd1, 0xa0, 0x68, 0x00, 0x28, 0x09, 0xd1, + 0x04, 0xe0, 0x00, 0x28, 0x08, 0xd1, 0x60, 0x68, + 0x00, 0x28, 0x03, 0xd1, 0x8a, 0x61, 0xff, 0xf7, + 0xb1, 0xff, 0x01, 0xe0, 0x80, 0x02, 0x88, 0x61, + 0x28, 0x1c, 0x1a, 0xb0, 0xb0, 0xbd, 0x00, 0x00, + 0xc8, 0x6e, 0x01, 0x00, 0xf8, 0xb5, 0x0c, 0x49, + 0x02, 0x20, 0x48, 0x60, 0x0b, 0x49, 0x00, 0x05, + 0x3c, 0x00, 0xb0, 0x21, 0x01, 0x00, 0x08, 0x60, + 0x0b, 0x4f, 0xb8, 0x68, 0xf9, 0x68, 0x7c, 0x68, + 0x45, 0x1a, 0x2e, 0x1c, 0x04, 0xe0, 0xa0, 0x68, + 0x61, 0x68, 0xee, 0xf7, 0x09, 0xf9, 0x24, 0x68, + 0x01, 0x3d, 0xf8, 0xd2, 0x7c, 0x60, 0xf8, 0x68, + 0x80, 0x19, 0xf8, 0x60, 0xf8, 0xbd, 0x40, 0x20, + 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, 0x44, 0xe3, + 0x01, 0x00, 0xf8, 0xb5, 0x1f, 0x4e, 0x04, 0x1c, + 0x30, 0x69, 0x3c, 0x00, 0xec, 0x21, 0x01, 0x00, + 0x01, 0x21, 0xf9, 0xf7, 0x99, 0xfa, 0x1d, 0x49, + 0x60, 0x00, 0x40, 0x18, 0x10, 0x38, 0x81, 0x7b, + 0x1b, 0x4a, 0x51, 0x72, 0xc0, 0x7b, 0x10, 0x74, + 0x1a, 0x4f, 0x1b, 0x4d, 0x0e, 0x2c, 0x0a, 0xd1, + 0x01, 0x22, 0x02, 0x21, 0x08, 0x20, 0x01, 0xf0, + 0xf3, 0xfb, 0x03, 0x20, 0xff, 0x21, 0x41, 0x31, + 0x39, 0x86, 0x14, 0x21, 0x08, 0xe0, 0x02, 0x22, + 0x01, 0x21, 0x08, 0x20, 0x3c, 0x00, 0x28, 0x22, + 0x01, 0x00, 0x01, 0xf0, 0xe8, 0xfb, 0x12, 0x49, + 0x02, 0x20, 0x39, 0x86, 0x10, 0x21, 0xa9, 0x71, + 0xe8, 0x71, 0x10, 0x48, 0x11, 0x4a, 0x00, 0x19, + 0x10, 0x38, 0xc0, 0x7b, 0x00, 0x28, 0x03, 0xd0, + 0x01, 0x21, 0x51, 0x73, 0x10, 0x73, 0x01, 0xe0, + 0x00, 0x20, 0x50, 0x73, 0x00, 0x21, 0x20, 0x1c, + 0xfd, 0xf7, 0xe5, 0xfd, 0x30, 0x69, 0xf9, 0xf7, + 0x08, 0xfb, 0xf8, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x22, 0x01, 0x00, 0x40, 0x7c, 0x01, 0x00, + 0x76, 0x46, 0x01, 0x00, 0x0c, 0x80, 0x07, 0x00, + 0x30, 0x80, 0x07, 0x00, 0x00, 0x80, 0x07, 0x00, + 0xff, 0x01, 0x00, 0x00, 0x5c, 0x57, 0x01, 0x00, + 0xd0, 0x80, 0x07, 0x00, 0x10, 0xb5, 0x15, 0x4c, + 0x14, 0x4a, 0x21, 0x78, 0x00, 0x20, 0x18, 0x32, + 0x05, 0x29, 0x1d, 0xd0, 0x06, 0x29, 0x1b, 0xd0, + 0x07, 0x29, 0x01, 0xd0, 0x08, 0x29, 0x06, 0xd1, + 0x3c, 0x00, 0xa0, 0x22, 0x01, 0x00, 0x91, 0x68, + 0x05, 0x20, 0x10, 0x29, 0x00, 0xdb, 0x06, 0x20, + 0x20, 0x70, 0x01, 0x20, 0xa1, 0x78, 0x00, 0x28, + 0x61, 0x70, 0x0b, 0xd0, 0x00, 0x20, 0xfa, 0xf7, + 0xdc, 0xf8, 0x00, 0x21, 0x60, 0x78, 0xf4, 0xf7, + 0x3c, 0xfa, 0x0a, 0x22, 0x1e, 0x21, 0x13, 0x20, + 0x01, 0xf0, 0x7f, 0xf9, 0x10, 0xbd, 0xd1, 0x69, + 0x07, 0x20, 0x10, 0x29, 0xe8, 0xdb, 0x08, 0x20, + 0xe6, 0xe7, 0x3c, 0x00, 0xdc, 0x22, 0x01, 0x00, + 0x7c, 0x78, 0x01, 0x00, 0xb0, 0xb5, 0x0d, 0x1c, + 0x01, 0x1c, 0x04, 0x1c, 0x44, 0x31, 0x00, 0x20, + 0xf6, 0xf7, 0x40, 0xfa, 0x30, 0x34, 0x00, 0x2d, + 0x07, 0xd0, 0x0e, 0xc8, 0x0e, 0xc4, 0x08, 0xc8, + 0x10, 0x38, 0x08, 0xc4, 0xf4, 0xf7, 0xc4, 0xf9, + 0xb0, 0xbd, 0x1e, 0xcc, 0x1e, 0xc0, 0xb0, 0xbd, + 0xf8, 0xb5, 0x08, 0x1c, 0x11, 0x1c, 0xf4, 0xf7, + 0x87, 0xfa, 0x08, 0x4c, 0x3c, 0x00, 0x18, 0x23, + 0x01, 0x00, 0x00, 0x25, 0x08, 0x4e, 0x08, 0x4f, + 0x06, 0xe0, 0x30, 0x6b, 0x00, 0x28, 0x03, 0xd0, + 0x35, 0x63, 0x20, 0x68, 0xee, 0xf7, 0x55, 0xf8, + 0x38, 0x68, 0x00, 0x28, 0xf5, 0xd0, 0xf8, 0xbd, + 0x00, 0x00, 0x5c, 0x5b, 0x01, 0x00, 0xe4, 0xfe, + 0x01, 0x00, 0x84, 0x5a, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x06, 0x00, 0x0e, 0x00, 0xf0, 0x07, 0xf8, + 0x80, 0xbd, 0x80, 0xb5, 0x0a, 0x1c, 0x3c, 0x00, + 0x54, 0x23, 0x01, 0x00, 0x23, 0x21, 0x01, 0xf0, + 0x2b, 0xfa, 0x80, 0xbd, 0xb0, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x12, 0x28, 0x03, 0xd3, 0x01, 0x21, + 0x23, 0x20, 0xee, 0xf7, 0x9b, 0xff, 0x06, 0x49, + 0xa0, 0x00, 0x08, 0x58, 0x04, 0xe0, 0x12, 0xc8, + 0x28, 0x1c, 0xee, 0xf7, 0x2e, 0xf8, 0x20, 0x1c, + 0x00, 0x28, 0xf8, 0xd1, 0xb0, 0xbd, 0x00, 0x00, + 0x68, 0x5b, 0x01, 0x00, 0xf8, 0xb5, 0x0e, 0x1c, + 0x3c, 0x00, 0x90, 0x23, 0x01, 0x00, 0x00, 0x25, + 0x04, 0x1c, 0x12, 0x28, 0x03, 0xd3, 0x01, 0x21, + 0x23, 0x20, 0xee, 0xf7, 0x82, 0xff, 0x13, 0x48, + 0xa7, 0x00, 0xc4, 0x59, 0x08, 0xe0, 0x20, 0x68, + 0xb0, 0x42, 0x03, 0xd1, 0x03, 0x21, 0x23, 0x20, + 0xee, 0xf7, 0x77, 0xff, 0x25, 0x1c, 0x64, 0x68, + 0x00, 0x2c, 0xf4, 0xd1, 0x0c, 0x4a, 0x04, 0x3a, + 0x10, 0x68, 0x00, 0x28, 0x01, 0xd0, 0x41, 0x68, + 0x11, 0x60, 0x3c, 0x00, 0xcc, 0x23, 0x01, 0x00, + 0x00, 0x28, 0x04, 0xd1, 0x02, 0x21, 0x23, 0x20, + 0xee, 0xf7, 0x66, 0xff, 0xf8, 0xbd, 0x00, 0x21, + 0x41, 0x60, 0x06, 0x60, 0x00, 0x2d, 0x01, 0xd0, + 0x68, 0x60, 0xf7, 0xe7, 0x01, 0x49, 0xc8, 0x51, + 0xf4, 0xe7, 0x00, 0x00, 0x68, 0x5b, 0x01, 0x00, + 0x70, 0xb5, 0x0e, 0x1c, 0x05, 0x1c, 0x00, 0x24, + 0x12, 0x28, 0x03, 0xd3, 0x01, 0x21, 0x23, 0x20, + 0xee, 0xf7, 0x4e, 0xff, 0x3c, 0x00, 0x08, 0x24, + 0x01, 0x00, 0x0d, 0x4b, 0xaa, 0x00, 0x98, 0x58, + 0x04, 0xe0, 0x01, 0x68, 0xb1, 0x42, 0x04, 0xd0, + 0x04, 0x1c, 0x40, 0x68, 0x00, 0x28, 0xf8, 0xd1, + 0x70, 0xbd, 0x00, 0x28, 0xfc, 0xd0, 0x00, 0x2c, + 0x41, 0x68, 0x01, 0xd1, 0x99, 0x50, 0x00, 0xe0, + 0x61, 0x60, 0x00, 0x21, 0x03, 0x4a, 0x01, 0x60, + 0x04, 0x3a, 0x11, 0x68, 0x41, 0x60, 0x10, 0x60, + 0x70, 0xbd, 0x68, 0x5b, 0x01, 0x00, 0x3c, 0x00, + 0x44, 0x24, 0x01, 0x00, 0xf3, 0xb5, 0x81, 0xb0, + 0x00, 0x28, 0x17, 0xd0, 0x01, 0x78, 0xff, 0x29, + 0x14, 0xd0, 0x45, 0x78, 0x44, 0x19, 0x02, 0x34, + 0x80, 0x27, 0x01, 0x3c, 0x26, 0x78, 0x01, 0x3d, + 0xbe, 0x43, 0x30, 0x1c, 0xf8, 0xf7, 0x82, 0xfc, + 0x01, 0x21, 0x81, 0x40, 0x02, 0x98, 0x01, 0x40, + 0x02, 0xd0, 0x3e, 0x43, 0x30, 0x1c, 0x20, 0x70, + 0x00, 0x2d, 0xee, 0xd1, 0xfe, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x24, 0x01, 0x00, 0x10, 0x4b, + 0x10, 0xb5, 0x59, 0x68, 0x41, 0x1a, 0x0f, 0x29, + 0x0d, 0xdc, 0x0e, 0x22, 0xd2, 0x43, 0x91, 0x42, + 0x09, 0xdb, 0x1a, 0x1c, 0x92, 0x68, 0x00, 0x29, + 0x01, 0xdd, 0x00, 0x2a, 0x03, 0xda, 0x00, 0x29, + 0x0d, 0xda, 0x00, 0x2a, 0x0b, 0xdc, 0x04, 0x33, + 0x03, 0xc3, 0xfd, 0xf7, 0x10, 0xfd, 0x04, 0x1c, + 0xfd, 0xf7, 0x13, 0xfd, 0x00, 0x28, 0x02, 0xd0, + 0x20, 0x1c, 0x3c, 0x00, 0xbc, 0x24, 0x01, 0x00, + 0xff, 0xf7, 0x92, 0xfe, 0x10, 0xbd, 0x00, 0x00, + 0x18, 0x63, 0x01, 0x00, 0xf8, 0xb5, 0x64, 0x4c, + 0x07, 0x1c, 0x60, 0x78, 0xa1, 0x78, 0x88, 0x42, + 0x0f, 0xd1, 0x08, 0x1c, 0xfd, 0xf7, 0xce, 0xf8, + 0xe0, 0x60, 0x04, 0x20, 0x60, 0x70, 0x0a, 0x22, + 0x1e, 0x21, 0x13, 0x20, 0x01, 0xf0, 0x70, 0xf8, + 0x00, 0x21, 0x60, 0x78, 0xf4, 0xf7, 0x24, 0xf9, + 0xf8, 0xbd, 0x04, 0x28, 0x3c, 0x00, 0xf8, 0x24, + 0x01, 0x00, 0x6e, 0xd1, 0x58, 0x4e, 0xfd, 0xf7, + 0xbc, 0xf8, 0x00, 0x90, 0x71, 0x78, 0x04, 0x1c, + 0x00, 0x20, 0x05, 0x29, 0x21, 0xd2, 0x01, 0xa3, + 0x5b, 0x5c, 0x5b, 0x00, 0x9f, 0x44, 0x0b, 0x0f, + 0x14, 0x1a, 0x02, 0x00, 0x51, 0x48, 0x51, 0x49, + 0x60, 0x43, 0x41, 0x18, 0x7d, 0x20, 0xc0, 0x00, + 0xee, 0xf7, 0x87, 0xf8, 0x11, 0xe0, 0x87, 0x20, + 0x60, 0x43, 0x4d, 0x49, 0x02, 0xe0, 0x3c, 0x00, + 0x34, 0x25, 0x01, 0x00, 0x45, 0x20, 0x4d, 0x49, + 0x60, 0x43, 0x40, 0x18, 0x08, 0xe0, 0x4c, 0x48, + 0xcd, 0x21, 0x09, 0x01, 0x60, 0x43, 0x40, 0x1a, + 0x02, 0xe0, 0x46, 0x20, 0x60, 0x43, 0x82, 0x38, + 0x06, 0x06, 0x48, 0x48, 0x07, 0x21, 0x00, 0x79, + 0x36, 0x16, 0x08, 0x1a, 0x00, 0x19, 0x00, 0x90, + 0x68, 0x46, 0xfe, 0xf7, 0x5f, 0xfd, 0x38, 0x1c, + 0xfd, 0xf7, 0x2e, 0xfb, 0x00, 0x99, 0x42, 0x4a, + 0x3c, 0x00, 0x70, 0x25, 0x01, 0x00, 0x49, 0x00, + 0x51, 0x5a, 0x48, 0x43, 0x39, 0x49, 0x04, 0x1c, + 0x88, 0x78, 0x00, 0x28, 0x01, 0xd0, 0x01, 0x28, + 0x1e, 0xd1, 0x35, 0x49, 0x00, 0x28, 0x03, 0xd1, + 0x3a, 0x48, 0x05, 0x78, 0x04, 0x20, 0x02, 0xe0, + 0x38, 0x48, 0x45, 0x78, 0x0c, 0x20, 0x30, 0x49, + 0xc9, 0x68, 0x49, 0x1b, 0x08, 0x18, 0x00, 0x90, + 0x68, 0x46, 0xfe, 0xf7, 0x3e, 0xfd, 0x00, 0x98, + 0x33, 0x49, 0x3c, 0x00, 0xac, 0x25, 0x01, 0x00, + 0x40, 0x00, 0x20, 0x31, 0x08, 0x5a, 0x2a, 0x49, + 0x44, 0x43, 0xc8, 0x68, 0xa8, 0x42, 0x01, 0xd9, + 0x01, 0x25, 0x00, 0xe0, 0x00, 0x25, 0x2e, 0x48, + 0x21, 0x18, 0x40, 0x00, 0xee, 0xf7, 0xa2, 0xf8, + 0x04, 0x1c, 0x00, 0x2d, 0x03, 0xd0, 0xfd, 0xf7, + 0xc3, 0xfa, 0x02, 0xe0, 0x3d, 0xe0, 0xfd, 0xf7, + 0xf3, 0xfa, 0x00, 0x2f, 0x02, 0xd1, 0x25, 0x48, + 0x0e, 0x38, 0x01, 0xe0, 0x3c, 0x00, 0xe8, 0x25, + 0x01, 0x00, 0x23, 0x48, 0x0a, 0x38, 0x01, 0x68, + 0x61, 0x1a, 0xcb, 0x1c, 0x01, 0xdb, 0x03, 0x29, + 0x00, 0xdd, 0x04, 0x60, 0x01, 0x68, 0xa1, 0x42, + 0x01, 0xd2, 0x01, 0x31, 0x04, 0xe0, 0xa1, 0x42, + 0x03, 0xd9, 0x00, 0x29, 0x01, 0xd0, 0x01, 0x39, + 0x01, 0x60, 0x01, 0x68, 0x38, 0x1c, 0xfd, 0xf7, + 0xc0, 0xfb, 0x10, 0x4c, 0x0a, 0x20, 0x60, 0x70, + 0x0a, 0x22, 0x13, 0x20, 0xa1, 0x68, 0x3c, 0x00, + 0x24, 0x26, 0x01, 0x00, 0x00, 0xf0, 0xd2, 0xff, + 0x60, 0x68, 0x00, 0xf0, 0xf7, 0xfa, 0x00, 0x28, + 0x00, 0xd1, 0x5f, 0xe7, 0x00, 0xf0, 0xba, 0xfb, + 0x11, 0x49, 0x00, 0x23, 0x40, 0x18, 0x0e, 0x49, + 0x60, 0x60, 0x1e, 0x39, 0xc8, 0x56, 0xb0, 0x42, + 0xf3, 0xd0, 0x0e, 0x70, 0x31, 0x1c, 0x00, 0x20, + 0xff, 0xf7, 0x84, 0xfe, 0x4e, 0xe7, 0xff, 0xf7, + 0x15, 0xfe, 0x4b, 0xe7, 0x7c, 0x78, 0x01, 0x00, + 0x3c, 0x00, 0x60, 0x26, 0x01, 0x00, 0x60, 0xd7, + 0xff, 0xff, 0x60, 0x8f, 0x01, 0x00, 0x54, 0x0b, + 0x00, 0x00, 0xc9, 0x09, 0x00, 0x00, 0x8e, 0xfe, + 0xff, 0xff, 0x0c, 0x5a, 0x01, 0x00, 0x12, 0x5a, + 0x01, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x40, 0x42, + 0x0f, 0x00, 0x30, 0xb5, 0x0c, 0x4b, 0xfe, 0x24, + 0x1b, 0x88, 0x04, 0x40, 0xc0, 0x07, 0x5d, 0x07, + 0x6d, 0x0f, 0xdb, 0x08, 0xc0, 0x0f, 0x9c, 0x42, + 0x0b, 0xd8, 0x3c, 0x00, 0x9c, 0x26, 0x01, 0x00, + 0xa2, 0x18, 0x04, 0x3a, 0x9a, 0x42, 0x07, 0xd3, + 0x1a, 0x1b, 0x89, 0x5c, 0x01, 0x22, 0xaa, 0x40, + 0x11, 0x40, 0x01, 0xd0, 0x02, 0x21, 0x08, 0x43, + 0x30, 0xbd, 0x00, 0x00, 0xfa, 0x60, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x28, 0x03, 0xd0, 0x01, 0x1c, + 0x14, 0x20, 0xf5, 0xf7, 0xff, 0xfa, 0x80, 0xbd, + 0xb0, 0xb5, 0x04, 0x1c, 0xf7, 0xf7, 0x08, 0xfd, + 0x13, 0x4d, 0x00, 0x28, 0x3c, 0x00, 0xd8, 0x26, + 0x01, 0x00, 0x1d, 0xd1, 0xa0, 0x07, 0x16, 0xd5, + 0x02, 0x20, 0x84, 0x43, 0x11, 0x48, 0x01, 0x22, + 0x2a, 0x62, 0x40, 0x68, 0x00, 0x28, 0x13, 0xd0, + 0xf2, 0xf7, 0x51, 0xf9, 0x00, 0x28, 0x0f, 0xd1, + 0x0b, 0x48, 0xe4, 0x30, 0x80, 0x7a, 0x01, 0x28, + 0x00, 0xd0, 0x00, 0x22, 0x11, 0x1c, 0x01, 0x20, + 0xf2, 0xf7, 0xa5, 0xf9, 0x04, 0xe0, 0x00, 0xf0, + 0x4e, 0xfb, 0xe8, 0x61, 0xf2, 0xf7, 0x3c, 0x00, + 0x14, 0x27, 0x01, 0x00, 0x6b, 0xf9, 0xa9, 0x6a, + 0x00, 0x29, 0x02, 0xd0, 0x20, 0x1c, 0xed, 0xf7, + 0x5c, 0xfe, 0xb0, 0xbd, 0x60, 0x6c, 0x01, 0x00, + 0xb0, 0x57, 0x01, 0x00, 0x20, 0x48, 0xb0, 0xb5, + 0x81, 0x68, 0x01, 0x29, 0x04, 0xd1, 0x00, 0x78, + 0x00, 0x28, 0x01, 0xd1, 0xfd, 0xf7, 0x72, 0xfd, + 0x1b, 0x4d, 0x80, 0x3d, 0x2c, 0x1c, 0x70, 0x34, + 0x20, 0x78, 0x03, 0x38, 0x05, 0x28, 0x18, 0xd2, + 0x3c, 0x00, 0x50, 0x27, 0x01, 0x00, 0x01, 0xa3, + 0x1b, 0x5c, 0x5b, 0x00, 0x9f, 0x44, 0x04, 0x15, + 0x27, 0x27, 0x27, 0x00, 0xfb, 0xf7, 0xf1, 0xff, + 0x60, 0x7b, 0x01, 0x1c, 0xff, 0x31, 0x61, 0x73, + 0x00, 0x28, 0xf7, 0xd1, 0x04, 0x20, 0x20, 0x70, + 0xa8, 0x89, 0xf8, 0xf7, 0xda, 0xf9, 0x01, 0x1c, + 0x00, 0x22, 0x0f, 0x20, 0x00, 0xf0, 0x25, 0xff, + 0xb0, 0xbd, 0xef, 0xf7, 0xce, 0xff, 0x6a, 0x21, + 0x49, 0x5b, 0x3c, 0x00, 0x8c, 0x27, 0x01, 0x00, + 0x88, 0x42, 0x0b, 0xd0, 0xe8, 0x89, 0xf8, 0xf7, + 0xcb, 0xf9, 0x01, 0x1c, 0x00, 0x23, 0x00, 0x22, + 0x0f, 0x20, 0x00, 0xf0, 0xf7, 0xff, 0x07, 0x20, + 0x20, 0x70, 0xb0, 0xbd, 0xfd, 0xf7, 0x3a, 0xfe, + 0xb0, 0xbd, 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, + 0xf0, 0xb5, 0x85, 0xb0, 0x04, 0x1c, 0x03, 0x80, + 0x18, 0x0c, 0x60, 0x80, 0x0d, 0x1c, 0x51, 0x78, + 0x10, 0x78, 0x09, 0x02, 0x3c, 0x00, 0xc8, 0x27, + 0x01, 0x00, 0x48, 0x40, 0xa0, 0x80, 0xd1, 0x78, + 0x90, 0x78, 0x09, 0x02, 0x48, 0x40, 0xe0, 0x80, + 0x51, 0x79, 0x10, 0x79, 0x09, 0x02, 0x48, 0x40, + 0x20, 0x81, 0x68, 0x46, 0x1a, 0x49, 0x14, 0x22, + 0xed, 0xf7, 0xe3, 0xfe, 0x00, 0x23, 0x00, 0x20, + 0xd9, 0x07, 0xc9, 0x0f, 0x8c, 0x46, 0x42, 0x00, + 0x56, 0x07, 0x76, 0x0f, 0x61, 0x46, 0x89, 0x19, + 0x49, 0x00, 0x6e, 0x5c, 0x49, 0x19, 0x3c, 0x00, + 0x04, 0x28, 0x01, 0x00, 0x49, 0x78, 0x6f, 0x46, + 0x09, 0x02, 0x4e, 0x40, 0x81, 0x00, 0x79, 0x58, + 0x0f, 0x4f, 0x49, 0x00, 0x61, 0x5a, 0x01, 0x30, + 0x4e, 0x40, 0x31, 0x06, 0x36, 0x0a, 0x76, 0x00, + 0xc9, 0x0d, 0x79, 0x5a, 0xf6, 0x19, 0x01, 0x27, + 0x7f, 0x02, 0xf6, 0x19, 0x36, 0x88, 0x71, 0x40, + 0xa6, 0x5a, 0x89, 0x19, 0xa1, 0x52, 0x05, 0x28, + 0xdc, 0xdb, 0x20, 0x89, 0xc0, 0x18, 0x01, 0x33, + 0x3c, 0x00, 0x40, 0x28, 0x01, 0x00, 0x08, 0x2b, + 0x20, 0x81, 0xd2, 0xdb, 0x05, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xd8, 0x56, 0x01, 0x00, 0xd8, 0x52, + 0x01, 0x00, 0xf0, 0xb5, 0x05, 0x1c, 0x0c, 0x1c, + 0x1e, 0x1c, 0x00, 0x20, 0x89, 0xb0, 0x41, 0x00, + 0x53, 0x5a, 0x01, 0x30, 0x06, 0xaf, 0x7b, 0x52, + 0x05, 0x28, 0xf8, 0xdb, 0x10, 0x89, 0x00, 0xab, + 0x3a, 0x49, 0x80, 0x19, 0x58, 0x84, 0x68, 0x46, + 0x18, 0x22, 0x3c, 0x00, 0x7c, 0x28, 0x01, 0x00, + 0xed, 0xf7, 0x98, 0xfe, 0x00, 0x20, 0x41, 0x00, + 0x0a, 0x19, 0x52, 0x78, 0x63, 0x5c, 0x6f, 0x46, + 0x12, 0x02, 0x53, 0x40, 0x82, 0x00, 0xba, 0x58, + 0x06, 0xaf, 0x52, 0x00, 0xba, 0x5a, 0x31, 0x4f, + 0x01, 0x30, 0x53, 0x40, 0x1a, 0x06, 0x1b, 0x0a, + 0x5b, 0x00, 0xd2, 0x0d, 0xba, 0x5a, 0xdb, 0x19, + 0x01, 0x27, 0x7f, 0x02, 0xdb, 0x19, 0x1b, 0x88, + 0x5a, 0x40, 0x06, 0xab, 0x3c, 0x00, 0xb8, 0x28, + 0x01, 0x00, 0x5b, 0x5a, 0xd2, 0x18, 0x06, 0xab, + 0x5a, 0x52, 0x06, 0x28, 0xde, 0xdb, 0x61, 0x7b, + 0x20, 0x7b, 0x00, 0xab, 0x09, 0x02, 0x48, 0x40, + 0x59, 0x8c, 0x48, 0x40, 0x41, 0x08, 0xc0, 0x03, + 0x48, 0x40, 0x19, 0x8b, 0x40, 0x18, 0x18, 0x83, + 0xe1, 0x7b, 0xa0, 0x7b, 0x09, 0x02, 0x48, 0x40, + 0x19, 0x8b, 0x48, 0x40, 0x41, 0x08, 0xc0, 0x03, + 0x48, 0x40, 0x59, 0x8b, 0x40, 0x18, 0x3c, 0x00, + 0xf4, 0x28, 0x01, 0x00, 0x58, 0x83, 0x02, 0x20, + 0x41, 0x00, 0x06, 0xaa, 0x8a, 0x18, 0x20, 0x3a, + 0xd2, 0x8b, 0x01, 0x30, 0x53, 0x08, 0xd2, 0x03, + 0x5a, 0x40, 0x06, 0xab, 0x5b, 0x5a, 0xd2, 0x18, + 0x06, 0xab, 0x5a, 0x52, 0x06, 0x28, 0xef, 0xdb, + 0x30, 0x0a, 0x28, 0x70, 0x70, 0x04, 0x40, 0x0e, + 0x20, 0x21, 0x08, 0x43, 0x68, 0x70, 0xae, 0x70, + 0x61, 0x78, 0x20, 0x78, 0x00, 0xab, 0x09, 0x02, + 0x3c, 0x00, 0x30, 0x29, 0x01, 0x00, 0x48, 0x40, + 0x59, 0x8c, 0x48, 0x40, 0xc0, 0x05, 0x00, 0x0e, + 0xe8, 0x70, 0x00, 0x20, 0x41, 0x00, 0x06, 0xaa, + 0x53, 0x5a, 0x4a, 0x19, 0x01, 0x30, 0x13, 0x71, + 0x06, 0xab, 0x59, 0x5a, 0x09, 0x0a, 0x51, 0x71, + 0x06, 0x28, 0xf3, 0xdb, 0x09, 0xb0, 0xf0, 0xbd, + 0x00, 0x00, 0xec, 0x56, 0x01, 0x00, 0xd8, 0x52, + 0x01, 0x00, 0xf0, 0xb5, 0x46, 0x68, 0x05, 0x1c, + 0x60, 0x30, 0x3c, 0x00, 0x6c, 0x29, 0x01, 0x00, + 0x85, 0xb0, 0x04, 0x90, 0x60, 0xe0, 0x68, 0x68, + 0x0c, 0x21, 0x07, 0x69, 0x00, 0x20, 0xee, 0xf7, + 0x2d, 0xfe, 0x70, 0x61, 0x01, 0x89, 0x04, 0x39, + 0x09, 0x04, 0x09, 0x0c, 0x01, 0x81, 0x70, 0x69, + 0x00, 0x68, 0x40, 0x18, 0x04, 0x21, 0xee, 0xf7, + 0x21, 0xfe, 0xf0, 0x61, 0x70, 0x69, 0x20, 0x21, + 0x04, 0x68, 0x04, 0x98, 0x04, 0x22, 0x40, 0x7b, + 0x80, 0x01, 0x08, 0x43, 0x3c, 0x00, 0xa8, 0x29, + 0x01, 0x00, 0xe0, 0x70, 0x28, 0x69, 0x40, 0x89, + 0xa0, 0x70, 0x28, 0x69, 0x40, 0x89, 0x00, 0x0a, + 0x20, 0x70, 0x29, 0x69, 0x0c, 0x31, 0xa0, 0x18, + 0xed, 0xf7, 0x9b, 0xfd, 0x20, 0x78, 0x20, 0x21, + 0x40, 0x06, 0x40, 0x0e, 0x08, 0x43, 0x60, 0x70, + 0x28, 0x69, 0x0a, 0x30, 0x01, 0x88, 0x01, 0x31, + 0x09, 0x04, 0x09, 0x0c, 0x01, 0x80, 0x04, 0xd1, + 0x28, 0x69, 0x0c, 0x30, 0x01, 0x68, 0x3c, 0x00, + 0xe4, 0x29, 0x01, 0x00, 0x01, 0x31, 0x01, 0x60, + 0x35, 0x62, 0x61, 0x79, 0x20, 0x79, 0x09, 0x02, + 0x40, 0x18, 0xa1, 0x79, 0x09, 0x04, 0x40, 0x18, + 0xe1, 0x79, 0x09, 0x06, 0x43, 0x18, 0x00, 0x93, + 0xa0, 0x78, 0x21, 0x78, 0x09, 0x02, 0x40, 0x18, + 0x04, 0x04, 0x24, 0x0c, 0x10, 0x20, 0xee, 0xf7, + 0x13, 0xff, 0xb0, 0x61, 0x28, 0x69, 0x3a, 0x1c, + 0x01, 0x68, 0x00, 0x9b, 0x01, 0xa8, 0x0a, 0x32, + 0x3c, 0x00, 0x20, 0x2a, 0x01, 0x00, 0xff, 0xf7, + 0xc8, 0xfe, 0x28, 0x69, 0x23, 0x1c, 0x01, 0x68, + 0xb0, 0x69, 0x01, 0xaa, 0xff, 0xf7, 0x11, 0xff, + 0x36, 0x68, 0x00, 0x2e, 0x9c, 0xd1, 0x03, 0x49, + 0x04, 0x48, 0x6a, 0x68, 0xf7, 0xf7, 0x63, 0xfb, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xfd, 0x6b, + 0x00, 0x00, 0xa0, 0x6a, 0x01, 0x00, 0x01, 0x38, + 0x07, 0x49, 0x40, 0x00, 0x09, 0x5c, 0x00, 0x29, + 0x06, 0xd0, 0x3c, 0x00, 0x5c, 0x2a, 0x01, 0x00, + 0x04, 0x49, 0x1c, 0x39, 0x08, 0x5c, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0xe6, 0x78, 0x01, 0x00, + 0xfe, 0xb5, 0x05, 0x1c, 0x00, 0x20, 0x02, 0x90, + 0x13, 0x48, 0x17, 0x1c, 0x00, 0x68, 0x0c, 0x1c, + 0x86, 0x78, 0x30, 0x1c, 0xfd, 0xf7, 0x28, 0xfa, + 0x00, 0x28, 0x01, 0xd1, 0x02, 0x98, 0xfe, 0xbd, + 0x00, 0x2d, 0x08, 0xd1, 0x3c, 0x00, 0x98, 0x2a, + 0x01, 0x00, 0x20, 0x68, 0x00, 0xab, 0x18, 0x71, + 0x60, 0x68, 0x58, 0x71, 0xa0, 0x68, 0x98, 0x71, + 0x03, 0x20, 0x38, 0x80, 0x29, 0x1c, 0x30, 0x1c, + 0x01, 0xaa, 0x00, 0xf0, 0x0e, 0xf8, 0x00, 0x2d, + 0xec, 0xd0, 0x00, 0xab, 0x19, 0x79, 0x21, 0x60, + 0x59, 0x79, 0x61, 0x60, 0x99, 0x79, 0xa1, 0x60, + 0x0c, 0x21, 0x39, 0x80, 0xe2, 0xe7, 0xf8, 0x6b, + 0x01, 0x00, 0xf8, 0xb5, 0x15, 0x1c, 0x3c, 0x00, + 0xd4, 0x2a, 0x01, 0x00, 0x42, 0x1e, 0x01, 0x38, + 0x47, 0x00, 0x3f, 0x18, 0x1f, 0x48, 0x3e, 0x18, + 0x00, 0x29, 0x06, 0xd0, 0x01, 0x24, 0x03, 0x22, + 0x31, 0x1c, 0x28, 0x1c, 0xed, 0xf7, 0x04, 0xfd, + 0x32, 0xe0, 0x68, 0x78, 0x01, 0x24, 0x00, 0x28, + 0x05, 0xd0, 0x29, 0x78, 0x08, 0x18, 0x01, 0x38, + 0x0e, 0x28, 0x00, 0xd9, 0x00, 0x24, 0x00, 0x2c, + 0x26, 0xd0, 0x00, 0x2a, 0x07, 0xd1, 0x2a, 0x21, + 0x3c, 0x00, 0x10, 0x2b, 0x01, 0x00, 0x12, 0x48, + 0xed, 0xf7, 0x9f, 0xfc, 0x1c, 0x21, 0x11, 0x48, + 0xed, 0xf7, 0x9b, 0xfc, 0x0f, 0x48, 0x03, 0x22, + 0x29, 0x1c, 0x30, 0x1c, 0xed, 0xf7, 0xe7, 0xfc, + 0x0c, 0x48, 0x71, 0x78, 0xc0, 0x5d, 0xb2, 0x78, + 0x00, 0x29, 0x0e, 0xd0, 0x00, 0x2a, 0x0c, 0xd0, + 0x01, 0x22, 0x43, 0x18, 0x08, 0x4d, 0x06, 0xe0, + 0x41, 0x00, 0x49, 0x19, 0x10, 0x39, 0x8a, 0x73, + 0xb7, 0x78, 0x3c, 0x00, 0x4c, 0x2b, 0x01, 0x00, + 0x01, 0x30, 0xcf, 0x73, 0x83, 0x42, 0xf6, 0xd8, + 0xfe, 0xf7, 0x60, 0xf8, 0x20, 0x1c, 0xf8, 0xbd, + 0xeb, 0x62, 0x01, 0x00, 0xca, 0x78, 0x01, 0x00, + 0x70, 0xb5, 0x05, 0x1c, 0x1c, 0x48, 0x00, 0x23, + 0xc0, 0x56, 0x43, 0x1c, 0x32, 0xd1, 0xa8, 0x7a, + 0xf8, 0xf7, 0x0c, 0xf9, 0x00, 0x26, 0x00, 0x28, + 0x18, 0x4c, 0x08, 0xd0, 0xe8, 0x69, 0xe1, 0x6b, + 0x00, 0x29, 0x0b, 0xd1, 0x3c, 0x00, 0x88, 0x2b, + 0x01, 0x00, 0x66, 0x63, 0x01, 0x21, 0xe1, 0x63, + 0xa6, 0x63, 0x06, 0xe0, 0xa8, 0x69, 0xe1, 0x6b, + 0x00, 0x29, 0x02, 0xd0, 0x66, 0x63, 0xa6, 0x63, + 0xe6, 0x63, 0xa1, 0x6b, 0x01, 0x31, 0xa1, 0x63, + 0x82, 0x03, 0x01, 0xd5, 0x0e, 0x4a, 0x10, 0x43, + 0xe2, 0x6b, 0x00, 0x2a, 0x00, 0xd0, 0x40, 0x42, + 0x62, 0x6b, 0x10, 0x18, 0x60, 0x63, 0x08, 0x29, + 0x0b, 0xd1, 0x00, 0x28, 0x01, 0xdd, 0x3c, 0x00, + 0xc4, 0x2b, 0x01, 0x00, 0x01, 0x20, 0x03, 0xe0, + 0x00, 0x28, 0x03, 0xda, 0x00, 0x20, 0xc0, 0x43, + 0xef, 0xf7, 0x62, 0xfe, 0x66, 0x63, 0xa6, 0x63, + 0x70, 0xbd, 0x00, 0x00, 0xf4, 0x6b, 0x01, 0x00, + 0x84, 0x6a, 0x01, 0x00, 0x00, 0x00, 0xfe, 0xff, + 0x0c, 0x21, 0x05, 0x4a, 0x41, 0x43, 0x89, 0x18, + 0x80, 0xb5, 0x89, 0x78, 0x00, 0x29, 0x01, 0xd1, + 0xf3, 0xf7, 0xf2, 0xfa, 0x80, 0xbd, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x60, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x1c, 0x00, 0x20, + 0xf7, 0xf7, 0x03, 0xfa, 0x80, 0xbd, 0x80, 0xb5, + 0x01, 0x1c, 0x01, 0x20, 0xf7, 0xf7, 0xfd, 0xf9, + 0x80, 0xbd, 0x02, 0x49, 0x89, 0x68, 0x40, 0x1a, + 0xc0, 0x0f, 0x70, 0x47, 0x00, 0x00, 0x00, 0x01, + 0x07, 0x00, 0x02, 0x49, 0x89, 0x68, 0x08, 0x1a, + 0xc0, 0x17, 0x01, 0x30, 0x70, 0x47, 0x00, 0x01, + 0x07, 0x00, 0x3c, 0x00, 0x3c, 0x2c, 0x01, 0x00, + 0x05, 0x49, 0x4a, 0x68, 0x01, 0x23, 0x1a, 0x43, + 0x4a, 0x60, 0x8a, 0x68, 0x10, 0x18, 0x88, 0x60, + 0x48, 0x68, 0x98, 0x43, 0x48, 0x60, 0x70, 0x47, + 0x00, 0x01, 0x07, 0x00, 0x10, 0xb5, 0x15, 0x4b, + 0x00, 0x21, 0x0a, 0x01, 0x9a, 0x58, 0x00, 0x2a, + 0x17, 0xd1, 0x01, 0x24, 0x0a, 0x01, 0x9c, 0x50, + 0xd2, 0x18, 0x10, 0x73, 0x00, 0x23, 0x53, 0x73, + 0x02, 0x23, 0x01, 0x28, 0x3c, 0x00, 0x78, 0x2c, + 0x01, 0x00, 0x0e, 0x4a, 0x05, 0xd1, 0xc8, 0x00, + 0x80, 0x18, 0x10, 0x30, 0x02, 0x78, 0x9a, 0x43, + 0x04, 0xe0, 0xc8, 0x00, 0x80, 0x18, 0x10, 0x30, + 0x02, 0x78, 0x1a, 0x43, 0x02, 0x70, 0x02, 0xe0, + 0x01, 0x31, 0x08, 0x29, 0xe0, 0xdb, 0x08, 0x29, + 0x04, 0xd1, 0x01, 0x21, 0x99, 0x20, 0xee, 0xf7, + 0xfe, 0xfa, 0x03, 0x49, 0x08, 0x04, 0x00, 0x0c, + 0x10, 0xbd, 0xac, 0x73, 0x01, 0x00, 0x3c, 0x00, + 0xb4, 0x2c, 0x01, 0x00, 0x00, 0x60, 0x07, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xf7, 0xb5, 0x19, 0x4f, + 0x19, 0x4e, 0x0c, 0x1c, 0xc1, 0x00, 0xc9, 0x19, + 0xb2, 0x68, 0x10, 0x31, 0x81, 0xb0, 0x01, 0x3a, + 0x4a, 0x60, 0x0b, 0x78, 0x1d, 0x1c, 0x0d, 0x22, + 0x93, 0x43, 0x0b, 0x70, 0x01, 0x22, 0x82, 0x40, + 0x3a, 0x73, 0x12, 0x4b, 0x00, 0x01, 0x03, 0x9a, + 0xc0, 0x18, 0x82, 0x60, 0x10, 0x4a, 0x10, 0x1c, + 0x3c, 0x00, 0xf0, 0x2c, 0x01, 0x00, 0x20, 0x30, + 0x87, 0x79, 0x00, 0xab, 0x1f, 0x70, 0xc0, 0x79, + 0x58, 0x70, 0xb0, 0x68, 0x03, 0x30, 0x00, 0x23, + 0x26, 0x1a, 0x01, 0xd5, 0x04, 0x1c, 0x01, 0x23, + 0x4c, 0x60, 0x0d, 0x70, 0x00, 0x2b, 0x04, 0xd0, + 0x20, 0x1c, 0xff, 0xf7, 0x8a, 0xff, 0x00, 0x28, + 0xfa, 0xd0, 0x00, 0xab, 0x18, 0x88, 0xd0, 0x84, + 0xff, 0xbd, 0x00, 0x60, 0x07, 0x00, 0x00, 0x01, + 0x07, 0x00, 0x3c, 0x00, 0x2c, 0x2d, 0x01, 0x00, + 0xac, 0x73, 0x01, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x30, 0xb5, 0x00, 0x20, 0xc0, 0x43, 0x0b, 0x4c, + 0x09, 0x4b, 0x00, 0x22, 0xd1, 0x00, 0x09, 0x19, + 0x0d, 0x7c, 0xed, 0x07, 0x07, 0xd5, 0x49, 0x69, + 0x9d, 0x68, 0x49, 0x1b, 0x00, 0xd5, 0x00, 0x21, + 0x81, 0x42, 0x00, 0xd2, 0x08, 0x1c, 0x01, 0x32, + 0x08, 0x2a, 0xef, 0xdb, 0x30, 0xbd, 0x00, 0x00, + 0x00, 0x01, 0x07, 0x00, 0x3c, 0x00, 0x68, 0x2d, + 0x01, 0x00, 0x00, 0x60, 0x07, 0x00, 0xb0, 0xb5, + 0x08, 0x28, 0x0b, 0xd2, 0x08, 0x4d, 0x04, 0x01, + 0x29, 0x59, 0x00, 0x29, 0x04, 0xd0, 0x00, 0xf0, + 0x4a, 0xf8, 0x00, 0x20, 0x28, 0x51, 0xb0, 0xbd, + 0x02, 0x21, 0x00, 0xe0, 0x03, 0x21, 0x99, 0x20, + 0xee, 0xf7, 0x89, 0xfa, 0xb0, 0xbd, 0xac, 0x73, + 0x01, 0x00, 0x03, 0x49, 0x00, 0x01, 0x40, 0x18, + 0x41, 0x7b, 0x08, 0x22, 0x11, 0x43, 0x3c, 0x00, + 0xa4, 0x2d, 0x01, 0x00, 0x41, 0x73, 0x70, 0x47, + 0xac, 0x73, 0x01, 0x00, 0x01, 0x48, 0x80, 0x68, + 0x70, 0x47, 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, + 0x70, 0xb5, 0x0b, 0x4e, 0x09, 0x4d, 0x00, 0x22, + 0xd0, 0x00, 0x84, 0x19, 0x20, 0x7c, 0xc0, 0x07, + 0x07, 0xd5, 0x60, 0x69, 0xff, 0xf7, 0x26, 0xff, + 0x00, 0x28, 0x02, 0xd0, 0xa8, 0x68, 0x32, 0x30, + 0x60, 0x61, 0x01, 0x32, 0x08, 0x2a, 0xef, 0xdb, + 0x3c, 0x00, 0xe0, 0x2d, 0x01, 0x00, 0x70, 0xbd, + 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x60, + 0x07, 0x00, 0x02, 0x4a, 0xc0, 0x00, 0x80, 0x18, + 0x01, 0x74, 0x70, 0x47, 0x00, 0x00, 0x00, 0x60, + 0x07, 0x00, 0x04, 0x49, 0xc0, 0x00, 0x41, 0x18, + 0x08, 0x7c, 0x08, 0x23, 0x02, 0x1c, 0x9a, 0x43, + 0x0a, 0x74, 0x70, 0x47, 0x00, 0x00, 0x00, 0x60, + 0x07, 0x00, 0x70, 0xb5, 0x08, 0x28, 0x17, 0xd2, + 0x0e, 0x49, 0x3c, 0x00, 0x1c, 0x2e, 0x01, 0x00, + 0x8a, 0x68, 0x0e, 0x4d, 0x01, 0x3a, 0xc1, 0x00, + 0x49, 0x19, 0x4a, 0x61, 0x0c, 0x4b, 0x9a, 0x79, + 0x10, 0x31, 0x0c, 0x78, 0x0d, 0x26, 0xb4, 0x43, + 0x0c, 0x70, 0x01, 0x21, 0x81, 0x40, 0x29, 0x73, + 0x9a, 0x71, 0x09, 0x4a, 0x07, 0x49, 0x00, 0x01, + 0x80, 0x18, 0x41, 0x60, 0x70, 0xbd, 0x05, 0x21, + 0x99, 0x20, 0xee, 0xf7, 0x29, 0xfa, 0x70, 0xbd, + 0x00, 0x01, 0x07, 0x00, 0x3c, 0x00, 0x58, 0x2e, + 0x01, 0x00, 0x00, 0x60, 0x07, 0x00, 0x20, 0x10, + 0x07, 0x00, 0xd1, 0x75, 0x00, 0x00, 0xac, 0x73, + 0x01, 0x00, 0xf8, 0xb5, 0x9e, 0x46, 0x1a, 0x4b, + 0x94, 0x46, 0x9b, 0x68, 0x1a, 0x4c, 0xc2, 0x00, + 0x12, 0x19, 0x01, 0x3b, 0x53, 0x61, 0x15, 0x1c, + 0x18, 0x4c, 0xa6, 0x79, 0x2a, 0x1c, 0x10, 0x32, + 0x13, 0x78, 0x0d, 0x27, 0xbb, 0x43, 0x13, 0x70, + 0x01, 0x27, 0x12, 0x4b, 0x87, 0x40, 0x3c, 0x00, + 0x94, 0x2e, 0x01, 0x00, 0x1f, 0x73, 0xa6, 0x71, + 0x12, 0x4e, 0x00, 0x01, 0x80, 0x19, 0x63, 0x46, + 0x43, 0x60, 0x73, 0x46, 0x83, 0x60, 0x13, 0x78, + 0x40, 0x7b, 0xa6, 0x79, 0x01, 0x27, 0x18, 0x43, + 0x38, 0x43, 0x14, 0x35, 0x00, 0xab, 0x1e, 0x70, + 0xe4, 0x79, 0x5c, 0x70, 0x06, 0x4b, 0x9b, 0x68, + 0x03, 0x33, 0xcc, 0x1a, 0x00, 0xd5, 0x19, 0x1c, + 0x29, 0x60, 0x10, 0x70, 0x00, 0xab, 0x18, 0x88, + 0x3c, 0x00, 0xd0, 0x2e, 0x01, 0x00, 0x03, 0x4c, + 0x20, 0x3c, 0xe0, 0x84, 0xf8, 0xbd, 0x00, 0x01, + 0x07, 0x00, 0x00, 0x60, 0x07, 0x00, 0x20, 0x10, + 0x07, 0x00, 0xac, 0x73, 0x01, 0x00, 0x00, 0xb5, + 0x01, 0x1c, 0xff, 0xf7, 0x5e, 0xff, 0x42, 0x18, + 0x10, 0x1c, 0xff, 0xf7, 0x92, 0xfe, 0x00, 0x28, + 0xfa, 0xd0, 0x00, 0xbd, 0x00, 0x00, 0x89, 0x1a, + 0x40, 0x1a, 0x99, 0x18, 0x88, 0x42, 0x01, 0xd8, + 0x01, 0x20, 0x3c, 0x00, 0x0c, 0x2f, 0x01, 0x00, + 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, + 0xf8, 0xb5, 0x0f, 0x1c, 0x04, 0x1c, 0x00, 0x28, + 0x01, 0xd1, 0xee, 0xf7, 0xef, 0xf9, 0x21, 0x1c, + 0x01, 0x20, 0xff, 0xf7, 0x19, 0xfa, 0x41, 0x20, + 0x00, 0x5d, 0x00, 0x28, 0x01, 0xd1, 0x00, 0x25, + 0x04, 0xe0, 0x02, 0x28, 0x01, 0xd1, 0x05, 0x25, + 0x00, 0xe0, 0x01, 0x25, 0xe0, 0x68, 0xee, 0xf7, + 0x29, 0xfb, 0xa6, 0x6b, 0x3c, 0x00, 0x48, 0x2f, + 0x01, 0x00, 0x00, 0x2e, 0x10, 0xd0, 0x00, 0x2f, + 0x06, 0xd0, 0x2f, 0x20, 0x02, 0x5d, 0x20, 0x6a, + 0x41, 0x6b, 0x28, 0x1c, 0xed, 0xf7, 0x44, 0xfa, + 0xa0, 0x69, 0x00, 0x28, 0x01, 0xd0, 0xee, 0xf7, + 0x46, 0xfc, 0x20, 0x6a, 0xee, 0xf7, 0x43, 0xfc, + 0x20, 0x1c, 0xee, 0xf7, 0x40, 0xfc, 0x30, 0x1c, + 0xf8, 0xbd, 0xb0, 0xb5, 0x04, 0x1c, 0xc0, 0x6b, + 0x00, 0x28, 0x09, 0xd0, 0x20, 0x69, 0x3c, 0x00, + 0x84, 0x2f, 0x01, 0x00, 0x00, 0x8b, 0xee, 0xf7, + 0x55, 0xf9, 0x00, 0x28, 0x03, 0xd0, 0x21, 0x1c, + 0x06, 0x20, 0xff, 0xf7, 0xe3, 0xf9, 0x08, 0x4d, + 0x20, 0x1c, 0xa9, 0x6d, 0xff, 0xf7, 0xba, 0xff, + 0x00, 0x28, 0x07, 0xd0, 0xe8, 0x68, 0x01, 0x30, + 0xe8, 0x60, 0x28, 0x6a, 0x01, 0x38, 0x28, 0x62, + 0xfc, 0xf7, 0x78, 0xf8, 0xb0, 0xbd, 0x00, 0x00, + 0xc4, 0x69, 0x01, 0x00, 0x10, 0xb5, 0x06, 0x4c, + 0x3c, 0x00, 0xc0, 0x2f, 0x01, 0x00, 0xe1, 0x6d, + 0xff, 0xf7, 0xa7, 0xff, 0x00, 0x28, 0x04, 0xd0, + 0xe0, 0x69, 0x01, 0x38, 0xe0, 0x61, 0xfc, 0xf7, + 0x68, 0xf8, 0x10, 0xbd, 0x00, 0x00, 0xc4, 0x69, + 0x01, 0x00, 0x0c, 0x23, 0x0c, 0x49, 0x58, 0x43, + 0x40, 0x18, 0x10, 0xb5, 0x44, 0x68, 0xa1, 0x68, + 0x00, 0x29, 0x02, 0xd0, 0x20, 0x1c, 0xed, 0xf7, + 0xf3, 0xf9, 0xe0, 0x6b, 0x00, 0x28, 0x08, 0xd0, + 0x20, 0x69, 0x3c, 0x00, 0xfc, 0x2f, 0x01, 0x00, + 0x00, 0x8b, 0xee, 0xf7, 0x19, 0xf9, 0x00, 0x28, + 0x02, 0xd0, 0x20, 0x1c, 0xf9, 0xf7, 0x26, 0xf9, + 0x10, 0xbd, 0x00, 0x00, 0x60, 0x7b, 0x01, 0x00, + 0xf8, 0xb5, 0x22, 0x49, 0x48, 0x68, 0x80, 0x00, + 0x06, 0xd4, 0x01, 0x20, 0x40, 0x07, 0x08, 0x60, + 0x4a, 0x69, 0x92, 0x00, 0x00, 0xd4, 0x48, 0x60, + 0x1d, 0x4f, 0x78, 0x7e, 0xc3, 0x06, 0x01, 0x20, + 0x02, 0x1c, 0xdb, 0x0e, 0x3c, 0x00, 0x38, 0x30, + 0x01, 0x00, 0x9a, 0x40, 0x0a, 0x60, 0x79, 0x69, + 0x8c, 0x68, 0x8c, 0x60, 0x21, 0x07, 0x89, 0x0f, + 0x09, 0xd0, 0x21, 0x07, 0x04, 0xd5, 0x0b, 0x21, + 0x9e, 0x20, 0xee, 0xf7, 0x28, 0xf9, 0x00, 0xe0, + 0x78, 0x64, 0x0c, 0x20, 0x84, 0x43, 0x12, 0x48, + 0x3d, 0x68, 0x06, 0x5d, 0x6c, 0x68, 0x2c, 0x34, + 0x06, 0xe0, 0xa0, 0x68, 0x00, 0x68, 0xa0, 0x60, + 0xe9, 0x68, 0x28, 0x1c, 0xed, 0xf7, 0x3c, 0x00, + 0x74, 0x30, 0x01, 0x00, 0xb2, 0xf9, 0x01, 0x3e, + 0xf6, 0xd2, 0xa0, 0x68, 0x80, 0x68, 0x00, 0x28, + 0x0d, 0xd0, 0x40, 0x89, 0x00, 0x28, 0x0a, 0xd0, + 0x78, 0x6c, 0x00, 0x28, 0x07, 0xd1, 0x78, 0x69, + 0x80, 0x68, 0x80, 0x07, 0x03, 0xd1, 0x0c, 0x21, + 0x9e, 0x20, 0xee, 0xf7, 0x03, 0xf9, 0xf8, 0xbd, + 0x00, 0x10, 0x07, 0x00, 0xcc, 0x6d, 0x01, 0x00, + 0xb4, 0x44, 0x01, 0x00, 0x09, 0x49, 0x80, 0xb5, + 0x3c, 0x00, 0xb0, 0x30, 0x01, 0x00, 0x08, 0x7e, + 0xc2, 0x06, 0xd2, 0x0e, 0x01, 0x20, 0x90, 0x40, + 0x07, 0x4a, 0x10, 0x60, 0x00, 0x20, 0x0a, 0x69, + 0xc0, 0x43, 0x90, 0x60, 0x08, 0x68, 0x24, 0x31, + 0x06, 0xc9, 0x03, 0x69, 0xed, 0xf7, 0x86, 0xf9, + 0x80, 0xbd, 0xcc, 0x6d, 0x01, 0x00, 0x00, 0x10, + 0x07, 0x00, 0xf8, 0xb5, 0x44, 0x68, 0x06, 0x1c, + 0x2c, 0x34, 0x20, 0x68, 0x0d, 0x1c, 0x80, 0x68, + 0x00, 0x90, 0x3c, 0x00, 0xec, 0x30, 0x01, 0x00, + 0x00, 0x28, 0x00, 0xd0, 0xc5, 0x60, 0x20, 0x68, + 0x00, 0x68, 0x20, 0x60, 0x40, 0x68, 0x00, 0x28, + 0x03, 0xd0, 0x0a, 0x21, 0x9e, 0x20, 0xee, 0xf7, + 0xcf, 0xf8, 0x20, 0x68, 0x45, 0x60, 0x28, 0x1c, + 0x02, 0xe0, 0x00, 0x22, 0x42, 0x60, 0x08, 0x1c, + 0xc1, 0x68, 0x00, 0x29, 0xf9, 0xd1, 0x71, 0x68, + 0x60, 0x27, 0x0b, 0x1c, 0x40, 0x33, 0x9c, 0x46, + 0x9b, 0x78, 0xca, 0x7e, 0x3c, 0x00, 0x28, 0x31, + 0x01, 0x00, 0x5b, 0x01, 0x12, 0x07, 0x12, 0x0f, + 0x3b, 0x40, 0x1a, 0x43, 0x8b, 0x8f, 0xff, 0x27, + 0x3f, 0x04, 0x1b, 0x04, 0x3b, 0x40, 0x1a, 0x43, + 0x90, 0x23, 0x1a, 0x43, 0x42, 0x60, 0x63, 0x46, + 0x9a, 0x78, 0x01, 0x32, 0xd2, 0x07, 0xd2, 0x0f, + 0x9a, 0x70, 0x89, 0x6b, 0xc1, 0x60, 0x21, 0x68, + 0x88, 0x60, 0x00, 0x98, 0x00, 0x28, 0x01, 0xd0, + 0x00, 0x98, 0xc5, 0x60, 0x0a, 0x4f, 0x3c, 0x00, + 0x64, 0x31, 0x01, 0x00, 0xbd, 0x79, 0xa0, 0x69, + 0x00, 0x28, 0x0c, 0xd0, 0x00, 0x22, 0xa2, 0x61, + 0x74, 0x68, 0x60, 0x69, 0xef, 0xf7, 0x2e, 0xff, + 0xe0, 0x6a, 0x61, 0x69, 0x40, 0x68, 0x48, 0x60, + 0x61, 0x69, 0x01, 0x20, 0x08, 0x60, 0xbd, 0x71, + 0xf8, 0xbd, 0x00, 0x00, 0x20, 0x10, 0x07, 0x00, + 0xfe, 0xb5, 0x44, 0x68, 0x0f, 0x1c, 0x01, 0x94, + 0x2c, 0x34, 0x20, 0x1c, 0x12, 0x30, 0x02, 0x90, + 0x3c, 0x00, 0xa0, 0x31, 0x01, 0x00, 0x2c, 0xe0, + 0x0c, 0x20, 0xee, 0xf7, 0x00, 0xfb, 0x05, 0x1c, + 0x60, 0x68, 0x00, 0x28, 0x1d, 0xd1, 0x02, 0x98, + 0x00, 0x21, 0x00, 0x90, 0x00, 0x20, 0xee, 0xf7, + 0x0e, 0xfa, 0x06, 0x1c, 0x00, 0x98, 0x04, 0x21, + 0xee, 0xf7, 0x09, 0xfa, 0x01, 0x1c, 0x01, 0x98, + 0xc0, 0x7e, 0x00, 0x07, 0x00, 0x0f, 0xd0, 0x30, + 0x70, 0x60, 0x01, 0x98, 0xc0, 0x7e, 0x00, 0x07, + 0x00, 0x0f, 0x3c, 0x00, 0xdc, 0x31, 0x01, 0x00, + 0xf0, 0x30, 0x48, 0x60, 0x30, 0x1c, 0xee, 0xf7, + 0x19, 0xf9, 0x65, 0x60, 0xe6, 0x60, 0x01, 0xe0, + 0x20, 0x68, 0x05, 0x60, 0x60, 0x68, 0x28, 0x60, + 0x25, 0x60, 0x00, 0x20, 0x68, 0x60, 0xa8, 0x60, + 0x38, 0x1c, 0xff, 0x30, 0x00, 0x06, 0x00, 0x0e, + 0x39, 0x1c, 0x07, 0x1c, 0x00, 0x29, 0xca, 0xd1, + 0x60, 0x68, 0xa0, 0x60, 0xfe, 0xbd, 0x00, 0x00, + 0xff, 0xb5, 0x05, 0x1c, 0x3c, 0x00, 0x18, 0x32, + 0x01, 0x00, 0x08, 0x1c, 0x00, 0x26, 0x81, 0xb0, + 0xf4, 0xf7, 0x2f, 0xfe, 0x04, 0x1c, 0x02, 0xd0, + 0x60, 0x68, 0xff, 0x28, 0x01, 0xd1, 0x06, 0x26, + 0x28, 0xe0, 0x21, 0x1c, 0x20, 0x31, 0x0a, 0x78, + 0x01, 0x2a, 0x01, 0xd1, 0x03, 0x26, 0x21, 0xe0, + 0x01, 0x27, 0x25, 0x60, 0x0f, 0x70, 0x11, 0xc5, + 0x1d, 0x48, 0x08, 0x3d, 0x68, 0x61, 0x03, 0x98, + 0x6a, 0x46, 0xe8, 0x60, 0x04, 0x98, 0x3c, 0x00, + 0x54, 0x32, 0x01, 0x00, 0x28, 0x61, 0x1a, 0x48, + 0xa8, 0x61, 0x1a, 0x48, 0xe8, 0x61, 0x1a, 0x48, + 0x28, 0x62, 0x1a, 0x48, 0x68, 0x62, 0x20, 0x7e, + 0xa1, 0x68, 0xed, 0xf7, 0xb3, 0xfe, 0x00, 0x28, + 0x06, 0xd1, 0x60, 0x7e, 0xe1, 0x68, 0x6a, 0x46, + 0xed, 0xf7, 0xac, 0xfe, 0x00, 0x28, 0x07, 0xd0, + 0x04, 0x26, 0x31, 0x1c, 0x9e, 0x20, 0xee, 0xf7, + 0x0d, 0xf8, 0x30, 0x1c, 0x05, 0xb0, 0xf0, 0xbd, + 0x3c, 0x00, 0x90, 0x32, 0x01, 0x00, 0x6a, 0x46, + 0x0f, 0x49, 0x1d, 0x20, 0xed, 0xf7, 0x9d, 0xfe, + 0x01, 0x21, 0x0d, 0x48, 0x49, 0x07, 0x01, 0x60, + 0x22, 0x7e, 0x3b, 0x1c, 0xd2, 0x06, 0xd2, 0x0e, + 0x93, 0x40, 0x43, 0x60, 0x62, 0x7e, 0xd2, 0x06, + 0xd2, 0x0e, 0x97, 0x40, 0x47, 0x60, 0x41, 0x60, + 0xe6, 0xe7, 0x31, 0x33, 0x01, 0x00, 0xd9, 0x32, + 0x01, 0x00, 0x91, 0x31, 0x01, 0x00, 0xdd, 0x30, + 0x01, 0x00, 0x3c, 0x00, 0xcc, 0x32, 0x01, 0x00, + 0xfd, 0x32, 0x01, 0x00, 0x71, 0x33, 0x01, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x42, 0x68, 0x2c, 0x32, + 0x50, 0x68, 0x43, 0x68, 0x0b, 0x60, 0x81, 0x68, + 0x4b, 0x89, 0x0b, 0x81, 0x83, 0x68, 0x00, 0x21, + 0xd9, 0x60, 0x41, 0x60, 0x81, 0x60, 0x00, 0x68, + 0x50, 0x60, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00, + 0x70, 0xb5, 0x42, 0x68, 0xff, 0x26, 0x91, 0x87, + 0x10, 0x6b, 0x0c, 0x04, 0x3c, 0x00, 0x08, 0x33, + 0x01, 0x00, 0x05, 0x1c, 0x36, 0x04, 0x34, 0x40, + 0x43, 0x68, 0x59, 0x68, 0xb1, 0x43, 0x21, 0x43, + 0x59, 0x60, 0x00, 0x68, 0xa8, 0x42, 0xf7, 0xd1, + 0x10, 0x6b, 0x51, 0x69, 0x40, 0x68, 0x48, 0x60, + 0x51, 0x69, 0x01, 0x20, 0x08, 0x60, 0x70, 0xbd, + 0x00, 0x00, 0xb0, 0xb5, 0x43, 0x68, 0x08, 0x1c, + 0x59, 0x62, 0x9a, 0x62, 0x00, 0x25, 0x0a, 0xe0, + 0x45, 0x81, 0xc4, 0x68, 0x2a, 0x1c, 0x3c, 0x00, + 0x44, 0x33, 0x01, 0x00, 0x00, 0x2c, 0x03, 0xd1, + 0x9a, 0x7e, 0x12, 0x07, 0x12, 0x0f, 0x10, 0x32, + 0x42, 0x60, 0x20, 0x1c, 0x00, 0x28, 0xf2, 0xd1, + 0x18, 0x69, 0x41, 0x60, 0x19, 0x69, 0x01, 0x20, + 0x08, 0x60, 0x02, 0x48, 0x00, 0x68, 0xed, 0xf7, + 0x37, 0xf8, 0xb0, 0xbd, 0x5c, 0x5b, 0x01, 0x00, + 0x01, 0x20, 0x05, 0x49, 0x40, 0x07, 0x80, 0xb5, + 0x88, 0x60, 0x04, 0x48, 0x01, 0x68, 0x0d, 0x20, + 0x3c, 0x00, 0x80, 0x33, 0x01, 0x00, 0xfe, 0xf7, + 0xe6, 0xff, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0xc4, 0x60, 0x01, 0x00, 0xf8, 0xb5, + 0x0e, 0x4f, 0x0c, 0x4e, 0x00, 0x24, 0x48, 0x20, + 0x60, 0x43, 0xc5, 0x19, 0x48, 0x21, 0x28, 0x1c, + 0xed, 0xf7, 0x7b, 0xf8, 0x1c, 0x20, 0x60, 0x43, + 0x81, 0x19, 0x28, 0x1d, 0x1c, 0x22, 0xed, 0xf7, + 0xfe, 0xf8, 0x1c, 0x23, 0xe8, 0x56, 0x05, 0x49, + 0xfb, 0xf7, 0x3c, 0x00, 0xbc, 0x33, 0x01, 0x00, + 0xcd, 0xf8, 0x01, 0x34, 0x01, 0x2c, 0xe9, 0xd3, + 0xf8, 0xbd, 0x00, 0x00, 0xb8, 0x44, 0x01, 0x00, + 0xcc, 0x6d, 0x01, 0x00, 0x15, 0x32, 0x01, 0x00, + 0xff, 0xb5, 0x05, 0x1c, 0x0a, 0x30, 0x06, 0x1c, + 0x81, 0xb0, 0xf2, 0xf7, 0xdd, 0xf8, 0x18, 0x4f, + 0x04, 0x1c, 0x39, 0x88, 0xef, 0xf7, 0xbc, 0xfc, + 0x32, 0x88, 0x78, 0x68, 0x02, 0x80, 0x72, 0x88, + 0x02, 0x30, 0x02, 0x80, 0x3c, 0x00, 0xf8, 0x33, + 0x01, 0x00, 0xb1, 0x88, 0x12, 0x4e, 0x41, 0x80, + 0x28, 0x88, 0x08, 0x36, 0x40, 0x05, 0x00, 0x28, + 0x05, 0xda, 0x69, 0x88, 0x03, 0x9a, 0x20, 0x1c, + 0xf7, 0xf7, 0x01, 0xfd, 0x00, 0xe0, 0x00, 0x20, + 0x70, 0x80, 0xf8, 0xf7, 0x5e, 0xfc, 0x01, 0x21, + 0x09, 0x03, 0x00, 0x28, 0x30, 0x88, 0x01, 0xd0, + 0x88, 0x43, 0x00, 0xe0, 0x08, 0x43, 0x30, 0x80, + 0x05, 0x48, 0x00, 0x22, 0x00, 0x21, 0x3c, 0x00, + 0x34, 0x34, 0x01, 0x00, 0x14, 0x30, 0xef, 0xf7, + 0x65, 0xfc, 0x20, 0x1c, 0xf9, 0xf7, 0x74, 0xf8, + 0x05, 0xb0, 0xf0, 0xbd, 0xb0, 0x7a, 0x01, 0x00, + 0x10, 0xb5, 0x0e, 0x4c, 0x60, 0x68, 0xf8, 0xf7, + 0x95, 0xf9, 0x20, 0x68, 0x00, 0x6a, 0x00, 0x28, + 0x13, 0xd1, 0xf8, 0xf7, 0xbf, 0xfc, 0x00, 0x28, + 0x08, 0xd0, 0x21, 0x68, 0x01, 0x20, 0x08, 0x62, + 0x1f, 0x21, 0x00, 0x22, 0x83, 0x20, 0x00, 0xf0, + 0x3c, 0x00, 0x70, 0x34, 0x01, 0x00, 0x9f, 0xf9, + 0x02, 0xe0, 0x60, 0x68, 0xf8, 0xf7, 0x21, 0xfa, + 0xff, 0xf7, 0x97, 0xfc, 0x21, 0x68, 0x08, 0x61, + 0x10, 0xbd, 0x14, 0x7a, 0x01, 0x00, 0xfe, 0xb5, + 0x1b, 0x4e, 0x0f, 0x1c, 0x1d, 0x1c, 0x14, 0x1c, + 0xb0, 0x60, 0x08, 0x1c, 0xf7, 0xf7, 0x2b, 0xff, + 0xb0, 0x80, 0x34, 0x73, 0x35, 0x62, 0x38, 0x1c, + 0x01, 0xaa, 0x02, 0xa9, 0xf7, 0xf7, 0x25, 0xff, + 0x00, 0xab, 0x3c, 0x00, 0xac, 0x34, 0x01, 0x00, + 0x18, 0x7a, 0x01, 0x28, 0x18, 0xd1, 0x18, 0x79, + 0x0b, 0x28, 0x08, 0xd1, 0x30, 0x7f, 0x24, 0x23, + 0x0f, 0x49, 0x58, 0x43, 0x40, 0x18, 0x80, 0x68, + 0xec, 0xf7, 0x88, 0xff, 0xfe, 0xbd, 0x00, 0xab, + 0x18, 0x79, 0x0a, 0x28, 0x08, 0xd1, 0xf7, 0xf7, + 0x39, 0xfd, 0x07, 0x1c, 0x29, 0x1c, 0x20, 0x1c, + 0xf7, 0xf7, 0x16, 0xfd, 0x38, 0x18, 0xb0, 0x80, + 0x30, 0x7f, 0x24, 0x23, 0x3c, 0x00, 0xe8, 0x34, + 0x01, 0x00, 0x04, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x40, 0x68, 0xec, 0xf7, 0x72, 0xff, 0xe8, 0xe7, + 0x00, 0x00, 0xd4, 0x79, 0x01, 0x00, 0x94, 0x46, + 0x01, 0x00, 0xb0, 0xb5, 0xff, 0xf7, 0x53, 0xfc, + 0x04, 0x1c, 0xfb, 0xf7, 0xfc, 0xfa, 0x0c, 0x4d, + 0x29, 0x68, 0x09, 0x69, 0x09, 0x1b, 0x0c, 0x1a, + 0x02, 0x21, 0x1f, 0x20, 0x00, 0xf0, 0x8b, 0xf8, + 0x14, 0x2c, 0x06, 0xdd, 0x02, 0x22, 0x3c, 0x00, + 0x24, 0x35, 0x01, 0x00, 0x21, 0x1c, 0x1f, 0x20, + 0x00, 0xf0, 0x50, 0xf8, 0x01, 0x20, 0xb0, 0xbd, + 0x29, 0x68, 0x01, 0x20, 0x89, 0x6a, 0x00, 0x29, + 0xf9, 0xd0, 0x00, 0x20, 0xb0, 0xbd, 0x00, 0x00, + 0x14, 0x7a, 0x01, 0x00, 0xf8, 0xb5, 0x1a, 0x4d, + 0x07, 0x1c, 0xae, 0x79, 0x01, 0x21, 0x19, 0x4c, + 0x00, 0x20, 0x22, 0x68, 0x00, 0x2a, 0x14, 0xd1, + 0xae, 0x71, 0xa2, 0x68, 0xd0, 0x68, 0x06, 0xca, + 0x3c, 0x00, 0x60, 0x35, 0x01, 0x00, 0xec, 0xf7, + 0x3c, 0xff, 0xae, 0x79, 0x00, 0x21, 0x13, 0x4a, + 0x50, 0x69, 0x01, 0x30, 0x50, 0x61, 0xa0, 0x68, + 0x80, 0x68, 0xa0, 0x60, 0x62, 0x68, 0x90, 0x42, + 0x06, 0xd1, 0x01, 0x20, 0x20, 0x60, 0x03, 0xe0, + 0x01, 0x30, 0x0c, 0x34, 0x03, 0x28, 0xe3, 0xdb, + 0x00, 0x2f, 0x08, 0xd1, 0x00, 0x29, 0x0a, 0xd0, + 0x0a, 0x48, 0x40, 0x68, 0x00, 0x28, 0x06, 0xd0, + 0xfa, 0xf7, 0x3c, 0x00, 0x9c, 0x35, 0x01, 0x00, + 0xf5, 0xff, 0x03, 0xe0, 0x01, 0x2f, 0x03, 0xd0, + 0x00, 0x29, 0x01, 0xd1, 0xae, 0x71, 0xce, 0xe7, + 0xae, 0x71, 0xf8, 0xbd, 0x20, 0x10, 0x07, 0x00, + 0x18, 0xd9, 0x01, 0x00, 0xa8, 0x60, 0x01, 0x00, + 0x70, 0x5d, 0x01, 0x00, 0x80, 0xb5, 0x01, 0x23, + 0xf5, 0xf7, 0x7c, 0xf8, 0x80, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0x00, 0x23, 0xf5, 0xf7, 0x76, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x35, + 0x01, 0x00, 0xf8, 0xb5, 0x13, 0x4b, 0x00, 0x24, + 0x1b, 0x88, 0x98, 0x42, 0x1b, 0xd2, 0x11, 0x4b, + 0xc0, 0x00, 0xc0, 0x18, 0x45, 0x68, 0x06, 0x68, + 0x28, 0x68, 0x00, 0x28, 0x17, 0xd1, 0x0e, 0x4f, + 0xa8, 0x68, 0x43, 0x68, 0xb3, 0x42, 0x09, 0xd1, + 0xc3, 0x68, 0x8b, 0x42, 0x06, 0xd1, 0x03, 0x68, + 0x93, 0x42, 0x01, 0xd0, 0x53, 0x1c, 0x01, 0xd1, + 0x01, 0x24, 0x47, 0x60, 0x80, 0x68, 0x3c, 0x00, + 0x14, 0x36, 0x01, 0x00, 0x6b, 0x68, 0x83, 0x42, + 0xee, 0xd1, 0x03, 0xe0, 0x01, 0x21, 0x80, 0x20, + 0xed, 0xf7, 0x40, 0xfe, 0x20, 0x1c, 0xf8, 0xbd, + 0x56, 0x57, 0x01, 0x00, 0x84, 0x5d, 0x01, 0x00, + 0x29, 0xe3, 0x00, 0x00, 0xf8, 0xb5, 0x17, 0x4f, + 0x0a, 0x1c, 0xbe, 0x79, 0x16, 0x4d, 0x00, 0x23, + 0x6c, 0x68, 0x07, 0xe0, 0x21, 0x68, 0x91, 0x42, + 0x02, 0xd1, 0x21, 0x79, 0x81, 0x42, 0x04, 0xd0, + 0x3c, 0x00, 0x50, 0x36, 0x01, 0x00, 0x23, 0x1c, + 0xe4, 0x68, 0x00, 0x2c, 0xf5, 0xd1, 0x17, 0xe0, + 0x00, 0x2c, 0x15, 0xd0, 0x00, 0x2b, 0x0d, 0xd1, + 0xe3, 0x68, 0x0d, 0x48, 0x6b, 0x60, 0x00, 0x88, + 0x00, 0x2b, 0x02, 0xd1, 0xff, 0xf7, 0xd1, 0xfb, + 0x06, 0xe0, 0x0a, 0x4a, 0x99, 0x68, 0xff, 0xf7, + 0xf6, 0xfb, 0x01, 0xe0, 0xe0, 0x68, 0xd8, 0x60, + 0x28, 0x68, 0xe0, 0x60, 0x2c, 0x60, 0x02, 0xe0, + 0x01, 0x21, 0x3c, 0x00, 0x8c, 0x36, 0x01, 0x00, + 0xff, 0xf7, 0xa4, 0xff, 0xbe, 0x71, 0xf8, 0xbd, + 0x20, 0x10, 0x07, 0x00, 0x7c, 0x5d, 0x01, 0x00, + 0x2c, 0x74, 0x01, 0x00, 0x21, 0x38, 0x01, 0x00, + 0x70, 0xb5, 0x09, 0x4e, 0xb5, 0x79, 0xf9, 0xf7, + 0xaf, 0xfe, 0x04, 0x1c, 0x09, 0xd0, 0x20, 0x1c, + 0xed, 0xf7, 0x0c, 0xfb, 0x05, 0x49, 0x8a, 0x68, + 0x80, 0x18, 0x88, 0x60, 0x08, 0x68, 0x01, 0x30, + 0x08, 0x60, 0xb5, 0x71, 0x3c, 0x00, 0xc8, 0x36, + 0x01, 0x00, 0x20, 0x1c, 0x70, 0xbd, 0x20, 0x10, + 0x07, 0x00, 0xa8, 0x60, 0x01, 0x00, 0x09, 0x48, + 0x80, 0xb5, 0x40, 0x68, 0x02, 0x1c, 0x0b, 0xe0, + 0x01, 0x69, 0x00, 0x29, 0x07, 0xd0, 0x82, 0x42, + 0x04, 0xd0, 0x81, 0x68, 0x05, 0x48, 0x00, 0x88, + 0xff, 0xf7, 0xe5, 0xfa, 0x80, 0xbd, 0xc0, 0x68, + 0x00, 0x28, 0xf1, 0xd1, 0x80, 0xbd, 0x7c, 0x5d, + 0x01, 0x00, 0x2c, 0x74, 0x01, 0x00, 0x3c, 0x00, + 0x04, 0x37, 0x01, 0x00, 0x05, 0x48, 0x80, 0xb5, + 0x42, 0x68, 0x00, 0x2a, 0x04, 0xd0, 0x04, 0x48, + 0x00, 0x88, 0x91, 0x68, 0xff, 0xf7, 0xd2, 0xfa, + 0x80, 0xbd, 0x00, 0x00, 0x7c, 0x5d, 0x01, 0x00, + 0x2c, 0x74, 0x01, 0x00, 0x05, 0x48, 0x01, 0x68, + 0x00, 0x29, 0x04, 0xd0, 0xc0, 0x68, 0x00, 0x28, + 0x01, 0xd0, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x00, 0x00, 0x18, 0xd9, 0x01, 0x00, + 0x3c, 0x00, 0x40, 0x37, 0x01, 0x00, 0x80, 0xb5, + 0xf6, 0xf7, 0xd1, 0xfa, 0x80, 0xbd, 0x13, 0x1c, + 0x0d, 0x4a, 0xb0, 0xb5, 0x12, 0x88, 0x90, 0x42, + 0x0f, 0xd2, 0x03, 0x29, 0x0d, 0xd2, 0x0a, 0x4a, + 0xc0, 0x00, 0x14, 0x58, 0x0a, 0x4d, 0xac, 0x42, + 0x07, 0xd1, 0x13, 0x50, 0x0c, 0x23, 0x59, 0x43, + 0x08, 0x4b, 0xc9, 0x18, 0x80, 0x18, 0x41, 0x60, + 0xb0, 0xbd, 0x02, 0x21, 0x80, 0x20, 0xed, 0xf7, + 0x94, 0xfd, 0x3c, 0x00, 0x7c, 0x37, 0x01, 0x00, + 0xb0, 0xbd, 0x00, 0x00, 0x56, 0x57, 0x01, 0x00, + 0x84, 0x5d, 0x01, 0x00, 0x09, 0xa0, 0x00, 0x00, + 0x18, 0xd9, 0x01, 0x00, 0xf8, 0xb5, 0x0f, 0x1c, + 0x1e, 0x1c, 0x15, 0x1c, 0x04, 0x1c, 0x11, 0x1c, + 0xff, 0xf7, 0x4a, 0xff, 0x33, 0x1c, 0x2a, 0x1c, + 0x39, 0x1c, 0x20, 0x1c, 0xf4, 0xf7, 0x8a, 0xff, + 0xf8, 0xbd, 0x00, 0x00, 0xf7, 0xb5, 0x94, 0x46, + 0xff, 0x29, 0x21, 0xd0, 0x3c, 0x00, 0xb8, 0x37, + 0x01, 0x00, 0x15, 0x48, 0x00, 0x88, 0x81, 0x42, + 0x21, 0xd2, 0x14, 0x4a, 0x15, 0x4e, 0xc8, 0x00, + 0x85, 0x18, 0xb4, 0x79, 0x68, 0x68, 0x02, 0x68, + 0x00, 0x2a, 0x03, 0xd1, 0x03, 0x1d, 0x0c, 0xcb, + 0x9a, 0x42, 0x11, 0xd0, 0x43, 0x68, 0x9a, 0x68, + 0x42, 0x60, 0x0e, 0x4a, 0x17, 0x69, 0x01, 0x37, + 0x17, 0x61, 0xb4, 0x71, 0x00, 0x22, 0x02, 0x60, + 0x00, 0x98, 0xd8, 0x60, 0x60, 0x46, 0x3c, 0x00, + 0xf4, 0x37, 0x01, 0x00, 0x18, 0x60, 0x19, 0x74, + 0x28, 0x68, 0x58, 0x60, 0xfe, 0xbd, 0xb4, 0x71, + 0x06, 0x21, 0x00, 0xe0, 0x07, 0x21, 0x80, 0x20, + 0xed, 0xf7, 0x4c, 0xfd, 0xf6, 0xe7, 0x00, 0x00, + 0x56, 0x57, 0x01, 0x00, 0x84, 0x5d, 0x01, 0x00, + 0x20, 0x10, 0x07, 0x00, 0xa8, 0x60, 0x01, 0x00, + 0xb0, 0xb5, 0x14, 0x4d, 0x6c, 0x68, 0x00, 0x2c, + 0x01, 0xd0, 0x84, 0x42, 0x04, 0xd0, 0x0c, 0x21, + 0x3c, 0x00, 0x30, 0x38, 0x01, 0x00, 0x80, 0x20, + 0xed, 0xf7, 0x37, 0xfd, 0xb0, 0xbd, 0xff, 0xf7, + 0xb8, 0xfa, 0xa1, 0x68, 0x40, 0x1a, 0x0d, 0x49, + 0x88, 0x42, 0x03, 0xda, 0x10, 0x21, 0x80, 0x20, + 0xed, 0xf7, 0x2b, 0xfd, 0x21, 0x79, 0x22, 0x68, + 0x01, 0x20, 0xff, 0xf7, 0xac, 0xff, 0xe3, 0x68, + 0x6b, 0x60, 0x00, 0x2b, 0x05, 0xd0, 0x07, 0x48, + 0x06, 0x4a, 0x00, 0x88, 0x99, 0x68, 0xff, 0xf7, + 0xfe, 0xfa, 0x3c, 0x00, 0x6c, 0x38, 0x01, 0x00, + 0x28, 0x68, 0xe0, 0x60, 0x2c, 0x60, 0xb0, 0xbd, + 0x7c, 0x5d, 0x01, 0x00, 0x18, 0xfc, 0xff, 0xff, + 0x21, 0x38, 0x01, 0x00, 0x2c, 0x74, 0x01, 0x00, + 0xb0, 0xb5, 0x15, 0x4c, 0x08, 0x20, 0x21, 0x1c, + 0x80, 0x31, 0x08, 0x70, 0x13, 0x4a, 0x41, 0x04, + 0x11, 0x60, 0x13, 0x48, 0x00, 0x68, 0x13, 0x4d, + 0x6b, 0x69, 0x18, 0x40, 0x01, 0xd1, 0x10, 0x20, + 0x00, 0xe0, 0x00, 0x20, 0x3c, 0x00, 0xa8, 0x38, + 0x01, 0x00, 0xa8, 0x23, 0x5b, 0x5d, 0x18, 0x43, + 0x23, 0x1c, 0x40, 0x33, 0x18, 0x73, 0x51, 0x60, + 0x20, 0x78, 0x80, 0x08, 0x80, 0x00, 0x20, 0x70, + 0x00, 0x20, 0xff, 0xf7, 0x12, 0xfb, 0xff, 0xf7, + 0x72, 0xfa, 0x64, 0x30, 0x28, 0x66, 0x01, 0x38, + 0xa0, 0x61, 0x20, 0x78, 0x03, 0x21, 0x08, 0x43, + 0x20, 0x70, 0xb0, 0xbd, 0x00, 0x00, 0x00, 0x90, + 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, 0x3c, 0x00, + 0xe4, 0x38, 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, + 0xa4, 0x6c, 0x01, 0x00, 0x38, 0xb5, 0x0a, 0x4c, + 0x21, 0x1c, 0x20, 0x31, 0x8a, 0x79, 0x00, 0xab, + 0x1a, 0x70, 0xc9, 0x79, 0x07, 0x4d, 0x59, 0x70, + 0x69, 0x78, 0x88, 0x42, 0x03, 0xd1, 0xf8, 0xf7, + 0x13, 0xfc, 0xff, 0x20, 0x68, 0x70, 0x00, 0xab, + 0x18, 0x88, 0xe0, 0x84, 0x38, 0xbd, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x4c, 0x7b, 0x01, 0x00, + 0x3c, 0x00, 0x20, 0x39, 0x01, 0x00, 0xf8, 0xb5, + 0x0b, 0x1c, 0x06, 0x1c, 0x04, 0x1d, 0x7f, 0x33, + 0x14, 0xd0, 0x33, 0x68, 0x5d, 0x18, 0x35, 0x60, + 0x23, 0x88, 0x1f, 0x18, 0x06, 0x23, 0xff, 0x56, + 0xeb, 0x1b, 0x33, 0x60, 0x23, 0x88, 0x18, 0x18, + 0x81, 0x71, 0x20, 0x88, 0x01, 0x30, 0x00, 0x04, + 0x00, 0x0c, 0x20, 0x80, 0x90, 0x42, 0x01, 0xd3, + 0x00, 0x20, 0x20, 0x80, 0x10, 0x1c, 0x31, 0x68, + 0xec, 0xf7, 0x3c, 0x00, 0x5c, 0x39, 0x01, 0x00, + 0x6d, 0xfe, 0xf8, 0xbd, 0x0e, 0x49, 0x0a, 0x7c, + 0x83, 0x78, 0x1a, 0x43, 0x0a, 0x74, 0x42, 0x78, + 0x83, 0x78, 0x9a, 0x43, 0x0b, 0x7c, 0x93, 0x43, + 0x0b, 0x74, 0x8a, 0x7c, 0x43, 0x78, 0x1a, 0x43, + 0x8a, 0x74, 0x8a, 0x7c, 0x03, 0x78, 0x9a, 0x43, + 0x8a, 0x74, 0x02, 0x78, 0x43, 0x78, 0x1a, 0x43, + 0x4b, 0x7c, 0x1a, 0x43, 0x4a, 0x74, 0x4a, 0x7c, + 0xc0, 0x78, 0x82, 0x43, 0x3c, 0x00, 0x98, 0x39, + 0x01, 0x00, 0x4a, 0x74, 0x70, 0x47, 0x10, 0x00, + 0x07, 0x00, 0xb0, 0xb5, 0x06, 0x4d, 0x00, 0x24, + 0x20, 0x06, 0x00, 0x0e, 0xed, 0xf7, 0xf7, 0xf8, + 0xa1, 0x00, 0x69, 0x58, 0x08, 0x71, 0x01, 0x34, + 0x04, 0x2c, 0xf5, 0xdb, 0xb0, 0xbd, 0x10, 0x7b, + 0x01, 0x00, 0x0b, 0x48, 0x0c, 0x49, 0x7d, 0x23, + 0x42, 0x69, 0xdb, 0x00, 0x00, 0x2a, 0xc8, 0x6b, + 0x07, 0xd0, 0xc0, 0x18, 0x1a, 0x01, 0x3c, 0x00, + 0xd4, 0x39, 0x01, 0x00, 0x90, 0x42, 0xc8, 0x63, + 0x01, 0xd9, 0x07, 0x48, 0xc8, 0x63, 0x70, 0x47, + 0xff, 0x38, 0xf5, 0x38, 0xc8, 0x63, 0x98, 0x42, + 0xf9, 0xd2, 0xcb, 0x63, 0x70, 0x47, 0x00, 0x00, + 0xf4, 0x68, 0x01, 0x00, 0x44, 0x7d, 0x01, 0x00, + 0x70, 0x17, 0x00, 0x00, 0x70, 0xb5, 0x0d, 0x1c, + 0x04, 0x1c, 0x16, 0x1c, 0xfb, 0xf7, 0xf6, 0xfa, + 0xb0, 0x43, 0x28, 0x43, 0x01, 0x1c, 0x20, 0x1c, + 0x3c, 0x00, 0x10, 0x3a, 0x01, 0x00, 0x00, 0xf0, + 0xcc, 0xfa, 0x70, 0xbd, 0x00, 0x00, 0x80, 0xb5, + 0x0b, 0x4a, 0x00, 0x29, 0x09, 0xd0, 0x02, 0x29, + 0x0f, 0xd1, 0x01, 0x1c, 0x08, 0x48, 0xd2, 0x78, + 0x38, 0x30, 0xff, 0xf7, 0x78, 0xff, 0x06, 0x49, + 0x06, 0xe0, 0x01, 0x1c, 0x04, 0x48, 0x12, 0x79, + 0x20, 0x30, 0xff, 0xf7, 0x70, 0xff, 0x03, 0x49, + 0x08, 0x60, 0x80, 0xbd, 0x00, 0x00, 0xac, 0x7c, + 0x01, 0x00, 0x3c, 0x00, 0x4c, 0x3a, 0x01, 0x00, + 0xc8, 0x67, 0x01, 0x00, 0xc4, 0x67, 0x01, 0x00, + 0x80, 0xb5, 0x0b, 0x4a, 0x00, 0x29, 0x09, 0xd0, + 0x02, 0x29, 0x0f, 0xd1, 0x01, 0x1c, 0x08, 0x48, + 0x52, 0x79, 0x68, 0x30, 0xff, 0xf7, 0x5a, 0xff, + 0x06, 0x49, 0x06, 0xe0, 0x01, 0x1c, 0x04, 0x48, + 0x92, 0x79, 0x50, 0x30, 0xff, 0xf7, 0x52, 0xff, + 0x03, 0x49, 0x08, 0x60, 0x80, 0xbd, 0x00, 0x00, + 0xac, 0x7c, 0x01, 0x00, 0x3c, 0x00, 0x88, 0x3a, + 0x01, 0x00, 0xd0, 0x67, 0x01, 0x00, 0xcc, 0x67, + 0x01, 0x00, 0x08, 0xb5, 0x04, 0x21, 0x00, 0x91, + 0x81, 0x7e, 0x43, 0x68, 0x03, 0x29, 0x06, 0xd1, + 0x01, 0x1c, 0x0c, 0x31, 0x01, 0x20, 0x6a, 0x46, + 0xec, 0xf7, 0x9a, 0xfc, 0x08, 0xbd, 0x19, 0x68, + 0xc1, 0x60, 0xfb, 0xe7, 0x00, 0x00, 0x10, 0xb5, + 0x03, 0x1c, 0x00, 0x20, 0x08, 0x4c, 0x00, 0x21, + 0xca, 0x00, 0x12, 0x19, 0x92, 0x78, 0x3c, 0x00, + 0xc4, 0x3a, 0x01, 0x00, 0x9a, 0x42, 0x03, 0xd1, + 0xc8, 0x00, 0x00, 0x19, 0x40, 0x68, 0x10, 0xbd, + 0x01, 0x31, 0x09, 0x06, 0x09, 0x16, 0x06, 0x29, + 0xf1, 0xdb, 0x10, 0xbd, 0xcc, 0x5a, 0x01, 0x00, + 0xf8, 0xb5, 0x0f, 0x1c, 0x16, 0x1c, 0x00, 0x25, + 0xfe, 0xf7, 0x8e, 0xf9, 0x04, 0x1c, 0x0a, 0xd0, + 0x4a, 0x20, 0x00, 0x5d, 0x05, 0x28, 0x06, 0xd1, + 0x38, 0x1c, 0xf1, 0xf7, 0x81, 0xfe, 0x00, 0x28, + 0x3c, 0x00, 0x00, 0x3b, 0x01, 0x00, 0x01, 0xd0, + 0x01, 0x25, 0x34, 0x60, 0x28, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x70, 0xb5, 0x0d, 0x1c, 0x16, 0x1c, + 0x00, 0x24, 0xfe, 0xf7, 0x78, 0xf9, 0x00, 0x28, + 0x0b, 0xd0, 0x4a, 0x21, 0x09, 0x5c, 0x05, 0x29, + 0x07, 0xd1, 0x01, 0x69, 0x00, 0x29, 0x04, 0xd1, + 0x30, 0x60, 0xf1, 0xf7, 0x04, 0xfd, 0x01, 0x24, + 0x28, 0x60, 0x20, 0x1c, 0x70, 0xbd, 0xf8, 0xb5, + 0x06, 0x1c, 0x3c, 0x00, 0x3c, 0x3b, 0x01, 0x00, + 0x00, 0x25, 0x0c, 0x1c, 0x08, 0x1c, 0xf1, 0xf7, + 0x5d, 0xfe, 0x00, 0x28, 0x01, 0xd0, 0x00, 0x21, + 0x05, 0xe0, 0x20, 0x1c, 0xf1, 0xf7, 0x74, 0xfe, + 0x00, 0x28, 0x14, 0xd0, 0x01, 0x21, 0x30, 0x1c, + 0xf4, 0xf7, 0x80, 0xfb, 0x00, 0x90, 0x00, 0x28, + 0x0d, 0xd0, 0x08, 0x4f, 0x01, 0x25, 0x06, 0x22, + 0x31, 0x1c, 0x38, 0x1c, 0xec, 0xf7, 0xc2, 0xfc, + 0x06, 0x22, 0x21, 0x1c, 0x3c, 0x00, 0x78, 0x3b, + 0x01, 0x00, 0xb8, 0x18, 0xec, 0xf7, 0xbd, 0xfc, + 0x00, 0x98, 0xf8, 0x60, 0x28, 0x1c, 0xf8, 0xbd, + 0x00, 0x00, 0x70, 0x7c, 0x01, 0x00, 0x00, 0x21, + 0x00, 0x28, 0x06, 0xd0, 0x42, 0x78, 0x07, 0x2a, + 0x03, 0xd1, 0xc0, 0x79, 0x01, 0x28, 0x00, 0xd1, + 0x01, 0x21, 0x08, 0x1c, 0x70, 0x47, 0xf8, 0xb5, + 0x05, 0x1c, 0x00, 0x27, 0x16, 0x4e, 0xf1, 0xf7, + 0x28, 0xfe, 0x00, 0x28, 0x07, 0xd0, 0x3c, 0x00, + 0xb4, 0x3b, 0x01, 0x00, 0xf1, 0xf7, 0xc0, 0xfb, + 0x00, 0x28, 0x10, 0xd1, 0x00, 0x24, 0xf1, 0xf7, + 0xbb, 0xfc, 0x06, 0xe0, 0xf1, 0xf7, 0x02, 0xfe, + 0x00, 0x28, 0x08, 0xd0, 0x01, 0x24, 0xf1, 0xf7, + 0x99, 0xfd, 0x01, 0x1c, 0x06, 0x22, 0x30, 0x1c, + 0xec, 0xf7, 0x8e, 0xfc, 0x01, 0x27, 0x00, 0x2f, + 0x0d, 0xd0, 0x21, 0x1c, 0x28, 0x1c, 0xf4, 0xf7, + 0x3b, 0xfb, 0x01, 0x1c, 0x05, 0x48, 0x06, 0x22, + 0x3c, 0x00, 0xf0, 0x3b, 0x01, 0x00, 0x06, 0x38, + 0xc1, 0x60, 0x29, 0x1c, 0xec, 0xf7, 0x7f, 0xfc, + 0x01, 0x20, 0xf8, 0xbd, 0x00, 0x20, 0xfc, 0xe7, + 0x00, 0x00, 0x76, 0x7c, 0x01, 0x00, 0xf0, 0xb5, + 0x07, 0x1c, 0x00, 0x68, 0x02, 0x21, 0x04, 0x68, + 0x78, 0x69, 0x87, 0xb0, 0x01, 0x40, 0x00, 0x25, + 0x00, 0x29, 0x05, 0x91, 0x74, 0x4e, 0x12, 0xd0, + 0x22, 0x88, 0x01, 0x21, 0x13, 0x05, 0x02, 0xd4, + 0xc0, 0x07, 0x3c, 0x00, 0x2c, 0x3c, 0x01, 0x00, + 0xc1, 0x17, 0x01, 0x31, 0x6f, 0x48, 0x00, 0x29, + 0x00, 0x68, 0x01, 0xd0, 0x01, 0x30, 0x04, 0xe0, + 0x11, 0x06, 0x89, 0x0e, 0x2d, 0x29, 0x01, 0xd1, + 0x03, 0x30, 0x30, 0x60, 0x20, 0x88, 0x80, 0x07, + 0x67, 0xd1, 0x78, 0x69, 0xc0, 0x07, 0x64, 0xd5, + 0x03, 0xaa, 0x04, 0xa9, 0x20, 0x1c, 0xf7, 0xf7, + 0x4b, 0xfb, 0x00, 0xab, 0x18, 0x7c, 0x00, 0x28, + 0x07, 0xd0, 0x18, 0x7c, 0x3c, 0x00, 0x68, 0x3c, + 0x01, 0x00, 0x02, 0x28, 0x58, 0xd1, 0x18, 0x7b, + 0x40, 0x07, 0x40, 0x0f, 0x04, 0x28, 0x53, 0xd8, + 0x20, 0x79, 0x05, 0x99, 0xc0, 0x07, 0xc0, 0x17, + 0x01, 0x30, 0x02, 0x90, 0x00, 0x29, 0x02, 0xd1, + 0x02, 0x98, 0x00, 0x28, 0x48, 0xd1, 0x05, 0x99, + 0x00, 0x29, 0x04, 0xd0, 0x20, 0x88, 0x00, 0x05, + 0x01, 0xd4, 0x00, 0x20, 0x30, 0x60, 0xc0, 0x20, + 0xed, 0xf7, 0xcb, 0xfd, 0x05, 0x1c, 0x3c, 0x00, + 0xa4, 0x3c, 0x01, 0x00, 0x20, 0x1c, 0x0a, 0x30, + 0x06, 0x90, 0xfe, 0xf7, 0xad, 0xf8, 0x06, 0x1c, + 0x28, 0x1c, 0x08, 0x30, 0x23, 0x88, 0x02, 0x1d, + 0x11, 0x1d, 0xdb, 0x05, 0x06, 0xd5, 0x06, 0x9b, + 0x03, 0x60, 0x20, 0x1c, 0x10, 0x30, 0x10, 0x60, + 0x20, 0x1d, 0x0e, 0xe0, 0x23, 0x1d, 0x13, 0x60, + 0x22, 0x88, 0x92, 0x05, 0x05, 0xd5, 0x22, 0x1c, + 0x10, 0x32, 0x02, 0x60, 0x06, 0x9b, 0x0b, 0x60, + 0x3c, 0x00, 0xe0, 0x3c, 0x01, 0x00, 0x04, 0xe0, + 0x06, 0x9b, 0x03, 0x60, 0x20, 0x1c, 0x10, 0x30, + 0x08, 0x60, 0x28, 0x69, 0xf1, 0xf7, 0x43, 0xfc, + 0x00, 0x28, 0x08, 0xd0, 0x01, 0x28, 0x12, 0xd0, + 0x02, 0x28, 0x58, 0xd1, 0x00, 0xab, 0x18, 0x7c, + 0x00, 0x28, 0x54, 0xd1, 0x12, 0xe0, 0x00, 0xab, + 0x18, 0x7c, 0x02, 0x28, 0x0b, 0xd1, 0x00, 0x2e, + 0x4d, 0xd0, 0x4b, 0x20, 0x80, 0x5d, 0x02, 0x28, + 0x49, 0xd1, 0x3c, 0x00, 0x1c, 0x3d, 0x01, 0x00, + 0x07, 0xe0, 0x63, 0xe0, 0x00, 0xab, 0x18, 0x7c, + 0x00, 0x28, 0x02, 0xd1, 0x38, 0x1c, 0xfe, 0xf7, + 0x1b, 0xff, 0x20, 0x88, 0x41, 0x04, 0x30, 0x48, + 0x11, 0xd5, 0x00, 0x2e, 0x52, 0xd0, 0x00, 0xab, + 0x19, 0x7c, 0x00, 0x29, 0x26, 0xd0, 0x02, 0x99, + 0x00, 0x29, 0x02, 0xd0, 0xb0, 0x6a, 0x00, 0x78, + 0x00, 0xe0, 0x00, 0x78, 0x01, 0x28, 0x1d, 0xd0, + 0x03, 0x28, 0x43, 0xd1, 0x3c, 0x00, 0x58, 0x3d, + 0x01, 0x00, 0x1a, 0xe0, 0x00, 0xab, 0x19, 0x7c, + 0x02, 0x29, 0x16, 0xd1, 0x19, 0x7b, 0x04, 0x29, + 0x13, 0xd0, 0x19, 0x7b, 0x0c, 0x29, 0x10, 0xd0, + 0x22, 0x49, 0x09, 0x68, 0x00, 0x29, 0x0c, 0xd0, + 0x00, 0x2e, 0x0a, 0xd0, 0x02, 0x99, 0x00, 0x29, + 0x02, 0xd0, 0xb0, 0x6a, 0x00, 0x78, 0x00, 0xe0, + 0x00, 0x78, 0x01, 0x28, 0x29, 0xd0, 0x03, 0x28, + 0x27, 0xd0, 0x28, 0x22, 0x39, 0x1c, 0x3c, 0x00, + 0x94, 0x3d, 0x01, 0x00, 0x28, 0x1c, 0x88, 0x30, + 0xec, 0xf7, 0x0a, 0xfc, 0x00, 0xab, 0x19, 0x7c, + 0x28, 0x1c, 0x80, 0x30, 0x01, 0x71, 0x19, 0x7b, + 0x41, 0x71, 0x6c, 0x60, 0x6e, 0x61, 0x1b, 0xe0, + 0x05, 0x99, 0x00, 0x29, 0x14, 0xd0, 0x11, 0x48, + 0x84, 0x6c, 0x00, 0x2c, 0x10, 0xd0, 0x00, 0x22, + 0x00, 0x2e, 0x04, 0xd0, 0x40, 0x36, 0xb0, 0x7a, + 0x05, 0x28, 0x00, 0xd1, 0x01, 0x22, 0x00, 0x92, + 0x3c, 0x00, 0xd0, 0x3d, 0x01, 0x00, 0xf8, 0x7a, + 0xba, 0x7a, 0x29, 0x69, 0xc3, 0x07, 0xdb, 0x0f, + 0x06, 0x98, 0xec, 0xf7, 0x00, 0xfb, 0x28, 0x1c, + 0xed, 0xf7, 0x07, 0xfd, 0x00, 0x25, 0x28, 0x1c, + 0x07, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0xc4, 0x6a, + 0x01, 0x00, 0x68, 0x61, 0x01, 0x00, 0x28, 0x61, + 0x01, 0x00, 0xc4, 0x69, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x20, 0xff, 0xf7, 0x70, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x3e, 0x01, 0x00, + 0xb0, 0xb5, 0x1d, 0x4d, 0x01, 0x28, 0x17, 0xd0, + 0xa2, 0x28, 0x06, 0xd0, 0xa3, 0x28, 0x03, 0xd1, + 0x01, 0x21, 0x15, 0x20, 0xff, 0xf7, 0x08, 0xfc, + 0xb0, 0xbd, 0x00, 0x29, 0x01, 0xd1, 0x17, 0x48, + 0x02, 0xe0, 0x7d, 0x20, 0xc0, 0x00, 0x48, 0x43, + 0x00, 0x23, 0x01, 0x22, 0x01, 0x1c, 0x28, 0x60, + 0x15, 0x20, 0xff, 0xf7, 0xa7, 0xfc, 0xb0, 0xbd, + 0x01, 0x29, 0x04, 0xd0, 0x3c, 0x00, 0x48, 0x3e, + 0x01, 0x00, 0x02, 0x29, 0xfa, 0xd1, 0x00, 0xf0, + 0x2a, 0xf8, 0xb0, 0xbd, 0x6c, 0x68, 0xf5, 0xf7, + 0xde, 0xfc, 0xfe, 0xf7, 0xa8, 0xff, 0x68, 0x60, + 0x00, 0x2c, 0x09, 0xd0, 0x29, 0x68, 0x0a, 0x23, + 0x59, 0x43, 0x00, 0x1b, 0x88, 0x42, 0x03, 0xd9, + 0x01, 0x21, 0x15, 0x20, 0xed, 0xf7, 0x17, 0xfa, + 0x01, 0x22, 0x15, 0x20, 0x29, 0x68, 0xff, 0xf7, + 0xa6, 0xfb, 0xb0, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x3e, 0x01, 0x00, 0x04, 0x79, 0x01, 0x00, + 0x00, 0x87, 0x93, 0x03, 0x01, 0x20, 0x04, 0x49, + 0x40, 0x03, 0x80, 0xb5, 0x08, 0x60, 0x03, 0x21, + 0x15, 0x20, 0xed, 0xf7, 0x03, 0xfa, 0x80, 0xbd, + 0x00, 0x10, 0x07, 0x00, 0x07, 0x48, 0x80, 0xb5, + 0xbe, 0x21, 0x01, 0x73, 0x01, 0x7a, 0x10, 0x22, + 0x11, 0x43, 0x01, 0x72, 0x00, 0x23, 0x02, 0x22, + 0x15, 0x20, 0x03, 0x49, 0xff, 0xf7, 0x68, 0xfc, + 0x3c, 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x80, 0xbd, + 0x00, 0x00, 0x00, 0x03, 0x07, 0x00, 0x80, 0x9f, + 0xd5, 0x00, 0x80, 0xb5, 0x00, 0x28, 0x03, 0xd0, + 0x0a, 0x1c, 0x15, 0x21, 0xa2, 0x20, 0x02, 0xe0, + 0x00, 0x22, 0x15, 0x21, 0xa3, 0x20, 0xff, 0xf7, + 0x66, 0xfc, 0x80, 0xbd, 0x00, 0x00, 0x10, 0xb5, + 0x00, 0xf0, 0x19, 0xf8, 0x0a, 0x48, 0xbe, 0x21, + 0x01, 0x73, 0x03, 0x7a, 0x10, 0x22, 0x93, 0x43, + 0x01, 0x24, 0x3c, 0x00, 0xfc, 0x3e, 0x01, 0x00, + 0x23, 0x43, 0x03, 0x72, 0x01, 0x73, 0x01, 0x7a, + 0x91, 0x43, 0x20, 0x22, 0x11, 0x43, 0x01, 0x72, + 0x02, 0x22, 0x15, 0x20, 0x02, 0x49, 0xff, 0xf7, + 0x5b, 0xfb, 0x10, 0xbd, 0x00, 0x03, 0x07, 0x00, + 0x80, 0x9f, 0xd5, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x15, 0x20, 0xff, 0xf7, 0x85, 0xfb, 0x04, 0x48, + 0xbe, 0x21, 0x01, 0x73, 0x01, 0x7a, 0x11, 0x22, + 0x91, 0x43, 0x01, 0x72, 0x3c, 0x00, 0x38, 0x3f, + 0x01, 0x00, 0x80, 0xbd, 0x00, 0x00, 0x00, 0x03, + 0x07, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x05, 0x1c, + 0x60, 0x36, 0x00, 0x27, 0x44, 0x68, 0x22, 0xe0, + 0x08, 0x21, 0x00, 0x20, 0xed, 0xf7, 0x41, 0xfb, + 0x60, 0x61, 0x01, 0x89, 0x04, 0x39, 0x09, 0x04, + 0x09, 0x0c, 0x01, 0x81, 0x60, 0x69, 0x00, 0x68, + 0x40, 0x18, 0x04, 0x21, 0xed, 0xf7, 0x35, 0xfb, + 0xe0, 0x61, 0x60, 0x69, 0x71, 0x7b, 0x3c, 0x00, + 0x74, 0x3f, 0x01, 0x00, 0x00, 0x68, 0x89, 0x01, + 0xc1, 0x70, 0x29, 0x69, 0x0c, 0x31, 0x03, 0x22, + 0xec, 0xf7, 0xba, 0xfa, 0x28, 0x69, 0x0c, 0x30, + 0x01, 0x68, 0x01, 0x31, 0x01, 0x60, 0x25, 0x62, + 0xa7, 0x61, 0x24, 0x68, 0x00, 0x2c, 0xda, 0xd1, + 0x02, 0x49, 0x03, 0x48, 0x6a, 0x68, 0xf6, 0xf7, + 0xb3, 0xf8, 0xf8, 0xbd, 0xfd, 0x6b, 0x00, 0x00, + 0xa0, 0x6a, 0x01, 0x00, 0x80, 0xb5, 0x00, 0x07, + 0x3c, 0x00, 0xb0, 0x3f, 0x01, 0x00, 0x00, 0x09, + 0x09, 0x02, 0x09, 0x0a, 0x08, 0x43, 0x02, 0x49, + 0x08, 0x60, 0xff, 0xf7, 0x20, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0x60, 0x00, 0x07, 0x00, 0x08, 0x00, + 0x14, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xe8, 0x03, + 0x00, 0x00, 0x10, 0x00, 0x14, 0x00, 0xc8, 0x00, + 0x00, 0x00, 0xe8, 0x03, 0x00, 0x00, 0x1c, 0x00, + 0x14, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xe8, 0x03, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x3f, 0x01, 0x00, + 0x24, 0x01, 0x07, 0x00, 0x32, 0x00, 0x00, 0x00, + 0xe8, 0x03, 0x00, 0x00, 0x40, 0x06, 0x01, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x41, 0x6e, 0x62, 0x69, 0x7e, 0x64, 0x61, 0x6f, + 0x6f, 0x00, 0x00, 0x00, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x20, 0x36, 0x5f, 0x37, 0x5f, + 0x31, 0x35, 0x20, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x20, 0x32, 0x3a, 0x35, 0x3c, 0x00, 0x28, 0x40, + 0x01, 0x00, 0x32, 0x39, 0x38, 0x20, 0x53, 0x65, + 0x70, 0x20, 0x30, 0x34, 0x20, 0x32, 0x30, 0x30, + 0x39, 0x20, 0x31, 0x37, 0x3a, 0x31, 0x33, 0x3a, + 0x32, 0x30, 0x20, 0x28, 0x48, 0x57, 0x3d, 0x34, + 0x3a, 0x33, 0x2c, 0x42, 0x54, 0x43, 0x4f, 0x45, + 0x58, 0x29, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, + 0x1c, 0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x00, + 0x64, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe8, 0x03, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xd0, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x7c, 0x15, 0x15, 0x00, + 0x3c, 0x00, 0xa0, 0x40, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x70, 0x17, + 0x1e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, + 0x00, 0x00, 0x28, 0x23, 0x16, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xf8, 0x2a, + 0x0b, 0x00, 0x3c, 0x00, 0xdc, 0x40, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0xe0, 0x2e, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x50, 0x46, 0x0e, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, + 0xf0, 0x55, 0x08, 0x00, 0x3c, 0x00, 0x18, 0x41, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x00, + 0x00, 0x00, 0xc0, 0x5d, 0x0e, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xe8, 0x80, + 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x42, 0x00, + 0x00, 0x00, 0xa0, 0x8c, 0x0a, 0x00, 0x3c, 0x00, + 0x54, 0x41, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x00, 0x80, 0xbb, 0x0a, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, + 0xf0, 0xd2, 0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6c, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x90, 0x00, + 0x3c, 0x00, 0x90, 0x41, 0x01, 0x00, 0xc0, 0x00, + 0x90, 0x00, 0xc0, 0x00, 0x90, 0x00, 0x14, 0x00, + 0x10, 0x00, 0x14, 0x00, 0x10, 0x00, 0xc0, 0x00, + 0x90, 0x00, 0x14, 0x00, 0x10, 0x00, 0x14, 0x00, + 0x10, 0x00, 0xc0, 0x00, 0x90, 0x00, 0x14, 0x00, + 0x10, 0x00, 0xc0, 0x00, 0x90, 0x00, 0x14, 0x00, + 0x10, 0x00, 0x14, 0x00, 0x10, 0x00, 0x14, 0x00, + 0x10, 0x00, 0xc0, 0x00, 0x90, 0x00, 0x60, 0x00, + 0x48, 0x00, 0x3c, 0x00, 0xcc, 0x41, 0x01, 0x00, + 0x60, 0x00, 0x48, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x14, 0x00, 0x10, 0x00, 0x60, 0x00, 0x48, 0x00, + 0x14, 0x00, 0x10, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x60, 0x00, 0x48, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x60, 0x00, 0x48, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x14, 0x00, 0x10, 0x00, 0x14, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x04, 0x01, 0x0b, 0x02, 0x0c, 0x03, + 0x12, 0x04, 0x16, 0x05, 0x3c, 0x00, 0x08, 0x42, + 0x01, 0x00, 0x18, 0x06, 0x00, 0x0e, 0x00, 0x0e, + 0x24, 0x07, 0x00, 0x0e, 0x2c, 0x08, 0x30, 0x09, + 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x42, 0x0a, + 0x00, 0x0e, 0x48, 0x0b, 0x00, 0x0e, 0x00, 0x0e, + 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x60, 0x0c, + 0x00, 0x0e, 0x00, 0x0e, 0x6c, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0xff, 0xff, 0xff, 0x3c, 0x00, + 0x44, 0x42, 0x01, 0x00, 0xb6, 0xff, 0xff, 0xff, + 0xd3, 0xff, 0xff, 0xff, 0xc9, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x51, 0xb0, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x51, 0xb0, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x59, 0xaf, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x42, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xa5, 0xaf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4d, 0xaf, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x45, 0xb0, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xd5, 0xaf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xad, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x42, 0x01, 0x00, + 0x95, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x95, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x99, 0xb0, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x42, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x17, + 0x01, 0x00, 0x35, 0x17, 0x01, 0x00, 0x21, 0x17, + 0x01, 0x00, 0xd9, 0x9c, 0x00, 0x00, 0x49, 0x17, + 0x01, 0x00, 0x3d, 0x17, 0x01, 0x00, 0xd1, 0x9c, + 0x00, 0x00, 0xd1, 0x9c, 0x00, 0x00, 0x1d, 0x1a, + 0x01, 0x00, 0xd1, 0x9c, 0x00, 0x00, 0x01, 0x1a, + 0x01, 0x00, 0x31, 0x1a, 0x01, 0x00, 0x25, 0x1a, + 0x01, 0x00, 0x3d, 0x17, 0x01, 0x00, 0x3c, 0x00, + 0x34, 0x43, 0x01, 0x00, 0x81, 0x1a, 0x01, 0x00, + 0xd1, 0x9c, 0x00, 0x00, 0x79, 0x17, 0x01, 0x00, + 0xd9, 0x9c, 0x00, 0x00, 0x5d, 0x17, 0x01, 0x00, + 0xa1, 0x17, 0x01, 0x00, 0x95, 0x17, 0x01, 0x00, + 0x81, 0x17, 0x01, 0x00, 0x21, 0x18, 0x01, 0x00, + 0xf5, 0x17, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x43, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x19, 0x1c, + 0x01, 0x00, 0x89, 0x41, 0x00, 0x00, 0x89, 0x41, + 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, 0x85, 0x41, + 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, 0x85, 0x41, + 0x00, 0x00, 0x89, 0x41, 0x00, 0x00, 0x85, 0x41, + 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, 0x35, 0x1b, + 0x01, 0x00, 0x3c, 0x00, 0xac, 0x43, 0x01, 0x00, + 0x9d, 0x1b, 0x01, 0x00, 0x01, 0x1c, 0x01, 0x00, + 0x89, 0x41, 0x00, 0x00, 0x89, 0x41, 0x00, 0x00, + 0x89, 0x41, 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, + 0x65, 0x18, 0x01, 0x00, 0x29, 0x18, 0x01, 0x00, + 0x39, 0x18, 0x01, 0x00, 0xbd, 0x18, 0x01, 0x00, + 0x89, 0x41, 0x00, 0x00, 0x4d, 0x18, 0x01, 0x00, + 0xa5, 0x18, 0x01, 0x00, 0x85, 0x41, 0x00, 0x00, + 0x01, 0x19, 0x01, 0x00, 0x3c, 0x00, 0xe8, 0x43, + 0x01, 0x00, 0xd9, 0x18, 0x01, 0x00, 0xed, 0x18, + 0x01, 0x00, 0x15, 0x19, 0x01, 0x00, 0x89, 0x41, + 0x00, 0x00, 0x89, 0x41, 0x00, 0x00, 0x89, 0x41, + 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, 0x89, 0x41, + 0x00, 0x00, 0x89, 0x41, 0x00, 0x00, 0x69, 0x1c, + 0x01, 0x00, 0x89, 0x41, 0x00, 0x00, 0x71, 0x1c, + 0x01, 0x00, 0x89, 0x41, 0x00, 0x00, 0x89, 0x41, + 0x00, 0x00, 0xfd, 0xdb, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x44, 0x01, 0x00, 0x1d, 0x7c, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x00, 0xf5, 0xda, 0x00, 0x00, + 0x14, 0x00, 0x81, 0x00, 0xfd, 0xdd, 0x00, 0x00, + 0x08, 0x00, 0x82, 0x00, 0xc5, 0xdd, 0x00, 0x00, + 0x38, 0x00, 0x83, 0x00, 0x45, 0xdc, 0x00, 0x00, + 0x10, 0x00, 0x84, 0x00, 0x99, 0xdc, 0x00, 0x00, + 0x0c, 0x00, 0x86, 0x00, 0x39, 0xdc, 0x00, 0x00, + 0x10, 0x00, 0x88, 0x00, 0x11, 0xde, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x44, 0x01, 0x00, 0x10, 0x00, + 0x8a, 0x00, 0x35, 0xdd, 0x00, 0x00, 0x0c, 0x00, + 0x8c, 0x00, 0xad, 0xdf, 0x00, 0x00, 0x1c, 0x00, + 0x8e, 0x00, 0xc9, 0xde, 0x00, 0x00, 0x38, 0x00, + 0x8f, 0x00, 0xed, 0xdc, 0x00, 0x00, 0x38, 0x00, + 0x90, 0x00, 0x75, 0xdf, 0x00, 0x00, 0x0c, 0x00, + 0x91, 0x00, 0x8d, 0xdc, 0x00, 0x00, 0x0c, 0x00, + 0x93, 0x00, 0xb9, 0xdd, 0x00, 0x00, 0x0c, 0x00, + 0x94, 0x00, 0x3c, 0x00, 0x9c, 0x44, 0x01, 0x00, + 0x00, 0x08, 0x08, 0x08, 0x10, 0x0c, 0x0c, 0x0c, + 0x08, 0x0c, 0x08, 0x0c, 0x08, 0x0c, 0x08, 0x08, + 0x08, 0x08, 0x14, 0x08, 0x08, 0x14, 0x00, 0x30, + 0x00, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0xad, 0x30, 0x01, 0x00, 0x15, 0x30, 0x01, 0x00, + 0x20, 0x30, 0x07, 0x00, 0x30, 0x30, 0x07, 0x00, + 0x06, 0x07, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x44, + 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc9, 0x02, 0x00, 0x94, 0x3f, + 0x03, 0x00, 0xe0, 0x8b, 0x5a, 0x00, 0x05, 0x3a, + 0x85, 0x00, 0xc8, 0xf2, 0x06, 0x00, 0xf8, 0x4c, + 0x56, 0x00, 0x20, 0xa7, 0x3d, 0x00, 0xb7, 0x4a, + 0x00, 0x00, 0xb7, 0x4a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x45, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, + 0x05, 0x06, 0x00, 0x00, 0x2d, 0x7c, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xfd, 0x95, 0x00, 0x00, + 0x08, 0x00, 0xff, 0x00, 0xed, 0x97, 0x00, 0x00, + 0x08, 0x00, 0x82, 0x00, 0xcd, 0x95, 0x00, 0x00, + 0x0c, 0x00, 0x83, 0x00, 0x4d, 0x96, 0x00, 0x00, + 0x0c, 0x00, 0x85, 0x00, 0x2d, 0x7c, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x45, 0x01, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x3d, 0x96, 0x00, 0x00, 0x0c, 0x00, + 0x89, 0x00, 0xd9, 0x97, 0x00, 0x00, 0x08, 0x00, + 0x8a, 0x00, 0x91, 0x95, 0x00, 0x00, 0x08, 0x00, + 0xff, 0x00, 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x3c, 0x00, 0x8c, 0x45, 0x01, 0x00, + 0xf9, 0x97, 0x00, 0x00, 0x08, 0x00, 0x8d, 0x00, + 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x2d, 0x7c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0xc9, 0x97, 0x00, 0x00, 0x30, 0x00, 0x90, 0x00, + 0x11, 0x95, 0x00, 0x00, 0x18, 0x00, 0x91, 0x00, + 0x15, 0x96, 0x00, 0x00, 0x08, 0x00, 0x92, 0x00, + 0x59, 0x95, 0x00, 0x00, 0x3c, 0x00, 0x93, 0x00, + 0x29, 0x96, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x45, + 0x01, 0x00, 0x08, 0x00, 0x94, 0x00, 0xa1, 0x95, + 0x00, 0x00, 0x08, 0x00, 0x95, 0x00, 0x81, 0x97, + 0x00, 0x00, 0x0c, 0x00, 0x96, 0x00, 0x6d, 0x97, + 0x00, 0x00, 0x10, 0x00, 0x98, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x10, + 0x08, 0x00, 0x00, 0x08, 0x00, 0x10, 0x3c, 0x00, + 0x04, 0x46, 0x01, 0x00, 0x08, 0x0c, 0x0c, 0x0c, + 0x0c, 0x1c, 0x0c, 0x0c, 0x08, 0x00, 0x00, 0x00, + 0x0d, 0x8b, 0x00, 0x00, 0xf5, 0x8a, 0x00, 0x00, + 0xe9, 0x8a, 0x00, 0x00, 0x01, 0x8b, 0x00, 0x00, + 0x14, 0x08, 0x0c, 0x0c, 0x10, 0x0c, 0x00, 0x00, + 0xb1, 0x98, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, + 0x19, 0x99, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, + 0x3d, 0x7c, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x46, 0x01, 0x00, 0x3d, 0x99, + 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x09, 0x99, + 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x3d, 0x7c, + 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, + 0x04, 0x04, 0x08, 0x08, 0x81, 0x37, 0x80, 0xf3, + 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, 0xaa, 0xaa, + 0x03, 0x00, 0x00, 0xf8, 0x6d, 0xa9, 0x6d, 0xa9, + 0x6e, 0xa9, 0x3c, 0x00, 0x7c, 0x46, 0x01, 0x00, + 0x6e, 0xa8, 0x6e, 0xa8, 0x6e, 0xa8, 0x6f, 0xa7, + 0x6f, 0xa7, 0x6f, 0xa7, 0x6f, 0xa6, 0x6f, 0xa6, + 0x70, 0xa6, 0x70, 0xa5, 0x70, 0xa4, 0x00, 0x00, + 0xb5, 0x1b, 0x01, 0x00, 0xc9, 0x1b, 0x01, 0x00, + 0xe1, 0x1b, 0x01, 0x00, 0xe5, 0x9c, 0x00, 0x00, + 0xa5, 0x1b, 0x01, 0x00, 0xe5, 0x9c, 0x00, 0x00, + 0x89, 0x1b, 0x01, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0x46, + 0x01, 0x00, 0xd1, 0x1a, 0x01, 0x00, 0xe5, 0x1a, + 0x01, 0x00, 0x05, 0x1b, 0x01, 0x00, 0x25, 0x1b, + 0x01, 0x00, 0xb1, 0x1a, 0x01, 0x00, 0xe5, 0x9c, + 0x00, 0x00, 0x9d, 0x1a, 0x01, 0x00, 0xd5, 0x9c, + 0x00, 0x00, 0xc1, 0x1a, 0x01, 0x00, 0x89, 0x19, + 0x01, 0x00, 0xa9, 0x19, 0x01, 0x00, 0xc9, 0x19, + 0x01, 0x00, 0xf1, 0x19, 0x01, 0x00, 0x79, 0x19, + 0x01, 0x00, 0xe5, 0x9c, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0x46, 0x01, 0x00, 0x65, 0x19, 0x01, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0x55, 0x1c, 0x01, 0x00, + 0x45, 0x1c, 0x01, 0x00, 0x45, 0x1c, 0x01, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0xd5, 0x9c, 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x47, 0x01, 0x00, 0xd5, 0x9c, + 0x00, 0x00, 0x55, 0x19, 0x01, 0x00, 0xe5, 0x9c, + 0x00, 0x00, 0x41, 0x19, 0x01, 0x00, 0x31, 0x19, + 0x01, 0x00, 0xd5, 0x9c, 0x00, 0x00, 0x02, 0x05, + 0x0a, 0x00, 0x00, 0x00, 0x02, 0x04, 0x0a, 0x00, + 0x00, 0x00, 0xc5, 0x20, 0x00, 0x00, 0x21, 0x21, + 0x00, 0x00, 0x25, 0x21, 0x00, 0x00, 0x39, 0x21, + 0x00, 0x00, 0x49, 0x21, 0x00, 0x00, 0x55, 0x21, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0x47, 0x01, 0x00, + 0x61, 0x21, 0x00, 0x00, 0xed, 0x21, 0x00, 0x00, + 0x0d, 0x22, 0x00, 0x00, 0x21, 0x22, 0x00, 0x00, + 0x3d, 0x22, 0x00, 0x00, 0x49, 0x22, 0x00, 0x00, + 0xc5, 0x22, 0x00, 0x00, 0xe1, 0x22, 0x00, 0x00, + 0xf5, 0x22, 0x00, 0x00, 0xe9, 0x1f, 0x00, 0x00, + 0xe9, 0x1f, 0x00, 0x00, 0xe9, 0x1f, 0x00, 0x00, + 0xe9, 0x1f, 0x00, 0x00, 0xe9, 0x1f, 0x00, 0x00, + 0x11, 0x23, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x47, + 0x01, 0x00, 0x1d, 0x23, 0x00, 0x00, 0x89, 0x23, + 0x00, 0x00, 0xa5, 0x23, 0x00, 0x00, 0xb9, 0x23, + 0x00, 0x00, 0x11, 0x20, 0x00, 0x00, 0x1d, 0x20, + 0x00, 0x00, 0x6d, 0x20, 0x00, 0x00, 0x8d, 0x20, + 0x00, 0x00, 0xb9, 0x20, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x03, 0x03, 0x05, 0x06, 0x06, 0x08, 0x09, + 0x08, 0x09, 0x09, 0x09, 0xc4, 0x80, 0xca, 0x80, + 0x80, 0x80, 0x80, 0x80, 0xd0, 0x80, 0x3c, 0x00, + 0xe4, 0x47, 0x01, 0x00, 0xd6, 0xd9, 0xdc, 0xdf, + 0xe2, 0x80, 0x80, 0x80, 0xe5, 0xe8, 0x80, 0x80, + 0x80, 0x80, 0xeb, 0xee, 0xf1, 0xf4, 0xf7, 0xfa, + 0xfd, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, + 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, + 0x0c, 0x00, 0x0e, 0x00, 0x10, 0x00, 0x11, 0x00, + 0x13, 0x00, 0x16, 0x00, 0x18, 0x00, 0x1b, 0x00, + 0x3c, 0x00, 0x20, 0x48, 0x01, 0x00, 0x1e, 0x00, + 0x22, 0x00, 0x26, 0x00, 0x2b, 0x00, 0x30, 0x00, + 0x36, 0x00, 0x3c, 0x00, 0x44, 0x00, 0x4c, 0x00, + 0x55, 0x00, 0x5f, 0x00, 0x6b, 0x00, 0x78, 0x00, + 0x86, 0x00, 0x97, 0x00, 0xa9, 0x00, 0xbe, 0x00, + 0xd5, 0x00, 0xef, 0x00, 0xff, 0x7f, 0x0c, 0x00, + 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0xff, + 0xfc, 0xff, 0xfb, 0xff, 0xfa, 0xff, 0xf9, 0xff, + 0xf8, 0xff, 0x3c, 0x00, 0x5c, 0x48, 0x01, 0x00, + 0xf7, 0xff, 0xf6, 0xff, 0xf5, 0xff, 0xf4, 0xff, + 0xf3, 0xff, 0xf2, 0xff, 0xf1, 0xff, 0xf0, 0xff, + 0xef, 0xff, 0xee, 0xff, 0xed, 0xff, 0xec, 0xff, + 0xeb, 0xff, 0xea, 0xff, 0xe9, 0xff, 0xe8, 0xff, + 0xe7, 0xff, 0xe6, 0xff, 0xe5, 0xff, 0xe4, 0xff, + 0xe3, 0xff, 0xe2, 0xff, 0xe1, 0xff, 0xe0, 0xff, + 0xdf, 0xff, 0xde, 0xff, 0xdd, 0xff, 0xdc, 0xff, + 0xdc, 0xff, 0x00, 0x00, 0x3c, 0x00, 0x98, 0x48, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xb1, 0x7c, 0x41, 0x00, 0x11, 0x5a, + 0x40, 0xe2, 0xb2, 0x7c, 0x41, 0x00, 0x05, 0x5a, + 0x40, 0xe2, 0xaf, 0x7c, 0x41, 0x00, 0xf9, 0x59, + 0x40, 0xe2, 0xb0, 0x7c, 0x41, 0x00, 0xed, 0x59, + 0x40, 0xe2, 0x24, 0x67, 0x01, 0x00, 0x0e, 0x00, + 0x00, 0xe3, 0x5c, 0x67, 0x01, 0x00, 0x0e, 0x00, + 0x00, 0xe3, 0x0a, 0x61, 0x01, 0x00, 0x3c, 0x00, + 0xd4, 0x48, 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, + 0x0e, 0x61, 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, + 0x32, 0x67, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0x6a, 0x67, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0x0b, 0x61, 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, + 0x0f, 0x61, 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, + 0x40, 0x67, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0x78, 0x67, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0x3c, 0x00, 0x10, 0x49, 0x01, 0x00, 0x0c, 0x61, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, 0x10, 0x61, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, 0x4e, 0x67, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, 0x86, 0x67, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, 0x0d, 0x61, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, 0x11, 0x61, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe3, 0xc0, 0x48, + 0x01, 0x00, 0x04, 0x00, 0x00, 0x0a, 0xe0, 0x48, + 0x01, 0x00, 0x3c, 0x00, 0x4c, 0x49, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x0a, 0x00, 0x49, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x0a, 0x20, 0x49, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x0a, 0x18, 0x67, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x28, 0x75, 0x01, 0x01, + 0x7d, 0xa9, 0x40, 0xe2, 0x2c, 0x75, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x20, 0x75, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x44, 0x75, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x88, 0x49, + 0x01, 0x00, 0xf0, 0x59, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x75, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0xb8, 0x7c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x8d, 0xa9, 0x00, 0x00, 0x01, 0x00, + 0x00, 0xda, 0x1d, 0x75, 0x01, 0x00, 0x01, 0x00, + 0x00, 0xe2, 0xc4, 0x67, 0x01, 0x00, 0x3c, 0x00, + 0xc4, 0x49, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x59, 0x00, 0x00, 0x0e, 0x00, 0x00, 0xd9, + 0xc8, 0x67, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xcc, 0x67, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xd0, 0x67, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x65, 0xd9, 0x00, 0x00, 0x04, 0x00, 0x00, 0xda, + 0xa5, 0xd9, 0x00, 0x00, 0x04, 0x00, 0x00, 0xda, + 0x3c, 0x00, 0x00, 0x4a, 0x01, 0x00, 0x01, 0x59, + 0x00, 0x00, 0x01, 0x00, 0x00, 0xda, 0x32, 0x67, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, 0x6a, 0x67, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, 0x11, 0x59, + 0x00, 0x00, 0x01, 0x00, 0x00, 0xda, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x48, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0xa0, 0x48, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x40, 0x49, + 0x01, 0x00, 0x3c, 0x00, 0x3c, 0x4a, 0x01, 0x00, + 0x05, 0x00, 0x00, 0x0a, 0x68, 0x49, 0x01, 0x00, + 0x09, 0x00, 0x00, 0x0a, 0x6c, 0x57, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x38, 0x61, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xac, 0x6e, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0xb0, 0x6e, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x70, 0x57, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x78, 0x4a, + 0x01, 0x00, 0xe8, 0x59, 0x01, 0x00, 0x08, 0x00, + 0x00, 0xe3, 0xdc, 0x58, 0x01, 0x14, 0x4d, 0xfd, + 0x40, 0xe3, 0x2c, 0x59, 0x01, 0x14, 0x39, 0xfd, + 0x40, 0xe3, 0xc0, 0x58, 0x01, 0x00, 0x0e, 0x00, + 0x00, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x64, 0x73, 0x41, 0x00, 0x3d, 0x2e, + 0x44, 0xe2, 0x7c, 0x59, 0x01, 0x14, 0x3c, 0x00, + 0xb4, 0x4a, 0x01, 0x00, 0x9d, 0x2f, 0x44, 0xe3, + 0x5c, 0x57, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe2, + 0x79, 0x2e, 0x04, 0x00, 0x01, 0x00, 0x00, 0xdb, + 0xa0, 0x58, 0x01, 0x00, 0x02, 0x00, 0x00, 0xe3, + 0xa2, 0x58, 0x01, 0x00, 0x02, 0x00, 0x00, 0xe3, + 0xa0, 0x57, 0x01, 0x00, 0x0e, 0x00, 0x00, 0xe3, + 0xd1, 0x88, 0x01, 0x00, 0x01, 0x00, 0x00, 0xda, + 0x1d, 0x89, 0x01, 0x00, 0x04, 0x00, 0x00, 0xda, + 0x3c, 0x00, 0xf0, 0x4a, 0x01, 0x00, 0x95, 0x88, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xdb, 0x31, 0x2f, + 0x04, 0x00, 0x0e, 0x00, 0x00, 0xd9, 0xc5, 0x2e, + 0x04, 0x00, 0x0e, 0x00, 0x00, 0xd9, 0x68, 0x6c, + 0x01, 0x01, 0x15, 0xd5, 0x40, 0xe2, 0xc0, 0x57, + 0x01, 0x00, 0x08, 0x00, 0x00, 0xe3, 0xc8, 0x57, + 0x01, 0x00, 0x34, 0x00, 0x00, 0xe3, 0x9c, 0x6c, + 0x01, 0x00, 0x08, 0x00, 0x00, 0xe3, 0xb0, 0x58, + 0x01, 0x03, 0x3c, 0x00, 0x2c, 0x4b, 0x01, 0x00, + 0xe9, 0xd4, 0x40, 0xe2, 0xbc, 0x58, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x9d, 0xa3, 0x00, 0x00, + 0x60, 0x00, 0x00, 0xd9, 0x70, 0x79, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x78, 0x79, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x7c, 0x5a, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x5d, 0x1c, 0x00, 0x00, + 0x11, 0x00, 0x00, 0xd9, 0x24, 0x6e, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x68, 0x4b, + 0x01, 0x00, 0x18, 0x58, 0x01, 0x05, 0xd5, 0xd5, + 0x40, 0xe3, 0xfc, 0x57, 0x01, 0x00, 0x14, 0x00, + 0x00, 0xe3, 0x04, 0x8e, 0x01, 0x03, 0xe5, 0xd5, + 0x40, 0xe3, 0x00, 0x5b, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x18, 0x5b, 0x01, 0x00, 0x40, 0x00, + 0x00, 0xe2, 0xd4, 0x67, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x8d, 0x37, 0x00, 0x00, 0x04, 0x00, + 0x00, 0xdb, 0xbd, 0x36, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x4b, 0x01, 0x00, 0x04, 0x00, 0x00, 0xdb, + 0xfc, 0x60, 0x01, 0x00, 0x02, 0x00, 0x00, 0xe2, + 0x90, 0x7d, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x70, 0x69, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb0, 0x49, 0x01, 0x00, 0x1a, 0x00, 0x00, 0x0a, + 0x90, 0x4b, 0x01, 0x00, 0x06, 0x00, 0x00, 0x0a, + 0xa4, 0x58, 0x81, 0x00, 0x05, 0xfd, 0x40, 0xe3, + 0x3c, 0x00, 0xe0, 0x4b, 0x01, 0x00, 0x80, 0x4a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0x0a, 0x0c, 0x5a, + 0x81, 0x01, 0x25, 0x2d, 0x44, 0xe3, 0xe0, 0x4a, + 0x01, 0x00, 0x03, 0x00, 0x00, 0x0a, 0x18, 0x63, + 0x41, 0x00, 0xfd, 0xbb, 0x40, 0xe2, 0x08, 0x57, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe2, 0x9c, 0x48, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x4a, + 0x01, 0x00, 0x3c, 0x00, 0x1c, 0x4c, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x0a, 0xcc, 0x74, 0x01, 0x00, + 0x03, 0x00, 0x00, 0xe3, 0x65, 0x73, 0x41, 0x00, + 0xa9, 0x2e, 0x44, 0xe2, 0xf6, 0x59, 0x01, 0x01, + 0xd1, 0x2c, 0x44, 0xe3, 0x08, 0x4b, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x0a, 0x07, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x6a, 0x28, 0x4b, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x0a, 0x88, 0x7d, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x58, 0x4c, + 0x01, 0x00, 0x00, 0x75, 0x01, 0x04, 0x65, 0x6f, + 0x40, 0xe3, 0xbc, 0x78, 0x01, 0x00, 0x0e, 0x00, + 0x00, 0xe3, 0x38, 0x4b, 0x01, 0x00, 0x04, 0x00, + 0x00, 0x0a, 0x04, 0x57, 0x01, 0x00, 0x04, 0x00, + 0x00, 0x62, 0x58, 0x4b, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x80, 0x4b, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x68, 0x4b, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x8c, 0x7d, 0x01, 0x00, 0x3c, 0x00, + 0x94, 0x4c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x39, 0x2d, 0x04, 0x00, 0x04, 0x00, 0x00, 0xdb, + 0x94, 0x7d, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x64, + 0xa8, 0x4c, 0x01, 0x00, 0x04, 0x00, 0x00, 0x0a, + 0x3c, 0x00, 0xd0, 0x4c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x4c, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x0a, 0xd0, 0x4c, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x7a, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe2, 0xe8, 0x7a, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xe2, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xed, 0x7a, + 0x01, 0x00, 0x3c, 0x00, 0x0c, 0x4d, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0xee, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf3, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0xf4, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf9, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0xfa, 0x7a, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe2, 0x3c, 0x00, 0x48, 0x4d, + 0x01, 0x00, 0xe8, 0x4c, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x00, 0x4d, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x18, 0x4d, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x30, 0x4d, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x0a, 0x90, 0x5c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x94, 0x5c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x98, 0x5c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x9c, 0x5c, 0x01, 0x00, 0x3c, 0x00, + 0x84, 0x4d, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xa0, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xa4, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xa8, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xac, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xb0, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xb4, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0xb8, 0x5c, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x3c, 0x00, 0xc0, 0x4d, 0x01, 0x00, 0xbc, 0x5c, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0xc0, 0x5c, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0xc4, 0x5c, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0x90, 0x5c, + 0x01, 0x00, 0x38, 0x00, 0x00, 0xe3, 0x68, 0x4d, + 0x01, 0x00, 0x0e, 0x00, 0x00, 0x0a, 0xd8, 0x4d, + 0x01, 0x00, 0x02, 0x00, 0x00, 0xfa, 0x12, 0x61, + 0x81, 0x01, 0x31, 0xd5, 0x40, 0xe3, 0x06, 0x61, + 0x01, 0x00, 0x3c, 0x00, 0xfc, 0x4d, 0x01, 0x00, + 0x02, 0x00, 0x00, 0xe2, 0x0b, 0x61, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe3, 0x0f, 0x61, 0x01, 0x00, + 0x01, 0x00, 0x00, 0xe3, 0x08, 0x61, 0x01, 0x00, + 0x02, 0x00, 0x00, 0xe2, 0x50, 0x7b, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x4e, 0x01, 0x00, + 0x0e, 0x00, 0x00, 0x64, 0x9c, 0x57, 0x01, 0x01, + 0x91, 0x88, 0x41, 0xe3, 0x3c, 0x00, 0x38, 0x4e, + 0x01, 0x00, 0x6e, 0x41, 0x67, 0x6f, 0xe2, 0x65, + 0x60, 0x69, 0x6f, 0x20, 0x41, 0x42, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0x4d, 0x01, 0x00, 0x09, 0x00, + 0x00, 0x0a, 0x48, 0x4e, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x0a, 0xe8, 0x4d, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x48, 0x4d, 0x01, 0x00, 0x04, 0x00, + 0x00, 0x0a, 0x28, 0x61, 0x01, 0x01, 0x3c, 0x00, + 0x74, 0x4e, 0x01, 0x00, 0xbd, 0xd5, 0x40, 0xe2, + 0x69, 0x61, 0x41, 0x00, 0x85, 0xd5, 0x40, 0xe2, + 0x30, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x34, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x3c, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x34, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x44, 0x61, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x3c, 0x00, 0xb0, 0x4e, 0x01, 0x00, 0x70, 0x4e, + 0x01, 0x00, 0x08, 0x00, 0x00, 0x0a, 0x18, 0x61, + 0x01, 0x00, 0x02, 0x00, 0x00, 0xe2, 0x1c, 0x61, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0x20, 0x61, + 0x01, 0x00, 0x02, 0x00, 0x00, 0xe2, 0x24, 0x61, + 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, 0xb8, 0x4e, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0xc8, 0x4e, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0xd8, 0x4e, + 0x01, 0x00, 0x3c, 0x00, 0xec, 0x4e, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x0a, 0x96, 0x48, 0x01, 0x00, + 0x06, 0x00, 0x00, 0xe3, 0xe0, 0x62, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x9b, 0x7d, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x62, 0x9c, 0x7d, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x62, 0x60, 0x7c, 0x01, 0x00, + 0x04, 0x00, 0x00, 0xe2, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x3c, 0x00, 0x28, 0x4f, + 0x01, 0x00, 0x2d, 0x63, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x49, 0xd5, 0x00, 0x00, 0x0e, 0x00, + 0x00, 0xd9, 0xf4, 0x67, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x62, 0x46, 0x7d, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x62, 0x9c, 0x7c, 0x01, 0x00, 0x04, 0x00, + 0x00, 0xe2, 0x98, 0x7c, 0x01, 0x00, 0x3c, 0x00, + 0x64, 0x4f, 0x01, 0x00, 0x02, 0x00, 0x00, 0x62, + 0xa0, 0x7c, 0x01, 0x00, 0x06, 0x00, 0x00, 0x62, + 0x58, 0x7c, 0x01, 0x00, 0x02, 0x00, 0x00, 0x62, + 0x64, 0x7c, 0x01, 0x00, 0x06, 0x00, 0x00, 0x62, + 0x5a, 0x7c, 0x01, 0x00, 0x02, 0x00, 0x00, 0x62, + 0x6a, 0x7c, 0x01, 0x00, 0x06, 0x00, 0x00, 0x62, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0xe4, 0x62, 0x01, 0x00, 0x04, 0x00, 0x00, 0xe2, + 0x3c, 0x00, 0xa0, 0x4f, 0x01, 0x00, 0xe8, 0x62, + 0x01, 0x00, 0x03, 0x00, 0x00, 0xe2, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x01, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x4f, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x3c, 0x00, 0x18, 0x50, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0xf0, 0x4e, 0x01, 0x00, 0x2a, 0x00, + 0x00, 0x0a, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, 0x3c, 0x00, + 0x54, 0x50, 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, + 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, + 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, + 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, + 0x3c, 0x00, 0x90, 0x50, 0x01, 0x00, 0x75, 0x2a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, 0x06, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, 0x07, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, 0x08, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, + 0x01, 0x00, 0x0c, 0x00, 0x00, 0xdb, 0x09, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x50, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, + 0x0c, 0x00, 0x00, 0xdb, 0x0a, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, + 0x0c, 0x00, 0x00, 0xdb, 0x0b, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, + 0x0c, 0x00, 0x00, 0xdb, 0x0c, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, + 0x0c, 0x00, 0x00, 0xdb, 0x3c, 0x00, 0x08, 0x51, + 0x01, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, + 0x00, 0xdb, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x6a, 0x75, 0x2a, 0x01, 0x00, 0x0c, 0x00, + 0x00, 0xdb, 0x48, 0x50, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x58, 0x50, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x68, 0x50, 0x01, 0x00, 0x02, 0x00, + 0x00, 0x0a, 0x78, 0x50, 0x01, 0x00, 0x3c, 0x00, + 0x44, 0x51, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0x88, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0x98, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xa8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xb8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xc8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xd8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0xe8, 0x50, 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, + 0x3c, 0x00, 0x80, 0x51, 0x01, 0x00, 0xf8, 0x50, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x08, 0x51, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x18, 0x51, + 0x01, 0x00, 0x02, 0x00, 0x00, 0x0a, 0x40, 0x50, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x0a, 0xe8, 0x4e, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x4e, + 0x01, 0x00, 0x3c, 0x00, 0xbc, 0x51, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x28, 0x51, 0x01, 0x00, + 0x0e, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x51, + 0x01, 0x00, 0x98, 0x51, 0x01, 0x00, 0x0c, 0x00, + 0x00, 0x0a, 0x50, 0x4e, 0x01, 0x00, 0x04, 0x00, + 0x00, 0x0a, 0xe0, 0x4c, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x4b, 0x01, 0x00, 0x1d, 0x00, + 0x00, 0x0a, 0xf8, 0x51, 0x01, 0x00, 0x05, 0x00, + 0x00, 0x0a, 0x24, 0x80, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1d, 0x80, 0x07, 0x00, 0x3c, 0x00, + 0x34, 0x52, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x2a, 0x80, 0x07, 0x00, 0x5c, 0x00, 0x00, 0x00, + 0x24, 0x80, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x1d, 0x80, 0x07, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x2a, 0x80, 0x07, 0x00, 0x6a, 0x00, 0x00, 0x00, + 0x24, 0x80, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x1d, 0x80, 0x07, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x2a, 0x80, 0x07, 0x00, 0x6a, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x52, 0x01, 0x00, 0x00, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, + 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, + 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, + 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x01, 0x63, + 0x00, 0x00, 0xa1, 0x63, 0x00, 0x00, 0xc5, 0x63, + 0x00, 0x00, 0xb1, 0x62, 0x00, 0x00, 0xc5, 0x63, + 0x00, 0x00, 0x21, 0x63, 0x00, 0x00, 0x4d, 0x63, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x52, 0x01, 0x00, + 0xa1, 0x63, 0x00, 0x00, 0x01, 0x63, 0x00, 0x00, + 0xa1, 0x63, 0x00, 0x00, 0x06, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x03, 0x05, 0x06, 0x07, 0x08, 0x09, + 0x0a, 0x0a, 0x0c, 0x0d, 0x0e, 0x0f, 0x0f, 0x10, + 0x11, 0x00, 0x00, 0x00, 0xa5, 0xc6, 0x84, 0xf8, + 0x99, 0xee, 0x8d, 0xf6, 0x0d, 0xff, 0xbd, 0xd6, + 0xb1, 0xde, 0x54, 0x91, 0x3c, 0x00, 0xe8, 0x52, + 0x01, 0x00, 0x50, 0x60, 0x03, 0x02, 0xa9, 0xce, + 0x7d, 0x56, 0x19, 0xe7, 0x62, 0xb5, 0xe6, 0x4d, + 0x9a, 0xec, 0x45, 0x8f, 0x9d, 0x1f, 0x40, 0x89, + 0x87, 0xfa, 0x15, 0xef, 0xeb, 0xb2, 0xc9, 0x8e, + 0x0b, 0xfb, 0xec, 0x41, 0x67, 0xb3, 0xfd, 0x5f, + 0xea, 0x45, 0xbf, 0x23, 0xf7, 0x53, 0x96, 0xe4, + 0x5b, 0x9b, 0xc2, 0x75, 0x1c, 0xe1, 0xae, 0x3d, + 0x6a, 0x4c, 0x5a, 0x6c, 0x41, 0x7e, 0x3c, 0x00, + 0x24, 0x53, 0x01, 0x00, 0x02, 0xf5, 0x4f, 0x83, + 0x5c, 0x68, 0xf4, 0x51, 0x34, 0xd1, 0x08, 0xf9, + 0x93, 0xe2, 0x73, 0xab, 0x53, 0x62, 0x3f, 0x2a, + 0x0c, 0x08, 0x52, 0x95, 0x65, 0x46, 0x5e, 0x9d, + 0x28, 0x30, 0xa1, 0x37, 0x0f, 0x0a, 0xb5, 0x2f, + 0x09, 0x0e, 0x36, 0x24, 0x9b, 0x1b, 0x3d, 0xdf, + 0x26, 0xcd, 0x69, 0x4e, 0xcd, 0x7f, 0x9f, 0xea, + 0x1b, 0x12, 0x9e, 0x1d, 0x74, 0x58, 0x2e, 0x34, + 0x3c, 0x00, 0x60, 0x53, 0x01, 0x00, 0x2d, 0x36, + 0xb2, 0xdc, 0xee, 0xb4, 0xfb, 0x5b, 0xf6, 0xa4, + 0x4d, 0x76, 0x61, 0xb7, 0xce, 0x7d, 0x7b, 0x52, + 0x3e, 0xdd, 0x71, 0x5e, 0x97, 0x13, 0xf5, 0xa6, + 0x68, 0xb9, 0x00, 0x00, 0x2c, 0xc1, 0x60, 0x40, + 0x1f, 0xe3, 0xc8, 0x79, 0xed, 0xb6, 0xbe, 0xd4, + 0x46, 0x8d, 0xd9, 0x67, 0x4b, 0x72, 0xde, 0x94, + 0xd4, 0x98, 0xe8, 0xb0, 0x4a, 0x85, 0x6b, 0xbb, + 0x2a, 0xc5, 0x3c, 0x00, 0x9c, 0x53, 0x01, 0x00, + 0xe5, 0x4f, 0x16, 0xed, 0xc5, 0x86, 0xd7, 0x9a, + 0x55, 0x66, 0x94, 0x11, 0xcf, 0x8a, 0x10, 0xe9, + 0x06, 0x04, 0x81, 0xfe, 0xf0, 0xa0, 0x44, 0x78, + 0xba, 0x25, 0xe3, 0x4b, 0xf3, 0xa2, 0xfe, 0x5d, + 0xc0, 0x80, 0x8a, 0x05, 0xad, 0x3f, 0xbc, 0x21, + 0x48, 0x70, 0x04, 0xf1, 0xdf, 0x63, 0xc1, 0x77, + 0x75, 0xaf, 0x63, 0x42, 0x30, 0x20, 0x1a, 0xe5, + 0x0e, 0xfd, 0x6d, 0xbf, 0x3c, 0x00, 0xd8, 0x53, + 0x01, 0x00, 0x4c, 0x81, 0x14, 0x18, 0x35, 0x26, + 0x2f, 0xc3, 0xe1, 0xbe, 0xa2, 0x35, 0xcc, 0x88, + 0x39, 0x2e, 0x57, 0x93, 0xf2, 0x55, 0x82, 0xfc, + 0x47, 0x7a, 0xac, 0xc8, 0xe7, 0xba, 0x2b, 0x32, + 0x95, 0xe6, 0xa0, 0xc0, 0x98, 0x19, 0xd1, 0x9e, + 0x7f, 0xa3, 0x66, 0x44, 0x7e, 0x54, 0xab, 0x3b, + 0x83, 0x0b, 0xca, 0x8c, 0x29, 0xc7, 0xd3, 0x6b, + 0x3c, 0x28, 0x79, 0xa7, 0xe2, 0xbc, 0x3c, 0x00, + 0x14, 0x54, 0x01, 0x00, 0x1d, 0x16, 0x76, 0xad, + 0x3b, 0xdb, 0x56, 0x64, 0x4e, 0x74, 0x1e, 0x14, + 0xdb, 0x92, 0x0a, 0x0c, 0x6c, 0x48, 0xe4, 0xb8, + 0x5d, 0x9f, 0x6e, 0xbd, 0xef, 0x43, 0xa6, 0xc4, + 0xa8, 0x39, 0xa4, 0x31, 0x37, 0xd3, 0x8b, 0xf2, + 0x32, 0xd5, 0x43, 0x8b, 0x59, 0x6e, 0xb7, 0xda, + 0x8c, 0x01, 0x64, 0xb1, 0xd2, 0x9c, 0xe0, 0x49, + 0xb4, 0xd8, 0xfa, 0xac, 0x07, 0xf3, 0x25, 0xcf, + 0x3c, 0x00, 0x50, 0x54, 0x01, 0x00, 0xaf, 0xca, + 0x8e, 0xf4, 0xe9, 0x47, 0x18, 0x10, 0xd5, 0x6f, + 0x88, 0xf0, 0x6f, 0x4a, 0x72, 0x5c, 0x24, 0x38, + 0xf1, 0x57, 0xc7, 0x73, 0x51, 0x97, 0x23, 0xcb, + 0x7c, 0xa1, 0x9c, 0xe8, 0x21, 0x3e, 0xdd, 0x96, + 0xdc, 0x61, 0x86, 0x0d, 0x85, 0x0f, 0x90, 0xe0, + 0x42, 0x7c, 0xc4, 0x71, 0xaa, 0xcc, 0xd8, 0x90, + 0x05, 0x06, 0x01, 0xf7, 0x12, 0x1c, 0xa3, 0xc2, + 0x5f, 0x6a, 0x3c, 0x00, 0x8c, 0x54, 0x01, 0x00, + 0xf9, 0xae, 0xd0, 0x69, 0x91, 0x17, 0x58, 0x99, + 0x27, 0x3a, 0xb9, 0x27, 0x38, 0xd9, 0x13, 0xeb, + 0xb3, 0x2b, 0x33, 0x22, 0xbb, 0xd2, 0x70, 0xa9, + 0x89, 0x07, 0xa7, 0x33, 0xb6, 0x2d, 0x22, 0x3c, + 0x92, 0x15, 0x20, 0xc9, 0x49, 0x87, 0xff, 0xaa, + 0x78, 0x50, 0x7a, 0xa5, 0x8f, 0x03, 0xf8, 0x59, + 0x80, 0x09, 0x17, 0x1a, 0xda, 0x65, 0x31, 0xd7, + 0xc6, 0x84, 0xb8, 0xd0, 0x3c, 0x00, 0xc8, 0x54, + 0x01, 0x00, 0xc3, 0x82, 0xb0, 0x29, 0x77, 0x5a, + 0x11, 0x1e, 0xcb, 0x7b, 0xfc, 0xa8, 0xd6, 0x6d, + 0x3a, 0x2c, 0xc6, 0xa5, 0xf8, 0x84, 0xee, 0x99, + 0xf6, 0x8d, 0xff, 0x0d, 0xd6, 0xbd, 0xde, 0xb1, + 0x91, 0x54, 0x60, 0x50, 0x02, 0x03, 0xce, 0xa9, + 0x56, 0x7d, 0xe7, 0x19, 0xb5, 0x62, 0x4d, 0xe6, + 0xec, 0x9a, 0x8f, 0x45, 0x1f, 0x9d, 0x89, 0x40, + 0xfa, 0x87, 0xef, 0x15, 0xb2, 0xeb, 0x3c, 0x00, + 0x04, 0x55, 0x01, 0x00, 0x8e, 0xc9, 0xfb, 0x0b, + 0x41, 0xec, 0xb3, 0x67, 0x5f, 0xfd, 0x45, 0xea, + 0x23, 0xbf, 0x53, 0xf7, 0xe4, 0x96, 0x9b, 0x5b, + 0x75, 0xc2, 0xe1, 0x1c, 0x3d, 0xae, 0x4c, 0x6a, + 0x6c, 0x5a, 0x7e, 0x41, 0xf5, 0x02, 0x83, 0x4f, + 0x68, 0x5c, 0x51, 0xf4, 0xd1, 0x34, 0xf9, 0x08, + 0xe2, 0x93, 0xab, 0x73, 0x62, 0x53, 0x2a, 0x3f, + 0x08, 0x0c, 0x95, 0x52, 0x46, 0x65, 0x9d, 0x5e, + 0x3c, 0x00, 0x40, 0x55, 0x01, 0x00, 0x30, 0x28, + 0x37, 0xa1, 0x0a, 0x0f, 0x2f, 0xb5, 0x0e, 0x09, + 0x24, 0x36, 0x1b, 0x9b, 0xdf, 0x3d, 0xcd, 0x26, + 0x4e, 0x69, 0x7f, 0xcd, 0xea, 0x9f, 0x12, 0x1b, + 0x1d, 0x9e, 0x58, 0x74, 0x34, 0x2e, 0x36, 0x2d, + 0xdc, 0xb2, 0xb4, 0xee, 0x5b, 0xfb, 0xa4, 0xf6, + 0x76, 0x4d, 0xb7, 0x61, 0x7d, 0xce, 0x52, 0x7b, + 0xdd, 0x3e, 0x5e, 0x71, 0x13, 0x97, 0xa6, 0xf5, + 0xb9, 0x68, 0x3c, 0x00, 0x7c, 0x55, 0x01, 0x00, + 0x00, 0x00, 0xc1, 0x2c, 0x40, 0x60, 0xe3, 0x1f, + 0x79, 0xc8, 0xb6, 0xed, 0xd4, 0xbe, 0x8d, 0x46, + 0x67, 0xd9, 0x72, 0x4b, 0x94, 0xde, 0x98, 0xd4, + 0xb0, 0xe8, 0x85, 0x4a, 0xbb, 0x6b, 0xc5, 0x2a, + 0x4f, 0xe5, 0xed, 0x16, 0x86, 0xc5, 0x9a, 0xd7, + 0x66, 0x55, 0x11, 0x94, 0x8a, 0xcf, 0xe9, 0x10, + 0x04, 0x06, 0xfe, 0x81, 0xa0, 0xf0, 0x78, 0x44, + 0x25, 0xba, 0x4b, 0xe3, 0x3c, 0x00, 0xb8, 0x55, + 0x01, 0x00, 0xa2, 0xf3, 0x5d, 0xfe, 0x80, 0xc0, + 0x05, 0x8a, 0x3f, 0xad, 0x21, 0xbc, 0x70, 0x48, + 0xf1, 0x04, 0x63, 0xdf, 0x77, 0xc1, 0xaf, 0x75, + 0x42, 0x63, 0x20, 0x30, 0xe5, 0x1a, 0xfd, 0x0e, + 0xbf, 0x6d, 0x81, 0x4c, 0x18, 0x14, 0x26, 0x35, + 0xc3, 0x2f, 0xbe, 0xe1, 0x35, 0xa2, 0x88, 0xcc, + 0x2e, 0x39, 0x93, 0x57, 0x55, 0xf2, 0xfc, 0x82, + 0x7a, 0x47, 0xc8, 0xac, 0xba, 0xe7, 0x3c, 0x00, + 0xf4, 0x55, 0x01, 0x00, 0x32, 0x2b, 0xe6, 0x95, + 0xc0, 0xa0, 0x19, 0x98, 0x9e, 0xd1, 0xa3, 0x7f, + 0x44, 0x66, 0x54, 0x7e, 0x3b, 0xab, 0x0b, 0x83, + 0x8c, 0xca, 0xc7, 0x29, 0x6b, 0xd3, 0x28, 0x3c, + 0xa7, 0x79, 0xbc, 0xe2, 0x16, 0x1d, 0xad, 0x76, + 0xdb, 0x3b, 0x64, 0x56, 0x74, 0x4e, 0x14, 0x1e, + 0x92, 0xdb, 0x0c, 0x0a, 0x48, 0x6c, 0xb8, 0xe4, + 0x9f, 0x5d, 0xbd, 0x6e, 0x43, 0xef, 0xc4, 0xa6, + 0x3c, 0x00, 0x30, 0x56, 0x01, 0x00, 0x39, 0xa8, + 0x31, 0xa4, 0xd3, 0x37, 0xf2, 0x8b, 0xd5, 0x32, + 0x8b, 0x43, 0x6e, 0x59, 0xda, 0xb7, 0x01, 0x8c, + 0xb1, 0x64, 0x9c, 0xd2, 0x49, 0xe0, 0xd8, 0xb4, + 0xac, 0xfa, 0xf3, 0x07, 0xcf, 0x25, 0xca, 0xaf, + 0xf4, 0x8e, 0x47, 0xe9, 0x10, 0x18, 0x6f, 0xd5, + 0xf0, 0x88, 0x4a, 0x6f, 0x5c, 0x72, 0x38, 0x24, + 0x57, 0xf1, 0x73, 0xc7, 0x97, 0x51, 0xcb, 0x23, + 0xa1, 0x7c, 0x3c, 0x00, 0x6c, 0x56, 0x01, 0x00, + 0xe8, 0x9c, 0x3e, 0x21, 0x96, 0xdd, 0x61, 0xdc, + 0x0d, 0x86, 0x0f, 0x85, 0xe0, 0x90, 0x7c, 0x42, + 0x71, 0xc4, 0xcc, 0xaa, 0x90, 0xd8, 0x06, 0x05, + 0xf7, 0x01, 0x1c, 0x12, 0xc2, 0xa3, 0x6a, 0x5f, + 0xae, 0xf9, 0x69, 0xd0, 0x17, 0x91, 0x99, 0x58, + 0x3a, 0x27, 0x27, 0xb9, 0xd9, 0x38, 0xeb, 0x13, + 0x2b, 0xb3, 0x22, 0x33, 0xd2, 0xbb, 0xa9, 0x70, + 0x07, 0x89, 0x33, 0xa7, 0x3c, 0x00, 0xa8, 0x56, + 0x01, 0x00, 0x2d, 0xb6, 0x3c, 0x22, 0x15, 0x92, + 0xc9, 0x20, 0x87, 0x49, 0xaa, 0xff, 0x50, 0x78, + 0xa5, 0x7a, 0x03, 0x8f, 0x59, 0xf8, 0x09, 0x80, + 0x1a, 0x17, 0x65, 0xda, 0xd7, 0x31, 0x84, 0xc6, + 0xd0, 0xb8, 0x82, 0xc3, 0x29, 0xb0, 0x5a, 0x77, + 0x1e, 0x11, 0x7b, 0xcb, 0xa8, 0xfc, 0x6d, 0xd6, + 0x2c, 0x3a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x56, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x72, 0x65, 0x71, 0x45, 0x72, 0x72, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x57, 0x01, 0x00, 0xc4, 0x8e, + 0x01, 0x00, 0x24, 0x9a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x24, 0x9a, + 0x01, 0x00, 0xa4, 0xb2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xa4, 0xb2, + 0x01, 0x00, 0x14, 0xc8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x10, 0x20, + 0x30, 0x40, 0x50, 0xbb, 0x30, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0x57, 0x01, 0x00, + 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22, + 0x24, 0x26, 0x28, 0x2a, 0x2b, 0x2c, 0x01, 0x00, + 0x70, 0x17, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0d, 0x25, 0x00, 0x00, 0x41, 0x3f, 0x01, 0x00, + 0x65, 0x29, 0x01, 0x00, 0x0d, 0x25, 0x00, 0x00, + 0xf5, 0x5e, 0x00, 0x00, 0x41, 0x3f, 0x01, 0x00, + 0x41, 0x3f, 0x01, 0x00, 0x02, 0x04, 0x0b, 0x0c, + 0x12, 0x16, 0x18, 0x24, 0x3c, 0x00, 0x98, 0x57, + 0x01, 0x00, 0x30, 0x48, 0x60, 0x6c, 0x01, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x10, 0x12, 0x11, 0x00, + 0x00, 0x01, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0x57, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x93, 0x04, 0x00, + 0x40, 0x42, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0xdf, 0x40, 0xcf, 0xfd, 0x00, 0x40, 0x83, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x58, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x00, 0x80, 0x81, 0x00, 0x00, + 0x80, 0x00, 0xbf, 0xff, 0x7f, 0x7e, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x78, 0x6f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x6f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x6f, + 0x01, 0x00, 0x3c, 0x00, 0x4c, 0x58, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x78, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb8, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x71, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x78, 0x71, 0x01, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x90, 0x71, 0x01, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x88, 0x58, + 0x01, 0x00, 0xa8, 0x71, 0x01, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x05, 0x0a, 0x01, 0x06, 0x0b, + 0x02, 0x07, 0x0c, 0x03, 0x08, 0x0d, 0x04, 0x09, + 0x00, 0x00, 0x03, 0x03, 0x01, 0x01, 0x00, 0x04, + 0x00, 0x04, 0x04, 0x06, 0x16, 0x1e, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, + 0xc4, 0x58, 0x01, 0x00, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, + 0x61, 0x8b, 0x4a, 0x00, 0x61, 0x8f, 0x4a, 0x00, + 0x61, 0x8b, 0x4a, 0x00, 0x05, 0xe3, 0xc0, 0x00, + 0x05, 0xcb, 0xc0, 0x00, 0x05, 0xbb, 0xc0, 0x00, + 0x85, 0xba, 0xc0, 0x00, 0x85, 0xa2, 0xc0, 0x00, + 0x85, 0x92, 0xc0, 0x00, 0x85, 0x8a, 0xc0, 0x00, + 0x85, 0x7a, 0xc0, 0x00, 0x45, 0x89, 0xc0, 0x00, + 0x3c, 0x00, 0x00, 0x59, 0x01, 0x00, 0x45, 0x71, + 0xc0, 0x00, 0x45, 0x69, 0xc0, 0x00, 0x45, 0x61, + 0xc0, 0x00, 0x45, 0x59, 0xc0, 0x00, 0x45, 0x51, + 0xc0, 0x00, 0x45, 0x49, 0xc0, 0x00, 0x45, 0x41, + 0xc0, 0x00, 0x45, 0x39, 0xc0, 0x00, 0x45, 0x31, + 0xc0, 0x00, 0x45, 0x29, 0xc0, 0x00, 0x45, 0x21, + 0xc0, 0x00, 0x60, 0x2d, 0x06, 0x00, 0x60, 0x2d, + 0x06, 0x00, 0x60, 0x2d, 0x06, 0x00, 0x60, 0x2d, + 0x06, 0x00, 0x3c, 0x00, 0x3c, 0x59, 0x01, 0x00, + 0x60, 0x2d, 0x06, 0x00, 0x60, 0x28, 0x06, 0x00, + 0x50, 0x26, 0x06, 0x00, 0x50, 0x21, 0x06, 0x00, + 0x50, 0x1f, 0x06, 0x00, 0x50, 0x1c, 0x06, 0x00, + 0x50, 0x1a, 0x06, 0x00, 0x50, 0x18, 0x06, 0x00, + 0x50, 0x16, 0x06, 0x00, 0x50, 0x14, 0x06, 0x00, + 0x50, 0x12, 0x06, 0x00, 0x50, 0x10, 0x06, 0x00, + 0x50, 0x0e, 0x06, 0x00, 0x50, 0x0c, 0x06, 0x00, + 0x50, 0x0a, 0x06, 0x00, 0x3c, 0x00, 0x78, 0x59, + 0x01, 0x00, 0x2b, 0x0b, 0x06, 0x00, 0x1d, 0x75, + 0xc0, 0x00, 0x1d, 0x75, 0xc0, 0x00, 0x1d, 0x75, + 0xc0, 0x00, 0x1d, 0x75, 0xc0, 0x00, 0x1d, 0x75, + 0xc0, 0x00, 0x1d, 0x75, 0xc0, 0x00, 0x1d, 0x6d, + 0xc0, 0x00, 0xdd, 0x5b, 0xc0, 0x00, 0xdd, 0x4b, + 0xc0, 0x00, 0xdd, 0x43, 0xc0, 0x00, 0xdd, 0x3b, + 0xc0, 0x00, 0xdd, 0x33, 0xc0, 0x00, 0xdd, 0x2b, + 0xc0, 0x00, 0xdd, 0x23, 0xc0, 0x00, 0x3c, 0x00, + 0xb4, 0x59, 0x01, 0x00, 0xdd, 0x1b, 0xc0, 0x00, + 0xdd, 0x13, 0xc0, 0x00, 0xdd, 0x13, 0xc0, 0x00, + 0xdd, 0x13, 0xc0, 0x00, 0xdd, 0x13, 0xc0, 0x00, + 0xdd, 0x13, 0xc0, 0x00, 0x05, 0x05, 0x05, 0x04, + 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, + 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0x59, 0x01, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x80, 0x00, 0x5b, 0x00, 0x40, 0x02, + 0xe0, 0xfd, 0xf2, 0x00, 0xb8, 0xfc, 0xa4, 0x01, + 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, + 0x00, 0x00, 0x03, 0x0b, 0x9f, 0x5f, 0x07, 0x01, + 0x2a, 0x04, 0x21, 0x04, 0x17, 0x04, 0x0e, 0x04, + 0x04, 0x04, 0xfb, 0x03, 0xf1, 0x03, 0xe8, 0x03, + 0xc9, 0x03, 0xaa, 0x03, 0x8a, 0x03, 0x6b, 0x03, + 0x4c, 0x03, 0x3c, 0x00, 0x2c, 0x5a, 0x01, 0x00, + 0x2d, 0x03, 0x0e, 0x03, 0xee, 0x02, 0xec, 0x02, + 0x01, 0x03, 0x16, 0x03, 0x2b, 0x03, 0x40, 0x03, + 0x55, 0x03, 0x6a, 0x03, 0x7f, 0x03, 0x94, 0x03, + 0xa9, 0x03, 0xbe, 0x03, 0xd3, 0x03, 0xe8, 0x03, + 0xbe, 0x03, 0x94, 0x03, 0x6a, 0x03, 0x00, 0x02, + 0x04, 0x06, 0x07, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x00, 0x03, 0x3c, 0x00, 0x68, 0x5a, + 0x01, 0x00, 0x05, 0x08, 0x0b, 0x0e, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x5a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0x5a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x5b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0x5b, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x5b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x5b, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x5c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x5c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x5c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x5c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x5c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x5d, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0x5d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0x5d, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x5d, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0x5e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x5e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x5e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x5e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0x5f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x5f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x5f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x5f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x60, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x60, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x60, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x60, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x61, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x61, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x61, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x61, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x62, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x62, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x62, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x62, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x63, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x63, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x63, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x63, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0x64, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x64, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0x64, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0x64, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0x64, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x65, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0x65, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x65, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x65, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x66, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0x66, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0x66, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0x66, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x67, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0x67, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0x67, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0x67, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x68, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0x68, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0x68, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0x68, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0x69, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x69, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x69, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0x69, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x6a, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0x6a, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x6a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x6a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x6b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x6b, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x6b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x6b, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x6b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x6c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0x6c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0x6c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x6c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0x6d, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x6d, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x6d, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0x6e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x6e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x6e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x6e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x6f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0x6f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x6f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x6f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x6f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x70, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x70, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x70, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x71, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x71, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x71, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x71, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x72, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x72, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x72, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x72, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0x73, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x73, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0x73, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0x73, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0x73, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x74, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0x74, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x74, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x74, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x75, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0x75, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0x75, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0x75, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x76, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0x76, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0x76, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0x76, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x77, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0x77, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0x77, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0x77, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0x78, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x78, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x78, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0x78, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x79, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0x79, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x79, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x79, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x7a, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x7a, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x7a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x7a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x7a, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x7b, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0x7b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0x7b, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x7b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0x7c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x7c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x7c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x7c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0x7d, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x7d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x7d, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x7d, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x7e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0x7e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x7e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x7e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x7e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x7f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x7f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x7f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0xb5, 0x01, 0x25, 0x07, 0x4e, + 0xad, 0x03, 0x75, 0x61, 0x0a, 0x20, 0xfa, 0xf7, + 0x6c, 0xff, 0x30, 0x68, 0x80, 0x03, 0xc4, 0x0f, + 0xb5, 0x61, 0x0a, 0x20, 0xfa, 0xf7, 0x65, 0xff, + 0x20, 0x1c, 0x70, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x80, 0x01, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x70, 0xb5, 0x01, 0x25, 0x6d, 0x04, 0x00, 0x28, + 0x10, 0x4c, 0x01, 0xd0, 0x65, 0x61, 0x00, 0xe0, + 0xa5, 0x61, 0x60, 0x68, 0x28, 0x43, 0x60, 0x60, + 0xa0, 0x68, 0x28, 0x43, 0xa0, 0x60, 0x0a, 0x20, + 0xfa, 0xf7, 0x4e, 0xff, 0x01, 0x26, 0xb6, 0x03, + 0x66, 0x61, 0x0a, 0x20, 0xfa, 0xf7, 0x48, 0xff, + 0xa6, 0x61, 0x01, 0x20, 0xfa, 0xf7, 0x44, 0xff, + 0x3c, 0x00, 0x60, 0x80, 0x01, 0x00, 0xa0, 0x68, + 0xa8, 0x43, 0xa0, 0x60, 0x60, 0x68, 0x28, 0x43, + 0x60, 0x60, 0x0a, 0x20, 0xfa, 0xf7, 0x3b, 0xff, + 0x70, 0xbd, 0x10, 0x00, 0x07, 0x00, 0x70, 0xb5, + 0x01, 0x25, 0x10, 0x4c, 0x6d, 0x04, 0x65, 0x61, + 0x60, 0x68, 0x28, 0x43, 0x60, 0x60, 0xa0, 0x68, + 0x28, 0x43, 0xa0, 0x60, 0xee, 0x08, 0xa6, 0x61, + 0x0a, 0x20, 0xfa, 0xf7, 0x28, 0xff, 0x66, 0x61, + 0x0a, 0x20, 0x3c, 0x00, 0x9c, 0x80, 0x01, 0x00, + 0xfa, 0xf7, 0x24, 0xff, 0xa5, 0x61, 0x0a, 0x20, + 0xfa, 0xf7, 0x20, 0xff, 0xa6, 0x61, 0x0a, 0x20, + 0xfa, 0xf7, 0x1c, 0xff, 0xa0, 0x68, 0xa8, 0x43, + 0xa0, 0x60, 0x60, 0x68, 0x28, 0x43, 0x60, 0x60, + 0x70, 0xbd, 0x00, 0x00, 0x10, 0x00, 0x07, 0x00, + 0x70, 0xb5, 0x01, 0x25, 0x0e, 0x4c, 0x6d, 0x04, + 0xa5, 0x61, 0x60, 0x68, 0x28, 0x43, 0x60, 0x60, + 0xa0, 0x68, 0x28, 0x43, 0x3c, 0x00, 0xd8, 0x80, + 0x01, 0x00, 0xa0, 0x60, 0xee, 0x08, 0x66, 0x61, + 0x0a, 0x20, 0xfa, 0xf7, 0x02, 0xff, 0x65, 0x61, + 0x0a, 0x20, 0xfa, 0xf7, 0xfe, 0xfe, 0xa6, 0x61, + 0x0a, 0x20, 0xfa, 0xf7, 0xfa, 0xfe, 0xa0, 0x68, + 0xa8, 0x43, 0xa0, 0x60, 0x60, 0x68, 0x28, 0x43, + 0x60, 0x60, 0x70, 0xbd, 0x00, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x70, 0xb5, 0x05, 0x1c, 0x00, 0x24, + 0x80, 0x26, 0x28, 0x1c, 0x30, 0x40, 0x3c, 0x00, + 0x14, 0x81, 0x01, 0x00, 0xff, 0xf7, 0x88, 0xff, + 0x68, 0x06, 0x05, 0x0e, 0x01, 0x34, 0x08, 0x2c, + 0xf6, 0xdb, 0xff, 0xf7, 0x6d, 0xff, 0x70, 0xbd, + 0x80, 0xb5, 0x02, 0x1c, 0x0b, 0x21, 0x80, 0x20, + 0xfb, 0xf7, 0x3e, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0xf8, 0xb5, 0x12, 0x48, 0x00, 0x25, 0x07, 0x1c, + 0xff, 0x37, 0x06, 0x1d, 0x01, 0x37, 0x28, 0x1c, + 0xf9, 0xf7, 0xea, 0xfd, 0x04, 0x1c, 0x17, 0xd0, + 0x3c, 0x00, 0x50, 0x81, 0x01, 0x00, 0x20, 0x69, + 0x00, 0x28, 0x04, 0xd0, 0xe0, 0x6a, 0x00, 0x28, + 0x03, 0xd0, 0x00, 0x20, 0xe0, 0x62, 0x25, 0x1c, + 0xf0, 0xe7, 0x7b, 0x68, 0x00, 0x2b, 0x05, 0xd0, + 0x32, 0x1c, 0x21, 0x1c, 0x44, 0x31, 0x01, 0x20, + 0xe8, 0xf7, 0x34, 0xf9, 0x20, 0x1c, 0x44, 0x30, + 0xf9, 0xf7, 0x37, 0xfe, 0xe2, 0xe7, 0xf8, 0xbd, + 0x00, 0x00, 0x20, 0xf7, 0x01, 0x00, 0x11, 0x48, + 0x70, 0xb5, 0x3c, 0x00, 0x8c, 0x81, 0x01, 0x00, + 0x00, 0x68, 0xff, 0x28, 0x1d, 0xd1, 0xff, 0x20, + 0x32, 0x30, 0xfa, 0xf7, 0xa7, 0xfe, 0x0e, 0x4d, + 0x6c, 0x68, 0x0e, 0x48, 0xfa, 0xf7, 0xa2, 0xfe, + 0x68, 0x68, 0x24, 0x1a, 0x01, 0x20, 0x00, 0xf0, + 0x95, 0xfd, 0x6e, 0x68, 0x09, 0x48, 0xfa, 0xf7, + 0x99, 0xfe, 0x68, 0x68, 0x21, 0x1c, 0x0a, 0x39, + 0x30, 0x1a, 0x88, 0x42, 0x02, 0xd3, 0x0a, 0x34, + 0xa0, 0x42, 0x02, 0xd9, 0x3c, 0x00, 0xc8, 0x81, + 0x01, 0x00, 0x00, 0x20, 0x00, 0xf0, 0x85, 0xfd, + 0x70, 0xbd, 0xf4, 0x74, 0x01, 0x00, 0x00, 0x03, + 0x07, 0x00, 0x93, 0x03, 0x00, 0x00, 0x70, 0xb5, + 0x00, 0xf0, 0x4d, 0xf8, 0x01, 0x20, 0xed, 0xf7, + 0x34, 0xf9, 0x11, 0x4d, 0x18, 0x21, 0x68, 0x60, + 0x00, 0x20, 0xe9, 0xf7, 0xf2, 0xf9, 0x28, 0x60, + 0x04, 0x68, 0x80, 0x20, 0x20, 0x80, 0x00, 0x26, + 0x06, 0x22, 0xff, 0x21, 0x20, 0x1d, 0x3c, 0x00, + 0x04, 0x82, 0x01, 0x00, 0x66, 0x80, 0xe8, 0xf7, + 0x0b, 0xfa, 0x20, 0x1c, 0x0a, 0x30, 0x09, 0x49, + 0xf2, 0xf7, 0x2e, 0xfd, 0x20, 0x1c, 0x10, 0x30, + 0x07, 0x49, 0xf2, 0xf7, 0x29, 0xfd, 0xe6, 0x82, + 0x03, 0xcd, 0xe9, 0xf7, 0xf9, 0xf8, 0x02, 0x49, + 0x01, 0x20, 0x14, 0x39, 0x88, 0x60, 0x70, 0xbd, + 0x90, 0xd9, 0x01, 0x00, 0x12, 0x61, 0x01, 0x00, + 0x24, 0xf7, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x82, 0x01, 0x00, 0x10, 0xb5, + 0x06, 0x4c, 0x00, 0x22, 0x02, 0x20, 0xe1, 0x68, + 0xf0, 0xf7, 0x11, 0xfb, 0x60, 0x78, 0x02, 0x28, + 0x01, 0xd1, 0x00, 0xf0, 0x1a, 0xf9, 0x10, 0xbd, + 0x00, 0x00, 0x40, 0xd9, 0x01, 0x00, 0x80, 0xb5, + 0xa1, 0x20, 0xff, 0xf7, 0x50, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0x40, 0x00, 0x0e, 0x21, 0x08, 0x40, + 0x80, 0xb5, 0xa0, 0x30, 0xff, 0xf7, 0x47, 0xff, + 0x80, 0xbd, 0x3c, 0x00, 0x7c, 0x82, 0x01, 0x00, + 0x10, 0xb5, 0x05, 0x4c, 0x20, 0x68, 0x00, 0x28, + 0x04, 0xd0, 0xe9, 0xf7, 0x87, 0xf9, 0x00, 0x20, + 0x20, 0x60, 0x60, 0x60, 0x10, 0xbd, 0x00, 0x00, + 0x90, 0xd9, 0x01, 0x00, 0x10, 0xb5, 0x07, 0x4c, + 0x01, 0x21, 0x07, 0x4a, 0x21, 0x61, 0x02, 0x20, + 0x10, 0x70, 0x61, 0x61, 0x00, 0xf0, 0xd6, 0xfc, + 0x00, 0xf0, 0xc8, 0xfb, 0x20, 0x1c, 0xed, 0xf7, + 0x9f, 0xfa, 0x10, 0xbd, 0x3c, 0x00, 0xb8, 0x82, + 0x01, 0x00, 0x20, 0xf7, 0x01, 0x00, 0x7c, 0xd9, + 0x01, 0x00, 0x70, 0xb5, 0x02, 0x1c, 0x08, 0x1c, + 0x02, 0x25, 0x00, 0x2a, 0x13, 0x4e, 0x14, 0xd0, + 0x00, 0xf0, 0x11, 0xfc, 0x30, 0x78, 0x01, 0x21, + 0x08, 0x43, 0x30, 0x70, 0x30, 0x78, 0x28, 0x43, + 0x30, 0x70, 0x00, 0x20, 0x7d, 0x21, 0x49, 0x01, + 0xb2, 0x79, 0x92, 0x07, 0x00, 0xd5, 0x01, 0x34, + 0x01, 0x30, 0x88, 0x42, 0xf8, 0xdb, 0x3c, 0x00, + 0xf4, 0x82, 0x01, 0x00, 0x20, 0x1c, 0x70, 0xbd, + 0x30, 0x78, 0xa8, 0x43, 0x30, 0x70, 0x30, 0x78, + 0x40, 0x08, 0x40, 0x00, 0x30, 0x70, 0x05, 0x49, + 0x48, 0x68, 0x01, 0x22, 0x12, 0x04, 0x90, 0x43, + 0x48, 0x60, 0x01, 0x20, 0x70, 0xbd, 0x00, 0x00, + 0x88, 0x00, 0x07, 0x00, 0x6c, 0x00, 0x07, 0x00, + 0xff, 0xb5, 0x09, 0xae, 0x00, 0x20, 0x60, 0xce, + 0x28, 0x60, 0x00, 0x23, 0x9c, 0x46, 0x30, 0x60, + 0x3c, 0x00, 0x30, 0x83, 0x01, 0x00, 0x69, 0x46, + 0x01, 0xaa, 0x17, 0xe0, 0xdb, 0x07, 0x0e, 0xd5, + 0x12, 0x4b, 0x1c, 0x56, 0x63, 0x1c, 0x0a, 0xd0, + 0x01, 0x27, 0x2b, 0x68, 0xa7, 0x40, 0x3b, 0x43, + 0x2b, 0x60, 0x13, 0x68, 0xdb, 0x07, 0x02, 0xd5, + 0x33, 0x68, 0x3b, 0x43, 0x33, 0x60, 0x0b, 0x68, + 0x5b, 0x08, 0x0b, 0x60, 0x13, 0x68, 0x5b, 0x08, + 0x13, 0x60, 0x01, 0x30, 0x0b, 0x68, 0x00, 0x2b, + 0x01, 0xd0, 0x3c, 0x00, 0x6c, 0x83, 0x01, 0x00, + 0x22, 0x28, 0xe2, 0xd3, 0x63, 0x46, 0x01, 0x33, + 0x20, 0x20, 0x02, 0x2b, 0x9c, 0x46, 0x02, 0xa9, + 0x03, 0xaa, 0xf2, 0xdb, 0xff, 0xbd, 0x00, 0x00, + 0xb4, 0x8d, 0x01, 0x00, 0xb0, 0xb5, 0x04, 0x1c, + 0x0d, 0x1c, 0x1e, 0x21, 0x00, 0x22, 0x03, 0x20, + 0x05, 0x4b, 0xf9, 0xf7, 0xb3, 0xf8, 0x21, 0x1c, + 0x03, 0x20, 0xf9, 0xf7, 0xf5, 0xf8, 0x29, 0x1c, + 0x03, 0x20, 0xf9, 0xf7, 0x3c, 0x00, 0xa8, 0x83, + 0x01, 0x00, 0xf1, 0xf8, 0xb0, 0xbd, 0x80, 0x38, + 0x01, 0x00, 0xb0, 0xb5, 0x1c, 0x4c, 0x1c, 0x4d, + 0x21, 0x78, 0x02, 0x29, 0x09, 0xd0, 0x03, 0x29, + 0x19, 0xd0, 0x04, 0x29, 0x1f, 0xd0, 0x05, 0x29, + 0x23, 0xd1, 0x00, 0x20, 0x00, 0xf0, 0x17, 0xfb, + 0x23, 0xe0, 0x68, 0x61, 0x14, 0x48, 0x1c, 0x30, + 0xc1, 0x68, 0x02, 0x69, 0x89, 0x18, 0xc1, 0x60, + 0x00, 0xf0, 0x2f, 0xfb, 0xe0, 0x68, 0x3c, 0x00, + 0xe4, 0x83, 0x01, 0x00, 0x01, 0x38, 0xe0, 0x60, + 0x16, 0xd1, 0x32, 0x20, 0xe0, 0x60, 0xff, 0xf7, + 0xa3, 0xfe, 0x11, 0xe0, 0x00, 0x20, 0x00, 0xf0, + 0x01, 0xfb, 0x00, 0xf0, 0x2d, 0xfc, 0x01, 0x20, + 0x20, 0x70, 0x09, 0xe0, 0x00, 0x20, 0x00, 0xf0, + 0xf9, 0xfa, 0xff, 0xf7, 0x45, 0xff, 0x03, 0xe0, + 0x05, 0x21, 0x0b, 0x20, 0xe8, 0xf7, 0x46, 0xff, + 0x68, 0x69, 0x61, 0x68, 0xe7, 0xf7, 0xdd, 0xff, + 0x3c, 0x00, 0x20, 0x84, 0x01, 0x00, 0xb0, 0xbd, + 0x00, 0x00, 0x7c, 0xd9, 0x01, 0x00, 0x20, 0xf7, + 0x01, 0x00, 0xf7, 0xb5, 0x04, 0x1c, 0x17, 0x1c, + 0xff, 0xf7, 0x21, 0xfe, 0x20, 0x0a, 0xff, 0xf7, + 0x18, 0xff, 0x20, 0x06, 0x00, 0x0e, 0xff, 0xf7, + 0x62, 0xfe, 0xff, 0xf7, 0x18, 0xfe, 0xa1, 0x20, + 0xff, 0xf7, 0x5d, 0xfe, 0x00, 0x25, 0x16, 0xe0, + 0x00, 0x20, 0x00, 0x24, 0x40, 0x06, 0x06, 0x0e, + 0xff, 0xf7, 0x3c, 0x00, 0x5c, 0x84, 0x01, 0x00, + 0xd1, 0xfd, 0x00, 0x06, 0x00, 0x0e, 0x30, 0x43, + 0x01, 0x34, 0x08, 0x2c, 0xf5, 0xdb, 0x29, 0x1c, + 0x01, 0x9a, 0x01, 0x35, 0xbd, 0x42, 0x50, 0x54, + 0x01, 0xda, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, + 0xff, 0xf7, 0xd4, 0xfd, 0xbd, 0x42, 0xe6, 0xdb, + 0xff, 0xf7, 0x1e, 0xfe, 0xfe, 0xbd, 0x00, 0x00, + 0x80, 0xb5, 0xff, 0xf7, 0x19, 0xfe, 0x09, 0x21, + 0x89, 0x03, 0x00, 0x22, 0x3c, 0x00, 0x98, 0x84, + 0x01, 0x00, 0x02, 0x20, 0xf0, 0xf7, 0xe9, 0xf9, + 0x80, 0xbd, 0x09, 0x21, 0x89, 0x03, 0x80, 0xb5, + 0x00, 0x22, 0x02, 0x20, 0xf0, 0xf7, 0xc9, 0xf9, + 0x01, 0x21, 0x09, 0x48, 0x89, 0x03, 0x81, 0x61, + 0x42, 0x68, 0x0a, 0x43, 0x42, 0x60, 0x82, 0x68, + 0x11, 0x43, 0x81, 0x60, 0x01, 0x21, 0x49, 0x04, + 0x81, 0x61, 0x82, 0x68, 0x8a, 0x43, 0x82, 0x60, + 0x42, 0x68, 0x11, 0x43, 0x41, 0x60, 0x3c, 0x00, + 0xd4, 0x84, 0x01, 0x00, 0x80, 0xbd, 0x00, 0x00, + 0x10, 0x00, 0x07, 0x00, 0xf0, 0xb5, 0x04, 0x1c, + 0xc0, 0x68, 0x7b, 0x4e, 0x05, 0x68, 0x30, 0x78, + 0x85, 0xb0, 0x01, 0x28, 0x01, 0xd0, 0x02, 0x28, + 0x72, 0xd1, 0x00, 0x21, 0x20, 0x69, 0xf2, 0xf7, + 0x41, 0xf9, 0x76, 0x49, 0xf2, 0xf7, 0x24, 0xfc, + 0x00, 0x28, 0x69, 0xd0, 0x20, 0x1c, 0x20, 0x30, + 0x41, 0x7a, 0x08, 0x29, 0x02, 0xd1, 0x72, 0x4a, + 0x3c, 0x00, 0x10, 0x85, 0x01, 0x00, 0x00, 0x21, + 0x51, 0x61, 0x00, 0x7a, 0x22, 0x6a, 0x18, 0x21, + 0xf2, 0xf7, 0xc9, 0xfb, 0xe1, 0x6a, 0x37, 0x1c, + 0x40, 0x18, 0x6c, 0x49, 0x02, 0x90, 0x30, 0x78, + 0x0e, 0x1c, 0xff, 0x36, 0x0a, 0x1d, 0x01, 0x36, + 0x01, 0x28, 0x04, 0x92, 0x07, 0xd0, 0x65, 0x4a, + 0x02, 0x99, 0x1c, 0x32, 0x28, 0x1c, 0xed, 0xf7, + 0xe2, 0xfb, 0x00, 0x28, 0x6b, 0xd0, 0x32, 0x21, + 0x20, 0x69, 0x3c, 0x00, 0x4c, 0x85, 0x01, 0x00, + 0xf2, 0xf7, 0x16, 0xf9, 0x01, 0x90, 0x20, 0x69, + 0x01, 0x21, 0xf2, 0xf7, 0x11, 0xf9, 0x01, 0x1c, + 0x5e, 0x48, 0x01, 0x23, 0x01, 0x9a, 0xed, 0xf7, + 0x07, 0xfc, 0x00, 0x28, 0x04, 0xd1, 0x5b, 0x48, + 0xed, 0xf7, 0x92, 0xfa, 0x00, 0x21, 0xb9, 0x60, + 0x56, 0x48, 0x1c, 0x30, 0x81, 0x68, 0xea, 0xf7, + 0x19, 0xfc, 0x20, 0x1c, 0x14, 0x30, 0x03, 0x90, + 0x04, 0x99, 0xf2, 0xf7, 0x3c, 0x00, 0x88, 0x85, + 0x01, 0x00, 0xd5, 0xfb, 0x00, 0x28, 0x05, 0xd1, + 0x00, 0x22, 0xba, 0x60, 0x04, 0x98, 0x03, 0x99, + 0xf2, 0xf7, 0x6b, 0xfb, 0x4f, 0x49, 0x28, 0x89, + 0x09, 0x88, 0x88, 0x42, 0x03, 0xd0, 0x00, 0x22, + 0x4c, 0x49, 0xba, 0x60, 0x08, 0x80, 0x03, 0x21, + 0x20, 0x69, 0xf2, 0xf7, 0xe4, 0xf8, 0x00, 0x28, + 0x10, 0xd0, 0x46, 0x49, 0x82, 0x78, 0x20, 0x31, + 0x0b, 0x79, 0x94, 0x46, 0x9a, 0x42, 0x3c, 0x00, + 0xc4, 0x85, 0x01, 0x00, 0x09, 0xd0, 0x00, 0x22, + 0xba, 0x60, 0x62, 0x46, 0x0a, 0x71, 0x80, 0x78, + 0x01, 0x21, 0xf3, 0xf7, 0x05, 0xf9, 0x00, 0xe0, + 0x77, 0xe0, 0x06, 0x21, 0x20, 0x69, 0xf2, 0xf7, + 0xcd, 0xf8, 0x00, 0x28, 0x08, 0xd0, 0x81, 0x78, + 0x3a, 0x48, 0x40, 0x30, 0x82, 0x88, 0x91, 0x42, + 0x02, 0xd0, 0x00, 0x22, 0xba, 0x60, 0x81, 0x80, + 0x2a, 0x21, 0x20, 0x69, 0xf2, 0xf7, 0xbe, 0xf8, + 0x3c, 0x00, 0x00, 0x86, 0x01, 0x00, 0x00, 0x28, + 0x0d, 0xd0, 0x80, 0x78, 0xf1, 0x69, 0x33, 0x4a, + 0x81, 0x42, 0x08, 0xd0, 0x00, 0x21, 0xb9, 0x60, + 0xf0, 0x61, 0x10, 0x1c, 0xed, 0xf7, 0x09, 0xfb, + 0x2f, 0x48, 0xed, 0xf7, 0xfa, 0xfa, 0x38, 0x78, + 0x3b, 0x1c, 0x01, 0x28, 0x17, 0xd1, 0x02, 0x20, + 0x18, 0x70, 0x2a, 0x4f, 0x01, 0x23, 0x3b, 0x61, + 0x27, 0x4b, 0x03, 0xcd, 0x1c, 0x33, 0x08, 0x3d, + 0x02, 0x9a, 0x3c, 0x00, 0x3c, 0x86, 0x01, 0x00, + 0xed, 0xf7, 0xb0, 0xfa, 0x38, 0x1c, 0xed, 0xf7, + 0xd7, 0xf8, 0x32, 0x68, 0x00, 0x2a, 0x03, 0xd0, + 0x00, 0x21, 0x01, 0x20, 0xe7, 0xf7, 0xc4, 0xfe, + 0x00, 0xf0, 0xf4, 0xf9, 0x20, 0x1c, 0xf9, 0xf7, + 0xd5, 0xfb, 0x07, 0x1c, 0x11, 0xd1, 0x20, 0x1c, + 0xf9, 0xf7, 0x88, 0xfb, 0x07, 0x1c, 0x2e, 0xd0, + 0x01, 0x23, 0x3b, 0x61, 0x68, 0x89, 0x40, 0x21, + 0xc8, 0x53, 0x73, 0x68, 0x3c, 0x00, 0x78, 0x86, + 0x01, 0x00, 0x00, 0x2b, 0x04, 0xd0, 0x21, 0x1c, + 0x00, 0x20, 0x04, 0x9a, 0xe7, 0xf7, 0xac, 0xfe, + 0x01, 0x23, 0xfb, 0x62, 0x20, 0x69, 0x32, 0x21, + 0xf2, 0xf7, 0x75, 0xf8, 0x05, 0x1c, 0x20, 0x69, + 0x01, 0x21, 0xf2, 0xf7, 0x70, 0xf8, 0x0e, 0x4e, + 0x01, 0x1c, 0x2a, 0x1c, 0x30, 0x1c, 0xed, 0xf7, + 0xc0, 0xfb, 0x00, 0x28, 0x0e, 0xd1, 0x32, 0x21, + 0x20, 0x69, 0xf2, 0xf7, 0x64, 0xf8, 0x3c, 0x00, + 0xb4, 0x86, 0x01, 0x00, 0x05, 0x1c, 0x20, 0x69, + 0x01, 0x21, 0xf2, 0xf7, 0x5f, 0xf8, 0x01, 0x1c, + 0x3b, 0x1c, 0x2a, 0x1c, 0x30, 0x1c, 0xed, 0xf7, + 0xd7, 0xfa, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, + 0x7c, 0xd9, 0x01, 0x00, 0x40, 0xf8, 0x01, 0x00, + 0x20, 0xf7, 0x01, 0x00, 0x02, 0x1c, 0x08, 0x1c, + 0x80, 0x2a, 0x80, 0xb5, 0x06, 0xd0, 0x81, 0x2a, + 0x03, 0xd0, 0x04, 0x21, 0x0b, 0x20, 0xe8, 0xf7, + 0x3c, 0x00, 0xf0, 0x86, 0x01, 0x00, 0xd9, 0xfd, + 0x80, 0xbd, 0xff, 0xf7, 0x5c, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x03, 0x48, 0x81, 0x78, 0xff, 0x29, + 0x01, 0xd0, 0x00, 0x79, 0x70, 0x47, 0x00, 0x20, + 0x70, 0x47, 0x80, 0xf8, 0x01, 0x00, 0x30, 0xb5, + 0x89, 0xb0, 0x00, 0x93, 0x0e, 0x4d, 0x13, 0x1c, + 0x04, 0x1c, 0x2a, 0x1c, 0xec, 0xf7, 0x25, 0xfd, + 0x01, 0xa9, 0x06, 0xa8, 0xa2, 0x68, 0xec, 0xf7, + 0xce, 0xfe, 0x3c, 0x00, 0x2c, 0x87, 0x01, 0x00, + 0x01, 0xaa, 0x06, 0xa9, 0x28, 0x1c, 0x63, 0x6a, + 0xed, 0xf7, 0x44, 0xfa, 0x04, 0x1c, 0x01, 0x28, + 0x04, 0xd1, 0x28, 0x1c, 0xed, 0xf7, 0x2c, 0xf8, + 0x00, 0xf0, 0x4a, 0xf8, 0x20, 0x1c, 0x09, 0xb0, + 0x30, 0xbd, 0x00, 0x00, 0x20, 0xf7, 0x01, 0x00, + 0x80, 0xb5, 0xed, 0xf7, 0x2b, 0xf8, 0x00, 0xf0, + 0x7d, 0xf8, 0x02, 0x48, 0xed, 0xf7, 0x02, 0xfa, + 0x80, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x87, + 0x01, 0x00, 0x20, 0xf7, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0x28, 0x0b, 0xd1, 0x06, 0x48, 0xed, 0xf7, + 0xf8, 0xf9, 0x00, 0xf0, 0x6e, 0xf8, 0x01, 0x20, + 0xed, 0xf7, 0xeb, 0xfa, 0x03, 0x49, 0x03, 0x20, + 0xf9, 0xf7, 0x35, 0xfe, 0x80, 0xbd, 0x20, 0xf7, + 0x01, 0x00, 0x6d, 0x87, 0x01, 0x00, 0xb0, 0xb5, + 0x10, 0x4d, 0x04, 0x1c, 0x13, 0x1c, 0x2a, 0x1c, + 0x88, 0xb0, 0xec, 0xf7, 0x02, 0xfd, 0x3c, 0x00, + 0xa4, 0x87, 0x01, 0x00, 0x21, 0x1c, 0x0a, 0x31, + 0x06, 0x22, 0x28, 0x1d, 0xe7, 0xf7, 0xa4, 0xfe, + 0x69, 0x46, 0x05, 0xa8, 0x62, 0x69, 0xec, 0xf7, + 0x87, 0xfe, 0x28, 0x1c, 0xec, 0xf7, 0xee, 0xff, + 0x7f, 0x23, 0xdb, 0x43, 0x28, 0x1c, 0x6a, 0x46, + 0x05, 0xa9, 0xed, 0xf7, 0xf9, 0xf9, 0x00, 0xf0, + 0x1d, 0xf8, 0x08, 0xb0, 0xb0, 0xbd, 0x00, 0x00, + 0x20, 0xf7, 0x01, 0x00, 0x0a, 0x48, 0x80, 0xb5, + 0x3c, 0x00, 0xe0, 0x87, 0x01, 0x00, 0x01, 0x78, + 0x00, 0x29, 0x06, 0xd0, 0x02, 0x29, 0x01, 0xd0, + 0x05, 0x29, 0x07, 0xd1, 0x03, 0x21, 0x01, 0x70, + 0x80, 0xbd, 0x01, 0x21, 0x01, 0x70, 0x00, 0xf0, + 0x2e, 0xfa, 0x80, 0xbd, 0x03, 0x21, 0x0b, 0x20, + 0xe8, 0xf7, 0x4f, 0xfd, 0x80, 0xbd, 0x7c, 0xd9, + 0x01, 0x00, 0x09, 0x49, 0x80, 0xb5, 0x08, 0x78, + 0x00, 0x28, 0x06, 0xd0, 0x02, 0x28, 0x01, 0xd0, + 0x05, 0x28, 0x3c, 0x00, 0x1c, 0x88, 0x01, 0x00, + 0x05, 0xd1, 0x04, 0x20, 0x08, 0x70, 0x80, 0xbd, + 0xff, 0xf7, 0x38, 0xfd, 0x80, 0xbd, 0x02, 0x21, + 0x0b, 0x20, 0xe8, 0xf7, 0x39, 0xfd, 0x80, 0xbd, + 0x7c, 0xd9, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x0b, 0x20, 0x04, 0x4a, 0xfa, 0xf7, 0x82, 0xff, + 0xf6, 0xf7, 0x86, 0xfd, 0x02, 0x49, 0x08, 0x61, + 0x80, 0xbd, 0x00, 0x00, 0xdd, 0x86, 0x01, 0x00, + 0x7c, 0xd9, 0x01, 0x00, 0x3c, 0x00, 0x58, 0x88, + 0x01, 0x00, 0x0c, 0x48, 0x80, 0xb5, 0x01, 0x78, + 0x06, 0x29, 0x0e, 0xd2, 0x02, 0xa3, 0x5b, 0x5c, + 0x5b, 0x00, 0x9f, 0x44, 0x00, 0x00, 0x06, 0x03, + 0x07, 0x07, 0x07, 0x06, 0x00, 0x20, 0x00, 0xf0, + 0xc2, 0xf8, 0x80, 0xbd, 0x05, 0x21, 0x01, 0x70, + 0x80, 0xbd, 0x04, 0x21, 0x0b, 0x20, 0xe8, 0xf7, + 0x0e, 0xfd, 0x80, 0xbd, 0x00, 0x00, 0x7c, 0xd9, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x88, 0x01, 0x00, 0x10, 0xb5, 0x0d, 0x4b, + 0x04, 0x1c, 0x18, 0x1c, 0x10, 0x30, 0x00, 0x2c, + 0x08, 0xd0, 0xdb, 0x88, 0x5b, 0x04, 0x5b, 0x0c, + 0x0b, 0x80, 0x80, 0x7b, 0x48, 0x80, 0x04, 0x20, + 0x10, 0x80, 0x08, 0xe0, 0xda, 0x88, 0x01, 0x24, + 0xe4, 0x03, 0x22, 0x40, 0x0c, 0x88, 0x22, 0x43, + 0xda, 0x80, 0x49, 0x88, 0x81, 0x73, 0x01, 0x20, + 0x10, 0xbd, 0x00, 0x00, 0x30, 0x00, 0x07, 0x00, + 0x3c, 0x00, 0xd0, 0x88, 0x01, 0x00, 0x70, 0xb5, + 0x10, 0x4e, 0x02, 0x1c, 0x00, 0x23, 0xf0, 0x56, + 0x00, 0x2a, 0x02, 0xd0, 0x08, 0x70, 0x01, 0x24, + 0x15, 0xe0, 0x00, 0x23, 0xcd, 0x56, 0x85, 0x42, + 0x01, 0xd1, 0x01, 0x20, 0x70, 0xbd, 0x28, 0x1c, + 0x00, 0xf0, 0x5f, 0xf9, 0x04, 0x1c, 0x0a, 0xd0, + 0x07, 0x48, 0x35, 0x70, 0x00, 0x68, 0x00, 0x28, + 0x03, 0xd0, 0x00, 0x21, 0x0a, 0x20, 0xf9, 0xf7, + 0x28, 0xfd, 0x3c, 0x00, 0x0c, 0x89, 0x01, 0x00, + 0x00, 0xf0, 0x16, 0xfa, 0x20, 0x1c, 0x70, 0xbd, + 0xf4, 0x6b, 0x01, 0x00, 0x3c, 0xd9, 0x01, 0x00, + 0x03, 0x1c, 0x08, 0x1c, 0x00, 0x2b, 0x80, 0xb5, + 0x06, 0xd0, 0x04, 0x21, 0x11, 0x80, 0x04, 0x22, + 0x04, 0x49, 0xe7, 0xf7, 0xe3, 0xfd, 0x02, 0xe0, + 0x00, 0x68, 0x00, 0xf0, 0xcf, 0xf9, 0x01, 0x20, + 0x80, 0xbd, 0x00, 0x00, 0xf4, 0x74, 0x01, 0x00, + 0x10, 0xb5, 0xff, 0xf7, 0x3c, 0x00, 0x48, 0x89, + 0x01, 0x00, 0x97, 0xfb, 0xff, 0xf7, 0x89, 0xfc, + 0x04, 0x1c, 0xff, 0xf7, 0xb8, 0xfb, 0xff, 0xf7, + 0x84, 0xfc, 0x00, 0x2c, 0x02, 0xd1, 0x01, 0x28, + 0x00, 0xd1, 0x10, 0xbd, 0x00, 0x20, 0x10, 0xbd, + 0x00, 0x00, 0xf8, 0xb5, 0x20, 0x4f, 0x04, 0x1c, + 0x78, 0x78, 0x0e, 0x1c, 0x02, 0x28, 0x2e, 0xd0, + 0x1e, 0x4a, 0xf9, 0x68, 0x91, 0x61, 0x14, 0x23, + 0x1d, 0x49, 0x58, 0x43, 0x40, 0x18, 0x3c, 0x00, + 0x84, 0x89, 0x01, 0x00, 0x41, 0x7b, 0xb8, 0x78, + 0xf8, 0xf7, 0x14, 0xfe, 0x00, 0xf0, 0x8a, 0xf9, + 0x00, 0x25, 0x04, 0xe0, 0x00, 0x21, 0xb8, 0x78, + 0xf8, 0xf7, 0x0c, 0xfe, 0x01, 0x35, 0x78, 0x78, + 0x14, 0x23, 0x14, 0x49, 0x58, 0x43, 0x40, 0x18, + 0x80, 0x7a, 0xa8, 0x42, 0xf2, 0xdc, 0x00, 0x25, + 0x08, 0xe0, 0x00, 0x21, 0xb8, 0x78, 0xf8, 0xf7, + 0xfd, 0xfd, 0x0f, 0x48, 0x00, 0x68, 0x20, 0x70, + 0x3c, 0x00, 0xc0, 0x89, 0x01, 0x00, 0x01, 0x34, + 0x01, 0x35, 0xb5, 0x42, 0xf4, 0xdb, 0x09, 0x4a, + 0xf8, 0x68, 0x50, 0x61, 0x78, 0x78, 0x02, 0x28, + 0x06, 0xd1, 0xb8, 0x68, 0x32, 0x1c, 0x21, 0x1c, + 0x00, 0x04, 0x00, 0x0c, 0xff, 0xf7, 0x25, 0xfd, + 0xb8, 0x68, 0x80, 0x19, 0xb8, 0x60, 0xf8, 0xbd, + 0x00, 0x00, 0x40, 0xd9, 0x01, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x64, 0x8d, 0x01, 0x00, 0x30, 0x20, + 0x07, 0x00, 0x3c, 0x00, 0xfc, 0x89, 0x01, 0x00, + 0x70, 0xb5, 0x06, 0x1c, 0x0c, 0x4d, 0x00, 0x24, + 0x2c, 0x70, 0xff, 0xf7, 0x39, 0xfc, 0x0a, 0x48, + 0x18, 0x21, 0x1c, 0x30, 0xac, 0x60, 0xe7, 0xf7, + 0x43, 0xfd, 0x08, 0x48, 0x44, 0x61, 0xf9, 0xf7, + 0x63, 0xf9, 0x00, 0x2e, 0x06, 0xd1, 0x06, 0x48, + 0x29, 0x69, 0xf6, 0xf7, 0xa7, 0xfc, 0x00, 0x20, + 0xec, 0xf7, 0xb0, 0xfe, 0x70, 0xbd, 0x00, 0x00, + 0x7c, 0xd9, 0x01, 0x00, 0x3c, 0x00, 0x38, 0x8a, + 0x01, 0x00, 0x20, 0xf7, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0x30, 0xb5, 0x12, 0x4c, 0x85, 0xb0, + 0x20, 0x68, 0x00, 0x28, 0x1c, 0xd0, 0x0f, 0x48, + 0x14, 0x38, 0x80, 0x68, 0x00, 0x28, 0x01, 0xd1, + 0xff, 0xf7, 0xc1, 0xfb, 0x20, 0x68, 0x00, 0x23, + 0x00, 0x68, 0x01, 0xaa, 0x04, 0x30, 0x01, 0x21, + 0xec, 0xf7, 0xd1, 0xfd, 0x08, 0x49, 0x08, 0x4a, + 0x08, 0x31, 0x0c, 0x31, 0x00, 0x92, 0x3c, 0x00, + 0x74, 0x8a, 0x01, 0x00, 0x03, 0xc9, 0x00, 0xab, + 0x45, 0x18, 0x99, 0x7b, 0x01, 0x9a, 0x20, 0x68, + 0x2b, 0x1c, 0xf2, 0xf7, 0x2b, 0xfe, 0x05, 0xb0, + 0x30, 0xbd, 0x00, 0x00, 0x90, 0xd9, 0x01, 0x00, + 0x29, 0x81, 0x01, 0x00, 0x10, 0xb5, 0x13, 0x4c, + 0x14, 0x23, 0x60, 0x70, 0x58, 0x43, 0x12, 0x4b, + 0xc1, 0x18, 0x8a, 0x88, 0xe2, 0x80, 0x18, 0x58, + 0xe0, 0x60, 0x08, 0x7a, 0xa0, 0x70, 0xff, 0x28, + 0x3c, 0x00, 0xb0, 0x8a, 0x01, 0x00, 0x12, 0xd0, + 0x00, 0x22, 0x08, 0x21, 0x0d, 0x4b, 0xf8, 0xf7, + 0x22, 0xfd, 0x00, 0x22, 0x02, 0x20, 0xe1, 0x68, + 0xef, 0xf7, 0xbd, 0xfe, 0x0a, 0x49, 0xe0, 0x68, + 0x48, 0x61, 0x4a, 0x68, 0x02, 0x43, 0x4a, 0x60, + 0x8a, 0x68, 0x10, 0x43, 0x88, 0x60, 0x60, 0x78, + 0x02, 0x28, 0x01, 0xd1, 0xff, 0xf7, 0xdf, 0xfc, + 0x10, 0xbd, 0x40, 0xd9, 0x01, 0x00, 0x64, 0x8d, + 0x01, 0x00, 0x3c, 0x00, 0xec, 0x8a, 0x01, 0x00, + 0xb8, 0x0b, 0x00, 0x00, 0x10, 0x00, 0x07, 0x00, + 0xfe, 0x30, 0x00, 0x06, 0x00, 0x0e, 0x06, 0x21, + 0x15, 0x4b, 0x41, 0x43, 0x58, 0x5c, 0x82, 0x06, + 0x14, 0x48, 0x92, 0x0e, 0x42, 0x71, 0xc9, 0x18, + 0x4a, 0x78, 0xd2, 0x06, 0xd2, 0x0e, 0x02, 0x71, + 0x42, 0x78, 0x0c, 0x23, 0x1a, 0x43, 0x42, 0x70, + 0x42, 0x78, 0x8b, 0x78, 0x92, 0x08, 0x92, 0x00, + 0x9b, 0x07, 0x9b, 0x0f, 0x3c, 0x00, 0x28, 0x8b, + 0x01, 0x00, 0x1a, 0x43, 0x42, 0x70, 0x02, 0x78, + 0xc0, 0x23, 0x9a, 0x43, 0x40, 0x32, 0x02, 0x70, + 0x02, 0x78, 0x38, 0x23, 0x1a, 0x43, 0x02, 0x70, + 0x02, 0x78, 0xc9, 0x78, 0x04, 0x23, 0x9a, 0x43, + 0x89, 0x00, 0x19, 0x40, 0x11, 0x43, 0x01, 0x70, + 0x01, 0x20, 0x70, 0x47, 0x00, 0x00, 0xd8, 0x8d, + 0x01, 0x00, 0x88, 0x00, 0x07, 0x00, 0x8f, 0xb5, + 0x00, 0x20, 0x02, 0x90, 0x03, 0x90, 0x3c, 0x00, + 0x64, 0x8b, 0x01, 0x00, 0x07, 0x48, 0x02, 0xaa, + 0x03, 0xa9, 0x00, 0x91, 0x01, 0x92, 0x43, 0x89, + 0x02, 0x89, 0x03, 0xc8, 0xff, 0xf7, 0xd4, 0xfb, + 0x03, 0x98, 0x02, 0x99, 0xff, 0xf7, 0x04, 0xfc, + 0x8f, 0xbd, 0x00, 0x00, 0x04, 0x8e, 0x01, 0x00, + 0x08, 0x49, 0x4a, 0x78, 0x00, 0x2a, 0x03, 0xd1, + 0x88, 0x80, 0x00, 0x20, 0x88, 0x60, 0x70, 0x47, + 0x14, 0x23, 0x5a, 0x43, 0x04, 0x4b, 0xd2, 0x18, + 0x3c, 0x00, 0xa0, 0x8b, 0x01, 0x00, 0xd2, 0x88, + 0x42, 0x43, 0xc8, 0x88, 0x42, 0x43, 0x8a, 0x60, + 0x70, 0x47, 0x40, 0xd9, 0x01, 0x00, 0x64, 0x8d, + 0x01, 0x00, 0xf8, 0xb5, 0x25, 0x4e, 0x04, 0x1c, + 0x30, 0x7a, 0x40, 0x08, 0x40, 0x00, 0x30, 0x72, + 0xb0, 0x7a, 0x00, 0x20, 0xb0, 0x72, 0x01, 0x27, + 0x01, 0x2c, 0x20, 0x4d, 0x01, 0xd0, 0xfc, 0x42, + 0x13, 0xd1, 0x30, 0x7b, 0x38, 0x43, 0x30, 0x73, + 0x00, 0x22, 0x3c, 0x00, 0xdc, 0x8b, 0x01, 0x00, + 0x21, 0x1c, 0x00, 0x20, 0xff, 0xf7, 0x6e, 0xfb, + 0x63, 0x1c, 0x01, 0xd1, 0x3f, 0x21, 0xe9, 0x73, + 0xb1, 0x7a, 0xa0, 0x22, 0x11, 0x43, 0xb1, 0x72, + 0x31, 0x7a, 0x39, 0x43, 0x31, 0x72, 0xf8, 0xbd, + 0x30, 0x7b, 0x40, 0x08, 0x40, 0x00, 0x30, 0x73, + 0x01, 0x22, 0x21, 0x1c, 0x01, 0x20, 0xff, 0xf7, + 0x59, 0xfb, 0x01, 0x20, 0x00, 0x21, 0xe9, 0x73, + 0xb1, 0x7a, 0x02, 0x22, 0x3c, 0x00, 0x18, 0x8c, + 0x01, 0x00, 0x11, 0x43, 0xb1, 0x72, 0xb1, 0x7a, + 0x04, 0x22, 0x11, 0x43, 0xb1, 0x72, 0xb1, 0x7a, + 0x30, 0x22, 0x11, 0x43, 0xb1, 0x72, 0x31, 0x7a, + 0x39, 0x43, 0x31, 0x72, 0x08, 0x49, 0x4a, 0x68, + 0x80, 0x23, 0x9a, 0x43, 0x4a, 0x60, 0x0a, 0x68, + 0x1a, 0x43, 0x0a, 0x60, 0x31, 0x7b, 0x39, 0x43, + 0x31, 0x73, 0xd7, 0xe7, 0x00, 0x00, 0x88, 0x00, + 0x07, 0x00, 0x40, 0x00, 0x07, 0x00, 0x3c, 0x00, + 0x54, 0x8c, 0x01, 0x00, 0x6c, 0x00, 0x07, 0x00, + 0xb0, 0xb5, 0x0e, 0x4d, 0x0e, 0x48, 0x29, 0x69, + 0xf6, 0xf7, 0x9e, 0xfb, 0x0d, 0x48, 0xec, 0xf7, + 0x93, 0xfd, 0x0d, 0x48, 0x09, 0x4c, 0x00, 0x88, + 0x1c, 0x34, 0xa0, 0x82, 0xf1, 0xf7, 0x5a, 0xff, + 0x20, 0x61, 0xfa, 0xf7, 0x97, 0xf8, 0x02, 0x1c, + 0x23, 0x1c, 0x00, 0x21, 0x00, 0x20, 0xec, 0xf7, + 0x8b, 0xff, 0x32, 0x20, 0xe8, 0x60, 0xff, 0xf7, + 0x3c, 0x00, 0x90, 0x8c, 0x01, 0x00, 0xa5, 0xfa, + 0xb0, 0xbd, 0x7c, 0xd9, 0x01, 0x00, 0x34, 0x63, + 0x01, 0x00, 0xdd, 0x84, 0x01, 0x00, 0x20, 0xf7, + 0x01, 0x00, 0xb0, 0xb5, 0x0a, 0x4d, 0x68, 0x78, + 0x00, 0x28, 0x0e, 0xd0, 0x14, 0x23, 0x08, 0x49, + 0x58, 0x43, 0x40, 0x18, 0x44, 0x7a, 0x06, 0xe0, + 0xa8, 0x68, 0xe0, 0x40, 0x01, 0x06, 0x09, 0x0e, + 0xa8, 0x78, 0xf8, 0xf7, 0x76, 0xfc, 0x08, 0x3c, + 0xf6, 0xd5, 0x3c, 0x00, 0xcc, 0x8c, 0x01, 0x00, + 0xb0, 0xbd, 0x00, 0x00, 0x40, 0xd9, 0x01, 0x00, + 0x64, 0x8d, 0x01, 0x00, 0x01, 0x1c, 0x14, 0x48, + 0xb0, 0xb5, 0x01, 0x60, 0x13, 0x48, 0x02, 0x7f, + 0x02, 0x23, 0x9a, 0x43, 0x02, 0x77, 0x02, 0x7f, + 0x01, 0x24, 0x22, 0x43, 0x02, 0x77, 0x10, 0x4d, + 0x00, 0x29, 0x0c, 0xd0, 0x01, 0x22, 0x00, 0x21, + 0x03, 0x20, 0xef, 0xf7, 0x9f, 0xfd, 0x0d, 0x49, + 0x48, 0x7c, 0xa0, 0x43, 0x3c, 0x00, 0x08, 0x8d, + 0x01, 0x00, 0x48, 0x74, 0x68, 0x7a, 0x20, 0x43, + 0x68, 0x72, 0xb0, 0xbd, 0x01, 0x7f, 0x21, 0x43, + 0x01, 0x77, 0x68, 0x7a, 0x40, 0x08, 0x40, 0x00, + 0x68, 0x72, 0x01, 0x22, 0x00, 0x21, 0x03, 0x20, + 0xef, 0xf7, 0xb1, 0xfd, 0xb0, 0xbd, 0xf4, 0x74, + 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, 0x88, 0x00, + 0x07, 0x00, 0x10, 0x00, 0x07, 0x00, 0x10, 0xb5, + 0x07, 0x4c, 0x21, 0x1c, 0x00, 0x20, 0x3c, 0x00, + 0x44, 0x8d, 0x01, 0x00, 0xf9, 0xf7, 0x56, 0xfb, + 0x05, 0x48, 0x00, 0x23, 0xc0, 0x56, 0x01, 0x28, + 0x03, 0xdd, 0x21, 0x1c, 0x00, 0x20, 0xf9, 0xf7, + 0x19, 0xfb, 0x10, 0xbd, 0x65, 0x1a, 0x00, 0x00, + 0xf4, 0x6b, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x08, 0x01, 0x01, 0x00, 0x02, 0x18, 0x04, 0xff, + 0x82, 0xe8, 0xd7, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, + 0x3c, 0x00, 0x80, 0x8d, 0x01, 0x00, 0x00, 0x18, + 0x00, 0x06, 0x02, 0x03, 0x05, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x01, 0x00, 0xff, 0x10, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x20, 0x00, 0x01, 0x00, 0x02, 0x10, + 0x00, 0x06, 0x02, 0x03, 0x05, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0c, + 0x0d, 0x0e, 0x3c, 0x00, 0xbc, 0x8d, 0x01, 0x00, + 0xff, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1b, + 0x1c, 0x1d, 0xff, 0x1a, 0x11, 0x13, 0x12, 0x0f, + 0x10, 0xff, 0x02, 0x00, 0xff, 0x01, 0x03, 0x09, + 0x0a, 0x0b, 0x00, 0x00, 0x30, 0x0d, 0x02, 0x00, + 0x00, 0x00, 0x28, 0x0e, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0d, + 0x02, 0x01, 0x00, 0x00, 0x1e, 0x0c, 0x00, 0x01, + 0x00, 0x00, 0x23, 0x0d, 0x3c, 0x00, 0xf8, 0x8d, + 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x1d, 0x0d, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, + 0xfb, 0x6d, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x8e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x8e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x8e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x8e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x8f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x8f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x8f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x8f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x90, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x90, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x90, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0x91, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0x91, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0x91, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0x91, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0x91, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0x92, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0x92, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0x92, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0x92, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0x93, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0x93, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0x93, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0x93, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0x94, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0x94, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0x94, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0x94, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x95, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0x95, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0x95, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0x95, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0x96, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0x96, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0x96, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0x96, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0x97, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0x97, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0x97, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0x97, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0x98, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0x98, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0x98, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0x98, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x99, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0x99, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0x99, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0x99, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0x9a, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0x9a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0x9a, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0x9b, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0x9b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0x9b, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0x9b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x9c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0x9c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0x9c, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0x9c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x9c, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0x9d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0x9d, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0x9d, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0x9d, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0x9e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0x9e, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0x9e, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0x9f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0x9f, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0x9f, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0x9f, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xa0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xa0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xa0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xa1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xa1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xa1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xa1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xa2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xa2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xa2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xa2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xa3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xa3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xa3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xa3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xa4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xa4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xa4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xa4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xa4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xa5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xa5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xa5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xa5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xa6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xa6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xa6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xa6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xa7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xa7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xa7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xa7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xa7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xa8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xa8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xa8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xa8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xa9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xa9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xa9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xa9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xaa, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xaa, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xaa, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xaa, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xab, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xab, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xab, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xab, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xab, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xac, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xac, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xac, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xac, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xad, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xad, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xad, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xad, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xae, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xae, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xae, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xae, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xaf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xaf, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xaf, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xaf, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xaf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xb0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xb0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xb0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xb0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xb1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xb1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xb1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xb1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xb2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xb2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xb2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xb2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xb3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xb3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xb3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xb3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xb4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xb4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xb4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xb4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xb5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xb5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xb5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xb5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xb6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xb6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xb6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xb6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xb6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xb7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xb7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xb7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xb7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xb8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xb8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xb8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xb8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xb9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xb9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xb9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xb9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xba, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xba, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xba, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xba, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xba, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xbb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xbb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xbb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xbb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xbc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xbc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xbc, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xbc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xbd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xbd, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xbd, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xbd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xbe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xbe, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xbe, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xbe, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xbe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xbf, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xbf, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xbf, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xbf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xc0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xc0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xc0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xc1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xc1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xc1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xc2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xc2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xc2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xc2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xc2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xc3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xc3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xc3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xc3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xc4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xc4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xc4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xc4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xc5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xc5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xc5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xc5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xc5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xc6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xc6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xc6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xc6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xc7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xc7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xc7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xc7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xc8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xc8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xc8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xc8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xc9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xc9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xc9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xc9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xc9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xca, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xca, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xca, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xca, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xcb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xcb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xcb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xcb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xcc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xcc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xcc, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xcc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xcd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xcd, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xcd, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xcd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xcd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xce, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xce, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xce, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xce, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xcf, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xcf, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xcf, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xcf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xd0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xd0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xd0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xd0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xd1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xd1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xd1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xd1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xd1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xd2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xd2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xd2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xd2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xd3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xd3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xd3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xd3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xd4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xd4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xd4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xd4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xd4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xd5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xd5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xd5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xd5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xd6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xd6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xd6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xd6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xd7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xd7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xd7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xd7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xd8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xd8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xd8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xd8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xd8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xd9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xd9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xd9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xd9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xda, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xda, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xda, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xda, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xdb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xdb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xdb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xdb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xdc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xdc, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xdc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xdd, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xdd, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xdd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xdd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xde, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xde, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xde, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xde, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xdf, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xdf, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xdf, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xdf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xe0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xe0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xe0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xe1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xe1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xe1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xe1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xe2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xe2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xe2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xe2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xe3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xe3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xe3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xe3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xe3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xe4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xe4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xe4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xe4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xe5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xe5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xe5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xe5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xe6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xe6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xe6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xe6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xe7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xe7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xe7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xe7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xe7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xe8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xe8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xe8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xe8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xe9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xe9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xe9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xe9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xea, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xea, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xea, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xea, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xeb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xeb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xeb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xeb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xeb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xec, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xec, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xec, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xec, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xed, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xed, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xed, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xed, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xee, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xee, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xee, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xee, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xef, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xef, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xef, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xef, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xef, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xf0, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x68, 0xf0, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xa4, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xe0, 0xf0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x1c, 0xf1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x58, 0xf1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x94, 0xf1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xd0, 0xf1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x0c, 0xf2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x48, 0xf2, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x84, 0xf2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xc0, 0xf2, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xfc, 0xf2, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0xf3, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x74, 0xf3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xb0, 0xf3, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xec, 0xf3, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x28, 0xf4, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x64, 0xf4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xa0, 0xf4, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xdc, 0xf4, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x18, 0xf5, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x54, 0xf5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x90, 0xf5, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xcc, 0xf5, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0xf6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x44, 0xf6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x80, 0xf6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xbc, 0xf6, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xf8, 0xf6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x34, 0xf7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x70, 0xf7, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0xac, 0xf7, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe8, 0xf7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x24, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x60, 0xf8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x9c, 0xf8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xd8, 0xf8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x14, 0xf9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x50, 0xf9, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x8c, 0xf9, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc8, 0xf9, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x04, 0xfa, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x40, 0xfa, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x7c, 0xfa, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xb8, 0xfa, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xf4, 0xfa, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x30, 0xfb, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x6c, 0xfb, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xa8, 0xfb, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xe4, 0xfb, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x20, 0xfc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x5c, 0xfc, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x98, 0xfc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xd4, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x10, 0xfd, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x4c, 0xfd, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x88, 0xfd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xc4, 0xfd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x3c, 0xfe, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x78, 0xfe, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0xb4, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0xf0, 0xfe, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x2c, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x68, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x00, 0x10, 0x04, 0x00, 0x70, 0xb5, 0x2b, 0x48, + 0x06, 0x21, 0x81, 0x75, 0xc1, 0x75, 0x01, 0x7e, + 0x49, 0x08, 0x49, 0x00, 0x01, 0x76, 0x01, 0x7e, + 0x02, 0x22, 0x91, 0x43, 0x01, 0x76, 0x26, 0x49, + 0x0b, 0x78, 0x5b, 0x08, 0x5b, 0x00, 0x0b, 0x70, + 0x04, 0x23, 0x8b, 0x70, 0x0c, 0x23, 0x43, 0x76, + 0x20, 0x23, 0x03, 0x75, 0x1a, 0x24, 0x44, 0x75, + 0x24, 0x24, 0x84, 0x76, 0x10, 0x24, 0xc4, 0x76, + 0x3c, 0x00, 0x3c, 0x10, 0x04, 0x00, 0x2a, 0x25, + 0x4d, 0x70, 0x05, 0x7a, 0x30, 0x26, 0xb5, 0x43, + 0x20, 0x35, 0x05, 0x72, 0x85, 0x7a, 0x6d, 0x08, + 0x6d, 0x00, 0x85, 0x72, 0x85, 0x7a, 0x95, 0x43, + 0x85, 0x72, 0x85, 0x7a, 0x04, 0x26, 0x35, 0x43, + 0x85, 0x72, 0x85, 0x7a, 0x08, 0x26, 0x35, 0x43, + 0x85, 0x72, 0x85, 0x7a, 0xa5, 0x43, 0x85, 0x72, + 0x05, 0x7b, 0x2c, 0x43, 0x04, 0x73, 0x04, 0x7b, + 0x1c, 0x43, 0x3c, 0x00, 0x78, 0x10, 0x04, 0x00, + 0x04, 0x73, 0x04, 0x7b, 0x40, 0x25, 0x2c, 0x43, + 0x04, 0x73, 0x84, 0x7a, 0x23, 0x43, 0x83, 0x72, + 0x83, 0x7a, 0xab, 0x43, 0x83, 0x72, 0x03, 0x7b, + 0x80, 0x24, 0x23, 0x43, 0x03, 0x73, 0x08, 0x78, + 0x90, 0x43, 0x08, 0x70, 0x08, 0x78, 0x01, 0x22, + 0x10, 0x43, 0x08, 0x70, 0x08, 0x78, 0x04, 0x22, + 0x90, 0x43, 0x08, 0x70, 0x70, 0xbd, 0x00, 0x00, + 0x0c, 0x80, 0x07, 0x00, 0x3c, 0x00, 0xb4, 0x10, + 0x04, 0x00, 0x80, 0x80, 0x07, 0x00, 0x01, 0x49, + 0x04, 0x20, 0x48, 0x73, 0x70, 0x47, 0x40, 0x80, + 0x07, 0x00, 0x03, 0x49, 0x80, 0xb5, 0x00, 0x20, + 0x08, 0x80, 0x00, 0xf0, 0x0a, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0xfc, 0x6b, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, 0x67, 0xfb, + 0x80, 0xbd, 0x80, 0xb5, 0x0a, 0x49, 0x18, 0x20, + 0xc1, 0xf7, 0x3b, 0xfa, 0x09, 0x49, 0x3c, 0x00, + 0xf0, 0x10, 0x04, 0x00, 0x02, 0x20, 0xc1, 0xf7, + 0x37, 0xfa, 0x08, 0x49, 0x1f, 0x20, 0xc1, 0xf7, + 0x33, 0xfa, 0x07, 0x49, 0x1c, 0x20, 0xc1, 0xf7, + 0x2f, 0xfa, 0x06, 0x49, 0x03, 0x20, 0xc1, 0xf7, + 0x2b, 0xfa, 0x80, 0xbd, 0x99, 0x2a, 0x00, 0x00, + 0x41, 0x25, 0x00, 0x00, 0x55, 0x25, 0x00, 0x00, + 0x5d, 0x25, 0x00, 0x00, 0x39, 0x25, 0x00, 0x00, + 0x80, 0xb5, 0xbf, 0xf7, 0x91, 0xfd, 0x80, 0xbd, + 0x3c, 0x00, 0x2c, 0x11, 0x04, 0x00, 0x80, 0xb5, + 0x05, 0x4a, 0x05, 0x49, 0x0a, 0x20, 0xbf, 0xf7, + 0x4e, 0xff, 0x01, 0x20, 0x04, 0x49, 0x80, 0x02, + 0x08, 0x60, 0x48, 0x60, 0x80, 0xbd, 0xb4, 0x74, + 0x01, 0x00, 0xb1, 0x64, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x80, 0xb5, 0x00, 0xf0, 0x91, 0xfe, + 0x80, 0xbd, 0x80, 0xb5, 0x05, 0x4a, 0x05, 0x49, + 0x1b, 0x20, 0xbf, 0xf7, 0x38, 0xff, 0x01, 0x20, + 0x04, 0x49, 0x3c, 0x00, 0x68, 0x11, 0x04, 0x00, + 0xc0, 0x06, 0x08, 0x60, 0x48, 0x60, 0x80, 0xbd, + 0xb8, 0x74, 0x01, 0x00, 0x2d, 0x6e, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0x80, 0xb5, 0x04, 0x48, + 0x00, 0xf0, 0x80, 0xfe, 0x03, 0x49, 0x00, 0x20, + 0x48, 0x60, 0x88, 0x60, 0x80, 0xbd, 0x00, 0x00, + 0x41, 0x4b, 0x00, 0x00, 0xbc, 0x74, 0x01, 0x00, + 0x80, 0xb5, 0xc5, 0xf7, 0xd5, 0xfe, 0xce, 0xf7, + 0xd9, 0xf8, 0x03, 0x49, 0x3c, 0x00, 0xa4, 0x11, + 0x04, 0x00, 0x08, 0x60, 0x03, 0x49, 0x0a, 0x20, + 0xd1, 0xf7, 0xef, 0xf8, 0x80, 0xbd, 0xbc, 0x74, + 0x01, 0x00, 0x49, 0x6e, 0x00, 0x00, 0x80, 0xb5, + 0x01, 0x22, 0x20, 0x21, 0x06, 0x20, 0xc8, 0xf7, + 0x56, 0xfc, 0xbf, 0xf7, 0x70, 0xfe, 0x03, 0x49, + 0x00, 0x20, 0x08, 0x60, 0x20, 0x21, 0x02, 0x48, + 0xbf, 0xf7, 0x63, 0xf9, 0x80, 0xbd, 0xcc, 0x5c, + 0x01, 0x00, 0x64, 0x6d, 0x01, 0x00, 0x3c, 0x00, + 0xe0, 0x11, 0x04, 0x00, 0x08, 0x48, 0x80, 0xb5, + 0x00, 0x68, 0x00, 0x28, 0x05, 0xd0, 0x06, 0x48, + 0x54, 0x30, 0x42, 0x6a, 0x00, 0x21, 0xbf, 0xf7, + 0xf3, 0xf8, 0x04, 0x4a, 0x04, 0x49, 0x03, 0x20, + 0xbf, 0xf7, 0xac, 0xfd, 0x80, 0xbd, 0x00, 0x00, + 0x50, 0x6d, 0x01, 0x00, 0x89, 0x98, 0x00, 0x00, + 0x91, 0x98, 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0x03, 0xf8, 0x00, 0xf0, 0x19, 0xf8, 0x80, 0xbd, + 0x3c, 0x00, 0x1c, 0x12, 0x04, 0x00, 0x10, 0xb5, + 0x09, 0x4c, 0x60, 0x21, 0x20, 0x1c, 0xbf, 0xf7, + 0x3a, 0xf9, 0x00, 0x20, 0xc0, 0x43, 0xa0, 0x60, + 0x20, 0x60, 0xff, 0x20, 0x02, 0x30, 0xe0, 0x84, + 0x20, 0x22, 0x20, 0x1c, 0x40, 0x30, 0x02, 0x49, + 0xbf, 0xf7, 0x5b, 0xf9, 0x10, 0xbd, 0x00, 0x10, + 0x07, 0x00, 0x70, 0x52, 0x01, 0x00, 0x00, 0x20, + 0x0a, 0x49, 0xc0, 0x43, 0x88, 0x60, 0x09, 0x4b, + 0x0a, 0x49, 0x3c, 0x00, 0x58, 0x12, 0x04, 0x00, + 0x00, 0x20, 0x82, 0x00, 0x01, 0x30, 0x00, 0x06, + 0x00, 0x0e, 0x20, 0x28, 0x99, 0x50, 0xf8, 0xd3, + 0x06, 0x49, 0x04, 0x4a, 0x08, 0x1c, 0x10, 0x30, + 0x08, 0x3a, 0x03, 0xc2, 0x70, 0x47, 0x00, 0x00, + 0x00, 0x10, 0x07, 0x00, 0xe0, 0x7e, 0x01, 0x00, + 0x75, 0x75, 0x00, 0x00, 0x00, 0xa0, 0x07, 0x00, + 0x04, 0x48, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x0e, 0xc0, 0x0c, 0x38, 0x3c, 0x00, 0x94, 0x12, + 0x04, 0x00, 0x01, 0x21, 0x41, 0x60, 0x70, 0x47, + 0x00, 0x00, 0x70, 0x78, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x03, 0x48, 0x00, 0x21, 0x00, 0x22, + 0x00, 0x23, 0x0e, 0xc0, 0x08, 0xc0, 0x70, 0x47, + 0x00, 0x00, 0x88, 0x5a, 0x01, 0x00, 0x04, 0x49, + 0x80, 0xb5, 0x00, 0x20, 0x48, 0x61, 0x02, 0x48, + 0x40, 0x21, 0x1c, 0x30, 0xbf, 0xf7, 0xe9, 0xf8, + 0x80, 0xbd, 0xfc, 0x5a, 0x01, 0x00, 0x3c, 0x00, + 0xd0, 0x12, 0x04, 0x00, 0x80, 0xb5, 0xce, 0xf7, + 0x3f, 0xf8, 0x03, 0x49, 0x88, 0x61, 0x03, 0x49, + 0x03, 0x20, 0xd1, 0xf7, 0x55, 0xf8, 0x80, 0xbd, + 0xfc, 0x5a, 0x01, 0x00, 0x0d, 0x17, 0x01, 0x00, + 0x80, 0xb5, 0xc0, 0xf7, 0xa5, 0xf9, 0x80, 0xbd, + 0xfe, 0xb5, 0x6c, 0x49, 0x00, 0x20, 0x00, 0x90, + 0xc8, 0x78, 0x6b, 0x4c, 0x6b, 0x4f, 0x43, 0x07, + 0xc0, 0x06, 0xc0, 0x17, 0xdb, 0x0e, 0xe3, 0x58, + 0x3c, 0x00, 0x0c, 0x13, 0x04, 0x00, 0x01, 0x30, + 0x38, 0x62, 0x3b, 0x61, 0x08, 0x1c, 0x80, 0x78, + 0x66, 0x4e, 0x03, 0x22, 0x41, 0x07, 0xa0, 0x36, + 0x02, 0x96, 0x49, 0x0f, 0x31, 0x72, 0x89, 0x00, + 0x61, 0x58, 0x3c, 0x1c, 0x61, 0x61, 0x01, 0x91, + 0xc0, 0x06, 0xc0, 0x0f, 0x78, 0x62, 0x20, 0x1c, + 0x00, 0x27, 0x87, 0x61, 0x00, 0x20, 0x21, 0x1c, + 0xc8, 0x61, 0x59, 0x48, 0x59, 0x49, 0x00, 0x78, + 0x09, 0x79, 0x3c, 0x00, 0x48, 0x13, 0x04, 0x00, + 0x5a, 0x4c, 0x4e, 0x07, 0x76, 0x0f, 0x71, 0x1c, + 0x8c, 0x46, 0xb1, 0x00, 0x8e, 0x46, 0x56, 0x49, + 0x80, 0x31, 0x00, 0x28, 0x24, 0xd0, 0x52, 0x4f, + 0x01, 0x28, 0x7f, 0x78, 0x1a, 0xd0, 0x02, 0x28, + 0x71, 0xd1, 0x4f, 0x48, 0x00, 0x2f, 0x0c, 0xd0, + 0x01, 0x2f, 0x6c, 0xd1, 0x40, 0x79, 0x4d, 0x4d, + 0x40, 0x07, 0x40, 0x0f, 0x82, 0x00, 0xaa, 0x58, + 0x4b, 0x4d, 0x01, 0x30, 0x3c, 0x00, 0x84, 0x13, + 0x04, 0x00, 0xea, 0x61, 0xa0, 0x73, 0x04, 0x22, + 0x4b, 0x48, 0x48, 0x4d, 0xc8, 0x61, 0x4a, 0x48, + 0x00, 0x2f, 0x00, 0xd0, 0x4a, 0x48, 0x2f, 0x1c, + 0x11, 0xe0, 0x42, 0x48, 0x00, 0x2f, 0x55, 0xd1, + 0x07, 0x70, 0x02, 0x27, 0x47, 0x70, 0x3f, 0x48, + 0x40, 0x78, 0x00, 0x28, 0x10, 0xd0, 0x01, 0x28, + 0x01, 0xd0, 0x02, 0x28, 0x4a, 0xd1, 0x3f, 0x48, + 0x3d, 0x4f, 0xc8, 0x61, 0x3f, 0x48, 0x3c, 0x00, + 0xc0, 0x13, 0x04, 0x00, 0x88, 0x61, 0x3a, 0x49, + 0x70, 0x46, 0x08, 0x58, 0x35, 0x1c, 0xb8, 0x61, + 0x60, 0x46, 0x60, 0x73, 0x04, 0xe0, 0x3c, 0x48, + 0x02, 0x22, 0x88, 0x61, 0x3b, 0x48, 0xc8, 0x61, + 0x00, 0x20, 0x32, 0x49, 0x06, 0xe0, 0x0e, 0x18, + 0xb6, 0x78, 0x76, 0x07, 0x76, 0x0f, 0x04, 0x2e, + 0x2f, 0xd8, 0x01, 0x30, 0x90, 0x42, 0xf6, 0xd3, + 0xc8, 0x79, 0x2e, 0x4f, 0xc0, 0x07, 0xc0, 0x0f, + 0x3c, 0x00, 0xfc, 0x13, 0x04, 0x00, 0xf8, 0x60, + 0x33, 0x48, 0x41, 0x68, 0x19, 0x43, 0x41, 0x60, + 0x81, 0x68, 0x19, 0x43, 0x81, 0x60, 0x01, 0x9a, + 0xb9, 0x69, 0x8c, 0x46, 0x11, 0x43, 0xfa, 0x69, + 0x86, 0x68, 0x11, 0x43, 0x8e, 0x43, 0x86, 0x60, + 0x46, 0x68, 0x31, 0x43, 0x41, 0x60, 0x01, 0x99, + 0x0b, 0x43, 0x18, 0x1c, 0x61, 0x46, 0x08, 0x43, + 0x10, 0x43, 0x01, 0x1c, 0x00, 0x22, 0x02, 0x20, + 0xc7, 0xf7, 0x3c, 0x00, 0x38, 0x14, 0x04, 0x00, + 0x03, 0xfa, 0x1e, 0x4e, 0x40, 0x3e, 0x70, 0x78, + 0xc0, 0x08, 0xc0, 0x00, 0x28, 0x43, 0x70, 0x70, + 0x70, 0x1c, 0x01, 0x78, 0x00, 0xe0, 0x29, 0xe0, + 0x08, 0x25, 0xa9, 0x43, 0x01, 0x70, 0x01, 0x20, + 0xc0, 0x43, 0xb0, 0x80, 0x00, 0x21, 0x01, 0x20, + 0xcf, 0xf7, 0x6c, 0xfc, 0x30, 0x1c, 0x80, 0x30, + 0x81, 0x78, 0x09, 0x09, 0x09, 0x01, 0x81, 0x70, + 0x0f, 0x21, 0x01, 0x70, 0x3c, 0x00, 0x74, 0x14, + 0x04, 0x00, 0x16, 0x4a, 0x69, 0x04, 0x11, 0x60, + 0x51, 0x60, 0x02, 0x9e, 0x10, 0x21, 0x32, 0x7a, + 0x7b, 0x6a, 0x00, 0x2b, 0x00, 0xd1, 0x00, 0x21, + 0x11, 0x43, 0x21, 0x73, 0x81, 0x78, 0x29, 0x43, + 0x81, 0x70, 0xe0, 0x78, 0x01, 0x21, 0x08, 0x43, + 0xe0, 0x70, 0xd2, 0xf7, 0xf2, 0xf9, 0x01, 0x20, + 0x00, 0x90, 0x00, 0x98, 0xfe, 0xbd, 0xc0, 0x57, + 0x01, 0x00, 0x6c, 0x43, 0x01, 0x00, 0x3c, 0x00, + 0xb0, 0x14, 0x04, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x40, 0x90, 0x07, 0x00, 0xc9, 0x1d, 0x00, 0x00, + 0x81, 0x1d, 0x00, 0x00, 0xa5, 0x1d, 0x00, 0x00, + 0x99, 0x1d, 0x00, 0x00, 0xf1, 0x1d, 0x00, 0x00, + 0x10, 0x00, 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x03, 0x49, 0x00, 0x20, 0x88, 0x62, 0x08, 0x70, + 0x48, 0x70, 0x08, 0x71, 0x08, 0x62, 0x70, 0x47, + 0xac, 0x7e, 0x01, 0x00, 0x80, 0xb5, 0x01, 0x21, + 0x3c, 0x00, 0xec, 0x14, 0x04, 0x00, 0x00, 0x20, + 0xcd, 0xf7, 0x69, 0xff, 0x80, 0xbd, 0xb0, 0xb5, + 0x0f, 0x48, 0xc0, 0xf7, 0x18, 0xfc, 0x0e, 0x4d, + 0x03, 0x20, 0x28, 0x70, 0x0d, 0x49, 0x0d, 0x48, + 0x0c, 0x39, 0x48, 0x60, 0x0d, 0x48, 0x0a, 0x4c, + 0x88, 0x60, 0x40, 0x21, 0x18, 0x34, 0x20, 0x1c, + 0xbe, 0xf7, 0xc1, 0xff, 0xff, 0x21, 0x68, 0x68, + 0x09, 0x06, 0x08, 0x43, 0x20, 0x60, 0xff, 0x21, + 0x06, 0x22, 0x3c, 0x00, 0x28, 0x15, 0x04, 0x00, + 0x20, 0x1d, 0xbf, 0xf7, 0x79, 0xf8, 0x01, 0x20, + 0xe0, 0x60, 0xb0, 0xbd, 0xc0, 0xa8, 0x13, 0x0a, + 0x20, 0x6e, 0x01, 0x00, 0xc0, 0xa8, 0x13, 0x01, + 0xff, 0xff, 0xff, 0x00, 0x80, 0xb5, 0x02, 0x49, + 0x01, 0x20, 0xc8, 0xf7, 0x45, 0xff, 0x80, 0xbd, + 0x9d, 0x1c, 0x00, 0x00, 0x98, 0xb5, 0x0c, 0x4c, + 0x00, 0x20, 0x60, 0x60, 0xe0, 0x60, 0x0b, 0x4b, + 0x0b, 0x49, 0x82, 0x00, 0x3c, 0x00, 0x64, 0x15, + 0x04, 0x00, 0x01, 0x30, 0x20, 0x28, 0x99, 0x50, + 0xfa, 0xdb, 0x6a, 0x46, 0x09, 0x49, 0x05, 0x20, + 0xbf, 0xf7, 0x2f, 0xfd, 0x00, 0x20, 0xc0, 0x43, + 0x20, 0x60, 0x06, 0x49, 0x20, 0x20, 0x08, 0x60, + 0x48, 0x60, 0x98, 0xbd, 0x00, 0x00, 0x00, 0x40, + 0x07, 0x00, 0x30, 0x74, 0x01, 0x00, 0xa9, 0x75, + 0x00, 0x00, 0xb5, 0x9f, 0x00, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x05, 0x49, 0x00, 0x20, 0x3c, 0x00, + 0xa0, 0x15, 0x04, 0x00, 0x08, 0x60, 0x05, 0x48, + 0x81, 0x78, 0x28, 0x22, 0x91, 0x43, 0x81, 0x70, + 0x81, 0x78, 0x11, 0x43, 0x81, 0x70, 0x70, 0x47, + 0x78, 0x6e, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x41, 0x48, 0x10, 0xb5, + 0x00, 0x68, 0x02, 0x21, 0x88, 0x43, 0x3f, 0x49, + 0x08, 0x60, 0x08, 0x1c, 0x00, 0x68, 0x02, 0x21, + 0x08, 0x43, 0x3c, 0x49, 0x08, 0x60, 0x3c, 0x48, + 0x3c, 0x00, 0xdc, 0x15, 0x04, 0x00, 0x40, 0x68, + 0x80, 0x21, 0x88, 0x43, 0x3a, 0x49, 0x48, 0x60, + 0x08, 0x1c, 0x00, 0x68, 0x80, 0x21, 0x08, 0x43, + 0x37, 0x49, 0x08, 0x60, 0x37, 0x48, 0x01, 0x7a, + 0x01, 0x24, 0x21, 0x43, 0x01, 0x72, 0x01, 0x7a, + 0x02, 0x22, 0x11, 0x43, 0x01, 0x72, 0x01, 0x7a, + 0x04, 0x22, 0x91, 0x43, 0x01, 0x72, 0x01, 0x7a, + 0x08, 0x22, 0x11, 0x43, 0x01, 0x72, 0x01, 0x7b, + 0x21, 0x43, 0x3c, 0x00, 0x18, 0x16, 0x04, 0x00, + 0x01, 0x73, 0x01, 0x7b, 0x02, 0x22, 0x11, 0x43, + 0x01, 0x73, 0x01, 0x7b, 0x04, 0x22, 0x11, 0x43, + 0x01, 0x73, 0x01, 0x7b, 0x08, 0x22, 0x11, 0x43, + 0x01, 0x73, 0x2e, 0x21, 0x41, 0x73, 0x81, 0x7b, + 0x38, 0x22, 0x91, 0x43, 0x28, 0x31, 0x81, 0x73, + 0x20, 0x21, 0x41, 0x74, 0x81, 0x7b, 0xc9, 0x08, + 0xc9, 0x00, 0x03, 0x31, 0x81, 0x73, 0x22, 0x21, + 0xc1, 0x73, 0x20, 0x49, 0x3c, 0x00, 0x54, 0x16, + 0x04, 0x00, 0x09, 0x7a, 0x41, 0x72, 0x1e, 0x49, + 0x49, 0x7a, 0x01, 0x74, 0x3c, 0x22, 0x02, 0x77, + 0x01, 0x1c, 0x10, 0x31, 0x4a, 0x73, 0x50, 0x23, + 0x8b, 0x73, 0x5a, 0x23, 0xcb, 0x73, 0x0d, 0x23, + 0x01, 0x1c, 0x20, 0x31, 0x0b, 0x70, 0x17, 0x4b, + 0x43, 0x84, 0x0e, 0x23, 0x4b, 0x70, 0x00, 0x21, + 0x41, 0x82, 0x30, 0x21, 0x01, 0x70, 0x05, 0x21, + 0x41, 0x70, 0x04, 0x21, 0x41, 0x71, 0x3c, 0x00, + 0x90, 0x16, 0x04, 0x00, 0x84, 0x71, 0xc4, 0x71, + 0x0c, 0x21, 0x01, 0x71, 0xf8, 0x21, 0x41, 0x80, + 0x0f, 0x49, 0xca, 0x72, 0x8a, 0x72, 0x03, 0x22, + 0x0a, 0x72, 0x09, 0x22, 0x4a, 0x72, 0x08, 0x22, + 0x0a, 0x73, 0x02, 0x7a, 0x40, 0x23, 0x1a, 0x43, + 0x02, 0x72, 0x4c, 0x73, 0xff, 0xf7, 0xa2, 0xfc, + 0x08, 0x48, 0x01, 0x78, 0x21, 0x43, 0x01, 0x70, + 0x10, 0xbd, 0x00, 0x00, 0xf0, 0x00, 0x07, 0x00, + 0x3c, 0x00, 0xcc, 0x16, 0x04, 0x00, 0xf4, 0x00, + 0x07, 0x00, 0x0c, 0x80, 0x07, 0x00, 0x76, 0x46, + 0x01, 0x00, 0x24, 0x09, 0x00, 0x00, 0x80, 0x80, + 0x07, 0x00, 0xa0, 0x80, 0x07, 0x00, 0x80, 0xb5, + 0x18, 0x21, 0x09, 0x48, 0xbe, 0xf7, 0xd7, 0xfe, + 0x08, 0x48, 0x00, 0x21, 0x3c, 0x38, 0x41, 0x60, + 0x81, 0x60, 0xc1, 0x60, 0x01, 0x61, 0x41, 0x61, + 0x81, 0x61, 0x01, 0x21, 0x01, 0x62, 0xff, 0xf7, + 0x5c, 0xff, 0x3c, 0x00, 0x08, 0x17, 0x04, 0x00, + 0xc0, 0xf7, 0x6c, 0xff, 0x80, 0xbd, 0x00, 0x00, + 0x24, 0x7e, 0x01, 0x00, 0xb0, 0xb5, 0x21, 0x48, + 0x00, 0x68, 0x40, 0x08, 0x1f, 0x49, 0x40, 0x00, + 0x08, 0x60, 0x08, 0x1c, 0x00, 0x68, 0x01, 0x21, + 0x08, 0x43, 0x1c, 0x49, 0x08, 0x60, 0x1c, 0x4a, + 0x10, 0x79, 0x01, 0x21, 0x08, 0x43, 0x10, 0x71, + 0x10, 0x79, 0x02, 0x21, 0x88, 0x43, 0x10, 0x71, + 0x00, 0xf0, 0x6c, 0xf8, 0x3c, 0x00, 0x44, 0x17, + 0x04, 0x00, 0x10, 0x7a, 0x01, 0x21, 0x08, 0x43, + 0x10, 0x72, 0x10, 0x7a, 0xfe, 0x21, 0x88, 0x43, + 0x0a, 0x30, 0x10, 0x72, 0x28, 0x20, 0x90, 0x72, + 0x5a, 0x20, 0xd0, 0x72, 0x11, 0x4d, 0x14, 0x20, + 0x28, 0x77, 0x2c, 0x1c, 0x10, 0x34, 0xa0, 0x73, + 0x16, 0x20, 0xa8, 0x75, 0x18, 0x20, 0xe8, 0x75, + 0xff, 0xf7, 0xa1, 0xfc, 0x0c, 0x48, 0x68, 0x86, + 0xe0, 0x7b, 0x40, 0x06, 0x40, 0x0e, 0x3c, 0x00, + 0x80, 0x17, 0x04, 0x00, 0x0e, 0x21, 0x08, 0x43, + 0xe0, 0x73, 0xe0, 0x7b, 0x80, 0x21, 0x08, 0x43, + 0xe0, 0x73, 0x07, 0x48, 0x41, 0x79, 0x04, 0x22, + 0x11, 0x43, 0x41, 0x71, 0xb0, 0xbd, 0x00, 0x00, + 0xf0, 0x00, 0x07, 0x00, 0x00, 0x80, 0x07, 0x00, + 0x30, 0x80, 0x07, 0x00, 0xff, 0x01, 0x00, 0x00, + 0x50, 0x00, 0x07, 0x00, 0x80, 0xb5, 0xff, 0xf7, + 0xaf, 0xff, 0x00, 0x20, 0x14, 0x49, 0xc0, 0x43, + 0x3c, 0x00, 0xbc, 0x17, 0x04, 0x00, 0x88, 0x60, + 0xc1, 0xf7, 0x0b, 0xf9, 0x13, 0x49, 0x00, 0x20, + 0x48, 0x62, 0xc8, 0x60, 0x48, 0x61, 0x08, 0x61, + 0x88, 0x61, 0xc8, 0x61, 0x0f, 0x4b, 0x08, 0x62, + 0x0f, 0x4a, 0x08, 0x63, 0x38, 0x33, 0x1a, 0x80, + 0x01, 0x22, 0x5a, 0x71, 0x0b, 0x4a, 0x40, 0x32, + 0xd0, 0x60, 0x13, 0x60, 0x08, 0x23, 0x13, 0x81, + 0x50, 0x60, 0x09, 0x4a, 0x8a, 0x62, 0xff, 0x22, + 0x0a, 0x70, 0x3c, 0x00, 0xf8, 0x17, 0x04, 0x00, + 0x48, 0x70, 0x05, 0x48, 0x00, 0x21, 0x00, 0x22, + 0x50, 0x30, 0x00, 0x23, 0x0e, 0xc0, 0xc1, 0xf7, + 0xff, 0xf8, 0x80, 0xbd, 0x00, 0x30, 0x07, 0x00, + 0x04, 0x6c, 0x01, 0x00, 0xbe, 0xba, 0x00, 0x00, + 0x85, 0x75, 0x00, 0x00, 0x03, 0x48, 0x10, 0x21, + 0x81, 0x71, 0x02, 0x21, 0xc1, 0x71, 0x30, 0x21, + 0x41, 0x72, 0x70, 0x47, 0x00, 0x80, 0x07, 0x00, + 0x70, 0x47, 0x00, 0x00, 0x3c, 0x00, 0x34, 0x18, + 0x04, 0x00, 0x00, 0xb5, 0xc1, 0xf7, 0xdb, 0xfb, + 0x00, 0xbd, 0x70, 0x47, 0x00, 0x00, 0x80, 0xb5, + 0xcd, 0xf7, 0x87, 0xfd, 0x01, 0x49, 0x88, 0x60, + 0x80, 0xbd, 0x50, 0xd9, 0x01, 0x00, 0x80, 0xb5, + 0x06, 0x21, 0x05, 0x48, 0xbe, 0xf7, 0xfd, 0xfd, + 0x04, 0x49, 0x00, 0x20, 0x04, 0x39, 0x08, 0x60, + 0x00, 0xf0, 0x67, 0xf8, 0x00, 0xf0, 0x03, 0xf8, + 0x80, 0xbd, 0xec, 0x67, 0x01, 0x00, 0x3c, 0x00, + 0x70, 0x18, 0x04, 0x00, 0x10, 0xb5, 0x07, 0x4c, + 0x2c, 0x21, 0x20, 0x1c, 0xbe, 0xf7, 0x10, 0xfe, + 0x01, 0x20, 0x20, 0x70, 0x03, 0x49, 0x00, 0x20, + 0x1c, 0x39, 0xc8, 0x60, 0x08, 0x61, 0x88, 0x61, + 0x10, 0xbd, 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, + 0x80, 0xb5, 0xcd, 0xf7, 0x5d, 0xfd, 0x09, 0x49, + 0x88, 0x60, 0x09, 0x49, 0x08, 0x20, 0xd0, 0xf7, + 0x73, 0xfd, 0x08, 0x49, 0x09, 0x20, 0xd0, 0xf7, + 0x3c, 0x00, 0xac, 0x18, 0x04, 0x00, 0x6f, 0xfd, + 0x07, 0x49, 0x11, 0x20, 0xd0, 0xf7, 0x6b, 0xfd, + 0x06, 0x48, 0xc2, 0xf7, 0x74, 0xf9, 0x80, 0xbd, + 0x00, 0x00, 0x78, 0x69, 0x01, 0x00, 0x21, 0x35, + 0x00, 0x00, 0xa1, 0x38, 0x00, 0x00, 0x45, 0x34, + 0x00, 0x00, 0xbd, 0x26, 0x01, 0x00, 0x80, 0xb5, + 0x86, 0xb0, 0x0f, 0x48, 0xc4, 0xf7, 0x45, 0xf9, + 0x00, 0xf0, 0x45, 0xf8, 0xff, 0xf7, 0xd7, 0xff, + 0xff, 0xf7, 0x3c, 0x00, 0xe8, 0x18, 0x04, 0x00, + 0xab, 0xff, 0x0c, 0x49, 0x03, 0x20, 0xd0, 0xf7, + 0x4d, 0xfd, 0x0b, 0x48, 0x69, 0x46, 0x00, 0x90, + 0x00, 0x20, 0x01, 0x90, 0x09, 0x48, 0x04, 0x90, + 0x09, 0x48, 0x02, 0x90, 0x09, 0x48, 0x03, 0x90, + 0x09, 0x48, 0x05, 0x90, 0x00, 0x20, 0xc4, 0xf7, + 0xcf, 0xf8, 0x06, 0xb0, 0x80, 0xbd, 0x00, 0x00, + 0xf4, 0x67, 0x01, 0x00, 0x45, 0x35, 0x00, 0x00, + 0x95, 0x32, 0x00, 0x00, 0x3c, 0x00, 0x24, 0x19, + 0x04, 0x00, 0xa0, 0x7d, 0x01, 0x00, 0xfd, 0x32, + 0x00, 0x00, 0xcd, 0x31, 0x00, 0x00, 0x45, 0x7d, + 0x01, 0x00, 0x10, 0xb5, 0xcd, 0xf7, 0xd5, 0xfc, + 0x09, 0x48, 0x09, 0x4c, 0x30, 0x21, 0x60, 0x61, + 0x08, 0x48, 0x74, 0x30, 0xbe, 0xf7, 0xa9, 0xfd, + 0x00, 0x20, 0xa0, 0x62, 0x06, 0x49, 0x20, 0x61, + 0xe1, 0x63, 0x60, 0x64, 0xa0, 0x64, 0x14, 0x21, + 0x21, 0x65, 0x60, 0x62, 0x10, 0xbd, 0x3c, 0x00, + 0x60, 0x19, 0x04, 0x00, 0xb9, 0x75, 0x00, 0x00, + 0x44, 0x7d, 0x01, 0x00, 0x70, 0x17, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x09, 0x20, 0x04, 0x4a, + 0xd1, 0xf7, 0xe8, 0xfe, 0xcd, 0xf7, 0xec, 0xfc, + 0x02, 0x49, 0x08, 0x63, 0x80, 0xbd, 0x00, 0x00, + 0x39, 0x39, 0x00, 0x00, 0x44, 0x7d, 0x01, 0x00, + 0x80, 0xb5, 0xac, 0x21, 0x03, 0x48, 0xbe, 0xf7, + 0x83, 0xfd, 0x00, 0xf0, 0x51, 0xf8, 0x00, 0xf0, + 0x3c, 0x00, 0x9c, 0x19, 0x04, 0x00, 0x49, 0xf8, + 0x80, 0xbd, 0xa4, 0x6c, 0x01, 0x00, 0x08, 0xb5, + 0x00, 0xf0, 0x4d, 0xf8, 0x00, 0xf0, 0x45, 0xf8, + 0x00, 0x21, 0x16, 0x20, 0x18, 0x4a, 0xd1, 0xf7, + 0xc8, 0xfe, 0x17, 0x4a, 0x04, 0x21, 0x10, 0x1c, + 0x40, 0x30, 0x01, 0x70, 0x00, 0x21, 0x81, 0x70, + 0x11, 0x21, 0xc1, 0x80, 0x14, 0x49, 0x01, 0x81, + 0x10, 0x1c, 0x80, 0x30, 0xc1, 0x78, 0x08, 0x22, + 0x91, 0x43, 0x3c, 0x00, 0xd8, 0x19, 0x04, 0x00, + 0xc1, 0x70, 0xc1, 0x78, 0x11, 0x43, 0xc1, 0x70, + 0x6a, 0x46, 0x0f, 0x49, 0x14, 0x20, 0xbf, 0xf7, + 0xf5, 0xfa, 0x0e, 0x49, 0x07, 0x20, 0xd0, 0xf7, + 0xcd, 0xfc, 0x0d, 0x49, 0x0f, 0x20, 0xd0, 0xf7, + 0xc9, 0xfc, 0xcd, 0xf7, 0xab, 0xfc, 0x0b, 0x49, + 0x08, 0x60, 0x0a, 0x48, 0x44, 0x38, 0x80, 0x68, + 0x00, 0x28, 0x02, 0xd0, 0x00, 0x20, 0xc6, 0xf7, + 0x6f, 0xf9, 0x08, 0xbd, 0x3c, 0x00, 0x14, 0x1a, + 0x04, 0x00, 0xb5, 0x3b, 0x00, 0x00, 0x00, 0x90, + 0x07, 0x00, 0xe7, 0xfd, 0x00, 0x00, 0x8d, 0x41, + 0x00, 0x00, 0xcd, 0x48, 0x00, 0x00, 0xd9, 0x49, + 0x00, 0x00, 0xa4, 0x6c, 0x01, 0x00, 0x80, 0xb5, + 0x00, 0xf0, 0x6f, 0xfc, 0x80, 0xbd, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, 0x61, 0xfc, + 0x80, 0xbd, 0x70, 0x47, 0x00, 0x00, 0xb0, 0xb5, + 0x30, 0x21, 0x0c, 0x48, 0xbe, 0xf7, 0x3c, 0x00, + 0x50, 0x1a, 0x04, 0x00, 0x25, 0xfd, 0x0b, 0x4c, + 0x00, 0x25, 0x0a, 0x48, 0x84, 0x3c, 0x38, 0x22, + 0x03, 0x21, 0x70, 0x38, 0x65, 0x60, 0xbe, 0xf7, + 0xdd, 0xfd, 0x06, 0x48, 0x38, 0x22, 0x01, 0x21, + 0x38, 0x38, 0xbe, 0xf7, 0xd7, 0xfd, 0x0e, 0x20, + 0xa5, 0x60, 0x60, 0x70, 0x20, 0x70, 0x00, 0xf0, + 0x1d, 0xf8, 0xb0, 0xbd, 0x94, 0x67, 0x01, 0x00, + 0x04, 0x49, 0x00, 0xb5, 0x01, 0x20, 0x48, 0x60, + 0x3c, 0x00, 0x8c, 0x1a, 0x04, 0x00, 0x88, 0x60, + 0xc8, 0x60, 0xc3, 0xf7, 0xf8, 0xff, 0x00, 0xbd, + 0x00, 0x00, 0xd4, 0x67, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x21, 0x0a, 0x20, 0x02, 0x4a, 0xd1, 0xf7, + 0x50, 0xfe, 0x80, 0xbd, 0x00, 0x00, 0x1d, 0x5a, + 0x00, 0x00, 0x80, 0xb5, 0x00, 0xf0, 0x05, 0xf8, + 0x80, 0xbd, 0x80, 0xb5, 0x00, 0xf0, 0xfd, 0xfb, + 0x80, 0xbd, 0x80, 0xb5, 0x02, 0x49, 0x04, 0x20, + 0xd0, 0xf7, 0x3c, 0x00, 0xc8, 0x1a, 0x04, 0x00, + 0x61, 0xfc, 0x80, 0xbd, 0x65, 0x1f, 0x00, 0x00, + 0x00, 0x21, 0x17, 0x48, 0xc9, 0x43, 0x80, 0xb5, + 0x16, 0x4b, 0x01, 0x70, 0x18, 0x1c, 0x10, 0x22, + 0x20, 0x30, 0x02, 0x71, 0x00, 0x22, 0x10, 0x33, + 0x9a, 0x73, 0x42, 0x79, 0x04, 0x23, 0x1a, 0x43, + 0x42, 0x71, 0x42, 0x79, 0x18, 0x23, 0x9a, 0x43, + 0x08, 0x32, 0x42, 0x71, 0x08, 0x1c, 0xd7, 0xf7, + 0x59, 0xf8, 0x00, 0x28, 0x3c, 0x00, 0x04, 0x1b, + 0x04, 0x00, 0x03, 0xd1, 0x01, 0x21, 0x9a, 0x20, + 0xbf, 0xf7, 0xcb, 0xfb, 0x50, 0x20, 0x09, 0x49, + 0x50, 0x22, 0x0a, 0x60, 0xc8, 0x60, 0x88, 0x60, + 0x48, 0x60, 0x08, 0x61, 0x01, 0x20, 0x48, 0x61, + 0x00, 0x20, 0xd7, 0xf7, 0xd8, 0xf8, 0x04, 0x49, + 0xff, 0x20, 0x08, 0x60, 0x80, 0xbd, 0xf4, 0x6b, + 0x01, 0x00, 0x30, 0x00, 0x07, 0x00, 0x04, 0x02, + 0x07, 0x00, 0xf4, 0x74, 0x01, 0x00, 0x3c, 0x00, + 0x40, 0x1b, 0x04, 0x00, 0x80, 0xb5, 0xd7, 0xf7, + 0xfb, 0xf8, 0x80, 0xbd, 0x10, 0xb5, 0xff, 0xf7, + 0xab, 0xfb, 0xbf, 0xf7, 0xdd, 0xfb, 0x81, 0x48, + 0xcd, 0xf7, 0x98, 0xfa, 0x00, 0x24, 0x23, 0x1c, + 0x04, 0x22, 0x04, 0x21, 0x00, 0x20, 0x01, 0xf0, + 0x39, 0xfa, 0x00, 0x28, 0x01, 0xd0, 0xbf, 0xf7, + 0xc9, 0xfb, 0x23, 0x1c, 0x00, 0x22, 0xff, 0x21, + 0x00, 0x20, 0x01, 0xf0, 0x2f, 0xfa, 0x00, 0x28, + 0x3c, 0x00, 0x7c, 0x1b, 0x04, 0x00, 0x01, 0xd0, + 0xbf, 0xf7, 0xbf, 0xfb, 0x23, 0x1c, 0x00, 0x22, + 0xff, 0x21, 0x00, 0x20, 0x01, 0xf0, 0x25, 0xfa, + 0x00, 0x28, 0x01, 0xd0, 0xbf, 0xf7, 0xb5, 0xfb, + 0xc4, 0xf7, 0x27, 0xff, 0x70, 0x48, 0x84, 0x70, + 0x6f, 0x49, 0x7f, 0x20, 0x88, 0x70, 0x6e, 0x49, + 0x0c, 0x60, 0x03, 0x20, 0x08, 0x60, 0x6b, 0x48, + 0x44, 0x70, 0x6c, 0x48, 0x04, 0x80, 0x69, 0x48, + 0xc0, 0x78, 0x3c, 0x00, 0xb8, 0x1b, 0x04, 0x00, + 0x08, 0x21, 0x08, 0x43, 0x67, 0x49, 0xc8, 0x70, + 0x08, 0x1c, 0xc0, 0x78, 0x04, 0x21, 0x08, 0x43, + 0x64, 0x49, 0xc8, 0x70, 0x01, 0xf0, 0x7e, 0xfa, + 0xff, 0xf7, 0x7e, 0xff, 0xff, 0xf7, 0x2c, 0xfe, + 0x01, 0xf0, 0x46, 0xfb, 0xff, 0xf7, 0x18, 0xfb, + 0x01, 0xf0, 0x52, 0xfa, 0xff, 0xf7, 0x82, 0xfb, + 0x5f, 0x48, 0xc1, 0x68, 0x10, 0x22, 0x91, 0x43, + 0xc1, 0x60, 0x01, 0x69, 0x3c, 0x00, 0xf4, 0x1b, + 0x04, 0x00, 0x5d, 0x4a, 0x11, 0x43, 0x01, 0x61, + 0x01, 0x69, 0xd2, 0x0a, 0x91, 0x43, 0x01, 0x61, + 0xc1, 0x68, 0x5a, 0x4a, 0x11, 0x43, 0xc1, 0x60, + 0x81, 0x6a, 0x59, 0x4a, 0x11, 0x43, 0x81, 0x62, + 0x00, 0xf0, 0x77, 0xf9, 0x01, 0xf0, 0x1f, 0xf8, + 0x00, 0xf0, 0x93, 0xfa, 0x01, 0xf0, 0x99, 0xfb, + 0x00, 0xf0, 0xf1, 0xff, 0x00, 0xf0, 0x99, 0xfc, + 0x00, 0xf0, 0xdd, 0xfc, 0x00, 0xf0, 0x3c, 0x00, + 0x30, 0x1c, 0x04, 0x00, 0x83, 0xfc, 0xff, 0xf7, + 0xb3, 0xfc, 0x01, 0xf0, 0x31, 0xfa, 0x01, 0xf0, + 0x71, 0xfa, 0xff, 0xf7, 0x87, 0xfa, 0xff, 0xf7, + 0x9b, 0xfa, 0x01, 0x21, 0x01, 0x20, 0x4b, 0x4a, + 0xd1, 0xf7, 0x7c, 0xfd, 0x01, 0x21, 0x02, 0x20, + 0x49, 0x4a, 0xd1, 0xf7, 0x77, 0xfd, 0x02, 0x21, + 0x03, 0x20, 0x48, 0x4a, 0xd1, 0xf7, 0x72, 0xfd, + 0x02, 0x21, 0x04, 0x20, 0x46, 0x4a, 0xd1, 0xf7, + 0x3c, 0x00, 0x6c, 0x1c, 0x04, 0x00, 0x6d, 0xfd, + 0x02, 0x21, 0x05, 0x20, 0x45, 0x4a, 0xd1, 0xf7, + 0x68, 0xfd, 0x02, 0x21, 0x06, 0x20, 0x43, 0x4a, + 0xd1, 0xf7, 0x63, 0xfd, 0x01, 0x21, 0x07, 0x20, + 0x42, 0x4a, 0xd1, 0xf7, 0x5e, 0xfd, 0x02, 0x21, + 0x17, 0x20, 0x40, 0x4a, 0xd1, 0xf7, 0x59, 0xfd, + 0x02, 0x21, 0x08, 0x20, 0x3f, 0x4a, 0xd1, 0xf7, + 0x54, 0xfd, 0xff, 0xf7, 0xc8, 0xfd, 0x3d, 0x48, + 0x04, 0x60, 0x3c, 0x00, 0xa8, 0x1c, 0x04, 0x00, + 0x44, 0x60, 0xff, 0xf7, 0x17, 0xfa, 0xff, 0xf7, + 0x09, 0xfa, 0xff, 0xf7, 0x4f, 0xfc, 0x00, 0xf0, + 0x43, 0xf9, 0xff, 0xf7, 0x33, 0xfa, 0xff, 0xf7, + 0xfb, 0xfa, 0x01, 0xf0, 0x85, 0xf8, 0x01, 0xf0, + 0xeb, 0xf9, 0x01, 0xf0, 0x23, 0xfa, 0x01, 0xf0, + 0x71, 0xf9, 0x00, 0xf0, 0xe3, 0xff, 0xff, 0xf7, + 0x6f, 0xfa, 0x00, 0xf0, 0xaf, 0xf9, 0x00, 0xf0, + 0xbd, 0xf9, 0x00, 0xf0, 0x3c, 0x00, 0xe4, 0x1c, + 0x04, 0x00, 0xad, 0xfc, 0x00, 0xf0, 0x9b, 0xfe, + 0xff, 0xf7, 0xcd, 0xfa, 0xff, 0xf7, 0xab, 0xfe, + 0x00, 0xf0, 0xc3, 0xf9, 0xff, 0xf7, 0xab, 0xfd, + 0x00, 0xf0, 0x8d, 0xff, 0x00, 0xf0, 0x21, 0xff, + 0x00, 0xf0, 0x65, 0xf9, 0x00, 0xf0, 0x97, 0xf9, + 0x00, 0xf0, 0xfd, 0xfe, 0x00, 0xf0, 0xe5, 0xfe, + 0x00, 0xf0, 0x3f, 0xf9, 0x00, 0xf0, 0x73, 0xf9, + 0xff, 0xf7, 0x37, 0xfe, 0x00, 0xf0, 0x3c, 0x00, + 0x20, 0x1d, 0x04, 0x00, 0x21, 0xf9, 0x00, 0xf0, + 0x73, 0xfb, 0xff, 0xf7, 0xe5, 0xfb, 0x00, 0xf0, + 0xd3, 0xfb, 0xff, 0xf7, 0xa9, 0xfe, 0x00, 0xf0, + 0xbb, 0xfb, 0x00, 0xf0, 0x09, 0xff, 0x00, 0xf0, + 0xdb, 0xf9, 0x18, 0x48, 0xc9, 0xf7, 0x56, 0xf8, + 0x17, 0x48, 0xc9, 0xf7, 0x2b, 0xf8, 0x00, 0x22, + 0x01, 0x21, 0xf0, 0x20, 0xd1, 0xf7, 0x2e, 0xfd, + 0x00, 0x20, 0x10, 0xbd, 0xa9, 0x69, 0x00, 0x00, + 0x3c, 0x00, 0x5c, 0x1d, 0x04, 0x00, 0x00, 0x00, + 0x07, 0x00, 0xf0, 0x00, 0x07, 0x00, 0x2c, 0x00, + 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, 0x3c, 0x00, + 0x08, 0x00, 0xc0, 0x3f, 0x74, 0x38, 0xfc, 0xdf, + 0x7f, 0x38, 0x55, 0x69, 0x00, 0x00, 0xe5, 0x13, + 0x00, 0x00, 0x61, 0x0c, 0x00, 0x00, 0x6d, 0x0c, + 0x00, 0x00, 0x3d, 0x0c, 0x00, 0x00, 0xf1, 0x0d, + 0x00, 0x00, 0xc5, 0x33, 0x00, 0x00, 0x3d, 0x0f, + 0x00, 0x00, 0x3c, 0x00, 0x98, 0x1d, 0x04, 0x00, + 0xad, 0xd8, 0x00, 0x00, 0x80, 0x00, 0x07, 0x00, + 0x50, 0x57, 0x01, 0x00, 0x04, 0x40, 0x01, 0x00, + 0x80, 0xb5, 0x01, 0xf0, 0xa9, 0xf9, 0x00, 0xf0, + 0xc9, 0xf8, 0xff, 0xf7, 0xc5, 0xfe, 0x01, 0xf0, + 0x03, 0xfb, 0x01, 0xf0, 0x93, 0xfa, 0xff, 0xf7, + 0xcb, 0xf9, 0x2c, 0x48, 0xff, 0xf7, 0xe8, 0xf9, + 0x00, 0xf0, 0xaa, 0xf8, 0x00, 0xf0, 0x58, 0xff, + 0xff, 0xf7, 0x34, 0xfd, 0x3c, 0x00, 0xd4, 0x1d, + 0x04, 0x00, 0xff, 0xf7, 0xf2, 0xfb, 0xff, 0xf7, + 0x7a, 0xfa, 0xff, 0xf7, 0x00, 0xfa, 0x00, 0xf0, + 0x34, 0xf9, 0x00, 0xf0, 0x3c, 0xf9, 0x01, 0xf0, + 0xe2, 0xf8, 0xff, 0xf7, 0x7a, 0xf9, 0xff, 0xf7, + 0x72, 0xf9, 0xff, 0xf7, 0x9a, 0xf9, 0x01, 0xf0, + 0x66, 0xf9, 0x01, 0xf0, 0x8e, 0xf9, 0x01, 0xf0, + 0xe0, 0xf8, 0x00, 0xf0, 0x06, 0xff, 0x00, 0xf0, + 0xf0, 0xfb, 0x00, 0xf0, 0x46, 0xfb, 0x3c, 0x00, + 0x10, 0x1e, 0x04, 0x00, 0x00, 0xf0, 0xbc, 0xff, + 0x00, 0xf0, 0xe4, 0xfc, 0x00, 0xf0, 0x20, 0xfe, + 0xff, 0xf7, 0x40, 0xfa, 0xff, 0xf7, 0x46, 0xfe, + 0xff, 0xf7, 0x56, 0xfd, 0x00, 0xf0, 0x2c, 0xf9, + 0x00, 0xf0, 0xfa, 0xfe, 0x00, 0xf0, 0x8a, 0xfe, + 0x00, 0xf0, 0xd4, 0xf8, 0x00, 0xf0, 0xb4, 0xf8, + 0x00, 0xf0, 0x78, 0xfe, 0x00, 0xf0, 0x4e, 0xfe, + 0x00, 0xf0, 0xde, 0xf8, 0xff, 0xf7, 0xac, 0xfd, + 0x3c, 0x00, 0x4c, 0x1e, 0x04, 0x00, 0x00, 0xf0, + 0x8c, 0xf8, 0x00, 0xf0, 0xf8, 0xfa, 0xff, 0xf7, + 0x76, 0xfb, 0xff, 0xf7, 0x20, 0xfe, 0x01, 0xf0, + 0xa6, 0xfa, 0x00, 0xf0, 0x48, 0xfb, 0x00, 0xf0, + 0x7c, 0xfe, 0x00, 0xf0, 0x5c, 0xf9, 0xbe, 0xf7, + 0x57, 0xfd, 0x00, 0x20, 0x80, 0xbd, 0x80, 0x38, + 0x01, 0x00, 0x01, 0x49, 0x00, 0x20, 0x08, 0x60, + 0x70, 0x47, 0xa8, 0x7e, 0x01, 0x00, 0x10, 0xb5, + 0x04, 0x1c, 0x3c, 0x00, 0x88, 0x1e, 0x04, 0x00, + 0x01, 0xd1, 0xbf, 0xf7, 0x39, 0xfa, 0x0f, 0x48, + 0x7d, 0x21, 0xc9, 0x00, 0x84, 0x60, 0x01, 0x80, + 0x0d, 0x49, 0x01, 0x61, 0x80, 0x21, 0x41, 0x80, + 0x00, 0x21, 0xc1, 0x60, 0x01, 0x62, 0x0b, 0x48, + 0x41, 0x80, 0x14, 0x21, 0x81, 0x80, 0x07, 0x21, + 0x41, 0x81, 0x06, 0x4a, 0x46, 0x23, 0x04, 0x32, + 0x05, 0x24, 0x13, 0x70, 0x54, 0x70, 0x0a, 0x21, + 0x91, 0x70, 0x81, 0x76, 0x3c, 0x00, 0xc4, 0x1e, + 0x04, 0x00, 0x03, 0x76, 0x04, 0x81, 0x10, 0xbd, + 0x00, 0x00, 0xc8, 0x74, 0x01, 0x00, 0x00, 0x87, + 0x93, 0x03, 0x30, 0x00, 0x07, 0x00, 0x09, 0x48, + 0x80, 0xb5, 0x01, 0x69, 0x42, 0x69, 0x11, 0x43, + 0x82, 0x69, 0xc0, 0x69, 0x11, 0x43, 0x01, 0x43, + 0x00, 0x22, 0x03, 0x20, 0xc6, 0xf7, 0xbf, 0xfc, + 0xcc, 0xf7, 0x1b, 0xfa, 0x00, 0x20, 0xc2, 0xf7, + 0x92, 0xf9, 0x80, 0xbd, 0x00, 0x00, 0x3c, 0x00, + 0x00, 0x1f, 0x04, 0x00, 0xa4, 0x6c, 0x01, 0x00, + 0x05, 0x48, 0x80, 0xb5, 0x00, 0x21, 0x81, 0x60, + 0x02, 0x21, 0xc1, 0x60, 0x03, 0x39, 0x41, 0x60, + 0xc7, 0xf7, 0x3a, 0xff, 0x80, 0xbd, 0x00, 0x00, + 0x40, 0x20, 0x07, 0x00, 0x08, 0xb5, 0x6a, 0x46, + 0x04, 0x49, 0x15, 0x20, 0xbf, 0xf7, 0x54, 0xf8, + 0x01, 0x20, 0x03, 0x49, 0x40, 0x05, 0x08, 0x60, + 0x48, 0x60, 0x08, 0xbd, 0xa5, 0x21, 0x01, 0x00, + 0x3c, 0x00, 0x3c, 0x1f, 0x04, 0x00, 0x00, 0x10, + 0x07, 0x00, 0x70, 0x47, 0x00, 0x00, 0x06, 0x48, + 0x80, 0xb5, 0x80, 0x68, 0xc0, 0x01, 0x80, 0x0f, + 0x05, 0xd1, 0x03, 0x22, 0xc1, 0x43, 0xc6, 0xf7, + 0xba, 0xfc, 0xd6, 0xf7, 0x00, 0xfe, 0x80, 0xbd, + 0x00, 0x00, 0x10, 0x00, 0x07, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0x02, 0x21, 0x2a, 0x20, + 0x06, 0x4a, 0xd1, 0xf7, 0xea, 0xfb, 0x00, 0x22, + 0x07, 0x20, 0x3c, 0x00, 0x78, 0x1f, 0x04, 0x00, + 0x04, 0x49, 0xbe, 0xf7, 0xed, 0xfe, 0x04, 0x48, + 0xc7, 0xf7, 0x58, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0x8d, 0x89, 0x00, 0x00, 0xd5, 0x9b, 0x00, 0x00, + 0x10, 0x46, 0x01, 0x00, 0x02, 0x48, 0x00, 0x21, + 0x00, 0x22, 0x00, 0x23, 0x0e, 0xc0, 0x70, 0x47, + 0x80, 0x6e, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x2c, 0x20, 0x06, 0x4a, 0xd1, 0xf7, 0xcc, 0xfb, + 0x00, 0x22, 0x00, 0x20, 0x3c, 0x00, 0xb4, 0x1f, + 0x04, 0x00, 0x04, 0x49, 0xbe, 0xf7, 0xcf, 0xfe, + 0x04, 0x49, 0x02, 0x20, 0xc8, 0xf7, 0x0b, 0xfa, + 0x80, 0xbd, 0x05, 0x8a, 0x00, 0x00, 0xe9, 0x9b, + 0x00, 0x00, 0xb1, 0x8b, 0x00, 0x00, 0x02, 0x48, + 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x0e, 0xc0, + 0x70, 0x47, 0x10, 0x75, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x21, 0x2b, 0x20, 0x04, 0x4a, 0xd1, 0xf7, + 0xae, 0xfb, 0x00, 0x22, 0x02, 0x20, 0x3c, 0x00, + 0xf0, 0x1f, 0x04, 0x00, 0x02, 0x49, 0xbe, 0xf7, + 0xb1, 0xfe, 0x80, 0xbd, 0x2d, 0x8a, 0x00, 0x00, + 0x8d, 0x8c, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x2d, 0x20, 0x07, 0x4a, + 0xd1, 0xf7, 0x9c, 0xfb, 0x00, 0x22, 0x01, 0x20, + 0x05, 0x49, 0xbe, 0xf7, 0x9f, 0xfe, 0x05, 0x48, + 0xcb, 0xf7, 0x56, 0xfa, 0x04, 0x48, 0xcc, 0xf7, + 0xf7, 0xf8, 0x80, 0xbd, 0xad, 0x8a, 0x00, 0x00, + 0x3c, 0x00, 0x2c, 0x20, 0x04, 0x00, 0x21, 0xe2, + 0x00, 0x00, 0xf9, 0xdf, 0x00, 0x00, 0x20, 0x44, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x02, 0x49, + 0x00, 0x20, 0x08, 0x60, 0x01, 0x20, 0x48, 0x60, + 0x70, 0x47, 0xac, 0x79, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x49, 0x0d, 0x20, 0xd0, 0xf7, 0x9b, 0xf9, + 0x80, 0xbd, 0x61, 0x98, 0x00, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x80, 0xb5, 0xcd, 0xf7, 0x77, 0xf9, + 0x03, 0x49, 0x3c, 0x00, 0x68, 0x20, 0x04, 0x00, + 0x08, 0x60, 0x01, 0x1c, 0x02, 0x48, 0xcd, 0xf7, + 0x97, 0xf9, 0x80, 0xbd, 0xa8, 0x79, 0x01, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0x29, 0xf8, 0x80, 0xbd, 0x80, 0xb5, 0x86, 0xb0, + 0x0c, 0x48, 0xc3, 0xf7, 0x6d, 0xfd, 0xd6, 0xf7, + 0xd3, 0xfb, 0x0b, 0x48, 0x0d, 0x49, 0x00, 0x90, + 0x0a, 0x48, 0x04, 0x91, 0x01, 0x90, 0x0a, 0x48, + 0x69, 0x46, 0x02, 0x90, 0x3c, 0x00, 0xa4, 0x20, + 0x04, 0x00, 0x00, 0x20, 0x03, 0x90, 0x05, 0x90, + 0x01, 0x20, 0xc3, 0xf7, 0x00, 0xfd, 0x07, 0x49, + 0x03, 0x20, 0xd0, 0xf7, 0x6a, 0xf9, 0x06, 0xb0, + 0x80, 0xbd, 0x20, 0xf7, 0x01, 0x00, 0x11, 0x87, + 0x01, 0x00, 0x95, 0x87, 0x01, 0x00, 0x55, 0x87, + 0x01, 0x00, 0x98, 0xd9, 0x01, 0x00, 0x6d, 0x87, + 0x01, 0x00, 0x80, 0xb5, 0x01, 0x20, 0xd6, 0xf7, + 0x90, 0xfc, 0x03, 0x49, 0x00, 0x20, 0x3c, 0x00, + 0xe0, 0x20, 0x04, 0x00, 0x08, 0x60, 0x48, 0x60, + 0x02, 0x48, 0x14, 0x39, 0x48, 0x60, 0x80, 0xbd, + 0x90, 0xd9, 0x01, 0x00, 0x3d, 0x82, 0x01, 0x00, + 0x70, 0xb5, 0x00, 0x26, 0x09, 0x4c, 0x09, 0x4d, + 0x26, 0x60, 0x66, 0x60, 0x44, 0x21, 0x50, 0x35, + 0x28, 0x1c, 0xa6, 0x61, 0xbe, 0xf7, 0xc8, 0xf9, + 0x14, 0x20, 0xe0, 0x60, 0xe8, 0x63, 0x28, 0x20, + 0xe8, 0x61, 0xa0, 0x60, 0x28, 0x64, 0x2e, 0x70, + 0x3c, 0x00, 0x1c, 0x21, 0x04, 0x00, 0x70, 0xbd, + 0x00, 0x00, 0xa4, 0x6e, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x21, 0x18, 0x20, 0x04, 0x4a, 0xd1, 0xf7, + 0x0c, 0xfb, 0x03, 0x49, 0x08, 0x20, 0xd0, 0xf7, + 0x2a, 0xf9, 0x80, 0xbd, 0x00, 0x00, 0x15, 0x9c, + 0x00, 0x00, 0x69, 0x9c, 0x00, 0x00, 0xfe, 0xb5, + 0x26, 0x4d, 0x28, 0x78, 0xc0, 0x07, 0x0c, 0xd4, + 0x25, 0x49, 0x00, 0x20, 0x08, 0x70, 0x28, 0x70, + 0x24, 0x48, 0x3c, 0x00, 0x58, 0x21, 0x04, 0x00, + 0x81, 0x78, 0x49, 0x08, 0x49, 0x00, 0x81, 0x70, + 0x81, 0x78, 0x01, 0x22, 0x11, 0x43, 0x81, 0x70, + 0x00, 0x24, 0xff, 0x26, 0x1f, 0x4f, 0x01, 0x36, + 0x21, 0x1c, 0x01, 0xa8, 0xc6, 0xf7, 0x32, 0xf8, + 0x00, 0xab, 0x18, 0x79, 0x01, 0x28, 0x1f, 0xd0, + 0x02, 0x28, 0x19, 0xd0, 0x03, 0x28, 0x1e, 0xd1, + 0xb8, 0x68, 0x00, 0x21, 0xb0, 0x43, 0xb8, 0x60, + 0x78, 0x68, 0x30, 0x43, 0x3c, 0x00, 0x94, 0x21, + 0x04, 0x00, 0x78, 0x60, 0x3a, 0x68, 0x32, 0x40, + 0xa0, 0x20, 0x05, 0xe0, 0x3b, 0x68, 0x33, 0x40, + 0x93, 0x42, 0x01, 0xd0, 0x01, 0x21, 0x01, 0xe0, + 0x01, 0x38, 0xf7, 0xd2, 0x78, 0x68, 0xb0, 0x43, + 0x78, 0x60, 0x00, 0x29, 0x03, 0xd0, 0x01, 0xa8, + 0x00, 0xf0, 0x27, 0xff, 0x02, 0xe0, 0x01, 0xa8, + 0x00, 0xf0, 0x45, 0xff, 0x01, 0x34, 0x24, 0x06, + 0x24, 0x16, 0x06, 0x2c, 0xcf, 0xdb, 0x3c, 0x00, + 0xd0, 0x21, 0x04, 0x00, 0x04, 0x49, 0x02, 0x22, + 0x08, 0x78, 0x10, 0x43, 0x08, 0x70, 0x28, 0x70, + 0xfe, 0xbd, 0x00, 0x00, 0x04, 0x00, 0x07, 0x00, + 0xe0, 0x60, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, + 0x10, 0x00, 0x07, 0x00, 0xb0, 0xb5, 0x00, 0x20, + 0x15, 0x23, 0x14, 0x49, 0x01, 0x25, 0x42, 0x00, + 0x8d, 0x54, 0x52, 0x18, 0x01, 0x30, 0x0e, 0x28, + 0x53, 0x70, 0xf8, 0xd3, 0x0f, 0x48, 0x1c, 0x22, + 0x3c, 0x00, 0x0c, 0x22, 0x04, 0x00, 0x1c, 0x38, + 0xbe, 0xf7, 0x73, 0xf9, 0x0d, 0x48, 0x0e, 0x21, + 0x2a, 0x38, 0xbe, 0xf7, 0x1c, 0xf9, 0x0b, 0x49, + 0x00, 0x20, 0x08, 0x60, 0x0b, 0x4c, 0x2a, 0x21, + 0x20, 0x1c, 0xbe, 0xf7, 0x14, 0xf9, 0x25, 0x70, + 0x0e, 0x20, 0x60, 0x70, 0x17, 0x20, 0xa0, 0x70, + 0x07, 0x48, 0x53, 0x21, 0x01, 0x70, 0x45, 0x21, + 0x41, 0x70, 0x20, 0x21, 0x81, 0x70, 0xb0, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x48, 0x22, 0x04, 0x00, + 0xe6, 0x78, 0x01, 0x00, 0xe4, 0x62, 0x01, 0x00, + 0xeb, 0x62, 0x01, 0x00, 0xe8, 0x62, 0x01, 0x00, + 0x0c, 0x49, 0x0d, 0x48, 0x00, 0x22, 0x41, 0x60, + 0x0c, 0x49, 0x81, 0x60, 0x0c, 0x49, 0xc1, 0x60, + 0x0c, 0x49, 0x01, 0x61, 0x0c, 0x49, 0x41, 0x61, + 0x0c, 0x49, 0x82, 0x61, 0xc1, 0x61, 0x0c, 0x49, + 0x01, 0x62, 0x0c, 0x49, 0x41, 0x62, 0x0c, 0x49, + 0x81, 0x62, 0x0c, 0x49, 0x3c, 0x00, 0x84, 0x22, + 0x04, 0x00, 0xc1, 0x62, 0xc2, 0x63, 0x70, 0x47, + 0x00, 0x00, 0xc9, 0x75, 0x00, 0x00, 0x28, 0x7a, + 0x01, 0x00, 0xc1, 0x75, 0x00, 0x00, 0x81, 0x75, + 0x00, 0x00, 0x99, 0x75, 0x00, 0x00, 0xcd, 0x75, + 0x00, 0x00, 0x89, 0x75, 0x00, 0x00, 0x91, 0x75, + 0x00, 0x00, 0xb5, 0x75, 0x00, 0x00, 0x8d, 0x75, + 0x00, 0x00, 0xc5, 0x75, 0x00, 0x00, 0xb0, 0xb5, + 0x0e, 0x48, 0x0e, 0x49, 0x08, 0x60, 0x3c, 0x00, + 0xc0, 0x22, 0x04, 0x00, 0x08, 0x31, 0xc0, 0xf7, + 0x43, 0xfe, 0x0c, 0x49, 0x00, 0x25, 0x48, 0x60, + 0x0b, 0x48, 0x0a, 0x4c, 0x05, 0x60, 0x0b, 0x48, + 0x80, 0x3c, 0x05, 0x60, 0x10, 0x20, 0x20, 0x71, + 0xe0, 0x70, 0xa0, 0x71, 0x60, 0x71, 0x27, 0x20, + 0xc0, 0x43, 0xc3, 0xf7, 0xf7, 0xfb, 0x28, 0x20, + 0xc3, 0xf7, 0xfc, 0xfb, 0x25, 0x72, 0xb0, 0xbd, + 0xff, 0x3f, 0x00, 0x00, 0x2c, 0x7d, 0x01, 0x00, + 0x3c, 0x00, 0xfc, 0x22, 0x04, 0x00, 0x1c, 0x67, + 0x01, 0x00, 0x20, 0x67, 0x01, 0x00, 0x80, 0xb5, + 0x2c, 0x21, 0x01, 0x48, 0xbe, 0xf7, 0xc7, 0xf8, + 0x80, 0xbd, 0x3c, 0x7e, 0x01, 0x00, 0x80, 0xb5, + 0x38, 0x21, 0x01, 0x48, 0xbe, 0xf7, 0xbf, 0xf8, + 0x80, 0xbd, 0x68, 0x7e, 0x01, 0x00, 0x80, 0xb5, + 0x02, 0x21, 0x0e, 0x20, 0x02, 0x4a, 0xd1, 0xf7, + 0x0c, 0xfa, 0x80, 0xbd, 0x00, 0x00, 0x21, 0xe0, + 0x00, 0x00, 0x3c, 0x00, 0x38, 0x23, 0x04, 0x00, + 0x70, 0x47, 0x00, 0x00, 0xf0, 0xb5, 0x85, 0xb0, + 0x00, 0x27, 0x00, 0xab, 0x2f, 0x4e, 0x1f, 0x81, + 0x00, 0x25, 0x00, 0x24, 0x28, 0x1c, 0xd6, 0xf7, + 0xa1, 0xfb, 0x02, 0x2d, 0x03, 0xd1, 0xd6, 0xf7, + 0xf5, 0xfa, 0x00, 0x28, 0x0c, 0xd0, 0x01, 0x24, + 0x01, 0x2d, 0x03, 0xd1, 0x07, 0x20, 0x00, 0xab, + 0x18, 0x71, 0x01, 0xe0, 0x00, 0xab, 0x1f, 0x71, + 0x00, 0xab, 0x18, 0x79, 0x3c, 0x00, 0x74, 0x23, + 0x04, 0x00, 0xd6, 0xf7, 0x08, 0xfc, 0x00, 0x2c, + 0x39, 0xd0, 0x08, 0x21, 0x03, 0xa8, 0xd6, 0xf7, + 0xf2, 0xfa, 0x00, 0xab, 0x18, 0x7b, 0xfe, 0x28, + 0x31, 0xd1, 0x58, 0x7b, 0x01, 0x28, 0x2a, 0xd1, + 0x02, 0x21, 0x02, 0xa8, 0xd6, 0xf7, 0xe7, 0xfa, + 0x00, 0xab, 0x18, 0x89, 0x00, 0x28, 0x26, 0xd0, + 0x18, 0x89, 0x18, 0x49, 0x88, 0x42, 0x22, 0xd0, + 0x19, 0x89, 0x00, 0x20, 0xbf, 0xf7, 0x3c, 0x00, + 0xb0, 0x23, 0x04, 0x00, 0x13, 0xf9, 0x04, 0x1c, + 0x00, 0x69, 0x00, 0xab, 0x19, 0x89, 0xd6, 0xf7, + 0xd5, 0xfa, 0x20, 0x68, 0x00, 0xab, 0x1a, 0x89, + 0x01, 0x1c, 0x08, 0x31, 0x08, 0x3a, 0xcb, 0xf7, + 0xa1, 0xf9, 0x00, 0x28, 0x06, 0xd0, 0x02, 0x28, + 0x04, 0xd0, 0x02, 0x21, 0x94, 0x20, 0x37, 0x60, + 0xbe, 0xf7, 0x62, 0xff, 0x20, 0x1c, 0xbf, 0xf7, + 0xc7, 0xf8, 0xd4, 0xe7, 0x01, 0x21, 0x94, 0x20, + 0x3c, 0x00, 0xec, 0x23, 0x04, 0x00, 0xbe, 0xf7, + 0x5a, 0xff, 0xd5, 0xf7, 0x26, 0xff, 0x01, 0x35, + 0x2d, 0x06, 0x2d, 0x0e, 0x04, 0x2d, 0xa5, 0xd3, + 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x58, 0x57, + 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x0a, 0x48, + 0x00, 0x21, 0x02, 0x1c, 0x18, 0x32, 0x80, 0xb5, + 0x09, 0x4b, 0x02, 0xe0, 0x01, 0x60, 0x83, 0x80, + 0x08, 0x30, 0x82, 0x42, 0xfa, 0xd1, 0x04, 0x48, + 0x6c, 0x21, 0x3c, 0x00, 0x28, 0x24, 0x04, 0x00, + 0x6c, 0x38, 0xbe, 0xf7, 0x37, 0xf8, 0x04, 0x49, + 0x02, 0x20, 0xc7, 0xf7, 0xd1, 0xff, 0x80, 0xbd, + 0x7c, 0x79, 0x01, 0x00, 0xfc, 0x05, 0x00, 0x00, + 0x9d, 0x75, 0x00, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x26, 0x20, 0x0d, 0x4a, 0xd1, 0xf7, 0x7c, 0xf9, + 0x0c, 0x48, 0xc8, 0xf7, 0x73, 0xff, 0x0c, 0x48, + 0xc8, 0xf7, 0x76, 0xff, 0x0b, 0x49, 0x10, 0x20, + 0xcf, 0xf7, 0x94, 0xff, 0x3c, 0x00, 0x64, 0x24, + 0x04, 0x00, 0x0a, 0x49, 0x0c, 0x20, 0xcf, 0xf7, + 0x90, 0xff, 0x09, 0x49, 0x00, 0x20, 0xc7, 0xf7, + 0xb2, 0xff, 0xcc, 0xf7, 0x6e, 0xff, 0x07, 0x49, + 0x08, 0x60, 0x80, 0xbd, 0x00, 0x00, 0x9d, 0xa6, + 0x00, 0x00, 0xa9, 0xa4, 0x00, 0x00, 0x81, 0xa4, + 0x00, 0x00, 0x31, 0xa7, 0x00, 0x00, 0xb9, 0x6d, + 0x00, 0x00, 0xbd, 0xa6, 0x00, 0x00, 0x0c, 0x79, + 0x01, 0x00, 0x02, 0x49, 0x08, 0x78, 0x3c, 0x00, + 0xa0, 0x24, 0x04, 0x00, 0x40, 0x08, 0x40, 0x00, + 0x08, 0x70, 0x70, 0x47, 0x58, 0x00, 0x07, 0x00, + 0x00, 0x21, 0x08, 0x48, 0x80, 0xb5, 0x41, 0x61, + 0x81, 0x61, 0x01, 0x70, 0x41, 0x70, 0x41, 0x60, + 0x81, 0x60, 0x14, 0x22, 0xc2, 0x60, 0x01, 0x61, + 0x42, 0x62, 0xc1, 0x61, 0xff, 0xf7, 0x04, 0xf8, + 0x80, 0xbd, 0x00, 0x00, 0x1c, 0x75, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x1d, 0x20, 0x04, 0x4a, + 0x3c, 0x00, 0xdc, 0x24, 0x04, 0x00, 0xd1, 0xf7, + 0x34, 0xf9, 0x03, 0x49, 0x08, 0x20, 0xcf, 0xf7, + 0x52, 0xff, 0x80, 0xbd, 0x00, 0x00, 0x11, 0xe3, + 0x00, 0x00, 0x09, 0xe4, 0x00, 0x00, 0x80, 0xb5, + 0x01, 0x21, 0x25, 0x20, 0x0a, 0x4a, 0xd1, 0xf7, + 0x24, 0xf9, 0xcc, 0xf7, 0x28, 0xff, 0x08, 0x49, + 0x08, 0x62, 0x08, 0x49, 0x01, 0x20, 0xcf, 0xf7, + 0x3e, 0xff, 0x07, 0x49, 0x02, 0x20, 0xcf, 0xf7, + 0x3a, 0xff, 0x3c, 0x00, 0x18, 0x25, 0x04, 0x00, + 0xfe, 0xf7, 0xe6, 0xff, 0x05, 0x48, 0xc1, 0xf7, + 0xe1, 0xf9, 0x80, 0xbd, 0x29, 0xa9, 0x00, 0x00, + 0x1c, 0x75, 0x01, 0x00, 0xa1, 0xaa, 0x00, 0x00, + 0x2d, 0x19, 0x00, 0x00, 0x45, 0xa8, 0x00, 0x00, + 0x10, 0xb5, 0x06, 0x4c, 0x0c, 0x22, 0x22, 0x70, + 0xa0, 0x18, 0x05, 0x49, 0xbd, 0xf7, 0xd8, 0xff, + 0x00, 0x20, 0xc8, 0xf7, 0x85, 0xfb, 0x01, 0x20, + 0xa0, 0x60, 0x10, 0xbd, 0x3c, 0x00, 0x54, 0x25, + 0x04, 0x00, 0xa4, 0x69, 0x01, 0x00, 0x90, 0x57, + 0x01, 0x00, 0xb0, 0xb5, 0x1f, 0x4c, 0x00, 0x25, + 0x65, 0x80, 0x01, 0x20, 0x20, 0x70, 0x0a, 0x20, + 0xa0, 0x80, 0x90, 0x20, 0xe0, 0x80, 0x30, 0x20, + 0x20, 0x81, 0x90, 0x20, 0x60, 0x81, 0x30, 0x20, + 0xa0, 0x81, 0x17, 0x48, 0x04, 0x22, 0x07, 0x21, + 0x12, 0x30, 0xbe, 0xf7, 0x4c, 0xf8, 0x14, 0x48, + 0x04, 0x22, 0x05, 0x21, 0x16, 0x30, 0x3c, 0x00, + 0x90, 0x25, 0x04, 0x00, 0xbe, 0xf7, 0x46, 0xf8, + 0x12, 0x48, 0x11, 0x4a, 0xe0, 0x81, 0x20, 0x82, + 0x70, 0x32, 0x15, 0x70, 0x55, 0x70, 0x00, 0x20, + 0x3c, 0x23, 0x41, 0x01, 0x43, 0x43, 0x89, 0x18, + 0xf4, 0x31, 0x9b, 0x18, 0x01, 0x30, 0x04, 0x28, + 0x59, 0x60, 0xf5, 0xdb, 0x08, 0x48, 0x06, 0x22, + 0x1a, 0x30, 0x09, 0x49, 0xbd, 0xf7, 0x9a, 0xff, + 0x07, 0x48, 0x05, 0x4c, 0x0c, 0x30, 0x0f, 0xc8, + 0x3c, 0x00, 0xcc, 0x25, 0x04, 0x00, 0x20, 0x34, + 0x0f, 0xc4, 0x20, 0x21, 0x20, 0x1c, 0xbd, 0xf7, + 0x62, 0xff, 0xb0, 0xbd, 0x00, 0x00, 0xf8, 0x60, + 0x01, 0x00, 0x2c, 0x09, 0x00, 0x00, 0x58, 0x40, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x07, 0x48, + 0x10, 0xb5, 0x00, 0x68, 0x00, 0x28, 0x08, 0xd0, + 0x06, 0x48, 0xbe, 0xf7, 0x9c, 0xfe, 0x04, 0x1c, + 0xff, 0xf7, 0x9d, 0xfe, 0x20, 0x1c, 0xbe, 0xf7, + 0x96, 0xfe, 0x3c, 0x00, 0x08, 0x26, 0x04, 0x00, + 0x10, 0xbd, 0x00, 0x00, 0x58, 0x57, 0x01, 0x00, + 0xb5, 0xad, 0x00, 0x00, 0x04, 0x49, 0x80, 0xb5, + 0x00, 0x20, 0x88, 0x70, 0x02, 0x21, 0x20, 0x20, + 0x02, 0x4a, 0xd1, 0xf7, 0x91, 0xf8, 0x80, 0xbd, + 0xb4, 0x79, 0x01, 0x00, 0x25, 0xb5, 0x00, 0x00, + 0x80, 0xb5, 0xcc, 0xf7, 0x8f, 0xfe, 0x01, 0x49, + 0x48, 0x61, 0x80, 0xbd, 0xb4, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x18, 0x21, 0x3c, 0x00, 0x44, 0x26, + 0x04, 0x00, 0x14, 0x48, 0xbd, 0xf7, 0x29, 0xff, + 0x14, 0x48, 0x01, 0x21, 0x01, 0x70, 0x00, 0x21, + 0xc1, 0x60, 0x41, 0x70, 0x01, 0x61, 0x00, 0xf0, + 0x02, 0xf9, 0x00, 0xf0, 0xaa, 0xf8, 0x00, 0xf0, + 0x1e, 0xf8, 0x00, 0xf0, 0xba, 0xf9, 0x00, 0xf0, + 0xcc, 0xf9, 0x00, 0xf0, 0x20, 0xf9, 0x00, 0xf0, + 0x64, 0xf9, 0x00, 0xf0, 0xce, 0xf9, 0x00, 0xf0, + 0xfc, 0xf8, 0x00, 0xf0, 0x82, 0xf9, 0x3c, 0x00, + 0x80, 0x26, 0x04, 0x00, 0x00, 0xf0, 0x28, 0xf8, + 0x00, 0xf0, 0x6e, 0xf8, 0x00, 0xf0, 0x4a, 0xf8, + 0xff, 0xf7, 0xc2, 0xff, 0x00, 0xf0, 0x72, 0xf9, + 0x80, 0xbd, 0x00, 0x00, 0x40, 0x7c, 0x01, 0x00, + 0x18, 0x63, 0x01, 0x00, 0xb0, 0xb5, 0x08, 0x4c, + 0x00, 0x25, 0x08, 0x48, 0x25, 0x77, 0x20, 0x60, + 0xce, 0xf7, 0xf0, 0xfd, 0x00, 0x20, 0xe5, 0x62, + 0xd0, 0xf7, 0xd0, 0xfa, 0x21, 0x1f, 0x08, 0x80, + 0x3c, 0x00, 0xbc, 0x26, 0x04, 0x00, 0xd0, 0xf7, + 0x6c, 0xfb, 0xb0, 0xbd, 0x00, 0x00, 0xd4, 0x79, + 0x01, 0x00, 0x95, 0x75, 0x00, 0x00, 0x80, 0xb5, + 0xcc, 0xf7, 0xc1, 0xfc, 0x80, 0xbd, 0x05, 0x49, + 0x80, 0xb5, 0x00, 0x20, 0x08, 0x70, 0x48, 0x70, + 0x03, 0x48, 0x04, 0x49, 0x03, 0x4a, 0x08, 0x30, + 0xcc, 0xf7, 0x27, 0xfe, 0x80, 0xbd, 0x2c, 0x63, + 0x01, 0x00, 0xed, 0xbc, 0x00, 0x00, 0x4d, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0xf8, 0x26, 0x04, 0x00, + 0x80, 0xb5, 0xcc, 0xf7, 0x2b, 0xfe, 0x05, 0x49, + 0x48, 0x60, 0x01, 0x1c, 0x04, 0x48, 0xcc, 0xf7, + 0x4b, 0xfe, 0x04, 0x49, 0x03, 0x20, 0xcf, 0xf7, + 0x3d, 0xfe, 0x80, 0xbd, 0x2c, 0x63, 0x01, 0x00, + 0xc4, 0x60, 0x01, 0x00, 0xc1, 0xbc, 0x00, 0x00, + 0x04, 0x48, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x0e, 0xc0, 0x08, 0xc0, 0x02, 0x49, 0x10, 0x38, + 0x01, 0x60, 0x70, 0x47, 0x3c, 0x00, 0x34, 0x27, + 0x04, 0x00, 0x04, 0x7a, 0x01, 0x00, 0x1c, 0xe6, + 0x01, 0x00, 0x80, 0xb5, 0xcc, 0xf7, 0x09, 0xfe, + 0x05, 0x49, 0x05, 0x4a, 0x48, 0x60, 0x02, 0x21, + 0x24, 0x20, 0xd0, 0xf7, 0xfc, 0xff, 0x03, 0x48, + 0xc9, 0xf7, 0x6b, 0xfd, 0x80, 0xbd, 0x04, 0x7a, + 0x01, 0x00, 0x69, 0xbe, 0x00, 0x00, 0x71, 0xeb, + 0x00, 0x00, 0x10, 0xb5, 0x04, 0x4c, 0x14, 0x21, + 0x20, 0x1c, 0xbd, 0xf7, 0x96, 0xfe, 0x3c, 0x00, + 0x70, 0x27, 0x04, 0x00, 0x02, 0x48, 0x20, 0x60, + 0x10, 0xbd, 0x00, 0x00, 0x14, 0x7a, 0x01, 0x00, + 0xec, 0xe5, 0x01, 0x00, 0x80, 0xb5, 0xcc, 0xf7, + 0xe7, 0xfd, 0x07, 0x49, 0x07, 0x4a, 0x48, 0x60, + 0x02, 0x21, 0x1f, 0x20, 0xd0, 0xf7, 0xda, 0xff, + 0x05, 0x49, 0x01, 0x20, 0x08, 0x60, 0x05, 0x49, + 0x0c, 0x20, 0xcf, 0xf7, 0xf5, 0xfd, 0x80, 0xbd, + 0x14, 0x7a, 0x01, 0x00, 0xd5, 0xbf, 0x00, 0x00, + 0x3c, 0x00, 0xac, 0x27, 0x04, 0x00, 0x80, 0x5a, + 0x01, 0x00, 0x85, 0xff, 0x00, 0x00, 0x80, 0xb5, + 0xff, 0xf7, 0x4f, 0xfd, 0x01, 0x21, 0x21, 0x20, + 0x02, 0x4a, 0xd0, 0xf7, 0xc2, 0xff, 0x80, 0xbd, + 0x00, 0x00, 0xc9, 0xc1, 0x00, 0x00, 0x80, 0xb5, + 0xcc, 0xf7, 0xc1, 0xfd, 0x02, 0x49, 0x08, 0x63, + 0xc9, 0xf7, 0x57, 0xfd, 0x80, 0xbd, 0x28, 0x7a, + 0x01, 0x00, 0x10, 0xb5, 0xcc, 0xf7, 0xb7, 0xfd, + 0x16, 0x4c, 0x3c, 0x00, 0xe8, 0x27, 0x04, 0x00, + 0x20, 0x61, 0xcc, 0xf7, 0xb3, 0xfd, 0x60, 0x61, + 0x14, 0x48, 0x15, 0x49, 0x08, 0x60, 0x16, 0x49, + 0x14, 0x48, 0x08, 0x60, 0xcc, 0xf7, 0xaa, 0xfd, + 0x14, 0x49, 0x08, 0x60, 0x00, 0xf0, 0x34, 0xf8, + 0xff, 0xf7, 0xe0, 0xff, 0xff, 0xf7, 0x5e, 0xff, + 0x00, 0xf0, 0x04, 0xf9, 0x00, 0xf0, 0x8e, 0xf8, + 0xff, 0xf7, 0x6e, 0xff, 0xff, 0xf7, 0xb0, 0xff, + 0xff, 0xf7, 0x8c, 0xff, 0x3c, 0x00, 0x24, 0x28, + 0x04, 0x00, 0xff, 0xf7, 0x04, 0xff, 0x00, 0xf0, + 0xaa, 0xf8, 0x0a, 0x48, 0xbf, 0xf7, 0xbd, 0xff, + 0xc9, 0xf7, 0xbb, 0xfd, 0x09, 0x49, 0x00, 0x20, + 0xcf, 0xf7, 0xa7, 0xfd, 0x10, 0xbd, 0x40, 0x7c, + 0x01, 0x00, 0x7d, 0xb7, 0x00, 0x00, 0x18, 0x7e, + 0x01, 0x00, 0xbd, 0xb8, 0x00, 0x00, 0x1c, 0x7e, + 0x01, 0x00, 0x20, 0x7e, 0x01, 0x00, 0xb9, 0xba, + 0x00, 0x00, 0x81, 0x24, 0x01, 0x00, 0x3c, 0x00, + 0x60, 0x28, 0x04, 0x00, 0x80, 0xb5, 0x38, 0x21, + 0x01, 0x48, 0xbd, 0xf7, 0x19, 0xfe, 0x80, 0xbd, + 0x90, 0x5c, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0xb0, 0xb5, 0x0c, 0x4c, 0x0b, 0x4d, 0x00, 0x20, + 0x0c, 0x34, 0x60, 0x60, 0x25, 0x60, 0xe0, 0x60, + 0x0a, 0x20, 0x20, 0x81, 0x28, 0x1c, 0xc8, 0xf7, + 0x3f, 0xfd, 0x28, 0x1c, 0xc8, 0xf7, 0x3a, 0xfd, + 0x08, 0x3d, 0x68, 0x60, 0x04, 0x48, 0xc9, 0xf7, + 0x3c, 0x00, 0x9c, 0x28, 0x04, 0x00, 0x1b, 0xfd, + 0x20, 0x1c, 0xc0, 0xf7, 0x6e, 0xfa, 0x28, 0x80, + 0xb0, 0xbd, 0xb8, 0x7a, 0x01, 0x00, 0xd5, 0x33, + 0x01, 0x00, 0xf8, 0xb5, 0x1f, 0x4e, 0x1d, 0x4c, + 0x00, 0x20, 0x0c, 0x21, 0x41, 0x43, 0x82, 0x00, + 0x01, 0x30, 0x09, 0x19, 0x08, 0x31, 0x00, 0x06, + 0x00, 0x0e, 0x04, 0x28, 0xb1, 0x50, 0xf4, 0xd3, + 0x18, 0x48, 0x0c, 0x38, 0x30, 0x61, 0xce, 0xf7, + 0xf4, 0xf9, 0x3c, 0x00, 0xd8, 0x28, 0x04, 0x00, + 0x14, 0x4c, 0xa0, 0x78, 0x00, 0x09, 0x00, 0x01, + 0xa0, 0x70, 0x00, 0x27, 0xe7, 0x70, 0x67, 0x70, + 0x00, 0x24, 0xa5, 0x00, 0x70, 0x59, 0x07, 0x70, + 0x20, 0x1c, 0xbe, 0xf7, 0x53, 0xf9, 0x71, 0x59, + 0x08, 0x71, 0x00, 0x21, 0x20, 0x1c, 0xce, 0xf7, + 0x7d, 0xf9, 0x01, 0x34, 0x24, 0x06, 0x24, 0x0e, + 0x04, 0x2c, 0xee, 0xd3, 0x07, 0x4c, 0x20, 0x78, + 0x00, 0x09, 0x00, 0x01, 0x3c, 0x00, 0x14, 0x29, + 0x04, 0x00, 0x0a, 0x30, 0x20, 0x70, 0x20, 0x78, + 0xf0, 0x21, 0x88, 0x43, 0x30, 0x30, 0x20, 0x70, + 0xa0, 0x78, 0x0f, 0x21, 0x08, 0x43, 0xa0, 0x70, + 0xf8, 0xbd, 0x00, 0x50, 0x07, 0x00, 0x10, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0xcc, 0xf7, 0x9f, 0xfb, + 0x80, 0xbd, 0xb0, 0xb5, 0x0c, 0x4c, 0x0b, 0x4d, + 0x00, 0x20, 0x0c, 0x34, 0x60, 0x60, 0x25, 0x60, + 0xe0, 0x60, 0x0a, 0x20, 0x20, 0x81, 0x3c, 0x00, + 0x50, 0x29, 0x04, 0x00, 0x28, 0x1c, 0xc8, 0xf7, + 0xe1, 0xfc, 0x28, 0x1c, 0xc8, 0xf7, 0xd4, 0xfc, + 0x08, 0x3d, 0x68, 0x60, 0x20, 0x1c, 0xc0, 0xf7, + 0x0d, 0xfa, 0x28, 0x80, 0x02, 0x48, 0xc9, 0xf7, + 0x9b, 0xfc, 0xb0, 0xbd, 0x2c, 0x7b, 0x01, 0x00, + 0x49, 0x00, 0x01, 0x00, 0x80, 0xb5, 0xca, 0xf7, + 0x2f, 0xf8, 0x80, 0xbd, 0x70, 0x47, 0x00, 0x00, + 0xb0, 0xb5, 0x12, 0x4d, 0x3c, 0x21, 0x28, 0x1c, + 0x3c, 0x00, 0x8c, 0x29, 0x04, 0x00, 0xbd, 0xf7, + 0x86, 0xfd, 0x0f, 0x48, 0x28, 0x21, 0x3c, 0x30, + 0xbd, 0xf7, 0x81, 0xfd, 0x0d, 0x48, 0x00, 0x21, + 0x14, 0x38, 0x01, 0x61, 0xc1, 0x60, 0xff, 0x21, + 0x01, 0x70, 0x41, 0x70, 0x0a, 0x49, 0x0a, 0x4a, + 0x41, 0x60, 0x01, 0x21, 0x0c, 0x20, 0xd0, 0xf7, + 0xc8, 0xfe, 0x2c, 0x1c, 0x30, 0x34, 0x0c, 0x3d, + 0x00, 0x20, 0xd0, 0xf7, 0x4a, 0xf9, 0x20, 0x80, + 0x0c, 0x3c, 0x3c, 0x00, 0xc8, 0x29, 0x04, 0x00, + 0xac, 0x42, 0xf8, 0xd1, 0xb0, 0xbd, 0x00, 0x00, + 0x60, 0x7b, 0x01, 0x00, 0x20, 0xa1, 0x07, 0x00, + 0x35, 0xcd, 0x00, 0x00, 0x08, 0x49, 0x00, 0x20, + 0x0c, 0x22, 0x42, 0x43, 0x52, 0x18, 0x10, 0x71, + 0x01, 0x30, 0x05, 0x28, 0xf8, 0xdb, 0x04, 0x48, + 0x00, 0x21, 0x08, 0x38, 0x01, 0x70, 0x41, 0x60, + 0xff, 0x21, 0x41, 0x70, 0x70, 0x47, 0x00, 0x00, + 0x74, 0x7a, 0x01, 0x00, 0x3c, 0x00, 0x04, 0x2a, + 0x04, 0x00, 0x80, 0xb5, 0x78, 0x21, 0x01, 0x48, + 0xbd, 0xf7, 0x47, 0xfd, 0x80, 0xbd, 0xc4, 0x7b, + 0x01, 0x00, 0x80, 0xb5, 0xca, 0xf7, 0x97, 0xfa, + 0x80, 0xbd, 0x70, 0x47, 0x00, 0x00, 0x10, 0xb5, + 0x0b, 0x4c, 0xff, 0x21, 0x05, 0x31, 0x20, 0x1c, + 0xbd, 0xf7, 0x37, 0xfd, 0x09, 0x48, 0xf0, 0x21, + 0x08, 0x51, 0x20, 0x1c, 0x40, 0x30, 0xc5, 0xf7, + 0x8e, 0xf9, 0x6c, 0x21, 0x06, 0x48, 0x3c, 0x00, + 0x40, 0x2a, 0x04, 0x00, 0xbd, 0xf7, 0x2c, 0xfd, + 0x04, 0x48, 0xc0, 0x21, 0x6c, 0x30, 0xbd, 0xf7, + 0x27, 0xfd, 0x10, 0xbd, 0xc4, 0x69, 0x01, 0x00, + 0xb0, 0xd9, 0x01, 0x00, 0xc8, 0x6a, 0x01, 0x00, + 0xb0, 0xb5, 0x0b, 0x4d, 0x00, 0x24, 0x1c, 0x20, + 0x60, 0x43, 0x40, 0x19, 0x6c, 0x30, 0xc3, 0xf7, + 0x0f, 0xfe, 0x01, 0x34, 0x04, 0x2c, 0xf6, 0xdb, + 0xcc, 0xf7, 0x6e, 0xfc, 0xa8, 0x63, 0xc7, 0xf7, + 0x3c, 0x00, 0x7c, 0x2a, 0x04, 0x00, 0x75, 0xf9, + 0x04, 0x48, 0xc9, 0xf7, 0x1c, 0xfc, 0x03, 0x48, + 0xcf, 0xf7, 0x03, 0xfa, 0xb0, 0xbd, 0xc4, 0x69, + 0x01, 0x00, 0xfd, 0x80, 0x00, 0x00, 0xe1, 0x22, + 0x01, 0x00, 0x10, 0xb5, 0x05, 0x4c, 0x00, 0x20, + 0x20, 0x80, 0x03, 0x48, 0x06, 0x21, 0x08, 0x30, + 0xbd, 0xf7, 0xd5, 0xfc, 0x14, 0x20, 0x60, 0x60, + 0x10, 0xbd, 0x98, 0x7c, 0x01, 0x00, 0x10, 0xb5, + 0x08, 0x4c, 0x3c, 0x00, 0xb8, 0x2a, 0x04, 0x00, + 0x00, 0x20, 0x20, 0x80, 0x60, 0x80, 0x06, 0x48, + 0x06, 0x21, 0x0c, 0x30, 0xbd, 0xf7, 0xc6, 0xfc, + 0x03, 0x48, 0x06, 0x21, 0x12, 0x30, 0xbd, 0xf7, + 0xc1, 0xfc, 0x14, 0x20, 0xa0, 0x60, 0x10, 0xbd, + 0x58, 0x7c, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x0d, 0x20, 0x05, 0x4a, + 0xd0, 0xf7, 0x2e, 0xfe, 0x04, 0x48, 0xc8, 0xf7, + 0x1f, 0xfc, 0x04, 0x48, 0x3c, 0x00, 0xf4, 0x2a, + 0x04, 0x00, 0xca, 0xf7, 0x44, 0xfc, 0x80, 0xbd, + 0x00, 0x00, 0x31, 0xd4, 0x00, 0x00, 0x51, 0xb1, + 0x00, 0x00, 0x09, 0xb1, 0x00, 0x00, 0x08, 0x49, + 0x80, 0xb5, 0x00, 0x20, 0x08, 0x60, 0xff, 0xf7, + 0xd0, 0xff, 0xff, 0xf7, 0xc0, 0xff, 0xff, 0xf7, + 0x04, 0xfc, 0x00, 0xf0, 0x4a, 0xf8, 0xff, 0xf7, + 0x0a, 0xfc, 0x00, 0xf0, 0x3c, 0xf8, 0x80, 0xbd, + 0x00, 0x00, 0xe4, 0x65, 0x01, 0x00, 0x3c, 0x00, + 0x30, 0x2b, 0x04, 0x00, 0x80, 0xb5, 0x00, 0xf0, + 0x29, 0xf8, 0x00, 0xf0, 0x1b, 0xf8, 0x00, 0xf0, + 0x51, 0xf8, 0x00, 0xf0, 0x31, 0xf8, 0x80, 0xbd, + 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x80, 0xb5, 0xff, 0x21, 0x89, 0x31, 0x02, 0x48, + 0xbd, 0xf7, 0xa2, 0xfc, 0x80, 0xbd, 0x00, 0x00, + 0xdc, 0x71, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x49, + 0x08, 0x20, 0xcf, 0xf7, 0x11, 0xfc, 0x80, 0xbd, + 0x3c, 0x00, 0x6c, 0x2b, 0x04, 0x00, 0x59, 0xd9, + 0x00, 0x00, 0x80, 0xb5, 0x03, 0x48, 0xcf, 0xf7, + 0x4c, 0xf9, 0x02, 0x49, 0x48, 0x80, 0x80, 0xbd, + 0x00, 0x00, 0x8d, 0x1f, 0x00, 0x00, 0x98, 0x7c, + 0x01, 0x00, 0x80, 0xb5, 0x03, 0x48, 0xcf, 0xf7, + 0x40, 0xf9, 0x02, 0x49, 0x88, 0x80, 0x80, 0xbd, + 0x00, 0x00, 0xd5, 0x23, 0x00, 0x00, 0x58, 0x7c, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x80, 0xb5, + 0x02, 0x48, 0x3c, 0x00, 0xa8, 0x2b, 0x04, 0x00, + 0xca, 0xf7, 0xe4, 0xfb, 0x80, 0xbd, 0x00, 0x00, + 0x71, 0xe0, 0x00, 0x00, 0x80, 0xb5, 0xcc, 0xf7, + 0xa5, 0xfb, 0x02, 0x21, 0x0f, 0x20, 0x06, 0x4a, + 0xd0, 0xf7, 0xc2, 0xfd, 0x14, 0x21, 0x05, 0x48, + 0xbd, 0xf7, 0x68, 0xfc, 0x03, 0x48, 0x78, 0x21, + 0x14, 0x30, 0xbd, 0xf7, 0x63, 0xfc, 0x80, 0xbd, + 0x35, 0xe2, 0x00, 0x00, 0x84, 0x66, 0x01, 0x00, + 0x80, 0xb5, 0xcc, 0xf7, 0x3c, 0x00, 0xe4, 0x2b, + 0x04, 0x00, 0xb7, 0xfb, 0x05, 0x49, 0x08, 0x61, + 0x05, 0x49, 0x0e, 0x20, 0xcf, 0xf7, 0xcd, 0xfb, + 0x04, 0x49, 0x08, 0x20, 0xcf, 0xf7, 0xc9, 0xfb, + 0x80, 0xbd, 0xec, 0x65, 0x01, 0x00, 0x01, 0x02, + 0x01, 0x00, 0xc1, 0x2e, 0x00, 0x00, 0x01, 0x49, + 0x00, 0x20, 0x08, 0x70, 0x70, 0x47, 0x40, 0xd9, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x01, 0x49, + 0x00, 0x20, 0x08, 0x70, 0x70, 0x47, 0x3c, 0x00, + 0x20, 0x2c, 0x04, 0x00, 0xa0, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x07, 0x48, 0xc8, 0xf7, 0xf2, 0xff, + 0x06, 0x49, 0x48, 0x60, 0x06, 0x48, 0xc0, 0xf7, + 0x07, 0xfb, 0x06, 0x48, 0xc0, 0xf7, 0x86, 0xfb, + 0x05, 0x48, 0xc9, 0xf7, 0xa3, 0xfa, 0x80, 0xbd, + 0xa9, 0xe4, 0x00, 0x00, 0xa0, 0x79, 0x01, 0x00, + 0xb9, 0xe4, 0x00, 0x00, 0x85, 0x2e, 0x00, 0x00, + 0x81, 0xe4, 0x00, 0x00, 0x07, 0x48, 0x80, 0xb5, + 0x3c, 0x00, 0x5c, 0x2c, 0x04, 0x00, 0x00, 0x21, + 0x00, 0x22, 0x00, 0x23, 0x0e, 0xc0, 0x08, 0xc0, + 0x10, 0x38, 0xc8, 0x21, 0x01, 0x60, 0x00, 0x21, + 0x0c, 0x38, 0x02, 0x4a, 0xcc, 0xf7, 0x61, 0xfb, + 0x80, 0xbd, 0xd0, 0x60, 0x01, 0x00, 0xfd, 0xe5, + 0x00, 0x00, 0x80, 0xb5, 0xcc, 0xf7, 0x67, 0xfb, + 0x04, 0x49, 0x08, 0x60, 0x01, 0x1c, 0x02, 0x48, + 0x04, 0x30, 0xcc, 0xf7, 0x86, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0x3c, 0x00, 0x98, 0x2c, 0x04, 0x00, + 0xc0, 0x60, 0x01, 0x00, 0x09, 0x48, 0x80, 0xb5, + 0x0a, 0x21, 0x01, 0x70, 0x41, 0x70, 0x08, 0x49, + 0x08, 0x4a, 0x81, 0x60, 0x00, 0x21, 0xc1, 0x60, + 0x52, 0x79, 0x82, 0x70, 0x01, 0x61, 0x41, 0x61, + 0x28, 0x21, 0x18, 0x30, 0xbd, 0xf7, 0xee, 0xfb, + 0x80, 0xbd, 0x00, 0x00, 0x7c, 0x78, 0x01, 0x00, + 0xa0, 0x86, 0x01, 0x00, 0x0c, 0x5a, 0x01, 0x00, + 0xf8, 0xb5, 0x0f, 0x49, 0x3c, 0x00, 0xd4, 0x2c, + 0x04, 0x00, 0x0f, 0x48, 0x0d, 0x88, 0x4f, 0x88, + 0x06, 0x79, 0x00, 0x24, 0x30, 0x1b, 0x68, 0x43, + 0x68, 0x23, 0x0c, 0x49, 0x58, 0x43, 0x41, 0x18, + 0x7d, 0x20, 0xc0, 0x00, 0xbd, 0xf7, 0x0f, 0xfd, + 0x61, 0x00, 0x09, 0x4a, 0xa6, 0x42, 0x50, 0x52, + 0x00, 0xd1, 0x3d, 0x1c, 0x01, 0x34, 0x24, 0x06, + 0x24, 0x0e, 0x10, 0x2c, 0xea, 0xd3, 0x05, 0x49, + 0x01, 0x20, 0x08, 0x61, 0xf8, 0xbd, 0x3c, 0x00, + 0x10, 0x2d, 0x04, 0x00, 0xf6, 0x59, 0x01, 0x00, + 0x0c, 0x5a, 0x01, 0x00, 0x34, 0x44, 0x0f, 0x00, + 0x12, 0x5a, 0x01, 0x00, 0x7c, 0x78, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0xf0, 0xe7, 0xfa, 0x02, 0x49, + 0x01, 0x20, 0x08, 0x61, 0x80, 0xbd, 0x00, 0x00, + 0x7c, 0x78, 0x01, 0x00, 0x10, 0xb5, 0x04, 0x1c, + 0x08, 0x1c, 0x0f, 0x49, 0x49, 0x79, 0x00, 0x29, + 0x01, 0xd1, 0x0e, 0x4b, 0x00, 0xe0, 0x0e, 0x4b, + 0x3c, 0x00, 0x4c, 0x2d, 0x04, 0x00, 0x00, 0x2c, + 0x07, 0xd0, 0x04, 0x21, 0x11, 0x80, 0x0a, 0x1c, + 0x01, 0x24, 0x19, 0x1c, 0xbd, 0xf7, 0xcd, 0xfb, + 0x0a, 0xe0, 0x01, 0x24, 0x01, 0x1c, 0x18, 0x1c, + 0x12, 0x88, 0xbd, 0xf7, 0xc6, 0xfb, 0x00, 0xf0, + 0xc4, 0xfa, 0x05, 0x49, 0x01, 0x20, 0x08, 0x61, + 0x20, 0x1c, 0x10, 0xbd, 0x00, 0x00, 0x0c, 0x5a, + 0x01, 0x00, 0xfe, 0x59, 0x01, 0x00, 0xfa, 0x59, + 0x01, 0x00, 0x3c, 0x00, 0x88, 0x2d, 0x04, 0x00, + 0x7c, 0x78, 0x01, 0x00, 0x0d, 0x48, 0x8c, 0xb5, + 0xc1, 0x88, 0x00, 0xab, 0x0c, 0x4a, 0x99, 0x80, + 0x01, 0x89, 0x04, 0x20, 0xd9, 0x80, 0x18, 0x80, + 0x02, 0x21, 0x13, 0x20, 0xd0, 0xf7, 0xd0, 0xfc, + 0x00, 0xf0, 0xa6, 0xfa, 0x07, 0x49, 0x01, 0x20, + 0x08, 0x61, 0xff, 0xf7, 0x8d, 0xff, 0x6a, 0x46, + 0x01, 0xa9, 0x00, 0x20, 0xff, 0xf7, 0xbc, 0xff, + 0x8c, 0xbd, 0x00, 0x00, 0x3c, 0x00, 0xc4, 0x2d, + 0x04, 0x00, 0xf4, 0x59, 0x01, 0x00, 0x95, 0xf9, + 0x00, 0x00, 0x7c, 0x78, 0x01, 0x00, 0xf8, 0xb5, + 0x13, 0x4e, 0x01, 0x25, 0xb5, 0x70, 0x05, 0x20, + 0xf0, 0x70, 0x11, 0x49, 0x10, 0x48, 0x0e, 0xc9, + 0x2c, 0x30, 0x0e, 0xc0, 0x00, 0x20, 0x70, 0x61, + 0x0f, 0x48, 0x0f, 0x49, 0x10, 0x4f, 0x00, 0x24, + 0x48, 0x60, 0xa0, 0x00, 0x39, 0x58, 0x20, 0x1c, + 0xd1, 0xf7, 0xd7, 0xf8, 0x01, 0x34, 0x3c, 0x00, + 0x00, 0x2e, 0x04, 0x00, 0x10, 0x2c, 0xf7, 0xd3, + 0x06, 0x4c, 0x0b, 0x4a, 0x20, 0x34, 0x20, 0x1c, + 0x0a, 0x49, 0xb5, 0x60, 0xcc, 0xf7, 0x92, 0xfa, + 0xcc, 0xf7, 0x9e, 0xfa, 0x30, 0x61, 0x20, 0x60, + 0xf8, 0xbd, 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, + 0xb0, 0x58, 0x01, 0x00, 0x04, 0x18, 0x02, 0x00, + 0x60, 0x00, 0x07, 0x00, 0xd4, 0x44, 0x01, 0x00, + 0x45, 0xfa, 0x00, 0x00, 0x71, 0xfa, 0x00, 0x00, + 0x3c, 0x00, 0x3c, 0x2e, 0x04, 0x00, 0x0c, 0x49, + 0x30, 0xb5, 0x00, 0x23, 0xcc, 0x56, 0x0b, 0x4b, + 0x00, 0x20, 0xf0, 0x25, 0x1a, 0x5c, 0x11, 0x07, + 0x09, 0x0f, 0x09, 0x19, 0x0f, 0x29, 0x01, 0xdd, + 0x0f, 0x21, 0x02, 0xe0, 0x00, 0x29, 0x00, 0xda, + 0x00, 0x21, 0x2a, 0x40, 0x51, 0x18, 0x19, 0x54, + 0x01, 0x30, 0x0e, 0x28, 0xee, 0xdb, 0x30, 0xbd, + 0x00, 0x00, 0x64, 0x73, 0x01, 0x00, 0xc0, 0x58, + 0x01, 0x00, 0x3c, 0x00, 0x78, 0x2e, 0x04, 0x00, + 0xb0, 0xb5, 0x0d, 0x1c, 0x00, 0x28, 0x08, 0xd0, + 0x01, 0x24, 0x14, 0x80, 0x05, 0x20, 0xcc, 0xf7, + 0xb5, 0xf8, 0x80, 0x03, 0xc0, 0x0f, 0x28, 0x70, + 0x07, 0xe0, 0x28, 0x78, 0x01, 0x22, 0x41, 0x04, + 0x52, 0x04, 0x05, 0x20, 0xd0, 0xf7, 0xae, 0xfd, + 0x01, 0x24, 0x20, 0x1c, 0xb0, 0xbd, 0x00, 0x00, + 0x98, 0xb5, 0x05, 0x4c, 0x60, 0x68, 0xcc, 0xf7, + 0xf5, 0xfd, 0x00, 0x90, 0x3c, 0x00, 0xb4, 0x2e, + 0x04, 0x00, 0x00, 0xab, 0x18, 0x88, 0xe0, 0x80, + 0xce, 0xf7, 0xfb, 0xff, 0x98, 0xbd, 0xa0, 0x58, + 0x01, 0x00, 0x38, 0xb5, 0x03, 0x1c, 0x08, 0x1c, + 0x00, 0x24, 0x00, 0x2b, 0x17, 0x4d, 0x07, 0xd0, + 0x0e, 0x21, 0x11, 0x80, 0x0a, 0x1c, 0x01, 0x24, + 0x29, 0x1c, 0xbd, 0xf7, 0x0c, 0xfb, 0x22, 0xe0, + 0x11, 0x88, 0x04, 0x29, 0x17, 0xd1, 0x01, 0x1c, + 0x68, 0x46, 0x12, 0x88, 0xbd, 0xf7, 0x3c, 0x00, + 0xf0, 0x2e, 0x04, 0x00, 0x03, 0xfb, 0x00, 0x98, + 0x00, 0x28, 0x01, 0xdb, 0x32, 0x30, 0x00, 0xe0, + 0x32, 0x38, 0x00, 0x90, 0x01, 0x1c, 0x64, 0x20, + 0xbd, 0xf7, 0x98, 0xfb, 0x01, 0x06, 0x09, 0x16, + 0x00, 0x90, 0x0e, 0x22, 0x28, 0x1c, 0xbd, 0xf7, + 0x85, 0xfb, 0x06, 0xe0, 0x0e, 0x29, 0x05, 0xd1, + 0x0a, 0x1c, 0x01, 0x1c, 0x28, 0x1c, 0xbd, 0xf7, + 0xe9, 0xfa, 0x01, 0x24, 0x20, 0x1c, 0x38, 0xbd, + 0x3c, 0x00, 0x2c, 0x2f, 0x04, 0x00, 0xda, 0x59, + 0x01, 0x00, 0x38, 0xb5, 0x03, 0x1c, 0x08, 0x1c, + 0x00, 0x24, 0x00, 0x2b, 0x17, 0x4d, 0x07, 0xd0, + 0x0e, 0x21, 0x11, 0x80, 0x0a, 0x1c, 0x01, 0x24, + 0x29, 0x1c, 0xbd, 0xf7, 0xd6, 0xfa, 0x22, 0xe0, + 0x11, 0x88, 0x04, 0x29, 0x17, 0xd1, 0x01, 0x1c, + 0x68, 0x46, 0x12, 0x88, 0xbd, 0xf7, 0xcd, 0xfa, + 0x00, 0x98, 0x00, 0x28, 0x01, 0xdb, 0x32, 0x30, + 0x00, 0xe0, 0x3c, 0x00, 0x68, 0x2f, 0x04, 0x00, + 0x32, 0x38, 0x00, 0x90, 0x01, 0x1c, 0x64, 0x20, + 0xbd, 0xf7, 0x62, 0xfb, 0x01, 0x06, 0x09, 0x16, + 0x00, 0x90, 0x0e, 0x22, 0x28, 0x1c, 0xbd, 0xf7, + 0x4f, 0xfb, 0x06, 0xe0, 0x0e, 0x29, 0x05, 0xd1, + 0x0a, 0x1c, 0x01, 0x1c, 0x28, 0x1c, 0xbd, 0xf7, + 0xb3, 0xfa, 0x01, 0x24, 0x20, 0x1c, 0x38, 0xbd, + 0xcc, 0x59, 0x01, 0x00, 0x03, 0x48, 0x80, 0xb5, + 0x01, 0x78, 0x00, 0x20, 0x3c, 0x00, 0xa4, 0x2f, + 0x04, 0x00, 0xcc, 0xf7, 0xb4, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0xa6, 0x58, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x02, 0x49, 0x03, 0x20, 0x08, 0x70, + 0x00, 0x20, 0x48, 0x70, 0x70, 0x47, 0x9c, 0x73, + 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, 0x11, 0x20, + 0x02, 0x4a, 0xd0, 0xf7, 0xbc, 0xfb, 0x80, 0xbd, + 0x00, 0x00, 0xa1, 0xfe, 0x00, 0x00, 0xf0, 0xb5, + 0x0b, 0x4f, 0x1c, 0x1c, 0x00, 0x23, 0x3c, 0x00, + 0xe0, 0x2f, 0x04, 0x00, 0xfd, 0x56, 0x2b, 0x1c, + 0x06, 0x2d, 0x01, 0xd1, 0x01, 0x20, 0xf0, 0xbd, + 0x06, 0x4e, 0x05, 0x1c, 0xd8, 0x00, 0x34, 0x36, + 0x35, 0x54, 0x80, 0x19, 0x41, 0x70, 0x82, 0x70, + 0x44, 0x60, 0x58, 0x1c, 0x38, 0x70, 0x00, 0x20, + 0xf0, 0xbd, 0x00, 0x00, 0x98, 0x5a, 0x01, 0x00, + 0x10, 0xb5, 0x04, 0x1c, 0x0c, 0x48, 0x00, 0xf0, + 0x21, 0xf9, 0x60, 0x78, 0xff, 0x28, 0x04, 0xd0, + 0x3c, 0x00, 0x1c, 0x30, 0x04, 0x00, 0x01, 0x23, + 0xe0, 0x56, 0x06, 0x21, 0x00, 0xf0, 0xcd, 0xf8, + 0x08, 0x4a, 0x01, 0x21, 0x10, 0x78, 0x08, 0x43, + 0x07, 0x49, 0x08, 0x70, 0x20, 0x23, 0x18, 0x43, + 0x08, 0x70, 0x80, 0x23, 0x18, 0x43, 0x10, 0x70, + 0x08, 0x70, 0x10, 0xbd, 0x00, 0x00, 0x91, 0x9b, + 0x00, 0x00, 0xe0, 0x60, 0x01, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x10, 0xb5, 0x0a, 0x49, 0x04, 0x1c, + 0x08, 0x78, 0x3c, 0x00, 0x58, 0x30, 0x04, 0x00, + 0x40, 0x08, 0x40, 0x00, 0x08, 0x70, 0x08, 0x49, + 0x08, 0x70, 0x08, 0x48, 0x00, 0xf0, 0xf8, 0xf8, + 0x60, 0x78, 0xff, 0x28, 0x04, 0xd0, 0x01, 0x23, + 0xe0, 0x56, 0x05, 0x21, 0x00, 0xf0, 0xa4, 0xf8, + 0x10, 0xbd, 0x00, 0x00, 0xe0, 0x60, 0x01, 0x00, + 0x04, 0x00, 0x07, 0x00, 0x91, 0x9b, 0x00, 0x00, + 0x03, 0x48, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, + 0x0e, 0xc0, 0x08, 0xc0, 0x3c, 0x00, 0x94, 0x30, + 0x04, 0x00, 0x70, 0x47, 0x00, 0x00, 0xe8, 0x60, + 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, 0x10, 0xb5, + 0x07, 0x4c, 0x00, 0x20, 0x60, 0x60, 0x20, 0x80, + 0xe0, 0x60, 0x02, 0x21, 0x14, 0x20, 0x04, 0x4a, + 0xd0, 0xf7, 0x49, 0xfb, 0x02, 0x48, 0x10, 0x30, + 0xa0, 0x60, 0x10, 0xbd, 0x00, 0x00, 0x58, 0x75, + 0x01, 0x00, 0x05, 0x1d, 0x01, 0x00, 0x70, 0x47, + 0x00, 0x00, 0x10, 0xb5, 0x48, 0x21, 0x3c, 0x00, + 0xd0, 0x30, 0x04, 0x00, 0x0a, 0x48, 0xbd, 0xf7, + 0xe3, 0xf9, 0x09, 0x4c, 0xe0, 0x21, 0x48, 0x34, + 0x20, 0x1c, 0xbd, 0xf7, 0xdd, 0xf9, 0x00, 0x20, + 0xc1, 0x00, 0x09, 0x19, 0x0a, 0x1c, 0x08, 0x32, + 0x01, 0x30, 0x1b, 0x28, 0x4a, 0x60, 0xf7, 0xd3, + 0x01, 0x48, 0x04, 0x38, 0x04, 0x60, 0x10, 0xbd, + 0x68, 0x5b, 0x01, 0x00, 0x80, 0xb5, 0x02, 0x21, + 0x23, 0x20, 0x02, 0x4a, 0xd0, 0xf7, 0x1e, 0xfb, + 0x3c, 0x00, 0x0c, 0x31, 0x04, 0x00, 0x80, 0xbd, + 0x00, 0x00, 0x45, 0x23, 0x01, 0x00, 0x80, 0xb5, + 0xff, 0xf7, 0x6b, 0xf8, 0x80, 0xbd, 0x70, 0x47, + 0x00, 0x00, 0xf8, 0xb5, 0x01, 0x20, 0x1d, 0x49, + 0xc0, 0x07, 0x48, 0x60, 0x1d, 0x49, 0xff, 0x20, + 0x08, 0x73, 0x1c, 0x4e, 0x10, 0x20, 0x30, 0x60, + 0x05, 0x01, 0x35, 0x60, 0x1b, 0x4c, 0x80, 0x21, + 0x20, 0x1c, 0xbd, 0xf7, 0xac, 0xf9, 0x00, 0x21, + 0x19, 0x4a, 0x3c, 0x00, 0x48, 0x31, 0x04, 0x00, + 0x15, 0x4f, 0x00, 0x20, 0x0b, 0x01, 0x1b, 0x19, + 0x5a, 0x60, 0xcb, 0x00, 0xdb, 0x19, 0x18, 0x74, + 0x01, 0x31, 0x08, 0x29, 0xf6, 0xdb, 0x0f, 0x4c, + 0xfa, 0x21, 0x21, 0x80, 0x12, 0x49, 0x61, 0x80, + 0xa0, 0x60, 0x6a, 0x46, 0x11, 0x49, 0x04, 0x20, + 0xbd, 0xf7, 0x30, 0xff, 0x6a, 0x46, 0x10, 0x49, + 0x08, 0x20, 0xbd, 0xf7, 0x2b, 0xff, 0x10, 0x20, + 0x70, 0x60, 0x75, 0x60, 0x3c, 0x00, 0x84, 0x31, + 0x04, 0x00, 0x60, 0x68, 0x02, 0x21, 0x08, 0x43, + 0x60, 0x60, 0x0b, 0x49, 0x06, 0x4a, 0x08, 0x1c, + 0x10, 0x30, 0x08, 0x3a, 0x03, 0xc2, 0xf8, 0xbd, + 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x60, + 0x07, 0x00, 0x00, 0x10, 0x07, 0x00, 0xac, 0x73, + 0x01, 0x00, 0xd1, 0x75, 0x00, 0x00, 0x20, 0x4e, + 0x00, 0x00, 0x05, 0x2c, 0x01, 0x00, 0x11, 0x2c, + 0x01, 0x00, 0x00, 0xa0, 0x07, 0x00, 0x3c, 0x00, + 0xc0, 0x31, 0x04, 0x00, 0x70, 0xb5, 0x0e, 0x1c, + 0x00, 0x24, 0xc4, 0xf7, 0x5b, 0xfe, 0x00, 0x28, + 0x3b, 0xd0, 0x45, 0x68, 0xff, 0x2d, 0x38, 0xd0, + 0x0c, 0x2e, 0x28, 0xd2, 0x01, 0xa3, 0x9b, 0x5d, + 0x5b, 0x00, 0x9f, 0x44, 0x05, 0x07, 0x09, 0x0b, + 0x0d, 0x10, 0x13, 0x16, 0x18, 0x1b, 0x1e, 0x21, + 0x18, 0x24, 0x20, 0xe0, 0x30, 0x24, 0x1e, 0xe0, + 0x60, 0x24, 0x1c, 0xe0, 0xc0, 0x24, 0x1a, 0xe0, + 0x3c, 0x00, 0xfc, 0x31, 0x04, 0x00, 0xff, 0x24, + 0x81, 0x34, 0x17, 0xe0, 0x09, 0x24, 0xa4, 0x01, + 0x14, 0xe0, 0x09, 0x24, 0xe4, 0x01, 0x11, 0xe0, + 0x0f, 0x4c, 0x0f, 0xe0, 0x09, 0x24, 0x24, 0x02, + 0x0c, 0xe0, 0x09, 0x24, 0x64, 0x02, 0x09, 0xe0, + 0x03, 0x24, 0xe4, 0x02, 0x06, 0xe0, 0x09, 0x24, + 0xa4, 0x02, 0x03, 0xe0, 0x09, 0x21, 0x9e, 0x20, + 0xbe, 0xf7, 0x39, 0xf8, 0x60, 0x00, 0x00, 0x19, + 0x40, 0x08, 0x3c, 0x00, 0x38, 0x32, 0x04, 0x00, + 0x05, 0x49, 0x80, 0x04, 0x40, 0x18, 0x05, 0x4a, + 0xa9, 0x00, 0x89, 0x18, 0x48, 0x60, 0x64, 0x20, + 0x60, 0x43, 0x70, 0xbd, 0xdc, 0x07, 0x00, 0x00, + 0x80, 0x38, 0x01, 0x00, 0x04, 0x00, 0x07, 0x00, + 0x02, 0x49, 0x80, 0xb5, 0x08, 0x60, 0xd0, 0xf7, + 0x97, 0xf8, 0x80, 0xbd, 0x5c, 0x5b, 0x01, 0x00, + 0xf8, 0xb5, 0x00, 0x26, 0x17, 0x4c, 0x17, 0x4b, + 0x19, 0x49, 0x26, 0x70, 0x3c, 0x00, 0x74, 0x32, + 0x04, 0x00, 0x00, 0x20, 0x14, 0x33, 0x0d, 0x88, + 0x15, 0x4e, 0x15, 0x4a, 0x04, 0xe0, 0xc1, 0x00, + 0xcf, 0x18, 0x7a, 0x60, 0x5e, 0x50, 0x01, 0x30, + 0xa8, 0x42, 0xf8, 0xdb, 0xc6, 0xf7, 0x2b, 0xfd, + 0xff, 0x21, 0x11, 0x4d, 0xa5, 0x31, 0x28, 0x1c, + 0xbd, 0xf7, 0xff, 0xf8, 0x00, 0x21, 0x28, 0x1c, + 0x02, 0x1c, 0x14, 0x32, 0xc2, 0x60, 0x10, 0x1c, + 0x01, 0x31, 0x14, 0x29, 0xf8, 0xdb, 0x3c, 0x00, + 0xb0, 0x32, 0x04, 0x00, 0x00, 0x26, 0xc6, 0x60, + 0x05, 0x48, 0x0c, 0x30, 0x60, 0xc0, 0x09, 0x48, + 0x18, 0x21, 0xbd, 0xf7, 0xed, 0xf8, 0x01, 0x20, + 0x04, 0x34, 0x41, 0xc4, 0x00, 0x20, 0xf8, 0xbd, + 0x70, 0x5d, 0x01, 0x00, 0x09, 0xa0, 0x00, 0x00, + 0x30, 0xd9, 0x01, 0x00, 0x56, 0x57, 0x01, 0x00, + 0x04, 0x5f, 0x01, 0x00, 0xa8, 0x60, 0x01, 0x00, + 0x80, 0xb5, 0x00, 0x20, 0xcf, 0xf7, 0xb6, 0xfc, + 0x3c, 0x00, 0xec, 0x32, 0x04, 0x00, 0x01, 0x49, + 0x08, 0x80, 0x80, 0xbd, 0x00, 0x00, 0x2c, 0x74, + 0x01, 0x00, 0x11, 0x48, 0xf8, 0xb5, 0x41, 0x79, + 0x00, 0x29, 0x02, 0xd1, 0x05, 0x78, 0x0f, 0x4e, + 0x01, 0xe0, 0x45, 0x78, 0x0f, 0x4e, 0x02, 0x23, + 0xf7, 0x5e, 0x00, 0x24, 0x60, 0x1b, 0x78, 0x43, + 0x64, 0x23, 0x0c, 0x49, 0x58, 0x43, 0x41, 0x18, + 0x7d, 0x20, 0xc0, 0x00, 0xbd, 0xf7, 0xf5, 0xf9, + 0x61, 0x00, 0x3c, 0x00, 0x28, 0x33, 0x04, 0x00, + 0x09, 0x4a, 0xac, 0x42, 0x50, 0x52, 0x01, 0xd1, + 0x00, 0x23, 0xf7, 0x5e, 0x01, 0x34, 0x24, 0x06, + 0x24, 0x0e, 0x10, 0x2c, 0xe9, 0xd3, 0xf8, 0xbd, + 0x0c, 0x5a, 0x01, 0x00, 0xfe, 0x59, 0x01, 0x00, + 0xfa, 0x59, 0x01, 0x00, 0x34, 0x44, 0x0f, 0x00, + 0x32, 0x5a, 0x01, 0x00, 0x38, 0xb5, 0x10, 0x4c, + 0xbe, 0x25, 0x25, 0x73, 0x20, 0x7a, 0x18, 0x21, + 0x88, 0x43, 0x20, 0x72, 0x3c, 0x00, 0x64, 0x33, + 0x04, 0x00, 0x6a, 0x46, 0x0d, 0x49, 0x0d, 0x20, + 0xbd, 0xf7, 0x33, 0xfe, 0x01, 0x20, 0x0b, 0x49, + 0x40, 0x03, 0x08, 0x60, 0x48, 0x60, 0x25, 0x73, + 0x2d, 0x20, 0xc0, 0x03, 0x20, 0x60, 0x25, 0x73, + 0x20, 0x7a, 0x10, 0x21, 0x08, 0x43, 0x20, 0x72, + 0x06, 0x48, 0x06, 0x49, 0x08, 0x60, 0x00, 0x20, + 0x48, 0x60, 0x38, 0xbd, 0x00, 0x00, 0x00, 0x03, + 0x07, 0x00, 0x8d, 0x3e, 0x01, 0x00, 0x24, 0x00, + 0xa0, 0x33, 0x04, 0x00, 0x00, 0x10, 0x07, 0x00, + 0x00, 0x87, 0x93, 0x03, 0x04, 0x79, 0x01, 0x00, + 0x80, 0xb5, 0x02, 0x21, 0x15, 0x20, 0x02, 0x4a, + 0xd0, 0xf7, 0xc8, 0xf9, 0x80, 0xbd, 0x00, 0x00, + 0x0d, 0x3e, 0x01, 0x00, 0x70, 0x47, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x60, 0x04, 0x00, 0x44, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x40, 0x20, 0x07, 0x00, + 0xff, 0xff, 0xff, 0xff, +}; +const uint32_t fw_len = sizeof(fw_buf) / sizeof(fw_buf[0]); diff --git a/firmware/libraries/WiFi/extras/wifi_dnld/wifi_dnld.cproj b/firmware/libraries/WiFi/extras/wifi_dnld/wifi_dnld.cproj new file mode 100644 index 0000000..790db3c --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifi_dnld/wifi_dnld.cproj @@ -0,0 +1,495 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <SchemaVersion>2.0</SchemaVersion> + <ProjectVersion>6.0</ProjectVersion> + <ToolchainName>com.Atmel.AVRGCC32</ToolchainName> + <ProjectGuid>eb9606bc-de32-4edd-9cda-ae3bf36977a2</ProjectGuid> + <Name>wifi_dnld</Name> + <avrdevice>AT32uc3a1256</avrdevice> + <avrdeviceseries>none</avrdeviceseries> + <AvrProjectType>Importer</AvrProjectType> + <OutputType>Executable</OutputType> + <Language>C</Language> + <OutputFileName>wifi_dnld</OutputFileName> + <OutputFileExtension>.elf</OutputFileExtension> + <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory> + <ToolchainFlavour>Native</ToolchainFlavour> + <avrtool /> + <KeepTimersRunning>true</KeepTimersRunning> + <OverrideVtor>false</OverrideVtor> + <OverrideVtorValue /> + <eraseonlaunchrule>0</eraseonlaunchrule> + <AsfVersion>3.5.0</AsfVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> + <ToolchainSettings> + <Avr32Gcc> + <avr32gcc.common.outputfiles.hex>True</avr32gcc.common.outputfiles.hex> + <avr32gcc.common.outputfiles.lss>True</avr32gcc.common.outputfiles.lss> + <avr32gcc.common.outputfiles.eep>True</avr32gcc.common.outputfiles.eep> + <avr32gcc.common.outputfiles.srec>True</avr32gcc.common.outputfiles.srec> + <avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories>false</avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories> + <avr32gcc.compiler.preprocessor.PreprocessOnly>false</avr32gcc.compiler.preprocessor.PreprocessOnly> + <avr32gcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>BOARD=ARDUINO</Value> + </ListValues> + </avr32gcc.compiler.symbols.DefSymbols> + <avr32gcc.compiler.directories.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src</Value> + </ListValues> + </avr32gcc.compiler.directories.IncludePaths> + <avr32gcc.compiler.optimization.OtherFlags>-fdata-sections</avr32gcc.compiler.optimization.OtherFlags> + <avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection>true</avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection> + <avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.compiler.optimization.EnableFastMath>false</avr32gcc.compiler.optimization.EnableFastMath> + <avr32gcc.compiler.optimization.GeneratePositionIndependentCode>false</avr32gcc.compiler.optimization.GeneratePositionIndependentCode> + <avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions>true</avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions> + <avr32gcc.compiler.optimization.ForceDoubleWordAlignment>false</avr32gcc.compiler.optimization.ForceDoubleWordAlignment> + <avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool>false</avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool> + <avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing>false</avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing> + <avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData>false</avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData> + <avr32gcc.compiler.optimization.OtherDebuggingFlags /> + <avr32gcc.compiler.optimization.GenerateGprofInformation>false</avr32gcc.compiler.optimization.GenerateGprofInformation> + <avr32gcc.compiler.optimization.GenerateProfInformation>false</avr32gcc.compiler.optimization.GenerateProfInformation> + <avr32gcc.compiler.warnings.AllWarnings>true</avr32gcc.compiler.warnings.AllWarnings> + <avr32gcc.compiler.warnings.CheckSyntaxOnly>false</avr32gcc.compiler.warnings.CheckSyntaxOnly> + <avr32gcc.compiler.warnings.Pedantic>false</avr32gcc.compiler.warnings.Pedantic> + <avr32gcc.compiler.warnings.PedanticWarningsAsErrors>false</avr32gcc.compiler.warnings.PedanticWarningsAsErrors> + <avr32gcc.compiler.warnings.InhibitAllWarnings>false</avr32gcc.compiler.warnings.InhibitAllWarnings> + <avr32gcc.compiler.miscellaneous.OtherFlags>-c -fmessage-length=0</avr32gcc.compiler.miscellaneous.OtherFlags> + <avr32gcc.compiler.miscellaneous.SupportAnsiPrograms>false</avr32gcc.compiler.miscellaneous.SupportAnsiPrograms> + <avr32gcc.linker.general.DoNotUseStandardStartFiles>true</avr32gcc.linker.general.DoNotUseStandardStartFiles> + <avr32gcc.linker.general.DoNotUseDefaultLibraries>false</avr32gcc.linker.general.DoNotUseDefaultLibraries> + <avr32gcc.linker.general.NoStartupOrDefaultLibs>false</avr32gcc.linker.general.NoStartupOrDefaultLibs> + <avr32gcc.linker.general.OmitAllSymbolInformation>false</avr32gcc.linker.general.OmitAllSymbolInformation> + <avr32gcc.linker.general.NoSharedLibraries>false</avr32gcc.linker.general.NoSharedLibraries> + <avr32gcc.linker.libraries.Libraries> + <ListValues> + <Value>newlib_addons-at32ucr2-speed_opt</Value> + </ListValues> + </avr32gcc.linker.libraries.Libraries> + <avr32gcc.linker.libraries.LibrarySearchPaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.linker.libraries.LibrarySearchPaths> + <avr32gcc.linker.optimization.GarbageCollectUnusedSections>true</avr32gcc.linker.optimization.GarbageCollectUnusedSections> + <avr32gcc.linker.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.linker.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.linker.optimization.EnableFastMath>false</avr32gcc.linker.optimization.EnableFastMath> + <avr32gcc.linker.optimization.GeneratePositionIndependentCode>false</avr32gcc.linker.optimization.GeneratePositionIndependentCode> + <avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection>true</avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection> + <avr32gcc.linker.optimization.AllowDirectReferencesToDataSection>true</avr32gcc.linker.optimization.AllowDirectReferencesToDataSection> + <avr32gcc.assembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.assembler.general.IncludePaths> + <avr32gcc.assembler.general.AnounceVersion>false</avr32gcc.assembler.general.AnounceVersion> + <avr32gcc.preprocessingassembler.general.AssemblerFlags>-Wa,-g</avr32gcc.preprocessingassembler.general.AssemblerFlags> + <avr32gcc.preprocessingassembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.preprocessingassembler.general.IncludePaths> + <avr32gcc.preprocessingassembler.general.SuppressWarnings>false</avr32gcc.preprocessingassembler.general.SuppressWarnings> + <avr32gcc.preprocessingassembler.general.AnounceVersion>false</avr32gcc.preprocessingassembler.general.AnounceVersion> + </Avr32Gcc> + </ToolchainSettings> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <ToolchainSettings> + <Avr32Gcc> + <avr32gcc.common.outputfiles.hex>True</avr32gcc.common.outputfiles.hex> + <avr32gcc.common.outputfiles.lss>True</avr32gcc.common.outputfiles.lss> + <avr32gcc.common.outputfiles.eep>True</avr32gcc.common.outputfiles.eep> + <avr32gcc.common.outputfiles.srec>True</avr32gcc.common.outputfiles.srec> + <avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories>false</avr32gcc.compiler.preprocessor.DoNotSearchSystemDirectories> + <avr32gcc.compiler.preprocessor.PreprocessOnly>false</avr32gcc.compiler.preprocessor.PreprocessOnly> + <avr32gcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>BOARD=ARDUINO</Value> + </ListValues> + </avr32gcc.compiler.symbols.DefSymbols> + <avr32gcc.compiler.directories.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + <Value>../src</Value> + </ListValues> + </avr32gcc.compiler.directories.IncludePaths> + <avr32gcc.compiler.optimization.OtherFlags>-fdata-sections</avr32gcc.compiler.optimization.OtherFlags> + <avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection>true</avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection> + <avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.compiler.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.compiler.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.compiler.optimization.EnableFastMath>false</avr32gcc.compiler.optimization.EnableFastMath> + <avr32gcc.compiler.optimization.GeneratePositionIndependentCode>false</avr32gcc.compiler.optimization.GeneratePositionIndependentCode> + <avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions>true</avr32gcc.compiler.optimization.UseAssemblerForPseudoInstructions> + <avr32gcc.compiler.optimization.ForceDoubleWordAlignment>false</avr32gcc.compiler.optimization.ForceDoubleWordAlignment> + <avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool>false</avr32gcc.compiler.optimization.PutLargeImmediatesInConstPool> + <avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing>false</avr32gcc.compiler.optimization.DoNotInitializeGotRegisterBeforeUsing> + <avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData>false</avr32gcc.compiler.optimization.UseSectionRoDataForReadOnlyData> + <avr32gcc.compiler.optimization.DebugLevel>Maximum (-g3)</avr32gcc.compiler.optimization.DebugLevel> + <avr32gcc.compiler.optimization.OtherDebuggingFlags /> + <avr32gcc.compiler.optimization.GenerateGprofInformation>false</avr32gcc.compiler.optimization.GenerateGprofInformation> + <avr32gcc.compiler.optimization.GenerateProfInformation>false</avr32gcc.compiler.optimization.GenerateProfInformation> + <avr32gcc.compiler.warnings.AllWarnings>true</avr32gcc.compiler.warnings.AllWarnings> + <avr32gcc.compiler.warnings.CheckSyntaxOnly>false</avr32gcc.compiler.warnings.CheckSyntaxOnly> + <avr32gcc.compiler.warnings.Pedantic>false</avr32gcc.compiler.warnings.Pedantic> + <avr32gcc.compiler.warnings.PedanticWarningsAsErrors>false</avr32gcc.compiler.warnings.PedanticWarningsAsErrors> + <avr32gcc.compiler.warnings.InhibitAllWarnings>false</avr32gcc.compiler.warnings.InhibitAllWarnings> + <avr32gcc.compiler.miscellaneous.OtherFlags>-c -fmessage-length=0</avr32gcc.compiler.miscellaneous.OtherFlags> + <avr32gcc.compiler.miscellaneous.SupportAnsiPrograms>false</avr32gcc.compiler.miscellaneous.SupportAnsiPrograms> + <avr32gcc.linker.general.DoNotUseStandardStartFiles>true</avr32gcc.linker.general.DoNotUseStandardStartFiles> + <avr32gcc.linker.general.DoNotUseDefaultLibraries>false</avr32gcc.linker.general.DoNotUseDefaultLibraries> + <avr32gcc.linker.general.NoStartupOrDefaultLibs>false</avr32gcc.linker.general.NoStartupOrDefaultLibs> + <avr32gcc.linker.general.OmitAllSymbolInformation>false</avr32gcc.linker.general.OmitAllSymbolInformation> + <avr32gcc.linker.general.NoSharedLibraries>false</avr32gcc.linker.general.NoSharedLibraries> + <avr32gcc.linker.libraries.Libraries> + <ListValues> + <Value>newlib_addons-at32ucr2-speed_opt</Value> + </ListValues> + </avr32gcc.linker.libraries.Libraries> + <avr32gcc.linker.libraries.LibrarySearchPaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.linker.libraries.LibrarySearchPaths> + <avr32gcc.linker.optimization.GarbageCollectUnusedSections>true</avr32gcc.linker.optimization.GarbageCollectUnusedSections> + <avr32gcc.linker.optimization.EnableFastFloatingPointLibrary>false</avr32gcc.linker.optimization.EnableFastFloatingPointLibrary> + <avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations>false</avr32gcc.linker.optimization.EnableUnsafeMatchOptimizations> + <avr32gcc.linker.optimization.EnableFastMath>false</avr32gcc.linker.optimization.EnableFastMath> + <avr32gcc.linker.optimization.GeneratePositionIndependentCode>false</avr32gcc.linker.optimization.GeneratePositionIndependentCode> + <avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection>true</avr32gcc.linker.optimization.PutReadOnlyDataInWritableDataSection> + <avr32gcc.linker.optimization.AllowDirectReferencesToDataSection>true</avr32gcc.linker.optimization.AllowDirectReferencesToDataSection> + <avr32gcc.assembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.assembler.general.IncludePaths> + <avr32gcc.assembler.general.AnounceVersion>false</avr32gcc.assembler.general.AnounceVersion> + <avr32gcc.assembler.debugging.DebugLevel>Default (-g)</avr32gcc.assembler.debugging.DebugLevel> + <avr32gcc.preprocessingassembler.general.AssemblerFlags>-Wa,-g</avr32gcc.preprocessingassembler.general.AssemblerFlags> + <avr32gcc.preprocessingassembler.general.IncludePaths> + <ListValues> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/DEBUG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/SERVICES/MEMORY/CTRL_ACCESS</Value> + <Value>../src/CONFIG</Value> + <Value>../src/SOFTWARE_FRAMEWORK/COMPONENTS/MEMORY/DATA_FLASH/AT45DBX</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/USART</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/SPI</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/PM</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/GPIO</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/FLASHC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/INCLUDE</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS/PREPROCESSOR</Value> + <Value>../src/SOFTWARE_FRAMEWORK/UTILS</Value> + <Value>../src/SOFTWARE_FRAMEWORK/DRIVERS/INTC</Value> + <Value>../src/SOFTWARE_FRAMEWORK/BOARDS</Value> + </ListValues> + </avr32gcc.preprocessingassembler.general.IncludePaths> + <avr32gcc.preprocessingassembler.general.SuppressWarnings>false</avr32gcc.preprocessingassembler.general.SuppressWarnings> + <avr32gcc.preprocessingassembler.general.AnounceVersion>false</avr32gcc.preprocessingassembler.general.AnounceVersion> + <avr32gcc.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</avr32gcc.preprocessingassembler.debugging.DebugLevel> + </Avr32Gcc> + </ToolchainSettings> + </PropertyGroup> + <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" /> + <ItemGroup> + <Folder Include="src" /> + <Compile Include="src\clocks.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\clocks.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\flash_fw.c"> + <SubType>compile</SubType> + </Compile> + <None Include="src\license.txt"> + <SubType>compile</SubType> + </None> + <Compile Include="src\nor_flash.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\nor_flash.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\printf-stdarg.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\printf-stdarg.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\startup.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\startup.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\wl_fw.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\CONFIG" /> + <Compile Include="src\CONFIG\conf_access.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\CONFIG\conf_at45dbx.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\Doc" /> + <None Include="src\Doc\gettingstarted.pdf"> + <SubType>compile</SubType> + </None> + <None Include="src\Doc\SPB104 product brief.pdf"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\ASM" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\ASM\trampoline.x"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\BOARDS" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\BOARDS\board.h"> + <SubType>compile</SubType> + </Compile> + <None Include="src\SOFTWARE_FRAMEWORK\BOARDS\board.h.ori"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\BOARDS\ARDUINO" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\BOARDS\ARDUINO\arduino.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\BOARDS\ARDUINO\led.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\BOARDS\ARDUINO\led.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx_mem.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx_mem.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\FLASHC" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\FLASHC\flashc.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\FLASHC\flashc.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\GPIO" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\GPIO\gpio.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\GPIO\gpio.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\INTC" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\INTC\exception.x"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\INTC\intc.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\INTC\intc.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\pm.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\pm.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\pm_conf_clocks.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\power_clocks_lib.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\PM\power_clocks_lib.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\SPI" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\SPI\spi.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\SPI\spi.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\DRIVERS\USART" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\USART\usart.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\DRIVERS\USART\usart.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\MEMORY" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\SERVICES\MEMORY\CTRL_ACCESS" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\MEMORY\CTRL_ACCESS\ctrl_access.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\SERVICES\MEMORY\CTRL_ACCESS\ctrl_access.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\compiler.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\conf_isp.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\parts.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG\debug.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG\debug.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG\print_funcs.c"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\DEBUG\print_funcs.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS" /> + <None Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\libnewlib_addons-at32ucr2-speed_opt.a"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_cpu.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_exceptions.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_interrupts.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_io.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\LIBS\NEWLIB_ADDONS\INCLUDE\nlao_usart.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\0512" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\0512\GCC" /> + <None Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\0512\GCC\link_uc3a0512.lds"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\1256" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\1256\GCC" /> + <None Include="src\SOFTWARE_FRAMEWORK\UTILS\LINKER_SCRIPTS\AT32UC3A\1256\GCC\link_uc3a1256.lds"> + <SubType>compile</SubType> + </None> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR\mrepeat.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR\preprocessor.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR\stringz.h"> + <SubType>compile</SubType> + </Compile> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\PREPROCESSOR\tpaste.h"> + <SubType>compile</SubType> + </Compile> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\STARTUP_FILES" /> + <Folder Include="src\SOFTWARE_FRAMEWORK\UTILS\STARTUP_FILES\GCC" /> + <Compile Include="src\SOFTWARE_FRAMEWORK\UTILS\STARTUP_FILES\GCC\crt0.x"> + <SubType>compile</SubType> + </Compile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/firmware/libraries/WiFi/extras/wifishield.atsln b/firmware/libraries/WiFi/extras/wifishield.atsln new file mode 100644 index 0000000..e9a149b --- /dev/null +++ b/firmware/libraries/WiFi/extras/wifishield.atsln @@ -0,0 +1,36 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Atmel Studio Solution File, Format Version 11.00 +Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "wifi_dnld", "wifi_dnld\wifi_dnld.cproj", "{EB9606BC-DE32-4EDD-9CDA-AE3BF36977A2}" +EndProject +Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "wifiHD", "wifiHD\wifiHD.cproj", "{417E15DB-488A-4B56-8D4E-FBE832B2B649}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug_512|AVR = Debug_512|AVR + Debug|AVR = Debug|AVR + Release_512|AVR = Release_512|AVR + Release|AVR = Release|AVR + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EB9606BC-DE32-4EDD-9CDA-AE3BF36977A2}.Debug_512|AVR.ActiveCfg = Debug|AVR + {EB9606BC-DE32-4EDD-9CDA-AE3BF36977A2}.Debug_512|AVR.Build.0 = Debug|AVR + {EB9606BC-DE32-4EDD-9CDA-AE3BF36977A2}.Debug|AVR.ActiveCfg = Debug|AVR + {EB9606BC-DE32-4EDD-9CDA-AE3BF36977A2}.Debug|AVR.Build.0 = Debug|AVR + {EB9606BC-DE32-4EDD-9CDA-AE3BF36977A2}.Release_512|AVR.ActiveCfg = Release|AVR + {EB9606BC-DE32-4EDD-9CDA-AE3BF36977A2}.Release_512|AVR.Build.0 = Release|AVR + {EB9606BC-DE32-4EDD-9CDA-AE3BF36977A2}.Release|AVR.ActiveCfg = Release|AVR + {EB9606BC-DE32-4EDD-9CDA-AE3BF36977A2}.Release|AVR.Build.0 = Release|AVR + {417E15DB-488A-4B56-8D4E-FBE832B2B649}.Debug_512|AVR.ActiveCfg = Debug_512|AVR + {417E15DB-488A-4B56-8D4E-FBE832B2B649}.Debug_512|AVR.Build.0 = Debug_512|AVR + {417E15DB-488A-4B56-8D4E-FBE832B2B649}.Debug|AVR.ActiveCfg = Debug|AVR + {417E15DB-488A-4B56-8D4E-FBE832B2B649}.Debug|AVR.Build.0 = Debug|AVR + {417E15DB-488A-4B56-8D4E-FBE832B2B649}.Release_512|AVR.ActiveCfg = Release_512|AVR + {417E15DB-488A-4B56-8D4E-FBE832B2B649}.Release_512|AVR.Build.0 = Release_512|AVR + {417E15DB-488A-4B56-8D4E-FBE832B2B649}.Release|AVR.ActiveCfg = Release|AVR + {417E15DB-488A-4B56-8D4E-FBE832B2B649}.Release|AVR.Build.0 = Release|AVR + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/firmware/libraries/WiFi/keywords.txt b/firmware/libraries/WiFi/keywords.txt new file mode 100644 index 0000000..341114d --- /dev/null +++ b/firmware/libraries/WiFi/keywords.txt @@ -0,0 +1,59 @@ +####################################### +# Syntax Coloring Map For WiFi +####################################### + +####################################### +# Library (KEYWORD1) +####################################### + +WiFi KEYWORD1 WiFi +WiFiUdp KEYWORD1 WiFiUDPConstructor + +####################################### +# Datatypes (KEYWORD1) +####################################### + +Client KEYWORD1 WiFiClientConstructor +Server KEYWORD1 WiFiServerConstructor + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +firmwareVersion KEYWORD2 +status KEYWORD2 +connect KEYWORD2 +write KEYWORD2 +available KEYWORD2 +config KEYWORD2 +setDNS KEYWORD2 +read KEYWORD2 +flush KEYWORD2 +stop KEYWORD2 +connected KEYWORD2 +begin KEYWORD2 +disconnect KEYWORD2 +macAddress KEYWORD2 +localIP KEYWORD2 +subnetMask KEYWORD2 +gatewayIP KEYWORD2 +SSID KEYWORD2 +BSSID KEYWORD2 +RSSI KEYWORD2 +encryptionType KEYWORD2 +getResult KEYWORD2 +getSocket KEYWORD2 +WiFiClient KEYWORD2 WiFiClient +WiFiServer KEYWORD2 WiFiServer +WiFiUDP KEYWORD2 WiFiUDPConstructor +beginPacket KEYWORD2 +endPacket KEYWORD2 +parsePacket KEYWORD2 +remoteIP KEYWORD2 +remotePort KEYWORD2 + + +####################################### +# Constants (LITERAL1) +####################################### + diff --git a/firmware/libraries/WiFi/library.properties b/firmware/libraries/WiFi/library.properties new file mode 100644 index 0000000..94e8308 --- /dev/null +++ b/firmware/libraries/WiFi/library.properties @@ -0,0 +1,9 @@ +name=WiFi +version=1.2.7 +author=Arduino +maintainer=Arduino <info@arduino.cc> +sentence=Enables network connection (local and Internet) using the Arduino WiFi shield. +paragraph=With this library you can instantiate Servers, Clients and send/receive UDP packets through WiFi. The shield can connect either to open or encrypted networks (WEP, WPA). The IP address can be assigned statically or through a DHCP. The library can also manage DNS. +category=Communication +url=http://www.arduino.cc/en/Reference/WiFi +architectures=* diff --git a/firmware/libraries/WiFi/src/WiFi.cpp b/firmware/libraries/WiFi/src/WiFi.cpp new file mode 100644 index 0000000..88b18b0 --- /dev/null +++ b/firmware/libraries/WiFi/src/WiFi.cpp @@ -0,0 +1,248 @@ +/* + WiFi.cpp - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "utility/wifi_drv.h" +#include "WiFi.h" + +extern "C" { + #include "utility/wl_definitions.h" + #include "utility/wl_types.h" + #include "utility/debug.h" +} + +// XXX: don't make assumptions about the value of MAX_SOCK_NUM. +int16_t WiFiClass::_state[MAX_SOCK_NUM] = { NA_STATE, NA_STATE, NA_STATE, NA_STATE }; +uint16_t WiFiClass::_server_port[MAX_SOCK_NUM] = { 0, 0, 0, 0 }; + +WiFiClass::WiFiClass() +{ +} + +void WiFiClass::init() +{ + WiFiDrv::wifiDriverInit(); +} + +uint8_t WiFiClass::getSocket() +{ + for (uint8_t i = 0; i < MAX_SOCK_NUM; ++i) + { + if (WiFiClass::_server_port[i] == 0) + { + return i; + } + } + return NO_SOCKET_AVAIL; +} + +char* WiFiClass::firmwareVersion() +{ + return WiFiDrv::getFwVersion(); +} + +int WiFiClass::begin(char* ssid) +{ + uint8_t status = WL_IDLE_STATUS; + uint8_t attempts = WL_MAX_ATTEMPT_CONNECTION; + + if (WiFiDrv::wifiSetNetwork(ssid, strlen(ssid)) != WL_FAILURE) + { + do + { + delay(WL_DELAY_START_CONNECTION); + status = WiFiDrv::getConnectionStatus(); + } + while ((( status == WL_IDLE_STATUS)||(status == WL_SCAN_COMPLETED))&&(--attempts>0)); + }else + { + status = WL_CONNECT_FAILED; + } + return status; +} + +int WiFiClass::begin(char* ssid, uint8_t key_idx, const char *key) +{ + uint8_t status = WL_IDLE_STATUS; + uint8_t attempts = WL_MAX_ATTEMPT_CONNECTION; + + // set encryption key + if (WiFiDrv::wifiSetKey(ssid, strlen(ssid), key_idx, key, strlen(key)) != WL_FAILURE) + { + do + { + delay(WL_DELAY_START_CONNECTION); + status = WiFiDrv::getConnectionStatus(); + }while ((( status == WL_IDLE_STATUS)||(status == WL_SCAN_COMPLETED))&&(--attempts>0)); + }else{ + status = WL_CONNECT_FAILED; + } + return status; +} + +int WiFiClass::begin(char* ssid, const char *passphrase) +{ + uint8_t status = WL_IDLE_STATUS; + uint8_t attempts = WL_MAX_ATTEMPT_CONNECTION; + + // set passphrase + if (WiFiDrv::wifiSetPassphrase(ssid, strlen(ssid), passphrase, strlen(passphrase))!= WL_FAILURE) + { + do + { + delay(WL_DELAY_START_CONNECTION); + status = WiFiDrv::getConnectionStatus(); + } + while ((( status == WL_IDLE_STATUS)||(status == WL_SCAN_COMPLETED))&&(--attempts>0)); + }else{ + status = WL_CONNECT_FAILED; + } + return status; +} + +void WiFiClass::config(IPAddress local_ip) +{ + WiFiDrv::config(1, (uint32_t)local_ip, 0, 0); +} + +void WiFiClass::config(IPAddress local_ip, IPAddress dns_server) +{ + WiFiDrv::config(1, (uint32_t)local_ip, 0, 0); + WiFiDrv::setDNS(1, (uint32_t)dns_server, 0); +} + +void WiFiClass::config(IPAddress local_ip, IPAddress dns_server, IPAddress gateway) +{ + WiFiDrv::config(2, (uint32_t)local_ip, (uint32_t)gateway, 0); + WiFiDrv::setDNS(1, (uint32_t)dns_server, 0); +} + +void WiFiClass::config(IPAddress local_ip, IPAddress dns_server, IPAddress gateway, IPAddress subnet) +{ + WiFiDrv::config(3, (uint32_t)local_ip, (uint32_t)gateway, (uint32_t)subnet); + WiFiDrv::setDNS(1, (uint32_t)dns_server, 0); +} + +void WiFiClass::setDNS(IPAddress dns_server1) +{ + WiFiDrv::setDNS(1, (uint32_t)dns_server1, 0); +} + +void WiFiClass::setDNS(IPAddress dns_server1, IPAddress dns_server2) +{ + WiFiDrv::setDNS(2, (uint32_t)dns_server1, (uint32_t)dns_server2); +} + +int WiFiClass::disconnect() +{ + return WiFiDrv::disconnect(); +} + +uint8_t* WiFiClass::macAddress(uint8_t* mac) +{ + uint8_t* _mac = WiFiDrv::getMacAddress(); + memcpy(mac, _mac, WL_MAC_ADDR_LENGTH); + return mac; +} + +IPAddress WiFiClass::localIP() +{ + IPAddress ret; + WiFiDrv::getIpAddress(ret); + return ret; +} + +IPAddress WiFiClass::subnetMask() +{ + IPAddress ret; + WiFiDrv::getSubnetMask(ret); + return ret; +} + +IPAddress WiFiClass::gatewayIP() +{ + IPAddress ret; + WiFiDrv::getGatewayIP(ret); + return ret; +} + +char* WiFiClass::SSID() +{ + return WiFiDrv::getCurrentSSID(); +} + +uint8_t* WiFiClass::BSSID(uint8_t* bssid) +{ + uint8_t* _bssid = WiFiDrv::getCurrentBSSID(); + memcpy(bssid, _bssid, WL_MAC_ADDR_LENGTH); + return bssid; +} + +int32_t WiFiClass::RSSI() +{ + return WiFiDrv::getCurrentRSSI(); +} + +uint8_t WiFiClass::encryptionType() +{ + return WiFiDrv::getCurrentEncryptionType(); +} + + +int8_t WiFiClass::scanNetworks() +{ + uint8_t attempts = 10; + uint8_t numOfNetworks = 0; + + if (WiFiDrv::startScanNetworks() == WL_FAILURE) + return WL_FAILURE; + do + { + delay(2000); + numOfNetworks = WiFiDrv::getScanNetworks(); + } + while (( numOfNetworks == 0)&&(--attempts>0)); + return numOfNetworks; +} + +char* WiFiClass::SSID(uint8_t networkItem) +{ + return WiFiDrv::getSSIDNetoworks(networkItem); +} + +int32_t WiFiClass::RSSI(uint8_t networkItem) +{ + return WiFiDrv::getRSSINetoworks(networkItem); +} + +uint8_t WiFiClass::encryptionType(uint8_t networkItem) +{ + return WiFiDrv::getEncTypeNetowrks(networkItem); +} + +uint8_t WiFiClass::status() +{ + return WiFiDrv::getConnectionStatus(); +} + +int WiFiClass::hostByName(const char* aHostname, IPAddress& aResult) +{ + return WiFiDrv::getHostByName(aHostname, aResult); +} + +WiFiClass WiFi; diff --git a/firmware/libraries/WiFi/src/WiFi.h b/firmware/libraries/WiFi/src/WiFi.h new file mode 100644 index 0000000..ef49428 --- /dev/null +++ b/firmware/libraries/WiFi/src/WiFi.h @@ -0,0 +1,246 @@ +/* + WiFi.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef WiFi_h +#define WiFi_h + +#include <inttypes.h> + +extern "C" { + #include "utility/wl_definitions.h" + #include "utility/wl_types.h" +} + +#include "IPAddress.h" +#include "WiFiClient.h" +#include "WiFiServer.h" + +class WiFiClass +{ +private: + + static void init(); +public: + static int16_t _state[MAX_SOCK_NUM]; + static uint16_t _server_port[MAX_SOCK_NUM]; + + WiFiClass(); + + /* + * Get the first socket available + */ + static uint8_t getSocket(); + + /* + * Get firmware version + */ + static char* firmwareVersion(); + + + /* Start Wifi connection for OPEN networks + * + * param ssid: Pointer to the SSID string. + */ + int begin(char* ssid); + + /* Start Wifi connection with WEP encryption. + * Configure a key into the device. The key type (WEP-40, WEP-104) + * is determined by the size of the key (5 bytes for WEP-40, 13 bytes for WEP-104). + * + * param ssid: Pointer to the SSID string. + * param key_idx: The key index to set. Valid values are 0-3. + * param key: Key input buffer. + */ + int begin(char* ssid, uint8_t key_idx, const char* key); + + /* Start Wifi connection with passphrase + * the most secure supported mode will be automatically selected + * + * param ssid: Pointer to the SSID string. + * param passphrase: Passphrase. Valid characters in a passphrase + * must be between ASCII 32-126 (decimal). + */ + int begin(char* ssid, const char *passphrase); + + /* Change Ip configuration settings disabling the dhcp client + * + * param local_ip: Static ip configuration + */ + void config(IPAddress local_ip); + + /* Change Ip configuration settings disabling the dhcp client + * + * param local_ip: Static ip configuration + * param dns_server: IP configuration for DNS server 1 + */ + void config(IPAddress local_ip, IPAddress dns_server); + + /* Change Ip configuration settings disabling the dhcp client + * + * param local_ip: Static ip configuration + * param dns_server: IP configuration for DNS server 1 + * param gateway : Static gateway configuration + */ + void config(IPAddress local_ip, IPAddress dns_server, IPAddress gateway); + + /* Change Ip configuration settings disabling the dhcp client + * + * param local_ip: Static ip configuration + * param dns_server: IP configuration for DNS server 1 + * param gateway: Static gateway configuration + * param subnet: Static Subnet mask + */ + void config(IPAddress local_ip, IPAddress dns_server, IPAddress gateway, IPAddress subnet); + + /* Change DNS Ip configuration + * + * param dns_server1: ip configuration for DNS server 1 + */ + void setDNS(IPAddress dns_server1); + + /* Change DNS Ip configuration + * + * param dns_server1: ip configuration for DNS server 1 + * param dns_server2: ip configuration for DNS server 2 + * + */ + void setDNS(IPAddress dns_server1, IPAddress dns_server2); + + /* + * Disconnect from the network + * + * return: one value of wl_status_t enum + */ + int disconnect(void); + + /* + * Get the interface MAC address. + * + * return: pointer to uint8_t array with length WL_MAC_ADDR_LENGTH + */ + uint8_t* macAddress(uint8_t* mac); + + /* + * Get the interface IP address. + * + * return: Ip address value + */ + IPAddress localIP(); + + /* + * Get the interface subnet mask address. + * + * return: subnet mask address value + */ + IPAddress subnetMask(); + + /* + * Get the gateway ip address. + * + * return: gateway ip address value + */ + IPAddress gatewayIP(); + + /* + * Return the current SSID associated with the network + * + * return: ssid string + */ + char* SSID(); + + /* + * Return the current BSSID associated with the network. + * It is the MAC address of the Access Point + * + * return: pointer to uint8_t array with length WL_MAC_ADDR_LENGTH + */ + uint8_t* BSSID(uint8_t* bssid); + + /* + * Return the current RSSI /Received Signal Strength in dBm) + * associated with the network + * + * return: signed value + */ + int32_t RSSI(); + + /* + * Return the Encryption Type associated with the network + * + * return: one value of wl_enc_type enum + */ + uint8_t encryptionType(); + + /* + * Start scan WiFi networks available + * + * return: Number of discovered networks + */ + int8_t scanNetworks(); + + /* + * Return the SSID discovered during the network scan. + * + * param networkItem: specify from which network item want to get the information + * + * return: ssid string of the specified item on the networks scanned list + */ + char* SSID(uint8_t networkItem); + + /* + * Return the encryption type of the networks discovered during the scanNetworks + * + * param networkItem: specify from which network item want to get the information + * + * return: encryption type (enum wl_enc_type) of the specified item on the networks scanned list + */ + uint8_t encryptionType(uint8_t networkItem); + + /* + * Return the RSSI of the networks discovered during the scanNetworks + * + * param networkItem: specify from which network item want to get the information + * + * return: signed value of RSSI of the specified item on the networks scanned list + */ + int32_t RSSI(uint8_t networkItem); + + /* + * Return Connection status. + * + * return: one of the value defined in wl_status_t + */ + uint8_t status(); + + /* + * Resolve the given hostname to an IP address. + * param aHostname: Name to be resolved + * param aResult: IPAddress structure to store the returned IP address + * result: 1 if aIPAddrString was successfully converted to an IP address, + * else error code + */ + int hostByName(const char* aHostname, IPAddress& aResult); + + friend class WiFiClient; + friend class WiFiServer; +}; + +extern WiFiClass WiFi; + +#endif diff --git a/firmware/libraries/WiFi/src/WiFiClient.cpp b/firmware/libraries/WiFi/src/WiFiClient.cpp new file mode 100644 index 0000000..eb8e6af --- /dev/null +++ b/firmware/libraries/WiFi/src/WiFiClient.cpp @@ -0,0 +1,199 @@ +/* + WiFiClient.cpp - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +extern "C" { + #include "utility/wl_definitions.h" + #include "utility/wl_types.h" + #include "string.h" + #include "utility/debug.h" +} + +#include "WiFi.h" +#include "WiFiClient.h" +#include "WiFiServer.h" +#include "utility/server_drv.h" + + +uint16_t WiFiClient::_srcport = 1024; + +WiFiClient::WiFiClient() : _sock(MAX_SOCK_NUM) { +} + +WiFiClient::WiFiClient(uint8_t sock) : _sock(sock) { +} + +int WiFiClient::connect(const char* host, uint16_t port) { + IPAddress remote_addr; + if (WiFi.hostByName(host, remote_addr)) + { + return connect(remote_addr, port); + } + return 0; +} + +int WiFiClient::connect(IPAddress ip, uint16_t port) { + _sock = getFirstSocket(); + if (_sock != NO_SOCKET_AVAIL) + { + ServerDrv::startClient(uint32_t(ip), port, _sock); + WiFiClass::_state[_sock] = _sock; + + unsigned long start = millis(); + + // wait 4 second for the connection to close + while (!connected() && millis() - start < 10000) + delay(1); + + if (!connected()) + { + return 0; + } + }else{ + Serial.println("No Socket available"); + return 0; + } + return 1; +} + +size_t WiFiClient::write(uint8_t b) { + return write(&b, 1); +} + +size_t WiFiClient::write(const uint8_t *buf, size_t size) { + if (_sock >= MAX_SOCK_NUM) + { + setWriteError(); + return 0; + } + if (size==0) + { + setWriteError(); + return 0; + } + + + if (!ServerDrv::sendData(_sock, buf, size)) + { + setWriteError(); + return 0; + } + if (!ServerDrv::checkDataSent(_sock)) + { + setWriteError(); + return 0; + } + + return size; +} + +int WiFiClient::available() { + if (_sock != 255) + { + return ServerDrv::availData(_sock); + } + + return 0; +} + +int WiFiClient::read() { + uint8_t b; + if (!available()) + return -1; + + ServerDrv::getData(_sock, &b); + return b; +} + + +int WiFiClient::read(uint8_t* buf, size_t size) { + // sizeof(size_t) is architecture dependent + // but we need a 16 bit data type here + uint16_t _size = size; + if (!ServerDrv::getDataBuf(_sock, buf, &_size)) + return -1; + return 0; +} + +int WiFiClient::peek() { + uint8_t b; + if (!available()) + return -1; + + ServerDrv::getData(_sock, &b, 1); + return b; +} + +void WiFiClient::flush() { + // TODO: a real check to ensure transmission has been completed +} + +void WiFiClient::stop() { + + if (_sock == 255) + return; + + ServerDrv::stopClient(_sock); + WiFiClass::_state[_sock] = NA_STATE; + + int count = 0; + // wait maximum 5 secs for the connection to close + while (status() != CLOSED && ++count < 50) + delay(100); + + _sock = 255; +} + +uint8_t WiFiClient::connected() { + + if (_sock == 255) { + return 0; + } else { + uint8_t s = status(); + + return !(s == LISTEN || s == CLOSED || s == FIN_WAIT_1 || + s == FIN_WAIT_2 || s == TIME_WAIT || + s == SYN_SENT || s== SYN_RCVD || + (s == CLOSE_WAIT)); + } +} + +uint8_t WiFiClient::status() { + if (_sock == 255) { + return CLOSED; + } else { + return ServerDrv::getClientState(_sock); + } +} + +WiFiClient::operator bool() { + return _sock != 255; +} + +// Private Methods +uint8_t WiFiClient::getFirstSocket() +{ + for (int i = 0; i < MAX_SOCK_NUM; i++) { + if (WiFiClass::_state[i] == NA_STATE) + { + return i; + } + } + return SOCK_NOT_AVAIL; +} + diff --git a/firmware/libraries/WiFi/src/WiFiClient.h b/firmware/libraries/WiFi/src/WiFiClient.h new file mode 100644 index 0000000..caac8fd --- /dev/null +++ b/firmware/libraries/WiFi/src/WiFiClient.h @@ -0,0 +1,59 @@ +/* + WiFiClient.cpp - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef wificlient_h +#define wificlient_h +#include "Arduino.h" +#include "Print.h" +#include "Client.h" +#include "IPAddress.h" + +class WiFiClient : public Client { + +public: + WiFiClient(); + WiFiClient(uint8_t sock); + + uint8_t status(); + virtual int connect(IPAddress ip, uint16_t port); + virtual int connect(const char *host, uint16_t port); + virtual size_t write(uint8_t); + virtual size_t write(const uint8_t *buf, size_t size); + virtual int available(); + virtual int read(); + virtual int read(uint8_t *buf, size_t size); + virtual int peek(); + virtual void flush(); + virtual void stop(); + virtual uint8_t connected(); + virtual operator bool(); + + friend class WiFiServer; + + using Print::write; + +private: + static uint16_t _srcport; + uint8_t _sock; //not used + uint16_t _socket; + + uint8_t getFirstSocket(); +}; + +#endif diff --git a/firmware/libraries/WiFi/src/WiFiServer.cpp b/firmware/libraries/WiFi/src/WiFiServer.cpp new file mode 100644 index 0000000..cab1dee --- /dev/null +++ b/firmware/libraries/WiFi/src/WiFiServer.cpp @@ -0,0 +1,108 @@ +/* + WiFiServer.cpp - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include <string.h> +#include "utility/server_drv.h" + +extern "C" { + #include "utility/debug.h" +} + +#include "WiFi.h" +#include "WiFiClient.h" +#include "WiFiServer.h" + +WiFiServer::WiFiServer(uint16_t port) +{ + _port = port; +} + +void WiFiServer::begin() +{ + uint8_t _sock = WiFiClass::getSocket(); + if (_sock != NO_SOCKET_AVAIL) + { + ServerDrv::startServer(_port, _sock); + WiFiClass::_server_port[_sock] = _port; + WiFiClass::_state[_sock] = _sock; + } +} + +WiFiClient WiFiServer::available(byte* status) +{ + static int cycle_server_down = 0; + const int TH_SERVER_DOWN = 50; + + for (int sock = 0; sock < MAX_SOCK_NUM; sock++) + { + if (WiFiClass::_server_port[sock] == _port) + { + WiFiClient client(sock); + uint8_t _status = client.status(); + uint8_t _ser_status = this->status(); + + if (status != NULL) + *status = _status; + + //server not in listen state, restart it + if ((_ser_status == 0)&&(cycle_server_down++ > TH_SERVER_DOWN)) + { + ServerDrv::startServer(_port, sock); + cycle_server_down = 0; + } + + if (_status == ESTABLISHED) + { + return client; //TODO + } + } + } + + return WiFiClient(255); +} + +uint8_t WiFiServer::status() { + return ServerDrv::getServerState(0); +} + + +size_t WiFiServer::write(uint8_t b) +{ + return write(&b, 1); +} + +size_t WiFiServer::write(const uint8_t *buffer, size_t size) +{ + size_t n = 0; + + for (int sock = 0; sock < MAX_SOCK_NUM; sock++) + { + if (WiFiClass::_server_port[sock] != 0) + { + WiFiClient client(sock); + + if (WiFiClass::_server_port[sock] == _port && + client.status() == ESTABLISHED) + { + n+=client.write(buffer, size); + } + } + } + return n; +} diff --git a/firmware/libraries/WiFi/src/WiFiServer.h b/firmware/libraries/WiFi/src/WiFiServer.h new file mode 100644 index 0000000..d2adea2 --- /dev/null +++ b/firmware/libraries/WiFi/src/WiFiServer.h @@ -0,0 +1,46 @@ +/* + WiFiServer.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef wifiserver_h +#define wifiserver_h + +extern "C" { + #include "utility/wl_definitions.h" +} + +#include "Server.h" + +class WiFiClient; + +class WiFiServer : public Server { +private: + uint16_t _port; + void* pcb; +public: + WiFiServer(uint16_t); + WiFiClient available(uint8_t* status = NULL); + void begin(); + virtual size_t write(uint8_t); + virtual size_t write(const uint8_t *buf, size_t size); + uint8_t status(); + + using Print::write; +}; + +#endif diff --git a/firmware/libraries/WiFi/src/WiFiUdp.cpp b/firmware/libraries/WiFi/src/WiFiUdp.cpp new file mode 100644 index 0000000..9540243 --- /dev/null +++ b/firmware/libraries/WiFi/src/WiFiUdp.cpp @@ -0,0 +1,180 @@ +/* + WiFiUdp.cpp - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +extern "C" { + #include "utility/debug.h" + #include "utility/wifi_spi.h" +} +#include <string.h> +#include "utility/server_drv.h" +#include "utility/wifi_drv.h" + +#include "WiFi.h" +#include "WiFiUdp.h" +#include "WiFiClient.h" +#include "WiFiServer.h" + + +/* Constructor */ +WiFiUDP::WiFiUDP() : _sock(NO_SOCKET_AVAIL) {} + +/* Start WiFiUDP socket, listening at local port PORT */ +uint8_t WiFiUDP::begin(uint16_t port) { + + uint8_t sock = WiFiClass::getSocket(); + if (sock != NO_SOCKET_AVAIL) + { + ServerDrv::startServer(port, sock, UDP_MODE); + WiFiClass::_server_port[sock] = port; + _sock = sock; + _port = port; + return 1; + } + return 0; + +} + +/* return number of bytes available in the current packet, + will return zero if parsePacket hasn't been called yet */ +int WiFiUDP::available() { + if (_sock != NO_SOCKET_AVAIL) + { + return ServerDrv::availData(_sock); + } + return 0; +} + +/* Release any resources being used by this WiFiUDP instance */ +void WiFiUDP::stop() +{ + if (_sock == NO_SOCKET_AVAIL) + return; + + ServerDrv::stopClient(_sock); + + _sock = NO_SOCKET_AVAIL; +} + +int WiFiUDP::beginPacket(const char *host, uint16_t port) +{ + // Look up the host first + int ret = 0; + IPAddress remote_addr; + if (WiFi.hostByName(host, remote_addr)) + { + return beginPacket(remote_addr, port); + } + return ret; +} + +int WiFiUDP::beginPacket(IPAddress ip, uint16_t port) +{ + if (_sock == NO_SOCKET_AVAIL) + _sock = WiFiClass::getSocket(); + if (_sock != NO_SOCKET_AVAIL) + { + ServerDrv::startClient(uint32_t(ip), port, _sock, UDP_MODE); + WiFiClass::_state[_sock] = _sock; + return 1; + } + return 0; +} + +int WiFiUDP::endPacket() +{ + return ServerDrv::sendUdpData(_sock); +} + +size_t WiFiUDP::write(uint8_t byte) +{ + return write(&byte, 1); +} + +size_t WiFiUDP::write(const uint8_t *buffer, size_t size) +{ + ServerDrv::insertDataBuf(_sock, buffer, size); + return size; +} + +int WiFiUDP::parsePacket() +{ + return available(); +} + +int WiFiUDP::read() +{ + uint8_t b; + if (available()) + { + ServerDrv::getData(_sock, &b); + return b; + }else{ + return -1; + } +} + +int WiFiUDP::read(unsigned char* buffer, size_t len) +{ + if (available()) + { + uint16_t size = 0; + if (!ServerDrv::getDataBuf(_sock, buffer, &size)) + return -1; + // TODO check if the buffer is too smal respect to buffer size + return size; + }else{ + return -1; + } +} + +int WiFiUDP::peek() +{ + uint8_t b; + if (!available()) + return -1; + + ServerDrv::getData(_sock, &b, 1); + return b; +} + +void WiFiUDP::flush() +{ + // TODO: a real check to ensure transmission has been completed +} + +IPAddress WiFiUDP::remoteIP() +{ + uint8_t _remoteIp[4] = {0}; + uint8_t _remotePort[2] = {0}; + + WiFiDrv::getRemoteData(_sock, _remoteIp, _remotePort); + IPAddress ip(_remoteIp); + return ip; +} + +uint16_t WiFiUDP::remotePort() +{ + uint8_t _remoteIp[4] = {0}; + uint8_t _remotePort[2] = {0}; + + WiFiDrv::getRemoteData(_sock, _remoteIp, _remotePort); + uint16_t port = (_remotePort[0]<<8)+_remotePort[1]; + return port; +} + diff --git a/firmware/libraries/WiFi/src/WiFiUdp.h b/firmware/libraries/WiFi/src/WiFiUdp.h new file mode 100644 index 0000000..039b804 --- /dev/null +++ b/firmware/libraries/WiFi/src/WiFiUdp.h @@ -0,0 +1,80 @@ +/* + WiFiUdp.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef wifiudp_h +#define wifiudp_h + +#include <Udp.h> + +#define UDP_TX_PACKET_MAX_SIZE 24 + +class WiFiUDP : public UDP { +private: + uint8_t _sock; // socket ID for Wiz5100 + uint16_t _port; // local port to listen on + +public: + WiFiUDP(); // Constructor + virtual uint8_t begin(uint16_t); // initialize, start listening on specified port. Returns 1 if successful, 0 if there are no sockets available to use + virtual void stop(); // Finish with the UDP socket + + // Sending UDP packets + + // Start building up a packet to send to the remote host specific in ip and port + // Returns 1 if successful, 0 if there was a problem with the supplied IP address or port + virtual int beginPacket(IPAddress ip, uint16_t port); + // Start building up a packet to send to the remote host specific in host and port + // Returns 1 if successful, 0 if there was a problem resolving the hostname or port + virtual int beginPacket(const char *host, uint16_t port); + // Finish off this packet and send it + // Returns 1 if the packet was sent successfully, 0 if there was an error + virtual int endPacket(); + // Write a single byte into the packet + virtual size_t write(uint8_t); + // Write size bytes from buffer into the packet + virtual size_t write(const uint8_t *buffer, size_t size); + + using Print::write; + + // Start processing the next available incoming packet + // Returns the size of the packet in bytes, or 0 if no packets are available + virtual int parsePacket(); + // Number of bytes remaining in the current packet + virtual int available(); + // Read a single byte from the current packet + virtual int read(); + // Read up to len bytes from the current packet and place them into buffer + // Returns the number of bytes read, or 0 if none are available + virtual int read(unsigned char* buffer, size_t len); + // Read up to len characters from the current packet and place them into buffer + // Returns the number of characters read, or 0 if none are available + virtual int read(char* buffer, size_t len) { return read((unsigned char*)buffer, len); }; + // Return the next byte from the current packet without moving on to the next byte + virtual int peek(); + virtual void flush(); // Finish reading the current packet + + // Return the IP address of the host who sent the current incoming packet + virtual IPAddress remoteIP(); + // Return the port of the host who sent the current incoming packet + virtual uint16_t remotePort(); + + friend class WiFiDrv; +}; + +#endif diff --git a/firmware/libraries/WiFi/src/utility/debug.h b/firmware/libraries/WiFi/src/utility/debug.h new file mode 100644 index 0000000..5569e45 --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/debug.h @@ -0,0 +1,95 @@ +/* + debug.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ +//*********************************************/ +// +// File: debug.h +// +// Author: dlf (Metodo2 srl) +// +//********************************************/ + + +#ifndef Debug_H +#define Debug_H + +#include <stdio.h> +#include <string.h> + +#define PRINT_FILE_LINE() do { \ + Serial.print("[");Serial.print(__FILE__); \ + Serial.print("::");Serial.print(__LINE__);Serial.print("]");\ +}while (0); + +#ifdef _DEBUG_ + +#define INFO(format, args...) do { \ + char buf[250]; \ + sprintf(buf, format, args); \ + Serial.println(buf); \ +} while(0); + +#define INFO1(x) do { PRINT_FILE_LINE() Serial.print("-I-");\ + Serial.println(x); \ +}while (0); + + +#define INFO2(x,y) do { PRINT_FILE_LINE() Serial.print("-I-");\ + Serial.print(x,16);Serial.print(",");Serial.println(y,16); \ +}while (0); + + +#else +#define INFO1(x) do {} while(0); +#define INFO2(x,y) do {} while(0); +#define INFO(format, args...) do {} while(0); +#endif + +#if 0 +#define WARN(args) do { PRINT_FILE_LINE() \ + Serial.print("-W-"); Serial.println(args); \ +}while (0); +#else +#define WARN(args) do {} while (0); +#endif + +#if _DEBUG_SPI_ +#define DBG_PIN2 5 +#define DBG_PIN 4 + +#define START() digitalWrite(DBG_PIN2, HIGH); +#define END() digitalWrite(DBG_PIN2, LOW); +#define SET_TRIGGER() digitalWrite(DBG_PIN, HIGH); +#define RST_TRIGGER() digitalWrite(DBG_PIN, LOW); + +#define INIT_TRIGGER() pinMode(DBG_PIN, OUTPUT); \ + pinMode(DBG_PIN2, OUTPUT); \ + RST_TRIGGER() +#define TOGGLE_TRIGGER() SET_TRIGGER() \ + delayMicroseconds(2); \ + RST_TRIGGER() +#else +#define START() +#define END() +#define SET_TRIGGER() +#define RST_TRIGGER() +#define INIT_TRIGGER() +#define TOGGLE_TRIGGER() +#endif + +#endif diff --git a/firmware/libraries/WiFi/src/utility/server_drv.cpp b/firmware/libraries/WiFi/src/utility/server_drv.cpp new file mode 100644 index 0000000..fc96473 --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/server_drv.cpp @@ -0,0 +1,327 @@ +/* + server_drv.cpp - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +//#define _DEBUG_ + +#include "utility/server_drv.h" + +#include "Arduino.h" +#include "utility/spi_drv.h" + +extern "C" { +#include "utility/wl_types.h" +#include "utility/debug.h" +} + + +// Start server TCP on port specified +void ServerDrv::startServer(uint16_t port, uint8_t sock, uint8_t protMode) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(START_SERVER_TCP_CMD, PARAM_NUMS_3); + SpiDrv::sendParam(port); + SpiDrv::sendParam(&sock, 1); + SpiDrv::sendParam(&protMode, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(START_SERVER_TCP_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); +} + +// Start server TCP on port specified +void ServerDrv::startClient(uint32_t ipAddress, uint16_t port, uint8_t sock, uint8_t protMode) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(START_CLIENT_TCP_CMD, PARAM_NUMS_4); + SpiDrv::sendParam((uint8_t*)&ipAddress, sizeof(ipAddress)); + SpiDrv::sendParam(port); + SpiDrv::sendParam(&sock, 1); + SpiDrv::sendParam(&protMode, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(START_CLIENT_TCP_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); +} + +// Start server TCP on port specified +void ServerDrv::stopClient(uint8_t sock) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(STOP_CLIENT_TCP_CMD, PARAM_NUMS_1); + SpiDrv::sendParam(&sock, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(STOP_CLIENT_TCP_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); +} + + +uint8_t ServerDrv::getServerState(uint8_t sock) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(GET_STATE_TCP_CMD, PARAM_NUMS_1); + SpiDrv::sendParam(&sock, sizeof(sock), LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(GET_STATE_TCP_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); + return _data; +} + +uint8_t ServerDrv::getClientState(uint8_t sock) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(GET_CLIENT_STATE_TCP_CMD, PARAM_NUMS_1); + SpiDrv::sendParam(&sock, sizeof(sock), LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(GET_CLIENT_STATE_TCP_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); + return _data; +} + +uint16_t ServerDrv::availData(uint8_t sock) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(AVAIL_DATA_TCP_CMD, PARAM_NUMS_1); + SpiDrv::sendParam(&sock, sizeof(sock), LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _dataLen = 0; + uint16_t len = 0; + + SpiDrv::waitResponseCmd(AVAIL_DATA_TCP_CMD, PARAM_NUMS_1, (uint8_t*)&len, &_dataLen); + + SpiDrv::spiSlaveDeselect(); + + return len; +} + +bool ServerDrv::getData(uint8_t sock, uint8_t *data, uint8_t peek) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(GET_DATA_TCP_CMD, PARAM_NUMS_2); + SpiDrv::sendParam(&sock, sizeof(sock)); + SpiDrv::sendParam(peek, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseData8(GET_DATA_TCP_CMD, &_data, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); + if (_dataLen!=0) + { + *data = _data; + return true; + } + return false; +} + +bool ServerDrv::getDataBuf(uint8_t sock, uint8_t *_data, uint16_t *_dataLen) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(GET_DATABUF_TCP_CMD, PARAM_NUMS_1); + SpiDrv::sendBuffer(&sock, sizeof(sock), LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + if (!SpiDrv::waitResponseData16(GET_DATABUF_TCP_CMD, _data, _dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); + if (*_dataLen!=0) + { + return true; + } + return false; +} + +bool ServerDrv::insertDataBuf(uint8_t sock, const uint8_t *data, uint16_t _len) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(INSERT_DATABUF_CMD, PARAM_NUMS_2); + SpiDrv::sendBuffer(&sock, sizeof(sock)); + SpiDrv::sendBuffer((uint8_t *)data, _len, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseData8(INSERT_DATABUF_CMD, &_data, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); + if (_dataLen!=0) + { + return (_data == 1); + } + return false; +} + +bool ServerDrv::sendUdpData(uint8_t sock) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(SEND_DATA_UDP_CMD, PARAM_NUMS_1); + SpiDrv::sendParam(&sock, sizeof(sock), LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseData8(SEND_DATA_UDP_CMD, &_data, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); + if (_dataLen!=0) + { + return (_data == 1); + } + return false; +} + + +bool ServerDrv::sendData(uint8_t sock, const uint8_t *data, uint16_t len) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(SEND_DATA_TCP_CMD, PARAM_NUMS_2); + SpiDrv::sendBuffer(&sock, sizeof(sock)); + SpiDrv::sendBuffer((uint8_t *)data, len, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseData8(SEND_DATA_TCP_CMD, &_data, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); + if (_dataLen!=0) + { + return (_data == 1); + } + return false; +} + + +uint8_t ServerDrv::checkDataSent(uint8_t sock) +{ + const uint16_t TIMEOUT_DATA_SENT = 25; + uint16_t timeout = 0; + uint8_t _data = 0; + uint8_t _dataLen = 0; + + do { + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(DATA_SENT_TCP_CMD, PARAM_NUMS_1); + SpiDrv::sendParam(&sock, sizeof(sock), LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + if (!SpiDrv::waitResponseCmd(DATA_SENT_TCP_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse isDataSent"); + } + SpiDrv::spiSlaveDeselect(); + + if (_data) timeout = 0; + else{ + ++timeout; + delay(100); + } + + }while((_data==0)&&(timeout<TIMEOUT_DATA_SENT)); + return (timeout==TIMEOUT_DATA_SENT)?0:1; +} + +ServerDrv serverDrv; diff --git a/firmware/libraries/WiFi/src/utility/server_drv.h b/firmware/libraries/WiFi/src/utility/server_drv.h new file mode 100644 index 0000000..7288e61 --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/server_drv.h @@ -0,0 +1,60 @@ +/* + server_drv.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef Server_Drv_h +#define Server_Drv_h + +#include <inttypes.h> +#include "utility/wifi_spi.h" + +typedef enum eProtMode {TCP_MODE, UDP_MODE}tProtMode; + +class ServerDrv +{ +public: + + // Start server TCP on port specified + static void startServer(uint16_t port, uint8_t sock, uint8_t protMode=TCP_MODE); + + static void startClient(uint32_t ipAddress, uint16_t port, uint8_t sock, uint8_t protMode=TCP_MODE); + + static void stopClient(uint8_t sock); + + static uint8_t getServerState(uint8_t sock); + + static uint8_t getClientState(uint8_t sock); + + static bool getData(uint8_t sock, uint8_t *data, uint8_t peek = 0); + + static bool getDataBuf(uint8_t sock, uint8_t *data, uint16_t *len); + + static bool insertDataBuf(uint8_t sock, const uint8_t *_data, uint16_t _dataLen); + + static bool sendData(uint8_t sock, const uint8_t *data, uint16_t len); + + static bool sendUdpData(uint8_t sock); + + static uint16_t availData(uint8_t sock); + + static uint8_t checkDataSent(uint8_t sock); +}; + +extern ServerDrv serverDrv; + +#endif diff --git a/firmware/libraries/WiFi/src/utility/spi_drv.cpp b/firmware/libraries/WiFi/src/utility/spi_drv.cpp new file mode 100644 index 0000000..2bf1bb7 --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/spi_drv.cpp @@ -0,0 +1,496 @@ +/* + spi_drv.cpp - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "Arduino.h" +#include <SPI.h> +#include "utility/spi_drv.h" +#include "pins_arduino.h" +//#define _DEBUG_ +extern "C" { +#include "utility/debug.h" +} + +#define DATAOUT 11 // MOSI +#define DATAIN 12 // MISO +#define SPICLOCK 13 // sck +#define SLAVESELECT 10 // ss +#define SLAVEREADY 7 // handshake pin +#define WIFILED 9 // led on wifi shield + +#define DELAY_SPI(X) { int ii=0; do { asm volatile("nop"); } while (++ii < (X*F_CPU/16000000)); } +#define DELAY_TRANSFER() DELAY_SPI(10) + +void SpiDrv::begin() +{ + SPI.begin(); + pinMode(SLAVESELECT, OUTPUT); + pinMode(SLAVEREADY, INPUT); + pinMode(WIFILED, OUTPUT); + + // digitalWrite(SCK, LOW); + // digitalWrite(MOSI, LOW); + digitalWrite(SS, HIGH); + digitalWrite(SLAVESELECT, HIGH); + digitalWrite(WIFILED, LOW); + +#ifdef _DEBUG_ + INIT_TRIGGER() +#endif +} + +void SpiDrv::end() { + SPI.end(); +} + +void SpiDrv::spiSlaveSelect() +{ + digitalWrite(SLAVESELECT,LOW); +} + + +void SpiDrv::spiSlaveDeselect() +{ + digitalWrite(SLAVESELECT,HIGH); +} + + +char SpiDrv::spiTransfer(volatile char data) +{ + char result = SPI.transfer(data); + DELAY_TRANSFER(); + + return result; // return the received byte +} + +int SpiDrv::waitSpiChar(unsigned char waitChar) +{ + int timeout = TIMEOUT_CHAR; + unsigned char _readChar = 0; + do{ + _readChar = readChar(); //get data byte + if (_readChar == ERR_CMD) + { + WARN("Err cmd received\n"); + return -1; + } + }while((timeout-- > 0) && (_readChar != waitChar)); + return (_readChar == waitChar); +} + +int SpiDrv::readAndCheckChar(char checkChar, char* readChar) +{ + getParam((uint8_t*)readChar); + + return (*readChar == checkChar); +} + +char SpiDrv::readChar() +{ + uint8_t readChar = 0; + getParam(&readChar); + return readChar; +} + +#define WAIT_START_CMD(x) waitSpiChar(START_CMD) + +#define IF_CHECK_START_CMD(x) \ + if (!WAIT_START_CMD(_data)) \ + { \ + TOGGLE_TRIGGER() \ + WARN("Error waiting START_CMD"); \ + return 0; \ + }else \ + +#define CHECK_DATA(check, x) \ + if (!readAndCheckChar(check, &x)) \ + { \ + TOGGLE_TRIGGER() \ + WARN("Reply error"); \ + INFO2(check, (uint8_t)x); \ + return 0; \ + }else \ + +#define waitSlaveReady() (digitalRead(SLAVEREADY) == LOW) +#define waitSlaveSign() (digitalRead(SLAVEREADY) == HIGH) +#define waitSlaveSignalH() while(digitalRead(SLAVEREADY) != HIGH){} +#define waitSlaveSignalL() while(digitalRead(SLAVEREADY) != LOW){} + +void SpiDrv::waitForSlaveSign() +{ + while (!waitSlaveSign()); +} + +void SpiDrv::waitForSlaveReady() +{ + while (!waitSlaveReady()); +} + +void SpiDrv::getParam(uint8_t* param) +{ + // Get Params data + *param = spiTransfer(DUMMY_DATA); + DELAY_TRANSFER(); +} + +int SpiDrv::waitResponseCmd(uint8_t cmd, uint8_t numParam, uint8_t* param, uint8_t* param_len) +{ + char _data = 0; + int ii = 0; + + IF_CHECK_START_CMD(_data) + { + CHECK_DATA(cmd | REPLY_FLAG, _data){}; + + CHECK_DATA(numParam, _data); + { + readParamLen8(param_len); + for (ii=0; ii<(*param_len); ++ii) + { + // Get Params data + //param[ii] = spiTransfer(DUMMY_DATA); + getParam(&param[ii]); + } + } + + readAndCheckChar(END_CMD, &_data); + } + + return 1; +} +/* +int SpiDrv::waitResponse(uint8_t cmd, uint8_t numParam, uint8_t* param, uint16_t* param_len) +{ + char _data = 0; + int i =0, ii = 0; + + IF_CHECK_START_CMD(_data) + { + CHECK_DATA(cmd | REPLY_FLAG, _data){}; + + CHECK_DATA(numParam, _data); + { + readParamLen16(param_len); + for (ii=0; ii<(*param_len); ++ii) + { + // Get Params data + param[ii] = spiTransfer(DUMMY_DATA); + } + } + + readAndCheckChar(END_CMD, &_data); + } + + return 1; +} +*/ + +int SpiDrv::waitResponseData16(uint8_t cmd, uint8_t* param, uint16_t* param_len) +{ + char _data = 0; + uint16_t ii = 0; + + IF_CHECK_START_CMD(_data) + { + CHECK_DATA(cmd | REPLY_FLAG, _data){}; + + uint8_t numParam = readChar(); + if (numParam != 0) + { + readParamLen16(param_len); + for (ii=0; ii<(*param_len); ++ii) + { + // Get Params data + param[ii] = spiTransfer(DUMMY_DATA); + } + } + + readAndCheckChar(END_CMD, &_data); + } + + return 1; +} + +int SpiDrv::waitResponseData8(uint8_t cmd, uint8_t* param, uint8_t* param_len) +{ + char _data = 0; + int ii = 0; + + IF_CHECK_START_CMD(_data) + { + CHECK_DATA(cmd | REPLY_FLAG, _data){}; + + uint8_t numParam = readChar(); + if (numParam != 0) + { + readParamLen8(param_len); + for (ii=0; ii<(*param_len); ++ii) + { + // Get Params data + param[ii] = spiTransfer(DUMMY_DATA); + } + } + + readAndCheckChar(END_CMD, &_data); + } + + return 1; +} + +int SpiDrv::waitResponseParams(uint8_t cmd, uint8_t numParam, tParam* params) +{ + char _data = 0; + int i =0, ii = 0; + + + IF_CHECK_START_CMD(_data) + { + CHECK_DATA(cmd | REPLY_FLAG, _data){}; + + uint8_t _numParam = readChar(); + if (_numParam != 0) + { + for (i=0; i<_numParam; ++i) + { + params[i].paramLen = readParamLen8(); + for (ii=0; ii<params[i].paramLen; ++ii) + { + // Get Params data + params[i].param[ii] = spiTransfer(DUMMY_DATA); + } + } + } else + { + WARN("Error numParam == 0"); + return 0; + } + + if (numParam != _numParam) + { + WARN("Mismatch numParam"); + return 0; + } + + readAndCheckChar(END_CMD, &_data); + } + return 1; +} + +/* +int SpiDrv::waitResponse(uint8_t cmd, tParam* params, uint8_t* numParamRead, uint8_t maxNumParams) +{ + char _data = 0; + int i =0, ii = 0; + + IF_CHECK_START_CMD(_data) + { + CHECK_DATA(cmd | REPLY_FLAG, _data){}; + + uint8_t numParam = readChar(); + + if (numParam > maxNumParams) + { + numParam = maxNumParams; + } + *numParamRead = numParam; + if (numParam != 0) + { + for (i=0; i<numParam; ++i) + { + params[i].paramLen = readParamLen8(); + + for (ii=0; ii<params[i].paramLen; ++ii) + { + // Get Params data + params[i].param[ii] = spiTransfer(DUMMY_DATA); + } + } + } else + { + WARN("Error numParams == 0"); + Serial.println(cmd, 16); + return 0; + } + readAndCheckChar(END_CMD, &_data); + } + return 1; +} +*/ + +int SpiDrv::waitResponse(uint8_t cmd, uint8_t* numParamRead, uint8_t** params, uint8_t maxNumParams) +{ + char _data = 0; + int i =0, ii = 0; + + char *index[WL_SSID_MAX_LENGTH]; + + for (i = 0 ; i < WL_NETWORKS_LIST_MAXNUM ; i++) + index[i] = (char *)params + WL_SSID_MAX_LENGTH*i; + + IF_CHECK_START_CMD(_data) + { + CHECK_DATA(cmd | REPLY_FLAG, _data){}; + + uint8_t numParam = readChar(); + + if (numParam > maxNumParams) + { + numParam = maxNumParams; + } + *numParamRead = numParam; + if (numParam != 0) + { + for (i=0; i<numParam; ++i) + { + uint8_t paramLen = readParamLen8(); + for (ii=0; ii<paramLen; ++ii) + { + //ssid[ii] = spiTransfer(DUMMY_DATA); + // Get Params data + index[i][ii] = (uint8_t)spiTransfer(DUMMY_DATA); + + } + index[i][ii]=0; + } + } else + { + WARN("Error numParams == 0"); + readAndCheckChar(END_CMD, &_data); + return 0; + } + readAndCheckChar(END_CMD, &_data); + } + return 1; +} + + +void SpiDrv::sendParam(uint8_t* param, uint8_t param_len, uint8_t lastParam) +{ + int i = 0; + // Send Spi paramLen + sendParamLen8(param_len); + + // Send Spi param data + for (i=0; i<param_len; ++i) + { + spiTransfer(param[i]); + } + + // if lastParam==1 Send Spi END CMD + if (lastParam == 1) + spiTransfer(END_CMD); +} + +void SpiDrv::sendParamLen8(uint8_t param_len) +{ + // Send Spi paramLen + spiTransfer(param_len); +} + +void SpiDrv::sendParamLen16(uint16_t param_len) +{ + // Send Spi paramLen + spiTransfer((uint8_t)((param_len & 0xff00)>>8)); + spiTransfer((uint8_t)(param_len & 0xff)); +} + +uint8_t SpiDrv::readParamLen8(uint8_t* param_len) +{ + uint8_t _param_len = spiTransfer(DUMMY_DATA); + if (param_len != NULL) + { + *param_len = _param_len; + } + return _param_len; +} + +uint16_t SpiDrv::readParamLen16(uint16_t* param_len) +{ + uint16_t _param_len = spiTransfer(DUMMY_DATA)<<8 | (spiTransfer(DUMMY_DATA)& 0xff); + if (param_len != NULL) + { + *param_len = _param_len; + } + return _param_len; +} + + +void SpiDrv::sendBuffer(uint8_t* param, uint16_t param_len, uint8_t lastParam) +{ + uint16_t i = 0; + + // Send Spi paramLen + sendParamLen16(param_len); + + // Send Spi param data + for (i=0; i<param_len; ++i) + { + spiTransfer(param[i]); + } + + // if lastParam==1 Send Spi END CMD + if (lastParam == 1) + spiTransfer(END_CMD); +} + + +void SpiDrv::sendParam(uint16_t param, uint8_t lastParam) +{ + // Send Spi paramLen + sendParamLen8(2); + + spiTransfer((uint8_t)((param & 0xff00)>>8)); + spiTransfer((uint8_t)(param & 0xff)); + + // if lastParam==1 Send Spi END CMD + if (lastParam == 1) + spiTransfer(END_CMD); +} + +/* Cmd Struct Message */ +/* _________________________________________________________________________________ */ +/*| START CMD | C/R | CMD |[TOT LEN]| N.PARAM | PARAM LEN | PARAM | .. | END CMD | */ +/*|___________|______|______|_________|_________|___________|________|____|_________| */ +/*| 8 bit | 1bit | 7bit | 8bit | 8bit | 8bit | nbytes | .. | 8bit | */ +/*|___________|______|______|_________|_________|___________|________|____|_________| */ + +void SpiDrv::sendCmd(uint8_t cmd, uint8_t numParam) +{ + // Send Spi START CMD + spiTransfer(START_CMD); + + //waitForSlaveSign(); + //wait the interrupt trigger on slave + delayMicroseconds(SPI_START_CMD_DELAY); + + // Send Spi C + cmd + spiTransfer(cmd & ~(REPLY_FLAG)); + + // Send Spi totLen + //spiTransfer(totLen); + + // Send Spi numParam + spiTransfer(numParam); + + // If numParam == 0 send END CMD + if (numParam == 0) + spiTransfer(END_CMD); + +} + +SpiDrv spiDrv; diff --git a/firmware/libraries/WiFi/src/utility/spi_drv.h b/firmware/libraries/WiFi/src/utility/spi_drv.h new file mode 100644 index 0000000..ab8d97d --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/spi_drv.h @@ -0,0 +1,106 @@ +/* + spi_drv.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef SPI_Drv_h +#define SPI_Drv_h + +#include <inttypes.h> +#include "utility/wifi_spi.h" + +#define SPI_START_CMD_DELAY 10 + +#define NO_LAST_PARAM 0 +#define LAST_PARAM 1 + +#define DUMMY_DATA 0xFF + +#define WAIT_FOR_SLAVE_SELECT() \ + if (!initialized) { \ + SpiDrv::begin(); \ + initialized = true; \ + } \ + SpiDrv::waitForSlaveReady(); \ + SpiDrv::spiSlaveSelect(); + +static bool initialized = false; + +class SpiDrv +{ +private: + //static bool waitSlaveReady(); + static void waitForSlaveSign(); + static void getParam(uint8_t* param); +public: + + static void begin(); + + static void end(); + + static void spiDriverInit(); + + static void spiSlaveSelect(); + + static void spiSlaveDeselect(); + + static char spiTransfer(volatile char data); + + static void waitForSlaveReady(); + + //static int waitSpiChar(char waitChar, char* readChar); + + static int waitSpiChar(unsigned char waitChar); + + static int readAndCheckChar(char checkChar, char* readChar); + + static char readChar(); + + static int waitResponseParams(uint8_t cmd, uint8_t numParam, tParam* params); + + static int waitResponseCmd(uint8_t cmd, uint8_t numParam, uint8_t* param, uint8_t* param_len); + + static int waitResponseData8(uint8_t cmd, uint8_t* param, uint8_t* param_len); + + static int waitResponseData16(uint8_t cmd, uint8_t* param, uint16_t* param_len); + /* + static int waitResponse(uint8_t cmd, tParam* params, uint8_t* numParamRead, uint8_t maxNumParams); + + static int waitResponse(uint8_t cmd, uint8_t numParam, uint8_t* param, uint16_t* param_len); +*/ + static int waitResponse(uint8_t cmd, uint8_t* numParamRead, uint8_t** params, uint8_t maxNumParams); + + static void sendParam(uint8_t* param, uint8_t param_len, uint8_t lastParam = NO_LAST_PARAM); + + static void sendParamLen8(uint8_t param_len); + + static void sendParamLen16(uint16_t param_len); + + static uint8_t readParamLen8(uint8_t* param_len = NULL); + + static uint16_t readParamLen16(uint16_t* param_len = NULL); + + static void sendBuffer(uint8_t* param, uint16_t param_len, uint8_t lastParam = NO_LAST_PARAM); + + static void sendParam(uint16_t param, uint8_t lastParam = NO_LAST_PARAM); + + static void sendCmd(uint8_t cmd, uint8_t numParam); +}; + +extern SpiDrv spiDrv; + +#endif diff --git a/firmware/libraries/WiFi/src/utility/wifi_drv.cpp b/firmware/libraries/WiFi/src/utility/wifi_drv.cpp new file mode 100644 index 0000000..bee61bf --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/wifi_drv.cpp @@ -0,0 +1,579 @@ +/* + wifi_drv.cpp - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include <stdio.h> +#include <string.h> +#include <stdint.h> + +#include "Arduino.h" +#include "utility/spi_drv.h" +#include "utility/wifi_drv.h" + +#define _DEBUG_ + +extern "C" { +#include "utility/wifi_spi.h" +#include "utility/wl_types.h" +#include "utility/debug.h" +} + +// Array of data to cache the information related to the networks discovered +char WiFiDrv::_networkSsid[][WL_SSID_MAX_LENGTH] = {{"1"},{"2"},{"3"},{"4"},{"5"}}; +int32_t WiFiDrv::_networkRssi[WL_NETWORKS_LIST_MAXNUM] = { 0 }; +uint8_t WiFiDrv::_networkEncr[WL_NETWORKS_LIST_MAXNUM] = { 0 }; + +// Cached values of retrieved data +char WiFiDrv::_ssid[] = {0}; +uint8_t WiFiDrv::_bssid[] = {0}; +uint8_t WiFiDrv::_mac[] = {0}; +uint8_t WiFiDrv::_localIp[] = {0}; +uint8_t WiFiDrv::_subnetMask[] = {0}; +uint8_t WiFiDrv::_gatewayIp[] = {0}; +// Firmware version +char WiFiDrv::fwVersion[] = {0}; + + +// Private Methods + +void WiFiDrv::getNetworkData(uint8_t *ip, uint8_t *mask, uint8_t *gwip) +{ + tParam params[PARAM_NUMS_3] = { {0, (char*)ip}, {0, (char*)mask}, {0, (char*)gwip}}; + + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_IPADDR_CMD, PARAM_NUMS_1); + + uint8_t _dummy = DUMMY_DATA; + SpiDrv::sendParam(&_dummy, sizeof(_dummy), LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + SpiDrv::waitResponseParams(GET_IPADDR_CMD, PARAM_NUMS_3, params); + + SpiDrv::spiSlaveDeselect(); +} + +void WiFiDrv::getRemoteData(uint8_t sock, uint8_t *ip, uint8_t *port) +{ + tParam params[PARAM_NUMS_2] = { {0, (char*)ip}, {0, (char*)port} }; + + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_REMOTE_DATA_CMD, PARAM_NUMS_1); + SpiDrv::sendParam(&sock, sizeof(sock), LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + SpiDrv::waitResponseParams(GET_REMOTE_DATA_CMD, PARAM_NUMS_2, params); + + SpiDrv::spiSlaveDeselect(); +} + + +// Public Methods + + +void WiFiDrv::wifiDriverInit() +{ + SpiDrv::begin(); +} + +int8_t WiFiDrv::wifiSetNetwork(char* ssid, uint8_t ssid_len) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(SET_NET_CMD, PARAM_NUMS_1); + SpiDrv::sendParam((uint8_t*)ssid, ssid_len, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(SET_NET_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + _data = WL_FAILURE; + } + SpiDrv::spiSlaveDeselect(); + + return(_data == WIFI_SPI_ACK) ? WL_SUCCESS : WL_FAILURE; +} + +int8_t WiFiDrv::wifiSetPassphrase(char* ssid, uint8_t ssid_len, const char *passphrase, const uint8_t len) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(SET_PASSPHRASE_CMD, PARAM_NUMS_2); + SpiDrv::sendParam((uint8_t*)ssid, ssid_len, NO_LAST_PARAM); + SpiDrv::sendParam((uint8_t*)passphrase, len, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(SET_PASSPHRASE_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + _data = WL_FAILURE; + } + SpiDrv::spiSlaveDeselect(); + return _data; +} + + +int8_t WiFiDrv::wifiSetKey(char* ssid, uint8_t ssid_len, uint8_t key_idx, const void *key, const uint8_t len) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(SET_KEY_CMD, PARAM_NUMS_3); + SpiDrv::sendParam((uint8_t*)ssid, ssid_len, NO_LAST_PARAM); + SpiDrv::sendParam(&key_idx, KEY_IDX_LEN, NO_LAST_PARAM); + SpiDrv::sendParam((uint8_t*)key, len, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(SET_KEY_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + _data = WL_FAILURE; + } + SpiDrv::spiSlaveDeselect(); + return _data; +} + +void WiFiDrv::config(uint8_t validParams, uint32_t local_ip, uint32_t gateway, uint32_t subnet) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(SET_IP_CONFIG_CMD, PARAM_NUMS_4); + SpiDrv::sendParam((uint8_t*)&validParams, 1, NO_LAST_PARAM); + SpiDrv::sendParam((uint8_t*)&local_ip, 4, NO_LAST_PARAM); + SpiDrv::sendParam((uint8_t*)&gateway, 4, NO_LAST_PARAM); + SpiDrv::sendParam((uint8_t*)&subnet, 4, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(SET_IP_CONFIG_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + _data = WL_FAILURE; + } + SpiDrv::spiSlaveDeselect(); +} + +void WiFiDrv::setDNS(uint8_t validParams, uint32_t dns_server1, uint32_t dns_server2) +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(SET_DNS_CONFIG_CMD, PARAM_NUMS_3); + SpiDrv::sendParam((uint8_t*)&validParams, 1, NO_LAST_PARAM); + SpiDrv::sendParam((uint8_t*)&dns_server1, 4, NO_LAST_PARAM); + SpiDrv::sendParam((uint8_t*)&dns_server2, 4, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(SET_DNS_CONFIG_CMD, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + _data = WL_FAILURE; + } + SpiDrv::spiSlaveDeselect(); +} + + + +int8_t WiFiDrv::disconnect() +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(DISCONNECT_CMD, PARAM_NUMS_1); + + uint8_t _dummy = DUMMY_DATA; + SpiDrv::sendParam(&_dummy, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + int8_t result = SpiDrv::waitResponseCmd(DISCONNECT_CMD, PARAM_NUMS_1, &_data, &_dataLen); + + SpiDrv::spiSlaveDeselect(); + + return result; +} + +uint8_t WiFiDrv::getConnectionStatus() +{ + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_CONN_STATUS_CMD, PARAM_NUMS_0); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = -1; + uint8_t _dataLen = 0; + SpiDrv::waitResponseCmd(GET_CONN_STATUS_CMD, PARAM_NUMS_1, &_data, &_dataLen); + + SpiDrv::spiSlaveDeselect(); + + return _data; +} + +uint8_t* WiFiDrv::getMacAddress() +{ + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_MACADDR_CMD, PARAM_NUMS_1); + + uint8_t _dummy = DUMMY_DATA; + SpiDrv::sendParam(&_dummy, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _dataLen = 0; + SpiDrv::waitResponseCmd(GET_MACADDR_CMD, PARAM_NUMS_1, _mac, &_dataLen); + + SpiDrv::spiSlaveDeselect(); + + return _mac; +} + +void WiFiDrv::getIpAddress(IPAddress& ip) +{ + getNetworkData(_localIp, _subnetMask, _gatewayIp); + ip = _localIp; +} + + void WiFiDrv::getSubnetMask(IPAddress& mask) + { + getNetworkData(_localIp, _subnetMask, _gatewayIp); + mask = _subnetMask; + } + + void WiFiDrv::getGatewayIP(IPAddress& ip) + { + getNetworkData(_localIp, _subnetMask, _gatewayIp); + ip = _gatewayIp; + } + +char* WiFiDrv::getCurrentSSID() +{ + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_CURR_SSID_CMD, PARAM_NUMS_1); + + uint8_t _dummy = DUMMY_DATA; + SpiDrv::sendParam(&_dummy, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _dataLen = 0; + SpiDrv::waitResponseCmd(GET_CURR_SSID_CMD, PARAM_NUMS_1, (uint8_t*)_ssid, &_dataLen); + + SpiDrv::spiSlaveDeselect(); + + return _ssid; +} + +uint8_t* WiFiDrv::getCurrentBSSID() +{ + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_CURR_BSSID_CMD, PARAM_NUMS_1); + + uint8_t _dummy = DUMMY_DATA; + SpiDrv::sendParam(&_dummy, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _dataLen = 0; + SpiDrv::waitResponseCmd(GET_CURR_BSSID_CMD, PARAM_NUMS_1, _bssid, &_dataLen); + + SpiDrv::spiSlaveDeselect(); + + return _bssid; +} + +int32_t WiFiDrv::getCurrentRSSI() +{ + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_CURR_RSSI_CMD, PARAM_NUMS_1); + + uint8_t _dummy = DUMMY_DATA; + SpiDrv::sendParam(&_dummy, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _dataLen = 0; + int32_t rssi = 0; + SpiDrv::waitResponseCmd(GET_CURR_RSSI_CMD, PARAM_NUMS_1, (uint8_t*)&rssi, &_dataLen); + + SpiDrv::spiSlaveDeselect(); + + return rssi; +} + +uint8_t WiFiDrv::getCurrentEncryptionType() +{ + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_CURR_ENCT_CMD, PARAM_NUMS_1); + + uint8_t _dummy = DUMMY_DATA; + SpiDrv::sendParam(&_dummy, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t dataLen = 0; + uint8_t encType = 0; + SpiDrv::waitResponseCmd(GET_CURR_ENCT_CMD, PARAM_NUMS_1, (uint8_t*)&encType, &dataLen); + + SpiDrv::spiSlaveDeselect(); + + return encType; +} + +int8_t WiFiDrv::startScanNetworks() +{ + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(START_SCAN_NETWORKS, PARAM_NUMS_0); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + + if (!SpiDrv::waitResponseCmd(START_SCAN_NETWORKS, PARAM_NUMS_1, &_data, &_dataLen)) + { + WARN("error waitResponse"); + _data = WL_FAILURE; + } + + SpiDrv::spiSlaveDeselect(); + + return (_data == WL_FAILURE)? _data : WL_SUCCESS; +} + + +uint8_t WiFiDrv::getScanNetworks() +{ + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(SCAN_NETWORKS, PARAM_NUMS_0); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t ssidListNum = 0; + SpiDrv::waitResponse(SCAN_NETWORKS, &ssidListNum, (uint8_t**)_networkSsid, WL_NETWORKS_LIST_MAXNUM); + + SpiDrv::spiSlaveDeselect(); + + return ssidListNum; +} + +char* WiFiDrv::getSSIDNetoworks(uint8_t networkItem) +{ + if (networkItem >= WL_NETWORKS_LIST_MAXNUM) + return NULL; + + return _networkSsid[networkItem]; +} + +uint8_t WiFiDrv::getEncTypeNetowrks(uint8_t networkItem) +{ + if (networkItem >= WL_NETWORKS_LIST_MAXNUM) + return NULL; + + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_IDX_ENCT_CMD, PARAM_NUMS_1); + + SpiDrv::sendParam(&networkItem, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t dataLen = 0; + uint8_t encType = 0; + SpiDrv::waitResponseCmd(GET_IDX_ENCT_CMD, PARAM_NUMS_1, (uint8_t*)&encType, &dataLen); + + SpiDrv::spiSlaveDeselect(); + + return encType; +} + +int32_t WiFiDrv::getRSSINetoworks(uint8_t networkItem) +{ + if (networkItem >= WL_NETWORKS_LIST_MAXNUM) + return NULL; + int32_t networkRssi = 0; + + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(GET_IDX_RSSI_CMD, PARAM_NUMS_1); + + SpiDrv::sendParam(&networkItem, 1, LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t dataLen = 0; + SpiDrv::waitResponseCmd(GET_IDX_RSSI_CMD, PARAM_NUMS_1, (uint8_t*)&networkRssi, &dataLen); + + SpiDrv::spiSlaveDeselect(); + + return networkRssi; +} + +uint8_t WiFiDrv::reqHostByName(const char* aHostname) +{ + WAIT_FOR_SLAVE_SELECT(); + + // Send Command + SpiDrv::sendCmd(REQ_HOST_BY_NAME_CMD, PARAM_NUMS_1); + SpiDrv::sendParam((uint8_t*)aHostname, strlen(aHostname), LAST_PARAM); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _data = 0; + uint8_t _dataLen = 0; + uint8_t result = SpiDrv::waitResponseCmd(REQ_HOST_BY_NAME_CMD, PARAM_NUMS_1, &_data, &_dataLen); + + SpiDrv::spiSlaveDeselect(); + + return result; +} + +int WiFiDrv::getHostByName(IPAddress& aResult) +{ + uint8_t _ipAddr[WL_IPV4_LENGTH]; + IPAddress dummy(0xFF,0xFF,0xFF,0xFF); + int result = 0; + + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(GET_HOST_BY_NAME_CMD, PARAM_NUMS_0); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(GET_HOST_BY_NAME_CMD, PARAM_NUMS_1, _ipAddr, &_dataLen)) + { + WARN("error waitResponse"); + }else{ + aResult = _ipAddr; + result = (aResult != dummy); + } + SpiDrv::spiSlaveDeselect(); + return result; +} + +int WiFiDrv::getHostByName(const char* aHostname, IPAddress& aResult) +{ + uint8_t retry = 10; + if (reqHostByName(aHostname)) + { + while(!getHostByName(aResult) && --retry > 0) + { + delay(1000); + } + }else{ + return 0; + } + return (retry>0); +} + +char* WiFiDrv::getFwVersion() +{ + WAIT_FOR_SLAVE_SELECT(); + // Send Command + SpiDrv::sendCmd(GET_FW_VERSION_CMD, PARAM_NUMS_0); + + //Wait the reply elaboration + SpiDrv::waitForSlaveReady(); + + // Wait for reply + uint8_t _dataLen = 0; + if (!SpiDrv::waitResponseCmd(GET_FW_VERSION_CMD, PARAM_NUMS_1, (uint8_t*)fwVersion, &_dataLen)) + { + WARN("error waitResponse"); + } + SpiDrv::spiSlaveDeselect(); + return fwVersion; +} + +WiFiDrv wiFiDrv; diff --git a/firmware/libraries/WiFi/src/utility/wifi_drv.h b/firmware/libraries/WiFi/src/utility/wifi_drv.h new file mode 100644 index 0000000..423865f --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/wifi_drv.h @@ -0,0 +1,267 @@ +/* + wifi_drv.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef WiFi_Drv_h +#define WiFi_Drv_h + +#include <inttypes.h> +#include "utility/wifi_spi.h" +#include "IPAddress.h" +#include "WiFiUdp.h" + +// Key index length +#define KEY_IDX_LEN 1 +// 5 secs of delay to have the connection established +#define WL_DELAY_START_CONNECTION 5000 +// firmware version string length +#define WL_FW_VER_LENGTH 6 + +class WiFiDrv +{ +private: + // settings of requested network + static char _networkSsid[WL_NETWORKS_LIST_MAXNUM][WL_SSID_MAX_LENGTH]; + static int32_t _networkRssi[WL_NETWORKS_LIST_MAXNUM]; + static uint8_t _networkEncr[WL_NETWORKS_LIST_MAXNUM]; + + // firmware version string in the format a.b.c + static char fwVersion[WL_FW_VER_LENGTH]; + + // settings of current selected network + static char _ssid[WL_SSID_MAX_LENGTH]; + static uint8_t _bssid[WL_MAC_ADDR_LENGTH]; + static uint8_t _mac[WL_MAC_ADDR_LENGTH]; + static uint8_t _localIp[WL_IPV4_LENGTH]; + static uint8_t _subnetMask[WL_IPV4_LENGTH]; + static uint8_t _gatewayIp[WL_IPV4_LENGTH]; + + /* + * Get network Data information + */ + static void getNetworkData(uint8_t *ip, uint8_t *mask, uint8_t *gwip); + + static uint8_t reqHostByName(const char* aHostname); + + static int getHostByName(IPAddress& aResult); + + /* + * Get remote Data information on UDP socket + */ + static void getRemoteData(uint8_t sock, uint8_t *ip, uint8_t *port); + +public: + + /* + * Driver initialization + */ + static void wifiDriverInit(); + + /* + * Set the desired network which the connection manager should try to + * connect to. + * + * The ssid of the desired network should be specified. + * + * param ssid: The ssid of the desired network. + * param ssid_len: Lenght of ssid string. + * return: WL_SUCCESS or WL_FAILURE + */ + static int8_t wifiSetNetwork(char* ssid, uint8_t ssid_len); + + /* Start Wifi connection with passphrase + * the most secure supported mode will be automatically selected + * + * param ssid: Pointer to the SSID string. + * param ssid_len: Lenght of ssid string. + * param passphrase: Passphrase. Valid characters in a passphrase + * must be between ASCII 32-126 (decimal). + * param len: Lenght of passphrase string. + * return: WL_SUCCESS or WL_FAILURE + */ + static int8_t wifiSetPassphrase(char* ssid, uint8_t ssid_len, const char *passphrase, const uint8_t len); + + /* Start Wifi connection with WEP encryption. + * Configure a key into the device. The key type (WEP-40, WEP-104) + * is determined by the size of the key (5 bytes for WEP-40, 13 bytes for WEP-104). + * + * param ssid: Pointer to the SSID string. + * param ssid_len: Lenght of ssid string. + * param key_idx: The key index to set. Valid values are 0-3. + * param key: Key input buffer. + * param len: Lenght of key string. + * return: WL_SUCCESS or WL_FAILURE + */ + static int8_t wifiSetKey(char* ssid, uint8_t ssid_len, uint8_t key_idx, const void *key, const uint8_t len); + + /* Set ip configuration disabling dhcp client + * + * param validParams: set the number of parameters that we want to change + * i.e. validParams = 1 means that we'll change only ip address + * validParams = 3 means that we'll change ip address, gateway and netmask + * param local_ip: Static ip configuration + * param gateway: Static gateway configuration + * param subnet: Static subnet mask configuration + */ + static void config(uint8_t validParams, uint32_t local_ip, uint32_t gateway, uint32_t subnet); + + /* Set DNS ip configuration + * + * param validParams: set the number of parameters that we want to change + * i.e. validParams = 1 means that we'll change only dns_server1 + * validParams = 2 means that we'll change dns_server1 and dns_server2 + * param dns_server1: Static DNS server1 configuration + * param dns_server2: Static DNS server2 configuration + */ + static void setDNS(uint8_t validParams, uint32_t dns_server1, uint32_t dns_server2); + + /* + * Disconnect from the network + * + * return: WL_SUCCESS or WL_FAILURE + */ + static int8_t disconnect(); + + /* + * Disconnect from the network + * + * return: one value of wl_status_t enum + */ + static uint8_t getConnectionStatus(); + + /* + * Get the interface MAC address. + * + * return: pointer to uint8_t array with length WL_MAC_ADDR_LENGTH + */ + static uint8_t* getMacAddress(); + + /* + * Get the interface IP address. + * + * return: copy the ip address value in IPAddress object + */ + static void getIpAddress(IPAddress& ip); + + /* + * Get the interface subnet mask address. + * + * return: copy the subnet mask address value in IPAddress object + */ + static void getSubnetMask(IPAddress& mask); + + /* + * Get the gateway ip address. + * + * return: copy the gateway ip address value in IPAddress object + */ + static void getGatewayIP(IPAddress& ip); + + /* + * Return the current SSID associated with the network + * + * return: ssid string + */ + static char* getCurrentSSID(); + + /* + * Return the current BSSID associated with the network. + * It is the MAC address of the Access Point + * + * return: pointer to uint8_t array with length WL_MAC_ADDR_LENGTH + */ + static uint8_t* getCurrentBSSID(); + + /* + * Return the current RSSI /Received Signal Strength in dBm) + * associated with the network + * + * return: signed value + */ + static int32_t getCurrentRSSI(); + + /* + * Return the Encryption Type associated with the network + * + * return: one value of wl_enc_type enum + */ + static uint8_t getCurrentEncryptionType(); + + /* + * Start scan WiFi networks available + * + * return: Number of discovered networks + */ + static int8_t startScanNetworks(); + + /* + * Get the networks available + * + * return: Number of discovered networks + */ + static uint8_t getScanNetworks(); + + /* + * Return the SSID discovered during the network scan. + * + * param networkItem: specify from which network item want to get the information + * + * return: ssid string of the specified item on the networks scanned list + */ + static char* getSSIDNetoworks(uint8_t networkItem); + + /* + * Return the RSSI of the networks discovered during the scanNetworks + * + * param networkItem: specify from which network item want to get the information + * + * return: signed value of RSSI of the specified item on the networks scanned list + */ + static int32_t getRSSINetoworks(uint8_t networkItem); + + /* + * Return the encryption type of the networks discovered during the scanNetworks + * + * param networkItem: specify from which network item want to get the information + * + * return: encryption type (enum wl_enc_type) of the specified item on the networks scanned list + */ + static uint8_t getEncTypeNetowrks(uint8_t networkItem); + + /* + * Resolve the given hostname to an IP address. + * param aHostname: Name to be resolved + * param aResult: IPAddress structure to store the returned IP address + * result: 1 if aIPAddrString was successfully converted to an IP address, + * else error code + */ + static int getHostByName(const char* aHostname, IPAddress& aResult); + + /* + * Get the firmware version + * result: version as string with this format a.b.c + */ + static char* getFwVersion(); + + friend class WiFiUDP; + +}; + +extern WiFiDrv wiFiDrv; + +#endif diff --git a/firmware/libraries/WiFi/src/utility/wifi_spi.h b/firmware/libraries/WiFi/src/utility/wifi_spi.h new file mode 100644 index 0000000..d0cc754 --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/wifi_spi.h @@ -0,0 +1,173 @@ +/* + wifi_spi.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef WiFi_Spi_h +#define WiFi_Spi_h + +#include <inttypes.h> +#include "utility/wl_definitions.h" + +#define CMD_FLAG 0 +#define REPLY_FLAG 1<<7 +#define DATA_FLAG 0x40 + +#define WIFI_SPI_ACK 1 +#define WIFI_SPI_ERR 0xFF + +#define TIMEOUT_CHAR 1000 + +//#define MAX_SOCK_NUM 4 /**< Maxmium number of socket */ +#define NO_SOCKET_AVAIL 255 + +#define START_CMD 0xE0 +#define END_CMD 0xEE +#define ERR_CMD 0xEF +#define CMD_POS 1 // Position of Command OpCode on SPI stream +#define PARAM_LEN_POS 2 // Position of Param len on SPI stream + + +enum { + SET_NET_CMD = 0x10, + SET_PASSPHRASE_CMD = 0x11, + SET_KEY_CMD = 0x12, + TEST_CMD = 0x13, + SET_IP_CONFIG_CMD = 0x14, + SET_DNS_CONFIG_CMD = 0x15, + + GET_CONN_STATUS_CMD = 0x20, + GET_IPADDR_CMD = 0x21, + GET_MACADDR_CMD = 0x22, + GET_CURR_SSID_CMD = 0x23, + GET_CURR_BSSID_CMD = 0x24, + GET_CURR_RSSI_CMD = 0x25, + GET_CURR_ENCT_CMD = 0x26, + SCAN_NETWORKS = 0x27, + START_SERVER_TCP_CMD= 0x28, + GET_STATE_TCP_CMD = 0x29, + DATA_SENT_TCP_CMD = 0x2A, + AVAIL_DATA_TCP_CMD = 0x2B, + GET_DATA_TCP_CMD = 0x2C, + START_CLIENT_TCP_CMD= 0x2D, + STOP_CLIENT_TCP_CMD = 0x2E, + GET_CLIENT_STATE_TCP_CMD= 0x2F, + DISCONNECT_CMD = 0x30, + GET_IDX_SSID_CMD = 0x31, + GET_IDX_RSSI_CMD = 0x32, + GET_IDX_ENCT_CMD = 0x33, + REQ_HOST_BY_NAME_CMD= 0x34, + GET_HOST_BY_NAME_CMD= 0x35, + START_SCAN_NETWORKS = 0x36, + GET_FW_VERSION_CMD = 0x37, + GET_TEST_CMD = 0x38, + SEND_DATA_UDP_CMD = 0x39, + GET_REMOTE_DATA_CMD = 0x3A, + + // All command with DATA_FLAG 0x40 send a 16bit Len + + SEND_DATA_TCP_CMD = 0x44, + GET_DATABUF_TCP_CMD = 0x45, + INSERT_DATABUF_CMD = 0x46, +}; + + +enum wl_tcp_state { + CLOSED = 0, + LISTEN = 1, + SYN_SENT = 2, + SYN_RCVD = 3, + ESTABLISHED = 4, + FIN_WAIT_1 = 5, + FIN_WAIT_2 = 6, + CLOSE_WAIT = 7, + CLOSING = 8, + LAST_ACK = 9, + TIME_WAIT = 10 +}; + + +enum numParams{ + PARAM_NUMS_0, + PARAM_NUMS_1, + PARAM_NUMS_2, + PARAM_NUMS_3, + PARAM_NUMS_4, + PARAM_NUMS_5, + MAX_PARAM_NUMS +}; + +#define MAX_PARAMS MAX_PARAM_NUMS-1 +#define PARAM_LEN_SIZE 1 + +typedef struct __attribute__((__packed__)) +{ + uint8_t paramLen; + char* param; +}tParam; + +typedef struct __attribute__((__packed__)) +{ + uint16_t dataLen; + char* data; +}tDataParam; + + +typedef struct __attribute__((__packed__)) +{ + unsigned char cmd; + unsigned char tcmd; + unsigned char nParam; + tParam params[MAX_PARAMS]; +}tSpiMsg; + +typedef struct __attribute__((__packed__)) +{ + unsigned char cmd; + unsigned char tcmd; + unsigned char nParam; + tDataParam params[MAX_PARAMS]; +}tSpiMsgData; + + +typedef struct __attribute__((__packed__)) +{ + unsigned char cmd; + unsigned char tcmd; + //unsigned char totLen; + unsigned char nParam; +}tSpiHdr; + +typedef struct __attribute__((__packed__)) +{ + uint8_t paramLen; + uint32_t param; +}tLongParam; + +typedef struct __attribute__((__packed__)) +{ + uint8_t paramLen; + uint16_t param; +}tIntParam; + +typedef struct __attribute__((__packed__)) +{ + uint8_t paramLen; + uint8_t param; +}tByteParam; + +#endif diff --git a/firmware/libraries/WiFi/src/utility/wl_definitions.h b/firmware/libraries/WiFi/src/utility/wl_definitions.h new file mode 100644 index 0000000..70d1de4 --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/wl_definitions.h @@ -0,0 +1,72 @@ +/* + wl_definitions.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ +/* + * wl_definitions.h + * + * Created on: Mar 6, 2011 + * Author: dlafauci + */ + +#ifndef WL_DEFINITIONS_H_ +#define WL_DEFINITIONS_H_ + +// Maximum size of a SSID +#define WL_SSID_MAX_LENGTH 32 +// Length of passphrase. Valid lengths are 8-63. +#define WL_WPA_KEY_MAX_LENGTH 63 +// Length of key in bytes. Valid values are 5 and 13. +#define WL_WEP_KEY_MAX_LENGTH 13 +// Size of a MAC-address or BSSID +#define WL_MAC_ADDR_LENGTH 6 +// Size of a MAC-address or BSSID +#define WL_IPV4_LENGTH 4 +// Maximum size of a SSID list +#define WL_NETWORKS_LIST_MAXNUM 10 +// Maxmium number of socket +#define MAX_SOCK_NUM 4 +// Socket not available constant +#define SOCK_NOT_AVAIL 255 +// Default state value for Wifi state field +#define NA_STATE -1 +//Maximum number of attempts to establish wifi connection +#define WL_MAX_ATTEMPT_CONNECTION 10 + +typedef enum { + WL_NO_SHIELD = 255, + WL_IDLE_STATUS = 0, + WL_NO_SSID_AVAIL, + WL_SCAN_COMPLETED, + WL_CONNECTED, + WL_CONNECT_FAILED, + WL_CONNECTION_LOST, + WL_DISCONNECTED +} wl_status_t; + +/* Encryption modes */ +enum wl_enc_type { /* Values map to 802.11 encryption suites... */ + ENC_TYPE_WEP = 5, + ENC_TYPE_TKIP = 2, + ENC_TYPE_CCMP = 4, + /* ... except these two, 7 and 8 are reserved in 802.11-2007 */ + ENC_TYPE_NONE = 7, + ENC_TYPE_AUTO = 8 +}; + + +#endif /* WL_DEFINITIONS_H_ */ diff --git a/firmware/libraries/WiFi/src/utility/wl_types.h b/firmware/libraries/WiFi/src/utility/wl_types.h new file mode 100644 index 0000000..b9fd5fa --- /dev/null +++ b/firmware/libraries/WiFi/src/utility/wl_types.h @@ -0,0 +1,49 @@ +/* + wl_types.h - Library for Arduino Wifi shield. + Copyright (c) 2011-2014 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ +/* + * wl_types.h + * + * Created on: Jul 30, 2010 + * Author: dlafauci + */ + + +#ifndef _WL_TYPES_H_ +#define _WL_TYPES_H_ + +#include <inttypes.h> + +typedef enum { + WL_FAILURE = -1, + WL_SUCCESS = 1, +} wl_error_code_t; + +/* Authentication modes */ +enum wl_auth_mode { + AUTH_MODE_INVALID, + AUTH_MODE_AUTO, + AUTH_MODE_OPEN_SYSTEM, + AUTH_MODE_SHARED_KEY, + AUTH_MODE_WPA, + AUTH_MODE_WPA2, + AUTH_MODE_WPA_PSK, + AUTH_MODE_WPA2_PSK +}; + +#endif //_WL_TYPES_H_ diff --git a/firmware/libraries/WiFiManager/LICENSE b/firmware/libraries/WiFiManager/LICENSE new file mode 100644 index 0000000..1dabff5 --- /dev/null +++ b/firmware/libraries/WiFiManager/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 tzapu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/firmware/libraries/WiFiManager/README.md b/firmware/libraries/WiFiManager/README.md new file mode 100644 index 0000000..3782339 --- /dev/null +++ b/firmware/libraries/WiFiManager/README.md @@ -0,0 +1,374 @@ +## Current development going on here :arrow_right: [Development Branch](https://github.com/tzapu/WiFiManager/tree/development) + +# WiFiManager +ESP8266 WiFi Connection manager with fallback web configuration portal + +[![Build Status](https://travis-ci.org/tzapu/WiFiManager.svg?branch=master)](https://travis-ci.org/tzapu/WiFiManager) + +The configuration portal is of the captive variety, so on various devices it will present the configuration dialogue as soon as you connect to the created access point. + +First attempt at a library. Lots more changes and fixes to do. Contributions are welcome. + +#### This works with the ESP8266 Arduino platform with a recent stable release(2.0.0 or newer) https://github.com/esp8266/Arduino + +## Contents + - [How it works](#how-it-works) + - [Wishlist](#wishlist) + - [Quick start](#quick-start) + - Installing + - [Through Library Manager](#install-through-library-manager) + - [From Github](#checkout-from-github) + - [Using](#using) + - [Documentation](#documentation) + - [Access Point Password](#password-protect-the-configuration-access-point) + - [Callbacks](#callbacks) + - [Configuration Portal Timeout](#configuration-portal-timeout) + - [On Demand Configuration](#on-demand-configuration-portal) + - [Custom Parameters](#custom-parameters) + - [Custom IP Configuration](#custom-ip-configuration) + - [Filter Low Quality Networks](#filter-networks) + - [Debug Output](#debug) + - [Troubleshooting](#troubleshooting) + - [Releases](#releases) + - [Contributors](#contributions-and-thanks) + + +## How It Works +- when your ESP starts up, it sets it up in Station mode and tries to connect to a previously saved Access Point +- if this is unsuccessful (or no previous network saved) it moves the ESP into Access Point mode and spins up a DNS and WebServer (default ip 192.168.4.1) +- using any wifi enabled device with a browser (computer, phone, tablet) connect to the newly created Access Point +- because of the Captive Portal and the DNS server you will either get a 'Join to network' type of popup or get any domain you try to access redirected to the configuration portal +- choose one of the access points scanned, enter password, click save +- ESP will try to connect. If successful, it relinquishes control back to your app. If not, reconnect to AP and reconfigure. + +## How It Looks +![ESP8266 WiFi Captive Portal Homepage](http://i.imgur.com/YPvW9eql.png) ![ESP8266 WiFi Captive Portal Configuration](http://i.imgur.com/oicWJ4gl.png) + +## Wishlist +- [x] remove dependency on EEPROM library +- [x] move HTML Strings to PROGMEM +- [x] cleanup and streamline code (although this is ongoing) +- [x] if timeout is set, extend it when a page is fetched in AP mode +- [x] add ability to configure more parameters than ssid/password +- [x] maybe allow setting ip of ESP after reboot +- [x] add to Arduino Library Manager +- [x] add to PlatformIO +- [ ] add multiple sets of network credentials +- [x] allow users to customize CSS +- [ ] ESP32 support or instructions +- [ ] rewrite documentation for simplicity, based on scenarios/goals +- [ ] rely on the SDK's built in auto connect more than forcing a connect + +## Quick Start + +### Installing +You can either install through the Arduino Library Manager or checkout the latest changes or a release from github + +#### Install through Library Manager +__Currently version 0.8+ works with release 2.0.0 or newer of the [ESP8266 core for Arduino](https://github.com/esp8266/Arduino)__ + - in Arduino IDE got to Sketch/Include Library/Manage Libraries + ![Manage Libraries](http://i.imgur.com/9BkEBkR.png) + + - search for WiFiManager + ![WiFiManager package](http://i.imgur.com/18yIai8.png) + + - click Install and start [using it](#using) + +#### Checkout from github +__Github version works with release 2.0.0 or newer of the [ESP8266 core for Arduino](https://github.com/esp8266/Arduino)__ +- Checkout library to your Arduino libraries folder + +### Using +- Include in your sketch +```cpp +#include <ESP8266WiFi.h> //ESP8266 Core WiFi Library (you most likely already have this in your sketch) + +#include <DNSServer.h> //Local DNS Server used for redirecting all requests to the configuration portal +#include <ESP8266WebServer.h> //Local WebServer used to serve the configuration portal +#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager WiFi Configuration Magic +``` + +- Initialize library, in your setup function add +```cpp +WiFiManager wifiManager; +``` + +- Also in the setup function add +```cpp +//first parameter is name of access point, second is the password +wifiManager.autoConnect("AP-NAME", "AP-PASSWORD"); +``` +if you just want an unsecured access point +```cpp +wifiManager.autoConnect("AP-NAME"); +``` +or if you want to use and auto generated name from 'ESP' and the esp's Chip ID use +```cpp +wifiManager.autoConnect(); +``` + +After you write your sketch and start the ESP, it will try to connect to WiFi. If it fails it starts in Access Point mode. +While in AP mode, connect to it then open a browser to the gateway IP, default 192.168.4.1, configure wifi, save and it should reboot and connect. + +Also see [examples](https://github.com/tzapu/WiFiManager/tree/master/examples). + +## Documentation + +#### Password protect the configuration Access Point +You can and should password protect the configuration access point. Simply add the password as a second parameter to `autoConnect`. +A short password seems to have unpredictable results so use one that's around 8 characters or more in length. +The guidelines are that a wifi password must consist of 8 to 63 ASCII-encoded characters in the range of 32 to 126 (decimal) +```cpp +wifiManager.autoConnect("AutoConnectAP", "password") +``` + +#### Callbacks +##### Enter Config mode +Use this if you need to do something when your device enters configuration mode on failed WiFi connection attempt. +Before `autoConnect()` +```cpp +wifiManager.setAPCallback(configModeCallback); +``` +`configModeCallback` declaration and example +```cpp +void configModeCallback (WiFiManager *myWiFiManager) { + Serial.println("Entered config mode"); + Serial.println(WiFi.softAPIP()); + + Serial.println(myWiFiManager->getConfigPortalSSID()); +} +``` + +##### Save settings +This gets called when custom parameters have been set **AND** a connection has been established. Use it to set a flag, so when all the configuration finishes, you can save the extra parameters somewhere. + +See [AutoConnectWithFSParameters Example](https://github.com/tzapu/WiFiManager/tree/master/examples/AutoConnectWithFSParameters). +```cpp +wifiManager.setSaveConfigCallback(saveConfigCallback); +``` +`saveConfigCallback` declaration and example +```cpp +//flag for saving data +bool shouldSaveConfig = false; + +//callback notifying us of the need to save config +void saveConfigCallback () { + Serial.println("Should save config"); + shouldSaveConfig = true; +} +``` + +#### Configuration Portal Timeout +If you need to set a timeout so the ESP doesn't hang waiting to be configured, for instance after a power failure, you can add +```cpp +wifiManager.setConfigPortalTimeout(180); +``` +which will wait 3 minutes (180 seconds). When the time passes, the autoConnect function will return, no matter the outcome. +Check for connection and if it's still not established do whatever is needed (on some modules I restart them to retry, on others I enter deep sleep) + +#### On Demand Configuration Portal +If you would rather start the configuration portal on demand rather than automatically on a failed connection attempt, then this is for you. + +Instead of calling `autoConnect()` which does all the connecting and failover configuration portal setup for you, you need to use `startConfigPortal()`. __Do not use BOTH.__ + +Example usage +```cpp +void loop() { + // is configuration portal requested? + if ( digitalRead(TRIGGER_PIN) == LOW ) { + WiFiManager wifiManager; + wifiManager.startConfigPortal("OnDemandAP"); + Serial.println("connected...yeey :)"); + } +} +``` +See example for a more complex version. [OnDemandConfigPortal](https://github.com/tzapu/WiFiManager/tree/master/examples/OnDemandConfigPortal) + +#### Custom Parameters +You can use WiFiManager to collect more parameters than just SSID and password. +This could be helpful for configuring stuff like MQTT host and port, [blynk](http://www.blynk.cc) or [emoncms](http://emoncms.org) tokens, just to name a few. +**You are responsible for saving and loading these custom values.** The library just collects and displays the data for you as a convenience. +Usage scenario would be: +- load values from somewhere (EEPROM/FS) or generate some defaults +- add the custom parameters to WiFiManager using + ```cpp + // id/name, placeholder/prompt, default, length + WiFiManagerParameter custom_mqtt_server("server", "mqtt server", mqtt_server, 40); + wifiManager.addParameter(&custom_mqtt_server); + + ``` +- if connection to AP fails, configuration portal starts and you can set /change the values (or use on demand configuration portal) +- once configuration is done and connection is established [save config callback]() is called +- once WiFiManager returns control to your application, read and save the new values using the `WiFiManagerParameter` object. + ```cpp + mqtt_server = custom_mqtt_server.getValue(); + ``` +This feature is a lot more involved than all the others, so here are some examples to fully show how it is done. +You should also take a look at adding custom HTML to your form. + +- Save and load custom parameters to file system in json form [AutoConnectWithFSParameters](https://github.com/tzapu/WiFiManager/tree/master/examples/AutoConnectWithFSParameters) +- *Save and load custom parameters to EEPROM* (not done yet) + +#### Custom IP Configuration +You can set a custom IP for both AP (access point, config mode) and STA (station mode, client mode, normal project state) + +##### Custom Access Point IP Configuration +This will set your captive portal to a specific IP should you need/want such a feature. Add the following snippet before `autoConnect()` +```cpp +//set custom ip for portal +wifiManager.setAPStaticIPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); +``` + +##### Custom Station (client) Static IP Configuration +This will make use the specified IP configuration instead of using DHCP in station mode. +```cpp +wifiManager.setSTAStaticIPConfig(IPAddress(192,168,0,99), IPAddress(192,168,0,1), IPAddress(255,255,255,0)); +``` +There are a couple of examples in the examples folder that show you how to set a static IP and even how to configure it through the web configuration portal. + +#### Custom HTML, CSS, Javascript +There are various ways in which you can inject custom HTML, CSS or Javascript into the configuration portal. +The options are: +- inject custom head element +You can use this to any html bit to the head of the configuration portal. If you add a `<style>` element, bare in mind it overwrites the included css, not replaces. +```cpp +wifiManager.setCustomHeadElement("<style>html{filter: invert(100%); -webkit-filter: invert(100%);}</style>"); +``` +- inject a custom bit of html in the configuration form +```cpp +WiFiManagerParameter custom_text("<p>This is just a text paragraph</p>"); +wifiManager.addParameter(&custom_text); +``` +- inject a custom bit of html in a configuration form element +Just add the bit you want added as the last parameter to the custom parameter constructor. +```cpp +WiFiManagerParameter custom_mqtt_server("server", "mqtt server", "iot.eclipse", 40, " readonly"); +``` + +#### Filter Networks +You can filter networks based on signal quality and show/hide duplicate networks. + +- If you would like to filter low signal quality networks you can tell WiFiManager to not show networks below an arbitrary quality %; +```cpp +wifiManager.setMinimumSignalQuality(10); +``` +will not show networks under 10% signal quality. If you omit the parameter it defaults to 8%; + +- You can also remove or show duplicate networks (default is remove). +Use this function to show (or hide) all networks. +```cpp +wifiManager.setRemoveDuplicateAPs(false); +``` + +#### Debug +Debug is enabled by default on Serial. To disable add before autoConnect +```cpp +wifiManager.setDebugOutput(false); +``` + +## Troubleshooting +If you get compilation errors, more often than not, you may need to install a newer version of the ESP8266 core for Arduino. + +Changes added on 0.8 should make the latest trunk work without compilation errors. Tested down to ESP8266 core 2.0.0. **Please update to version 0.8** + +I am trying to keep releases working with release versions of the core, so they can be installed through boards manager, but if you checkout the latest version directly from github, sometimes, the library will only work if you update the ESP8266 core to the latest version because I am using some newly added function. + +If you connect to the created configuration Access Point but the configuration portal does not show up, just open a browser and type in the IP of the web portal, by default `192.168.4.1`. + +If trying to connect ends up in an endless loop, try to add `setConnectTimeout(60)` before `autoConnect();`. The parameter is timeout to try connecting in seconds. + +## Releases +#### 0.12 +- removed 204 header response +- fixed incompatibility with other libs using isnan and other std:: functions without namespace + +##### 0.11 +- a lot more reliable reconnecting to networks +- custom html in custom parameters (for read only params) +- custom html in custom parameter form (like labels) +- custom head element (like custom css) +- sort networks based on signal quality +- remove duplicate networks + +##### 0.10 +- some css changes +- bug fixes and speed improvements +- added an alternative to waitForConnectResult() for debugging +- changed `setTimeout(seconds)` to `setConfigPortalTimeout(seconds)` + +##### 0.9 + - fixed support for encoded characters in ssid/pass + +##### 0.8 + - made it compile on older versions of ESP8266 core as well, tested down to 2.0.0 + - added simple example for Custom IP + +##### 0.7 + - added static IP in station mode + - added example of persisting custom IP to FS config.json + - more option on portal homepage + - added on PlatformIO + +##### 0.6 + - custom parameters + - prettier + - on demand config portal + - commit #100 :D + +##### 0.5 + - Added to Arduino Boards Manager - Thanks Max + - moved most stuff to PROGMEM + - added signal quality and a nice little padlock to show which networks are encrypted + +##### v0.4 - all of it user contributed changes - Thank you + - added ability to password protect the configuration Access Point + - callback for enter configuration mode + - memory allocation improvements + +##### v0.3 + - removed the need for EEPROM and works with the 2.0.0 and above stable release of the ESP8266 for Arduino IDE package + - removed restart on save of credentials + - updated examples + +##### v0.2 +needs the latest staging version (or at least a recent release of the staging version) to work + +##### v0.1 +works with the staging release ver. 1.6.5-1044-g170995a, built on Aug 10, 2015 of the ESP8266 Arduino library. + + +### Contributions and thanks +The support and help I got from the community has been nothing short of phenomenal. I can't thank you guys enough. This is my first real attept in developing open source stuff and I must say, now I understand why people are so dedicated to it, it is because of all the wonderful people involved. + +__THANK YOU__ + +[Shawn A](https://github.com/tablatronix) + +[Maximiliano Duarte](https://github.com/domonetic) + +[alltheblinkythings](https://github.com/alltheblinkythings) + +[Niklas Wall](https://github.com/niklaswall) + +[Jakub Piasecki](https://github.com/zaporylie) + +[Peter Allan](https://github.com/alwynallan) + +[John Little](https://github.com/j0hnlittle) + +[markaswift](https://github.com/markaswift) + +[franklinvv](https://github.com/franklinvv) + +[Alberto Ricci Bitti](https://github.com/riccibitti) + +[SebiPanther](https://github.com/SebiPanther) + +[jonathanendersby](https://github.com/jonathanendersby) + +[walthercarsten](https://github.com/walthercarsten) + +Sorry if i have missed anyone. + +#### Inspiration +- http://www.esp8266.com/viewtopic.php?f=29&t=2520 diff --git a/firmware/libraries/WiFiManager/WiFiManager.cpp b/firmware/libraries/WiFiManager/WiFiManager.cpp new file mode 100644 index 0000000..1e6d805 --- /dev/null +++ b/firmware/libraries/WiFiManager/WiFiManager.cpp @@ -0,0 +1,804 @@ +/************************************************************** + WiFiManager is a library for the ESP8266/Arduino platform + (https://github.com/esp8266/Arduino) to enable easy + configuration and reconfiguration of WiFi credentials using a Captive Portal + inspired by: + http://www.esp8266.com/viewtopic.php?f=29&t=2520 + https://github.com/chriscook8/esp-arduino-apboot + https://github.com/esp8266/Arduino/tree/master/libraries/DNSServer/examples/CaptivePortalAdvanced + Built by AlexT https://github.com/tzapu + Licensed under MIT license + **************************************************************/ + +#include "WiFiManager.h" + +WiFiManagerParameter::WiFiManagerParameter(const char *custom) { + _id = NULL; + _placeholder = NULL; + _length = 0; + _value = NULL; + + _customHTML = custom; +} + +WiFiManagerParameter::WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length) { + init(id, placeholder, defaultValue, length, ""); +} + +WiFiManagerParameter::WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom) { + init(id, placeholder, defaultValue, length, custom); +} + +void WiFiManagerParameter::init(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom) { + _id = id; + _placeholder = placeholder; + _length = length; + _value = new char[length + 1]; + for (int i = 0; i < length + 1; i++) { + _value[i] = 0; + } + if (defaultValue != NULL) { + strncpy(_value, defaultValue, length); + } + + _customHTML = custom; +} + +WiFiManagerParameter::~WiFiManagerParameter() { + if (_value != NULL) { + delete[] _value; + } +} + +const char* WiFiManagerParameter::getValue() { + return _value; +} +const char* WiFiManagerParameter::getID() { + return _id; +} +const char* WiFiManagerParameter::getPlaceholder() { + return _placeholder; +} +int WiFiManagerParameter::getValueLength() { + return _length; +} +const char* WiFiManagerParameter::getCustomHTML() { + return _customHTML; +} + + +WiFiManager::WiFiManager() { + _max_params = WIFI_MANAGER_MAX_PARAMS; + _params = (WiFiManagerParameter**)malloc(_max_params * sizeof(WiFiManagerParameter*)); +} + +WiFiManager::~WiFiManager() +{ + if (_params != NULL) + { + DEBUG_WM(F("freeing allocated params!")); + free(_params); + } +} + +bool WiFiManager::addParameter(WiFiManagerParameter *p) { + if(_paramsCount + 1 > _max_params) + { + // rezise the params array + _max_params += WIFI_MANAGER_MAX_PARAMS; + DEBUG_WM(F("Increasing _max_params to:")); + DEBUG_WM(_max_params); + WiFiManagerParameter** new_params = (WiFiManagerParameter**)realloc(_params, _max_params * sizeof(WiFiManagerParameter*)); + if (new_params != NULL) { + _params = new_params; + } else { + DEBUG_WM(F("ERROR: failed to realloc params, size not increased!")); + return false; + } + } + + _params[_paramsCount] = p; + _paramsCount++; + DEBUG_WM(F("Adding parameter")); + DEBUG_WM(p->getID()); + return true; +} + +void WiFiManager::setupConfigPortal() { + dnsServer.reset(new DNSServer()); + server.reset(new ESP8266WebServer(80)); + + DEBUG_WM(F("")); + _configPortalStart = millis(); + + DEBUG_WM(F("Configuring access point... ")); + DEBUG_WM(_apName); + if (_apPassword != NULL) { + if (strlen(_apPassword) < 8 || strlen(_apPassword) > 63) { + // fail passphrase to short or long! + DEBUG_WM(F("Invalid AccessPoint password. Ignoring")); + _apPassword = NULL; + } + DEBUG_WM(_apPassword); + } + + //optional soft ip config + if (_ap_static_ip) { + DEBUG_WM(F("Custom AP IP/GW/Subnet")); + WiFi.softAPConfig(_ap_static_ip, _ap_static_gw, _ap_static_sn); + } + + if (_apPassword != NULL) { + WiFi.softAP(_apName, _apPassword);//password option + } else { + WiFi.softAP(_apName); + } + + delay(500); // Without delay I've seen the IP address blank + DEBUG_WM(F("AP IP address: ")); + DEBUG_WM(WiFi.softAPIP()); + + /* Setup the DNS server redirecting all the domains to the apIP */ + dnsServer->setErrorReplyCode(DNSReplyCode::NoError); + dnsServer->start(DNS_PORT, "*", WiFi.softAPIP()); + + /* Setup web pages: root, wifi config pages, SO captive portal detectors and not found. */ + server->on(String(F("/")), std::bind(&WiFiManager::handleRoot, this)); + server->on(String(F("/wifi")), std::bind(&WiFiManager::handleWifi, this, true)); + server->on(String(F("/0wifi")), std::bind(&WiFiManager::handleWifi, this, false)); + server->on(String(F("/wifisave")), std::bind(&WiFiManager::handleWifiSave, this)); + server->on(String(F("/i")), std::bind(&WiFiManager::handleInfo, this)); + server->on(String(F("/r")), std::bind(&WiFiManager::handleReset, this)); + //server->on("/generate_204", std::bind(&WiFiManager::handle204, this)); //Android/Chrome OS captive portal check. + server->on(String(F("/fwlink")), std::bind(&WiFiManager::handleRoot, this)); //Microsoft captive portal. Maybe not needed. Might be handled by notFound handler. + server->onNotFound (std::bind(&WiFiManager::handleNotFound, this)); + server->begin(); // Web server start + DEBUG_WM(F("HTTP server started")); + +} + +boolean WiFiManager::autoConnect() { + String ssid = "ESP" + String(ESP.getChipId()); + return autoConnect(ssid.c_str(), NULL); +} + +boolean WiFiManager::autoConnect(char const *apName, char const *apPassword) { + DEBUG_WM(F("")); + DEBUG_WM(F("AutoConnect")); + + // read eeprom for ssid and pass + //String ssid = getSSID(); + //String pass = getPassword(); + + // attempt to connect; should it fail, fall back to AP + WiFi.mode(WIFI_STA); + + if (connectWifi("", "") == WL_CONNECTED) { + DEBUG_WM(F("IP Address:")); + DEBUG_WM(WiFi.localIP()); + //connected + return true; + } + + return startConfigPortal(apName, apPassword); +} + +boolean WiFiManager::configPortalHasTimeout(){ + if(_configPortalTimeout == 0 || wifi_softap_get_station_num() > 0){ + _configPortalStart = millis(); // kludge, bump configportal start time to skew timeouts + return false; + } + return (millis() > _configPortalStart + _configPortalTimeout); +} + +boolean WiFiManager::startConfigPortal() { + String ssid = "ESP" + String(ESP.getChipId()); + return startConfigPortal(ssid.c_str(), NULL); +} + +boolean WiFiManager::startConfigPortal(char const *apName, char const *apPassword) { + //setup AP + WiFi.mode(WIFI_AP_STA); + DEBUG_WM(F("SET AP STA")); + + _apName = apName; + _apPassword = apPassword; + + //notify we entered AP mode + if ( _apcallback != NULL) { + _apcallback(this); + } + + connect = false; + setupConfigPortal(); + + while(1){ + + // check if timeout + if(configPortalHasTimeout()) break; + + //DNS + dnsServer->processNextRequest(); + //HTTP + server->handleClient(); + + + if (connect) { + connect = false; + delay(2000); + DEBUG_WM(F("Connecting to new AP")); + + // using user-provided _ssid, _pass in place of system-stored ssid and pass + if (connectWifi(_ssid, _pass) != WL_CONNECTED) { + DEBUG_WM(F("Failed to connect.")); + } else { + //connected + WiFi.mode(WIFI_STA); + //notify that configuration has changed and any optional parameters should be saved + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + break; + } + + if (_shouldBreakAfterConfig) { + //flag set to exit after config after trying to connect + //notify that configuration has changed and any optional parameters should be saved + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + break; + } + } + yield(); + } + + server.reset(); + dnsServer.reset(); + + return WiFi.status() == WL_CONNECTED; +} + + +int WiFiManager::connectWifi(String ssid, String pass) { + DEBUG_WM(F("Connecting as wifi client...")); + + // check if we've got static_ip settings, if we do, use those. + if (_sta_static_ip) { + DEBUG_WM(F("Custom STA IP/GW/Subnet")); + WiFi.config(_sta_static_ip, _sta_static_gw, _sta_static_sn); + DEBUG_WM(WiFi.localIP()); + } + //fix for auto connect racing issue + if (WiFi.status() == WL_CONNECTED) { + DEBUG_WM(F("Already connected. Bailing out.")); + return WL_CONNECTED; + } + //check if we have ssid and pass and force those, if not, try with last saved values + if (ssid != "") { + WiFi.begin(ssid.c_str(), pass.c_str()); + } else { + if (WiFi.SSID()) { + DEBUG_WM(F("Using last saved values, should be faster")); + //trying to fix connection in progress hanging + ETS_UART_INTR_DISABLE(); + wifi_station_disconnect(); + ETS_UART_INTR_ENABLE(); + + WiFi.begin(); + } else { + DEBUG_WM(F("No saved credentials")); + } + } + + int connRes = waitForConnectResult(); + DEBUG_WM ("Connection result: "); + DEBUG_WM ( connRes ); + //not connected, WPS enabled, no pass - first attempt + if (_tryWPS && connRes != WL_CONNECTED && pass == "") { + startWPS(); + //should be connected at the end of WPS + connRes = waitForConnectResult(); + } + return connRes; +} + +uint8_t WiFiManager::waitForConnectResult() { + if (_connectTimeout == 0) { + return WiFi.waitForConnectResult(); + } else { + DEBUG_WM (F("Waiting for connection result with time out")); + unsigned long start = millis(); + boolean keepConnecting = true; + uint8_t status; + while (keepConnecting) { + status = WiFi.status(); + if (millis() > start + _connectTimeout) { + keepConnecting = false; + DEBUG_WM (F("Connection timed out")); + } + if (status == WL_CONNECTED || status == WL_CONNECT_FAILED) { + keepConnecting = false; + } + delay(100); + } + return status; + } +} + +void WiFiManager::startWPS() { + DEBUG_WM(F("START WPS")); + WiFi.beginWPSConfig(); + DEBUG_WM(F("END WPS")); +} +/* + String WiFiManager::getSSID() { + if (_ssid == "") { + DEBUG_WM(F("Reading SSID")); + _ssid = WiFi.SSID(); + DEBUG_WM(F("SSID: ")); + DEBUG_WM(_ssid); + } + return _ssid; + } + + String WiFiManager::getPassword() { + if (_pass == "") { + DEBUG_WM(F("Reading Password")); + _pass = WiFi.psk(); + DEBUG_WM("Password: " + _pass); + //DEBUG_WM(_pass); + } + return _pass; + } +*/ +String WiFiManager::getConfigPortalSSID() { + return _apName; +} + +void WiFiManager::resetSettings() { + DEBUG_WM(F("settings invalidated")); + DEBUG_WM(F("THIS MAY CAUSE AP NOT TO START UP PROPERLY. YOU NEED TO COMMENT IT OUT AFTER ERASING THE DATA.")); + WiFi.disconnect(true); + //delay(200); +} +void WiFiManager::setTimeout(unsigned long seconds) { + setConfigPortalTimeout(seconds); +} + +void WiFiManager::setConfigPortalTimeout(unsigned long seconds) { + _configPortalTimeout = seconds * 1000; +} + +void WiFiManager::setConnectTimeout(unsigned long seconds) { + _connectTimeout = seconds * 1000; +} + +void WiFiManager::setDebugOutput(boolean debug) { + _debug = debug; +} + +void WiFiManager::setAPStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn) { + _ap_static_ip = ip; + _ap_static_gw = gw; + _ap_static_sn = sn; +} + +void WiFiManager::setSTAStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn) { + _sta_static_ip = ip; + _sta_static_gw = gw; + _sta_static_sn = sn; +} + +void WiFiManager::setMinimumSignalQuality(int quality) { + _minimumQuality = quality; +} + +void WiFiManager::setBreakAfterConfig(boolean shouldBreak) { + _shouldBreakAfterConfig = shouldBreak; +} + +/** Handle root or redirect to captive portal */ +void WiFiManager::handleRoot() { + DEBUG_WM(F("Handle root")); + if (captivePortal()) { // If caprive portal redirect instead of displaying the page. + return; + } + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Options"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += String(F("<h1>")); + page += _apName; + page += String(F("</h1>")); + page += String(F("<h3>WiFiManager</h3>")); + page += FPSTR(HTTP_PORTAL_OPTIONS); + page += FPSTR(HTTP_END); + + server->sendHeader("Content-Length", String(page.length())); + server->send(200, "text/html", page); + +} + +/** Wifi config page handler */ +void WiFiManager::handleWifi(boolean scan) { + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Config ESP"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + + if (scan) { + int n = WiFi.scanNetworks(); + DEBUG_WM(F("Scan done")); + if (n == 0) { + DEBUG_WM(F("No networks found")); + page += F("No networks found. Refresh to scan again."); + } else { + + //sort networks + int indices[n]; + for (int i = 0; i < n; i++) { + indices[i] = i; + } + + // RSSI SORT + + // old sort + for (int i = 0; i < n; i++) { + for (int j = i + 1; j < n; j++) { + if (WiFi.RSSI(indices[j]) > WiFi.RSSI(indices[i])) { + std::swap(indices[i], indices[j]); + } + } + } + + /*std::sort(indices, indices + n, [](const int & a, const int & b) -> bool + { + return WiFi.RSSI(a) > WiFi.RSSI(b); + });*/ + + // remove duplicates ( must be RSSI sorted ) + if (_removeDuplicateAPs) { + String cssid; + for (int i = 0; i < n; i++) { + if (indices[i] == -1) continue; + cssid = WiFi.SSID(indices[i]); + for (int j = i + 1; j < n; j++) { + if (cssid == WiFi.SSID(indices[j])) { + DEBUG_WM("DUP AP: " + WiFi.SSID(indices[j])); + indices[j] = -1; // set dup aps to index -1 + } + } + } + } + + //display networks in page + for (int i = 0; i < n; i++) { + if (indices[i] == -1) continue; // skip dups + DEBUG_WM(WiFi.SSID(indices[i])); + DEBUG_WM(WiFi.RSSI(indices[i])); + int quality = getRSSIasQuality(WiFi.RSSI(indices[i])); + + if (_minimumQuality == -1 || _minimumQuality < quality) { + String item = FPSTR(HTTP_ITEM); + String rssiQ; + rssiQ += quality; + item.replace("{v}", WiFi.SSID(indices[i])); + item.replace("{r}", rssiQ); + if (WiFi.encryptionType(indices[i]) != ENC_TYPE_NONE) { + item.replace("{i}", "l"); + } else { + item.replace("{i}", ""); + } + //DEBUG_WM(item); + page += item; + delay(0); + } else { + DEBUG_WM(F("Skipping due to quality")); + } + + } + page += "<br/>"; + } + } + + page += FPSTR(HTTP_FORM_START); + char parLength[5]; + // add the extra parameters to the form + for (int i = 0; i < _paramsCount; i++) { + if (_params[i] == NULL) { + break; + } + + String pitem = FPSTR(HTTP_FORM_PARAM); + if (_params[i]->getID() != NULL) { + pitem.replace("{i}", _params[i]->getID()); + pitem.replace("{n}", _params[i]->getID()); + pitem.replace("{p}", _params[i]->getPlaceholder()); + snprintf(parLength, 5, "%d", _params[i]->getValueLength()); + pitem.replace("{l}", parLength); + pitem.replace("{v}", _params[i]->getValue()); + pitem.replace("{c}", _params[i]->getCustomHTML()); + } else { + pitem = _params[i]->getCustomHTML(); + } + + page += pitem; + } + if (_params[0] != NULL) { + page += "<br/>"; + } + + if (_sta_static_ip) { + + String item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "ip"); + item.replace("{n}", "ip"); + item.replace("{p}", "Static IP"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_ip.toString()); + + page += item; + + item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "gw"); + item.replace("{n}", "gw"); + item.replace("{p}", "Static Gateway"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_gw.toString()); + + page += item; + + item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "sn"); + item.replace("{n}", "sn"); + item.replace("{p}", "Subnet"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_sn.toString()); + + page += item; + + page += "<br/>"; + } + + page += FPSTR(HTTP_FORM_END); + page += FPSTR(HTTP_SCAN_LINK); + + page += FPSTR(HTTP_END); + + server->sendHeader("Content-Length", String(page.length())); + server->send(200, "text/html", page); + + + DEBUG_WM(F("Sent config page")); +} + +/** Handle the WLAN save form and redirect to WLAN config page again */ +void WiFiManager::handleWifiSave() { + DEBUG_WM(F("WiFi save")); + + //SAVE/connect here + _ssid = server->arg("s").c_str(); + _pass = server->arg("p").c_str(); + + //parameters + for (int i = 0; i < _paramsCount; i++) { + if (_params[i] == NULL) { + break; + } + //read parameter + String value = server->arg(_params[i]->getID()).c_str(); + //store it in array + value.toCharArray(_params[i]->_value, _params[i]->_length + 1); + DEBUG_WM(F("Parameter")); + DEBUG_WM(_params[i]->getID()); + DEBUG_WM(value); + } + + if (server->arg("ip") != "") { + DEBUG_WM(F("static ip")); + DEBUG_WM(server->arg("ip")); + //_sta_static_ip.fromString(server->arg("ip")); + String ip = server->arg("ip"); + optionalIPFromString(&_sta_static_ip, ip.c_str()); + } + if (server->arg("gw") != "") { + DEBUG_WM(F("static gateway")); + DEBUG_WM(server->arg("gw")); + String gw = server->arg("gw"); + optionalIPFromString(&_sta_static_gw, gw.c_str()); + } + if (server->arg("sn") != "") { + DEBUG_WM(F("static netmask")); + DEBUG_WM(server->arg("sn")); + String sn = server->arg("sn"); + optionalIPFromString(&_sta_static_sn, sn.c_str()); + } + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Credentials Saved"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += FPSTR(HTTP_SAVED); + page += FPSTR(HTTP_END); + + server->sendHeader("Content-Length", String(page.length())); + server->send(200, "text/html", page); + + DEBUG_WM(F("Sent wifi save page")); + + connect = true; //signal ready to connect/reset +} + +/** Handle the info page */ +void WiFiManager::handleInfo() { + DEBUG_WM(F("Info")); + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Info"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += F("<dl>"); + page += F("<dt>Chip ID</dt><dd>"); + page += ESP.getChipId(); + page += F("</dd>"); + page += F("<dt>Flash Chip ID</dt><dd>"); + page += ESP.getFlashChipId(); + page += F("</dd>"); + page += F("<dt>IDE Flash Size</dt><dd>"); + page += ESP.getFlashChipSize(); + page += F(" bytes</dd>"); + page += F("<dt>Real Flash Size</dt><dd>"); + page += ESP.getFlashChipRealSize(); + page += F(" bytes</dd>"); + page += F("<dt>Soft AP IP</dt><dd>"); + page += WiFi.softAPIP().toString(); + page += F("</dd>"); + page += F("<dt>Soft AP MAC</dt><dd>"); + page += WiFi.softAPmacAddress(); + page += F("</dd>"); + page += F("<dt>Station MAC</dt><dd>"); + page += WiFi.macAddress(); + page += F("</dd>"); + page += F("</dl>"); + page += FPSTR(HTTP_END); + + server->sendHeader("Content-Length", String(page.length())); + server->send(200, "text/html", page); + + DEBUG_WM(F("Sent info page")); +} + +/** Handle the reset page */ +void WiFiManager::handleReset() { + DEBUG_WM(F("Reset")); + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Info"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += F("Module will reset in a few seconds."); + page += FPSTR(HTTP_END); + + server->sendHeader("Content-Length", String(page.length())); + server->send(200, "text/html", page); + + DEBUG_WM(F("Sent reset page")); + delay(5000); + ESP.reset(); + delay(2000); +} + +void WiFiManager::handleNotFound() { + if (captivePortal()) { // If captive portal redirect instead of displaying the error page. + return; + } + String message = "File Not Found\n\n"; + message += "URI: "; + message += server->uri(); + message += "\nMethod: "; + message += ( server->method() == HTTP_GET ) ? "GET" : "POST"; + message += "\nArguments: "; + message += server->args(); + message += "\n"; + + for ( uint8_t i = 0; i < server->args(); i++ ) { + message += " " + server->argName ( i ) + ": " + server->arg ( i ) + "\n"; + } + server->sendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + server->sendHeader("Pragma", "no-cache"); + server->sendHeader("Expires", "-1"); + server->sendHeader("Content-Length", String(message.length())); + server->send ( 404, "text/plain", message ); +} + + +/** Redirect to captive portal if we got a request for another domain. Return true in that case so the page handler do not try to handle the request again. */ +boolean WiFiManager::captivePortal() { + if (!isIp(server->hostHeader()) ) { + DEBUG_WM(F("Request redirected to captive portal")); + server->sendHeader("Location", String("http://") + toStringIp(server->client().localIP()), true); + server->send ( 302, "text/plain", ""); // Empty content inhibits Content-length header so we have to close the socket ourselves. + server->client().stop(); // Stop is needed because we sent no content length + return true; + } + return false; +} + +//start up config portal callback +void WiFiManager::setAPCallback( void (*func)(WiFiManager* myWiFiManager) ) { + _apcallback = func; +} + +//start up save config callback +void WiFiManager::setSaveConfigCallback( void (*func)(void) ) { + _savecallback = func; +} + +//sets a custom element to add to head, like a new style tag +void WiFiManager::setCustomHeadElement(const char* element) { + _customHeadElement = element; +} + +//if this is true, remove duplicated Access Points - defaut true +void WiFiManager::setRemoveDuplicateAPs(boolean removeDuplicates) { + _removeDuplicateAPs = removeDuplicates; +} + + + +template <typename Generic> +void WiFiManager::DEBUG_WM(Generic text) { + if (_debug) { + Serial.print("*WM: "); + Serial.println(text); + } +} + +int WiFiManager::getRSSIasQuality(int RSSI) { + int quality = 0; + + if (RSSI <= -100) { + quality = 0; + } else if (RSSI >= -50) { + quality = 100; + } else { + quality = 2 * (RSSI + 100); + } + return quality; +} + +/** Is this an IP? */ +boolean WiFiManager::isIp(String str) { + for (size_t i = 0; i < str.length(); i++) { + int c = str.charAt(i); + if (c != '.' && (c < '0' || c > '9')) { + return false; + } + } + return true; +} + +/** IP to String? */ +String WiFiManager::toStringIp(IPAddress ip) { + String res = ""; + for (int i = 0; i < 3; i++) { + res += String((ip >> (8 * i)) & 0xFF) + "."; + } + res += String(((ip >> 8 * 3)) & 0xFF); + return res; +} diff --git a/firmware/libraries/WiFiManager/WiFiManager.h b/firmware/libraries/WiFiManager/WiFiManager.h new file mode 100644 index 0000000..3da163e --- /dev/null +++ b/firmware/libraries/WiFiManager/WiFiManager.h @@ -0,0 +1,203 @@ +/************************************************************** + WiFiManager is a library for the ESP8266/Arduino platform + (https://github.com/esp8266/Arduino) to enable easy + configuration and reconfiguration of WiFi credentials using a Captive Portal + inspired by: + http://www.esp8266.com/viewtopic.php?f=29&t=2520 + https://github.com/chriscook8/esp-arduino-apboot + https://github.com/esp8266/Arduino/tree/master/libraries/DNSServer/examples/CaptivePortalAdvanced + Built by AlexT https://github.com/tzapu + Licensed under MIT license + **************************************************************/ + +#ifndef WiFiManager_h +#define WiFiManager_h + +#include <ESP8266WiFi.h> +#include <ESP8266WebServer.h> +#include <DNSServer.h> +#include <memory> + +extern "C" { + #include "user_interface.h" +} + +const char HTTP_HEAD[] PROGMEM = "<!DOCTYPE html><html lang=\"en\"><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"/><title>{v}</title>"; +const char HTTP_STYLE[] PROGMEM = "<style>.c{text-align: center;} div,input{padding:5px;font-size:1em;} input{width:95%;} body{text-align: center;font-family:verdana;} button{border:0;border-radius:0.3rem;background-color:#1fa3ec;color:#fff;line-height:2.4rem;font-size:1.2rem;width:100%;} .q{float: right;width: 64px;text-align: right;} .l{background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAALVBMVEX///8EBwfBwsLw8PAzNjaCg4NTVVUjJiZDRUUUFxdiZGSho6OSk5Pg4eFydHTCjaf3AAAAZElEQVQ4je2NSw7AIAhEBamKn97/uMXEGBvozkWb9C2Zx4xzWykBhFAeYp9gkLyZE0zIMno9n4g19hmdY39scwqVkOXaxph0ZCXQcqxSpgQpONa59wkRDOL93eAXvimwlbPbwwVAegLS1HGfZAAAAABJRU5ErkJggg==\") no-repeat left center;background-size: 1em;}</style>"; +const char HTTP_SCRIPT[] PROGMEM = "<script>function c(l){document.getElementById('s').value=l.innerText||l.textContent;document.getElementById('p').focus();}</script>"; +const char HTTP_HEAD_END[] PROGMEM = "</head><body><div style='text-align:left;display:inline-block;min-width:260px;'>"; +const char HTTP_PORTAL_OPTIONS[] PROGMEM = "<form action=\"/wifi\" method=\"get\"><button>Configure WiFi</button></form><br/><form action=\"/0wifi\" method=\"get\"><button>Configure WiFi (No Scan)</button></form><br/><form action=\"/i\" method=\"get\"><button>Info</button></form><br/><form action=\"/r\" method=\"post\"><button>Reset</button></form>"; +const char HTTP_ITEM[] PROGMEM = "<div><a href='#p' onclick='c(this)'>{v}</a>&nbsp;<span class='q {i}'>{r}%</span></div>"; +const char HTTP_FORM_START[] PROGMEM = "<form method='get' action='wifisave'><input id='s' name='s' length=32 placeholder='SSID'><br/><input id='p' name='p' length=64 type='password' placeholder='password'><br/>"; +const char HTTP_FORM_PARAM[] PROGMEM = "<br/><input id='{i}' name='{n}' maxlength={l} placeholder='{p}' value='{v}' {c}>"; +const char HTTP_FORM_END[] PROGMEM = "<br/><button type='submit'>save</button></form>"; +const char HTTP_SCAN_LINK[] PROGMEM = "<br/><div class=\"c\"><a href=\"/wifi\">Scan</a></div>"; +const char HTTP_SAVED[] PROGMEM = "<div>Credentials Saved<br />Trying to connect ESP to network.<br />If it fails reconnect to AP to try again</div>"; +const char HTTP_END[] PROGMEM = "</div></body></html>"; + +#ifndef WIFI_MANAGER_MAX_PARAMS +#define WIFI_MANAGER_MAX_PARAMS 10 +#endif + +class WiFiManagerParameter { + public: + /** + Create custom parameters that can be added to the WiFiManager setup web page + @id is used for HTTP queries and must not contain spaces nor other special characters + */ + WiFiManagerParameter(const char *custom); + WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length); + WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom); + ~WiFiManagerParameter(); + + const char *getID(); + const char *getValue(); + const char *getPlaceholder(); + int getValueLength(); + const char *getCustomHTML(); + private: + const char *_id; + const char *_placeholder; + char *_value; + int _length; + const char *_customHTML; + + void init(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom); + + friend class WiFiManager; +}; + + +class WiFiManager +{ + public: + WiFiManager(); + ~WiFiManager(); + + boolean autoConnect(); + boolean autoConnect(char const *apName, char const *apPassword = NULL); + + //if you want to always start the config portal, without trying to connect first + boolean startConfigPortal(); + boolean startConfigPortal(char const *apName, char const *apPassword = NULL); + + // get the AP name of the config portal, so it can be used in the callback + String getConfigPortalSSID(); + + void resetSettings(); + + //sets timeout before webserver loop ends and exits even if there has been no setup. + //useful for devices that failed to connect at some point and got stuck in a webserver loop + //in seconds setConfigPortalTimeout is a new name for setTimeout + void setConfigPortalTimeout(unsigned long seconds); + void setTimeout(unsigned long seconds); + + //sets timeout for which to attempt connecting, useful if you get a lot of failed connects + void setConnectTimeout(unsigned long seconds); + + + void setDebugOutput(boolean debug); + //defaults to not showing anything under 8% signal quality if called + void setMinimumSignalQuality(int quality = 8); + //sets a custom ip /gateway /subnet configuration + void setAPStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn); + //sets config for a static IP + void setSTAStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn); + //called when AP mode and config portal is started + void setAPCallback( void (*func)(WiFiManager*) ); + //called when settings have been changed and connection was successful + void setSaveConfigCallback( void (*func)(void) ); + //adds a custom parameter, returns false on failure + bool addParameter(WiFiManagerParameter *p); + //if this is set, it will exit after config, even if connection is unsuccessful. + void setBreakAfterConfig(boolean shouldBreak); + //if this is set, try WPS setup when starting (this will delay config portal for up to 2 mins) + //TODO + //if this is set, customise style + void setCustomHeadElement(const char* element); + //if this is true, remove duplicated Access Points - defaut true + void setRemoveDuplicateAPs(boolean removeDuplicates); + + private: + std::unique_ptr<DNSServer> dnsServer; + std::unique_ptr<ESP8266WebServer> server; + + //const int WM_DONE = 0; + //const int WM_WAIT = 10; + + //const String HTTP_HEAD = "<!DOCTYPE html><html lang=\"en\"><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/><title>{v}</title>"; + + void setupConfigPortal(); + void startWPS(); + + const char* _apName = "no-net"; + const char* _apPassword = NULL; + String _ssid = ""; + String _pass = ""; + unsigned long _configPortalTimeout = 0; + unsigned long _connectTimeout = 0; + unsigned long _configPortalStart = 0; + + IPAddress _ap_static_ip; + IPAddress _ap_static_gw; + IPAddress _ap_static_sn; + IPAddress _sta_static_ip; + IPAddress _sta_static_gw; + IPAddress _sta_static_sn; + + int _paramsCount = 0; + int _minimumQuality = -1; + boolean _removeDuplicateAPs = true; + boolean _shouldBreakAfterConfig = false; + boolean _tryWPS = false; + + const char* _customHeadElement = ""; + + //String getEEPROMString(int start, int len); + //void setEEPROMString(int start, int len, String string); + + int status = WL_IDLE_STATUS; + int connectWifi(String ssid, String pass); + uint8_t waitForConnectResult(); + + void handleRoot(); + void handleWifi(boolean scan); + void handleWifiSave(); + void handleInfo(); + void handleReset(); + void handleNotFound(); + void handle204(); + boolean captivePortal(); + boolean configPortalHasTimeout(); + + // DNS server + const byte DNS_PORT = 53; + + //helpers + int getRSSIasQuality(int RSSI); + boolean isIp(String str); + String toStringIp(IPAddress ip); + + boolean connect; + boolean _debug = true; + + void (*_apcallback)(WiFiManager*) = NULL; + void (*_savecallback)(void) = NULL; + + int _max_params; + WiFiManagerParameter** _params; + + template <typename Generic> + void DEBUG_WM(Generic text); + + template <class T> + auto optionalIPFromString(T *obj, const char *s) -> decltype( obj->fromString(s) ) { + return obj->fromString(s); + } + auto optionalIPFromString(...) -> bool { + DEBUG_WM("NO fromString METHOD ON IPAddress, you need ESP8266 core 2.1.0 or newer for Custom IP configuration to work."); + return false; + } +}; + +#endif diff --git a/firmware/libraries/WiFiManager/examples/AutoConnect/AutoConnect.ino b/firmware/libraries/WiFiManager/examples/AutoConnect/AutoConnect.ino new file mode 100644 index 0000000..0c44909 --- /dev/null +++ b/firmware/libraries/WiFiManager/examples/AutoConnect/AutoConnect.ino @@ -0,0 +1,38 @@ +#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino + +//needed for library +#include <DNSServer.h> +#include <ESP8266WebServer.h> +#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager + + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + //reset saved settings + //wifiManager.resetSettings(); + + //set custom ip for portal + //wifiManager.setAPStaticIPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); + + //fetches ssid and pass from eeprom and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + wifiManager.autoConnect("AutoConnectAP"); + //or use this for auto generated name ESP + ChipID + //wifiManager.autoConnect(); + + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/firmware/libraries/WiFiManager/examples/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino b/firmware/libraries/WiFiManager/examples/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino new file mode 100644 index 0000000..1d58e5c --- /dev/null +++ b/firmware/libraries/WiFiManager/examples/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino @@ -0,0 +1,156 @@ +#include <FS.h> //this needs to be first, or it all crashes and burns... + +#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino + +//needed for library +#include <DNSServer.h> +#include <ESP8266WebServer.h> +#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager + +#include <ArduinoJson.h> //https://github.com/bblanchon/ArduinoJson + +//define your default values here, if there are different values in config.json, they are overwritten. +char mqtt_server[40]; +char mqtt_port[6] = "8080"; +char blynk_token[34] = "YOUR_BLYNK_TOKEN"; + +//flag for saving data +bool shouldSaveConfig = false; + +//callback notifying us of the need to save config +void saveConfigCallback () { + Serial.println("Should save config"); + shouldSaveConfig = true; +} + + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println(); + + //clean FS, for testing + //SPIFFS.format(); + + //read configuration from FS json + Serial.println("mounting FS..."); + + if (SPIFFS.begin()) { + Serial.println("mounted file system"); + if (SPIFFS.exists("/config.json")) { + //file exists, reading and loading + Serial.println("reading config file"); + File configFile = SPIFFS.open("/config.json", "r"); + if (configFile) { + Serial.println("opened config file"); + size_t size = configFile.size(); + // Allocate a buffer to store contents of the file. + std::unique_ptr<char[]> buf(new char[size]); + + configFile.readBytes(buf.get(), size); + DynamicJsonBuffer jsonBuffer; + JsonObject& json = jsonBuffer.parseObject(buf.get()); + json.printTo(Serial); + if (json.success()) { + Serial.println("\nparsed json"); + + strcpy(mqtt_server, json["mqtt_server"]); + strcpy(mqtt_port, json["mqtt_port"]); + strcpy(blynk_token, json["blynk_token"]); + + } else { + Serial.println("failed to load json config"); + } + } + } + } else { + Serial.println("failed to mount FS"); + } + //end read + + + + // The extra parameters to be configured (can be either global or just in the setup) + // After connecting, parameter.getValue() will get you the configured value + // id/name placeholder/prompt default length + WiFiManagerParameter custom_mqtt_server("server", "mqtt server", mqtt_server, 40); + WiFiManagerParameter custom_mqtt_port("port", "mqtt port", mqtt_port, 6); + WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 32); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //set config save notify callback + wifiManager.setSaveConfigCallback(saveConfigCallback); + + //set static ip + wifiManager.setSTAStaticIPConfig(IPAddress(10,0,1,99), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); + + //add all your parameters here + wifiManager.addParameter(&custom_mqtt_server); + wifiManager.addParameter(&custom_mqtt_port); + wifiManager.addParameter(&custom_blynk_token); + + //reset settings - for testing + //wifiManager.resetSettings(); + + //set minimu quality of signal so it ignores AP's under that quality + //defaults to 8% + //wifiManager.setMinimumSignalQuality(); + + //sets timeout until configuration portal gets turned off + //useful to make it all retry or go to sleep + //in seconds + //wifiManager.setTimeout(120); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect("AutoConnectAP", "password")) { + Serial.println("failed to connect and hit timeout"); + delay(3000); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + + //read updated parameters + strcpy(mqtt_server, custom_mqtt_server.getValue()); + strcpy(mqtt_port, custom_mqtt_port.getValue()); + strcpy(blynk_token, custom_blynk_token.getValue()); + + //save the custom parameters to FS + if (shouldSaveConfig) { + Serial.println("saving config"); + DynamicJsonBuffer jsonBuffer; + JsonObject& json = jsonBuffer.createObject(); + json["mqtt_server"] = mqtt_server; + json["mqtt_port"] = mqtt_port; + json["blynk_token"] = blynk_token; + + File configFile = SPIFFS.open("/config.json", "w"); + if (!configFile) { + Serial.println("failed to open config file for writing"); + } + + json.printTo(Serial); + json.printTo(configFile); + configFile.close(); + //end save + } + + Serial.println("local ip"); + Serial.println(WiFi.localIP()); + +} + +void loop() { + // put your main code here, to run repeatedly: + + +} diff --git a/firmware/libraries/WiFiManager/examples/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino b/firmware/libraries/WiFiManager/examples/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino new file mode 100644 index 0000000..3f391ae --- /dev/null +++ b/firmware/libraries/WiFiManager/examples/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino @@ -0,0 +1,188 @@ +#include <FS.h> //this needs to be first, or it all crashes and burns... + +#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino + +//needed for library +#include <DNSServer.h> +#include <ESP8266WebServer.h> +#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager + +#include <ArduinoJson.h> //https://github.com/bblanchon/ArduinoJson + +//define your default values here, if there are different values in config.json, they are overwritten. +//length should be max size + 1 +char mqtt_server[40]; +char mqtt_port[6] = "8080"; +char blynk_token[33] = "YOUR_BLYNK_TOKEN"; +//default custom static IP +char static_ip[16] = "10.0.1.56"; +char static_gw[16] = "10.0.1.1"; +char static_sn[16] = "255.255.255.0"; + +//flag for saving data +bool shouldSaveConfig = false; + +//callback notifying us of the need to save config +void saveConfigCallback () { + Serial.println("Should save config"); + shouldSaveConfig = true; +} + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println(); + + //clean FS, for testing + //SPIFFS.format(); + + //read configuration from FS json + Serial.println("mounting FS..."); + + if (SPIFFS.begin()) { + Serial.println("mounted file system"); + if (SPIFFS.exists("/config.json")) { + //file exists, reading and loading + Serial.println("reading config file"); + File configFile = SPIFFS.open("/config.json", "r"); + if (configFile) { + Serial.println("opened config file"); + size_t size = configFile.size(); + // Allocate a buffer to store contents of the file. + std::unique_ptr<char[]> buf(new char[size]); + + configFile.readBytes(buf.get(), size); + DynamicJsonBuffer jsonBuffer; + JsonObject& json = jsonBuffer.parseObject(buf.get()); + json.printTo(Serial); + if (json.success()) { + Serial.println("\nparsed json"); + + strcpy(mqtt_server, json["mqtt_server"]); + strcpy(mqtt_port, json["mqtt_port"]); + strcpy(blynk_token, json["blynk_token"]); + + if(json["ip"]) { + Serial.println("setting custom ip from config"); + //static_ip = json["ip"]; + strcpy(static_ip, json["ip"]); + strcpy(static_gw, json["gateway"]); + strcpy(static_sn, json["subnet"]); + //strcat(static_ip, json["ip"]); + //static_gw = json["gateway"]; + //static_sn = json["subnet"]; + Serial.println(static_ip); +/* Serial.println("converting ip"); + IPAddress ip = ipFromCharArray(static_ip); + Serial.println(ip);*/ + } else { + Serial.println("no custom ip in config"); + } + } else { + Serial.println("failed to load json config"); + } + } + } + } else { + Serial.println("failed to mount FS"); + } + //end read + Serial.println(static_ip); + Serial.println(blynk_token); + Serial.println(mqtt_server); + + + // The extra parameters to be configured (can be either global or just in the setup) + // After connecting, parameter.getValue() will get you the configured value + // id/name placeholder/prompt default length + WiFiManagerParameter custom_mqtt_server("server", "mqtt server", mqtt_server, 40); + WiFiManagerParameter custom_mqtt_port("port", "mqtt port", mqtt_port, 5); + WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 34); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //set config save notify callback + wifiManager.setSaveConfigCallback(saveConfigCallback); + + //set static ip + IPAddress _ip,_gw,_sn; + _ip.fromString(static_ip); + _gw.fromString(static_gw); + _sn.fromString(static_sn); + + wifiManager.setSTAStaticIPConfig(_ip, _gw, _sn); + + //add all your parameters here + wifiManager.addParameter(&custom_mqtt_server); + wifiManager.addParameter(&custom_mqtt_port); + wifiManager.addParameter(&custom_blynk_token); + + //reset settings - for testing + //wifiManager.resetSettings(); + + //set minimu quality of signal so it ignores AP's under that quality + //defaults to 8% + wifiManager.setMinimumSignalQuality(); + + //sets timeout until configuration portal gets turned off + //useful to make it all retry or go to sleep + //in seconds + //wifiManager.setTimeout(120); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect("AutoConnectAP", "password")) { + Serial.println("failed to connect and hit timeout"); + delay(3000); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + + //read updated parameters + strcpy(mqtt_server, custom_mqtt_server.getValue()); + strcpy(mqtt_port, custom_mqtt_port.getValue()); + strcpy(blynk_token, custom_blynk_token.getValue()); + + //save the custom parameters to FS + if (shouldSaveConfig) { + Serial.println("saving config"); + DynamicJsonBuffer jsonBuffer; + JsonObject& json = jsonBuffer.createObject(); + json["mqtt_server"] = mqtt_server; + json["mqtt_port"] = mqtt_port; + json["blynk_token"] = blynk_token; + + json["ip"] = WiFi.localIP().toString(); + json["gateway"] = WiFi.gatewayIP().toString(); + json["subnet"] = WiFi.subnetMask().toString(); + + File configFile = SPIFFS.open("/config.json", "w"); + if (!configFile) { + Serial.println("failed to open config file for writing"); + } + + json.prettyPrintTo(Serial); + json.printTo(configFile); + configFile.close(); + //end save + } + + Serial.println("local ip"); + Serial.println(WiFi.localIP()); + Serial.println(WiFi.gatewayIP()); + Serial.println(WiFi.subnetMask()); +} + +void loop() { + // put your main code here, to run repeatedly: + + +} diff --git a/firmware/libraries/WiFiManager/examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino b/firmware/libraries/WiFiManager/examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino new file mode 100644 index 0000000..9491760 --- /dev/null +++ b/firmware/libraries/WiFiManager/examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino @@ -0,0 +1,47 @@ +#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino + +//needed for library +#include <DNSServer.h> +#include <ESP8266WebServer.h> +#include "WiFiManager.h" //https://github.com/tzapu/WiFiManager + +void configModeCallback (WiFiManager *myWiFiManager) { + Serial.println("Entered config mode"); + Serial.println(WiFi.softAPIP()); + //if you used auto generated SSID, print it + Serial.println(myWiFiManager->getConfigPortalSSID()); +} + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + //reset settings - for testing + //wifiManager.resetSettings(); + + //set callback that gets called when connecting to previous WiFi fails, and enters Access Point mode + wifiManager.setAPCallback(configModeCallback); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if(!wifiManager.autoConnect()) { + Serial.println("failed to connect and hit timeout"); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(1000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/firmware/libraries/WiFiManager/examples/AutoConnectWithFeedbackLED/AutoConnectWithFeedbackLED.ino b/firmware/libraries/WiFiManager/examples/AutoConnectWithFeedbackLED/AutoConnectWithFeedbackLED.ino new file mode 100644 index 0000000..77b264b --- /dev/null +++ b/firmware/libraries/WiFiManager/examples/AutoConnectWithFeedbackLED/AutoConnectWithFeedbackLED.ino @@ -0,0 +1,68 @@ +#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino + +//needed for library +#include <DNSServer.h> +#include <ESP8266WebServer.h> +#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager + +//for LED status +#include <Ticker.h> +Ticker ticker; + +void tick() +{ + //toggle state + int state = digitalRead(BUILTIN_LED); // get the current state of GPIO1 pin + digitalWrite(BUILTIN_LED, !state); // set pin to the opposite state +} + +//gets called when WiFiManager enters configuration mode +void configModeCallback (WiFiManager *myWiFiManager) { + Serial.println("Entered config mode"); + Serial.println(WiFi.softAPIP()); + //if you used auto generated SSID, print it + Serial.println(myWiFiManager->getConfigPortalSSID()); + //entered config mode, make led toggle faster + ticker.attach(0.2, tick); +} + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + + //set led pin as output + pinMode(BUILTIN_LED, OUTPUT); + // start ticker with 0.5 because we start in AP mode and try to connect + ticker.attach(0.6, tick); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + //reset settings - for testing + //wifiManager.resetSettings(); + + //set callback that gets called when connecting to previous WiFi fails, and enters Access Point mode + wifiManager.setAPCallback(configModeCallback); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect()) { + Serial.println("failed to connect and hit timeout"); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(1000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + ticker.detach(); + //keep LED on + digitalWrite(BUILTIN_LED, LOW); +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/firmware/libraries/WiFiManager/examples/AutoConnectWithReset/AutoConnectWithReset.ino b/firmware/libraries/WiFiManager/examples/AutoConnectWithReset/AutoConnectWithReset.ino new file mode 100644 index 0000000..5af3b1f --- /dev/null +++ b/firmware/libraries/WiFiManager/examples/AutoConnectWithReset/AutoConnectWithReset.ino @@ -0,0 +1,49 @@ +#include <FS.h> //this needs to be first, or it all crashes and burns... + +#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino + +//needed for library +#include <DNSServer.h> +#include <ESP8266WebServer.h> +#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println(); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //exit after config instead of connecting + wifiManager.setBreakAfterConfig(true); + + //reset settings - for testing + //wifiManager.resetSettings(); + + + //tries to connect to last known settings + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" with password "password" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect("AutoConnectAP", "password")) { + Serial.println("failed to connect, we should reset as see if it connects"); + delay(3000); + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + + + Serial.println("local ip"); + Serial.println(WiFi.localIP()); +} + +void loop() { + // put your main code here, to run repeatedly: + + +} diff --git a/firmware/libraries/WiFiManager/examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino b/firmware/libraries/WiFiManager/examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino new file mode 100644 index 0000000..86556d3 --- /dev/null +++ b/firmware/libraries/WiFiManager/examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino @@ -0,0 +1,80 @@ +#include <FS.h> //this needs to be first, or it all crashes and burns... + +#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino + +//needed for library +#include <DNSServer.h> +#include <ESP8266WebServer.h> +#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager + + +/************************************************************************************** + * this example shows how to set a static IP configuration for the ESP + * although the IP shows in the config portal, the changes will revert + * to the IP set in the source file. + * if you want the ability to configure and persist the new IP configuration + * look at the FS examples, which save the config to file + *************************************************************************************/ + + + +//default custom static IP +//char static_ip[16] = "10.0.1.59"; +//char static_gw[16] = "10.0.1.1"; +//char static_sn[16] = "255.255.255.0"; + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println(); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //reset settings - for testing + //wifiManager.resetSettings(); + + //set static ip + //block1 should be used for ESP8266 core 2.1.0 or newer, otherwise use block2 + + //start-block1 + //IPAddress _ip,_gw,_sn; + //_ip.fromString(static_ip); + //_gw.fromString(static_gw); + //_sn.fromString(static_sn); + //end-block1 + + //start-block2 + IPAddress _ip = IPAddress(10, 0, 1, 78); + IPAddress _gw = IPAddress(10, 0, 1, 1); + IPAddress _sn = IPAddress(255, 255, 255, 0); + //end-block2 + + wifiManager.setSTAStaticIPConfig(_ip, _gw, _sn); + + + //tries to connect to last known settings + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" with password "password" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect("AutoConnectAP", "password")) { + Serial.println("failed to connect, we should reset as see if it connects"); + delay(3000); + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + + + Serial.println("local ip"); + Serial.println(WiFi.localIP()); +} + +void loop() { + // put your main code here, to run repeatedly: + + +} diff --git a/firmware/libraries/WiFiManager/examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino b/firmware/libraries/WiFiManager/examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino new file mode 100644 index 0000000..c90cf10 --- /dev/null +++ b/firmware/libraries/WiFiManager/examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino @@ -0,0 +1,45 @@ +#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino + +//needed for library +#include <DNSServer.h> +#include <ESP8266WebServer.h> +#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager + + + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + //reset settings - for testing + //wifiManager.resetSettings(); + + //sets timeout until configuration portal gets turned off + //useful to make it all retry or go to sleep + //in seconds + wifiManager.setTimeout(180); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if(!wifiManager.autoConnect("AutoConnectAP")) { + Serial.println("failed to connect and hit timeout"); + delay(3000); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/firmware/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino b/firmware/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino new file mode 100644 index 0000000..2f2d0cc --- /dev/null +++ b/firmware/libraries/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino @@ -0,0 +1,60 @@ +#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino + +//needed for library +#include <ESP8266WebServer.h> +#include <DNSServer.h> +#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager + +// select which pin will trigger the configuration portal when set to LOW +// ESP-01 users please note: the only pins available (0 and 2), are shared +// with the bootloader, so always set them HIGH at power-up +#define TRIGGER_PIN 0 + + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println("\n Starting"); + + pinMode(TRIGGER_PIN, INPUT); +} + + +void loop() { + // is configuration portal requested? + if ( digitalRead(TRIGGER_PIN) == LOW ) { + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //reset settings - for testing + //wifiManager.resetSettings(); + + //sets timeout until configuration portal gets turned off + //useful to make it all retry or go to sleep + //in seconds + //wifiManager.setTimeout(120); + + //it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + + //WITHOUT THIS THE AP DOES NOT SEEM TO WORK PROPERLY WITH SDK 1.5 , update to at least 1.5.1 + //WiFi.mode(WIFI_STA); + + if (!wifiManager.startConfigPortal("OnDemandAP")) { + Serial.println("failed to connect and hit timeout"); + delay(3000); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + } + + + // put your main code here, to run repeatedly: + +} diff --git a/firmware/libraries/WiFiManager/extras/WiFiManager.template.html b/firmware/libraries/WiFiManager/extras/WiFiManager.template.html new file mode 100644 index 0000000..e15593b --- /dev/null +++ b/firmware/libraries/WiFiManager/extras/WiFiManager.template.html @@ -0,0 +1,80 @@ +<!-- HTTP_HEAD --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"/> + <title>{v}</title> +<!-- /HTTP_HEAD --> +<!-- HTTP_STYLE --> + <style> + .c{text-align: center;} + div,input{padding:5px;font-size:1em;} + input{width:95%;} + body{text-align: center;font-family:verdana;} + button{border:0;border-radius:0.3rem;background-color:#1fa3ec;color:#fff;line-height:2.4rem;font-size:1.2rem;width:100%;} + .q{float: right;width: 64px;text-align: right;} + .l{background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAALVBMVEX///8EBwfBwsLw8PAzNjaCg4NTVVUjJiZDRUUUFxdiZGSho6OSk5Pg4eFydHTCjaf3AAAAZElEQVQ4je2NSw7AIAhEBamKn97/uMXEGBvozkWb9C2Zx4xzWykBhFAeYp9gkLyZE0zIMno9n4g19hmdY39scwqVkOXaxph0ZCXQcqxSpgQpONa59wkRDOL93eAXvimwlbPbwwVAegLS1HGfZAAAAABJRU5ErkJggg==") no-repeat left center;background-size: 1em;} + </style> +<!-- /HTTP_STYLE --> +<!-- HTTP_SCRIPT --> + <script> + function c(l){document.getElementById('s').value=l.innerText||l.textContent;document.getElementById('p').focus();} + </script> +<!-- /HTTP_SCRIPT --> +<!-- HTTP_HEAD_END --> + </head> + <body> + <div style="text-align:left;display:inline-block;min-width:260px;"> +<!-- /HTTP_HEAD_END --> + + <!-- + <div><a href='#' onclick='c(this)'>{v}</a> {r}% {i}</div> + <div><a href='#' onclick='c(this)'>{v}</a> 100% <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAKCAMAAAC+Ge+yAAAACVBMVEUAAAC7u7v///9etNz6AAAAI0lEQVQI133GsQ3AMAAEoXv2H9qNJacKFbEaWTQJ+uQB/nMdEaYAXeJkZ9AAAAAASUVORK5CYII='/></div> + <div><a href='#' onclick='c(this)'>Vila17</a> 95% <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAADFBMVEUAAAAAtgD///8AAADV1YIHAAAAA3RSTlMAAAD6dsTeAAAAHUlEQVR4AWMAAmYgYGBkArHAAMoEYnQmMxSQywQAKvMA3+mlSFAAAAAASUVORK5CYII='/></div> + <div><a href='#'>LilRid</a> 100% <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAABlBMVEUAAAD///+l2Z/dAAAAIklEQVR4AWNgZGRkAAIQBURQDEZAgM5kgAJGEAQDwkxkbQAOhgBBk64+mQAAAABJRU5ErkJggg=='/></div> + <div><a href='#'>Marcelica</a> 100% <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAACVBMVEUAAAC7u7v///9etNz6AAAAJ0lEQVR4AY3GsREAIBSDUD77D63x4tlKw0MdmD0ijTO9f6SFnv7YXB4qAIVn0xoMAAAAAElFTkSuQmCC'/></div> + <div><a href='#'>PMica</a> 110% <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAALVBMVEX///8EBwfBwsLw8PAzNjaCg4NTVVUjJiZDRUUUFxdiZGSho6OSk5Pg4eFydHTCjaf3AAAAZElEQVQ4je2NSw7AIAhEBamKn97/uMXEGBvozkWb9C2Zx4xzWykBhFAeYp9gkLyZE0zIMno9n4g19hmdY39scwqVkOXaxph0ZCXQcqxSpgQpONa59wkRDOL93eAXvimwlbPbwwVAegLS1HGfZAAAAABJRU5ErkJggg==' width="13px"/></div> + --> + + <!--style> + .q{float: right;width: 64px;text-align: right;} + .l{background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAALVBMVEX///8EBwfBwsLw8PAzNjaCg4NTVVUjJiZDRUUUFxdiZGSho6OSk5Pg4eFydHTCjaf3AAAAZElEQVQ4je2NSw7AIAhEBamKn97/uMXEGBvozkWb9C2Zx4xzWykBhFAeYp9gkLyZE0zIMno9n4g19hmdY39scwqVkOXaxph0ZCXQcqxSpgQpONa59wkRDOL93eAXvimwlbPbwwVAegLS1HGfZAAAAABJRU5ErkJggg==") no-repeat left center;background-size: 1em;} + </style--> + + + <!-- HTTP_PORTAL_OPTIONS --> + <form action=\"/wifi\" method=\"get\"><button>Configure WiFi</button></form><br/><form action=\"/0wifi\" method=\"get\"><button>Configure WiFi (No Scan)</button></form><br/><form action=\"/i\" method=\"get\"><button>Info</button></form><br/><form action=\"/r\" method=\"post\"><button>Reset</button></form> + <!-- /HTTP_PORTAL_OPTIONS --> + + <div><a href='#' onclick='c(this)'>{v}</a> <span class="q {i}">{r}%</span></div> + <div><a href='#'>PMisa</a> <span class="q l">100%</span> </div> + <div><a href='#'>Dragos_Networks</a>&nbsp;<span class="q l">10%</span> </div> + <div><a href='#'>PMisa</a> <span class="q l">8%</span> </div> + + <!-- HTTP_ITEM --> + <div><a href='#p' onclick='c(this)'>{v}</a>&nbsp;<span class='q {i}'>{r}%</span></div> + <!-- /HTTP_ITEM --> + <!-- HTTP_FORM_START --> + <form method='get' action='wifisave'><input id='s' name='s' length=32 placeholder='SSID'><br/><input id='p' name='p' length=64 type='password' placeholder='password'><br/> + <!-- /HTTP_FORM_START --> + <!-- HTTP_FORM_PARAM --> + <br/><input id='{i}' name='{n}' length='{l}' placeholder='{p}' value='{v}' {c}> + <!-- /HTTP_FORM_PARAM --> + <!-- HTTP_FORM_END --> + <br/><button type='submit'>save</button></form> + <!-- /HTTP_FORM_END --> + <!-- HTTP_SCAN_LINK --> + <br/><div class=\"c\"><a href=\"/wifi\">Scan</a></div> + <!-- /HTTP_SCAN_LINK --> + <!-- HTTP_SAVED --> + <div>Credentials Saved<br />Trying to connect ESP to network.<br />If it fails reconnect to AP to try again</div> + <!-- /HTTP_SAVED --> + + + + +<!-- HTTP_END --> + </div> + </body> +</html> +<!-- /HTTP_END --> diff --git a/firmware/libraries/WiFiManager/extras/parse.js b/firmware/libraries/WiFiManager/extras/parse.js new file mode 100644 index 0000000..97a3e38 --- /dev/null +++ b/firmware/libraries/WiFiManager/extras/parse.js @@ -0,0 +1,60 @@ +'use strict'; + +const fs = require('fs'); + +console.log('starting'); + +const inFile = 'WiFiManager.template.html'; +const outFile = 'template.h'; + +const defineRegEx = /<!-- ([A-Z_]+) -->/gm; +console.log('parsing', inFile); + +fs.readFile(inFile, 'utf8', function (err,data) { + if (err) { + return console.log(err); + } + //console.log(data); + + let defines = data.match(defineRegEx); + + //console.log(defines); + var stream = fs.createWriteStream(outFile); + stream.once('open', function(fd) { + for (const i in defines) { + + const start = defines[i]; + const end = start.replace('<!-- ', '<!-- /') + defineRegEx.lastIndex = 0; + const constantName = defineRegEx.exec(start)[1]; + + console.log(constantName); + var extractRE = new RegExp(start + '([\\s\\S]+)' + end, 'gm'); + let extractArray = extractRE.exec(data); + if(extractArray.length > 1) { + let def = extractArray[1]; + //console.log(def); + //minimise a bit + def = def.replace(/\s+/g, ' '); + def = def.replace(/>\s+</g, '><'); + def = def.trim(); + //more extraneous spaces - possible bad results, needs to be checked + //def = def.replace(/(\w)\s(\W)|(\W)\s(\w)|(\W)\s(\W)/g, '$1$2$3$4$5$6'); + def = def.replace(/(\w)\s(\W)|(\W)\s(\w)/g, '$1$2$3$4'); + //escape double quotes + def = def.replace(/\\([\s\S])|(")/g, "\\$1$2"); + + + console.log(def); + //const char HTTP_HEAD[] PROGMEM = + let string = 'const char ' + constantName + '[] PROGMEM'; + for (let i = string.length; i < 42; i++) { + string += ' '; + } + string += '= "' + def + '";\n'; + stream.write(string); + } + } + stream.end(); + }); +}); diff --git a/firmware/libraries/WiFiManager/extras/template.h b/firmware/libraries/WiFiManager/extras/template.h new file mode 100644 index 0000000..6a1a42f --- /dev/null +++ b/firmware/libraries/WiFiManager/extras/template.h @@ -0,0 +1,12 @@ +const char HTTP_HEAD[] PROGMEM = "<!DOCTYPE html><html lang=\"en\"><head><meta name=\"viewport\"content=\"width=device-width,initial-scale=1,user-scalable=no\"/><title>{v}</title>"; +const char HTTP_STYLE[] PROGMEM = "<style> .c{text-align:center;}div,input{padding:5px;font-size:1em;}input{width:95%;}body{text-align:center;font-family:verdana;}button{border:0;border-radius:0.3rem;background-color:#1fa3ec;color:#fff;line-height:2.4rem;font-size:1.2rem;width:100%;} .q{float:right;width:64px;text-align:right;} .l{background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAALVBMVEX///8EBwfBwsLw8PAzNjaCg4NTVVUjJiZDRUUUFxdiZGSho6OSk5Pg4eFydHTCjaf3AAAAZElEQVQ4je2NSw7AIAhEBamKn97/uMXEGBvozkWb9C2Zx4xzWykBhFAeYp9gkLyZE0zIMno9n4g19hmdY39scwqVkOXaxph0ZCXQcqxSpgQpONa59wkRDOL93eAXvimwlbPbwwVAegLS1HGfZAAAAABJRU5ErkJggg==\")no-repeat left center;background-size:1em;} </style>"; +const char HTTP_SCRIPT[] PROGMEM = "<script>function c(l){document.getElementById('s').value=l.innerText||l.textContent;document.getElementById('p').focus();} </script>"; +const char HTTP_HEAD_END[] PROGMEM = "</head><body><div style=\"text-align:left;display:inline-block;min-width:260px;\">"; +const char HTTP_PORTAL_OPTIONS[] PROGMEM = "<form action=\"/wifi\"method=\"get\"><button>Configure WiFi</button></form><br/><form action=\"/0wifi\"method=\"get\"><button>Configure WiFi(No Scan)</button></form><br/><form action=\"/i\"method=\"get\"><button>Info</button></form><br/><form action=\"/r\"method=\"post\"><button>Reset</button></form>"; +const char HTTP_ITEM[] PROGMEM = "<div><a href='#p'onclick='c(this)'>{v}</a>&nbsp;<span class='q{i}'>{r}%</span></div>"; +const char HTTP_FORM_START[] PROGMEM = "<form method='get'action='wifisave'><input id='s'name='s'length=32 placeholder='SSID'><br/><input id='p'name='p'length=64 type='password'placeholder='password'><br/>"; +const char HTTP_FORM_PARAM[] PROGMEM = "<br/><input id='{i}'name='{n}'length={l}placeholder='{p}'value='{v}' {c}>"; +const char HTTP_FORM_END[] PROGMEM = "<br/><button type='submit'>save</button></form>"; +const char HTTP_SCAN_LINK[] PROGMEM = "<br/><div class=\"c\"><a href=\"/wifi\">Scan</a></div>"; +const char HTTP_SAVED[] PROGMEM = "<div>Credentials Saved<br/>Trying to connect ESP to network.<br/>If it fails reconnect to AP to try again</div>"; +const char HTTP_END[] PROGMEM = "</div></body></html>"; diff --git a/firmware/libraries/WiFiManager/keywords.txt b/firmware/libraries/WiFiManager/keywords.txt new file mode 100644 index 0000000..7159e74 --- /dev/null +++ b/firmware/libraries/WiFiManager/keywords.txt @@ -0,0 +1,39 @@ +####################################### +# Syntax Coloring Map For WifiManager +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +WiFiManager KEYWORD1 +WiFiManagerParameter KEYWORD1 + + +####################################### +# Methods and Functions (KEYWORD2) +####################################### +autoConnect KEYWORD2 +getSSID KEYWORD2 +getPassword KEYWORD2 +getConfigPortalSSID KEYWORD2 +resetSettings KEYWORD2 +setConfigPortalTimeout KEYWORD2 +setConnectTimeout KEYWORD2 +setDebugOutput KEYWORD2 +setMinimumSignalQuality KEYWORD2 +setAPStaticIPConfig KEYWORD2 +setSTAStaticIPConfig KEYWORD2 +setAPCallback KEYWORD2 +setSaveConfigCallback KEYWORD2 +addParameter KEYWORD2 +getID KEYWORD2 +getValue KEYWORD2 +getPlaceholder KEYWORD2 +getValueLength KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + +# LITERAL1 diff --git a/firmware/libraries/WiFiManager/library.json b/firmware/libraries/WiFiManager/library.json new file mode 100644 index 0000000..27c6385 --- /dev/null +++ b/firmware/libraries/WiFiManager/library.json @@ -0,0 +1,13 @@ +{ + "name": "WifiManager", + "keywords": "wifi, wi-fi", + "description": "ESP8266 WiFi Connection manager with fallback web configuration portal", + "repository": + { + "type": "git", + "url": "https://github.com/tzapu/WiFiManager.git" + }, + "frameworks": "arduino", + "platforms": "espressif8266", + "version": "0.13" +} diff --git a/firmware/libraries/WiFiManager/library.properties b/firmware/libraries/WiFiManager/library.properties new file mode 100644 index 0000000..0fc964a --- /dev/null +++ b/firmware/libraries/WiFiManager/library.properties @@ -0,0 +1,9 @@ +name=WiFiManager +version=0.13 +author=tzapu +maintainer=tzapu +sentence=ESP8266 WiFi Connection manager with fallback web configuration portal +paragraph=Library for configuring ESP8266 modules WiFi credentials at runtime. +category=Communication +url=https://github.com/tzapu/WiFiManager.git +architectures=esp8266 diff --git a/firmware/libraries/WiFiManager/travis/common.sh b/firmware/libraries/WiFiManager/travis/common.sh new file mode 100644 index 0000000..d115085 --- /dev/null +++ b/firmware/libraries/WiFiManager/travis/common.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +function build_examples() +{ + # track the exit code for this platform + local exit_code=0 + # loop through results and add them to the array + examples=($(find $PWD/examples/ -name "*.pde" -o -name "*.ino")) + + # get the last example in the array + local last="${examples[@]:(-1)}" + + # loop through example sketches + for example in "${examples[@]}"; do + + # store the full path to the example's sketch directory + local example_dir=$(dirname $example) + + # store the filename for the example without the path + local example_file=$(basename $example) + + echo "$example_file: " + local sketch="$example_dir/$example_file" + echo "$sketch" + #arduino -v --verbose-build --verify $sketch + + # verify the example, and save stdout & stderr to a variable + # we have to avoid reading the exit code of local: + # "when declaring a local variable in a function, the local acts as a command in its own right" + local build_stdout + build_stdout=$(arduino --verify $sketch 2>&1) + + # echo output if the build failed + if [ $? -ne 0 ]; then + # heavy X + echo -e "\xe2\x9c\x96" + echo -e "----------------------------- DEBUG OUTPUT -----------------------------\n" + echo "$build_stdout" + echo -e "\n------------------------------------------------------------------------\n" + + # mark as fail + exit_code=1 + + else + # heavy checkmark + echo -e "\xe2\x9c\x93" + fi + done + + return $exit_code +} diff --git a/firmware/webUpdater.ino b/firmware/webUpdater.ino index f3c9adc..c846d61 100644 --- a/firmware/webUpdater.ino +++ b/firmware/webUpdater.ino @@ -6,11 +6,12 @@ */ #include <ESP8266WiFi.h> -#include <WiFiClient.h> #include <ESP8266WebServer.h> #include <ESP8266mDNS.h> #include <ESP8266HTTPUpdateServer.h> +#include <WiFiClient.h> + ESP8266WebServer httpServer(8080); ESP8266HTTPUpdateServer httpUpdater; @@ -68,4 +69,3 @@ void showHTMLMain(void) { httpServer.send(200, "text/html", message); } -